Infinite Image Browsing
-
-
+
+
diff --git a/scripts/iib/db/datamodel.py b/scripts/iib/db/datamodel.py
index e76e9e4..b5055fb 100644
--- a/scripts/iib/db/datamodel.py
+++ b/scripts/iib/db/datamodel.py
@@ -280,13 +280,26 @@ class Image:
step = max(1, total_count // size)
- start_indices = [random.randint(i * step, min((i + 1) * step - 1, total_count - 1)) for i in range(size)]
- placeholders = ",".join("?" * len(start_indices))
- cur.execute(f"SELECT * FROM image WHERE id IN ({placeholders})", start_indices)
- rows = cur.fetchall()
- curr_images = [cls.from_row(row) for row in rows if os.path.exists(row[1])]
- images.extend(curr_images)
- images = unique_by(images, lambda x: x.path)
+ start_indices = []
+ for i in range(size):
+ min_val = i * step
+ max_val = min((i + 1) * step - 1, total_count - 1)
+ # 确保 max_val 不小于 min_val
+ if max_val < min_val:
+ max_val = min_val
+ # 确保索引在有效范围内 (1 到 total_count)
+ min_val = max(1, min(min_val, total_count))
+ max_val = max(1, min(max_val, total_count))
+ if min_val <= max_val:
+ start_indices.append(random.randint(min_val, max_val))
+
+ if start_indices:
+ placeholders = ",".join("?" * len(start_indices))
+ cur.execute(f"SELECT * FROM image WHERE id IN ({placeholders})", start_indices)
+ rows = cur.fetchall()
+ curr_images = [cls.from_row(row) for row in rows if os.path.exists(row[1])]
+ images.extend(curr_images)
+ images = unique_by(images, lambda x: x.path)
return images
diff --git a/vue/dist/assets/Checkbox-c079cc59.js b/vue/dist/assets/Checkbox-93a79203.js
similarity index 97%
rename from vue/dist/assets/Checkbox-c079cc59.js
rename to vue/dist/assets/Checkbox-93a79203.js
index a520a8a..c02bbc8 100644
--- a/vue/dist/assets/Checkbox-c079cc59.js
+++ b/vue/dist/assets/Checkbox-93a79203.js
@@ -1 +1 @@
-import{d as E,bB as $,r as f,m as M,_ as T,a as c,an as W,h as m,c as v,P as z}from"./index-66b6399d.js";var G=["prefixCls","name","id","type","disabled","readonly","tabindex","autofocus","value","required"],H={prefixCls:String,name:String,id:String,type:String,defaultChecked:{type:[Boolean,Number],default:void 0},checked:{type:[Boolean,Number],default:void 0},disabled:Boolean,tabindex:{type:[Number,String]},readonly:Boolean,autofocus:Boolean,value:z.any,required:Boolean};const L=E({compatConfig:{MODE:3},name:"Checkbox",inheritAttrs:!1,props:$(H,{prefixCls:"rc-checkbox",type:"checkbox",defaultChecked:!1}),emits:["click","change"],setup:function(a,d){var t=d.attrs,h=d.emit,g=d.expose,o=f(a.checked===void 0?a.defaultChecked:a.checked),i=f();M(function(){return a.checked},function(){o.value=a.checked}),g({focus:function(){var e;(e=i.value)===null||e===void 0||e.focus()},blur:function(){var e;(e=i.value)===null||e===void 0||e.blur()}});var l=f(),x=function(e){if(!a.disabled){a.checked===void 0&&(o.value=e.target.checked),e.shiftKey=l.value;var r={target:c(c({},a),{},{checked:e.target.checked}),stopPropagation:function(){e.stopPropagation()},preventDefault:function(){e.preventDefault()},nativeEvent:e};a.checked!==void 0&&(i.value.checked=!!a.checked),h("change",r),l.value=!1}},C=function(e){h("click",e),l.value=e.shiftKey};return function(){var n,e=a.prefixCls,r=a.name,s=a.id,p=a.type,b=a.disabled,K=a.readonly,P=a.tabindex,B=a.autofocus,S=a.value,N=a.required,_=T(a,G),q=t.class,D=t.onFocus,j=t.onBlur,w=t.onKeydown,A=t.onKeypress,F=t.onKeyup,y=c(c({},_),t),O=Object.keys(y).reduce(function(k,u){return(u.substr(0,5)==="aria-"||u.substr(0,5)==="data-"||u==="role")&&(k[u]=y[u]),k},{}),R=W(e,q,(n={},m(n,"".concat(e,"-checked"),o.value),m(n,"".concat(e,"-disabled"),b),n)),V=c(c({name:r,id:s,type:p,readonly:K,disabled:b,tabindex:P,class:"".concat(e,"-input"),checked:!!o.value,autofocus:B,value:S},O),{},{onChange:x,onClick:C,onFocus:D,onBlur:j,onKeydown:w,onKeypress:A,onKeyup:F,required:N});return v("span",{class:R},[v("input",c({ref:i},V),null),v("span",{class:"".concat(e,"-inner")},null)])}}});export{L as V};
+import{d as E,bB as $,r as f,m as M,_ as T,a as c,an as W,h as m,c as v,P as z}from"./index-411a6464.js";var G=["prefixCls","name","id","type","disabled","readonly","tabindex","autofocus","value","required"],H={prefixCls:String,name:String,id:String,type:String,defaultChecked:{type:[Boolean,Number],default:void 0},checked:{type:[Boolean,Number],default:void 0},disabled:Boolean,tabindex:{type:[Number,String]},readonly:Boolean,autofocus:Boolean,value:z.any,required:Boolean};const L=E({compatConfig:{MODE:3},name:"Checkbox",inheritAttrs:!1,props:$(H,{prefixCls:"rc-checkbox",type:"checkbox",defaultChecked:!1}),emits:["click","change"],setup:function(a,d){var t=d.attrs,h=d.emit,g=d.expose,o=f(a.checked===void 0?a.defaultChecked:a.checked),i=f();M(function(){return a.checked},function(){o.value=a.checked}),g({focus:function(){var e;(e=i.value)===null||e===void 0||e.focus()},blur:function(){var e;(e=i.value)===null||e===void 0||e.blur()}});var l=f(),x=function(e){if(!a.disabled){a.checked===void 0&&(o.value=e.target.checked),e.shiftKey=l.value;var r={target:c(c({},a),{},{checked:e.target.checked}),stopPropagation:function(){e.stopPropagation()},preventDefault:function(){e.preventDefault()},nativeEvent:e};a.checked!==void 0&&(i.value.checked=!!a.checked),h("change",r),l.value=!1}},C=function(e){h("click",e),l.value=e.shiftKey};return function(){var n,e=a.prefixCls,r=a.name,s=a.id,p=a.type,b=a.disabled,K=a.readonly,P=a.tabindex,B=a.autofocus,S=a.value,N=a.required,_=T(a,G),q=t.class,D=t.onFocus,j=t.onBlur,w=t.onKeydown,A=t.onKeypress,F=t.onKeyup,y=c(c({},_),t),O=Object.keys(y).reduce(function(k,u){return(u.substr(0,5)==="aria-"||u.substr(0,5)==="data-"||u==="role")&&(k[u]=y[u]),k},{}),R=W(e,q,(n={},m(n,"".concat(e,"-checked"),o.value),m(n,"".concat(e,"-disabled"),b),n)),V=c(c({name:r,id:s,type:p,readonly:K,disabled:b,tabindex:P,class:"".concat(e,"-input"),checked:!!o.value,autofocus:B,value:S},O),{},{onChange:x,onClick:C,onFocus:D,onBlur:j,onKeydown:w,onKeypress:A,onKeyup:F,required:N});return v("span",{class:R},[v("input",c({ref:i},V),null),v("span",{class:"".concat(e,"-inner")},null)])}}});export{L as V};
diff --git a/vue/dist/assets/FileItem-09b081e1.js b/vue/dist/assets/FileItem-09b081e1.js
deleted file mode 100644
index ad5f7fc..0000000
--- a/vue/dist/assets/FileItem-09b081e1.js
+++ /dev/null
@@ -1,3 +0,0 @@
-var ft=Object.defineProperty;var ht=(i,n,e)=>n in i?ft(i,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[n]=e;var ee=(i,n,e)=>(ht(i,typeof n!="symbol"?n+"":n,e),e);import{d as Z,u as Ue,G as H,an as Je,h as W,c as A,aq as gt,di as pt,r as j,bg as vt,Z as V,dg as mt,P as De,c9 as yt,A as X,dj as de,O as ge,am as ke,bj as bt,d3 as At,b_ as St,dk as kt,cF as It,dl as Ne,dm as _t,p as Ct,dn as We,bA as wt,dp as ae,dq as Et,aH as Tt,dr as Pt,C as Ot,ds as Dt,n as pe,m as re,aT as Nt,t as Ke,a1 as Ie,c7 as qe,aJ as zt,dt as Ge,du as Qt,Q as $t,x as Mt,aP as Ye,aQ as Ze,az as Xe,U as a,a2 as R,dv as Bt,dw as Ft,dx as Rt,c3 as Lt,dy as jt,at as Vt,V as h,aG as te,$ as S,a3 as k,a8 as J,c4 as ze,c5 as Ht,dz as xt,a7 as et,ag as K,X as I,Y as y,a4 as M,al as tt,db as Ut,da as Jt,M as nt,W as u,a0 as it,d5 as Wt,dA as Qe,af as Kt,dB as qt,d8 as Gt,dC as Yt,dD as Zt,cq as Xt,cQ as en,dE as ce,dF as tn,dG as nn}from"./index-66b6399d.js";import"./numInput.vue_vue_type_style_index_0_scoped_55978858_lang-f1eb3728.js";import{i as sn}from"./_isIterateeCall-c55d2ac4.js";import{D as G,a as ve}from"./index-66d21078.js";/* empty css */var rn=function(){return{prefixCls:String,checked:{type:Boolean,default:void 0},onChange:{type:Function},onClick:{type:Function},"onUpdate:checked":Function}},on=Z({compatConfig:{MODE:3},name:"ACheckableTag",props:rn(),setup:function(n,e){var t=e.slots,s=e.emit,o=Ue("tag",n),p=o.prefixCls,c=function(E){var w=n.checked;s("update:checked",!w),s("change",!w),s("click",E)},v=H(function(){var b;return Je(p.value,(b={},W(b,"".concat(p.value,"-checkable"),!0),W(b,"".concat(p.value,"-checkable-checked"),n.checked),b))});return function(){var b;return A("span",{class:v.value,onClick:c},[(b=t.default)===null||b===void 0?void 0:b.call(t)])}}});const me=on;var ln=new RegExp("^(".concat(gt.join("|"),")(-inverse)?$")),an=new RegExp("^(".concat(pt.join("|"),")$")),un=function(){return{prefixCls:String,color:{type:String},closable:{type:Boolean,default:!1},closeIcon:De.any,visible:{type:Boolean,default:void 0},onClose:{type:Function},"onUpdate:visible":Function,icon:De.any}},Y=Z({compatConfig:{MODE:3},name:"ATag",props:un(),slots:["closeIcon","icon"],setup:function(n,e){var t=e.slots,s=e.emit,o=e.attrs,p=Ue("tag",n),c=p.prefixCls,v=p.direction,b=j(!0);vt(function(){n.visible!==void 0&&(b.value=n.visible)});var E=function(r){r.stopPropagation(),s("update:visible",!1),s("close",r),!r.defaultPrevented&&n.visible===void 0&&(b.value=!1)},w=H(function(){var l=n.color;return l?ln.test(l)||an.test(l):!1}),T=H(function(){var l;return Je(c.value,(l={},W(l,"".concat(c.value,"-").concat(n.color),w.value),W(l,"".concat(c.value,"-has-color"),n.color&&!w.value),W(l,"".concat(c.value,"-hidden"),!b.value),W(l,"".concat(c.value,"-rtl"),v.value==="rtl"),l))});return function(){var l,r,d,m=n.icon,N=m===void 0?(l=t.icon)===null||l===void 0?void 0:l.call(t):m,O=n.color,z=n.closeIcon,g=z===void 0?(r=t.closeIcon)===null||r===void 0?void 0:r.call(t):z,f=n.closable,C=f===void 0?!1:f,$=function(){return C?g?A("span",{class:"".concat(c.value,"-close-icon"),onClick:E},[g]):A(yt,{class:"".concat(c.value,"-close-icon"),onClick:E},null):null},F={backgroundColor:O&&!w.value?O:void 0},B=N||null,_=(d=t.default)===null||d===void 0?void 0:d.call(t),L=B?A(V,null,[B,A("span",null,[_])]):_,P="onClick"in o,Q=A("span",{class:T.value,style:F},[L,$()]);return P?A(mt,null,{default:function(){return[Q]}}):Q}}});Y.CheckableTag=me;Y.install=function(i){return i.component(Y.name,Y),i.component(me.name,me),i};const dn=Y;G.Button=ve;G.install=function(i){return i.component(G.name,G),i.component(ve.name,ve),i};var cn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M908.1 353.1l-253.9-36.9L540.7 86.1c-3.1-6.3-8.2-11.4-14.5-14.5-15.8-7.8-35-1.3-42.9 14.5L369.8 316.2l-253.9 36.9c-7 1-13.4 4.3-18.3 9.3a32.05 32.05 0 00.6 45.3l183.7 179.1-43.4 252.9a31.95 31.95 0 0046.4 33.7L512 754l227.1 119.4c6.2 3.3 13.4 4.4 20.3 3.2 17.4-3 29.1-19.5 26.1-36.9l-43.4-252.9 183.7-179.1c5-4.9 8.3-11.3 9.3-18.3 2.7-17.5-9.5-33.7-27-36.3z"}}]},name:"star",theme:"filled"};const fn=cn;function $e(i){for(var n=1;n{const s=St();ge(s),ne.has(s)||(ne.set(s,ke(i(s,t??(n==null?void 0:n())))),bt(()=>{ne.delete(s)}));const o=ne.get(s);return ge(o),{state:o,toRefs(){return At(o)}}}}}var Dn={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M715.8 493.5L335 165.1c-14.2-12.2-35-1.2-35 18.5v656.8c0 19.7 20.8 30.7 35 18.5l380.8-328.4c10.9-9.4 10.9-27.6 0-37z"}}]},name:"caret-right",theme:"outlined"};const Nn=Dn;function Fe(i){for(var n=1;n{const i=j([]);return{selectdFiles:i,addFiles:e=>{i.value=It([...i.value,...e])}}});class oe{constructor(n,e=_t.CREATED_TIME_DESC){ee(this,"root");ee(this,"execQueue",[]);ee(this,"walkerInitPromsie");this.entryPath=n,this.sortMethod=e,this.root={children:[],info:{name:this.entryPath,size:"-",bytes:0,created_time:"",is_under_scanned_path:!0,date:"",type:"dir",fullpath:this.entryPath}},this.walkerInitPromsie=new Promise(t=>{Ne([this.entryPath]).then(async s=>{this.root.info=s[this.entryPath],await this.fetchChildren(this.root),t()})})}reset(){return this.root.children=[],this.fetchChildren(this.root)}get images(){const n=e=>e.children.map(t=>{if(t.info.type==="dir")return n(t);if(ae(t.info.name))return t.info}).filter(t=>t).flat(1);return n(this.root)}get isCompleted(){return this.execQueue.length===0}async fetchChildren(n){const{files:e}=await Ct(n.info.fullpath);return n.children=We(e,this.sortMethod).map(t=>({info:t,children:[]})),this.execQueue.shift(),this.execQueue.unshift(...n.children.filter(t=>t.info.type==="dir").map(t=>({fn:()=>this.fetchChildren(t),...t}))),n}async next(){await this.walkerInitPromsie;const n=kn(this.execQueue);if(!n)return null;const e=await n.fn();return this.execQueue=this.execQueue.slice(),this.root={...this.root},e}async isExpired(){const n=[this.root.info],e=s=>{for(const o of s.children)o.info.type==="dir"&&(n.push(o.info),e(o))};e(this.root);const t=await Ne(n.map(s=>s.fullpath));for(const s of n)if(!wt(s,t[s.fullpath]))return!0;return!1}async seamlessRefresh(n,e=j(!1)){const t=performance.now(),s=new oe(this.entryPath,this.sortMethod);for(await s.walkerInitPromsie;!s.isCompleted&&s.images.length
'};e.configure=function(r){var d,m;for(d in r)m=r[d],m!==void 0&&r.hasOwnProperty(d)&&(t[d]=m);return this},e.status=null,e.set=function(r){var d=e.isStarted();r=s(r,t.minimum,1),e.status=r===1?null:r;var m=e.render(!d),N=m.querySelector(t.barSelector),O=t.speed,z=t.easing;return m.offsetWidth,c(function(g){t.positionUsing===""&&(t.positionUsing=e.getPositioningCSS()),v(N,p(r,O,z)),r===1?(v(m,{transition:"none",opacity:1}),m.offsetWidth,setTimeout(function(){v(m,{transition:"all "+O+"ms linear",opacity:0}),setTimeout(function(){e.remove(),g()},O)},O)):setTimeout(g,O)}),this},e.isStarted=function(){return typeof e.status=="number"},e.start=function(){e.status||e.set(0);var r=function(){setTimeout(function(){e.status&&(e.trickle(),r())},t.trickleSpeed)};return t.trickle&&r(),this},e.done=function(r){return!r&&!e.status?this:e.inc(.3+.5*Math.random()).set(1)},e.inc=function(r){var d=e.status;return d?d>1?void 0:(typeof r!="number"&&(d>=0&&d<.2?r=.1:d>=.2&&d<.5?r=.04:d>=.5&&d<.8?r=.02:d>=.8&&d<.99?r=.005:r=0),d=s(d+r,0,.994),e.set(d)):e.start()},e.trickle=function(){return e.inc()},function(){var r=0,d=0;e.promise=function(m){return!m||m.state()==="resolved"?this:(d===0&&e.start(),r++,d++,m.always(function(){d--,d===0?(r=0,e.done()):e.set((r-d)/r)}),this)}}(),e.getElement=function(){var r=e.getParent();if(r){var d=Array.prototype.slice.call(r.querySelectorAll(".nprogress")).filter(function(m){return m.parentElement===r});if(d.length>0)return d[0]}return null},e.getParent=function(){if(t.parent instanceof HTMLElement)return t.parent;if(typeof t.parent=="string")return document.querySelector(t.parent)},e.render=function(r){if(e.isRendered())return e.getElement();E(document.documentElement,"nprogress-busy");var d=document.createElement("div");d.id="nprogress",d.className="nprogress",d.innerHTML=t.template;var m=d.querySelector(t.barSelector),N=r?"-100":o(e.status||0),O=e.getParent(),z;return v(m,{transition:"all 0 linear",transform:"translate3d("+N+"%,0,0)"}),t.showSpinner||(z=d.querySelector(t.spinnerSelector),z&&l(z)),O!=document.body&&E(O,"nprogress-custom-parent"),O.appendChild(d),d},e.remove=function(){e.status=null,w(document.documentElement,"nprogress-busy"),w(e.getParent(),"nprogress-custom-parent");var r=e.getElement();r&&l(r)},e.isRendered=function(){return!!e.getElement()},e.getPositioningCSS=function(){var r=document.body.style,d="WebkitTransform"in r?"Webkit":"MozTransform"in r?"Moz":"msTransform"in r?"ms":"OTransform"in r?"O":"";return d+"Perspective"in r?"translate3d":d+"Transform"in r?"translate":"margin"};function s(r,d,m){return rm?m:r}function o(r){return(-1+r)*100}function p(r,d,m){var N;return t.positionUsing==="translate3d"?N={transform:"translate3d("+o(r)+"%,0,0)"}:t.positionUsing==="translate"?N={transform:"translate("+o(r)+"%,0)"}:N={"margin-left":o(r)+"%"},N.transition="all "+d+"ms "+m,N}var c=function(){var r=[];function d(){var m=r.shift();m&&m(d)}return function(m){r.push(m),r.length==1&&d()}}(),v=function(){var r=["Webkit","O","Moz","ms"],d={};function m(g){return g.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,function(f,C){return C.toUpperCase()})}function N(g){var f=document.body.style;if(g in f)return g;for(var C=r.length,$=g.charAt(0).toUpperCase()+g.slice(1),F;C--;)if(F=r[C]+$,F in f)return F;return g}function O(g){return g=m(g),d[g]||(d[g]=N(g))}function z(g,f,C){f=O(f),g.style[f]=C}return function(g,f){var C=arguments,$,F;if(C.length==2)for($ in f)F=f[$],F!==void 0&&f.hasOwnProperty($)&&z(g,$,F);else z(g,C[1],C[2])}}();function b(r,d){var m=typeof r=="string"?r:T(r);return m.indexOf(" "+d+" ")>=0}function E(r,d){var m=T(r),N=m+d;b(m,d)||(r.className=N.substring(1))}function w(r,d){var m=T(r),N;b(r,d)&&(N=m.replace(" "+d+" "," "),r.className=N.substring(1,N.length-1))}function T(r){return(" "+(r&&r.className||"")+" ").replace(/\s+/gi," ")}function l(r){r&&r.parentNode&&r.parentNode.removeChild(r)}return e})})(ot);var Rn=ot.exports;const sr=Tt(Rn);function rr({fetchNext:i}={}){const{scroller:n,sortedFiles:e,sortMethod:t,currLocation:s,stackViewEl:o,canLoadNext:p,previewIdx:c,props:v,walker:b,getViewableAreaFiles:E}=le().toRefs(),{state:w}=le(),T=j(!1),l=j(q.defaultGridCellWidth),r=H(()=>l.value+16),d=44,{width:m}=Pt(o),N=H(()=>~~(m.value/r.value)),O=ke(new Map),z=H(()=>{const B=r.value;return{first:B+(l.value<=160?0:d),second:B}}),g=j(!1),f=async()=>{var B;if(!(g.value||v.value.mode!=="walk"||!p.value))try{g.value=!0,await((B=b.value)==null?void 0:B.next())}finally{g.value=!1}},C=async(B=!1)=>{const _=n.value,L=()=>B?c.value:(_==null?void 0:_.$_endIndex)??0,P=()=>{const Q=e.value.length,x=50;return Q?i?L()>Q-x:L()>Q-x&&p.value:!0};for(;P();){await Ke(30);const Q=await(i??f)();if(typeof Q=="boolean"&&!Q)return}};w.useEventListen("loadNextDir",Ot(async(B=!1)=>{await C(B),v.value.mode==="walk"&&$()})),w.useEventListen("viewableAreaFilesChange",()=>{const B=E.value(),_=B.filter(P=>P.is_under_scanned_path&&ae(P.name)).map(P=>P.fullpath);Ln.fetchImageTags(_);const L=B.filter(P=>P.is_under_scanned_path&&P.type==="dir"&&!O.has(P.fullpath)).map(P=>P.fullpath);L.length&&Dt(L).then(P=>{for(const Q in P)if(Object.prototype.hasOwnProperty.call(P,Q)){const x=P[Q];O.set(Q,x)}})}),w.useEventListen("refresh",async()=>{w.eventEmitter.emit("viewableAreaFilesChange")});const $=pe(()=>w.eventEmitter.emit("viewableAreaFilesChange"),300);re(s,$);const F=pe(async()=>{await C(),$()},150);return{gridItems:N,sortedFiles:e,sortMethodConv:Nt,moreActionsDropdownShow:T,gridSize:r,sortMethod:t,onScroll:F,loadNextDir:f,loadNextDirLoading:g,canLoadNext:p,itemSize:z,cellWidth:l,dirCoverCache:O}}const or=new Map,q=Ie(),lr=Fn(),Ln=qe(),ar=zt(),ur=new BroadcastChannel("iib-image-transfer-bus"),{eventEmitter:dr,useEventListen:cr}=Ge(),{useHookShareState:le}=On((i,{images:n})=>{const e=j({tabIdx:-1,paneIdx:-1}),t=H(()=>$t(s.value)),s=j([]),o=H(()=>{var f;return s.value.map(C=>C.curr).slice((f=q.conf)!=null&&f.is_win&&e.value.mode!=="scanned-fixed"?1:0)}),p=H(()=>Mt(...o.value)),c=H(()=>{var f,C;return e.value.mode==="scanned-fixed"?((C=(f=s.value)==null?void 0:f[0])==null?void 0:C.curr)??"":e.value.mode==="walk"?e.value.path??"":s.value.length===1?"/":p.value}),v=j(q.defaultSortingMethod),b=j(e.value.mode=="walk"?new oe(e.value.path,v.value):void 0);re([()=>e.value.mode,()=>e.value.path,v],async([f,C,$])=>{var F;f==="walk"?(b.value=new oe(C,$),s.value=[{files:[],curr:C}],await Ke(),await((F=b.value)==null?void 0:F.reset()),z.eventEmitter.emit("loadNextDir")):b.value=void 0});const E=ke(new Set);re(t,()=>E.clear());const w=H(()=>{var F;if(n.value)return n.value;if(b.value)return b.value.images.filter(B=>!E.has(B.fullpath));if(!t.value)return[];const f=((F=t.value)==null?void 0:F.files)??[],C=v.value;return We((B=>q.onlyFoldersAndImages?B.filter(_=>_.type==="dir"||ae(_.name)):B)(f),C).filter(B=>!E.has(B.fullpath))}),T=j([]),l=j(-1),r=H(()=>b.value?!b.value.isCompleted:!1),d=j(!1),m=j(!1),N=j(),O=()=>{var f,C,$;return($=(C=(f=q.tabList)==null?void 0:f[e.value.tabIdx])==null?void 0:C.panes)==null?void 0:$[e.value.paneIdx]},z=Ge();z.useEventListen("selectAll",()=>{console.log(`select all 0 -> ${w.value.length}`),T.value=Tn(0,w.value.length)});const g=()=>{const f=N.value;if(f){const C=Math.max(f.$_startIndex-10,0);return w.value.slice(C,f.$_endIndex+10)}return[]};return{previewing:m,spinning:d,canLoadNext:r,multiSelectedIdxs:T,previewIdx:l,basePath:o,currLocation:c,currPage:t,stack:s,sortMethod:v,sortedFiles:w,scroller:N,stackViewEl:j(),props:e,getPane:O,walker:b,deletedFiles:E,getViewableAreaFiles:g,...z}},()=>({images:j()}));function fr(){const{eventEmitter:i,multiSelectedIdxs:n,sortedFiles:e}=le().toRefs();return{onSelectAll:()=>i.value.emit("selectAll"),onReverseSelect:()=>{n.value=e.value.map((p,c)=>c).filter(p=>!n.value.includes(p))},onClearAllSelected:()=>{n.value=[]}}}const hr=()=>{const{stackViewEl:i}=le().toRefs(),n=j(-1);return Qt(i,e=>{var s;let t=e.target;for(;t.parentElement;)if(t=t.parentElement,t.tagName.toLowerCase()==="li"&&t.classList.contains("file-item-trigger")){const o=(s=t.dataset)==null?void 0:s.idx;o&&Number.isSafeInteger(+o)&&(n.value=+o);return}}),{showMenuIdx:n}};function jn(){var i=window.navigator.userAgent,n=i.indexOf("MSIE ");if(n>0)return parseInt(i.substring(n+5,i.indexOf(".",n)),10);var e=i.indexOf("Trident/");if(e>0){var t=i.indexOf("rv:");return parseInt(i.substring(t+3,i.indexOf(".",t)),10)}var s=i.indexOf("Edge/");return s>0?parseInt(i.substring(s+5,i.indexOf(".",s)),10):-1}let ie;function ye(){ye.init||(ye.init=!0,ie=jn()!==-1)}var ue={name:"ResizeObserver",props:{emitOnMount:{type:Boolean,default:!1},ignoreWidth:{type:Boolean,default:!1},ignoreHeight:{type:Boolean,default:!1}},emits:["notify"],mounted(){ye(),Xe(()=>{this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitOnMount&&this.emitSize()});const i=document.createElement("object");this._resizeObject=i,i.setAttribute("aria-hidden","true"),i.setAttribute("tabindex",-1),i.onload=this.addResizeHandlers,i.type="text/html",ie&&this.$el.appendChild(i),i.data="about:blank",ie||this.$el.appendChild(i)},beforeUnmount(){this.removeResizeHandlers()},methods:{compareAndNotify(){(!this.ignoreWidth&&this._w!==this.$el.offsetWidth||!this.ignoreHeight&&this._h!==this.$el.offsetHeight)&&(this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitSize())},emitSize(){this.$emit("notify",{width:this._w,height:this._h})},addResizeHandlers(){this._resizeObject.contentDocument.defaultView.addEventListener("resize",this.compareAndNotify),this.compareAndNotify()},removeResizeHandlers(){this._resizeObject&&this._resizeObject.onload&&(!ie&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.compareAndNotify),this.$el.removeChild(this._resizeObject),this._resizeObject.onload=null,this._resizeObject=null)}}};const Vn=Bt();Ye("data-v-b329ee4c");const Hn={class:"resize-observer",tabindex:"-1"};Ze();const xn=Vn((i,n,e,t,s,o)=>(a(),R("div",Hn)));ue.render=xn;ue.__scopeId="data-v-b329ee4c";ue.__file="src/components/ResizeObserver.vue";function se(i){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?se=function(n){return typeof n}:se=function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},se(i)}function Un(i,n){if(!(i instanceof n))throw new TypeError("Cannot call a class as a function")}function je(i,n){for(var e=0;ei.length)&&(n=i.length);for(var e=0,t=new Array(n);e2&&arguments[2]!==void 0?arguments[2]:{},t,s,o,p=function(v){for(var b=arguments.length,E=new Array(b>1?b-1:0),w=1;w1){var b=c.find(function(w){return w.isIntersecting});b&&(v=b)}if(s.callback){var E=v.isIntersecting&&v.intersectionRatio>=s.threshold;if(E===s.oldResult)return;s.oldResult=E,s.callback(E,v)}},this.options.intersection),Xe(function(){s.observer&&s.observer.observe(s.el)})}}},{key:"destroyObserver",value:function(){this.observer&&(this.observer.disconnect(),this.observer=null),this.callback&&this.callback._clear&&(this.callback._clear(),this.callback=null)}},{key:"threshold",get:function(){return this.options.intersection&&typeof this.options.intersection.threshold=="number"?this.options.intersection.threshold:0}}]),i}();function at(i,n,e){var t=n.value;if(t)if(typeof IntersectionObserver>"u")console.warn("[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill");else{var s=new Xn(i,t,e);i._vue_visibilityState=s}}function ei(i,n,e){var t=n.value,s=n.oldValue;if(!lt(t,s)){var o=i._vue_visibilityState;if(!t){ut(i);return}o?o.createObserver(t,e):at(i,{value:t},e)}}function ut(i){var n=i._vue_visibilityState;n&&(n.destroyObserver(),delete i._vue_visibilityState)}var ti={beforeMount:at,updated:ei,unmounted:ut},ni={itemsLimit:1e3},ii=/(auto|scroll)/;function dt(i,n){return i.parentNode===null?n:dt(i.parentNode,n.concat([i]))}var fe=function(n,e){return getComputedStyle(n,null).getPropertyValue(e)},si=function(n){return fe(n,"overflow")+fe(n,"overflow-y")+fe(n,"overflow-x")},ri=function(n){return ii.test(si(n))};function He(i){if(i instanceof HTMLElement||i instanceof SVGElement){for(var n=dt(i.parentNode,[]),e=0;e{this.$_prerender=!1,this.updateVisibleItems(!0),this.ready=!0})},activated(){const i=this.$_lastUpdateScrollPosition;typeof i=="number"&&this.$nextTick(()=>{this.scrollToPosition(i)})},beforeUnmount(){this.removeListeners()},methods:{addView(i,n,e,t,s){const o=Ft({id:ui++,index:n,used:!0,key:t,type:s}),p=Rt({item:e,position:0,nr:o});return i.push(p),p},unuseView(i,n=!1){const e=this.$_unusedViews,t=i.nr.type;let s=e.get(t);s||(s=[],e.set(t,s)),s.push(i),n||(i.nr.used=!1,i.position=-9999)},handleResize(){this.$emit("resize"),this.ready&&this.updateVisibleItems(!1)},handleScroll(i){if(!this.$_scrollDirty){if(this.$_scrollDirty=!0,this.$_updateTimeout)return;const n=()=>requestAnimationFrame(()=>{this.$_scrollDirty=!1;const{continuous:e}=this.updateVisibleItems(!1,!0);e||(clearTimeout(this.$_refreshTimout),this.$_refreshTimout=setTimeout(this.handleScroll,this.updateInterval+100))});n(),this.updateInterval&&(this.$_updateTimeout=setTimeout(()=>{this.$_updateTimeout=0,this.$_scrollDirty&&n()},this.updateInterval))}},handleVisibilityChange(i,n){this.ready&&(i||n.boundingClientRect.width!==0||n.boundingClientRect.height!==0?(this.$emit("visible"),requestAnimationFrame(()=>{this.updateVisibleItems(!1)})):this.$emit("hidden"))},updateVisibleItems(i,n=!1){const e=this.itemSize,t=this.gridItems||1,s=this.itemSecondarySize||e,o=this.$_computedMinItemSize,p=this.typeField,c=this.simpleArray?null:this.keyField,v=this.items,b=v.length,E=this.sizes,w=this.$_views,T=this.$_unusedViews,l=this.pool,r=this.itemIndexByKey;let d,m,N,O,z;if(!b)d=m=O=z=N=0;else if(this.$_prerender)d=O=0,m=z=Math.min(this.prerender,v.length),N=null;else{const _=this.getScroll();if(n){let Q=_.start-this.$_lastUpdateScrollPosition;if(Q<0&&(Q=-Q),e===null&&Q_.start&&(Pe=U),U=~~((x+Pe)/2);while(U!==Oe);for(U<0&&(U=0),d=U,N=E[b-1].accumulator,m=U;mb&&(m=b)),O=d;Ob&&(m=b),O<0&&(O=0),z>b&&(z=b),N=Math.ceil(b/t)*e}}m-d>ni.itemsLimit&&this.itemsLimitError(),this.totalSize=N;let g;const f=d<=this.$_endIndex&&m>=this.$_startIndex;if(f)for(let _=0,L=l.length;_=m)&&this.unuseView(g));const C=f?null:new Map;let $,F,B;for(let _=d;_=P.length)&&(g=this.addView(l,_,$,L,F),this.unuseView(g,!0),P=T.get(F)),g=P[B],C.set(F,B+1)),w.delete(g.nr.key),g.nr.used=!0,g.nr.index=_,g.nr.key=L,g.nr.type=F,w.set(L,g),Q=!0;else if(!g.nr.used&&(g.nr.used=!0,g.nr.index=_,Q=!0,P)){const x=P.indexOf(g);x!==-1&&P.splice(x,1)}g.item=$,Q&&(_===v.length-1&&this.$emit("scroll-end"),_===0&&this.$emit("scroll-start")),e===null?(g.position=E[_-1].accumulator,g.offset=0):(g.position=Math.floor(_/t)*e,g.offset=_%t*s)}return this.$_startIndex=d,this.$_endIndex=m,this.emitUpdate&&this.$emit("update",d,m,O,z),clearTimeout(this.$_sortTimer),this.$_sortTimer=setTimeout(this.sortViews,this.updateInterval+300),{continuous:f}},getListenerTarget(){let i=He(this.$el);return window.document&&(i===window.document.documentElement||i===window.document.body)&&(i=window),i},getScroll(){const{$el:i,direction:n}=this,e=n==="vertical";let t;if(this.pageMode){const s=i.getBoundingClientRect(),o=e?s.height:s.width;let p=-(e?s.top:s.left),c=e?window.innerHeight:window.innerWidth;p<0&&(c+=p,p=0),p+c>o&&(c=o-p),t={start:p,end:p+c}}else e?t={start:i.scrollTop,end:i.scrollTop+i.clientHeight}:t={start:i.scrollLeft,end:i.scrollLeft+i.clientWidth};return t},applyPageMode(){this.pageMode?this.addListeners():this.removeListeners()},addListeners(){this.listenerTarget=this.getListenerTarget(),this.listenerTarget.addEventListener("scroll",this.handleScroll,Se?{passive:!0}:!1),this.listenerTarget.addEventListener("resize",this.handleResize)},removeListeners(){this.listenerTarget&&(this.listenerTarget.removeEventListener("scroll",this.handleScroll),this.listenerTarget.removeEventListener("resize",this.handleResize),this.listenerTarget=null)},scrollToItem(i){let n;const e=this.gridItems||1;this.itemSize===null?n=i>0?this.sizes[i-1].accumulator:0:n=Math.floor(i/e)*this.itemSize,this.scrollToPosition(n)},scrollToPosition(i){const n=this.direction==="vertical"?{scroll:"scrollTop",start:"top"}:{scroll:"scrollLeft",start:"left"};let e,t,s;if(this.pageMode){const o=He(this.$el),p=o.tagName==="HTML"?0:o[n.scroll],c=o.getBoundingClientRect(),b=this.$el.getBoundingClientRect()[n.start]-c[n.start];e=o,t=n.scroll,s=i+p+b}else e=this.$el,t=n.scroll,s=i;e[t]=s},itemsLimitError(){throw setTimeout(()=>{console.log("It seems the scroller element isn't scrolling, so it tries to render all the items at once.","Scroller:",this.$el),console.log("Make sure the scroller has a fixed height (or width) and 'overflow-y' (or 'overflow-x') set to 'auto' so it can scroll correctly and only render the items visible in the scroll viewport.")}),new Error("Rendered items limit reached")},sortViews(){this.pool.sort((i,n)=>i.nr.index-n.nr.index)}}};const di={key:0,ref:"before",class:"vue-recycle-scroller__slot"},ci={key:1,ref:"after",class:"vue-recycle-scroller__slot"};function fi(i,n,e,t,s,o){const p=Lt("ResizeObserver"),c=jt("observe-visibility");return Vt((a(),h("div",{class:K(["vue-recycle-scroller",{ready:s.ready,"page-mode":e.pageMode,[`direction-${i.direction}`]:!0}]),onScrollPassive:n[0]||(n[0]=(...v)=>o.handleScroll&&o.handleScroll(...v))},[i.$slots.before?(a(),h("div",di,[te(i.$slots,"before")],512)):S("v-if",!0),(a(),R(ze(e.listTag),{ref:"wrapper",style:et({[i.direction==="vertical"?"minHeight":"minWidth"]:s.totalSize+"px"}),class:K(["vue-recycle-scroller__item-wrapper",e.listClass])},{default:k(()=>[(a(!0),h(V,null,J(s.pool,v=>(a(),R(ze(e.itemTag),Ht({key:v.nr.id,style:s.ready?{transform:`translate${i.direction==="vertical"?"Y":"X"}(${v.position}px) translate${i.direction==="vertical"?"X":"Y"}(${v.offset}px)`,width:e.gridItems?`${i.direction==="vertical"&&e.itemSecondarySize||e.itemSize}px`:void 0,height:e.gridItems?`${i.direction==="horizontal"&&e.itemSecondarySize||e.itemSize}px`:void 0}:null,class:["vue-recycle-scroller__item-view",[e.itemClass,{hover:!e.skipHover&&s.hoverKey===v.nr.key}]]},xt(e.skipHover?{}:{mouseenter:()=>{s.hoverKey=v.nr.key},mouseleave:()=>{s.hoverKey=null}})),{default:k(()=>[te(i.$slots,"default",{item:v.item,index:v.nr.index,active:v.nr.used})]),_:2},1040,["style","class"]))),128)),te(i.$slots,"empty")]),_:3},8,["style","class"])),i.$slots.after?(a(),h("div",ci,[te(i.$slots,"after")],512)):S("v-if",!0),A(p,{onNotify:o.handleResize},null,8,["onNotify"])],34)),[[c,o.handleVisibilityChange]])}ct.render=fi;ct.__file="src/components/RecycleScroller.vue";const xe=Z({__name:"ContextMenu",props:{file:{},idx:{},selectedTag:{},isSelectedMutilFiles:{type:Boolean}},emits:["contextMenuClick"],setup(i,{emit:n}){const e=i,t=Ie(),s=H(()=>{var o;return(((o=t.conf)==null?void 0:o.all_custom_tags)??[]).reduce((p,c)=>[...p,{...c,selected:!!e.selectedTag.find(v=>v.id===c.id)}],[])});return(o,p)=>{const c=tt,v=Ut,b=Jt,E=nt;return a(),R(E,{onClick:p[0]||(p[0]=w=>n("contextMenuClick",w,o.file,o.idx))},{default:k(()=>{var w;return[A(c,{key:"deleteFiles"},{default:k(()=>[I(y(o.$t("deleteSelected")),1)]),_:1}),A(c,{key:"openWithDefaultApp"},{default:k(()=>[I(y(o.$t("openWithDefaultApp")),1)]),_:1}),A(c,{key:"saveSelectedAsJson"},{default:k(()=>[I(y(o.$t("saveSelectedAsJson")),1)]),_:1}),o.file.type==="dir"?(a(),h(V,{key:0},[A(c,{key:"openInNewTab"},{default:k(()=>[I(y(o.$t("openInNewTab")),1)]),_:1}),A(c,{key:"openOnTheRight"},{default:k(()=>[I(y(o.$t("openOnTheRight")),1)]),_:1}),A(c,{key:"openWithWalkMode"},{default:k(()=>[I(y(o.$t("openWithWalkMode")),1)]),_:1})],64)):S("",!0),o.file.type==="file"?(a(),h(V,{key:1},[M(ae)(o.file.name)?(a(),h(V,{key:0},[A(c,{key:"viewGenInfo"},{default:k(()=>[I(y(o.$t("viewGenerationInfo")),1)]),_:1}),A(c,{key:"tiktokView"},{default:k(()=>[I(y(o.$t("tiktokView")),1)]),_:1}),A(v),((w=M(t).conf)==null?void 0:w.launch_mode)!=="server"?(a(),h(V,{key:0},[A(c,{key:"send2txt2img"},{default:k(()=>[I(y(o.$t("sendToTxt2img")),1)]),_:1}),A(c,{key:"send2img2img"},{default:k(()=>[I(y(o.$t("sendToImg2img")),1)]),_:1}),A(c,{key:"send2inpaint"},{default:k(()=>[I(y(o.$t("sendToInpaint")),1)]),_:1}),A(c,{key:"send2extras"},{default:k(()=>[I(y(o.$t("sendToExtraFeatures")),1)]),_:1}),A(b,{key:"sendToThirdPartyExtension",title:o.$t("sendToThirdPartyExtension")},{default:k(()=>[A(c,{key:"send2controlnet-txt2img"},{default:k(()=>[I("ControlNet - "+y(o.$t("t2i")),1)]),_:1}),A(c,{key:"send2controlnet-img2img"},{default:k(()=>[I("ControlNet - "+y(o.$t("i2i")),1)]),_:1}),A(c,{key:"send2outpaint"},{default:k(()=>[I("openOutpaint")]),_:1})]),_:1},8,["title"])],64)):S("",!0),A(c,{key:"send2BatchDownload"},{default:k(()=>[I(y(o.$t("sendToBatchDownload")),1)]),_:1}),A(b,{key:"copy2target",title:o.$t("copyTo")},{default:k(()=>[(a(!0),h(V,null,J(M(t).quickMovePaths,T=>(a(),R(c,{key:`copy-to-${T.dir}`},{default:k(()=>[I(y(T.zh),1)]),_:2},1024))),128))]),_:1},8,["title"]),A(b,{key:"move2target",title:o.$t("moveTo")},{default:k(()=>[(a(!0),h(V,null,J(M(t).quickMovePaths,T=>(a(),R(c,{key:`move-to-${T.dir}`},{default:k(()=>[I(y(T.zh),1)]),_:2},1024))),128))]),_:1},8,["title"]),A(v),o.isSelectedMutilFiles?(a(),h(V,{key:1},[A(b,{key:"batch-add-tag",title:o.$t("batchAddTag")},{default:k(()=>[A(c,{key:"add-custom-tag"},{default:k(()=>[I("+ "+y(o.$t("addNewCustomTag")),1)]),_:1}),(a(!0),h(V,null,J(s.value,T=>(a(),R(c,{key:`batch-add-tag-${T.id}`},{default:k(()=>[I(y(T.name),1)]),_:2},1024))),128))]),_:1},8,["title"]),A(b,{key:"batch-remove-tag",title:o.$t("batchRemoveTag")},{default:k(()=>[(a(!0),h(V,null,J(s.value,T=>(a(),R(c,{key:`batch-remove-tag-${T.id}`},{default:k(()=>[I(y(T.name),1)]),_:2},1024))),128))]),_:1},8,["title"])],64)):(a(),R(b,{key:"toggle-tag",title:o.$t("toggleTag")},{default:k(()=>[A(c,{key:"add-custom-tag"},{default:k(()=>[I("+ "+y(o.$t("addNewCustomTag")),1)]),_:1}),(a(!0),h(V,null,J(s.value,T=>(a(),R(c,{key:`toggle-tag-${T.id}`},{default:k(()=>[I(y(T.name)+" ",1),T.selected?(a(),R(M(st),{key:0})):(a(),R(M(rt),{key:1}))]),_:2},1024))),128))]),_:1},8,["title"])),A(v),A(c,{key:"openFileLocationInNewTab"},{default:k(()=>[I(y(o.$t("openFileLocationInNewTab")),1)]),_:1}),A(c,{key:"openWithLocalFileBrowser"},{default:k(()=>[I(y(o.$t("openWithLocalFileBrowser")),1)]),_:1})],64)):S("",!0),A(v),A(c,{key:"rename"},{default:k(()=>[I(y(o.$t("rename")),1)]),_:1}),A(c,{key:"previewInNewWindow"},{default:k(()=>[I(y(o.$t("previewInNewWindow")),1)]),_:1}),A(c,{key:"download"},{default:k(()=>[I(y(o.$t("download")),1)]),_:1}),A(c,{key:"copyPreviewUrl"},{default:k(()=>[I(y(o.$t("copySourceFilePreviewLink")),1)]),_:1}),A(c,{key:"copyFilePath"},{default:k(()=>[I(y(o.$t("copyFilePath")),1)]),_:1})],64)):S("",!0)]}),_:1})}}}),D=i=>(Ye("data-v-78cd67a3"),i=i(),Ze(),i),hi={class:"changeIndicatorWrapper"},gi={key:0,class:"changeIndicatorsLeft changeIndicators"},pi={key:0,class:"promptChangeIndicator changeIndicator"},vi={key:1,class:"negpromptChangeIndicator changeIndicator"},mi={key:2,class:"seedChangeIndicator changeIndicator"},yi={key:3,class:"stepsChangeIndicator changeIndicator"},bi={key:4,class:"cfgChangeIndicator changeIndicator"},Ai={key:5,class:"sizeChangeIndicator changeIndicator"},Si={key:6,class:"modelChangeIndicator changeIndicator"},ki={key:7,class:"samplerChangeIndicator changeIndicator"},Ii={key:8,class:"otherChangeIndicator changeIndicator"},_i={class:"hoverOverlay"},Ci=D(()=>u("strong",null,"This file",-1)),wi=D(()=>u("br",null,null,-1)),Ei=D(()=>u("br",null,null,-1)),Ti={key:0},Pi=D(()=>u("td",null,[u("span",{class:"promptChangeIndicator"},"+ Prompt")],-1)),Oi={key:1},Di=D(()=>u("td",null,[u("span",{class:"negpromptChangeIndicator"},"- Prompt")],-1)),Ni={key:2},zi=D(()=>u("td",null,[u("span",{class:"seedChangeIndicator"},"Seed")],-1)),Qi={key:3},$i=D(()=>u("td",null,[u("span",{class:"stepsChangeIndicator"},"Steps")],-1)),Mi={key:4},Bi=D(()=>u("td",null,[u("span",{class:"cfgChangeIndicator"},"Cfg Scale")],-1)),Fi={key:5},Ri=D(()=>u("td",null,[u("span",{class:"sizeChangeIndicator"},"Size")],-1)),Li={key:6},ji=D(()=>u("td",null,[u("span",{class:"modelChangeIndicator"},"Model")],-1)),Vi=D(()=>u("br",null,null,-1)),Hi={key:7},xi=D(()=>u("td",null,[u("span",{class:"samplerChangeIndicator"},"Sampler")],-1)),Ui=D(()=>u("br",null,null,-1)),Ji=D(()=>u("br",null,null,-1)),Wi={key:0},Ki=D(()=>u("span",{class:"otherChangeIndicator"},"Other",-1)),qi=D(()=>u("br",null,null,-1)),Gi=D(()=>u("br",null,null,-1)),Yi={key:1,class:"changeIndicatorsRight changeIndicators"},Zi={key:0,class:"promptChangeIndicator changeIndicator"},Xi={key:1,class:"negpromptChangeIndicator changeIndicator"},es={key:2,class:"seedChangeIndicator changeIndicator"},ts={key:3,class:"stepsChangeIndicator changeIndicator"},ns={key:4,class:"cfgChangeIndicator changeIndicator"},is={key:5,class:"sizeChangeIndicator changeIndicator"},ss={key:6,class:"modelChangeIndicator changeIndicator"},rs={key:7,class:"samplerChangeIndicator changeIndicator"},os={key:8,class:"otherChangeIndicator changeIndicator"},ls={class:"hoverOverlay"},as=D(()=>u("strong",null,"This file",-1)),us=D(()=>u("br",null,null,-1)),ds=D(()=>u("br",null,null,-1)),cs={key:0},fs=D(()=>u("td",null,[u("span",{class:"promptChangeIndicator"},"+ Prompt")],-1)),hs={key:1},gs=D(()=>u("td",null,[u("span",{class:"negpromptChangeIndicator"},"- Prompt")],-1)),ps={key:2},vs=D(()=>u("td",null,[u("span",{class:"seedChangeIndicator"},"Seed")],-1)),ms={key:3},ys=D(()=>u("td",null,[u("span",{class:"stepsChangeIndicator"},"Steps")],-1)),bs={key:4},As=D(()=>u("td",null,[u("span",{class:"cfgChangeIndicator"},"Cfg Scale")],-1)),Ss={key:5},ks=D(()=>u("td",null,[u("span",{class:"sizeChangeIndicator"},"Size")],-1)),Is={key:6},_s=D(()=>u("td",null,[u("span",{class:"modelChangeIndicator"},"Model")],-1)),Cs=D(()=>u("br",null,null,-1)),ws={key:7},Es=D(()=>u("td",null,[u("span",{class:"samplerChangeIndicator"},"Sampler")],-1)),Ts=D(()=>u("br",null,null,-1)),Ps=D(()=>u("br",null,null,-1)),Os={key:0},Ds=D(()=>u("span",{class:"otherChangeIndicator"},"Other",-1)),Ns=D(()=>u("br",null,null,-1)),zs=D(()=>u("br",null,null,-1)),Qs=Z({__name:"ChangeIndicator",props:{genDiffToPrevious:{},genDiffToNext:{},genInfo:{}},setup(i){function n(t){const s=["prompt","negativePrompt","seed","steps","cfgScale","size","Model","others"],o=Object.keys(t).filter(p=>!s.includes(p));return Object.fromEntries(o.map(p=>[p,t[p]]))}function e(t){return Object.keys(n(t)).length>0}return(t,s)=>(a(),h("div",hi,[t.genDiffToPrevious.empty?S("",!0):(a(),h("div",gi,["prompt"in t.genDiffToPrevious.diff?(a(),h("div",pi,"P+")):S("",!0),"negativePrompt"in t.genDiffToPrevious.diff?(a(),h("div",vi,"P-")):S("",!0),"seed"in t.genDiffToPrevious.diff?(a(),h("div",mi,"Se")):S("",!0),"steps"in t.genDiffToPrevious.diff?(a(),h("div",yi,"St")):S("",!0),"cfgScale"in t.genDiffToPrevious.diff?(a(),h("div",bi,"Cf")):S("",!0),"size"in t.genDiffToPrevious.diff?(a(),h("div",Ai,"Si")):S("",!0),"Model"in t.genDiffToPrevious.diff?(a(),h("div",Si,"Mo")):S("",!0),"Sampler"in t.genDiffToPrevious.diff?(a(),h("div",ki,"Sa")):S("",!0),e(t.genDiffToPrevious.diff)?(a(),h("div",Ii,"Ot")):S("",!0)])),u("div",_i,[u("small",null,[A(M(Re)),Ci,I(" vs "+y(t.genDiffToPrevious.otherFile)+" ",1),wi,Ei,u("table",null,["prompt"in t.genDiffToPrevious.diff?(a(),h("tr",Ti,[Pi,u("td",null,y(t.genDiffToPrevious.diff.prompt)+" tokens changed",1)])):S("",!0),"negativePrompt"in t.genDiffToPrevious.diff?(a(),h("tr",Oi,[Di,u("td",null,y(t.genDiffToPrevious.diff.negativePrompt)+" tokens changed",1)])):S("",!0),"seed"in t.genDiffToPrevious.diff?(a(),h("tr",Ni,[zi,u("td",null,[u("strong",null,y(t.genDiffToPrevious.diff.seed[0]),1),I(" vs "+y(t.genDiffToPrevious.diff.seed[1]),1)])])):S("",!0),"steps"in t.genDiffToPrevious.diff?(a(),h("tr",Qi,[$i,u("td",null,[u("strong",null,y(t.genDiffToPrevious.diff.steps[0]),1),I(" vs "+y(t.genDiffToPrevious.diff.steps[1]),1)])])):S("",!0),"cfgScale"in t.genDiffToPrevious.diff?(a(),h("tr",Mi,[Bi,u("td",null,[u("strong",null,y(t.genDiffToPrevious.diff.cfgScale[0]),1),I(" vs "+y(t.genDiffToPrevious.diff.cfgScale[1]),1)])])):S("",!0),"size"in t.genDiffToPrevious.diff?(a(),h("tr",Fi,[Ri,u("td",null,[u("strong",null,y(t.genDiffToPrevious.diff.size[0]),1),I(" vs "+y(t.genDiffToPrevious.diff.size[1]),1)])])):S("",!0),"Model"in t.genDiffToPrevious.diff?(a(),h("tr",Li,[ji,u("td",null,[u("strong",null,y(t.genDiffToPrevious.diff.Model[0]),1),Vi,I(" vs "+y(t.genDiffToPrevious.diff.Model[1]),1)])])):S("",!0),"Sampler"in t.genDiffToPrevious.diff?(a(),h("tr",Hi,[xi,u("td",null,[u("strong",null,y(t.genDiffToPrevious.diff.Sampler[0]),1),Ui,I(" vs "+y(t.genDiffToPrevious.diff.Sampler[1]),1)])])):S("",!0)]),Ji,e(t.genDiffToPrevious.diff)?(a(),h("div",Wi,[Ki,I(" props that changed:"),qi,Gi,u("ul",null,[(a(!0),h(V,null,J(n(t.genDiffToPrevious.diff),(o,p)=>(a(),h("li",null,y(p),1))),256))])])):S("",!0)])]),t.genDiffToNext.empty?S("",!0):(a(),h("div",Yi,["prompt"in t.genDiffToNext.diff?(a(),h("div",Zi,"P+")):S("",!0),"negativePrompt"in t.genDiffToNext.diff?(a(),h("div",Xi,"P-")):S("",!0),"seed"in t.genDiffToNext.diff?(a(),h("div",es,"Se")):S("",!0),"steps"in t.genDiffToNext.diff?(a(),h("div",ts,"St")):S("",!0),"cfgScale"in t.genDiffToNext.diff?(a(),h("div",ns,"Cf")):S("",!0),"size"in t.genDiffToNext.diff?(a(),h("div",is,"Si")):S("",!0),"Model"in t.genDiffToNext.diff?(a(),h("div",ss,"Mo")):S("",!0),"Sampler"in t.genDiffToNext.diff?(a(),h("div",rs,"Sa")):S("",!0),e(t.genDiffToNext.diff)?(a(),h("div",os,"Ot")):S("",!0)])),u("div",ls,[u("small",null,[A(M(Re)),as,I(" vs "+y(t.genDiffToNext.otherFile)+" ",1),us,ds,u("table",null,["prompt"in t.genDiffToNext.diff?(a(),h("tr",cs,[fs,u("td",null,y(t.genDiffToNext.diff.prompt)+" tokens changed",1)])):S("",!0),"negativePrompt"in t.genDiffToNext.diff?(a(),h("tr",hs,[gs,u("td",null,y(t.genDiffToNext.diff.negativePrompt)+" tokens changed",1)])):S("",!0),"seed"in t.genDiffToNext.diff?(a(),h("tr",ps,[vs,u("td",null,[u("strong",null,y(t.genDiffToNext.diff.seed[0]),1),I(" vs "+y(t.genDiffToNext.diff.seed[1]),1)])])):S("",!0),"steps"in t.genDiffToNext.diff?(a(),h("tr",ms,[ys,u("td",null,[u("strong",null,y(t.genDiffToNext.diff.steps[0]),1),I(" vs "+y(t.genDiffToNext.diff.steps[1]),1)])])):S("",!0),"cfgScale"in t.genDiffToNext.diff?(a(),h("tr",bs,[As,u("td",null,[u("strong",null,y(t.genDiffToNext.diff.cfgScale[0]),1),I(" vs "+y(t.genDiffToNext.diff.cfgScale[1]),1)])])):S("",!0),"size"in t.genDiffToNext.diff?(a(),h("tr",Ss,[ks,u("td",null,[u("strong",null,y(t.genDiffToNext.diff.size[0]),1),I(" vs "+y(t.genDiffToNext.diff.size[1]),1)])])):S("",!0),"Model"in t.genDiffToNext.diff?(a(),h("tr",Is,[_s,u("td",null,[u("strong",null,y(t.genDiffToNext.diff.Model[0]),1),Cs,I(" vs "+y(t.genDiffToNext.diff.Model[1]),1)])])):S("",!0),"Sampler"in t.genDiffToNext.diff?(a(),h("tr",ws,[Es,u("td",null,[u("strong",null,y(t.genDiffToNext.diff.Sampler[0]),1),Ts,I(" vs "+y(t.genDiffToNext.diff.Sampler[1]),1)])])):S("",!0)]),Ps,e(t.genDiffToNext.diff)?(a(),h("div",Os,[Ds,I(" props that changed:"),Ns,zs,u("ul",null,[(a(!0),h(V,null,J(n(t.genDiffToNext.diff),(o,p)=>(a(),h("li",null,y(p),1))),256))])])):S("",!0)])])]))}});const $s=it(Qs,[["__scopeId","data-v-78cd67a3"]]),Ms=["data-idx"],Bs={key:1,class:"more"},Fs={class:"float-btn-wrap"},Rs={key:1,class:"tags-container"},Ls=["url"],js={class:"play-icon"},Vs=["src"],Hs={key:0,class:"tags-container"},xs={key:4,class:"preview-icon-wrap"},Us={key:1,class:"dir-cover-container"},Js=["src"],Ws={key:5,class:"profile"},Ks=["title"],qs={class:"basic-info"},Gs={style:{"margin-right":"4px"}},he=160,Ys=Z({__name:"FileItem",props:{file:{},idx:{},selected:{type:Boolean,default:!1},showMenuIdx:{},cellWidth:{},fullScreenPreviewImageUrl:{},enableRightClickMenu:{type:Boolean,default:!0},enableCloseIcon:{type:Boolean,default:!1},isSelectedMutilFiles:{type:Boolean},genInfo:{},enableChangeIndicator:{type:Boolean},extraTags:{},coverFiles:{},getGenDiff:{},getGenDiffWatchDep:{}},emits:["update:showMenuIdx","fileItemClick","dragstart","dragend","previewVisibleChange","contextMenuClick","close-icon-click","tiktokView"],setup(i,{emit:n}){const e=i;Wt(l=>({"703c27e9":l.$props.cellWidth+"px"}));const t=Ie(),s=qe(),o=j(),p=j(),c=pe(()=>{const{getGenDiff:l,file:r,idx:d}=e;l&&(p.value=l(r.gen_info_obj,d,1,r),o.value=l(r.gen_info_obj,d,-1,r))},200+100*Math.random());re(()=>{var l;return(l=e.getGenDiffWatchDep)==null?void 0:l.call(e,e.idx)},()=>{c()},{immediate:!0,deep:!0});const v=H(()=>s.tagMap.get(e.file.fullpath)??[]),b=H(()=>{const l=t.gridThumbnailResolution;return t.enableThumbnail?Qe(e.file,[l,l].join("x")):Kt(e.file)}),E=H(()=>{var l;return(((l=t.conf)==null?void 0:l.all_custom_tags)??[]).reduce((r,d)=>[...r,{...d,selected:!!v.value.find(m=>m.id===d.id)}],[])}),w=H(()=>E.value.find(l=>l.type==="custom"&&l.name==="like")),T=()=>{ge(w.value),n("contextMenuClick",{key:`toggle-tag-${w.value.id}`},e.file,e.idx)};return(l,r)=>{const d=G,m=tt,N=nt,O=nn,z=dn;return a(),R(d,{trigger:["contextmenu"],visible:M(t).longPressOpenContextMenu?typeof l.idx=="number"&&l.showMenuIdx===l.idx:void 0,"onUpdate:visible":r[8]||(r[8]=g=>typeof l.idx=="number"&&n("update:showMenuIdx",g?l.idx:-1))},{overlay:k(()=>[l.enableRightClickMenu?(a(),R(xe,{key:0,file:l.file,idx:l.idx,"selected-tag":v.value,onContextMenuClick:r[7]||(r[7]=(g,f,C)=>n("contextMenuClick",g,f,C)),"is-selected-mutil-files":l.isSelectedMutilFiles},null,8,["file","idx","selected-tag","is-selected-mutil-files"])):S("",!0)]),default:k(()=>{var g;return[(a(),h("li",{class:K(["file file-item-trigger grid",{clickable:l.file.type==="dir",selected:l.selected}]),"data-idx":l.idx,key:l.file.name,draggable:"true",onDragstart:r[4]||(r[4]=f=>n("dragstart",f,l.idx)),onDragend:r[5]||(r[5]=f=>n("dragend",f,l.idx)),onClickCapture:r[6]||(r[6]=f=>n("fileItemClick",f,l.file,l.idx))},[u("div",null,[l.enableCloseIcon?(a(),h("div",{key:0,class:"close-icon",onClick:r[0]||(r[0]=f=>n("close-icon-click"))},[A(M(qt))])):S("",!0),l.enableRightClickMenu?(a(),h("div",Bs,[A(d,null,{overlay:k(()=>[A(xe,{file:l.file,idx:l.idx,"selected-tag":v.value,onContextMenuClick:r[1]||(r[1]=(f,C,$)=>n("contextMenuClick",f,C,$)),"is-selected-mutil-files":l.isSelectedMutilFiles},null,8,["file","idx","selected-tag","is-selected-mutil-files"])]),default:k(()=>[u("div",Fs,[A(M(Gt))])]),_:1}),l.file.type==="file"?(a(),R(d,{key:0},{overlay:k(()=>[E.value.length>1?(a(),R(N,{key:0,onClick:r[2]||(r[2]=f=>n("contextMenuClick",f,l.file,l.idx))},{default:k(()=>[(a(!0),h(V,null,J(E.value,f=>(a(),R(m,{key:`toggle-tag-${f.id}`},{default:k(()=>[I(y(f.name)+" ",1),f.selected?(a(),R(M(st),{key:0})):(a(),R(M(rt),{key:1}))]),_:2},1024))),128))]),_:1})):S("",!0)]),default:k(()=>{var f,C;return[u("div",{class:K(["float-btn-wrap",{"like-selected":(f=w.value)==null?void 0:f.selected}]),onClick:T},[(C=w.value)!=null&&C.selected?(a(),R(M(Yt),{key:0})):(a(),R(M(Zt),{key:1}))],2)]}),_:1})):S("",!0)])):S("",!0),M(Xt)(l.file.name)?(a(),h("div",{key:l.file.fullpath,class:K(`idx-${l.idx} item-content`)},[l.enableChangeIndicator&&p.value&&o.value?(a(),R($s,{key:0,"gen-diff-to-next":p.value,"gen-diff-to-previous":o.value},null,8,["gen-diff-to-next","gen-diff-to-previous"])):S("",!0),A(O,{src:b.value,fallback:M(Pn),preview:{src:l.fullScreenPreviewImageUrl,onVisibleChange:(f,C)=>n("previewVisibleChange",f,C)}},null,8,["src","fallback","preview"]),v.value&&l.cellWidth>he?(a(),h("div",Rs,[(a(!0),h(V,null,J(l.extraTags??v.value,f=>(a(),R(z,{key:f.id,color:M(s).getColor(f)},{default:k(()=>[I(y(f.name),1)]),_:2},1032,["color"]))),128))])):S("",!0)],2)):M(en)(l.file.name)?(a(),h("div",{key:3,class:K(`idx-${l.idx} item-content video`),url:M(ce)(l.file),style:et({"background-image":`url('${l.file.cover_url??M(ce)(l.file)}')`}),onClick:r[3]||(r[3]=f=>M(tn)(l.file,C=>n("contextMenuClick",{key:`toggle-tag-${C}`},l.file,l.idx),()=>n("tiktokView",l.file,l.idx)))},[u("div",js,[u("img",{src:M(Bn),style:{width:"40px",height:"40px"}},null,8,Vs)]),v.value&&l.cellWidth>he?(a(),h("div",Hs,[(a(!0),h(V,null,J(v.value,f=>(a(),R(z,{key:f.id,color:M(s).getColor(f)},{default:k(()=>[I(y(f.name),1)]),_:2},1032,["color"]))),128))])):S("",!0)],14,Ls)):(a(),h("div",xs,[l.file.type==="file"?(a(),R(M(mn),{key:0,class:"icon center"})):(g=l.coverFiles)!=null&&g.length&&l.cellWidth>160?(a(),h("div",Us,[(a(!0),h(V,null,J(l.coverFiles,f=>(a(),h("img",{class:"dir-cover-item",src:f.media_type==="image"?M(Qe)(f):M(ce)(f),key:f.fullpath},null,8,Js))),128))])):(a(),R(M(Sn),{key:2,class:"icon center"}))])),l.cellWidth>he?(a(),h("div",Ws,[u("div",{class:"name line-clamp-1",title:l.file.name},y(l.file.name),9,Ks),u("div",qs,[u("div",Gs,y(l.file.type)+" "+y(l.file.size),1),u("div",null,y(l.file.date),1)])])):S("",!0)])],42,Ms))]}),_:1},8,["visible"])}}});const gr=it(Ys,[["__scopeId","data-v-efdfc9d7"]]);export{gr as F,sr as N,xe as _,rr as a,hr as b,fr as c,ct as d,cr as e,Fn as f,q as g,ar as h,dr as i,lr as j,ur as k,Tn as r,or as s,Ln as t,le as u};
diff --git a/vue/dist/assets/FileItem-8a2b9b92.js b/vue/dist/assets/FileItem-8a2b9b92.js
new file mode 100644
index 0000000..2d1eded
--- /dev/null
+++ b/vue/dist/assets/FileItem-8a2b9b92.js
@@ -0,0 +1,3 @@
+var ht=Object.defineProperty;var gt=(i,n,e)=>n in i?ht(i,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[n]=e;var ee=(i,n,e)=>(gt(i,typeof n!="symbol"?n+"":n,e),e);import{d as Z,u as Je,G as x,an as We,h as W,c as b,aq as pt,di as vt,r as j,bg as mt,Z as V,dg as yt,P as De,c9 as bt,A as X,dj as de,O as ge,am as ke,bj as At,d3 as St,b_ as kt,dk as _t,cF as It,dl as Ne,dm as Ct,p as wt,dn as Ke,bA as Tt,dp as ae,dq as Et,aH as Pt,dr as Ot,C as Dt,ds as Nt,n as pe,m as re,aT as zt,t as qe,a1 as _e,c7 as Ge,aJ as Qt,dt as Ye,du as Mt,Q as $t,x as Bt,aP as Ze,aQ as Xe,az as et,U as a,a2 as R,dv as Ft,dw as Rt,dx as Lt,c3 as jt,dy as Vt,at as xt,V as f,aG as te,$ as A,a3 as S,a8 as J,c4 as ze,c5 as Ht,dz as Ut,a7 as tt,ag as K,X as k,Y as p,a4 as F,al as nt,db as Jt,da as Wt,M as it,W as u,a0 as st,d5 as Kt,dA as Qe,af as qt,dB as Gt,d8 as Yt,dC as Zt,dD as Xt,cq as Me,cQ as en,dE as ce,cK as tn,dF as nn,dG as sn}from"./index-411a6464.js";import"./numInput.vue_vue_type_style_index_0_scoped_55978858_lang-a6102596.js";import{i as rn}from"./_isIterateeCall-bb47e76e.js";import{D as G,a as ve}from"./index-c61f4123.js";/* empty css */var on=function(){return{prefixCls:String,checked:{type:Boolean,default:void 0},onChange:{type:Function},onClick:{type:Function},"onUpdate:checked":Function}},ln=Z({compatConfig:{MODE:3},name:"ACheckableTag",props:on(),setup:function(n,e){var t=e.slots,r=e.emit,o=Je("tag",n),h=o.prefixCls,c=function(E){var C=n.checked;r("update:checked",!C),r("change",!C),r("click",E)},g=x(function(){var m;return We(h.value,(m={},W(m,"".concat(h.value,"-checkable"),!0),W(m,"".concat(h.value,"-checkable-checked"),n.checked),m))});return function(){var m;return b("span",{class:g.value,onClick:c},[(m=t.default)===null||m===void 0?void 0:m.call(t)])}}});const me=ln;var an=new RegExp("^(".concat(pt.join("|"),")(-inverse)?$")),un=new RegExp("^(".concat(vt.join("|"),")$")),dn=function(){return{prefixCls:String,color:{type:String},closable:{type:Boolean,default:!1},closeIcon:De.any,visible:{type:Boolean,default:void 0},onClose:{type:Function},"onUpdate:visible":Function,icon:De.any}},Y=Z({compatConfig:{MODE:3},name:"ATag",props:dn(),slots:["closeIcon","icon"],setup:function(n,e){var t=e.slots,r=e.emit,o=e.attrs,h=Je("tag",n),c=h.prefixCls,g=h.direction,m=j(!0);mt(function(){n.visible!==void 0&&(m.value=n.visible)});var E=function(l){l.stopPropagation(),r("update:visible",!1),r("close",l),!l.defaultPrevented&&n.visible===void 0&&(m.value=!1)},C=x(function(){var Q=n.color;return Q?an.test(Q)||un.test(Q):!1}),P=x(function(){var Q;return We(c.value,(Q={},W(Q,"".concat(c.value,"-").concat(n.color),C.value),W(Q,"".concat(c.value,"-has-color"),n.color&&!C.value),W(Q,"".concat(c.value,"-hidden"),!m.value),W(Q,"".concat(c.value,"-rtl"),g.value==="rtl"),Q))});return function(){var Q,l,s,d=n.icon,w=d===void 0?(Q=t.icon)===null||Q===void 0?void 0:Q.call(t):d,O=n.color,M=n.closeIcon,v=M===void 0?(l=t.closeIcon)===null||l===void 0?void 0:l.call(t):M,I=n.closable,T=I===void 0?!1:I,y=function(){return T?v?b("span",{class:"".concat(c.value,"-close-icon"),onClick:E},[v]):b(bt,{class:"".concat(c.value,"-close-icon"),onClick:E},null):null},N={backgroundColor:O&&!C.value?O:void 0},B=w||null,_=(s=t.default)===null||s===void 0?void 0:s.call(t),L=B?b(V,null,[B,b("span",null,[_])]):_,D="onClick"in o,$=b("span",{class:P.value,style:N},[L,y()]);return D?b(yt,null,{default:function(){return[$]}}):$}}});Y.CheckableTag=me;Y.install=function(i){return i.component(Y.name,Y),i.component(me.name,me),i};const cn=Y;G.Button=ve;G.install=function(i){return i.component(G.name,G),i.component(ve.name,ve),i};var fn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M908.1 353.1l-253.9-36.9L540.7 86.1c-3.1-6.3-8.2-11.4-14.5-14.5-15.8-7.8-35-1.3-42.9 14.5L369.8 316.2l-253.9 36.9c-7 1-13.4 4.3-18.3 9.3a32.05 32.05 0 00.6 45.3l183.7 179.1-43.4 252.9a31.95 31.95 0 0046.4 33.7L512 754l227.1 119.4c6.2 3.3 13.4 4.4 20.3 3.2 17.4-3 29.1-19.5 26.1-36.9l-43.4-252.9 183.7-179.1c5-4.9 8.3-11.3 9.3-18.3 2.7-17.5-9.5-33.7-27-36.3z"}}]},name:"star",theme:"filled"};const hn=fn;function $e(i){for(var n=1;n{const r=kt();ge(r),ne.has(r)||(ne.set(r,ke(i(r,t??(n==null?void 0:n())))),At(()=>{ne.delete(r)}));const o=ne.get(r);return ge(o),{state:o,toRefs(){return St(o)}}}}}var Nn={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M715.8 493.5L335 165.1c-14.2-12.2-35-1.2-35 18.5v656.8c0 19.7 20.8 30.7 35 18.5l380.8-328.4c10.9-9.4 10.9-27.6 0-37z"}}]},name:"caret-right",theme:"outlined"};const zn=Nn;function Re(i){for(var n=1;n{const i=j([]);return{selectdFiles:i,addFiles:e=>{i.value=It([...i.value,...e])}}});class oe{constructor(n,e=Ct.CREATED_TIME_DESC){ee(this,"root");ee(this,"execQueue",[]);ee(this,"walkerInitPromsie");this.entryPath=n,this.sortMethod=e,this.root={children:[],info:{name:this.entryPath,size:"-",bytes:0,created_time:"",is_under_scanned_path:!0,date:"",type:"dir",fullpath:this.entryPath}},this.walkerInitPromsie=new Promise(t=>{Ne([this.entryPath]).then(async r=>{this.root.info=r[this.entryPath],await this.fetchChildren(this.root),t()})})}reset(){return this.root.children=[],this.fetchChildren(this.root)}get images(){const n=e=>e.children.map(t=>{if(t.info.type==="dir")return n(t);if(ae(t.info.name))return t.info}).filter(t=>t).flat(1);return n(this.root)}get isCompleted(){return this.execQueue.length===0}async fetchChildren(n){const{files:e}=await wt(n.info.fullpath);return n.children=Ke(e,this.sortMethod).map(t=>({info:t,children:[]})),this.execQueue.shift(),this.execQueue.unshift(...n.children.filter(t=>t.info.type==="dir").map(t=>({fn:()=>this.fetchChildren(t),...t}))),n}async next(){await this.walkerInitPromsie;const n=_n(this.execQueue);if(!n)return null;const e=await n.fn();return this.execQueue=this.execQueue.slice(),this.root={...this.root},e}async isExpired(){const n=[this.root.info],e=r=>{for(const o of r.children)o.info.type==="dir"&&(n.push(o.info),e(o))};e(this.root);const t=await Ne(n.map(r=>r.fullpath));for(const r of n)if(!Tt(r,t[r.fullpath]))return!0;return!1}async seamlessRefresh(n,e=j(!1)){const t=performance.now(),r=new oe(this.entryPath,this.sortMethod);for(await r.walkerInitPromsie;!r.isCompleted&&r.images.length
'};e.configure=function(l){var s,d;for(s in l)d=l[s],d!==void 0&&l.hasOwnProperty(s)&&(t[s]=d);return this},e.status=null,e.set=function(l){var s=e.isStarted();l=r(l,t.minimum,1),e.status=l===1?null:l;var d=e.render(!s),w=d.querySelector(t.barSelector),O=t.speed,M=t.easing;return d.offsetWidth,c(function(v){t.positionUsing===""&&(t.positionUsing=e.getPositioningCSS()),g(w,h(l,O,M)),l===1?(g(d,{transition:"none",opacity:1}),d.offsetWidth,setTimeout(function(){g(d,{transition:"all "+O+"ms linear",opacity:0}),setTimeout(function(){e.remove(),v()},O)},O)):setTimeout(v,O)}),this},e.isStarted=function(){return typeof e.status=="number"},e.start=function(){e.status||e.set(0);var l=function(){setTimeout(function(){e.status&&(e.trickle(),l())},t.trickleSpeed)};return t.trickle&&l(),this},e.done=function(l){return!l&&!e.status?this:e.inc(.3+.5*Math.random()).set(1)},e.inc=function(l){var s=e.status;return s?s>1?void 0:(typeof l!="number"&&(s>=0&&s<.2?l=.1:s>=.2&&s<.5?l=.04:s>=.5&&s<.8?l=.02:s>=.8&&s<.99?l=.005:l=0),s=r(s+l,0,.994),e.set(s)):e.start()},e.trickle=function(){return e.inc()},function(){var l=0,s=0;e.promise=function(d){return!d||d.state()==="resolved"?this:(s===0&&e.start(),l++,s++,d.always(function(){s--,s===0?(l=0,e.done()):e.set((l-s)/l)}),this)}}(),e.getElement=function(){var l=e.getParent();if(l){var s=Array.prototype.slice.call(l.querySelectorAll(".nprogress")).filter(function(d){return d.parentElement===l});if(s.length>0)return s[0]}return null},e.getParent=function(){if(t.parent instanceof HTMLElement)return t.parent;if(typeof t.parent=="string")return document.querySelector(t.parent)},e.render=function(l){if(e.isRendered())return e.getElement();E(document.documentElement,"nprogress-busy");var s=document.createElement("div");s.id="nprogress",s.className="nprogress",s.innerHTML=t.template;var d=s.querySelector(t.barSelector),w=l?"-100":o(e.status||0),O=e.getParent(),M;return g(d,{transition:"all 0 linear",transform:"translate3d("+w+"%,0,0)"}),t.showSpinner||(M=s.querySelector(t.spinnerSelector),M&&Q(M)),O!=document.body&&E(O,"nprogress-custom-parent"),O.appendChild(s),s},e.remove=function(){e.status=null,C(document.documentElement,"nprogress-busy"),C(e.getParent(),"nprogress-custom-parent");var l=e.getElement();l&&Q(l)},e.isRendered=function(){return!!e.getElement()},e.getPositioningCSS=function(){var l=document.body.style,s="WebkitTransform"in l?"Webkit":"MozTransform"in l?"Moz":"msTransform"in l?"ms":"OTransform"in l?"O":"";return s+"Perspective"in l?"translate3d":s+"Transform"in l?"translate":"margin"};function r(l,s,d){return ld?d:l}function o(l){return(-1+l)*100}function h(l,s,d){var w;return t.positionUsing==="translate3d"?w={transform:"translate3d("+o(l)+"%,0,0)"}:t.positionUsing==="translate"?w={transform:"translate("+o(l)+"%,0)"}:w={"margin-left":o(l)+"%"},w.transition="all "+s+"ms "+d,w}var c=function(){var l=[];function s(){var d=l.shift();d&&d(s)}return function(d){l.push(d),l.length==1&&s()}}(),g=function(){var l=["Webkit","O","Moz","ms"],s={};function d(v){return v.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,function(I,T){return T.toUpperCase()})}function w(v){var I=document.body.style;if(v in I)return v;for(var T=l.length,y=v.charAt(0).toUpperCase()+v.slice(1),N;T--;)if(N=l[T]+y,N in I)return N;return v}function O(v){return v=d(v),s[v]||(s[v]=w(v))}function M(v,I,T){I=O(I),v.style[I]=T}return function(v,I){var T=arguments,y,N;if(T.length==2)for(y in I)N=I[y],N!==void 0&&I.hasOwnProperty(y)&&M(v,y,N);else M(v,T[1],T[2])}}();function m(l,s){var d=typeof l=="string"?l:P(l);return d.indexOf(" "+s+" ")>=0}function E(l,s){var d=P(l),w=d+s;m(d,s)||(l.className=w.substring(1))}function C(l,s){var d=P(l),w;m(l,s)&&(w=d.replace(" "+s+" "," "),l.className=w.substring(1,w.length-1))}function P(l){return(" "+(l&&l.className||"")+" ").replace(/\s+/gi," ")}function Q(l){l&&l.parentNode&&l.parentNode.removeChild(l)}return e})})(lt);var Ln=lt.exports;const rr=Pt(Ln);function or({fetchNext:i}={}){const{scroller:n,sortedFiles:e,sortMethod:t,currLocation:r,stackViewEl:o,canLoadNext:h,previewIdx:c,props:g,walker:m,getViewableAreaFiles:E}=le().toRefs(),{state:C}=le(),P=j(!1),Q=j(q.defaultGridCellWidth),l=x(()=>Q.value+16),s=44,{width:d}=Ot(o),w=x(()=>~~(d.value/l.value)),O=ke(new Map),M=x(()=>{const B=l.value;return{first:B+(Q.value<=160?0:s),second:B}}),v=j(!1),I=async()=>{var B;if(!(v.value||g.value.mode!=="walk"||!h.value))try{v.value=!0,await((B=m.value)==null?void 0:B.next())}finally{v.value=!1}},T=async(B=!1)=>{const _=n.value,L=()=>B?c.value:(_==null?void 0:_.$_endIndex)??0,D=()=>{const $=e.value.length,H=50;return $?i?L()>$-H:L()>$-H&&h.value:!0};for(;D();){await qe(30);const $=await(i??I)();if(typeof $=="boolean"&&!$)return}};C.useEventListen("loadNextDir",Dt(async(B=!1)=>{await T(B),g.value.mode==="walk"&&y()})),C.useEventListen("viewableAreaFilesChange",()=>{const B=E.value(),_=B.filter(D=>D.is_under_scanned_path&&ae(D.name)).map(D=>D.fullpath);jn.fetchImageTags(_);const L=B.filter(D=>D.is_under_scanned_path&&D.type==="dir"&&!O.has(D.fullpath)).map(D=>D.fullpath);L.length&&Nt(L).then(D=>{for(const $ in D)if(Object.prototype.hasOwnProperty.call(D,$)){const H=D[$];O.set($,H)}})}),C.useEventListen("refresh",async()=>{C.eventEmitter.emit("viewableAreaFilesChange")});const y=pe(()=>C.eventEmitter.emit("viewableAreaFilesChange"),300);re(r,y);const N=pe(async()=>{await T(),y()},150);return{gridItems:w,sortedFiles:e,sortMethodConv:zt,moreActionsDropdownShow:P,gridSize:l,sortMethod:t,onScroll:N,loadNextDir:I,loadNextDirLoading:v,canLoadNext:h,itemSize:M,cellWidth:Q,dirCoverCache:O}}const lr=new Map,q=_e(),ar=Rn(),jn=Ge(),ur=Qt(),dr=new BroadcastChannel("iib-image-transfer-bus"),{eventEmitter:cr,useEventListen:fr}=Ye(),{useHookShareState:le}=Dn((i,{images:n})=>{const e=j({tabIdx:-1,paneIdx:-1}),t=x(()=>$t(r.value)),r=j([]),o=x(()=>{var I;return r.value.map(T=>T.curr).slice((I=q.conf)!=null&&I.is_win&&e.value.mode!=="scanned-fixed"?1:0)}),h=x(()=>Bt(...o.value)),c=x(()=>{var I,T;return e.value.mode==="scanned-fixed"?((T=(I=r.value)==null?void 0:I[0])==null?void 0:T.curr)??"":e.value.mode==="walk"?e.value.path??"":r.value.length===1?"/":h.value}),g=j(q.defaultSortingMethod),m=j(e.value.mode=="walk"?new oe(e.value.path,g.value):void 0);re([()=>e.value.mode,()=>e.value.path,g],async([I,T,y])=>{var N;I==="walk"?(m.value=new oe(T,y),r.value=[{files:[],curr:T}],await qe(),await((N=m.value)==null?void 0:N.reset()),M.eventEmitter.emit("loadNextDir")):m.value=void 0});const E=ke(new Set);re(t,()=>E.clear());const C=x(()=>{var N;if(n.value)return n.value;if(m.value)return m.value.images.filter(B=>!E.has(B.fullpath));if(!t.value)return[];const I=((N=t.value)==null?void 0:N.files)??[],T=g.value;return Ke((B=>q.onlyFoldersAndImages?B.filter(_=>_.type==="dir"||ae(_.name)):B)(I),T).filter(B=>!E.has(B.fullpath))}),P=j([]),Q=j(-1),l=x(()=>m.value?!m.value.isCompleted:!1),s=j(!1),d=j(!1),w=j(),O=()=>{var I,T,y;return(y=(T=(I=q.tabList)==null?void 0:I[e.value.tabIdx])==null?void 0:T.panes)==null?void 0:y[e.value.paneIdx]},M=Ye();M.useEventListen("selectAll",()=>{console.log(`select all 0 -> ${C.value.length}`),P.value=Pn(0,C.value.length)});const v=()=>{const I=w.value;if(I){const T=Math.max(I.$_startIndex-10,0);return C.value.slice(T,I.$_endIndex+10)}return[]};return{previewing:d,spinning:s,canLoadNext:l,multiSelectedIdxs:P,previewIdx:Q,basePath:o,currLocation:c,currPage:t,stack:r,sortMethod:g,sortedFiles:C,scroller:w,stackViewEl:j(),props:e,getPane:O,walker:m,deletedFiles:E,getViewableAreaFiles:v,...M}},()=>({images:j()}));function hr(){const{eventEmitter:i,multiSelectedIdxs:n,sortedFiles:e}=le().toRefs();return{onSelectAll:()=>i.value.emit("selectAll"),onReverseSelect:()=>{n.value=e.value.map((h,c)=>c).filter(h=>!n.value.includes(h))},onClearAllSelected:()=>{n.value=[]}}}const gr=()=>{const{stackViewEl:i}=le().toRefs(),n=j(-1);return Mt(i,e=>{var r;let t=e.target;for(;t.parentElement;)if(t=t.parentElement,t.tagName.toLowerCase()==="li"&&t.classList.contains("file-item-trigger")){const o=(r=t.dataset)==null?void 0:r.idx;o&&Number.isSafeInteger(+o)&&(n.value=+o);return}}),{showMenuIdx:n}};function Vn(){var i=window.navigator.userAgent,n=i.indexOf("MSIE ");if(n>0)return parseInt(i.substring(n+5,i.indexOf(".",n)),10);var e=i.indexOf("Trident/");if(e>0){var t=i.indexOf("rv:");return parseInt(i.substring(t+3,i.indexOf(".",t)),10)}var r=i.indexOf("Edge/");return r>0?parseInt(i.substring(r+5,i.indexOf(".",r)),10):-1}let ie;function ye(){ye.init||(ye.init=!0,ie=Vn()!==-1)}var ue={name:"ResizeObserver",props:{emitOnMount:{type:Boolean,default:!1},ignoreWidth:{type:Boolean,default:!1},ignoreHeight:{type:Boolean,default:!1}},emits:["notify"],mounted(){ye(),et(()=>{this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitOnMount&&this.emitSize()});const i=document.createElement("object");this._resizeObject=i,i.setAttribute("aria-hidden","true"),i.setAttribute("tabindex",-1),i.onload=this.addResizeHandlers,i.type="text/html",ie&&this.$el.appendChild(i),i.data="about:blank",ie||this.$el.appendChild(i)},beforeUnmount(){this.removeResizeHandlers()},methods:{compareAndNotify(){(!this.ignoreWidth&&this._w!==this.$el.offsetWidth||!this.ignoreHeight&&this._h!==this.$el.offsetHeight)&&(this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitSize())},emitSize(){this.$emit("notify",{width:this._w,height:this._h})},addResizeHandlers(){this._resizeObject.contentDocument.defaultView.addEventListener("resize",this.compareAndNotify),this.compareAndNotify()},removeResizeHandlers(){this._resizeObject&&this._resizeObject.onload&&(!ie&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.compareAndNotify),this.$el.removeChild(this._resizeObject),this._resizeObject.onload=null,this._resizeObject=null)}}};const xn=Ft();Ze("data-v-b329ee4c");const Hn={class:"resize-observer",tabindex:"-1"};Xe();const Un=xn((i,n,e,t,r,o)=>(a(),R("div",Hn)));ue.render=Un;ue.__scopeId="data-v-b329ee4c";ue.__file="src/components/ResizeObserver.vue";function se(i){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?se=function(n){return typeof n}:se=function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},se(i)}function Jn(i,n){if(!(i instanceof n))throw new TypeError("Cannot call a class as a function")}function Ve(i,n){for(var e=0;ei.length)&&(n=i.length);for(var e=0,t=new Array(n);e2&&arguments[2]!==void 0?arguments[2]:{},t,r,o,h=function(g){for(var m=arguments.length,E=new Array(m>1?m-1:0),C=1;C1){var m=c.find(function(C){return C.isIntersecting});m&&(g=m)}if(r.callback){var E=g.isIntersecting&&g.intersectionRatio>=r.threshold;if(E===r.oldResult)return;r.oldResult=E,r.callback(E,g)}},this.options.intersection),et(function(){r.observer&&r.observer.observe(r.el)})}}},{key:"destroyObserver",value:function(){this.observer&&(this.observer.disconnect(),this.observer=null),this.callback&&this.callback._clear&&(this.callback._clear(),this.callback=null)}},{key:"threshold",get:function(){return this.options.intersection&&typeof this.options.intersection.threshold=="number"?this.options.intersection.threshold:0}}]),i}();function ut(i,n,e){var t=n.value;if(t)if(typeof IntersectionObserver>"u")console.warn("[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill");else{var r=new ei(i,t,e);i._vue_visibilityState=r}}function ti(i,n,e){var t=n.value,r=n.oldValue;if(!at(t,r)){var o=i._vue_visibilityState;if(!t){dt(i);return}o?o.createObserver(t,e):ut(i,{value:t},e)}}function dt(i){var n=i._vue_visibilityState;n&&(n.destroyObserver(),delete i._vue_visibilityState)}var ni={beforeMount:ut,updated:ti,unmounted:dt},ii={itemsLimit:1e3},si=/(auto|scroll)/;function ct(i,n){return i.parentNode===null?n:ct(i.parentNode,n.concat([i]))}var fe=function(n,e){return getComputedStyle(n,null).getPropertyValue(e)},ri=function(n){return fe(n,"overflow")+fe(n,"overflow-y")+fe(n,"overflow-x")},oi=function(n){return si.test(ri(n))};function He(i){if(i instanceof HTMLElement||i instanceof SVGElement){for(var n=ct(i.parentNode,[]),e=0;e{this.$_prerender=!1,this.updateVisibleItems(!0),this.ready=!0})},activated(){const i=this.$_lastUpdateScrollPosition;typeof i=="number"&&this.$nextTick(()=>{this.scrollToPosition(i)})},beforeUnmount(){this.removeListeners()},methods:{addView(i,n,e,t,r){const o=Rt({id:di++,index:n,used:!0,key:t,type:r}),h=Lt({item:e,position:0,nr:o});return i.push(h),h},unuseView(i,n=!1){const e=this.$_unusedViews,t=i.nr.type;let r=e.get(t);r||(r=[],e.set(t,r)),r.push(i),n||(i.nr.used=!1,i.position=-9999)},handleResize(){this.$emit("resize"),this.ready&&this.updateVisibleItems(!1)},handleScroll(i){if(!this.$_scrollDirty){if(this.$_scrollDirty=!0,this.$_updateTimeout)return;const n=()=>requestAnimationFrame(()=>{this.$_scrollDirty=!1;const{continuous:e}=this.updateVisibleItems(!1,!0);e||(clearTimeout(this.$_refreshTimout),this.$_refreshTimout=setTimeout(this.handleScroll,this.updateInterval+100))});n(),this.updateInterval&&(this.$_updateTimeout=setTimeout(()=>{this.$_updateTimeout=0,this.$_scrollDirty&&n()},this.updateInterval))}},handleVisibilityChange(i,n){this.ready&&(i||n.boundingClientRect.width!==0||n.boundingClientRect.height!==0?(this.$emit("visible"),requestAnimationFrame(()=>{this.updateVisibleItems(!1)})):this.$emit("hidden"))},updateVisibleItems(i,n=!1){const e=this.itemSize,t=this.gridItems||1,r=this.itemSecondarySize||e,o=this.$_computedMinItemSize,h=this.typeField,c=this.simpleArray?null:this.keyField,g=this.items,m=g.length,E=this.sizes,C=this.$_views,P=this.$_unusedViews,Q=this.pool,l=this.itemIndexByKey;let s,d,w,O,M;if(!m)s=d=O=M=w=0;else if(this.$_prerender)s=O=0,d=M=Math.min(this.prerender,g.length),w=null;else{const _=this.getScroll();if(n){let $=_.start-this.$_lastUpdateScrollPosition;if($<0&&($=-$),e===null&&$_.start&&(Pe=U),U=~~((H+Pe)/2);while(U!==Oe);for(U<0&&(U=0),s=U,w=E[m-1].accumulator,d=U;dm&&(d=m)),O=s;Om&&(d=m),O<0&&(O=0),M>m&&(M=m),w=Math.ceil(m/t)*e}}d-s>ii.itemsLimit&&this.itemsLimitError(),this.totalSize=w;let v;const I=s<=this.$_endIndex&&d>=this.$_startIndex;if(I)for(let _=0,L=Q.length;_=d)&&this.unuseView(v));const T=I?null:new Map;let y,N,B;for(let _=s;_=D.length)&&(v=this.addView(Q,_,y,L,N),this.unuseView(v,!0),D=P.get(N)),v=D[B],T.set(N,B+1)),C.delete(v.nr.key),v.nr.used=!0,v.nr.index=_,v.nr.key=L,v.nr.type=N,C.set(L,v),$=!0;else if(!v.nr.used&&(v.nr.used=!0,v.nr.index=_,$=!0,D)){const H=D.indexOf(v);H!==-1&&D.splice(H,1)}v.item=y,$&&(_===g.length-1&&this.$emit("scroll-end"),_===0&&this.$emit("scroll-start")),e===null?(v.position=E[_-1].accumulator,v.offset=0):(v.position=Math.floor(_/t)*e,v.offset=_%t*r)}return this.$_startIndex=s,this.$_endIndex=d,this.emitUpdate&&this.$emit("update",s,d,O,M),clearTimeout(this.$_sortTimer),this.$_sortTimer=setTimeout(this.sortViews,this.updateInterval+300),{continuous:I}},getListenerTarget(){let i=He(this.$el);return window.document&&(i===window.document.documentElement||i===window.document.body)&&(i=window),i},getScroll(){const{$el:i,direction:n}=this,e=n==="vertical";let t;if(this.pageMode){const r=i.getBoundingClientRect(),o=e?r.height:r.width;let h=-(e?r.top:r.left),c=e?window.innerHeight:window.innerWidth;h<0&&(c+=h,h=0),h+c>o&&(c=o-h),t={start:h,end:h+c}}else e?t={start:i.scrollTop,end:i.scrollTop+i.clientHeight}:t={start:i.scrollLeft,end:i.scrollLeft+i.clientWidth};return t},applyPageMode(){this.pageMode?this.addListeners():this.removeListeners()},addListeners(){this.listenerTarget=this.getListenerTarget(),this.listenerTarget.addEventListener("scroll",this.handleScroll,Se?{passive:!0}:!1),this.listenerTarget.addEventListener("resize",this.handleResize)},removeListeners(){this.listenerTarget&&(this.listenerTarget.removeEventListener("scroll",this.handleScroll),this.listenerTarget.removeEventListener("resize",this.handleResize),this.listenerTarget=null)},scrollToItem(i){let n;const e=this.gridItems||1;this.itemSize===null?n=i>0?this.sizes[i-1].accumulator:0:n=Math.floor(i/e)*this.itemSize,this.scrollToPosition(n)},scrollToPosition(i){const n=this.direction==="vertical"?{scroll:"scrollTop",start:"top"}:{scroll:"scrollLeft",start:"left"};let e,t,r;if(this.pageMode){const o=He(this.$el),h=o.tagName==="HTML"?0:o[n.scroll],c=o.getBoundingClientRect(),m=this.$el.getBoundingClientRect()[n.start]-c[n.start];e=o,t=n.scroll,r=i+h+m}else e=this.$el,t=n.scroll,r=i;e[t]=r},itemsLimitError(){throw setTimeout(()=>{console.log("It seems the scroller element isn't scrolling, so it tries to render all the items at once.","Scroller:",this.$el),console.log("Make sure the scroller has a fixed height (or width) and 'overflow-y' (or 'overflow-x') set to 'auto' so it can scroll correctly and only render the items visible in the scroll viewport.")}),new Error("Rendered items limit reached")},sortViews(){this.pool.sort((i,n)=>i.nr.index-n.nr.index)}}};const ci={key:0,ref:"before",class:"vue-recycle-scroller__slot"},fi={key:1,ref:"after",class:"vue-recycle-scroller__slot"};function hi(i,n,e,t,r,o){const h=jt("ResizeObserver"),c=Vt("observe-visibility");return xt((a(),f("div",{class:K(["vue-recycle-scroller",{ready:r.ready,"page-mode":e.pageMode,[`direction-${i.direction}`]:!0}]),onScrollPassive:n[0]||(n[0]=(...g)=>o.handleScroll&&o.handleScroll(...g))},[i.$slots.before?(a(),f("div",ci,[te(i.$slots,"before")],512)):A("v-if",!0),(a(),R(ze(e.listTag),{ref:"wrapper",style:tt({[i.direction==="vertical"?"minHeight":"minWidth"]:r.totalSize+"px"}),class:K(["vue-recycle-scroller__item-wrapper",e.listClass])},{default:S(()=>[(a(!0),f(V,null,J(r.pool,g=>(a(),R(ze(e.itemTag),Ht({key:g.nr.id,style:r.ready?{transform:`translate${i.direction==="vertical"?"Y":"X"}(${g.position}px) translate${i.direction==="vertical"?"X":"Y"}(${g.offset}px)`,width:e.gridItems?`${i.direction==="vertical"&&e.itemSecondarySize||e.itemSize}px`:void 0,height:e.gridItems?`${i.direction==="horizontal"&&e.itemSecondarySize||e.itemSize}px`:void 0}:null,class:["vue-recycle-scroller__item-view",[e.itemClass,{hover:!e.skipHover&&r.hoverKey===g.nr.key}]]},Ut(e.skipHover?{}:{mouseenter:()=>{r.hoverKey=g.nr.key},mouseleave:()=>{r.hoverKey=null}})),{default:S(()=>[te(i.$slots,"default",{item:g.item,index:g.nr.index,active:g.nr.used})]),_:2},1040,["style","class"]))),128)),te(i.$slots,"empty")]),_:3},8,["style","class"])),i.$slots.after?(a(),f("div",fi,[te(i.$slots,"after")],512)):A("v-if",!0),b(h,{onNotify:o.handleResize},null,8,["onNotify"])],34)),[[c,o.handleVisibilityChange]])}ft.render=hi;ft.__file="src/components/RecycleScroller.vue";const Ue=Z({__name:"ContextMenu",props:{file:{},idx:{},selectedTag:{},isSelectedMutilFiles:{type:Boolean}},emits:["contextMenuClick"],setup(i,{emit:n}){const e=i,t=_e(),r=x(()=>{var o;return(((o=t.conf)==null?void 0:o.all_custom_tags)??[]).reduce((h,c)=>[...h,{...c,selected:!!e.selectedTag.find(g=>g.id===c.id)}],[])});return(o,h)=>{const c=nt,g=Jt,m=Wt,E=it;return a(),R(E,{onClick:h[0]||(h[0]=C=>n("contextMenuClick",C,o.file,o.idx))},{default:S(()=>{var C;return[b(c,{key:"deleteFiles"},{default:S(()=>[k(p(o.$t("deleteSelected")),1)]),_:1}),b(c,{key:"openWithDefaultApp"},{default:S(()=>[k(p(o.$t("openWithDefaultApp")),1)]),_:1}),b(c,{key:"saveSelectedAsJson"},{default:S(()=>[k(p(o.$t("saveSelectedAsJson")),1)]),_:1}),o.file.type==="dir"?(a(),f(V,{key:0},[b(c,{key:"openInNewTab"},{default:S(()=>[k(p(o.$t("openInNewTab")),1)]),_:1}),b(c,{key:"openOnTheRight"},{default:S(()=>[k(p(o.$t("openOnTheRight")),1)]),_:1}),b(c,{key:"openWithWalkMode"},{default:S(()=>[k(p(o.$t("openWithWalkMode")),1)]),_:1})],64)):A("",!0),o.file.type==="file"?(a(),f(V,{key:1},[F(ae)(o.file.name)?(a(),f(V,{key:0},[b(c,{key:"viewGenInfo"},{default:S(()=>[k(p(o.$t("viewGenerationInfo")),1)]),_:1}),b(c,{key:"tiktokView"},{default:S(()=>[k(p(o.$t("tiktokView")),1)]),_:1}),b(g),((C=F(t).conf)==null?void 0:C.launch_mode)!=="server"?(a(),f(V,{key:0},[b(c,{key:"send2txt2img"},{default:S(()=>[k(p(o.$t("sendToTxt2img")),1)]),_:1}),b(c,{key:"send2img2img"},{default:S(()=>[k(p(o.$t("sendToImg2img")),1)]),_:1}),b(c,{key:"send2inpaint"},{default:S(()=>[k(p(o.$t("sendToInpaint")),1)]),_:1}),b(c,{key:"send2extras"},{default:S(()=>[k(p(o.$t("sendToExtraFeatures")),1)]),_:1}),b(m,{key:"sendToThirdPartyExtension",title:o.$t("sendToThirdPartyExtension")},{default:S(()=>[b(c,{key:"send2controlnet-txt2img"},{default:S(()=>[k("ControlNet - "+p(o.$t("t2i")),1)]),_:1}),b(c,{key:"send2controlnet-img2img"},{default:S(()=>[k("ControlNet - "+p(o.$t("i2i")),1)]),_:1}),b(c,{key:"send2outpaint"},{default:S(()=>[k("openOutpaint")]),_:1})]),_:1},8,["title"])],64)):A("",!0),b(c,{key:"send2BatchDownload"},{default:S(()=>[k(p(o.$t("sendToBatchDownload")),1)]),_:1}),b(m,{key:"copy2target",title:o.$t("copyTo")},{default:S(()=>[(a(!0),f(V,null,J(F(t).quickMovePaths,P=>(a(),R(c,{key:`copy-to-${P.dir}`},{default:S(()=>[k(p(P.zh),1)]),_:2},1024))),128))]),_:1},8,["title"]),b(m,{key:"move2target",title:o.$t("moveTo")},{default:S(()=>[(a(!0),f(V,null,J(F(t).quickMovePaths,P=>(a(),R(c,{key:`move-to-${P.dir}`},{default:S(()=>[k(p(P.zh),1)]),_:2},1024))),128))]),_:1},8,["title"]),b(g),o.isSelectedMutilFiles?(a(),f(V,{key:1},[b(m,{key:"batch-add-tag",title:o.$t("batchAddTag")},{default:S(()=>[b(c,{key:"add-custom-tag"},{default:S(()=>[k("+ "+p(o.$t("addNewCustomTag")),1)]),_:1}),(a(!0),f(V,null,J(r.value,P=>(a(),R(c,{key:`batch-add-tag-${P.id}`},{default:S(()=>[k(p(P.name),1)]),_:2},1024))),128))]),_:1},8,["title"]),b(m,{key:"batch-remove-tag",title:o.$t("batchRemoveTag")},{default:S(()=>[(a(!0),f(V,null,J(r.value,P=>(a(),R(c,{key:`batch-remove-tag-${P.id}`},{default:S(()=>[k(p(P.name),1)]),_:2},1024))),128))]),_:1},8,["title"])],64)):(a(),R(m,{key:"toggle-tag",title:o.$t("toggleTag")},{default:S(()=>[b(c,{key:"add-custom-tag"},{default:S(()=>[k("+ "+p(o.$t("addNewCustomTag")),1)]),_:1}),(a(!0),f(V,null,J(r.value,P=>(a(),R(c,{key:`toggle-tag-${P.id}`},{default:S(()=>[k(p(P.name)+" ",1),P.selected?(a(),R(F(rt),{key:0})):(a(),R(F(ot),{key:1}))]),_:2},1024))),128))]),_:1},8,["title"])),b(g),b(c,{key:"openFileLocationInNewTab"},{default:S(()=>[k(p(o.$t("openFileLocationInNewTab")),1)]),_:1}),b(c,{key:"openWithLocalFileBrowser"},{default:S(()=>[k(p(o.$t("openWithLocalFileBrowser")),1)]),_:1})],64)):A("",!0),b(g),b(c,{key:"rename"},{default:S(()=>[k(p(o.$t("rename")),1)]),_:1}),b(c,{key:"previewInNewWindow"},{default:S(()=>[k(p(o.$t("previewInNewWindow")),1)]),_:1}),b(c,{key:"download"},{default:S(()=>[k(p(o.$t("download")),1)]),_:1}),b(c,{key:"copyPreviewUrl"},{default:S(()=>[k(p(o.$t("copySourceFilePreviewLink")),1)]),_:1}),b(c,{key:"copyFilePath"},{default:S(()=>[k(p(o.$t("copyFilePath")),1)]),_:1})],64)):A("",!0)]}),_:1})}}}),z=i=>(Ze("data-v-78cd67a3"),i=i(),Xe(),i),gi={class:"changeIndicatorWrapper"},pi={key:0,class:"changeIndicatorsLeft changeIndicators"},vi={key:0,class:"promptChangeIndicator changeIndicator"},mi={key:1,class:"negpromptChangeIndicator changeIndicator"},yi={key:2,class:"seedChangeIndicator changeIndicator"},bi={key:3,class:"stepsChangeIndicator changeIndicator"},Ai={key:4,class:"cfgChangeIndicator changeIndicator"},Si={key:5,class:"sizeChangeIndicator changeIndicator"},ki={key:6,class:"modelChangeIndicator changeIndicator"},_i={key:7,class:"samplerChangeIndicator changeIndicator"},Ii={key:8,class:"otherChangeIndicator changeIndicator"},Ci={class:"hoverOverlay"},wi=z(()=>u("strong",null,"This file",-1)),Ti=z(()=>u("br",null,null,-1)),Ei=z(()=>u("br",null,null,-1)),Pi={key:0},Oi=z(()=>u("td",null,[u("span",{class:"promptChangeIndicator"},"+ Prompt")],-1)),Di={key:1},Ni=z(()=>u("td",null,[u("span",{class:"negpromptChangeIndicator"},"- Prompt")],-1)),zi={key:2},Qi=z(()=>u("td",null,[u("span",{class:"seedChangeIndicator"},"Seed")],-1)),Mi={key:3},$i=z(()=>u("td",null,[u("span",{class:"stepsChangeIndicator"},"Steps")],-1)),Bi={key:4},Fi=z(()=>u("td",null,[u("span",{class:"cfgChangeIndicator"},"Cfg Scale")],-1)),Ri={key:5},Li=z(()=>u("td",null,[u("span",{class:"sizeChangeIndicator"},"Size")],-1)),ji={key:6},Vi=z(()=>u("td",null,[u("span",{class:"modelChangeIndicator"},"Model")],-1)),xi=z(()=>u("br",null,null,-1)),Hi={key:7},Ui=z(()=>u("td",null,[u("span",{class:"samplerChangeIndicator"},"Sampler")],-1)),Ji=z(()=>u("br",null,null,-1)),Wi=z(()=>u("br",null,null,-1)),Ki={key:0},qi=z(()=>u("span",{class:"otherChangeIndicator"},"Other",-1)),Gi=z(()=>u("br",null,null,-1)),Yi=z(()=>u("br",null,null,-1)),Zi={key:1,class:"changeIndicatorsRight changeIndicators"},Xi={key:0,class:"promptChangeIndicator changeIndicator"},es={key:1,class:"negpromptChangeIndicator changeIndicator"},ts={key:2,class:"seedChangeIndicator changeIndicator"},ns={key:3,class:"stepsChangeIndicator changeIndicator"},is={key:4,class:"cfgChangeIndicator changeIndicator"},ss={key:5,class:"sizeChangeIndicator changeIndicator"},rs={key:6,class:"modelChangeIndicator changeIndicator"},os={key:7,class:"samplerChangeIndicator changeIndicator"},ls={key:8,class:"otherChangeIndicator changeIndicator"},as={class:"hoverOverlay"},us=z(()=>u("strong",null,"This file",-1)),ds=z(()=>u("br",null,null,-1)),cs=z(()=>u("br",null,null,-1)),fs={key:0},hs=z(()=>u("td",null,[u("span",{class:"promptChangeIndicator"},"+ Prompt")],-1)),gs={key:1},ps=z(()=>u("td",null,[u("span",{class:"negpromptChangeIndicator"},"- Prompt")],-1)),vs={key:2},ms=z(()=>u("td",null,[u("span",{class:"seedChangeIndicator"},"Seed")],-1)),ys={key:3},bs=z(()=>u("td",null,[u("span",{class:"stepsChangeIndicator"},"Steps")],-1)),As={key:4},Ss=z(()=>u("td",null,[u("span",{class:"cfgChangeIndicator"},"Cfg Scale")],-1)),ks={key:5},_s=z(()=>u("td",null,[u("span",{class:"sizeChangeIndicator"},"Size")],-1)),Is={key:6},Cs=z(()=>u("td",null,[u("span",{class:"modelChangeIndicator"},"Model")],-1)),ws=z(()=>u("br",null,null,-1)),Ts={key:7},Es=z(()=>u("td",null,[u("span",{class:"samplerChangeIndicator"},"Sampler")],-1)),Ps=z(()=>u("br",null,null,-1)),Os=z(()=>u("br",null,null,-1)),Ds={key:0},Ns=z(()=>u("span",{class:"otherChangeIndicator"},"Other",-1)),zs=z(()=>u("br",null,null,-1)),Qs=z(()=>u("br",null,null,-1)),Ms=Z({__name:"ChangeIndicator",props:{genDiffToPrevious:{},genDiffToNext:{},genInfo:{}},setup(i){function n(t){const r=["prompt","negativePrompt","seed","steps","cfgScale","size","Model","others"],o=Object.keys(t).filter(h=>!r.includes(h));return Object.fromEntries(o.map(h=>[h,t[h]]))}function e(t){return Object.keys(n(t)).length>0}return(t,r)=>(a(),f("div",gi,[t.genDiffToPrevious.empty?A("",!0):(a(),f("div",pi,["prompt"in t.genDiffToPrevious.diff?(a(),f("div",vi,"P+")):A("",!0),"negativePrompt"in t.genDiffToPrevious.diff?(a(),f("div",mi,"P-")):A("",!0),"seed"in t.genDiffToPrevious.diff?(a(),f("div",yi,"Se")):A("",!0),"steps"in t.genDiffToPrevious.diff?(a(),f("div",bi,"St")):A("",!0),"cfgScale"in t.genDiffToPrevious.diff?(a(),f("div",Ai,"Cf")):A("",!0),"size"in t.genDiffToPrevious.diff?(a(),f("div",Si,"Si")):A("",!0),"Model"in t.genDiffToPrevious.diff?(a(),f("div",ki,"Mo")):A("",!0),"Sampler"in t.genDiffToPrevious.diff?(a(),f("div",_i,"Sa")):A("",!0),e(t.genDiffToPrevious.diff)?(a(),f("div",Ii,"Ot")):A("",!0)])),u("div",Ci,[u("small",null,[b(F(Le)),wi,k(" vs "+p(t.genDiffToPrevious.otherFile)+" ",1),Ti,Ei,u("table",null,["prompt"in t.genDiffToPrevious.diff?(a(),f("tr",Pi,[Oi,u("td",null,p(t.genDiffToPrevious.diff.prompt)+" tokens changed",1)])):A("",!0),"negativePrompt"in t.genDiffToPrevious.diff?(a(),f("tr",Di,[Ni,u("td",null,p(t.genDiffToPrevious.diff.negativePrompt)+" tokens changed",1)])):A("",!0),"seed"in t.genDiffToPrevious.diff?(a(),f("tr",zi,[Qi,u("td",null,[u("strong",null,p(t.genDiffToPrevious.diff.seed[0]),1),k(" vs "+p(t.genDiffToPrevious.diff.seed[1]),1)])])):A("",!0),"steps"in t.genDiffToPrevious.diff?(a(),f("tr",Mi,[$i,u("td",null,[u("strong",null,p(t.genDiffToPrevious.diff.steps[0]),1),k(" vs "+p(t.genDiffToPrevious.diff.steps[1]),1)])])):A("",!0),"cfgScale"in t.genDiffToPrevious.diff?(a(),f("tr",Bi,[Fi,u("td",null,[u("strong",null,p(t.genDiffToPrevious.diff.cfgScale[0]),1),k(" vs "+p(t.genDiffToPrevious.diff.cfgScale[1]),1)])])):A("",!0),"size"in t.genDiffToPrevious.diff?(a(),f("tr",Ri,[Li,u("td",null,[u("strong",null,p(t.genDiffToPrevious.diff.size[0]),1),k(" vs "+p(t.genDiffToPrevious.diff.size[1]),1)])])):A("",!0),"Model"in t.genDiffToPrevious.diff?(a(),f("tr",ji,[Vi,u("td",null,[u("strong",null,p(t.genDiffToPrevious.diff.Model[0]),1),xi,k(" vs "+p(t.genDiffToPrevious.diff.Model[1]),1)])])):A("",!0),"Sampler"in t.genDiffToPrevious.diff?(a(),f("tr",Hi,[Ui,u("td",null,[u("strong",null,p(t.genDiffToPrevious.diff.Sampler[0]),1),Ji,k(" vs "+p(t.genDiffToPrevious.diff.Sampler[1]),1)])])):A("",!0)]),Wi,e(t.genDiffToPrevious.diff)?(a(),f("div",Ki,[qi,k(" props that changed:"),Gi,Yi,u("ul",null,[(a(!0),f(V,null,J(n(t.genDiffToPrevious.diff),(o,h)=>(a(),f("li",null,p(h),1))),256))])])):A("",!0)])]),t.genDiffToNext.empty?A("",!0):(a(),f("div",Zi,["prompt"in t.genDiffToNext.diff?(a(),f("div",Xi,"P+")):A("",!0),"negativePrompt"in t.genDiffToNext.diff?(a(),f("div",es,"P-")):A("",!0),"seed"in t.genDiffToNext.diff?(a(),f("div",ts,"Se")):A("",!0),"steps"in t.genDiffToNext.diff?(a(),f("div",ns,"St")):A("",!0),"cfgScale"in t.genDiffToNext.diff?(a(),f("div",is,"Cf")):A("",!0),"size"in t.genDiffToNext.diff?(a(),f("div",ss,"Si")):A("",!0),"Model"in t.genDiffToNext.diff?(a(),f("div",rs,"Mo")):A("",!0),"Sampler"in t.genDiffToNext.diff?(a(),f("div",os,"Sa")):A("",!0),e(t.genDiffToNext.diff)?(a(),f("div",ls,"Ot")):A("",!0)])),u("div",as,[u("small",null,[b(F(Le)),us,k(" vs "+p(t.genDiffToNext.otherFile)+" ",1),ds,cs,u("table",null,["prompt"in t.genDiffToNext.diff?(a(),f("tr",fs,[hs,u("td",null,p(t.genDiffToNext.diff.prompt)+" tokens changed",1)])):A("",!0),"negativePrompt"in t.genDiffToNext.diff?(a(),f("tr",gs,[ps,u("td",null,p(t.genDiffToNext.diff.negativePrompt)+" tokens changed",1)])):A("",!0),"seed"in t.genDiffToNext.diff?(a(),f("tr",vs,[ms,u("td",null,[u("strong",null,p(t.genDiffToNext.diff.seed[0]),1),k(" vs "+p(t.genDiffToNext.diff.seed[1]),1)])])):A("",!0),"steps"in t.genDiffToNext.diff?(a(),f("tr",ys,[bs,u("td",null,[u("strong",null,p(t.genDiffToNext.diff.steps[0]),1),k(" vs "+p(t.genDiffToNext.diff.steps[1]),1)])])):A("",!0),"cfgScale"in t.genDiffToNext.diff?(a(),f("tr",As,[Ss,u("td",null,[u("strong",null,p(t.genDiffToNext.diff.cfgScale[0]),1),k(" vs "+p(t.genDiffToNext.diff.cfgScale[1]),1)])])):A("",!0),"size"in t.genDiffToNext.diff?(a(),f("tr",ks,[_s,u("td",null,[u("strong",null,p(t.genDiffToNext.diff.size[0]),1),k(" vs "+p(t.genDiffToNext.diff.size[1]),1)])])):A("",!0),"Model"in t.genDiffToNext.diff?(a(),f("tr",Is,[Cs,u("td",null,[u("strong",null,p(t.genDiffToNext.diff.Model[0]),1),ws,k(" vs "+p(t.genDiffToNext.diff.Model[1]),1)])])):A("",!0),"Sampler"in t.genDiffToNext.diff?(a(),f("tr",Ts,[Es,u("td",null,[u("strong",null,p(t.genDiffToNext.diff.Sampler[0]),1),Ps,k(" vs "+p(t.genDiffToNext.diff.Sampler[1]),1)])])):A("",!0)]),Os,e(t.genDiffToNext.diff)?(a(),f("div",Ds,[Ns,k(" props that changed:"),zs,Qs,u("ul",null,[(a(!0),f(V,null,J(n(t.genDiffToNext.diff),(o,h)=>(a(),f("li",null,p(h),1))),256))])])):A("",!0)])])]))}});const $s=st(Ms,[["__scopeId","data-v-78cd67a3"]]),Bs=["data-idx"],Fs={key:1,class:"more"},Rs={class:"float-btn-wrap"},Ls={key:1,class:"tags-container"},js=["url"],Vs={class:"play-icon"},xs=["src"],Hs={key:0,class:"tags-container"},Us={key:4,class:"preview-icon-wrap"},Js={key:1,class:"dir-cover-container"},Ws=["src"],Ks={key:5,class:"profile"},qs=["title"],Gs={class:"basic-info"},Ys={style:{"margin-right":"4px"}},he=160,Zs=Z({__name:"FileItem",props:{file:{},idx:{},selected:{type:Boolean,default:!1},showMenuIdx:{},cellWidth:{},fullScreenPreviewImageUrl:{},enableRightClickMenu:{type:Boolean,default:!0},enableCloseIcon:{type:Boolean,default:!1},isSelectedMutilFiles:{type:Boolean},genInfo:{},enableChangeIndicator:{type:Boolean},extraTags:{},coverFiles:{},getGenDiff:{},getGenDiffWatchDep:{}},emits:["update:showMenuIdx","fileItemClick","dragstart","dragend","previewVisibleChange","contextMenuClick","close-icon-click","tiktokView"],setup(i,{emit:n}){const e=i;Kt(s=>({"4e1457c0":s.$props.cellWidth+"px"}));const t=_e(),r=Ge(),o=j(),h=j(),c=pe(()=>{const{getGenDiff:s,file:d,idx:w}=e;s&&(h.value=s(d.gen_info_obj,w,1,d),o.value=s(d.gen_info_obj,w,-1,d))},200+100*Math.random());re(()=>{var s;return(s=e.getGenDiffWatchDep)==null?void 0:s.call(e,e.idx)},()=>{c()},{immediate:!0,deep:!0});const g=x(()=>r.tagMap.get(e.file.fullpath)??[]),m=x(()=>{const s=t.gridThumbnailResolution;return t.enableThumbnail?Qe(e.file,[s,s].join("x")):qt(e.file)}),E=x(()=>{var s;return(((s=t.conf)==null?void 0:s.all_custom_tags)??[]).reduce((d,w)=>[...d,{...w,selected:!!g.value.find(O=>O.id===w.id)}],[])}),C=x(()=>E.value.find(s=>s.type==="custom"&&s.name==="like")),P=()=>{ge(C.value),n("contextMenuClick",{key:`toggle-tag-${C.value.id}`},e.file,e.idx)},Q=s=>{t.magicSwitchTiktokView&&e.file.type==="file"&&Me(e.file.name)?(n("tiktokView",e.file,e.idx),setTimeout(()=>{tn()},500)):n("fileItemClick",s,e.file,e.idx)},l=()=>{t.magicSwitchTiktokView?n("tiktokView",e.file,e.idx):nn(e.file,s=>n("contextMenuClick",{key:`toggle-tag-${s}`},e.file,e.idx),()=>n("tiktokView",e.file,e.idx))};return(s,d)=>{const w=G,O=nt,M=it,v=sn,I=cn;return a(),R(w,{trigger:["contextmenu"],visible:F(t).longPressOpenContextMenu?typeof s.idx=="number"&&s.showMenuIdx===s.idx:void 0,"onUpdate:visible":d[7]||(d[7]=T=>typeof s.idx=="number"&&n("update:showMenuIdx",T?s.idx:-1))},{overlay:S(()=>[s.enableRightClickMenu?(a(),R(Ue,{key:0,file:s.file,idx:s.idx,"selected-tag":g.value,onContextMenuClick:d[6]||(d[6]=(T,y,N)=>n("contextMenuClick",T,y,N)),"is-selected-mutil-files":s.isSelectedMutilFiles},null,8,["file","idx","selected-tag","is-selected-mutil-files"])):A("",!0)]),default:S(()=>{var T;return[(a(),f("li",{class:K(["file file-item-trigger grid",{clickable:s.file.type==="dir",selected:s.selected}]),"data-idx":s.idx,key:s.file.name,draggable:"true",onDragstart:d[3]||(d[3]=y=>n("dragstart",y,s.idx)),onDragend:d[4]||(d[4]=y=>n("dragend",y,s.idx)),onClickCapture:d[5]||(d[5]=y=>Q(y))},[u("div",null,[s.enableCloseIcon?(a(),f("div",{key:0,class:"close-icon",onClick:d[0]||(d[0]=y=>n("close-icon-click"))},[b(F(Gt))])):A("",!0),s.enableRightClickMenu?(a(),f("div",Fs,[b(w,null,{overlay:S(()=>[b(Ue,{file:s.file,idx:s.idx,"selected-tag":g.value,onContextMenuClick:d[1]||(d[1]=(y,N,B)=>n("contextMenuClick",y,N,B)),"is-selected-mutil-files":s.isSelectedMutilFiles},null,8,["file","idx","selected-tag","is-selected-mutil-files"])]),default:S(()=>[u("div",Rs,[b(F(Yt))])]),_:1}),s.file.type==="file"?(a(),R(w,{key:0},{overlay:S(()=>[E.value.length>1?(a(),R(M,{key:0,onClick:d[2]||(d[2]=y=>n("contextMenuClick",y,s.file,s.idx))},{default:S(()=>[(a(!0),f(V,null,J(E.value,y=>(a(),R(O,{key:`toggle-tag-${y.id}`},{default:S(()=>[k(p(y.name)+" ",1),y.selected?(a(),R(F(rt),{key:0})):(a(),R(F(ot),{key:1}))]),_:2},1024))),128))]),_:1})):A("",!0)]),default:S(()=>{var y,N;return[u("div",{class:K(["float-btn-wrap",{"like-selected":(y=C.value)==null?void 0:y.selected}]),onClick:P},[(N=C.value)!=null&&N.selected?(a(),R(F(Zt),{key:0})):(a(),R(F(Xt),{key:1}))],2)]}),_:1})):A("",!0)])):A("",!0),F(Me)(s.file.name)?(a(),f("div",{key:s.file.fullpath,class:K(`idx-${s.idx} item-content`)},[s.enableChangeIndicator&&h.value&&o.value?(a(),R($s,{key:0,"gen-diff-to-next":h.value,"gen-diff-to-previous":o.value},null,8,["gen-diff-to-next","gen-diff-to-previous"])):A("",!0),b(v,{src:m.value,fallback:F(On),preview:{src:s.fullScreenPreviewImageUrl,onVisibleChange:(y,N)=>n("previewVisibleChange",y,N)}},null,8,["src","fallback","preview"]),g.value&&s.cellWidth>he?(a(),f("div",Ls,[(a(!0),f(V,null,J(s.extraTags??g.value,y=>(a(),R(I,{key:y.id,color:F(r).getColor(y)},{default:S(()=>[k(p(y.name),1)]),_:2},1032,["color"]))),128))])):A("",!0)],2)):F(en)(s.file.name)?(a(),f("div",{key:3,class:K(`idx-${s.idx} item-content video`),url:F(ce)(s.file),style:tt({"background-image":`url('${s.file.cover_url??F(ce)(s.file)}')`}),onClick:l},[u("div",Vs,[u("img",{src:F(Fn),style:{width:"40px",height:"40px"}},null,8,xs)]),g.value&&s.cellWidth>he?(a(),f("div",Hs,[(a(!0),f(V,null,J(g.value,y=>(a(),R(I,{key:y.id,color:F(r).getColor(y)},{default:S(()=>[k(p(y.name),1)]),_:2},1032,["color"]))),128))])):A("",!0)],14,js)):(a(),f("div",Us,[s.file.type==="file"?(a(),R(F(yn),{key:0,class:"icon center"})):(T=s.coverFiles)!=null&&T.length&&s.cellWidth>160?(a(),f("div",Js,[(a(!0),f(V,null,J(s.coverFiles,y=>(a(),f("img",{class:"dir-cover-item",src:y.media_type==="image"?F(Qe)(y):F(ce)(y),key:y.fullpath},null,8,Ws))),128))])):(a(),R(F(kn),{key:2,class:"icon center"}))])),s.cellWidth>he?(a(),f("div",Ks,[u("div",{class:"name line-clamp-1",title:s.file.name},p(s.file.name),9,qs),u("div",Gs,[u("div",Ys,p(s.file.type)+" "+p(s.file.size),1),u("div",null,p(s.file.date),1)])])):A("",!0)])],42,Bs))]}),_:1},8,["visible"])}}});const pr=st(Zs,[["__scopeId","data-v-df1fd2e5"]]);export{pr as F,rr as N,Ue as _,or as a,gr as b,hr as c,ft as d,fr as e,Rn as f,q as g,ur as h,cr as i,ar as j,dr as k,Pn as r,lr as s,jn as t,le as u};
diff --git a/vue/dist/assets/FileItem-ac7fa711.css b/vue/dist/assets/FileItem-b7a87ac9.css
similarity index 79%
rename from vue/dist/assets/FileItem-ac7fa711.css
rename to vue/dist/assets/FileItem-b7a87ac9.css
index c40eb9e..b1a78bc 100644
--- a/vue/dist/assets/FileItem-ac7fa711.css
+++ b/vue/dist/assets/FileItem-b7a87ac9.css
@@ -1 +1 @@
-.vue-recycle-scroller{position:relative}.vue-recycle-scroller.direction-vertical:not(.page-mode){overflow-y:auto}.vue-recycle-scroller.direction-horizontal:not(.page-mode){overflow-x:auto}.vue-recycle-scroller.direction-horizontal{display:flex}.vue-recycle-scroller__slot{flex:auto 0 0}.vue-recycle-scroller__item-wrapper{flex:1;box-sizing:border-box;overflow:hidden;position:relative}.vue-recycle-scroller.ready .vue-recycle-scroller__item-view{position:absolute;top:0;left:0;will-change:transform}.vue-recycle-scroller.direction-vertical .vue-recycle-scroller__item-wrapper{width:100%}.vue-recycle-scroller.direction-horizontal .vue-recycle-scroller__item-wrapper{height:100%}.vue-recycle-scroller.ready.direction-vertical .vue-recycle-scroller__item-view{width:100%}.vue-recycle-scroller.ready.direction-horizontal .vue-recycle-scroller__item-view{height:100%}.resize-observer[data-v-b329ee4c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-b329ee4c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.ant-tag{box-sizing:border-box;margin:0 8px 0 0;color:#000000d9;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:"tnum";display:inline-block;height:auto;padding:0 7px;font-size:12px;line-height:20px;white-space:nowrap;background:#fafafa;border:1px solid #d9d9d9;border-radius:2px;opacity:1;transition:all .3s}.ant-tag,.ant-tag a,.ant-tag a:hover{color:#000000d9}.ant-tag>a:first-child:last-child{display:inline-block;margin:0 -8px;padding:0 8px}.ant-tag-close-icon{margin-left:3px;color:#00000073;font-size:10px;cursor:pointer;transition:all .3s}.ant-tag-close-icon:hover{color:#000000d9}.ant-tag-has-color{border-color:transparent}.ant-tag-has-color,.ant-tag-has-color a,.ant-tag-has-color a:hover,.ant-tag-has-color .anticon-close,.ant-tag-has-color .anticon-close:hover{color:#fff}.ant-tag-checkable{background-color:transparent;border-color:transparent;cursor:pointer}.ant-tag-checkable:not(.ant-tag-checkable-checked):hover{color:#d03f0a}.ant-tag-checkable:active,.ant-tag-checkable-checked{color:#fff}.ant-tag-checkable-checked{background-color:#d03f0a}.ant-tag-checkable:active{background-color:#ab2800}.ant-tag-hidden{display:none}.ant-tag-pink{color:#c41d7f;background:#fff0f6;border-color:#ffadd2}.ant-tag-pink-inverse{color:#fff;background:#eb2f96;border-color:#eb2f96}.ant-tag-magenta{color:#c41d7f;background:#fff0f6;border-color:#ffadd2}.ant-tag-magenta-inverse{color:#fff;background:#eb2f96;border-color:#eb2f96}.ant-tag-red{color:#cf1322;background:#fff1f0;border-color:#ffa39e}.ant-tag-red-inverse{color:#fff;background:#f5222d;border-color:#f5222d}.ant-tag-volcano{color:#d4380d;background:#fff2e8;border-color:#ffbb96}.ant-tag-volcano-inverse{color:#fff;background:#fa541c;border-color:#fa541c}.ant-tag-orange{color:#d46b08;background:#fff7e6;border-color:#ffd591}.ant-tag-orange-inverse{color:#fff;background:#fa8c16;border-color:#fa8c16}.ant-tag-yellow{color:#d4b106;background:#feffe6;border-color:#fffb8f}.ant-tag-yellow-inverse{color:#fff;background:#fadb14;border-color:#fadb14}.ant-tag-gold{color:#d48806;background:#fffbe6;border-color:#ffe58f}.ant-tag-gold-inverse{color:#fff;background:#faad14;border-color:#faad14}.ant-tag-cyan{color:#08979c;background:#e6fffb;border-color:#87e8de}.ant-tag-cyan-inverse{color:#fff;background:#13c2c2;border-color:#13c2c2}.ant-tag-lime{color:#7cb305;background:#fcffe6;border-color:#eaff8f}.ant-tag-lime-inverse{color:#fff;background:#a0d911;border-color:#a0d911}.ant-tag-green{color:#389e0d;background:#f6ffed;border-color:#b7eb8f}.ant-tag-green-inverse{color:#fff;background:#52c41a;border-color:#52c41a}.ant-tag-blue{color:#096dd9;background:#e6f7ff;border-color:#91d5ff}.ant-tag-blue-inverse{color:#fff;background:#1890ff;border-color:#1890ff}.ant-tag-geekblue{color:#1d39c4;background:#f0f5ff;border-color:#adc6ff}.ant-tag-geekblue-inverse{color:#fff;background:#2f54eb;border-color:#2f54eb}.ant-tag-purple{color:#531dab;background:#f9f0ff;border-color:#d3adf7}.ant-tag-purple-inverse{color:#fff;background:#722ed1;border-color:#722ed1}.ant-tag-success{color:#52c41a;background:#f6ffed;border-color:#b7eb8f}.ant-tag-processing{color:#d03f0a;background:#fff1e6;border-color:#f7ae83}.ant-tag-error{color:#ff4d4f;background:#fff2f0;border-color:#ffccc7}.ant-tag-warning{color:#faad14;background:#fffbe6;border-color:#ffe58f}.ant-tag>.anticon+span,.ant-tag>span+.anticon{margin-left:7px}.ant-tag.ant-tag-rtl{margin-right:0;margin-left:8px;direction:rtl;text-align:right}.ant-tag-rtl .ant-tag-close-icon{margin-right:3px;margin-left:0}.ant-tag-rtl.ant-tag>.anticon+span,.ant-tag-rtl.ant-tag>span+.anticon{margin-right:7px;margin-left:0}.changeIndicators[data-v-78cd67a3]{position:absolute;display:flex;flex-direction:column;height:100%;align-items:center;justify-content:center;opacity:.6}.changeIndicatorsRight[data-v-78cd67a3]{position:absolute;right:0}.changeIndicator[data-v-78cd67a3]{margin-left:-4px;width:16px;height:16px;border-radius:2px;border:1px solid rgba(255,255,255,.2);background-color:gray;line-height:16px;margin-bottom:2px;text-align:center;font-size:6pt;font-weight:600;color:#000;z-index:9999;pointer-events:auto;box-shadow:0 0 4px #00000080}.changeIndicatorsRight .changeIndicator[data-v-78cd67a3]{margin-right:-4px;border-top-right-radius:8px;border-bottom-right-radius:8px;text-align:left;padding-left:2px}.changeIndicatorsLeft .changeIndicator[data-v-78cd67a3]{border-top-left-radius:8px;border-bottom-left-radius:8px;text-align:right;padding-right:2px}.changeIndicatorWrapper[data-v-78cd67a3]{top:0;position:absolute;user-select:none;width:100%;height:100%;z-index:999999;pointer-events:none}.hoverOverlay[data-v-78cd67a3]{display:none;background-color:#000c;color:#fff;border:1px solid gray;padding:10px 20px;border-radius:5px;z-index:100;opacity:1;font-size:8pt;line-height:1.2;overflow:hidden}.hoverOverlay ul[data-v-78cd67a3]{list-style:none;padding:0}.hoverOverlay ul li[data-v-78cd67a3]{display:inline-block;padding-left:4px;padding-right:4px;border:1px solid gray;border-radius:2px;margin:1px;font-weight:200}.changeIndicators[data-v-78cd67a3]:hover{opacity:1}.changeIndicators:hover+div.hoverOverlay[data-v-78cd67a3]{display:block;position:absolute;top:0;left:0;width:100%;height:100%}table tr td:first-child span[data-v-78cd67a3]{padding:1px 3px;display:inline-block;width:100%}table tr td[data-v-78cd67a3]:first-child{padding-right:10px;vertical-align:top}.otherChangeIndicator[data-v-78cd67a3]{background-color:#8b5b8e;color:#efefef}.stepsChangeIndicator[data-v-78cd67a3]{background-color:#577ab8;color:#efefef}.seedChangeIndicator[data-v-78cd67a3]{background-color:#649da3;color:#121}.negpromptChangeIndicator[data-v-78cd67a3]{background-color:#d8a390;color:#2f2f2f}.modelChangeIndicator[data-v-78cd67a3]{background-color:#d68679;color:#efefef}.promptChangeIndicator[data-v-78cd67a3]{background-color:#8fba99;color:#121}.cfgChangeIndicator[data-v-78cd67a3]{background-color:#d4c98f;color:#121}.sizeChangeIndicator[data-v-78cd67a3]{background-color:#678a6c;color:#efefef}.center[data-v-efdfc9d7]{display:flex;justify-content:center;align-items:center}.item-content[data-v-efdfc9d7]{position:relative}.item-content.video[data-v-efdfc9d7]{background-color:var(--zp-border);border-radius:8px;overflow:hidden;width:var(--703c27e9);height:var(--703c27e9);background-size:cover;background-position:center;cursor:pointer}.item-content .play-icon[data-v-efdfc9d7]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:100%;display:flex}.item-content .tags-container[data-v-efdfc9d7]{position:absolute;right:8px;bottom:8px;display:flex;width:calc(100% - 16px);flex-wrap:wrap-reverse;flex-direction:row-reverse}.item-content .tags-container>*[data-v-efdfc9d7]{margin:0 0 4px 4px;font-size:14px;line-height:1.6}.close-icon[data-v-efdfc9d7]{position:absolute;top:0;right:0;transform:translate(50%,-50%) scale(1.5);cursor:pointer;z-index:100;border-radius:100%;overflow:hidden;line-height:1;background-color:var(--zp-primary-background)}.file[data-v-efdfc9d7]{padding:8px 16px;margin:8px;display:flex;align-items:center;background:var(--zp-primary-background);border-radius:8px;box-shadow:0 0 4px var(--zp-secondary-variant-background);position:relative}.file:hover .more[data-v-efdfc9d7]{opacity:1}.file .more[data-v-efdfc9d7]{opacity:0;transition:all .3s ease;position:absolute;top:4px;right:4px;z-index:100;display:flex;align-items:center;justify-content:center;flex-direction:column;line-height:1em}.file .more .float-btn-wrap[data-v-efdfc9d7]{font-size:1.5em;cursor:pointer;font-size:500;padding:4px;border-radius:100vh;color:#fff;background:var(--zp-icon-bg);margin-bottom:4px}.file .more .float-btn-wrap.like-selected[data-v-efdfc9d7]{color:#df0505}.file.grid[data-v-efdfc9d7]{padding:0;display:inline-block;box-sizing:content-box;box-shadow:unset;background-color:var(--zp-secondary-background)}.file.grid[data-v-efdfc9d7] .icon{font-size:8em}.file.grid[data-v-efdfc9d7] .profile{padding:0 4px}.file.grid[data-v-efdfc9d7] .profile .name{font-weight:500;padding:0}.file.grid[data-v-efdfc9d7] .profile .basic-info{display:flex;justify-content:space-between;flex-direction:row;margin:0;font-size:.7em}.file.grid[data-v-efdfc9d7] .profile .basic-info *{white-space:nowrap;overflow:hidden}.file.grid[data-v-efdfc9d7] .ant-image,.file.grid[data-v-efdfc9d7] .preview-icon-wrap{border:1px solid var(--zp-secondary);background-color:var(--zp-secondary-variant-background);border-radius:8px;overflow:hidden}.file.grid[data-v-efdfc9d7] img:not(.dir-cover-item),.file.grid[data-v-efdfc9d7] .dir-cover-container,.file.grid[data-v-efdfc9d7] .preview-icon-wrap>[role=img]{height:var(--703c27e9);width:var(--703c27e9);object-fit:contain}.file.clickable[data-v-efdfc9d7]{cursor:pointer}.file.selected[data-v-efdfc9d7]{outline:#0084ff solid 2px}.file .name[data-v-efdfc9d7]{flex:1;padding:8px;word-break:break-all}.file .basic-info[data-v-efdfc9d7]{overflow:hidden;display:flex;flex-direction:column;align-items:flex-end}.file .dir-cover-container[data-v-efdfc9d7]{top:0;display:flex;flex-wrap:wrap;padding:4px}.file .dir-cover-container>img[data-v-efdfc9d7]{width:calc(50% - 8px);height:calc(50% - 8px);margin:4px;object-fit:cover;border-radius:8px;overflow:hidden}
+.vue-recycle-scroller{position:relative}.vue-recycle-scroller.direction-vertical:not(.page-mode){overflow-y:auto}.vue-recycle-scroller.direction-horizontal:not(.page-mode){overflow-x:auto}.vue-recycle-scroller.direction-horizontal{display:flex}.vue-recycle-scroller__slot{flex:auto 0 0}.vue-recycle-scroller__item-wrapper{flex:1;box-sizing:border-box;overflow:hidden;position:relative}.vue-recycle-scroller.ready .vue-recycle-scroller__item-view{position:absolute;top:0;left:0;will-change:transform}.vue-recycle-scroller.direction-vertical .vue-recycle-scroller__item-wrapper{width:100%}.vue-recycle-scroller.direction-horizontal .vue-recycle-scroller__item-wrapper{height:100%}.vue-recycle-scroller.ready.direction-vertical .vue-recycle-scroller__item-view{width:100%}.vue-recycle-scroller.ready.direction-horizontal .vue-recycle-scroller__item-view{height:100%}.resize-observer[data-v-b329ee4c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-b329ee4c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.ant-tag{box-sizing:border-box;margin:0 8px 0 0;color:#000000d9;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:"tnum";display:inline-block;height:auto;padding:0 7px;font-size:12px;line-height:20px;white-space:nowrap;background:#fafafa;border:1px solid #d9d9d9;border-radius:2px;opacity:1;transition:all .3s}.ant-tag,.ant-tag a,.ant-tag a:hover{color:#000000d9}.ant-tag>a:first-child:last-child{display:inline-block;margin:0 -8px;padding:0 8px}.ant-tag-close-icon{margin-left:3px;color:#00000073;font-size:10px;cursor:pointer;transition:all .3s}.ant-tag-close-icon:hover{color:#000000d9}.ant-tag-has-color{border-color:transparent}.ant-tag-has-color,.ant-tag-has-color a,.ant-tag-has-color a:hover,.ant-tag-has-color .anticon-close,.ant-tag-has-color .anticon-close:hover{color:#fff}.ant-tag-checkable{background-color:transparent;border-color:transparent;cursor:pointer}.ant-tag-checkable:not(.ant-tag-checkable-checked):hover{color:#d03f0a}.ant-tag-checkable:active,.ant-tag-checkable-checked{color:#fff}.ant-tag-checkable-checked{background-color:#d03f0a}.ant-tag-checkable:active{background-color:#ab2800}.ant-tag-hidden{display:none}.ant-tag-pink{color:#c41d7f;background:#fff0f6;border-color:#ffadd2}.ant-tag-pink-inverse{color:#fff;background:#eb2f96;border-color:#eb2f96}.ant-tag-magenta{color:#c41d7f;background:#fff0f6;border-color:#ffadd2}.ant-tag-magenta-inverse{color:#fff;background:#eb2f96;border-color:#eb2f96}.ant-tag-red{color:#cf1322;background:#fff1f0;border-color:#ffa39e}.ant-tag-red-inverse{color:#fff;background:#f5222d;border-color:#f5222d}.ant-tag-volcano{color:#d4380d;background:#fff2e8;border-color:#ffbb96}.ant-tag-volcano-inverse{color:#fff;background:#fa541c;border-color:#fa541c}.ant-tag-orange{color:#d46b08;background:#fff7e6;border-color:#ffd591}.ant-tag-orange-inverse{color:#fff;background:#fa8c16;border-color:#fa8c16}.ant-tag-yellow{color:#d4b106;background:#feffe6;border-color:#fffb8f}.ant-tag-yellow-inverse{color:#fff;background:#fadb14;border-color:#fadb14}.ant-tag-gold{color:#d48806;background:#fffbe6;border-color:#ffe58f}.ant-tag-gold-inverse{color:#fff;background:#faad14;border-color:#faad14}.ant-tag-cyan{color:#08979c;background:#e6fffb;border-color:#87e8de}.ant-tag-cyan-inverse{color:#fff;background:#13c2c2;border-color:#13c2c2}.ant-tag-lime{color:#7cb305;background:#fcffe6;border-color:#eaff8f}.ant-tag-lime-inverse{color:#fff;background:#a0d911;border-color:#a0d911}.ant-tag-green{color:#389e0d;background:#f6ffed;border-color:#b7eb8f}.ant-tag-green-inverse{color:#fff;background:#52c41a;border-color:#52c41a}.ant-tag-blue{color:#096dd9;background:#e6f7ff;border-color:#91d5ff}.ant-tag-blue-inverse{color:#fff;background:#1890ff;border-color:#1890ff}.ant-tag-geekblue{color:#1d39c4;background:#f0f5ff;border-color:#adc6ff}.ant-tag-geekblue-inverse{color:#fff;background:#2f54eb;border-color:#2f54eb}.ant-tag-purple{color:#531dab;background:#f9f0ff;border-color:#d3adf7}.ant-tag-purple-inverse{color:#fff;background:#722ed1;border-color:#722ed1}.ant-tag-success{color:#52c41a;background:#f6ffed;border-color:#b7eb8f}.ant-tag-processing{color:#d03f0a;background:#fff1e6;border-color:#f7ae83}.ant-tag-error{color:#ff4d4f;background:#fff2f0;border-color:#ffccc7}.ant-tag-warning{color:#faad14;background:#fffbe6;border-color:#ffe58f}.ant-tag>.anticon+span,.ant-tag>span+.anticon{margin-left:7px}.ant-tag.ant-tag-rtl{margin-right:0;margin-left:8px;direction:rtl;text-align:right}.ant-tag-rtl .ant-tag-close-icon{margin-right:3px;margin-left:0}.ant-tag-rtl.ant-tag>.anticon+span,.ant-tag-rtl.ant-tag>span+.anticon{margin-right:7px;margin-left:0}.changeIndicators[data-v-78cd67a3]{position:absolute;display:flex;flex-direction:column;height:100%;align-items:center;justify-content:center;opacity:.6}.changeIndicatorsRight[data-v-78cd67a3]{position:absolute;right:0}.changeIndicator[data-v-78cd67a3]{margin-left:-4px;width:16px;height:16px;border-radius:2px;border:1px solid rgba(255,255,255,.2);background-color:gray;line-height:16px;margin-bottom:2px;text-align:center;font-size:6pt;font-weight:600;color:#000;z-index:9999;pointer-events:auto;box-shadow:0 0 4px #00000080}.changeIndicatorsRight .changeIndicator[data-v-78cd67a3]{margin-right:-4px;border-top-right-radius:8px;border-bottom-right-radius:8px;text-align:left;padding-left:2px}.changeIndicatorsLeft .changeIndicator[data-v-78cd67a3]{border-top-left-radius:8px;border-bottom-left-radius:8px;text-align:right;padding-right:2px}.changeIndicatorWrapper[data-v-78cd67a3]{top:0;position:absolute;user-select:none;width:100%;height:100%;z-index:999999;pointer-events:none}.hoverOverlay[data-v-78cd67a3]{display:none;background-color:#000c;color:#fff;border:1px solid gray;padding:10px 20px;border-radius:5px;z-index:100;opacity:1;font-size:8pt;line-height:1.2;overflow:hidden}.hoverOverlay ul[data-v-78cd67a3]{list-style:none;padding:0}.hoverOverlay ul li[data-v-78cd67a3]{display:inline-block;padding-left:4px;padding-right:4px;border:1px solid gray;border-radius:2px;margin:1px;font-weight:200}.changeIndicators[data-v-78cd67a3]:hover{opacity:1}.changeIndicators:hover+div.hoverOverlay[data-v-78cd67a3]{display:block;position:absolute;top:0;left:0;width:100%;height:100%}table tr td:first-child span[data-v-78cd67a3]{padding:1px 3px;display:inline-block;width:100%}table tr td[data-v-78cd67a3]:first-child{padding-right:10px;vertical-align:top}.otherChangeIndicator[data-v-78cd67a3]{background-color:#8b5b8e;color:#efefef}.stepsChangeIndicator[data-v-78cd67a3]{background-color:#577ab8;color:#efefef}.seedChangeIndicator[data-v-78cd67a3]{background-color:#649da3;color:#121}.negpromptChangeIndicator[data-v-78cd67a3]{background-color:#d8a390;color:#2f2f2f}.modelChangeIndicator[data-v-78cd67a3]{background-color:#d68679;color:#efefef}.promptChangeIndicator[data-v-78cd67a3]{background-color:#8fba99;color:#121}.cfgChangeIndicator[data-v-78cd67a3]{background-color:#d4c98f;color:#121}.sizeChangeIndicator[data-v-78cd67a3]{background-color:#678a6c;color:#efefef}.center[data-v-df1fd2e5]{display:flex;justify-content:center;align-items:center}.item-content[data-v-df1fd2e5]{position:relative}.item-content.video[data-v-df1fd2e5]{background-color:var(--zp-border);border-radius:8px;overflow:hidden;width:var(--4e1457c0);height:var(--4e1457c0);background-size:cover;background-position:center;cursor:pointer}.item-content .play-icon[data-v-df1fd2e5]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:100%;display:flex}.item-content .tags-container[data-v-df1fd2e5]{position:absolute;right:8px;bottom:8px;display:flex;width:calc(100% - 16px);flex-wrap:wrap-reverse;flex-direction:row-reverse}.item-content .tags-container>*[data-v-df1fd2e5]{margin:0 0 4px 4px;font-size:14px;line-height:1.6}.close-icon[data-v-df1fd2e5]{position:absolute;top:0;right:0;transform:translate(50%,-50%) scale(1.5);cursor:pointer;z-index:100;border-radius:100%;overflow:hidden;line-height:1;background-color:var(--zp-primary-background)}.file[data-v-df1fd2e5]{padding:8px 16px;margin:8px;display:flex;align-items:center;background:var(--zp-primary-background);border-radius:8px;box-shadow:0 0 4px var(--zp-secondary-variant-background);position:relative}.file:hover .more[data-v-df1fd2e5]{opacity:1}.file .more[data-v-df1fd2e5]{opacity:0;transition:all .3s ease;position:absolute;top:4px;right:4px;z-index:100;display:flex;align-items:center;justify-content:center;flex-direction:column;line-height:1em}.file .more .float-btn-wrap[data-v-df1fd2e5]{font-size:1.5em;cursor:pointer;font-size:500;padding:4px;border-radius:100vh;color:#fff;background:var(--zp-icon-bg);margin-bottom:4px}.file .more .float-btn-wrap.like-selected[data-v-df1fd2e5]{color:#df0505}.file.grid[data-v-df1fd2e5]{padding:0;display:inline-block;box-sizing:content-box;box-shadow:unset;background-color:var(--zp-secondary-background)}.file.grid[data-v-df1fd2e5] .icon{font-size:8em}.file.grid[data-v-df1fd2e5] .profile{padding:0 4px}.file.grid[data-v-df1fd2e5] .profile .name{font-weight:500;padding:0}.file.grid[data-v-df1fd2e5] .profile .basic-info{display:flex;justify-content:space-between;flex-direction:row;margin:0;font-size:.7em}.file.grid[data-v-df1fd2e5] .profile .basic-info *{white-space:nowrap;overflow:hidden}.file.grid[data-v-df1fd2e5] .ant-image,.file.grid[data-v-df1fd2e5] .preview-icon-wrap{border:1px solid var(--zp-secondary);background-color:var(--zp-secondary-variant-background);border-radius:8px;overflow:hidden}.file.grid[data-v-df1fd2e5] img:not(.dir-cover-item),.file.grid[data-v-df1fd2e5] .dir-cover-container,.file.grid[data-v-df1fd2e5] .preview-icon-wrap>[role=img]{height:var(--4e1457c0);width:var(--4e1457c0);object-fit:contain}.file.clickable[data-v-df1fd2e5]{cursor:pointer}.file.selected[data-v-df1fd2e5]{outline:#0084ff solid 2px}.file .name[data-v-df1fd2e5]{flex:1;padding:8px;word-break:break-all}.file .basic-info[data-v-df1fd2e5]{overflow:hidden;display:flex;flex-direction:column;align-items:flex-end}.file .dir-cover-container[data-v-df1fd2e5]{top:0;display:flex;flex-wrap:wrap;padding:4px}.file .dir-cover-container>img[data-v-df1fd2e5]{width:calc(50% - 8px);height:calc(50% - 8px);margin:4px;object-fit:cover;border-radius:8px;overflow:hidden}
diff --git a/vue/dist/assets/ImgSliPagePane-932457f9.js b/vue/dist/assets/ImgSliPagePane-7efe56e0.js
similarity index 82%
rename from vue/dist/assets/ImgSliPagePane-932457f9.js
rename to vue/dist/assets/ImgSliPagePane-7efe56e0.js
index 866bb89..3f83f47 100644
--- a/vue/dist/assets/ImgSliPagePane-932457f9.js
+++ b/vue/dist/assets/ImgSliPagePane-7efe56e0.js
@@ -1 +1 @@
-import{d as a,U as t,V as s,c as n,cB as _,a0 as o}from"./index-66b6399d.js";const c={class:"img-sli-container"},i=a({__name:"ImgSliPagePane",props:{paneIdx:{},tabIdx:{},left:{},right:{}},setup(l){return(e,r)=>(t(),s("div",c,[n(_,{left:e.left,right:e.right},null,8,["left","right"])]))}});const d=o(i,[["__scopeId","data-v-ae3fb9a8"]]);export{d as default};
+import{d as a,U as t,V as s,c as n,cB as _,a0 as o}from"./index-411a6464.js";const c={class:"img-sli-container"},i=a({__name:"ImgSliPagePane",props:{paneIdx:{},tabIdx:{},left:{},right:{}},setup(l){return(e,r)=>(t(),s("div",c,[n(_,{left:e.left,right:e.right},null,8,["left","right"])]))}});const d=o(i,[["__scopeId","data-v-ae3fb9a8"]]);export{d as default};
diff --git a/vue/dist/assets/MatchedImageGrid-1a872eb8.js b/vue/dist/assets/MatchedImageGrid-40dcf6b3.js
similarity index 88%
rename from vue/dist/assets/MatchedImageGrid-1a872eb8.js
rename to vue/dist/assets/MatchedImageGrid-40dcf6b3.js
index 4797674..20f0881 100644
--- a/vue/dist/assets/MatchedImageGrid-1a872eb8.js
+++ b/vue/dist/assets/MatchedImageGrid-40dcf6b3.js
@@ -1 +1 @@
-import{d as me,m as R,az as ge,a1 as fe,U as p,V as I,c as i,a4 as e,a3 as n,a6 as z,W as d,L as ke,Y as o,X as u,a2 as G,af as ve,aS as he,$ as w,ag as B,ai as Ie,T as we,ak as U,aP as Ce,aQ as _e,bD as Se,a0 as be}from"./index-66b6399d.js";import{S as xe}from"./index-55c8df5e.js";import{o as L,L as ye,R as Me,f as Ae,M as Te}from"./MultiSelectKeep-c3d6d976.js";import{c as Ve,d as $e,F as De}from"./FileItem-09b081e1.js";import{c as Fe,u as Re}from"./hook-d6f7315e.js";import"./shortcut-8ba6dd67.js";import"./Checkbox-c079cc59.js";/* empty css */import"./numInput.vue_vue_type_style_index_0_scoped_55978858_lang-f1eb3728.js";import"./index-056afc6a.js";import"./index-66d21078.js";import"./_isIterateeCall-c55d2ac4.js";import"./useGenInfoDiff-46e61a5d.js";const ze=c=>(Ce("data-v-067770c7"),c=c(),_e(),c),Ge={class:"hint"},Be={class:"action-bar"},Ue=ze(()=>d("div",{style:{padding:"16px 0 512px"}},null,-1)),Le={key:1},Ne={class:"no-res-hint"},Pe={class:"hint"},Ee={key:2,class:"preview-switch"},Je=me({__name:"MatchedImageGrid",props:{tabIdx:{},paneIdx:{},selectedTagIds:{},id:{}},setup(c){const g=c,f=Fe(t=>Se(g.selectedTagIds,t)),{queue:N,images:s,onContextMenuClickU:C,stackViewEl:P,previewIdx:r,previewing:_,onPreviewVisibleChange:E,previewImgMove:S,canPreview:b,itemSize:x,gridItems:J,showGenInfo:m,imageGenInfo:y,q:W,multiSelectedIdxs:k,onFileItemClick:K,scroller:M,showMenuIdx:v,onFileDragStart:O,onFileDragEnd:q,cellWidth:Q,onScroll:A,saveAllFileAsJson:X,props:Y,saveLoadedFileAsJson:j,changeIndchecked:H,seedChangeChecked:Z,getGenDiff:ee,getGenDiffWatchDep:te}=Re(f);R(()=>g.selectedTagIds,async()=>{var t;await f.reset(),await ge(),(t=M.value)==null||t.scrollToItem(0),A()},{immediate:!0}),R(()=>g,async t=>{Y.value=t},{deep:!0,immediate:!0});const le=fe(),{onClearAllSelected:se,onSelectAll:ie,onReverseSelect:ne}=Ve(),ae=()=>{s.value.length!==0&&L(s.value,0)};return(t,l)=>{const oe=Te,de=Ie,ce=we,h=U,re=U,pe=xe;return p(),I("div",{class:"container",ref_key:"stackViewEl",ref:P},[i(oe,{show:!!e(k).length||e(le).keepMultiSelect,onClearAllSelected:e(se),onSelectAll:e(ie),onReverseSelect:e(ne)},null,8,["show","onClearAllSelected","onSelectAll","onReverseSelect"]),i(pe,{size:"large",spinning:!e(N).isIdle},{default:n(()=>{var T,V,$;return[i(ce,{visible:e(m),"onUpdate:visible":l[1]||(l[1]=a=>z(m)?m.value=a:null),width:"70vw","mask-closable":"",onOk:l[2]||(l[2]=a=>m.value=!1)},{cancelText:n(()=>[]),default:n(()=>[i(de,{active:"",loading:!e(W).isIdle},{default:n(()=>[d("div",{style:{width:"100%","word-break":"break-all","white-space":"pre-line","max-height":"70vh",overflow:"auto"},onDblclick:l[0]||(l[0]=a=>e(ke)(e(y)))},[d("div",Ge,o(t.$t("doubleClickToCopy")),1),u(" "+o(e(y)),1)],32)]),_:1},8,["loading"])]),_:1},8,["visible"]),d("div",Be,[i(h,{onClick:ae,type:"primary",disabled:!((T=e(s))!=null&&T.length)},{default:n(()=>[u(o(t.$t("tiktokView")),1)]),_:1},8,["disabled"]),i(h,{onClick:e(j)},{default:n(()=>[u(o(t.$t("saveLoadedImageAsJson")),1)]),_:1},8,["onClick"]),i(h,{onClick:e(X)},{default:n(()=>[u(o(t.$t("saveAllAsJson")),1)]),_:1},8,["onClick"])]),(V=e(s))!=null&&V.length?(p(),G(e($e),{key:0,ref_key:"scroller",ref:M,class:"file-list",items:e(s),"item-size":e(x).first,"key-field":"fullpath","item-secondary-size":e(x).second,gridItems:e(J),onScroll:e(A)},{after:n(()=>[Ue]),default:n(({item:a,index:D})=>[i(De,{idx:D,file:a,"cell-width":e(Q),"show-menu-idx":e(v),"onUpdate:showMenuIdx":l[3]||(l[3]=F=>z(v)?v.value=F:null),onDragstart:e(O),onDragend:e(q),onFileItemClick:e(K),onTiktokView:(F,ue)=>e(L)(e(s),ue),"full-screen-preview-image-url":e(s)[e(r)]?e(ve)(e(s)[e(r)]):"",selected:e(k).includes(D),onContextMenuClick:e(C),onPreviewVisibleChange:e(E),"is-selected-mutil-files":e(k).length>1,"enable-change-indicator":e(H),"seed-change-checked":e(Z),"get-gen-diff":e(ee),"get-gen-diff-watch-dep":e(te)},null,8,["idx","file","cell-width","show-menu-idx","onDragstart","onDragend","onFileItemClick","onTiktokView","full-screen-preview-image-url","selected","onContextMenuClick","onPreviewVisibleChange","is-selected-mutil-files","enable-change-indicator","seed-change-checked","get-gen-diff","get-gen-diff-watch-dep"])]),_:1},8,["items","item-size","item-secondary-size","gridItems","onScroll"])):e(f).load&&t.selectedTagIds.and_tags.length===1&&!(($=t.selectedTagIds.folder_paths_str)!=null&&$.trim())?(p(),I("div",Le,[d("div",Ne,[d("p",Pe,o(t.$t("tagSearchNoResultsMessage")),1),i(re,{onClick:l[4]||(l[4]=a=>e(he)()),type:"primary"},{default:n(()=>[u(o(t.$t("rebuildImageIndex")),1)]),_:1})])])):w("",!0),e(_)?(p(),I("div",Ee,[i(e(ye),{onClick:l[5]||(l[5]=a=>e(S)("prev")),class:B({disable:!e(b)("prev")})},null,8,["class"]),i(e(Me),{onClick:l[6]||(l[6]=a=>e(S)("next")),class:B({disable:!e(b)("next")})},null,8,["class"])])):w("",!0)]}),_:1},8,["spinning"]),e(_)&&e(s)&&e(s)[e(r)]?(p(),G(Ae,{key:0,file:e(s)[e(r)],idx:e(r),onContextMenuClick:e(C)},null,8,["file","idx","onContextMenuClick"])):w("",!0)],512)}}});const st=be(Je,[["__scopeId","data-v-067770c7"]]);export{st as default};
+import{d as me,m as R,az as ge,a1 as fe,U as p,V as I,c as i,a4 as e,a3 as n,a6 as z,W as d,L as ke,Y as o,X as u,a2 as G,af as ve,aS as he,$ as w,ag as B,ai as Ie,T as we,ak as U,aP as Ce,aQ as _e,bD as Se,a0 as be}from"./index-411a6464.js";import{S as xe}from"./index-1b4dc101.js";import{o as L,L as ye,R as Me,f as Ae,M as Te}from"./MultiSelectKeep-4f3a6585.js";import{c as Ve,d as $e,F as De}from"./FileItem-8a2b9b92.js";import{c as Fe,u as Re}from"./hook-c09ba199.js";import"./shortcut-0b043df4.js";import"./Checkbox-93a79203.js";/* empty css */import"./numInput.vue_vue_type_style_index_0_scoped_55978858_lang-a6102596.js";import"./index-9122e675.js";import"./index-c61f4123.js";import"./_isIterateeCall-bb47e76e.js";import"./useGenInfoDiff-cad0d1cb.js";const ze=c=>(Ce("data-v-067770c7"),c=c(),_e(),c),Ge={class:"hint"},Be={class:"action-bar"},Ue=ze(()=>d("div",{style:{padding:"16px 0 512px"}},null,-1)),Le={key:1},Ne={class:"no-res-hint"},Pe={class:"hint"},Ee={key:2,class:"preview-switch"},Je=me({__name:"MatchedImageGrid",props:{tabIdx:{},paneIdx:{},selectedTagIds:{},id:{}},setup(c){const g=c,f=Fe(t=>Se(g.selectedTagIds,t)),{queue:N,images:s,onContextMenuClickU:C,stackViewEl:P,previewIdx:r,previewing:_,onPreviewVisibleChange:E,previewImgMove:S,canPreview:b,itemSize:x,gridItems:J,showGenInfo:m,imageGenInfo:y,q:W,multiSelectedIdxs:k,onFileItemClick:K,scroller:M,showMenuIdx:v,onFileDragStart:O,onFileDragEnd:q,cellWidth:Q,onScroll:A,saveAllFileAsJson:X,props:Y,saveLoadedFileAsJson:j,changeIndchecked:H,seedChangeChecked:Z,getGenDiff:ee,getGenDiffWatchDep:te}=Re(f);R(()=>g.selectedTagIds,async()=>{var t;await f.reset(),await ge(),(t=M.value)==null||t.scrollToItem(0),A()},{immediate:!0}),R(()=>g,async t=>{Y.value=t},{deep:!0,immediate:!0});const le=fe(),{onClearAllSelected:se,onSelectAll:ie,onReverseSelect:ne}=Ve(),ae=()=>{s.value.length!==0&&L(s.value,0)};return(t,l)=>{const oe=Te,de=Ie,ce=we,h=U,re=U,pe=xe;return p(),I("div",{class:"container",ref_key:"stackViewEl",ref:P},[i(oe,{show:!!e(k).length||e(le).keepMultiSelect,onClearAllSelected:e(se),onSelectAll:e(ie),onReverseSelect:e(ne)},null,8,["show","onClearAllSelected","onSelectAll","onReverseSelect"]),i(pe,{size:"large",spinning:!e(N).isIdle},{default:n(()=>{var T,V,$;return[i(ce,{visible:e(m),"onUpdate:visible":l[1]||(l[1]=a=>z(m)?m.value=a:null),width:"70vw","mask-closable":"",onOk:l[2]||(l[2]=a=>m.value=!1)},{cancelText:n(()=>[]),default:n(()=>[i(de,{active:"",loading:!e(W).isIdle},{default:n(()=>[d("div",{style:{width:"100%","word-break":"break-all","white-space":"pre-line","max-height":"70vh",overflow:"auto"},onDblclick:l[0]||(l[0]=a=>e(ke)(e(y)))},[d("div",Ge,o(t.$t("doubleClickToCopy")),1),u(" "+o(e(y)),1)],32)]),_:1},8,["loading"])]),_:1},8,["visible"]),d("div",Be,[i(h,{onClick:ae,type:"primary",disabled:!((T=e(s))!=null&&T.length)},{default:n(()=>[u(o(t.$t("tiktokView")),1)]),_:1},8,["disabled"]),i(h,{onClick:e(j)},{default:n(()=>[u(o(t.$t("saveLoadedImageAsJson")),1)]),_:1},8,["onClick"]),i(h,{onClick:e(X)},{default:n(()=>[u(o(t.$t("saveAllAsJson")),1)]),_:1},8,["onClick"])]),(V=e(s))!=null&&V.length?(p(),G(e($e),{key:0,ref_key:"scroller",ref:M,class:"file-list",items:e(s),"item-size":e(x).first,"key-field":"fullpath","item-secondary-size":e(x).second,gridItems:e(J),onScroll:e(A)},{after:n(()=>[Ue]),default:n(({item:a,index:D})=>[i(De,{idx:D,file:a,"cell-width":e(Q),"show-menu-idx":e(v),"onUpdate:showMenuIdx":l[3]||(l[3]=F=>z(v)?v.value=F:null),onDragstart:e(O),onDragend:e(q),onFileItemClick:e(K),onTiktokView:(F,ue)=>e(L)(e(s),ue),"full-screen-preview-image-url":e(s)[e(r)]?e(ve)(e(s)[e(r)]):"",selected:e(k).includes(D),onContextMenuClick:e(C),onPreviewVisibleChange:e(E),"is-selected-mutil-files":e(k).length>1,"enable-change-indicator":e(H),"seed-change-checked":e(Z),"get-gen-diff":e(ee),"get-gen-diff-watch-dep":e(te)},null,8,["idx","file","cell-width","show-menu-idx","onDragstart","onDragend","onFileItemClick","onTiktokView","full-screen-preview-image-url","selected","onContextMenuClick","onPreviewVisibleChange","is-selected-mutil-files","enable-change-indicator","seed-change-checked","get-gen-diff","get-gen-diff-watch-dep"])]),_:1},8,["items","item-size","item-secondary-size","gridItems","onScroll"])):e(f).load&&t.selectedTagIds.and_tags.length===1&&!(($=t.selectedTagIds.folder_paths_str)!=null&&$.trim())?(p(),I("div",Le,[d("div",Ne,[d("p",Pe,o(t.$t("tagSearchNoResultsMessage")),1),i(re,{onClick:l[4]||(l[4]=a=>e(he)()),type:"primary"},{default:n(()=>[u(o(t.$t("rebuildImageIndex")),1)]),_:1})])])):w("",!0),e(_)?(p(),I("div",Ee,[i(e(ye),{onClick:l[5]||(l[5]=a=>e(S)("prev")),class:B({disable:!e(b)("prev")})},null,8,["class"]),i(e(Me),{onClick:l[6]||(l[6]=a=>e(S)("next")),class:B({disable:!e(b)("next")})},null,8,["class"])])):w("",!0)]}),_:1},8,["spinning"]),e(_)&&e(s)&&e(s)[e(r)]?(p(),G(Ae,{key:0,file:e(s)[e(r)],idx:e(r),onContextMenuClick:e(C)},null,8,["file","idx","onContextMenuClick"])):w("",!0)],512)}}});const st=be(Je,[["__scopeId","data-v-067770c7"]]);export{st as default};
diff --git a/vue/dist/assets/MultiSelectKeep-c3d6d976.js b/vue/dist/assets/MultiSelectKeep-4f3a6585.js
similarity index 99%
rename from vue/dist/assets/MultiSelectKeep-c3d6d976.js
rename to vue/dist/assets/MultiSelectKeep-4f3a6585.js
index 632a93a..a2b0850 100644
--- a/vue/dist/assets/MultiSelectKeep-c3d6d976.js
+++ b/vue/dist/assets/MultiSelectKeep-4f3a6585.js
@@ -1,5 +1,5 @@
-import{bj as kt,c as u,A as fe,cK as ke,cq as R,z as oe,B as F,m as he,y as je,cL as lt,cD as Pt,ca as He,T as ye,cM as _t,ak as pe,cz as At,cN as bt,cO as We,cP as It,cQ as Ot,cR as jt,af as re,r as le,Q as Ue,cS as zt,H as it,cT as Wt,cU as qe,cV as Ut,X as x,ae as qt,cW as Ve,R as _e,N as Vt,cX as Nt,cY as Bt,L as de,cZ as Xt,c_ as Ht,cp as Jt,c$ as Yt,d0 as Zt,d1 as Gt,t as st,d2 as Kt,o as xt,az as Qt,a1 as Je,J as we,K as Ne,am as Rt,G as Q,d3 as en,n as xe,d4 as tn,d as Ct,d5 as nn,c7 as an,cs as ut,aR as on,U as $,V as _,a4 as r,$ as B,W as b,a2 as ae,d6 as ln,d7 as sn,a3 as k,d8 as rt,Z as K,Y as y,a8 as ue,a5 as ct,a7 as Se,ag as Te,a6 as be,d9 as Fe,al as un,da as rn,db as cn,M as dn,aN as gn,dc as pn,dd as hn,aP as vn,aQ as fn,a0 as Mt}from"./index-66b6399d.js";import{u as Ce,e as Be,g as J,h as dt,i as ce,r as mn,t as De,j as $n,s as gt,k as Oe,_ as yn}from"./FileItem-09b081e1.js";import{C as wn,g as kn}from"./shortcut-8ba6dd67.js";/* empty css */import{a as _n}from"./numInput.vue_vue_type_style_index_0_scoped_55978858_lang-f1eb3728.js";import{_ as bn}from"./index-056afc6a.js";import{D as On}from"./index-66d21078.js";const ve=(...e)=>{document.addEventListener(...e),kt(()=>document.removeEventListener(...e))};var zn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M464 144H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm-52 268H212V212h200v200zm452-268H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm-52 268H612V212h200v200zM464 544H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16zm-52 268H212V612h200v200zm452-268H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16zm-52 268H612V612h200v200z"}}]},name:"appstore",theme:"outlined"};const xn=zn;function pt(e){for(var t=1;t{var h;i.value=C,D!=null&&!C&&g&&((h=w.value)==null||h.scrollToItem(D),D=null)},W=()=>{if(!P("next")){if(e!=null&&e.loadNext)return e.loadNext();O.value.mode==="walk"&&a.value&&(oe.info(F("loadingNextFolder")),n.value.emit("loadNextDir",!0))}};ve("keydown",C=>{var g;if(i.value){let h=t.value;if(["ArrowDown","ArrowRight"].includes(C.key))for(h++;s.value[h]&&!R(s.value[h].name);)h++;else if(["ArrowUp","ArrowLeft"].includes(C.key))for(h--;s.value[h]&&!R(s.value[h].name);)h--;if(R((g=s.value[h])==null?void 0:g.name)??""){t.value=h;const M=w.value;M&&!(h>=M.$_startIndex&&h<=M.$_endIndex)&&(D=h)}W()}});const S=C=>{var h;let g=t.value;if(C==="next")for(g++;s.value[g]&&!R(s.value[g].name);)g++;else if(C==="prev")for(g--;s.value[g]&&!R(s.value[g].name);)g--;if(R((h=s.value[g])==null?void 0:h.name)??""){t.value=g;const M=w.value;M&&!(g>=M.$_startIndex&&g<=M.$_endIndex)&&(D=g)}W()},P=C=>{var h;let g=t.value;if(C==="next")for(g++;s.value[g]&&!R(s.value[g].name);)g++;else if(C==="prev")for(g--;s.value[g]&&!R(s.value[g].name);)g--;return R((h=s.value[g])==null?void 0:h.name)};return Be("removeFiles",async()=>{i.value&&!L.sortedFiles[t.value]&&ke()}),{previewIdx:t,onPreviewVisibleChange:V,previewing:i,previewImgMove:S,canPreview:P}}function Pe(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!At(e)}function io(){const{currLocation:e,sortedFiles:t,currPage:n,multiSelectedIdxs:a,eventEmitter:i,walker:s}=Ce().toRefs(),w=()=>{a.value=[]};return ve("click",()=>{J.keepMultiSelect||w()}),ve("blur",()=>{J.keepMultiSelect||w()}),he(n,w),{onFileDragStart:(V,W)=>{const S=je(t.value[W]);dt.fileDragging=!0,console.log("onFileDragStart set drag file ",V,W,S);const P=[S];let C=S.type==="dir";if(a.value.includes(W)){const h=a.value.map(M=>t.value[M]);P.push(...h),C=h.some(M=>M.type==="dir")}const g={includeDir:C,loc:e.value||"search-result",path:lt(P,"fullpath").map(h=>h.fullpath),nodes:lt(P,"fullpath"),__id:"FileTransferData"};V.dataTransfer.setData("text/plain",JSON.stringify(g))},onDrop:async V=>{if(s.value)return;const W=Pt(V);if(!W)return;const S=e.value;if(W.loc===S)return;const P=He(),C=async()=>P.pushAction(async()=>{await bt(W.path,S),i.value.emit("refresh"),ye.destroyAll()}),g=()=>P.pushAction(async()=>{await We(W.path,S),ce.emit("removeFiles",{paths:W.path,loc:W.loc}),i.value.emit("refresh"),ye.destroyAll()});ye.confirm({title:F("confirm")+"?",width:"60vw",content:()=>{let h,M,A;return u("div",null,[u("div",null,[`${F("moveSelectedFilesTo")} ${S}`,u("ol",{style:{maxHeight:"50vh",overflow:"auto"}},[W.path.map(E=>u("li",null,[E.split(/[/\\]/).pop()]))])]),u(_t,null,null),u("div",{style:{display:"flex",alignItems:"center",justifyContent:"flex-end"},class:"actions"},[u(pe,{onClick:ye.destroyAll},Pe(h=F("cancel"))?h:{default:()=>[h]}),u(pe,{type:"primary",loading:!P.isIdle,onClick:C},Pe(M=F("copy"))?M:{default:()=>[M]}),u(pe,{type:"primary",loading:!P.isIdle,onClick:g},Pe(A=F("move"))?A:{default:()=>[A]})])])},maskClosable:!0,wrapClassName:"hidden-antd-btns-modal"})},multiSelectedIdxs:a,onFileDragEnd:()=>{dt.fileDragging=!1}}}const Yn=e=>{const t=Ot(e.name);return{id:e.fullpath,url:t?jt(e):re(e),type:t?"video":"image",originalFile:e,name:e.name,fullpath:e.fullpath}},Zn=e=>e.filter(t=>t.type==="file"&&(R(t.name)||Ot(t.name))).map(Yn),Gn=(e,t=0)=>{t=Math.min(t,e.length-1),t=Math.max(t,0);const n=It(),a=Zn(e);if(a.length===0){console.warn("没有找到可以显示的媒体文件");return}let i=0;if(tw.id===s.fullpath),i===-1&&(i=0)}n.openTiktokView(a,i)};function so({openNext:e}){const t=le(!1),n=le(""),{sortedFiles:a,previewIdx:i,multiSelectedIdxs:s,stack:w,currLocation:O,spinning:L,previewing:D,stackViewEl:V,eventEmitter:W,props:S,deletedFiles:P}=Ce().toRefs(),C=it;Be("removeFiles",({paths:E,loc:o})=>{C(o)!==C(O.value)||!Ue(w.value)||(E.forEach(p=>P.value.add(p)),E.filter(R).forEach(p=>P.value.add(p.replace(/\.\w+$/,".txt"))))}),Be("addFiles",({files:E,loc:o})=>{if(C(o)!==C(O.value))return;const m=Ue(w.value);m&&m.files.unshift(...E)});const g=He(),h=async(E,o,m)=>{i.value=m,J.fullscreenPreviewInitialUrl=re(o);const p=s.value.indexOf(m);if(E.shiftKey){if(p!==-1)s.value.splice(p,1);else{s.value.push(m),s.value.sort((j,Y)=>j-Y);const N=s.value[0],X=s.value[s.value.length-1];s.value=mn(N,X+1)}E.stopPropagation()}else E.ctrlKey||E.metaKey?(p!==-1?s.value.splice(p,1):s.value.push(m),E.stopPropagation()):await e(o)},M=async(E,o,m)=>{var ie,ee,$e;const p=re(o),N=O.value,X={IIB_container_id:parent.IIB_container_id},j=()=>{let d=[];return s.value.includes(m)?d=s.value.map(f=>a.value[f]):d.push(o),d},Y=async d=>{if(!L.value)try{L.value=!0,await Yt(o.fullpath),Oe.postMessage({...X,event:"click_hidden_button",btnEleId:"iib_hidden_img_update_trigger"}),await Zt(),Oe.postMessage({...X,event:"click_hidden_button",btnEleId:`iib_hidden_tab_${d}`})}catch(f){console.error(f),oe.error("发送图像失败,请携带console的错误消息找开发者")}finally{L.value=!1}},Z=`${E.key}`;if(Z.startsWith("toggle-tag-")){const d=+Z.split("toggle-tag-")[1],{is_remove:f}=await Wt({tag_id:d,img_path:o.fullpath}),U=(ee=(ie=J.conf)==null?void 0:ie.all_custom_tags.find(T=>T.id===d))==null?void 0:ee.name;await De.refreshTags([o.fullpath]),oe.success(F(f?"removedTagFromImage":"addedTagToImage",{tag:U}));return}else if(Z==="add-custom-tag")qe();else if(Z.startsWith("batch-add-tag-")||Z.startsWith("batch-remove-tag-")){const d=+Z.split("-tag-")[1],f=Z.includes("add")?"add":"remove",U=j().map(T=>T.fullpath);await Ut({tag_id:d,img_paths:U,action:f}),await De.refreshTags(U),oe.success(F(f==="add"?"addCompleted":"removeCompleted"));return}else if(Z.startsWith("copy-to-")){const d=Z.split("copy-to-")[1],f=j(),U=f.map(T=>T.fullpath);await bt(U,d,!0),ce.emit("addFiles",{files:f,loc:d}),oe.success(F("copySuccess"));return}else if(Z.startsWith("move-to-")){const d=Z.split("move-to-")[1],f=j(),U=f.map(T=>T.fullpath);await We(U,d,!0),ce.emit("removeFiles",{paths:U,loc:O.value}),ce.emit("addFiles",{files:f,loc:d}),oe.success(F("moveSuccess"));return}switch(E.key){case"previewInNewWindow":return window.open(p);case"copyFilePath":return de(o.fullpath);case"saveSelectedAsJson":return Jt(j());case"openWithDefaultApp":return Ht(o.fullpath);case"download":{const d=j();Xt(d.map(f=>re(f,!0)));break}case"copyPreviewUrl":return de(parent.document.location.origin+p);case"rename":{let d=await Bt(o.fullpath);d=it(d);const f=De.tagMap;f.set(d,f.get(o.fullpath)??[]),f.delete(o.fullpath),o.fullpath=d,o.name=d.split(/[\\/]/).pop()??"";return}case"send2txt2img":return Y("txt2img");case"send2img2img":return Y("img2img");case"send2inpaint":return Y("inpaint");case"send2extras":return Y("extras");case"send2savedDir":{const d=J.quickMovePaths.find(T=>T.key==="outdir_save");if(!d)return oe.error(F("unknownSavedDir"));const f=Nt(d.dir,($e=J.conf)==null?void 0:$e.sd_cwd),U=j();await We(U.map(T=>T.fullpath),f,!0),ce.emit("removeFiles",{paths:U.map(T=>T.fullpath),loc:O.value}),ce.emit("addFiles",{files:U,loc:f});break}case"send2controlnet-img2img":case"send2controlnet-txt2img":{const d=E.key.split("-")[1];Oe.postMessage({...X,event:"send_to_control_net",type:d,url:re(o)});break}case"send2outpaint":{n.value=await g.pushAction(()=>Ve(o.fullpath)).res;const[d,f]=(n.value||"").split(`
-`);Oe.postMessage({...X,event:"send_to_outpaint",url:re(o),prompt:d,negPrompt:f.slice(17)});break}case"openWithWalkMode":{gt.set(N,w.value);const d=J.tabList[S.value.tabIdx],f={type:"local",key:_e(),path:o.fullpath,name:F("local"),stackKey:N,mode:"walk"};d.panes.push(f),d.key=f.key;break}case"openFileLocationInNewTab":case"openInNewTab":{const d=J.tabList[S.value.tabIdx],f={type:"local",key:_e(),path:E.key==="openInNewTab"?o.fullpath:Vt(o.fullpath),name:F("local"),mode:"scanned-fixed"};d.panes.push(f),d.key=f.key;break}case"openOnTheRight":{gt.set(N,w.value);let d=J.tabList[S.value.tabIdx+1];d||(d={panes:[],key:"",id:_e()},J.tabList[S.value.tabIdx+1]=d);const f={type:"local",key:_e(),path:o.fullpath,name:F("local"),stackKey:N};d.panes.push(f),d.key=f.key;break}case"send2BatchDownload":{$n.addFiles(j());break}case"viewGenInfo":{t.value=!0,n.value=await g.pushAction(()=>Ve(o.fullpath)).res;break}case"tiktokView":{Gn(a.value,m);break}case"openWithLocalFileBrowser":{await qt(o.fullpath);break}case"deleteFiles":{const d=j(),f=async()=>{const U=d.map(T=>T.fullpath);if(await Gt(U),oe.success(F("deleteSuccess")),D.value){const T=re(o)===J.fullscreenPreviewInitialUrl,ge=i.value===a.value.length-1;if((T||ge)&&(ke(),await st(100),T&&a.value.length>1)){const Le=i.value;st(0).then(()=>Kt(Le,V.value))}}ce.emit("removeFiles",{paths:U,loc:O.value})};if(d.length===1&&J.ignoredConfirmActions.deleteOneOnly)return f();await new Promise(U=>{ye.confirm({title:F("confirmDelete"),maskClosable:!0,width:"60vw",content:()=>u("div",null,[u("ol",{style:{maxHeight:"50vh",overflow:"auto"}},[d.map(T=>u("li",null,[T.fullpath.split(/[/\\]/).pop()]))]),u(_t,null,null),u(wn,{checked:J.ignoredConfirmActions.deleteOneOnly,"onUpdate:checked":T=>J.ignoredConfirmActions.deleteOneOnly=T},{default:()=>[F("deleteOneOnlySkipConfirm"),x(" ("),F("resetOnGlobalSettingsPage"),x(")")]})]),async onOk(){await f(),U()}})});break}}return{}},{isOutside:A}=zt(V);return ve("keydown",E=>{var m,p,N;const o=kn(E);if(D.value){o==="Esc"&&ke();const X=(m=Object.entries(J.shortcut).find(j=>j[1]===o&&j[1]))==null?void 0:m[0];if(X){E.stopPropagation(),E.preventDefault();const j=i.value,Y=a.value[j];switch(X){case"delete":return M({key:"deleteFiles"},Y,j);case"download":return M({key:"download"},Y,j);default:{const Z=(p=/^toggle_tag_(.*)$/.exec(X))==null?void 0:p[1],ie=(N=J.conf)==null?void 0:N.all_custom_tags.find(ee=>ee.name===Z);if(ie)return M({key:`toggle-tag-${ie.id}`},Y,j);if(X.startsWith("copy_to_")){const ee=X.split("copy_to_")[1];return M({key:`copy-to-${ee}`},Y,j)}if(X.startsWith("move_to_")){const ee=X.split("move_to_")[1];return M({key:`move-to-${ee}`},Y,j)}}}}}else!A.value&&["Ctrl + KeyA","Cmd + KeyA"].includes(o)&&(E.preventDefault(),E.stopPropagation(),W.value.emit("selectAll"))}),{onFileItemClick:h,onContextMenuClick:M,showGenInfo:t,imageGenInfo:n,q:g}}function Kn(e,t,n,a){let i=0,s=0,w=typeof(a==null?void 0:a.width)=="number"?a.width:0,O=typeof(a==null?void 0:a.height)=="number"?a.height:0,L=typeof(a==null?void 0:a.left)=="number"?a.left:0,D=typeof(a==null?void 0:a.top)=="number"?a.top:0,V=!1;const W=o=>{o.stopPropagation(),o.preventDefault(),!(!e.value||!t.value)&&(i=o instanceof MouseEvent?o.clientX:o.touches[0].clientX,s=o instanceof MouseEvent?o.clientY:o.touches[0].clientY,w=e.value.offsetWidth,O=e.value.offsetHeight,t.value.offsetLeft,t.value.offsetTop,document.documentElement.addEventListener("mousemove",S),document.documentElement.addEventListener("touchmove",S),document.documentElement.addEventListener("mouseup",P),document.documentElement.addEventListener("touchend",P))},S=o=>{if(!e.value||!t.value)return;let m=w+((o instanceof MouseEvent?o.clientX:o.touches[0].clientX)-i),p=O+((o instanceof MouseEvent?o.clientY:o.touches[0].clientY)-s);e.value.offsetLeft+m>window.innerWidth&&(m=window.innerWidth-e.value.offsetLeft),e.value.offsetTop+p>window.innerHeight&&(p=window.innerHeight-e.value.offsetTop),e.value.style.width=`${m}px`,e.value.style.height=`${p}px`,a!=null&&a.onResize&&a.onResize(m,p)},P=()=>{document.documentElement.removeEventListener("mousemove",S),document.documentElement.removeEventListener("touchmove",S),document.documentElement.removeEventListener("mouseup",P),document.documentElement.removeEventListener("touchend",P)},C=o=>{o.stopPropagation(),o.preventDefault(),!(!e.value||!n.value)&&(V=!0,L=e.value.offsetLeft,D=e.value.offsetTop,i=o instanceof MouseEvent?o.clientX:o.touches[0].clientX,s=o instanceof MouseEvent?o.clientY:o.touches[0].clientY,document.documentElement.addEventListener("mousemove",g),document.documentElement.addEventListener("touchmove",g),document.documentElement.addEventListener("mouseup",h),document.documentElement.addEventListener("touchend",h))},g=o=>{if(!e.value||!n.value||!V)return;const m=L+((o instanceof MouseEvent?o.clientX:o.touches[0].clientX)-i),p=D+((o instanceof MouseEvent?o.clientY:o.touches[0].clientY)-s);m<0?e.value.style.left="0px":m+e.value.offsetWidth>window.innerWidth?e.value.style.left=`${window.innerWidth-e.value.offsetWidth}px`:e.value.style.left=`${m}px`,p<0?e.value.style.top="0px":p+e.value.offsetHeight>window.innerHeight?e.value.style.top=`${window.innerHeight-e.value.offsetHeight}px`:e.value.style.top=`${p}px`,a!=null&&a.onDrag&&a.onDrag(m,p)},h=()=>{V=!1,document.documentElement.removeEventListener("mousemove",g),document.documentElement.removeEventListener("touchmove",g),document.documentElement.removeEventListener("mouseup",h),document.documentElement.removeEventListener("touchend",h)},M=()=>{if(!e.value||!t.value)return;let o=e.value.offsetLeft,m=e.value.offsetTop,p=e.value.offsetWidth,N=e.value.offsetHeight;o+p>window.innerWidth&&(o=window.innerWidth-p,o<0&&(o=0,p=window.innerWidth)),m+N>window.innerHeight&&(m=window.innerHeight-N,m<0&&(m=0,N=window.innerHeight)),e.value.style.left=`${o}px`,e.value.style.top=`${m}px`,e.value.style.width=`${p}px`,e.value.style.height=`${N}px`},A=()=>{!e.value||!a||(typeof a.width=="number"&&(e.value.style.width=`${a.width}px`),typeof a.height=="number"&&(e.value.style.height=`${a.height}px`),typeof a.left=="number"&&(e.value.style.left=`${a.left}px`),typeof a.top=="number"&&(e.value.style.top=`${a.top}px`),M(),window.addEventListener("resize",M))},E=()=>{document.documentElement.removeEventListener("mousemove",S),document.documentElement.removeEventListener("touchmove",S),document.documentElement.removeEventListener("mouseup",P),document.documentElement.removeEventListener("touchend",P),document.documentElement.removeEventListener("mousemove",g),document.documentElement.removeEventListener("touchmove",g),document.documentElement.removeEventListener("mouseup",h),document.documentElement.removeEventListener("touchend",h),window.removeEventListener("resize",M)};return xt(A),kt(E),he(()=>a==null?void 0:a.disbaled,async o=>{await Qt(),o!==void 0&&(o?E():A())}),he(()=>[e.value,t.value,n.value],([o,m,p])=>{o&&m&&(m.addEventListener("mousedown",W),m.addEventListener("touchstart",W)),o&&p&&(p.addEventListener("mousedown",C),p.addEventListener("touchstart",C))}),{handleResizeMouseDown:W,handleDragMouseDown:C}}let yt=null;const Qn=()=>{var L,D;const e=Je(),t=we(Ne+"fullscreen_layout",{enable:!1,panelWidth:384,alwaysOn:!0}),n=Rt(yt??((D=(L=e.conf)==null?void 0:L.app_fe_setting)==null?void 0:D.fullscreen_layout)??je(t.value)),a="--iib-lr-layout-info-panel-width",i=Q(()=>n.alwaysOn&&n.enable?n.panelWidth:0);he(n,V=>{t.value=je(V),wt(n,a,i),Rn(n),yt=n},{deep:!0}),xt(()=>wt(n,a,i));const{enable:s,panelWidth:w,alwaysOn:O}=en(n);return{state:n,isLeftRightLayout:s,panelwidtrhStyleVarName:a,lrLayoutInfoPanelWidth:w,lrMenuAlwaysOn:O}},Rn=xe(e=>tn("fullscreen_layout",e),300),wt=xe((e,t,n)=>{e.enable?(document.body.classList.add("fullscreen-lr-layout"),document.documentElement.style.setProperty(t,`${e.panelWidth}px`),document.documentElement.style.setProperty("--iib-lr-layout-container-offset",`${n.value}px`)):(document.documentElement.style.removeProperty(t),document.documentElement.style.removeProperty("--iib-lr-layout-container-offset"),document.body.classList.remove("fullscreen-lr-layout"))},300);/*!
+import{bj as kt,c as u,A as fe,cK as ke,cq as R,z as oe,B as F,m as he,y as je,cL as lt,cD as Pt,ca as He,T as ye,cM as _t,ak as pe,cz as At,cN as bt,cO as We,cP as It,cQ as Ot,cR as jt,af as re,r as le,Q as Ue,cS as zt,H as it,cT as Wt,cU as qe,cV as Ut,X as x,ae as qt,cW as Ve,R as _e,N as Vt,cX as Nt,cY as Bt,L as de,cZ as Xt,c_ as Ht,cp as Jt,c$ as Yt,d0 as Zt,d1 as Gt,t as st,d2 as Kt,o as xt,az as Qt,a1 as Je,J as we,K as Ne,am as Rt,G as Q,d3 as en,n as xe,d4 as tn,d as Ct,d5 as nn,c7 as an,cs as ut,aR as on,U as $,V as _,a4 as r,$ as B,W as b,a2 as ae,d6 as ln,d7 as sn,a3 as k,d8 as rt,Z as K,Y as y,a8 as ue,a5 as ct,a7 as Se,ag as Te,a6 as be,d9 as Fe,al as un,da as rn,db as cn,M as dn,aN as gn,dc as pn,dd as hn,aP as vn,aQ as fn,a0 as Mt}from"./index-411a6464.js";import{u as Ce,e as Be,g as J,h as dt,i as ce,r as mn,t as De,j as $n,s as gt,k as Oe,_ as yn}from"./FileItem-8a2b9b92.js";import{C as wn,g as kn}from"./shortcut-0b043df4.js";/* empty css */import{a as _n}from"./numInput.vue_vue_type_style_index_0_scoped_55978858_lang-a6102596.js";import{_ as bn}from"./index-9122e675.js";import{D as On}from"./index-c61f4123.js";const ve=(...e)=>{document.addEventListener(...e),kt(()=>document.removeEventListener(...e))};var zn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M464 144H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm-52 268H212V212h200v200zm452-268H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm-52 268H612V212h200v200zM464 544H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16zm-52 268H212V612h200v200zm452-268H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16zm-52 268H612V612h200v200z"}}]},name:"appstore",theme:"outlined"};const xn=zn;function pt(e){for(var t=1;t{var h;i.value=C,D!=null&&!C&&g&&((h=w.value)==null||h.scrollToItem(D),D=null)},W=()=>{if(!P("next")){if(e!=null&&e.loadNext)return e.loadNext();O.value.mode==="walk"&&a.value&&(oe.info(F("loadingNextFolder")),n.value.emit("loadNextDir",!0))}};ve("keydown",C=>{var g;if(i.value){let h=t.value;if(["ArrowDown","ArrowRight"].includes(C.key))for(h++;s.value[h]&&!R(s.value[h].name);)h++;else if(["ArrowUp","ArrowLeft"].includes(C.key))for(h--;s.value[h]&&!R(s.value[h].name);)h--;if(R((g=s.value[h])==null?void 0:g.name)??""){t.value=h;const M=w.value;M&&!(h>=M.$_startIndex&&h<=M.$_endIndex)&&(D=h)}W()}});const S=C=>{var h;let g=t.value;if(C==="next")for(g++;s.value[g]&&!R(s.value[g].name);)g++;else if(C==="prev")for(g--;s.value[g]&&!R(s.value[g].name);)g--;if(R((h=s.value[g])==null?void 0:h.name)??""){t.value=g;const M=w.value;M&&!(g>=M.$_startIndex&&g<=M.$_endIndex)&&(D=g)}W()},P=C=>{var h;let g=t.value;if(C==="next")for(g++;s.value[g]&&!R(s.value[g].name);)g++;else if(C==="prev")for(g--;s.value[g]&&!R(s.value[g].name);)g--;return R((h=s.value[g])==null?void 0:h.name)};return Be("removeFiles",async()=>{i.value&&!L.sortedFiles[t.value]&&ke()}),{previewIdx:t,onPreviewVisibleChange:V,previewing:i,previewImgMove:S,canPreview:P}}function Pe(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!At(e)}function io(){const{currLocation:e,sortedFiles:t,currPage:n,multiSelectedIdxs:a,eventEmitter:i,walker:s}=Ce().toRefs(),w=()=>{a.value=[]};return ve("click",()=>{J.keepMultiSelect||w()}),ve("blur",()=>{J.keepMultiSelect||w()}),he(n,w),{onFileDragStart:(V,W)=>{const S=je(t.value[W]);dt.fileDragging=!0,console.log("onFileDragStart set drag file ",V,W,S);const P=[S];let C=S.type==="dir";if(a.value.includes(W)){const h=a.value.map(M=>t.value[M]);P.push(...h),C=h.some(M=>M.type==="dir")}const g={includeDir:C,loc:e.value||"search-result",path:lt(P,"fullpath").map(h=>h.fullpath),nodes:lt(P,"fullpath"),__id:"FileTransferData"};V.dataTransfer.setData("text/plain",JSON.stringify(g))},onDrop:async V=>{if(s.value)return;const W=Pt(V);if(!W)return;const S=e.value;if(W.loc===S)return;const P=He(),C=async()=>P.pushAction(async()=>{await bt(W.path,S),i.value.emit("refresh"),ye.destroyAll()}),g=()=>P.pushAction(async()=>{await We(W.path,S),ce.emit("removeFiles",{paths:W.path,loc:W.loc}),i.value.emit("refresh"),ye.destroyAll()});ye.confirm({title:F("confirm")+"?",width:"60vw",content:()=>{let h,M,A;return u("div",null,[u("div",null,[`${F("moveSelectedFilesTo")} ${S}`,u("ol",{style:{maxHeight:"50vh",overflow:"auto"}},[W.path.map(E=>u("li",null,[E.split(/[/\\]/).pop()]))])]),u(_t,null,null),u("div",{style:{display:"flex",alignItems:"center",justifyContent:"flex-end"},class:"actions"},[u(pe,{onClick:ye.destroyAll},Pe(h=F("cancel"))?h:{default:()=>[h]}),u(pe,{type:"primary",loading:!P.isIdle,onClick:C},Pe(M=F("copy"))?M:{default:()=>[M]}),u(pe,{type:"primary",loading:!P.isIdle,onClick:g},Pe(A=F("move"))?A:{default:()=>[A]})])])},maskClosable:!0,wrapClassName:"hidden-antd-btns-modal"})},multiSelectedIdxs:a,onFileDragEnd:()=>{dt.fileDragging=!1}}}const Yn=e=>{const t=Ot(e.name);return{id:e.fullpath,url:t?jt(e):re(e),type:t?"video":"image",originalFile:e,name:e.name,fullpath:e.fullpath}},Zn=e=>e.filter(t=>t.type==="file"&&(R(t.name)||Ot(t.name))).map(Yn),Gn=(e,t=0)=>{t=Math.min(t,e.length-1),t=Math.max(t,0);const n=It(),a=Zn(e);if(a.length===0){console.warn("没有找到可以显示的媒体文件");return}let i=0;if(tw.id===s.fullpath),i===-1&&(i=0)}n.openTiktokView(a,i)};function so({openNext:e}){const t=le(!1),n=le(""),{sortedFiles:a,previewIdx:i,multiSelectedIdxs:s,stack:w,currLocation:O,spinning:L,previewing:D,stackViewEl:V,eventEmitter:W,props:S,deletedFiles:P}=Ce().toRefs(),C=it;Be("removeFiles",({paths:E,loc:o})=>{C(o)!==C(O.value)||!Ue(w.value)||(E.forEach(p=>P.value.add(p)),E.filter(R).forEach(p=>P.value.add(p.replace(/\.\w+$/,".txt"))))}),Be("addFiles",({files:E,loc:o})=>{if(C(o)!==C(O.value))return;const m=Ue(w.value);m&&m.files.unshift(...E)});const g=He(),h=async(E,o,m)=>{i.value=m,J.fullscreenPreviewInitialUrl=re(o);const p=s.value.indexOf(m);if(E.shiftKey){if(p!==-1)s.value.splice(p,1);else{s.value.push(m),s.value.sort((j,Y)=>j-Y);const N=s.value[0],X=s.value[s.value.length-1];s.value=mn(N,X+1)}E.stopPropagation()}else E.ctrlKey||E.metaKey?(p!==-1?s.value.splice(p,1):s.value.push(m),E.stopPropagation()):await e(o)},M=async(E,o,m)=>{var ie,ee,$e;const p=re(o),N=O.value,X={IIB_container_id:parent.IIB_container_id},j=()=>{let d=[];return s.value.includes(m)?d=s.value.map(f=>a.value[f]):d.push(o),d},Y=async d=>{if(!L.value)try{L.value=!0,await Yt(o.fullpath),Oe.postMessage({...X,event:"click_hidden_button",btnEleId:"iib_hidden_img_update_trigger"}),await Zt(),Oe.postMessage({...X,event:"click_hidden_button",btnEleId:`iib_hidden_tab_${d}`})}catch(f){console.error(f),oe.error("发送图像失败,请携带console的错误消息找开发者")}finally{L.value=!1}},Z=`${E.key}`;if(Z.startsWith("toggle-tag-")){const d=+Z.split("toggle-tag-")[1],{is_remove:f}=await Wt({tag_id:d,img_path:o.fullpath}),U=(ee=(ie=J.conf)==null?void 0:ie.all_custom_tags.find(T=>T.id===d))==null?void 0:ee.name;await De.refreshTags([o.fullpath]),oe.success(F(f?"removedTagFromImage":"addedTagToImage",{tag:U}));return}else if(Z==="add-custom-tag")qe();else if(Z.startsWith("batch-add-tag-")||Z.startsWith("batch-remove-tag-")){const d=+Z.split("-tag-")[1],f=Z.includes("add")?"add":"remove",U=j().map(T=>T.fullpath);await Ut({tag_id:d,img_paths:U,action:f}),await De.refreshTags(U),oe.success(F(f==="add"?"addCompleted":"removeCompleted"));return}else if(Z.startsWith("copy-to-")){const d=Z.split("copy-to-")[1],f=j(),U=f.map(T=>T.fullpath);await bt(U,d,!0),ce.emit("addFiles",{files:f,loc:d}),oe.success(F("copySuccess"));return}else if(Z.startsWith("move-to-")){const d=Z.split("move-to-")[1],f=j(),U=f.map(T=>T.fullpath);await We(U,d,!0),ce.emit("removeFiles",{paths:U,loc:O.value}),ce.emit("addFiles",{files:f,loc:d}),oe.success(F("moveSuccess"));return}switch(E.key){case"previewInNewWindow":return window.open(p);case"copyFilePath":return de(o.fullpath);case"saveSelectedAsJson":return Jt(j());case"openWithDefaultApp":return Ht(o.fullpath);case"download":{const d=j();Xt(d.map(f=>re(f,!0)));break}case"copyPreviewUrl":return de(parent.document.location.origin+p);case"rename":{let d=await Bt(o.fullpath);d=it(d);const f=De.tagMap;f.set(d,f.get(o.fullpath)??[]),f.delete(o.fullpath),o.fullpath=d,o.name=d.split(/[\\/]/).pop()??"";return}case"send2txt2img":return Y("txt2img");case"send2img2img":return Y("img2img");case"send2inpaint":return Y("inpaint");case"send2extras":return Y("extras");case"send2savedDir":{const d=J.quickMovePaths.find(T=>T.key==="outdir_save");if(!d)return oe.error(F("unknownSavedDir"));const f=Nt(d.dir,($e=J.conf)==null?void 0:$e.sd_cwd),U=j();await We(U.map(T=>T.fullpath),f,!0),ce.emit("removeFiles",{paths:U.map(T=>T.fullpath),loc:O.value}),ce.emit("addFiles",{files:U,loc:f});break}case"send2controlnet-img2img":case"send2controlnet-txt2img":{const d=E.key.split("-")[1];Oe.postMessage({...X,event:"send_to_control_net",type:d,url:re(o)});break}case"send2outpaint":{n.value=await g.pushAction(()=>Ve(o.fullpath)).res;const[d,f]=(n.value||"").split(`
+`);Oe.postMessage({...X,event:"send_to_outpaint",url:re(o),prompt:d,negPrompt:f.slice(17)});break}case"openWithWalkMode":{gt.set(N,w.value);const d=J.tabList[S.value.tabIdx],f={type:"local",key:_e(),path:o.fullpath,name:F("local"),stackKey:N,mode:"walk"};d.panes.push(f),d.key=f.key;break}case"openFileLocationInNewTab":case"openInNewTab":{const d=J.tabList[S.value.tabIdx],f={type:"local",key:_e(),path:E.key==="openInNewTab"?o.fullpath:Vt(o.fullpath),name:F("local"),mode:"scanned-fixed"};d.panes.push(f),d.key=f.key;break}case"openOnTheRight":{gt.set(N,w.value);let d=J.tabList[S.value.tabIdx+1];d||(d={panes:[],key:"",id:_e()},J.tabList[S.value.tabIdx+1]=d);const f={type:"local",key:_e(),path:o.fullpath,name:F("local"),stackKey:N};d.panes.push(f),d.key=f.key;break}case"send2BatchDownload":{$n.addFiles(j());break}case"viewGenInfo":{t.value=!0,n.value=await g.pushAction(()=>Ve(o.fullpath)).res;break}case"tiktokView":{Gn(a.value,m);break}case"openWithLocalFileBrowser":{await qt(o.fullpath);break}case"deleteFiles":{const d=j(),f=async()=>{const U=d.map(T=>T.fullpath);if(await Gt(U),oe.success(F("deleteSuccess")),D.value){const T=re(o)===J.fullscreenPreviewInitialUrl,ge=i.value===a.value.length-1;if((T||ge)&&(ke(),await st(100),T&&a.value.length>1)){const Le=i.value;st(0).then(()=>Kt(Le,V.value))}}ce.emit("removeFiles",{paths:U,loc:O.value})};if(d.length===1&&J.ignoredConfirmActions.deleteOneOnly)return f();await new Promise(U=>{ye.confirm({title:F("confirmDelete"),maskClosable:!0,width:"60vw",content:()=>u("div",null,[u("ol",{style:{maxHeight:"50vh",overflow:"auto"}},[d.map(T=>u("li",null,[T.fullpath.split(/[/\\]/).pop()]))]),u(_t,null,null),u(wn,{checked:J.ignoredConfirmActions.deleteOneOnly,"onUpdate:checked":T=>J.ignoredConfirmActions.deleteOneOnly=T},{default:()=>[F("deleteOneOnlySkipConfirm"),x(" ("),F("resetOnGlobalSettingsPage"),x(")")]})]),async onOk(){await f(),U()}})});break}}return{}},{isOutside:A}=zt(V);return ve("keydown",E=>{var m,p,N;const o=kn(E);if(D.value){o==="Esc"&&ke();const X=(m=Object.entries(J.shortcut).find(j=>j[1]===o&&j[1]))==null?void 0:m[0];if(X){E.stopPropagation(),E.preventDefault();const j=i.value,Y=a.value[j];switch(X){case"delete":return M({key:"deleteFiles"},Y,j);case"download":return M({key:"download"},Y,j);default:{const Z=(p=/^toggle_tag_(.*)$/.exec(X))==null?void 0:p[1],ie=(N=J.conf)==null?void 0:N.all_custom_tags.find(ee=>ee.name===Z);if(ie)return M({key:`toggle-tag-${ie.id}`},Y,j);if(X.startsWith("copy_to_")){const ee=X.split("copy_to_")[1];return M({key:`copy-to-${ee}`},Y,j)}if(X.startsWith("move_to_")){const ee=X.split("move_to_")[1];return M({key:`move-to-${ee}`},Y,j)}}}}}else!A.value&&["Ctrl + KeyA","Cmd + KeyA"].includes(o)&&(E.preventDefault(),E.stopPropagation(),W.value.emit("selectAll"))}),{onFileItemClick:h,onContextMenuClick:M,showGenInfo:t,imageGenInfo:n,q:g}}function Kn(e,t,n,a){let i=0,s=0,w=typeof(a==null?void 0:a.width)=="number"?a.width:0,O=typeof(a==null?void 0:a.height)=="number"?a.height:0,L=typeof(a==null?void 0:a.left)=="number"?a.left:0,D=typeof(a==null?void 0:a.top)=="number"?a.top:0,V=!1;const W=o=>{o.stopPropagation(),o.preventDefault(),!(!e.value||!t.value)&&(i=o instanceof MouseEvent?o.clientX:o.touches[0].clientX,s=o instanceof MouseEvent?o.clientY:o.touches[0].clientY,w=e.value.offsetWidth,O=e.value.offsetHeight,t.value.offsetLeft,t.value.offsetTop,document.documentElement.addEventListener("mousemove",S),document.documentElement.addEventListener("touchmove",S),document.documentElement.addEventListener("mouseup",P),document.documentElement.addEventListener("touchend",P))},S=o=>{if(!e.value||!t.value)return;let m=w+((o instanceof MouseEvent?o.clientX:o.touches[0].clientX)-i),p=O+((o instanceof MouseEvent?o.clientY:o.touches[0].clientY)-s);e.value.offsetLeft+m>window.innerWidth&&(m=window.innerWidth-e.value.offsetLeft),e.value.offsetTop+p>window.innerHeight&&(p=window.innerHeight-e.value.offsetTop),e.value.style.width=`${m}px`,e.value.style.height=`${p}px`,a!=null&&a.onResize&&a.onResize(m,p)},P=()=>{document.documentElement.removeEventListener("mousemove",S),document.documentElement.removeEventListener("touchmove",S),document.documentElement.removeEventListener("mouseup",P),document.documentElement.removeEventListener("touchend",P)},C=o=>{o.stopPropagation(),o.preventDefault(),!(!e.value||!n.value)&&(V=!0,L=e.value.offsetLeft,D=e.value.offsetTop,i=o instanceof MouseEvent?o.clientX:o.touches[0].clientX,s=o instanceof MouseEvent?o.clientY:o.touches[0].clientY,document.documentElement.addEventListener("mousemove",g),document.documentElement.addEventListener("touchmove",g),document.documentElement.addEventListener("mouseup",h),document.documentElement.addEventListener("touchend",h))},g=o=>{if(!e.value||!n.value||!V)return;const m=L+((o instanceof MouseEvent?o.clientX:o.touches[0].clientX)-i),p=D+((o instanceof MouseEvent?o.clientY:o.touches[0].clientY)-s);m<0?e.value.style.left="0px":m+e.value.offsetWidth>window.innerWidth?e.value.style.left=`${window.innerWidth-e.value.offsetWidth}px`:e.value.style.left=`${m}px`,p<0?e.value.style.top="0px":p+e.value.offsetHeight>window.innerHeight?e.value.style.top=`${window.innerHeight-e.value.offsetHeight}px`:e.value.style.top=`${p}px`,a!=null&&a.onDrag&&a.onDrag(m,p)},h=()=>{V=!1,document.documentElement.removeEventListener("mousemove",g),document.documentElement.removeEventListener("touchmove",g),document.documentElement.removeEventListener("mouseup",h),document.documentElement.removeEventListener("touchend",h)},M=()=>{if(!e.value||!t.value)return;let o=e.value.offsetLeft,m=e.value.offsetTop,p=e.value.offsetWidth,N=e.value.offsetHeight;o+p>window.innerWidth&&(o=window.innerWidth-p,o<0&&(o=0,p=window.innerWidth)),m+N>window.innerHeight&&(m=window.innerHeight-N,m<0&&(m=0,N=window.innerHeight)),e.value.style.left=`${o}px`,e.value.style.top=`${m}px`,e.value.style.width=`${p}px`,e.value.style.height=`${N}px`},A=()=>{!e.value||!a||(typeof a.width=="number"&&(e.value.style.width=`${a.width}px`),typeof a.height=="number"&&(e.value.style.height=`${a.height}px`),typeof a.left=="number"&&(e.value.style.left=`${a.left}px`),typeof a.top=="number"&&(e.value.style.top=`${a.top}px`),M(),window.addEventListener("resize",M))},E=()=>{document.documentElement.removeEventListener("mousemove",S),document.documentElement.removeEventListener("touchmove",S),document.documentElement.removeEventListener("mouseup",P),document.documentElement.removeEventListener("touchend",P),document.documentElement.removeEventListener("mousemove",g),document.documentElement.removeEventListener("touchmove",g),document.documentElement.removeEventListener("mouseup",h),document.documentElement.removeEventListener("touchend",h),window.removeEventListener("resize",M)};return xt(A),kt(E),he(()=>a==null?void 0:a.disbaled,async o=>{await Qt(),o!==void 0&&(o?E():A())}),he(()=>[e.value,t.value,n.value],([o,m,p])=>{o&&m&&(m.addEventListener("mousedown",W),m.addEventListener("touchstart",W)),o&&p&&(p.addEventListener("mousedown",C),p.addEventListener("touchstart",C))}),{handleResizeMouseDown:W,handleDragMouseDown:C}}let yt=null;const Qn=()=>{var L,D;const e=Je(),t=we(Ne+"fullscreen_layout",{enable:!0,panelWidth:384,alwaysOn:!0}),n=Rt(yt??((D=(L=e.conf)==null?void 0:L.app_fe_setting)==null?void 0:D.fullscreen_layout)??je(t.value)),a="--iib-lr-layout-info-panel-width",i=Q(()=>n.alwaysOn&&n.enable?n.panelWidth:0);he(n,V=>{t.value=je(V),wt(n,a,i),Rn(n),yt=n},{deep:!0}),xt(()=>wt(n,a,i));const{enable:s,panelWidth:w,alwaysOn:O}=en(n);return{state:n,isLeftRightLayout:s,panelwidtrhStyleVarName:a,lrLayoutInfoPanelWidth:w,lrMenuAlwaysOn:O}},Rn=xe(e=>tn("fullscreen_layout",e),300),wt=xe((e,t,n)=>{e.enable?(document.body.classList.add("fullscreen-lr-layout"),document.documentElement.style.setProperty(t,`${e.panelWidth}px`),document.documentElement.style.setProperty("--iib-lr-layout-container-offset",`${n.value}px`)):(document.documentElement.style.removeProperty(t),document.documentElement.style.removeProperty("--iib-lr-layout-container-offset"),document.body.classList.remove("fullscreen-lr-layout"))},300);/*!
author:kooboy_li@163.com
MIT licensed
*/let Lt=19968,ea=(40896-Lt)/2,Xe="",ze=",",ta=(()=>{let e=[];for(let t=33;t<127;t++)t!=34&&t!=92&&t!=45&&e.push(String.fromCharCode(t));return e.join(Xe)})(),et={a:{yi:"!]#R$!$q(3(p)[*2*g+6+d.C.q0[0w1L2<717l8B8E9?:8;V;[;e;{<)<+.>4??@~A`BbC:CGC^CiDMDjDkF!H/H;JaL?M.M2MoNCN|OgO|P$P)PBPyQ~R%R.S.T;Tk^l$lt?uJv$vMyE|R}a-!}-#&-#8-#L-#b-$Q-%?-+q-,6-,8",yu:"#V$l%S&9&I('(7(=)))m*#*$*B+2+F+v,0,b,i.W0.1F232L2a3(384>6P8n;';i;y<1>(>)>]@iB&X&m&s'2'X'd'f(9(c(i(j)@)l+'+M.).+1y1{2=3K4c6&6'6)606<6B6`9`9{:a`?`AgCLCuD%D2F2GyH&H1I;K~LkLuM&MYO0O3O9P8PbPcQqR5S2SCU0U~V%XYY&Z}[G^P`7cUc}dEeNgOj$j)l?m:n4p,sOuRv.y'{/|i}1~P-$B-%Y-)|-)}-*K-+G-+H-,m-.@-.M-/|-0y-2D-2c-4W-4`-4h-7a-7p-9c-9i",shang:")Y6V9cJvR8UqXJXa])asbQc,s,uSvz-#+-.;",xia:"#Y#w&,&;'''I)1.u/j7=:[<'B[ByCtL'NmNyQOR([0`(cLh[iRkVt/t_u4uezFzM|W|{~d-&)-*4-.}-0a-5;-8S",han:"#,.m/h:l