sd-webui-infinite-image-bro.../vue/dist/assets/index-1b3df0c9.js

4 lines
34 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

var ot=Object.defineProperty;var rt=(l,a,e)=>a in l?ot(l,a,{enumerable:!0,configurable:!0,writable:!0,value:e}):l[a]=e;var fe=(l,a,e)=>(rt(l,typeof a!="symbol"?a+"":a,e),e);import{d0 as xe,bG as Ie,bF as lt,bV as ze,ar as Pe,aL as De,cd as it,ba as ct,c as q,A as ut,d1 as dt,r as N,c7 as ft,aM as Ne,d2 as pt,d3 as ie,d4 as Be,d5 as vt,cC as qe,d6 as ht,ai as mt,s as le,ay as he,ci as ne,ak as te,v as gt,d7 as Se,$ as X,d8 as yt,d9 as Ge,as as He,W as K,X as E,bs as Ke,br as Re,aj as Q,y as ee,bM as wt,aC as kt,aD as bt,I as me,da as Ce,aq as se,db as xt,Z as re,cj as Te,cJ as H,dc as It,dd as St,aF as Ft,de as We,c3 as $e,bp as Qe,df as Je,a3 as Fe,dg as _t,dh as Xe,di as Ee,q as Pt,cK as Ae,cM as Le,dj as Ct,dk as Tt,U as ae,ch as Et,dl as Mt,cn as Dt,dm as At,l as Ue,R as Lt,cg as Ve,dn as Ot,dp as Nt,dq as Rt,dr as Wt,bI as $t,ds as Ut,dt as Vt,du as jt,z as zt,dv as Bt,cf as qt,p as Gt,bm as Ht,am as Kt,cD as Ze,dw as Qt}from"./index-0236195f.js";import{_ as Jt,C as Ye,g as Xt}from"./shortcut-feec8cda.js";import{i as Zt}from"./_isIterateeCall-a5c9e9ee.js";function Yt(l){return l&&l.length?l[0]:void 0}var ea=Math.ceil,ta=Math.max;function aa(l,a,e,t){for(var i=-1,s=ta(ea((a-l)/(e||1)),0),_=Array(s);s--;)_[t?s:++i]=l,l+=e;return _}function na(l){return function(a,e,t){return t&&typeof t!="number"&&Zt(a,e,t)&&(e=t=void 0),a=xe(a),e===void 0?(e=a,a=0):e=xe(e),t=t===void 0?a<e?1:-1:xe(t),aa(a,e,t,l)}}var sa=na();const et=sa;class ke{static run(a){const e=Object.assign({immediately:!0,id:-1,isFinished:!1,errorHandleMethod:"ignore"},a);let t,i;const s=new Promise((v,I)=>{i=v,t=I}),_=()=>{e.isFinished=!0,clearTimeout(e.id)},L=()=>Ie(this,void 0,void 0,function*(){try{e.res=yield e.action(),e.validator&&e.validator(e.res)&&(i(e.res),_())}catch(v){ke.silent||console.error(v),e.errorHandleMethod==="stop"&&(_(),t(v))}}),P=()=>{e.isFinished||(e.id=setTimeout(()=>Ie(this,void 0,void 0,function*(){yield L(),P()}),e.pollInterval))};return setTimeout(()=>Ie(this,void 0,void 0,function*(){e.immediately&&(yield L()),P()}),0),lt({task:e,clearTask:_,completedTask:s})}}ke.silent=!1;const de=(...l)=>{document.addEventListener(...l),ze(()=>document.removeEventListener(...l))},pe=new WeakMap;function oa(l,a){return{useHookShareState:t=>{const i=ct();Pe(i),pe.has(i)||(pe.set(i,De(l(i,t??(a==null?void 0:a())))),ze(()=>{pe.delete(i)}));const s=pe.get(i);return Pe(s),{state:s,toRefs(){return it(s)}}}}}var ra={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-600 72h560v208H232V136zm560 480H232V408h560v208zm0 272H232V680h560v208zM304 240a40 40 0 1080 0 40 40 0 10-80 0zm0 272a40 40 0 1080 0 40 40 0 10-80 0zm0 272a40 40 0 1080 0 40 40 0 10-80 0z"}}]},name:"database",theme:"outlined"};const la=ra;function je(l){for(var a=1;a<arguments.length;a++){var e=arguments[a]!=null?Object(arguments[a]):{},t=Object.keys(e);typeof Object.getOwnPropertySymbols=="function"&&(t=t.concat(Object.getOwnPropertySymbols(e).filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable}))),t.forEach(function(i){ia(l,i,e[i])})}return l}function ia(l,a,e){return a in l?Object.defineProperty(l,a,{value:e,enumerable:!0,configurable:!0,writable:!0}):l[a]=e,l}var Oe=function(a,e){var t=je({},a,e.attrs);return q(ut,je({},t,{icon:la}),null)};Oe.displayName="DatabaseOutlined";Oe.inheritAttrs=!1;const ca=Oe,ua=dt("useBatchDownloadStore",()=>{const l=N([]);return{selectdFiles:l,addFiles:e=>{l.value=ft([...l.value,...e])}}});class ge{constructor(a,e=pt.CREATED_TIME_DESC){fe(this,"root");fe(this,"execQueue",[]);fe(this,"walkerInitPromsie");this.entryPath=a,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 i=>{this.root.info=i[this.entryPath],await this.fetchChildren(this.root),t()})})}reset(){return this.root.children=[],this.fetchChildren(this.root)}get images(){const a=e=>e.children.map(t=>{if(t.info.type==="dir")return a(t);if(qe(t.info.name))return t.info}).filter(t=>t).flat(1);return a(this.root)}get isCompleted(){return this.execQueue.length===0}async fetchChildren(a){const{files:e}=await ie(a.info.fullpath);return a.children=Be(e,this.sortMethod).map(t=>({info:t,children:[]})),this.execQueue.shift(),this.execQueue.unshift(...a.children.filter(t=>t.info.type==="dir").map(t=>({fn:()=>this.fetchChildren(t),...t}))),a}async next(){await this.walkerInitPromsie;const a=Yt(this.execQueue);if(!a)return null;const e=await a.fn();return this.execQueue=this.execQueue.slice(),this.root={...this.root},e}async isExpired(){const a=[this.root.info],e=i=>{for(const s of i.children)s.info.type==="dir"&&(a.push(s.info),e(s))};e(this.root);const t=await Ne(a.map(i=>i.fullpath));for(const i of a)if(!vt(i,t[i.fullpath]))return!0;return!1}async seamlessRefresh(a,e=N(!1)){const t=performance.now(),i=new ge(this.entryPath,this.sortMethod);for(await i.walkerInitPromsie;!i.isCompleted&&i.images.length<a;){if(e.value)throw new Error("canceled");await i.next()}const s=performance.now();return console.log("seamlessRefresh currPos:",a,"Time taken:",(s-t).toFixed(0),"ms"),i}}var tt={exports:{}};/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress
* @license MIT */(function(l,a){(function(e,t){l.exports=t})(ht,function(){var e={};e.version="0.3.5";var t=e.settings={minimum:.08,easing:"linear",positionUsing:"",speed:200,trickle:!0,trickleSpeed:200,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'<div class="bar" role="bar"><div class="peg"></div></div><div class="spinner" role="spinner"><div class="spinner-icon"></div></div>'};e.configure=function(n){var o,r;for(o in n)r=n[o],r!==void 0&&n.hasOwnProperty(o)&&(t[o]=r);return this},e.status=null,e.set=function(n){var o=e.isStarted();n=i(n,t.minimum,1),e.status=n===1?null:n;var r=e.render(!o),c=r.querySelector(t.barSelector),p=t.speed,y=t.easing;return r.offsetWidth,L(function(d){t.positionUsing===""&&(t.positionUsing=e.getPositioningCSS()),P(c,_(n,p,y)),n===1?(P(r,{transition:"none",opacity:1}),r.offsetWidth,setTimeout(function(){P(r,{transition:"all "+p+"ms linear",opacity:0}),setTimeout(function(){e.remove(),d()},p)},p)):setTimeout(d,p)}),this},e.isStarted=function(){return typeof e.status=="number"},e.start=function(){e.status||e.set(0);var n=function(){setTimeout(function(){e.status&&(e.trickle(),n())},t.trickleSpeed)};return t.trickle&&n(),this},e.done=function(n){return!n&&!e.status?this:e.inc(.3+.5*Math.random()).set(1)},e.inc=function(n){var o=e.status;return o?o>1?void 0:(typeof n!="number"&&(o>=0&&o<.2?n=.1:o>=.2&&o<.5?n=.04:o>=.5&&o<.8?n=.02:o>=.8&&o<.99?n=.005:n=0),o=i(o+n,0,.994),e.set(o)):e.start()},e.trickle=function(){return e.inc()},function(){var n=0,o=0;e.promise=function(r){return!r||r.state()==="resolved"?this:(o===0&&e.start(),n++,o++,r.always(function(){o--,o===0?(n=0,e.done()):e.set((n-o)/n)}),this)}}(),e.getElement=function(){var n=e.getParent();if(n){var o=Array.prototype.slice.call(n.querySelectorAll(".nprogress")).filter(function(r){return r.parentElement===n});if(o.length>0)return o[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(n){if(e.isRendered())return e.getElement();I(document.documentElement,"nprogress-busy");var o=document.createElement("div");o.id="nprogress",o.className="nprogress",o.innerHTML=t.template;var r=o.querySelector(t.barSelector),c=n?"-100":s(e.status||0),p=e.getParent(),y;return P(r,{transition:"all 0 linear",transform:"translate3d("+c+"%,0,0)"}),t.showSpinner||(y=o.querySelector(t.spinnerSelector),y&&S(y)),p!=document.body&&I(p,"nprogress-custom-parent"),p.appendChild(o),o},e.remove=function(){e.status=null,M(document.documentElement,"nprogress-busy"),M(e.getParent(),"nprogress-custom-parent");var n=e.getElement();n&&S(n)},e.isRendered=function(){return!!e.getElement()},e.getPositioningCSS=function(){var n=document.body.style,o="WebkitTransform"in n?"Webkit":"MozTransform"in n?"Moz":"msTransform"in n?"ms":"OTransform"in n?"O":"";return o+"Perspective"in n?"translate3d":o+"Transform"in n?"translate":"margin"};function i(n,o,r){return n<o?o:n>r?r:n}function s(n){return(-1+n)*100}function _(n,o,r){var c;return t.positionUsing==="translate3d"?c={transform:"translate3d("+s(n)+"%,0,0)"}:t.positionUsing==="translate"?c={transform:"translate("+s(n)+"%,0)"}:c={"margin-left":s(n)+"%"},c.transition="all "+o+"ms "+r,c}var L=function(){var n=[];function o(){var r=n.shift();r&&r(o)}return function(r){n.push(r),n.length==1&&o()}}(),P=function(){var n=["Webkit","O","Moz","ms"],o={};function r(d){return d.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,function(u,m){return m.toUpperCase()})}function c(d){var u=document.body.style;if(d in u)return d;for(var m=n.length,D=d.charAt(0).toUpperCase()+d.slice(1),O;m--;)if(O=n[m]+D,O in u)return O;return d}function p(d){return d=r(d),o[d]||(o[d]=c(d))}function y(d,u,m){u=p(u),d.style[u]=m}return function(d,u){var m=arguments,D,O;if(m.length==2)for(D in u)O=u[D],O!==void 0&&u.hasOwnProperty(D)&&y(d,D,O);else y(d,m[1],m[2])}}();function v(n,o){var r=typeof n=="string"?n:w(n);return r.indexOf(" "+o+" ")>=0}function I(n,o){var r=w(n),c=r+o;v(r,o)||(n.className=c.substring(1))}function M(n,o){var r=w(n),c;v(n,o)&&(c=r.replace(" "+o+" "," "),n.className=c.substring(1,c.length-1))}function w(n){return(" "+(n&&n.className||"")+" ").replace(/\s+/gi," ")}function S(n){n&&n.parentNode&&n.parentNode.removeChild(n)}return e})})(tt);var da=tt.exports;const fa=mt(da);function pa(){const l=N(),{scroller:a,stackViewEl:e,stack:t,currPage:i,currLocation:s,useEventListen:_,eventEmitter:L,getPane:P,props:v,deletedFiles:I,walker:M,sortedFiles:w,previewing:S}=J().toRefs();le(()=>t.value.length,he((f,b)=>{var V,R;if(f===b)return;if(f>b){(V=a.value)==null||V.scrollToItem(0);return}const C=((R=ne(t.value))==null?void 0:R.scrollIndex)??0;te(0).then(()=>{var B;return(B=a.value)==null?void 0:B.scrollToItem(C)})},300)),gt(async()=>{var f;if(!t.value.length)if(v.value.mode==="scanned-fixed"||v.value.mode==="walk")t.value=[{files:[],curr:v.value.path??""}];else{const b=await ie("/");t.value.push({files:b.files,curr:"/"})}l.value=new fa,l.value.configure({parent:e.value}),v.value.path&&v.value.path!=="/"?await y(v.value.path):(f=k.conf)!=null&&f.home&&y(k.conf.home)}),le(s,he(f=>{const b=P.value();if(!b)return;b.path=f;const C=Se(f).pop()??"",R=(()=>{const B={walk:"Walk","scanned-fixed":"Fixed",scanned:null}[v.value.mode??"scanned"],G=oe=>B?`${B}: ${oe}`:oe,Z=k.getShortPath(f);return G(Z.length>24&&C?C:Z)})();b.name=X("div",{style:"display:flex;align-items:center"},[X(ca),X("span",{class:"line-clamp-1",style:"max-width: 256px"},R)]),b.nameFallbackStr=R,k.recent=k.recent.filter(B=>B.key!==b.key),k.recent.unshift({path:f,key:b.key,mode:v.value.mode}),k.recent.length>20&&(k.recent=k.recent.slice(0,20))},300));const n=()=>me(s.value),o=async f=>{var b,C,V;if(f.type==="dir")try{(b=l.value)==null||b.start();const{files:R}=await ie(f.fullpath);v.value.mode=="scanned-fixed"?(t.value=[{files:R,curr:f.fullpath}],(C=a.value)==null||C.scrollToItem(0)):t.value.push({files:R,curr:f.name})}finally{(V=l.value)==null||V.done()}},r=f=>{if(v.value.mode!="walk")for(;f<t.value.length-1;)t.value.pop()},c=()=>{y(Ce(s.value))},p=(f,b)=>(Pe(k.conf,"global.conf load failed"),k.conf.is_win?f.toLowerCase()==b.toLowerCase():f==b),y=async f=>{v.value.mode==="walk"?P.value().path=f:v.value.mode==="scanned-fixed"?await o({fullpath:f,name:f,type:"dir"}):await d(f),te(500).then(()=>L.value.emit("viewableAreaFilesChange"))},d=async f=>{var C,V;const b=t.value.slice();try{yt(f)||(f=Ge(((C=k.conf)==null?void 0:C.sd_cwd)??"/",f));const R=Se(f),B=t.value.map(G=>G.curr);for(B.shift();B[0]&&R[0]&&p(B[0],R[0]);)B.shift(),R.shift();for(let G=0;G<B.length;G++)t.value.pop();if(!R.length)return u();for(const G of R){const Z=(V=i.value)==null?void 0:V.files.find(oe=>p(oe.name,G));if(!Z)throw console.error({frags:R,frag:G,stack:He(t.value)}),new Error(`${G} not found`);await o(Z)}}catch(R){throw K.error(E("moveFailedCheckPath")+(R instanceof Error?R.message:"")),console.error(f,Se(f),i.value),t.value=b,R}},u=Ke(async()=>{var f,b,C;try{if((f=l.value)==null||f.start(),M.value)await M.value.reset(),L.value.emit("loadNextDir");else{const{files:V}=await ie(s.value);ne(t.value).files=V}I.value.clear(),(b=a.value)==null||b.scrollToItem(0),K.success(E("refreshCompleted"))}finally{(C=l.value)==null||C.done()}}),m=async(f=!1)=>{var b,C,V;if(!(f===!0&&S.value)){if(v.value.mode==="walk"&&M.value){const R=((b=a.value)==null?void 0:b.$_endIndex)??64;if(k.autoRefreshWalkMode&&R<k.autoRefreshWalkModePosLimit&&await M.value.isExpired()){const B=N(!1),G=()=>{B.value=!0,k.autoRefreshWalkMode=!1,Z(),K.success(E("walkModeAutoRefreshDisabled"))},Z=K.loading(X("span",{},[E("autoUpdate"),X("span",{onClick:G,style:{paddingLeft:"16px",cursor:"pointer",color:"var(--primary-color)"}},E("disable"))]),0);try{const oe=new Promise(nt=>{M.value.seamlessRefresh(R,B).then(st=>{B.value||(M.value=st,L.value.emit("loadNextDir"),nt())})});await Promise.all([oe,te(1500)])}finally{Z()}}return}try{if(!k.autoRefreshNormalFixedMode)return;(C=l.value)==null||C.start();const{files:R}=await ie(s.value);ne(t.value).files.map(G=>G.date).join()!==R.map(G=>G.date).join()&&(ne(t.value).files=R,K.success(E("autoUpdate")))}finally{(V=l.value)==null||V.done()}}};Re("returnToIIB",m),Re("refreshFileView",f=>{const b=(f==null?void 0:f.paths)||[];(b.length===0||b.some(V=>s.value.startsWith(V)||V.startsWith(s.value)))&&u()}),_.value("refresh",u),_.value("navigateUp",c);const D=f=>{y(f)},O=Q(()=>k.quickMovePaths.map(f=>({...f,path:ee(f.dir)}))),j=Q(()=>{const f=ee(s.value);return O.value.find(C=>C.path===f)}),h=async()=>{const f=k.tabList[v.value.tabIdx],b={type:"empty",name:E("emptyStartPage"),key:Date.now()+se(),popAddPathModal:{path:s.value,type:"scanned-fixed"}};f.panes.push(b),f.key=b.key},x=N(!1),T=N(s.value),A=()=>{x.value=!0,T.value=s.value},W=async()=>{await y(T.value),x.value=!1};de("click",f=>{var b,C,V;(V=(C=(b=f.target)==null?void 0:b.className)==null?void 0:C.includes)!=null&&V.call(C,"ant-input")||(x.value=!1)});const z=()=>{const f=parent.location,b=f.href.substring(0,f.href.length-f.search.length),C=new URLSearchParams(f.search);C.set("action","open"),C.set("path",s.value),C.set("mode",v.value.mode??"scanned");const V=`${b}?${C.toString()}`;me(V,E("copyLocationUrlSuccessMsg"))},g=(f="tag-search")=>{const b=k.tabList[v.value.tabIdx],C={type:f,key:se(),searchScope:s.value,name:E(f==="tag-search"?"imgSearch":"fuzzy-search")};b.panes.push(C),b.key=C.key},F=()=>L.value.emit("selectAll"),U=async()=>{await xt(s.value),await u()},$=()=>{const f=s.value;ye.set(f,t.value);const b=k.tabList[v.value.tabIdx],C={type:"local",key:se(),path:f,name:E("local"),stackKey:f,mode:"walk"};b.panes.push(C),b.key=C.key},be=Q(()=>!M.value&&w.value.some(f=>f.type==="dir"));return{locInputValue:T,isLocationEditing:x,onLocEditEnter:W,onEditBtnClick:A,addToSearchScanPathAndQuickMove:h,searchPathInfo:j,refresh:u,copyLocation:n,back:r,openNext:o,currPage:i,currLocation:s,stack:t,scroller:a,share:z,selectAll:F,quickMoveTo:D,onCreateFloderBtnClick:U,onWalkBtnClick:$,showWalkButton:be,searchInCurrentDir:g,backToLastUseTo:c,...va(()=>m(!0))}}const va=l=>{const a=N([]),e=Q(()=>a.value.length>0);wt(()=>{a.value.forEach(s=>s())});const t=kt(bt+"poll-interval",3);return{onPollRefreshClick:()=>{if(a.value.length){a.value.forEach(s=>s()),a.value=[];return}re.confirm({title:E("pollRefresh"),width:640,content:()=>X("div",{},[X("p",{class:"uni-desc primary-bg"},E("pollRefreshTip")),X("div",{style:{display:"flex",alignItems:"center",gap:"4px"}},[X("span",{},E("pollInterval")+"(s): "),X(Jt,{min:1,max:60*10,modelValue:t.value,"onUpdate:modelValue":s=>{t.value=s}})])]),onOk:()=>{const{clearTask:s}=ke.run({pollInterval:t.value*1e3,action:l});a.value.push(s)}})},polling:e}};function ha(l){const{previewIdx:a,eventEmitter:e,canLoadNext:t,previewing:i,sortedFiles:s,scroller:_,props:L}=J().toRefs(),{state:P}=J();let v=null;const I=(r,c)=>{var p;i.value=r,v!=null&&!r&&c&&((p=_.value)==null||p.scrollToItem(v),v=null)},M=r=>{const c=_.value;!c||r<0||(r>=c.$_startIndex&&r<=c.$_endIndex?console.log("scrollToIndex already in view",r,"s",c):c.scrollToItem(r))},w=r=>{if(!r)return;const c=s.value.findIndex(p=>p.fullpath===r);console.log("idx",{idx:c,files:s}),c>=0&&M(c)},S=()=>{if(!o("next")){if(l!=null&&l.loadNext)return l.loadNext();L.value.mode==="walk"&&t.value&&(K.info(E("loadingNextFolder")),e.value.emit("loadNextDir",!0))}};de("keydown",r=>{var c;if(i.value){let p=a.value;if(["ArrowDown","ArrowRight"].includes(r.key))for(p++;s.value[p]&&!H(s.value[p].name);)p++;else if(["ArrowUp","ArrowLeft"].includes(r.key))for(p--;s.value[p]&&!H(s.value[p].name);)p--;if(H((c=s.value[p])==null?void 0:c.name)??""){a.value=p;const y=_.value;y&&!(p>=y.$_startIndex&&p<=y.$_endIndex)&&(v=p)}S()}});const n=r=>{var p;let c=a.value;if(r==="next")for(c++;s.value[c]&&!H(s.value[c].name);)c++;else if(r==="prev")for(c--;s.value[c]&&!H(s.value[c].name);)c--;if(H((p=s.value[c])==null?void 0:p.name)??""){a.value=c;const y=_.value;y&&!(c>=y.$_startIndex&&c<=y.$_endIndex)&&(v=c)}S()},o=r=>{var p;let c=a.value;if(r==="next")for(c++;s.value[c]&&!H(s.value[c].name);)c++;else if(r==="prev")for(c--;s.value[c]&&!H(s.value[c].name);)c--;return H((p=s.value[c])==null?void 0:p.name)};return we("removeFiles",async()=>{i.value&&!P.sortedFiles[a.value]&&Te()}),{previewIdx:a,onPreviewVisibleChange:I,previewing:i,previewImgMove:n,canPreview:o,scrollToIndex:M,scrollToFileId:w}}function ma({fetchNext:l}={}){const{scroller:a,sortedFiles:e,sortMethod:t,currLocation:i,currPage:s,stackViewEl:_,canLoadNext:L,previewIdx:P,props:v,walker:I,getViewableAreaFiles:M}=J().toRefs(),{state:w}=J(),S=N(!1),n=N(k.defaultGridCellWidth),o=Q(()=>n.value+16),r=44,{width:c}=It(_),p=Q(()=>~~(c.value/o.value)),y=De(new Map),d=Q(()=>{const h=o.value;return{first:h+(n.value<=160?0:r),second:h}}),u=N(!1),m=async()=>{var h;if(!(u.value||v.value.mode!=="walk"||!L.value))try{u.value=!0,await((h=I.value)==null?void 0:h.next())}finally{u.value=!1}},D=async(h=!1)=>{const x=a.value,T=()=>h?P.value:(x==null?void 0:x.$_endIndex)??0,A=()=>{const W=e.value.length,z=50;return W?l?T()>W-z:T()>W-z&&L.value:!0};for(;A();){await te(30);const W=await(l??m)();if(typeof W=="boolean"&&!W)return}};w.useEventListen("loadNextDir",Ke(async(h=!1)=>{await D(h),v.value.mode==="walk"&&O()})),w.useEventListen("viewableAreaFilesChange",()=>{const h=M.value(),x=h.filter(A=>A.is_under_scanned_path&&qe(A.name)).map(A=>A.fullpath);ue.fetchImageTags(x);const T=h.filter(A=>A.is_under_scanned_path&&A.type==="dir"&&!y.has(A.fullpath)).map(A=>A.fullpath);T.length&&St(T).then(A=>{for(const W in A)if(Object.prototype.hasOwnProperty.call(A,W)){const z=A[W];y.set(W,z)}})}),w.useEventListen("refresh",async()=>{w.eventEmitter.emit("viewableAreaFilesChange")});const O=he(()=>w.eventEmitter.emit("viewableAreaFilesChange"),300);le(i,O);const j=he(async()=>{const h=a.value;h&&s.value&&(s.value.scrollIndex=h.$_startIndex),await D(),O()},150);return{gridItems:p,sortedFiles:e,sortMethodConv:Ft,moreActionsDropdownShow:S,gridSize:o,sortMethod:t,onScroll:j,loadNextDir:m,loadNextDirLoading:u,canLoadNext:L,itemSize:d,cellWidth:n,dirCoverCache:y}}function ve(l){return typeof l=="function"||Object.prototype.toString.call(l)==="[object Object]"&&!_t(l)}function ga(){const{currLocation:l,sortedFiles:a,currPage:e,multiSelectedIdxs:t,eventEmitter:i,walker:s}=J().toRefs(),_=()=>{t.value=[]};de("click",()=>{k.keepMultiSelect||_()}),de("blur",()=>{k.keepMultiSelect||_()}),le(e,_);const L=(w,S)=>{const n=He(a.value[S]);Me.fileDragging=!0,console.log("onFileDragStart set drag file ",w,S,n);const o=[n];let r=n.type==="dir";if(t.value.includes(S)){const p=t.value.map(y=>a.value[y]);o.push(...p),r=p.some(y=>y.type==="dir")}const c={includeDir:r,loc:l.value||"search-result",path:We(o,"fullpath").map(p=>p.fullpath),nodes:We(o,"fullpath"),__id:"FileTransferData"};w.dataTransfer.setData("text/plain",JSON.stringify(c))},P=()=>{Me.fileDragging=!1},v=async w=>{if(s.value)return;const S=$e(w);if(!S)return;const n=l.value;S.loc!==n&&M(S,n)},I=async(w,S)=>{if(s.value||S.type!=="dir")return!1;const n=$e(w);if(!n)return!1;const o=ee(n.loc),r=ee(l.value||"");if(o!==r)return!1;const c=ee(S.fullpath),p=n.path.map(ee).filter(y=>y!==c&&!c.startsWith(y+"/"));return p.length?(w.preventDefault(),M({...n,path:p},c),!0):!1},M=(w,S)=>{const n=Qe(),o=N(!1),r=async()=>n.pushAction(async()=>{await Xe(w.path,S,!1,o.value),i.value.emit("refresh"),re.destroyAll()}),c=()=>n.pushAction(async()=>{await Ee(w.path,S,!1,o.value),Y.emit("removeFiles",{paths:w.path,loc:w.loc}),i.value.emit("refresh"),re.destroyAll()});re.confirm({title:E("confirm")+"?",width:"60vw",content:()=>{let p,y,d,u;return q("div",null,[q("div",null,[`${E("moveSelectedFilesTo")} ${S}`,q("ol",{style:{maxHeight:"50vh",overflow:"auto"}},[w.path.map(m=>q("li",null,[m.split(/[/\\]/).pop()]))])]),q(Je,null,null),q("div",{style:{marginTop:"8px"}},[q(Ye,{checked:o.value,"onUpdate:checked":m=>o.value=m},ve(p=E("continueOnError"))?p:{default:()=>[p]}),q("div",{style:{color:"#888",fontSize:"12px",marginTop:"4px"}},[E("continueOnErrorDesc")])]),q("div",{style:{display:"flex",alignItems:"center",justifyContent:"flex-end"},class:"actions"},[q(Fe,{onClick:re.destroyAll},ve(y=E("cancel"))?y:{default:()=>[y]}),q(Fe,{type:"primary",loading:!n.isIdle,onClick:r},ve(d=E("copy"))?d:{default:()=>[d]}),q(Fe,{type:"primary",loading:!n.isIdle,onClick:c},ve(u=E("move"))?u:{default:()=>[u]})])])},maskClosable:!0,wrapClassName:"hidden-antd-btns-modal"})};return{onFileDragStart:L,onDrop:v,multiSelectedIdxs:t,onFileDragEnd:P,onFileDropToFolder:I}}const ya=l=>{const a=Ae(l.name),e=Le(l.name);let t,i;return a?(t=Ct(l),i="video"):e?(t=Tt(l),i="audio"):(t=ae(l),i="image"),{id:l.fullpath,url:t,type:i,originalFile:l,name:l.name,fullpath:l.fullpath}},wa=l=>l.filter(a=>a.type==="file"&&(H(a.name)||Ae(a.name)||Le(a.name))).map(ya),ka=(l,a=0)=>{a=Math.min(a,l.length-1),a=Math.max(a,0);const e=Pt(),t=wa(l);if(t.length===0){console.warn("没有找到可以显示的媒体文件");return}let i=0;if(a<l.length){const s=l[a];i=t.findIndex(_=>_.id===s.fullpath),i===-1&&(i=0)}e.openTiktokView(t,i)};function ba({openNext:l}){const a=N(!1),e=N(""),{sortedFiles:t,previewIdx:i,multiSelectedIdxs:s,stack:_,currLocation:L,spinning:P,previewing:v,scroller:I,stackViewEl:M,eventEmitter:w,props:S,deletedFiles:n}=J().toRefs(),o=ee;we("removeFiles",({paths:d,loc:u})=>{o(u)!==o(L.value)||!ne(_.value)||(d.forEach(D=>n.value.add(D)),d.filter(H).forEach(D=>n.value.add(D.replace(/\.\w+$/,".txt"))))}),we("addFiles",({files:d,loc:u})=>{if(o(u)!==o(L.value))return;const m=ne(_.value);m&&m.files.unshift(...d)});const r=Qe(),c=async(d,u,m)=>{i.value=m,k.fullscreenPreviewInitialUrl=ae(u);const D=s.value.indexOf(m);if(d.shiftKey){if(D!==-1)s.value.splice(D,1);else{s.value.push(m),s.value.sort((h,x)=>h-x);const O=s.value[0],j=s.value[s.value.length-1];s.value=et(O,j+1)}d.stopPropagation()}else d.ctrlKey||d.metaKey?(D!==-1?s.value.splice(D,1):s.value.push(m),d.stopPropagation()):await l(u)},p=async(d,u,m)=>{var A,W,z;const D=ae(u),O=L.value,j={IIB_container_id:parent.IIB_container_id},h=()=>{let g=[];return s.value.includes(m)?g=s.value.map(F=>t.value[F]):g.push(u),g},x=async g=>{if(!P.value)try{P.value=!0,await Ut(u.fullpath),ce.postMessage({...j,event:"click_hidden_button",btnEleId:"iib_hidden_img_update_trigger"}),await Vt(),ce.postMessage({...j,event:"click_hidden_button",btnEleId:`iib_hidden_tab_${g}`})}catch(F){console.error(F),K.error("发送图像失败请携带console的错误消息找开发者")}finally{P.value=!1}},T=`${d.key}`;if(T.startsWith("toggle-tag-")){const g=+T.split("toggle-tag-")[1],{is_remove:F}=await Mt({tag_id:g,img_path:u.fullpath}),U=(W=(A=k.conf)==null?void 0:A.all_custom_tags.find($=>$.id===g))==null?void 0:W.name;await ue.refreshTags([u.fullpath]),K.success(E(F?"removedTagFromImage":"addedTagToImage",{tag:U}));return}else if(T==="add-custom-tag")Dt();else if(T.startsWith("batch-add-tag-")||T.startsWith("batch-remove-tag-")){const g=+T.split("-tag-")[1],F=T.includes("add")?"add":"remove",U=h().map($=>$.fullpath);await At({tag_id:g,img_paths:U,action:F}),await ue.refreshTags(U),K.success(E(F==="add"?"addCompleted":"removeCompleted"));return}else if(T.startsWith("copy-to-")){const g=T.split("copy-to-")[1],F=h(),U=F.map($=>$.fullpath);await Xe(U,g,!0),Y.emit("addFiles",{files:F,loc:g}),K.success(E("copySuccess"));return}else if(T.startsWith("move-to-")){const g=T.split("move-to-")[1],F=h(),U=F.map($=>$.fullpath);await Ee(U,g,!0),Y.emit("removeFiles",{paths:U,loc:L.value}),Y.emit("addFiles",{files:F,loc:g}),K.success(E("moveSuccess"));return}switch(d.key){case"previewInNewWindow":return window.open(D);case"copyFilePath":return me(u.fullpath);case"saveSelectedAsJson":return $t(h());case"openWithDefaultApp":return Wt(u.fullpath);case"download":{const g=h();Rt(g.map(F=>ae(F,!0)));break}case"copyPreviewUrl":return me(parent.document.location.origin+D);case"rename":{let g=await Nt(u.fullpath);g=ee(g);const F=ue.tagMap;F.set(g,F.get(u.fullpath)??[]),F.delete(u.fullpath),u.fullpath=g,u.name=g.split(/[\\/]/).pop()??"";return}case"send2txt2img":return x("txt2img");case"send2img2img":return x("img2img");case"send2inpaint":return x("inpaint");case"send2extras":return x("extras");case"send2savedDir":{const g=k.quickMovePaths.find($=>$.key==="outdir_save");if(!g)return K.error(E("unknownSavedDir"));const F=Ot(g.dir,(z=k.conf)==null?void 0:z.sd_cwd),U=h();await Ee(U.map($=>$.fullpath),F,!0),Y.emit("removeFiles",{paths:U.map($=>$.fullpath),loc:L.value}),Y.emit("addFiles",{files:U,loc:F});break}case"send2controlnet-img2img":case"send2controlnet-txt2img":{const g=d.key.split("-")[1];ce.postMessage({...j,event:"send_to_control_net",type:g,url:ae(u)});break}case"send2outpaint":{e.value=await r.pushAction(()=>Ve(u.fullpath)).res;const[g,F]=(e.value||"").split(`
`);ce.postMessage({...j,event:"send_to_outpaint",url:ae(u),prompt:g,negPrompt:F.slice(17)});break}case"openWithWalkMode":{ye.set(O,_.value);const g=k.tabList[S.value.tabIdx],F={type:"local",key:se(),path:u.fullpath,name:E("local"),stackKey:O,mode:"walk"};g.panes.push(F),g.key=F.key;break}case"openFileLocationInNewTab":case"openInNewTab":{const g=k.tabList[S.value.tabIdx],F={type:"local",key:se(),path:d.key==="openInNewTab"?u.fullpath:Ce(u.fullpath),name:E("local"),mode:"scanned-fixed"};g.panes.push(F),g.key=F.key;break}case"openOnTheRight":{ye.set(O,_.value);let g=k.tabList[S.value.tabIdx+1];g||(g={panes:[],key:"",id:se()},k.tabList[S.value.tabIdx+1]=g);const F=u.type==="dir"?u.fullpath:Ce(u.fullpath),U={type:"local",key:se(),path:F,name:E("local"),stackKey:O,mode:S.value.mode??"scanned"};g.panes.push(U),g.key=U.key;break}case"send2BatchDownload":{at.addFiles(h());break}case"viewGenInfo":{a.value=!0,e.value=await r.pushAction(()=>Ve(u.fullpath)).res;break}case"tiktokView":{ka(t.value,m);break}case"openWithLocalFileBrowser":{await Lt(u.fullpath);break}case"deleteFiles":{const g=h(),F=async()=>{const U=g.map($=>$.fullpath);if(await jt(U),K.success(E("deleteSuccess")),v.value){const $=ae(u)===k.fullscreenPreviewInitialUrl,be=i.value===t.value.length-1;if(($||be)&&(Te(),await te(100),$&&t.value.length>1)){const f=i.value;te(0).then(()=>zt(f,M.value))}}Y.emit("removeFiles",{paths:U,loc:L.value})};if(g.length===1&&k.ignoredConfirmActions.deleteOneOnly)return F();await new Promise(U=>{re.confirm({title:E("confirmDelete"),maskClosable:!0,width:"60vw",content:()=>q("div",null,[q("ol",{style:{maxHeight:"50vh",overflow:"auto"}},[g.map($=>q("li",null,[$.fullpath.split(/[/\\]/).pop()]))]),q(Je,null,null),q(Ye,{checked:k.ignoredConfirmActions.deleteOneOnly,"onUpdate:checked":$=>k.ignoredConfirmActions.deleteOneOnly=$},{default:()=>[E("deleteOneOnlySkipConfirm"),Ue(" ("),E("resetOnGlobalSettingsPage"),Ue(")")]})]),async onOk(){await F(),U()}})});break}}return{}},{isOutside:y}=Et(M);return de("keydown",d=>{var D,O,j;const u=h=>{var A;const x=h;if(!x)return!1;const T=(A=x.tagName)==null?void 0:A.toLowerCase();return T==="input"||T==="textarea"||x.isContentEditable},m=Xt(d);if(v.value){m==="Esc"&&Te();const h=(D=Object.entries(k.shortcut).find(x=>x[1]===m&&x[1]))==null?void 0:D[0];if(h){d.stopPropagation(),d.preventDefault();const x=i.value,T=t.value[x];switch(h){case"delete":return p({key:"deleteFiles"},T,x);case"download":return p({key:"download"},T,x);default:{const A=(O=/^toggle_tag_(.*)$/.exec(h))==null?void 0:O[1],W=(j=k.conf)==null?void 0:j.all_custom_tags.find(z=>z.name===A);if(W)return p({key:`toggle-tag-${W.id}`},T,x);if(h.startsWith("copy_to_")){const z=h.split("copy_to_")[1];return p({key:`copy-to-${z}`},T,x)}if(h.startsWith("move_to_")){const z=h.split("move_to_")[1];return p({key:`move-to-${z}`},T,x)}}}}}else if(!y.value&&!u(d.target)){if(!d.altKey&&!d.ctrlKey&&!d.metaKey){const h=I.value,x=t.value.length,T=Math.max(x-1,0),A=W=>{if(!h||x===0)return;const z=Math.min(Math.max(W,0),T);h.scrollToItem(z)};switch(d.key){case"PageUp":{d.preventDefault(),d.stopPropagation();const W=h?Math.max(h.$_endIndex-h.$_startIndex,1):1,z=(h==null?void 0:h.$_startIndex)??0;return A(z-W)}case"PageDown":{d.preventDefault(),d.stopPropagation();const W=h?Math.max(h.$_endIndex-h.$_startIndex,1):1,z=(h==null?void 0:h.$_startIndex)??0;return A(z+W)}case"Home":return d.preventDefault(),d.stopPropagation(),A(0);case"End":return d.preventDefault(),d.stopPropagation(),A(T);case"Backspace":return d.preventDefault(),d.stopPropagation(),w.value.emit("navigateUp")}}["Ctrl + KeyA","Cmd + KeyA"].includes(m)&&(d.preventDefault(),d.stopPropagation(),w.value.emit("selectAll"))}}),{onFileItemClick:c,onContextMenuClick:p,showGenInfo:a,imageGenInfo:e,q:r}}const _e=new Map,xa=()=>{const{useEventListen:l,sortedFiles:a,getViewableAreaFiles:e}=J().toRefs(),t=N(k.defaultChangeIndchecked),i=N(k.defaultSeedChangeChecked),s=async()=>{if(await te(100),!t.value)return;const P=e.value().filter(I=>H(I.fullpath)&&!I.gen_info_obj);if(!P.length)return;const v=await Bt(P.map(I=>I.fullpath).filter(I=>!_e.has(I)));P.forEach(I=>{const M=v[I.fullpath]||_e.get(I.fullpath)||"";_e.set(I.fullpath,M),I.gen_info_obj=qt(M),I.gen_info_raw=M})};l.value("viewableAreaFilesChange",s);const _=P=>{const v=a.value;return[P,i.value,v[P-1],v[P],v[P+1]]};function L(P,v,I,M){const w={diff:{},empty:!0,ownFile:"",otherFile:""};if(v+I<0||v+I>=a.value.length||a.value[v]==null||!("gen_info_obj"in a.value[v])||!("gen_info_obj"in a.value[v+I]))return w;const S=P,n=a.value[v+I].gen_info_obj;if(n==null)return w;const o=["hashes","resources"];w.diff={},w.ownFile=M.name,w.otherFile=a.value[v+I].name,w.empty=!1,i.value||o.push("seed");for(const r in S)if(!o.includes(r)){if(!(r in n)){w.diff[r]="+";continue}if(S[r]!=n[r])if(r.includes("rompt")&&S[r]!=""&&n[r]!=""){const c=S[r].split(","),p=n[r].split(",");let y=0;for(const d in c)c[d]!=p[d]&&y++;w.diff[r]=y}else w.diff[r]=[S[r],n[r]]}return w}return{getGenDiff:L,changeIndchecked:t,seedChangeChecked:i,getRawGenParams:()=>s(),getGenDiffWatchDep:_}},ye=new Map,k=Gt(),at=ua(),ue=Ht(),Me=Kt(),ce=new BroadcastChannel("iib-image-transfer-bus"),{eventEmitter:Y,useEventListen:we}=Ze(),{useHookShareState:J}=oa((l,{images:a})=>{const e=N({tabIdx:-1,paneIdx:-1}),t=Q(()=>ne(i.value)),i=N([]),s=Q(()=>{var u;return i.value.map(m=>m.curr).slice((u=k.conf)!=null&&u.is_win&&e.value.mode!=="scanned-fixed"?1:0)}),_=Q(()=>Ge(...s.value)),L=Q(()=>{var u,m;return e.value.mode==="scanned-fixed"?((m=(u=i.value)==null?void 0:u[0])==null?void 0:m.curr)??"":e.value.mode==="walk"?e.value.path??"":i.value.length===1?"/":_.value}),P=N(k.defaultSortingMethod),v=N(e.value.mode=="walk"?new ge(e.value.path,P.value):void 0);le([()=>e.value.mode,()=>e.value.path,P],async([u,m,D])=>{var O;u==="walk"?(v.value=new ge(m,D),i.value=[{files:[],curr:m}],await te(),await((O=v.value)==null?void 0:O.reset()),y.eventEmitter.emit("loadNextDir")):v.value=void 0});const I=De(new Set);le(t,()=>I.clear());const M=Q(()=>{var O;if(a.value)return a.value;if(v.value)return v.value.images.filter(j=>!I.has(j.fullpath));if(!t.value)return[];const u=((O=t.value)==null?void 0:O.files)??[],m=P.value;return Be((j=>{const h=k.fileTypeFilter;return h.includes("all")||h.length===0?j:j.filter(x=>!!(x.type==="dir"||h.includes("image")&&H(x.name)||h.includes("video")&&Ae(x.name)||h.includes("audio")&&Le(x.name)))})(u),m).filter(j=>!I.has(j.fullpath))}),w=N([]),S=N(-1),n=Q(()=>v.value?!v.value.isCompleted:!1),o=N(!1),r=N(!1),c=N(),p=()=>{var u,m,D;return(D=(m=(u=k.tabList)==null?void 0:u[e.value.tabIdx])==null?void 0:m.panes)==null?void 0:D[e.value.paneIdx]},y=Ze();y.useEventListen("selectAll",()=>{console.log(`select all 0 -> ${M.value.length}`),w.value=et(0,M.value.length)});const d=()=>{const u=c.value;if(u){const m=Math.max(u.$_startIndex-10,0);return M.value.slice(m,u.$_endIndex+10)}return[]};return{previewing:r,spinning:o,canLoadNext:n,multiSelectedIdxs:w,previewIdx:S,basePath:s,currLocation:L,currPage:t,stack:i,sortMethod:P,sortedFiles:M,scroller:c,stackViewEl:N(),props:e,getPane:p,walker:v,deletedFiles:I,getViewableAreaFiles:d,...y}},()=>({images:N()}));function Ia(){const{eventEmitter:l,multiSelectedIdxs:a,sortedFiles:e}=J().toRefs();return{onSelectAll:()=>l.value.emit("selectAll"),onReverseSelect:()=>{a.value=e.value.map((_,L)=>L).filter(_=>!a.value.includes(_))},onClearAllSelected:()=>{a.value=[]}}}const Sa=()=>{const{stackViewEl:l}=J().toRefs(),a=N(-1);return Qt(l,e=>{var i;let t=e.target;for(;t.parentElement;)if(t=t.parentElement,t.tagName.toLowerCase()==="li"&&t.classList.contains("file-item-trigger")){const s=(i=t.dataset)==null?void 0:i.idx;s&&Number.isSafeInteger(+s)&&(a.value=+s);return}}),{showMenuIdx:a}},Ta=Object.freeze(Object.defineProperty({__proto__:null,batchDownload:at,events:Y,global:k,imgTransferBus:ce,sli:Me,stackCache:ye,tagStore:ue,useEventListen:we,useFileItemActions:ba,useFileTransfer:ga,useFilesDisplay:ma,useGenInfoDiff:xa,useHookShareState:J,useKeepMultiSelect:Ia,useLocation:pa,useMobileOptimization:Sa,usePreview:ha},Symbol.toStringTag,{value:"Module"}));export{pa as a,ma as b,ga as c,ba as d,ha as e,Sa as f,Ia as g,xa as h,we as i,ua as j,de as k,Ta as l,ka as o,ye as s,J as u};