diff --git a/change.log.md b/change.log.md index af4ac94..6e53808 100644 --- a/change.log.md +++ b/change.log.md @@ -1,6 +1,42 @@ [跳到中文](#中文) # English +## 2026-02-23 +### 🎬 Inline Video Playback +Added inline video playback feature for video items wider than 400px. + +**Features:** +- **Play Here Button**: Hover over a video to see the "Play Here" button in the bottom-left corner +- **Inline Playback**: Click to play the video directly in the grid item without opening a modal +- **Auto-Stop Others**: Automatically stops any other playing videos when starting a new one +- **Multi-language Support**: Button text is fully internationalized (English, Chinese, German) +- **Smart Reset**: Automatically stops playback when the list is reordered or refreshed + +**How to use:** +1. Make sure your grid cell width is greater than 400px (adjustable in settings) +2. Hover over any video thumbnail +3. Click the "Play Here" button in the bottom-left corner +4. The video plays inline with full controls +5. Click elsewhere or play another video to stop + +**Note:** The center play icon still opens the modal player for full-screen viewing. + +Inline video playback + +## 2026-02-22 +### 📝 Parse extra JSON metadata +Parse and mixin `extraJsonMetaInfo` field from image metadata. + +### 🎡 Tips carousel +Added tips carousel component with 10 multilingual tips to help users discover features. + +### 🗄️ Optimize database backup +Optimized database backup to run once per day and reduced max backups to 4. + +### 📚 Docs improvements +Fixed URL encoding example with correct keywords and reorganized skill documentation. + + ## 2026-02-17 ### 🗂️ Smart Organize - AI-Powered File Organization \ @@ -691,6 +727,41 @@ Triggered under the same circumstances as above, there will be a button to updat # 中文 +## 2026-02-23 +### 🎬 视频原地播放功能 +为宽度超过 400px 的视频 item 添加了原地播放功能。 + +**功能特性:** +- **"在此播放"按钮**:鼠标悬停在视频上时,左下角会显示播放按钮 +- **原地播放**:点击按钮直接在网格 item 内播放视频,无需打开弹窗 +- **自动停止其他视频**:播放新视频时,会自动停止其他正在播放的视频 +- **多语言支持**:按钮文字支持多语言(英文、简体中文、繁体中文、德语) +- **智能重置**:列表重新排序或刷新时,自动停止播放 + +**使用方法:** +1. 确保网格单元格宽度大于 400px(可在设置中调整) +2. 将鼠标悬停在任意视频缩略图上 +3. 点击左下角的"在此播放"按钮 +4. 视频将在 item 内播放,带有完整的控制条 +5. 点击其他位置或播放其他视频即可停止 + +**注意:** 中心的播放图标仍然可以打开模态框播放器进行全屏查看。 + +视频原地播放 +## 2026-02-22 +### 📝 解析额外 JSON 元数据 +解析并混入图片元数据中的 `extraJsonMetaInfo` 字段。 + +### 🎡 提示轮播 +新增提示轮播组件,包含 10 条多语言提示,帮助用户发现功能。 + +### 🗄️ 优化数据库备份 +优化数据库备份为每天一次,并减少最大备份数为 4 个。 + +### 📚 文档改进 +修复 URL 编码示例中的关键词,并重组技能文档。 + + ## 2026-02-17 ### 🗂️ 智能整理 - AI 驱动的文件整理 diff --git a/docs/imgs/file-item-play-here.png b/docs/imgs/file-item-play-here.png new file mode 100644 index 0000000..3987380 Binary files /dev/null and b/docs/imgs/file-item-play-here.png differ diff --git a/javascript/index.js b/javascript/index.js index afc9d25..07b3271 100644 --- a/javascript/index.js +++ b/javascript/index.js @@ -13,7 +13,7 @@ Promise.resolve().then(async () => { Infinite Image Browsing - + diff --git a/vue/dist/assets/FileItem-0881fad3.css b/vue/dist/assets/FileItem-0881fad3.css deleted file mode 100644 index a2a9577..0000000 --- a/vue/dist/assets/FileItem-0881fad3.css +++ /dev/null @@ -1 +0,0 @@ -.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}.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-d7ac6541]{display:flex;justify-content:center;align-items:center}.item-content[data-v-d7ac6541]{position:relative}.item-content.video[data-v-d7ac6541]{background-color:var(--zp-border);border-radius:8px;overflow:hidden;width:var(--21801204);height:var(--21801204);background-size:cover;background-position:center;cursor:pointer}.item-content.audio[data-v-d7ac6541]{background:linear-gradient(135deg,#1a1a2e 0%,#16213e 50%,#0f3460 100%);border-radius:8px;overflow:hidden;width:var(--21801204);height:var(--21801204);display:flex;align-items:center;justify-content:center;cursor:pointer}.item-content.audio .audio-icon[data-v-d7ac6541]{font-size:48px}.item-content .play-icon[data-v-d7ac6541]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:100%;display:flex}.item-content .tags-container[data-v-d7ac6541]{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-d7ac6541]{margin:0 0 4px 4px;font-size:14px;line-height:1.6}.close-icon[data-v-d7ac6541]{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-d7ac6541]{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-d7ac6541]{opacity:1}.file .more[data-v-d7ac6541]{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-d7ac6541]{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-d7ac6541]{color:#df0505}.file.grid[data-v-d7ac6541]{padding:0;display:inline-block;box-sizing:content-box;box-shadow:unset;background-color:var(--zp-secondary-background)}.file.grid[data-v-d7ac6541] .icon{font-size:8em}.file.grid[data-v-d7ac6541] .profile{padding:0 4px}.file.grid[data-v-d7ac6541] .profile .name{font-weight:500;padding:0}.file.grid[data-v-d7ac6541] .profile .basic-info{display:flex;justify-content:space-between;flex-direction:row;margin:0;font-size:.7em}.file.grid[data-v-d7ac6541] .profile .basic-info *{white-space:nowrap;overflow:hidden}.file.grid[data-v-d7ac6541] .ant-image,.file.grid[data-v-d7ac6541] .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-d7ac6541] img:not(.dir-cover-item),.file.grid[data-v-d7ac6541] .dir-cover-container,.file.grid[data-v-d7ac6541] .preview-icon-wrap>[role=img]{height:var(--21801204);width:var(--21801204);object-fit:contain}.file.clickable[data-v-d7ac6541]{cursor:pointer}.file.selected[data-v-d7ac6541]{outline:#0084ff solid 2px}.file .name[data-v-d7ac6541]{flex:1;padding:8px;word-break:break-all}.file .basic-info[data-v-d7ac6541]{overflow:hidden;display:flex;flex-direction:column;align-items:flex-end}.file .dir-cover-container[data-v-d7ac6541]{top:0;display:flex;flex-wrap:wrap;padding:4px}.file .dir-cover-container>img[data-v-d7ac6541]{width:calc(50% - 8px);height:calc(50% - 8px);margin:4px;object-fit:cover;border-radius:8px;overflow:hidden} diff --git a/vue/dist/assets/FileItem-72718f68.js b/vue/dist/assets/FileItem-72718f68.js new file mode 100644 index 0000000..be4fc0c --- /dev/null +++ b/vue/dist/assets/FileItem-72718f68.js @@ -0,0 +1,2 @@ +import{c as v,A as ie,aw as fe,ax as ce,x as he,o as s,B as C,cv as Ye,cw as Ge,cx as qe,bh as Ze,cy as xe,bc as Oe,j as d,ah as Z,m as h,C as g,F as N,K as M,bi as be,bj as Xe,cz as et,J as Ne,V as J,d as ge,p as Be,aj as Y,l as p,t as u,E as I,cA as tt,a4 as Me,cr as it,cq as nt,M as Fe,k as o,n as Re,cB as st,ce as ot,cC as lt,bm as rt,r as x,ay as at,s as Ae,cD as ke,U as _e,cE as dt,ck as ut,cF as ft,cG as ct,cH as Ie,cI as ht,cJ as se,G as gt,bk as pt,cK as mt,cL as vt,ar as yt,cj as bt,cM as At,cN as kt,cO as _t,bO as It}from"./index-f2db319b.js";import{D as G,a as le}from"./index-29e38a15.js";G.Button=le;G.install=function(e){return e.component(G.name,G),e.component(le.name,le),e};var St={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 Tt=St;function Se(e){for(var t=1;t0)return parseInt(e.substring(t+5,e.indexOf(".",t)),10);var i=e.indexOf("Trident/");if(i>0){var n=e.indexOf("rv:");return parseInt(e.substring(n+3,e.indexOf(".",n)),10)}var l=e.indexOf("Edge/");return l>0?parseInt(e.substring(l+5,e.indexOf(".",l)),10):-1}let ee;function re(){re.init||(re.init=!0,ee=Ft()!==-1)}var ne={name:"ResizeObserver",props:{emitOnMount:{type:Boolean,default:!1},ignoreWidth:{type:Boolean,default:!1},ignoreHeight:{type:Boolean,default:!1}},emits:["notify"],mounted(){re(),he(()=>{this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitOnMount&&this.emitSize()});const e=document.createElement("object");this._resizeObject=e,e.setAttribute("aria-hidden","true"),e.setAttribute("tabindex",-1),e.onload=this.addResizeHandlers,e.type="text/html",ee&&this.$el.appendChild(e),e.data="about:blank",ee||this.$el.appendChild(e)},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&&(!ee&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.compareAndNotify),this.$el.removeChild(this._resizeObject),this._resizeObject.onload=null,this._resizeObject=null)}}};const Rt=Ye();fe("data-v-b329ee4c");const Vt={class:"resize-observer",tabindex:"-1"};ce();const jt=Rt((e,t,i,n,l,a)=>(s(),C("div",Vt)));ne.render=jt;ne.__scopeId="data-v-b329ee4c";ne.__file="src/components/ResizeObserver.vue";function te(e){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?te=function(t){return typeof t}:te=function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},te(e)}function Lt(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function De(e,t){for(var i=0;ie.length)&&(t=e.length);for(var i=0,n=new Array(t);i2&&arguments[2]!==void 0?arguments[2]:{},n,l,a,m=function(y){for(var A=arguments.length,z=new Array(A>1?A-1:0),Q=1;Q1){var A=f.find(function(Q){return Q.isIntersecting});A&&(y=A)}if(l.callback){var z=y.isIntersecting&&y.intersectionRatio>=l.threshold;if(z===l.oldResult)return;l.oldResult=z,l.callback(z,y)}},this.options.intersection),he(function(){l.observer&&l.observer.observe(l.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}}]),e}();function Je(e,t,i){var n=t.value;if(n)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 l=new qt(e,n,i);e._vue_visibilityState=l}}function Zt(e,t,i){var n=t.value,l=t.oldValue;if(!Le(n,l)){var a=e._vue_visibilityState;if(!n){He(e);return}a?a.createObserver(n,i):Je(e,{value:n},i)}}function He(e){var t=e._vue_visibilityState;t&&(t.destroyObserver(),delete e._vue_visibilityState)}var xt={beforeMount:Je,updated:Zt,unmounted:He},Xt={itemsLimit:1e3},ei=/(auto|scroll)/;function Ue(e,t){return e.parentNode===null?t:Ue(e.parentNode,t.concat([e]))}var oe=function(t,i){return getComputedStyle(t,null).getPropertyValue(i)},ti=function(t){return oe(t,"overflow")+oe(t,"overflow-y")+oe(t,"overflow-x")},ii=function(t){return ei.test(ti(t))};function Qe(e){if(e instanceof HTMLElement||e instanceof SVGElement){for(var t=Ue(e.parentNode,[]),i=0;i{this.$_prerender=!1,this.updateVisibleItems(!0),this.ready=!0})},activated(){const e=this.$_lastUpdateScrollPosition;typeof e=="number"&&this.$nextTick(()=>{this.scrollToPosition(e)})},beforeUnmount(){this.removeListeners()},methods:{addView(e,t,i,n,l){const a=Ge({id:li++,index:t,used:!0,key:n,type:l}),m=qe({item:i,position:0,nr:a});return e.push(m),m},unuseView(e,t=!1){const i=this.$_unusedViews,n=e.nr.type;let l=i.get(n);l||(l=[],i.set(n,l)),l.push(e),t||(e.nr.used=!1,e.position=-9999)},handleResize(){this.$emit("resize"),this.ready&&this.updateVisibleItems(!1)},handleScroll(e){if(!this.$_scrollDirty){if(this.$_scrollDirty=!0,this.$_updateTimeout)return;const t=()=>requestAnimationFrame(()=>{this.$_scrollDirty=!1;const{continuous:i}=this.updateVisibleItems(!1,!0);i||(clearTimeout(this.$_refreshTimout),this.$_refreshTimout=setTimeout(this.handleScroll,this.updateInterval+100))});t(),this.updateInterval&&(this.$_updateTimeout=setTimeout(()=>{this.$_updateTimeout=0,this.$_scrollDirty&&t()},this.updateInterval))}},handleVisibilityChange(e,t){this.ready&&(e||t.boundingClientRect.width!==0||t.boundingClientRect.height!==0?(this.$emit("visible"),requestAnimationFrame(()=>{this.updateVisibleItems(!1)})):this.$emit("hidden"))},updateVisibleItems(e,t=!1){const i=this.itemSize,n=this.gridItems||1,l=this.itemSecondarySize||i,a=this.$_computedMinItemSize,m=this.typeField,f=this.simpleArray?null:this.keyField,y=this.items,A=y.length,z=this.sizes,Q=this.$_views,T=this.$_unusedViews,H=this.pool,P=this.itemIndexByKey;let S,E,U,B,F;if(!A)S=E=B=F=U=0;else if(this.$_prerender)S=B=0,E=F=Math.min(this.prerender,y.length),U=null;else{const c=this.getScroll();if(t){let O=c.start-this.$_lastUpdateScrollPosition;if(O<0&&(O=-O),i===null&&Oc.start&&(W=$),$=~~((L+W)/2);while($!==b);for($<0&&($=0),S=$,U=z[A-1].accumulator,E=$;EA&&(E=A)),B=S;BA&&(E=A),B<0&&(B=0),F>A&&(F=A),U=Math.ceil(A/n)*i}}E-S>Xt.itemsLimit&&this.itemsLimitError(),this.totalSize=U;let k;const K=S<=this.$_endIndex&&E>=this.$_startIndex;if(K)for(let c=0,w=H.length;c=E)&&this.unuseView(k));const q=K?null:new Map;let V,R,r;for(let c=S;c=D.length)&&(k=this.addView(H,c,V,w,R),this.unuseView(k,!0),D=T.get(R)),k=D[r],q.set(R,r+1)),Q.delete(k.nr.key),k.nr.used=!0,k.nr.index=c,k.nr.key=w,k.nr.type=R,Q.set(w,k),O=!0;else if(!k.nr.used&&(k.nr.used=!0,k.nr.index=c,O=!0,D)){const L=D.indexOf(k);L!==-1&&D.splice(L,1)}k.item=V,O&&(c===y.length-1&&this.$emit("scroll-end"),c===0&&this.$emit("scroll-start")),i===null?(k.position=z[c-1].accumulator,k.offset=0):(k.position=Math.floor(c/n)*i,k.offset=c%n*l)}return this.$_startIndex=S,this.$_endIndex=E,this.emitUpdate&&this.$emit("update",S,E,B,F),clearTimeout(this.$_sortTimer),this.$_sortTimer=setTimeout(this.sortViews,this.updateInterval+300),{continuous:K}},getListenerTarget(){let e=Qe(this.$el);return window.document&&(e===window.document.documentElement||e===window.document.body)&&(e=window),e},getScroll(){const{$el:e,direction:t}=this,i=t==="vertical";let n;if(this.pageMode){const l=e.getBoundingClientRect(),a=i?l.height:l.width;let m=-(i?l.top:l.left),f=i?window.innerHeight:window.innerWidth;m<0&&(f+=m,m=0),m+f>a&&(f=a-m),n={start:m,end:m+f}}else i?n={start:e.scrollTop,end:e.scrollTop+e.clientHeight}:n={start:e.scrollLeft,end:e.scrollLeft+e.clientWidth};return n},applyPageMode(){this.pageMode?this.addListeners():this.removeListeners()},addListeners(){this.listenerTarget=this.getListenerTarget(),this.listenerTarget.addEventListener("scroll",this.handleScroll,ue?{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(e){let t;const i=this.gridItems||1;this.itemSize===null?t=e>0?this.sizes[e-1].accumulator:0:t=Math.floor(e/i)*this.itemSize,this.scrollToPosition(t)},scrollToPosition(e){const t=this.direction==="vertical"?{scroll:"scrollTop",start:"top"}:{scroll:"scrollLeft",start:"left"};let i,n,l;if(this.pageMode){const a=Qe(this.$el),m=a.tagName==="HTML"?0:a[t.scroll],f=a.getBoundingClientRect(),A=this.$el.getBoundingClientRect()[t.start]-f[t.start];i=a,n=t.scroll,l=e+m+A}else i=this.$el,n=t.scroll,l=e;i[n]=l},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((e,t)=>e.nr.index-t.nr.index)}}};const ri={key:0,ref:"before",class:"vue-recycle-scroller__slot"},ai={key:1,ref:"after",class:"vue-recycle-scroller__slot"};function di(e,t,i,n,l,a){const m=Ze("ResizeObserver"),f=xe("observe-visibility");return Oe((s(),d("div",{class:J(["vue-recycle-scroller",{ready:l.ready,"page-mode":i.pageMode,[`direction-${e.direction}`]:!0}]),onScrollPassive:t[0]||(t[0]=(...y)=>a.handleScroll&&a.handleScroll(...y))},[e.$slots.before?(s(),d("div",ri,[Z(e.$slots,"before")],512)):h("v-if",!0),(s(),C(be(i.listTag),{ref:"wrapper",style:Ne({[e.direction==="vertical"?"minHeight":"minWidth"]:l.totalSize+"px"}),class:J(["vue-recycle-scroller__item-wrapper",i.listClass])},{default:g(()=>[(s(!0),d(N,null,M(l.pool,y=>(s(),C(be(i.itemTag),Xe({key:y.nr.id,style:l.ready?{transform:`translate${e.direction==="vertical"?"Y":"X"}(${y.position}px) translate${e.direction==="vertical"?"X":"Y"}(${y.offset}px)`,width:i.gridItems?`${e.direction==="vertical"&&i.itemSecondarySize||i.itemSize}px`:void 0,height:i.gridItems?`${e.direction==="horizontal"&&i.itemSecondarySize||i.itemSize}px`:void 0}:null,class:["vue-recycle-scroller__item-view",[i.itemClass,{hover:!i.skipHover&&l.hoverKey===y.nr.key}]]},et(i.skipHover?{}:{mouseenter:()=>{l.hoverKey=y.nr.key},mouseleave:()=>{l.hoverKey=null}})),{default:g(()=>[Z(e.$slots,"default",{item:y.item,index:y.nr.index,active:y.nr.used})]),_:2},1040,["style","class"]))),128)),Z(e.$slots,"empty")]),_:3},8,["style","class"])),e.$slots.after?(s(),d("div",ai,[Z(e.$slots,"after")],512)):h("v-if",!0),v(m,{onNotify:a.handleResize},null,8,["onNotify"])],34)),[[f,a.handleVisibilityChange]])}Ke.render=di;Ke.__file="src/components/RecycleScroller.vue";const $e=ge({__name:"ContextMenu",props:{file:{},idx:{},selectedTag:{},isSelectedMutilFiles:{type:Boolean}},emits:["contextMenuClick"],setup(e,{emit:t}){const i=e,n=Be(),l=Y(()=>{var a;return(((a=n.conf)==null?void 0:a.all_custom_tags)??[]).reduce((m,f)=>[...m,{...f,selected:!!i.selectedTag.find(y=>y.id===f.id)}],[])});return(a,m)=>{const f=Me,y=it,A=nt,z=Fe;return s(),C(z,{onClick:m[0]||(m[0]=Q=>t("contextMenuClick",Q,a.file,a.idx))},{default:g(()=>{var Q;return[v(f,{key:"deleteFiles"},{default:g(()=>[p(u(a.$t("deleteSelected")),1)]),_:1}),v(f,{key:"openWithDefaultApp"},{default:g(()=>[p(u(a.$t("openWithDefaultApp")),1)]),_:1}),v(f,{key:"saveSelectedAsJson"},{default:g(()=>[p(u(a.$t("saveSelectedAsJson")),1)]),_:1}),a.file.type==="dir"?(s(),d(N,{key:0},[v(f,{key:"openInNewTab"},{default:g(()=>[p(u(a.$t("openInNewTab")),1)]),_:1}),v(f,{key:"openOnTheRight"},{default:g(()=>[p(u(a.$t("openOnTheRight")),1)]),_:1}),v(f,{key:"openWithWalkMode"},{default:g(()=>[p(u(a.$t("openWithWalkMode")),1)]),_:1})],64)):h("",!0),a.file.type==="file"?(s(),d(N,{key:1},[I(tt)(a.file.name)?(s(),d(N,{key:0},[v(f,{key:"viewGenInfo"},{default:g(()=>[p(u(a.$t("viewGenerationInfo")),1)]),_:1}),v(f,{key:"tiktokView"},{default:g(()=>[p(u(a.$t("tiktokView")),1)]),_:1}),v(y),((Q=I(n).conf)==null?void 0:Q.launch_mode)!=="server"?(s(),d(N,{key:0},[v(f,{key:"send2txt2img"},{default:g(()=>[p(u(a.$t("sendToTxt2img")),1)]),_:1}),v(f,{key:"send2img2img"},{default:g(()=>[p(u(a.$t("sendToImg2img")),1)]),_:1}),v(f,{key:"send2inpaint"},{default:g(()=>[p(u(a.$t("sendToInpaint")),1)]),_:1}),v(f,{key:"send2extras"},{default:g(()=>[p(u(a.$t("sendToExtraFeatures")),1)]),_:1}),v(A,{key:"sendToThirdPartyExtension",title:a.$t("sendToThirdPartyExtension")},{default:g(()=>[v(f,{key:"send2controlnet-txt2img"},{default:g(()=>[p("ControlNet - "+u(a.$t("t2i")),1)]),_:1}),v(f,{key:"send2controlnet-img2img"},{default:g(()=>[p("ControlNet - "+u(a.$t("i2i")),1)]),_:1}),v(f,{key:"send2outpaint"},{default:g(()=>[p("openOutpaint")]),_:1})]),_:1},8,["title"])],64)):h("",!0),v(f,{key:"send2BatchDownload"},{default:g(()=>[p(u(a.$t("sendToBatchDownload")),1)]),_:1}),v(A,{key:"copy2target",title:a.$t("copyTo")},{default:g(()=>[(s(!0),d(N,null,M(I(n).quickMovePaths,T=>(s(),C(f,{key:`copy-to-${T.dir}`},{default:g(()=>[p(u(T.zh),1)]),_:2},1024))),128))]),_:1},8,["title"]),v(A,{key:"move2target",title:a.$t("moveTo")},{default:g(()=>[(s(!0),d(N,null,M(I(n).quickMovePaths,T=>(s(),C(f,{key:`move-to-${T.dir}`},{default:g(()=>[p(u(T.zh),1)]),_:2},1024))),128))]),_:1},8,["title"]),v(y),a.isSelectedMutilFiles?(s(),d(N,{key:1},[v(A,{key:"batch-add-tag",title:a.$t("batchAddTag")},{default:g(()=>[v(f,{key:"add-custom-tag"},{default:g(()=>[p("+ "+u(a.$t("addNewCustomTag")),1)]),_:1}),(s(!0),d(N,null,M(l.value,T=>(s(),C(f,{key:`batch-add-tag-${T.id}`},{default:g(()=>[p(u(T.name),1)]),_:2},1024))),128))]),_:1},8,["title"]),v(A,{key:"batch-remove-tag",title:a.$t("batchRemoveTag")},{default:g(()=>[(s(!0),d(N,null,M(l.value,T=>(s(),C(f,{key:`batch-remove-tag-${T.id}`},{default:g(()=>[p(u(T.name),1)]),_:2},1024))),128))]),_:1},8,["title"])],64)):(s(),C(A,{key:"toggle-tag",title:a.$t("toggleTag")},{default:g(()=>[v(f,{key:"add-custom-tag"},{default:g(()=>[p("+ "+u(a.$t("addNewCustomTag")),1)]),_:1}),(s(!0),d(N,null,M(l.value,T=>(s(),C(f,{key:`toggle-tag-${T.id}`},{default:g(()=>[p(u(T.name)+" ",1),T.selected?(s(),C(I(Ve),{key:0})):(s(),C(I(je),{key:1}))]),_:2},1024))),128))]),_:1},8,["title"])),v(y),v(f,{key:"openFileLocationInNewTab"},{default:g(()=>[p(u(a.$t("openFileLocationInNewTab")),1)]),_:1}),v(f,{key:"openWithLocalFileBrowser"},{default:g(()=>[p(u(a.$t("openWithLocalFileBrowser")),1)]),_:1})],64)):h("",!0),v(y),v(f,{key:"rename"},{default:g(()=>[p(u(a.$t("rename")),1)]),_:1}),v(f,{key:"previewInNewWindow"},{default:g(()=>[p(u(a.$t("previewInNewWindow")),1)]),_:1}),v(f,{key:"download"},{default:g(()=>[p(u(a.$t("download")),1)]),_:1}),v(f,{key:"copyPreviewUrl"},{default:g(()=>[p(u(a.$t("copySourceFilePreviewLink")),1)]),_:1}),v(f,{key:"copyFilePath"},{default:g(()=>[p(u(a.$t("copyFilePath")),1)]),_:1})],64)):h("",!0)]}),_:1})}}}),_=e=>(fe("data-v-78cd67a3"),e=e(),ce(),e),ui={class:"changeIndicatorWrapper"},fi={key:0,class:"changeIndicatorsLeft changeIndicators"},ci={key:0,class:"promptChangeIndicator changeIndicator"},hi={key:1,class:"negpromptChangeIndicator changeIndicator"},gi={key:2,class:"seedChangeIndicator changeIndicator"},pi={key:3,class:"stepsChangeIndicator changeIndicator"},mi={key:4,class:"cfgChangeIndicator changeIndicator"},vi={key:5,class:"sizeChangeIndicator changeIndicator"},yi={key:6,class:"modelChangeIndicator changeIndicator"},bi={key:7,class:"samplerChangeIndicator changeIndicator"},Ai={key:8,class:"otherChangeIndicator changeIndicator"},ki={class:"hoverOverlay"},_i=_(()=>o("strong",null,"This file",-1)),Ii=_(()=>o("br",null,null,-1)),Si=_(()=>o("br",null,null,-1)),Ti={key:0},Ci=_(()=>o("td",null,[o("span",{class:"promptChangeIndicator"},"+ Prompt")],-1)),Ei={key:1},wi=_(()=>o("td",null,[o("span",{class:"negpromptChangeIndicator"},"- Prompt")],-1)),Pi={key:2},Di=_(()=>o("td",null,[o("span",{class:"seedChangeIndicator"},"Seed")],-1)),zi={key:3},Qi=_(()=>o("td",null,[o("span",{class:"stepsChangeIndicator"},"Steps")],-1)),$i={key:4},Oi=_(()=>o("td",null,[o("span",{class:"cfgChangeIndicator"},"Cfg Scale")],-1)),Ni={key:5},Bi=_(()=>o("td",null,[o("span",{class:"sizeChangeIndicator"},"Size")],-1)),Mi={key:6},Fi=_(()=>o("td",null,[o("span",{class:"modelChangeIndicator"},"Model")],-1)),Ri=_(()=>o("br",null,null,-1)),Vi={key:7},ji=_(()=>o("td",null,[o("span",{class:"samplerChangeIndicator"},"Sampler")],-1)),Li=_(()=>o("br",null,null,-1)),Ji=_(()=>o("br",null,null,-1)),Hi={key:0},Ui=_(()=>o("span",{class:"otherChangeIndicator"},"Other",-1)),Ki=_(()=>o("br",null,null,-1)),Wi=_(()=>o("br",null,null,-1)),Yi={key:1,class:"changeIndicatorsRight changeIndicators"},Gi={key:0,class:"promptChangeIndicator changeIndicator"},qi={key:1,class:"negpromptChangeIndicator changeIndicator"},Zi={key:2,class:"seedChangeIndicator changeIndicator"},xi={key:3,class:"stepsChangeIndicator changeIndicator"},Xi={key:4,class:"cfgChangeIndicator changeIndicator"},en={key:5,class:"sizeChangeIndicator changeIndicator"},tn={key:6,class:"modelChangeIndicator changeIndicator"},nn={key:7,class:"samplerChangeIndicator changeIndicator"},sn={key:8,class:"otherChangeIndicator changeIndicator"},on={class:"hoverOverlay"},ln=_(()=>o("strong",null,"This file",-1)),rn=_(()=>o("br",null,null,-1)),an=_(()=>o("br",null,null,-1)),dn={key:0},un=_(()=>o("td",null,[o("span",{class:"promptChangeIndicator"},"+ Prompt")],-1)),fn={key:1},cn=_(()=>o("td",null,[o("span",{class:"negpromptChangeIndicator"},"- Prompt")],-1)),hn={key:2},gn=_(()=>o("td",null,[o("span",{class:"seedChangeIndicator"},"Seed")],-1)),pn={key:3},mn=_(()=>o("td",null,[o("span",{class:"stepsChangeIndicator"},"Steps")],-1)),vn={key:4},yn=_(()=>o("td",null,[o("span",{class:"cfgChangeIndicator"},"Cfg Scale")],-1)),bn={key:5},An=_(()=>o("td",null,[o("span",{class:"sizeChangeIndicator"},"Size")],-1)),kn={key:6},_n=_(()=>o("td",null,[o("span",{class:"modelChangeIndicator"},"Model")],-1)),In=_(()=>o("br",null,null,-1)),Sn={key:7},Tn=_(()=>o("td",null,[o("span",{class:"samplerChangeIndicator"},"Sampler")],-1)),Cn=_(()=>o("br",null,null,-1)),En=_(()=>o("br",null,null,-1)),wn={key:0},Pn=_(()=>o("span",{class:"otherChangeIndicator"},"Other",-1)),Dn=_(()=>o("br",null,null,-1)),zn=_(()=>o("br",null,null,-1)),Qn=ge({__name:"ChangeIndicator",props:{genDiffToPrevious:{},genDiffToNext:{},genInfo:{}},setup(e){function t(n){const l=["prompt","negativePrompt","seed","steps","cfgScale","size","Model","others"],a=Object.keys(n).filter(m=>!l.includes(m));return Object.fromEntries(a.map(m=>[m,n[m]]))}function i(n){return Object.keys(t(n)).length>0}return(n,l)=>(s(),d("div",ui,[n.genDiffToPrevious.empty?h("",!0):(s(),d("div",fi,["prompt"in n.genDiffToPrevious.diff?(s(),d("div",ci,"P+")):h("",!0),"negativePrompt"in n.genDiffToPrevious.diff?(s(),d("div",hi,"P-")):h("",!0),"seed"in n.genDiffToPrevious.diff?(s(),d("div",gi,"Se")):h("",!0),"steps"in n.genDiffToPrevious.diff?(s(),d("div",pi,"St")):h("",!0),"cfgScale"in n.genDiffToPrevious.diff?(s(),d("div",mi,"Cf")):h("",!0),"size"in n.genDiffToPrevious.diff?(s(),d("div",vi,"Si")):h("",!0),"Model"in n.genDiffToPrevious.diff?(s(),d("div",yi,"Mo")):h("",!0),"Sampler"in n.genDiffToPrevious.diff?(s(),d("div",bi,"Sa")):h("",!0),i(n.genDiffToPrevious.diff)?(s(),d("div",Ai,"Ot")):h("",!0)])),o("div",ki,[o("small",null,[v(I(Ee)),_i,p(" vs "+u(n.genDiffToPrevious.otherFile)+" ",1),Ii,Si,o("table",null,["prompt"in n.genDiffToPrevious.diff?(s(),d("tr",Ti,[Ci,o("td",null,u(n.genDiffToPrevious.diff.prompt)+" tokens changed",1)])):h("",!0),"negativePrompt"in n.genDiffToPrevious.diff?(s(),d("tr",Ei,[wi,o("td",null,u(n.genDiffToPrevious.diff.negativePrompt)+" tokens changed",1)])):h("",!0),"seed"in n.genDiffToPrevious.diff?(s(),d("tr",Pi,[Di,o("td",null,[o("strong",null,u(n.genDiffToPrevious.diff.seed[0]),1),p(" vs "+u(n.genDiffToPrevious.diff.seed[1]),1)])])):h("",!0),"steps"in n.genDiffToPrevious.diff?(s(),d("tr",zi,[Qi,o("td",null,[o("strong",null,u(n.genDiffToPrevious.diff.steps[0]),1),p(" vs "+u(n.genDiffToPrevious.diff.steps[1]),1)])])):h("",!0),"cfgScale"in n.genDiffToPrevious.diff?(s(),d("tr",$i,[Oi,o("td",null,[o("strong",null,u(n.genDiffToPrevious.diff.cfgScale[0]),1),p(" vs "+u(n.genDiffToPrevious.diff.cfgScale[1]),1)])])):h("",!0),"size"in n.genDiffToPrevious.diff?(s(),d("tr",Ni,[Bi,o("td",null,[o("strong",null,u(n.genDiffToPrevious.diff.size[0]),1),p(" vs "+u(n.genDiffToPrevious.diff.size[1]),1)])])):h("",!0),"Model"in n.genDiffToPrevious.diff?(s(),d("tr",Mi,[Fi,o("td",null,[o("strong",null,u(n.genDiffToPrevious.diff.Model[0]),1),Ri,p(" vs "+u(n.genDiffToPrevious.diff.Model[1]),1)])])):h("",!0),"Sampler"in n.genDiffToPrevious.diff?(s(),d("tr",Vi,[ji,o("td",null,[o("strong",null,u(n.genDiffToPrevious.diff.Sampler[0]),1),Li,p(" vs "+u(n.genDiffToPrevious.diff.Sampler[1]),1)])])):h("",!0)]),Ji,i(n.genDiffToPrevious.diff)?(s(),d("div",Hi,[Ui,p(" props that changed:"),Ki,Wi,o("ul",null,[(s(!0),d(N,null,M(t(n.genDiffToPrevious.diff),(a,m)=>(s(),d("li",null,u(m),1))),256))])])):h("",!0)])]),n.genDiffToNext.empty?h("",!0):(s(),d("div",Yi,["prompt"in n.genDiffToNext.diff?(s(),d("div",Gi,"P+")):h("",!0),"negativePrompt"in n.genDiffToNext.diff?(s(),d("div",qi,"P-")):h("",!0),"seed"in n.genDiffToNext.diff?(s(),d("div",Zi,"Se")):h("",!0),"steps"in n.genDiffToNext.diff?(s(),d("div",xi,"St")):h("",!0),"cfgScale"in n.genDiffToNext.diff?(s(),d("div",Xi,"Cf")):h("",!0),"size"in n.genDiffToNext.diff?(s(),d("div",en,"Si")):h("",!0),"Model"in n.genDiffToNext.diff?(s(),d("div",tn,"Mo")):h("",!0),"Sampler"in n.genDiffToNext.diff?(s(),d("div",nn,"Sa")):h("",!0),i(n.genDiffToNext.diff)?(s(),d("div",sn,"Ot")):h("",!0)])),o("div",on,[o("small",null,[v(I(Ee)),ln,p(" vs "+u(n.genDiffToNext.otherFile)+" ",1),rn,an,o("table",null,["prompt"in n.genDiffToNext.diff?(s(),d("tr",dn,[un,o("td",null,u(n.genDiffToNext.diff.prompt)+" tokens changed",1)])):h("",!0),"negativePrompt"in n.genDiffToNext.diff?(s(),d("tr",fn,[cn,o("td",null,u(n.genDiffToNext.diff.negativePrompt)+" tokens changed",1)])):h("",!0),"seed"in n.genDiffToNext.diff?(s(),d("tr",hn,[gn,o("td",null,[o("strong",null,u(n.genDiffToNext.diff.seed[0]),1),p(" vs "+u(n.genDiffToNext.diff.seed[1]),1)])])):h("",!0),"steps"in n.genDiffToNext.diff?(s(),d("tr",pn,[mn,o("td",null,[o("strong",null,u(n.genDiffToNext.diff.steps[0]),1),p(" vs "+u(n.genDiffToNext.diff.steps[1]),1)])])):h("",!0),"cfgScale"in n.genDiffToNext.diff?(s(),d("tr",vn,[yn,o("td",null,[o("strong",null,u(n.genDiffToNext.diff.cfgScale[0]),1),p(" vs "+u(n.genDiffToNext.diff.cfgScale[1]),1)])])):h("",!0),"size"in n.genDiffToNext.diff?(s(),d("tr",bn,[An,o("td",null,[o("strong",null,u(n.genDiffToNext.diff.size[0]),1),p(" vs "+u(n.genDiffToNext.diff.size[1]),1)])])):h("",!0),"Model"in n.genDiffToNext.diff?(s(),d("tr",kn,[_n,o("td",null,[o("strong",null,u(n.genDiffToNext.diff.Model[0]),1),In,p(" vs "+u(n.genDiffToNext.diff.Model[1]),1)])])):h("",!0),"Sampler"in n.genDiffToNext.diff?(s(),d("tr",Sn,[Tn,o("td",null,[o("strong",null,u(n.genDiffToNext.diff.Sampler[0]),1),Cn,p(" vs "+u(n.genDiffToNext.diff.Sampler[1]),1)])])):h("",!0)]),En,i(n.genDiffToNext.diff)?(s(),d("div",wn,[Pn,p(" props that changed:"),Dn,zn,o("ul",null,[(s(!0),d(N,null,M(t(n.genDiffToNext.diff),(a,m)=>(s(),d("li",null,u(m),1))),256))])])):h("",!0)])])]))}});const $n=Re(Qn,[["__scopeId","data-v-78cd67a3"]]),{eventEmitter:On,useEventListen:Nn}=st(),Bn=e=>(fe("data-v-967be71e"),e=e(),ce(),e),Mn=["data-idx"],Fn={key:1,class:"more"},Rn={class:"float-btn-wrap"},Vn={key:1,class:"tags-container"},jn=["url"],Ln=["src"],Jn={class:"inline-play-btn"},Hn=["src"],Un={class:"play-text"},Kn={class:"play-icon"},Wn=["src"],Yn={key:2,class:"tags-container"},Gn=Bn(()=>o("div",{class:"audio-icon"},"🎵",-1)),qn={key:0,class:"tags-container"},Zn={key:5,class:"preview-icon-wrap"},xn={key:1,class:"dir-cover-container"},Xn=["src"],es={key:6,class:"profile"},ts=["title"],is={class:"basic-info"},ns={style:{"margin-right":"4px"}},X=160,ss=ge({__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","dropToFolder","previewVisibleChange","contextMenuClick","close-icon-click","tiktokView"],setup(e,{emit:t}){const i=e;ot(r=>({"132216e7":r.$props.cellWidth+"px"}));const{t:n}=lt(),l=Be(),a=rt(),m=x(),f=x(),y=at(()=>{const{getGenDiff:r,file:c,idx:w}=i;r&&(f.value=r(c.gen_info_obj,w,1,c),m.value=r(c.gen_info_obj,w,-1,c))},200+100*Math.random());Ae(()=>{var r;return(r=i.getGenDiffWatchDep)==null?void 0:r.call(i,i.idx)},()=>{y()},{immediate:!0,deep:!0});const A=Y(()=>a.tagMap.get(i.file.fullpath)??[]),z=Y(()=>{const r=l.gridThumbnailResolution;return l.enableThumbnail?ke(i.file,[r,r].join("x")):_e(i.file)}),Q=Y(()=>{var r;return(((r=l.conf)==null?void 0:r.all_custom_tags)??[]).reduce((c,w)=>[...c,{...w,selected:!!A.value.find(D=>D.id===w.id)}],[])}),T=Y(()=>Q.value.find(r=>r.type==="custom"&&r.name==="like")),H=()=>{yt(T.value),t("contextMenuClick",{key:`toggle-tag-${T.value.id}`},i.file,i.idx)},P=x(!1),S=x(null),E=r=>{console.log("toggleInlinePlay",{event:r,isPlayingInline:P.value,videoRef:S.value}),r.stopPropagation(),P.value||On.emit("stopInlinePlay"),P.value=!P.value,P.value?he(()=>{S.value?(console.log("Playing video",S.value),S.value.play().catch(c=>{console.error("Play failed:",c),P.value=!1})):(console.error("Video ref is null after nextTick"),P.value=!1)}):S.value&&S.value.pause()};Nn("stopInlinePlay",()=>{P.value&&S.value&&(S.value.pause(),P.value=!1)});const B=()=>{P.value=!1},F=Y(()=>i.cellWidth>400&&!P.value);Ae(()=>i.idx,()=>{P.value&&S.value&&(S.value.pause(),P.value=!1)});const k=r=>{i.file.type==="dir"&&(r.preventDefault(),r.dataTransfer&&(r.dataTransfer.dropEffect="move"))},K=r=>{i.file.type==="dir"&&(r.preventDefault(),r.stopPropagation(),t("dropToFolder",r,i.file,i.idx))},q=r=>{l.magicSwitchTiktokView&&i.file.type==="file"&&Ie(i.file.name)?(r.stopPropagation(),r.preventDefault(),t("tiktokView",i.file,i.idx),setTimeout(()=>{bt()},500)):t("fileItemClick",r,i.file,i.idx)},V=()=>{if(P.value){P.value=!1,S.value&&S.value.pause();return}l.magicSwitchTiktokView?t("tiktokView",i.file,i.idx):At(i.file,r=>t("contextMenuClick",{key:`toggle-tag-${r}`},i.file,i.idx),()=>t("tiktokView",i.file,i.idx))},R=()=>{l.magicSwitchTiktokView?t("tiktokView",i.file,i.idx):kt(i.file,r=>t("contextMenuClick",{key:`toggle-tag-${r}`},i.file,i.idx),()=>t("tiktokView",i.file,i.idx))};return(r,c)=>{const w=G,D=Me,O=Fe,L=_t,W=It;return s(),C(w,{trigger:["contextmenu"],visible:I(l).longPressOpenContextMenu?typeof r.idx=="number"&&r.showMenuIdx===r.idx:void 0,"onUpdate:visible":c[8]||(c[8]=$=>typeof r.idx=="number"&&t("update:showMenuIdx",$?r.idx:-1))},{overlay:g(()=>[r.enableRightClickMenu?(s(),C($e,{key:0,file:r.file,idx:r.idx,"selected-tag":A.value,onContextMenuClick:c[7]||(c[7]=($,b,j)=>t("contextMenuClick",$,b,j)),"is-selected-mutil-files":r.isSelectedMutilFiles},null,8,["file","idx","selected-tag","is-selected-mutil-files"])):h("",!0)]),default:g(()=>{var $;return[(s(),d("li",{class:J(["file file-item-trigger grid",{clickable:r.file.type==="dir",selected:r.selected}]),"data-idx":r.idx,key:r.file.name,draggable:"true",onDragstart:c[4]||(c[4]=b=>t("dragstart",b,r.idx)),onDragend:c[5]||(c[5]=b=>t("dragend",b,r.idx)),onDragover:k,onDrop:K,onClickCapture:c[6]||(c[6]=b=>q(b))},[o("div",null,[r.enableCloseIcon?(s(),d("div",{key:0,class:"close-icon",onClick:c[0]||(c[0]=b=>t("close-icon-click"))},[v(I(dt))])):h("",!0),r.enableRightClickMenu?(s(),d("div",Fn,[v(w,null,{overlay:g(()=>[v($e,{file:r.file,idx:r.idx,"selected-tag":A.value,onContextMenuClick:c[1]||(c[1]=(b,j,We)=>t("contextMenuClick",b,j,We)),"is-selected-mutil-files":r.isSelectedMutilFiles},null,8,["file","idx","selected-tag","is-selected-mutil-files"])]),default:g(()=>[o("div",Rn,[v(I(ut))])]),_:1}),r.file.type==="file"?(s(),C(w,{key:0},{overlay:g(()=>[Q.value.length>1?(s(),C(O,{key:0,onClick:c[2]||(c[2]=b=>t("contextMenuClick",b,r.file,r.idx))},{default:g(()=>[(s(!0),d(N,null,M(Q.value,b=>(s(),C(D,{key:`toggle-tag-${b.id}`},{default:g(()=>[p(u(b.name)+" ",1),b.selected?(s(),C(I(Ve),{key:0})):(s(),C(I(je),{key:1}))]),_:2},1024))),128))]),_:1})):h("",!0)]),default:g(()=>{var b,j;return[o("div",{class:J(["float-btn-wrap",{"like-selected":(b=T.value)==null?void 0:b.selected}]),onClick:H},[(j=T.value)!=null&&j.selected?(s(),C(I(ft),{key:0})):(s(),C(I(ct),{key:1}))],2)]}),_:1})):h("",!0)])):h("",!0),I(Ie)(r.file.name)?(s(),d("div",{key:r.file.fullpath,class:J(`idx-${r.idx} item-content`)},[r.enableChangeIndicator&&f.value&&m.value?(s(),C($n,{key:0,"gen-diff-to-next":f.value,"gen-diff-to-previous":m.value},null,8,["gen-diff-to-next","gen-diff-to-previous"])):h("",!0),v(L,{src:z.value,fallback:I(zt),preview:{src:r.fullScreenPreviewImageUrl,onVisibleChange:(b,j)=>t("previewVisibleChange",b,j)}},null,8,["src","fallback","preview"]),A.value&&r.cellWidth>X?(s(),d("div",Vn,[(s(!0),d(N,null,M(r.extraTags??A.value,b=>(s(),C(W,{key:b.id,color:I(a).getColor(b)},{default:g(()=>[p(u(b.name),1)]),_:2},1032,["color"]))),128))])):h("",!0)],2)):I(ht)(r.file.name)?(s(),d("div",{key:3,class:J([`idx-${r.idx} item-content video`,{"playing-inline":P.value}]),url:I(se)(r.file),style:Ne({"background-image":P.value?"none":`url('${r.file.cover_url??I(se)(r.file)}')`}),onClick:V},[r.cellWidth>400&&P.value?(s(),d("video",{key:0,ref:b=>S.value=b,src:I(_e)(r.file),class:"inline-video-player",onEnded:B,onClick:c[3]||(c[3]=gt(()=>{},["stop"])),controls:""},null,40,Ln)):h("",!0),F.value?(s(),d("div",{key:1,class:"inline-play-overlay",onClick:E},[o("div",Jn,[o("img",{src:I(Pe),class:"play-icon-img"},null,8,Hn),o("span",Un,u(I(n)("playInline")),1)])])):h("",!0),Oe(o("div",Kn,[o("img",{src:I(Pe),style:{width:"40px",height:"40px"}},null,8,Wn)],512),[[pt,!P.value]]),A.value&&r.cellWidth>X?(s(),d("div",Yn,[(s(!0),d(N,null,M(A.value,b=>(s(),C(W,{key:b.id,color:I(a).getColor(b)},{default:g(()=>[p(u(b.name),1)]),_:2},1032,["color"]))),128))])):h("",!0)],14,jn)):I(mt)(r.file.name)?(s(),d("div",{key:4,class:J(`idx-${r.idx} item-content audio`),onClick:R},[Gn,A.value&&r.cellWidth>X?(s(),d("div",qn,[(s(!0),d(N,null,M(A.value,b=>(s(),C(W,{key:b.id,color:I(a).getColor(b)},{default:g(()=>[p(u(b.name),1)]),_:2},1032,["color"]))),128))])):h("",!0)],2)):(s(),d("div",Zn,[r.file.type==="file"?(s(),C(I(Dt),{key:0,class:"icon center"})):($=r.coverFiles)!=null&&$.length&&r.cellWidth>160?(s(),d("div",xn,[(s(!0),d(N,null,M(r.coverFiles,b=>(s(),d("img",{class:"dir-cover-item",src:b.media_type==="image"?I(ke)(b):I(se)(b),key:b.fullpath},null,8,Xn))),128))])):(s(),C(I(vt),{key:2,class:"icon center"}))])),r.cellWidth>X?(s(),d("div",es,[o("div",{class:"name line-clamp-1",title:r.file.name},u(r.file.name),9,ts),o("div",is,[o("div",ns,u(r.file.type)+" "+u(r.file.size),1),o("div",null,u(r.file.date),1)])])):h("",!0)])],42,Mn))]}),_:1},8,["visible"])}}});const rs=Re(ss,[["__scopeId","data-v-967be71e"]]);export{rs as F,$e as _,Ke as s}; diff --git a/vue/dist/assets/FileItem-aa47825a.js b/vue/dist/assets/FileItem-aa47825a.js deleted file mode 100644 index 3318d9c..0000000 --- a/vue/dist/assets/FileItem-aa47825a.js +++ /dev/null @@ -1,2 +0,0 @@ -import{c as y,A as Z,aw as re,ax as ae,x as De,o as s,B as S,cv as Le,cw as Je,cx as He,bh as Ue,cy as Ke,bc as We,j as d,ah as W,m as h,C as p,F as Q,K as $,bi as me,bj as Ye,cz as Ge,J as ze,V as j,d as de,p as Qe,aj as H,l as m,t as f,E as I,cA as qe,a4 as Pe,cr as Ze,cq as xe,M as Oe,k as o,n as $e,ce as Xe,bm as et,r as ve,ay as tt,s as it,cB as ye,U as nt,cC as st,ck as ot,cD as lt,cE as rt,cF as be,cG as at,cH as ee,cI as dt,cJ as ut,ar as ft,cj as ct,cK as ht,cL as gt,cM as pt,bO as mt}from"./index-32743103.js";import{D as U,a as ie}from"./index-e1a70e12.js";U.Button=ie;U.install=function(e){return e.component(U.name,U),e.component(ie.name,ie),e};var vt={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 yt=vt;function Ae(e){for(var t=1;t0)return parseInt(e.substring(t+5,e.indexOf(".",t)),10);var n=e.indexOf("Trident/");if(n>0){var i=e.indexOf("rv:");return parseInt(e.substring(i+3,e.indexOf(".",i)),10)}var r=e.indexOf("Edge/");return r>0?parseInt(e.substring(r+5,e.indexOf(".",r)),10):-1}let G;function ne(){ne.init||(ne.init=!0,G=Pt()!==-1)}var x={name:"ResizeObserver",props:{emitOnMount:{type:Boolean,default:!1},ignoreWidth:{type:Boolean,default:!1},ignoreHeight:{type:Boolean,default:!1}},emits:["notify"],mounted(){ne(),De(()=>{this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitOnMount&&this.emitSize()});const e=document.createElement("object");this._resizeObject=e,e.setAttribute("aria-hidden","true"),e.setAttribute("tabindex",-1),e.onload=this.addResizeHandlers,e.type="text/html",G&&this.$el.appendChild(e),e.data="about:blank",G||this.$el.appendChild(e)},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&&(!G&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.compareAndNotify),this.$el.removeChild(this._resizeObject),this._resizeObject.onload=null,this._resizeObject=null)}}};const Ot=Le();re("data-v-b329ee4c");const $t={class:"resize-observer",tabindex:"-1"};ae();const Nt=Ot((e,t,n,i,r,a)=>(s(),S("div",$t)));x.render=Nt;x.__scopeId="data-v-b329ee4c";x.__file="src/components/ResizeObserver.vue";function q(e){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?q=function(t){return typeof t}:q=function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},q(e)}function Bt(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Te(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,i=new Array(t);n2&&arguments[2]!==void 0?arguments[2]:{},i,r,a,v=function(g){for(var _=arguments.length,w=new Array(_>1?_-1:0),D=1;D<_;D++)w[D-1]=arguments[D];if(a=w,!(i&&g===r)){var T=n.leading;typeof T=="function"&&(T=T(g,r)),(!i||g!==r)&&T&&e.apply(void 0,[g].concat(Ce(a))),r=g,clearTimeout(i),i=setTimeout(function(){e.apply(void 0,[g].concat(Ce(a))),i=0},t)}};return v._clear=function(){clearTimeout(i),i=null},v}function Me(e,t){if(e===t)return!0;if(q(e)==="object"){for(var n in e)if(!Me(e[n],t[n]))return!1;return!0}return!1}var Ht=function(){function e(t,n,i){Bt(this,e),this.el=t,this.observer=null,this.frozen=!1,this.createObserver(n,i)}return Mt(e,[{key:"createObserver",value:function(n,i){var r=this;if(this.observer&&this.destroyObserver(),!this.frozen){if(this.options=Lt(n),this.callback=function(c,g){r.options.callback(c,g),c&&r.options.once&&(r.frozen=!0,r.destroyObserver())},this.callback&&this.options.throttle){var a=this.options.throttleOptions||{},v=a.leading;this.callback=Jt(this.callback,this.options.throttle,{leading:function(g){return v==="both"||v==="visible"&&g||v==="hidden"&&!g}})}this.oldResult=void 0,this.observer=new IntersectionObserver(function(c){var g=c[0];if(c.length>1){var _=c.find(function(D){return D.isIntersecting});_&&(g=_)}if(r.callback){var w=g.isIntersecting&&g.intersectionRatio>=r.threshold;if(w===r.oldResult)return;r.oldResult=w,r.callback(w,g)}},this.options.intersection),De(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}}]),e}();function Fe(e,t,n){var i=t.value;if(i)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 Ht(e,i,n);e._vue_visibilityState=r}}function Ut(e,t,n){var i=t.value,r=t.oldValue;if(!Me(i,r)){var a=e._vue_visibilityState;if(!i){Re(e);return}a?a.createObserver(i,n):Fe(e,{value:i},n)}}function Re(e){var t=e._vue_visibilityState;t&&(t.destroyObserver(),delete e._vue_visibilityState)}var Kt={beforeMount:Fe,updated:Ut,unmounted:Re},Wt={itemsLimit:1e3},Yt=/(auto|scroll)/;function Ve(e,t){return e.parentNode===null?t:Ve(e.parentNode,t.concat([e]))}var te=function(t,n){return getComputedStyle(t,null).getPropertyValue(n)},Gt=function(t){return te(t,"overflow")+te(t,"overflow-y")+te(t,"overflow-x")},qt=function(t){return Yt.test(Gt(t))};function we(e){if(e instanceof HTMLElement||e instanceof SVGElement){for(var t=Ve(e.parentNode,[]),n=0;n{this.$_prerender=!1,this.updateVisibleItems(!0),this.ready=!0})},activated(){const e=this.$_lastUpdateScrollPosition;typeof e=="number"&&this.$nextTick(()=>{this.scrollToPosition(e)})},beforeUnmount(){this.removeListeners()},methods:{addView(e,t,n,i,r){const a=Je({id:ei++,index:t,used:!0,key:i,type:r}),v=He({item:n,position:0,nr:a});return e.push(v),v},unuseView(e,t=!1){const n=this.$_unusedViews,i=e.nr.type;let r=n.get(i);r||(r=[],n.set(i,r)),r.push(e),t||(e.nr.used=!1,e.position=-9999)},handleResize(){this.$emit("resize"),this.ready&&this.updateVisibleItems(!1)},handleScroll(e){if(!this.$_scrollDirty){if(this.$_scrollDirty=!0,this.$_updateTimeout)return;const t=()=>requestAnimationFrame(()=>{this.$_scrollDirty=!1;const{continuous:n}=this.updateVisibleItems(!1,!0);n||(clearTimeout(this.$_refreshTimout),this.$_refreshTimout=setTimeout(this.handleScroll,this.updateInterval+100))});t(),this.updateInterval&&(this.$_updateTimeout=setTimeout(()=>{this.$_updateTimeout=0,this.$_scrollDirty&&t()},this.updateInterval))}},handleVisibilityChange(e,t){this.ready&&(e||t.boundingClientRect.width!==0||t.boundingClientRect.height!==0?(this.$emit("visible"),requestAnimationFrame(()=>{this.updateVisibleItems(!1)})):this.$emit("hidden"))},updateVisibleItems(e,t=!1){const n=this.itemSize,i=this.gridItems||1,r=this.itemSecondarySize||n,a=this.$_computedMinItemSize,v=this.typeField,c=this.simpleArray?null:this.keyField,g=this.items,_=g.length,w=this.sizes,D=this.$_views,T=this.$_unusedViews,L=this.pool,X=this.itemIndexByKey;let P,C,V,l,A;if(!_)P=C=l=A=V=0;else if(this.$_prerender)P=l=0,C=A=Math.min(this.prerender,g.length),V=null;else{const u=this.getScroll();if(t){let O=u.start-this.$_lastUpdateScrollPosition;if(O<0&&(O=-O),n===null&&Ou.start&&(ge=B),B=~~((J+ge)/2);while(B!==pe);for(B<0&&(B=0),P=B,V=w[_-1].accumulator,C=B;C<_&&w[C].accumulator_&&(C=_)),l=P;l<_&&z+w[l].accumulator_&&(C=_),l<0&&(l=0),A>_&&(A=_),V=Math.ceil(_/i)*n}}C-P>Wt.itemsLimit&&this.itemsLimitError(),this.totalSize=V;let b;const R=P<=this.$_endIndex&&C>=this.$_startIndex;if(R)for(let u=0,E=L.length;u=C)&&this.unuseView(b));const K=R?null:new Map;let F,N,M;for(let u=P;u=z.length)&&(b=this.addView(L,u,F,E,N),this.unuseView(b,!0),z=T.get(N)),b=z[M],K.set(N,M+1)),D.delete(b.nr.key),b.nr.used=!0,b.nr.index=u,b.nr.key=E,b.nr.type=N,D.set(E,b),O=!0;else if(!b.nr.used&&(b.nr.used=!0,b.nr.index=u,O=!0,z)){const J=z.indexOf(b);J!==-1&&z.splice(J,1)}b.item=F,O&&(u===g.length-1&&this.$emit("scroll-end"),u===0&&this.$emit("scroll-start")),n===null?(b.position=w[u-1].accumulator,b.offset=0):(b.position=Math.floor(u/i)*n,b.offset=u%i*r)}return this.$_startIndex=P,this.$_endIndex=C,this.emitUpdate&&this.$emit("update",P,C,l,A),clearTimeout(this.$_sortTimer),this.$_sortTimer=setTimeout(this.sortViews,this.updateInterval+300),{continuous:R}},getListenerTarget(){let e=we(this.$el);return window.document&&(e===window.document.documentElement||e===window.document.body)&&(e=window),e},getScroll(){const{$el:e,direction:t}=this,n=t==="vertical";let i;if(this.pageMode){const r=e.getBoundingClientRect(),a=n?r.height:r.width;let v=-(n?r.top:r.left),c=n?window.innerHeight:window.innerWidth;v<0&&(c+=v,v=0),v+c>a&&(c=a-v),i={start:v,end:v+c}}else n?i={start:e.scrollTop,end:e.scrollTop+e.clientHeight}:i={start:e.scrollLeft,end:e.scrollLeft+e.clientWidth};return i},applyPageMode(){this.pageMode?this.addListeners():this.removeListeners()},addListeners(){this.listenerTarget=this.getListenerTarget(),this.listenerTarget.addEventListener("scroll",this.handleScroll,le?{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(e){let t;const n=this.gridItems||1;this.itemSize===null?t=e>0?this.sizes[e-1].accumulator:0:t=Math.floor(e/n)*this.itemSize,this.scrollToPosition(t)},scrollToPosition(e){const t=this.direction==="vertical"?{scroll:"scrollTop",start:"top"}:{scroll:"scrollLeft",start:"left"};let n,i,r;if(this.pageMode){const a=we(this.$el),v=a.tagName==="HTML"?0:a[t.scroll],c=a.getBoundingClientRect(),_=this.$el.getBoundingClientRect()[t.start]-c[t.start];n=a,i=t.scroll,r=e+v+_}else n=this.$el,i=t.scroll,r=e;n[i]=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((e,t)=>e.nr.index-t.nr.index)}}};const ti={key:0,ref:"before",class:"vue-recycle-scroller__slot"},ii={key:1,ref:"after",class:"vue-recycle-scroller__slot"};function ni(e,t,n,i,r,a){const v=Ue("ResizeObserver"),c=Ke("observe-visibility");return We((s(),d("div",{class:j(["vue-recycle-scroller",{ready:r.ready,"page-mode":n.pageMode,[`direction-${e.direction}`]:!0}]),onScrollPassive:t[0]||(t[0]=(...g)=>a.handleScroll&&a.handleScroll(...g))},[e.$slots.before?(s(),d("div",ti,[W(e.$slots,"before")],512)):h("v-if",!0),(s(),S(me(n.listTag),{ref:"wrapper",style:ze({[e.direction==="vertical"?"minHeight":"minWidth"]:r.totalSize+"px"}),class:j(["vue-recycle-scroller__item-wrapper",n.listClass])},{default:p(()=>[(s(!0),d(Q,null,$(r.pool,g=>(s(),S(me(n.itemTag),Ye({key:g.nr.id,style:r.ready?{transform:`translate${e.direction==="vertical"?"Y":"X"}(${g.position}px) translate${e.direction==="vertical"?"X":"Y"}(${g.offset}px)`,width:n.gridItems?`${e.direction==="vertical"&&n.itemSecondarySize||n.itemSize}px`:void 0,height:n.gridItems?`${e.direction==="horizontal"&&n.itemSecondarySize||n.itemSize}px`:void 0}:null,class:["vue-recycle-scroller__item-view",[n.itemClass,{hover:!n.skipHover&&r.hoverKey===g.nr.key}]]},Ge(n.skipHover?{}:{mouseenter:()=>{r.hoverKey=g.nr.key},mouseleave:()=>{r.hoverKey=null}})),{default:p(()=>[W(e.$slots,"default",{item:g.item,index:g.nr.index,active:g.nr.used})]),_:2},1040,["style","class"]))),128)),W(e.$slots,"empty")]),_:3},8,["style","class"])),e.$slots.after?(s(),d("div",ii,[W(e.$slots,"after")],512)):h("v-if",!0),y(v,{onNotify:a.handleResize},null,8,["onNotify"])],34)),[[c,a.handleVisibilityChange]])}je.render=ni;je.__file="src/components/RecycleScroller.vue";const Ee=de({__name:"ContextMenu",props:{file:{},idx:{},selectedTag:{},isSelectedMutilFiles:{type:Boolean}},emits:["contextMenuClick"],setup(e,{emit:t}){const n=e,i=Qe(),r=H(()=>{var a;return(((a=i.conf)==null?void 0:a.all_custom_tags)??[]).reduce((v,c)=>[...v,{...c,selected:!!n.selectedTag.find(g=>g.id===c.id)}],[])});return(a,v)=>{const c=Pe,g=Ze,_=xe,w=Oe;return s(),S(w,{onClick:v[0]||(v[0]=D=>t("contextMenuClick",D,a.file,a.idx))},{default:p(()=>{var D;return[y(c,{key:"deleteFiles"},{default:p(()=>[m(f(a.$t("deleteSelected")),1)]),_:1}),y(c,{key:"openWithDefaultApp"},{default:p(()=>[m(f(a.$t("openWithDefaultApp")),1)]),_:1}),y(c,{key:"saveSelectedAsJson"},{default:p(()=>[m(f(a.$t("saveSelectedAsJson")),1)]),_:1}),a.file.type==="dir"?(s(),d(Q,{key:0},[y(c,{key:"openInNewTab"},{default:p(()=>[m(f(a.$t("openInNewTab")),1)]),_:1}),y(c,{key:"openOnTheRight"},{default:p(()=>[m(f(a.$t("openOnTheRight")),1)]),_:1}),y(c,{key:"openWithWalkMode"},{default:p(()=>[m(f(a.$t("openWithWalkMode")),1)]),_:1})],64)):h("",!0),a.file.type==="file"?(s(),d(Q,{key:1},[I(qe)(a.file.name)?(s(),d(Q,{key:0},[y(c,{key:"viewGenInfo"},{default:p(()=>[m(f(a.$t("viewGenerationInfo")),1)]),_:1}),y(c,{key:"tiktokView"},{default:p(()=>[m(f(a.$t("tiktokView")),1)]),_:1}),y(g),((D=I(i).conf)==null?void 0:D.launch_mode)!=="server"?(s(),d(Q,{key:0},[y(c,{key:"send2txt2img"},{default:p(()=>[m(f(a.$t("sendToTxt2img")),1)]),_:1}),y(c,{key:"send2img2img"},{default:p(()=>[m(f(a.$t("sendToImg2img")),1)]),_:1}),y(c,{key:"send2inpaint"},{default:p(()=>[m(f(a.$t("sendToInpaint")),1)]),_:1}),y(c,{key:"send2extras"},{default:p(()=>[m(f(a.$t("sendToExtraFeatures")),1)]),_:1}),y(_,{key:"sendToThirdPartyExtension",title:a.$t("sendToThirdPartyExtension")},{default:p(()=>[y(c,{key:"send2controlnet-txt2img"},{default:p(()=>[m("ControlNet - "+f(a.$t("t2i")),1)]),_:1}),y(c,{key:"send2controlnet-img2img"},{default:p(()=>[m("ControlNet - "+f(a.$t("i2i")),1)]),_:1}),y(c,{key:"send2outpaint"},{default:p(()=>[m("openOutpaint")]),_:1})]),_:1},8,["title"])],64)):h("",!0),y(c,{key:"send2BatchDownload"},{default:p(()=>[m(f(a.$t("sendToBatchDownload")),1)]),_:1}),y(_,{key:"copy2target",title:a.$t("copyTo")},{default:p(()=>[(s(!0),d(Q,null,$(I(i).quickMovePaths,T=>(s(),S(c,{key:`copy-to-${T.dir}`},{default:p(()=>[m(f(T.zh),1)]),_:2},1024))),128))]),_:1},8,["title"]),y(_,{key:"move2target",title:a.$t("moveTo")},{default:p(()=>[(s(!0),d(Q,null,$(I(i).quickMovePaths,T=>(s(),S(c,{key:`move-to-${T.dir}`},{default:p(()=>[m(f(T.zh),1)]),_:2},1024))),128))]),_:1},8,["title"]),y(g),a.isSelectedMutilFiles?(s(),d(Q,{key:1},[y(_,{key:"batch-add-tag",title:a.$t("batchAddTag")},{default:p(()=>[y(c,{key:"add-custom-tag"},{default:p(()=>[m("+ "+f(a.$t("addNewCustomTag")),1)]),_:1}),(s(!0),d(Q,null,$(r.value,T=>(s(),S(c,{key:`batch-add-tag-${T.id}`},{default:p(()=>[m(f(T.name),1)]),_:2},1024))),128))]),_:1},8,["title"]),y(_,{key:"batch-remove-tag",title:a.$t("batchRemoveTag")},{default:p(()=>[(s(!0),d(Q,null,$(r.value,T=>(s(),S(c,{key:`batch-remove-tag-${T.id}`},{default:p(()=>[m(f(T.name),1)]),_:2},1024))),128))]),_:1},8,["title"])],64)):(s(),S(_,{key:"toggle-tag",title:a.$t("toggleTag")},{default:p(()=>[y(c,{key:"add-custom-tag"},{default:p(()=>[m("+ "+f(a.$t("addNewCustomTag")),1)]),_:1}),(s(!0),d(Q,null,$(r.value,T=>(s(),S(c,{key:`toggle-tag-${T.id}`},{default:p(()=>[m(f(T.name)+" ",1),T.selected?(s(),S(I(Ne),{key:0})):(s(),S(I(Be),{key:1}))]),_:2},1024))),128))]),_:1},8,["title"])),y(g),y(c,{key:"openFileLocationInNewTab"},{default:p(()=>[m(f(a.$t("openFileLocationInNewTab")),1)]),_:1}),y(c,{key:"openWithLocalFileBrowser"},{default:p(()=>[m(f(a.$t("openWithLocalFileBrowser")),1)]),_:1})],64)):h("",!0),y(g),y(c,{key:"rename"},{default:p(()=>[m(f(a.$t("rename")),1)]),_:1}),y(c,{key:"previewInNewWindow"},{default:p(()=>[m(f(a.$t("previewInNewWindow")),1)]),_:1}),y(c,{key:"download"},{default:p(()=>[m(f(a.$t("download")),1)]),_:1}),y(c,{key:"copyPreviewUrl"},{default:p(()=>[m(f(a.$t("copySourceFilePreviewLink")),1)]),_:1}),y(c,{key:"copyFilePath"},{default:p(()=>[m(f(a.$t("copyFilePath")),1)]),_:1})],64)):h("",!0)]}),_:1})}}}),k=e=>(re("data-v-78cd67a3"),e=e(),ae(),e),si={class:"changeIndicatorWrapper"},oi={key:0,class:"changeIndicatorsLeft changeIndicators"},li={key:0,class:"promptChangeIndicator changeIndicator"},ri={key:1,class:"negpromptChangeIndicator changeIndicator"},ai={key:2,class:"seedChangeIndicator changeIndicator"},di={key:3,class:"stepsChangeIndicator changeIndicator"},ui={key:4,class:"cfgChangeIndicator changeIndicator"},fi={key:5,class:"sizeChangeIndicator changeIndicator"},ci={key:6,class:"modelChangeIndicator changeIndicator"},hi={key:7,class:"samplerChangeIndicator changeIndicator"},gi={key:8,class:"otherChangeIndicator changeIndicator"},pi={class:"hoverOverlay"},mi=k(()=>o("strong",null,"This file",-1)),vi=k(()=>o("br",null,null,-1)),yi=k(()=>o("br",null,null,-1)),bi={key:0},Ai=k(()=>o("td",null,[o("span",{class:"promptChangeIndicator"},"+ Prompt")],-1)),ki={key:1},_i=k(()=>o("td",null,[o("span",{class:"negpromptChangeIndicator"},"- Prompt")],-1)),Ii={key:2},Si=k(()=>o("td",null,[o("span",{class:"seedChangeIndicator"},"Seed")],-1)),Ti={key:3},Ci=k(()=>o("td",null,[o("span",{class:"stepsChangeIndicator"},"Steps")],-1)),wi={key:4},Ei=k(()=>o("td",null,[o("span",{class:"cfgChangeIndicator"},"Cfg Scale")],-1)),Di={key:5},zi=k(()=>o("td",null,[o("span",{class:"sizeChangeIndicator"},"Size")],-1)),Qi={key:6},Pi=k(()=>o("td",null,[o("span",{class:"modelChangeIndicator"},"Model")],-1)),Oi=k(()=>o("br",null,null,-1)),$i={key:7},Ni=k(()=>o("td",null,[o("span",{class:"samplerChangeIndicator"},"Sampler")],-1)),Bi=k(()=>o("br",null,null,-1)),Mi=k(()=>o("br",null,null,-1)),Fi={key:0},Ri=k(()=>o("span",{class:"otherChangeIndicator"},"Other",-1)),Vi=k(()=>o("br",null,null,-1)),ji=k(()=>o("br",null,null,-1)),Li={key:1,class:"changeIndicatorsRight changeIndicators"},Ji={key:0,class:"promptChangeIndicator changeIndicator"},Hi={key:1,class:"negpromptChangeIndicator changeIndicator"},Ui={key:2,class:"seedChangeIndicator changeIndicator"},Ki={key:3,class:"stepsChangeIndicator changeIndicator"},Wi={key:4,class:"cfgChangeIndicator changeIndicator"},Yi={key:5,class:"sizeChangeIndicator changeIndicator"},Gi={key:6,class:"modelChangeIndicator changeIndicator"},qi={key:7,class:"samplerChangeIndicator changeIndicator"},Zi={key:8,class:"otherChangeIndicator changeIndicator"},xi={class:"hoverOverlay"},Xi=k(()=>o("strong",null,"This file",-1)),en=k(()=>o("br",null,null,-1)),tn=k(()=>o("br",null,null,-1)),nn={key:0},sn=k(()=>o("td",null,[o("span",{class:"promptChangeIndicator"},"+ Prompt")],-1)),on={key:1},ln=k(()=>o("td",null,[o("span",{class:"negpromptChangeIndicator"},"- Prompt")],-1)),rn={key:2},an=k(()=>o("td",null,[o("span",{class:"seedChangeIndicator"},"Seed")],-1)),dn={key:3},un=k(()=>o("td",null,[o("span",{class:"stepsChangeIndicator"},"Steps")],-1)),fn={key:4},cn=k(()=>o("td",null,[o("span",{class:"cfgChangeIndicator"},"Cfg Scale")],-1)),hn={key:5},gn=k(()=>o("td",null,[o("span",{class:"sizeChangeIndicator"},"Size")],-1)),pn={key:6},mn=k(()=>o("td",null,[o("span",{class:"modelChangeIndicator"},"Model")],-1)),vn=k(()=>o("br",null,null,-1)),yn={key:7},bn=k(()=>o("td",null,[o("span",{class:"samplerChangeIndicator"},"Sampler")],-1)),An=k(()=>o("br",null,null,-1)),kn=k(()=>o("br",null,null,-1)),_n={key:0},In=k(()=>o("span",{class:"otherChangeIndicator"},"Other",-1)),Sn=k(()=>o("br",null,null,-1)),Tn=k(()=>o("br",null,null,-1)),Cn=de({__name:"ChangeIndicator",props:{genDiffToPrevious:{},genDiffToNext:{},genInfo:{}},setup(e){function t(i){const r=["prompt","negativePrompt","seed","steps","cfgScale","size","Model","others"],a=Object.keys(i).filter(v=>!r.includes(v));return Object.fromEntries(a.map(v=>[v,i[v]]))}function n(i){return Object.keys(t(i)).length>0}return(i,r)=>(s(),d("div",si,[i.genDiffToPrevious.empty?h("",!0):(s(),d("div",oi,["prompt"in i.genDiffToPrevious.diff?(s(),d("div",li,"P+")):h("",!0),"negativePrompt"in i.genDiffToPrevious.diff?(s(),d("div",ri,"P-")):h("",!0),"seed"in i.genDiffToPrevious.diff?(s(),d("div",ai,"Se")):h("",!0),"steps"in i.genDiffToPrevious.diff?(s(),d("div",di,"St")):h("",!0),"cfgScale"in i.genDiffToPrevious.diff?(s(),d("div",ui,"Cf")):h("",!0),"size"in i.genDiffToPrevious.diff?(s(),d("div",fi,"Si")):h("",!0),"Model"in i.genDiffToPrevious.diff?(s(),d("div",ci,"Mo")):h("",!0),"Sampler"in i.genDiffToPrevious.diff?(s(),d("div",hi,"Sa")):h("",!0),n(i.genDiffToPrevious.diff)?(s(),d("div",gi,"Ot")):h("",!0)])),o("div",pi,[o("small",null,[y(I(Ie)),mi,m(" vs "+f(i.genDiffToPrevious.otherFile)+" ",1),vi,yi,o("table",null,["prompt"in i.genDiffToPrevious.diff?(s(),d("tr",bi,[Ai,o("td",null,f(i.genDiffToPrevious.diff.prompt)+" tokens changed",1)])):h("",!0),"negativePrompt"in i.genDiffToPrevious.diff?(s(),d("tr",ki,[_i,o("td",null,f(i.genDiffToPrevious.diff.negativePrompt)+" tokens changed",1)])):h("",!0),"seed"in i.genDiffToPrevious.diff?(s(),d("tr",Ii,[Si,o("td",null,[o("strong",null,f(i.genDiffToPrevious.diff.seed[0]),1),m(" vs "+f(i.genDiffToPrevious.diff.seed[1]),1)])])):h("",!0),"steps"in i.genDiffToPrevious.diff?(s(),d("tr",Ti,[Ci,o("td",null,[o("strong",null,f(i.genDiffToPrevious.diff.steps[0]),1),m(" vs "+f(i.genDiffToPrevious.diff.steps[1]),1)])])):h("",!0),"cfgScale"in i.genDiffToPrevious.diff?(s(),d("tr",wi,[Ei,o("td",null,[o("strong",null,f(i.genDiffToPrevious.diff.cfgScale[0]),1),m(" vs "+f(i.genDiffToPrevious.diff.cfgScale[1]),1)])])):h("",!0),"size"in i.genDiffToPrevious.diff?(s(),d("tr",Di,[zi,o("td",null,[o("strong",null,f(i.genDiffToPrevious.diff.size[0]),1),m(" vs "+f(i.genDiffToPrevious.diff.size[1]),1)])])):h("",!0),"Model"in i.genDiffToPrevious.diff?(s(),d("tr",Qi,[Pi,o("td",null,[o("strong",null,f(i.genDiffToPrevious.diff.Model[0]),1),Oi,m(" vs "+f(i.genDiffToPrevious.diff.Model[1]),1)])])):h("",!0),"Sampler"in i.genDiffToPrevious.diff?(s(),d("tr",$i,[Ni,o("td",null,[o("strong",null,f(i.genDiffToPrevious.diff.Sampler[0]),1),Bi,m(" vs "+f(i.genDiffToPrevious.diff.Sampler[1]),1)])])):h("",!0)]),Mi,n(i.genDiffToPrevious.diff)?(s(),d("div",Fi,[Ri,m(" props that changed:"),Vi,ji,o("ul",null,[(s(!0),d(Q,null,$(t(i.genDiffToPrevious.diff),(a,v)=>(s(),d("li",null,f(v),1))),256))])])):h("",!0)])]),i.genDiffToNext.empty?h("",!0):(s(),d("div",Li,["prompt"in i.genDiffToNext.diff?(s(),d("div",Ji,"P+")):h("",!0),"negativePrompt"in i.genDiffToNext.diff?(s(),d("div",Hi,"P-")):h("",!0),"seed"in i.genDiffToNext.diff?(s(),d("div",Ui,"Se")):h("",!0),"steps"in i.genDiffToNext.diff?(s(),d("div",Ki,"St")):h("",!0),"cfgScale"in i.genDiffToNext.diff?(s(),d("div",Wi,"Cf")):h("",!0),"size"in i.genDiffToNext.diff?(s(),d("div",Yi,"Si")):h("",!0),"Model"in i.genDiffToNext.diff?(s(),d("div",Gi,"Mo")):h("",!0),"Sampler"in i.genDiffToNext.diff?(s(),d("div",qi,"Sa")):h("",!0),n(i.genDiffToNext.diff)?(s(),d("div",Zi,"Ot")):h("",!0)])),o("div",xi,[o("small",null,[y(I(Ie)),Xi,m(" vs "+f(i.genDiffToNext.otherFile)+" ",1),en,tn,o("table",null,["prompt"in i.genDiffToNext.diff?(s(),d("tr",nn,[sn,o("td",null,f(i.genDiffToNext.diff.prompt)+" tokens changed",1)])):h("",!0),"negativePrompt"in i.genDiffToNext.diff?(s(),d("tr",on,[ln,o("td",null,f(i.genDiffToNext.diff.negativePrompt)+" tokens changed",1)])):h("",!0),"seed"in i.genDiffToNext.diff?(s(),d("tr",rn,[an,o("td",null,[o("strong",null,f(i.genDiffToNext.diff.seed[0]),1),m(" vs "+f(i.genDiffToNext.diff.seed[1]),1)])])):h("",!0),"steps"in i.genDiffToNext.diff?(s(),d("tr",dn,[un,o("td",null,[o("strong",null,f(i.genDiffToNext.diff.steps[0]),1),m(" vs "+f(i.genDiffToNext.diff.steps[1]),1)])])):h("",!0),"cfgScale"in i.genDiffToNext.diff?(s(),d("tr",fn,[cn,o("td",null,[o("strong",null,f(i.genDiffToNext.diff.cfgScale[0]),1),m(" vs "+f(i.genDiffToNext.diff.cfgScale[1]),1)])])):h("",!0),"size"in i.genDiffToNext.diff?(s(),d("tr",hn,[gn,o("td",null,[o("strong",null,f(i.genDiffToNext.diff.size[0]),1),m(" vs "+f(i.genDiffToNext.diff.size[1]),1)])])):h("",!0),"Model"in i.genDiffToNext.diff?(s(),d("tr",pn,[mn,o("td",null,[o("strong",null,f(i.genDiffToNext.diff.Model[0]),1),vn,m(" vs "+f(i.genDiffToNext.diff.Model[1]),1)])])):h("",!0),"Sampler"in i.genDiffToNext.diff?(s(),d("tr",yn,[bn,o("td",null,[o("strong",null,f(i.genDiffToNext.diff.Sampler[0]),1),An,m(" vs "+f(i.genDiffToNext.diff.Sampler[1]),1)])])):h("",!0)]),kn,n(i.genDiffToNext.diff)?(s(),d("div",_n,[In,m(" props that changed:"),Sn,Tn,o("ul",null,[(s(!0),d(Q,null,$(t(i.genDiffToNext.diff),(a,v)=>(s(),d("li",null,f(v),1))),256))])])):h("",!0)])])]))}});const wn=$e(Cn,[["__scopeId","data-v-78cd67a3"]]),En=e=>(re("data-v-d7ac6541"),e=e(),ae(),e),Dn=["data-idx"],zn={key:1,class:"more"},Qn={class:"float-btn-wrap"},Pn={key:1,class:"tags-container"},On=["url"],$n={class:"play-icon"},Nn=["src"],Bn={key:0,class:"tags-container"},Mn=En(()=>o("div",{class:"audio-icon"},"🎵",-1)),Fn={key:0,class:"tags-container"},Rn={key:5,class:"preview-icon-wrap"},Vn={key:1,class:"dir-cover-container"},jn=["src"],Ln={key:6,class:"profile"},Jn=["title"],Hn={class:"basic-info"},Un={style:{"margin-right":"4px"}},Y=160,Kn=de({__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","dropToFolder","previewVisibleChange","contextMenuClick","close-icon-click","tiktokView"],setup(e,{emit:t}){const n=e;Xe(l=>({21801204:l.$props.cellWidth+"px"}));const i=Qe(),r=et(),a=ve(),v=ve(),c=tt(()=>{const{getGenDiff:l,file:A,idx:b}=n;l&&(v.value=l(A.gen_info_obj,b,1,A),a.value=l(A.gen_info_obj,b,-1,A))},200+100*Math.random());it(()=>{var l;return(l=n.getGenDiffWatchDep)==null?void 0:l.call(n,n.idx)},()=>{c()},{immediate:!0,deep:!0});const g=H(()=>r.tagMap.get(n.file.fullpath)??[]),_=H(()=>{const l=i.gridThumbnailResolution;return i.enableThumbnail?ye(n.file,[l,l].join("x")):nt(n.file)}),w=H(()=>{var l;return(((l=i.conf)==null?void 0:l.all_custom_tags)??[]).reduce((A,b)=>[...A,{...b,selected:!!g.value.find(R=>R.id===b.id)}],[])}),D=H(()=>w.value.find(l=>l.type==="custom"&&l.name==="like")),T=()=>{ft(D.value),t("contextMenuClick",{key:`toggle-tag-${D.value.id}`},n.file,n.idx)},L=l=>{n.file.type==="dir"&&(l.preventDefault(),l.dataTransfer&&(l.dataTransfer.dropEffect="move"))},X=l=>{n.file.type==="dir"&&(l.preventDefault(),l.stopPropagation(),t("dropToFolder",l,n.file,n.idx))},P=l=>{i.magicSwitchTiktokView&&n.file.type==="file"&&be(n.file.name)?(l.stopPropagation(),l.preventDefault(),t("tiktokView",n.file,n.idx),setTimeout(()=>{ct()},500)):t("fileItemClick",l,n.file,n.idx)},C=()=>{i.magicSwitchTiktokView?t("tiktokView",n.file,n.idx):ht(n.file,l=>t("contextMenuClick",{key:`toggle-tag-${l}`},n.file,n.idx),()=>t("tiktokView",n.file,n.idx))},V=()=>{i.magicSwitchTiktokView?t("tiktokView",n.file,n.idx):gt(n.file,l=>t("contextMenuClick",{key:`toggle-tag-${l}`},n.file,n.idx),()=>t("tiktokView",n.file,n.idx))};return(l,A)=>{const b=U,R=Pe,K=Oe,F=pt,N=mt;return s(),S(b,{trigger:["contextmenu"],visible:I(i).longPressOpenContextMenu?typeof l.idx=="number"&&l.showMenuIdx===l.idx:void 0,"onUpdate:visible":A[7]||(A[7]=M=>typeof l.idx=="number"&&t("update:showMenuIdx",M?l.idx:-1))},{overlay:p(()=>[l.enableRightClickMenu?(s(),S(Ee,{key:0,file:l.file,idx:l.idx,"selected-tag":g.value,onContextMenuClick:A[6]||(A[6]=(M,u,E)=>t("contextMenuClick",M,u,E)),"is-selected-mutil-files":l.isSelectedMutilFiles},null,8,["file","idx","selected-tag","is-selected-mutil-files"])):h("",!0)]),default:p(()=>{var M;return[(s(),d("li",{class:j(["file file-item-trigger grid",{clickable:l.file.type==="dir",selected:l.selected}]),"data-idx":l.idx,key:l.file.name,draggable:"true",onDragstart:A[3]||(A[3]=u=>t("dragstart",u,l.idx)),onDragend:A[4]||(A[4]=u=>t("dragend",u,l.idx)),onDragover:L,onDrop:X,onClickCapture:A[5]||(A[5]=u=>P(u))},[o("div",null,[l.enableCloseIcon?(s(),d("div",{key:0,class:"close-icon",onClick:A[0]||(A[0]=u=>t("close-icon-click"))},[y(I(st))])):h("",!0),l.enableRightClickMenu?(s(),d("div",zn,[y(b,null,{overlay:p(()=>[y(Ee,{file:l.file,idx:l.idx,"selected-tag":g.value,onContextMenuClick:A[1]||(A[1]=(u,E,z)=>t("contextMenuClick",u,E,z)),"is-selected-mutil-files":l.isSelectedMutilFiles},null,8,["file","idx","selected-tag","is-selected-mutil-files"])]),default:p(()=>[o("div",Qn,[y(I(ot))])]),_:1}),l.file.type==="file"?(s(),S(b,{key:0},{overlay:p(()=>[w.value.length>1?(s(),S(K,{key:0,onClick:A[2]||(A[2]=u=>t("contextMenuClick",u,l.file,l.idx))},{default:p(()=>[(s(!0),d(Q,null,$(w.value,u=>(s(),S(R,{key:`toggle-tag-${u.id}`},{default:p(()=>[m(f(u.name)+" ",1),u.selected?(s(),S(I(Ne),{key:0})):(s(),S(I(Be),{key:1}))]),_:2},1024))),128))]),_:1})):h("",!0)]),default:p(()=>{var u,E;return[o("div",{class:j(["float-btn-wrap",{"like-selected":(u=D.value)==null?void 0:u.selected}]),onClick:T},[(E=D.value)!=null&&E.selected?(s(),S(I(lt),{key:0})):(s(),S(I(rt),{key:1}))],2)]}),_:1})):h("",!0)])):h("",!0),I(be)(l.file.name)?(s(),d("div",{key:l.file.fullpath,class:j(`idx-${l.idx} item-content`)},[l.enableChangeIndicator&&v.value&&a.value?(s(),S(wn,{key:0,"gen-diff-to-next":v.value,"gen-diff-to-previous":a.value},null,8,["gen-diff-to-next","gen-diff-to-previous"])):h("",!0),y(F,{src:_.value,fallback:I(St),preview:{src:l.fullScreenPreviewImageUrl,onVisibleChange:(u,E)=>t("previewVisibleChange",u,E)}},null,8,["src","fallback","preview"]),g.value&&l.cellWidth>Y?(s(),d("div",Pn,[(s(!0),d(Q,null,$(l.extraTags??g.value,u=>(s(),S(N,{key:u.id,color:I(r).getColor(u)},{default:p(()=>[m(f(u.name),1)]),_:2},1032,["color"]))),128))])):h("",!0)],2)):I(at)(l.file.name)?(s(),d("div",{key:3,class:j(`idx-${l.idx} item-content video`),url:I(ee)(l.file),style:ze({"background-image":`url('${l.file.cover_url??I(ee)(l.file)}')`}),onClick:C},[o("div",$n,[o("img",{src:I(Qt),style:{width:"40px",height:"40px"}},null,8,Nn)]),g.value&&l.cellWidth>Y?(s(),d("div",Bn,[(s(!0),d(Q,null,$(g.value,u=>(s(),S(N,{key:u.id,color:I(r).getColor(u)},{default:p(()=>[m(f(u.name),1)]),_:2},1032,["color"]))),128))])):h("",!0)],14,On)):I(dt)(l.file.name)?(s(),d("div",{key:4,class:j(`idx-${l.idx} item-content audio`),onClick:V},[Mn,g.value&&l.cellWidth>Y?(s(),d("div",Fn,[(s(!0),d(Q,null,$(g.value,u=>(s(),S(N,{key:u.id,color:I(r).getColor(u)},{default:p(()=>[m(f(u.name),1)]),_:2},1032,["color"]))),128))])):h("",!0)],2)):(s(),d("div",Rn,[l.file.type==="file"?(s(),S(I(It),{key:0,class:"icon center"})):(M=l.coverFiles)!=null&&M.length&&l.cellWidth>160?(s(),d("div",Vn,[(s(!0),d(Q,null,$(l.coverFiles,u=>(s(),d("img",{class:"dir-cover-item",src:u.media_type==="image"?I(ye)(u):I(ee)(u),key:u.fullpath},null,8,jn))),128))])):(s(),S(I(ut),{key:2,class:"icon center"}))])),l.cellWidth>Y?(s(),d("div",Ln,[o("div",{class:"name line-clamp-1",title:l.file.name},f(l.file.name),9,Jn),o("div",Hn,[o("div",Un,f(l.file.type)+" "+f(l.file.size),1),o("div",null,f(l.file.date),1)])])):h("",!0)])],42,Dn))]}),_:1},8,["visible"])}}});const Gn=$e(Kn,[["__scopeId","data-v-d7ac6541"]]);export{Gn as F,Ee as _,je as s}; diff --git a/vue/dist/assets/FileItem-b2f0fcbe.css b/vue/dist/assets/FileItem-b2f0fcbe.css new file mode 100644 index 0000000..897f33f --- /dev/null +++ b/vue/dist/assets/FileItem-b2f0fcbe.css @@ -0,0 +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}.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-967be71e]{display:flex;justify-content:center;align-items:center}.item-content[data-v-967be71e]{position:relative}.item-content.video[data-v-967be71e]{background-color:var(--zp-border);border-radius:8px;overflow:hidden;width:var(--132216e7);height:var(--132216e7);background-size:cover;background-position:center;cursor:pointer}.item-content.video.playing-inline[data-v-967be71e]{background-color:#000}.item-content.video .inline-video-player[data-v-967be71e]{width:100%;height:100%;object-fit:contain}.item-content.video .inline-play-overlay[data-v-967be71e]{position:absolute;bottom:8px;left:8px;display:flex;align-items:flex-end;justify-content:flex-start;cursor:pointer;opacity:0;transition:opacity .3s ease;z-index:5}.item-content.video .inline-play-btn[data-v-967be71e]{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:8px;background:linear-gradient(135deg,rgba(0,0,0,.85) 0%,rgba(20,20,20,.9) 100%);backdrop-filter:blur(8px);cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);border:1px solid rgba(255,255,255,.12);box-shadow:0 2px 8px #0000004d,0 0 0 1px #0000001a inset,0 1px #ffffff1a inset}.item-content.video .inline-play-btn[data-v-967be71e]:hover{background:linear-gradient(135deg,rgba(0,0,0,.95) 0%,rgba(30,30,30,.95) 100%);border-color:#ffffff40;transform:translateY(-1px);box-shadow:0 4px 12px #0006,0 0 0 1px #0000001a inset,0 1px #ffffff26 inset}.item-content.video .inline-play-btn[data-v-967be71e]:active{transform:translateY(0);background:rgba(0,0,0,.95)}.item-content.video .inline-play-btn .play-icon-img[data-v-967be71e]{width:24px;height:24px;filter:brightness(0) invert(1);flex-shrink:0}.item-content.video .inline-play-btn .play-text[data-v-967be71e]{color:#fff;font-size:13px;font-weight:600;letter-spacing:.2px;text-shadow:0 1px 2px rgba(0,0,0,.3);white-space:nowrap}.item-content.video:hover .inline-play-overlay[data-v-967be71e]{opacity:1}.item-content.audio[data-v-967be71e]{background:linear-gradient(135deg,#1a1a2e 0%,#16213e 50%,#0f3460 100%);border-radius:8px;overflow:hidden;width:var(--132216e7);height:var(--132216e7);display:flex;align-items:center;justify-content:center;cursor:pointer}.item-content.audio .audio-icon[data-v-967be71e]{font-size:48px}.item-content .play-icon[data-v-967be71e]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:100%;display:flex}.item-content .tags-container[data-v-967be71e]{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-967be71e]{margin:0 0 4px 4px;font-size:14px;line-height:1.6}.close-icon[data-v-967be71e]{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-967be71e]{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-967be71e]{opacity:1}.file .more[data-v-967be71e]{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-967be71e]{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-967be71e]{color:#df0505}.file.grid[data-v-967be71e]{padding:0;display:inline-block;box-sizing:content-box;box-shadow:unset;background-color:var(--zp-secondary-background)}.file.grid[data-v-967be71e] .icon{font-size:8em}.file.grid[data-v-967be71e] .profile{padding:0 4px}.file.grid[data-v-967be71e] .profile .name{font-weight:500;padding:0}.file.grid[data-v-967be71e] .profile .basic-info{display:flex;justify-content:space-between;flex-direction:row;margin:0;font-size:.7em}.file.grid[data-v-967be71e] .profile .basic-info *{white-space:nowrap;overflow:hidden}.file.grid[data-v-967be71e] .ant-image,.file.grid[data-v-967be71e] .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-967be71e] img:not(.dir-cover-item),.file.grid[data-v-967be71e] .dir-cover-container,.file.grid[data-v-967be71e] .preview-icon-wrap>[role=img]{height:var(--132216e7);width:var(--132216e7);object-fit:contain}.file.clickable[data-v-967be71e]{cursor:pointer}.file.selected[data-v-967be71e]{outline:#0084ff solid 2px}.file .name[data-v-967be71e]{flex:1;padding:8px;word-break:break-all}.file .basic-info[data-v-967be71e]{overflow:hidden;display:flex;flex-direction:column;align-items:flex-end}.file .dir-cover-container[data-v-967be71e]{top:0;display:flex;flex-wrap:wrap;padding:4px}.file .dir-cover-container>img[data-v-967be71e]{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-dfc4a469.js b/vue/dist/assets/ImgSliPagePane-df5d7e31.js similarity index 64% rename from vue/dist/assets/ImgSliPagePane-dfc4a469.js rename to vue/dist/assets/ImgSliPagePane-df5d7e31.js index c65c556..0a4caca 100644 --- a/vue/dist/assets/ImgSliPagePane-dfc4a469.js +++ b/vue/dist/assets/ImgSliPagePane-df5d7e31.js @@ -1 +1 @@ -import{d as a,o as t,j as n,c as s,c1 as _,n as o}from"./index-32743103.js";const c={class:"img-sli-container"},i=a({__name:"ImgSliPagePane",props:{paneIdx:{},tabIdx:{},left:{},right:{}},setup(l){return(e,r)=>(t(),n("div",c,[s(_,{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,o as t,j as n,c as s,c1 as _,n as o}from"./index-f2db319b.js";const c={class:"img-sli-container"},i=a({__name:"ImgSliPagePane",props:{paneIdx:{},tabIdx:{},left:{},right:{}},setup(l){return(e,r)=>(t(),n("div",c,[s(_,{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-e17e54d4.js b/vue/dist/assets/MatchedImageGrid-d03e7cb5.js similarity index 91% rename from vue/dist/assets/MatchedImageGrid-e17e54d4.js rename to vue/dist/assets/MatchedImageGrid-d03e7cb5.js index ed91604..fd0e79a 100644 --- a/vue/dist/assets/MatchedImageGrid-e17e54d4.js +++ b/vue/dist/assets/MatchedImageGrid-d03e7cb5.js @@ -1 +1 @@ -import{d as pe,aL as ue,aM as fe,s as ge,x as me,p as he,o as m,j as S,c as n,E as e,C as a,H as L,k as d,I as ke,t as c,l as v,B as U,U as ve,V as J,m as N,a1 as we,Z as _e,a3 as Ce,a8 as Ie,aw as Se,ax as xe,n as be}from"./index-32743103.js";import{L as ye,R as Me,f as Ae,M as Ve}from"./MultiSelectKeep-56b94e1f.js";import{s as Fe,F as De}from"./FileItem-aa47825a.js";import{u as ze}from"./hook-e2eaf999.js";import{g as Ge,o as P}from"./index-c80754a2.js";/* empty css */import"./index-e1a70e12.js";import"./shortcut-3129f75b.js";import"./_isIterateeCall-16c5cf9c.js";const x=r=>(Se("data-v-aea581a5"),r=r(),xe(),r),Te={class:"hint"},$e={class:"action-bar"},Be={class:"title line-clamp-1"},Re=x(()=>d("div",{"flex-placeholder":""},null,-1)),Ee=x(()=>d("div",{style:{padding:"16px 0 512px"}},null,-1)),Le={key:1,class:"no-res-hint"},Ue=x(()=>d("p",{class:"hint"},"暂无结果",-1)),Je=[Ue],Ne={key:2,class:"preview-switch"},Pe=pe({__name:"MatchedImageGrid",props:{tabIdx:{},paneIdx:{},id:{},title:{},paths:{}},setup(r){const h=r,t=ue({res:[],load:!1,loading:!1,async next(){var s;if(!(t.loading||t.load)){t.loading=!0;try{const u=t.res.length,f=(h.paths??[]).slice(u,u+200);if(!f.length){t.load=!0;return}const C=await fe(f),g=f.map(I=>C[I]).filter(Boolean);t.res.push(...g),u+200>=(((s=h.paths)==null?void 0:s.length)??0)&&(t.load=!0)}finally{t.loading=!1}}},async reset(){t.res=[],t.load=!1,await t.next()}}),{queue:K,images:l,onContextMenuClickU:b,stackViewEl:O,previewIdx:p,previewing:y,onPreviewVisibleChange:W,previewImgMove:M,canPreview:A,itemSize:V,gridItems:q,showGenInfo:k,imageGenInfo:F,q:j,multiSelectedIdxs:w,onFileItemClick:H,scroller:D,showMenuIdx:_,onFileDragStart:Q,onFileDragEnd:Z,cellWidth:X,onScroll:z,saveAllFileAsJson:Y,saveLoadedFileAsJson:ee,changeIndchecked:te,seedChangeChecked:le,getGenDiff:ie,getGenDiffWatchDep:se}=ze(t);ge(()=>h.paths,async()=>{var s;await t.reset({refetch:!0}),await me(),(s=D.value)==null||s.scrollToItem(0),z()},{immediate:!0});const ne=he(),{onClearAllSelected:ae,onSelectAll:oe,onReverseSelect:de}=Ge(),ce=()=>{l.value.length!==0&&P(l.value,0)};return(s,i)=>{const u=Ve,f=we,C=_e,g=Ce,I=Ie;return m(),S("div",{class:"container",ref_key:"stackViewEl",ref:O},[n(u,{show:!!e(w).length||e(ne).keepMultiSelect,onClearAllSelected:e(ae),onSelectAll:e(oe),onReverseSelect:e(de)},null,8,["show","onClearAllSelected","onSelectAll","onReverseSelect"]),n(I,{size:"large",spinning:!e(K).isIdle||t.loading},{default:a(()=>{var G,T,$,B;return[n(C,{visible:e(k),"onUpdate:visible":i[1]||(i[1]=o=>L(k)?k.value=o:null),width:"70vw","mask-closable":"",onOk:i[2]||(i[2]=o=>k.value=!1)},{cancelText:a(()=>[]),default:a(()=>[n(f,{active:"",loading:!e(j).isIdle},{default:a(()=>[d("div",{style:{width:"100%","word-break":"break-all","white-space":"pre-line","max-height":"70vh",overflow:"auto"},onDblclick:i[0]||(i[0]=o=>e(ke)(e(F)))},[d("div",Te,c(s.$t("doubleClickToCopy")),1),v(" "+c(e(F)),1)],32)]),_:1},8,["loading"])]),_:1},8,["visible"]),d("div",$e,[d("div",Be,"🧩 "+c(h.title),1),Re,n(g,{onClick:ce,disabled:!((G=e(l))!=null&&G.length)},{default:a(()=>[v(c(s.$t("tiktokView")),1)]),_:1},8,["disabled"]),n(g,{onClick:e(ee),disabled:!((T=e(l))!=null&&T.length)},{default:a(()=>[v(c(s.$t("saveLoadedImageAsJson")),1)]),_:1},8,["onClick","disabled"]),n(g,{onClick:e(Y),disabled:!(($=e(l))!=null&&$.length)},{default:a(()=>[v(c(s.$t("saveAllAsJson")),1)]),_:1},8,["onClick","disabled"])]),(B=e(l))!=null&&B.length?(m(),U(e(Fe),{key:0,ref_key:"scroller",ref:D,class:"file-list",items:e(l),"item-size":e(V).first,"key-field":"fullpath","item-secondary-size":e(V).second,gridItems:e(q),onScroll:e(z)},{after:a(()=>[Ee]),default:a(({item:o,index:R})=>[n(De,{idx:R,file:o,"cell-width":e(X),"show-menu-idx":e(_),"onUpdate:showMenuIdx":i[3]||(i[3]=E=>L(_)?_.value=E:null),onDragstart:e(Q),onDragend:e(Z),onFileItemClick:e(H),onTiktokView:(E,re)=>e(P)(e(l),re),"full-screen-preview-image-url":e(l)[e(p)]?e(ve)(e(l)[e(p)]):"",selected:e(w).includes(R),onContextMenuClick:e(b),onPreviewVisibleChange:e(W),"is-selected-mutil-files":e(w).length>1,"enable-change-indicator":e(te),"seed-change-checked":e(le),"get-gen-diff":e(ie),"get-gen-diff-watch-dep":e(se)},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"])):(m(),S("div",Le,Je)),e(y)?(m(),S("div",Ne,[n(e(ye),{onClick:i[4]||(i[4]=o=>e(M)("prev")),class:J({disable:!e(A)("prev")})},null,8,["class"]),n(e(Me),{onClick:i[5]||(i[5]=o=>e(M)("next")),class:J({disable:!e(A)("next")})},null,8,["class"])])):N("",!0)]}),_:1},8,["spinning"]),e(y)&&e(l)&&e(l)[e(p)]?(m(),U(Ae,{key:0,file:e(l)[e(p)],idx:e(p),onContextMenuClick:e(b)},null,8,["file","idx","onContextMenuClick"])):N("",!0)],512)}}});const Ye=be(Pe,[["__scopeId","data-v-aea581a5"]]);export{Ye as default}; +import{d as pe,aL as ue,aM as fe,s as ge,x as me,p as he,o as m,j as S,c as n,E as e,C as a,H as L,k as d,I as ke,t as c,l as v,B as U,U as ve,V as J,m as N,a1 as we,Z as _e,a3 as Ce,a8 as Ie,aw as Se,ax as xe,n as be}from"./index-f2db319b.js";import{L as ye,R as Me,f as Ae,M as Ve}from"./MultiSelectKeep-a11efe88.js";import{s as Fe,F as De}from"./FileItem-72718f68.js";import{u as ze}from"./hook-ed129d88.js";import{g as Ge,o as P}from"./index-0d856f16.js";/* empty css */import"./index-29e38a15.js";import"./shortcut-869fab50.js";import"./_isIterateeCall-dd643bcf.js";const x=r=>(Se("data-v-aea581a5"),r=r(),xe(),r),Te={class:"hint"},$e={class:"action-bar"},Be={class:"title line-clamp-1"},Re=x(()=>d("div",{"flex-placeholder":""},null,-1)),Ee=x(()=>d("div",{style:{padding:"16px 0 512px"}},null,-1)),Le={key:1,class:"no-res-hint"},Ue=x(()=>d("p",{class:"hint"},"暂无结果",-1)),Je=[Ue],Ne={key:2,class:"preview-switch"},Pe=pe({__name:"MatchedImageGrid",props:{tabIdx:{},paneIdx:{},id:{},title:{},paths:{}},setup(r){const h=r,t=ue({res:[],load:!1,loading:!1,async next(){var s;if(!(t.loading||t.load)){t.loading=!0;try{const u=t.res.length,f=(h.paths??[]).slice(u,u+200);if(!f.length){t.load=!0;return}const C=await fe(f),g=f.map(I=>C[I]).filter(Boolean);t.res.push(...g),u+200>=(((s=h.paths)==null?void 0:s.length)??0)&&(t.load=!0)}finally{t.loading=!1}}},async reset(){t.res=[],t.load=!1,await t.next()}}),{queue:K,images:l,onContextMenuClickU:b,stackViewEl:O,previewIdx:p,previewing:y,onPreviewVisibleChange:W,previewImgMove:M,canPreview:A,itemSize:V,gridItems:q,showGenInfo:k,imageGenInfo:F,q:j,multiSelectedIdxs:w,onFileItemClick:H,scroller:D,showMenuIdx:_,onFileDragStart:Q,onFileDragEnd:Z,cellWidth:X,onScroll:z,saveAllFileAsJson:Y,saveLoadedFileAsJson:ee,changeIndchecked:te,seedChangeChecked:le,getGenDiff:ie,getGenDiffWatchDep:se}=ze(t);ge(()=>h.paths,async()=>{var s;await t.reset({refetch:!0}),await me(),(s=D.value)==null||s.scrollToItem(0),z()},{immediate:!0});const ne=he(),{onClearAllSelected:ae,onSelectAll:oe,onReverseSelect:de}=Ge(),ce=()=>{l.value.length!==0&&P(l.value,0)};return(s,i)=>{const u=Ve,f=we,C=_e,g=Ce,I=Ie;return m(),S("div",{class:"container",ref_key:"stackViewEl",ref:O},[n(u,{show:!!e(w).length||e(ne).keepMultiSelect,onClearAllSelected:e(ae),onSelectAll:e(oe),onReverseSelect:e(de)},null,8,["show","onClearAllSelected","onSelectAll","onReverseSelect"]),n(I,{size:"large",spinning:!e(K).isIdle||t.loading},{default:a(()=>{var G,T,$,B;return[n(C,{visible:e(k),"onUpdate:visible":i[1]||(i[1]=o=>L(k)?k.value=o:null),width:"70vw","mask-closable":"",onOk:i[2]||(i[2]=o=>k.value=!1)},{cancelText:a(()=>[]),default:a(()=>[n(f,{active:"",loading:!e(j).isIdle},{default:a(()=>[d("div",{style:{width:"100%","word-break":"break-all","white-space":"pre-line","max-height":"70vh",overflow:"auto"},onDblclick:i[0]||(i[0]=o=>e(ke)(e(F)))},[d("div",Te,c(s.$t("doubleClickToCopy")),1),v(" "+c(e(F)),1)],32)]),_:1},8,["loading"])]),_:1},8,["visible"]),d("div",$e,[d("div",Be,"🧩 "+c(h.title),1),Re,n(g,{onClick:ce,disabled:!((G=e(l))!=null&&G.length)},{default:a(()=>[v(c(s.$t("tiktokView")),1)]),_:1},8,["disabled"]),n(g,{onClick:e(ee),disabled:!((T=e(l))!=null&&T.length)},{default:a(()=>[v(c(s.$t("saveLoadedImageAsJson")),1)]),_:1},8,["onClick","disabled"]),n(g,{onClick:e(Y),disabled:!(($=e(l))!=null&&$.length)},{default:a(()=>[v(c(s.$t("saveAllAsJson")),1)]),_:1},8,["onClick","disabled"])]),(B=e(l))!=null&&B.length?(m(),U(e(Fe),{key:0,ref_key:"scroller",ref:D,class:"file-list",items:e(l),"item-size":e(V).first,"key-field":"fullpath","item-secondary-size":e(V).second,gridItems:e(q),onScroll:e(z)},{after:a(()=>[Ee]),default:a(({item:o,index:R})=>[n(De,{idx:R,file:o,"cell-width":e(X),"show-menu-idx":e(_),"onUpdate:showMenuIdx":i[3]||(i[3]=E=>L(_)?_.value=E:null),onDragstart:e(Q),onDragend:e(Z),onFileItemClick:e(H),onTiktokView:(E,re)=>e(P)(e(l),re),"full-screen-preview-image-url":e(l)[e(p)]?e(ve)(e(l)[e(p)]):"",selected:e(w).includes(R),onContextMenuClick:e(b),onPreviewVisibleChange:e(W),"is-selected-mutil-files":e(w).length>1,"enable-change-indicator":e(te),"seed-change-checked":e(le),"get-gen-diff":e(ie),"get-gen-diff-watch-dep":e(se)},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"])):(m(),S("div",Le,Je)),e(y)?(m(),S("div",Ne,[n(e(ye),{onClick:i[4]||(i[4]=o=>e(M)("prev")),class:J({disable:!e(A)("prev")})},null,8,["class"]),n(e(Me),{onClick:i[5]||(i[5]=o=>e(M)("next")),class:J({disable:!e(A)("next")})},null,8,["class"])])):N("",!0)]}),_:1},8,["spinning"]),e(y)&&e(l)&&e(l)[e(p)]?(m(),U(Ae,{key:0,file:e(l)[e(p)],idx:e(p),onContextMenuClick:e(b)},null,8,["file","idx","onContextMenuClick"])):N("",!0)],512)}}});const Ye=be(Pe,[["__scopeId","data-v-aea581a5"]]);export{Ye as default}; diff --git a/vue/dist/assets/MatchedImageGrid-30230c17.js b/vue/dist/assets/MatchedImageGrid-ece0b4a5.js similarity index 92% rename from vue/dist/assets/MatchedImageGrid-30230c17.js rename to vue/dist/assets/MatchedImageGrid-ece0b4a5.js index 2e2bedb..8ff08bc 100644 --- a/vue/dist/assets/MatchedImageGrid-30230c17.js +++ b/vue/dist/assets/MatchedImageGrid-ece0b4a5.js @@ -1 +1 @@ -import{d as ke,r as he,s as C,x as G,p as ve,o as u,j as S,c as n,E as e,C as o,H as z,k as d,I as we,t as a,l as p,B as U,U as Ie,aE as _e,m as b,V as E,a1 as Ce,Z as Se,a6 as be,a3 as N,a8 as xe,aw as ye,ax as Me,aK as Ae,n as Te}from"./index-32743103.js";import{L as Ve,R as $e,f as De,M as Fe}from"./MultiSelectKeep-56b94e1f.js";import{s as Be,F as Re}from"./FileItem-aa47825a.js";import{c as Ge,u as ze}from"./hook-e2eaf999.js";import{g as Ue,o as J}from"./index-c80754a2.js";/* empty css */import"./index-e1a70e12.js";import"./shortcut-3129f75b.js";import"./_isIterateeCall-16c5cf9c.js";const Ee=c=>(ye("data-v-4815fec6"),c=c(),Me(),c),Ne={class:"hint"},Je={class:"action-bar"},Ke=Ee(()=>d("div",{style:{padding:"16px 0 512px"}},null,-1)),Le={key:1},Pe={class:"no-res-hint"},Oe={class:"hint"},We={key:2,class:"preview-switch"},qe=ke({__name:"MatchedImageGrid",props:{tabIdx:{},paneIdx:{},selectedTagIds:{},id:{}},setup(c){const k=c,m=he(!1),g=Ge(t=>Ae({...k.selectedTagIds,random_sort:m.value},t)),{queue:K,images:s,onContextMenuClickU:x,stackViewEl:L,previewIdx:r,previewing:y,onPreviewVisibleChange:P,previewImgMove:M,canPreview:A,itemSize:T,gridItems:O,showGenInfo:f,imageGenInfo:V,q:W,multiSelectedIdxs:h,onFileItemClick:q,scroller:v,showMenuIdx:w,onFileDragStart:j,onFileDragEnd:H,cellWidth:Q,onScroll:I,saveAllFileAsJson:Z,props:X,saveLoadedFileAsJson:Y,changeIndchecked:ee,seedChangeChecked:te,getGenDiff:le,getGenDiffWatchDep:ne}=ze(g);C(()=>k.selectedTagIds,async()=>{var t;await g.reset(),await G(),(t=v.value)==null||t.scrollToItem(0),I()},{immediate:!0}),C(m,async()=>{var t;await g.reset(),await G(),(t=v.value)==null||t.scrollToItem(0),I()}),C(()=>k,async t=>{X.value=t},{deep:!0,immediate:!0});const se=ve(),{onClearAllSelected:ie,onSelectAll:oe,onReverseSelect:ae}=Ue(),de=()=>{s.value.length!==0&&J(s.value,0)};return(t,l)=>{const ce=Fe,re=Ce,ue=Se,pe=be,_=N,me=N,ge=xe;return u(),S("div",{class:"container",ref_key:"stackViewEl",ref:L},[n(ce,{show:!!e(h).length||e(se).keepMultiSelect,onClearAllSelected:e(ie),onSelectAll:e(oe),onReverseSelect:e(ae)},null,8,["show","onClearAllSelected","onSelectAll","onReverseSelect"]),n(ge,{size:"large",spinning:!e(K).isIdle},{default:o(()=>{var $,D,F;return[n(ue,{visible:e(f),"onUpdate:visible":l[1]||(l[1]=i=>z(f)?f.value=i:null),width:"70vw","mask-closable":"",onOk:l[2]||(l[2]=i=>f.value=!1)},{cancelText:o(()=>[]),default:o(()=>[n(re,{active:"",loading:!e(W).isIdle},{default:o(()=>[d("div",{style:{width:"100%","word-break":"break-all","white-space":"pre-line","max-height":"70vh",overflow:"auto"},onDblclick:l[0]||(l[0]=i=>e(we)(e(V)))},[d("div",Ne,a(t.$t("doubleClickToCopy")),1),p(" "+a(e(V)),1)],32)]),_:1},8,["loading"])]),_:1},8,["visible"]),d("div",Je,[n(pe,{checked:m.value,"onUpdate:checked":l[3]||(l[3]=i=>m.value=i),"checked-children":t.$t("randomSort"),"un-checked-children":t.$t("sortByDate")},null,8,["checked","checked-children","un-checked-children"]),n(_,{onClick:de,disabled:!(($=e(s))!=null&&$.length)},{default:o(()=>[p(a(t.$t("tiktokView")),1)]),_:1},8,["disabled"]),n(_,{onClick:e(Y)},{default:o(()=>[p(a(t.$t("saveLoadedImageAsJson")),1)]),_:1},8,["onClick"]),n(_,{onClick:e(Z)},{default:o(()=>[p(a(t.$t("saveAllAsJson")),1)]),_:1},8,["onClick"])]),(D=e(s))!=null&&D.length?(u(),U(e(Be),{key:0,ref_key:"scroller",ref:v,class:"file-list",items:e(s),"item-size":e(T).first,"key-field":"fullpath","item-secondary-size":e(T).second,gridItems:e(O),onScroll:e(I)},{after:o(()=>[Ke]),default:o(({item:i,index:B})=>[n(Re,{idx:B,file:i,"cell-width":e(Q),"show-menu-idx":e(w),"onUpdate:showMenuIdx":l[4]||(l[4]=R=>z(w)?w.value=R:null),onDragstart:e(j),onDragend:e(H),onFileItemClick:e(q),onTiktokView:(R,fe)=>e(J)(e(s),fe),"full-screen-preview-image-url":e(s)[e(r)]?e(Ie)(e(s)[e(r)]):"",selected:e(h).includes(B),onContextMenuClick:e(x),onPreviewVisibleChange:e(P),"is-selected-mutil-files":e(h).length>1,"enable-change-indicator":e(ee),"seed-change-checked":e(te),"get-gen-diff":e(le),"get-gen-diff-watch-dep":e(ne)},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(g).load&&t.selectedTagIds.and_tags.length===1&&!((F=t.selectedTagIds.folder_paths_str)!=null&&F.trim())?(u(),S("div",Le,[d("div",Pe,[d("p",Oe,a(t.$t("tagSearchNoResultsMessage")),1),n(me,{onClick:l[5]||(l[5]=i=>e(_e)()),type:"primary"},{default:o(()=>[p(a(t.$t("rebuildImageIndex")),1)]),_:1})])])):b("",!0),e(y)?(u(),S("div",We,[n(e(Ve),{onClick:l[6]||(l[6]=i=>e(M)("prev")),class:E({disable:!e(A)("prev")})},null,8,["class"]),n(e($e),{onClick:l[7]||(l[7]=i=>e(M)("next")),class:E({disable:!e(A)("next")})},null,8,["class"])])):b("",!0)]}),_:1},8,["spinning"]),e(y)&&e(s)&&e(s)[e(r)]?(u(),U(De,{key:0,file:e(s)[e(r)],idx:e(r),onContextMenuClick:e(x)},null,8,["file","idx","onContextMenuClick"])):b("",!0)],512)}}});const nt=Te(qe,[["__scopeId","data-v-4815fec6"]]);export{nt as default}; +import{d as ke,r as he,s as C,x as G,p as ve,o as u,j as S,c as n,E as e,C as o,H as z,k as d,I as we,t as a,l as p,B as U,U as Ie,aE as _e,m as b,V as E,a1 as Ce,Z as Se,a6 as be,a3 as N,a8 as xe,aw as ye,ax as Me,aK as Ae,n as Te}from"./index-f2db319b.js";import{L as Ve,R as $e,f as De,M as Fe}from"./MultiSelectKeep-a11efe88.js";import{s as Be,F as Re}from"./FileItem-72718f68.js";import{c as Ge,u as ze}from"./hook-ed129d88.js";import{g as Ue,o as J}from"./index-0d856f16.js";/* empty css */import"./index-29e38a15.js";import"./shortcut-869fab50.js";import"./_isIterateeCall-dd643bcf.js";const Ee=c=>(ye("data-v-4815fec6"),c=c(),Me(),c),Ne={class:"hint"},Je={class:"action-bar"},Ke=Ee(()=>d("div",{style:{padding:"16px 0 512px"}},null,-1)),Le={key:1},Pe={class:"no-res-hint"},Oe={class:"hint"},We={key:2,class:"preview-switch"},qe=ke({__name:"MatchedImageGrid",props:{tabIdx:{},paneIdx:{},selectedTagIds:{},id:{}},setup(c){const k=c,m=he(!1),g=Ge(t=>Ae({...k.selectedTagIds,random_sort:m.value},t)),{queue:K,images:s,onContextMenuClickU:x,stackViewEl:L,previewIdx:r,previewing:y,onPreviewVisibleChange:P,previewImgMove:M,canPreview:A,itemSize:T,gridItems:O,showGenInfo:f,imageGenInfo:V,q:W,multiSelectedIdxs:h,onFileItemClick:q,scroller:v,showMenuIdx:w,onFileDragStart:j,onFileDragEnd:H,cellWidth:Q,onScroll:I,saveAllFileAsJson:Z,props:X,saveLoadedFileAsJson:Y,changeIndchecked:ee,seedChangeChecked:te,getGenDiff:le,getGenDiffWatchDep:ne}=ze(g);C(()=>k.selectedTagIds,async()=>{var t;await g.reset(),await G(),(t=v.value)==null||t.scrollToItem(0),I()},{immediate:!0}),C(m,async()=>{var t;await g.reset(),await G(),(t=v.value)==null||t.scrollToItem(0),I()}),C(()=>k,async t=>{X.value=t},{deep:!0,immediate:!0});const se=ve(),{onClearAllSelected:ie,onSelectAll:oe,onReverseSelect:ae}=Ue(),de=()=>{s.value.length!==0&&J(s.value,0)};return(t,l)=>{const ce=Fe,re=Ce,ue=Se,pe=be,_=N,me=N,ge=xe;return u(),S("div",{class:"container",ref_key:"stackViewEl",ref:L},[n(ce,{show:!!e(h).length||e(se).keepMultiSelect,onClearAllSelected:e(ie),onSelectAll:e(oe),onReverseSelect:e(ae)},null,8,["show","onClearAllSelected","onSelectAll","onReverseSelect"]),n(ge,{size:"large",spinning:!e(K).isIdle},{default:o(()=>{var $,D,F;return[n(ue,{visible:e(f),"onUpdate:visible":l[1]||(l[1]=i=>z(f)?f.value=i:null),width:"70vw","mask-closable":"",onOk:l[2]||(l[2]=i=>f.value=!1)},{cancelText:o(()=>[]),default:o(()=>[n(re,{active:"",loading:!e(W).isIdle},{default:o(()=>[d("div",{style:{width:"100%","word-break":"break-all","white-space":"pre-line","max-height":"70vh",overflow:"auto"},onDblclick:l[0]||(l[0]=i=>e(we)(e(V)))},[d("div",Ne,a(t.$t("doubleClickToCopy")),1),p(" "+a(e(V)),1)],32)]),_:1},8,["loading"])]),_:1},8,["visible"]),d("div",Je,[n(pe,{checked:m.value,"onUpdate:checked":l[3]||(l[3]=i=>m.value=i),"checked-children":t.$t("randomSort"),"un-checked-children":t.$t("sortByDate")},null,8,["checked","checked-children","un-checked-children"]),n(_,{onClick:de,disabled:!(($=e(s))!=null&&$.length)},{default:o(()=>[p(a(t.$t("tiktokView")),1)]),_:1},8,["disabled"]),n(_,{onClick:e(Y)},{default:o(()=>[p(a(t.$t("saveLoadedImageAsJson")),1)]),_:1},8,["onClick"]),n(_,{onClick:e(Z)},{default:o(()=>[p(a(t.$t("saveAllAsJson")),1)]),_:1},8,["onClick"])]),(D=e(s))!=null&&D.length?(u(),U(e(Be),{key:0,ref_key:"scroller",ref:v,class:"file-list",items:e(s),"item-size":e(T).first,"key-field":"fullpath","item-secondary-size":e(T).second,gridItems:e(O),onScroll:e(I)},{after:o(()=>[Ke]),default:o(({item:i,index:B})=>[n(Re,{idx:B,file:i,"cell-width":e(Q),"show-menu-idx":e(w),"onUpdate:showMenuIdx":l[4]||(l[4]=R=>z(w)?w.value=R:null),onDragstart:e(j),onDragend:e(H),onFileItemClick:e(q),onTiktokView:(R,fe)=>e(J)(e(s),fe),"full-screen-preview-image-url":e(s)[e(r)]?e(Ie)(e(s)[e(r)]):"",selected:e(h).includes(B),onContextMenuClick:e(x),onPreviewVisibleChange:e(P),"is-selected-mutil-files":e(h).length>1,"enable-change-indicator":e(ee),"seed-change-checked":e(te),"get-gen-diff":e(le),"get-gen-diff-watch-dep":e(ne)},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(g).load&&t.selectedTagIds.and_tags.length===1&&!((F=t.selectedTagIds.folder_paths_str)!=null&&F.trim())?(u(),S("div",Le,[d("div",Pe,[d("p",Oe,a(t.$t("tagSearchNoResultsMessage")),1),n(me,{onClick:l[5]||(l[5]=i=>e(_e)()),type:"primary"},{default:o(()=>[p(a(t.$t("rebuildImageIndex")),1)]),_:1})])])):b("",!0),e(y)?(u(),S("div",We,[n(e(Ve),{onClick:l[6]||(l[6]=i=>e(M)("prev")),class:E({disable:!e(A)("prev")})},null,8,["class"]),n(e($e),{onClick:l[7]||(l[7]=i=>e(M)("next")),class:E({disable:!e(A)("next")})},null,8,["class"])])):b("",!0)]}),_:1},8,["spinning"]),e(y)&&e(s)&&e(s)[e(r)]?(u(),U(De,{key:0,file:e(s)[e(r)],idx:e(r),onContextMenuClick:e(x)},null,8,["file","idx","onContextMenuClick"])):b("",!0)],512)}}});const nt=Te(qe,[["__scopeId","data-v-4815fec6"]]);export{nt as default}; diff --git a/vue/dist/assets/MultiSelectKeep-56b94e1f.js b/vue/dist/assets/MultiSelectKeep-a11efe88.js similarity index 99% rename from vue/dist/assets/MultiSelectKeep-56b94e1f.js rename to vue/dist/assets/MultiSelectKeep-a11efe88.js index 76360d5..dc4e93d 100644 --- a/vue/dist/assets/MultiSelectKeep-56b94e1f.js +++ b/vue/dist/assets/MultiSelectKeep-a11efe88.js @@ -1,4 +1,4 @@ -import{c as m,A as Te,ai as ln,d as lt,p as Je,v as Ge,cc as $t,r as ue,aj as re,o as _,j as O,k as $,F as Y,K as ge,t as w,C as k,l as N,m as H,B as de,E as v,a3 as We,aw as Ft,ax as Xt,n as ct,bV as cn,s as Me,x as un,aC as De,aD as ot,aL as dn,as as Et,cd as gn,ay as Fe,aA as fn,ce as hn,bm as pn,bp as vn,cf as Qe,cg as _n,ch as mn,ci as yn,aB as bn,X as ie,cj as wt,bP as $n,bQ as En,ck as Ot,I as ze,G as kt,cl as wn,cm as xt,J as et,V as tt,H as Re,cn as nt,co as On,W as be,cp as kn,a4 as xn,cq as Mn,cr as Sn,M as Tn,a6 as Cn,bT as Ln,at as An,cs as zn,ct as Dn,a8 as Nn,cu as In}from"./index-32743103.js";/* empty css */import{D as jn}from"./index-e1a70e12.js";import{_ as Pn}from"./FileItem-aa47825a.js";import{k as Mt}from"./index-c80754a2.js";var Bn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 298.4H521L403.7 186.2a8.15 8.15 0 00-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32zM840 768H184V256h188.5l119.6 114.4H840V768z"}}]},name:"folder",theme:"outlined"};const Rn=Bn;function St(e){for(var t=1;t{const n=e[t],i=typeof n;(i==="object"||i==="function")&&!Object.isFrozen(n)&&qt(n)}),e}class Dt{constructor(t){t.data===void 0&&(t.data={}),this.data=t.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function Jt(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function _e(e,...t){const n=Object.create(null);for(const i in e)n[i]=e[i];return t.forEach(function(i){for(const l in i)n[l]=i[l]}),n}const li="",Nt=e=>!!e.scope,ci=(e,{prefix:t})=>{if(e.startsWith("language:"))return e.replace("language:","language-");if(e.includes(".")){const n=e.split(".");return[`${t}${n.shift()}`,...n.map((i,l)=>`${i}${"_".repeat(l+1)}`)].join(" ")}return`${t}${e}`};class ui{constructor(t,n){this.buffer="",this.classPrefix=n.classPrefix,t.walk(this)}addText(t){this.buffer+=Jt(t)}openNode(t){if(!Nt(t))return;const n=ci(t.scope,{prefix:this.classPrefix});this.span(n)}closeNode(t){Nt(t)&&(this.buffer+=li)}value(){return this.buffer}span(t){this.buffer+=``}}const It=(e={})=>{const t={children:[]};return Object.assign(t,e),t};class vt{constructor(){this.rootNode=It(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(t){this.top.children.push(t)}openNode(t){const n=It({scope:t});this.add(n),this.stack.push(n)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(t){return this.constructor._walk(t,this.rootNode)}static _walk(t,n){return typeof n=="string"?t.addText(n):n.children&&(t.openNode(n),n.children.forEach(i=>this._walk(t,i)),t.closeNode(n)),t}static _collapse(t){typeof t!="string"&&t.children&&(t.children.every(n=>typeof n=="string")?t.children=[t.children.join("")]:t.children.forEach(n=>{vt._collapse(n)}))}}class di extends vt{constructor(t){super(),this.options=t}addText(t){t!==""&&this.add(t)}startScope(t){this.openNode(t)}endScope(){this.closeNode()}__addSublanguage(t,n){const i=t.root;n&&(i.scope=`language:${n}`),this.add(i)}toHTML(){return new ui(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function Ne(e){return e?typeof e=="string"?e:e.source:null}function Gt(e){return Ee("(?=",e,")")}function gi(e){return Ee("(?:",e,")*")}function fi(e){return Ee("(?:",e,")?")}function Ee(...e){return e.map(n=>Ne(n)).join("")}function hi(e){const t=e[e.length-1];return typeof t=="object"&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function _t(...e){return"("+(hi(e).capture?"":"?:")+e.map(i=>Ne(i)).join("|")+")"}function Vt(e){return new RegExp(e.toString()+"|").exec("").length-1}function pi(e,t){const n=e&&e.exec(t);return n&&n.index===0}const vi=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function mt(e,{joinWith:t}){let n=0;return e.map(i=>{n+=1;const l=n;let p=Ne(i),o="";for(;p.length>0;){const r=vi.exec(p);if(!r){o+=p;break}o+=p.substring(0,r.index),p=p.substring(r.index+r[0].length),r[0][0]==="\\"&&r[1]?o+="\\"+String(Number(r[1])+l):(o+=r[0],r[0]==="("&&n++)}return o}).map(i=>`(${i})`).join(t)}const _i=/\b\B/,Yt="[a-zA-Z]\\w*",yt="[a-zA-Z_]\\w*",Kt="\\b\\d+(\\.\\d+)?",Zt="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",Qt="\\b(0b[01]+)",mi="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",yi=(e={})=>{const t=/^#![ ]*\//;return e.binary&&(e.begin=Ee(t,/.*\b/,e.binary,/\b.*/)),_e({scope:"meta",begin:t,end:/$/,relevance:0,"on:begin":(n,i)=>{n.index!==0&&i.ignoreMatch()}},e)},Ie={begin:"\\\\[\\s\\S]",relevance:0},bi={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[Ie]},$i={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[Ie]},Ei={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},Ve=function(e,t,n={}){const i=_e({scope:"comment",begin:e,end:t,contains:[]},n);i.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const l=_t("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return i.contains.push({begin:Ee(/[ ]+/,"(",l,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),i},wi=Ve("//","$"),Oi=Ve("/\\*","\\*/"),ki=Ve("#","$"),xi={scope:"number",begin:Kt,relevance:0},Mi={scope:"number",begin:Zt,relevance:0},Si={scope:"number",begin:Qt,relevance:0},Ti={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[Ie,{begin:/\[/,end:/\]/,relevance:0,contains:[Ie]}]},Ci={scope:"title",begin:Yt,relevance:0},Li={scope:"title",begin:yt,relevance:0},Ai={begin:"\\.\\s*"+yt,relevance:0},zi=function(e){return Object.assign(e,{"on:begin":(t,n)=>{n.data._beginMatch=t[1]},"on:end":(t,n)=>{n.data._beginMatch!==t[1]&&n.ignoreMatch()}})};var Ue=Object.freeze({__proto__:null,APOS_STRING_MODE:bi,BACKSLASH_ESCAPE:Ie,BINARY_NUMBER_MODE:Si,BINARY_NUMBER_RE:Qt,COMMENT:Ve,C_BLOCK_COMMENT_MODE:Oi,C_LINE_COMMENT_MODE:wi,C_NUMBER_MODE:Mi,C_NUMBER_RE:Zt,END_SAME_AS_BEGIN:zi,HASH_COMMENT_MODE:ki,IDENT_RE:Yt,MATCH_NOTHING_RE:_i,METHOD_GUARD:Ai,NUMBER_MODE:xi,NUMBER_RE:Kt,PHRASAL_WORDS_MODE:Ei,QUOTE_STRING_MODE:$i,REGEXP_MODE:Ti,RE_STARTERS_RE:mi,SHEBANG:yi,TITLE_MODE:Ci,UNDERSCORE_IDENT_RE:yt,UNDERSCORE_TITLE_MODE:Li});function Di(e,t){e.input[e.index-1]==="."&&t.ignoreMatch()}function Ni(e,t){e.className!==void 0&&(e.scope=e.className,delete e.className)}function Ii(e,t){t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=Di,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,e.relevance===void 0&&(e.relevance=0))}function ji(e,t){Array.isArray(e.illegal)&&(e.illegal=_t(...e.illegal))}function Pi(e,t){if(e.match){if(e.begin||e.end)throw new Error("begin & end are not supported with match");e.begin=e.match,delete e.match}}function Bi(e,t){e.relevance===void 0&&(e.relevance=1)}const Ri=(e,t)=>{if(!e.beforeMatch)return;if(e.starts)throw new Error("beforeMatch cannot be used with starts");const n=Object.assign({},e);Object.keys(e).forEach(i=>{delete e[i]}),e.keywords=n.keywords,e.begin=Ee(n.beforeMatch,Gt(n.begin)),e.starts={relevance:0,contains:[Object.assign(n,{endsParent:!0})]},e.relevance=0,delete n.beforeMatch},Ui=["of","and","for","in","not","or","if","then","parent","list","value"],Hi="keyword";function en(e,t,n=Hi){const i=Object.create(null);return typeof e=="string"?l(n,e.split(" ")):Array.isArray(e)?l(n,e):Object.keys(e).forEach(function(p){Object.assign(i,en(e[p],t,p))}),i;function l(p,o){t&&(o=o.map(r=>r.toLowerCase())),o.forEach(function(r){const d=r.split("|");i[d[0]]=[p,Wi(d[0],d[1])]})}}function Wi(e,t){return t?Number(t):Fi(e)?0:1}function Fi(e){return Ui.includes(e.toLowerCase())}const jt={},$e=e=>{console.error(e)},Pt=(e,...t)=>{console.log(`WARN: ${e}`,...t)},xe=(e,t)=>{jt[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),jt[`${e}/${t}`]=!0)},Xe=new Error;function tn(e,t,{key:n}){let i=0;const l=e[n],p={},o={};for(let r=1;r<=t.length;r++)o[r+i]=l[r],p[r+i]=!0,i+=Vt(t[r-1]);e[n]=o,e[n]._emit=p,e[n]._multi=!0}function Xi(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw $e("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),Xe;if(typeof e.beginScope!="object"||e.beginScope===null)throw $e("beginScope must be object"),Xe;tn(e,e.begin,{key:"beginScope"}),e.begin=mt(e.begin,{joinWith:""})}}function qi(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw $e("skip, excludeEnd, returnEnd not compatible with endScope: {}"),Xe;if(typeof e.endScope!="object"||e.endScope===null)throw $e("endScope must be object"),Xe;tn(e,e.end,{key:"endScope"}),e.end=mt(e.end,{joinWith:""})}}function Ji(e){e.scope&&typeof e.scope=="object"&&e.scope!==null&&(e.beginScope=e.scope,delete e.scope)}function Gi(e){Ji(e),typeof e.beginScope=="string"&&(e.beginScope={_wrap:e.beginScope}),typeof e.endScope=="string"&&(e.endScope={_wrap:e.endScope}),Xi(e),qi(e)}function Vi(e){function t(o,r){return new RegExp(Ne(o),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(r?"g":""))}class n{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(r,d){d.position=this.position++,this.matchIndexes[this.matchAt]=d,this.regexes.push([d,r]),this.matchAt+=Vt(r)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const r=this.regexes.map(d=>d[1]);this.matcherRe=t(mt(r,{joinWith:"|"}),!0),this.lastIndex=0}exec(r){this.matcherRe.lastIndex=this.lastIndex;const d=this.matcherRe.exec(r);if(!d)return null;const C=d.findIndex((K,G)=>G>0&&K!==void 0),D=this.matchIndexes[C];return d.splice(0,C),Object.assign(d,D)}}class i{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(r){if(this.multiRegexes[r])return this.multiRegexes[r];const d=new n;return this.rules.slice(r).forEach(([C,D])=>d.addRule(C,D)),d.compile(),this.multiRegexes[r]=d,d}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(r,d){this.rules.push([r,d]),d.type==="begin"&&this.count++}exec(r){const d=this.getMatcher(this.regexIndex);d.lastIndex=this.lastIndex;let C=d.exec(r);if(this.resumingScanAtSamePosition()&&!(C&&C.index===this.lastIndex)){const D=this.getMatcher(0);D.lastIndex=this.lastIndex+1,C=D.exec(r)}return C&&(this.regexIndex+=C.position+1,this.regexIndex===this.count&&this.considerAll()),C}}function l(o){const r=new i;return o.contains.forEach(d=>r.addRule(d.begin,{rule:d,type:"begin"})),o.terminatorEnd&&r.addRule(o.terminatorEnd,{type:"end"}),o.illegal&&r.addRule(o.illegal,{type:"illegal"}),r}function p(o,r){const d=o;if(o.isCompiled)return d;[Ni,Pi,Gi,Ri].forEach(D=>D(o,r)),e.compilerExtensions.forEach(D=>D(o,r)),o.__beforeBegin=null,[Ii,ji,Bi].forEach(D=>D(o,r)),o.isCompiled=!0;let C=null;return typeof o.keywords=="object"&&o.keywords.$pattern&&(o.keywords=Object.assign({},o.keywords),C=o.keywords.$pattern,delete o.keywords.$pattern),C=C||/\w+/,o.keywords&&(o.keywords=en(o.keywords,e.case_insensitive)),d.keywordPatternRe=t(C,!0),r&&(o.begin||(o.begin=/\B|\b/),d.beginRe=t(d.begin),!o.end&&!o.endsWithParent&&(o.end=/\B|\b/),o.end&&(d.endRe=t(d.end)),d.terminatorEnd=Ne(d.end)||"",o.endsWithParent&&r.terminatorEnd&&(d.terminatorEnd+=(o.end?"|":"")+r.terminatorEnd)),o.illegal&&(d.illegalRe=t(o.illegal)),o.contains||(o.contains=[]),o.contains=[].concat(...o.contains.map(function(D){return Yi(D==="self"?o:D)})),o.contains.forEach(function(D){p(D,d)}),o.starts&&p(o.starts,r),d.matcher=l(d),d}if(e.compilerExtensions||(e.compilerExtensions=[]),e.contains&&e.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=_e(e.classNameAliases||{}),p(e)}function nn(e){return e?e.endsWithParent||nn(e.starts):!1}function Yi(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map(function(t){return _e(e,{variants:null},t)})),e.cachedVariants?e.cachedVariants:nn(e)?_e(e,{starts:e.starts?_e(e.starts):null}):Object.isFrozen(e)?_e(e):e}var Ki="11.11.1";class Zi extends Error{constructor(t,n){super(t),this.name="HTMLInjectionError",this.html=n}}const it=Jt,Bt=_e,Rt=Symbol("nomatch"),Qi=7,an=function(e){const t=Object.create(null),n=Object.create(null),i=[];let l=!0;const p="Could not find the language '{}', did you forget to load/include a language module?",o={disableAutodetect:!0,name:"Plain text",contains:[]};let r={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:di};function d(s){return r.noHighlightRe.test(s)}function C(s){let h=s.className+" ";h+=s.parentNode?s.parentNode.className:"";const L=r.languageDetectRe.exec(h);if(L){const j=ne(L[1]);return j||(Pt(p.replace("{}",L[1])),Pt("Falling back to no-highlight mode for this block.",s)),j?L[1]:"no-highlight"}return h.split(/\s+/).find(j=>d(j)||ne(j))}function D(s,h,L){let j="",U="";typeof h=="object"?(j=s,L=h.ignoreIllegals,U=h.language):(xe("10.7.0","highlight(lang, code, ...args) has been deprecated."),xe("10.7.0",`Please use highlight(code, options) instead. +import{c as m,A as Te,ai as ln,d as lt,p as Je,v as Ge,cc as $t,r as ue,aj as re,o as _,j as O,k as $,F as Y,K as ge,t as w,C as k,l as N,m as H,B as de,E as v,a3 as We,aw as Ft,ax as Xt,n as ct,bV as cn,s as Me,x as un,aC as De,aD as ot,aL as dn,as as Et,cd as gn,ay as Fe,aA as fn,ce as hn,bm as pn,bp as vn,cf as Qe,cg as _n,ch as mn,ci as yn,aB as bn,X as ie,cj as wt,bP as $n,bQ as En,ck as Ot,I as ze,G as kt,cl as wn,cm as xt,J as et,V as tt,H as Re,cn as nt,co as On,W as be,cp as kn,a4 as xn,cq as Mn,cr as Sn,M as Tn,a6 as Cn,bT as Ln,at as An,cs as zn,ct as Dn,a8 as Nn,cu as In}from"./index-f2db319b.js";/* empty css */import{D as jn}from"./index-29e38a15.js";import{_ as Pn}from"./FileItem-72718f68.js";import{k as Mt}from"./index-0d856f16.js";var Bn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 298.4H521L403.7 186.2a8.15 8.15 0 00-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32zM840 768H184V256h188.5l119.6 114.4H840V768z"}}]},name:"folder",theme:"outlined"};const Rn=Bn;function St(e){for(var t=1;t{const n=e[t],i=typeof n;(i==="object"||i==="function")&&!Object.isFrozen(n)&&qt(n)}),e}class Dt{constructor(t){t.data===void 0&&(t.data={}),this.data=t.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function Jt(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function _e(e,...t){const n=Object.create(null);for(const i in e)n[i]=e[i];return t.forEach(function(i){for(const l in i)n[l]=i[l]}),n}const li="",Nt=e=>!!e.scope,ci=(e,{prefix:t})=>{if(e.startsWith("language:"))return e.replace("language:","language-");if(e.includes(".")){const n=e.split(".");return[`${t}${n.shift()}`,...n.map((i,l)=>`${i}${"_".repeat(l+1)}`)].join(" ")}return`${t}${e}`};class ui{constructor(t,n){this.buffer="",this.classPrefix=n.classPrefix,t.walk(this)}addText(t){this.buffer+=Jt(t)}openNode(t){if(!Nt(t))return;const n=ci(t.scope,{prefix:this.classPrefix});this.span(n)}closeNode(t){Nt(t)&&(this.buffer+=li)}value(){return this.buffer}span(t){this.buffer+=``}}const It=(e={})=>{const t={children:[]};return Object.assign(t,e),t};class vt{constructor(){this.rootNode=It(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(t){this.top.children.push(t)}openNode(t){const n=It({scope:t});this.add(n),this.stack.push(n)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(t){return this.constructor._walk(t,this.rootNode)}static _walk(t,n){return typeof n=="string"?t.addText(n):n.children&&(t.openNode(n),n.children.forEach(i=>this._walk(t,i)),t.closeNode(n)),t}static _collapse(t){typeof t!="string"&&t.children&&(t.children.every(n=>typeof n=="string")?t.children=[t.children.join("")]:t.children.forEach(n=>{vt._collapse(n)}))}}class di extends vt{constructor(t){super(),this.options=t}addText(t){t!==""&&this.add(t)}startScope(t){this.openNode(t)}endScope(){this.closeNode()}__addSublanguage(t,n){const i=t.root;n&&(i.scope=`language:${n}`),this.add(i)}toHTML(){return new ui(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function Ne(e){return e?typeof e=="string"?e:e.source:null}function Gt(e){return Ee("(?=",e,")")}function gi(e){return Ee("(?:",e,")*")}function fi(e){return Ee("(?:",e,")?")}function Ee(...e){return e.map(n=>Ne(n)).join("")}function hi(e){const t=e[e.length-1];return typeof t=="object"&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function _t(...e){return"("+(hi(e).capture?"":"?:")+e.map(i=>Ne(i)).join("|")+")"}function Vt(e){return new RegExp(e.toString()+"|").exec("").length-1}function pi(e,t){const n=e&&e.exec(t);return n&&n.index===0}const vi=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function mt(e,{joinWith:t}){let n=0;return e.map(i=>{n+=1;const l=n;let p=Ne(i),o="";for(;p.length>0;){const r=vi.exec(p);if(!r){o+=p;break}o+=p.substring(0,r.index),p=p.substring(r.index+r[0].length),r[0][0]==="\\"&&r[1]?o+="\\"+String(Number(r[1])+l):(o+=r[0],r[0]==="("&&n++)}return o}).map(i=>`(${i})`).join(t)}const _i=/\b\B/,Yt="[a-zA-Z]\\w*",yt="[a-zA-Z_]\\w*",Kt="\\b\\d+(\\.\\d+)?",Zt="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",Qt="\\b(0b[01]+)",mi="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",yi=(e={})=>{const t=/^#![ ]*\//;return e.binary&&(e.begin=Ee(t,/.*\b/,e.binary,/\b.*/)),_e({scope:"meta",begin:t,end:/$/,relevance:0,"on:begin":(n,i)=>{n.index!==0&&i.ignoreMatch()}},e)},Ie={begin:"\\\\[\\s\\S]",relevance:0},bi={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[Ie]},$i={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[Ie]},Ei={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},Ve=function(e,t,n={}){const i=_e({scope:"comment",begin:e,end:t,contains:[]},n);i.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const l=_t("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return i.contains.push({begin:Ee(/[ ]+/,"(",l,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),i},wi=Ve("//","$"),Oi=Ve("/\\*","\\*/"),ki=Ve("#","$"),xi={scope:"number",begin:Kt,relevance:0},Mi={scope:"number",begin:Zt,relevance:0},Si={scope:"number",begin:Qt,relevance:0},Ti={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[Ie,{begin:/\[/,end:/\]/,relevance:0,contains:[Ie]}]},Ci={scope:"title",begin:Yt,relevance:0},Li={scope:"title",begin:yt,relevance:0},Ai={begin:"\\.\\s*"+yt,relevance:0},zi=function(e){return Object.assign(e,{"on:begin":(t,n)=>{n.data._beginMatch=t[1]},"on:end":(t,n)=>{n.data._beginMatch!==t[1]&&n.ignoreMatch()}})};var Ue=Object.freeze({__proto__:null,APOS_STRING_MODE:bi,BACKSLASH_ESCAPE:Ie,BINARY_NUMBER_MODE:Si,BINARY_NUMBER_RE:Qt,COMMENT:Ve,C_BLOCK_COMMENT_MODE:Oi,C_LINE_COMMENT_MODE:wi,C_NUMBER_MODE:Mi,C_NUMBER_RE:Zt,END_SAME_AS_BEGIN:zi,HASH_COMMENT_MODE:ki,IDENT_RE:Yt,MATCH_NOTHING_RE:_i,METHOD_GUARD:Ai,NUMBER_MODE:xi,NUMBER_RE:Kt,PHRASAL_WORDS_MODE:Ei,QUOTE_STRING_MODE:$i,REGEXP_MODE:Ti,RE_STARTERS_RE:mi,SHEBANG:yi,TITLE_MODE:Ci,UNDERSCORE_IDENT_RE:yt,UNDERSCORE_TITLE_MODE:Li});function Di(e,t){e.input[e.index-1]==="."&&t.ignoreMatch()}function Ni(e,t){e.className!==void 0&&(e.scope=e.className,delete e.className)}function Ii(e,t){t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=Di,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,e.relevance===void 0&&(e.relevance=0))}function ji(e,t){Array.isArray(e.illegal)&&(e.illegal=_t(...e.illegal))}function Pi(e,t){if(e.match){if(e.begin||e.end)throw new Error("begin & end are not supported with match");e.begin=e.match,delete e.match}}function Bi(e,t){e.relevance===void 0&&(e.relevance=1)}const Ri=(e,t)=>{if(!e.beforeMatch)return;if(e.starts)throw new Error("beforeMatch cannot be used with starts");const n=Object.assign({},e);Object.keys(e).forEach(i=>{delete e[i]}),e.keywords=n.keywords,e.begin=Ee(n.beforeMatch,Gt(n.begin)),e.starts={relevance:0,contains:[Object.assign(n,{endsParent:!0})]},e.relevance=0,delete n.beforeMatch},Ui=["of","and","for","in","not","or","if","then","parent","list","value"],Hi="keyword";function en(e,t,n=Hi){const i=Object.create(null);return typeof e=="string"?l(n,e.split(" ")):Array.isArray(e)?l(n,e):Object.keys(e).forEach(function(p){Object.assign(i,en(e[p],t,p))}),i;function l(p,o){t&&(o=o.map(r=>r.toLowerCase())),o.forEach(function(r){const d=r.split("|");i[d[0]]=[p,Wi(d[0],d[1])]})}}function Wi(e,t){return t?Number(t):Fi(e)?0:1}function Fi(e){return Ui.includes(e.toLowerCase())}const jt={},$e=e=>{console.error(e)},Pt=(e,...t)=>{console.log(`WARN: ${e}`,...t)},xe=(e,t)=>{jt[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),jt[`${e}/${t}`]=!0)},Xe=new Error;function tn(e,t,{key:n}){let i=0;const l=e[n],p={},o={};for(let r=1;r<=t.length;r++)o[r+i]=l[r],p[r+i]=!0,i+=Vt(t[r-1]);e[n]=o,e[n]._emit=p,e[n]._multi=!0}function Xi(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw $e("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),Xe;if(typeof e.beginScope!="object"||e.beginScope===null)throw $e("beginScope must be object"),Xe;tn(e,e.begin,{key:"beginScope"}),e.begin=mt(e.begin,{joinWith:""})}}function qi(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw $e("skip, excludeEnd, returnEnd not compatible with endScope: {}"),Xe;if(typeof e.endScope!="object"||e.endScope===null)throw $e("endScope must be object"),Xe;tn(e,e.end,{key:"endScope"}),e.end=mt(e.end,{joinWith:""})}}function Ji(e){e.scope&&typeof e.scope=="object"&&e.scope!==null&&(e.beginScope=e.scope,delete e.scope)}function Gi(e){Ji(e),typeof e.beginScope=="string"&&(e.beginScope={_wrap:e.beginScope}),typeof e.endScope=="string"&&(e.endScope={_wrap:e.endScope}),Xi(e),qi(e)}function Vi(e){function t(o,r){return new RegExp(Ne(o),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(r?"g":""))}class n{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(r,d){d.position=this.position++,this.matchIndexes[this.matchAt]=d,this.regexes.push([d,r]),this.matchAt+=Vt(r)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const r=this.regexes.map(d=>d[1]);this.matcherRe=t(mt(r,{joinWith:"|"}),!0),this.lastIndex=0}exec(r){this.matcherRe.lastIndex=this.lastIndex;const d=this.matcherRe.exec(r);if(!d)return null;const C=d.findIndex((K,G)=>G>0&&K!==void 0),D=this.matchIndexes[C];return d.splice(0,C),Object.assign(d,D)}}class i{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(r){if(this.multiRegexes[r])return this.multiRegexes[r];const d=new n;return this.rules.slice(r).forEach(([C,D])=>d.addRule(C,D)),d.compile(),this.multiRegexes[r]=d,d}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(r,d){this.rules.push([r,d]),d.type==="begin"&&this.count++}exec(r){const d=this.getMatcher(this.regexIndex);d.lastIndex=this.lastIndex;let C=d.exec(r);if(this.resumingScanAtSamePosition()&&!(C&&C.index===this.lastIndex)){const D=this.getMatcher(0);D.lastIndex=this.lastIndex+1,C=D.exec(r)}return C&&(this.regexIndex+=C.position+1,this.regexIndex===this.count&&this.considerAll()),C}}function l(o){const r=new i;return o.contains.forEach(d=>r.addRule(d.begin,{rule:d,type:"begin"})),o.terminatorEnd&&r.addRule(o.terminatorEnd,{type:"end"}),o.illegal&&r.addRule(o.illegal,{type:"illegal"}),r}function p(o,r){const d=o;if(o.isCompiled)return d;[Ni,Pi,Gi,Ri].forEach(D=>D(o,r)),e.compilerExtensions.forEach(D=>D(o,r)),o.__beforeBegin=null,[Ii,ji,Bi].forEach(D=>D(o,r)),o.isCompiled=!0;let C=null;return typeof o.keywords=="object"&&o.keywords.$pattern&&(o.keywords=Object.assign({},o.keywords),C=o.keywords.$pattern,delete o.keywords.$pattern),C=C||/\w+/,o.keywords&&(o.keywords=en(o.keywords,e.case_insensitive)),d.keywordPatternRe=t(C,!0),r&&(o.begin||(o.begin=/\B|\b/),d.beginRe=t(d.begin),!o.end&&!o.endsWithParent&&(o.end=/\B|\b/),o.end&&(d.endRe=t(d.end)),d.terminatorEnd=Ne(d.end)||"",o.endsWithParent&&r.terminatorEnd&&(d.terminatorEnd+=(o.end?"|":"")+r.terminatorEnd)),o.illegal&&(d.illegalRe=t(o.illegal)),o.contains||(o.contains=[]),o.contains=[].concat(...o.contains.map(function(D){return Yi(D==="self"?o:D)})),o.contains.forEach(function(D){p(D,d)}),o.starts&&p(o.starts,r),d.matcher=l(d),d}if(e.compilerExtensions||(e.compilerExtensions=[]),e.contains&&e.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=_e(e.classNameAliases||{}),p(e)}function nn(e){return e?e.endsWithParent||nn(e.starts):!1}function Yi(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map(function(t){return _e(e,{variants:null},t)})),e.cachedVariants?e.cachedVariants:nn(e)?_e(e,{starts:e.starts?_e(e.starts):null}):Object.isFrozen(e)?_e(e):e}var Ki="11.11.1";class Zi extends Error{constructor(t,n){super(t),this.name="HTMLInjectionError",this.html=n}}const it=Jt,Bt=_e,Rt=Symbol("nomatch"),Qi=7,an=function(e){const t=Object.create(null),n=Object.create(null),i=[];let l=!0;const p="Could not find the language '{}', did you forget to load/include a language module?",o={disableAutodetect:!0,name:"Plain text",contains:[]};let r={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:di};function d(s){return r.noHighlightRe.test(s)}function C(s){let h=s.className+" ";h+=s.parentNode?s.parentNode.className:"";const L=r.languageDetectRe.exec(h);if(L){const j=ne(L[1]);return j||(Pt(p.replace("{}",L[1])),Pt("Falling back to no-highlight mode for this block.",s)),j?L[1]:"no-highlight"}return h.split(/\s+/).find(j=>d(j)||ne(j))}function D(s,h,L){let j="",U="";typeof h=="object"?(j=s,L=h.ignoreIllegals,U=h.language):(xe("10.7.0","highlight(lang, code, ...args) has been deprecated."),xe("10.7.0",`Please use highlight(code, options) instead. https://github.com/highlightjs/highlight.js/issues/2277`),U=s,j=h),L===void 0&&(L=!0);const ae={code:j,language:U};we("before:highlight",ae);const se=ae.result?ae.result:K(ae.language,ae.code,L);return se.code=ae.code,we("after:highlight",se),se}function K(s,h,L,j){const U=Object.create(null);function ae(u,f){return u.keywords[f]}function se(){if(!b.keywords){R.addText(E);return}let u=0;b.keywordPatternRe.lastIndex=0;let f=b.keywordPatternRe.exec(E),M="";for(;f;){M+=E.substring(u,f.index);const c=x.case_insensitive?f[0].toLowerCase():f[0],z=ae(b,c);if(z){const[F,Be]=z;if(R.addText(M),M="",U[c]=(U[c]||0)+1,U[c]<=Qi&&(le+=Be),F.startsWith("_"))M+=f[0];else{const rn=x.classNameAliases[F]||F;te(f[0],rn)}}else M+=f[0];u=b.keywordPatternRe.lastIndex,f=b.keywordPatternRe.exec(E)}M+=E.substring(u),R.addText(M)}function ve(){if(E==="")return;let u=null;if(typeof b.subLanguage=="string"){if(!t[b.subLanguage]){R.addText(E);return}u=K(b.subLanguage,E,!0,ye[b.subLanguage]),ye[b.subLanguage]=u._top}else u=Z(E,b.subLanguage.length?b.subLanguage:null);b.relevance>0&&(le+=u.relevance),R.__addSublanguage(u._emitter,u.language)}function V(){b.subLanguage!=null?ve():se(),E=""}function te(u,f){u!==""&&(R.startScope(f),R.addText(u),R.endScope())}function Pe(u,f){let M=1;const c=f.length-1;for(;M<=c;){if(!u._emit[M]){M++;continue}const z=x.classNameAliases[u[M]]||u[M],F=f[M];z?te(F,z):(E=F,se(),E=""),M++}}function Oe(u,f){return u.scope&&typeof u.scope=="string"&&R.openNode(x.classNameAliases[u.scope]||u.scope),u.beginScope&&(u.beginScope._wrap?(te(E,x.classNameAliases[u.beginScope._wrap]||u.beginScope._wrap),E=""):u.beginScope._multi&&(Pe(u.beginScope,f),E="")),b=Object.create(u,{parent:{value:b}}),b}function ke(u,f,M){let c=pi(u.endRe,M);if(c){if(u["on:end"]){const z=new Dt(u);u["on:end"](f,z),z.isMatchIgnored&&(c=!1)}if(c){for(;u.endsParent&&u.parent;)u=u.parent;return u}}if(u.endsWithParent)return ke(u.parent,f,M)}function Ze(u){return b.matcher.regexIndex===0?(E+=u[0],1):(Ae=!0,0)}function a(u){const f=u[0],M=u.rule,c=new Dt(M),z=[M.__beforeBegin,M["on:begin"]];for(const F of z)if(F&&(F(u,c),c.isMatchIgnored))return Ze(f);return M.skip?E+=f:(M.excludeBegin&&(E+=f),V(),!M.returnBegin&&!M.excludeBegin&&(E=f)),Oe(M,u),M.returnBegin?0:f.length}function g(u){const f=u[0],M=h.substring(u.index),c=ke(b,u,M);if(!c)return Rt;const z=b;b.endScope&&b.endScope._wrap?(V(),te(f,b.endScope._wrap)):b.endScope&&b.endScope._multi?(V(),Pe(b.endScope,u)):z.skip?E+=f:(z.returnEnd||z.excludeEnd||(E+=f),V(),z.excludeEnd&&(E=f));do b.scope&&R.closeNode(),!b.skip&&!b.subLanguage&&(le+=b.relevance),b=b.parent;while(b!==c.parent);return c.starts&&Oe(c.starts,u),z.returnEnd?0:f.length}function X(){const u=[];for(let f=b;f!==x;f=f.parent)f.scope&&u.unshift(f.scope);u.forEach(f=>R.openNode(f))}let I={};function T(u,f){const M=f&&f[0];if(E+=u,M==null)return V(),0;if(I.type==="begin"&&f.type==="end"&&I.index===f.index&&M===""){if(E+=h.slice(f.index,f.index+1),!l){const c=new Error(`0 width match regex (${s})`);throw c.languageName=s,c.badRule=I.rule,c}return 1}if(I=f,f.type==="begin")return a(f);if(f.type==="illegal"&&!L){const c=new Error('Illegal lexeme "'+M+'" for mode "'+(b.scope||"")+'"');throw c.mode=b,c}else if(f.type==="end"){const c=g(f);if(c!==Rt)return c}if(f.type==="illegal"&&M==="")return E+=` `,1;if(Le>1e5&&Le>f.index*3)throw new Error("potential infinite loop, way more iterations than matches");return E+=M,M.length}const x=ne(s);if(!x)throw $e(p.replace("{}",s)),new Error('Unknown language: "'+s+'"');const J=Vi(x);let oe="",b=j||J;const ye={},R=new r.__emitter(r);X();let E="",le=0,he=0,Le=0,Ae=!1;try{if(x.__emitTokens)x.__emitTokens(h,R);else{for(b.matcher.considerAll();;){Le++,Ae?Ae=!1:b.matcher.considerAll(),b.matcher.lastIndex=he;const u=b.matcher.exec(h);if(!u)break;const f=h.substring(he,u.index),M=T(f,u);he=u.index+M}T(h.substring(he))}return R.finalize(),oe=R.toHTML(),{language:s,value:oe,relevance:le,illegal:!1,_emitter:R,_top:b}}catch(u){if(u.message&&u.message.includes("Illegal"))return{language:s,value:it(h),illegal:!0,relevance:0,_illegalBy:{message:u.message,index:he,context:h.slice(he-100,he+100),mode:u.mode,resultSoFar:oe},_emitter:R};if(l)return{language:s,value:it(h),illegal:!1,relevance:0,errorRaised:u,_emitter:R,_top:b};throw u}}function G(s){const h={value:it(s),illegal:!1,relevance:0,_top:o,_emitter:new r.__emitter(r)};return h._emitter.addText(s),h}function Z(s,h){h=h||r.languages||Object.keys(t);const L=G(s),j=h.filter(ne).filter(ee).map(V=>K(V,s,!1));j.unshift(L);const U=j.sort((V,te)=>{if(V.relevance!==te.relevance)return te.relevance-V.relevance;if(V.language&&te.language){if(ne(V.language).supersetOf===te.language)return 1;if(ne(te.language).supersetOf===V.language)return-1}return 0}),[ae,se]=U,ve=ae;return ve.secondBest=se,ve}function S(s,h,L){const j=h&&n[h]||L;s.classList.add("hljs"),s.classList.add(`language-${j}`)}function P(s){let h=null;const L=C(s);if(d(L))return;if(we("before:highlightElement",{el:s,language:L}),s.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",s);return}if(s.children.length>0&&(r.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(s)),r.throwUnescapedHTML))throw new Zi("One of your code blocks includes unescaped HTML.",s.innerHTML);h=s;const j=h.textContent,U=L?D(j,{language:L,ignoreIllegals:!0}):Z(j);s.innerHTML=U.value,s.dataset.highlighted="yes",S(s,L,U.language),s.result={language:U.language,re:U.relevance,relevance:U.relevance},U.secondBest&&(s.secondBest={language:U.secondBest.language,relevance:U.secondBest.relevance}),we("after:highlightElement",{el:s,result:U,text:j})}function W(s){r=Bt(r,s)}const q=()=>{y(),xe("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function Q(){y(),xe("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let ce=!1;function y(){function s(){y()}if(document.readyState==="loading"){ce||window.addEventListener("DOMContentLoaded",s,!1),ce=!0;return}document.querySelectorAll(r.cssSelector).forEach(P)}function B(s,h){let L=null;try{L=h(e)}catch(j){if($e("Language definition for '{}' could not be registered.".replace("{}",s)),l)$e(j);else throw j;L=o}L.name||(L.name=s),t[s]=L,L.rawDefinition=h.bind(null,e),L.aliases&&fe(L.aliases,{languageName:s})}function A(s){delete t[s];for(const h of Object.keys(n))n[h]===s&&delete n[h]}function pe(){return Object.keys(t)}function ne(s){return s=(s||"").toLowerCase(),t[s]||t[n[s]]}function fe(s,{languageName:h}){typeof s=="string"&&(s=[s]),s.forEach(L=>{n[L.toLowerCase()]=h})}function ee(s){const h=ne(s);return h&&!h.disableAutodetect}function Ce(s){s["before:highlightBlock"]&&!s["before:highlightElement"]&&(s["before:highlightElement"]=h=>{s["before:highlightBlock"](Object.assign({block:h.el},h))}),s["after:highlightBlock"]&&!s["after:highlightElement"]&&(s["after:highlightElement"]=h=>{s["after:highlightBlock"](Object.assign({block:h.el},h))})}function Ye(s){Ce(s),i.push(s)}function je(s){const h=i.indexOf(s);h!==-1&&i.splice(h,1)}function we(s,h){const L=s;i.forEach(function(j){j[L]&&j[L](h)})}function Ke(s){return xe("10.7.0","highlightBlock will be removed entirely in v12.0"),xe("10.7.0","Please use highlightElement now."),P(s)}Object.assign(e,{highlight:D,highlightAuto:Z,highlightAll:y,highlightElement:P,highlightBlock:Ke,configure:W,initHighlighting:q,initHighlightingOnLoad:Q,registerLanguage:B,unregisterLanguage:A,listLanguages:pe,getLanguage:ne,registerAliases:fe,autoDetection:ee,inherit:Bt,addPlugin:Ye,removePlugin:je}),e.debugMode=function(){l=!1},e.safeMode=function(){l=!0},e.versionString=Ki,e.regex={concat:Ee,lookahead:Gt,either:_t,optional:fi,anyNumberOfTimes:gi};for(const s in Ue)typeof Ue[s]=="object"&&qt(Ue[s]);return Object.assign(e,Ue),e},Se=an({});Se.newInstance=()=>an({});var ea=Se;Se.HighlightJS=Se;Se.default=Se;const Ut=ln(ea);function ta(e){const t={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},n={match:/[{}[\],:]/,className:"punctuation",relevance:0},i=["true","false","null"],l={scope:"literal",beginKeywords:i.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{literal:i},contains:[t,n,e.QUOTE_STRING_MODE,l,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}const na=e=>(Ft("data-v-b913e528"),e=e(),Xt(),e),ia={class:"exif-browser"},aa={key:0,class:"exif-header"},sa={class:"exif-path"},oa=na(()=>$("span",{class:"path-separator"},"/",-1)),ra=["onClick"],la={class:"exif-content"},ca={class:"exif-key"},ua={class:"exif-value"},da=["innerHTML"],ga={key:1,class:"exif-simple"},fa=["innerHTML"],ha=lt({__name:"ExifBrowser",props:{data:{}},setup(e){const t=e;Ut.registerLanguage("json",ta);const n=Je();Ge(async()=>{await(n.computedTheme==="dark"?$t(()=>Promise.resolve({}),["assets/atom-one-dark-b334430f.css"]):$t(()=>Promise.resolve({}),["assets/github-47e00288.css"]))});const i=ue([]),l=re(()=>{if(i.value.length===0)return t.data;let S=t.data;for(const P of i.value)S=P.value;return S}),p=new Map,o=S=>{if(typeof S!="string")return null;const P=S;if(p.has(P))return p.get(P);try{const W=JSON.parse(S);return p.set(P,W),W}catch{return null}},r=S=>o(S)!==null,d=S=>{if(S===null)return"null";if(typeof S=="object")try{return JSON.stringify(S,null,2)}catch{return String(S)}return String(S)},C=S=>{const P=d(S);if(typeof S=="string"&&S.length>1e3)return P.substring(0,1e3)+"...";try{return Ut.highlight(P,{language:"json"}).value}catch{return P}},D=(S,P)=>{const W=o(P);W!==null&&i.value.push({key:S,value:W})},K=S=>{i.value=i.value.slice(0,S+1)},G=()=>{i.value=[]},Z=S=>/^\d+$/.test(S)?`[${S}]`:S;return(S,P)=>{const W=We;return _(),O("div",ia,[i.value.length>0?(_(),O("div",aa,[$("div",sa,[$("span",{class:"path-item",onClick:G},"root"),(_(!0),O(Y,null,ge(i.value,(q,Q)=>(_(),O(Y,{key:Q},[oa,$("span",{class:"path-item clickable",onClick:ce=>K(Q)},w(Z(q.key)),9,ra)],64))),128))]),m(W,{size:"small",onClick:G},{default:k(()=>[N(w(S.$t("reset")||"Reset"),1)]),_:1})])):H("",!0),$("div",la,[typeof l.value=="object"&&l.value!==null?(_(!0),O(Y,{key:0},ge(l.value,(q,Q)=>(_(),O("div",{class:"exif-item",key:Q},[$("div",ca,w(Z(Q)),1),$("div",ua,[$("div",{class:"value-text",innerHTML:C(q)},null,8,da),r(q)?(_(),de(W,{key:0,type:"text",onClick:ce=>D(String(Q),q)},{default:k(()=>[m(v(Hn),{style:{"font-size":"18px"}})]),_:2},1032,["onClick"])):H("",!0)])]))),128)):(_(),O("div",ga,[$("div",{innerHTML:C(l.value)},null,8,fa)]))])])}}});const pa=ct(ha,[["__scopeId","data-v-b913e528"]]);function va(e,t,n,i){let l=0,p=0,o=typeof(i==null?void 0:i.width)=="number"?i.width:0,r=typeof(i==null?void 0:i.height)=="number"?i.height:0,d=typeof(i==null?void 0:i.left)=="number"?i.left:0,C=typeof(i==null?void 0:i.top)=="number"?i.top:0,D=!1;const K=y=>{y.stopPropagation(),y.preventDefault(),!(!e.value||!t.value)&&(l=y instanceof MouseEvent?y.clientX:y.touches[0].clientX,p=y instanceof MouseEvent?y.clientY:y.touches[0].clientY,o=e.value.offsetWidth,r=e.value.offsetHeight,t.value.offsetLeft,t.value.offsetTop,document.documentElement.addEventListener("mousemove",G),document.documentElement.addEventListener("touchmove",G),document.documentElement.addEventListener("mouseup",Z),document.documentElement.addEventListener("touchend",Z))},G=y=>{if(!e.value||!t.value)return;let B=o+((y instanceof MouseEvent?y.clientX:y.touches[0].clientX)-l),A=r+((y instanceof MouseEvent?y.clientY:y.touches[0].clientY)-p);e.value.offsetLeft+B>window.innerWidth&&(B=window.innerWidth-e.value.offsetLeft),e.value.offsetTop+A>window.innerHeight&&(A=window.innerHeight-e.value.offsetTop),e.value.style.width=`${B}px`,e.value.style.height=`${A}px`,i!=null&&i.onResize&&i.onResize(B,A)},Z=()=>{document.documentElement.removeEventListener("mousemove",G),document.documentElement.removeEventListener("touchmove",G),document.documentElement.removeEventListener("mouseup",Z),document.documentElement.removeEventListener("touchend",Z)},S=y=>{y.stopPropagation(),y.preventDefault(),!(!e.value||!n.value)&&(D=!0,d=e.value.offsetLeft,C=e.value.offsetTop,l=y instanceof MouseEvent?y.clientX:y.touches[0].clientX,p=y instanceof MouseEvent?y.clientY:y.touches[0].clientY,document.documentElement.addEventListener("mousemove",P),document.documentElement.addEventListener("touchmove",P),document.documentElement.addEventListener("mouseup",W),document.documentElement.addEventListener("touchend",W))},P=y=>{if(!e.value||!n.value||!D)return;const B=d+((y instanceof MouseEvent?y.clientX:y.touches[0].clientX)-l),A=C+((y instanceof MouseEvent?y.clientY:y.touches[0].clientY)-p);B<0?e.value.style.left="0px":B+e.value.offsetWidth>window.innerWidth?e.value.style.left=`${window.innerWidth-e.value.offsetWidth}px`:e.value.style.left=`${B}px`,A<0?e.value.style.top="0px":A+e.value.offsetHeight>window.innerHeight?e.value.style.top=`${window.innerHeight-e.value.offsetHeight}px`:e.value.style.top=`${A}px`,i!=null&&i.onDrag&&i.onDrag(B,A)},W=()=>{D=!1,document.documentElement.removeEventListener("mousemove",P),document.documentElement.removeEventListener("touchmove",P),document.documentElement.removeEventListener("mouseup",W),document.documentElement.removeEventListener("touchend",W)},q=()=>{if(!e.value||!t.value)return;let y=e.value.offsetLeft,B=e.value.offsetTop,A=e.value.offsetWidth,pe=e.value.offsetHeight;y+A>window.innerWidth&&(y=window.innerWidth-A,y<0&&(y=0,A=window.innerWidth)),B+pe>window.innerHeight&&(B=window.innerHeight-pe,B<0&&(B=0,pe=window.innerHeight)),e.value.style.left=`${y}px`,e.value.style.top=`${B}px`,e.value.style.width=`${A}px`,e.value.style.height=`${pe}px`},Q=()=>{!e.value||!i||(typeof i.width=="number"&&(e.value.style.width=`${i.width}px`),typeof i.height=="number"&&(e.value.style.height=`${i.height}px`),typeof i.left=="number"&&(e.value.style.left=`${i.left}px`),typeof i.top=="number"&&(e.value.style.top=`${i.top}px`),q(),window.addEventListener("resize",q))},ce=()=>{document.documentElement.removeEventListener("mousemove",G),document.documentElement.removeEventListener("touchmove",G),document.documentElement.removeEventListener("mouseup",Z),document.documentElement.removeEventListener("touchend",Z),document.documentElement.removeEventListener("mousemove",P),document.documentElement.removeEventListener("touchmove",P),document.documentElement.removeEventListener("mouseup",W),document.documentElement.removeEventListener("touchend",W),window.removeEventListener("resize",q)};return Ge(Q),cn(ce),Me(()=>i==null?void 0:i.disbaled,async y=>{await un(),y!==void 0&&(y?ce():Q())}),Me(()=>[e.value,t.value,n.value],([y,B,A])=>{y&&B&&(B.addEventListener("mousedown",K),B.addEventListener("touchstart",K)),y&&A&&(A.addEventListener("mousedown",S),A.addEventListener("touchstart",S))}),{handleResizeMouseDown:K,handleDragMouseDown:S}}let Ht=null;const _a=()=>{var d,C;const e=Je(),t=De(ot+"fullscreen_layout",{enable:!0,panelWidth:384,alwaysOn:!0}),n=dn(Ht??((C=(d=e.conf)==null?void 0:d.app_fe_setting)==null?void 0:C.fullscreen_layout)??Et(t.value)),i="--iib-lr-layout-info-panel-width",l=re(()=>n.alwaysOn&&n.enable?n.panelWidth:0);Me(n,D=>{t.value=Et(D),Wt(n,i,l),ma(n),Ht=n},{deep:!0}),Ge(()=>Wt(n,i,l));const{enable:p,panelWidth:o,alwaysOn:r}=gn(n);return{state:n,isLeftRightLayout:p,panelwidtrhStyleVarName:i,lrLayoutInfoPanelWidth:o,lrMenuAlwaysOn:r}},ma=Fe(e=>fn("fullscreen_layout",e),300),Wt=Fe((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 diff --git a/vue/dist/assets/SubstrSearch-1b7f0fea.js b/vue/dist/assets/SubstrSearch-7b723b85.js similarity index 95% rename from vue/dist/assets/SubstrSearch-1b7f0fea.js rename to vue/dist/assets/SubstrSearch-7b723b85.js index 128b6a1..792df2d 100644 --- a/vue/dist/assets/SubstrSearch-1b7f0fea.js +++ b/vue/dist/assets/SubstrSearch-7b723b85.js @@ -1 +1 @@ -import{c as a,A as Ee,d as Pe,bm as He,aC as Ge,r as w,v as Ke,bq as se,s as Le,bs as je,bt as qe,x as Ne,W as Je,X as We,br as ne,bu as Qe,p as Xe,o as p,j as z,C as t,E as e,k as d,l as o,t as i,B as _,m as g,G,bC as Ze,V as U,F as ie,H as oe,I as Ye,U as et,Z as re,a3 as ue,av as tt,a2 as at,bD as lt,a0 as st,by as nt,a1 as it,a8 as ot,aw as rt,ax as ut,bE as dt,n as pt}from"./index-32743103.js";/* empty css *//* empty css */import{s as ct,F as ft}from"./FileItem-aa47825a.js";import{M as vt,L as gt,R as mt,f as _t}from"./MultiSelectKeep-56b94e1f.js";import{c as ht,u as yt}from"./hook-e2eaf999.js";import{g as bt,o as kt}from"./index-c80754a2.js";import{f as F,H as de,T as wt,_ as St,a as Ct}from"./TipsCarousel-4f02731b.js";import"./index-e1a70e12.js";import"./shortcut-3129f75b.js";import"./_isIterateeCall-16c5cf9c.js";var xt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"defs",attrs:{},children:[{tag:"style",attrs:{}}]},{tag:"path",attrs:{d:"M952 474H829.8C812.5 327.6 696.4 211.5 550 194.2V72c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v122.2C327.6 211.5 211.5 327.6 194.2 474H72c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h122.2C211.5 696.4 327.6 812.5 474 829.8V952c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V829.8C696.4 812.5 812.5 696.4 829.8 550H952c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zM512 756c-134.8 0-244-109.2-244-244s109.2-244 244-244 244 109.2 244 244-109.2 244-244 244z"}},{tag:"path",attrs:{d:"M512 392c-32.1 0-62.1 12.4-84.8 35.2-22.7 22.7-35.2 52.7-35.2 84.8s12.5 62.1 35.2 84.8C449.9 619.4 480 632 512 632s62.1-12.5 84.8-35.2C619.4 574.1 632 544 632 512s-12.5-62.1-35.2-84.8A118.57 118.57 0 00512 392z"}}]},name:"aim",theme:"outlined"};const It=xt;function pe(c){for(var r=1;r(rt("data-v-4584136c"),c=c(),ut(),c),Tt={style:{"padding-right":"16px"}},Ot=L(()=>d("div",null,null,-1)),Mt=["title"],zt=["src"],Ut={class:"search-bar"},Ft={class:"form-name"},Dt={class:"search-bar last actions"},Vt={class:"tips-wrapper"},Bt={class:"hint"},Et={key:0,style:{margin:"64px 16px 32px",padding:"8px",background:"var(--zp-secondary-variant-background)","border-radius":"16px"}},Pt={style:{margin:"16px 32px 16px"}},Ht={style:{"padding-right":"16px"}},Gt=L(()=>d("div",null,null,-1)),Kt=L(()=>d("div",{style:{padding:"16px 0 512px"}},null,-1)),Lt={key:2,class:"preview-switch"},jt=Pe({__name:"SubstrSearch",props:{tabIdx:{},paneIdx:{},searchScope:{},initialSubstr:{},initialIsRegex:{type:Boolean},initialPathOnly:{type:Boolean},initialMediaType:{},autoSearch:{type:Boolean}},setup(c){const r=c,h=He(),b=Ge("iib_auto_update_feature_tip_shown",!1),v=w(!1),S=w(""),x=w(!1),I=w(r.searchScope??""),$=w(!1),j=w(0),C=w("all"),D=ht(l=>{const s={cursor:l,regexp:v.value?S.value:"",surstr:v.value?"":S.value,path_only:x.value,folder_paths:(I.value??"").split(/,|\n/).map(u=>u.trim()).filter(u=>u),media_type:C.value};return dt(s)}),{queue:k,images:m,onContextMenuClickU:q,stackViewEl:ce,previewIdx:A,previewing:N,onPreviewVisibleChange:fe,previewImgMove:J,canPreview:W,itemSize:Q,gridItems:ve,showGenInfo:T,imageGenInfo:X,q:ge,multiSelectedIdxs:V,onFileItemClick:me,scroller:Z,showMenuIdx:B,onFileDragStart:_e,onFileDragEnd:he,cellWidth:ye,onScroll:Y,saveAllFileAsJson:be,saveLoadedFileAsJson:ke,props:we,changeIndchecked:Se,seedChangeChecked:Ce,getGenDiff:xe,getGenDiffWatchDep:Ie}=yt(D),f=w();Ke(async()=>{f.value=await se(),f.value.img_count&&f.value.expired&&O.autoUpdateIndex&&await E(),r.initialSubstr!==void 0&&(S.value=r.initialSubstr),r.initialIsRegex!==void 0&&(v.value=r.initialIsRegex),r.initialPathOnly!==void 0&&(x.value=r.initialPathOnly),r.initialMediaType!==void 0&&(C.value=r.initialMediaType),r.initialSubstr&&r.autoSearch!==!1?await R():r.searchScope&&!r.initialSubstr&&await R()}),Le(()=>r,async l=>{we.value=l},{deep:!0,immediate:!0});const E=je(()=>k.pushAction(async()=>(await qe(),f.value=await se(),h.tagMap.clear(),f.value)).res),ee=l=>{S.value=l.substr,I.value=l.folder_paths_str,v.value=l.isRegex,C.value=l.mediaType||"all",$.value=!1,R()},R=async()=>{j.value++,F.value.add({substr:S.value,folder_paths_str:I.value,isRegex:v.value,mediaType:C.value}),await D.reset({refetch:!0}),await Ne(),Y(),Z.value.scrollToItem(0),m.value.length||Je.info(We("fuzzy-search-noResults"))};ne("returnToIIB",async()=>{const l=await k.pushAction(Qe).res;f.value.expired=l.expired}),ne("searchIndexExpired",()=>f.value&&(f.value.expired=!0));const $e=()=>{v.value=!v.value},O=Xe(),{onClearAllSelected:Ae,onSelectAll:Re,onReverseSelect:Te}=bt();return(l,s)=>{const u=St,y=Ct,Oe=re,M=ue,te=tt,Me=at,P=lt,ze=st,H=ue,Ue=nt,Fe=it,De=re,Ve=ot;return p(),z(ie,null,[a(Oe,{visible:$.value,"onUpdate:visible":s[0]||(s[0]=n=>$.value=n),width:"70vw","mask-closable":"",onOk:s[1]||(s[1]=n=>$.value=!1)},{default:t(()=>[a(de,{records:e(F),onReuseRecord:ee},{default:t(({record:n})=>[d("div",Tt,[a(y,null,{default:t(()=>[a(u,{span:4},{default:t(()=>[o(i(l.$t("historyRecordsSubstr"))+":",1)]),_:1}),a(u,{span:20},{default:t(()=>[o(i(n.substr),1)]),_:2},1024)]),_:2},1024),n.folder_paths_str?(p(),_(y,{key:0},{default:t(()=>[a(u,{span:4},{default:t(()=>[o(i(l.$t("searchScope"))+":",1)]),_:1}),a(u,{span:20},{default:t(()=>[o(i(n.folder_paths_str),1)]),_:2},1024)]),_:2},1024)):g("",!0),a(y,null,{default:t(()=>[a(u,{span:4},{default:t(()=>[o(i(l.$t("historyRecordsisRegex"))+":",1)]),_:1}),a(u,{span:20},{default:t(()=>[o(i(n.isRegex),1)]),_:2},1024)]),_:2},1024),n.mediaType?(p(),_(y,{key:1},{default:t(()=>[a(u,{span:4},{default:t(()=>[o(i(l.$t("mediaType"))+":",1)]),_:1}),a(u,{span:20},{default:t(()=>[o(i(n.mediaType),1)]),_:2},1024)]),_:2},1024)):g("",!0),a(y,null,{default:t(()=>[a(u,{span:4},{default:t(()=>[o(i(l.$t("time"))+":",1)]),_:1}),a(u,{span:20},{default:t(()=>[o(i(n.time),1)]),_:2},1024)]),_:2},1024),Ot])]),_:1},8,["records"])]),_:1},8,["visible"]),d("div",{class:"container",ref_key:"stackViewEl",ref:ce},[e(b)?g("",!0):(p(),_(te,{key:0,type:"info","show-icon":"",message:l.$t("autoUpdateFeatureTip"),style:{margin:"8px"},closable:"",onClose:s[3]||(s[3]=n=>b.value=!0)},{action:t(()=>[a(M,{size:"small",type:"link",onClick:s[2]||(s[2]=n=>b.value=!0)},{default:t(()=>[o(i(l.$t("gotIt")),1)]),_:1})]),_:1},8,["message"])),f.value&&f.value.expired&&!e(O).autoUpdateIndex?(p(),_(te,{key:1,type:"warning","show-icon":"",message:l.$t("indexExpiredManualUpdate"),style:{margin:"8px"},closable:""},null,8,["message"])):g("",!0),a(vt,{show:!!e(V).length||e(O).keepMultiSelect,onClearAllSelected:e(Ae),onSelectAll:e(Re),onReverseSelect:e(Te)},null,8,["show","onClearAllSelected","onSelectAll","onReverseSelect"]),d("div",{class:"search-bar",onKeydown:s[9]||(s[9]=G(()=>{},["stop"]))},[a(Me,{value:S.value,"onUpdate:value":s[4]||(s[4]=n=>S.value=n),placeholder:l.$t("fuzzy-search-placeholder")+" "+l.$t("regexSearchEnabledHint"),disabled:!e(k).isIdle,onKeydown:Ze(R,["enter"]),"allow-clear":""},null,8,["value","placeholder","disabled","onKeydown"]),a(ze,{value:C.value,"onUpdate:value":s[5]||(s[5]=n=>C.value=n),style:{width:"100px",margin:"0 4px"},disabled:!e(k).isIdle},{default:t(()=>[a(P,{value:"all"},{default:t(()=>[o(i(l.$t("all")),1)]),_:1}),a(P,{value:"image"},{default:t(()=>[o(i(l.$t("image")),1)]),_:1}),a(P,{value:"video"},{default:t(()=>[o(i(l.$t("video")),1)]),_:1})]),_:1},8,["value","disabled"]),d("div",{class:U(["regex-icon",{selected:x.value}]),onKeydown:s[6]||(s[6]=G(()=>{},["stop"])),onClick:s[7]||(s[7]=n=>x.value=!x.value),title:l.$t("pathOnly")},[a(e(At))],42,Mt),d("div",{class:U(["regex-icon",{selected:v.value}]),onKeydown:s[8]||(s[8]=G(()=>{},["stop"])),onClick:$e,title:"Use Regular Expression"},[d("img",{src:e(Rt)},null,8,zt)],34),f.value&&!f.value.img_count?(p(),_(H,{key:0,onClick:e(E),loading:!e(k).isIdle,type:"primary"},{default:t(()=>[o(i(l.$t("generateIndexHint")),1)]),_:1},8,["onClick","loading"])):(p(),z(ie,{key:1},[a(H,{type:"primary",onClick:R,loading:!e(k).isIdle||e(D).loading},{default:t(()=>[o(i(l.$t("search")),1)]),_:1},8,["loading"]),f.value&&f.value.expired&&!e(O).autoUpdateIndex?(p(),_(H,{key:0,onClick:e(E),loading:!e(k).isIdle,style:{"margin-left":"8px"}},{default:t(()=>[o(i(l.$t("UpdateIndex")),1)]),_:1},8,["onClick","loading"])):g("",!0)],64))],32),d("div",Ut,[d("div",Ft,i(l.$t("searchScope")),1),a(Ue,{"auto-size":{maxRows:8},value:I.value,"onUpdate:value":s[10]||(s[10]=n=>I.value=n),placeholder:l.$t("specifiedSearchFolder")},null,8,["value","placeholder"])]),d("div",Dt,[e(m).length?(p(),_(M,{key:0,onClick:e(ke)},{default:t(()=>[o(i(l.$t("saveLoadedImageAsJson")),1)]),_:1},8,["onClick"])):g("",!0),e(m).length?(p(),_(M,{key:1,onClick:e(be)},{default:t(()=>[o(i(l.$t("saveAllAsJson")),1)]),_:1},8,["onClick"])):g("",!0),a(M,{onClick:s[11]||(s[11]=n=>$.value=!0)},{default:t(()=>[o(i(l.$t("history")),1)]),_:1}),d("div",Vt,[a(wt,{interval:1e4})])]),a(Ve,{size:"large",spinning:!e(k).isIdle},{default:t(()=>[a(De,{visible:e(T),"onUpdate:visible":s[13]||(s[13]=n=>oe(T)?T.value=n:null),width:"70vw","mask-closable":"",onOk:s[14]||(s[14]=n=>T.value=!1)},{cancelText:t(()=>[]),default:t(()=>[a(Fe,{active:"",loading:!e(ge).isIdle},{default:t(()=>[d("div",{style:{width:"100%","word-break":"break-all","white-space":"pre-line","max-height":"70vh",overflow:"auto"},onDblclick:s[12]||(s[12]=n=>e(Ye)(e(X)))},[d("div",Bt,i(l.$t("doubleClickToCopy")),1),o(" "+i(e(X)),1)],32)]),_:1},8,["loading"])]),_:1},8,["visible"]),j.value===0&&!e(m).length&&e(F).getRecords().length?(p(),z("div",Et,[d("h2",Pt,i(l.$t("restoreFromHistory")),1),a(de,{records:e(F),onReuseRecord:ee},{default:t(({record:n})=>[d("div",Ht,[a(y,null,{default:t(()=>[a(u,{span:4},{default:t(()=>[o(i(l.$t("historyRecordsSubstr"))+":",1)]),_:1}),a(u,{span:20},{default:t(()=>[o(i(n.substr),1)]),_:2},1024)]),_:2},1024),n.folder_paths_str?(p(),_(y,{key:0},{default:t(()=>[a(u,{span:4},{default:t(()=>[o(i(l.$t("searchScope"))+":",1)]),_:1}),a(u,{span:20},{default:t(()=>[o(i(n.folder_paths_str),1)]),_:2},1024)]),_:2},1024)):g("",!0),a(y,null,{default:t(()=>[a(u,{span:4},{default:t(()=>[o(i(l.$t("historyRecordsisRegex"))+":",1)]),_:1}),a(u,{span:20},{default:t(()=>[o(i(n.isRegex),1)]),_:2},1024)]),_:2},1024),n.mediaType?(p(),_(y,{key:1},{default:t(()=>[a(u,{span:4},{default:t(()=>[o(i(l.$t("mediaType"))+":",1)]),_:1}),a(u,{span:20},{default:t(()=>[o(i(n.mediaType),1)]),_:2},1024)]),_:2},1024)):g("",!0),a(y,null,{default:t(()=>[a(u,{span:4},{default:t(()=>[o(i(l.$t("time"))+":",1)]),_:1}),a(u,{span:20},{default:t(()=>[o(i(n.time),1)]),_:2},1024)]),_:2},1024),Gt])]),_:1},8,["records"])])):g("",!0),e(m)?(p(),_(e(ct),{key:1,ref_key:"scroller",ref:Z,class:"file-list",items:e(m),"item-size":e(Q).first,"key-field":"fullpath","item-secondary-size":e(Q).second,gridItems:e(ve),onScroll:e(Y)},{after:t(()=>[Kt]),default:t(({item:n,index:ae})=>[a(ft,{idx:ae,file:n,"show-menu-idx":e(B),"onUpdate:showMenuIdx":s[15]||(s[15]=le=>oe(B)?B.value=le:null),onFileItemClick:e(me),"full-screen-preview-image-url":e(m)[e(A)]?e(et)(e(m)[e(A)]):"","cell-width":e(ye),selected:e(V).includes(ae),onContextMenuClick:e(q),onDragstart:e(_e),onDragend:e(he),onTiktokView:(le,Be)=>e(kt)(e(m),Be),"enable-change-indicator":e(Se),"seed-change-checked":e(Ce),"get-gen-diff":e(xe),"get-gen-diff-watch-dep":e(Ie),"is-selected-mutil-files":e(V).length>1,onPreviewVisibleChange:e(fe)},null,8,["idx","file","show-menu-idx","onFileItemClick","full-screen-preview-image-url","cell-width","selected","onContextMenuClick","onDragstart","onDragend","onTiktokView","enable-change-indicator","seed-change-checked","get-gen-diff","get-gen-diff-watch-dep","is-selected-mutil-files","onPreviewVisibleChange"])]),_:1},8,["items","item-size","item-secondary-size","gridItems","onScroll"])):g("",!0),e(N)?(p(),z("div",Lt,[a(e(gt),{onClick:s[16]||(s[16]=n=>e(J)("prev")),class:U({disable:!e(W)("prev")})},null,8,["class"]),a(e(mt),{onClick:s[17]||(s[17]=n=>e(J)("next")),class:U({disable:!e(W)("next")})},null,8,["class"])])):g("",!0)]),_:1},8,["spinning"]),e(N)&&e(m)&&e(m)[e(A)]?(p(),_(_t,{key:2,file:e(m)[e(A)],idx:e(A),onContextMenuClick:e(q)},null,8,["file","idx","onContextMenuClick"])):g("",!0)],512)],64)}}});const la=pt(jt,[["__scopeId","data-v-4584136c"]]);export{la as default}; +import{c as a,A as Ee,d as Pe,bm as He,aC as Ge,r as w,v as Ke,bq as se,s as Le,bs as je,bt as qe,x as Ne,W as Je,X as We,br as ne,bu as Qe,p as Xe,o as p,j as z,C as t,E as e,k as d,l as o,t as i,B as _,m as g,G,bC as Ze,V as U,F as ie,H as oe,I as Ye,U as et,Z as re,a3 as ue,av as tt,a2 as at,bD as lt,a0 as st,by as nt,a1 as it,a8 as ot,aw as rt,ax as ut,bE as dt,n as pt}from"./index-f2db319b.js";/* empty css *//* empty css */import{s as ct,F as ft}from"./FileItem-72718f68.js";import{M as vt,L as gt,R as mt,f as _t}from"./MultiSelectKeep-a11efe88.js";import{c as ht,u as yt}from"./hook-ed129d88.js";import{g as bt,o as kt}from"./index-0d856f16.js";import{f as F,H as de,T as wt,_ as St,a as Ct}from"./TipsCarousel-ef6a594c.js";import"./index-29e38a15.js";import"./shortcut-869fab50.js";import"./_isIterateeCall-dd643bcf.js";var xt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"defs",attrs:{},children:[{tag:"style",attrs:{}}]},{tag:"path",attrs:{d:"M952 474H829.8C812.5 327.6 696.4 211.5 550 194.2V72c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v122.2C327.6 211.5 211.5 327.6 194.2 474H72c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h122.2C211.5 696.4 327.6 812.5 474 829.8V952c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V829.8C696.4 812.5 812.5 696.4 829.8 550H952c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zM512 756c-134.8 0-244-109.2-244-244s109.2-244 244-244 244 109.2 244 244-109.2 244-244 244z"}},{tag:"path",attrs:{d:"M512 392c-32.1 0-62.1 12.4-84.8 35.2-22.7 22.7-35.2 52.7-35.2 84.8s12.5 62.1 35.2 84.8C449.9 619.4 480 632 512 632s62.1-12.5 84.8-35.2C619.4 574.1 632 544 632 512s-12.5-62.1-35.2-84.8A118.57 118.57 0 00512 392z"}}]},name:"aim",theme:"outlined"};const It=xt;function pe(c){for(var r=1;r(rt("data-v-4584136c"),c=c(),ut(),c),Tt={style:{"padding-right":"16px"}},Ot=L(()=>d("div",null,null,-1)),Mt=["title"],zt=["src"],Ut={class:"search-bar"},Ft={class:"form-name"},Dt={class:"search-bar last actions"},Vt={class:"tips-wrapper"},Bt={class:"hint"},Et={key:0,style:{margin:"64px 16px 32px",padding:"8px",background:"var(--zp-secondary-variant-background)","border-radius":"16px"}},Pt={style:{margin:"16px 32px 16px"}},Ht={style:{"padding-right":"16px"}},Gt=L(()=>d("div",null,null,-1)),Kt=L(()=>d("div",{style:{padding:"16px 0 512px"}},null,-1)),Lt={key:2,class:"preview-switch"},jt=Pe({__name:"SubstrSearch",props:{tabIdx:{},paneIdx:{},searchScope:{},initialSubstr:{},initialIsRegex:{type:Boolean},initialPathOnly:{type:Boolean},initialMediaType:{},autoSearch:{type:Boolean}},setup(c){const r=c,h=He(),b=Ge("iib_auto_update_feature_tip_shown",!1),v=w(!1),S=w(""),x=w(!1),I=w(r.searchScope??""),$=w(!1),j=w(0),C=w("all"),D=ht(l=>{const s={cursor:l,regexp:v.value?S.value:"",surstr:v.value?"":S.value,path_only:x.value,folder_paths:(I.value??"").split(/,|\n/).map(u=>u.trim()).filter(u=>u),media_type:C.value};return dt(s)}),{queue:k,images:m,onContextMenuClickU:q,stackViewEl:ce,previewIdx:A,previewing:N,onPreviewVisibleChange:fe,previewImgMove:J,canPreview:W,itemSize:Q,gridItems:ve,showGenInfo:T,imageGenInfo:X,q:ge,multiSelectedIdxs:V,onFileItemClick:me,scroller:Z,showMenuIdx:B,onFileDragStart:_e,onFileDragEnd:he,cellWidth:ye,onScroll:Y,saveAllFileAsJson:be,saveLoadedFileAsJson:ke,props:we,changeIndchecked:Se,seedChangeChecked:Ce,getGenDiff:xe,getGenDiffWatchDep:Ie}=yt(D),f=w();Ke(async()=>{f.value=await se(),f.value.img_count&&f.value.expired&&O.autoUpdateIndex&&await E(),r.initialSubstr!==void 0&&(S.value=r.initialSubstr),r.initialIsRegex!==void 0&&(v.value=r.initialIsRegex),r.initialPathOnly!==void 0&&(x.value=r.initialPathOnly),r.initialMediaType!==void 0&&(C.value=r.initialMediaType),r.initialSubstr&&r.autoSearch!==!1?await R():r.searchScope&&!r.initialSubstr&&await R()}),Le(()=>r,async l=>{we.value=l},{deep:!0,immediate:!0});const E=je(()=>k.pushAction(async()=>(await qe(),f.value=await se(),h.tagMap.clear(),f.value)).res),ee=l=>{S.value=l.substr,I.value=l.folder_paths_str,v.value=l.isRegex,C.value=l.mediaType||"all",$.value=!1,R()},R=async()=>{j.value++,F.value.add({substr:S.value,folder_paths_str:I.value,isRegex:v.value,mediaType:C.value}),await D.reset({refetch:!0}),await Ne(),Y(),Z.value.scrollToItem(0),m.value.length||Je.info(We("fuzzy-search-noResults"))};ne("returnToIIB",async()=>{const l=await k.pushAction(Qe).res;f.value.expired=l.expired}),ne("searchIndexExpired",()=>f.value&&(f.value.expired=!0));const $e=()=>{v.value=!v.value},O=Xe(),{onClearAllSelected:Ae,onSelectAll:Re,onReverseSelect:Te}=bt();return(l,s)=>{const u=St,y=Ct,Oe=re,M=ue,te=tt,Me=at,P=lt,ze=st,H=ue,Ue=nt,Fe=it,De=re,Ve=ot;return p(),z(ie,null,[a(Oe,{visible:$.value,"onUpdate:visible":s[0]||(s[0]=n=>$.value=n),width:"70vw","mask-closable":"",onOk:s[1]||(s[1]=n=>$.value=!1)},{default:t(()=>[a(de,{records:e(F),onReuseRecord:ee},{default:t(({record:n})=>[d("div",Tt,[a(y,null,{default:t(()=>[a(u,{span:4},{default:t(()=>[o(i(l.$t("historyRecordsSubstr"))+":",1)]),_:1}),a(u,{span:20},{default:t(()=>[o(i(n.substr),1)]),_:2},1024)]),_:2},1024),n.folder_paths_str?(p(),_(y,{key:0},{default:t(()=>[a(u,{span:4},{default:t(()=>[o(i(l.$t("searchScope"))+":",1)]),_:1}),a(u,{span:20},{default:t(()=>[o(i(n.folder_paths_str),1)]),_:2},1024)]),_:2},1024)):g("",!0),a(y,null,{default:t(()=>[a(u,{span:4},{default:t(()=>[o(i(l.$t("historyRecordsisRegex"))+":",1)]),_:1}),a(u,{span:20},{default:t(()=>[o(i(n.isRegex),1)]),_:2},1024)]),_:2},1024),n.mediaType?(p(),_(y,{key:1},{default:t(()=>[a(u,{span:4},{default:t(()=>[o(i(l.$t("mediaType"))+":",1)]),_:1}),a(u,{span:20},{default:t(()=>[o(i(n.mediaType),1)]),_:2},1024)]),_:2},1024)):g("",!0),a(y,null,{default:t(()=>[a(u,{span:4},{default:t(()=>[o(i(l.$t("time"))+":",1)]),_:1}),a(u,{span:20},{default:t(()=>[o(i(n.time),1)]),_:2},1024)]),_:2},1024),Ot])]),_:1},8,["records"])]),_:1},8,["visible"]),d("div",{class:"container",ref_key:"stackViewEl",ref:ce},[e(b)?g("",!0):(p(),_(te,{key:0,type:"info","show-icon":"",message:l.$t("autoUpdateFeatureTip"),style:{margin:"8px"},closable:"",onClose:s[3]||(s[3]=n=>b.value=!0)},{action:t(()=>[a(M,{size:"small",type:"link",onClick:s[2]||(s[2]=n=>b.value=!0)},{default:t(()=>[o(i(l.$t("gotIt")),1)]),_:1})]),_:1},8,["message"])),f.value&&f.value.expired&&!e(O).autoUpdateIndex?(p(),_(te,{key:1,type:"warning","show-icon":"",message:l.$t("indexExpiredManualUpdate"),style:{margin:"8px"},closable:""},null,8,["message"])):g("",!0),a(vt,{show:!!e(V).length||e(O).keepMultiSelect,onClearAllSelected:e(Ae),onSelectAll:e(Re),onReverseSelect:e(Te)},null,8,["show","onClearAllSelected","onSelectAll","onReverseSelect"]),d("div",{class:"search-bar",onKeydown:s[9]||(s[9]=G(()=>{},["stop"]))},[a(Me,{value:S.value,"onUpdate:value":s[4]||(s[4]=n=>S.value=n),placeholder:l.$t("fuzzy-search-placeholder")+" "+l.$t("regexSearchEnabledHint"),disabled:!e(k).isIdle,onKeydown:Ze(R,["enter"]),"allow-clear":""},null,8,["value","placeholder","disabled","onKeydown"]),a(ze,{value:C.value,"onUpdate:value":s[5]||(s[5]=n=>C.value=n),style:{width:"100px",margin:"0 4px"},disabled:!e(k).isIdle},{default:t(()=>[a(P,{value:"all"},{default:t(()=>[o(i(l.$t("all")),1)]),_:1}),a(P,{value:"image"},{default:t(()=>[o(i(l.$t("image")),1)]),_:1}),a(P,{value:"video"},{default:t(()=>[o(i(l.$t("video")),1)]),_:1})]),_:1},8,["value","disabled"]),d("div",{class:U(["regex-icon",{selected:x.value}]),onKeydown:s[6]||(s[6]=G(()=>{},["stop"])),onClick:s[7]||(s[7]=n=>x.value=!x.value),title:l.$t("pathOnly")},[a(e(At))],42,Mt),d("div",{class:U(["regex-icon",{selected:v.value}]),onKeydown:s[8]||(s[8]=G(()=>{},["stop"])),onClick:$e,title:"Use Regular Expression"},[d("img",{src:e(Rt)},null,8,zt)],34),f.value&&!f.value.img_count?(p(),_(H,{key:0,onClick:e(E),loading:!e(k).isIdle,type:"primary"},{default:t(()=>[o(i(l.$t("generateIndexHint")),1)]),_:1},8,["onClick","loading"])):(p(),z(ie,{key:1},[a(H,{type:"primary",onClick:R,loading:!e(k).isIdle||e(D).loading},{default:t(()=>[o(i(l.$t("search")),1)]),_:1},8,["loading"]),f.value&&f.value.expired&&!e(O).autoUpdateIndex?(p(),_(H,{key:0,onClick:e(E),loading:!e(k).isIdle,style:{"margin-left":"8px"}},{default:t(()=>[o(i(l.$t("UpdateIndex")),1)]),_:1},8,["onClick","loading"])):g("",!0)],64))],32),d("div",Ut,[d("div",Ft,i(l.$t("searchScope")),1),a(Ue,{"auto-size":{maxRows:8},value:I.value,"onUpdate:value":s[10]||(s[10]=n=>I.value=n),placeholder:l.$t("specifiedSearchFolder")},null,8,["value","placeholder"])]),d("div",Dt,[e(m).length?(p(),_(M,{key:0,onClick:e(ke)},{default:t(()=>[o(i(l.$t("saveLoadedImageAsJson")),1)]),_:1},8,["onClick"])):g("",!0),e(m).length?(p(),_(M,{key:1,onClick:e(be)},{default:t(()=>[o(i(l.$t("saveAllAsJson")),1)]),_:1},8,["onClick"])):g("",!0),a(M,{onClick:s[11]||(s[11]=n=>$.value=!0)},{default:t(()=>[o(i(l.$t("history")),1)]),_:1}),d("div",Vt,[a(wt,{interval:1e4})])]),a(Ve,{size:"large",spinning:!e(k).isIdle},{default:t(()=>[a(De,{visible:e(T),"onUpdate:visible":s[13]||(s[13]=n=>oe(T)?T.value=n:null),width:"70vw","mask-closable":"",onOk:s[14]||(s[14]=n=>T.value=!1)},{cancelText:t(()=>[]),default:t(()=>[a(Fe,{active:"",loading:!e(ge).isIdle},{default:t(()=>[d("div",{style:{width:"100%","word-break":"break-all","white-space":"pre-line","max-height":"70vh",overflow:"auto"},onDblclick:s[12]||(s[12]=n=>e(Ye)(e(X)))},[d("div",Bt,i(l.$t("doubleClickToCopy")),1),o(" "+i(e(X)),1)],32)]),_:1},8,["loading"])]),_:1},8,["visible"]),j.value===0&&!e(m).length&&e(F).getRecords().length?(p(),z("div",Et,[d("h2",Pt,i(l.$t("restoreFromHistory")),1),a(de,{records:e(F),onReuseRecord:ee},{default:t(({record:n})=>[d("div",Ht,[a(y,null,{default:t(()=>[a(u,{span:4},{default:t(()=>[o(i(l.$t("historyRecordsSubstr"))+":",1)]),_:1}),a(u,{span:20},{default:t(()=>[o(i(n.substr),1)]),_:2},1024)]),_:2},1024),n.folder_paths_str?(p(),_(y,{key:0},{default:t(()=>[a(u,{span:4},{default:t(()=>[o(i(l.$t("searchScope"))+":",1)]),_:1}),a(u,{span:20},{default:t(()=>[o(i(n.folder_paths_str),1)]),_:2},1024)]),_:2},1024)):g("",!0),a(y,null,{default:t(()=>[a(u,{span:4},{default:t(()=>[o(i(l.$t("historyRecordsisRegex"))+":",1)]),_:1}),a(u,{span:20},{default:t(()=>[o(i(n.isRegex),1)]),_:2},1024)]),_:2},1024),n.mediaType?(p(),_(y,{key:1},{default:t(()=>[a(u,{span:4},{default:t(()=>[o(i(l.$t("mediaType"))+":",1)]),_:1}),a(u,{span:20},{default:t(()=>[o(i(n.mediaType),1)]),_:2},1024)]),_:2},1024)):g("",!0),a(y,null,{default:t(()=>[a(u,{span:4},{default:t(()=>[o(i(l.$t("time"))+":",1)]),_:1}),a(u,{span:20},{default:t(()=>[o(i(n.time),1)]),_:2},1024)]),_:2},1024),Gt])]),_:1},8,["records"])])):g("",!0),e(m)?(p(),_(e(ct),{key:1,ref_key:"scroller",ref:Z,class:"file-list",items:e(m),"item-size":e(Q).first,"key-field":"fullpath","item-secondary-size":e(Q).second,gridItems:e(ve),onScroll:e(Y)},{after:t(()=>[Kt]),default:t(({item:n,index:ae})=>[a(ft,{idx:ae,file:n,"show-menu-idx":e(B),"onUpdate:showMenuIdx":s[15]||(s[15]=le=>oe(B)?B.value=le:null),onFileItemClick:e(me),"full-screen-preview-image-url":e(m)[e(A)]?e(et)(e(m)[e(A)]):"","cell-width":e(ye),selected:e(V).includes(ae),onContextMenuClick:e(q),onDragstart:e(_e),onDragend:e(he),onTiktokView:(le,Be)=>e(kt)(e(m),Be),"enable-change-indicator":e(Se),"seed-change-checked":e(Ce),"get-gen-diff":e(xe),"get-gen-diff-watch-dep":e(Ie),"is-selected-mutil-files":e(V).length>1,onPreviewVisibleChange:e(fe)},null,8,["idx","file","show-menu-idx","onFileItemClick","full-screen-preview-image-url","cell-width","selected","onContextMenuClick","onDragstart","onDragend","onTiktokView","enable-change-indicator","seed-change-checked","get-gen-diff","get-gen-diff-watch-dep","is-selected-mutil-files","onPreviewVisibleChange"])]),_:1},8,["items","item-size","item-secondary-size","gridItems","onScroll"])):g("",!0),e(N)?(p(),z("div",Lt,[a(e(gt),{onClick:s[16]||(s[16]=n=>e(J)("prev")),class:U({disable:!e(W)("prev")})},null,8,["class"]),a(e(mt),{onClick:s[17]||(s[17]=n=>e(J)("next")),class:U({disable:!e(W)("next")})},null,8,["class"])])):g("",!0)]),_:1},8,["spinning"]),e(N)&&e(m)&&e(m)[e(A)]?(p(),_(_t,{key:2,file:e(m)[e(A)],idx:e(A),onContextMenuClick:e(q)},null,8,["file","idx","onContextMenuClick"])):g("",!0)],512)],64)}}});const la=pt(jt,[["__scopeId","data-v-4584136c"]]);export{la as default}; diff --git a/vue/dist/assets/TagSearch-818f8831.js b/vue/dist/assets/TagSearch-cc17ff40.js similarity index 99% rename from vue/dist/assets/TagSearch-818f8831.js rename to vue/dist/assets/TagSearch-cc17ff40.js index 0c650f5..28bea1c 100644 --- a/vue/dist/assets/TagSearch-818f8831.js +++ b/vue/dist/assets/TagSearch-cc17ff40.js @@ -1,4 +1,4 @@ -import{c as B,A as Di,aN as Ni,aO as Vi,aP as ur,aQ as Fi,aR as Wi,aS as zi,aT as Ro,aU as Ui,aV as To,aW as Gi,aX as Ki,aY as qi,aZ as Xi,a_ as Yi,a$ as Ji,b0 as Zi,b1 as ua,b2 as Mo,b3 as Qi,b4 as el,b5 as tl,d as me,r as q,aL as Re,s as at,aj as J,b6 as Pt,x as Po,b7 as he,b8 as nl,aC as En,b9 as Io,ba as rl,bb as Ue,v as Ho,o as k,j as H,k as w,V as ue,J as ce,F as xe,K as ot,m as D,bc as hn,bd as al,l as ne,t as W,be as ol,bf as il,bg as ll,bh as re,B as G,C as U,bi as ca,bj as fa,ah as cr,bk as fr,bl as sl,aw as ut,ax as ct,bm as jo,G as gn,E as le,bn as ul,bo as cl,n as Lo,p as fl,bp as dl,ay as pl,as as hl,aq as gl,bq as da,ak as vl,br as pa,bs as yl,bt as ml,bu as bl,S as Fn,ap as Cl,bv as _l,W as ha,X as Wn,Z as ga,bw as wl,bx as xl,a3 as va,av as Sl,by as kl,a2 as Ol,bz as Al,bA as $l,bB as El,a8 as Rl}from"./index-32743103.js";/* empty css *//* empty css */import{t as ya,T as Tl,_ as Ml,a as Pl,H as Il}from"./TipsCarousel-4f02731b.js";import{i as Hl}from"./_isIterateeCall-16c5cf9c.js";var jl={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M869 487.8L491.2 159.9c-2.9-2.5-6.6-3.9-10.5-3.9h-88.5c-7.4 0-10.8 9.2-5.2 14l350.2 304H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h585.1L386.9 854c-5.6 4.9-2.2 14 5.2 14h91.5c1.9 0 3.8-.7 5.2-2L869 536.2a32.07 32.07 0 000-48.4z"}}]},name:"arrow-right",theme:"outlined"};const Ll=jl;function ma(e){for(var t=1;t1?n[a-1]:void 0,s=a>2?n[2]:void 0;for(o=e.length>3&&typeof o=="function"?(a--,o):void 0,s&&Hl(n[0],n[1],s)&&(o=a<3?void 0:o,a=1),t=Object(t);++r=0,o=!n&&a&&(t==="hex"||t==="hex6"||t==="hex3"||t==="hex4"||t==="hex8"||t==="name");return o?t==="name"&&this._a===0?this.toName():this.toRgbString():(t==="rgb"&&(r=this.toRgbString()),t==="prgb"&&(r=this.toPercentageRgbString()),(t==="hex"||t==="hex6")&&(r=this.toHexString()),t==="hex3"&&(r=this.toHexString(!0)),t==="hex4"&&(r=this.toHex8String(!0)),t==="hex8"&&(r=this.toHex8String()),t==="name"&&(r=this.toName()),t==="hsl"&&(r=this.toHslString()),t==="hsv"&&(r=this.toHsvString()),r||this.toHexString())},clone:function(){return S(this.toString())},_applyModification:function(t,n){var r=t.apply(null,[this].concat([].slice.call(n)));return this._r=r._r,this._g=r._g,this._b=r._b,this.setAlpha(r._a),this},lighten:function(){return this._applyModification(ps,arguments)},brighten:function(){return this._applyModification(hs,arguments)},darken:function(){return this._applyModification(gs,arguments)},desaturate:function(){return this._applyModification(cs,arguments)},saturate:function(){return this._applyModification(fs,arguments)},greyscale:function(){return this._applyModification(ds,arguments)},spin:function(){return this._applyModification(vs,arguments)},_applyCombination:function(t,n){return t.apply(null,[this].concat([].slice.call(n)))},analogous:function(){return this._applyCombination(bs,arguments)},complement:function(){return this._applyCombination(ys,arguments)},monochromatic:function(){return this._applyCombination(Cs,arguments)},splitcomplement:function(){return this._applyCombination(ms,arguments)},triad:function(){return this._applyCombination(xa,[3])},tetrad:function(){return this._applyCombination(xa,[4])}};S.fromRatio=function(e,t){if(vn(e)=="object"){var n={};for(var r in e)e.hasOwnProperty(r)&&(r==="a"?n[r]=e[r]:n[r]=zt(e[r]));e=n}return S(e,t)};function os(e){var t={r:0,g:0,b:0},n=1,r=null,a=null,o=null,s=!1,i=!1;return typeof e=="string"&&(e=ks(e)),vn(e)=="object"&&(We(e.r)&&We(e.g)&&We(e.b)?(t=is(e.r,e.g,e.b),s=!0,i=String(e.r).substr(-1)==="%"?"prgb":"rgb"):We(e.h)&&We(e.s)&&We(e.v)?(r=zt(e.s),a=zt(e.v),t=ss(e.h,r,a),s=!0,i="hsv"):We(e.h)&&We(e.s)&&We(e.l)&&(r=zt(e.s),o=zt(e.l),t=ls(e.h,r,o),s=!0,i="hsl"),e.hasOwnProperty("a")&&(n=e.a)),n=No(n),{ok:s,format:e.format||i,r:Math.min(255,Math.max(t.r,0)),g:Math.min(255,Math.max(t.g,0)),b:Math.min(255,Math.max(t.b,0)),a:n}}function is(e,t,n){return{r:Y(e,255)*255,g:Y(t,255)*255,b:Y(n,255)*255}}function ba(e,t,n){e=Y(e,255),t=Y(t,255),n=Y(n,255);var r=Math.max(e,t,n),a=Math.min(e,t,n),o,s,i=(r+a)/2;if(r==a)o=s=0;else{var l=r-a;switch(s=i>.5?l/(2-r-a):l/(r+a),r){case e:o=(t-n)/l+(t1&&(f-=1),f<1/6?c+(u-c)*6*f:f<1/2?u:f<2/3?c+(u-c)*(2/3-f)*6:c}if(t===0)r=a=o=n;else{var i=n<.5?n*(1+t):n+t-n*t,l=2*n-i;r=s(l,i,e+1/3),a=s(l,i,e),o=s(l,i,e-1/3)}return{r:r*255,g:a*255,b:o*255}}function Ca(e,t,n){e=Y(e,255),t=Y(t,255),n=Y(n,255);var r=Math.max(e,t,n),a=Math.min(e,t,n),o,s,i=r,l=r-a;if(s=r===0?0:l/r,r==a)o=0;else{switch(r){case e:o=(t-n)/l+(t>1)+720)%360;--t;)r.h=(r.h+a)%360,o.push(S(r));return o}function Cs(e,t){t=t||6;for(var n=S(e).toHsv(),r=n.h,a=n.s,o=n.v,s=[],i=1/t;t--;)s.push(S({h:r,s:a,v:o})),o=(o+i)%1;return s}S.mix=function(e,t,n){n=n===0?0:n||50;var r=S(e).toRgb(),a=S(t).toRgb(),o=n/100,s={r:(a.r-r.r)*o+r.r,g:(a.g-r.g)*o+r.g,b:(a.b-r.b)*o+r.b,a:(a.a-r.a)*o+r.a};return S(s)};S.readability=function(e,t){var n=S(e),r=S(t);return(Math.max(n.getLuminance(),r.getLuminance())+.05)/(Math.min(n.getLuminance(),r.getLuminance())+.05)};S.isReadable=function(e,t,n){var r=S.readability(e,t),a,o;switch(o=!1,a=Os(n),a.level+a.size){case"AAsmall":case"AAAlarge":o=r>=4.5;break;case"AAlarge":o=r>=3;break;case"AAAsmall":o=r>=7;break}return o};S.mostReadable=function(e,t,n){var r=null,a=0,o,s,i,l;n=n||{},s=n.includeFallbackColors,i=n.level,l=n.size;for(var c=0;ca&&(a=o,r=S(t[c]));return S.isReadable(e,r,{level:i,size:l})||!s?r:(n.includeFallbackColors=!1,S.mostReadable(e,["#fff","#000"],n))};var hr=S.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},_s=S.hexNames=ws(hr);function ws(e){var t={};for(var n in e)e.hasOwnProperty(n)&&(t[e[n]]=n);return t}function No(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function Y(e,t){xs(e)&&(e="100%");var n=Ss(e);return e=Math.min(t,Math.max(0,parseFloat(e))),n&&(e=parseInt(e*t,10)/100),Math.abs(e-t)<1e-6?1:e%t/parseFloat(t)}function Tn(e){return Math.min(1,Math.max(0,e))}function we(e){return parseInt(e,16)}function xs(e){return typeof e=="string"&&e.indexOf(".")!=-1&&parseFloat(e)===1}function Ss(e){return typeof e=="string"&&e.indexOf("%")!=-1}function je(e){return e.length==1?"0"+e:""+e}function zt(e){return e<=1&&(e=e*100+"%"),e}function Vo(e){return Math.round(parseFloat(e)*255).toString(16)}function Sa(e){return we(e)/255}var He=function(){var e="[-\\+]?\\d+%?",t="[-\\+]?\\d*\\.\\d+%?",n="(?:"+t+")|(?:"+e+")",r="[\\s|\\(]+("+n+")[,|\\s]+("+n+")[,|\\s]+("+n+")\\s*\\)?",a="[\\s|\\(]+("+n+")[,|\\s]+("+n+")[,|\\s]+("+n+")[,|\\s]+("+n+")\\s*\\)?";return{CSS_UNIT:new RegExp(n),rgb:new RegExp("rgb"+r),rgba:new RegExp("rgba"+a),hsl:new RegExp("hsl"+r),hsla:new RegExp("hsla"+a),hsv:new RegExp("hsv"+r),hsva:new RegExp("hsva"+a),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();function We(e){return!!He.CSS_UNIT.exec(e)}function ks(e){e=e.replace(rs,"").replace(as,"").toLowerCase();var t=!1;if(hr[e])e=hr[e],t=!0;else if(e=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var n;return(n=He.rgb.exec(e))?{r:n[1],g:n[2],b:n[3]}:(n=He.rgba.exec(e))?{r:n[1],g:n[2],b:n[3],a:n[4]}:(n=He.hsl.exec(e))?{h:n[1],s:n[2],l:n[3]}:(n=He.hsla.exec(e))?{h:n[1],s:n[2],l:n[3],a:n[4]}:(n=He.hsv.exec(e))?{h:n[1],s:n[2],v:n[3]}:(n=He.hsva.exec(e))?{h:n[1],s:n[2],v:n[3],a:n[4]}:(n=He.hex8.exec(e))?{r:we(n[1]),g:we(n[2]),b:we(n[3]),a:Sa(n[4]),format:t?"name":"hex8"}:(n=He.hex6.exec(e))?{r:we(n[1]),g:we(n[2]),b:we(n[3]),format:t?"name":"hex"}:(n=He.hex4.exec(e))?{r:we(n[1]+""+n[1]),g:we(n[2]+""+n[2]),b:we(n[3]+""+n[3]),a:Sa(n[4]+""+n[4]),format:t?"name":"hex8"}:(n=He.hex3.exec(e))?{r:we(n[1]+""+n[1]),g:we(n[2]+""+n[2]),b:we(n[3]+""+n[3]),format:t?"name":"hex"}:!1}function Os(e){var t,n;return e=e||{level:"AA",size:"small"},t=(e.level||"AA").toUpperCase(),n=(e.size||"small").toLowerCase(),t!=="AA"&&t!=="AAA"&&(t="AA"),n!=="small"&&n!=="large"&&(n="small"),{level:t,size:n}}var ft=ft||{};ft.stringify=function(){var e={"visit_linear-gradient":function(t){return e.visit_gradient(t)},"visit_repeating-linear-gradient":function(t){return e.visit_gradient(t)},"visit_radial-gradient":function(t){return e.visit_gradient(t)},"visit_repeating-radial-gradient":function(t){return e.visit_gradient(t)},visit_gradient:function(t){var n=e.visit(t.orientation);return n&&(n+=", "),t.type+"("+n+e.visit(t.colorStops)+")"},visit_shape:function(t){var n=t.value,r=e.visit(t.at),a=e.visit(t.style);return a&&(n+=" "+a),r&&(n+=" at "+r),n},"visit_default-radial":function(t){var n="",r=e.visit(t.at);return r&&(n+=r),n},"visit_extent-keyword":function(t){var n=t.value,r=e.visit(t.at);return r&&(n+=" at "+r),n},"visit_position-keyword":function(t){return t.value},visit_position:function(t){return e.visit(t.value.x)+" "+e.visit(t.value.y)},"visit_%":function(t){return t.value+"%"},visit_em:function(t){return t.value+"em"},visit_px:function(t){return t.value+"px"},visit_literal:function(t){return e.visit_color(t.value,t)},visit_hex:function(t){return e.visit_color("#"+t.value,t)},visit_rgb:function(t){return e.visit_color("rgb("+t.value.join(", ")+")",t)},visit_rgba:function(t){return e.visit_color("rgba("+t.value.join(", ")+")",t)},visit_color:function(t,n){var r=t,a=e.visit(n.length);return a&&(r+=" "+a),r},visit_angular:function(t){return t.value+"deg"},visit_directional:function(t){return"to "+t.value},visit_array:function(t){var n="",r=t.length;return t.forEach(function(a,o){n+=e.visit(a),o0&&n("Invalid input not EOF"),A}function a(){return x(o)}function o(){return s("linear-gradient",e.linearGradient,l)||s("repeating-linear-gradient",e.repeatingLinearGradient,l)||s("radial-gradient",e.radialGradient,f)||s("repeating-radial-gradient",e.repeatingRadialGradient,f)}function s(A,h,_){return i(h,function(j){var K=_();return K&&(F(e.comma)||n("Missing comma before color stops")),{type:A,orientation:K,colorStops:x(O)}})}function i(A,h){var _=F(A);if(_){F(e.startCall)||n("Missing (");var j=h(_);return F(e.endCall)||n("Missing )"),j}}function l(){return c()||u()}function c(){return L("directional",e.sideOrCorner,1)}function u(){return L("angular",e.angleValue,1)}function f(){var A,h=d(),_;return h&&(A=[],A.push(h),_=t,F(e.comma)&&(h=d(),h?A.push(h):t=_)),A}function d(){var A=p()||m();if(A)A.at=y();else{var h=g();if(h){A=h;var _=y();_&&(A.at=_)}else{var j=v();j&&(A={type:"default-radial",at:j})}}return A}function p(){var A=L("shape",/^(circle)/i,0);return A&&(A.style=P()||g()),A}function m(){var A=L("shape",/^(ellipse)/i,0);return A&&(A.style=b()||g()),A}function g(){return L("extent-keyword",e.extentKeywords,1)}function y(){if(L("position",/^at/,0)){var A=v();return A||n("Missing positioning value"),A}}function v(){var A=C();if(A.x||A.y)return{type:"position",value:A}}function C(){return{x:b(),y:b()}}function x(A){var h=A(),_=[];if(h)for(_.push(h);F(e.comma);)h=A(),h?_.push(h):n("One extra comma");return _}function O(){var A=E();return A||n("Expected color definition"),A.length=b(),A}function E(){return T()||N()||V()||$()}function $(){return L("literal",e.literalColor,0)}function T(){return L("hex",e.hexColor,1)}function V(){return i(e.rgbColor,function(){return{type:"rgb",value:x(z)}})}function N(){return i(e.rgbaColor,function(){return{type:"rgba",value:x(z)}})}function z(){return F(e.number)[1]}function b(){return L("%",e.percentageValue,1)||R()||P()}function R(){return L("position-keyword",e.positionKeywords,1)}function P(){return L("px",e.pixelValue,1)||L("em",e.emValue,1)}function L(A,h,_){var j=F(h);if(j)return{type:A,value:j[_]}}function F(A){var h,_;return _=/^[\n\r\t\s]+/.exec(t),_&&ee(_[0].length),h=A.exec(t),h&&ee(h[0].length),h}function ee(A){t=t.substr(A)}return function(A){return t=A.toString(),r()}}();var As=ft.parse,$s=ft.stringify,be="top",Te="bottom",Me="right",Ce="left",Or="auto",tn=[be,Te,Me,Ce],xt="start",Jt="end",Es="clippingParents",Fo="viewport",Nt="popper",Rs="reference",ka=tn.reduce(function(e,t){return e.concat([t+"-"+xt,t+"-"+Jt])},[]),Wo=[].concat(tn,[Or]).reduce(function(e,t){return e.concat([t,t+"-"+xt,t+"-"+Jt])},[]),Ts="beforeRead",Ms="read",Ps="afterRead",Is="beforeMain",Hs="main",js="afterMain",Ls="beforeWrite",Bs="write",Ds="afterWrite",Ns=[Ts,Ms,Ps,Is,Hs,js,Ls,Bs,Ds];function Ve(e){return e?(e.nodeName||"").toLowerCase():null}function ke(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function it(e){var t=ke(e).Element;return e instanceof t||e instanceof Element}function $e(e){var t=ke(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function Ar(e){if(typeof ShadowRoot>"u")return!1;var t=ke(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function Vs(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var r=t.styles[n]||{},a=t.attributes[n]||{},o=t.elements[n];!$e(o)||!Ve(o)||(Object.assign(o.style,r),Object.keys(a).forEach(function(s){var i=a[s];i===!1?o.removeAttribute(s):o.setAttribute(s,i===!0?"":i)}))})}function Fs(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(r){var a=t.elements[r],o=t.attributes[r]||{},s=Object.keys(t.styles.hasOwnProperty(r)?t.styles[r]:n[r]),i=s.reduce(function(l,c){return l[c]="",l},{});!$e(a)||!Ve(a)||(Object.assign(a.style,i),Object.keys(o).forEach(function(l){a.removeAttribute(l)}))})}}const Ws={name:"applyStyles",enabled:!0,phase:"write",fn:Vs,effect:Fs,requires:["computeStyles"]};function De(e){return e.split("-")[0]}var rt=Math.max,yn=Math.min,St=Math.round;function gr(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function zo(){return!/^((?!chrome|android).)*safari/i.test(gr())}function kt(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var r=e.getBoundingClientRect(),a=1,o=1;t&&$e(e)&&(a=e.offsetWidth>0&&St(r.width)/e.offsetWidth||1,o=e.offsetHeight>0&&St(r.height)/e.offsetHeight||1);var s=it(e)?ke(e):window,i=s.visualViewport,l=!zo()&&n,c=(r.left+(l&&i?i.offsetLeft:0))/a,u=(r.top+(l&&i?i.offsetTop:0))/o,f=r.width/a,d=r.height/o;return{width:f,height:d,top:u,right:c+f,bottom:u+d,left:c,x:c,y:u}}function $r(e){var t=kt(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function Uo(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&Ar(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function Ke(e){return ke(e).getComputedStyle(e)}function zs(e){return["table","td","th"].indexOf(Ve(e))>=0}function et(e){return((it(e)?e.ownerDocument:e.document)||window.document).documentElement}function Mn(e){return Ve(e)==="html"?e:e.assignedSlot||e.parentNode||(Ar(e)?e.host:null)||et(e)}function Oa(e){return!$e(e)||Ke(e).position==="fixed"?null:e.offsetParent}function Us(e){var t=/firefox/i.test(gr()),n=/Trident/i.test(gr());if(n&&$e(e)){var r=Ke(e);if(r.position==="fixed")return null}var a=Mn(e);for(Ar(a)&&(a=a.host);$e(a)&&["html","body"].indexOf(Ve(a))<0;){var o=Ke(a);if(o.transform!=="none"||o.perspective!=="none"||o.contain==="paint"||["transform","perspective"].indexOf(o.willChange)!==-1||t&&o.willChange==="filter"||t&&o.filter&&o.filter!=="none")return a;a=a.parentNode}return null}function nn(e){for(var t=ke(e),n=Oa(e);n&&zs(n)&&Ke(n).position==="static";)n=Oa(n);return n&&(Ve(n)==="html"||Ve(n)==="body"&&Ke(n).position==="static")?t:n||Us(e)||t}function Er(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function Gt(e,t,n){return rt(e,yn(t,n))}function Gs(e,t,n){var r=Gt(e,t,n);return r>n?n:r}function Go(){return{top:0,right:0,bottom:0,left:0}}function Ko(e){return Object.assign({},Go(),e)}function qo(e,t){return t.reduce(function(n,r){return n[r]=e,n},{})}var Ks=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,Ko(typeof t!="number"?t:qo(t,tn))};function qs(e){var t,n=e.state,r=e.name,a=e.options,o=n.elements.arrow,s=n.modifiersData.popperOffsets,i=De(n.placement),l=Er(i),c=[Ce,Me].indexOf(i)>=0,u=c?"height":"width";if(!(!o||!s)){var f=Ks(a.padding,n),d=$r(o),p=l==="y"?be:Ce,m=l==="y"?Te:Me,g=n.rects.reference[u]+n.rects.reference[l]-s[l]-n.rects.popper[u],y=s[l]-n.rects.reference[l],v=nn(o),C=v?l==="y"?v.clientHeight||0:v.clientWidth||0:0,x=g/2-y/2,O=f[p],E=C-d[u]-f[m],$=C/2-d[u]/2+x,T=Gt(O,$,E),V=l;n.modifiersData[r]=(t={},t[V]=T,t.centerOffset=T-$,t)}}function Xs(e){var t=e.state,n=e.options,r=n.element,a=r===void 0?"[data-popper-arrow]":r;a!=null&&(typeof a=="string"&&(a=t.elements.popper.querySelector(a),!a)||Uo(t.elements.popper,a)&&(t.elements.arrow=a))}const Ys={name:"arrow",enabled:!0,phase:"main",fn:qs,effect:Xs,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Ot(e){return e.split("-")[1]}var Js={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Zs(e,t){var n=e.x,r=e.y,a=t.devicePixelRatio||1;return{x:St(n*a)/a||0,y:St(r*a)/a||0}}function Aa(e){var t,n=e.popper,r=e.popperRect,a=e.placement,o=e.variation,s=e.offsets,i=e.position,l=e.gpuAcceleration,c=e.adaptive,u=e.roundOffsets,f=e.isFixed,d=s.x,p=d===void 0?0:d,m=s.y,g=m===void 0?0:m,y=typeof u=="function"?u({x:p,y:g}):{x:p,y:g};p=y.x,g=y.y;var v=s.hasOwnProperty("x"),C=s.hasOwnProperty("y"),x=Ce,O=be,E=window;if(c){var $=nn(n),T="clientHeight",V="clientWidth";if($===ke(n)&&($=et(n),Ke($).position!=="static"&&i==="absolute"&&(T="scrollHeight",V="scrollWidth")),$=$,a===be||(a===Ce||a===Me)&&o===Jt){O=Te;var N=f&&$===E&&E.visualViewport?E.visualViewport.height:$[T];g-=N-r.height,g*=l?1:-1}if(a===Ce||(a===be||a===Te)&&o===Jt){x=Me;var z=f&&$===E&&E.visualViewport?E.visualViewport.width:$[V];p-=z-r.width,p*=l?1:-1}}var b=Object.assign({position:i},c&&Js),R=u===!0?Zs({x:p,y:g},ke(n)):{x:p,y:g};if(p=R.x,g=R.y,l){var P;return Object.assign({},b,(P={},P[O]=C?"0":"",P[x]=v?"0":"",P.transform=(E.devicePixelRatio||1)<=1?"translate("+p+"px, "+g+"px)":"translate3d("+p+"px, "+g+"px, 0)",P))}return Object.assign({},b,(t={},t[O]=C?g+"px":"",t[x]=v?p+"px":"",t.transform="",t))}function Qs(e){var t=e.state,n=e.options,r=n.gpuAcceleration,a=r===void 0?!0:r,o=n.adaptive,s=o===void 0?!0:o,i=n.roundOffsets,l=i===void 0?!0:i,c={placement:De(t.placement),variation:Ot(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:a,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,Aa(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:s,roundOffsets:l})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,Aa(Object.assign({},c,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const eu={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Qs,data:{}};var sn={passive:!0};function tu(e){var t=e.state,n=e.instance,r=e.options,a=r.scroll,o=a===void 0?!0:a,s=r.resize,i=s===void 0?!0:s,l=ke(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return o&&c.forEach(function(u){u.addEventListener("scroll",n.update,sn)}),i&&l.addEventListener("resize",n.update,sn),function(){o&&c.forEach(function(u){u.removeEventListener("scroll",n.update,sn)}),i&&l.removeEventListener("resize",n.update,sn)}}const nu={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:tu,data:{}};var ru={left:"right",right:"left",bottom:"top",top:"bottom"};function dn(e){return e.replace(/left|right|bottom|top/g,function(t){return ru[t]})}var au={start:"end",end:"start"};function $a(e){return e.replace(/start|end/g,function(t){return au[t]})}function Rr(e){var t=ke(e),n=t.pageXOffset,r=t.pageYOffset;return{scrollLeft:n,scrollTop:r}}function Tr(e){return kt(et(e)).left+Rr(e).scrollLeft}function ou(e,t){var n=ke(e),r=et(e),a=n.visualViewport,o=r.clientWidth,s=r.clientHeight,i=0,l=0;if(a){o=a.width,s=a.height;var c=zo();(c||!c&&t==="fixed")&&(i=a.offsetLeft,l=a.offsetTop)}return{width:o,height:s,x:i+Tr(e),y:l}}function iu(e){var t,n=et(e),r=Rr(e),a=(t=e.ownerDocument)==null?void 0:t.body,o=rt(n.scrollWidth,n.clientWidth,a?a.scrollWidth:0,a?a.clientWidth:0),s=rt(n.scrollHeight,n.clientHeight,a?a.scrollHeight:0,a?a.clientHeight:0),i=-r.scrollLeft+Tr(e),l=-r.scrollTop;return Ke(a||n).direction==="rtl"&&(i+=rt(n.clientWidth,a?a.clientWidth:0)-o),{width:o,height:s,x:i,y:l}}function Mr(e){var t=Ke(e),n=t.overflow,r=t.overflowX,a=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+a+r)}function Xo(e){return["html","body","#document"].indexOf(Ve(e))>=0?e.ownerDocument.body:$e(e)&&Mr(e)?e:Xo(Mn(e))}function Kt(e,t){var n;t===void 0&&(t=[]);var r=Xo(e),a=r===((n=e.ownerDocument)==null?void 0:n.body),o=ke(r),s=a?[o].concat(o.visualViewport||[],Mr(r)?r:[]):r,i=t.concat(s);return a?i:i.concat(Kt(Mn(s)))}function vr(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function lu(e,t){var n=kt(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function Ea(e,t,n){return t===Fo?vr(ou(e,n)):it(t)?lu(t,n):vr(iu(et(e)))}function su(e){var t=Kt(Mn(e)),n=["absolute","fixed"].indexOf(Ke(e).position)>=0,r=n&&$e(e)?nn(e):e;return it(r)?t.filter(function(a){return it(a)&&Uo(a,r)&&Ve(a)!=="body"}):[]}function uu(e,t,n,r){var a=t==="clippingParents"?su(e):[].concat(t),o=[].concat(a,[n]),s=o[0],i=o.reduce(function(l,c){var u=Ea(e,c,r);return l.top=rt(u.top,l.top),l.right=yn(u.right,l.right),l.bottom=yn(u.bottom,l.bottom),l.left=rt(u.left,l.left),l},Ea(e,s,r));return i.width=i.right-i.left,i.height=i.bottom-i.top,i.x=i.left,i.y=i.top,i}function Yo(e){var t=e.reference,n=e.element,r=e.placement,a=r?De(r):null,o=r?Ot(r):null,s=t.x+t.width/2-n.width/2,i=t.y+t.height/2-n.height/2,l;switch(a){case be:l={x:s,y:t.y-n.height};break;case Te:l={x:s,y:t.y+t.height};break;case Me:l={x:t.x+t.width,y:i};break;case Ce:l={x:t.x-n.width,y:i};break;default:l={x:t.x,y:t.y}}var c=a?Er(a):null;if(c!=null){var u=c==="y"?"height":"width";switch(o){case xt:l[c]=l[c]-(t[u]/2-n[u]/2);break;case Jt:l[c]=l[c]+(t[u]/2-n[u]/2);break}}return l}function Zt(e,t){t===void 0&&(t={});var n=t,r=n.placement,a=r===void 0?e.placement:r,o=n.strategy,s=o===void 0?e.strategy:o,i=n.boundary,l=i===void 0?Es:i,c=n.rootBoundary,u=c===void 0?Fo:c,f=n.elementContext,d=f===void 0?Nt:f,p=n.altBoundary,m=p===void 0?!1:p,g=n.padding,y=g===void 0?0:g,v=Ko(typeof y!="number"?y:qo(y,tn)),C=d===Nt?Rs:Nt,x=e.rects.popper,O=e.elements[m?C:d],E=uu(it(O)?O:O.contextElement||et(e.elements.popper),l,u,s),$=kt(e.elements.reference),T=Yo({reference:$,element:x,strategy:"absolute",placement:a}),V=vr(Object.assign({},x,T)),N=d===Nt?V:$,z={top:E.top-N.top+v.top,bottom:N.bottom-E.bottom+v.bottom,left:E.left-N.left+v.left,right:N.right-E.right+v.right},b=e.modifiersData.offset;if(d===Nt&&b){var R=b[a];Object.keys(z).forEach(function(P){var L=[Me,Te].indexOf(P)>=0?1:-1,F=[be,Te].indexOf(P)>=0?"y":"x";z[P]+=R[F]*L})}return z}function cu(e,t){t===void 0&&(t={});var n=t,r=n.placement,a=n.boundary,o=n.rootBoundary,s=n.padding,i=n.flipVariations,l=n.allowedAutoPlacements,c=l===void 0?Wo:l,u=Ot(r),f=u?i?ka:ka.filter(function(m){return Ot(m)===u}):tn,d=f.filter(function(m){return c.indexOf(m)>=0});d.length===0&&(d=f);var p=d.reduce(function(m,g){return m[g]=Zt(e,{placement:g,boundary:a,rootBoundary:o,padding:s})[De(g)],m},{});return Object.keys(p).sort(function(m,g){return p[m]-p[g]})}function fu(e){if(De(e)===Or)return[];var t=dn(e);return[$a(e),t,$a(t)]}function du(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var a=n.mainAxis,o=a===void 0?!0:a,s=n.altAxis,i=s===void 0?!0:s,l=n.fallbackPlacements,c=n.padding,u=n.boundary,f=n.rootBoundary,d=n.altBoundary,p=n.flipVariations,m=p===void 0?!0:p,g=n.allowedAutoPlacements,y=t.options.placement,v=De(y),C=v===y,x=l||(C||!m?[dn(y)]:fu(y)),O=[y].concat(x).reduce(function(de,_e){return de.concat(De(_e)===Or?cu(t,{placement:_e,boundary:u,rootBoundary:f,padding:c,flipVariations:m,allowedAutoPlacements:g}):_e)},[]),E=t.rects.reference,$=t.rects.popper,T=new Map,V=!0,N=O[0],z=0;z=0,F=L?"width":"height",ee=Zt(t,{placement:b,boundary:u,rootBoundary:f,altBoundary:d,padding:c}),A=L?P?Me:Ce:P?Te:be;E[F]>$[F]&&(A=dn(A));var h=dn(A),_=[];if(o&&_.push(ee[R]<=0),i&&_.push(ee[A]<=0,ee[h]<=0),_.every(function(de){return de})){N=b,V=!1;break}T.set(b,_)}if(V)for(var j=m?3:1,K=function(_e){var Le=O.find(function(gt){var Be=T.get(gt);if(Be)return Be.slice(0,_e).every(function(Lt){return Lt})});if(Le)return N=Le,"break"},fe=j;fe>0;fe--){var Ie=K(fe);if(Ie==="break")break}t.placement!==N&&(t.modifiersData[r]._skip=!0,t.placement=N,t.reset=!0)}}const pu={name:"flip",enabled:!0,phase:"main",fn:du,requiresIfExists:["offset"],data:{_skip:!1}};function Ra(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function Ta(e){return[be,Me,Te,Ce].some(function(t){return e[t]>=0})}function hu(e){var t=e.state,n=e.name,r=t.rects.reference,a=t.rects.popper,o=t.modifiersData.preventOverflow,s=Zt(t,{elementContext:"reference"}),i=Zt(t,{altBoundary:!0}),l=Ra(s,r),c=Ra(i,a,o),u=Ta(l),f=Ta(c);t.modifiersData[n]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:u,hasPopperEscaped:f},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":u,"data-popper-escaped":f})}const gu={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:hu};function vu(e,t,n){var r=De(e),a=[Ce,be].indexOf(r)>=0?-1:1,o=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,s=o[0],i=o[1];return s=s||0,i=(i||0)*a,[Ce,Me].indexOf(r)>=0?{x:i,y:s}:{x:s,y:i}}function yu(e){var t=e.state,n=e.options,r=e.name,a=n.offset,o=a===void 0?[0,0]:a,s=Wo.reduce(function(u,f){return u[f]=vu(f,t.rects,o),u},{}),i=s[t.placement],l=i.x,c=i.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=c),t.modifiersData[r]=s}const mu={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:yu};function bu(e){var t=e.state,n=e.name;t.modifiersData[n]=Yo({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const Cu={name:"popperOffsets",enabled:!0,phase:"read",fn:bu,data:{}};function _u(e){return e==="x"?"y":"x"}function wu(e){var t=e.state,n=e.options,r=e.name,a=n.mainAxis,o=a===void 0?!0:a,s=n.altAxis,i=s===void 0?!1:s,l=n.boundary,c=n.rootBoundary,u=n.altBoundary,f=n.padding,d=n.tether,p=d===void 0?!0:d,m=n.tetherOffset,g=m===void 0?0:m,y=Zt(t,{boundary:l,rootBoundary:c,padding:f,altBoundary:u}),v=De(t.placement),C=Ot(t.placement),x=!C,O=Er(v),E=_u(O),$=t.modifiersData.popperOffsets,T=t.rects.reference,V=t.rects.popper,N=typeof g=="function"?g(Object.assign({},t.rects,{placement:t.placement})):g,z=typeof N=="number"?{mainAxis:N,altAxis:N}:Object.assign({mainAxis:0,altAxis:0},N),b=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,R={x:0,y:0};if($){if(o){var P,L=O==="y"?be:Ce,F=O==="y"?Te:Me,ee=O==="y"?"height":"width",A=$[O],h=A+y[L],_=A-y[F],j=p?-V[ee]/2:0,K=C===xt?T[ee]:V[ee],fe=C===xt?-V[ee]:-T[ee],Ie=t.elements.arrow,de=p&&Ie?$r(Ie):{width:0,height:0},_e=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:Go(),Le=_e[L],gt=_e[F],Be=Gt(0,T[ee],de[ee]),Lt=x?T[ee]/2-j-Be-Le-z.mainAxis:K-Be-Le-z.mainAxis,Dn=x?-T[ee]/2+j+Be+gt+z.mainAxis:fe+Be+gt+z.mainAxis,Bt=t.elements.arrow&&nn(t.elements.arrow),Nn=Bt?O==="y"?Bt.clientTop||0:Bt.clientLeft||0:0,I=(P=b==null?void 0:b[O])!=null?P:0,Dt=A+Lt-I-Nn,ae=A+Dn-I,on=Gt(p?yn(h,Dt):h,A,p?rt(_,ae):_);$[O]=on,R[O]=on-A}if(i){var Fe,Li=O==="x"?be:Ce,Bi=O==="x"?Te:Me,tt=$[E],ln=E==="y"?"height":"width",ra=tt+y[Li],aa=tt-y[Bi],Vn=[be,Ce].indexOf(v)!==-1,oa=(Fe=b==null?void 0:b[E])!=null?Fe:0,ia=Vn?ra:tt-T[ln]-V[ln]-oa+z.altAxis,la=Vn?tt+T[ln]+V[ln]-oa-z.altAxis:aa,sa=p&&Vn?Gs(ia,tt,la):Gt(p?ia:ra,tt,p?la:aa);$[E]=sa,R[E]=sa-tt}t.modifiersData[r]=R}}const xu={name:"preventOverflow",enabled:!0,phase:"main",fn:wu,requiresIfExists:["offset"]};function Su(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function ku(e){return e===ke(e)||!$e(e)?Rr(e):Su(e)}function Ou(e){var t=e.getBoundingClientRect(),n=St(t.width)/e.offsetWidth||1,r=St(t.height)/e.offsetHeight||1;return n!==1||r!==1}function Au(e,t,n){n===void 0&&(n=!1);var r=$e(t),a=$e(t)&&Ou(t),o=et(t),s=kt(e,a,n),i={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(r||!r&&!n)&&((Ve(t)!=="body"||Mr(o))&&(i=ku(t)),$e(t)?(l=kt(t,!0),l.x+=t.clientLeft,l.y+=t.clientTop):o&&(l.x=Tr(o))),{x:s.left+i.scrollLeft-l.x,y:s.top+i.scrollTop-l.y,width:s.width,height:s.height}}function $u(e){var t=new Map,n=new Set,r=[];e.forEach(function(o){t.set(o.name,o)});function a(o){n.add(o.name);var s=[].concat(o.requires||[],o.requiresIfExists||[]);s.forEach(function(i){if(!n.has(i)){var l=t.get(i);l&&a(l)}}),r.push(o)}return e.forEach(function(o){n.has(o.name)||a(o)}),r}function Eu(e){var t=$u(e);return Ns.reduce(function(n,r){return n.concat(t.filter(function(a){return a.phase===r}))},[])}function Ru(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function Tu(e){var t=e.reduce(function(n,r){var a=n[r.name];return n[r.name]=a?Object.assign({},a,r,{options:Object.assign({},a.options,r.options),data:Object.assign({},a.data,r.data)}):r,n},{});return Object.keys(t).map(function(n){return t[n]})}var Ma={placement:"bottom",modifiers:[],strategy:"absolute"};function Pa(){for(var e=arguments.length,t=new Array(e),n=0;n1?n[a-1]:void 0,s=a>2?n[2]:void 0;for(o=e.length>3&&typeof o=="function"?(a--,o):void 0,s&&Hl(n[0],n[1],s)&&(o=a<3?void 0:o,a=1),t=Object(t);++r=0,o=!n&&a&&(t==="hex"||t==="hex6"||t==="hex3"||t==="hex4"||t==="hex8"||t==="name");return o?t==="name"&&this._a===0?this.toName():this.toRgbString():(t==="rgb"&&(r=this.toRgbString()),t==="prgb"&&(r=this.toPercentageRgbString()),(t==="hex"||t==="hex6")&&(r=this.toHexString()),t==="hex3"&&(r=this.toHexString(!0)),t==="hex4"&&(r=this.toHex8String(!0)),t==="hex8"&&(r=this.toHex8String()),t==="name"&&(r=this.toName()),t==="hsl"&&(r=this.toHslString()),t==="hsv"&&(r=this.toHsvString()),r||this.toHexString())},clone:function(){return S(this.toString())},_applyModification:function(t,n){var r=t.apply(null,[this].concat([].slice.call(n)));return this._r=r._r,this._g=r._g,this._b=r._b,this.setAlpha(r._a),this},lighten:function(){return this._applyModification(ps,arguments)},brighten:function(){return this._applyModification(hs,arguments)},darken:function(){return this._applyModification(gs,arguments)},desaturate:function(){return this._applyModification(cs,arguments)},saturate:function(){return this._applyModification(fs,arguments)},greyscale:function(){return this._applyModification(ds,arguments)},spin:function(){return this._applyModification(vs,arguments)},_applyCombination:function(t,n){return t.apply(null,[this].concat([].slice.call(n)))},analogous:function(){return this._applyCombination(bs,arguments)},complement:function(){return this._applyCombination(ys,arguments)},monochromatic:function(){return this._applyCombination(Cs,arguments)},splitcomplement:function(){return this._applyCombination(ms,arguments)},triad:function(){return this._applyCombination(xa,[3])},tetrad:function(){return this._applyCombination(xa,[4])}};S.fromRatio=function(e,t){if(vn(e)=="object"){var n={};for(var r in e)e.hasOwnProperty(r)&&(r==="a"?n[r]=e[r]:n[r]=zt(e[r]));e=n}return S(e,t)};function os(e){var t={r:0,g:0,b:0},n=1,r=null,a=null,o=null,s=!1,i=!1;return typeof e=="string"&&(e=ks(e)),vn(e)=="object"&&(We(e.r)&&We(e.g)&&We(e.b)?(t=is(e.r,e.g,e.b),s=!0,i=String(e.r).substr(-1)==="%"?"prgb":"rgb"):We(e.h)&&We(e.s)&&We(e.v)?(r=zt(e.s),a=zt(e.v),t=ss(e.h,r,a),s=!0,i="hsv"):We(e.h)&&We(e.s)&&We(e.l)&&(r=zt(e.s),o=zt(e.l),t=ls(e.h,r,o),s=!0,i="hsl"),e.hasOwnProperty("a")&&(n=e.a)),n=No(n),{ok:s,format:e.format||i,r:Math.min(255,Math.max(t.r,0)),g:Math.min(255,Math.max(t.g,0)),b:Math.min(255,Math.max(t.b,0)),a:n}}function is(e,t,n){return{r:Y(e,255)*255,g:Y(t,255)*255,b:Y(n,255)*255}}function ba(e,t,n){e=Y(e,255),t=Y(t,255),n=Y(n,255);var r=Math.max(e,t,n),a=Math.min(e,t,n),o,s,i=(r+a)/2;if(r==a)o=s=0;else{var l=r-a;switch(s=i>.5?l/(2-r-a):l/(r+a),r){case e:o=(t-n)/l+(t1&&(f-=1),f<1/6?c+(u-c)*6*f:f<1/2?u:f<2/3?c+(u-c)*(2/3-f)*6:c}if(t===0)r=a=o=n;else{var i=n<.5?n*(1+t):n+t-n*t,l=2*n-i;r=s(l,i,e+1/3),a=s(l,i,e),o=s(l,i,e-1/3)}return{r:r*255,g:a*255,b:o*255}}function Ca(e,t,n){e=Y(e,255),t=Y(t,255),n=Y(n,255);var r=Math.max(e,t,n),a=Math.min(e,t,n),o,s,i=r,l=r-a;if(s=r===0?0:l/r,r==a)o=0;else{switch(r){case e:o=(t-n)/l+(t>1)+720)%360;--t;)r.h=(r.h+a)%360,o.push(S(r));return o}function Cs(e,t){t=t||6;for(var n=S(e).toHsv(),r=n.h,a=n.s,o=n.v,s=[],i=1/t;t--;)s.push(S({h:r,s:a,v:o})),o=(o+i)%1;return s}S.mix=function(e,t,n){n=n===0?0:n||50;var r=S(e).toRgb(),a=S(t).toRgb(),o=n/100,s={r:(a.r-r.r)*o+r.r,g:(a.g-r.g)*o+r.g,b:(a.b-r.b)*o+r.b,a:(a.a-r.a)*o+r.a};return S(s)};S.readability=function(e,t){var n=S(e),r=S(t);return(Math.max(n.getLuminance(),r.getLuminance())+.05)/(Math.min(n.getLuminance(),r.getLuminance())+.05)};S.isReadable=function(e,t,n){var r=S.readability(e,t),a,o;switch(o=!1,a=Os(n),a.level+a.size){case"AAsmall":case"AAAlarge":o=r>=4.5;break;case"AAlarge":o=r>=3;break;case"AAAsmall":o=r>=7;break}return o};S.mostReadable=function(e,t,n){var r=null,a=0,o,s,i,l;n=n||{},s=n.includeFallbackColors,i=n.level,l=n.size;for(var c=0;ca&&(a=o,r=S(t[c]));return S.isReadable(e,r,{level:i,size:l})||!s?r:(n.includeFallbackColors=!1,S.mostReadable(e,["#fff","#000"],n))};var hr=S.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},_s=S.hexNames=ws(hr);function ws(e){var t={};for(var n in e)e.hasOwnProperty(n)&&(t[e[n]]=n);return t}function No(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function Y(e,t){xs(e)&&(e="100%");var n=Ss(e);return e=Math.min(t,Math.max(0,parseFloat(e))),n&&(e=parseInt(e*t,10)/100),Math.abs(e-t)<1e-6?1:e%t/parseFloat(t)}function Tn(e){return Math.min(1,Math.max(0,e))}function we(e){return parseInt(e,16)}function xs(e){return typeof e=="string"&&e.indexOf(".")!=-1&&parseFloat(e)===1}function Ss(e){return typeof e=="string"&&e.indexOf("%")!=-1}function je(e){return e.length==1?"0"+e:""+e}function zt(e){return e<=1&&(e=e*100+"%"),e}function Vo(e){return Math.round(parseFloat(e)*255).toString(16)}function Sa(e){return we(e)/255}var He=function(){var e="[-\\+]?\\d+%?",t="[-\\+]?\\d*\\.\\d+%?",n="(?:"+t+")|(?:"+e+")",r="[\\s|\\(]+("+n+")[,|\\s]+("+n+")[,|\\s]+("+n+")\\s*\\)?",a="[\\s|\\(]+("+n+")[,|\\s]+("+n+")[,|\\s]+("+n+")[,|\\s]+("+n+")\\s*\\)?";return{CSS_UNIT:new RegExp(n),rgb:new RegExp("rgb"+r),rgba:new RegExp("rgba"+a),hsl:new RegExp("hsl"+r),hsla:new RegExp("hsla"+a),hsv:new RegExp("hsv"+r),hsva:new RegExp("hsva"+a),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();function We(e){return!!He.CSS_UNIT.exec(e)}function ks(e){e=e.replace(rs,"").replace(as,"").toLowerCase();var t=!1;if(hr[e])e=hr[e],t=!0;else if(e=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var n;return(n=He.rgb.exec(e))?{r:n[1],g:n[2],b:n[3]}:(n=He.rgba.exec(e))?{r:n[1],g:n[2],b:n[3],a:n[4]}:(n=He.hsl.exec(e))?{h:n[1],s:n[2],l:n[3]}:(n=He.hsla.exec(e))?{h:n[1],s:n[2],l:n[3],a:n[4]}:(n=He.hsv.exec(e))?{h:n[1],s:n[2],v:n[3]}:(n=He.hsva.exec(e))?{h:n[1],s:n[2],v:n[3],a:n[4]}:(n=He.hex8.exec(e))?{r:we(n[1]),g:we(n[2]),b:we(n[3]),a:Sa(n[4]),format:t?"name":"hex8"}:(n=He.hex6.exec(e))?{r:we(n[1]),g:we(n[2]),b:we(n[3]),format:t?"name":"hex"}:(n=He.hex4.exec(e))?{r:we(n[1]+""+n[1]),g:we(n[2]+""+n[2]),b:we(n[3]+""+n[3]),a:Sa(n[4]+""+n[4]),format:t?"name":"hex8"}:(n=He.hex3.exec(e))?{r:we(n[1]+""+n[1]),g:we(n[2]+""+n[2]),b:we(n[3]+""+n[3]),format:t?"name":"hex"}:!1}function Os(e){var t,n;return e=e||{level:"AA",size:"small"},t=(e.level||"AA").toUpperCase(),n=(e.size||"small").toLowerCase(),t!=="AA"&&t!=="AAA"&&(t="AA"),n!=="small"&&n!=="large"&&(n="small"),{level:t,size:n}}var ft=ft||{};ft.stringify=function(){var e={"visit_linear-gradient":function(t){return e.visit_gradient(t)},"visit_repeating-linear-gradient":function(t){return e.visit_gradient(t)},"visit_radial-gradient":function(t){return e.visit_gradient(t)},"visit_repeating-radial-gradient":function(t){return e.visit_gradient(t)},visit_gradient:function(t){var n=e.visit(t.orientation);return n&&(n+=", "),t.type+"("+n+e.visit(t.colorStops)+")"},visit_shape:function(t){var n=t.value,r=e.visit(t.at),a=e.visit(t.style);return a&&(n+=" "+a),r&&(n+=" at "+r),n},"visit_default-radial":function(t){var n="",r=e.visit(t.at);return r&&(n+=r),n},"visit_extent-keyword":function(t){var n=t.value,r=e.visit(t.at);return r&&(n+=" at "+r),n},"visit_position-keyword":function(t){return t.value},visit_position:function(t){return e.visit(t.value.x)+" "+e.visit(t.value.y)},"visit_%":function(t){return t.value+"%"},visit_em:function(t){return t.value+"em"},visit_px:function(t){return t.value+"px"},visit_literal:function(t){return e.visit_color(t.value,t)},visit_hex:function(t){return e.visit_color("#"+t.value,t)},visit_rgb:function(t){return e.visit_color("rgb("+t.value.join(", ")+")",t)},visit_rgba:function(t){return e.visit_color("rgba("+t.value.join(", ")+")",t)},visit_color:function(t,n){var r=t,a=e.visit(n.length);return a&&(r+=" "+a),r},visit_angular:function(t){return t.value+"deg"},visit_directional:function(t){return"to "+t.value},visit_array:function(t){var n="",r=t.length;return t.forEach(function(a,o){n+=e.visit(a),o0&&n("Invalid input not EOF"),A}function a(){return x(o)}function o(){return s("linear-gradient",e.linearGradient,l)||s("repeating-linear-gradient",e.repeatingLinearGradient,l)||s("radial-gradient",e.radialGradient,f)||s("repeating-radial-gradient",e.repeatingRadialGradient,f)}function s(A,h,_){return i(h,function(j){var K=_();return K&&(F(e.comma)||n("Missing comma before color stops")),{type:A,orientation:K,colorStops:x(O)}})}function i(A,h){var _=F(A);if(_){F(e.startCall)||n("Missing (");var j=h(_);return F(e.endCall)||n("Missing )"),j}}function l(){return c()||u()}function c(){return L("directional",e.sideOrCorner,1)}function u(){return L("angular",e.angleValue,1)}function f(){var A,h=d(),_;return h&&(A=[],A.push(h),_=t,F(e.comma)&&(h=d(),h?A.push(h):t=_)),A}function d(){var A=p()||m();if(A)A.at=y();else{var h=g();if(h){A=h;var _=y();_&&(A.at=_)}else{var j=v();j&&(A={type:"default-radial",at:j})}}return A}function p(){var A=L("shape",/^(circle)/i,0);return A&&(A.style=P()||g()),A}function m(){var A=L("shape",/^(ellipse)/i,0);return A&&(A.style=b()||g()),A}function g(){return L("extent-keyword",e.extentKeywords,1)}function y(){if(L("position",/^at/,0)){var A=v();return A||n("Missing positioning value"),A}}function v(){var A=C();if(A.x||A.y)return{type:"position",value:A}}function C(){return{x:b(),y:b()}}function x(A){var h=A(),_=[];if(h)for(_.push(h);F(e.comma);)h=A(),h?_.push(h):n("One extra comma");return _}function O(){var A=E();return A||n("Expected color definition"),A.length=b(),A}function E(){return T()||N()||V()||$()}function $(){return L("literal",e.literalColor,0)}function T(){return L("hex",e.hexColor,1)}function V(){return i(e.rgbColor,function(){return{type:"rgb",value:x(z)}})}function N(){return i(e.rgbaColor,function(){return{type:"rgba",value:x(z)}})}function z(){return F(e.number)[1]}function b(){return L("%",e.percentageValue,1)||R()||P()}function R(){return L("position-keyword",e.positionKeywords,1)}function P(){return L("px",e.pixelValue,1)||L("em",e.emValue,1)}function L(A,h,_){var j=F(h);if(j)return{type:A,value:j[_]}}function F(A){var h,_;return _=/^[\n\r\t\s]+/.exec(t),_&&ee(_[0].length),h=A.exec(t),h&&ee(h[0].length),h}function ee(A){t=t.substr(A)}return function(A){return t=A.toString(),r()}}();var As=ft.parse,$s=ft.stringify,be="top",Te="bottom",Me="right",Ce="left",Or="auto",tn=[be,Te,Me,Ce],xt="start",Jt="end",Es="clippingParents",Fo="viewport",Nt="popper",Rs="reference",ka=tn.reduce(function(e,t){return e.concat([t+"-"+xt,t+"-"+Jt])},[]),Wo=[].concat(tn,[Or]).reduce(function(e,t){return e.concat([t,t+"-"+xt,t+"-"+Jt])},[]),Ts="beforeRead",Ms="read",Ps="afterRead",Is="beforeMain",Hs="main",js="afterMain",Ls="beforeWrite",Bs="write",Ds="afterWrite",Ns=[Ts,Ms,Ps,Is,Hs,js,Ls,Bs,Ds];function Ve(e){return e?(e.nodeName||"").toLowerCase():null}function ke(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function it(e){var t=ke(e).Element;return e instanceof t||e instanceof Element}function $e(e){var t=ke(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function Ar(e){if(typeof ShadowRoot>"u")return!1;var t=ke(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function Vs(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var r=t.styles[n]||{},a=t.attributes[n]||{},o=t.elements[n];!$e(o)||!Ve(o)||(Object.assign(o.style,r),Object.keys(a).forEach(function(s){var i=a[s];i===!1?o.removeAttribute(s):o.setAttribute(s,i===!0?"":i)}))})}function Fs(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(r){var a=t.elements[r],o=t.attributes[r]||{},s=Object.keys(t.styles.hasOwnProperty(r)?t.styles[r]:n[r]),i=s.reduce(function(l,c){return l[c]="",l},{});!$e(a)||!Ve(a)||(Object.assign(a.style,i),Object.keys(o).forEach(function(l){a.removeAttribute(l)}))})}}const Ws={name:"applyStyles",enabled:!0,phase:"write",fn:Vs,effect:Fs,requires:["computeStyles"]};function De(e){return e.split("-")[0]}var rt=Math.max,yn=Math.min,St=Math.round;function gr(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function zo(){return!/^((?!chrome|android).)*safari/i.test(gr())}function kt(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var r=e.getBoundingClientRect(),a=1,o=1;t&&$e(e)&&(a=e.offsetWidth>0&&St(r.width)/e.offsetWidth||1,o=e.offsetHeight>0&&St(r.height)/e.offsetHeight||1);var s=it(e)?ke(e):window,i=s.visualViewport,l=!zo()&&n,c=(r.left+(l&&i?i.offsetLeft:0))/a,u=(r.top+(l&&i?i.offsetTop:0))/o,f=r.width/a,d=r.height/o;return{width:f,height:d,top:u,right:c+f,bottom:u+d,left:c,x:c,y:u}}function $r(e){var t=kt(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function Uo(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&Ar(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function Ke(e){return ke(e).getComputedStyle(e)}function zs(e){return["table","td","th"].indexOf(Ve(e))>=0}function et(e){return((it(e)?e.ownerDocument:e.document)||window.document).documentElement}function Mn(e){return Ve(e)==="html"?e:e.assignedSlot||e.parentNode||(Ar(e)?e.host:null)||et(e)}function Oa(e){return!$e(e)||Ke(e).position==="fixed"?null:e.offsetParent}function Us(e){var t=/firefox/i.test(gr()),n=/Trident/i.test(gr());if(n&&$e(e)){var r=Ke(e);if(r.position==="fixed")return null}var a=Mn(e);for(Ar(a)&&(a=a.host);$e(a)&&["html","body"].indexOf(Ve(a))<0;){var o=Ke(a);if(o.transform!=="none"||o.perspective!=="none"||o.contain==="paint"||["transform","perspective"].indexOf(o.willChange)!==-1||t&&o.willChange==="filter"||t&&o.filter&&o.filter!=="none")return a;a=a.parentNode}return null}function nn(e){for(var t=ke(e),n=Oa(e);n&&zs(n)&&Ke(n).position==="static";)n=Oa(n);return n&&(Ve(n)==="html"||Ve(n)==="body"&&Ke(n).position==="static")?t:n||Us(e)||t}function Er(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function Gt(e,t,n){return rt(e,yn(t,n))}function Gs(e,t,n){var r=Gt(e,t,n);return r>n?n:r}function Go(){return{top:0,right:0,bottom:0,left:0}}function Ko(e){return Object.assign({},Go(),e)}function qo(e,t){return t.reduce(function(n,r){return n[r]=e,n},{})}var Ks=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,Ko(typeof t!="number"?t:qo(t,tn))};function qs(e){var t,n=e.state,r=e.name,a=e.options,o=n.elements.arrow,s=n.modifiersData.popperOffsets,i=De(n.placement),l=Er(i),c=[Ce,Me].indexOf(i)>=0,u=c?"height":"width";if(!(!o||!s)){var f=Ks(a.padding,n),d=$r(o),p=l==="y"?be:Ce,m=l==="y"?Te:Me,g=n.rects.reference[u]+n.rects.reference[l]-s[l]-n.rects.popper[u],y=s[l]-n.rects.reference[l],v=nn(o),C=v?l==="y"?v.clientHeight||0:v.clientWidth||0:0,x=g/2-y/2,O=f[p],E=C-d[u]-f[m],$=C/2-d[u]/2+x,T=Gt(O,$,E),V=l;n.modifiersData[r]=(t={},t[V]=T,t.centerOffset=T-$,t)}}function Xs(e){var t=e.state,n=e.options,r=n.element,a=r===void 0?"[data-popper-arrow]":r;a!=null&&(typeof a=="string"&&(a=t.elements.popper.querySelector(a),!a)||Uo(t.elements.popper,a)&&(t.elements.arrow=a))}const Ys={name:"arrow",enabled:!0,phase:"main",fn:qs,effect:Xs,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Ot(e){return e.split("-")[1]}var Js={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Zs(e,t){var n=e.x,r=e.y,a=t.devicePixelRatio||1;return{x:St(n*a)/a||0,y:St(r*a)/a||0}}function Aa(e){var t,n=e.popper,r=e.popperRect,a=e.placement,o=e.variation,s=e.offsets,i=e.position,l=e.gpuAcceleration,c=e.adaptive,u=e.roundOffsets,f=e.isFixed,d=s.x,p=d===void 0?0:d,m=s.y,g=m===void 0?0:m,y=typeof u=="function"?u({x:p,y:g}):{x:p,y:g};p=y.x,g=y.y;var v=s.hasOwnProperty("x"),C=s.hasOwnProperty("y"),x=Ce,O=be,E=window;if(c){var $=nn(n),T="clientHeight",V="clientWidth";if($===ke(n)&&($=et(n),Ke($).position!=="static"&&i==="absolute"&&(T="scrollHeight",V="scrollWidth")),$=$,a===be||(a===Ce||a===Me)&&o===Jt){O=Te;var N=f&&$===E&&E.visualViewport?E.visualViewport.height:$[T];g-=N-r.height,g*=l?1:-1}if(a===Ce||(a===be||a===Te)&&o===Jt){x=Me;var z=f&&$===E&&E.visualViewport?E.visualViewport.width:$[V];p-=z-r.width,p*=l?1:-1}}var b=Object.assign({position:i},c&&Js),R=u===!0?Zs({x:p,y:g},ke(n)):{x:p,y:g};if(p=R.x,g=R.y,l){var P;return Object.assign({},b,(P={},P[O]=C?"0":"",P[x]=v?"0":"",P.transform=(E.devicePixelRatio||1)<=1?"translate("+p+"px, "+g+"px)":"translate3d("+p+"px, "+g+"px, 0)",P))}return Object.assign({},b,(t={},t[O]=C?g+"px":"",t[x]=v?p+"px":"",t.transform="",t))}function Qs(e){var t=e.state,n=e.options,r=n.gpuAcceleration,a=r===void 0?!0:r,o=n.adaptive,s=o===void 0?!0:o,i=n.roundOffsets,l=i===void 0?!0:i,c={placement:De(t.placement),variation:Ot(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:a,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,Aa(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:s,roundOffsets:l})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,Aa(Object.assign({},c,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const eu={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Qs,data:{}};var sn={passive:!0};function tu(e){var t=e.state,n=e.instance,r=e.options,a=r.scroll,o=a===void 0?!0:a,s=r.resize,i=s===void 0?!0:s,l=ke(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return o&&c.forEach(function(u){u.addEventListener("scroll",n.update,sn)}),i&&l.addEventListener("resize",n.update,sn),function(){o&&c.forEach(function(u){u.removeEventListener("scroll",n.update,sn)}),i&&l.removeEventListener("resize",n.update,sn)}}const nu={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:tu,data:{}};var ru={left:"right",right:"left",bottom:"top",top:"bottom"};function dn(e){return e.replace(/left|right|bottom|top/g,function(t){return ru[t]})}var au={start:"end",end:"start"};function $a(e){return e.replace(/start|end/g,function(t){return au[t]})}function Rr(e){var t=ke(e),n=t.pageXOffset,r=t.pageYOffset;return{scrollLeft:n,scrollTop:r}}function Tr(e){return kt(et(e)).left+Rr(e).scrollLeft}function ou(e,t){var n=ke(e),r=et(e),a=n.visualViewport,o=r.clientWidth,s=r.clientHeight,i=0,l=0;if(a){o=a.width,s=a.height;var c=zo();(c||!c&&t==="fixed")&&(i=a.offsetLeft,l=a.offsetTop)}return{width:o,height:s,x:i+Tr(e),y:l}}function iu(e){var t,n=et(e),r=Rr(e),a=(t=e.ownerDocument)==null?void 0:t.body,o=rt(n.scrollWidth,n.clientWidth,a?a.scrollWidth:0,a?a.clientWidth:0),s=rt(n.scrollHeight,n.clientHeight,a?a.scrollHeight:0,a?a.clientHeight:0),i=-r.scrollLeft+Tr(e),l=-r.scrollTop;return Ke(a||n).direction==="rtl"&&(i+=rt(n.clientWidth,a?a.clientWidth:0)-o),{width:o,height:s,x:i,y:l}}function Mr(e){var t=Ke(e),n=t.overflow,r=t.overflowX,a=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+a+r)}function Xo(e){return["html","body","#document"].indexOf(Ve(e))>=0?e.ownerDocument.body:$e(e)&&Mr(e)?e:Xo(Mn(e))}function Kt(e,t){var n;t===void 0&&(t=[]);var r=Xo(e),a=r===((n=e.ownerDocument)==null?void 0:n.body),o=ke(r),s=a?[o].concat(o.visualViewport||[],Mr(r)?r:[]):r,i=t.concat(s);return a?i:i.concat(Kt(Mn(s)))}function vr(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function lu(e,t){var n=kt(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function Ea(e,t,n){return t===Fo?vr(ou(e,n)):it(t)?lu(t,n):vr(iu(et(e)))}function su(e){var t=Kt(Mn(e)),n=["absolute","fixed"].indexOf(Ke(e).position)>=0,r=n&&$e(e)?nn(e):e;return it(r)?t.filter(function(a){return it(a)&&Uo(a,r)&&Ve(a)!=="body"}):[]}function uu(e,t,n,r){var a=t==="clippingParents"?su(e):[].concat(t),o=[].concat(a,[n]),s=o[0],i=o.reduce(function(l,c){var u=Ea(e,c,r);return l.top=rt(u.top,l.top),l.right=yn(u.right,l.right),l.bottom=yn(u.bottom,l.bottom),l.left=rt(u.left,l.left),l},Ea(e,s,r));return i.width=i.right-i.left,i.height=i.bottom-i.top,i.x=i.left,i.y=i.top,i}function Yo(e){var t=e.reference,n=e.element,r=e.placement,a=r?De(r):null,o=r?Ot(r):null,s=t.x+t.width/2-n.width/2,i=t.y+t.height/2-n.height/2,l;switch(a){case be:l={x:s,y:t.y-n.height};break;case Te:l={x:s,y:t.y+t.height};break;case Me:l={x:t.x+t.width,y:i};break;case Ce:l={x:t.x-n.width,y:i};break;default:l={x:t.x,y:t.y}}var c=a?Er(a):null;if(c!=null){var u=c==="y"?"height":"width";switch(o){case xt:l[c]=l[c]-(t[u]/2-n[u]/2);break;case Jt:l[c]=l[c]+(t[u]/2-n[u]/2);break}}return l}function Zt(e,t){t===void 0&&(t={});var n=t,r=n.placement,a=r===void 0?e.placement:r,o=n.strategy,s=o===void 0?e.strategy:o,i=n.boundary,l=i===void 0?Es:i,c=n.rootBoundary,u=c===void 0?Fo:c,f=n.elementContext,d=f===void 0?Nt:f,p=n.altBoundary,m=p===void 0?!1:p,g=n.padding,y=g===void 0?0:g,v=Ko(typeof y!="number"?y:qo(y,tn)),C=d===Nt?Rs:Nt,x=e.rects.popper,O=e.elements[m?C:d],E=uu(it(O)?O:O.contextElement||et(e.elements.popper),l,u,s),$=kt(e.elements.reference),T=Yo({reference:$,element:x,strategy:"absolute",placement:a}),V=vr(Object.assign({},x,T)),N=d===Nt?V:$,z={top:E.top-N.top+v.top,bottom:N.bottom-E.bottom+v.bottom,left:E.left-N.left+v.left,right:N.right-E.right+v.right},b=e.modifiersData.offset;if(d===Nt&&b){var R=b[a];Object.keys(z).forEach(function(P){var L=[Me,Te].indexOf(P)>=0?1:-1,F=[be,Te].indexOf(P)>=0?"y":"x";z[P]+=R[F]*L})}return z}function cu(e,t){t===void 0&&(t={});var n=t,r=n.placement,a=n.boundary,o=n.rootBoundary,s=n.padding,i=n.flipVariations,l=n.allowedAutoPlacements,c=l===void 0?Wo:l,u=Ot(r),f=u?i?ka:ka.filter(function(m){return Ot(m)===u}):tn,d=f.filter(function(m){return c.indexOf(m)>=0});d.length===0&&(d=f);var p=d.reduce(function(m,g){return m[g]=Zt(e,{placement:g,boundary:a,rootBoundary:o,padding:s})[De(g)],m},{});return Object.keys(p).sort(function(m,g){return p[m]-p[g]})}function fu(e){if(De(e)===Or)return[];var t=dn(e);return[$a(e),t,$a(t)]}function du(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var a=n.mainAxis,o=a===void 0?!0:a,s=n.altAxis,i=s===void 0?!0:s,l=n.fallbackPlacements,c=n.padding,u=n.boundary,f=n.rootBoundary,d=n.altBoundary,p=n.flipVariations,m=p===void 0?!0:p,g=n.allowedAutoPlacements,y=t.options.placement,v=De(y),C=v===y,x=l||(C||!m?[dn(y)]:fu(y)),O=[y].concat(x).reduce(function(de,_e){return de.concat(De(_e)===Or?cu(t,{placement:_e,boundary:u,rootBoundary:f,padding:c,flipVariations:m,allowedAutoPlacements:g}):_e)},[]),E=t.rects.reference,$=t.rects.popper,T=new Map,V=!0,N=O[0],z=0;z=0,F=L?"width":"height",ee=Zt(t,{placement:b,boundary:u,rootBoundary:f,altBoundary:d,padding:c}),A=L?P?Me:Ce:P?Te:be;E[F]>$[F]&&(A=dn(A));var h=dn(A),_=[];if(o&&_.push(ee[R]<=0),i&&_.push(ee[A]<=0,ee[h]<=0),_.every(function(de){return de})){N=b,V=!1;break}T.set(b,_)}if(V)for(var j=m?3:1,K=function(_e){var Le=O.find(function(gt){var Be=T.get(gt);if(Be)return Be.slice(0,_e).every(function(Lt){return Lt})});if(Le)return N=Le,"break"},fe=j;fe>0;fe--){var Ie=K(fe);if(Ie==="break")break}t.placement!==N&&(t.modifiersData[r]._skip=!0,t.placement=N,t.reset=!0)}}const pu={name:"flip",enabled:!0,phase:"main",fn:du,requiresIfExists:["offset"],data:{_skip:!1}};function Ra(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function Ta(e){return[be,Me,Te,Ce].some(function(t){return e[t]>=0})}function hu(e){var t=e.state,n=e.name,r=t.rects.reference,a=t.rects.popper,o=t.modifiersData.preventOverflow,s=Zt(t,{elementContext:"reference"}),i=Zt(t,{altBoundary:!0}),l=Ra(s,r),c=Ra(i,a,o),u=Ta(l),f=Ta(c);t.modifiersData[n]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:u,hasPopperEscaped:f},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":u,"data-popper-escaped":f})}const gu={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:hu};function vu(e,t,n){var r=De(e),a=[Ce,be].indexOf(r)>=0?-1:1,o=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,s=o[0],i=o[1];return s=s||0,i=(i||0)*a,[Ce,Me].indexOf(r)>=0?{x:i,y:s}:{x:s,y:i}}function yu(e){var t=e.state,n=e.options,r=e.name,a=n.offset,o=a===void 0?[0,0]:a,s=Wo.reduce(function(u,f){return u[f]=vu(f,t.rects,o),u},{}),i=s[t.placement],l=i.x,c=i.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=c),t.modifiersData[r]=s}const mu={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:yu};function bu(e){var t=e.state,n=e.name;t.modifiersData[n]=Yo({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const Cu={name:"popperOffsets",enabled:!0,phase:"read",fn:bu,data:{}};function _u(e){return e==="x"?"y":"x"}function wu(e){var t=e.state,n=e.options,r=e.name,a=n.mainAxis,o=a===void 0?!0:a,s=n.altAxis,i=s===void 0?!1:s,l=n.boundary,c=n.rootBoundary,u=n.altBoundary,f=n.padding,d=n.tether,p=d===void 0?!0:d,m=n.tetherOffset,g=m===void 0?0:m,y=Zt(t,{boundary:l,rootBoundary:c,padding:f,altBoundary:u}),v=De(t.placement),C=Ot(t.placement),x=!C,O=Er(v),E=_u(O),$=t.modifiersData.popperOffsets,T=t.rects.reference,V=t.rects.popper,N=typeof g=="function"?g(Object.assign({},t.rects,{placement:t.placement})):g,z=typeof N=="number"?{mainAxis:N,altAxis:N}:Object.assign({mainAxis:0,altAxis:0},N),b=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,R={x:0,y:0};if($){if(o){var P,L=O==="y"?be:Ce,F=O==="y"?Te:Me,ee=O==="y"?"height":"width",A=$[O],h=A+y[L],_=A-y[F],j=p?-V[ee]/2:0,K=C===xt?T[ee]:V[ee],fe=C===xt?-V[ee]:-T[ee],Ie=t.elements.arrow,de=p&&Ie?$r(Ie):{width:0,height:0},_e=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:Go(),Le=_e[L],gt=_e[F],Be=Gt(0,T[ee],de[ee]),Lt=x?T[ee]/2-j-Be-Le-z.mainAxis:K-Be-Le-z.mainAxis,Dn=x?-T[ee]/2+j+Be+gt+z.mainAxis:fe+Be+gt+z.mainAxis,Bt=t.elements.arrow&&nn(t.elements.arrow),Nn=Bt?O==="y"?Bt.clientTop||0:Bt.clientLeft||0:0,I=(P=b==null?void 0:b[O])!=null?P:0,Dt=A+Lt-I-Nn,ae=A+Dn-I,on=Gt(p?yn(h,Dt):h,A,p?rt(_,ae):_);$[O]=on,R[O]=on-A}if(i){var Fe,Li=O==="x"?be:Ce,Bi=O==="x"?Te:Me,tt=$[E],ln=E==="y"?"height":"width",ra=tt+y[Li],aa=tt-y[Bi],Vn=[be,Ce].indexOf(v)!==-1,oa=(Fe=b==null?void 0:b[E])!=null?Fe:0,ia=Vn?ra:tt-T[ln]-V[ln]-oa+z.altAxis,la=Vn?tt+T[ln]+V[ln]-oa-z.altAxis:aa,sa=p&&Vn?Gs(ia,tt,la):Gt(p?ia:ra,tt,p?la:aa);$[E]=sa,R[E]=sa-tt}t.modifiersData[r]=R}}const xu={name:"preventOverflow",enabled:!0,phase:"main",fn:wu,requiresIfExists:["offset"]};function Su(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function ku(e){return e===ke(e)||!$e(e)?Rr(e):Su(e)}function Ou(e){var t=e.getBoundingClientRect(),n=St(t.width)/e.offsetWidth||1,r=St(t.height)/e.offsetHeight||1;return n!==1||r!==1}function Au(e,t,n){n===void 0&&(n=!1);var r=$e(t),a=$e(t)&&Ou(t),o=et(t),s=kt(e,a,n),i={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(r||!r&&!n)&&((Ve(t)!=="body"||Mr(o))&&(i=ku(t)),$e(t)?(l=kt(t,!0),l.x+=t.clientLeft,l.y+=t.clientTop):o&&(l.x=Tr(o))),{x:s.left+i.scrollLeft-l.x,y:s.top+i.scrollTop-l.y,width:s.width,height:s.height}}function $u(e){var t=new Map,n=new Set,r=[];e.forEach(function(o){t.set(o.name,o)});function a(o){n.add(o.name);var s=[].concat(o.requires||[],o.requiresIfExists||[]);s.forEach(function(i){if(!n.has(i)){var l=t.get(i);l&&a(l)}}),r.push(o)}return e.forEach(function(o){n.has(o.name)||a(o)}),r}function Eu(e){var t=$u(e);return Ns.reduce(function(n,r){return n.concat(t.filter(function(a){return a.phase===r}))},[])}function Ru(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function Tu(e){var t=e.reduce(function(n,r){var a=n[r.name];return n[r.name]=a?Object.assign({},a,r,{options:Object.assign({},a.options,r.options),data:Object.assign({},a.data,r.data)}):r,n},{});return Object.keys(t).map(function(n){return t[n]})}var Ma={placement:"bottom",modifiers:[],strategy:"absolute"};function Pa(){for(var e=arguments.length,t=new Array(e),n=0;n * * Copyright (c) 2014-2017, Jon Schlinkert. diff --git a/vue/dist/assets/TipsCarousel-4f02731b.js b/vue/dist/assets/TipsCarousel-ef6a594c.js similarity index 98% rename from vue/dist/assets/TipsCarousel-4f02731b.js rename to vue/dist/assets/TipsCarousel-ef6a594c.js index 884ae42..1c7bf8c 100644 --- a/vue/dist/assets/TipsCarousel-4f02731b.js +++ b/vue/dist/assets/TipsCarousel-ef6a594c.js @@ -1,3 +1,3 @@ -import{bJ as N,bK as E,bL as q,c as u,A as U,d as R,o as d,j as p,k as _,F as X,K as G,ah as K,C as f,l as g,t as h,E as L,a3 as H,n as z,aq as Q,aC as C,aD as F,r as W,aj as I,X as V,v as Y,bM as Z,m as T,bN as ee,bO as te}from"./index-32743103.js";const ge=N(E),me=N(q);var ne={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M878.3 392.1L631.9 145.7c-6.5-6.5-15-9.7-23.5-9.7s-17 3.2-23.5 9.7L423.8 306.9c-12.2-1.4-24.5-2-36.8-2-73.2 0-146.4 24.1-206.5 72.3-15.4 12.3-16.6 35.4-2.7 49.4l181.7 181.7-215.4 215.2a15.8 15.8 0 00-4.6 9.8l-3.4 37.2c-.9 9.4 6.6 17.4 15.9 17.4.5 0 1 0 1.5-.1l37.2-3.4c3.7-.3 7.2-2 9.8-4.6l215.4-215.4 181.7 181.7c6.5 6.5 15 9.7 23.5 9.7 9.7 0 19.3-4.2 25.9-12.4 56.3-70.3 79.7-158.3 70.2-243.4l161.1-161.1c12.9-12.8 12.9-33.8 0-46.8z"}}]},name:"pushpin",theme:"filled"};const se=ne;function k(i){for(var e=1;e{const n=H;return d(),p("div",null,[_("ul",ae,[(d(!0),p(X,null,G(e.records.getRecords(),s=>(d(),p("li",{key:s.id,class:"record"},[_("div",oe,[K(e.$slots,"default",{record:s},void 0,!0)]),_("div",ce,[u(n,{onClick:o=>e.$emit("reuseRecord",s),type:"primary"},{default:f(()=>[g(h(e.$t("restore")),1)]),_:2},1032,["onClick"]),_("div",{class:"pin",onClick:o=>e.records.switchPin(s)},[u(L(re)),g(" "+h(e.records.isPinned(s)?e.$t("unpin"):e.$t("pin")),1)],8,le)])]))),128))])])}}});const ve=z(ue,[["__scopeId","data-v-834a248f"]]);class m{constructor(e=128,t=[],n=[]){this.maxLength=e,this.records=t,this.pinnedValues=n}isPinned(e){return this.pinnedValues.some(t=>t.id===e.id)}add(e){this.records.length>=this.maxLength&&this.records.pop(),this.records.unshift({...e,id:Q()+Date.now(),time:new Date().toLocaleString()})}pin(e){const t=this.records.findIndex(n=>n.id===e.id);t!==-1&&this.records.splice(t,1),this.pinnedValues.push(e)}unpin(e){const t=this.pinnedValues.findIndex(n=>n.id===e.id);t!==-1&&this.pinnedValues.splice(t,1),this.records.unshift(e)}switchPin(e){this.isPinned(e)?this.unpin(e):this.pin(e)}getRecords(){return[...this.pinnedValues,...this.records]}getPinnedValues(){return this.pinnedValues}}const ye=C(`${F}fuzzy-search-HistoryRecord`,new m,{serializer:{read:i=>{const e=JSON.parse(i);return new m(e.maxLength,e.records,e.pinnedValues)},write:JSON.stringify}}),be=C(`${F}tag-search-HistoryRecord`,new m,{serializer:{read:i=>{const e=JSON.parse(i);return new m(e.maxLength,e.records,e.pinnedValues)},write:JSON.stringify}}),de={key:0,class:"tips-carousel"},pe={class:"tip-text"},_e={key:0,class:"tip-actions"},he=R({__name:"TipsCarousel",props:{interval:{type:Number,default:1e4}},setup(i){const e=i,t=C("iib-dismissed-tips-v2",{}),n=W(0);let s=null;const o=I(()=>{var v;const r=[];for(let a=1;a<=10;a++){const l=`loadingTip${a}`,y=V(l);if(!y||typeof y!="string")continue;const $=y.split("|"),b=$[0],M=((v=$[1])==null?void 0:v.trim())||"info",S=` +import{bJ as N,bK as E,bL as q,c as u,A as U,d as R,o as d,j as p,k as _,F as X,K as G,ah as K,C as f,l as g,t as h,E as L,a3 as H,n as z,aq as Q,aC as C,aD as F,r as W,aj as I,X as V,v as Y,bM as Z,m as T,bN as ee,bO as te}from"./index-f2db319b.js";const ge=N(E),me=N(q);var ne={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M878.3 392.1L631.9 145.7c-6.5-6.5-15-9.7-23.5-9.7s-17 3.2-23.5 9.7L423.8 306.9c-12.2-1.4-24.5-2-36.8-2-73.2 0-146.4 24.1-206.5 72.3-15.4 12.3-16.6 35.4-2.7 49.4l181.7 181.7-215.4 215.2a15.8 15.8 0 00-4.6 9.8l-3.4 37.2c-.9 9.4 6.6 17.4 15.9 17.4.5 0 1 0 1.5-.1l37.2-3.4c3.7-.3 7.2-2 9.8-4.6l215.4-215.4 181.7 181.7c6.5 6.5 15 9.7 23.5 9.7 9.7 0 19.3-4.2 25.9-12.4 56.3-70.3 79.7-158.3 70.2-243.4l161.1-161.1c12.9-12.8 12.9-33.8 0-46.8z"}}]},name:"pushpin",theme:"filled"};const se=ne;function k(i){for(var e=1;e{const n=H;return d(),p("div",null,[_("ul",ae,[(d(!0),p(X,null,G(e.records.getRecords(),s=>(d(),p("li",{key:s.id,class:"record"},[_("div",oe,[K(e.$slots,"default",{record:s},void 0,!0)]),_("div",ce,[u(n,{onClick:o=>e.$emit("reuseRecord",s),type:"primary"},{default:f(()=>[g(h(e.$t("restore")),1)]),_:2},1032,["onClick"]),_("div",{class:"pin",onClick:o=>e.records.switchPin(s)},[u(L(re)),g(" "+h(e.records.isPinned(s)?e.$t("unpin"):e.$t("pin")),1)],8,le)])]))),128))])])}}});const ve=z(ue,[["__scopeId","data-v-834a248f"]]);class m{constructor(e=128,t=[],n=[]){this.maxLength=e,this.records=t,this.pinnedValues=n}isPinned(e){return this.pinnedValues.some(t=>t.id===e.id)}add(e){this.records.length>=this.maxLength&&this.records.pop(),this.records.unshift({...e,id:Q()+Date.now(),time:new Date().toLocaleString()})}pin(e){const t=this.records.findIndex(n=>n.id===e.id);t!==-1&&this.records.splice(t,1),this.pinnedValues.push(e)}unpin(e){const t=this.pinnedValues.findIndex(n=>n.id===e.id);t!==-1&&this.pinnedValues.splice(t,1),this.records.unshift(e)}switchPin(e){this.isPinned(e)?this.unpin(e):this.pin(e)}getRecords(){return[...this.pinnedValues,...this.records]}getPinnedValues(){return this.pinnedValues}}const ye=C(`${F}fuzzy-search-HistoryRecord`,new m,{serializer:{read:i=>{const e=JSON.parse(i);return new m(e.maxLength,e.records,e.pinnedValues)},write:JSON.stringify}}),be=C(`${F}tag-search-HistoryRecord`,new m,{serializer:{read:i=>{const e=JSON.parse(i);return new m(e.maxLength,e.records,e.pinnedValues)},write:JSON.stringify}}),de={key:0,class:"tips-carousel"},pe={class:"tip-text"},_e={key:0,class:"tip-actions"},he=R({__name:"TipsCarousel",props:{interval:{type:Number,default:1e4}},setup(i){const e=i,t=C("iib-dismissed-tips-v2",{}),n=W(0);let s=null;const o=I(()=>{var v;const r=[];for(let a=1;a<=10;a++){const l=`loadingTip${a}`,y=V(l);if(!y||typeof y!="string")continue;const $=y.split("|"),b=$[0],M=((v=$[1])==null?void 0:v.trim())||"info",S=` `,w=b.indexOf(S);if(w===-1)continue;const x=b.substring(0,w).trim(),A=b.substring(w+S.length).trim(),O={title:x,content:A,type:M};O.type==="warning"&&t.value[x]||r.push(O)}for(let a=r.length-1;a>0;a--){const l=Math.floor(Math.random()*(a+1));[r[a],r[l]]=[r[l],r[a]]}return r}),c=I(()=>{const r=o.value;return r.length===0?{title:"",content:"",type:"info"}:r[n.value%r.length]}),j=r=>{switch(r){case"warning":return"warning";case"info":return"blue";case"tip":return"green";default:return"default"}},B=()=>{c.value.type==="warning"&&(t.value={...t.value,[c.value.title]:!0})},D=()=>{s&&clearInterval(s),s=setInterval(()=>{o.value.length>1&&(n.value=(n.value+1)%o.value.length)},e.interval)},J=()=>{s&&(clearInterval(s),s=null)};return Y(()=>{D()}),Z(()=>{J()}),(r,v)=>{const a=te,l=H;return o.value.length>0?(d(),p("div",de,[u(ee,{name:"tip-fade",mode:"out-in"},{default:f(()=>[(d(),p("div",{key:n.value,class:"tip-content"},[u(a,{color:j(c.value.type),class:"tip-tag"},{default:f(()=>[g(h(c.value.title),1)]),_:1},8,["color"]),_("span",pe,h(c.value.content),1),c.value.type==="warning"?(d(),p("div",_e,[u(l,{size:"small",type:"link",onClick:B},{default:f(()=>[g(h(L(V)("dontShowAgain")),1)]),_:1})])):T("",!0)]))]),_:1})])):T("",!0)}}});const we=z(he,[["__scopeId","data-v-3b5692ee"]]);export{ve as H,we as T,me as _,ge as a,ye as f,be as t}; diff --git a/vue/dist/assets/TopicSearch-05f7b29c.js b/vue/dist/assets/TopicSearch-3f42ac1b.js similarity index 99% rename from vue/dist/assets/TopicSearch-05f7b29c.js rename to vue/dist/assets/TopicSearch-3f42ac1b.js index 8f649b3..f6821dc 100644 --- a/vue/dist/assets/TopicSearch-05f7b29c.js +++ b/vue/dist/assets/TopicSearch-3f42ac1b.js @@ -1,4 +1,4 @@ -import{d as LA,r as Kt,aj as Rr,X as Ut,s as gs,x as Dh,v as IA,bM as zk,o as te,j as Ce,c as Ht,k as Mt,t as Vt,E as ve,C as le,l as ze,bC as PA,B as Ka,bP as Vk,bQ as Gk,m as fr,W as Jr,bR as Fk,a8 as RA,av as kA,bO as EA,bS as Hk,a0 as OA,a2 as NA,bT as BA,a3 as zA,aw as VA,ax as GA,bU as Wk,n as FA,p as $k,aC as H_,bV as Uk,T as Yk,F as W_,K as Zk,bW as Xk,bX as qk,bY as Kk,bt as jk,bZ as Jk,b_ as Qk,aq as Ro,b$ as tE,a6 as eE,Z as rE,c0 as aE}from"./index-32743103.js";/* empty css *//* empty css *//*! ***************************************************************************** +import{d as LA,r as Kt,aj as Rr,X as Ut,s as gs,x as Dh,v as IA,bM as zk,o as te,j as Ce,c as Ht,k as Mt,t as Vt,E as ve,C as le,l as ze,bC as PA,B as Ka,bP as Vk,bQ as Gk,m as fr,W as Jr,bR as Fk,a8 as RA,av as kA,bO as EA,bS as Hk,a0 as OA,a2 as NA,bT as BA,a3 as zA,aw as VA,ax as GA,bU as Wk,n as FA,p as $k,aC as H_,bV as Uk,T as Yk,F as W_,K as Zk,bW as Xk,bX as qk,bY as Kk,bt as jk,bZ as Jk,b_ as Qk,aq as Ro,b$ as tE,a6 as eE,Z as rE,c0 as aE}from"./index-f2db319b.js";/* empty css *//* empty css *//*! ***************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any diff --git a/vue/dist/assets/_isIterateeCall-16c5cf9c.js b/vue/dist/assets/_isIterateeCall-dd643bcf.js similarity index 68% rename from vue/dist/assets/_isIterateeCall-16c5cf9c.js rename to vue/dist/assets/_isIterateeCall-dd643bcf.js index b6653d3..de2305e 100644 --- a/vue/dist/assets/_isIterateeCall-16c5cf9c.js +++ b/vue/dist/assets/_isIterateeCall-dd643bcf.js @@ -1 +1 @@ -import{b2 as i,aO as t,dJ as f,aS as n}from"./index-32743103.js";function u(e,a,r){if(!i(r))return!1;var s=typeof a;return(s=="number"?t(r)&&f(a,r.length):s=="string"&&a in r)?n(r[a],e):!1}export{u as i}; +import{b2 as i,aO as t,dK as f,aS as n}from"./index-f2db319b.js";function u(e,a,r){if(!i(r))return!1;var s=typeof a;return(s=="number"?t(r)&&f(a,r.length):s=="string"&&a in r)?n(r[a],e):!1}export{u as i}; diff --git a/vue/dist/assets/batchDownload-e250ee26.js b/vue/dist/assets/batchDownload-4953de76.js similarity index 90% rename from vue/dist/assets/batchDownload-e250ee26.js rename to vue/dist/assets/batchDownload-4953de76.js index 325e549..aab620d 100644 --- a/vue/dist/assets/batchDownload-e250ee26.js +++ b/vue/dist/assets/batchDownload-4953de76.js @@ -1 +1 @@ -import{d as z,p as B,c2 as $,bp as S,o as _,j as w,k as f,c as l,C as d,l as p,t as c,E as s,B as A,U as E,c3 as R,c4 as y,W as x,X as T,a3 as U,a6 as V,n as N}from"./index-32743103.js";import{F as j,s as L}from"./FileItem-aa47825a.js";import{u as H,b as O,j as W}from"./index-c80754a2.js";import"./index-e1a70e12.js";import"./shortcut-3129f75b.js";import"./_isIterateeCall-16c5cf9c.js";const q={class:"actions-panel actions"},G={class:"item"},P={key:0,class:"file-list"},Q={class:"hint"},X=z({__name:"batchDownload",props:{tabIdx:{},paneIdx:{},id:{}},setup(J){const{stackViewEl:b}=H().toRefs(),{itemSize:h,gridItems:D,cellWidth:g}=O(),i=B(),m=W(),{selectdFiles:a}=$(m),r=S(),v=async e=>{const t=R(e);t&&m.addFiles(t.nodes)},C=async()=>{r.pushAction(async()=>{const e=await y.value.post("/zip",{paths:a.value.map(u=>u.fullpath),compress:i.batchDownloadCompress,pack_only:!1},{responseType:"blob"}),t=window.URL.createObjectURL(new Blob([e.data])),o=document.createElement("a");o.href=t,o.setAttribute("download",`iib_${new Date().toLocaleString()}.zip`),document.body.appendChild(o),o.click()})},I=async()=>{r.pushAction(async()=>{await y.value.post("/zip",{paths:a.value.map(e=>e.fullpath),compress:i.batchDownloadCompress,pack_only:!0},{responseType:"blob"}),x.success(T("success"))})},F=e=>{a.value.splice(e,1)};return(e,t)=>{const o=U,u=V;return _(),w("div",{class:"container",ref_key:"stackViewEl",ref:b,onDrop:v},[f("div",q,[l(o,{onClick:t[0]||(t[0]=n=>s(m).selectdFiles=[])},{default:d(()=>[p(c(e.$t("clear")),1)]),_:1}),f("div",G,[p(c(e.$t("compressFile"))+": ",1),l(u,{checked:s(i).batchDownloadCompress,"onUpdate:checked":t[1]||(t[1]=n=>s(i).batchDownloadCompress=n)},null,8,["checked"])]),l(o,{onClick:I,type:"primary",loading:!s(r).isIdle},{default:d(()=>[p(c(e.$t("packOnlyNotDownload")),1)]),_:1},8,["loading"]),l(o,{onClick:C,type:"primary",loading:!s(r).isIdle},{default:d(()=>[p(c(e.$t("zipDownload")),1)]),_:1},8,["loading"])]),s(a).length?(_(),A(s(L),{key:1,ref:"scroller",class:"file-list",items:s(a).slice(),"item-size":s(h).first,"key-field":"fullpath","item-secondary-size":s(h).second,gridItems:s(D)},{default:d(({item:n,index:k})=>[l(j,{idx:k,file:n,"cell-width":s(g),"enable-close-icon":"",onCloseIconClick:K=>F(k),"full-screen-preview-image-url":s(E)(n),"enable-right-click-menu":!1},null,8,["idx","file","cell-width","onCloseIconClick","full-screen-preview-image-url"])]),_:1},8,["items","item-size","item-secondary-size","gridItems"])):(_(),w("div",P,[f("p",Q,c(e.$t("batchDownloaDDragAndDropHint")),1)]))],544)}}});const oe=N(X,[["__scopeId","data-v-a2642a17"]]);export{oe as default}; +import{d as z,p as B,c2 as $,bp as S,o as _,j as w,k as f,c as l,C as d,l as p,t as c,E as s,B as A,U as E,c3 as R,c4 as y,W as x,X as T,a3 as U,a6 as V,n as N}from"./index-f2db319b.js";import{F as j,s as L}from"./FileItem-72718f68.js";import{u as H,b as O,j as W}from"./index-0d856f16.js";import"./index-29e38a15.js";import"./shortcut-869fab50.js";import"./_isIterateeCall-dd643bcf.js";const q={class:"actions-panel actions"},G={class:"item"},P={key:0,class:"file-list"},Q={class:"hint"},X=z({__name:"batchDownload",props:{tabIdx:{},paneIdx:{},id:{}},setup(J){const{stackViewEl:b}=H().toRefs(),{itemSize:h,gridItems:D,cellWidth:g}=O(),i=B(),m=W(),{selectdFiles:a}=$(m),r=S(),v=async e=>{const t=R(e);t&&m.addFiles(t.nodes)},C=async()=>{r.pushAction(async()=>{const e=await y.value.post("/zip",{paths:a.value.map(u=>u.fullpath),compress:i.batchDownloadCompress,pack_only:!1},{responseType:"blob"}),t=window.URL.createObjectURL(new Blob([e.data])),o=document.createElement("a");o.href=t,o.setAttribute("download",`iib_${new Date().toLocaleString()}.zip`),document.body.appendChild(o),o.click()})},I=async()=>{r.pushAction(async()=>{await y.value.post("/zip",{paths:a.value.map(e=>e.fullpath),compress:i.batchDownloadCompress,pack_only:!0},{responseType:"blob"}),x.success(T("success"))})},F=e=>{a.value.splice(e,1)};return(e,t)=>{const o=U,u=V;return _(),w("div",{class:"container",ref_key:"stackViewEl",ref:b,onDrop:v},[f("div",q,[l(o,{onClick:t[0]||(t[0]=n=>s(m).selectdFiles=[])},{default:d(()=>[p(c(e.$t("clear")),1)]),_:1}),f("div",G,[p(c(e.$t("compressFile"))+": ",1),l(u,{checked:s(i).batchDownloadCompress,"onUpdate:checked":t[1]||(t[1]=n=>s(i).batchDownloadCompress=n)},null,8,["checked"])]),l(o,{onClick:I,type:"primary",loading:!s(r).isIdle},{default:d(()=>[p(c(e.$t("packOnlyNotDownload")),1)]),_:1},8,["loading"]),l(o,{onClick:C,type:"primary",loading:!s(r).isIdle},{default:d(()=>[p(c(e.$t("zipDownload")),1)]),_:1},8,["loading"])]),s(a).length?(_(),A(s(L),{key:1,ref:"scroller",class:"file-list",items:s(a).slice(),"item-size":s(h).first,"key-field":"fullpath","item-secondary-size":s(h).second,gridItems:s(D)},{default:d(({item:n,index:k})=>[l(j,{idx:k,file:n,"cell-width":s(g),"enable-close-icon":"",onCloseIconClick:K=>F(k),"full-screen-preview-image-url":s(E)(n),"enable-right-click-menu":!1},null,8,["idx","file","cell-width","onCloseIconClick","full-screen-preview-image-url"])]),_:1},8,["items","item-size","item-secondary-size","gridItems"])):(_(),w("div",P,[f("p",Q,c(e.$t("batchDownloaDDragAndDropHint")),1)]))],544)}}});const oe=N(X,[["__scopeId","data-v-a2642a17"]]);export{oe as default}; diff --git a/vue/dist/assets/emptyStartup-35a5d062.js b/vue/dist/assets/emptyStartup-3c6ca91e.js similarity index 99% rename from vue/dist/assets/emptyStartup-35a5d062.js rename to vue/dist/assets/emptyStartup-3c6ca91e.js index f21c864..6577469 100644 --- a/vue/dist/assets/emptyStartup-35a5d062.js +++ b/vue/dist/assets/emptyStartup-3c6ca91e.js @@ -1,3 +1,3 @@ -import{c as T,A as Z,p as Ye,r as C,Z as Q,X as f,$ as O,T as le,a3 as pe,a2 as er,a9 as rr,aa as ee,W as V,ab as Dr,ac as Lr,ad as X,ae as Ir,af as jr,ag as $r,d as sr,o as E,B as J,C as w,l as G,t as d,ah as xr,a4 as qr,M as Hr,ai as zr,aj as H,ak as Vr,al as Br,am as Mr,an as Wr,v as Nr,ao as Kr,j as b,k as a,E as u,V as Se,m as A,G as F,H as Jr,ap as Ae,F as U,K as j,aq as ne,ar as Qr,as as Re,at as Xr,au as Zr,a6 as Yr,av as es,aw as rs,ax as ss,n as os}from"./index-32743103.js";import{D as ts}from"./index-e1a70e12.js";var ns={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M688 312v-48c0-4.4-3.6-8-8-8H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8zm-392 88c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H296zm376 116c-119.3 0-216 96.7-216 216s96.7 216 216 216 216-96.7 216-216-96.7-216-216-216zm107.5 323.5C750.8 868.2 712.6 884 672 884s-78.8-15.8-107.5-44.5C535.8 810.8 520 772.6 520 732s15.8-78.8 44.5-107.5C593.2 595.8 631.4 580 672 580s78.8 15.8 107.5 44.5C808.2 653.2 824 691.4 824 732s-15.8 78.8-44.5 107.5zM761 656h-44.3c-2.6 0-5 1.2-6.5 3.3l-63.5 87.8-23.1-31.9a7.92 7.92 0 00-6.5-3.3H573c-6.5 0-10.3 7.4-6.5 12.7l73.8 102.1c3.2 4.4 9.7 4.4 12.9 0l114.2-158c3.9-5.3.1-12.7-6.4-12.7zM440 852H208V148h560v344c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V108c0-17.7-14.3-32-32-32H168c-17.7 0-32 14.3-32 32v784c0 17.7 14.3 32 32 32h272c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z"}}]},name:"file-done",theme:"outlined"};const is=ns;function Fe(e){for(var r=1;r{const s=Ye(),o=C(r??""),t=C(e),i=async()=>{const n=await $r({directory:!0,defaultPath:r});if(typeof n=="string")o.value=n;else return};o.value=await new Promise(n=>{Q.confirm({title:f("inputTargetFolderPath"),width:"800px",content:()=>{var l;return O("div",[(l=s.conf)!=null&&l.enable_access_control?O("a",{style:{"word-break":"break-all","margin-bottom":"4px",display:"block"},target:"_blank",href:"https://github.com/zanllp/sd-webui-infinite-image-browsing/issues/518"},"Please open this link first (Access Control mode only)"):"",le?O(pe,{onClick:i,style:{margin:"4px 0"}},f("selectFolder")):"",O(er,{value:o.value,"onUpdate:value":g=>o.value=g}),O("div",[O("span",f("type")+": "),O(rr,{value:t.value,"onUpdate:value":g=>t.value=g,buttonStyle:"solid",style:{margin:"16px 0 32px"}},[O(ee,{value:"walk"},"Walk"),O(ee,{value:"scanned"},"Normal"),O(ee,{value:"scanned-fixed"},"Fixed")])]),O("p","Walk: "+f("walkModeDoc")),O("p","Normal: "+f("normalModelDoc")),O("p","Fixed: "+f("fixedModeDoc"))])},async onOk(){if(!o.value)throw V.error(f("pathIsEmpty")),new Error("pathIsEmpty");(await Dr([o.value]))[o.value]?n(o.value):V.error(f("pathDoesNotExist"))}})}),Q.confirm({content:f("confirmToAddToExtraPath"),async onOk(){await Lr({types:[t.value],path:o.value}),V.success(f("addCompleted")),X.emit("searchIndexExpired"),X.emit("updateGlobalSetting")}})},$e=(e,r)=>{Q.confirm({content:f("confirmDelete"),closable:!0,async onOk(){await Ir({types:[r],path:e}),V.success(f("removeCompleted")),X.emit("searchIndexExpired"),X.emit("updateGlobalSetting")}})},xe=e=>{const r=C("");Q.confirm({title:f("inputAlias"),content:()=>O("div",[O("div",{style:{"word-break":"break-all","margin-bottom":"4px"}},"Path: "+e),O(er,{value:r.value,"onUpdate:value":s=>r.value=s})]),async onOk(){await jr({alias:r.value,path:e}),V.success(f("addAliasCompleted")),X.emit("updateGlobalSetting")}})},qe=sr({__name:"actionContextMenu",emits:["openOnTheRight","openInNewTab"],setup(e,{emit:r}){const s=o=>{switch(o.key.toString()){case"openOnTheRight":r("openOnTheRight");break;case"openInNewTab":r("openInNewTab");break}};return(o,t)=>{const i=qr,n=Hr,l=ts;return E(),J(l,{trigger:["contextmenu"]},{overlay:w(()=>[T(n,{onClick:s},{default:w(()=>[T(i,{key:"openOnTheRight"},{default:w(()=>[G(d(o.$t("openOnTheRight")),1)]),_:1}),T(i,{key:"openInNewTab"},{default:w(()=>[G(d(o.$t("openInNewTab")),1)]),_:1})]),_:1})]),default:w(()=>[xr(o.$slots,"default")]),_:3})}}});function se(){return typeof navigator=="object"&&"userAgent"in navigator?navigator.userAgent:typeof process=="object"&&process.version!==void 0?`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`:""}var oe={exports:{}},ks=or;function or(e,r,s,o){if(typeof s!="function")throw new Error("method for before hook must be a function");return o||(o={}),Array.isArray(r)?r.reverse().reduce(function(t,i){return or.bind(null,e,i,t,o)},s)():Promise.resolve().then(function(){return e.registry[r]?e.registry[r].reduce(function(t,i){return i.hook.bind(null,t,o)},s)():s(o)})}var ys=Ps;function Ps(e,r,s,o){var t=o;e.registry[s]||(e.registry[s]=[]),r==="before"&&(o=function(i,n){return Promise.resolve().then(t.bind(null,n)).then(i.bind(null,n))}),r==="after"&&(o=function(i,n){var l;return Promise.resolve().then(i.bind(null,n)).then(function(g){return l=g,t(l,n)}).then(function(){return l})}),r==="error"&&(o=function(i,n){return Promise.resolve().then(i.bind(null,n)).catch(function(l){return t(l,n)})}),e.registry[s].push({hook:o,orig:t})}var Gs=Os;function Os(e,r,s){if(e.registry[r]){var o=e.registry[r].map(function(t){return t.orig}).indexOf(s);o!==-1&&e.registry[r].splice(o,1)}}var tr=ks,Ss=ys,As=Gs,He=Function.bind,ze=He.bind(He);function nr(e,r,s){var o=ze(As,null).apply(null,s?[r,s]:[r]);e.api={remove:o},e.remove=o,["before","error","after","wrap"].forEach(function(t){var i=s?[r,t,s]:[r,t];e[t]=e.api[t]=ze(Ss,null).apply(null,i)})}function Rs(){var e="h",r={registry:{}},s=tr.bind(null,r,e);return nr(s,r,e),s}function ir(){var e={registry:{}},r=tr.bind(null,e);return nr(r,e),r}var Ve=!1;function M(){return Ve||(console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4'),Ve=!0),ir()}M.Singular=Rs.bind();M.Collection=ir.bind();oe.exports=M;oe.exports.Hook=M;oe.exports.Singular=M.Singular;var Fs=oe.exports.Collection=M.Collection,Us="9.0.5",Cs=`octokit-endpoint.js/${Us} ${se()}`,Ds={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":Cs},mediaType:{format:""}};function Ls(e){return e?Object.keys(e).reduce((r,s)=>(r[s.toLowerCase()]=e[s],r),{}):{}}function Is(e){if(typeof e!="object"||e===null||Object.prototype.toString.call(e)!=="[object Object]")return!1;const r=Object.getPrototypeOf(e);if(r===null)return!0;const s=Object.prototype.hasOwnProperty.call(r,"constructor")&&r.constructor;return typeof s=="function"&&s instanceof s&&Function.prototype.call(s)===Function.prototype.call(e)}function ar(e,r){const s=Object.assign({},e);return Object.keys(r).forEach(o=>{Is(r[o])?o in e?s[o]=ar(e[o],r[o]):Object.assign(s,{[o]:r[o]}):Object.assign(s,{[o]:r[o]})}),s}function Be(e){for(const r in e)e[r]===void 0&&delete e[r];return e}function ue(e,r,s){var t;if(typeof r=="string"){let[i,n]=r.split(" ");s=Object.assign(n?{method:i,url:n}:{url:i},s)}else s=Object.assign({},r);s.headers=Ls(s.headers),Be(s),Be(s.headers);const o=ar(e||{},s);return s.url==="/graphql"&&(e&&((t=e.mediaType.previews)!=null&&t.length)&&(o.mediaType.previews=e.mediaType.previews.filter(i=>!o.mediaType.previews.includes(i)).concat(o.mediaType.previews)),o.mediaType.previews=(o.mediaType.previews||[]).map(i=>i.replace(/-preview/,""))),o}function js(e,r){const s=/\?/.test(e)?"&":"?",o=Object.keys(r);return o.length===0?e:e+s+o.map(t=>t==="q"?"q="+r.q.split("+").map(encodeURIComponent).join("+"):`${t}=${encodeURIComponent(r[t])}`).join("&")}var $s=/\{[^}]+\}/g;function xs(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function qs(e){const r=e.match($s);return r?r.map(xs).reduce((s,o)=>s.concat(o),[]):[]}function Me(e,r){const s={__proto__:null};for(const o of Object.keys(e))r.indexOf(o)===-1&&(s[o]=e[o]);return s}function cr(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map(function(r){return/%[0-9A-Fa-f]/.test(r)||(r=encodeURI(r).replace(/%5B/g,"[").replace(/%5D/g,"]")),r}).join("")}function z(e){return encodeURIComponent(e).replace(/[!'()*]/g,function(r){return"%"+r.charCodeAt(0).toString(16).toUpperCase()})}function N(e,r,s){return r=e==="+"||e==="#"?cr(r):z(r),s?z(s)+"="+r:r}function $(e){return e!=null}function ae(e){return e===";"||e==="&"||e==="?"}function Hs(e,r,s,o){var t=e[s],i=[];if($(t)&&t!=="")if(typeof t=="string"||typeof t=="number"||typeof t=="boolean")t=t.toString(),o&&o!=="*"&&(t=t.substring(0,parseInt(o,10))),i.push(N(r,t,ae(r)?s:""));else if(o==="*")Array.isArray(t)?t.filter($).forEach(function(n){i.push(N(r,n,ae(r)?s:""))}):Object.keys(t).forEach(function(n){$(t[n])&&i.push(N(r,t[n],n))});else{const n=[];Array.isArray(t)?t.filter($).forEach(function(l){n.push(N(r,l))}):Object.keys(t).forEach(function(l){$(t[l])&&(n.push(z(l)),n.push(N(r,t[l].toString())))}),ae(r)?i.push(z(s)+"="+n.join(",")):n.length!==0&&i.push(n.join(","))}else r===";"?$(t)&&i.push(z(s)):t===""&&(r==="&"||r==="?")?i.push(z(s)+"="):t===""&&i.push("");return i}function zs(e){return{expand:Vs.bind(null,e)}}function Vs(e,r){var s=["+","#",".","/",";","?","&"];return e=e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,function(o,t,i){if(t){let l="";const g=[];if(s.indexOf(t.charAt(0))!==-1&&(l=t.charAt(0),t=t.substr(1)),t.split(/,/g).forEach(function(_){var v=/([^:\*]*)(?::(\d+)|(\*))?/.exec(_);g.push(Hs(r,l,v[1],v[2]||v[3]))}),l&&l!=="+"){var n=",";return l==="?"?n="&":l!=="#"&&(n=l),(g.length!==0?l:"")+g.join(n)}else return g.join(",")}else return cr(i)}),e==="/"?e:e.replace(/\/$/,"")}function lr(e){var v;let r=e.method.toUpperCase(),s=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}"),o=Object.assign({},e.headers),t,i=Me(e,["method","baseUrl","url","headers","request","mediaType"]);const n=qs(s);s=zs(s).expand(i),/^http/.test(s)||(s=e.baseUrl+s);const l=Object.keys(e).filter(h=>n.includes(h)).concat("baseUrl"),g=Me(i,l);if(!/application\/octet-stream/i.test(o.accept)&&(e.mediaType.format&&(o.accept=o.accept.split(/,/).map(h=>h.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`)).join(",")),s.endsWith("/graphql")&&(v=e.mediaType.previews)!=null&&v.length)){const h=o.accept.match(/[\w-]+(?=-preview)/g)||[];o.accept=h.concat(e.mediaType.previews).map(k=>{const D=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${k}-preview${D}`}).join(",")}return["GET","HEAD"].includes(r)?s=js(s,g):"data"in g?t=g.data:Object.keys(g).length&&(t=g),!o["content-type"]&&typeof t<"u"&&(o["content-type"]="application/json; charset=utf-8"),["PATCH","PUT"].includes(r)&&typeof t>"u"&&(t=""),Object.assign({method:r,url:s,headers:o},typeof t<"u"?{body:t}:null,e.request?{request:e.request}:null)}function Bs(e,r,s){return lr(ue(e,r,s))}function pr(e,r){const s=ue(e,r),o=Bs.bind(null,s);return Object.assign(o,{DEFAULTS:s,defaults:pr.bind(null,s),merge:ue.bind(null,s),parse:lr})}var Ms=pr(null,Ds);class We extends Error{constructor(r){super(r),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),this.name="Deprecation"}}var we={exports:{}},Ws=ur;function ur(e,r){if(e&&r)return ur(e)(r);if(typeof e!="function")throw new TypeError("need wrapper function");return Object.keys(e).forEach(function(o){s[o]=e[o]}),s;function s(){for(var o=new Array(arguments.length),t=0;tconsole.warn(e)),Js=mr(e=>console.warn(e)),K=class extends Error{constructor(e,r,s){super(e),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),this.name="HttpError",this.status=r;let o;"headers"in s&&typeof s.headers<"u"&&(o=s.headers),"response"in s&&(this.response=s.response,o=s.response.headers);const t=Object.assign({},s.request);s.request.headers.authorization&&(t.headers=Object.assign({},s.request.headers,{authorization:s.request.headers.authorization.replace(/ .*$/," [REDACTED]")})),t.url=t.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]"),this.request=t,Object.defineProperty(this,"code",{get(){return Ks(new We("[@octokit/request-error] `error.code` is deprecated, use `error.status`.")),r}}),Object.defineProperty(this,"headers",{get(){return Js(new We("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.")),o||{}}})}},Qs="8.4.0";function Xs(e){if(typeof e!="object"||e===null||Object.prototype.toString.call(e)!=="[object Object]")return!1;const r=Object.getPrototypeOf(e);if(r===null)return!0;const s=Object.prototype.hasOwnProperty.call(r,"constructor")&&r.constructor;return typeof s=="function"&&s instanceof s&&Function.prototype.call(s)===Function.prototype.call(e)}function Zs(e){return e.arrayBuffer()}function Ne(e){var l,g,_,v;const r=e.request&&e.request.log?e.request.log:console,s=((l=e.request)==null?void 0:l.parseSuccessResponseBody)!==!1;(Xs(e.body)||Array.isArray(e.body))&&(e.body=JSON.stringify(e.body));let o={},t,i,{fetch:n}=globalThis;if((g=e.request)!=null&&g.fetch&&(n=e.request.fetch),!n)throw new Error("fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing");return n(e.url,{method:e.method,body:e.body,redirect:(_=e.request)==null?void 0:_.redirect,headers:e.headers,signal:(v=e.request)==null?void 0:v.signal,...e.body&&{duplex:"half"}}).then(async h=>{i=h.url,t=h.status;for(const k of h.headers)o[k[0]]=k[1];if("deprecation"in o){const k=o.link&&o.link.match(/<([^>]+)>; rel="deprecation"/),D=k&&k.pop();r.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${o.sunset}${D?`. See ${D}`:""}`)}if(!(t===204||t===205)){if(e.method==="HEAD"){if(t<400)return;throw new K(h.statusText,t,{response:{url:i,status:t,headers:o,data:void 0},request:e})}if(t===304)throw new K("Not modified",t,{response:{url:i,status:t,headers:o,data:await ce(h)},request:e});if(t>=400){const k=await ce(h);throw new K(Ys(k),t,{response:{url:i,status:t,headers:o,data:k},request:e})}return s?await ce(h):h.body}}).then(h=>({status:t,url:i,headers:o,data:h})).catch(h=>{if(h instanceof K)throw h;if(h.name==="AbortError")throw h;let k=h.message;throw h.name==="TypeError"&&"cause"in h&&(h.cause instanceof Error?k=h.cause.message:typeof h.cause=="string"&&(k=h.cause)),new K(k,500,{request:e})})}async function ce(e){const r=e.headers.get("content-type");return/application\/json/.test(r)?e.json().catch(()=>e.text()).catch(()=>""):!r||/^text\/|charset=utf-8$/.test(r)?e.text():Zs(e)}function Ys(e){if(typeof e=="string")return e;let r;return"documentation_url"in e?r=` - ${e.documentation_url}`:r="","message"in e?Array.isArray(e.errors)?`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}${r}`:`${e.message}${r}`:`Unknown error: ${JSON.stringify(e)}`}function de(e,r){const s=e.defaults(r);return Object.assign(function(t,i){const n=s.merge(t,i);if(!n.request||!n.request.hook)return Ne(s.parse(n));const l=(g,_)=>Ne(s.parse(s.merge(g,_)));return Object.assign(l,{endpoint:s,defaults:de.bind(null,s)}),n.request.hook(l,n)},{endpoint:s,defaults:de.bind(null,s)})}var ge=de(Ms,{headers:{"user-agent":`octokit-request.js/${Qs} ${se()}`}}),eo="7.1.0";function ro(e){return`Request failed due to following response errors: +import{c as T,A as Z,p as Ye,r as C,Z as Q,X as f,$ as O,T as le,a3 as pe,a2 as er,a9 as rr,aa as ee,W as V,ab as Dr,ac as Lr,ad as X,ae as Ir,af as jr,ag as $r,d as sr,o as E,B as J,C as w,l as G,t as d,ah as xr,a4 as qr,M as Hr,ai as zr,aj as H,ak as Vr,al as Br,am as Mr,an as Wr,v as Nr,ao as Kr,j as b,k as a,E as u,V as Se,m as A,G as F,H as Jr,ap as Ae,F as U,K as j,aq as ne,ar as Qr,as as Re,at as Xr,au as Zr,a6 as Yr,av as es,aw as rs,ax as ss,n as os}from"./index-f2db319b.js";import{D as ts}from"./index-29e38a15.js";var ns={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M688 312v-48c0-4.4-3.6-8-8-8H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8zm-392 88c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H296zm376 116c-119.3 0-216 96.7-216 216s96.7 216 216 216 216-96.7 216-216-96.7-216-216-216zm107.5 323.5C750.8 868.2 712.6 884 672 884s-78.8-15.8-107.5-44.5C535.8 810.8 520 772.6 520 732s15.8-78.8 44.5-107.5C593.2 595.8 631.4 580 672 580s78.8 15.8 107.5 44.5C808.2 653.2 824 691.4 824 732s-15.8 78.8-44.5 107.5zM761 656h-44.3c-2.6 0-5 1.2-6.5 3.3l-63.5 87.8-23.1-31.9a7.92 7.92 0 00-6.5-3.3H573c-6.5 0-10.3 7.4-6.5 12.7l73.8 102.1c3.2 4.4 9.7 4.4 12.9 0l114.2-158c3.9-5.3.1-12.7-6.4-12.7zM440 852H208V148h560v344c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V108c0-17.7-14.3-32-32-32H168c-17.7 0-32 14.3-32 32v784c0 17.7 14.3 32 32 32h272c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z"}}]},name:"file-done",theme:"outlined"};const is=ns;function Fe(e){for(var r=1;r{const s=Ye(),o=C(r??""),t=C(e),i=async()=>{const n=await $r({directory:!0,defaultPath:r});if(typeof n=="string")o.value=n;else return};o.value=await new Promise(n=>{Q.confirm({title:f("inputTargetFolderPath"),width:"800px",content:()=>{var l;return O("div",[(l=s.conf)!=null&&l.enable_access_control?O("a",{style:{"word-break":"break-all","margin-bottom":"4px",display:"block"},target:"_blank",href:"https://github.com/zanllp/sd-webui-infinite-image-browsing/issues/518"},"Please open this link first (Access Control mode only)"):"",le?O(pe,{onClick:i,style:{margin:"4px 0"}},f("selectFolder")):"",O(er,{value:o.value,"onUpdate:value":g=>o.value=g}),O("div",[O("span",f("type")+": "),O(rr,{value:t.value,"onUpdate:value":g=>t.value=g,buttonStyle:"solid",style:{margin:"16px 0 32px"}},[O(ee,{value:"walk"},"Walk"),O(ee,{value:"scanned"},"Normal"),O(ee,{value:"scanned-fixed"},"Fixed")])]),O("p","Walk: "+f("walkModeDoc")),O("p","Normal: "+f("normalModelDoc")),O("p","Fixed: "+f("fixedModeDoc"))])},async onOk(){if(!o.value)throw V.error(f("pathIsEmpty")),new Error("pathIsEmpty");(await Dr([o.value]))[o.value]?n(o.value):V.error(f("pathDoesNotExist"))}})}),Q.confirm({content:f("confirmToAddToExtraPath"),async onOk(){await Lr({types:[t.value],path:o.value}),V.success(f("addCompleted")),X.emit("searchIndexExpired"),X.emit("updateGlobalSetting")}})},$e=(e,r)=>{Q.confirm({content:f("confirmDelete"),closable:!0,async onOk(){await Ir({types:[r],path:e}),V.success(f("removeCompleted")),X.emit("searchIndexExpired"),X.emit("updateGlobalSetting")}})},xe=e=>{const r=C("");Q.confirm({title:f("inputAlias"),content:()=>O("div",[O("div",{style:{"word-break":"break-all","margin-bottom":"4px"}},"Path: "+e),O(er,{value:r.value,"onUpdate:value":s=>r.value=s})]),async onOk(){await jr({alias:r.value,path:e}),V.success(f("addAliasCompleted")),X.emit("updateGlobalSetting")}})},qe=sr({__name:"actionContextMenu",emits:["openOnTheRight","openInNewTab"],setup(e,{emit:r}){const s=o=>{switch(o.key.toString()){case"openOnTheRight":r("openOnTheRight");break;case"openInNewTab":r("openInNewTab");break}};return(o,t)=>{const i=qr,n=Hr,l=ts;return E(),J(l,{trigger:["contextmenu"]},{overlay:w(()=>[T(n,{onClick:s},{default:w(()=>[T(i,{key:"openOnTheRight"},{default:w(()=>[G(d(o.$t("openOnTheRight")),1)]),_:1}),T(i,{key:"openInNewTab"},{default:w(()=>[G(d(o.$t("openInNewTab")),1)]),_:1})]),_:1})]),default:w(()=>[xr(o.$slots,"default")]),_:3})}}});function se(){return typeof navigator=="object"&&"userAgent"in navigator?navigator.userAgent:typeof process=="object"&&process.version!==void 0?`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`:""}var oe={exports:{}},ks=or;function or(e,r,s,o){if(typeof s!="function")throw new Error("method for before hook must be a function");return o||(o={}),Array.isArray(r)?r.reverse().reduce(function(t,i){return or.bind(null,e,i,t,o)},s)():Promise.resolve().then(function(){return e.registry[r]?e.registry[r].reduce(function(t,i){return i.hook.bind(null,t,o)},s)():s(o)})}var ys=Ps;function Ps(e,r,s,o){var t=o;e.registry[s]||(e.registry[s]=[]),r==="before"&&(o=function(i,n){return Promise.resolve().then(t.bind(null,n)).then(i.bind(null,n))}),r==="after"&&(o=function(i,n){var l;return Promise.resolve().then(i.bind(null,n)).then(function(g){return l=g,t(l,n)}).then(function(){return l})}),r==="error"&&(o=function(i,n){return Promise.resolve().then(i.bind(null,n)).catch(function(l){return t(l,n)})}),e.registry[s].push({hook:o,orig:t})}var Gs=Os;function Os(e,r,s){if(e.registry[r]){var o=e.registry[r].map(function(t){return t.orig}).indexOf(s);o!==-1&&e.registry[r].splice(o,1)}}var tr=ks,Ss=ys,As=Gs,He=Function.bind,ze=He.bind(He);function nr(e,r,s){var o=ze(As,null).apply(null,s?[r,s]:[r]);e.api={remove:o},e.remove=o,["before","error","after","wrap"].forEach(function(t){var i=s?[r,t,s]:[r,t];e[t]=e.api[t]=ze(Ss,null).apply(null,i)})}function Rs(){var e="h",r={registry:{}},s=tr.bind(null,r,e);return nr(s,r,e),s}function ir(){var e={registry:{}},r=tr.bind(null,e);return nr(r,e),r}var Ve=!1;function M(){return Ve||(console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4'),Ve=!0),ir()}M.Singular=Rs.bind();M.Collection=ir.bind();oe.exports=M;oe.exports.Hook=M;oe.exports.Singular=M.Singular;var Fs=oe.exports.Collection=M.Collection,Us="9.0.5",Cs=`octokit-endpoint.js/${Us} ${se()}`,Ds={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":Cs},mediaType:{format:""}};function Ls(e){return e?Object.keys(e).reduce((r,s)=>(r[s.toLowerCase()]=e[s],r),{}):{}}function Is(e){if(typeof e!="object"||e===null||Object.prototype.toString.call(e)!=="[object Object]")return!1;const r=Object.getPrototypeOf(e);if(r===null)return!0;const s=Object.prototype.hasOwnProperty.call(r,"constructor")&&r.constructor;return typeof s=="function"&&s instanceof s&&Function.prototype.call(s)===Function.prototype.call(e)}function ar(e,r){const s=Object.assign({},e);return Object.keys(r).forEach(o=>{Is(r[o])?o in e?s[o]=ar(e[o],r[o]):Object.assign(s,{[o]:r[o]}):Object.assign(s,{[o]:r[o]})}),s}function Be(e){for(const r in e)e[r]===void 0&&delete e[r];return e}function ue(e,r,s){var t;if(typeof r=="string"){let[i,n]=r.split(" ");s=Object.assign(n?{method:i,url:n}:{url:i},s)}else s=Object.assign({},r);s.headers=Ls(s.headers),Be(s),Be(s.headers);const o=ar(e||{},s);return s.url==="/graphql"&&(e&&((t=e.mediaType.previews)!=null&&t.length)&&(o.mediaType.previews=e.mediaType.previews.filter(i=>!o.mediaType.previews.includes(i)).concat(o.mediaType.previews)),o.mediaType.previews=(o.mediaType.previews||[]).map(i=>i.replace(/-preview/,""))),o}function js(e,r){const s=/\?/.test(e)?"&":"?",o=Object.keys(r);return o.length===0?e:e+s+o.map(t=>t==="q"?"q="+r.q.split("+").map(encodeURIComponent).join("+"):`${t}=${encodeURIComponent(r[t])}`).join("&")}var $s=/\{[^}]+\}/g;function xs(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function qs(e){const r=e.match($s);return r?r.map(xs).reduce((s,o)=>s.concat(o),[]):[]}function Me(e,r){const s={__proto__:null};for(const o of Object.keys(e))r.indexOf(o)===-1&&(s[o]=e[o]);return s}function cr(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map(function(r){return/%[0-9A-Fa-f]/.test(r)||(r=encodeURI(r).replace(/%5B/g,"[").replace(/%5D/g,"]")),r}).join("")}function z(e){return encodeURIComponent(e).replace(/[!'()*]/g,function(r){return"%"+r.charCodeAt(0).toString(16).toUpperCase()})}function N(e,r,s){return r=e==="+"||e==="#"?cr(r):z(r),s?z(s)+"="+r:r}function $(e){return e!=null}function ae(e){return e===";"||e==="&"||e==="?"}function Hs(e,r,s,o){var t=e[s],i=[];if($(t)&&t!=="")if(typeof t=="string"||typeof t=="number"||typeof t=="boolean")t=t.toString(),o&&o!=="*"&&(t=t.substring(0,parseInt(o,10))),i.push(N(r,t,ae(r)?s:""));else if(o==="*")Array.isArray(t)?t.filter($).forEach(function(n){i.push(N(r,n,ae(r)?s:""))}):Object.keys(t).forEach(function(n){$(t[n])&&i.push(N(r,t[n],n))});else{const n=[];Array.isArray(t)?t.filter($).forEach(function(l){n.push(N(r,l))}):Object.keys(t).forEach(function(l){$(t[l])&&(n.push(z(l)),n.push(N(r,t[l].toString())))}),ae(r)?i.push(z(s)+"="+n.join(",")):n.length!==0&&i.push(n.join(","))}else r===";"?$(t)&&i.push(z(s)):t===""&&(r==="&"||r==="?")?i.push(z(s)+"="):t===""&&i.push("");return i}function zs(e){return{expand:Vs.bind(null,e)}}function Vs(e,r){var s=["+","#",".","/",";","?","&"];return e=e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,function(o,t,i){if(t){let l="";const g=[];if(s.indexOf(t.charAt(0))!==-1&&(l=t.charAt(0),t=t.substr(1)),t.split(/,/g).forEach(function(_){var v=/([^:\*]*)(?::(\d+)|(\*))?/.exec(_);g.push(Hs(r,l,v[1],v[2]||v[3]))}),l&&l!=="+"){var n=",";return l==="?"?n="&":l!=="#"&&(n=l),(g.length!==0?l:"")+g.join(n)}else return g.join(",")}else return cr(i)}),e==="/"?e:e.replace(/\/$/,"")}function lr(e){var v;let r=e.method.toUpperCase(),s=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}"),o=Object.assign({},e.headers),t,i=Me(e,["method","baseUrl","url","headers","request","mediaType"]);const n=qs(s);s=zs(s).expand(i),/^http/.test(s)||(s=e.baseUrl+s);const l=Object.keys(e).filter(h=>n.includes(h)).concat("baseUrl"),g=Me(i,l);if(!/application\/octet-stream/i.test(o.accept)&&(e.mediaType.format&&(o.accept=o.accept.split(/,/).map(h=>h.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`)).join(",")),s.endsWith("/graphql")&&(v=e.mediaType.previews)!=null&&v.length)){const h=o.accept.match(/[\w-]+(?=-preview)/g)||[];o.accept=h.concat(e.mediaType.previews).map(k=>{const D=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${k}-preview${D}`}).join(",")}return["GET","HEAD"].includes(r)?s=js(s,g):"data"in g?t=g.data:Object.keys(g).length&&(t=g),!o["content-type"]&&typeof t<"u"&&(o["content-type"]="application/json; charset=utf-8"),["PATCH","PUT"].includes(r)&&typeof t>"u"&&(t=""),Object.assign({method:r,url:s,headers:o},typeof t<"u"?{body:t}:null,e.request?{request:e.request}:null)}function Bs(e,r,s){return lr(ue(e,r,s))}function pr(e,r){const s=ue(e,r),o=Bs.bind(null,s);return Object.assign(o,{DEFAULTS:s,defaults:pr.bind(null,s),merge:ue.bind(null,s),parse:lr})}var Ms=pr(null,Ds);class We extends Error{constructor(r){super(r),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),this.name="Deprecation"}}var we={exports:{}},Ws=ur;function ur(e,r){if(e&&r)return ur(e)(r);if(typeof e!="function")throw new TypeError("need wrapper function");return Object.keys(e).forEach(function(o){s[o]=e[o]}),s;function s(){for(var o=new Array(arguments.length),t=0;tconsole.warn(e)),Js=mr(e=>console.warn(e)),K=class extends Error{constructor(e,r,s){super(e),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),this.name="HttpError",this.status=r;let o;"headers"in s&&typeof s.headers<"u"&&(o=s.headers),"response"in s&&(this.response=s.response,o=s.response.headers);const t=Object.assign({},s.request);s.request.headers.authorization&&(t.headers=Object.assign({},s.request.headers,{authorization:s.request.headers.authorization.replace(/ .*$/," [REDACTED]")})),t.url=t.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]"),this.request=t,Object.defineProperty(this,"code",{get(){return Ks(new We("[@octokit/request-error] `error.code` is deprecated, use `error.status`.")),r}}),Object.defineProperty(this,"headers",{get(){return Js(new We("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.")),o||{}}})}},Qs="8.4.0";function Xs(e){if(typeof e!="object"||e===null||Object.prototype.toString.call(e)!=="[object Object]")return!1;const r=Object.getPrototypeOf(e);if(r===null)return!0;const s=Object.prototype.hasOwnProperty.call(r,"constructor")&&r.constructor;return typeof s=="function"&&s instanceof s&&Function.prototype.call(s)===Function.prototype.call(e)}function Zs(e){return e.arrayBuffer()}function Ne(e){var l,g,_,v;const r=e.request&&e.request.log?e.request.log:console,s=((l=e.request)==null?void 0:l.parseSuccessResponseBody)!==!1;(Xs(e.body)||Array.isArray(e.body))&&(e.body=JSON.stringify(e.body));let o={},t,i,{fetch:n}=globalThis;if((g=e.request)!=null&&g.fetch&&(n=e.request.fetch),!n)throw new Error("fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing");return n(e.url,{method:e.method,body:e.body,redirect:(_=e.request)==null?void 0:_.redirect,headers:e.headers,signal:(v=e.request)==null?void 0:v.signal,...e.body&&{duplex:"half"}}).then(async h=>{i=h.url,t=h.status;for(const k of h.headers)o[k[0]]=k[1];if("deprecation"in o){const k=o.link&&o.link.match(/<([^>]+)>; rel="deprecation"/),D=k&&k.pop();r.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${o.sunset}${D?`. See ${D}`:""}`)}if(!(t===204||t===205)){if(e.method==="HEAD"){if(t<400)return;throw new K(h.statusText,t,{response:{url:i,status:t,headers:o,data:void 0},request:e})}if(t===304)throw new K("Not modified",t,{response:{url:i,status:t,headers:o,data:await ce(h)},request:e});if(t>=400){const k=await ce(h);throw new K(Ys(k),t,{response:{url:i,status:t,headers:o,data:k},request:e})}return s?await ce(h):h.body}}).then(h=>({status:t,url:i,headers:o,data:h})).catch(h=>{if(h instanceof K)throw h;if(h.name==="AbortError")throw h;let k=h.message;throw h.name==="TypeError"&&"cause"in h&&(h.cause instanceof Error?k=h.cause.message:typeof h.cause=="string"&&(k=h.cause)),new K(k,500,{request:e})})}async function ce(e){const r=e.headers.get("content-type");return/application\/json/.test(r)?e.json().catch(()=>e.text()).catch(()=>""):!r||/^text\/|charset=utf-8$/.test(r)?e.text():Zs(e)}function Ys(e){if(typeof e=="string")return e;let r;return"documentation_url"in e?r=` - ${e.documentation_url}`:r="","message"in e?Array.isArray(e.errors)?`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}${r}`:`${e.message}${r}`:`Unknown error: ${JSON.stringify(e)}`}function de(e,r){const s=e.defaults(r);return Object.assign(function(t,i){const n=s.merge(t,i);if(!n.request||!n.request.hook)return Ne(s.parse(n));const l=(g,_)=>Ne(s.parse(s.merge(g,_)));return Object.assign(l,{endpoint:s,defaults:de.bind(null,s)}),n.request.hook(l,n)},{endpoint:s,defaults:de.bind(null,s)})}var ge=de(Ms,{headers:{"user-agent":`octokit-request.js/${Qs} ${se()}`}}),eo="7.1.0";function ro(e){return`Request failed due to following response errors: `+e.errors.map(r=>` - ${r.message}`).join(` `)}var so=class extends Error{constructor(e,r,s){super(ro(s)),this.request=e,this.headers=r,this.response=s,this.name="GraphqlResponseError",this.errors=s.errors,this.data=s.data,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},oo=["method","baseUrl","url","headers","request","query","mediaType"],to=["query","method","url"],Ke=/\/api\/v3\/?$/;function no(e,r,s){if(s){if(typeof r=="string"&&"query"in s)return Promise.reject(new Error('[@octokit/graphql] "query" cannot be used as variable name'));for(const n in s)if(to.includes(n))return Promise.reject(new Error(`[@octokit/graphql] "${n}" cannot be used as variable name`))}const o=typeof r=="string"?Object.assign({query:r},s):r,t=Object.keys(o).reduce((n,l)=>oo.includes(l)?(n[l]=o[l],n):(n.variables||(n.variables={}),n.variables[l]=o[l],n),{}),i=o.baseUrl||e.endpoint.DEFAULTS.baseUrl;return Ke.test(i)&&(t.url=i.replace(Ke,"/api/graphql")),e(t).then(n=>{if(n.data.errors){const l={};for(const g of Object.keys(n.headers))l[g]=n.headers[g];throw new so(t,l,n.data)}return n.data.data})}function fe(e,r){const s=e.defaults(r);return Object.assign((t,i)=>no(s,t,i),{defaults:fe.bind(null,s),endpoint:s.endpoint})}fe(ge,{headers:{"user-agent":`octokit-graphql.js/${eo} ${se()}`},method:"POST",url:"/graphql"});function io(e){return fe(e,{method:"POST",url:"/graphql"})}var ao=/^v1\./,co=/^ghs_/,lo=/^ghu_/;async function po(e){const r=e.split(/\./).length===3,s=ao.test(e)||co.test(e),o=lo.test(e);return{type:"token",token:e,tokenType:r?"app":s?"installation":o?"user-to-server":"oauth"}}function uo(e){return e.split(/\./).length===3?`bearer ${e}`:`token ${e}`}async function go(e,r,s,o){const t=r.endpoint.merge(s,o);return t.headers.authorization=uo(e),r(t)}var mo=function(r){if(!r)throw new Error("[@octokit/auth-token] No token passed to createTokenAuth");if(typeof r!="string")throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string");return r=r.replace(/^(token|bearer) +/i,""),Object.assign(po.bind(null,r),{hook:go.bind(null,r)})},hr="5.2.0",Je=()=>{},ho=console.warn.bind(console),To=console.error.bind(console),Qe=`octokit-core.js/${hr} ${se()}`,B,Eo=(B=class{static defaults(r){return class extends this{constructor(...o){const t=o[0]||{};if(typeof r=="function"){super(r(t));return}super(Object.assign({},r,t,t.userAgent&&r.userAgent?{userAgent:`${t.userAgent} ${r.userAgent}`}:null))}}}static plugin(...r){var t;const s=this.plugins;return t=class extends this{},(()=>{t.plugins=s.concat(r.filter(n=>!s.includes(n)))})(),t}constructor(r={}){const s=new Fs,o={baseUrl:ge.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},r.request,{hook:s.bind(null,"request")}),mediaType:{previews:[],format:""}};if(o.headers["user-agent"]=r.userAgent?`${r.userAgent} ${Qe}`:Qe,r.baseUrl&&(o.baseUrl=r.baseUrl),r.previews&&(o.mediaType.previews=r.previews),r.timeZone&&(o.headers["time-zone"]=r.timeZone),this.request=ge.defaults(o),this.graphql=io(this.request).defaults(o),this.log=Object.assign({debug:Je,info:Je,warn:ho,error:To},r.log),this.hook=s,r.authStrategy){const{authStrategy:i,...n}=r,l=i(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:n},r.auth));s.wrap("request",l.hook),this.auth=l}else if(!r.auth)this.auth=async()=>({type:"unauthenticated"});else{const i=mo(r.auth);s.wrap("request",i.hook),this.auth=i}const t=this.constructor;for(let i=0;i{B.VERSION=hr})(),(()=>{B.plugins=[]})(),B),_o="4.0.1";function Tr(e){e.hook.wrap("request",(r,s)=>{e.log.debug("request",s);const o=Date.now(),t=e.request.endpoint.parse(s),i=t.url.replace(s.baseUrl,"");return r(s).then(n=>(e.log.info(`${t.method} ${i} - ${n.status} in ${Date.now()-o}ms`),n)).catch(n=>{throw e.log.info(`${t.method} ${i} - ${n.status} in ${Date.now()-o}ms`),n})})}Tr.VERSION=_o;var bo="11.3.1";function wo(e){if(!e.data)return{...e,data:[]};if(!("total_count"in e.data&&!("url"in e.data)))return e;const s=e.data.incomplete_results,o=e.data.repository_selection,t=e.data.total_count;delete e.data.incomplete_results,delete e.data.repository_selection,delete e.data.total_count;const i=Object.keys(e.data)[0],n=e.data[i];return e.data=n,typeof s<"u"&&(e.data.incomplete_results=s),typeof o<"u"&&(e.data.repository_selection=o),e.data.total_count=t,e}function ve(e,r,s){const o=typeof r=="function"?r.endpoint(s):e.request.endpoint(r,s),t=typeof r=="function"?r:e.request,i=o.method,n=o.headers;let l=o.url;return{[Symbol.asyncIterator]:()=>({async next(){if(!l)return{done:!0};try{const g=await t({method:i,url:l,headers:n}),_=wo(g);return l=((_.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1],{value:_}}catch(g){if(g.status!==409)throw g;return l="",{value:{status:200,headers:{},data:[]}}}}})}}function Er(e,r,s,o){return typeof s=="function"&&(o=s,s=void 0),_r(e,[],ve(e,r,s)[Symbol.asyncIterator](),o)}function _r(e,r,s,o){return s.next().then(t=>{if(t.done)return r;let i=!1;function n(){i=!0}return r=r.concat(o?o(t.value,n):t.value.data),i?r:_r(e,r,s,o)})}Object.assign(Er,{iterator:ve});function br(e){return{paginate:Object.assign(Er.bind(null,e),{iterator:ve.bind(null,e)})}}br.VERSION=bo;var fo="13.2.2",vo={actions:{addCustomLabelsToSelfHostedRunnerForOrg:["POST /orgs/{org}/actions/runners/{runner_id}/labels"],addCustomLabelsToSelfHostedRunnerForRepo:["POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],addSelectedRepoToOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"],addSelectedRepoToOrgVariable:["PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"],approveWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve"],cancelWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"],createEnvironmentVariable:["POST /repos/{owner}/{repo}/environments/{environment_name}/variables"],createOrUpdateEnvironmentSecret:["PUT /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"],createOrUpdateOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}"],createOrUpdateRepoSecret:["PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}"],createOrgVariable:["POST /orgs/{org}/actions/variables"],createRegistrationTokenForOrg:["POST /orgs/{org}/actions/runners/registration-token"],createRegistrationTokenForRepo:["POST /repos/{owner}/{repo}/actions/runners/registration-token"],createRemoveTokenForOrg:["POST /orgs/{org}/actions/runners/remove-token"],createRemoveTokenForRepo:["POST /repos/{owner}/{repo}/actions/runners/remove-token"],createRepoVariable:["POST /repos/{owner}/{repo}/actions/variables"],createWorkflowDispatch:["POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches"],deleteActionsCacheById:["DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}"],deleteActionsCacheByKey:["DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}"],deleteArtifact:["DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"],deleteEnvironmentSecret:["DELETE /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"],deleteEnvironmentVariable:["DELETE /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"],deleteOrgSecret:["DELETE /orgs/{org}/actions/secrets/{secret_name}"],deleteOrgVariable:["DELETE /orgs/{org}/actions/variables/{name}"],deleteRepoSecret:["DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}"],deleteRepoVariable:["DELETE /repos/{owner}/{repo}/actions/variables/{name}"],deleteSelfHostedRunnerFromOrg:["DELETE /orgs/{org}/actions/runners/{runner_id}"],deleteSelfHostedRunnerFromRepo:["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}"],deleteWorkflowRun:["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"],deleteWorkflowRunLogs:["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs"],disableSelectedRepositoryGithubActionsOrganization:["DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}"],disableWorkflow:["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable"],downloadArtifact:["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}"],downloadJobLogsForWorkflowRun:["GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs"],downloadWorkflowRunAttemptLogs:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs"],downloadWorkflowRunLogs:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs"],enableSelectedRepositoryGithubActionsOrganization:["PUT /orgs/{org}/actions/permissions/repositories/{repository_id}"],enableWorkflow:["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable"],forceCancelWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel"],generateRunnerJitconfigForOrg:["POST /orgs/{org}/actions/runners/generate-jitconfig"],generateRunnerJitconfigForRepo:["POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig"],getActionsCacheList:["GET /repos/{owner}/{repo}/actions/caches"],getActionsCacheUsage:["GET /repos/{owner}/{repo}/actions/cache/usage"],getActionsCacheUsageByRepoForOrg:["GET /orgs/{org}/actions/cache/usage-by-repository"],getActionsCacheUsageForOrg:["GET /orgs/{org}/actions/cache/usage"],getAllowedActionsOrganization:["GET /orgs/{org}/actions/permissions/selected-actions"],getAllowedActionsRepository:["GET /repos/{owner}/{repo}/actions/permissions/selected-actions"],getArtifact:["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"],getCustomOidcSubClaimForRepo:["GET /repos/{owner}/{repo}/actions/oidc/customization/sub"],getEnvironmentPublicKey:["GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/public-key"],getEnvironmentSecret:["GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"],getEnvironmentVariable:["GET /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"],getGithubActionsDefaultWorkflowPermissionsOrganization:["GET /orgs/{org}/actions/permissions/workflow"],getGithubActionsDefaultWorkflowPermissionsRepository:["GET /repos/{owner}/{repo}/actions/permissions/workflow"],getGithubActionsPermissionsOrganization:["GET /orgs/{org}/actions/permissions"],getGithubActionsPermissionsRepository:["GET /repos/{owner}/{repo}/actions/permissions"],getJobForWorkflowRun:["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"],getOrgPublicKey:["GET /orgs/{org}/actions/secrets/public-key"],getOrgSecret:["GET /orgs/{org}/actions/secrets/{secret_name}"],getOrgVariable:["GET /orgs/{org}/actions/variables/{name}"],getPendingDeploymentsForRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"],getRepoPermissions:["GET /repos/{owner}/{repo}/actions/permissions",{},{renamed:["actions","getGithubActionsPermissionsRepository"]}],getRepoPublicKey:["GET /repos/{owner}/{repo}/actions/secrets/public-key"],getRepoSecret:["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"],getRepoVariable:["GET /repos/{owner}/{repo}/actions/variables/{name}"],getReviewsForRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals"],getSelfHostedRunnerForOrg:["GET /orgs/{org}/actions/runners/{runner_id}"],getSelfHostedRunnerForRepo:["GET /repos/{owner}/{repo}/actions/runners/{runner_id}"],getWorkflow:["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"],getWorkflowAccessToRepository:["GET /repos/{owner}/{repo}/actions/permissions/access"],getWorkflowRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}"],getWorkflowRunAttempt:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}"],getWorkflowRunUsage:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing"],getWorkflowUsage:["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing"],listArtifactsForRepo:["GET /repos/{owner}/{repo}/actions/artifacts"],listEnvironmentSecrets:["GET /repos/{owner}/{repo}/environments/{environment_name}/secrets"],listEnvironmentVariables:["GET /repos/{owner}/{repo}/environments/{environment_name}/variables"],listJobsForWorkflowRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"],listJobsForWorkflowRunAttempt:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs"],listLabelsForSelfHostedRunnerForOrg:["GET /orgs/{org}/actions/runners/{runner_id}/labels"],listLabelsForSelfHostedRunnerForRepo:["GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],listOrgSecrets:["GET /orgs/{org}/actions/secrets"],listOrgVariables:["GET /orgs/{org}/actions/variables"],listRepoOrganizationSecrets:["GET /repos/{owner}/{repo}/actions/organization-secrets"],listRepoOrganizationVariables:["GET /repos/{owner}/{repo}/actions/organization-variables"],listRepoSecrets:["GET /repos/{owner}/{repo}/actions/secrets"],listRepoVariables:["GET /repos/{owner}/{repo}/actions/variables"],listRepoWorkflows:["GET /repos/{owner}/{repo}/actions/workflows"],listRunnerApplicationsForOrg:["GET /orgs/{org}/actions/runners/downloads"],listRunnerApplicationsForRepo:["GET /repos/{owner}/{repo}/actions/runners/downloads"],listSelectedReposForOrgSecret:["GET /orgs/{org}/actions/secrets/{secret_name}/repositories"],listSelectedReposForOrgVariable:["GET /orgs/{org}/actions/variables/{name}/repositories"],listSelectedRepositoriesEnabledGithubActionsOrganization:["GET /orgs/{org}/actions/permissions/repositories"],listSelfHostedRunnersForOrg:["GET /orgs/{org}/actions/runners"],listSelfHostedRunnersForRepo:["GET /repos/{owner}/{repo}/actions/runners"],listWorkflowRunArtifacts:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"],listWorkflowRuns:["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"],listWorkflowRunsForRepo:["GET /repos/{owner}/{repo}/actions/runs"],reRunJobForWorkflowRun:["POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun"],reRunWorkflow:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun"],reRunWorkflowFailedJobs:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs"],removeAllCustomLabelsFromSelfHostedRunnerForOrg:["DELETE /orgs/{org}/actions/runners/{runner_id}/labels"],removeAllCustomLabelsFromSelfHostedRunnerForRepo:["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],removeCustomLabelFromSelfHostedRunnerForOrg:["DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}"],removeCustomLabelFromSelfHostedRunnerForRepo:["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}"],removeSelectedRepoFromOrgSecret:["DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"],removeSelectedRepoFromOrgVariable:["DELETE /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"],reviewCustomGatesForRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule"],reviewPendingDeploymentsForRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"],setAllowedActionsOrganization:["PUT /orgs/{org}/actions/permissions/selected-actions"],setAllowedActionsRepository:["PUT /repos/{owner}/{repo}/actions/permissions/selected-actions"],setCustomLabelsForSelfHostedRunnerForOrg:["PUT /orgs/{org}/actions/runners/{runner_id}/labels"],setCustomLabelsForSelfHostedRunnerForRepo:["PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],setCustomOidcSubClaimForRepo:["PUT /repos/{owner}/{repo}/actions/oidc/customization/sub"],setGithubActionsDefaultWorkflowPermissionsOrganization:["PUT /orgs/{org}/actions/permissions/workflow"],setGithubActionsDefaultWorkflowPermissionsRepository:["PUT /repos/{owner}/{repo}/actions/permissions/workflow"],setGithubActionsPermissionsOrganization:["PUT /orgs/{org}/actions/permissions"],setGithubActionsPermissionsRepository:["PUT /repos/{owner}/{repo}/actions/permissions"],setSelectedReposForOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories"],setSelectedReposForOrgVariable:["PUT /orgs/{org}/actions/variables/{name}/repositories"],setSelectedRepositoriesEnabledGithubActionsOrganization:["PUT /orgs/{org}/actions/permissions/repositories"],setWorkflowAccessToRepository:["PUT /repos/{owner}/{repo}/actions/permissions/access"],updateEnvironmentVariable:["PATCH /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"],updateOrgVariable:["PATCH /orgs/{org}/actions/variables/{name}"],updateRepoVariable:["PATCH /repos/{owner}/{repo}/actions/variables/{name}"]},activity:{checkRepoIsStarredByAuthenticatedUser:["GET /user/starred/{owner}/{repo}"],deleteRepoSubscription:["DELETE /repos/{owner}/{repo}/subscription"],deleteThreadSubscription:["DELETE /notifications/threads/{thread_id}/subscription"],getFeeds:["GET /feeds"],getRepoSubscription:["GET /repos/{owner}/{repo}/subscription"],getThread:["GET /notifications/threads/{thread_id}"],getThreadSubscriptionForAuthenticatedUser:["GET /notifications/threads/{thread_id}/subscription"],listEventsForAuthenticatedUser:["GET /users/{username}/events"],listNotificationsForAuthenticatedUser:["GET /notifications"],listOrgEventsForAuthenticatedUser:["GET /users/{username}/events/orgs/{org}"],listPublicEvents:["GET /events"],listPublicEventsForRepoNetwork:["GET /networks/{owner}/{repo}/events"],listPublicEventsForUser:["GET /users/{username}/events/public"],listPublicOrgEvents:["GET /orgs/{org}/events"],listReceivedEventsForUser:["GET /users/{username}/received_events"],listReceivedPublicEventsForUser:["GET /users/{username}/received_events/public"],listRepoEvents:["GET /repos/{owner}/{repo}/events"],listRepoNotificationsForAuthenticatedUser:["GET /repos/{owner}/{repo}/notifications"],listReposStarredByAuthenticatedUser:["GET /user/starred"],listReposStarredByUser:["GET /users/{username}/starred"],listReposWatchedByUser:["GET /users/{username}/subscriptions"],listStargazersForRepo:["GET /repos/{owner}/{repo}/stargazers"],listWatchedReposForAuthenticatedUser:["GET /user/subscriptions"],listWatchersForRepo:["GET /repos/{owner}/{repo}/subscribers"],markNotificationsAsRead:["PUT /notifications"],markRepoNotificationsAsRead:["PUT /repos/{owner}/{repo}/notifications"],markThreadAsDone:["DELETE /notifications/threads/{thread_id}"],markThreadAsRead:["PATCH /notifications/threads/{thread_id}"],setRepoSubscription:["PUT /repos/{owner}/{repo}/subscription"],setThreadSubscription:["PUT /notifications/threads/{thread_id}/subscription"],starRepoForAuthenticatedUser:["PUT /user/starred/{owner}/{repo}"],unstarRepoForAuthenticatedUser:["DELETE /user/starred/{owner}/{repo}"]},apps:{addRepoToInstallation:["PUT /user/installations/{installation_id}/repositories/{repository_id}",{},{renamed:["apps","addRepoToInstallationForAuthenticatedUser"]}],addRepoToInstallationForAuthenticatedUser:["PUT /user/installations/{installation_id}/repositories/{repository_id}"],checkToken:["POST /applications/{client_id}/token"],createFromManifest:["POST /app-manifests/{code}/conversions"],createInstallationAccessToken:["POST /app/installations/{installation_id}/access_tokens"],deleteAuthorization:["DELETE /applications/{client_id}/grant"],deleteInstallation:["DELETE /app/installations/{installation_id}"],deleteToken:["DELETE /applications/{client_id}/token"],getAuthenticated:["GET /app"],getBySlug:["GET /apps/{app_slug}"],getInstallation:["GET /app/installations/{installation_id}"],getOrgInstallation:["GET /orgs/{org}/installation"],getRepoInstallation:["GET /repos/{owner}/{repo}/installation"],getSubscriptionPlanForAccount:["GET /marketplace_listing/accounts/{account_id}"],getSubscriptionPlanForAccountStubbed:["GET /marketplace_listing/stubbed/accounts/{account_id}"],getUserInstallation:["GET /users/{username}/installation"],getWebhookConfigForApp:["GET /app/hook/config"],getWebhookDelivery:["GET /app/hook/deliveries/{delivery_id}"],listAccountsForPlan:["GET /marketplace_listing/plans/{plan_id}/accounts"],listAccountsForPlanStubbed:["GET /marketplace_listing/stubbed/plans/{plan_id}/accounts"],listInstallationReposForAuthenticatedUser:["GET /user/installations/{installation_id}/repositories"],listInstallationRequestsForAuthenticatedApp:["GET /app/installation-requests"],listInstallations:["GET /app/installations"],listInstallationsForAuthenticatedUser:["GET /user/installations"],listPlans:["GET /marketplace_listing/plans"],listPlansStubbed:["GET /marketplace_listing/stubbed/plans"],listReposAccessibleToInstallation:["GET /installation/repositories"],listSubscriptionsForAuthenticatedUser:["GET /user/marketplace_purchases"],listSubscriptionsForAuthenticatedUserStubbed:["GET /user/marketplace_purchases/stubbed"],listWebhookDeliveries:["GET /app/hook/deliveries"],redeliverWebhookDelivery:["POST /app/hook/deliveries/{delivery_id}/attempts"],removeRepoFromInstallation:["DELETE /user/installations/{installation_id}/repositories/{repository_id}",{},{renamed:["apps","removeRepoFromInstallationForAuthenticatedUser"]}],removeRepoFromInstallationForAuthenticatedUser:["DELETE /user/installations/{installation_id}/repositories/{repository_id}"],resetToken:["PATCH /applications/{client_id}/token"],revokeInstallationAccessToken:["DELETE /installation/token"],scopeToken:["POST /applications/{client_id}/token/scoped"],suspendInstallation:["PUT /app/installations/{installation_id}/suspended"],unsuspendInstallation:["DELETE /app/installations/{installation_id}/suspended"],updateWebhookConfigForApp:["PATCH /app/hook/config"]},billing:{getGithubActionsBillingOrg:["GET /orgs/{org}/settings/billing/actions"],getGithubActionsBillingUser:["GET /users/{username}/settings/billing/actions"],getGithubPackagesBillingOrg:["GET /orgs/{org}/settings/billing/packages"],getGithubPackagesBillingUser:["GET /users/{username}/settings/billing/packages"],getSharedStorageBillingOrg:["GET /orgs/{org}/settings/billing/shared-storage"],getSharedStorageBillingUser:["GET /users/{username}/settings/billing/shared-storage"]},checks:{create:["POST /repos/{owner}/{repo}/check-runs"],createSuite:["POST /repos/{owner}/{repo}/check-suites"],get:["GET /repos/{owner}/{repo}/check-runs/{check_run_id}"],getSuite:["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}"],listAnnotations:["GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations"],listForRef:["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"],listForSuite:["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs"],listSuitesForRef:["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"],rerequestRun:["POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest"],rerequestSuite:["POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest"],setSuitesPreferences:["PATCH /repos/{owner}/{repo}/check-suites/preferences"],update:["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"]},codeScanning:{deleteAnalysis:["DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}"],getAlert:["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}",{},{renamedParameters:{alert_id:"alert_number"}}],getAnalysis:["GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}"],getCodeqlDatabase:["GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}"],getDefaultSetup:["GET /repos/{owner}/{repo}/code-scanning/default-setup"],getSarif:["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"],listAlertInstances:["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"],listAlertsForOrg:["GET /orgs/{org}/code-scanning/alerts"],listAlertsForRepo:["GET /repos/{owner}/{repo}/code-scanning/alerts"],listAlertsInstances:["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances",{},{renamed:["codeScanning","listAlertInstances"]}],listCodeqlDatabases:["GET /repos/{owner}/{repo}/code-scanning/codeql/databases"],listRecentAnalyses:["GET /repos/{owner}/{repo}/code-scanning/analyses"],updateAlert:["PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}"],updateDefaultSetup:["PATCH /repos/{owner}/{repo}/code-scanning/default-setup"],uploadSarif:["POST /repos/{owner}/{repo}/code-scanning/sarifs"]},codesOfConduct:{getAllCodesOfConduct:["GET /codes_of_conduct"],getConductCode:["GET /codes_of_conduct/{key}"]},codespaces:{addRepositoryForSecretForAuthenticatedUser:["PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"],addSelectedRepoToOrgSecret:["PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}"],checkPermissionsForDevcontainer:["GET /repos/{owner}/{repo}/codespaces/permissions_check"],codespaceMachinesForAuthenticatedUser:["GET /user/codespaces/{codespace_name}/machines"],createForAuthenticatedUser:["POST /user/codespaces"],createOrUpdateOrgSecret:["PUT /orgs/{org}/codespaces/secrets/{secret_name}"],createOrUpdateRepoSecret:["PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"],createOrUpdateSecretForAuthenticatedUser:["PUT /user/codespaces/secrets/{secret_name}"],createWithPrForAuthenticatedUser:["POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces"],createWithRepoForAuthenticatedUser:["POST /repos/{owner}/{repo}/codespaces"],deleteForAuthenticatedUser:["DELETE /user/codespaces/{codespace_name}"],deleteFromOrganization:["DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}"],deleteOrgSecret:["DELETE /orgs/{org}/codespaces/secrets/{secret_name}"],deleteRepoSecret:["DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"],deleteSecretForAuthenticatedUser:["DELETE /user/codespaces/secrets/{secret_name}"],exportForAuthenticatedUser:["POST /user/codespaces/{codespace_name}/exports"],getCodespacesForUserInOrg:["GET /orgs/{org}/members/{username}/codespaces"],getExportDetailsForAuthenticatedUser:["GET /user/codespaces/{codespace_name}/exports/{export_id}"],getForAuthenticatedUser:["GET /user/codespaces/{codespace_name}"],getOrgPublicKey:["GET /orgs/{org}/codespaces/secrets/public-key"],getOrgSecret:["GET /orgs/{org}/codespaces/secrets/{secret_name}"],getPublicKeyForAuthenticatedUser:["GET /user/codespaces/secrets/public-key"],getRepoPublicKey:["GET /repos/{owner}/{repo}/codespaces/secrets/public-key"],getRepoSecret:["GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"],getSecretForAuthenticatedUser:["GET /user/codespaces/secrets/{secret_name}"],listDevcontainersInRepositoryForAuthenticatedUser:["GET /repos/{owner}/{repo}/codespaces/devcontainers"],listForAuthenticatedUser:["GET /user/codespaces"],listInOrganization:["GET /orgs/{org}/codespaces",{},{renamedParameters:{org_id:"org"}}],listInRepositoryForAuthenticatedUser:["GET /repos/{owner}/{repo}/codespaces"],listOrgSecrets:["GET /orgs/{org}/codespaces/secrets"],listRepoSecrets:["GET /repos/{owner}/{repo}/codespaces/secrets"],listRepositoriesForSecretForAuthenticatedUser:["GET /user/codespaces/secrets/{secret_name}/repositories"],listSecretsForAuthenticatedUser:["GET /user/codespaces/secrets"],listSelectedReposForOrgSecret:["GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories"],preFlightWithRepoForAuthenticatedUser:["GET /repos/{owner}/{repo}/codespaces/new"],publishForAuthenticatedUser:["POST /user/codespaces/{codespace_name}/publish"],removeRepositoryForSecretForAuthenticatedUser:["DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"],removeSelectedRepoFromOrgSecret:["DELETE /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}"],repoMachinesForAuthenticatedUser:["GET /repos/{owner}/{repo}/codespaces/machines"],setRepositoriesForSecretForAuthenticatedUser:["PUT /user/codespaces/secrets/{secret_name}/repositories"],setSelectedReposForOrgSecret:["PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories"],startForAuthenticatedUser:["POST /user/codespaces/{codespace_name}/start"],stopForAuthenticatedUser:["POST /user/codespaces/{codespace_name}/stop"],stopInOrganization:["POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop"],updateForAuthenticatedUser:["PATCH /user/codespaces/{codespace_name}"]},copilot:{addCopilotSeatsForTeams:["POST /orgs/{org}/copilot/billing/selected_teams"],addCopilotSeatsForUsers:["POST /orgs/{org}/copilot/billing/selected_users"],cancelCopilotSeatAssignmentForTeams:["DELETE /orgs/{org}/copilot/billing/selected_teams"],cancelCopilotSeatAssignmentForUsers:["DELETE /orgs/{org}/copilot/billing/selected_users"],getCopilotOrganizationDetails:["GET /orgs/{org}/copilot/billing"],getCopilotSeatDetailsForUser:["GET /orgs/{org}/members/{username}/copilot"],listCopilotSeats:["GET /orgs/{org}/copilot/billing/seats"],usageMetricsForEnterprise:["GET /enterprises/{enterprise}/copilot/usage"],usageMetricsForOrg:["GET /orgs/{org}/copilot/usage"],usageMetricsForTeam:["GET /orgs/{org}/team/{team_slug}/copilot/usage"]},dependabot:{addSelectedRepoToOrgSecret:["PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"],createOrUpdateOrgSecret:["PUT /orgs/{org}/dependabot/secrets/{secret_name}"],createOrUpdateRepoSecret:["PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"],deleteOrgSecret:["DELETE /orgs/{org}/dependabot/secrets/{secret_name}"],deleteRepoSecret:["DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"],getAlert:["GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"],getOrgPublicKey:["GET /orgs/{org}/dependabot/secrets/public-key"],getOrgSecret:["GET /orgs/{org}/dependabot/secrets/{secret_name}"],getRepoPublicKey:["GET /repos/{owner}/{repo}/dependabot/secrets/public-key"],getRepoSecret:["GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"],listAlertsForEnterprise:["GET /enterprises/{enterprise}/dependabot/alerts"],listAlertsForOrg:["GET /orgs/{org}/dependabot/alerts"],listAlertsForRepo:["GET /repos/{owner}/{repo}/dependabot/alerts"],listOrgSecrets:["GET /orgs/{org}/dependabot/secrets"],listRepoSecrets:["GET /repos/{owner}/{repo}/dependabot/secrets"],listSelectedReposForOrgSecret:["GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories"],removeSelectedRepoFromOrgSecret:["DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"],setSelectedReposForOrgSecret:["PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories"],updateAlert:["PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"]},dependencyGraph:{createRepositorySnapshot:["POST /repos/{owner}/{repo}/dependency-graph/snapshots"],diffRange:["GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}"],exportSbom:["GET /repos/{owner}/{repo}/dependency-graph/sbom"]},emojis:{get:["GET /emojis"]},gists:{checkIsStarred:["GET /gists/{gist_id}/star"],create:["POST /gists"],createComment:["POST /gists/{gist_id}/comments"],delete:["DELETE /gists/{gist_id}"],deleteComment:["DELETE /gists/{gist_id}/comments/{comment_id}"],fork:["POST /gists/{gist_id}/forks"],get:["GET /gists/{gist_id}"],getComment:["GET /gists/{gist_id}/comments/{comment_id}"],getRevision:["GET /gists/{gist_id}/{sha}"],list:["GET /gists"],listComments:["GET /gists/{gist_id}/comments"],listCommits:["GET /gists/{gist_id}/commits"],listForUser:["GET /users/{username}/gists"],listForks:["GET /gists/{gist_id}/forks"],listPublic:["GET /gists/public"],listStarred:["GET /gists/starred"],star:["PUT /gists/{gist_id}/star"],unstar:["DELETE /gists/{gist_id}/star"],update:["PATCH /gists/{gist_id}"],updateComment:["PATCH /gists/{gist_id}/comments/{comment_id}"]},git:{createBlob:["POST /repos/{owner}/{repo}/git/blobs"],createCommit:["POST /repos/{owner}/{repo}/git/commits"],createRef:["POST /repos/{owner}/{repo}/git/refs"],createTag:["POST /repos/{owner}/{repo}/git/tags"],createTree:["POST /repos/{owner}/{repo}/git/trees"],deleteRef:["DELETE /repos/{owner}/{repo}/git/refs/{ref}"],getBlob:["GET /repos/{owner}/{repo}/git/blobs/{file_sha}"],getCommit:["GET /repos/{owner}/{repo}/git/commits/{commit_sha}"],getRef:["GET /repos/{owner}/{repo}/git/ref/{ref}"],getTag:["GET /repos/{owner}/{repo}/git/tags/{tag_sha}"],getTree:["GET /repos/{owner}/{repo}/git/trees/{tree_sha}"],listMatchingRefs:["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"],updateRef:["PATCH /repos/{owner}/{repo}/git/refs/{ref}"]},gitignore:{getAllTemplates:["GET /gitignore/templates"],getTemplate:["GET /gitignore/templates/{name}"]},interactions:{getRestrictionsForAuthenticatedUser:["GET /user/interaction-limits"],getRestrictionsForOrg:["GET /orgs/{org}/interaction-limits"],getRestrictionsForRepo:["GET /repos/{owner}/{repo}/interaction-limits"],getRestrictionsForYourPublicRepos:["GET /user/interaction-limits",{},{renamed:["interactions","getRestrictionsForAuthenticatedUser"]}],removeRestrictionsForAuthenticatedUser:["DELETE /user/interaction-limits"],removeRestrictionsForOrg:["DELETE /orgs/{org}/interaction-limits"],removeRestrictionsForRepo:["DELETE /repos/{owner}/{repo}/interaction-limits"],removeRestrictionsForYourPublicRepos:["DELETE /user/interaction-limits",{},{renamed:["interactions","removeRestrictionsForAuthenticatedUser"]}],setRestrictionsForAuthenticatedUser:["PUT /user/interaction-limits"],setRestrictionsForOrg:["PUT /orgs/{org}/interaction-limits"],setRestrictionsForRepo:["PUT /repos/{owner}/{repo}/interaction-limits"],setRestrictionsForYourPublicRepos:["PUT /user/interaction-limits",{},{renamed:["interactions","setRestrictionsForAuthenticatedUser"]}]},issues:{addAssignees:["POST /repos/{owner}/{repo}/issues/{issue_number}/assignees"],addLabels:["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"],checkUserCanBeAssigned:["GET /repos/{owner}/{repo}/assignees/{assignee}"],checkUserCanBeAssignedToIssue:["GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}"],create:["POST /repos/{owner}/{repo}/issues"],createComment:["POST /repos/{owner}/{repo}/issues/{issue_number}/comments"],createLabel:["POST /repos/{owner}/{repo}/labels"],createMilestone:["POST /repos/{owner}/{repo}/milestones"],deleteComment:["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}"],deleteLabel:["DELETE /repos/{owner}/{repo}/labels/{name}"],deleteMilestone:["DELETE /repos/{owner}/{repo}/milestones/{milestone_number}"],get:["GET /repos/{owner}/{repo}/issues/{issue_number}"],getComment:["GET /repos/{owner}/{repo}/issues/comments/{comment_id}"],getEvent:["GET /repos/{owner}/{repo}/issues/events/{event_id}"],getLabel:["GET /repos/{owner}/{repo}/labels/{name}"],getMilestone:["GET /repos/{owner}/{repo}/milestones/{milestone_number}"],list:["GET /issues"],listAssignees:["GET /repos/{owner}/{repo}/assignees"],listComments:["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"],listCommentsForRepo:["GET /repos/{owner}/{repo}/issues/comments"],listEvents:["GET /repos/{owner}/{repo}/issues/{issue_number}/events"],listEventsForRepo:["GET /repos/{owner}/{repo}/issues/events"],listEventsForTimeline:["GET /repos/{owner}/{repo}/issues/{issue_number}/timeline"],listForAuthenticatedUser:["GET /user/issues"],listForOrg:["GET /orgs/{org}/issues"],listForRepo:["GET /repos/{owner}/{repo}/issues"],listLabelsForMilestone:["GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels"],listLabelsForRepo:["GET /repos/{owner}/{repo}/labels"],listLabelsOnIssue:["GET /repos/{owner}/{repo}/issues/{issue_number}/labels"],listMilestones:["GET /repos/{owner}/{repo}/milestones"],lock:["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"],removeAllLabels:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels"],removeAssignees:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees"],removeLabel:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}"],setLabels:["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels"],unlock:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock"],update:["PATCH /repos/{owner}/{repo}/issues/{issue_number}"],updateComment:["PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}"],updateLabel:["PATCH /repos/{owner}/{repo}/labels/{name}"],updateMilestone:["PATCH /repos/{owner}/{repo}/milestones/{milestone_number}"]},licenses:{get:["GET /licenses/{license}"],getAllCommonlyUsed:["GET /licenses"],getForRepo:["GET /repos/{owner}/{repo}/license"]},markdown:{render:["POST /markdown"],renderRaw:["POST /markdown/raw",{headers:{"content-type":"text/plain; charset=utf-8"}}]},meta:{get:["GET /meta"],getAllVersions:["GET /versions"],getOctocat:["GET /octocat"],getZen:["GET /zen"],root:["GET /"]},migrations:{deleteArchiveForAuthenticatedUser:["DELETE /user/migrations/{migration_id}/archive"],deleteArchiveForOrg:["DELETE /orgs/{org}/migrations/{migration_id}/archive"],downloadArchiveForOrg:["GET /orgs/{org}/migrations/{migration_id}/archive"],getArchiveForAuthenticatedUser:["GET /user/migrations/{migration_id}/archive"],getStatusForAuthenticatedUser:["GET /user/migrations/{migration_id}"],getStatusForOrg:["GET /orgs/{org}/migrations/{migration_id}"],listForAuthenticatedUser:["GET /user/migrations"],listForOrg:["GET /orgs/{org}/migrations"],listReposForAuthenticatedUser:["GET /user/migrations/{migration_id}/repositories"],listReposForOrg:["GET /orgs/{org}/migrations/{migration_id}/repositories"],listReposForUser:["GET /user/migrations/{migration_id}/repositories",{},{renamed:["migrations","listReposForAuthenticatedUser"]}],startForAuthenticatedUser:["POST /user/migrations"],startForOrg:["POST /orgs/{org}/migrations"],unlockRepoForAuthenticatedUser:["DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock"],unlockRepoForOrg:["DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock"]},oidc:{getOidcCustomSubTemplateForOrg:["GET /orgs/{org}/actions/oidc/customization/sub"],updateOidcCustomSubTemplateForOrg:["PUT /orgs/{org}/actions/oidc/customization/sub"]},orgs:{addSecurityManagerTeam:["PUT /orgs/{org}/security-managers/teams/{team_slug}"],assignTeamToOrgRole:["PUT /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}"],assignUserToOrgRole:["PUT /orgs/{org}/organization-roles/users/{username}/{role_id}"],blockUser:["PUT /orgs/{org}/blocks/{username}"],cancelInvitation:["DELETE /orgs/{org}/invitations/{invitation_id}"],checkBlockedUser:["GET /orgs/{org}/blocks/{username}"],checkMembershipForUser:["GET /orgs/{org}/members/{username}"],checkPublicMembershipForUser:["GET /orgs/{org}/public_members/{username}"],convertMemberToOutsideCollaborator:["PUT /orgs/{org}/outside_collaborators/{username}"],createCustomOrganizationRole:["POST /orgs/{org}/organization-roles"],createInvitation:["POST /orgs/{org}/invitations"],createOrUpdateCustomProperties:["PATCH /orgs/{org}/properties/schema"],createOrUpdateCustomPropertiesValuesForRepos:["PATCH /orgs/{org}/properties/values"],createOrUpdateCustomProperty:["PUT /orgs/{org}/properties/schema/{custom_property_name}"],createWebhook:["POST /orgs/{org}/hooks"],delete:["DELETE /orgs/{org}"],deleteCustomOrganizationRole:["DELETE /orgs/{org}/organization-roles/{role_id}"],deleteWebhook:["DELETE /orgs/{org}/hooks/{hook_id}"],enableOrDisableSecurityProductOnAllOrgRepos:["POST /orgs/{org}/{security_product}/{enablement}"],get:["GET /orgs/{org}"],getAllCustomProperties:["GET /orgs/{org}/properties/schema"],getCustomProperty:["GET /orgs/{org}/properties/schema/{custom_property_name}"],getMembershipForAuthenticatedUser:["GET /user/memberships/orgs/{org}"],getMembershipForUser:["GET /orgs/{org}/memberships/{username}"],getOrgRole:["GET /orgs/{org}/organization-roles/{role_id}"],getWebhook:["GET /orgs/{org}/hooks/{hook_id}"],getWebhookConfigForOrg:["GET /orgs/{org}/hooks/{hook_id}/config"],getWebhookDelivery:["GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}"],list:["GET /organizations"],listAppInstallations:["GET /orgs/{org}/installations"],listBlockedUsers:["GET /orgs/{org}/blocks"],listCustomPropertiesValuesForRepos:["GET /orgs/{org}/properties/values"],listFailedInvitations:["GET /orgs/{org}/failed_invitations"],listForAuthenticatedUser:["GET /user/orgs"],listForUser:["GET /users/{username}/orgs"],listInvitationTeams:["GET /orgs/{org}/invitations/{invitation_id}/teams"],listMembers:["GET /orgs/{org}/members"],listMembershipsForAuthenticatedUser:["GET /user/memberships/orgs"],listOrgRoleTeams:["GET /orgs/{org}/organization-roles/{role_id}/teams"],listOrgRoleUsers:["GET /orgs/{org}/organization-roles/{role_id}/users"],listOrgRoles:["GET /orgs/{org}/organization-roles"],listOrganizationFineGrainedPermissions:["GET /orgs/{org}/organization-fine-grained-permissions"],listOutsideCollaborators:["GET /orgs/{org}/outside_collaborators"],listPatGrantRepositories:["GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories"],listPatGrantRequestRepositories:["GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories"],listPatGrantRequests:["GET /orgs/{org}/personal-access-token-requests"],listPatGrants:["GET /orgs/{org}/personal-access-tokens"],listPendingInvitations:["GET /orgs/{org}/invitations"],listPublicMembers:["GET /orgs/{org}/public_members"],listSecurityManagerTeams:["GET /orgs/{org}/security-managers"],listWebhookDeliveries:["GET /orgs/{org}/hooks/{hook_id}/deliveries"],listWebhooks:["GET /orgs/{org}/hooks"],patchCustomOrganizationRole:["PATCH /orgs/{org}/organization-roles/{role_id}"],pingWebhook:["POST /orgs/{org}/hooks/{hook_id}/pings"],redeliverWebhookDelivery:["POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"],removeCustomProperty:["DELETE /orgs/{org}/properties/schema/{custom_property_name}"],removeMember:["DELETE /orgs/{org}/members/{username}"],removeMembershipForUser:["DELETE /orgs/{org}/memberships/{username}"],removeOutsideCollaborator:["DELETE /orgs/{org}/outside_collaborators/{username}"],removePublicMembershipForAuthenticatedUser:["DELETE /orgs/{org}/public_members/{username}"],removeSecurityManagerTeam:["DELETE /orgs/{org}/security-managers/teams/{team_slug}"],reviewPatGrantRequest:["POST /orgs/{org}/personal-access-token-requests/{pat_request_id}"],reviewPatGrantRequestsInBulk:["POST /orgs/{org}/personal-access-token-requests"],revokeAllOrgRolesTeam:["DELETE /orgs/{org}/organization-roles/teams/{team_slug}"],revokeAllOrgRolesUser:["DELETE /orgs/{org}/organization-roles/users/{username}"],revokeOrgRoleTeam:["DELETE /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}"],revokeOrgRoleUser:["DELETE /orgs/{org}/organization-roles/users/{username}/{role_id}"],setMembershipForUser:["PUT /orgs/{org}/memberships/{username}"],setPublicMembershipForAuthenticatedUser:["PUT /orgs/{org}/public_members/{username}"],unblockUser:["DELETE /orgs/{org}/blocks/{username}"],update:["PATCH /orgs/{org}"],updateMembershipForAuthenticatedUser:["PATCH /user/memberships/orgs/{org}"],updatePatAccess:["POST /orgs/{org}/personal-access-tokens/{pat_id}"],updatePatAccesses:["POST /orgs/{org}/personal-access-tokens"],updateWebhook:["PATCH /orgs/{org}/hooks/{hook_id}"],updateWebhookConfigForOrg:["PATCH /orgs/{org}/hooks/{hook_id}/config"]},packages:{deletePackageForAuthenticatedUser:["DELETE /user/packages/{package_type}/{package_name}"],deletePackageForOrg:["DELETE /orgs/{org}/packages/{package_type}/{package_name}"],deletePackageForUser:["DELETE /users/{username}/packages/{package_type}/{package_name}"],deletePackageVersionForAuthenticatedUser:["DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}"],deletePackageVersionForOrg:["DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"],deletePackageVersionForUser:["DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"],getAllPackageVersionsForAPackageOwnedByAnOrg:["GET /orgs/{org}/packages/{package_type}/{package_name}/versions",{},{renamed:["packages","getAllPackageVersionsForPackageOwnedByOrg"]}],getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}/versions",{},{renamed:["packages","getAllPackageVersionsForPackageOwnedByAuthenticatedUser"]}],getAllPackageVersionsForPackageOwnedByAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}/versions"],getAllPackageVersionsForPackageOwnedByOrg:["GET /orgs/{org}/packages/{package_type}/{package_name}/versions"],getAllPackageVersionsForPackageOwnedByUser:["GET /users/{username}/packages/{package_type}/{package_name}/versions"],getPackageForAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}"],getPackageForOrganization:["GET /orgs/{org}/packages/{package_type}/{package_name}"],getPackageForUser:["GET /users/{username}/packages/{package_type}/{package_name}"],getPackageVersionForAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}"],getPackageVersionForOrganization:["GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"],getPackageVersionForUser:["GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"],listDockerMigrationConflictingPackagesForAuthenticatedUser:["GET /user/docker/conflicts"],listDockerMigrationConflictingPackagesForOrganization:["GET /orgs/{org}/docker/conflicts"],listDockerMigrationConflictingPackagesForUser:["GET /users/{username}/docker/conflicts"],listPackagesForAuthenticatedUser:["GET /user/packages"],listPackagesForOrganization:["GET /orgs/{org}/packages"],listPackagesForUser:["GET /users/{username}/packages"],restorePackageForAuthenticatedUser:["POST /user/packages/{package_type}/{package_name}/restore{?token}"],restorePackageForOrg:["POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}"],restorePackageForUser:["POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}"],restorePackageVersionForAuthenticatedUser:["POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"],restorePackageVersionForOrg:["POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"],restorePackageVersionForUser:["POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"]},projects:{addCollaborator:["PUT /projects/{project_id}/collaborators/{username}"],createCard:["POST /projects/columns/{column_id}/cards"],createColumn:["POST /projects/{project_id}/columns"],createForAuthenticatedUser:["POST /user/projects"],createForOrg:["POST /orgs/{org}/projects"],createForRepo:["POST /repos/{owner}/{repo}/projects"],delete:["DELETE /projects/{project_id}"],deleteCard:["DELETE /projects/columns/cards/{card_id}"],deleteColumn:["DELETE /projects/columns/{column_id}"],get:["GET /projects/{project_id}"],getCard:["GET /projects/columns/cards/{card_id}"],getColumn:["GET /projects/columns/{column_id}"],getPermissionForUser:["GET /projects/{project_id}/collaborators/{username}/permission"],listCards:["GET /projects/columns/{column_id}/cards"],listCollaborators:["GET /projects/{project_id}/collaborators"],listColumns:["GET /projects/{project_id}/columns"],listForOrg:["GET /orgs/{org}/projects"],listForRepo:["GET /repos/{owner}/{repo}/projects"],listForUser:["GET /users/{username}/projects"],moveCard:["POST /projects/columns/cards/{card_id}/moves"],moveColumn:["POST /projects/columns/{column_id}/moves"],removeCollaborator:["DELETE /projects/{project_id}/collaborators/{username}"],update:["PATCH /projects/{project_id}"],updateCard:["PATCH /projects/columns/cards/{card_id}"],updateColumn:["PATCH /projects/columns/{column_id}"]},pulls:{checkIfMerged:["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"],create:["POST /repos/{owner}/{repo}/pulls"],createReplyForReviewComment:["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies"],createReview:["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"],createReviewComment:["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments"],deletePendingReview:["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"],deleteReviewComment:["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}"],dismissReview:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals"],get:["GET /repos/{owner}/{repo}/pulls/{pull_number}"],getReview:["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"],getReviewComment:["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"],list:["GET /repos/{owner}/{repo}/pulls"],listCommentsForReview:["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments"],listCommits:["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"],listFiles:["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"],listRequestedReviewers:["GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"],listReviewComments:["GET /repos/{owner}/{repo}/pulls/{pull_number}/comments"],listReviewCommentsForRepo:["GET /repos/{owner}/{repo}/pulls/comments"],listReviews:["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"],merge:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge"],removeRequestedReviewers:["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"],requestReviewers:["POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"],submitReview:["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events"],update:["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"],updateBranch:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch"],updateReview:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"],updateReviewComment:["PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}"]},rateLimit:{get:["GET /rate_limit"]},reactions:{createForCommitComment:["POST /repos/{owner}/{repo}/comments/{comment_id}/reactions"],createForIssue:["POST /repos/{owner}/{repo}/issues/{issue_number}/reactions"],createForIssueComment:["POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"],createForPullRequestReviewComment:["POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"],createForRelease:["POST /repos/{owner}/{repo}/releases/{release_id}/reactions"],createForTeamDiscussionCommentInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"],createForTeamDiscussionInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"],deleteForCommitComment:["DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}"],deleteForIssue:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}"],deleteForIssueComment:["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}"],deleteForPullRequestComment:["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}"],deleteForRelease:["DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}"],deleteForTeamDiscussion:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}"],deleteForTeamDiscussionComment:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}"],listForCommitComment:["GET /repos/{owner}/{repo}/comments/{comment_id}/reactions"],listForIssue:["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"],listForIssueComment:["GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"],listForPullRequestReviewComment:["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"],listForRelease:["GET /repos/{owner}/{repo}/releases/{release_id}/reactions"],listForTeamDiscussionCommentInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"],listForTeamDiscussionInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"]},repos:{acceptInvitation:["PATCH /user/repository_invitations/{invitation_id}",{},{renamed:["repos","acceptInvitationForAuthenticatedUser"]}],acceptInvitationForAuthenticatedUser:["PATCH /user/repository_invitations/{invitation_id}"],addAppAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",{},{mapToData:"apps"}],addCollaborator:["PUT /repos/{owner}/{repo}/collaborators/{username}"],addStatusCheckContexts:["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",{},{mapToData:"contexts"}],addTeamAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",{},{mapToData:"teams"}],addUserAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",{},{mapToData:"users"}],cancelPagesDeployment:["POST /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel"],checkAutomatedSecurityFixes:["GET /repos/{owner}/{repo}/automated-security-fixes"],checkCollaborator:["GET /repos/{owner}/{repo}/collaborators/{username}"],checkPrivateVulnerabilityReporting:["GET /repos/{owner}/{repo}/private-vulnerability-reporting"],checkVulnerabilityAlerts:["GET /repos/{owner}/{repo}/vulnerability-alerts"],codeownersErrors:["GET /repos/{owner}/{repo}/codeowners/errors"],compareCommits:["GET /repos/{owner}/{repo}/compare/{base}...{head}"],compareCommitsWithBasehead:["GET /repos/{owner}/{repo}/compare/{basehead}"],createAutolink:["POST /repos/{owner}/{repo}/autolinks"],createCommitComment:["POST /repos/{owner}/{repo}/commits/{commit_sha}/comments"],createCommitSignatureProtection:["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"],createCommitStatus:["POST /repos/{owner}/{repo}/statuses/{sha}"],createDeployKey:["POST /repos/{owner}/{repo}/keys"],createDeployment:["POST /repos/{owner}/{repo}/deployments"],createDeploymentBranchPolicy:["POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"],createDeploymentProtectionRule:["POST /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules"],createDeploymentStatus:["POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"],createDispatchEvent:["POST /repos/{owner}/{repo}/dispatches"],createForAuthenticatedUser:["POST /user/repos"],createFork:["POST /repos/{owner}/{repo}/forks"],createInOrg:["POST /orgs/{org}/repos"],createOrUpdateCustomPropertiesValues:["PATCH /repos/{owner}/{repo}/properties/values"],createOrUpdateEnvironment:["PUT /repos/{owner}/{repo}/environments/{environment_name}"],createOrUpdateFileContents:["PUT /repos/{owner}/{repo}/contents/{path}"],createOrgRuleset:["POST /orgs/{org}/rulesets"],createPagesDeployment:["POST /repos/{owner}/{repo}/pages/deployments"],createPagesSite:["POST /repos/{owner}/{repo}/pages"],createRelease:["POST /repos/{owner}/{repo}/releases"],createRepoRuleset:["POST /repos/{owner}/{repo}/rulesets"],createTagProtection:["POST /repos/{owner}/{repo}/tags/protection"],createUsingTemplate:["POST /repos/{template_owner}/{template_repo}/generate"],createWebhook:["POST /repos/{owner}/{repo}/hooks"],declineInvitation:["DELETE /user/repository_invitations/{invitation_id}",{},{renamed:["repos","declineInvitationForAuthenticatedUser"]}],declineInvitationForAuthenticatedUser:["DELETE /user/repository_invitations/{invitation_id}"],delete:["DELETE /repos/{owner}/{repo}"],deleteAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"],deleteAdminBranchProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"],deleteAnEnvironment:["DELETE /repos/{owner}/{repo}/environments/{environment_name}"],deleteAutolink:["DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}"],deleteBranchProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection"],deleteCommitComment:["DELETE /repos/{owner}/{repo}/comments/{comment_id}"],deleteCommitSignatureProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"],deleteDeployKey:["DELETE /repos/{owner}/{repo}/keys/{key_id}"],deleteDeployment:["DELETE /repos/{owner}/{repo}/deployments/{deployment_id}"],deleteDeploymentBranchPolicy:["DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"],deleteFile:["DELETE /repos/{owner}/{repo}/contents/{path}"],deleteInvitation:["DELETE /repos/{owner}/{repo}/invitations/{invitation_id}"],deleteOrgRuleset:["DELETE /orgs/{org}/rulesets/{ruleset_id}"],deletePagesSite:["DELETE /repos/{owner}/{repo}/pages"],deletePullRequestReviewProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"],deleteRelease:["DELETE /repos/{owner}/{repo}/releases/{release_id}"],deleteReleaseAsset:["DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}"],deleteRepoRuleset:["DELETE /repos/{owner}/{repo}/rulesets/{ruleset_id}"],deleteTagProtection:["DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}"],deleteWebhook:["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"],disableAutomatedSecurityFixes:["DELETE /repos/{owner}/{repo}/automated-security-fixes"],disableDeploymentProtectionRule:["DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"],disablePrivateVulnerabilityReporting:["DELETE /repos/{owner}/{repo}/private-vulnerability-reporting"],disableVulnerabilityAlerts:["DELETE /repos/{owner}/{repo}/vulnerability-alerts"],downloadArchive:["GET /repos/{owner}/{repo}/zipball/{ref}",{},{renamed:["repos","downloadZipballArchive"]}],downloadTarballArchive:["GET /repos/{owner}/{repo}/tarball/{ref}"],downloadZipballArchive:["GET /repos/{owner}/{repo}/zipball/{ref}"],enableAutomatedSecurityFixes:["PUT /repos/{owner}/{repo}/automated-security-fixes"],enablePrivateVulnerabilityReporting:["PUT /repos/{owner}/{repo}/private-vulnerability-reporting"],enableVulnerabilityAlerts:["PUT /repos/{owner}/{repo}/vulnerability-alerts"],generateReleaseNotes:["POST /repos/{owner}/{repo}/releases/generate-notes"],get:["GET /repos/{owner}/{repo}"],getAccessRestrictions:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"],getAdminBranchProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"],getAllDeploymentProtectionRules:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules"],getAllEnvironments:["GET /repos/{owner}/{repo}/environments"],getAllStatusCheckContexts:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"],getAllTopics:["GET /repos/{owner}/{repo}/topics"],getAppsWithAccessToProtectedBranch:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"],getAutolink:["GET /repos/{owner}/{repo}/autolinks/{autolink_id}"],getBranch:["GET /repos/{owner}/{repo}/branches/{branch}"],getBranchProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection"],getBranchRules:["GET /repos/{owner}/{repo}/rules/branches/{branch}"],getClones:["GET /repos/{owner}/{repo}/traffic/clones"],getCodeFrequencyStats:["GET /repos/{owner}/{repo}/stats/code_frequency"],getCollaboratorPermissionLevel:["GET /repos/{owner}/{repo}/collaborators/{username}/permission"],getCombinedStatusForRef:["GET /repos/{owner}/{repo}/commits/{ref}/status"],getCommit:["GET /repos/{owner}/{repo}/commits/{ref}"],getCommitActivityStats:["GET /repos/{owner}/{repo}/stats/commit_activity"],getCommitComment:["GET /repos/{owner}/{repo}/comments/{comment_id}"],getCommitSignatureProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"],getCommunityProfileMetrics:["GET /repos/{owner}/{repo}/community/profile"],getContent:["GET /repos/{owner}/{repo}/contents/{path}"],getContributorsStats:["GET /repos/{owner}/{repo}/stats/contributors"],getCustomDeploymentProtectionRule:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"],getCustomPropertiesValues:["GET /repos/{owner}/{repo}/properties/values"],getDeployKey:["GET /repos/{owner}/{repo}/keys/{key_id}"],getDeployment:["GET /repos/{owner}/{repo}/deployments/{deployment_id}"],getDeploymentBranchPolicy:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"],getDeploymentStatus:["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}"],getEnvironment:["GET /repos/{owner}/{repo}/environments/{environment_name}"],getLatestPagesBuild:["GET /repos/{owner}/{repo}/pages/builds/latest"],getLatestRelease:["GET /repos/{owner}/{repo}/releases/latest"],getOrgRuleSuite:["GET /orgs/{org}/rulesets/rule-suites/{rule_suite_id}"],getOrgRuleSuites:["GET /orgs/{org}/rulesets/rule-suites"],getOrgRuleset:["GET /orgs/{org}/rulesets/{ruleset_id}"],getOrgRulesets:["GET /orgs/{org}/rulesets"],getPages:["GET /repos/{owner}/{repo}/pages"],getPagesBuild:["GET /repos/{owner}/{repo}/pages/builds/{build_id}"],getPagesDeployment:["GET /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}"],getPagesHealthCheck:["GET /repos/{owner}/{repo}/pages/health"],getParticipationStats:["GET /repos/{owner}/{repo}/stats/participation"],getPullRequestReviewProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"],getPunchCardStats:["GET /repos/{owner}/{repo}/stats/punch_card"],getReadme:["GET /repos/{owner}/{repo}/readme"],getReadmeInDirectory:["GET /repos/{owner}/{repo}/readme/{dir}"],getRelease:["GET /repos/{owner}/{repo}/releases/{release_id}"],getReleaseAsset:["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"],getReleaseByTag:["GET /repos/{owner}/{repo}/releases/tags/{tag}"],getRepoRuleSuite:["GET /repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}"],getRepoRuleSuites:["GET /repos/{owner}/{repo}/rulesets/rule-suites"],getRepoRuleset:["GET /repos/{owner}/{repo}/rulesets/{ruleset_id}"],getRepoRulesets:["GET /repos/{owner}/{repo}/rulesets"],getStatusChecksProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"],getTeamsWithAccessToProtectedBranch:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"],getTopPaths:["GET /repos/{owner}/{repo}/traffic/popular/paths"],getTopReferrers:["GET /repos/{owner}/{repo}/traffic/popular/referrers"],getUsersWithAccessToProtectedBranch:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"],getViews:["GET /repos/{owner}/{repo}/traffic/views"],getWebhook:["GET /repos/{owner}/{repo}/hooks/{hook_id}"],getWebhookConfigForRepo:["GET /repos/{owner}/{repo}/hooks/{hook_id}/config"],getWebhookDelivery:["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}"],listActivities:["GET /repos/{owner}/{repo}/activity"],listAutolinks:["GET /repos/{owner}/{repo}/autolinks"],listBranches:["GET /repos/{owner}/{repo}/branches"],listBranchesForHeadCommit:["GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head"],listCollaborators:["GET /repos/{owner}/{repo}/collaborators"],listCommentsForCommit:["GET /repos/{owner}/{repo}/commits/{commit_sha}/comments"],listCommitCommentsForRepo:["GET /repos/{owner}/{repo}/comments"],listCommitStatusesForRef:["GET /repos/{owner}/{repo}/commits/{ref}/statuses"],listCommits:["GET /repos/{owner}/{repo}/commits"],listContributors:["GET /repos/{owner}/{repo}/contributors"],listCustomDeploymentRuleIntegrations:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps"],listDeployKeys:["GET /repos/{owner}/{repo}/keys"],listDeploymentBranchPolicies:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"],listDeploymentStatuses:["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"],listDeployments:["GET /repos/{owner}/{repo}/deployments"],listForAuthenticatedUser:["GET /user/repos"],listForOrg:["GET /orgs/{org}/repos"],listForUser:["GET /users/{username}/repos"],listForks:["GET /repos/{owner}/{repo}/forks"],listInvitations:["GET /repos/{owner}/{repo}/invitations"],listInvitationsForAuthenticatedUser:["GET /user/repository_invitations"],listLanguages:["GET /repos/{owner}/{repo}/languages"],listPagesBuilds:["GET /repos/{owner}/{repo}/pages/builds"],listPublic:["GET /repositories"],listPullRequestsAssociatedWithCommit:["GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls"],listReleaseAssets:["GET /repos/{owner}/{repo}/releases/{release_id}/assets"],listReleases:["GET /repos/{owner}/{repo}/releases"],listTagProtection:["GET /repos/{owner}/{repo}/tags/protection"],listTags:["GET /repos/{owner}/{repo}/tags"],listTeams:["GET /repos/{owner}/{repo}/teams"],listWebhookDeliveries:["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries"],listWebhooks:["GET /repos/{owner}/{repo}/hooks"],merge:["POST /repos/{owner}/{repo}/merges"],mergeUpstream:["POST /repos/{owner}/{repo}/merge-upstream"],pingWebhook:["POST /repos/{owner}/{repo}/hooks/{hook_id}/pings"],redeliverWebhookDelivery:["POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"],removeAppAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",{},{mapToData:"apps"}],removeCollaborator:["DELETE /repos/{owner}/{repo}/collaborators/{username}"],removeStatusCheckContexts:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",{},{mapToData:"contexts"}],removeStatusCheckProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"],removeTeamAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",{},{mapToData:"teams"}],removeUserAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",{},{mapToData:"users"}],renameBranch:["POST /repos/{owner}/{repo}/branches/{branch}/rename"],replaceAllTopics:["PUT /repos/{owner}/{repo}/topics"],requestPagesBuild:["POST /repos/{owner}/{repo}/pages/builds"],setAdminBranchProtection:["POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"],setAppAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",{},{mapToData:"apps"}],setStatusCheckContexts:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",{},{mapToData:"contexts"}],setTeamAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",{},{mapToData:"teams"}],setUserAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",{},{mapToData:"users"}],testPushWebhook:["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"],transfer:["POST /repos/{owner}/{repo}/transfer"],update:["PATCH /repos/{owner}/{repo}"],updateBranchProtection:["PUT /repos/{owner}/{repo}/branches/{branch}/protection"],updateCommitComment:["PATCH /repos/{owner}/{repo}/comments/{comment_id}"],updateDeploymentBranchPolicy:["PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"],updateInformationAboutPagesSite:["PUT /repos/{owner}/{repo}/pages"],updateInvitation:["PATCH /repos/{owner}/{repo}/invitations/{invitation_id}"],updateOrgRuleset:["PUT /orgs/{org}/rulesets/{ruleset_id}"],updatePullRequestReviewProtection:["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"],updateRelease:["PATCH /repos/{owner}/{repo}/releases/{release_id}"],updateReleaseAsset:["PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}"],updateRepoRuleset:["PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}"],updateStatusCheckPotection:["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks",{},{renamed:["repos","updateStatusCheckProtection"]}],updateStatusCheckProtection:["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"],updateWebhook:["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"],updateWebhookConfigForRepo:["PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config"],uploadReleaseAsset:["POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}",{baseUrl:"https://uploads.github.com"}]},search:{code:["GET /search/code"],commits:["GET /search/commits"],issuesAndPullRequests:["GET /search/issues"],labels:["GET /search/labels"],repos:["GET /search/repositories"],topics:["GET /search/topics"],users:["GET /search/users"]},secretScanning:{getAlert:["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"],listAlertsForEnterprise:["GET /enterprises/{enterprise}/secret-scanning/alerts"],listAlertsForOrg:["GET /orgs/{org}/secret-scanning/alerts"],listAlertsForRepo:["GET /repos/{owner}/{repo}/secret-scanning/alerts"],listLocationsForAlert:["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations"],updateAlert:["PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"]},securityAdvisories:{createFork:["POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks"],createPrivateVulnerabilityReport:["POST /repos/{owner}/{repo}/security-advisories/reports"],createRepositoryAdvisory:["POST /repos/{owner}/{repo}/security-advisories"],createRepositoryAdvisoryCveRequest:["POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve"],getGlobalAdvisory:["GET /advisories/{ghsa_id}"],getRepositoryAdvisory:["GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}"],listGlobalAdvisories:["GET /advisories"],listOrgRepositoryAdvisories:["GET /orgs/{org}/security-advisories"],listRepositoryAdvisories:["GET /repos/{owner}/{repo}/security-advisories"],updateRepositoryAdvisory:["PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}"]},teams:{addOrUpdateMembershipForUserInOrg:["PUT /orgs/{org}/teams/{team_slug}/memberships/{username}"],addOrUpdateProjectPermissionsInOrg:["PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}"],addOrUpdateRepoPermissionsInOrg:["PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],checkPermissionsForProjectInOrg:["GET /orgs/{org}/teams/{team_slug}/projects/{project_id}"],checkPermissionsForRepoInOrg:["GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],create:["POST /orgs/{org}/teams"],createDiscussionCommentInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"],createDiscussionInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions"],deleteDiscussionCommentInOrg:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],deleteDiscussionInOrg:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],deleteInOrg:["DELETE /orgs/{org}/teams/{team_slug}"],getByName:["GET /orgs/{org}/teams/{team_slug}"],getDiscussionCommentInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],getDiscussionInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],getMembershipForUserInOrg:["GET /orgs/{org}/teams/{team_slug}/memberships/{username}"],list:["GET /orgs/{org}/teams"],listChildInOrg:["GET /orgs/{org}/teams/{team_slug}/teams"],listDiscussionCommentsInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"],listDiscussionsInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions"],listForAuthenticatedUser:["GET /user/teams"],listMembersInOrg:["GET /orgs/{org}/teams/{team_slug}/members"],listPendingInvitationsInOrg:["GET /orgs/{org}/teams/{team_slug}/invitations"],listProjectsInOrg:["GET /orgs/{org}/teams/{team_slug}/projects"],listReposInOrg:["GET /orgs/{org}/teams/{team_slug}/repos"],removeMembershipForUserInOrg:["DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"],removeProjectInOrg:["DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}"],removeRepoInOrg:["DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],updateDiscussionCommentInOrg:["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],updateDiscussionInOrg:["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],updateInOrg:["PATCH /orgs/{org}/teams/{team_slug}"]},users:{addEmailForAuthenticated:["POST /user/emails",{},{renamed:["users","addEmailForAuthenticatedUser"]}],addEmailForAuthenticatedUser:["POST /user/emails"],addSocialAccountForAuthenticatedUser:["POST /user/social_accounts"],block:["PUT /user/blocks/{username}"],checkBlocked:["GET /user/blocks/{username}"],checkFollowingForUser:["GET /users/{username}/following/{target_user}"],checkPersonIsFollowedByAuthenticated:["GET /user/following/{username}"],createGpgKeyForAuthenticated:["POST /user/gpg_keys",{},{renamed:["users","createGpgKeyForAuthenticatedUser"]}],createGpgKeyForAuthenticatedUser:["POST /user/gpg_keys"],createPublicSshKeyForAuthenticated:["POST /user/keys",{},{renamed:["users","createPublicSshKeyForAuthenticatedUser"]}],createPublicSshKeyForAuthenticatedUser:["POST /user/keys"],createSshSigningKeyForAuthenticatedUser:["POST /user/ssh_signing_keys"],deleteEmailForAuthenticated:["DELETE /user/emails",{},{renamed:["users","deleteEmailForAuthenticatedUser"]}],deleteEmailForAuthenticatedUser:["DELETE /user/emails"],deleteGpgKeyForAuthenticated:["DELETE /user/gpg_keys/{gpg_key_id}",{},{renamed:["users","deleteGpgKeyForAuthenticatedUser"]}],deleteGpgKeyForAuthenticatedUser:["DELETE /user/gpg_keys/{gpg_key_id}"],deletePublicSshKeyForAuthenticated:["DELETE /user/keys/{key_id}",{},{renamed:["users","deletePublicSshKeyForAuthenticatedUser"]}],deletePublicSshKeyForAuthenticatedUser:["DELETE /user/keys/{key_id}"],deleteSocialAccountForAuthenticatedUser:["DELETE /user/social_accounts"],deleteSshSigningKeyForAuthenticatedUser:["DELETE /user/ssh_signing_keys/{ssh_signing_key_id}"],follow:["PUT /user/following/{username}"],getAuthenticated:["GET /user"],getByUsername:["GET /users/{username}"],getContextForUser:["GET /users/{username}/hovercard"],getGpgKeyForAuthenticated:["GET /user/gpg_keys/{gpg_key_id}",{},{renamed:["users","getGpgKeyForAuthenticatedUser"]}],getGpgKeyForAuthenticatedUser:["GET /user/gpg_keys/{gpg_key_id}"],getPublicSshKeyForAuthenticated:["GET /user/keys/{key_id}",{},{renamed:["users","getPublicSshKeyForAuthenticatedUser"]}],getPublicSshKeyForAuthenticatedUser:["GET /user/keys/{key_id}"],getSshSigningKeyForAuthenticatedUser:["GET /user/ssh_signing_keys/{ssh_signing_key_id}"],list:["GET /users"],listBlockedByAuthenticated:["GET /user/blocks",{},{renamed:["users","listBlockedByAuthenticatedUser"]}],listBlockedByAuthenticatedUser:["GET /user/blocks"],listEmailsForAuthenticated:["GET /user/emails",{},{renamed:["users","listEmailsForAuthenticatedUser"]}],listEmailsForAuthenticatedUser:["GET /user/emails"],listFollowedByAuthenticated:["GET /user/following",{},{renamed:["users","listFollowedByAuthenticatedUser"]}],listFollowedByAuthenticatedUser:["GET /user/following"],listFollowersForAuthenticatedUser:["GET /user/followers"],listFollowersForUser:["GET /users/{username}/followers"],listFollowingForUser:["GET /users/{username}/following"],listGpgKeysForAuthenticated:["GET /user/gpg_keys",{},{renamed:["users","listGpgKeysForAuthenticatedUser"]}],listGpgKeysForAuthenticatedUser:["GET /user/gpg_keys"],listGpgKeysForUser:["GET /users/{username}/gpg_keys"],listPublicEmailsForAuthenticated:["GET /user/public_emails",{},{renamed:["users","listPublicEmailsForAuthenticatedUser"]}],listPublicEmailsForAuthenticatedUser:["GET /user/public_emails"],listPublicKeysForUser:["GET /users/{username}/keys"],listPublicSshKeysForAuthenticated:["GET /user/keys",{},{renamed:["users","listPublicSshKeysForAuthenticatedUser"]}],listPublicSshKeysForAuthenticatedUser:["GET /user/keys"],listSocialAccountsForAuthenticatedUser:["GET /user/social_accounts"],listSocialAccountsForUser:["GET /users/{username}/social_accounts"],listSshSigningKeysForAuthenticatedUser:["GET /user/ssh_signing_keys"],listSshSigningKeysForUser:["GET /users/{username}/ssh_signing_keys"],setPrimaryEmailVisibilityForAuthenticated:["PATCH /user/email/visibility",{},{renamed:["users","setPrimaryEmailVisibilityForAuthenticatedUser"]}],setPrimaryEmailVisibilityForAuthenticatedUser:["PATCH /user/email/visibility"],unblock:["DELETE /user/blocks/{username}"],unfollow:["DELETE /user/following/{username}"],updateAuthenticated:["PATCH /user"]}},ko=vo,L=new Map;for(const[e,r]of Object.entries(ko))for(const[s,o]of Object.entries(r)){const[t,i,n]=o,[l,g]=t.split(/ /),_=Object.assign({method:l,url:g},i);L.has(e)||L.set(e,new Map),L.get(e).set(s,{scope:e,methodName:s,endpointDefaults:_,decorations:n})}var yo={has({scope:e},r){return L.get(e).has(r)},getOwnPropertyDescriptor(e,r){return{value:this.get(e,r),configurable:!0,writable:!0,enumerable:!0}},defineProperty(e,r,s){return Object.defineProperty(e.cache,r,s),!0},deleteProperty(e,r){return delete e.cache[r],!0},ownKeys({scope:e}){return[...L.get(e).keys()]},set(e,r,s){return e.cache[r]=s},get({octokit:e,scope:r,cache:s},o){if(s[o])return s[o];const t=L.get(r).get(o);if(!t)return;const{endpointDefaults:i,decorations:n}=t;return n?s[o]=Go(e,r,o,i,n):s[o]=e.request.defaults(i),s[o]}};function Po(e){const r={};for(const s of L.keys())r[s]=new Proxy({octokit:e,scope:s,cache:{}},yo);return r}function Go(e,r,s,o,t){const i=e.request.defaults(o);function n(...l){let g=i.endpoint.merge(...l);if(t.mapToData)return g=Object.assign({},g,{data:g[t.mapToData],[t.mapToData]:void 0}),i(g);if(t.renamed){const[_,v]=t.renamed;e.log.warn(`octokit.${r}.${s}() has been renamed to octokit.${_}.${v}()`)}if(t.deprecated&&e.log.warn(t.deprecated),t.renamedParameters){const _=i.endpoint.merge(...l);for(const[v,h]of Object.entries(t.renamedParameters))v in _&&(e.log.warn(`"${v}" parameter is deprecated for "octokit.${r}.${s}()". Use "${h}" instead`),h in _||(_[h]=_[v]),delete _[v]);return i(_)}return i(...l)}return Object.assign(n,i)}function wr(e){const r=Po(e);return{...r,rest:r}}wr.VERSION=fo;var Oo="20.1.1",So=Eo.plugin(Tr,wr,br).defaults({userAgent:`octokit-rest.js/${Oo}`});const Ao={beforeDevCommand:"yarn dev",beforeBuildCommand:"yarn build",devPath:"http://localhost:5173",distDir:"../dist",withGlobalTauri:!1},Ro={allowlist:{all:!0,fs:{all:!0,scope:["**"]},shell:{all:!0,open:!0,sidecar:!0,scope:[{name:"iib_api_server",sidecar:!0}]}},bundle:{active:!0,targets:"all",identifier:"com.zanllp.iib",icon:["icons/32x32.png","icons/128x128.png","icons/128x128@2x.png","icons/icon.icns","icons/icon.ico"],externalBin:["iib_api_server"]},security:{csp:null},windows:[{fullscreen:!1,resizable:!0,fileDropEnabled:!1,title:"Infinite Image Browsing",width:800,height:600,maximized:!0}]},Fo={build:Ao,package:{productName:"Infinite Image Browsing",version:"1.6.0"},tauri:Ro},fr=new So,Uo="v"+Fo.package.version,x=C(),me=C(""),vr=C(""),kr=C(""),q=H(()=>({tag:kr.value||Uo,hash:vr.value})),Co=H(()=>me.value?me.value!==q.value.tag:!1);async function Do(e,r){try{return(await fr.repos.listCommits({owner:e,repo:r,per_page:1})).data[0]}catch(s){console.error("Error fetching the latest commit:",s)}}async function Lo(e,r){try{return(await fr.repos.getLatestRelease({owner:e,repo:r})).data}catch(s){console.error("Error fetching the latest release:",s)}}const Xe="zanllp",Ze="sd-webui-infinite-image-browsing";Vr(500+500*Math.random()).then(async()=>{Br().then(r=>{kr.value=r.tag??"",vr.value=r.hash??""}),x.value=await Do(Xe,Ze);const e=await Lo(Xe,Ze);me.value=(e==null?void 0:e.tag_name)??""});const I=e=>(rs("data-v-a6c8c220"),e=e(),ss(),e),Io={class:"container"},jo={class:"header"},$o={class:"header-left"},xo={class:"magic-switch-compact"},qo={class:"switch-tooltip"},Ho={class:"tooltip-title"},zo={class:"tooltip-status"},Vo={class:"tooltip-desc"},Bo={class:"switch-bg"},Mo=I(()=>a("div",{class:"switch-track"},null,-1)),Wo={class:"switch-icon"},No=I(()=>a("div",{class:"switch-glow"},null,-1)),Ko={class:"switch-label"},Jo={key:0,style:{"margin-left":"16px","font-size":"1.5em"}},Qo=I(()=>a("div",{"flex-placeholder":""},null,-1)),Xo=I(()=>a("a",{href:"https://github.com/zanllp/sd-webui-infinite-image-browsing",target:"_blank",class:"quick-action"},"Github",-1)),Zo={href:"https://github.com/zanllp/sd-webui-infinite-image-browsing/blob/main/.env.example",target:"_blank",class:"quick-action"},Yo=I(()=>a("a",{href:"https://github.com/zanllp/sd-webui-infinite-image-browsing/releases",target:"_blank",class:"quick-action"},"Releases",-1)),et={href:"https://github.com/zanllp/sd-webui-infinite-image-browsing/wiki/Change-log",target:"_blank",class:"quick-action"},rt={key:1,class:"quick-action"},st={style:{display:"grid",gap:"10px"}},ot={style:{display:"flex",gap:"10px","align-items":"flex-start"}},tt={style:{flex:"1","min-width":"0"}},nt={style:{"font-weight":"600"}},it={style:{"margin-top":"6px",display:"flex",gap:"10px","flex-wrap":"wrap"}},at={style:{display:"flex",gap:"10px","align-items":"flex-start"}},ct={style:{flex:"1","min-width":"0"}},lt={style:{"font-weight":"600"}},pt={style:{"margin-top":"6px"}},ut={style:{display:"flex",gap:"10px","align-items":"flex-start"}},dt={style:{flex:"1","min-width":"0"}},gt={style:{"font-weight":"600"}},mt={class:"access-mode-message"},ht=I(()=>a("div",{"flex-placeholder":""},null,-1)),Tt={class:"content"},Et={class:"feature-item"},_t={class:"text line-clamp-1"},bt={style:{margin:"0 6px"}},wt=I(()=>a("span",{style:{"margin-right":"8px"}},"🎲",-1)),ft=["onClick"],vt={class:"text line-clamp-2"},kt={key:0,class:"feature-item"},yt={class:"text line-clamp-1"},Pt=["onClick"],Gt={class:"text line-clamp-2"},Ot={key:0,class:"fixed"},St={class:"feature-item"},At=["onClick"],Rt={class:"text line-clamp-1"},Ft={class:"text line-clamp-1"},Ut={class:"text line-clamp-1"},Ct={class:"text line-clamp-1"},Dt=["onClick"],Lt={class:"text line-clamp-1"},It={key:1,class:"feature-item recent"},jt={class:"title"},$t=["onClick"],xt={class:"text line-clamp-1"},qt={key:0},Ht={key:1},zt={key:2},Vt={key:3},Bt="https://github.com/zanllp/sd-webui-infinite-image-browsing/issues/90",Mt="https://github.com/zanllp/sd-webui-infinite-image-browsing/issues?q=",Wt="https://github.com/zanllp/sd-webui-infinite-image-browsing/issues/new",Nt="mailto:qc@zanllp.cn",Kt=sr({__name:"emptyStartup",props:{tabIdx:{},paneIdx:{},popAddPathModal:{}},setup(e){const r=e,s=Ye(),o=Mr(),t=Wr();Nr(()=>{r.popAddPathModal&&ie(r.popAddPathModal.type,r.popAddPathModal.path)});const i=Kr(),n=C(!1),l={local:f("local"),"tag-search":f("imgSearch"),"fuzzy-search":f("fuzzy-search"),"topic-search":f("topicSearchExperimental"),"batch-download":f("batchDownload")+" / "+f("archive"),"workspace-snapshot":f("WorkspaceSnapshot"),"random-image":f("randomImage"),"global-setting":f("globalSettings")},g=(c,m,S)=>{let y;switch(c){case"grid-view":case"tag-search-matched-image-grid":case"topic-search-matched-image-grid":case"img-sli":return;case"global-setting":case"tag-search":case"batch-download":case"workspace-snapshot":case"fuzzy-search":case"topic-search":case"random-image":case"empty":y={type:c,name:l[c],key:Date.now()+ne()};break;case"local":y={type:c,name:l[c],key:Date.now()+ne(),path:m,mode:S==="scanned-fixed"||S==="walk"?S:"scanned"}}return y},_=(c,m,S)=>{const y=g(c,m,S);if(!y)return;const R=s.tabList[r.tabIdx];R.panes.splice(r.paneIdx,1,y),R.key=y.key},v=(c,m,S)=>{const y=g(c,m,S);if(!y)return;s.tabList[r.tabIdx].panes.push(y)},h=(c,m,S)=>{const y=g(c,m,S);if(!y)return;let R=s.tabList[r.tabIdx+1];R||(R={panes:[],key:"",id:ne()},s.tabList[r.tabIdx+1]=R),R.panes.push(y),R.key=y.key},k=H(()=>{var c;return(c=s.tabListHistoryRecord)==null?void 0:c[1]}),D=H(()=>s.quickMovePaths.filter(({key:c,types:m})=>c==="outdir_txt2img_samples"||c==="outdir_img2img_samples"||c==="outdir_txt2img_grids"||c==="outdir_img2img_grids"||m.includes("walk"))),yr=window.parent!==window,Pr=()=>window.parent.open("/infinite_image_browsing"+(window.parent.location.href.includes("theme=dark")?"?__theme=dark":"")),Gr=()=>{Qr(k.value),s.tabList=Re(k.value.tabs)},Or=c=>{s.tabList=Re(c.tabs)},Sr=H(()=>{var c;return le?"desktop application":((c=s.conf)==null?void 0:c.launch_mode)==="sd"?"sd-webui extension":"standalone"}),Ar=c=>!c||c==="scanned"?"":c==="walk"?"Walk: ":"Fixed: ",ke=H(()=>{var m,S;const c=[];return(m=s.conf)!=null&&m.enable_access_control&&c.push("accessLimited"),(S=s.conf)!=null&&S.is_readonly&&c.push("readonly"),c.map(y=>f(y)).join(" + ")});return(c,m)=>{var ye,Pe,Ge,Oe;const S=Xr,y=Zr,R=Yr,te=ee,Rr=rr,Fr=Q,Ur=es,Cr=pe,W=pe;return E(),b("div",Io,[a("div",jo,[a("div",$o,[a("h1",null,d(c.$t("welcome")),1),a("div",xo,[T(S,null,{title:w(()=>[a("div",qo,[a("div",Ho,d(c.$t("magicSwitchTiktokView")),1),a("div",zo,d(u(s).magicSwitchTiktokView?c.$t("magicSwitchEnabled"):c.$t("magicSwitchDisabled")),1),a("div",Vo,d(c.$t("magicSwitchDetailDesc")),1)])]),default:w(()=>[a("div",{class:Se(["ultra-cool-switch",{active:u(s).magicSwitchTiktokView}]),onClick:m[0]||(m[0]=p=>u(s).magicSwitchTiktokView=!u(s).magicSwitchTiktokView)},[a("div",Bo,[Mo,a("div",{class:Se(["switch-thumb",{active:u(s).magicSwitchTiktokView}])},[a("span",Wo,d(u(s).magicSwitchTiktokView?"🎬":"📁"),1)],2),No]),a("span",Ko,d(c.$t("tiktokView")),1)],2)]),_:1})])]),(ye=u(s).conf)!=null&&ye.enable_access_control&&u(s).dontShowAgain?(E(),b("div",Jo,[T(u(De),{title:"Access Control mode",style:{"vertical-align":"text-bottom"}})])):A("",!0),Qo,Xo,a("a",Zo,d(c.$t("privacyAndSecurity")),1),T(y,{count:u(Co)?"new":null,offset:[2,0],color:"geekblue"},{default:w(()=>[Yo]),_:1},8,["count"]),a("a",et,d(c.$t("changlog")),1),a("a",{href:"#",class:"quick-action",onClick:m[1]||(m[1]=F(p=>n.value=!0,["prevent"]))},d(c.$t("helpFeedback")),1),u(le)?A("",!0):(E(),b("div",rt,[G(d(c.$t("sync"))+" ",1),T(S,{title:c.$t("syncDesc")},{default:w(()=>[T(u(je))]),_:1},8,["title"]),G(" : "),T(R,{checked:u(i),"onUpdate:checked":m[2]||(m[2]=p=>Jr(i)?i.value=p:null)},null,8,["checked"])])),T(Rr,{value:u(s).darkModeControl,"onUpdate:value":m[3]||(m[3]=p=>u(s).darkModeControl=p),"button-style":"solid"},{default:w(()=>[T(te,{value:"light"},{default:w(()=>[G("Light")]),_:1}),T(te,{value:"auto"},{default:w(()=>[G("Auto")]),_:1}),T(te,{value:"dark"},{default:w(()=>[G("Dark")]),_:1})]),_:1},8,["value"])]),T(Fr,{visible:n.value,"onUpdate:visible":m[4]||(m[4]=p=>n.value=p),title:c.$t("helpFeedback"),footer:null,"mask-closable":!0,width:"520px"},{default:w(()=>[a("div",st,[a("div",ot,[T(u(je),{style:{"margin-top":"2px",opacity:"0.85"}}),a("div",tt,[a("div",nt,d(c.$t("helpFeedbackWay1")),1),a("div",it,[a("a",{href:Bt,target:"_blank",rel:"noopener noreferrer"},d(c.$t("faq")),1),a("a",{href:Mt,target:"_blank",rel:"noopener noreferrer"},d(c.$t("helpFeedbackSearchIssues")),1)])])]),a("div",at,[T(u(ds),{style:{"margin-top":"2px",opacity:"0.85"}}),a("div",ct,[a("div",lt,d(c.$t("helpFeedbackWay2")),1),a("div",pt,[a("a",{href:Wt,target:"_blank",rel:"noopener noreferrer"},d(c.$t("helpFeedbackNewIssue")),1)])])]),a("div",ut,[T(u(bs),{style:{"margin-top":"2px",opacity:"0.85"}}),a("div",dt,[a("div",gt,d(c.$t("helpFeedbackWay3")),1),a("div",{style:{"margin-top":"6px"}},[a("a",{href:Nt},"qc@zanllp.cn")])])])])]),_:1},8,["visible","title"]),(Pe=u(s).conf)!=null&&Pe.enable_access_control&&!u(s).dontShowAgain?(E(),J(Ur,{key:0,"show-icon":""},{message:w(()=>[a("div",mt,[a("div",null,d(c.$t("accessControlModeTips")),1),ht,a("a",{onClick:m[5]||(m[5]=F(p=>u(s).dontShowAgain=!0,["prevent"]))},d(c.$t("dontShowAgain")),1)])]),icon:w(()=>[T(u(De))]),_:1})):A("",!0),a("div",Tt,[a("div",Et,[a("h2",null,d(c.$t("walkMode")),1),a("ul",null,[a("li",{onClick:m[6]||(m[6]=p=>u(ie)("walk")),class:"item"},[a("span",_t,[T(u(Ae)),G(" "+d(c.$t("add")),1)])]),u(s).showRandomImageInStartup?(E(),J(Cr,{key:0,onClick:m[7]||(m[7]=p=>_("random-image")),type:"primary",style:{"border-radius":"100vw","margin-bottom":"8px"},ghost:""},{default:w(()=>[a("span",bt,[wt,G(d(c.$t("tryMyLuck")),1)])]),_:1})):A("",!0),(E(!0),b(U,null,j(D.value,p=>(E(),J(qe,{key:p.key,onOpenInNewTab:P=>v("local",p.dir,"walk"),onOpenOnTheRight:P=>h("local",p.dir,"walk")},{default:w(()=>[a("li",{class:"item rem",onClick:F(P=>_("local",p.dir,"walk"),["prevent"])},[a("span",vt,d(p.zh),1),p.can_delete?(E(),b(U,{key:0},[T(W,{type:"link",onClick:F(P=>u(xe)(p.dir),["stop"])},{default:w(()=>[G(d(c.$t("alias")),1)]),_:2},1032,["onClick"]),T(W,{type:"link",onClick:F(P=>u($e)(p.dir,"walk"),["stop"])},{default:w(()=>[G(d(c.$t("remove")),1)]),_:2},1032,["onClick"])],64)):A("",!0)],8,ft)]),_:2},1032,["onOpenInNewTab","onOpenOnTheRight"]))),128))])]),u(s).quickMovePaths.length?(E(),b("div",kt,[a("h2",null,d(c.$t("launchFromNormalAndFixed")),1),a("ul",null,[a("li",{onClick:m[8]||(m[8]=p=>u(ie)("scanned-fixed")),class:"item"},[a("span",yt,[T(u(Ae)),G(" "+d(c.$t("add")),1)])]),(E(!0),b(U,null,j(u(s).quickMovePaths.filter(({types:p})=>p.includes("cli_access_only")||p.includes("preset")||p.includes("scanned")||p.includes("scanned-fixed")),p=>(E(),b(U,{key:p.key},[(E(!0),b(U,null,j(p.types.filter(P=>P!=="walk"),P=>(E(),J(qe,{key:P,onOpenInNewTab:Y=>v("local",p.dir,P),onOpenOnTheRight:Y=>h("local",p.dir,P)},{default:w(()=>[a("li",{class:"item rem",onClick:F(Y=>_("local",p.dir,P),["prevent"])},[a("span",Gt,[P=="scanned-fixed"?(E(),b("span",Ot,"Fixed")):A("",!0),G(d(p.zh),1)]),p.can_delete&&(P==="scanned-fixed"||P==="scanned")?(E(),b(U,{key:0},[T(W,{type:"link",onClick:F(Y=>u(xe)(p.dir),["stop"])},{default:w(()=>[G(d(c.$t("alias")),1)]),_:2},1032,["onClick"]),T(W,{type:"link",onClick:F(Y=>u($e)(p.dir,P),["stop"])},{default:w(()=>[G(d(c.$t("remove")),1)]),_:2},1032,["onClick"])],64)):A("",!0)],8,Pt)]),_:2},1032,["onOpenInNewTab","onOpenOnTheRight"]))),128))],64))),128))])])):A("",!0),a("div",St,[a("h2",null,d(c.$t("launch")),1),a("ul",null,[(E(!0),b(U,null,j(Object.keys(l),p=>(E(),b("li",{key:p,class:"item",onClick:F(P=>_(p),["prevent"])},[a("span",Rt,d(l[p]),1)],8,At))),128)),a("li",{class:"item",onClick:m[9]||(m[9]=p=>u(o).opened=!0)},[a("span",Ft,d(c.$t("imgCompare")),1)]),yr?(E(),b("li",{key:0,class:"item",onClick:Pr},[a("span",Ut,d(c.$t("openThisAppInNewWindow")),1)])):A("",!0),(Ge=k.value)!=null&&Ge.tabs.length?(E(),b("li",{key:1,class:"item",onClick:Gr},[a("span",Ct,d(c.$t("restoreLastWorkspaceState")),1)])):A("",!0),(E(!0),b(U,null,j(u(t).snapshots,p=>(E(),b("li",{class:"item",key:p.id,onClick:P=>Or(p)},[a("span",Lt,d(c.$t("restoreWorkspaceSnapshot",[p.name])),1)],8,Dt))),128))])]),u(s).recent.length?(E(),b("div",It,[a("div",jt,[a("h2",null,d(c.$t("recent")),1),T(W,{onClick:m[10]||(m[10]=p=>u(s).recent=[]),type:"link"},{default:w(()=>[G(d(c.$t("clear")),1)]),_:1})]),a("ul",null,[(E(!0),b(U,null,j(u(s).recent,p=>(E(),b("li",{key:p.key,class:"item",onClick:F(P=>_("local",p.path,p.mode),["prevent"])},[T(u(cs),{class:"icon"}),a("span",xt,d(Ar(p.mode))+d(u(s).getShortPath(p.path)),1)],8,$t))),128))])])):A("",!0)]),a("div",{class:"ver-info",onDblclick:m[11]||(m[11]=p=>u(V).info("Ciallo~(∠・ω< )⌒☆"))},[ke.value?(E(),b("div",qt," Mode: "+d(ke.value),1)):A("",!0),a("div",null," Version: "+d(u(q).tag)+" ("+d(Sr.value)+") ",1),u(q).hash?(E(),b("div",Ht," Hash: "+d(u(q).hash),1)):A("",!0),u(x)&&u(q).hash&&u(x).sha!==u(q).hash?(E(),b("div",zt," Not the latest commit ")):A("",!0),u(x)?(E(),b("div",Vt," Latest Commit: "+d(u(x).sha)+" (Updated at "+d((Oe=u(x).commit.author)==null?void 0:Oe.date)+") ",1)):A("",!0)],32)])}}});const Xt=os(Kt,[["__scopeId","data-v-a6c8c220"]]);export{Xt as default}; diff --git a/vue/dist/assets/globalSetting-bdaa1c5e.js b/vue/dist/assets/globalSetting-85de293a.js similarity index 99% rename from vue/dist/assets/globalSetting-bdaa1c5e.js rename to vue/dist/assets/globalSetting-85de293a.js index 4d178cb..0f26845 100644 --- a/vue/dist/assets/globalSetting-bdaa1c5e.js +++ b/vue/dist/assets/globalSetting-85de293a.js @@ -1 +1 @@ -import{d as G,p as H,r as B,s as pe,ay as Y,o as _,j as v,c as a,C as s,E as e,X as t,B as R,m as U,k as d,F as $,a5 as ee,a6 as te,aj as x,v as he,t as u,ap as j,l as w,K as M,S as V,az as J,aA as ge,W as O,a3 as z,a0 as _e,a2 as ae,n as oe,an as me,aB as ve,aC as fe,aD as ke,aE as be,aF as ye,Q as we,H as Ce,V as Se,G as Q,T as Te,aG as Pe,aH as $e,aI as Ue,aJ as xe,av as Ie,Z as Ae,a7 as Re}from"./index-32743103.js";import{_ as W,g as Me,C as X,a as Fe}from"./shortcut-3129f75b.js";/* empty css *//* empty css */const Z="/infinite_image_browsing/fe-static/assets/sample-55dcafc6.webp",Le=["width","height","src"],Ee=G({__name:"ImageSetting",setup(K){function l(I,m){return new Promise(k=>{const b=new Image;b.onload=()=>{const g=document.createElement("canvas");g.width=b.width*m,g.height=b.height*m,g.getContext("2d").drawImage(b,0,0,g.width,g.height),k(g.toDataURL())},b.src=I})}const r=H(),T=B("");return pe(()=>[r.enableThumbnail,r.gridThumbnailResolution],Y(async()=>{r.enableThumbnail&&(T.value=await l(Z,r.gridThumbnailResolution/1024))},300),{immediate:!0,deep:!0}),(I,m)=>{const k=ee,b=te;return _(),v($,null,[a(k,{label:e(t)("defaultGridCellWidth")},{default:s(()=>[a(W,{min:64,max:1024,step:16,modelValue:e(r).defaultGridCellWidth,"onUpdate:modelValue":m[0]||(m[0]=g=>e(r).defaultGridCellWidth=g)},null,8,["modelValue"])]),_:1},8,["label"]),a(k,{label:e(t)("useThumbnailPreview")},{default:s(()=>[a(b,{checked:e(r).enableThumbnail,"onUpdate:checked":m[1]||(m[1]=g=>e(r).enableThumbnail=g)},null,8,["checked"])]),_:1},8,["label"]),e(r).enableThumbnail?(_(),R(k,{key:0,label:e(t)("thumbnailResolution")},{default:s(()=>[a(W,{modelValue:e(r).gridThumbnailResolution,"onUpdate:modelValue":m[2]||(m[2]=g=>e(r).gridThumbnailResolution=g),min:256,max:1024,step:64},null,8,["modelValue"])]),_:1},8,["label"])):U("",!0),a(k,{label:e(t)("livePreview")},{default:s(()=>[d("div",null,[d("img",{width:e(r).defaultGridCellWidth,height:e(r).defaultGridCellWidth,src:e(r).enableThumbnail?T.value:e(Z)},null,8,Le)])]),_:1},8,["label"]),a(k,{label:e(t)("defaultShowChangeIndicators")},{default:s(()=>[a(b,{checked:e(r).defaultChangeIndchecked,"onUpdate:checked":m[3]||(m[3]=g=>e(r).defaultChangeIndchecked=g)},null,8,["checked"])]),_:1},8,["label"]),e(r).defaultChangeIndchecked?(_(),R(k,{key:1,label:e(t)("defaultSeedAsChange")},{default:s(()=>[a(b,{checked:e(r).defaultSeedChangeChecked,"onUpdate:checked":m[4]||(m[4]=g=>e(r).defaultSeedChangeChecked=g)},null,8,["checked"])]),_:1},8,["label"])):U("",!0),a(k,{label:e(t)("previewMaskBackgroundOpacity")},{default:s(()=>[a(W,{min:0,max:1,step:.05,modelValue:e(r).previewBgOpacity,"onUpdate:modelValue":m[5]||(m[5]=g=>e(r).previewBgOpacity=g)},null,8,["modelValue"])]),_:1},8,["label"])],64)}}}),Ve={class:"auto-tag-settings"},We={class:"header"},Be={class:"description"},Ne={class:"actions"},De={class:"rules-list"},Oe={class:"rule-header"},ze={class:"filters-list"},Ge={key:0,class:"empty-tip"},He=G({__name:"AutoTagSettings",setup(K){const l=B([]),r=H(),T=x(()=>{var h,C;return((C=(h=r.conf)==null?void 0:h.all_custom_tags)==null?void 0:C.filter(f=>f.type==="custom"))||[]}),I={value:h=>h.name,text:h=>h.display_name?`${h.display_name} : ${h.name}`:h.name};he(()=>{var C,f;const h=(f=(C=r.conf)==null?void 0:C.app_fe_setting)==null?void 0:f.auto_tag_rules;h&&(l.value=h)});const m=()=>{l.value.push({tag:"",filters:[]})},k=h=>{l.value.splice(h,1)},b=h=>{h.filters.push({field:"pos_prompt",operator:"contains",value:""})},g=(h,C)=>{h.filters.splice(C,1)},F=async()=>{try{await ge("auto_tag_rules",l.value),O.success(t("autoTag.saveSuccess")),r.conf&&r.conf.app_fe_setting&&(r.conf.app_fe_setting.auto_tag_rules=l.value)}catch(h){O.error(t("autoTag.saveFail")+": "+h)}},N=x(()=>[{label:t("autoTag.fields.posPrompt"),value:"pos_prompt"},{label:t("autoTag.fields.negPrompt"),value:"neg_prompt"},{label:t("autoTag.fields.model"),value:"Model"},{label:t("autoTag.fields.sampler"),value:"Sampler"},{label:t("autoTag.fields.size"),value:"Size"},{label:t("autoTag.fields.cfgScale"),value:"CFG scale"},{label:t("autoTag.fields.steps"),value:"Steps"},{label:t("autoTag.fields.seed"),value:"Seed"}]),L=x(()=>[{label:t("autoTag.operators.contains"),value:"contains"},{label:t("autoTag.operators.equals"),value:"equals"},{label:t("autoTag.operators.regex"),value:"regex"}]);return(h,C)=>{const f=z,A=_e,D=ae;return _(),v("div",Ve,[d("div",We,[d("div",Be,u(e(t)("autoTag.description")),1),d("div",Ne,[a(f,{type:"primary",onClick:m},{icon:s(()=>[a(e(j))]),default:s(()=>[w(" "+u(e(t)("autoTag.addRule")),1)]),_:1}),a(f,{type:"primary",onClick:F,style:{"margin-left":"16px"}},{default:s(()=>[w(u(e(t)("autoTag.saveConfig")),1)]),_:1})])]),d("div",De,[(_(!0),v($,null,M(l.value,(n,o)=>(_(),v("div",{key:o,class:"rule-card"},[d("div",Oe,[a(e(V),{conv:I,style:{width:"240px"},options:T.value,value:n.tag,"onUpdate:value":c=>n.tag=c,disabled:!T.value.length,placeholder:e(t)("autoTag.inputTagName")},null,8,["options","value","onUpdate:value","disabled","placeholder"]),a(f,{type:"text",danger:"",onClick:c=>k(o)},{icon:s(()=>[a(e(J))]),_:2},1032,["onClick"])]),d("div",ze,[(_(!0),v($,null,M(n.filters,(c,S)=>(_(),v("div",{key:S,class:"filter-row"},[a(A,{value:c.field,"onUpdate:value":p=>c.field=p,style:{width:"240px"},options:N.value},null,8,["value","onUpdate:value","options"]),a(A,{value:c.operator,"onUpdate:value":p=>c.operator=p,style:{width:"160px"},options:L.value},null,8,["value","onUpdate:value","options"]),a(D,{value:c.value,"onUpdate:value":p=>c.value=p,placeholder:e(t)("autoTag.value"),style:{flex:"1"}},null,8,["value","onUpdate:value","placeholder"]),a(f,{type:"text",danger:"",onClick:p=>g(n,S)},{icon:s(()=>[a(e(J))]),_:2},1032,["onClick"])]))),128)),a(f,{type:"dashed",block:"",onClick:c=>b(n),style:{"margin-top":"8px"}},{icon:s(()=>[a(e(j))]),default:s(()=>[w(" "+u(e(t)("autoTag.addFilter")),1)]),_:2},1032,["onClick"])])]))),128))]),l.value.length===0?(_(),v("div",Ge,u(e(t)("autoTag.noRules")),1)):U("",!0)])}}});const Ke=oe(He,[["__scopeId","data-v-a56a2d27"]]),qe={class:"panel"},je={class:"lang-select-wrap"},Je={style:{"margin-top":"64px"}},Qe={style:{"margin-top":"64px"}},Xe={style:{"margin-left":"8px",color:"#666"}},Ze={style:{"margin-left":"8px",color:"#666"}},Ye={style:{"margin-top":"0"}},et={style:{"padding-left":"8px",color:"#666"}},tt={class:"shortcut-preset-desc"},at={class:"shortcut-preset-section-title"},ot={class:"shortcut-preset-grid shortcut-preset-grid-header"},lt={class:"mono"},nt={class:"shortcut-title-row"},st={class:"col"},it=G({__name:"globalSetting",setup(K){const l=H(),r=me(),T=B(!1),I=async()=>{window.location.reload()},m=[{value:"en",text:"English"},{value:"zhHans",text:"简体中文"},{value:"zhHant",text:"繁體中文"},{value:"de",text:"Deutsch"}],k=Y(n=>{const o=l.shortcut[n];["ctrl","shift"].includes(o.toLowerCase())&&(l.shortcut[n]="")},700),b=ve(()=>{O.warn(t("notAllowSingleCtrlOrShiftAsShortcut"))},3e3),g=(n,o)=>{const c=Me(n);["ctrl","shift"].includes(c.toLowerCase())&&(b(),k(o)),c&&(l.shortcut[o]=c)},F=async()=>{await Pe("shutdown_api_server_command"),await $e.removeFile(Ue),await xe()},N=x(()=>[{value:"empty",text:t("emptyStartPage")},{value:"last-workspace-state",text:t("restoreLastWorkspaceState")},...r.snapshots.map(o=>({value:`workspace_snapshot_${o.id}`,text:t("restoreWorkspaceSnapshot",[o.name])}))]),L=x(()=>{const n=l.shortcut,o={};return Object.values(n).forEach(c=>{var S;o[S=c+""]??(o[S]=0),o[c+""]++}),o}),h=x(()=>{var o;const n=[{key:"download",label:t("download")},{key:"delete",label:t("deleteSelected")}];return(o=l.conf)==null||o.all_custom_tags.forEach(c=>{n.push({key:`toggle_tag_${c.name}`,label:t("toggleTagSelection",{tag:c.name})})}),l.quickMovePaths.forEach(c=>{n.push({key:`copy_to_${c.dir}`,label:t("copyTo")+" "+c.zh})}),l.quickMovePaths.forEach(c=>{n.push({key:`move_to_${c.dir}`,label:t("moveTo")+" "+c.zh})}),n}),C=n=>n&&n in L.value&&L.value[n]>1,f=fe(ke+"disable_maximize",!1),A=B(!1),D=x(()=>[{title:t("shortcutPresetSectionBrowse"),items:[{keys:"PageUp / PageDown",location:t("shortcutPresetLocationFileList"),action:t("shortcutPresetActionPageJump")},{keys:"Home / End",location:t("shortcutPresetLocationFileList"),action:t("shortcutPresetActionHomeEnd")},{keys:"Backspace",location:t("shortcutPresetLocationFileList"),action:t("shortcutPresetActionBackspaceUp")},{keys:"Ctrl + A / Cmd + A",location:t("shortcutPresetLocationFileList"),action:t("shortcutPresetActionSelectAll")}]},{title:t("shortcutPresetSectionFullscreen"),items:[{keys:"ArrowLeft / ArrowRight / ArrowUp / ArrowDown",location:t("shortcutPresetLocationFullscreen"),action:t("shortcutPresetActionFullscreenNavigate")},{keys:"Esc",location:t("shortcutPresetLocationFullscreen"),action:t("shortcutPresetActionFullscreenExit")}]},{title:t("shortcutPresetSectionTiktok"),items:[{keys:"ArrowUp / ArrowDown",location:t("shortcutPresetLocationTiktok"),action:t("shortcutPresetActionTiktokNavigate")},{keys:"Esc",location:t("shortcutPresetLocationTiktok"),action:t("shortcutPresetActionTiktokExit")}]}]);return(n,o)=>{var q;const c=Ie,S=z,p=ee,P=te,le=z,ne=W,E=X,se=Fe,ie=X,ue=Ae,de=ae,re=Re;return _(),v("div",qe,[(q=e(l).conf)!=null&&q.is_readonly?(_(),R(c,{key:0,message:n.$t("readonlyModeSettingPageDesc"),type:"warning"},null,8,["message"])):U("",!0),U("",!0),a(re,null,{default:s(()=>[a(p,{label:n.$t("lang")},{default:s(()=>[d("div",je,[a(e(V),{options:m,value:e(l).lang,"onUpdate:value":o[0]||(o[0]=i=>e(l).lang=i),onChange:o[1]||(o[1]=i=>T.value=!0)},null,8,["value"])]),T.value?(_(),R(S,{key:0,type:"primary",onClick:I,ghost:""},{default:s(()=>[w(u(e(t)("langChangeReload")),1)]),_:1})):U("",!0)]),_:1},8,["label"]),d("h2",Je,u(e(t)("ImageBrowsingSettings")),1),a(Ee),d("h2",Qe,u(e(t)("autoTag.name")),1),a(Ke),d("h2",null,"TikTok "+u(e(t)("view")),1),a(p,{label:n.$t("showTiktokNavigator")},{default:s(()=>[a(P,{checked:e(l).showTiktokNavigator,"onUpdate:checked":o[2]||(o[2]=i=>e(l).showTiktokNavigator=i)},null,8,["checked"]),d("span",Xe,u(e(t)("showTiktokNavigatorDesc")),1)]),_:1},8,["label"]),d("h2",null,u(e(t)("imgSearch")),1),a(p,{label:n.$t("rebuildImageIndex")},{default:s(()=>[a(le,{onClick:e(be)},{default:s(()=>[w(u(n.$t("start")),1)]),_:1},8,["onClick"])]),_:1},8,["label"]),a(p,{label:n.$t("autoUpdateIndex")},{default:s(()=>[a(P,{checked:e(l).autoUpdateIndex,"onUpdate:checked":o[3]||(o[3]=i=>e(l).autoUpdateIndex=i)},null,8,["checked"]),d("span",Ze,u(e(t)("autoUpdateIndexDesc")),1)]),_:1},8,["label"]),d("h2",null,u(e(t)("autoRefresh")),1),a(p,{label:n.$t("autoRefreshWalkMode")},{default:s(()=>[a(P,{checked:e(l).autoRefreshWalkMode,"onUpdate:checked":o[4]||(o[4]=i=>e(l).autoRefreshWalkMode=i)},null,8,["checked"])]),_:1},8,["label"]),a(p,{label:n.$t("autoRefreshNormalFixedMode")},{default:s(()=>[a(P,{checked:e(l).autoRefreshNormalFixedMode,"onUpdate:checked":o[5]||(o[5]=i=>e(l).autoRefreshNormalFixedMode=i)},null,8,["checked"])]),_:1},8,["label"]),a(p,{label:e(t)("autoRefreshWalkModePosLimit")},{default:s(()=>[a(ne,{min:0,max:1024,step:16,modelValue:e(l).autoRefreshWalkModePosLimit,"onUpdate:modelValue":o[6]||(o[6]=i=>e(l).autoRefreshWalkModePosLimit=i)},null,8,["modelValue"])]),_:1},8,["label"]),d("h2",Ye,u(e(t)("other")),1),a(p,{label:n.$t("fileTypeFilter")},{default:s(()=>[a(se,{value:e(l).fileTypeFilter,"onUpdate:value":o[7]||(o[7]=i=>e(l).fileTypeFilter=i)},{default:s(()=>[a(E,{value:"all"},{default:s(()=>[w(u(n.$t("allFiles")),1)]),_:1}),a(E,{value:"image"},{default:s(()=>[w(u(n.$t("image")),1)]),_:1}),a(E,{value:"video"},{default:s(()=>[w(u(n.$t("video")),1)]),_:1}),a(E,{value:"audio"},{default:s(()=>[w(u(n.$t("audio")),1)]),_:1})]),_:1},8,["value"])]),_:1},8,["label"]),a(p,{label:n.$t("showCommaInGenInfoPanel")},{default:s(()=>[a(P,{checked:e(l).showCommaInInfoPanel,"onUpdate:checked":o[8]||(o[8]=i=>e(l).showCommaInInfoPanel=i)},null,8,["checked"])]),_:1},8,["label"]),a(p,{label:n.$t("showRandomImageInStartup")},{default:s(()=>[a(P,{checked:e(l).showRandomImageInStartup,"onUpdate:checked":o[9]||(o[9]=i=>e(l).showRandomImageInStartup=i)},null,8,["checked"])]),_:1},8,["label"]),a(p,{label:n.$t("defaultSortingMethod")},{default:s(()=>[a(e(V),{value:e(l).defaultSortingMethod,"onUpdate:value":o[10]||(o[10]=i=>e(l).defaultSortingMethod=i),conv:e(ye),options:e(we)},null,8,["value","conv","options"])]),_:1},8,["label"]),a(p,{label:n.$t("longPressOpenContextMenu")},{default:s(()=>[a(P,{checked:e(l).longPressOpenContextMenu,"onUpdate:checked":o[11]||(o[11]=i=>e(l).longPressOpenContextMenu=i)},null,8,["checked"])]),_:1},8,["label"]),a(p,{label:n.$t("openOnAppStart")},{default:s(()=>[a(e(V),{value:e(l).defaultInitinalPage,"onUpdate:value":o[12]||(o[12]=i=>e(l).defaultInitinalPage=i),options:N.value},null,8,["value","options"])]),_:1},8,["label"]),(_(!0),v($,null,M(e(l).ignoredConfirmActions,(i,y)=>(_(),R(p,{label:n.$t(y+"SkipConfirm"),key:y},{default:s(()=>[a(ie,{checked:e(l).ignoredConfirmActions[y],"onUpdate:checked":ce=>e(l).ignoredConfirmActions[y]=ce},null,8,["checked","onUpdate:checked"])]),_:2},1032,["label"]))),128)),a(p,{label:n.$t("disableMaximize")},{default:s(()=>[a(P,{checked:e(f),"onUpdate:checked":o[13]||(o[13]=i=>Ce(f)?f.value=i:null)},null,8,["checked"]),d("sub",et,u(n.$t("takeEffectAfterReloadPage")),1)]),_:1},8,["label"]),a(ue,{visible:A.value,"onUpdate:visible":o[14]||(o[14]=i=>A.value=i),title:e(t)("shortcutPresetTitle"),width:"800px",footer:null},{default:s(()=>[d("div",tt,u(e(t)("shortcutPresetDesc")),1),(_(!0),v($,null,M(D.value,i=>(_(),v("div",{class:"shortcut-preset-section",key:i.title},[d("div",at,u(i.title),1),d("div",ot,[d("div",null,u(e(t)("shortcutPresetHeaderKey")),1),d("div",null,u(e(t)("shortcutPresetHeaderWhere")),1),d("div",null,u(e(t)("shortcutPresetHeaderAction")),1)]),(_(!0),v($,null,M(i.items,y=>(_(),v("div",{class:"shortcut-preset-grid",key:y.keys+y.action},[d("div",lt,u(y.keys),1),d("div",null,u(y.location),1),d("div",null,u(y.action),1)]))),128))]))),128))]),_:1},8,["visible","title"]),d("div",nt,[d("h2",null,u(e(t)("shortcutKey")),1)]),a(S,{type:"link",onClick:o[15]||(o[15]=i=>A.value=!0)},{default:s(()=>[w(u(e(t)("shortcutPresetButton")),1)]),_:1}),(_(!0),v($,null,M(h.value,i=>(_(),R(p,{label:i.label,key:i.key},{default:s(()=>[d("div",{class:Se(["col",{conflict:C(e(l).shortcut[i.key]+"")}]),onKeydown:o[16]||(o[16]=Q(()=>{},["stop","prevent"]))},[a(de,{value:e(l).shortcut[i.key],onKeydown:Q(y=>g(y,i.key),["stop","prevent"]),placeholder:n.$t("shortcutKeyDescription")},null,8,["value","onKeydown","placeholder"]),a(S,{onClick:y=>e(l).shortcut[i.key]="",class:"clear-btn"},{default:s(()=>[w(u(n.$t("clear")),1)]),_:2},1032,["onClick"])],34)]),_:2},1032,["label"]))),128)),e(Te)?(_(),v($,{key:0},[d("h2",null,u(e(t)("clientSpecificSettings")),1),a(p,null,{default:s(()=>[d("div",st,[a(S,{onClick:F,class:"clear-btn"},{default:s(()=>[w(u(n.$t("initiateSoftwareStartupConfig")),1)]),_:1})])]),_:1})],64)):U("",!0)]),_:1})])}}});const pt=oe(it,[["__scopeId","data-v-edfb98d3"]]);export{pt as default}; +import{d as G,p as H,r as B,s as pe,ay as Y,o as _,j as v,c as a,C as s,E as e,X as t,B as R,m as U,k as d,F as $,a5 as ee,a6 as te,aj as x,v as he,t as u,ap as j,l as w,K as M,S as V,az as J,aA as ge,W as O,a3 as z,a0 as _e,a2 as ae,n as oe,an as me,aB as ve,aC as fe,aD as ke,aE as be,aF as ye,Q as we,H as Ce,V as Se,G as Q,T as Te,aG as Pe,aH as $e,aI as Ue,aJ as xe,av as Ie,Z as Ae,a7 as Re}from"./index-f2db319b.js";import{_ as W,g as Me,C as X,a as Fe}from"./shortcut-869fab50.js";/* empty css *//* empty css */const Z="/infinite_image_browsing/fe-static/assets/sample-55dcafc6.webp",Le=["width","height","src"],Ee=G({__name:"ImageSetting",setup(K){function l(I,m){return new Promise(k=>{const b=new Image;b.onload=()=>{const g=document.createElement("canvas");g.width=b.width*m,g.height=b.height*m,g.getContext("2d").drawImage(b,0,0,g.width,g.height),k(g.toDataURL())},b.src=I})}const r=H(),T=B("");return pe(()=>[r.enableThumbnail,r.gridThumbnailResolution],Y(async()=>{r.enableThumbnail&&(T.value=await l(Z,r.gridThumbnailResolution/1024))},300),{immediate:!0,deep:!0}),(I,m)=>{const k=ee,b=te;return _(),v($,null,[a(k,{label:e(t)("defaultGridCellWidth")},{default:s(()=>[a(W,{min:64,max:1024,step:16,modelValue:e(r).defaultGridCellWidth,"onUpdate:modelValue":m[0]||(m[0]=g=>e(r).defaultGridCellWidth=g)},null,8,["modelValue"])]),_:1},8,["label"]),a(k,{label:e(t)("useThumbnailPreview")},{default:s(()=>[a(b,{checked:e(r).enableThumbnail,"onUpdate:checked":m[1]||(m[1]=g=>e(r).enableThumbnail=g)},null,8,["checked"])]),_:1},8,["label"]),e(r).enableThumbnail?(_(),R(k,{key:0,label:e(t)("thumbnailResolution")},{default:s(()=>[a(W,{modelValue:e(r).gridThumbnailResolution,"onUpdate:modelValue":m[2]||(m[2]=g=>e(r).gridThumbnailResolution=g),min:256,max:1024,step:64},null,8,["modelValue"])]),_:1},8,["label"])):U("",!0),a(k,{label:e(t)("livePreview")},{default:s(()=>[d("div",null,[d("img",{width:e(r).defaultGridCellWidth,height:e(r).defaultGridCellWidth,src:e(r).enableThumbnail?T.value:e(Z)},null,8,Le)])]),_:1},8,["label"]),a(k,{label:e(t)("defaultShowChangeIndicators")},{default:s(()=>[a(b,{checked:e(r).defaultChangeIndchecked,"onUpdate:checked":m[3]||(m[3]=g=>e(r).defaultChangeIndchecked=g)},null,8,["checked"])]),_:1},8,["label"]),e(r).defaultChangeIndchecked?(_(),R(k,{key:1,label:e(t)("defaultSeedAsChange")},{default:s(()=>[a(b,{checked:e(r).defaultSeedChangeChecked,"onUpdate:checked":m[4]||(m[4]=g=>e(r).defaultSeedChangeChecked=g)},null,8,["checked"])]),_:1},8,["label"])):U("",!0),a(k,{label:e(t)("previewMaskBackgroundOpacity")},{default:s(()=>[a(W,{min:0,max:1,step:.05,modelValue:e(r).previewBgOpacity,"onUpdate:modelValue":m[5]||(m[5]=g=>e(r).previewBgOpacity=g)},null,8,["modelValue"])]),_:1},8,["label"])],64)}}}),Ve={class:"auto-tag-settings"},We={class:"header"},Be={class:"description"},Ne={class:"actions"},De={class:"rules-list"},Oe={class:"rule-header"},ze={class:"filters-list"},Ge={key:0,class:"empty-tip"},He=G({__name:"AutoTagSettings",setup(K){const l=B([]),r=H(),T=x(()=>{var h,C;return((C=(h=r.conf)==null?void 0:h.all_custom_tags)==null?void 0:C.filter(f=>f.type==="custom"))||[]}),I={value:h=>h.name,text:h=>h.display_name?`${h.display_name} : ${h.name}`:h.name};he(()=>{var C,f;const h=(f=(C=r.conf)==null?void 0:C.app_fe_setting)==null?void 0:f.auto_tag_rules;h&&(l.value=h)});const m=()=>{l.value.push({tag:"",filters:[]})},k=h=>{l.value.splice(h,1)},b=h=>{h.filters.push({field:"pos_prompt",operator:"contains",value:""})},g=(h,C)=>{h.filters.splice(C,1)},F=async()=>{try{await ge("auto_tag_rules",l.value),O.success(t("autoTag.saveSuccess")),r.conf&&r.conf.app_fe_setting&&(r.conf.app_fe_setting.auto_tag_rules=l.value)}catch(h){O.error(t("autoTag.saveFail")+": "+h)}},N=x(()=>[{label:t("autoTag.fields.posPrompt"),value:"pos_prompt"},{label:t("autoTag.fields.negPrompt"),value:"neg_prompt"},{label:t("autoTag.fields.model"),value:"Model"},{label:t("autoTag.fields.sampler"),value:"Sampler"},{label:t("autoTag.fields.size"),value:"Size"},{label:t("autoTag.fields.cfgScale"),value:"CFG scale"},{label:t("autoTag.fields.steps"),value:"Steps"},{label:t("autoTag.fields.seed"),value:"Seed"}]),L=x(()=>[{label:t("autoTag.operators.contains"),value:"contains"},{label:t("autoTag.operators.equals"),value:"equals"},{label:t("autoTag.operators.regex"),value:"regex"}]);return(h,C)=>{const f=z,A=_e,D=ae;return _(),v("div",Ve,[d("div",We,[d("div",Be,u(e(t)("autoTag.description")),1),d("div",Ne,[a(f,{type:"primary",onClick:m},{icon:s(()=>[a(e(j))]),default:s(()=>[w(" "+u(e(t)("autoTag.addRule")),1)]),_:1}),a(f,{type:"primary",onClick:F,style:{"margin-left":"16px"}},{default:s(()=>[w(u(e(t)("autoTag.saveConfig")),1)]),_:1})])]),d("div",De,[(_(!0),v($,null,M(l.value,(n,o)=>(_(),v("div",{key:o,class:"rule-card"},[d("div",Oe,[a(e(V),{conv:I,style:{width:"240px"},options:T.value,value:n.tag,"onUpdate:value":c=>n.tag=c,disabled:!T.value.length,placeholder:e(t)("autoTag.inputTagName")},null,8,["options","value","onUpdate:value","disabled","placeholder"]),a(f,{type:"text",danger:"",onClick:c=>k(o)},{icon:s(()=>[a(e(J))]),_:2},1032,["onClick"])]),d("div",ze,[(_(!0),v($,null,M(n.filters,(c,S)=>(_(),v("div",{key:S,class:"filter-row"},[a(A,{value:c.field,"onUpdate:value":p=>c.field=p,style:{width:"240px"},options:N.value},null,8,["value","onUpdate:value","options"]),a(A,{value:c.operator,"onUpdate:value":p=>c.operator=p,style:{width:"160px"},options:L.value},null,8,["value","onUpdate:value","options"]),a(D,{value:c.value,"onUpdate:value":p=>c.value=p,placeholder:e(t)("autoTag.value"),style:{flex:"1"}},null,8,["value","onUpdate:value","placeholder"]),a(f,{type:"text",danger:"",onClick:p=>g(n,S)},{icon:s(()=>[a(e(J))]),_:2},1032,["onClick"])]))),128)),a(f,{type:"dashed",block:"",onClick:c=>b(n),style:{"margin-top":"8px"}},{icon:s(()=>[a(e(j))]),default:s(()=>[w(" "+u(e(t)("autoTag.addFilter")),1)]),_:2},1032,["onClick"])])]))),128))]),l.value.length===0?(_(),v("div",Ge,u(e(t)("autoTag.noRules")),1)):U("",!0)])}}});const Ke=oe(He,[["__scopeId","data-v-a56a2d27"]]),qe={class:"panel"},je={class:"lang-select-wrap"},Je={style:{"margin-top":"64px"}},Qe={style:{"margin-top":"64px"}},Xe={style:{"margin-left":"8px",color:"#666"}},Ze={style:{"margin-left":"8px",color:"#666"}},Ye={style:{"margin-top":"0"}},et={style:{"padding-left":"8px",color:"#666"}},tt={class:"shortcut-preset-desc"},at={class:"shortcut-preset-section-title"},ot={class:"shortcut-preset-grid shortcut-preset-grid-header"},lt={class:"mono"},nt={class:"shortcut-title-row"},st={class:"col"},it=G({__name:"globalSetting",setup(K){const l=H(),r=me(),T=B(!1),I=async()=>{window.location.reload()},m=[{value:"en",text:"English"},{value:"zhHans",text:"简体中文"},{value:"zhHant",text:"繁體中文"},{value:"de",text:"Deutsch"}],k=Y(n=>{const o=l.shortcut[n];["ctrl","shift"].includes(o.toLowerCase())&&(l.shortcut[n]="")},700),b=ve(()=>{O.warn(t("notAllowSingleCtrlOrShiftAsShortcut"))},3e3),g=(n,o)=>{const c=Me(n);["ctrl","shift"].includes(c.toLowerCase())&&(b(),k(o)),c&&(l.shortcut[o]=c)},F=async()=>{await Pe("shutdown_api_server_command"),await $e.removeFile(Ue),await xe()},N=x(()=>[{value:"empty",text:t("emptyStartPage")},{value:"last-workspace-state",text:t("restoreLastWorkspaceState")},...r.snapshots.map(o=>({value:`workspace_snapshot_${o.id}`,text:t("restoreWorkspaceSnapshot",[o.name])}))]),L=x(()=>{const n=l.shortcut,o={};return Object.values(n).forEach(c=>{var S;o[S=c+""]??(o[S]=0),o[c+""]++}),o}),h=x(()=>{var o;const n=[{key:"download",label:t("download")},{key:"delete",label:t("deleteSelected")}];return(o=l.conf)==null||o.all_custom_tags.forEach(c=>{n.push({key:`toggle_tag_${c.name}`,label:t("toggleTagSelection",{tag:c.name})})}),l.quickMovePaths.forEach(c=>{n.push({key:`copy_to_${c.dir}`,label:t("copyTo")+" "+c.zh})}),l.quickMovePaths.forEach(c=>{n.push({key:`move_to_${c.dir}`,label:t("moveTo")+" "+c.zh})}),n}),C=n=>n&&n in L.value&&L.value[n]>1,f=fe(ke+"disable_maximize",!1),A=B(!1),D=x(()=>[{title:t("shortcutPresetSectionBrowse"),items:[{keys:"PageUp / PageDown",location:t("shortcutPresetLocationFileList"),action:t("shortcutPresetActionPageJump")},{keys:"Home / End",location:t("shortcutPresetLocationFileList"),action:t("shortcutPresetActionHomeEnd")},{keys:"Backspace",location:t("shortcutPresetLocationFileList"),action:t("shortcutPresetActionBackspaceUp")},{keys:"Ctrl + A / Cmd + A",location:t("shortcutPresetLocationFileList"),action:t("shortcutPresetActionSelectAll")}]},{title:t("shortcutPresetSectionFullscreen"),items:[{keys:"ArrowLeft / ArrowRight / ArrowUp / ArrowDown",location:t("shortcutPresetLocationFullscreen"),action:t("shortcutPresetActionFullscreenNavigate")},{keys:"Esc",location:t("shortcutPresetLocationFullscreen"),action:t("shortcutPresetActionFullscreenExit")}]},{title:t("shortcutPresetSectionTiktok"),items:[{keys:"ArrowUp / ArrowDown",location:t("shortcutPresetLocationTiktok"),action:t("shortcutPresetActionTiktokNavigate")},{keys:"Esc",location:t("shortcutPresetLocationTiktok"),action:t("shortcutPresetActionTiktokExit")}]}]);return(n,o)=>{var q;const c=Ie,S=z,p=ee,P=te,le=z,ne=W,E=X,se=Fe,ie=X,ue=Ae,de=ae,re=Re;return _(),v("div",qe,[(q=e(l).conf)!=null&&q.is_readonly?(_(),R(c,{key:0,message:n.$t("readonlyModeSettingPageDesc"),type:"warning"},null,8,["message"])):U("",!0),U("",!0),a(re,null,{default:s(()=>[a(p,{label:n.$t("lang")},{default:s(()=>[d("div",je,[a(e(V),{options:m,value:e(l).lang,"onUpdate:value":o[0]||(o[0]=i=>e(l).lang=i),onChange:o[1]||(o[1]=i=>T.value=!0)},null,8,["value"])]),T.value?(_(),R(S,{key:0,type:"primary",onClick:I,ghost:""},{default:s(()=>[w(u(e(t)("langChangeReload")),1)]),_:1})):U("",!0)]),_:1},8,["label"]),d("h2",Je,u(e(t)("ImageBrowsingSettings")),1),a(Ee),d("h2",Qe,u(e(t)("autoTag.name")),1),a(Ke),d("h2",null,"TikTok "+u(e(t)("view")),1),a(p,{label:n.$t("showTiktokNavigator")},{default:s(()=>[a(P,{checked:e(l).showTiktokNavigator,"onUpdate:checked":o[2]||(o[2]=i=>e(l).showTiktokNavigator=i)},null,8,["checked"]),d("span",Xe,u(e(t)("showTiktokNavigatorDesc")),1)]),_:1},8,["label"]),d("h2",null,u(e(t)("imgSearch")),1),a(p,{label:n.$t("rebuildImageIndex")},{default:s(()=>[a(le,{onClick:e(be)},{default:s(()=>[w(u(n.$t("start")),1)]),_:1},8,["onClick"])]),_:1},8,["label"]),a(p,{label:n.$t("autoUpdateIndex")},{default:s(()=>[a(P,{checked:e(l).autoUpdateIndex,"onUpdate:checked":o[3]||(o[3]=i=>e(l).autoUpdateIndex=i)},null,8,["checked"]),d("span",Ze,u(e(t)("autoUpdateIndexDesc")),1)]),_:1},8,["label"]),d("h2",null,u(e(t)("autoRefresh")),1),a(p,{label:n.$t("autoRefreshWalkMode")},{default:s(()=>[a(P,{checked:e(l).autoRefreshWalkMode,"onUpdate:checked":o[4]||(o[4]=i=>e(l).autoRefreshWalkMode=i)},null,8,["checked"])]),_:1},8,["label"]),a(p,{label:n.$t("autoRefreshNormalFixedMode")},{default:s(()=>[a(P,{checked:e(l).autoRefreshNormalFixedMode,"onUpdate:checked":o[5]||(o[5]=i=>e(l).autoRefreshNormalFixedMode=i)},null,8,["checked"])]),_:1},8,["label"]),a(p,{label:e(t)("autoRefreshWalkModePosLimit")},{default:s(()=>[a(ne,{min:0,max:1024,step:16,modelValue:e(l).autoRefreshWalkModePosLimit,"onUpdate:modelValue":o[6]||(o[6]=i=>e(l).autoRefreshWalkModePosLimit=i)},null,8,["modelValue"])]),_:1},8,["label"]),d("h2",Ye,u(e(t)("other")),1),a(p,{label:n.$t("fileTypeFilter")},{default:s(()=>[a(se,{value:e(l).fileTypeFilter,"onUpdate:value":o[7]||(o[7]=i=>e(l).fileTypeFilter=i)},{default:s(()=>[a(E,{value:"all"},{default:s(()=>[w(u(n.$t("allFiles")),1)]),_:1}),a(E,{value:"image"},{default:s(()=>[w(u(n.$t("image")),1)]),_:1}),a(E,{value:"video"},{default:s(()=>[w(u(n.$t("video")),1)]),_:1}),a(E,{value:"audio"},{default:s(()=>[w(u(n.$t("audio")),1)]),_:1})]),_:1},8,["value"])]),_:1},8,["label"]),a(p,{label:n.$t("showCommaInGenInfoPanel")},{default:s(()=>[a(P,{checked:e(l).showCommaInInfoPanel,"onUpdate:checked":o[8]||(o[8]=i=>e(l).showCommaInInfoPanel=i)},null,8,["checked"])]),_:1},8,["label"]),a(p,{label:n.$t("showRandomImageInStartup")},{default:s(()=>[a(P,{checked:e(l).showRandomImageInStartup,"onUpdate:checked":o[9]||(o[9]=i=>e(l).showRandomImageInStartup=i)},null,8,["checked"])]),_:1},8,["label"]),a(p,{label:n.$t("defaultSortingMethod")},{default:s(()=>[a(e(V),{value:e(l).defaultSortingMethod,"onUpdate:value":o[10]||(o[10]=i=>e(l).defaultSortingMethod=i),conv:e(ye),options:e(we)},null,8,["value","conv","options"])]),_:1},8,["label"]),a(p,{label:n.$t("longPressOpenContextMenu")},{default:s(()=>[a(P,{checked:e(l).longPressOpenContextMenu,"onUpdate:checked":o[11]||(o[11]=i=>e(l).longPressOpenContextMenu=i)},null,8,["checked"])]),_:1},8,["label"]),a(p,{label:n.$t("openOnAppStart")},{default:s(()=>[a(e(V),{value:e(l).defaultInitinalPage,"onUpdate:value":o[12]||(o[12]=i=>e(l).defaultInitinalPage=i),options:N.value},null,8,["value","options"])]),_:1},8,["label"]),(_(!0),v($,null,M(e(l).ignoredConfirmActions,(i,y)=>(_(),R(p,{label:n.$t(y+"SkipConfirm"),key:y},{default:s(()=>[a(ie,{checked:e(l).ignoredConfirmActions[y],"onUpdate:checked":ce=>e(l).ignoredConfirmActions[y]=ce},null,8,["checked","onUpdate:checked"])]),_:2},1032,["label"]))),128)),a(p,{label:n.$t("disableMaximize")},{default:s(()=>[a(P,{checked:e(f),"onUpdate:checked":o[13]||(o[13]=i=>Ce(f)?f.value=i:null)},null,8,["checked"]),d("sub",et,u(n.$t("takeEffectAfterReloadPage")),1)]),_:1},8,["label"]),a(ue,{visible:A.value,"onUpdate:visible":o[14]||(o[14]=i=>A.value=i),title:e(t)("shortcutPresetTitle"),width:"800px",footer:null},{default:s(()=>[d("div",tt,u(e(t)("shortcutPresetDesc")),1),(_(!0),v($,null,M(D.value,i=>(_(),v("div",{class:"shortcut-preset-section",key:i.title},[d("div",at,u(i.title),1),d("div",ot,[d("div",null,u(e(t)("shortcutPresetHeaderKey")),1),d("div",null,u(e(t)("shortcutPresetHeaderWhere")),1),d("div",null,u(e(t)("shortcutPresetHeaderAction")),1)]),(_(!0),v($,null,M(i.items,y=>(_(),v("div",{class:"shortcut-preset-grid",key:y.keys+y.action},[d("div",lt,u(y.keys),1),d("div",null,u(y.location),1),d("div",null,u(y.action),1)]))),128))]))),128))]),_:1},8,["visible","title"]),d("div",nt,[d("h2",null,u(e(t)("shortcutKey")),1)]),a(S,{type:"link",onClick:o[15]||(o[15]=i=>A.value=!0)},{default:s(()=>[w(u(e(t)("shortcutPresetButton")),1)]),_:1}),(_(!0),v($,null,M(h.value,i=>(_(),R(p,{label:i.label,key:i.key},{default:s(()=>[d("div",{class:Se(["col",{conflict:C(e(l).shortcut[i.key]+"")}]),onKeydown:o[16]||(o[16]=Q(()=>{},["stop","prevent"]))},[a(de,{value:e(l).shortcut[i.key],onKeydown:Q(y=>g(y,i.key),["stop","prevent"]),placeholder:n.$t("shortcutKeyDescription")},null,8,["value","onKeydown","placeholder"]),a(S,{onClick:y=>e(l).shortcut[i.key]="",class:"clear-btn"},{default:s(()=>[w(u(n.$t("clear")),1)]),_:2},1032,["onClick"])],34)]),_:2},1032,["label"]))),128)),e(Te)?(_(),v($,{key:0},[d("h2",null,u(e(t)("clientSpecificSettings")),1),a(p,null,{default:s(()=>[d("div",st,[a(S,{onClick:F,class:"clear-btn"},{default:s(()=>[w(u(n.$t("initiateSoftwareStartupConfig")),1)]),_:1})])]),_:1})],64)):U("",!0)]),_:1})])}}});const pt=oe(it,[["__scopeId","data-v-edfb98d3"]]);export{pt as default}; diff --git a/vue/dist/assets/gridView-ddcc92b5.js b/vue/dist/assets/gridView-ecfae338.js similarity index 79% rename from vue/dist/assets/gridView-ddcc92b5.js rename to vue/dist/assets/gridView-ecfae338.js index f05a8f4..a04c4b4 100644 --- a/vue/dist/assets/gridView-ddcc92b5.js +++ b/vue/dist/assets/gridView-ecfae338.js @@ -1 +1 @@ -import{F as w,s as y}from"./FileItem-aa47825a.js";import{u as k,b as x}from"./index-c80754a2.js";import{d as F,p as b,bm as h,r as C,c5 as D,c6 as I,o as E,j as V,c,C as z,E as e,U as S,c3 as B,c7 as R,n as A}from"./index-32743103.js";import"./index-e1a70e12.js";import"./shortcut-3129f75b.js";import"./_isIterateeCall-16c5cf9c.js";const K=F({__name:"gridView",props:{tabIdx:{},paneIdx:{},id:{},removable:{type:Boolean},allowDragAndDrop:{type:Boolean},files:{},paneKey:{}},setup(p){const o=p,m=b(),{stackViewEl:d}=k().toRefs(),{itemSize:i,gridItems:u,cellWidth:f}=x(),g=h(),s=C(o.files??[]),_=async t=>{const l=B(t);o.allowDragAndDrop&&l&&(s.value=R([...s.value,...l.nodes]))},v=t=>{s.value.splice(t,1)};return D(()=>{m.pageFuncExportMap.set(o.paneKey,{getFiles:()=>I(s.value),setFiles:t=>s.value=t})}),(t,l)=>(E(),V("div",{class:"container",ref_key:"stackViewEl",ref:d,onDrop:_},[c(e(y),{ref:"scroller",class:"file-list",items:s.value.slice(),"item-size":e(i).first,"key-field":"fullpath","item-secondary-size":e(i).second,gridItems:e(u)},{default:z(({item:a,index:r})=>{var n;return[c(w,{idx:r,file:a,"cell-width":e(f),"enable-close-icon":o.removable,onCloseIconClick:T=>v(r),"full-screen-preview-image-url":e(S)(a),"extra-tags":(n=a==null?void 0:a.tags)==null?void 0:n.map(e(g).tagConvert),"enable-right-click-menu":!1},null,8,["idx","file","cell-width","enable-close-icon","onCloseIconClick","full-screen-preview-image-url","extra-tags"])]}),_:1},8,["items","item-size","item-secondary-size","gridItems"])],544))}});const M=A(K,[["__scopeId","data-v-f35f4802"]]);export{M as default}; +import{F as w,s as y}from"./FileItem-72718f68.js";import{u as k,b as x}from"./index-0d856f16.js";import{d as F,p as b,bm as h,r as C,c5 as D,c6 as I,o as E,j as V,c,C as z,E as e,U as S,c3 as B,c7 as R,n as A}from"./index-f2db319b.js";import"./index-29e38a15.js";import"./shortcut-869fab50.js";import"./_isIterateeCall-dd643bcf.js";const K=F({__name:"gridView",props:{tabIdx:{},paneIdx:{},id:{},removable:{type:Boolean},allowDragAndDrop:{type:Boolean},files:{},paneKey:{}},setup(p){const o=p,m=b(),{stackViewEl:d}=k().toRefs(),{itemSize:i,gridItems:u,cellWidth:f}=x(),g=h(),s=C(o.files??[]),_=async t=>{const l=B(t);o.allowDragAndDrop&&l&&(s.value=R([...s.value,...l.nodes]))},v=t=>{s.value.splice(t,1)};return D(()=>{m.pageFuncExportMap.set(o.paneKey,{getFiles:()=>I(s.value),setFiles:t=>s.value=t})}),(t,l)=>(E(),V("div",{class:"container",ref_key:"stackViewEl",ref:d,onDrop:_},[c(e(y),{ref:"scroller",class:"file-list",items:s.value.slice(),"item-size":e(i).first,"key-field":"fullpath","item-secondary-size":e(i).second,gridItems:e(u)},{default:z(({item:a,index:r})=>{var n;return[c(w,{idx:r,file:a,"cell-width":e(f),"enable-close-icon":o.removable,onCloseIconClick:T=>v(r),"full-screen-preview-image-url":e(S)(a),"extra-tags":(n=a==null?void 0:a.tags)==null?void 0:n.map(e(g).tagConvert),"enable-right-click-menu":!1},null,8,["idx","file","cell-width","enable-close-icon","onCloseIconClick","full-screen-preview-image-url","extra-tags"])]}),_:1},8,["items","item-size","item-secondary-size","gridItems"])],544))}});const M=A(K,[["__scopeId","data-v-f35f4802"]]);export{M as default}; diff --git a/vue/dist/assets/hook-e2eaf999.js b/vue/dist/assets/hook-ed129d88.js similarity index 95% rename from vue/dist/assets/hook-e2eaf999.js rename to vue/dist/assets/hook-ed129d88.js index 558757b..b9c2fc1 100644 --- a/vue/dist/assets/hook-e2eaf999.js +++ b/vue/dist/assets/hook-ed129d88.js @@ -1 +1 @@ -import{aL as F,r as g,bF as P,bG as S,ar as A,aj as R,bp as q,bH as L,bI as j}from"./index-32743103.js";import{u as z,b as H,f as O,c as Q,d as T,e as U,i as W,h as B}from"./index-c80754a2.js";let K=0;const V=()=>++K,X=(n,i,{dataUpdateStrategy:l="replace"}={})=>{const a=F([""]),c=g(!1),t=g(),o=g(!1);let f=g(-1);const v=new Set,w=e=>{var s;l==="replace"?t.value=e:l==="merge"&&(A((Array.isArray(t.value)||typeof t.value>"u")&&Array.isArray(e),"数据更新策略为合并时仅可用于值为数组的情况"),t.value=[...(s=t==null?void 0:t.value)!==null&&s!==void 0?s:[],...e])},d=e=>S(void 0,void 0,void 0,function*(){if(o.value||c.value&&typeof e>"u")return!1;o.value=!0;const s=V();f.value=s;try{let r;if(typeof e=="number"){if(r=a[e],typeof r!="string")return!1}else r=a[a.length-1];const m=yield n(r);if(v.has(s))return v.delete(s),!1;w(i(m));const u=m.cursor;if((e===a.length-1||typeof e!="number")&&(c.value=!u.has_next,u.has_next)){const y=u.next_cursor||u.next;A(typeof y=="string"),a.push(y)}}finally{f.value===s&&(o.value=!1)}return!0}),I=()=>{v.add(f.value),o.value=!1},x=(e=!1)=>S(void 0,void 0,void 0,function*(){const{refetch:s,force:r}=typeof e=="object"?e:{refetch:e};r&&I(),A(!o.value),a.splice(0,a.length,""),o.value=!1,t.value=void 0,c.value=!1,s&&(yield d())}),h=()=>({next:()=>S(void 0,void 0,void 0,function*(){if(o.value)throw new Error("不允许同时迭代");return{done:!(yield d()),value:t.value}})});return P({abort:I,load:c,next:d,res:t,loading:o,cursorStack:a,reset:x,[Symbol.asyncIterator]:h,iter:{[Symbol.asyncIterator]:h}})},ee=n=>F(X(n,i=>i.files,{dataUpdateStrategy:"merge"})),te=n=>{const i=F(new Set),l=R(()=>(n.res??[]).filter(p=>!i.has(p.fullpath))),a=q(),{stackViewEl:c,multiSelectedIdxs:t,stack:o,scroller:f,props:v}=z({images:l}).toRefs(),{itemSize:w,gridItems:d,cellWidth:I,onScroll:x}=H({fetchNext:()=>n.next()}),{showMenuIdx:h}=O(),{onFileDragStart:e,onFileDragEnd:s}=Q(),{showGenInfo:r,imageGenInfo:m,q:u,onContextMenuClick:y,onFileItemClick:C}=T({openNext:L}),{previewIdx:_,previewing:E,onPreviewVisibleChange:M,previewImgMove:D,canPreview:G}=U({loadNext:()=>n.next()}),J=async(p,b,N)=>{o.value=[{curr:"",files:l.value}],await y(p,b,N)};W("removeFiles",async({paths:p})=>{p.forEach(b=>i.add(b))});const k=()=>{j(l.value)};return{images:l,scroller:f,queue:a,iter:n,onContextMenuClickU:J,stackViewEl:c,previewIdx:_,previewing:E,onPreviewVisibleChange:M,previewImgMove:D,canPreview:G,itemSize:w,gridItems:d,showGenInfo:r,imageGenInfo:m,q:u,onContextMenuClick:y,onFileItemClick:C,showMenuIdx:h,multiSelectedIdxs:t,onFileDragStart:e,onFileDragEnd:s,cellWidth:I,onScroll:x,saveLoadedFileAsJson:k,saveAllFileAsJson:async()=>{for(;!n.load;)await n.next();k()},props:v,...B()}};export{ee as c,te as u}; +import{aL as F,r as g,bF as P,bG as S,ar as A,aj as R,bp as q,bH as L,bI as j}from"./index-f2db319b.js";import{u as z,b as H,f as O,c as Q,d as T,e as U,i as W,h as B}from"./index-0d856f16.js";let K=0;const V=()=>++K,X=(n,i,{dataUpdateStrategy:l="replace"}={})=>{const a=F([""]),c=g(!1),t=g(),o=g(!1);let f=g(-1);const v=new Set,w=e=>{var s;l==="replace"?t.value=e:l==="merge"&&(A((Array.isArray(t.value)||typeof t.value>"u")&&Array.isArray(e),"数据更新策略为合并时仅可用于值为数组的情况"),t.value=[...(s=t==null?void 0:t.value)!==null&&s!==void 0?s:[],...e])},d=e=>S(void 0,void 0,void 0,function*(){if(o.value||c.value&&typeof e>"u")return!1;o.value=!0;const s=V();f.value=s;try{let r;if(typeof e=="number"){if(r=a[e],typeof r!="string")return!1}else r=a[a.length-1];const m=yield n(r);if(v.has(s))return v.delete(s),!1;w(i(m));const u=m.cursor;if((e===a.length-1||typeof e!="number")&&(c.value=!u.has_next,u.has_next)){const y=u.next_cursor||u.next;A(typeof y=="string"),a.push(y)}}finally{f.value===s&&(o.value=!1)}return!0}),I=()=>{v.add(f.value),o.value=!1},x=(e=!1)=>S(void 0,void 0,void 0,function*(){const{refetch:s,force:r}=typeof e=="object"?e:{refetch:e};r&&I(),A(!o.value),a.splice(0,a.length,""),o.value=!1,t.value=void 0,c.value=!1,s&&(yield d())}),h=()=>({next:()=>S(void 0,void 0,void 0,function*(){if(o.value)throw new Error("不允许同时迭代");return{done:!(yield d()),value:t.value}})});return P({abort:I,load:c,next:d,res:t,loading:o,cursorStack:a,reset:x,[Symbol.asyncIterator]:h,iter:{[Symbol.asyncIterator]:h}})},ee=n=>F(X(n,i=>i.files,{dataUpdateStrategy:"merge"})),te=n=>{const i=F(new Set),l=R(()=>(n.res??[]).filter(p=>!i.has(p.fullpath))),a=q(),{stackViewEl:c,multiSelectedIdxs:t,stack:o,scroller:f,props:v}=z({images:l}).toRefs(),{itemSize:w,gridItems:d,cellWidth:I,onScroll:x}=H({fetchNext:()=>n.next()}),{showMenuIdx:h}=O(),{onFileDragStart:e,onFileDragEnd:s}=Q(),{showGenInfo:r,imageGenInfo:m,q:u,onContextMenuClick:y,onFileItemClick:C}=T({openNext:L}),{previewIdx:_,previewing:E,onPreviewVisibleChange:M,previewImgMove:D,canPreview:G}=U({loadNext:()=>n.next()}),J=async(p,b,N)=>{o.value=[{curr:"",files:l.value}],await y(p,b,N)};W("removeFiles",async({paths:p})=>{p.forEach(b=>i.add(b))});const k=()=>{j(l.value)};return{images:l,scroller:f,queue:a,iter:n,onContextMenuClickU:J,stackViewEl:c,previewIdx:_,previewing:E,onPreviewVisibleChange:M,previewImgMove:D,canPreview:G,itemSize:w,gridItems:d,showGenInfo:r,imageGenInfo:m,q:u,onContextMenuClick:y,onFileItemClick:C,showMenuIdx:h,multiSelectedIdxs:t,onFileDragStart:e,onFileDragEnd:s,cellWidth:I,onScroll:x,saveLoadedFileAsJson:k,saveAllFileAsJson:async()=>{for(;!n.load;)await n.next();k()},props:v,...B()}};export{ee as c,te as u}; diff --git a/vue/dist/assets/index-c80754a2.js b/vue/dist/assets/index-0d856f16.js similarity index 94% rename from vue/dist/assets/index-c80754a2.js rename to vue/dist/assets/index-0d856f16.js index 930df9a..60515d6 100644 --- a/vue/dist/assets/index-c80754a2.js +++ b/vue/dist/assets/index-0d856f16.js @@ -1,3 +1,3 @@ -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{cY as Ie,bG as xe,bF as lt,bV as ze,ar as Pe,aL as De,cd as it,ba as ct,c as q,A as ut,cZ as dt,r as N,c7 as ft,aM as Ne,c_ as pt,c$ as ie,d0 as Be,d1 as vt,cA as qe,d2 as ht,ai as mt,s as le,ay as he,ci as ne,ak as te,v as gt,d3 as Se,$ as Z,d4 as yt,d5 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,d6 as Ce,aq as se,d7 as It,Z as re,cj as Te,cF as H,d8 as xt,d9 as St,aF as Ft,da as We,c3 as $e,bp as Qe,db as Je,a3 as Fe,dc as _t,dd as Ze,de as Ee,q as Pt,cG as Ae,cI as Le,df as Ct,dg as Tt,U as ae,ch as Et,dh as Mt,cm as Dt,di as At,l as Ue,R as Lt,cg as Ve,dj as Ot,dk as Nt,dl as Rt,dm as Wt,bI as $t,dn as Ut,dp as Vt,dq as jt,z as zt,dr as Bt,cf as qt,p as Gt,bm as Ht,am as Kt,ds as Xe,dt as Qt}from"./index-32743103.js";import{_ as Jt,C as Ye,g as Zt}from"./shortcut-3129f75b.js";import{i as Xt}from"./_isIterateeCall-16c5cf9c.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"&&Xt(a,e,t)&&(e=t=void 0),a=Ie(a),e===void 0?(e=a,a=0):e=Ie(e),t=t===void 0?a{i=v,t=x}),_=()=>{e.isFinished=!0,clearTimeout(e.id)},L=()=>xe(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(()=>xe(this,void 0,void 0,function*(){yield L(),P()}),e.pollInterval))};return setTimeout(()=>xe(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{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
'};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();x(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&&x(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 nr?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 x(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:x,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,X=k.getShortPath(f);return G(X.length>24&&C?C:X)})();b.name=Z("div",{style:"display:flex;align-items:center"},[Z(ca),Z("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{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;Gp(oe.name,G));if(!X)throw console.error({frags:R,frag:G,stack:He(t.value)}),new Error(`${G} not found`);await o(X)}}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}x.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{B.value=!0,k.autoRefreshWalkMode=!1,X(),K.success(E("walkModeAutoRefreshDisabled"))},X=K.loading(Z("span",{},[E("autoUpdate"),Z("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{X()}}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},I=N(!1),T=N(s.value),A=()=>{I.value=!0,T.value=s.value},W=async()=>{await y(T.value),I.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")||(I.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 It(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:I,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:()=>Z("div",{},[Z("p",{class:"uni-desc primary-bg"},E("pollRefreshTip")),Z("div",{style:{display:"flex",alignItems:"center",gap:"4px"}},[Z("span",{},E("pollInterval")+"(s): "),Z(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 x=(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:x,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:x,getViewableAreaFiles:M}=J().toRefs(),{state:w}=J(),S=N(!1),n=N(k.defaultGridCellWidth),o=Q(()=>n.value+16),r=44,{width:c}=xt(_),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=x.value)==null?void 0:h.next())}finally{u.value=!1}},D=async(h=!1)=>{const I=a.value,T=()=>h?P.value:(I==null?void 0:I.$_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(),I=h.filter(A=>A.is_under_scanned_path&&qe(A.name)).map(A=>A.fullpath);ue.fetchImageTags(I);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)},x=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 Ze(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:x}}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_.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:x,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,I)=>h-I);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},I=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 Ze(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 I("txt2img");case"send2img2img":return I("img2img");case"send2inpaint":return I("inpaint");case"send2extras":return I("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 I=h;if(!I)return!1;const T=(A=I.tagName)==null?void 0:A.toLowerCase();return T==="input"||T==="textarea"||I.isContentEditable},m=Zt(d);if(v.value){m==="Esc"&&Te();const h=(D=Object.entries(k.shortcut).find(I=>I[1]===m&&I[1]))==null?void 0:D[0];if(h){d.stopPropagation(),d.preventDefault();const I=i.value,T=t.value[I];switch(h){case"delete":return p({key:"deleteFiles"},T,I);case"download":return p({key:"download"},T,I);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,I);if(h.startsWith("copy_to_")){const z=h.split("copy_to_")[1];return p({key:`copy-to-${z}`},T,I)}if(h.startsWith("move_to_")){const z=h.split("move_to_")[1];return p({key:`move-to-${z}`},T,I)}}}}}else if(!y.value&&!u(d.target)){if(!d.altKey&&!d.ctrlKey&&!d.metaKey){const h=x.value,I=t.value.length,T=Math.max(I-1,0),A=W=>{if(!h||I===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,Ia=()=>{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(x=>H(x.fullpath)&&!x.gen_info_obj);if(!P.length)return;const v=await Bt(P.map(x=>x.fullpath).filter(x=>!_e.has(x)));P.forEach(x=>{const M=v[x.fullpath]||_e.get(x.fullpath)||"";_e.set(x.fullpath,M),x.gen_info_obj=qt(M),x.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,x,M){const w={diff:{},empty:!0,ownFile:"",otherFile:""};if(v+x<0||v+x>=a.value.length||a.value[v]==null||!("gen_info_obj"in a.value[v])||!("gen_info_obj"in a.value[v+x]))return w;const S=P,n=a.value[v+x].gen_info_obj;if(n==null)return w;const o=["hashes","resources"];w.diff={},w.ownFile=M.name,w.otherFile=a.value[v+x].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}=Xe(),{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 x=De(new Set);le(t,()=>x.clear());const M=Q(()=>{var O;if(a.value)return a.value;if(v.value)return v.value.images.filter(j=>!x.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(I=>!!(I.type==="dir"||h.includes("image")&&H(I.name)||h.includes("video")&&Ae(I.name)||h.includes("audio")&&Le(I.name)))})(u),m).filter(j=>!x.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=Xe();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:x,getViewableAreaFiles:d,...y}},()=>({images:N()}));function xa(){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:Ia,useHookShareState:J,useKeepMultiSelect:xa,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,xa as g,Ia as h,we as i,ua as j,de as k,Ta as l,ka as o,ye as s,J as u}; +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{c_ as Ie,bG as xe,bF as lt,bV as ze,ar as Pe,aL as De,cd as it,ba as ct,c as q,A as ut,c$ as dt,r as N,c7 as ft,aM as Ne,d0 as pt,d1 as ie,d2 as Be,d3 as vt,cA as qe,d4 as ht,ai as mt,s as le,ay as he,ci as ne,ak as te,v as gt,d5 as Se,$ as X,d6 as yt,d7 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,d8 as Ce,aq as se,d9 as It,Z as re,cj as Te,cH as H,da as xt,db as St,aF as Ft,dc as We,c3 as $e,bp as Qe,dd as Je,a3 as Fe,de as _t,df as Xe,dg as Ee,q as Pt,cI as Ae,cK as Le,dh as Ct,di as Tt,U as ae,ch as Et,dj as Mt,cm as Dt,dk as At,l as Ue,R as Lt,cg as Ve,dl as Ot,dm as Nt,dn as Rt,dp as Wt,bI as $t,dq as Ut,dr as Vt,ds as jt,z as zt,dt as Bt,cf as qt,p as Gt,bm as Ht,am as Kt,cB as Ze,du as Qt}from"./index-f2db319b.js";import{_ as Jt,C as Ye,g as Xt}from"./shortcut-869fab50.js";import{i as Zt}from"./_isIterateeCall-dd643bcf.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=Ie(a),e===void 0?(e=a,a=0):e=Ie(e),t=t===void 0?a{i=v,t=x}),_=()=>{e.isFinished=!0,clearTimeout(e.id)},L=()=>xe(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(()=>xe(this,void 0,void 0,function*(){yield L(),P()}),e.pollInterval))};return setTimeout(()=>xe(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{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
'};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();x(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&&x(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 nr?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 x(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:x,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{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;Gp(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}x.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{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},I=N(!1),T=N(s.value),A=()=>{I.value=!0,T.value=s.value},W=async()=>{await y(T.value),I.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")||(I.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 It(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:I,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 x=(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:x,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:x,getViewableAreaFiles:M}=J().toRefs(),{state:w}=J(),S=N(!1),n=N(k.defaultGridCellWidth),o=Q(()=>n.value+16),r=44,{width:c}=xt(_),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=x.value)==null?void 0:h.next())}finally{u.value=!1}},D=async(h=!1)=>{const I=a.value,T=()=>h?P.value:(I==null?void 0:I.$_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(),I=h.filter(A=>A.is_under_scanned_path&&qe(A.name)).map(A=>A.fullpath);ue.fetchImageTags(I);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)},x=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:x}}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_.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:x,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,I)=>h-I);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},I=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 I("txt2img");case"send2img2img":return I("img2img");case"send2inpaint":return I("inpaint");case"send2extras":return I("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 I=h;if(!I)return!1;const T=(A=I.tagName)==null?void 0:A.toLowerCase();return T==="input"||T==="textarea"||I.isContentEditable},m=Xt(d);if(v.value){m==="Esc"&&Te();const h=(D=Object.entries(k.shortcut).find(I=>I[1]===m&&I[1]))==null?void 0:D[0];if(h){d.stopPropagation(),d.preventDefault();const I=i.value,T=t.value[I];switch(h){case"delete":return p({key:"deleteFiles"},T,I);case"download":return p({key:"download"},T,I);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,I);if(h.startsWith("copy_to_")){const z=h.split("copy_to_")[1];return p({key:`copy-to-${z}`},T,I)}if(h.startsWith("move_to_")){const z=h.split("move_to_")[1];return p({key:`move-to-${z}`},T,I)}}}}}else if(!y.value&&!u(d.target)){if(!d.altKey&&!d.ctrlKey&&!d.metaKey){const h=x.value,I=t.value.length,T=Math.max(I-1,0),A=W=>{if(!h||I===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,Ia=()=>{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(x=>H(x.fullpath)&&!x.gen_info_obj);if(!P.length)return;const v=await Bt(P.map(x=>x.fullpath).filter(x=>!_e.has(x)));P.forEach(x=>{const M=v[x.fullpath]||_e.get(x.fullpath)||"";_e.set(x.fullpath,M),x.gen_info_obj=qt(M),x.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,x,M){const w={diff:{},empty:!0,ownFile:"",otherFile:""};if(v+x<0||v+x>=a.value.length||a.value[v]==null||!("gen_info_obj"in a.value[v])||!("gen_info_obj"in a.value[v+x]))return w;const S=P,n=a.value[v+x].gen_info_obj;if(n==null)return w;const o=["hashes","resources"];w.diff={},w.ownFile=M.name,w.otherFile=a.value[v+x].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 x=De(new Set);le(t,()=>x.clear());const M=Q(()=>{var O;if(a.value)return a.value;if(v.value)return v.value.images.filter(j=>!x.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(I=>!!(I.type==="dir"||h.includes("image")&&H(I.name)||h.includes("video")&&Ae(I.name)||h.includes("audio")&&Le(I.name)))})(u),m).filter(j=>!x.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:x,getViewableAreaFiles:d,...y}},()=>({images:N()}));function xa(){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:Ia,useHookShareState:J,useKeepMultiSelect:xa,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,xa as g,Ia as h,we as i,ua as j,de as k,Ta as l,ka as o,ye as s,J as u}; diff --git a/vue/dist/assets/index-e1a70e12.js b/vue/dist/assets/index-29e38a15.js similarity index 67% rename from vue/dist/assets/index-e1a70e12.js rename to vue/dist/assets/index-29e38a15.js index 2defe93..a8259bb 100644 --- a/vue/dist/assets/index-e1a70e12.js +++ b/vue/dist/assets/index-29e38a15.js @@ -1 +1 @@ -import{P as M,cN as re,a as u,d as F,cO as W,u as z,c as y,ck as le,_ as ie,a3 as A,cP as E,aj as L,cQ as k,cR as R,cS as se,h as U,cT as de,b as ue,cU as pe,cV as ce,cW as H,cX as ve}from"./index-32743103.js";var G=function(){return{arrow:{type:[Boolean,Object],default:void 0},trigger:{type:[Array,String]},overlay:M.any,visible:{type:Boolean,default:void 0},disabled:{type:Boolean,default:void 0},align:{type:Object},getPopupContainer:Function,prefixCls:String,transitionName:String,placement:String,overlayClassName:String,overlayStyle:{type:Object,default:void 0},forceRender:{type:Boolean,default:void 0},mouseEnterDelay:Number,mouseLeaveDelay:Number,openClassName:String,minOverlayWidthMatchTrigger:{type:Boolean,default:void 0},destroyPopupOnHide:{type:Boolean,default:void 0},onVisibleChange:{type:Function},"onUpdate:visible":{type:Function}}},T=re(),ye=function(){return u(u({},G()),{},{type:T.type,size:String,htmlType:T.htmlType,href:String,disabled:{type:Boolean,default:void 0},prefixCls:String,icon:M.any,title:String,loading:T.loading,onClick:{type:Function}})},fe=["type","disabled","loading","htmlType","class","overlay","trigger","align","visible","onVisibleChange","placement","href","title","icon","mouseEnterDelay","mouseLeaveDelay","overlayClassName","overlayStyle","destroyPopupOnHide","onClick","onUpdate:visible"],me=A.Group;const ge=F({compatConfig:{MODE:3},name:"ADropdownButton",inheritAttrs:!1,__ANT_BUTTON:!0,props:W(ye(),{trigger:"hover",placement:"bottomRight",type:"default"}),slots:["icon","leftButton","rightButton","overlay"],setup:function(n,f){var a=f.slots,B=f.attrs,P=f.emit,g=function(p){P("update:visible",p),P("visibleChange",p)},i=z("dropdown-button",n),x=i.prefixCls,w=i.direction,O=i.getPopupContainer;return function(){var b,p,e=u(u({},n),B),D=e.type,t=D===void 0?"default":D,o=e.disabled,r=e.loading,m=e.htmlType,s=e.class,d=s===void 0?"":s,l=e.overlay,C=l===void 0?(b=a.overlay)===null||b===void 0?void 0:b.call(a):l,_=e.trigger,c=e.align,v=e.visible;e.onVisibleChange;var h=e.placement,N=h===void 0?w.value==="rtl"?"bottomLeft":"bottomRight":h,S=e.href,X=e.title,V=e.icon,Y=V===void 0?((p=a.icon)===null||p===void 0?void 0:p.call(a))||y(le,null,null):V,q=e.mouseEnterDelay,J=e.mouseLeaveDelay,K=e.overlayClassName,Z=e.overlayStyle,ee=e.destroyPopupOnHide,te=e.onClick;e["onUpdate:visible"];var oe=ie(e,fe),ae={align:c,disabled:o,trigger:o?[]:_,placement:N,getPopupContainer:O.value,onVisibleChange:g,mouseEnterDelay:q,mouseLeaveDelay:J,visible:v,overlayClassName:K,overlayStyle:Z,destroyPopupOnHide:ee},j=y(A,{type:t,disabled:o,loading:r,onClick:te,htmlType:m,href:S,title:X},{default:a.default}),I=y(A,{type:t,icon:Y},null);return y(me,u(u({},oe),{},{class:E(x.value,d)}),{default:function(){return[a.leftButton?a.leftButton({button:j}):j,y(be,ae,{default:function(){return[a.rightButton?a.rightButton({button:I}):I]},overlay:function(){return C}})]}})}}});var Q=F({compatConfig:{MODE:3},name:"ADropdown",inheritAttrs:!1,props:W(G(),{mouseEnterDelay:.15,mouseLeaveDelay:.1,placement:"bottomLeft",trigger:"hover"}),slots:["overlay"],setup:function(n,f){var a=f.slots,B=f.attrs,P=f.emit,g=z("dropdown",n),i=g.prefixCls,x=g.rootPrefixCls,w=g.direction,O=g.getPopupContainer,b=L(function(){var t=n.placement,o=t===void 0?"":t,r=n.transitionName;return r!==void 0?r:o.indexOf("top")>=0?"".concat(x.value,"-slide-down"):"".concat(x.value,"-slide-up")}),p=function(){var o,r,m,s=n.overlay||((o=a.overlay)===null||o===void 0?void 0:o.call(a)),d=Array.isArray(s)?s[0]:s;if(!d)return null;var l=d.props||{};k(!l.mode||l.mode==="vertical","Dropdown",'mode="'.concat(l.mode,`" is not supported for Dropdown's Menu.`));var C=l.selectable,_=C===void 0?!1:C,c=l.expandIcon,v=c===void 0?(r=d.children)===null||r===void 0||(m=r.expandIcon)===null||m===void 0?void 0:m.call(r):c,h=typeof v<"u"&&H(v)?v:y("span",{class:"".concat(i.value,"-menu-submenu-arrow")},[y(ve,{class:"".concat(i.value,"-menu-submenu-arrow-icon")},null)]),N=H(d)?R(d,{mode:"vertical",selectable:_,expandIcon:function(){return h}}):d;return N},e=L(function(){var t=n.placement;if(!t)return w.value==="rtl"?"bottomRight":"bottomLeft";if(t.includes("Center")){var o=t.slice(0,t.indexOf("Center"));return k(!t.includes("Center"),"Dropdown","You are using '".concat(t,"' placement in Dropdown, which is deprecated. Try to use '").concat(o,"' instead.")),o}return t}),D=function(o){P("update:visible",o),P("visibleChange",o)};return function(){var t,o,r=n.arrow,m=n.trigger,s=n.disabled,d=n.overlayClassName,l=(t=a.default)===null||t===void 0?void 0:t.call(a)[0],C=R(l,se({class:E(l==null||(o=l.props)===null||o===void 0?void 0:o.class,U({},"".concat(i.value,"-rtl"),w.value==="rtl"),"".concat(i.value,"-trigger"))},s?{disabled:s}:{})),_=E(d,U({},"".concat(i.value,"-rtl"),w.value==="rtl")),c=s?[]:m,v;c&&c.indexOf("contextmenu")!==-1&&(v=!0);var h=de({arrowPointAtCenter:ue(r)==="object"&&r.pointAtCenter,autoAdjustOverflow:!0}),N=pe(u(u(u({},n),B),{},{builtinPlacements:h,overlayClassName:_,arrow:r,alignPoint:v,prefixCls:i.value,getPopupContainer:O.value,transitionName:b.value,trigger:c,onVisibleChange:D,placement:e.value}),["overlay","onUpdate:visible"]);return y(ce,N,{default:function(){return[C]},overlay:p})}}});Q.Button=ge;const be=Q;export{be as D,ge as a}; +import{P as M,cP as re,a as u,d as F,cQ as W,u as z,c as y,ck as le,_ as ie,a3 as A,cR as E,aj as L,cS as k,cT as R,cU as se,h as U,cV as de,b as ue,cW as pe,cX as ce,cY as H,cZ as ve}from"./index-f2db319b.js";var G=function(){return{arrow:{type:[Boolean,Object],default:void 0},trigger:{type:[Array,String]},overlay:M.any,visible:{type:Boolean,default:void 0},disabled:{type:Boolean,default:void 0},align:{type:Object},getPopupContainer:Function,prefixCls:String,transitionName:String,placement:String,overlayClassName:String,overlayStyle:{type:Object,default:void 0},forceRender:{type:Boolean,default:void 0},mouseEnterDelay:Number,mouseLeaveDelay:Number,openClassName:String,minOverlayWidthMatchTrigger:{type:Boolean,default:void 0},destroyPopupOnHide:{type:Boolean,default:void 0},onVisibleChange:{type:Function},"onUpdate:visible":{type:Function}}},T=re(),ye=function(){return u(u({},G()),{},{type:T.type,size:String,htmlType:T.htmlType,href:String,disabled:{type:Boolean,default:void 0},prefixCls:String,icon:M.any,title:String,loading:T.loading,onClick:{type:Function}})},fe=["type","disabled","loading","htmlType","class","overlay","trigger","align","visible","onVisibleChange","placement","href","title","icon","mouseEnterDelay","mouseLeaveDelay","overlayClassName","overlayStyle","destroyPopupOnHide","onClick","onUpdate:visible"],me=A.Group;const ge=F({compatConfig:{MODE:3},name:"ADropdownButton",inheritAttrs:!1,__ANT_BUTTON:!0,props:W(ye(),{trigger:"hover",placement:"bottomRight",type:"default"}),slots:["icon","leftButton","rightButton","overlay"],setup:function(n,f){var a=f.slots,B=f.attrs,P=f.emit,g=function(p){P("update:visible",p),P("visibleChange",p)},i=z("dropdown-button",n),D=i.prefixCls,w=i.direction,O=i.getPopupContainer;return function(){var b,p,e=u(u({},n),B),N=e.type,t=N===void 0?"default":N,o=e.disabled,r=e.loading,m=e.htmlType,s=e.class,d=s===void 0?"":s,l=e.overlay,C=l===void 0?(b=a.overlay)===null||b===void 0?void 0:b.call(a):l,_=e.trigger,c=e.align,v=e.visible;e.onVisibleChange;var h=e.placement,x=h===void 0?w.value==="rtl"?"bottomLeft":"bottomRight":h,S=e.href,Q=e.title,V=e.icon,X=V===void 0?((p=a.icon)===null||p===void 0?void 0:p.call(a))||y(le,null,null):V,Z=e.mouseEnterDelay,q=e.mouseLeaveDelay,J=e.overlayClassName,K=e.overlayStyle,ee=e.destroyPopupOnHide,te=e.onClick;e["onUpdate:visible"];var oe=ie(e,fe),ae={align:c,disabled:o,trigger:o?[]:_,placement:x,getPopupContainer:O.value,onVisibleChange:g,mouseEnterDelay:Z,mouseLeaveDelay:q,visible:v,overlayClassName:J,overlayStyle:K,destroyPopupOnHide:ee},j=y(A,{type:t,disabled:o,loading:r,onClick:te,htmlType:m,href:S,title:Q},{default:a.default}),I=y(A,{type:t,icon:X},null);return y(me,u(u({},oe),{},{class:E(D.value,d)}),{default:function(){return[a.leftButton?a.leftButton({button:j}):j,y(be,ae,{default:function(){return[a.rightButton?a.rightButton({button:I}):I]},overlay:function(){return C}})]}})}}});var Y=F({compatConfig:{MODE:3},name:"ADropdown",inheritAttrs:!1,props:W(G(),{mouseEnterDelay:.15,mouseLeaveDelay:.1,placement:"bottomLeft",trigger:"hover"}),slots:["overlay"],setup:function(n,f){var a=f.slots,B=f.attrs,P=f.emit,g=z("dropdown",n),i=g.prefixCls,D=g.rootPrefixCls,w=g.direction,O=g.getPopupContainer,b=L(function(){var t=n.placement,o=t===void 0?"":t,r=n.transitionName;return r!==void 0?r:o.indexOf("top")>=0?"".concat(D.value,"-slide-down"):"".concat(D.value,"-slide-up")}),p=function(){var o,r,m,s=n.overlay||((o=a.overlay)===null||o===void 0?void 0:o.call(a)),d=Array.isArray(s)?s[0]:s;if(!d)return null;var l=d.props||{};k(!l.mode||l.mode==="vertical","Dropdown",'mode="'.concat(l.mode,`" is not supported for Dropdown's Menu.`));var C=l.selectable,_=C===void 0?!1:C,c=l.expandIcon,v=c===void 0?(r=d.children)===null||r===void 0||(m=r.expandIcon)===null||m===void 0?void 0:m.call(r):c,h=typeof v<"u"&&H(v)?v:y("span",{class:"".concat(i.value,"-menu-submenu-arrow")},[y(ve,{class:"".concat(i.value,"-menu-submenu-arrow-icon")},null)]),x=H(d)?R(d,{mode:"vertical",selectable:_,expandIcon:function(){return h}}):d;return x},e=L(function(){var t=n.placement;if(!t)return w.value==="rtl"?"bottomRight":"bottomLeft";if(t.includes("Center")){var o=t.slice(0,t.indexOf("Center"));return k(!t.includes("Center"),"Dropdown","You are using '".concat(t,"' placement in Dropdown, which is deprecated. Try to use '").concat(o,"' instead.")),o}return t}),N=function(o){P("update:visible",o),P("visibleChange",o)};return function(){var t,o,r=n.arrow,m=n.trigger,s=n.disabled,d=n.overlayClassName,l=(t=a.default)===null||t===void 0?void 0:t.call(a)[0],C=R(l,se({class:E(l==null||(o=l.props)===null||o===void 0?void 0:o.class,U({},"".concat(i.value,"-rtl"),w.value==="rtl"),"".concat(i.value,"-trigger"))},s?{disabled:s}:{})),_=E(d,U({},"".concat(i.value,"-rtl"),w.value==="rtl")),c=s?[]:m,v;c&&c.indexOf("contextmenu")!==-1&&(v=!0);var h=de({arrowPointAtCenter:ue(r)==="object"&&r.pointAtCenter,autoAdjustOverflow:!0}),x=pe(u(u(u({},n),B),{},{builtinPlacements:h,overlayClassName:_,arrow:r,alignPoint:v,prefixCls:i.value,getPopupContainer:O.value,transitionName:b.value,trigger:c,onVisibleChange:N,placement:e.value}),["overlay","onUpdate:visible"]);return y(ce,x,{default:function(){return[C]},overlay:p})}}});Y.Button=ge;const be=Y;export{be as D,ge as a}; diff --git a/vue/dist/assets/index-8565d02c.js b/vue/dist/assets/index-f0058dfb.js similarity index 95% rename from vue/dist/assets/index-8565d02c.js rename to vue/dist/assets/index-f0058dfb.js index 5af38e8..7cf1b02 100644 --- a/vue/dist/assets/index-8565d02c.js +++ b/vue/dist/assets/index-f0058dfb.js @@ -1 +1 @@ -import{d as x,p as $,an as g,c8 as b,r as w,o as p,j as d,k as a,c as l,C as i,l as u,t as n,F as B,K as I,E as m,as as W,W as _,X as v,a2 as D,a3 as F,c9 as N,n as R}from"./index-32743103.js";const V={class:"container"},E={class:"actions"},K={class:"uni-desc"},L={class:"snapshot"},j=x({__name:"index",props:{tabIdx:{},paneIdx:{},id:{},paneKey:{}},setup(q){const h=$(),t=g(),f=e=>{h.tabList=W(e.tabs)},k=b(async e=>{await N(`workspace_snapshot_${e.id}`),t.snapshots=t.snapshots.filter(c=>c.id!==e.id),_.success(v("deleteSuccess"))}),o=w(""),C=async()=>{if(!o.value){_.error(v("nameRequired"));return}const e=t.createSnapshot(o.value);await t.addSnapshot(e),_.success(v("saveCompleted"))};return(e,c)=>{const y=D,r=F;return p(),d("div",V,[a("div",E,[l(y,{value:o.value,"onUpdate:value":c[0]||(c[0]=s=>o.value=s),placeholder:e.$t("name"),style:{"max-width":"300px"}},null,8,["value","placeholder"]),l(r,{type:"primary",onClick:C},{default:i(()=>[u(n(e.$t("saveWorkspaceSnapshot")),1)]),_:1})]),a("p",K,n(e.$t("WorkspaceSnapshotDesc")),1),a("ul",L,[(p(!0),d(B,null,I(m(t).snapshots,s=>(p(),d("li",{key:s.id},[a("div",null,[a("span",null,n(s.name),1)]),a("div",null,[l(r,{onClick:S=>f(s)},{default:i(()=>[u(n(e.$t("restore")),1)]),_:2},1032,["onClick"]),l(r,{onClick:S=>m(k)(s)},{default:i(()=>[u(n(e.$t("remove")),1)]),_:2},1032,["onClick"])])]))),128))])])}}});const G=R(j,[["__scopeId","data-v-2c44013c"]]);export{G as default}; +import{d as x,p as $,an as g,c8 as b,r as w,o as p,j as d,k as a,c as l,C as i,l as u,t as n,F as B,K as I,E as m,as as W,W as _,X as v,a2 as D,a3 as F,c9 as N,n as R}from"./index-f2db319b.js";const V={class:"container"},E={class:"actions"},K={class:"uni-desc"},L={class:"snapshot"},j=x({__name:"index",props:{tabIdx:{},paneIdx:{},id:{},paneKey:{}},setup(q){const h=$(),t=g(),f=e=>{h.tabList=W(e.tabs)},k=b(async e=>{await N(`workspace_snapshot_${e.id}`),t.snapshots=t.snapshots.filter(c=>c.id!==e.id),_.success(v("deleteSuccess"))}),o=w(""),C=async()=>{if(!o.value){_.error(v("nameRequired"));return}const e=t.createSnapshot(o.value);await t.addSnapshot(e),_.success(v("saveCompleted"))};return(e,c)=>{const y=D,r=F;return p(),d("div",V,[a("div",E,[l(y,{value:o.value,"onUpdate:value":c[0]||(c[0]=s=>o.value=s),placeholder:e.$t("name"),style:{"max-width":"300px"}},null,8,["value","placeholder"]),l(r,{type:"primary",onClick:C},{default:i(()=>[u(n(e.$t("saveWorkspaceSnapshot")),1)]),_:1})]),a("p",K,n(e.$t("WorkspaceSnapshotDesc")),1),a("ul",L,[(p(!0),d(B,null,I(m(t).snapshots,s=>(p(),d("li",{key:s.id},[a("div",null,[a("span",null,n(s.name),1)]),a("div",null,[l(r,{onClick:S=>f(s)},{default:i(()=>[u(n(e.$t("restore")),1)]),_:2},1032,["onClick"]),l(r,{onClick:S=>m(k)(s)},{default:i(()=>[u(n(e.$t("remove")),1)]),_:2},1032,["onClick"])])]))),128))])])}}});const G=R(j,[["__scopeId","data-v-2c44013c"]]);export{G as default}; diff --git a/vue/dist/assets/index-32743103.js b/vue/dist/assets/index-f2db319b.js similarity index 97% rename from vue/dist/assets/index-32743103.js rename to vue/dist/assets/index-f2db319b.js index 590d724..bfe0ade 100644 --- a/vue/dist/assets/index-32743103.js +++ b/vue/dist/assets/index-f2db319b.js @@ -160,7 +160,7 @@ Walk 模式使用无限滚动浏览所有子文件夹的文件,无需手动翻 如果在快速滚动大量图片时感到卡顿,可以在全局设置中关闭"变更指示器"功能,这可以显著提升浏览性能。|info`,loadingTip10:`🤖 AI Agent 集成 -现在你可以让 AI agent 来使用 IIB 帮助进行图像管理、标签整理和智能搜索。通过 API 接口,AI 可以访问所有 IIB 功能,实现自动化工作流程。|info`},kH={tryMyLuck:"Try My Luck",randomImage:"Random Image",randomImageSettings:"Random Image Settings",showRandomImageInStartup:"Show Random Image in Startup",showRandomImageInStartupDesc:"Control whether the random image option is displayed on the startup page",randomImageSettingNotification:"Tip: You can control whether to show the random image option on the startup page in Global Settings",shuffle:"Shuffle",pathOnly:"Path Only",disableMaximize:"Disable Maximize",takeEffectAfterReloadPage:"Take effect after reloading the page",compressFile:"Compress File",packOnlyNotDownload:"Pack Only, Not Download",notAllowSingleCtrlOrShiftAsShortcut:"不允許使用單獨的 Ctrl 或者 Shift 作為快速鍵",conflictWithOtherShortcuts:"Conflict with other shortcuts",pinnedSearchHistoryDesc:"You can quickly restore to the previous search state by clicking the pinned search history.",addNewCustomTag:"Add New Custom Tag",clearCacheIfNotTakeEffect:"If the changes do not take effect, try clearing the page cache",showTiktokNavigator:"Show Navigation Buttons",showTiktokNavigatorDesc:"Show the navigation buttons (up/down arrows) in TikTok view",topicSearchExperimental:"Natural Language Categorization & Search (Experimental)",topicSearchTitleExperimental:"Natural Language Categorization & Search (Experimental)",topicSearchScope:"Scope",topicSearchNeedScope:"Please select a scope folder first",topicSearchQueryPlaceholder:"Type a sentence to retrieve similar images (RAG-like retrieval)",topicSearchOpenResults:"Open results",topicSearchThreshold:"Threshold",topicSearchMinClusterSize:"Min cluster",topicSearchEmptyNoScope:"Please select a scope, then refresh/categorize",topicSearchEmptyNoTopics:"No topics yet (try lowering “Min cluster” or adjusting “Threshold”)",topicSearchChooseScope:"Select scope",topicSearchRefreshAndCluster:"Refresh/Categorize",topicSearchScopeModalTitle:"Select vectorization scope (folders)",topicSearchScopeTip:"No scope is enabled by default. You must select folders to categorize/search. Scope comes from QuickMovePaths.",topicSearchSavingToBackend:"Saving to backend...",topicSearchScopePlaceholder:"Select folders (multi-select)",topicSearchRecallMsg:"Retrieved {0} / {1} (TopK={2})",topicSearchCacheStale:"Showing cached result (update available)",topicSearchCacheStaleDesc:"Folders in the selected scope may have changed. The cache may be stale. Click Update to regenerate topics (will update index first).",topicSearchCacheUpdate:"Update cache",topicSearchCacheHit:"Showing cached result",topicSearchCacheHitDesc:"Displaying cached topics from previous analysis. Click Update to regenerate.",topicSearchCollapse:"Collapse",topicSearchExpand:"Expand",topicSearchGuideTitle:"Quick Start (Experimental)",topicSearchGuideStep1:"Select the scope folders to analyze (multi-select)",topicSearchGuideStep2:"Click Refresh to generate topic cards (incremental vectorization)",topicSearchGuideStep3:"Type a sentence to search; it will retrieve similar images and open the result page",topicSearchGuideAdvantage1:"Auto-grouping by semantic similarity: AI automatically discovers similar themes without manual categorization",topicSearchGuideAdvantage2:"Natural language semantic search: Quickly find related images with a sentence, similar to RAG retrieval",topicSearchGuideEmptyReasonNoScope:"Empty because: no scope selected (disabled by default). Click “Scope” to choose folders.",topicSearchGuideEmptyReasonNoTopics:"Empty because: no topics generated yet for this scope (try Refresh or lower Min cluster/Threshold).",topicSearchRequirementsTitle:"Requirements",topicSearchRequirementsOpenai:"Required: OPENAI_BASE_URL and OPENAI_API_KEY (backend environment variables)",topicSearchRequirementsDepsPython:"Required: Python deps numpy and hnswlib (feature is disabled if missing)",topicSearchRequirementsDepsDesktop:"Desktop app: deps are bundled (no need to install numpy/hnswlib)",topicSearchRequirementsInstallCmd:"Install: pip install numpy hnswlib",topicSearchJobFailed:"Job failed",topicSearchJobStage:"Stage",topicSearchJobQueued:"Job queued…",topicSearchJobStageEmbedding:"Embedding…",topicSearchJobStageClustering:"Clustering…",topicSearchJobStageTitling:"Generating titles…",topicSearchJobStageDone:"Done",topicSearchJobStageError:"Error",topicSearchJobEmbeddingDesc:"Embedded {0}/{1} (scanned {2}); current: {3}",topicSearchJobClusteringDesc:"Clustering {0}/{1}",topicSearchJobTitlingDesc:"Titling {0}/{1}",success:"Success",setCurrFrameAsVideoPoster:"Set Current Frame as Video Cover",sync:"Sync",syncDesc:"When you need to achieve simple setting isolation between multiple devices or users, you can turn off this option. Most of the settings of IIB will only be saved to the current browser (isolation in the case of cross-domain), and will not be synchronized to the server.",readonlyModeSettingPageDesc:"You are currently in read-only mode. You can adjust the settings, but these changes will not be saved.",syncHistoryToLocal:"Sync History to Local",showCommaInGenInfoPanel:"Show Comma in Generation Info Panel",walkModeAutoRefreshDisabled:"Auto Refresh in Walk Mode Disabled",disable:"Disable",autoRefresh:"Auto Refresh",autoRefreshNormalFixedMode:"Enable Auto Refresh (Normal/Fixed Mode)",autoRefreshWalkMode:"Enable Auto Refresh (Walk Mode)",autoRefreshWalkModePosLimit:"Position Limit for Auto Refresh in Walk Mode",autoUpdateIndex:"Auto Update Index",autoUpdateIndexDesc:"Automatically update when index is expired (on page return). When disabled, a prompt will be shown for manual update",indexExpiredManualUpdate:"Index expired, click update button to manually update",autoUpdateFeatureTip:'💡 Tip: To avoid frequent index updates interrupting your workflow, you can disable "Auto Update Index" in global settings. When disabled, you can still search (based on the stale index), and manually update when needed.',gotIt:"Got it",pollInterval:"Poll Interval",pollRefresh:"Polling refresh",pollRefreshTip:"By default, IIB will automatically refresh when you return to IIB from other tabs or when the visibility of IIB changes. This feature is designed to keep IIB refreshed even when you stay in IIB all the time, please use it with caution",stopPollRefresh:"Stop Polling refresh",restoreLastWorkspaceStateSuccess:"Restore Last Workspace State Success",restoreWorkspaceSnapshotSuccess:"Restore Workspace Snapshot Success",openOnAppStart:"Open on app start",confirmThisAction:"Confirm this action?",WorkspaceSnapshotDesc:`Using the Workspace Snapshot feature, you can save the current state of the workspace so that you can quickly restore to the current state the next time you open IIB. +现在你可以让 AI agent 来使用 IIB 帮助进行图像管理、标签整理和智能搜索。通过 API 接口,AI 可以访问所有 IIB 功能,实现自动化工作流程。|info`,playInline:"在此播放"},kH={tryMyLuck:"Try My Luck",randomImage:"Random Image",randomImageSettings:"Random Image Settings",showRandomImageInStartup:"Show Random Image in Startup",showRandomImageInStartupDesc:"Control whether the random image option is displayed on the startup page",randomImageSettingNotification:"Tip: You can control whether to show the random image option on the startup page in Global Settings",shuffle:"Shuffle",pathOnly:"Path Only",disableMaximize:"Disable Maximize",takeEffectAfterReloadPage:"Take effect after reloading the page",compressFile:"Compress File",packOnlyNotDownload:"Pack Only, Not Download",notAllowSingleCtrlOrShiftAsShortcut:"不允許使用單獨的 Ctrl 或者 Shift 作為快速鍵",conflictWithOtherShortcuts:"Conflict with other shortcuts",pinnedSearchHistoryDesc:"You can quickly restore to the previous search state by clicking the pinned search history.",addNewCustomTag:"Add New Custom Tag",clearCacheIfNotTakeEffect:"If the changes do not take effect, try clearing the page cache",showTiktokNavigator:"Show Navigation Buttons",showTiktokNavigatorDesc:"Show the navigation buttons (up/down arrows) in TikTok view",topicSearchExperimental:"Natural Language Categorization & Search (Experimental)",topicSearchTitleExperimental:"Natural Language Categorization & Search (Experimental)",topicSearchScope:"Scope",topicSearchNeedScope:"Please select a scope folder first",topicSearchQueryPlaceholder:"Type a sentence to retrieve similar images (RAG-like retrieval)",topicSearchOpenResults:"Open results",topicSearchThreshold:"Threshold",topicSearchMinClusterSize:"Min cluster",topicSearchEmptyNoScope:"Please select a scope, then refresh/categorize",topicSearchEmptyNoTopics:"No topics yet (try lowering “Min cluster” or adjusting “Threshold”)",topicSearchChooseScope:"Select scope",topicSearchRefreshAndCluster:"Refresh/Categorize",topicSearchScopeModalTitle:"Select vectorization scope (folders)",topicSearchScopeTip:"No scope is enabled by default. You must select folders to categorize/search. Scope comes from QuickMovePaths.",topicSearchSavingToBackend:"Saving to backend...",topicSearchScopePlaceholder:"Select folders (multi-select)",topicSearchRecallMsg:"Retrieved {0} / {1} (TopK={2})",topicSearchCacheStale:"Showing cached result (update available)",topicSearchCacheStaleDesc:"Folders in the selected scope may have changed. The cache may be stale. Click Update to regenerate topics (will update index first).",topicSearchCacheUpdate:"Update cache",topicSearchCacheHit:"Showing cached result",topicSearchCacheHitDesc:"Displaying cached topics from previous analysis. Click Update to regenerate.",topicSearchCollapse:"Collapse",topicSearchExpand:"Expand",topicSearchGuideTitle:"Quick Start (Experimental)",topicSearchGuideStep1:"Select the scope folders to analyze (multi-select)",topicSearchGuideStep2:"Click Refresh to generate topic cards (incremental vectorization)",topicSearchGuideStep3:"Type a sentence to search; it will retrieve similar images and open the result page",topicSearchGuideAdvantage1:"Auto-grouping by semantic similarity: AI automatically discovers similar themes without manual categorization",topicSearchGuideAdvantage2:"Natural language semantic search: Quickly find related images with a sentence, similar to RAG retrieval",topicSearchGuideEmptyReasonNoScope:"Empty because: no scope selected (disabled by default). Click “Scope” to choose folders.",topicSearchGuideEmptyReasonNoTopics:"Empty because: no topics generated yet for this scope (try Refresh or lower Min cluster/Threshold).",topicSearchRequirementsTitle:"Requirements",topicSearchRequirementsOpenai:"Required: OPENAI_BASE_URL and OPENAI_API_KEY (backend environment variables)",topicSearchRequirementsDepsPython:"Required: Python deps numpy and hnswlib (feature is disabled if missing)",topicSearchRequirementsDepsDesktop:"Desktop app: deps are bundled (no need to install numpy/hnswlib)",topicSearchRequirementsInstallCmd:"Install: pip install numpy hnswlib",topicSearchJobFailed:"Job failed",topicSearchJobStage:"Stage",topicSearchJobQueued:"Job queued…",topicSearchJobStageEmbedding:"Embedding…",topicSearchJobStageClustering:"Clustering…",topicSearchJobStageTitling:"Generating titles…",topicSearchJobStageDone:"Done",topicSearchJobStageError:"Error",topicSearchJobEmbeddingDesc:"Embedded {0}/{1} (scanned {2}); current: {3}",topicSearchJobClusteringDesc:"Clustering {0}/{1}",topicSearchJobTitlingDesc:"Titling {0}/{1}",success:"Success",setCurrFrameAsVideoPoster:"Set Current Frame as Video Cover",sync:"Sync",syncDesc:"When you need to achieve simple setting isolation between multiple devices or users, you can turn off this option. Most of the settings of IIB will only be saved to the current browser (isolation in the case of cross-domain), and will not be synchronized to the server.",readonlyModeSettingPageDesc:"You are currently in read-only mode. You can adjust the settings, but these changes will not be saved.",syncHistoryToLocal:"Sync History to Local",showCommaInGenInfoPanel:"Show Comma in Generation Info Panel",walkModeAutoRefreshDisabled:"Auto Refresh in Walk Mode Disabled",disable:"Disable",autoRefresh:"Auto Refresh",autoRefreshNormalFixedMode:"Enable Auto Refresh (Normal/Fixed Mode)",autoRefreshWalkMode:"Enable Auto Refresh (Walk Mode)",autoRefreshWalkModePosLimit:"Position Limit for Auto Refresh in Walk Mode",autoUpdateIndex:"Auto Update Index",autoUpdateIndexDesc:"Automatically update when index is expired (on page return). When disabled, a prompt will be shown for manual update",indexExpiredManualUpdate:"Index expired, click update button to manually update",autoUpdateFeatureTip:'💡 Tip: To avoid frequent index updates interrupting your workflow, you can disable "Auto Update Index" in global settings. When disabled, you can still search (based on the stale index), and manually update when needed.',gotIt:"Got it",pollInterval:"Poll Interval",pollRefresh:"Polling refresh",pollRefreshTip:"By default, IIB will automatically refresh when you return to IIB from other tabs or when the visibility of IIB changes. This feature is designed to keep IIB refreshed even when you stay in IIB all the time, please use it with caution",stopPollRefresh:"Stop Polling refresh",restoreLastWorkspaceStateSuccess:"Restore Last Workspace State Success",restoreWorkspaceSnapshotSuccess:"Restore Workspace Snapshot Success",openOnAppStart:"Open on app start",confirmThisAction:"Confirm this action?",WorkspaceSnapshotDesc:`Using the Workspace Snapshot feature, you can save the current state of the workspace so that you can quickly restore to the current state the next time you open IIB. You can specify which snapshot to restore to when starting IIB in the global settings page, or restore to the last workspace state before closing.`,saveWorkspaceSnapshot:"Save Workspace Snapshot",WorkspaceSnapshot:"Workspace Snapshot",restoreLastWorkspaceState:"Restore Last Workspace State",restoreWorkspaceSnapshot:"Restore Workspace Snapshot: {0}",nameRequired:"Name is required",save:"Save",name:"Name",saveCompleted:"Save completed",openThisAppInNewWindow:"Open IIB in a new window",readonly:"Read-only",accessLimited:"Access Limited",selectFolder:"Select Folder",openFileLocationInNewTab:"Open File Location in New Tab",copyTo:"Copy to",moveTo:"Move to",moveSuccess:"Move success",copySuccess:"Copy success",copyFilePath:"Copy file path",previewMaskBackgroundOpacity:"Preview Mask Background Opacity",experimentalLRLayout:"Side-by-Side Layout",width:"Width",alwaysOnTooltipInfo:"If this is turned off, the info panel will be hidden until you move the mouse to the right side of the screen",alwaysOn:"Always On",time:"Time",pin:"Pin",unpin:"Unpin",restore:"Restore",restoreFromHistory:"Restore from History",history:"History",historyRecordsSubstr:"Input Value",historyRecordsisRegex:"Is Regex",walkModeDoc:"Browse all files in a specified folder without paging, using infinite scrolling to display them. DFS will be used to traverse all files. Note: Sorting is only performed within the same layer in this mode.",normalModelDoc:"Similar to the Windows file browser, with high flexibility. But exceptions may occur when accessing cloud storage or similar SMB.",fixedModeDoc:"Similar to Normal mode, but with faster initial page speed, better compatibility, and slightly less flexibility. If you encounter an exception in Normal mode, you can try this mode instead.",type:"Type",filterByKeyword:"Filter tags by keyword",loadmore:"Load more",rename:"Rename",inputAlias:"Input Alias",addAliasCompleted:"Add Alias Completed",alias:"Alias",exit:"Exit","select-all":"Select All","rerverse-select":"Reverse Select","clear-all-selected":"Clear All Selected","keep-multi-selected":"Keep Multi-selected","Source Identifier":"Source",openWithDefaultApp:"Open with default app",saveSelectedAsJson:"Save selected image info",saveAllAsJson:"Save all image info",saveLoadedImageAsJson:"Save loaded image info",selectedItems:" {0} selected",items:"{0} items",scrollDownToComparePrompt:"Scroll down to compare prompts",sourceText:"Source Text",structuredData:"Structured Data",searchScope:"Search Scope",specifiedSearchFolder:"Specify the folders to search, separate multiple folders with commas or line breaks",batchAddTag:"Batch Add Tag",batchRemoveTag:"Batch Remove Tag",imageCompareTips:`When dragging files, this panel will also appear, so you don't need to open the "Image Comparison" feature separately.`,dragToResizePanel:"Drag to resize the panel",clickToToggleMaximizeMinimize:"Click to toggle maximize/minimize",dragToMovePanel:"Drag to move the panel",privacyAndSecurity:"Security & Privacy",deleteOneOnlySkipConfirm:"Do not confirm when deleting a single file",resetOnGlobalSettingsPage:"You can reset on the global settings page",secretKeyMustBeConfigured:"Secret Key must be configured",secretKeyRequiredWarnMsg:`For security reasons, you must separately configure Secret Key for this extension, refer to the IIB_SECRET_KEY in the .env.example file under the root directory of this extension. This error only appears when gradio-auth is configured.`,remove:"Remove",batchDownload:"Batch Download",archive:"Archive",zipDownload:"Download as ZIP",batchDownloaDDragAndDropHint:"Use drag and drop or the 'Send to Batch Download' option in the right-click menu to add images from other pages here. Multiple selections are supported.",lyco:"LyCORIS",sendToThirdPartyExtension:"Send to third-party extension",createFolder:"Create Folder",inputFolderName:"Input Folder Name",desktop:"Desktop",move:"Move",majorUpdateCustomCellSizeTips:'Major Update: You can now customize the size of the grid image. Adjust it in the global settings page or in the "More" menu in the upper right corner.',ImageBrowsingSettings:"Image Browsing Settings",other:"Other",livePreview:"Live Preview",gridCellWidth:"Grid Cell Width (px)",showChangeIndicators:"Show Change Indicators",seedAsChange:"Seed as Change",defaultShowChangeIndicators:"Default Show Change Indicators",defaultSeedAsChange:"Default Compare Seed as Change",defaultGridCellWidth:"Default Grid Cell Width (px)",thumbnailResolution:"Thumbnail Resolution (px)",inputTargetFolderPath:"Enter the absolute path of the target folder",pathDoesNotExist:"Path does not exist",confirmToAddToExtraPath:"Are you sure you want to add? This may take a lot of time to index if the folder is large. ",clientSpecificSettings:"Client-specific settings",initiateSoftwareStartupConfig:"Initiate software startup configuration","tauriLaunchConf.readSdWebuiConfigTitle":"Read Stable Diffusion Webui Config","tauriLaunchConf.readSdWebuiConfigDescription":"If you have installed sd-webui and this extension, it is recommended to use this option to directly read the configuration and share data.","tauriLaunchConf.selectSdWebuiFolder":"Click to select the SD-webui folder","tauriLaunchConf.skipThisConfigTitle":"Skip This Configuration","tauriLaunchConf.skipThisConfigDescription":"All features will still be available and you can reset them in the settings page.","tauriLaunchConf.skipButton":"Skip","tauriLaunchConfMessages.configNotFound":"Cannot find the corresponding configuration. Please check if the selected folder is correct.","tauriLaunchConfMessages.folderNotFound":"Cannot find the corresponding folder. Please check if the selected folder is correct.","tauriLaunchConfMessages.configCompletedMessage":"Configuration completed. The application will restart shortly.","tauriLaunchConfMessages.firstTimeUserTitle":"It looks like this is your first time using the application. Some configuration is required.",selectAll:"Select All",close:"Close",fileName:"File Name",resolution:"Resolution",fileSize:"File Size",fullscreenview:"Fullscreen View",promptcompare:"Compare Prompts",imgCompare:"Image Comparison",share:"Share",dragImageHere:"Drag image here",copyLocationUrlSuccessMsg:"Copy completed, you can directly open the current folder through the copied link",multiSelectTips:"You can hold down the Shift, Ctrl, or Cmd key and then click on files to perform batch delete/move operations",document:"Document",copy:"Copy",edit:"Edit",defaultSortingMethod:"Default Sorting Method",defaultViewMode:"Default View Mode",showPreviewImage:"Show Preview Image",dontShowAgain:"Don't show again",accessControlModeTips:"To ensure data security, you are currently running in access control mode, which only allows access to authorized folders. You can adjust the access permissions settings (IIB_ACCESS_CONTROL) by editing the .env file in the root directory of this extension. If the .env file does not exist, you can copy the .env.example file and rename it to .env.",changlog:"Change log",clear:"Clear",toggleTagSelection:'Toggle Selection of Tag "{tag}"',fullscreenRestriction:"Due to technical limitations, the first image cannot be deleted when opening the Full-screen view.",shortcutKey:"Keyboard Shortcuts (Only Available in Full-screen view mode)",shortcutKeyDescription:"Click on the input box and press the shortcut key you want to use, supporting combinations with Shift and Ctrl.",shortcutPresetButton:"Preset Shortcut Guide",shortcutPresetTitle:"Preset Shortcut Guide",shortcutPresetDesc:"These are hard-coded shortcuts in the app, with where/how they are triggered.",shortcutPresetHeaderKey:"Key",shortcutPresetHeaderWhere:"Where",shortcutPresetHeaderAction:"Action",shortcutPresetSectionBrowse:"File list (non-fullscreen)",shortcutPresetSectionFullscreen:"Fullscreen preview",shortcutPresetSectionTiktok:"TikTok view",shortcutPresetLocationFileList:"File list area, and focus not in inputs",shortcutPresetLocationFullscreen:"When fullscreen preview is open",shortcutPresetLocationTiktok:"When TikTok view is open",shortcutPresetActionPageJump:"Page scroll the list",shortcutPresetActionHomeEnd:"Jump to start / end of list",shortcutPresetActionBackspaceUp:"Go to parent folder",shortcutPresetActionSelectAll:"Select all items in current list",shortcutPresetActionFullscreenNavigate:"Navigate images (skips non-images)",shortcutPresetActionFullscreenExit:"Exit fullscreen preview",shortcutPresetActionTiktokNavigate:"Go to previous / next item",shortcutPresetActionTiktokExit:"Exit TikTok view",serverKeyRequired:"The server has configured a key. You must provide the same key to continue using it.",removeFromSearchScanPathAndQuickMove:"Remove from Search Scan Path and Quick Move",addToSearchScanPathAndQuickMove:"Add to Search Scan Path",openWithLocalFileBrowser:"Open with Local File Browser","fuzzy-search-noResults":"Nothing was found","fuzzy-search-placeholder":"Enter a part of the image information or filename to search","fuzzy-search":"Fuzzy search",autoUpdate:"Detected changes, automatically updating",faq:"FAQ",helpFeedback:"Help / Feedback",helpFeedbackWay1:"Check FAQ / search related issues",helpFeedbackSearchIssues:"Search issues",helpFeedbackWay2:"Open a new issue",helpFeedbackNewIssue:"Create on GitHub",helpFeedbackWay3:"Email the maintainer",tagGraphGenerating:"Generating graph...",tagGraphStatLayers:"Layers",tagGraphStatNodes:"Nodes",tagGraphStatLinks:"Links",tagGraphAllLayers:"All layers",tagGraphFilterPlaceholder:"Keyword filter (match + neighbors)",tagGraphFilterHopsTitle:"Expand hops (N)",tagGraphKeywordLimitTitle:"Maximum keywords to display in Tag layer",tagGraphFilterApply:"Filter",tagGraphFilterReset:"Reset",tagGraphTooltipFilter:"Filter",tagGraphTooltipOpenCluster:"Open cluster",tagGraphFullscreenUnsupported:"Fullscreen is not supported in this environment",tagGraphFullscreenFailed:"Failed to enter fullscreen",selectExactMatchTag:"Select Exact Match Tags. You can search by entering partial characters",selectAnyMatchTag:"Optional, Select Any Match Tags. You can search by entering partial characters",selectExcludeTag:"Optional, Select Exclude Tags. You can search by entering partial characters",exactMatch:"Exact Match",anyMatch:"Match Any",exclude:"Exclude","auto.refreshed":"Auto refresh completed!",copied:"Copied!","index.expired":"Index expired, updating automatically",manualExitFullScreen:"You have deleted the last image and may need to manually exit Full-screen view","walk-mode-move-message":"Moving position is only allowed using 'Quick Move' in walk mode",refreshCompleted:"Refresh completed",addedTagToImage:'Tag "{tag}" has been added to this image',removedTagFromImage:'Tag "{tag}" has been removed from this image',openContextMenu:"Open context menu",copyPrompt:"Copy prompt",copyPositivePrompt:"Copy positive prompt",toggleTag:"Toggle Tag Selection (Favorite)",addCompleted:"Add completed",removeCompleted:"Remove Completed",existInOtherType:"Already exists in other type",alreadyExists:"Already exists",cancel:"Cancel",submit:"Submit",add:"Add",custom:"Custom",needGenerateIdx:`You need to click the button to generate an index for searching images. This process may take a few minutes to complete.`,search:"Search",UpdateIndex:"Update index",generateIndexHint:"Generate index for search image",Model:"Model",Sampler:"Sampler",lora:"LoRA",size:"Size",pos:"Positive Prompt",unknownSavedDir:"Cannot find the saved folder (outdir_save field in the config)",errorOccurred:"An error occurred",useThumbnailPreview:"Use thumbnail preview",gridThumbnailWidth:"Grid thumbnail width",start:"Start",tip:"Tip",sortByDateAscending:"Updated date ascending",sortByDateDescending:"UPdated date descending",sortByCreatedDateAscending:"Created date ascending",sortByCreatedDateDescending:"Created date descending",sortByNameAscending:"Name ascending",sortByNameDescending:"Name descending",sortBySizeAscending:"Size ascending",sortBySizeDescending:"Size descending",sortByShuffle:"Shuffle",inputAddressAndPressEnter:"Input address and press Enter",go:"Go",unknownError:"Unknown error",loadingNextFolder:"Loading files from the next folder",moveFailedCheckPath:"Move failed. Check your path input.",detailList:"Detail list",previewGrid:"Preview grid",moveSelectedFilesTo:"Move / Copy selected files to",continueOnError:"Continue on single-file failure",continueOnErrorDesc:"Continue with remaining files; failed ones are skipped and recorded on server.",confirm:"Confirm",download:"Download",local:"Local",sendImageFailed:"Failed to send image. Please contact the developer with the error message from the console.",confirmDelete:"Are you sure you want to delete?",deleteSuccess:"Deleted successfully",moveToTrashSuccess:"Moved to trash",doubleClickToCopy:"Double-click to copy",root:"Root",drive:" drive",refresh:"Refresh",quickMove:"Quick move",more:"More",viewMode:"View mode",sortingMethod:"Sorting method",copyPath:"Copy path",deleteSelected:"Delete",previewInNewWindow:"Open in new window",copySourceFilePreviewLink:"Copy source file preview link",viewGenerationInfo:"View generation information (prompt, etc.)",sendToTxt2img:"Send to txt2img",sendToImg2img:"Send to img2img",sendToInpaint:"Send to Inpaint",sendToBatchDownload:"Send to BatchDownload",sendToExtraFeatures:"Send to Extra",sendToControlNet:"Send to ControlNet",loadNextPage:"Load next page",localFile:"Local file",globalSettings:"Global settings",welcome:"Welcome",openInNewWindow:"Open in new tab",restoreLastRecord:"Restore last record",launch:"Launch",walkMode:"Use Walk mode to browse images",launchFromNormalAndFixed:"Use Normal / Fixed mode to browse images",recent:"Recent",emptyStartPage:"Empty start page",t2i:"txt2img",i2i:"img2img",saveButtonSavesTo:"save",extra:"extras",gridImage:"Grid image","i2i-grid":"img2img grid",image:"Image","t2i-grid":"txt2img grid",workingFolder:"working folder",lang:"Language",langChangeReload:"Reload: Some changes may require a reload to take effect",openOnTheRight:"Open to the Side",openInNewTab:"Open in a new tab",openWithWalkMode:"Open with Walk Mode",longPressOpenContextMenu:"Support long press to open right-click menu",searchResults:"Search Results",imgSearch:"Image Search",onlyFoldersAndImages:"Only show folders/images/videos",fileTypeFilter:"File Type Filter",allFiles:"All Files",audio:"Audio",send2savedDir:"Send to saved folder",regexSearchEnabledHint:"(You can also enable regex search by clicking the regex icon on the right)",rebuildImageIndex:"Rebuild Image Index",confirmRebuildImageIndex:"Confirm rebuilding image index?",rebuildComplete:"Rebuild complete",tagSearchNoResultsMessage:"It looks like no results were matched, try rebuilding the index to remove useless tags?","TikTok View":"TikTok View",tiktokView:"TikTok View",magicSwitchTiktokView:"TikTok View Mode",magicSwitchTiktokViewDesc:"When enabled, clicking image/video files will directly enter TikTok-style viewing mode",magicSwitchEnabled:"🎬 ON - Click media files to enter TikTok View",magicSwitchDisabled:"📁 OFF - Click media files to open normally",magicSwitchDetailDesc:"Click images and videos to directly enter TikTok-style browsing experience",autoPlay:"Auto Play",autoPlayOff:"Off",autoPlay5s:"5s",autoPlay10s:"10s",autoPlay20s:"20s",autoPlayTooltip:"Auto Play: {mode} (A to toggle)",autoPlayStatus:"Auto Play: {mode}",exitFullscreen:"Exit Fullscreen",fullscreen:"Fullscreen",soundOn:"Sound On",soundOff:"Sound Off",details:"Details",info:"Info",like:"Like",unlike:"Unlike",tags:"Tags",tag:"Tag",tagOperationFailed:"Tag operation failed",mediaType:"Media Type",all:"All",video:"Video",randomSort:"Random Sort",sortByDate:"Sort by Date","autoTag.name":"Auto Tagging","autoTag.description":"These rules will be automatically applied when images are indexed, adding tags to matching images (Trigger timing: when updating index or rebuilding index on search page). Note: Multiple conditions within a rule use AND logic, all must be satisfied to apply the tag","autoTag.addRule":"Add Rule","autoTag.saveConfig":"Save Config","autoTag.tagName":"Tag Name","autoTag.inputTagName":"Select custom tag","autoTag.field":"Field","autoTag.operator":"Operator","autoTag.value":"Value","autoTag.addFilter":"Add Filter","autoTag.noRules":"No rules, click button above to add","autoTag.saveSuccess":"Saved successfully","autoTag.saveFail":"Save failed","autoTag.fields.posPrompt":"Pos Prompt","autoTag.fields.negPrompt":"Neg Prompt","autoTag.fields.model":"Model","autoTag.fields.sampler":"Sampler","autoTag.fields.size":"Size","autoTag.fields.cfgScale":"CFG Scale","autoTag.fields.steps":"Steps","autoTag.fields.seed":"Seed","autoTag.operators.contains":"Contains","autoTag.operators.equals":"Equals","autoTag.operators.regex":"Regex",aiAnalyzeTags:"AI Analyze Tags",aiAnalyzeTagsNoPrompt:"No prompt found",aiAnalyzeTagsNoCustomTags:"No custom tags available",aiAnalyzeTagsNoMatchedTags:"AI found no matching tags",aiAnalyzeTagsNoValidTags:"No valid matching tags found",aiAnalyzeTagsAllTagsAlreadyAdded:"All matched tags have already been added to the image",aiAnalyzeTagsSuccess:"Added {0} tags: {1}",aiAnalyzeTagsFailed:"AI tag analysis failed, please check configuration",organizeJobs:"Organize Tasks",folders:"folders",files:"files",queued:"Queued",analyzing:"Analyzing",waitingConfirm:"Waiting Confirm",moving:"Moving",completed:"Completed",error:"Error",generatingEmbeddings:"Generating embeddings...",clusteringAnalysis:"Clustering analysis...",generatingTitles:"Generating titles...",previewReady:"Preview ready",movingFiles:"Moving files...",organizePreviewReady:"Preview ready: {files} files → {clusters} folders",viewPreview:"View Preview",smartOrganizePreview:"Smart Organize Preview",organizePreviewSummary:"{files} files will be organized into {folders} folders",destFolder:"Destination folder",unsorted:"Unsorted",skip:"Skip",cancelSkip:"Cancel Skip",showMore:"Show {count} more...",willMove:"Will move {count} files",skipped:"{count} skipped",confirmOrganize:"Confirm Organize",startMovingFiles:"Starting to move files...",confirmFailed:"Confirm failed",organizeComplete:"Done: {moved} files moved, {folders} folders created",organizeFailed:"Organize failed",smartOrganize:"AI Organize",smartOrganizeHint:"AI will analyze and organize scattered files into folders",organizeJobStarted:"Organize task started, check progress in bottom-right panel",smartOrganizeConfig:"Smart Organize Settings",smartOrganizeConfigDesc:"Configure smart organize options",smartOrganizeNotice:"More files and scattered clusters take longer to process. The task runs in background, so you can continue working.",organizeSourceFolders:"Folders to organize",organizeSourceFolder:"Target folder",organizeSourceFolderHint:"Files in this folder will be organized into categories",organizeRecursive:"Include subfolders",organizeRecursiveDesc:"Treat all files in subfolders as files to organize",organizeMinClusterSize:"Min cluster size",organizeMinClusterSizeDesc:"Files less than this number will not create a separate folder",organizeTargetFolder:"Target folder",organizeTargetFolderDesc:"Organized files will be placed in this folder (default: current folder)",organizeAction:"Action",organizeActionMove:"Move",organizeActionCopy:"Copy",organizeStartTask:"Start Organize",organizeCancel:"Cancel",updatingIndex:"Updating index...",startingOrganizeJob:"Starting organize job...",flattenFolder:"Flatten Folder",flattenFolderDesc:"Move all files from subfolders to current folder",flattenFolderWarning:"This is a dangerous operation! All files in subfolders will be moved to the current folder, and subfolders will be deleted.",flattenFolderScanning:"Scanning files...",flattenFolderConflict:"Filename conflicts found, cannot flatten",flattenFolderConflictFiles:"Conflicting filenames",flattenFolderConfirm:"Confirm flattening {count} files?",flattenFolderExecuting:"Flattening folder...",flattenFolderSuccess:"Flatten complete, moved {count} files",flattenFolderNoFiles:"No files to move",loadingTip1:`💡 Filename Uniqueness Tip @@ -183,7 +183,7 @@ Configure auto-tagging rules in global settings. Tags are automatically applied If you experience lag when scrolling through a large number of images quickly, you can disable "Change Indicators" in global settings for significantly better performance.|info`,loadingTip10:`🤖 AI Agent Integration -You can now let AI agents use IIB to help with image management, tag organization, and smart search. Through the API interface, AI can access all IIB features for automated workflows.|info`},AH={serverKeyRequired:"Für die weitere Nutzung ist die Eingabe eines Schlüssels erforderlich, der vom Server konfiguriert wurde.",removeFromSearchScanPathAndQuickMove:"Schnellzugriff entfernen",addToSearchScanPathAndQuickMove:"Schnellzugriff hinzufügen",openWithLocalFileBrowser:"Im lokalen Dateimanager öffnen","fuzzy-search-noResults":"Es wurde nichts gefunden","fuzzy-search-placeholder":"Geben Sie einen Teil der Bildinformationen oder des Dateinamens ein, um passende Ergebnisse zu finden","fuzzy-search":"Schnellsuche",autoUpdate:"Erkannte Änderungen, automatische Aktualisierung wird ausgeführt",autoUpdateIndex:"Index automatisch aktualisieren",autoUpdateIndexDesc:"Index automatisch aktualisieren, wenn er veraltet ist (beim Zurückkehren zur Seite). Wenn deaktiviert, wird eine Aufforderung zur manuellen Aktualisierung angezeigt",indexExpiredManualUpdate:'Index veraltet, bitte auf die Schaltfläche "Index aktualisieren" klicken, um manuell zu aktualisieren',autoUpdateFeatureTip:'💡 Tipp: Um häufige Index-Updates zu vermeiden, die Ihren Workflow unterbrechen, können Sie "Index automatisch aktualisieren" in den globalen Einstellungen deaktivieren. Wenn deaktiviert, können Sie immer noch suchen (basierend auf dem veralteten Index) und bei Bedarf manuell aktualisieren.',gotIt:"Verstanden",faq:"FAQ",helpFeedback:"Hilfe / Feedback",helpFeedbackWay1:"FAQ ansehen / ähnliche Issues suchen",helpFeedbackSearchIssues:"Issues durchsuchen",helpFeedbackWay2:"Neues Issue erstellen",helpFeedbackNewIssue:"Auf GitHub erstellen",helpFeedbackWay3:"Dem Maintainer eine E-Mail senden",tagGraphGenerating:"Diagramm wird erzeugt…",tagGraphStatLayers:"Ebenen",tagGraphStatNodes:"Knoten",tagGraphStatLinks:"Verbindungen",tagGraphAllLayers:"Alle Ebenen",tagGraphFilterPlaceholder:"Stichwort-Filter (Treffer + Nachbarn)",tagGraphFilterHopsTitle:"Erweitern (N Hops)",tagGraphKeywordLimitTitle:"Maximale Keywords in der Tag-Ebene",tagGraphFilterApply:"Filtern",tagGraphFilterReset:"Zurücksetzen",tagGraphTooltipFilter:"Filtern",tagGraphTooltipOpenCluster:"Cluster öffnen",tagGraphFullscreenUnsupported:"Vollbild wird in dieser Umgebung nicht unterstützt",tagGraphFullscreenFailed:"Vollbild konnte nicht gestartet werden",selectExactMatchTag:"Wähle Tags für exakte Übereinstimmung aus",selectAnyMatchTag:"(Optional) Wähle Tags für beliebige Übereinstimmung aus",selectExcludeTag:"(Optional) Wähle Tags zum Ausschliessen aus",exactMatch:"Exakte Übereinstimmung",anyMatch:"Beliebige Übereinstimmung",exclude:"Ausschliessen",showTiktokNavigator:"Navigationsschaltflächen anzeigen",showTiktokNavigatorDesc:"Zeigen Sie die Navigationstasten (Pfeile nach oben/unten) in der TikTok-Ansicht an",topicSearchExperimental:"Natürliche Sprach-Kategorisierung & Suche (Experimentell)",topicSearchTitleExperimental:"Natürliche Sprach-Kategorisierung & Suche (Experimentell)",topicSearchScope:"Bereich",topicSearchNeedScope:"Bitte zuerst einen Bereich (Ordner) auswählen",topicSearchQueryPlaceholder:"Geben Sie einen Satz ein, um ähnliche Bilder zu finden (RAG-ähnliche Suche)",topicSearchOpenResults:"Ergebnisse öffnen",topicSearchThreshold:"Schwelle",topicSearchMinClusterSize:"Min. Cluster",topicSearchEmptyNoScope:"Bitte zuerst einen Bereich auswählen, dann aktualisieren/kategorisieren",topicSearchEmptyNoTopics:"Noch keine Themen (versuchen Sie „Min. Cluster“ zu verringern oder „Schwelle“ anzupassen)",topicSearchChooseScope:"Bereich auswählen",topicSearchRefreshAndCluster:"Aktualisieren/Kategorisieren",topicSearchScopeModalTitle:"Vektorisierungsbereich auswählen (Ordner)",topicSearchScopeTip:"Standardmäßig ist kein Bereich aktiviert. Sie müssen Ordner auswählen, um zu kategorisieren/suchen. Bereich stammt aus QuickMovePaths.",topicSearchSavingToBackend:"Wird im Backend gespeichert...",topicSearchScopePlaceholder:"Ordner auswählen (Mehrfachauswahl)",topicSearchRecallMsg:"{0} / {1} abgerufen (TopK={2})",topicSearchCacheStale:"Zwischengespeichertes Ergebnis wird angezeigt (Update verfügbar)",topicSearchCacheStaleDesc:'Ordner im ausgewählten Bereich könnten geändert worden sein. Der Cache könnte veraltet sein. Klicken Sie auf „Update", um Themen neu zu erzeugen (Index wird zuerst aktualisiert).',topicSearchCacheUpdate:"Cache aktualisieren",topicSearchCacheHit:"Zwischengespeichertes Ergebnis",topicSearchCacheHitDesc:"Zeigt zwischengespeicherte Themen aus früheren Analysen an. Klicken Sie auf Update, um neu zu erzeugen.",topicSearchCollapse:"Einklappen",topicSearchExpand:"Ausklappen",topicSearchGuideTitle:"Schnellstart (Experimentell)",topicSearchGuideStep1:"Wählen Sie die Ordner (Bereich) zur Analyse aus (Mehrfachauswahl)",topicSearchGuideStep2:'Klicken Sie auf „Aktualisieren", um Themenkarten zu erzeugen (inkrementelle Vektorisierung)',topicSearchGuideStep3:"Geben Sie einen Satz ein, um zu suchen; ähnliche Bilder werden abgerufen und die Ergebnisse geöffnet",topicSearchGuideAdvantage1:"Automatische Gruppierung nach semantischer Ähnlichkeit: KI entdeckt automatisch ähnliche Themen ohne manuelle Kategorisierung",topicSearchGuideAdvantage2:"Natürliche Sprachsemantiksuche: Schnelles Finden verwandter Bilder mit einem Satz, ähnlich der RAG-Suche",topicSearchGuideEmptyReasonNoScope:"Leer, weil: kein Bereich ausgewählt (standardmäßig deaktiviert). Klicken Sie auf „Bereich“, um Ordner zu wählen.",topicSearchGuideEmptyReasonNoTopics:"Leer, weil: für diesen Bereich noch keine Themen erzeugt wurden (Aktualisieren oder Min. Cluster/Schwelle senken).",topicSearchRequirementsTitle:"Voraussetzungen",topicSearchRequirementsOpenai:"Erforderlich: OPENAI_BASE_URL und OPENAI_API_KEY (Backend-Umgebungsvariablen)",topicSearchRequirementsDepsPython:"Erforderlich: Python-Abhängigkeiten numpy und hnswlib (ohne sie ist die Funktion deaktiviert)",topicSearchRequirementsDepsDesktop:"Desktop-App: Abhängigkeiten sind enthalten (numpy/hnswlib müssen nicht installiert werden)",topicSearchRequirementsInstallCmd:"Installation: pip install numpy hnswlib",topicSearchJobFailed:"Job fehlgeschlagen",topicSearchJobStage:"Phase",topicSearchJobQueued:"Job in Warteschlange…",topicSearchJobStageEmbedding:"Vektorisierung…",topicSearchJobStageClustering:"Clustering…",topicSearchJobStageTitling:"Titel werden erzeugt…",topicSearchJobStageDone:"Fertig",topicSearchJobStageError:"Fehler",topicSearchJobEmbeddingDesc:"{0}/{1} vektorisiert (gescannt {2}); aktuell: {3}",topicSearchJobClusteringDesc:"Clustering {0}/{1}",topicSearchJobTitlingDesc:"Titel {0}/{1}","auto.refreshed":"Automatische Aktualisierung erfolgreich durchgeführt!",copied:"In die Zwischenablage kopiert!","index.expired":"Index abgelaufen, automatische Aktualisierung wird durchgeführt",manualExitFullScreen:"Du hast das letzte Bild gelöscht und musst möglicherweise manuell den Vollbild-Vorschaumodus beenden","walk-mode-move-message":"Im Walk-Modus ist das Verschieben des Verzeichnisses nur über 'Schnellzugriff' gestattet",refreshCompleted:"Aktualisierung erfolgreich abgeschlossen",addedTagToImage:"Schlagwort wurde erfolgreich diesem Bild hinzugefügt",removedTagFromImage:"Schlagwort wurde von diesem Bild entfernt",openContextMenu:"Öffne das Kontextmenü",copyPrompt:"Kopiere Prompt-Konfiguration",toggleTag:"(Favorite) Schlagwort hinzufügen/entfernen",addCompleted:"Hinzufügen abgeschlossen",removeCompleted:"Entfernen abgeschlossen",existInOtherType:"Bereits in anderem Typ vorhanden",alreadyExists:"Bereits vorhanden",cancel:"Abbrechen",submit:"Bestätigen",add:"Hinzufügen",custom:"Benutzerdefiniert",needGenerateIdx:`Klicken Sie auf die Schaltfläche, um einen Index zur Bildersuche zu generieren. +You can now let AI agents use IIB to help with image management, tag organization, and smart search. Through the API interface, AI can access all IIB features for automated workflows.|info`,playInline:"Play Here"},AH={serverKeyRequired:"Für die weitere Nutzung ist die Eingabe eines Schlüssels erforderlich, der vom Server konfiguriert wurde.",removeFromSearchScanPathAndQuickMove:"Schnellzugriff entfernen",addToSearchScanPathAndQuickMove:"Schnellzugriff hinzufügen",openWithLocalFileBrowser:"Im lokalen Dateimanager öffnen","fuzzy-search-noResults":"Es wurde nichts gefunden","fuzzy-search-placeholder":"Geben Sie einen Teil der Bildinformationen oder des Dateinamens ein, um passende Ergebnisse zu finden","fuzzy-search":"Schnellsuche",autoUpdate:"Erkannte Änderungen, automatische Aktualisierung wird ausgeführt",autoUpdateIndex:"Index automatisch aktualisieren",autoUpdateIndexDesc:"Index automatisch aktualisieren, wenn er veraltet ist (beim Zurückkehren zur Seite). Wenn deaktiviert, wird eine Aufforderung zur manuellen Aktualisierung angezeigt",indexExpiredManualUpdate:'Index veraltet, bitte auf die Schaltfläche "Index aktualisieren" klicken, um manuell zu aktualisieren',autoUpdateFeatureTip:'💡 Tipp: Um häufige Index-Updates zu vermeiden, die Ihren Workflow unterbrechen, können Sie "Index automatisch aktualisieren" in den globalen Einstellungen deaktivieren. Wenn deaktiviert, können Sie immer noch suchen (basierend auf dem veralteten Index) und bei Bedarf manuell aktualisieren.',gotIt:"Verstanden",faq:"FAQ",helpFeedback:"Hilfe / Feedback",helpFeedbackWay1:"FAQ ansehen / ähnliche Issues suchen",helpFeedbackSearchIssues:"Issues durchsuchen",helpFeedbackWay2:"Neues Issue erstellen",helpFeedbackNewIssue:"Auf GitHub erstellen",helpFeedbackWay3:"Dem Maintainer eine E-Mail senden",tagGraphGenerating:"Diagramm wird erzeugt…",tagGraphStatLayers:"Ebenen",tagGraphStatNodes:"Knoten",tagGraphStatLinks:"Verbindungen",tagGraphAllLayers:"Alle Ebenen",tagGraphFilterPlaceholder:"Stichwort-Filter (Treffer + Nachbarn)",tagGraphFilterHopsTitle:"Erweitern (N Hops)",tagGraphKeywordLimitTitle:"Maximale Keywords in der Tag-Ebene",tagGraphFilterApply:"Filtern",tagGraphFilterReset:"Zurücksetzen",tagGraphTooltipFilter:"Filtern",tagGraphTooltipOpenCluster:"Cluster öffnen",tagGraphFullscreenUnsupported:"Vollbild wird in dieser Umgebung nicht unterstützt",tagGraphFullscreenFailed:"Vollbild konnte nicht gestartet werden",selectExactMatchTag:"Wähle Tags für exakte Übereinstimmung aus",selectAnyMatchTag:"(Optional) Wähle Tags für beliebige Übereinstimmung aus",selectExcludeTag:"(Optional) Wähle Tags zum Ausschliessen aus",exactMatch:"Exakte Übereinstimmung",anyMatch:"Beliebige Übereinstimmung",exclude:"Ausschliessen",showTiktokNavigator:"Navigationsschaltflächen anzeigen",showTiktokNavigatorDesc:"Zeigen Sie die Navigationstasten (Pfeile nach oben/unten) in der TikTok-Ansicht an",topicSearchExperimental:"Natürliche Sprach-Kategorisierung & Suche (Experimentell)",topicSearchTitleExperimental:"Natürliche Sprach-Kategorisierung & Suche (Experimentell)",topicSearchScope:"Bereich",topicSearchNeedScope:"Bitte zuerst einen Bereich (Ordner) auswählen",topicSearchQueryPlaceholder:"Geben Sie einen Satz ein, um ähnliche Bilder zu finden (RAG-ähnliche Suche)",topicSearchOpenResults:"Ergebnisse öffnen",topicSearchThreshold:"Schwelle",topicSearchMinClusterSize:"Min. Cluster",topicSearchEmptyNoScope:"Bitte zuerst einen Bereich auswählen, dann aktualisieren/kategorisieren",topicSearchEmptyNoTopics:"Noch keine Themen (versuchen Sie „Min. Cluster“ zu verringern oder „Schwelle“ anzupassen)",topicSearchChooseScope:"Bereich auswählen",topicSearchRefreshAndCluster:"Aktualisieren/Kategorisieren",topicSearchScopeModalTitle:"Vektorisierungsbereich auswählen (Ordner)",topicSearchScopeTip:"Standardmäßig ist kein Bereich aktiviert. Sie müssen Ordner auswählen, um zu kategorisieren/suchen. Bereich stammt aus QuickMovePaths.",topicSearchSavingToBackend:"Wird im Backend gespeichert...",topicSearchScopePlaceholder:"Ordner auswählen (Mehrfachauswahl)",topicSearchRecallMsg:"{0} / {1} abgerufen (TopK={2})",topicSearchCacheStale:"Zwischengespeichertes Ergebnis wird angezeigt (Update verfügbar)",topicSearchCacheStaleDesc:'Ordner im ausgewählten Bereich könnten geändert worden sein. Der Cache könnte veraltet sein. Klicken Sie auf „Update", um Themen neu zu erzeugen (Index wird zuerst aktualisiert).',topicSearchCacheUpdate:"Cache aktualisieren",topicSearchCacheHit:"Zwischengespeichertes Ergebnis",topicSearchCacheHitDesc:"Zeigt zwischengespeicherte Themen aus früheren Analysen an. Klicken Sie auf Update, um neu zu erzeugen.",topicSearchCollapse:"Einklappen",topicSearchExpand:"Ausklappen",topicSearchGuideTitle:"Schnellstart (Experimentell)",topicSearchGuideStep1:"Wählen Sie die Ordner (Bereich) zur Analyse aus (Mehrfachauswahl)",topicSearchGuideStep2:'Klicken Sie auf „Aktualisieren", um Themenkarten zu erzeugen (inkrementelle Vektorisierung)',topicSearchGuideStep3:"Geben Sie einen Satz ein, um zu suchen; ähnliche Bilder werden abgerufen und die Ergebnisse geöffnet",topicSearchGuideAdvantage1:"Automatische Gruppierung nach semantischer Ähnlichkeit: KI entdeckt automatisch ähnliche Themen ohne manuelle Kategorisierung",topicSearchGuideAdvantage2:"Natürliche Sprachsemantiksuche: Schnelles Finden verwandter Bilder mit einem Satz, ähnlich der RAG-Suche",topicSearchGuideEmptyReasonNoScope:"Leer, weil: kein Bereich ausgewählt (standardmäßig deaktiviert). Klicken Sie auf „Bereich“, um Ordner zu wählen.",topicSearchGuideEmptyReasonNoTopics:"Leer, weil: für diesen Bereich noch keine Themen erzeugt wurden (Aktualisieren oder Min. Cluster/Schwelle senken).",topicSearchRequirementsTitle:"Voraussetzungen",topicSearchRequirementsOpenai:"Erforderlich: OPENAI_BASE_URL und OPENAI_API_KEY (Backend-Umgebungsvariablen)",topicSearchRequirementsDepsPython:"Erforderlich: Python-Abhängigkeiten numpy und hnswlib (ohne sie ist die Funktion deaktiviert)",topicSearchRequirementsDepsDesktop:"Desktop-App: Abhängigkeiten sind enthalten (numpy/hnswlib müssen nicht installiert werden)",topicSearchRequirementsInstallCmd:"Installation: pip install numpy hnswlib",topicSearchJobFailed:"Job fehlgeschlagen",topicSearchJobStage:"Phase",topicSearchJobQueued:"Job in Warteschlange…",topicSearchJobStageEmbedding:"Vektorisierung…",topicSearchJobStageClustering:"Clustering…",topicSearchJobStageTitling:"Titel werden erzeugt…",topicSearchJobStageDone:"Fertig",topicSearchJobStageError:"Fehler",topicSearchJobEmbeddingDesc:"{0}/{1} vektorisiert (gescannt {2}); aktuell: {3}",topicSearchJobClusteringDesc:"Clustering {0}/{1}",topicSearchJobTitlingDesc:"Titel {0}/{1}","auto.refreshed":"Automatische Aktualisierung erfolgreich durchgeführt!",copied:"In die Zwischenablage kopiert!","index.expired":"Index abgelaufen, automatische Aktualisierung wird durchgeführt",manualExitFullScreen:"Du hast das letzte Bild gelöscht und musst möglicherweise manuell den Vollbild-Vorschaumodus beenden","walk-mode-move-message":"Im Walk-Modus ist das Verschieben des Verzeichnisses nur über 'Schnellzugriff' gestattet",refreshCompleted:"Aktualisierung erfolgreich abgeschlossen",addedTagToImage:"Schlagwort wurde erfolgreich diesem Bild hinzugefügt",removedTagFromImage:"Schlagwort wurde von diesem Bild entfernt",openContextMenu:"Öffne das Kontextmenü",copyPrompt:"Kopiere Prompt-Konfiguration",toggleTag:"(Favorite) Schlagwort hinzufügen/entfernen",addCompleted:"Hinzufügen abgeschlossen",removeCompleted:"Entfernen abgeschlossen",existInOtherType:"Bereits in anderem Typ vorhanden",alreadyExists:"Bereits vorhanden",cancel:"Abbrechen",submit:"Bestätigen",add:"Hinzufügen",custom:"Benutzerdefiniert",needGenerateIdx:`Klicken Sie auf die Schaltfläche, um einen Index zur Bildersuche zu generieren. Dieser Vorgang kann einige Minuten in Anspruch nehmen.`,search:"Suchen",UpdateIndex:"Index aktualisieren",generateIndexHint:"Index für die Bildersuche generieren",Model:"Modell",Sampler:"Sampler",lora:"LoRA",size:"Grösse",pos:"Positiver Prompt",unknownSavedDir:"Das Speicherverzeichnis konnte nicht gefunden werden (Einstellung für das Speicherverzeichnis in der Konfiguration)",errorOccurred:"Ein Fehler ist aufgetreten",useThumbnailPreview:"Verwende Miniaturansichtsvorschau",gridThumbnailWidth:"Breite der Miniatur-Rasteransicht",start:"Start",tip:"Hinweis",sortByDateAscending:"Datum aufsteigend",sortByDateDescending:"Datum absteigend",sortByCreatedDateAscending:"Erstellungsdatum aufsteigend",sortByCreatedDateDescending:"Erstellungsdatum absteigend",sortByNameAscending:"Name aufsteigend",sortByNameDescending:"Name absteigend",sortBySizeAscending:"Grösse aufsteigend",sortBySizeDescending:"Grösse absteigend",sortByShuffle:"Zufällig",inputAddressAndPressEnter:"Geben Sie die Adresse ein und drücken Sie Enter",go:"Los",unknownError:"Unbekannter Fehler aufgetreten",loadingNextFolder:"Lade Dateien aus dem nächsten Verzeichnis",moveFailedCheckPath:`Fehler beim Verschieben. Überprüfen Sie den eingegebenen Pfad. `,detailList:"Detailübersicht",previewGrid:"Vorschau-Rasteransicht",moveSelectedFilesTo:"Ausgewählte Dateien verschieben nach",confirm:"Bestätigen",download:"Herunterladen",local:"Lokal",sendImageFailed:"Fehler beim Senden des Bildes. Bitte kontaktieren Sie den Entwickler mit der Fehlermeldung aus der Konsole.",confirmDelete:"Sind Sie sicher, dass Sie dies löschen möchten?",deleteSuccess:"Erfolgreich gelöscht",moveToTrashSuccess:"In den Papierkorb verschoben",doubleClickToCopy:"Doppelklick zum Kopieren",root:"Root",drive:" Laufwerk",refresh:"Aktualisieren",quickMove:"Schnellzugriff",more:"Mehr",viewMode:"Ansichtsmodus",sortingMethod:"Sortiermethode",copyPath:"Pfad kopieren",deleteSelected:"Löschen",previewInNewWindow:"In neuem Fenster öffnen",copySourceFilePreviewLink:"Kopiere Dateilink aus dem Verzeichnis",viewGenerationInfo:"Anzeige von Generierungsinformationen (Prompt, etc.)",sendToTxt2img:"Senden an Text-zu-Bild",sendToImg2img:"Senden an Bild-zu-Bild",sendToInpaint:"Senden an Inpaint",sendToExtraFeatures:"Senden an Extras",sendToControlNet:"Senden an ControlNet",loadNextPage:"Nächste Seite laden",localFile:"Lokale Datei",globalSettings:"Globale Einstellungen",welcome:"Willkommen",openInNewWindow:"In neuem Fenster öffnen",restoreLastRecord:"Letztes Verzeichnis wiederherstellen",launch:"Ausführen",walkMode:"Verwende den Walk-Modus, um Bilder zu durchsuchen",recent:"Kürzlich",emptyStartPage:"Leere Startseite",t2i:"Text-zu-Bild",i2i:"Bild-zu-Bild",saveButtonSavesTo:"Speichern",extra:"Extras",gridImage:"Rasterbild","i2i-grid":"Bild-zu-Bild Raster",image:"Bild","t2i-grid":"Text-zu-Bild Raster",workingFolder:"Arbeitsordner",lang:"Sprache",langChangeReload:"Neuladen: Einige Änderungen erfordern ein Neuladen, um wirksam zu werden",openOnTheRight:"Rechts öffnen",openInNewTab:"In neuem Tab öffnen",openWithWalkMode:"Im Walk-Modus öffnen",longPressOpenContextMenu:"Langes Rechtsklicken zur Öffnung des Kontextmenüs unterstützen",searchResults:"Suchergebnisse",imgSearch:"Bildsuche",send2savedDir:"In den gespeicherten Ordner senden",promptcompare:"Prompts vergleichen","TikTok View":"TikTok-Ansicht",rebuildImageIndex:"Bildindex neu erstellen",tagSearchNoResultsMessage:"Es scheint, als wären keine Ergebnisse gefunden worden. Versuchen Sie, den Index neu zu erstellen, um unbenutzte Tags zu entfernen?",tiktokView:"TikTok-Ansicht",magicSwitchTiktokView:"TikTok-Ansichtsmodus",magicSwitchTiktokViewDesc:"Wenn aktiviert, führt das Klicken auf Bild-/Videodateien direkt in den TikTok-Ansichtsmodus",magicSwitchEnabled:"🎬 EIN - Klicken Sie auf Mediendateien, um die TikTok-Ansicht zu öffnen",magicSwitchDisabled:"📁 AUS - Klicken Sie auf Mediendateien, um sie normal zu öffnen",magicSwitchDetailDesc:"Klicken Sie auf Bilder und Videos, um direkt in die TikTok-ähnliche Browsing-Erfahrung einzusteigen",randomImageSettings:"Zufallsbild-Einstellungen",showRandomImageInStartup:"Zufallsbild in Startseite anzeigen",showRandomImageInStartupDesc:"Kontrolliert, ob die Zufallsbild-Option auf der Startseite angezeigt wird",randomImageSettingNotification:"Tipp: Sie können in den globalen Einstellungen steuern, ob die Zufallsbild-Option auf der Startseite angezeigt wird",mediaType:"Medientyp",all:"Alle",video:"Video",randomSort:"Zufällig sortieren",sortByDate:"Nach Datum sortieren",fileTypeFilter:"Dateityp-Filter",allFiles:"Alle Dateien",audio:"Audio",aiAnalyzeTags:"KI-Tags analysieren",aiAnalyzeTagsNoPrompt:"Kein Prompt gefunden",aiAnalyzeTagsNoCustomTags:"Keine benutzerdefinierten Tags verfügbar",aiAnalyzeTagsNoMatchedTags:"KI hat keine passenden Tags gefunden",aiAnalyzeTagsNoValidTags:"Keine gültigen passenden Tags gefunden",aiAnalyzeTagsAllTagsAlreadyAdded:"Alle passenden Tags wurden bereits zum Bild hinzugefügt",aiAnalyzeTagsSuccess:"{0} Tags hinzugefügt: {1}",aiAnalyzeTagsFailed:"KI-Tag-Analyse fehlgeschlagen, bitte Konfiguration überprüfen",organizeJobs:"Organisationsaufgaben",folders:"Ordner",files:"Dateien",queued:"In Warteschlange",analyzing:"Analysieren",waitingConfirm:"Warten auf Bestätigung",moving:"Verschieben",completed:"Abgeschlossen",error:"Fehler",generatingEmbeddings:"Vektoren werden erzeugt...",clusteringAnalysis:"Clustering-Analyse...",generatingTitles:"Titel werden erzeugt...",previewReady:"Vorschau bereit",movingFiles:"Dateien werden verschoben...",organizePreviewReady:"Vorschau bereit: {files} Dateien → {clusters} Ordner",viewPreview:"Vorschau anzeigen",smartOrganizePreview:"Smart Organize Vorschau",organizePreviewSummary:"{files} Dateien werden in {folders} Ordner organisiert",destFolder:"Zielordner",unsorted:"Unsortiert",skip:"Überspringen",cancelSkip:"Überspringen abbrechen",showMore:"{count} weitere anzeigen...",willMove:"{count} Dateien werden verschoben",skipped:"{count} übersprungen",confirmOrganize:"Organisation bestätigen",startMovingFiles:"Dateien werden verschoben...",confirmFailed:"Bestätigung fehlgeschlagen",organizeComplete:"Fertig: {moved} Dateien verschoben, {folders} Ordner erstellt",organizeFailed:"Organisation fehlgeschlagen",smartOrganize:"AI Organize",smartOrganizeHint:"KI analysiert und organisiert verstreute Dateien in Ordner",organizeJobStarted:"Organisationsaufgabe gestartet, Fortschritt im Panel unten rechts",smartOrganizeConfig:"Smart Organize Einstellungen",smartOrganizeConfigDesc:"Smart Organize Optionen konfigurieren",smartOrganizeNotice:"Mehr Dateien und verteilte Cluster benötigen mehr Zeit. Die Aufgabe läuft im Hintergrund.",organizeSourceFolders:"Zu organisierende Ordner",organizeSourceFolder:"Zielordner",organizeSourceFolderHint:"Dateien in diesem Ordner werden in Kategorien organisiert",organizeRecursive:"Unterordner einbeziehen",organizeRecursiveDesc:"Alle Dateien in Unterordnern als zu organisierende Dateien behandeln",organizeMinClusterSize:"Min. Clustergröße",organizeMinClusterSizeDesc:"Weniger Dateien als diese Anzahl erstellen keinen separaten Ordner",organizeTargetFolder:"Zielordner",organizeTargetFolderDesc:"Organisierte Dateien werden in diesen Ordner verschoben (Standard: aktueller Ordner)",organizeAction:"Aktion",organizeActionMove:"Verschieben",organizeActionCopy:"Kopieren",organizeStartTask:"Organisation starten",organizeCancel:"Abbrechen",updatingIndex:"Index wird aktualisiert...",startingOrganizeJob:"Organisationsaufgabe wird gestartet...",flattenFolder:"Ordner abflachen",flattenFolderDesc:"Alle Dateien aus Unterordnern in den aktuellen Ordner verschieben",flattenFolderWarning:"Dies ist eine gefährliche Operation! Alle Dateien in Unterordnern werden in den aktuellen Ordner verschoben, Unterordner werden gelöscht.",flattenFolderScanning:"Dateien werden gescannt...",flattenFolderConflict:"Dateinamenskonflikte gefunden, Abflachung nicht möglich",flattenFolderConflictFiles:"Konfliktbehaftete Dateinamen",flattenFolderConfirm:"{count} Dateien abflachen bestätigen?",flattenFolderExecuting:"Ordner wird abgeflacht...",flattenFolderSuccess:"Abflachung abgeschlossen, {count} Dateien verschoben",flattenFolderNoFiles:"Keine Dateien zum Verschieben",loadingTip1:`💡 Dateinamens-Eindeutigkeit-Tipp @@ -205,7 +205,7 @@ Konfigurieren Sie Auto-Tagging-Regeln in den globalen Einstellungen. Tags werden Wenn Sie beim schnellen Scrollen durch viele Bilder Verzögerungen bemerken, können Sie "Change Indicators" in den globalen Einstellungen deaktivieren für deutlich bessere Leistung.|info`,loadingTip10:`🤖 KI-Agenten-Integration -Sie können jetzt KI-Agenten IIB nutzen lassen, um bei Bildverwaltung, Tag-Organisation und intelligenter Suche zu helfen. Über die API-Schnittstelle kann die KI auf alle IIB-Funktionen zugreifen und automatisierte Workflows erstellen.|info`},IH={tryMyLuck:"隨便看看",randomImage:"隨機圖片",randomImageSettings:"隨機圖片設定",showRandomImageInStartup:"在啟動頁面顯示隨機圖片",showRandomImageInStartupDesc:"控制隨機圖片選項是否在啟動頁面顯示",randomImageSettingNotification:"提示:您可以在全域設定頁面中控制是否在啟動頁面顯示隨機圖片選項",shuffle:"換一批",pathOnly:"僅路徑",disableMaximize:"禁用最大化",takeEffectAfterReloadPage:"需要重新載入頁面才能生效",compressFile:"對文件壓縮",packOnlyNotDownload:"僅打包不下載",notAllowSingleCtrlOrShiftAsShortcut:"不允許使用單獨的 Ctrl 或者 Shift 作為快速鍵",conflictWithOtherShortcuts:"與其他快速鍵衝突",pinnedSearchHistoryDesc:"你可以通過點擊置頂的搜索歷史來快速還原到之前的搜索狀態。",addNewCustomTag:"添加新的自定義標籤",showTiktokNavigator:"顯示導航按鈕",showTiktokNavigatorDesc:"在 TikTok 視圖中顯示導航按鈕(上/下箭頭)",topicSearchExperimental:"自然語言分類&搜尋(實驗性)",topicSearchTitleExperimental:"自然語言分類 & 搜尋(實驗性)",topicSearchScope:"範圍",topicSearchNeedScope:"請先選擇向量化範圍(資料夾)",topicSearchQueryPlaceholder:"輸入一句話,召回相似圖片(RAG 召回)",topicSearchOpenResults:"打開結果",topicSearchThreshold:"閾值",topicSearchMinClusterSize:"最小組",topicSearchEmptyNoScope:"請先選擇範圍,然後刷新/歸類",topicSearchEmptyNoTopics:"暫無主題結果(可嘗試降低「最小組」或調整「閾值」)",topicSearchChooseScope:"選擇範圍",topicSearchRefreshAndCluster:"刷新/歸類",topicSearchScopeModalTitle:"選擇向量化範圍(資料夾)",topicSearchScopeTip:"預設不啟用任何範圍;必須選擇後才能歸類/搜尋。範圍來源於 QuickMovePaths。",topicSearchSavingToBackend:"正在保存到後端...",topicSearchScopePlaceholder:"選擇資料夾(可多選)",topicSearchRecallMsg:"召回 {0} / {1}(TopK={2})",topicSearchCacheStale:"已顯示快取結果(可更新)",topicSearchCacheStaleDesc:"偵測到範圍內資料夾可能有變更,快取可能已過期。可點擊更新重新生成主題(會先更新索引)。",topicSearchCacheUpdate:"更新快取",topicSearchCacheHit:"已顯示快取結果",topicSearchCacheHitDesc:"顯示之前的快取主題。點擊更新重新生成。",topicSearchCollapse:"收合",topicSearchExpand:"展開",topicSearchGuideTitle:"快速上手(實驗性)",topicSearchGuideStep1:"選擇要分析的資料夾範圍(可多選)",topicSearchGuideStep2:"點擊刷新,生成主題卡片(會增量向量化)",topicSearchGuideStep3:"輸入一句話搜尋,召回相似圖片並打開結果頁",topicSearchGuideAdvantage1:"基於語義相似度自動分組:AI自動發現相似主題,無需手動分類",topicSearchGuideAdvantage2:"自然語言語義檢索:用一句話快速找到相關圖片,類似RAG檢索",topicSearchGuideEmptyReasonNoScope:"目前為空:尚未選擇範圍(預設關閉),請先點「範圍」選擇資料夾",topicSearchGuideEmptyReasonNoTopics:"目前為空:此範圍尚未生成主題(可點刷新,或調低最小組/閾值)",topicSearchRequirementsTitle:"使用前置條件",topicSearchRequirementsOpenai:"必須配置:OPENAI_BASE_URL、OPENAI_API_KEY(後端環境變數)",topicSearchRequirementsDepsPython:"必須安裝:Python 依賴 numpy、hnswlib(缺少則功能不可用)",topicSearchRequirementsDepsDesktop:"桌面客戶端:已內建依賴(無需手動安裝 numpy/hnswlib)",topicSearchRequirementsInstallCmd:"安裝命令:pip install numpy hnswlib",topicSearchJobFailed:"任務失敗",topicSearchJobStage:"階段",topicSearchJobQueued:"已提交任務,準備開始…",topicSearchJobStageEmbedding:"向量化中(Embedding)",topicSearchJobStageClustering:"歸類中(Clustering)",topicSearchJobStageTitling:"生成標題中(LLM)",topicSearchJobStageDone:"完成",topicSearchJobStageError:"失敗",topicSearchJobEmbeddingDesc:"已向量化 {0}/{1}(掃描 {2});目前:{3}",topicSearchJobClusteringDesc:"正在歸類 {0}/{1}",topicSearchJobTitlingDesc:"正在生成標題 {0}/{1}",clearCacheIfNotTakeEffect:"如果更改沒有生效,請嘗試清理頁面緩存",success:"成功",setCurrFrameAsVideoPoster:"設置當前幀為視頻封面",sync:"同步",syncDesc:"當你需要實現多設備或者多用戶之間的簡單設置隔離時你可以關閉這個選項, IIB的大部分設置將只會保存到當前瀏覽器上(跨域的情況下也是隔離),不會同步到服務器",readonlyModeSettingPageDesc:"當前為只讀模式,你可以調整調整設置,但這些更改不會被保存",syncHistoryToLocal:"同步歷史到本地",showCommaInGenInfoPanel:"在生成信息面板中顯示逗號",walkModeAutoRefreshDisabled:"Walk模式下自動刷新已停用",disable:"停用",autoRefresh:"自動刷新",autoRefreshNormalFixedMode:"啟用自動刷新 (Normal/Fixed模式)",autoRefreshWalkMode:"啟用自動刷新 (Walk模式)",autoRefreshWalkModePosLimit:"Walk模式下觸發自動刷新的位置極限",autoUpdateIndex:"自動更新索引",autoUpdateIndexDesc:"當檢測到索引過期時自動更新(頁面返回時)。關閉後將顯示提示,允許手動更新",indexExpiredManualUpdate:"索引已過期,可點擊更新按鈕手動更新",autoUpdateFeatureTip:"💡 提示:為了避免頻繁更新打斷您的心流,您可以在全局設置中關閉「自動更新索引」。關閉後仍可搜索(基於已過期的索引),需要時再手動更新即可。",gotIt:"知道了",pollInterval:"輪詢間隔",pollRefresh:"輪詢刷新",stopPollRefresh:"停止輪詢刷新",pollRefreshTip:"默認情況下你從其他TAB返回IIB時或者IIB的可見性發生改變時IIB都會自動刷新。這個功能是為了讓你一直呆在IIB內時他也能自動刷新,請慎重使用",restoreLastWorkspaceStateSuccess:"成功恢復上次工作區狀態",restoreWorkspaceSnapshotSuccess:"成功恢復工作區快照",openOnAppStart:"啟動時打開",confirmThisAction:"確認這個操作?",WorkspaceSnapshotDesc:`使用工作區快照功能你可以保存當前工作區的狀態,以便下次打開IIB時快速恢復到當前狀態。 +Sie können jetzt KI-Agenten IIB nutzen lassen, um bei Bildverwaltung, Tag-Organisation und intelligenter Suche zu helfen. Über die API-Schnittstelle kann die KI auf alle IIB-Funktionen zugreifen und automatisierte Workflows erstellen.|info`,playInline:"Hier abspielen"},IH={tryMyLuck:"隨便看看",randomImage:"隨機圖片",randomImageSettings:"隨機圖片設定",showRandomImageInStartup:"在啟動頁面顯示隨機圖片",showRandomImageInStartupDesc:"控制隨機圖片選項是否在啟動頁面顯示",randomImageSettingNotification:"提示:您可以在全域設定頁面中控制是否在啟動頁面顯示隨機圖片選項",shuffle:"換一批",pathOnly:"僅路徑",disableMaximize:"禁用最大化",takeEffectAfterReloadPage:"需要重新載入頁面才能生效",compressFile:"對文件壓縮",packOnlyNotDownload:"僅打包不下載",notAllowSingleCtrlOrShiftAsShortcut:"不允許使用單獨的 Ctrl 或者 Shift 作為快速鍵",conflictWithOtherShortcuts:"與其他快速鍵衝突",pinnedSearchHistoryDesc:"你可以通過點擊置頂的搜索歷史來快速還原到之前的搜索狀態。",addNewCustomTag:"添加新的自定義標籤",showTiktokNavigator:"顯示導航按鈕",showTiktokNavigatorDesc:"在 TikTok 視圖中顯示導航按鈕(上/下箭頭)",topicSearchExperimental:"自然語言分類&搜尋(實驗性)",topicSearchTitleExperimental:"自然語言分類 & 搜尋(實驗性)",topicSearchScope:"範圍",topicSearchNeedScope:"請先選擇向量化範圍(資料夾)",topicSearchQueryPlaceholder:"輸入一句話,召回相似圖片(RAG 召回)",topicSearchOpenResults:"打開結果",topicSearchThreshold:"閾值",topicSearchMinClusterSize:"最小組",topicSearchEmptyNoScope:"請先選擇範圍,然後刷新/歸類",topicSearchEmptyNoTopics:"暫無主題結果(可嘗試降低「最小組」或調整「閾值」)",topicSearchChooseScope:"選擇範圍",topicSearchRefreshAndCluster:"刷新/歸類",topicSearchScopeModalTitle:"選擇向量化範圍(資料夾)",topicSearchScopeTip:"預設不啟用任何範圍;必須選擇後才能歸類/搜尋。範圍來源於 QuickMovePaths。",topicSearchSavingToBackend:"正在保存到後端...",topicSearchScopePlaceholder:"選擇資料夾(可多選)",topicSearchRecallMsg:"召回 {0} / {1}(TopK={2})",topicSearchCacheStale:"已顯示快取結果(可更新)",topicSearchCacheStaleDesc:"偵測到範圍內資料夾可能有變更,快取可能已過期。可點擊更新重新生成主題(會先更新索引)。",topicSearchCacheUpdate:"更新快取",topicSearchCacheHit:"已顯示快取結果",topicSearchCacheHitDesc:"顯示之前的快取主題。點擊更新重新生成。",topicSearchCollapse:"收合",topicSearchExpand:"展開",topicSearchGuideTitle:"快速上手(實驗性)",topicSearchGuideStep1:"選擇要分析的資料夾範圍(可多選)",topicSearchGuideStep2:"點擊刷新,生成主題卡片(會增量向量化)",topicSearchGuideStep3:"輸入一句話搜尋,召回相似圖片並打開結果頁",topicSearchGuideAdvantage1:"基於語義相似度自動分組:AI自動發現相似主題,無需手動分類",topicSearchGuideAdvantage2:"自然語言語義檢索:用一句話快速找到相關圖片,類似RAG檢索",topicSearchGuideEmptyReasonNoScope:"目前為空:尚未選擇範圍(預設關閉),請先點「範圍」選擇資料夾",topicSearchGuideEmptyReasonNoTopics:"目前為空:此範圍尚未生成主題(可點刷新,或調低最小組/閾值)",topicSearchRequirementsTitle:"使用前置條件",topicSearchRequirementsOpenai:"必須配置:OPENAI_BASE_URL、OPENAI_API_KEY(後端環境變數)",topicSearchRequirementsDepsPython:"必須安裝:Python 依賴 numpy、hnswlib(缺少則功能不可用)",topicSearchRequirementsDepsDesktop:"桌面客戶端:已內建依賴(無需手動安裝 numpy/hnswlib)",topicSearchRequirementsInstallCmd:"安裝命令:pip install numpy hnswlib",topicSearchJobFailed:"任務失敗",topicSearchJobStage:"階段",topicSearchJobQueued:"已提交任務,準備開始…",topicSearchJobStageEmbedding:"向量化中(Embedding)",topicSearchJobStageClustering:"歸類中(Clustering)",topicSearchJobStageTitling:"生成標題中(LLM)",topicSearchJobStageDone:"完成",topicSearchJobStageError:"失敗",topicSearchJobEmbeddingDesc:"已向量化 {0}/{1}(掃描 {2});目前:{3}",topicSearchJobClusteringDesc:"正在歸類 {0}/{1}",topicSearchJobTitlingDesc:"正在生成標題 {0}/{1}",clearCacheIfNotTakeEffect:"如果更改沒有生效,請嘗試清理頁面緩存",success:"成功",setCurrFrameAsVideoPoster:"設置當前幀為視頻封面",sync:"同步",syncDesc:"當你需要實現多設備或者多用戶之間的簡單設置隔離時你可以關閉這個選項, IIB的大部分設置將只會保存到當前瀏覽器上(跨域的情況下也是隔離),不會同步到服務器",readonlyModeSettingPageDesc:"當前為只讀模式,你可以調整調整設置,但這些更改不會被保存",syncHistoryToLocal:"同步歷史到本地",showCommaInGenInfoPanel:"在生成信息面板中顯示逗號",walkModeAutoRefreshDisabled:"Walk模式下自動刷新已停用",disable:"停用",autoRefresh:"自動刷新",autoRefreshNormalFixedMode:"啟用自動刷新 (Normal/Fixed模式)",autoRefreshWalkMode:"啟用自動刷新 (Walk模式)",autoRefreshWalkModePosLimit:"Walk模式下觸發自動刷新的位置極限",autoUpdateIndex:"自動更新索引",autoUpdateIndexDesc:"當檢測到索引過期時自動更新(頁面返回時)。關閉後將顯示提示,允許手動更新",indexExpiredManualUpdate:"索引已過期,可點擊更新按鈕手動更新",autoUpdateFeatureTip:"💡 提示:為了避免頻繁更新打斷您的心流,您可以在全局設置中關閉「自動更新索引」。關閉後仍可搜索(基於已過期的索引),需要時再手動更新即可。",gotIt:"知道了",pollInterval:"輪詢間隔",pollRefresh:"輪詢刷新",stopPollRefresh:"停止輪詢刷新",pollRefreshTip:"默認情況下你從其他TAB返回IIB時或者IIB的可見性發生改變時IIB都會自動刷新。這個功能是為了讓你一直呆在IIB內時他也能自動刷新,請慎重使用",restoreLastWorkspaceStateSuccess:"成功恢復上次工作區狀態",restoreWorkspaceSnapshotSuccess:"成功恢復工作區快照",openOnAppStart:"啟動時打開",confirmThisAction:"確認這個操作?",WorkspaceSnapshotDesc:`使用工作區快照功能你可以保存當前工作區的狀態,以便下次打開IIB時快速恢復到當前狀態。 你可以在全局設置頁面中指定啟動IIB時恢復到哪一個快照,或者恢復到最後關閉前的工作區狀態。`,WorkspaceSnapshot:"工作區快照",restoreLastWorkspaceState:"恢復上次工作區狀態",restoreWorkspaceSnapshot:"恢復工作區快照: {0}",saveWorkspaceSnapshot:"保存工作區快照",save:"保存",name:"名稱",nameRequired:"名稱不能為空",saveCompleted:"保存完成",openThisAppInNewWindow:"在新窗口打開本應用",readonly:"只讀",accessLimited:"訪問受限",selectFolder:"選擇文件夾",openFileLocationInNewTab:"在新標籤頁打開文件位置",copyTo:"複製到",moveTo:"移動到",moveSuccess:"移動成功",copySuccess:"複製成功",copyFilePath:"複製文件路徑",previewMaskBackgroundOpacity:"預覽遮罩背景透明度",experimentalLRLayout:"並列布局",width:"寬度",alwaysOnTooltipInfo:"若關閉此項,信息面板將收起,直至滑鼠移動至屏幕右側時才打開",alwaysOn:"常駐",time:"時間",pin:"置頂",unpin:"取消置頂",restore:"還原",restoreFromHistory:"從歷史記錄中恢復",history:"歷史記錄",historyRecordsSubstr:"輸入值",historyRecordsisRegex:"是否正則",walkModeDoc:"無需翻頁即可瀏覽指定資料夾下的所有檔案,使用無限捲動的方式呈現。將會使用 DFS 的方式遍歷所有檔案. 注意:該模式下排序僅在同層之間進行",normalModelDoc:"類似於 Windows 的檔案瀏覽器,擁有較高的靈活性. 但在訪問雲端儲存或者類似 SMB 這樣的地方時可能會出現異常",fixedModeDoc:"類似 Normal 模式,但頁面初始速度更快,相容性更好,靈活性稍差。在 Normal 模式下出現了異常的話都可以改用這個試試",type:"類型",filterByKeyword:"輸入標籤關鍵詞過濾",loadmore:"載入更多",rename:"重命名",inputAlias:"輸入別名",addAliasCompleted:"添加別名完成",alias:"別名",showChangeIndicators:"顯示變更指示器",seedAsChange:"將Seed也進行比較",defaultShowChangeIndicators:"預設顯示變更指示器",defaultSeedAsChange:"預設將Seed也進行比較",exit:"退出","select-all":"全選","rerverse-select":"反選","clear-all-selected":"清除所有選擇","keep-multi-selected":"保留多選","Source Identifier":"來源",openWithDefaultApp:"使用預設應用程式開啟",saveSelectedAsJson:"儲存選取的圖像資訊",saveAllAsJson:"儲存所有圖像資訊",saveLoadedImageAsJson:"儲存已載入的圖像資訊",scrollDownToComparePrompt:"向下滾查看Prompt比較",sourceText:"源文本",structuredData:"結構化數據",searchScope:"搜尋範圍",specifiedSearchFolder:"指定搜尋的資料夾,使用逗號或換行分割多個",batchAddTag:"批量添加Tag",batchRemoveTag:"批量移除Tag",errorOccurred:"發生了個錯誤",useThumbnailPreview:"使用縮圖預覽",gridThumbnailWidth:"網格縮圖寬度",start:"開始",tip:"提示",sortByDateAscending:"修改日期昇序",sortByDateDescending:"修改日期降序",sortByCreatedDateAscending:"創建日期昇序",sortByCreatedDateDescending:"創建日期降序",sortByNameAscending:"名稱昇序",sortByNameDescending:"名稱降序",sortBySizeAscending:"大小昇序",sortBySizeDescending:"大小降序",sortByShuffle:"隨機排序",inputAddressAndPressEnter:"輸入地址回車",go:"前往",unknownError:"未知錯誤",loadingNextFolder:"即將載入下一個文件夾的文件",moveFailedCheckPath:"移動失敗,檢查你的路徑輸入",detailList:"詳情列表",previewGrid:"預覽網格",moveSelectedFilesTo:"下列文件 移動 / 複製 至",continueOnError:"單個檔案失敗時繼續",continueOnErrorDesc:"繼續處理剩餘檔案,失敗的會被跳過並在伺服器記錄。",confirm:"確定",download:"下載",local:"本地",sendImageFailed:"發送圖像失敗,請攜帶console的錯誤訊息找開發者",confirmDelete:"確認刪除?",deleteSuccess:"刪除成功",moveToTrashSuccess:"已移動到回收站",doubleClickToCopy:"雙擊複製",promptcompare:"Compare Prompts",root:"根",drive:"磁碟",refresh:"重新整理",quickMove:"快速移動",more:"更多",viewMode:"檢視模式",sortingMethod:"排序方法",copyPath:"複製路徑",deleteSelected:"刪除",previewInNewWindow:"在新窗口預覽",copySourceFilePreviewLink:"複製源文件預覽連結",viewGenerationInfo:"檢視生成信息(提示等)",sendToTxt2img:"發送到文生圖",sendToImg2img:"發送到圖生圖",sendToInpaint:"發送到局部重繪",sendToControlNet:"發送到ControlNet",sendToBatchDownload:"發送到批量下載",sendToExtraFeatures:"發送到附加功能",loadNextPage:"載入下一頁",localFile:"本地檔案",globalSettings:"全域設定",welcome:"歡迎",openInNewWindow:"在新頁面打開",restoreLastRecord:"還原上次記錄",launch:"啟動",walkMode:"使用 Walk 模式瀏覽圖片",launchFromNormalAndFixed:"使用 Normal / Fixed 模式瀏覽圖片",recent:"最近",emptyStartPage:"空啟動頁",t2i:"文生圖",i2i:"圖生圖",saveButtonSavesTo:"儲存",extra:"附加",gridImage:"網格式圖","i2i-grid":"圖生圖網格",image:"圖片","t2i-grid":"文生圖網格",workingFolder:"工作文件夾",lang:"語言",langChangeReload:"重新載入: 一些變化可能需要在重新載入後生效",openOnTheRight:"在右邊打開",openInNewTab:"在新分頁打開",openWithWalkMode:"使用 Walk 模式打開",longPressOpenContextMenu:"支持使用長按打開右鍵功能表",searchResults:"搜尋結果",imgSearch:"圖片搜尋",onlyFoldersAndImages:"只顯示文件夾/圖片/視頻",fileTypeFilter:"文件類型過濾",allFiles:"所有文件",audio:"音頻",send2savedDir:"發送到儲存的文件夾",unknownSavedDir:"找不到儲存的文件夾(配置文件中的outdir_save欄位)",Model:"模型",Sampler:"採樣器",lora:"LoRA",size:"尺寸",pos:"正面提示",generateIndexHint:"生成索引用於搜尋圖片",UpdateIndex:"更新索引",needGenerateIdx:`你需要先點擊按鈕生成索引用於搜尋圖片 這個過程可能需要消耗幾分鐘`,search:"搜尋",custom:"自定義",add:"新增",cancel:"取消",submit:"提交",existInOtherType:"已存在於其他類型",alreadyExists:"已存在",toggleTag:"切換標籤選中 (收藏)",addCompleted:"新增完成",removeCompleted:"移除完成",addedTagToImage:'已添加標籤 "{tag}" 到本圖片',removedTagFromImage:'已從本圖片上移除 "{tag}" 標籤',openContextMenu:"打開上下文功能表",copyPrompt:"複製提示",copyPositivePrompt:"複製正向提示",refreshCompleted:"重新整理完成","walk-mode-move-message":'在walk模式下僅允許使用"快速移動"移動位置',manualExitFullScreen:"你刪除了最後一張圖片,也許需要你手動退出全螢幕檢視",copied:"已複製!","index.expired":"索引過期,正在自動更新","auto.refreshed":"自動重新整理完成!",exactMatch:"完全匹配",anyMatch:"匹配任意",exclude:"排除掉",selectExactMatchTag:"選擇完全匹配的 Tag。 您可以輸入部分字符進行搜索",selectAnyMatchTag:"可選,選擇匹配其中一個或多個的 Tag。 您可以輸入部分字符進行搜索",selectExcludeTag:"可選,選擇需要排除掉的 Tag。 您可以輸入部分字符進行搜索",faq:"常見問題",helpFeedback:"尋求幫助/回饋",helpFeedbackWay1:"先看看常見問題 / 找找相關 issue",helpFeedbackSearchIssues:"搜尋 issues",helpFeedbackWay2:"提一個新的 issue",helpFeedbackNewIssue:"去 GitHub 建立",helpFeedbackWay3:"直接發郵件給維護者",tagGraphGenerating:"正在生成關係圖...",tagGraphStatLayers:"層級",tagGraphStatNodes:"節點",tagGraphStatLinks:"連線",tagGraphAllLayers:"全部層級",tagGraphFilterPlaceholder:"關鍵字過濾(命中 + 上下游)",tagGraphFilterHopsTitle:"擴展層數(N 跳)",tagGraphKeywordLimitTitle:"標籤層最大顯示關鍵詞數",tagGraphFilterApply:"篩選",tagGraphFilterReset:"重置",tagGraphTooltipFilter:"過濾",tagGraphTooltipOpenCluster:"打開聚類",tagGraphFullscreenUnsupported:"目前環境不支援全螢幕",tagGraphFullscreenFailed:"全螢幕失敗",autoUpdate:"檢測到發生改變自動更新","fuzzy-search":"模糊搜尋","fuzzy-search-placeholder":"輸入圖片信息或者文件名的一部分來進行搜尋","fuzzy-search-noResults":"什麼都沒找到",openWithLocalFileBrowser:"使用本地檔案瀏覽器打開",addToSearchScanPathAndQuickMove:"加入搜尋掃描路徑",removeFromSearchScanPathAndQuickMove:"從搜尋掃描路徑和快速移動中移除",serverKeyRequired:"伺服器配置了密鑰,你必须提供相同的密鑰才能繼續使用",shortcutKey:"快速鍵(僅允許在全螢幕檢視下使用)",shortcutKeyDescription:"點擊輸入框按下你想使用的按鍵,支持與Shift和Ctrl進行組合",shortcutPresetButton:"預設快速鍵說明",shortcutPresetTitle:"預設快速鍵說明",shortcutPresetDesc:"這裡展示專案內寫死的快速鍵,便於對照觸發位置與方式。",shortcutPresetHeaderKey:"快速鍵",shortcutPresetHeaderWhere:"觸發位置",shortcutPresetHeaderAction:"作用",shortcutPresetSectionBrowse:"檔案列表(非全螢幕)",shortcutPresetSectionFullscreen:"全螢幕預覽",shortcutPresetSectionTiktok:"TikTok 視圖",shortcutPresetLocationFileList:"檔案列表區域,且焦點不在輸入框",shortcutPresetLocationFullscreen:"全螢幕預覽打開時",shortcutPresetLocationTiktok:"TikTok 視圖打開時",shortcutPresetActionPageJump:"按頁捲動列表",shortcutPresetActionHomeEnd:"跳到列表開頭 / 末尾",shortcutPresetActionBackspaceUp:"返回上級目錄",shortcutPresetActionSelectAll:"選擇目前列表全部檔案",shortcutPresetActionFullscreenNavigate:"在圖片間切換(自動跳過非圖片)",shortcutPresetActionFullscreenExit:"退出全螢幕預覽",shortcutPresetActionTiktokNavigate:"切換上一項 / 下一項",shortcutPresetActionTiktokExit:"退出 TikTok 視圖",fullscreenRestriction:"受技術限制,目前拓展不允許刪除打開全螢幕檢視時的首張圖片。",clear:"清除",toggleTagSelection:'切換 "{tag}" 標籤選中',changlog:"更新紀錄",accessControlModeTips:"為確保數據安全,您目前正以訪問控制模式運行,僅能訪問授權文件夾。您可以通過編輯本拓展根目錄的下.env文件來調整訪問權限設置 (IIB_ACCESS_CONTROL) .如果不存在.env文件, 你可以將.env.example文件複製並重命名為.env",dontShowAgain:"不再顯示",defaultSortingMethod:"默認排序方法",defaultViewMode:"默認檢視模式",showPreviewImage:"顯示預覽圖",copy:"複製",edit:"編輯",document:"文件",multiSelectTips:"您可以按住Shift、Ctrl或 Cmd鍵,然後單擊文件來進行多選刪除/移動操作",copyLocationUrlSuccessMsg:"複製完成,你可以通過複製的url直接打開目前文件夾",share:"分享",dragImageHere:"拖拽圖片到這裡",imgCompare:"圖片對比",close:"關閉",fullscreenview:"全屏查看",fileName:"文件名稱",resolution:"解析度",fileSize:"文件大小",selectAll:"全選","tauriLaunchConf.readSdWebuiConfigTitle":"讀取Stable Diffusion Webui的配置","tauriLaunchConf.readSdWebuiConfigDescription":"如果你已經安裝sd-webui,且在sd-webui內安裝了本拓展,推薦直接使用這個,將直接讀取配置並且數據共享","tauriLaunchConf.selectSdWebuiFolder":"點擊選擇SD-webui的文件夾","tauriLaunchConf.skipThisConfigTitle":"跳過本次配置","tauriLaunchConf.skipThisConfigDescription":"所有功能仍將可用,你可以在設置頁重置","tauriLaunchConf.skipButton":"跳過","tauriLaunchConfMessages.configNotFound":"找不到對應配置,檢查選擇的文件夾是否正確","tauriLaunchConfMessages.folderNotFound":"找不到對應文件夾,檢查選擇的文件夾是否正確","tauriLaunchConfMessages.configCompletedMessage":"配置完成,即將重啟","tauriLaunchConfMessages.firstTimeUserTitle":"看起來你好像是第一次使用,需要進行一些配置",inputTargetFolderPath:"輸入目標文件夾的絕對路徑",pathDoesNotExist:"路徑不存在",confirmToAddToExtraPath:"確定添加?如果文件夾過大將會消耗過多時間建立索引。",clientSpecificSettings:"客戶端特有的設置",initiateSoftwareStartupConfig:"初始化軟件啟動配置",gridCellWidth:"網格單元寬度 (px)",defaultGridCellWidth:"默認網格單元寬度 (px)",thumbnailResolution:"縮圖解析度 (px)",livePreview:"實時預覽",other:"其他",ImageBrowsingSettings:"圖片瀏覽設置",majorUpdateCustomCellSizeTips:'重大更新:你可以自定義網格圖像的大小了,在全域設置頁或者右上角的"更多"裡面進行調整',desktop:"桌面",move:"移動",inputFolderName:"輸入文件夾名稱",createFolder:"新增文件夾",sendToThirdPartyExtension:"發送到第三方拓展",lyco:"LyCORIS",batchDownloaDDragAndDropHint:'使用拖拽或者右鍵功能表中的"發送到批量下載"將其他頁面的圖片添加到這裡,支持多選',zipDownload:"打包成zip下載",archive:"歸檔",batchDownload:"批量下載",remove:"移除",secretKeyRequiredWarnMsg:"為了安全考慮,你必須為本拓展單獨配置Secret Key,具體參考本拓展根目錄下的.env.example文件內的IIB_SECRET_KEY。 這項警告只會在配置了gradio-auth時出現",secretKeyMustBeConfigured:"必須配置Secret Key",deleteOneOnlySkipConfirm:"刪除單個文件時不進行確認",resetOnGlobalSettingsPage:"你可以在全域設置頁重置",privacyAndSecurity:"安全與隱私",dragToResizePanel:"按住並拖動來調整面板的大小",clickToToggleMaximizeMinimize:"單擊切換最大化/最小化",dragToMovePanel:"按住並拖動來移動面板",imageCompareTips:'拖拽文件時也會出現這個面板,可以不需要打開 "圖片對比" 功能',regexSearchEnabledHint:"(你也可以通過點擊右側的正則式圖標來啟用正則式搜索)",confirmRebuildImageIndex:"確認重建圖像索引?",rebuildImageIndex:"重新構建圖像索引",rebuildComplete:"重新構建完成",tagSearchNoResultsMessage:"看起來沒有匹配到任何結果,嘗試通過重新構建索引來去除無用的標籤?","TikTok View":"抖音式瀏覽",tiktokView:"抖音式觀看",magicSwitchTiktokView:"TikTok 觀看模式",magicSwitchTiktokViewDesc:"開啟後,點擊圖片/視頻文件將直接進入TikTok式觀看模式",magicSwitchEnabled:"🎬 開啟 - 點擊媒體文件直接進入 TikTok 觀看",magicSwitchDisabled:"📁 關閉 - 點擊媒體文件正常打開",magicSwitchDetailDesc:"點擊圖片和視頻文件時直接進入 TikTok 式瀏覽體驗",autoPlay:"自動輪播",autoPlayOff:"關閉",autoPlay5s:"5秒",autoPlay10s:"10秒",autoPlay20s:"20秒",autoPlayTooltip:"自動輪播: {mode} (A鍵切換)",autoPlayStatus:"自動輪播:{mode}",exitFullscreen:"退出全螢幕",fullscreen:"全螢幕",soundOn:"開啟聲音",soundOff:"關閉聲音",like:"喜歡",unlike:"取消喜歡",tags:"標籤",tag:"標籤",tagOperationFailed:"標籤操作失敗",mediaType:"媒體類型",all:"全部",video:"視頻",randomSort:"隨機排序",sortByDate:"按日期排序","autoTag.name":"自動標籤 (Auto Tagging)","autoTag.description":"這些規則會在圖像被索引時自動應用,為符合條件的圖像添加標籤(觸發時機:在搜索頁更新索引或重新構建索引時)。注意:同一規則內的多個條件是AND(且)關係,需全部滿足才會應用標籤","autoTag.addRule":"添加規則","autoTag.saveConfig":"保存配置","autoTag.tagName":"標籤名稱","autoTag.inputTagName":"選擇自定義標籤","autoTag.field":"欄位","autoTag.operator":"運算符","autoTag.value":"值","autoTag.addFilter":"添加條件","autoTag.noRules":"暫無規則,點擊上方按鈕添加","autoTag.saveSuccess":"保存成功","autoTag.saveFail":"保存失敗","autoTag.fields.posPrompt":"正向提示詞 (Pos Prompt)","autoTag.fields.negPrompt":"負向提示詞 (Neg Prompt)","autoTag.fields.model":"模型 (Model)","autoTag.fields.sampler":"採樣器 (Sampler)","autoTag.fields.size":"尺寸 (Size)","autoTag.fields.cfgScale":"CFG Scale","autoTag.fields.steps":"Steps","autoTag.fields.seed":"Seed","autoTag.operators.contains":"包含 (Contains)","autoTag.operators.equals":"等於 (Equals)","autoTag.operators.regex":"正則 (Regex)",aiAnalyzeTags:"AI分析標籤",aiAnalyzeTagsNoPrompt:"沒有找到提示詞",aiAnalyzeTagsNoCustomTags:"沒有自定義標籤",aiAnalyzeTagsNoMatchedTags:"AI沒有找到匹配的標籤",aiAnalyzeTagsNoValidTags:"沒有找到有效的匹配標籤",aiAnalyzeTagsAllTagsAlreadyAdded:"所有匹配的標籤已經添加到圖像上了",aiAnalyzeTagsSuccess:"已添加 {0} 個標籤:{1}",aiAnalyzeTagsFailed:"AI分析標籤失敗,請檢查配置",organizeJobs:"整理任務",folders:"個資料夾",files:"個檔案",queued:"排隊中",analyzing:"分析中",waitingConfirm:"待確認",moving:"移動中",completed:"已完成",error:"錯誤",generatingEmbeddings:"正在生成向量...",clusteringAnalysis:"正在聚類分析...",generatingTitles:"正在生成標題...",previewReady:"預覽就緒",movingFiles:"正在移動檔案...",organizePreviewReady:"預覽就緒:{files} 個檔案 → {clusters} 個資料夾",viewPreview:"查看預覽",smartOrganizePreview:"智能整理預覽",organizePreviewSummary:"{files} 個檔案將被整理到 {folders} 個資料夾",destFolder:"目標資料夾",unsorted:"未分類",skip:"跳過",cancelSkip:"取消跳過",showMore:"顯示更多 ({count})...",willMove:"將移動 {count} 個檔案",skipped:"已跳過 {count} 個",confirmOrganize:"確認整理",startMovingFiles:"開始移動檔案...",confirmFailed:"確認失敗",organizeComplete:"完成:已移動 {moved} 個檔案,創建了 {folders} 個資料夾",organizeFailed:"整理失敗",smartOrganize:"AI整理",smartOrganizeHint:"AI 將分析並把零散檔案整理到資料夾中",organizeJobStarted:"整理任務已啟動,請在右下角面板查看進度",smartOrganizeConfig:"智能整理設定",smartOrganizeConfigDesc:"配置智能整理選項",smartOrganizeNotice:"檔案越多、聚類越分散,處理時間越長。任務會在背景運行,您可以繼續其他操作。",organizeSourceFolders:"將對以下資料夾進行整理",organizeSourceFolder:"整理目標資料夾",organizeSourceFolderHint:"將對該資料夾內的檔案進行智能分類整理",organizeRecursive:"遞迴處理子資料夾",organizeRecursiveDesc:"將所有子資料夾中的檔案都視為待整理檔案",organizeMinClusterSize:"最小聚類大小",organizeMinClusterSizeDesc:"少於此數量的檔案不會創建單獨資料夾",organizeTargetFolder:"目標資料夾",organizeTargetFolderDesc:"整理後的檔案將放入此資料夾(預設為目前資料夾)",organizeAction:"操作方式",organizeActionMove:"移動",organizeActionCopy:"複製",organizeStartTask:"開始整理",organizeCancel:"取消",updatingIndex:"正在更新索引...",startingOrganizeJob:"正在啟動整理任務...",flattenFolder:"壓平資料夾",flattenFolderDesc:"將所有子資料夾中的檔案移動到目前資料夾",flattenFolderWarning:"這是一個危險操作!所有子資料夾中的檔案將被移動到目前資料夾,子資料夾將被刪除。",flattenFolderScanning:"正在掃描檔案...",flattenFolderConflict:"發現檔案名稱衝突,無法執行壓平操作",flattenFolderConflictFiles:"衝突的檔案名稱",flattenFolderConfirm:"確認壓平 {count} 個檔案?",flattenFolderExecuting:"正在壓平資料夾...",flattenFolderSuccess:"壓平完成,已移動 {count} 個檔案",flattenFolderNoFiles:"沒有需要移動的檔案",loadingTip1:`💡 檔案名唯一性提示 @@ -227,7 +227,7 @@ Walk 模式使用無限滾動瀏覽所有子資料夾的檔案,無需手動翻 如果在快速滾動大量圖片時感到卡頓,可以在全域設定中關閉「變更指示器」功能,這可以顯著提升瀏覽效能。|info`,loadingTip10:`🤖 AI Agent 整合 -現在您可以讓 AI agent 使用 IIB 來協助進行圖片管理、標籤整理和智慧搜尋。透過 API 介面,AI 可以存取所有 IIB 功能,實現自動化工作流程。|info`},CT=()=>{const t=navigator.language.toLowerCase();if(t.startsWith("zh"))return/hk|tw|mo/.test(t)?"zhHant":"zhHans";switch(t){case"de":case"de-de":return"de";default:return"en"}},Kh=mH({locale:CT(),fallbackLocale:"en",messages:{zhHans:M1,zhHant:IH,zh:M1,en:kH,de:AH},legacy:!1}),{t:ve,locale:_te}=Kh.global;/*! js-cookie v3.0.5 | MIT */function $l(t){for(var e=1;e"u")){o=$l({},e,o),typeof o.expires=="number"&&(o.expires=new Date(Date.now()+o.expires*864e5)),o.expires&&(o.expires=o.expires.toUTCString()),a=encodeURIComponent(a).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var s="";for(var l in o)o[l]&&(s+="; "+l,o[l]!==!0&&(s+="="+o[l].split(";")[0]));return document.cookie=a+"="+t.write(i,a)+s}}function r(a){if(!(typeof document>"u"||arguments.length&&!a)){for(var i=document.cookie?document.cookie.split("; "):[],o={},s=0;s{const t=new Gh;return{eventEmitter:t,useEventListen:(n,r)=>{t.on(n,r),pt(()=>t.off(n,r))}}};/*! ***************************************************************************** +現在您可以讓 AI agent 使用 IIB 來協助進行圖片管理、標籤整理和智慧搜尋。透過 API 介面,AI 可以存取所有 IIB 功能,實現自動化工作流程。|info`,playInline:"在此播放"},CT=()=>{const t=navigator.language.toLowerCase();if(t.startsWith("zh"))return/hk|tw|mo/.test(t)?"zhHant":"zhHans";switch(t){case"de":case"de-de":return"de";default:return"en"}},Kh=mH({locale:CT(),fallbackLocale:"en",messages:{zhHans:M1,zhHant:IH,zh:M1,en:kH,de:AH},legacy:!1}),{t:ve,locale:_te}=Kh.global;/*! js-cookie v3.0.5 | MIT */function $l(t){for(var e=1;e"u")){o=$l({},e,o),typeof o.expires=="number"&&(o.expires=new Date(Date.now()+o.expires*864e5)),o.expires&&(o.expires=o.expires.toUTCString()),a=encodeURIComponent(a).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var s="";for(var l in o)o[l]&&(s+="; "+l,o[l]!==!0&&(s+="="+o[l].split(";")[0]));return document.cookie=a+"="+t.write(i,a)+s}}function r(a){if(!(typeof document>"u"||arguments.length&&!a)){for(var i=document.cookie?document.cookie.split("; "):[],o={},s=0;s{const t=new Gh;return{eventEmitter:t,useEventListen:(n,r)=>{t.on(n,r),pt(()=>t.off(n,r))}}};/*! ***************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any @@ -289,7 +289,7 @@ Note that this is not an issue if running this frontend on a browser instead of */let vP;const Uc=t=>vP=t,pP=Symbol();function Ev(t){return t&&typeof t=="object"&&Object.prototype.toString.call(t)==="[object Object]"&&typeof t.toJSON!="function"}var ds;(function(t){t.direct="direct",t.patchObject="patch object",t.patchFunction="patch function"})(ds||(ds={}));function xq(){const t=Lv(!0),e=t.run(()=>z({}));let n=[],r=[];const a=Ju({install(i){Uc(a),a._a=i,i.provide(pP,a),i.config.globalProperties.$pinia=a,r.forEach(o=>n.push(o)),r=[]},use(i){return!this._a&&!gG?r.push(i):n.push(i),this},_p:n,_a:null,_e:t,_s:new Map,state:e});return a}const hP=()=>{};function ew(t,e,n,r=hP){t.push(e);const a=()=>{const i=t.indexOf(e);i>-1&&(t.splice(i,1),r())};return!n&&qu()&&zv(a),a}function Oi(t,...e){t.slice().forEach(n=>{n(...e)})}const Oq=t=>t();function kv(t,e){t instanceof Map&&e instanceof Map&&e.forEach((n,r)=>t.set(r,n)),t instanceof Set&&e instanceof Set&&e.forEach(t.add,t);for(const n in e){if(!e.hasOwnProperty(n))continue;const r=e[n],a=t[n];Ev(a)&&Ev(r)&&t.hasOwnProperty(n)&&!_t(r)&&!Gr(r)?t[n]=kv(a,r):t[n]=r}return t}const Tq=Symbol();function Pq(t){return!Ev(t)||!t.hasOwnProperty(Tq)}const{assign:da}=Object;function Eq(t){return!!(_t(t)&&t.effect)}function kq(t,e,n,r){const{state:a,actions:i,getters:o}=e,s=n.state.value[t];let l;function u(){s||(n.state.value[t]=a?a():{});const c=aC(n.state.value[t]);return da(c,i,Object.keys(o||{}).reduce((f,p)=>(f[p]=Ju(B(()=>{Uc(n);const g=n._s.get(t);return o[p].call(g,g)})),f),{}))}return l=gP(t,u,e,n,r,!0),l}function gP(t,e,n={},r,a,i){let o;const s=da({actions:{}},n),l={deep:!0};let u,c,f=[],p=[],g;const d=r.state.value[t];!i&&!d&&(r.state.value[t]={}),z({});let v;function m(T){let O;u=c=!1,typeof T=="function"?(T(r.state.value[t]),O={type:ds.patchFunction,storeId:t,events:g}):(kv(r.state.value[t],T),O={type:ds.patchObject,payload:T,storeId:t,events:g});const N=v=Symbol();qe().then(()=>{v===N&&(u=!0)}),c=!0,Oi(f,O,r.state.value[t])}const h=i?function(){const{state:O}=n,N=O?O():{};this.$patch(D=>{da(D,N)})}:hP;function y(){o.stop(),f=[],p=[],r._s.delete(t)}function w(T,O){return function(){Uc(r);const N=Array.from(arguments),D=[],F=[];function R(k){D.push(k)}function j(k){F.push(k)}Oi(p,{args:N,name:T,store:C,after:R,onError:j});let L;try{L=O.apply(this&&this.$id===t?this:C,N)}catch(k){throw Oi(F,k),k}return L instanceof Promise?L.then(k=>(Oi(D,k),k)).catch(k=>(Oi(F,k),Promise.reject(k))):(Oi(D,L),L)}}const b={_p:r,$id:t,$onAction:ew.bind(null,p),$patch:m,$reset:h,$subscribe(T,O={}){const N=ew(f,T,O.detached,()=>D()),D=o.run(()=>me(()=>r.state.value[t],F=>{(O.flush==="sync"?c:u)&&T({storeId:t,type:ds.direct,events:g},F)},da({},l,O)));return N},$dispose:y},C=lt(b);r._s.set(t,C);const _=r._a&&r._a.runWithContext||Oq,x=r._e.run(()=>(o=Lv(),_(()=>o.run(e))));for(const T in x){const O=x[T];if(_t(O)&&!Eq(O)||Gr(O))i||(d&&Pq(O)&&(_t(O)?O.value=d[T]:kv(O,d[T])),r.state.value[t][T]=O);else if(typeof O=="function"){const N=w(T,O);x[T]=N,s.actions[T]=O}}return da(C,x),da(Ve(C),x),Object.defineProperty(C,"$state",{get:()=>r.state.value[t],set:T=>{m(O=>{da(O,T)})}}),r._p.forEach(T=>{da(C,o.run(()=>T({store:C,app:r._a,pinia:r,options:s})))}),d&&i&&n.hydrate&&n.hydrate(C.$state,d),u=!0,c=!0,C}function il(t,e,n){let r,a;const i=typeof e=="function";typeof t=="string"?(r=t,a=i?n:e):(a=t,r=t.id);function o(s,l){const u=zk();return s=s||(u?ot(pP,null):null),s&&Uc(s),s=vP,s._s.has(r)||(i?gP(r,e,a,s):kq(r,a,s)),s._s.get(r)}return o.$id=r,o}function Aq(t){{t=Ve(t);const e={};for(const n in t){const r=t[n];(_t(r)||Gr(r))&&(e[n]=Sn(t,n))}return e}}function Iq(t){return/^(?:\/|[a-z]:)/i.test(si(t))}function Mq(t){if(!t)return"";t=t.replace(/\\/g,"/"),t=t.replace(/\/+/g,"/");const e=t.split("/"),n=[];for(let i=0;i{const n=Iq(t)?t:si(mP(e,t));return si(n)},sne=t=>{t=si(t);const e=t.split("/").filter(n=>n);return e[0].endsWith(":")&&(e[0]=e[0]+"/"),e};function yP(t){const e=t.lastIndexOf("/"),n=t.lastIndexOf("\\"),r=Math.max(e,n);return r===-1?".":t.substring(0,r)}function Nq(t){const e=t.lastIndexOf("/"),n=t.lastIndexOf("\\"),r=Math.max(e,n);return r===-1?t:t.substring(r+1)}const bP=t=>rr({...t,name:typeof t.name=="string"?t.name:t.nameFallbackStr??""}),wP=t=>({...t,panes:t.panes.map(bP)}),$q=t=>{var n;if(!t.panes.some(r=>r.type==="workspace-snapshot"))return wP(t);const e=t.panes.filter(r=>r.type!=="workspace-snapshot").map(bP);return{...t,panes:e,key:((n=eO(e))==null?void 0:n.key)??""}},CP=["defaultChangeIndchecked","defaultSeedChangeChecked","darkModeControl","dontShowAgainNewImgOpts","defaultSortingMethod","defaultGridCellWidth","dontShowAgain","lang","enableThumbnail","tabListHistoryRecord","recent","gridThumbnailResolution","longPressOpenContextMenu","onlyFoldersAndImages","fileTypeFilter","shortcut","ignoredConfirmActions","previewBgOpacity","defaultInitinalPage","autoRefreshWalkMode","autoRefreshWalkModePosLimit","autoRefreshNormalFixedMode","showCommaInInfoPanel","batchDownloadCompress","batchDownloadPackOnly","magicSwitchTiktokView","showRandomImageInStartup","showTiktokNavigator","autoUpdateIndex"];function Fq(t){if(t<768)return 176;{const e=160+Math.floor((t-768)/128)*16;return Math.min(e,256)}}const cn=il(rg+"useGlobalStore",()=>{const t=z(),e=z([]),n=z(!0),r=z(512),a=z(ag.CREATED_TIME_DESC),i=z(256);try{typeof parent<"u"&&parent.window&&(i.value=Fq(parent.window.innerHeight))}catch(G){console.error(G)}const o=z("auto"),s=()=>({type:"empty",name:ve("emptyStartPage"),key:Rn()}),l=z([]);He(()=>{const G=s();l.value.push({panes:[G],key:G.key,id:Rn()})});const u=z(),c=z(new Array),f=Date.now(),p=z(),g=()=>{var q;const G=Ve(l.value).map(wP);((q=p.value)==null?void 0:q[0].time)!==f?p.value=[{tabs:G,time:f},...p.value??[]]:p.value[0].tabs=G,p.value=p.value.slice(0,2)},d=async(G,q,J)=>{let U=l.value.map(ne=>ne.panes).flat().find(ne=>ne.type==="tag-search-matched-image-grid"&&ne.id===q);if(U){U.selectedTagIds=rr(J);return}else U={type:"tag-search-matched-image-grid",id:q,selectedTagIds:rr(J),key:Rn(),name:ve("searchResults")};const K=l.value[G+1];K?(K.key=U.key,K.panes.push(U)):l.value.push({panes:[U],key:U.key,id:Rn()})},v=z(CT());me(v,G=>Kh.global.locale.value=G);const m=z(!1),h=z({delete:"",download:""}),y=z({}),w=B(()=>{const G=["outdir_extras_samples","outdir_save","outdir_txt2img_samples","outdir_img2img_samples","outdir_img2img_grids","outdir_txt2img_grids"],q=e.value.filter(J=>G.includes(J.key)).map(J=>[J.zh,J.dir]);return{...Object.fromEntries(q),...y.value}}),b=new Map,C=lt({deleteOneOnly:!1}),_=JG(),x=B(()=>{const G=()=>{try{return parent.location.search.includes("theme=dark")}catch{return!1}};return(o.value==="auto"?_.value||G():o.value==="dark")?"dark":"light"}),T=G=>{var q;try{G=G.trim();const J=w.value,U=si(G),K=[];for(const[ne,ie]of Object.entries(J))if(ne&&ie){if(G===ie||U===ie)return ne;K.push(U.replace(ie,"$"+ne))}return((q=K.sort((ne,ie)=>ne.length-ie.length))==null?void 0:q[0])??G}catch(J){return console.error(J),G}},O=z(.6),N=z(!1),D=z(!0),F=z(!1),R=z([]),j=z(!0),L=z(!1),k=z(""),P=G=>{R.value.push(G),j.value=!0},I=(G,q)=>{const J=R.value.findIndex(U=>U.job_id===G);if(J>=0){const K={...JSON.parse(JSON.stringify(R.value[J])),...q};R.value.splice(J,1,K),console.log("Updated job:",G,"status:",K.status,"preview:",K.preview?`has preview (${K.preview.total_files} files)`:"no preview")}},$=G=>{R.value=R.value.filter(q=>q.job_id!==G)},W=G=>R.value.find(q=>q.job_id===G);return{computedTheme:x,showTiktokNavigator:F,darkModeControl:o,defaultSortingMethod:a,defaultGridCellWidth:i,defaultChangeIndchecked:z(!0),defaultSeedChangeChecked:z(!1),pathAliasMap:w,createEmptyPane:s,lang:v,tabList:l,conf:t,quickMovePaths:e,enableThumbnail:n,dragingTab:u,saveRecord:g,recent:c,tabListHistoryRecord:p,gridThumbnailResolution:r,longPressOpenContextMenu:m,openTagSearchMatchedImageGridInRight:d,onlyFoldersAndImages:z(!0),fileTypeFilter:z(["image","video","audio"]),keepMultiSelect:z(!1),fullscreenPreviewInitialUrl:z(""),shortcut:h,pageFuncExportMap:b,dontShowAgain:z(!1),dontShowAgainNewImgOpts:z(!1),ignoredConfirmActions:C,getShortPath:T,extraPathAliasMap:y,previewBgOpacity:O,defaultInitinalPage:z("empty"),autoRefreshWalkMode:z(!0),autoRefreshWalkModePosLimit:z(128),autoRefreshNormalFixedMode:z(!0),showCommaInInfoPanel:z(!1),batchDownloadCompress:z(!1),batchDownloadPackOnly:z(!1),magicSwitchTiktokView:N,showRandomImageInStartup:D,autoUpdateIndex:z(!0),activeOrganizeJobs:R,showOrganizePanel:j,addOrganizeJob:P,updateOrganizeJob:I,removeOrganizeJob:$,getOrganizeJob:W,showSmartOrganizeConfig:L,smartOrganizeConfigPath:k}},{persist:{paths:CP}}),Rq=il(rg+"useWorkspeaceSnapshot",()=>{const t=cn(),e=a=>{const i=Ve(t.tabList).map($q);return{id:Date.now()+(Math.random()*1e5).toFixed(0),name:a,tabs:i}},n=z([]);return me(()=>{var a;return(a=t.conf)==null?void 0:a.app_fe_setting},a=>{if(a&&Hc()){const s=Object.keys(a).filter(l=>l.startsWith("workspace_snapshot_")).map(l=>a[l]);n.value=s}},{immediate:!0}),{createSnapshot:e,snapshots:n,addSnapshot:async a=>{n.value.push(a),await dP(`workspace_snapshot_${a.id}`,a)}}},{persist:{paths:["snapshots"]}}),nw=async({global_setting:t,sd_cwd:e,home:n,extra_paths:r,cwd:a})=>{const i=uP(t,"outdir_grids","outdir_extras_samples","outdir_img2img_grids","outdir_img2img_samples","outdir_grids","outdir_extras_samples","outdir_samples","outdir_txt2img_grids","outdir_txt2img_samples","outdir_save");i.outdir_extras_samples??(i.outdir_extras_samples="outputs/extras-images"),i.outdir_img2img_grids??(i.outdir_img2img_grids="outputs/img2img-grids"),i.outdir_img2img_samples??(i.outdir_img2img_samples="outputs/img2img-images"),i.outdir_save??(i.outdir_save="log/images"),i.outdir_txt2img_grids??(i.outdir_txt2img_grids="outputs/txt2img-grids"),i.outdir_txt2img_samples??(i.outdir_txt2img_samples="outputs/txt2img-images");const o={...i,cwd:e,home:n,desktop:`${n}/Desktop`};Object.keys(o).forEach(f=>{const p=f;if(o[p])try{o[p]=tw(o[p],e)}catch(g){console.error(g)}});const s=await yq(Object.values(o).filter(f=>f)),l={outdir_txt2img_samples:ve("t2i"),outdir_img2img_samples:ve("i2i"),outdir_save:ve("saveButtonSavesTo"),outdir_extras_samples:ve("extra"),outdir_grids:ve("gridImage"),outdir_img2img_grids:ve("i2i-grid"),outdir_samples:ve("image"),outdir_txt2img_grids:ve("t2i-grid"),cwd:ve("workingFolder"),home:"home",desktop:ve("desktop")},u=cn();u.extraPathAliasMap={home:n,[ve("desktop")]:o.desktop,[ve("workingFolder")]:a,[ve("t2i")]:o.outdir_txt2img_samples,[ve("i2i")]:o.outdir_img2img_samples,...r.filter(f=>f.alias).reduce((f,p)=>(f[p.alias]=tw(p.path,e),f),{})},await ai(0);const c=Object.keys(l).filter(f=>s[o[f]]).map(f=>{const p=f;return{key:p,zh:l[p],dir:o[p],can_delete:!1,types:["preset"]}}).concat(r.map(f=>({key:f.path,zh:f.alias||u.getShortPath(f.path),dir:f.path,can_delete:!0,types:f.types})));return OT(c,f=>f.key+f.types.join())};const SP={name:"splitpanes",emits:["ready","resize","resized","pane-click","pane-maximize","pane-add","pane-remove","splitter-click"],props:{horizontal:{type:Boolean},pushOtherPanes:{type:Boolean,default:!0},dblClickSplitter:{type:Boolean,default:!0},rtl:{type:Boolean,default:!1},firstSplitter:{type:Boolean}},provide(){return{requestUpdate:this.requestUpdate,onPaneAdd:this.onPaneAdd,onPaneRemove:this.onPaneRemove,onPaneClick:this.onPaneClick}},data:()=>({container:null,ready:!1,panes:[],touch:{mouseDown:!1,dragging:!1,activeSplitter:null},splitterTaps:{splitter:null,timeoutId:null}}),computed:{panesCount(){return this.panes.length},indexedPanes(){return this.panes.reduce((t,e)=>(t[e.id]=e)&&t,{})}},methods:{updatePaneComponents(){this.panes.forEach(t=>{t.update&&t.update({[this.horizontal?"height":"width"]:`${this.indexedPanes[t.id].size}%`})})},bindEvents(){document.addEventListener("mousemove",this.onMouseMove,{passive:!1}),document.addEventListener("mouseup",this.onMouseUp),"ontouchstart"in window&&(document.addEventListener("touchmove",this.onMouseMove,{passive:!1}),document.addEventListener("touchend",this.onMouseUp))},unbindEvents(){document.removeEventListener("mousemove",this.onMouseMove,{passive:!1}),document.removeEventListener("mouseup",this.onMouseUp),"ontouchstart"in window&&(document.removeEventListener("touchmove",this.onMouseMove,{passive:!1}),document.removeEventListener("touchend",this.onMouseUp))},onMouseDown(t,e){this.bindEvents(),this.touch.mouseDown=!0,this.touch.activeSplitter=e},onMouseMove(t){this.touch.mouseDown&&(t.preventDefault(),this.touch.dragging=!0,this.calculatePanesSize(this.getCurrentMouseDrag(t)),this.$emit("resize",this.panes.map(e=>({min:e.min,max:e.max,size:e.size}))))},onMouseUp(){this.touch.dragging&&this.$emit("resized",this.panes.map(t=>({min:t.min,max:t.max,size:t.size}))),this.touch.mouseDown=!1,setTimeout(()=>{this.touch.dragging=!1,this.unbindEvents()},100)},onSplitterClick(t,e){"ontouchstart"in window&&(t.preventDefault(),this.dblClickSplitter&&(this.splitterTaps.splitter===e?(clearTimeout(this.splitterTaps.timeoutId),this.splitterTaps.timeoutId=null,this.onSplitterDblClick(t,e),this.splitterTaps.splitter=null):(this.splitterTaps.splitter=e,this.splitterTaps.timeoutId=setTimeout(()=>{this.splitterTaps.splitter=null},500)))),this.touch.dragging||this.$emit("splitter-click",this.panes[e])},onSplitterDblClick(t,e){let n=0;this.panes=this.panes.map((r,a)=>(r.size=a===e?r.max:r.min,a!==e&&(n+=r.min),r)),this.panes[e].size-=n,this.$emit("pane-maximize",this.panes[e]),this.$emit("resized",this.panes.map(r=>({min:r.min,max:r.max,size:r.size})))},onPaneClick(t,e){this.$emit("pane-click",this.indexedPanes[e])},getCurrentMouseDrag(t){const e=this.container.getBoundingClientRect(),{clientX:n,clientY:r}="ontouchstart"in window&&t.touches?t.touches[0]:t;return{x:n-e.left,y:r-e.top}},getCurrentDragPercentage(t){t=t[this.horizontal?"y":"x"];const e=this.container[this.horizontal?"clientHeight":"clientWidth"];return this.rtl&&!this.horizontal&&(t=e-t),t*100/e},calculatePanesSize(t){const e=this.touch.activeSplitter;let n={prevPanesSize:this.sumPrevPanesSize(e),nextPanesSize:this.sumNextPanesSize(e),prevReachedMinPanes:0,nextReachedMinPanes:0};const r=0+(this.pushOtherPanes?0:n.prevPanesSize),a=100-(this.pushOtherPanes?0:n.nextPanesSize),i=Math.max(Math.min(this.getCurrentDragPercentage(t),a),r);let o=[e,e+1],s=this.panes[o[0]]||null,l=this.panes[o[1]]||null;const u=s.max<100&&i>=s.max+n.prevPanesSize,c=l.max<100&&i<=100-(l.max+this.sumNextPanesSize(e+1));if(u||c){u?(s.size=s.max,l.size=Math.max(100-s.max-n.prevPanesSize-n.nextPanesSize,0)):(s.size=Math.max(100-l.max-n.prevPanesSize-this.sumNextPanesSize(e+1),0),l.size=l.max);return}if(this.pushOtherPanes){const f=this.doPushOtherPanes(n,i);if(!f)return;({sums:n,panesToResize:o}=f),s=this.panes[o[0]]||null,l=this.panes[o[1]]||null}s!==null&&(s.size=Math.min(Math.max(i-n.prevPanesSize-n.prevReachedMinPanes,s.min),s.max)),l!==null&&(l.size=Math.min(Math.max(100-i-n.nextPanesSize-n.nextReachedMinPanes,l.min),l.max))},doPushOtherPanes(t,e){const n=this.touch.activeSplitter,r=[n,n+1];return e{i>r[0]&&i<=n&&(a.size=a.min,t.prevReachedMinPanes+=a.min)}),t.prevPanesSize=this.sumPrevPanesSize(r[0]),r[0]===void 0)?(t.prevReachedMinPanes=0,this.panes[0].size=this.panes[0].min,this.panes.forEach((a,i)=>{i>0&&i<=n&&(a.size=a.min,t.prevReachedMinPanes+=a.min)}),this.panes[r[1]].size=100-t.prevReachedMinPanes-this.panes[0].min-t.prevPanesSize-t.nextPanesSize,null):e>100-t.nextPanesSize-this.panes[r[1]].min&&(r[1]=this.findNextExpandedPane(n).index,t.nextReachedMinPanes=0,r[1]>n+1&&this.panes.forEach((a,i)=>{i>n&&i{i=n+1&&(a.size=a.min,t.nextReachedMinPanes+=a.min)}),this.panes[r[0]].size=100-t.prevPanesSize-t.nextReachedMinPanes-this.panes[this.panesCount-1].min-t.nextPanesSize,null):{sums:t,panesToResize:r}},sumPrevPanesSize(t){return this.panes.reduce((e,n,r)=>e+(re+(r>t+1?n.size:0),0)},findPrevExpandedPane(t){return[...this.panes].reverse().find(e=>e.indexe.min)||{}},findNextExpandedPane(t){return this.panes.find(e=>e.index>t+1&&e.size>e.min)||{}},checkSplitpanesNodes(){Array.from(this.container.children).forEach(t=>{const e=t.classList.contains("splitpanes__pane"),n=t.classList.contains("splitpanes__splitter");!e&&!n&&(t.parentNode.removeChild(t),console.warn("Splitpanes: Only elements are allowed at the root of . One of your DOM nodes was removed."))})},addSplitter(t,e,n=!1){const r=t-1,a=document.createElement("div");a.classList.add("splitpanes__splitter"),n||(a.onmousedown=i=>this.onMouseDown(i,r),typeof window<"u"&&"ontouchstart"in window&&(a.ontouchstart=i=>this.onMouseDown(i,r)),a.onclick=i=>this.onSplitterClick(i,r+1)),this.dblClickSplitter&&(a.ondblclick=i=>this.onSplitterDblClick(i,r+1)),e.parentNode.insertBefore(a,e)},removeSplitter(t){t.onmousedown=void 0,t.onclick=void 0,t.ondblclick=void 0,t.parentNode.removeChild(t)},redoSplitters(){const t=Array.from(this.container.children);t.forEach(n=>{n.className.includes("splitpanes__splitter")&&this.removeSplitter(n)});let e=0;t.forEach(n=>{n.className.includes("splitpanes__pane")&&(!e&&this.firstSplitter?this.addSplitter(e,n,!0):e&&this.addSplitter(e,n),e++)})},requestUpdate({target:t,...e}){const n=this.indexedPanes[t._.uid];Object.entries(e).forEach(([r,a])=>n[r]=a)},onPaneAdd(t){let e=-1;Array.from(t.$el.parentNode.children).some(a=>(a.className.includes("splitpanes__pane")&&e++,a===t.$el));const n=parseFloat(t.minSize),r=parseFloat(t.maxSize);this.panes.splice(e,0,{id:t._.uid,index:e,min:isNaN(n)?0:n,max:isNaN(r)?100:r,size:t.size===null?null:parseFloat(t.size),givenSize:t.size,update:t.update}),this.panes.forEach((a,i)=>a.index=i),this.ready&&this.$nextTick(()=>{this.redoSplitters(),this.resetPaneSizes({addedPane:this.panes[e]}),this.$emit("pane-add",{index:e,panes:this.panes.map(a=>({min:a.min,max:a.max,size:a.size}))})})},onPaneRemove(t){const e=this.panes.findIndex(r=>r.id===t._.uid),n=this.panes.splice(e,1)[0];this.panes.forEach((r,a)=>r.index=a),this.$nextTick(()=>{this.redoSplitters(),this.resetPaneSizes({removedPane:{...n,index:e}}),this.$emit("pane-remove",{removed:n,panes:this.panes.map(r=>({min:r.min,max:r.max,size:r.size}))})})},resetPaneSizes(t={}){!t.addedPane&&!t.removedPane?this.initialPanesSizing():this.panes.some(e=>e.givenSize!==null||e.min||e.max<100)?this.equalizeAfterAddOrRemove(t):this.equalize(),this.ready&&this.$emit("resized",this.panes.map(e=>({min:e.min,max:e.max,size:e.size})))},equalize(){const t=100/this.panesCount;let e=0;const n=[],r=[];this.panes.forEach(a=>{a.size=Math.max(Math.min(t,a.max),a.min),e-=a.size,a.size>=a.max&&n.push(a.id),a.size<=a.min&&r.push(a.id)}),e>.1&&this.readjustSizes(e,n,r)},initialPanesSizing(){let t=100;const e=[],n=[];let r=0;this.panes.forEach(i=>{t-=i.size,i.size!==null&&r++,i.size>=i.max&&e.push(i.id),i.size<=i.min&&n.push(i.id)});let a=100;t>.1&&(this.panes.forEach(i=>{i.size===null&&(i.size=Math.max(Math.min(t/(this.panesCount-r),i.max),i.min)),a-=i.size}),a>.1&&this.readjustSizes(t,e,n))},equalizeAfterAddOrRemove({addedPane:t,removedPane:e}={}){let n=100/this.panesCount,r=0;const a=[],i=[];t&&t.givenSize!==null&&(n=(100-t.givenSize)/(this.panesCount-1)),this.panes.forEach(o=>{r-=o.size,o.size>=o.max&&a.push(o.id),o.size<=o.min&&i.push(o.id)}),!(Math.abs(r)<.1)&&(this.panes.forEach(o=>{t&&t.givenSize!==null&&t.id===o.id||(o.size=Math.max(Math.min(n,o.max),o.min)),r-=o.size,o.size>=o.max&&a.push(o.id),o.size<=o.min&&i.push(o.id)}),r>.1&&this.readjustSizes(r,a,i))},readjustSizes(t,e,n){let r;t>0?r=t/(this.panesCount-e.length):r=t/(this.panesCount-n.length),this.panes.forEach((a,i)=>{if(t>0&&!e.includes(a.id)){const o=Math.max(Math.min(a.size+r,a.max),a.min),s=o-a.size;t-=s,a.size=o}else if(!n.includes(a.id)){const o=Math.max(Math.min(a.size+r,a.max),a.min),s=o-a.size;t-=s,a.size=o}a.update({[this.horizontal?"height":"width"]:`${this.indexedPanes[a.id].size}%`})}),Math.abs(t)>.1&&this.$nextTick(()=>{this.ready&&console.warn("Splitpanes: Could not resize panes correctly due to their constraints.")})}},watch:{panes:{deep:!0,immediate:!1,handler(){this.updatePaneComponents()}},horizontal(){this.updatePaneComponents()},firstSplitter(){this.redoSplitters()},dblClickSplitter(t){[...this.container.querySelectorAll(".splitpanes__splitter")].forEach((e,n)=>{e.ondblclick=t?r=>this.onSplitterDblClick(r,n):void 0})}},beforeUnmount(){this.ready=!1},mounted(){this.container=this.$refs.container,this.checkSplitpanesNodes(),this.redoSplitters(),this.resetPaneSizes(),this.$emit("ready"),this.ready=!0},render(){return xa("div",{ref:"container",class:["splitpanes",`splitpanes--${this.horizontal?"horizontal":"vertical"}`,{"splitpanes--dragging":this.touch.dragging}]},this.$slots.default())}},Dq=(t,e)=>{const n=t.__vccOpts||t;for(const[r,a]of e)n[r]=a;return n},Lq={name:"pane",inject:["requestUpdate","onPaneAdd","onPaneRemove","onPaneClick"],props:{size:{type:[Number,String],default:null},minSize:{type:[Number,String],default:0},maxSize:{type:[Number,String],default:100}},data:()=>({style:{}}),mounted(){this.onPaneAdd(this)},beforeUnmount(){this.onPaneRemove(this)},methods:{update(t){this.style=t}},computed:{sizeNumber(){return this.size||this.size===0?parseFloat(this.size):null},minSizeNumber(){return parseFloat(this.minSize)},maxSizeNumber(){return parseFloat(this.maxSize)}},watch:{sizeNumber(t){this.requestUpdate({target:this,size:t})},minSizeNumber(t){this.requestUpdate({target:this,min:t})},maxSizeNumber(t){this.requestUpdate({target:this,max:t})}}};function zq(t,e,n,r,a,i){return xe(),ke("div",{class:"splitpanes__pane",onClick:e[0]||(e[0]=o=>i.onPaneClick(o,t._.uid)),style:Fn(t.style)},[cu(t.$slots,"default")],4)}const Av=Dq(Lq,[["render",zq]]);const Bq={style:{position:"relative"}},jq=de({__name:"edgeTrigger",props:{tabIdx:{}},setup(t){const e=t,n=cn(),r=z(),a=z(),{isOutside:i}=K1(a),{isOutside:o}=K1(r),s=B(()=>!i.value&&!!n.dragingTab),l=B(()=>!o.value&&!!n.dragingTab&&!s.value),u=(c,f)=>{var g,d,v,m;const p=dq(((g=c.dataTransfer)==null?void 0:g.getData("text"))??"{}");if(p&&(console.log("on-drop",f,p),(p==null?void 0:p.from)==="tab-drag")){if(c.stopPropagation(),n.dragingTab=void 0,f==="insert"&&p.tabIdx===e.tabIdx)return;const h=n.tabList,y=h[p.tabIdx].panes[p.paneIdx];h[p.tabIdx].panes.splice(p.paneIdx,1),f==="add-right"?(h[e.tabIdx].key=((d=h[e.tabIdx].panes[p.paneIdx-1])==null?void 0:d.key)??h[e.tabIdx].panes[0].key,h.splice(e.tabIdx+1,0,{panes:[y],key:y.key,id:Rn()})):(h[p.tabIdx].key=((v=h[p.tabIdx].panes[p.paneIdx-1])==null?void 0:v.key)??((m=h[p.tabIdx].panes[0])==null?void 0:m.key),h[e.tabIdx].panes.push(y),h[e.tabIdx].key=y.key),h[p.tabIdx].panes.length===0&&h.splice(p.tabIdx,1)}};return(c,f)=>(xe(),ke("div",{class:on(["wrap",{accept:l.value}]),ref_key:"trigger",ref:r,onDragover:f[2]||(f[2]=sn(()=>{},["prevent"])),onDrop:f[3]||(f[3]=sn(p=>u(p,"insert"),["prevent"]))},[Se("div",{class:on(["iib-tab-edge-trigger",{accept:s.value}]),ref_key:"edgeTrigger",ref:a,onDragover:f[0]||(f[0]=sn(()=>{},["prevent"])),onDrop:f[1]||(f[1]=sn(p=>u(p,"add-right"),["prevent"]))},null,34),Se("div",Bq,[cu(c.$slots,"default",{},void 0,!0)])],34))}});const ia=(t,e)=>{const n=t.__vccOpts||t;for(const[r,a]of e)n[r]=a;return n},Vq=ia(jq,[["__scopeId","data-v-b363dbd9"]]);const _P=il("useImgSliStore",()=>{const t=z(!1),e=z(!1),n=z(!1),r=z(),a=z(),i=cn(),o=B(()=>{var l;const s=i.tabList;for(const u of s)if(((l=u.panes.find(c=>c.key===u.key))==null?void 0:l.type)==="img-sli")return!0;return!1});return{drawerVisible:e,fileDragging:t,left:r,right:a,imgSliActived:o,opened:n}});var Wq={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 Hq=Wq;function rw(t){for(var e=1;e(fo("data-v-279a61df"),t=t(),vo(),t),LY={key:0,class:"dragging-port-wrap"},zY={class:"content"},BY={key:0,class:"img-wrap"},jY={key:1},VY=DY(()=>Se("div",{style:{padding:"16px"}},null,-1)),WY={key:0,class:"img-wrap"},HY={key:1},UY={key:0,class:"tips",style:{"max-width":"30vw"}},KY={class:"actions"},GY=de({__name:"DraggingPort",setup(t){const e=_P(),n=cn(),{left:r,right:a}=Aq(e),i=async(l,u)=>{const c=lq(l);if(c){const f=c.nodes[0];if(!oP(f.name))return;e[u]=f}},o=()=>{e.left=void 0,e.right=void 0,e.opened=!1},s=()=>{Yh(r.value&&a.value);const l={type:"img-sli",left:r.value,right:a.value,name:`${ve("imgCompare")} ( ${r.value.name} vs ${a.value.name})`,key:Rn()};n.tabList[0].panes.push(l),n.tabList[0].key=l.key};return(l,u)=>{const c=Oj,f=Gt;return xe(),gt(An,null,{default:Be(()=>[(ce(e).fileDragging||ce(r)||ce(a)||ce(e).opened)&&!ce(e).imgSliActived?(xe(),ke("div",LY,[Se("h2",null,Ae(l.$t("imgCompare")),1),Se("div",zY,[Se("div",{class:"left port",onDragover:u[1]||(u[1]=sn(()=>{},["prevent"])),onDrop:u[2]||(u[2]=sn(p=>i(p,"left"),["prevent"]))},[ce(r)?(xe(),ke("div",BY,[S(c,{src:ce(G1)(ce(r)),preview:{src:ce(Zr)(ce(r))}},null,8,["src","preview"]),S(ce(Os),{class:"close",onClick:u[0]||(u[0]=p=>r.value=void 0)})])):(xe(),ke("div",jY,Ae(l.$t("dragImageHere")),1))],32),VY,Se("div",{class:"right port",onDragover:u[4]||(u[4]=sn(()=>{},["prevent"])),onDrop:u[5]||(u[5]=sn(p=>i(p,"right"),["prevent"]))},[ce(a)?(xe(),ke("div",WY,[S(c,{src:ce(G1)(ce(a)),preview:{src:ce(Zr)(ce(a))}},null,8,["src","preview"]),S(ce(Os),{class:"close",onClick:u[3]||(u[3]=p=>a.value=void 0)})])):(xe(),ke("div",HY,Ae(l.$t("dragImageHere")),1))],32)]),ce(e).opened?(xe(),ke("p",UY," Tips: "+Ae(l.$t("imageCompareTips")),1)):tt("",!0),Se("div",KY,[ce(r)&&ce(a)?(xe(),gt(f,{key:0,type:"primary",onClick:u[6]||(u[6]=p=>ce(e).drawerVisible=!0)},{default:Be(()=>[vt(Ae(l.$t("confirm")),1)]),_:1})):tt("",!0),ce(r)&&ce(a)?(xe(),gt(f,{key:1,type:"primary",onClick:s},{default:Be(()=>[vt(Ae(l.$t("confirm"))+"("+Ae(l.$t("openInNewTab"))+")",1)]),_:1})):tt("",!0),S(f,{style:{"margin-left":"16px"},onClick:o},{default:Be(()=>[vt(Ae(l.$t("close")),1)]),_:1})])])):tt("",!0)]),_:1})}}});const qY=ia(GY,[["__scopeId","data-v-279a61df"]]),YY=il("useTiktokStore",()=>{const t=z(!1),e=z(!1),n=z([]),r=z(0),a=z(""),i=B(()=>n.value[r.value]||null);me(i,v=>{v!=null&&v.id&&(a.value=v.id)},{immediate:!0});const o=B(()=>r.valuer.value>0),l=B(()=>/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)||window.innerWidth<=768);return{visible:t,isFullscreen:e,mediaList:n,currentIndex:r,lastActiveId:a,currentItem:i,hasNext:o,hasPrev:s,isMobile:l,openTiktokView:(v,m=0)=>{var h;n.value=v,r.value=Math.max(0,Math.min(m,v.length-1)),t.value=!0,a.value=((h=v[r.value])==null?void 0:h.id)??a.value,l.value&&(e.value=!0)},closeView:()=>{e.value=!1,n.value=[],r.value=0,setTimeout(()=>{t.value=!1},300)},next:()=>{o.value&&r.value++},prev:()=>{s.value&&r.value--},goToIndex:v=>{v>=0&&v{e.value=!e.value}}}),JY=async()=>(await ze.value.get("/db/basic_info")).data,lne=async()=>(await ze.value.get("/db/expired_dirs")).data,une=async()=>{await ze.value.post("/db/update_image_data",{},{timeout:1/0})},cne=async t=>{await ze.value.post("/db/update_tag",t)},fne=async(t,e)=>(await ze.value.post("/db/match_images_by_tags",{...t,folder_paths:(t.folder_paths_str??"").split(/,|\n/).map(r=>r.trim()).filter(r=>r),cursor:e})).data,XY=async t=>(await ze.value.post("/db/add_custom_tag",t)).data,ZY=async t=>(await ze.value.post("/db/toggle_custom_tag_to_img",t)).data,dne=async t=>{await ze.value.post("/db/remove_custom_tag",t)},vne=async()=>(await ze.value.get("/db/random_images")).data,pne=async t=>(await ze.value.post("/db/search_by_substr",t)).data,xP="/db/extra_paths",hne=async t=>{await ze.value.post(xP,t)},gne=async t=>{await ze.value.delete(xP,{data:t})},mne=async t=>{await ze.value.post("/db/alias_extra_path",t)},QY=async t=>(await ze.value.post("/db/get_image_tags",{paths:t})).data,eJ=()=>ze.value.post("/db/rebuild_index"),yne=t=>ze.value.post("/db/batch_update_image_tag",t),tJ=async t=>(await ze.value.post("/db/rename",t)).data,nJ=async t=>(await ze.value.post("/db/build_iib_output_embeddings",t)).data,bne=async t=>(await ze.value.post("/db/cluster_iib_output_job_start",t)).data,wne=async t=>(await ze.value.get("/db/cluster_iib_output_job_status",{params:{job_id:t}})).data,Cne=async t=>(await ze.value.post("/db/cluster_iib_output_cached",t)).data,Sne=async t=>(await ze.value.post("/db/search_iib_output_by_prompt",t,{timeout:1/0})).data,_ne=async t=>(await ze.value.post("/db/cluster_tag_graph",t,{timeout:3e5})).data,xne=async t=>(await ze.value.post("/db/cluster_tag_graph_cluster_paths",t,{timeout:3e5})).data;function rJ(){const t=[];for(let a=0;a<72;a++){const o=`hsl(${a*7.2}, 90%, 35%)`;t.push(o)}return t}const hw=rJ(),Kc=il("useTagStore",()=>{const t=lt(new Map),e=async l=>{if(l=l.filter(u=>!t.has(u)),!!l.length)try{l.forEach(c=>t.set(c,[]));const u=await QY(l);for(const c in u)t.set(c,u[c])}catch{l.forEach(u=>t.delete(u))}},n=z(new Map),r=l=>{l&&n.value.set(l.id.toString(),l.color)},a=l=>{const u=l.id.toString();let c=n.value.get(u);if(c)return c;if(!c&&l.color)return n.value.set(u,l.color),l.color;if(!c){const f=$u.hash.sha256.hash(u),p=parseInt($u.codec.hex.fromBits(f),16)%hw.length;c=hw[p],n.value.set(u,c)}return c},i=async l=>{l.forEach(u=>t.delete(u)),await e(l)},o=l=>({id:l.name,count:0,display_name:null,type:"temp",color:"",...l});return{set:(l,u)=>{const c=u.map(f=>o(typeof f=="string"?{name:f}:f));t.set(l,c)},colorCache:n,tagMap:t,getColor:a,fetchImageTags:e,refreshTags:i,tagConvert:o,notifyCacheUpdate:r}}),One=async t=>(await ze.value.get("/files",{params:{folder_path:t}})).data,aJ=async t=>(await ze.value.post("/delete_files",{file_paths:t})).data,Tne=async(t,e,n,r)=>(await ze.value.post("/move_files",{file_paths:t,dest:e,create_dest_folder:n,continue_on_error:r})).data,Pne=async(t,e,n,r)=>(await ze.value.post("/copy_files",{file_paths:t,dest:e,create_dest_folder:n,continue_on_error:r})).data,iJ=async t=>{await ze.value.post("/mkdirs",{dest_folder:t})},Ene=async t=>(await ze.value.post("/batch_get_files_info",{paths:t})).data;let zo,qf;const oJ=async(t,e,n="image/webp")=>{const a=await(await fetch(t)).arrayBuffer();return new File([a],e,{type:n})},sJ=(t,e="image/webp")=>{if(!qf){zo=document.createElement("canvas");const a=zo.getContext("2d");Yh(a),qf=a}const{videoHeight:n,videoWidth:r}=t;return zo.width=r,zo.height=n,qf.drawImage(t,0,0,r,n),zo.toDataURL(e)},OP=()=>{const t=Array.from(document.querySelectorAll(".ant-image-preview-wrap")).find(e=>e.style.display!=="none");t?(console.log("closeImageFullscreenPreview success"),lJ(t)):console.log("closeImageFullscreenPreview not found")};function lJ(t){if(!(t instanceof HTMLElement))throw new Error("The provided value is not an HTMLElement.");const e=new MouseEvent("click",{view:window,bubbles:!0,cancelable:!0,target:t});t.dispatchEvent(e)}const kne=(t,e)=>{const n=e.querySelector(`.idx-${t} .ant-image-img`);n?n.click():console.log("openImageFullscreenPreview error: not found",t,e)},Ane=t=>{const e=z("");return new Promise(n=>{xt.confirm({title:ve("inputFolderName"),content:()=>S(Ft,{value:e.value,"onUpdate:value":r=>e.value=r},null),async onOk(){if(!e.value)return;const r=mP(t,e.value);await iJ(r),n()}})})},Ine=()=>S("p",{style:{background:"var(--zp-secondary-background)",padding:"8px",borderLeft:"4px solid var(--primary-color)"}},[vt("Tips: "),ve("multiSelectTips")]),Mne=(t,e,n)=>{const r=Kc(),a=cn(),i=f=>{var p;return!!((p=r.tagMap.get(t.fullpath))!=null&&p.some(g=>g.id===f))},o=z(null),s=async()=>{if(!o.value)return;const f=o.value;f.pause();const p=sJ(f);await Cq({path:t.fullpath,base64_img:p,updated_time:t.date}),t.cover_url=URL.createObjectURL(await oJ(p,"cover")),At.success(ve("success")+"! "+ve("clearCacheIfNotTakeEffect"))},l={margin:"2px",padding:"2px 16px","border-radius":"4px",display:"inline-block",cursor:"pointer","font-weight":"bold",transition:".5s all ease","user-select":"none"},u=xt.confirm({width:"80vw",title:t.name,icon:null,content:()=>S("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",flexDirection:"column"}},[S("video",{ref:o,style:{maxHeight:iq?"80vh":"60vh",maxWidth:"100%",minWidth:"70%"},src:oq(t),controls:!0,autoplay:!0},null),S("div",{style:{marginTop:"4px"}},[S("div",{onClick:Bu,style:{background:"var(--zp-primary-background)",color:"var(--zp-luminous)",border:"2px solid var(--zp-luminous)",...l}},[ve("addNewCustomTag")]),a.conf.all_custom_tags.map(f=>S("div",{key:f.id,onClick:()=>e==null?void 0:e(f.id),style:{background:i(f.id)?r.getColor(f):"var(--zp-primary-background)",color:i(f.id)?"white":r.getColor(f),border:`2px solid ${r.getColor(f)}`,...l}},[f.name]))]),S("div",{class:"actions",style:{marginTop:"16px"}},[S(Gt,{onClick:()=>sP([Zr(t,!0)])},{icon:S(MO,null,null),default:ve("download")}),n&&S(Gt,{onClick:c,type:"primary"},{default:ve("tiktokView")}),S(Gt,{onClick:s},{default:ve("setCurrFrameAsVideoPoster")})])]),maskClosable:!0,wrapClassName:"hidden-antd-btns-modal"});function c(){n==null||n(),OP(),u.destroy()}},Nne=(t,e,n)=>{const r=Kc(),a=cn(),i=u=>{var c;return!!((c=r.tagMap.get(t.fullpath))!=null&&c.some(f=>f.id===u))},o={margin:"2px",padding:"2px 16px","border-radius":"4px",display:"inline-block",cursor:"pointer","font-weight":"bold",transition:".5s all ease","user-select":"none"},s=xt.confirm({width:"60vw",title:t.name,icon:null,content:()=>S("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",flexDirection:"column"}},[S("div",{style:{fontSize:"80px",marginBottom:"16px"}},[vt("🎵")]),S("audio",{style:{width:"100%",maxWidth:"500px"},src:uq(t),controls:!0,autoplay:!0},null),S("div",{style:{marginTop:"16px"}},[S("div",{onClick:Bu,style:{background:"var(--zp-primary-background)",color:"var(--zp-luminous)",border:"2px solid var(--zp-luminous)",...o}},[ve("addNewCustomTag")]),a.conf.all_custom_tags.map(u=>S("div",{key:u.id,onClick:()=>e==null?void 0:e(u.id),style:{background:i(u.id)?r.getColor(u):"var(--zp-primary-background)",color:i(u.id)?"white":r.getColor(u),border:`2px solid ${r.getColor(u)}`,...o}},[u.name]))]),S("div",{class:"actions",style:{marginTop:"16px"}},[S(Gt,{onClick:()=>sP([Zr(t,!0)])},{icon:S(MO,null,null),default:ve("download")}),n&&S(Gt,{onClick:l,type:"primary"},{default:ve("tiktokView")})])]),maskClosable:!0,wrapClassName:"hidden-antd-btns-modal"});function l(){n==null||n(),OP(),s.destroy()}},$ne=()=>{xt.confirm({title:ve("confirmRebuildImageIndex"),onOk:async()=>{await eJ(),lo.emit("searchIndexExpired"),At.success(ve("rebuildComplete"))}})},Fne=t=>{const e=z(t.split(/[\\/]/).pop()??"");return new Promise(n=>{xt.confirm({title:ve("rename"),content:()=>S(Ft,{value:e.value,"onUpdate:value":r=>e.value=r},null),async onOk(){if(!e.value)return;const r=await tJ({path:t,name:e.value});n(r.new_path)}})})},Bu=()=>{const t=z(""),e=cn();return new Promise(n=>{xt.confirm({title:ve("addNewCustomTag"),content:()=>S(Ft,{value:t.value,"onUpdate:value":r=>t.value=r},null),async onOk(){var i;if(!t.value)return;const r=await JY(),a=await XY({tag_name:t.value});if(a.type!=="custom")throw At.error(ve("existInOtherType")),new Error(ve("existInOtherType"));if(r.tags.find(o=>o.id===a.id))throw At.error(ve("alreadyExists")),new Error(ve("alreadyExists"));(i=e.conf)==null||i.all_custom_tags.push(a),At.success(ve("success")),n(t.value)}})})},uJ=[["Seed","seed"],["CFG scale","cfgScale"],["Sampler","sampler"],["Steps","steps"],["Clip skip","clipSkip"],["Size","size"]],cJ=new Map(uJ),fJ=/<(lora|hypernet):([a-zA-Z0-9_.-]+)(?::([0-9.]+))>/g,dJ=/([a-zA-Z0-9_.]+)\(([a-zA-Z0-9]+)\)/,vJ=(t,e)=>e.get(t.trim())??t.trim(),pJ=["Template: ","Negative Template: "];function hJ(t){try{return JSON.parse(encodeURIComponent(t))}catch{return t}}function gw(t,e){return typeof t=="function"?t.call(null,e):t}const gJ=t=>{try{return JSON.parse(t)}catch{return t}},mJ=[{reg:/(ControlNet \d+): "([^"]+)"/g},{reg:/(Lora hashes): "([^"]+)"/g},{reg:/(Hashes): ({[^}]+})/g,key:"hashes",value:hJ}];function TP(t){const e={};if(!t)return e;const n=t.match(/\nextraJsonMetaInfo:\s*(\{[\s\S]*\})\s*$/);if(n)try{e.extraJsonMetaInfo=JSON.parse(n[1]),t=t.replace(/\nextraJsonMetaInfo:\s*\{[\s\S]*\}\s*$/,"")}catch{e.extraJsonMetaInfo=n[1]}const r=t.split(` `).filter(g=>g.trim()!==""&&!pJ.some(d=>g.startsWith(d))),a=r.findIndex(g=>g.startsWith("Steps: "));let i=r[a]||"";a>-1&&r.splice(a,1),i=vq(i);const o=[];mJ.forEach(({reg:g,key:d,value:v})=>{const m={},h=[];let y;for(;(y=g.exec(i))!==null;){const w=d!==void 0?gw(d,y[1]):y[1],b=v!==void 0?gw(v,y[2]):y[2];m[w]=b,h.push(y[0])}h.forEach(w=>i=i.replace(w,"")),o.push(m)});const s=/\s*([\w ]+):\s*("(?:\\"[^,]|\\"|\\|[^"])+"|[^,]*)(?:,|$)/g;let l;for(;(l=s.exec(i))!==null;){let g=l[1];const d=l[2].replace(/\\(.)/g,"$1");g&&(g=vJ(g,cJ),e[g.trim()]=gJ((d??"").trim()))}o.forEach(g=>{Object.assign(e,g)});let[u,...c]=r.join(` `).split("Negative prompt:").map(g=>g.trim());u=u.replace(/\nextraJsonMetaInfo:\s*\{[\s\S]*\}\s*$/,"").trim(),e.prompt=u,e.negativePrompt=c.join(" ").trim();const p=[...u.matchAll(fJ)].map(([,g,d,v])=>({type:g,name:d,weight:parseFloat(v)}));if(e.Size||e.size){const g=(e.Size||e.size||"0x0").split("x");e.width||(e.width=parseFloat(g[0])||0),e.height||(e.height=parseFloat(g[1])||0)}if(e.Model&&e["Model hash"]){const g=e.Model,d=e["Model hash"];typeof e.hashes!="object"&&(e.hashes={}),e.hashes.model||(e.hashes.model=d),p.push({type:"model",name:g,hash:d})}if(e.Hypernet&&e["Hypernet strength"]&&p.push({type:"hypernet",name:e.Hypernet,weight:parseFloat(e["Hypernet strength"])}),e["AddNet Enabled"]==="True"){let g=1;for(;;){const d=e[`AddNet Model ${g}`];if(!d)break;const[,v,m]=d.match(dJ)??[];p.push({type:e[`AddNet Module ${g}`].toLowerCase(),name:v,hash:m,weight:parseFloat(e[`AddNet Weight ${g}`])}),g++}}return e.resources=p,e}const Gc=t=>(fo("data-v-6485d9e7"),t=t(),vo(),t),yJ={key:0,class:"debug-info"},bJ={class:"debug-label"},wJ={key:0,class:"media-content"},CJ=["src","controls","loop"],SJ={key:1,class:"tiktok-media tiktok-audio-container"},_J=Gc(()=>Se("div",{class:"audio-icon"},"🎵",-1)),xJ={class:"audio-filename"},OJ=["src","controls","loop"],TJ=["src"],PJ={class:"tiktok-controls"},EJ=["title"],kJ=["title"],AJ=["title"],IJ=["title"],MJ=["title"],NJ={class:"autoplay-label"},$J=["title"],FJ={key:1,class:"tiktok-navigation"},RJ={class:"tiktok-bottom-overlay"},DJ={key:0,class:"filename-display"},LJ={class:"tiktok-progress"},zJ={class:"progress-bar-row"},BJ={class:"progress-bar"},jJ={class:"progress-text"},VJ={class:"panel-header"},WJ={class:"panel-title"},HJ={class:"panel-section panel-actions"},UJ=["title"],KJ=["title"],GJ=["title"],qJ=["title"],YJ=["title"],JJ={class:"panel-section"},XJ={class:"section-title"},ZJ={class:"tags-content"},QJ=["onClick"],eX={class:"panel-section prompt-section"},tX={class:"section-title"},nX=Gc(()=>Se("span",null,"Prompt",-1)),rX={class:"prompt-content"},aX={key:0,class:"prompt-empty"},iX={key:0,class:"prompt-block"},oX=Gc(()=>Se("div",{class:"prompt-label"},"Positive",-1)),sX=["innerHTML"],lX={key:1,class:"prompt-block"},uX=Gc(()=>Se("div",{class:"prompt-label"},"Negative",-1)),cX=["innerHTML"],fX={key:2,class:"prompt-empty"},dX=de({__name:"TiktokViewer",setup(t){const n=YY(),r=Kc(),a=cn(),i=cn(),o=B(()=>({isAnimating:C.value,isDragging:T.value,bufferTransform:b.value,dragOffset:O.value,autoPlayMode:l.value,isMuted:s.value,currentIndex:n.currentIndex})),s=aP("tiktok-viewer-muted",!0),l=z("off"),u=z(null),c=["off","5s","10s","20s"],f=B(()=>({off:ve("autoPlayOff"),"5s":ve("autoPlay5s"),"10s":ve("autoPlay10s"),"20s":ve("autoPlay20s")})),p=re=>{switch(re){case"5s":return 5e3;case"10s":return 1e4;case"20s":return 2e4;default:return 0}},g=B(()=>/Mac|iPhone|iPad|iPod/.test(navigator.userAgent)||navigator.platform.toUpperCase().indexOf("MAC")>=0),d=re=>g.value&&!re?700:300,v=z(),m=z(),h=z([null,null,null]),y=z([null,null,null]),w=z([null,null,null]),b=z(0),C=z(!1),_=z(0),x=z(0),T=z(!1),O=z(0),N=z(!1),D=z(""),F=z(!1);let R=0;const j=z(!0),L=()=>{j.value=!j.value},k=B(()=>w.value[1]),P=B(()=>({"tiktok-viewer":!0,"tiktok-viewer--fullscreen":n.isFullscreen,"tiktok-viewer--floating":!n.isFullscreen,"tiktok-viewer--mobile":n.isMobile})),I=re=>{const fe=(re-1)*100,De=b.value+O.value;return{transform:`translateY(${fe+De}%)`,transition:C.value&&!T.value?"transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94)":"none"}},$=()=>{u.value&&(clearTimeout(u.value),u.value=null)},W=()=>{if($(),l.value==="off")return;const re=w.value[1];if(!re||qo(re.url))return;const fe=p(l.value);fe>0&&(u.value=window.setTimeout(()=>{!C.value&&!T.value&&(n.hasNext?ue():le())},fe))},G=re=>{re===1&&l.value!=="off"&&!C.value&&setTimeout(()=>{n.hasNext?ue():le()},500)},q=re=>{re===1&&l.value!=="off"&&!C.value&&setTimeout(()=>{n.hasNext?ue():le()},500)},J=async()=>{await ai(30);for(let re=0;reG(re),await fe.play()):(fe.pause(),fe.currentTime=0,fe.onended=null)}catch(De){console.warn(`视频播放控制失败 (index: ${re}):`,De)}}for(let re=0;req(re),await fe.play()):(fe.pause(),fe.currentTime=0,fe.onended=null)}catch(De){console.warn(`音频播放控制失败 (index: ${re}):`,De)}}},U=()=>{const re=n.currentIndex,fe=n.mediaList;w.value=[re>0?fe[re-1]:null,fe[re]||null,re{J(),W()})},K=re=>{var Me,Fe,et,$t;if(!((Me=k.value)==null?void 0:Me.url))return!1;const De=((Fe=k.value)==null?void 0:Fe.fullpath)||((et=k.value)==null?void 0:et.id);return!!(($t=r.tagMap.get(De))!=null&&$t.some(Ht=>Ht.id===re))},ne=B(()=>{var re,fe;return(fe=(re=i.conf)==null?void 0:re.all_custom_tags)==null?void 0:fe.find(De=>De.type==="custom"&&De.name==="like")}),ie=B(()=>ne.value?K(ne.value.id):!1),be=async()=>{ne.value&&await he(ne.value.id)},he=async re=>{var De,Me,Fe,et,$t;if((De=k.value)!=null&&De.url)try{const Ht=((Me=k.value)==null?void 0:Me.fullpath)||((Fe=k.value)==null?void 0:Fe.id),{is_remove:Ut}=await ZY({tag_id:Number(re),img_path:Ht}),yn=(($t=(et=i.conf)==null?void 0:et.all_custom_tags.find(vn=>vn.id===re))==null?void 0:$t.name)||ve("tag");await r.refreshTags([Ht]),At.success(ve(Ut?"removedTagFromImage":"addedTagToImage",{tag:yn}))}catch(Ht){console.error("Toggle tag error:",Ht),At.error(ve("tagOperationFailed"))}},Ce={margin:"4px",padding:"8px 16px",borderRadius:"20px",display:"inline-block",cursor:"pointer",fontWeight:"bold",transition:"0.3s all ease",userSelect:"none",fontSize:"14px"},Oe=B(()=>D.value.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")),V=B(()=>TP(Oe.value));function A(re){let fe=0;for(const De of re)/[\u4e00-\u9fa5]/.test(De)?fe+=3:fe+=1;return fe}function M(re){if(re.length===0)return!1;let fe=0;for(const Me of re){const Fe=A(Me);if(fe+=Fe,Fe>50)return!1}return!(fe/re.length>30)}function Y(re){if(!re)return"";const fe="BREAK",De=re.replace(/>\s/g,"> ,").replace(/\sBREAK\s/g,","+fe+",").split(/[\n,]+/).map(et=>et.trim()).filter(et=>et);if(!M(De))return re.split(` -`).map(et=>et.trim()).filter(et=>et).map(et=>`

${et}

`).join("");const Me=[];let Fe=!1;for(let et=0;etBREAK
');continue}const $t=De[et];Fe||(Fe=$t.includes("("));const Ht=["tag"];Fe&&Ht.push("has-parentheses"),$t.length<32&&Ht.push("short-tag"),Me.push(`${$t}`),Fe&&(Fe=!$t.includes(")"))}return Me.join(i.showCommaInInfoPanel?",":" ")}const ee=()=>{const fe=(c.indexOf(l.value)+1)%c.length;l.value=c[fe],W(),At.success(ve("autoPlayStatus",{mode:f.value[l.value]}))},Q=(re=!1)=>{C.value||!n.hasPrev||($(),C.value=!0,O.value=0,b.value=100,setTimeout(()=>{n.prev(),U(),b.value=0,setTimeout(()=>{C.value=!1},d(re))},200))},ue=(re=!1)=>{C.value||!n.hasNext||($(),C.value=!0,O.value=0,b.value=-100,setTimeout(()=>{n.next(),U(),b.value=0,setTimeout(()=>{C.value=!1},d(re))},200))},le=(re=!1)=>{C.value||($(),C.value=!0,O.value=0,b.value=100,setTimeout(()=>{n.currentIndex=0,U(),b.value=0,setTimeout(()=>{C.value=!1},d(re))},200))},oe=re=>{if(C.value){re.preventDefault();return}$(),_.value=re.touches[0].clientY,x.value=re.touches[0].clientY,T.value=!0,O.value=0,b.value!==0&&(b.value=0)},ae=re=>{if(C.value){re.preventDefault();return}if(!T.value)return;x.value=re.touches[0].clientY;const fe=x.value-_.value,De=window.innerHeight,Me=fe/De*100;O.value=Me,re.preventDefault()},X=()=>{if(!T.value)return;const re=x.value-_.value,fe=window.innerHeight,De=re/fe*100;if(T.value=!1,C.value){O.value=0;return}Math.abs(De)>30?De>0&&n.hasPrev?Q(!0):De<0&&n.hasNext?ue(!0):pe():pe()},te=()=>{T.value&&(T.value=!1,C.value||pe())},pe=()=>{C.value||(C.value=!0,O.value=0,b.value=0,setTimeout(()=>{C.value=!1,W()},300))},se=GH(re=>{C.value||(re.preventDefault(),$(),re.deltaY>0&&n.hasNext?ue():re.deltaY<0&&n.hasPrev&&Q())},500),ye=re=>{if(!(!n.visible||C.value))switch(re.key){case"ArrowUp":re.preventDefault(),n.hasPrev&&Q();break;case"ArrowDown":re.preventDefault(),n.hasNext&&ue();break;case"Escape":re.preventDefault(),n.closeView();break}},Te=async()=>{n.isFullscreen?await Ne():await Pe()},Pe=async()=>{if(v.value&&!document.fullscreenElement)try{await v.value.requestFullscreen(),n.isFullscreen=!0}catch(re){console.warn("无法进入全屏模式:",re)}},Ne=async()=>{if(document.fullscreenElement)try{await document.exitFullscreen(),n.isFullscreen=!1}catch(re){console.warn("无法退出全屏模式:",re)}},st=()=>{s.value=!s.value;const re=h.value[1];re&&(re.muted=s.value);const fe=y.value[1];fe&&(fe.muted=s.value)},Yt=()=>{n.isFullscreen=!!document.fullscreenElement},nn=z([]),Nt=z([]),Wt=re=>{re&&(re.pause(),re.src="",re.muted=!0,re.load(),re.parentNode&&re.parentNode.removeChild(re))},bt=re=>{re&&(re.pause(),re.src="",re.muted=!0,re.load(),re.parentNode&&re.parentNode.removeChild(re))};me(nn,re=>{for(;re.length>5;){const fe=re.shift();fe&&Wt(fe)}},{deep:!0}),me(Nt,re=>{for(;re.length>5;){const fe=re.shift();fe&&bt(fe)}},{deep:!0}),me(()=>n.visible===!1||n.mediaList.length===0,re=>{re||(nn.value.forEach(Wt),nn.value=[],Nt.value.forEach(bt),Nt.value=[],l.value="off")},{immediate:!0});const Jt=()=>{w.value.forEach(re=>{if(re)if(qo(re.url)){const fe=document.createElement("video");fe.preload="metadata",fe.src=re.url,nn.value.push(fe)}else if(au(re.url)){const fe=document.createElement("audio");fe.preload="metadata",fe.src=re.url,Nt.value.push(fe)}else{const fe=new Image;fe.src=re.url}})},fr=async()=>{const re=n.currentItem;if(!re)return;const fe=(re==null?void 0:re.fullpath)||re.id;fe&&await r.fetchImageTags([fe])},Aa=async()=>{const re=n.currentItem;if(!re){D.value="";return}const fe=re.name||re.url;if(qo(fe)||au(fe)){D.value="";return}const De=(re==null?void 0:re.fullpath)||re.id;if(!De){D.value="";return}const Me=++R;F.value=!0;try{const Fe=await Pv(De);if(Me!==R)return;D.value=Fe}catch(Fe){if(console.error("Load prompt error:",Fe),Me!==R)return;D.value=""}finally{Me===R&&(F.value=!1)}},Xt=()=>{var re,fe;return((re=k.value)==null?void 0:re.fullpath)||((fe=k.value)==null?void 0:fe.id)||""},gi=()=>{var re;return((re=k.value)==null?void 0:re.name)||Xt().split(/[/\\]/).pop()||""},mi=()=>{const re=n.currentIndex;if(!(re<0||re>=n.mediaList.length)){if(n.mediaList.splice(re,1),n.mediaList.length===0){n.closeView();return}re>=n.mediaList.length&&(n.currentIndex=n.mediaList.length-1)}},Ia=async()=>{const re=Xt();re&&await new Promise(fe=>{xt.confirm({title:ve("confirmDelete"),maskClosable:!0,content:gi(),async onOk(){const{events:De}=await wn(()=>import("./index-c80754a2.js").then(Me=>Me.l),["assets/index-c80754a2.js","assets/shortcut-3129f75b.js","assets/shortcut-2acaf603.css","assets/_isIterateeCall-16c5cf9c.js"]);await aJ([re]),At.success(ve("deleteSuccess")),De.emit("removeFiles",{paths:[re],loc:yP(re)}),mi(),N.value=!1,fe()},onCancel(){fe()}})})},rt=async()=>{const re=Xt();re&&await bq(re)},ht=async()=>{const re=Xt();re&&await wq(re)},nt=()=>{const re=Xt();re&&q1(re)},Tt=()=>{var De,Me;const re=(De=k.value)==null?void 0:De.originalFile,fe=re?Zr(re):(Me=k.value)==null?void 0:Me.url;fe&&q1(fe)};return LG(m,L,{delay:500}),He(()=>{document.addEventListener("keydown",ye),document.addEventListener("fullscreenchange",Yt),U()}),gn(()=>{document.removeEventListener("keydown",ye),document.removeEventListener("fullscreenchange",Yt),$(),h.value.forEach(re=>{Wt(re)}),y.value.forEach(re=>{bt(re)}),nn.value.forEach(Wt),nn.value=[],Nt.value.forEach(bt),Nt.value=[]}),me(()=>n.currentIndex,()=>{N.value=!1,U(),qe(()=>{Jt(),fr(),Aa()})},{immediate:!0}),me(()=>n.mediaList,()=>{U(),qe(()=>{fr(),Aa()})},{deep:!0}),me(()=>n.visible,re=>{re?(j.value=!0,qe(()=>{U()})):(N.value=!1,D.value="",F.value=!1,R++,h.value.forEach(fe=>{fe&&(fe.pause(),fe.src="",fe.load())}),h.value=[null,null,null],y.value.forEach(fe=>{fe&&(fe.pause(),fe.src="",fe.load())}),y.value=[null,null,null],w.value=[null,null,null],$(),document.fullscreenElement&&Ne())}),me(()=>s.value,re=>{h.value.forEach(fe=>{fe&&(fe.muted=re)}),y.value.forEach(fe=>{fe&&(fe.muted=re)})}),me(()=>l.value,()=>{W()}),(re,fe)=>{var De;return xe(),gt(rc,{to:"body"},[ce(n).visible?(xe(),ke("div",{key:0,ref_key:"containerRef",ref:v,class:on(P.value),onTouchstart:oe,onTouchmove:ae,onTouchend:X,onTouchcancel:te,onWheel:fe[12]||(fe[12]=(...Me)=>ce(se)&&ce(se)(...Me))},[ce(!1)?(xe(),ke("div",yJ,[(xe(!0),ke(Ie,null,Ir(o.value,(Me,Fe)=>(xe(),ke("div",{key:Fe,class:"debug-item"},[Se("span",bJ,Ae(Fe)+":",1),Se("span",{class:on(["debug-value",{"is-true":Me===!0,"is-false":Me===!1}])},Ae(Me),3)]))),128))])):tt("",!0),Se("div",{ref_key:"viewportRef",ref:m,class:"tiktok-viewport"},[(xe(!0),ke(Ie,null,Ir(w.value,(Me,Fe)=>(xe(),ke("div",{key:(Me==null?void 0:Me.id)||`empty-${Fe}`,class:"tiktok-media-item",style:Fn(I(Fe))},[Me?(xe(),ke("div",wJ,[ce(qo)(Me.url)&&ce(n).visible?(xe(),ke("video",{class:"tiktok-media tiktok-video",src:Me.url,controls:Fe===1,loop:Fe===1&&l.value==="off",playsinline:"",preload:"metadata",key:Me.url,ref_for:!0,ref:et=>{et&&(h.value[Fe]=et)}},null,8,CJ)):ce(au)(Me.url)&&ce(n).visible?(xe(),ke("div",SJ,[_J,Se("div",xJ,Ae(Me.name||Me.url.split("/").pop()),1),(xe(),ke("audio",{class:"tiktok-audio",src:Me.url,controls:Fe===1,loop:Fe===1&&l.value==="off",preload:"metadata",key:Me.url,ref_for:!0,ref:et=>{et&&(y.value[Fe]=et)}},null,8,OJ))])):(xe(),ke("img",{key:2,class:"tiktok-media",src:Me.url},null,8,TJ))])):tt("",!0)],4))),128))],512),fn(Se("div",PJ,[Se("button",{class:"control-btn close-btn",onClick:fe[0]||(fe[0]=(...Me)=>ce(n).closeView&&ce(n).closeView(...Me)),title:re.$t("close")},[S(ce(br))],8,EJ),Se("button",{class:"control-btn fullscreen-btn",onClick:Te,title:ce(n).isFullscreen?re.$t("exitFullscreen"):re.$t("fullscreen")},[ce(n).isFullscreen?(xe(),gt(ce(aY),{key:0})):(xe(),gt(ce(lY),{key:1}))],8,kJ),Se("button",{class:"control-btn sound-btn",onClick:st,title:ce(s)?re.$t("soundOn"):re.$t("soundOff")},[ce(s)?(xe(),gt(ce(MY),{key:1})):(xe(),gt(ce(EY),{key:0}))],8,AJ),ne.value?(xe(),ke("button",{key:0,class:on(["control-btn like-btn",{"like-active":ie.value}]),onClick:be,title:ie.value?re.$t("unlike"):re.$t("like")},[ie.value?(xe(),gt(ce(dY),{key:0})):(xe(),gt(ce(gY),{key:1}))],10,IJ)):tt("",!0),Se("button",{class:on(["control-btn autoplay-btn",{"autoplay-active":l.value!=="off"}]),onClick:ee,title:re.$t("autoPlayTooltip",{mode:f.value[l.value]})},[S(ce(xY)),Se("span",NJ,Ae(f.value[l.value]),1)],10,MJ),Se("button",{class:"control-btn tags-btn",onClick:fe[1]||(fe[1]=Me=>N.value=!N.value),title:re.$t("info")},[S(ce(xs))],8,$J)],512),[[hr,j.value]]),ce(a).showTiktokNavigator?fn((xe(),ke("div",FJ,[ce(n).hasPrev?(xe(),ke("div",{key:0,class:"nav-indicator nav-prev",onTouchstart:fe[2]||(fe[2]=sn(Me=>Q(!1),["prevent"])),onClick:fe[3]||(fe[3]=Me=>Q(!1))},[S(ce(SO))],32)):tt("",!0),ce(n).hasNext?(xe(),ke("div",{key:1,class:"nav-indicator nav-next",onTouchstart:fe[4]||(fe[4]=sn(Me=>ue(!1),["prevent"])),onClick:fe[5]||(fe[5]=Me=>ue(!1))},[S(ce(Yp))],32)):tt("",!0)],512)),[[hr,j.value]]):tt("",!0),fn(Se("div",RJ,[(De=k.value)!=null&&De.name?(xe(),ke("div",DJ,Ae(k.value.name),1)):tt("",!0)],512),[[hr,j.value]]),fn(Se("div",LJ,[Se("div",zJ,[Se("div",BJ,[Se("div",{class:"progress-fill",style:Fn({width:`${(ce(n).currentIndex+1)/ce(n).mediaList.length*100}%`})},null,4)]),Se("span",jJ,Ae(ce(n).currentIndex+1)+" / "+Ae(ce(n).mediaList.length),1)])],512),[[hr,j.value]]),S(An,{name:"fade"},{default:Be(()=>[N.value?(xe(),ke("div",{key:0,class:"tiktok-panel-backdrop",onClick:fe[6]||(fe[6]=Me=>N.value=!1)})):tt("",!0)]),_:1}),S(An,{name:"slide-up"},{default:Be(()=>{var Me;return[N.value?(xe(),ke("div",{key:0,class:"tiktok-tags-panel",onClick:fe[11]||(fe[11]=sn(()=>{},["stop"]))},[Se("div",VJ,[Se("div",WJ,[S(ce(xs)),Se("span",null,Ae(re.$t("details")),1)]),Se("button",{onClick:fe[7]||(fe[7]=Fe=>N.value=!1),class:"close-tags"},[S(ce(br))])]),Se("div",{class:"panel-body",onWheel:fe[9]||(fe[9]=sn(()=>{},["stop"])),onTouchmove:fe[10]||(fe[10]=sn(()=>{},["stop"]))},[Se("div",HJ,[Se("button",{class:"panel-action-btn danger",onClick:Ia,title:re.$t("deleteSelected")},[S(ce(C9))],8,UJ),Se("button",{class:"panel-action-btn",onClick:rt,title:re.$t("openWithLocalFileBrowser")},[S(ce(m9))],8,KJ),Se("button",{class:"panel-action-btn",onClick:ht,title:re.$t("openWithDefaultApp")},[S(ce(Kq))],8,GJ),Se("button",{class:"panel-action-btn",onClick:nt,title:re.$t("copyFilePath")},[S(ce(O9))],8,qJ),Se("button",{class:"panel-action-btn",onClick:Tt,title:re.$t("copySourceFilePreviewLink")},[S(ce(wY))],8,YJ)]),Se("div",JJ,[Se("div",XJ,[S(ce(RY)),vt(),Se("span",null,Ae(re.$t("tags")),1)]),Se("div",ZJ,[Se("div",{onClick:fe[8]||(fe[8]=(...Fe)=>ce(Bu)&&ce(Bu)(...Fe)),style:Fn({background:"rgba(255, 255, 255, 0.05)",color:"var(--zp-luminous)",border:"1px solid var(--zp-luminous)",...Ce})},Ae(re.$t("addNewCustomTag")),5),(xe(!0),ke(Ie,null,Ir(((Me=ce(i).conf)==null?void 0:Me.all_custom_tags)||[],Fe=>(xe(),ke("div",{key:Fe.id,onClick:et=>he(Fe.id),style:Fn({background:K(Fe.id)?ce(r).getColor(Fe):"rgba(255, 255, 255, 0.05)",color:K(Fe.id)?"white":ce(r).getColor(Fe),border:`1px solid ${ce(r).getColor(Fe)}`,...Ce})},Ae(Fe.name),13,QJ))),128))])]),Se("div",eX,[Se("div",tX,[S(ce(eY)),vt(),nX]),Se("div",rX,[F.value?(xe(),ke("div",aX,"...")):(xe(),ke(Ie,{key:1},[V.value.prompt?(xe(),ke("div",iX,[oX,Se("code",{innerHTML:Y(V.value.prompt??"")},null,8,sX)])):tt("",!0),V.value.negativePrompt?(xe(),ke("div",lX,[uX,Se("code",{innerHTML:Y(V.value.negativePrompt??"")},null,8,cX)])):tt("",!0),!V.value.prompt&&!V.value.negativePrompt?(xe(),ke("div",fX,"—")):tt("",!0)],64))])])],32)])):tt("",!0)]}),_:1})],34)):tt("",!0)])}}});const vX=ia(dX,[["__scopeId","data-v-6485d9e7"]]),pX={class:"container"},hX=["src"],gX=de({__name:"ImgSliSide",props:{side:{},containerWidth:{},img:{},maxEdge:{},percent:{}},setup(t){const e=t,n=xv(async()=>uP(await Tv(Zr(e.img)),"width","height")),r=B(()=>{let a="";const o=e.containerWidth;if(e.side==="left"?a=`calc(50% - ${(e.percent-50)/100*o}px)`:a=`calc(-50% - ${(e.percent-50)/100*o+4}px)`,e.maxEdge==="height")return`height:100%;transform: translate(${a}, -50%)`;{const s=n.value;return s?`height:${o/s.width*s.height}px;transform: translate(${a}, -50%)`:void 0}});return(a,i)=>(xe(),ke("div",pX,[Se("img",{class:on(["img",[a.side]]),style:Fn(r.value),src:ce(Zr)(a.img),onDragstart:i[0]||(i[0]=sn(()=>{},["prevent","stop"]))},null,46,hX)]))}});const mw=ia(gX,[["__scopeId","data-v-c9b1d83c"]]),mX=de({__name:"PromptCompare",props:{lImg:{},rImg:{}},setup(t){const e=t,n=cP(),r=cn(),a=z(""),i=z("");function o(s){var c;let l="",u=TP(s);l+=`--- PROMPT --- \r +`).map(et=>et.trim()).filter(et=>et).map(et=>`

${et}

`).join("");const Me=[];let Fe=!1;for(let et=0;etBREAK
');continue}const $t=De[et];Fe||(Fe=$t.includes("("));const Ht=["tag"];Fe&&Ht.push("has-parentheses"),$t.length<32&&Ht.push("short-tag"),Me.push(`${$t}`),Fe&&(Fe=!$t.includes(")"))}return Me.join(i.showCommaInInfoPanel?",":" ")}const ee=()=>{const fe=(c.indexOf(l.value)+1)%c.length;l.value=c[fe],W(),At.success(ve("autoPlayStatus",{mode:f.value[l.value]}))},Q=(re=!1)=>{C.value||!n.hasPrev||($(),C.value=!0,O.value=0,b.value=100,setTimeout(()=>{n.prev(),U(),b.value=0,setTimeout(()=>{C.value=!1},d(re))},200))},ue=(re=!1)=>{C.value||!n.hasNext||($(),C.value=!0,O.value=0,b.value=-100,setTimeout(()=>{n.next(),U(),b.value=0,setTimeout(()=>{C.value=!1},d(re))},200))},le=(re=!1)=>{C.value||($(),C.value=!0,O.value=0,b.value=100,setTimeout(()=>{n.currentIndex=0,U(),b.value=0,setTimeout(()=>{C.value=!1},d(re))},200))},oe=re=>{if(C.value){re.preventDefault();return}$(),_.value=re.touches[0].clientY,x.value=re.touches[0].clientY,T.value=!0,O.value=0,b.value!==0&&(b.value=0)},ae=re=>{if(C.value){re.preventDefault();return}if(!T.value)return;x.value=re.touches[0].clientY;const fe=x.value-_.value,De=window.innerHeight,Me=fe/De*100;O.value=Me,re.preventDefault()},X=()=>{if(!T.value)return;const re=x.value-_.value,fe=window.innerHeight,De=re/fe*100;if(T.value=!1,C.value){O.value=0;return}Math.abs(De)>30?De>0&&n.hasPrev?Q(!0):De<0&&n.hasNext?ue(!0):pe():pe()},te=()=>{T.value&&(T.value=!1,C.value||pe())},pe=()=>{C.value||(C.value=!0,O.value=0,b.value=0,setTimeout(()=>{C.value=!1,W()},300))},se=GH(re=>{C.value||(re.preventDefault(),$(),re.deltaY>0&&n.hasNext?ue():re.deltaY<0&&n.hasPrev&&Q())},500),ye=re=>{if(!(!n.visible||C.value))switch(re.key){case"ArrowUp":re.preventDefault(),n.hasPrev&&Q();break;case"ArrowDown":re.preventDefault(),n.hasNext&&ue();break;case"Escape":re.preventDefault(),n.closeView();break}},Te=async()=>{n.isFullscreen?await Ne():await Pe()},Pe=async()=>{if(v.value&&!document.fullscreenElement)try{await v.value.requestFullscreen(),n.isFullscreen=!0}catch(re){console.warn("无法进入全屏模式:",re)}},Ne=async()=>{if(document.fullscreenElement)try{await document.exitFullscreen(),n.isFullscreen=!1}catch(re){console.warn("无法退出全屏模式:",re)}},st=()=>{s.value=!s.value;const re=h.value[1];re&&(re.muted=s.value);const fe=y.value[1];fe&&(fe.muted=s.value)},Yt=()=>{n.isFullscreen=!!document.fullscreenElement},nn=z([]),Nt=z([]),Wt=re=>{re&&(re.pause(),re.src="",re.muted=!0,re.load(),re.parentNode&&re.parentNode.removeChild(re))},bt=re=>{re&&(re.pause(),re.src="",re.muted=!0,re.load(),re.parentNode&&re.parentNode.removeChild(re))};me(nn,re=>{for(;re.length>5;){const fe=re.shift();fe&&Wt(fe)}},{deep:!0}),me(Nt,re=>{for(;re.length>5;){const fe=re.shift();fe&&bt(fe)}},{deep:!0}),me(()=>n.visible===!1||n.mediaList.length===0,re=>{re||(nn.value.forEach(Wt),nn.value=[],Nt.value.forEach(bt),Nt.value=[],l.value="off")},{immediate:!0});const Jt=()=>{w.value.forEach(re=>{if(re)if(qo(re.url)){const fe=document.createElement("video");fe.preload="metadata",fe.src=re.url,nn.value.push(fe)}else if(au(re.url)){const fe=document.createElement("audio");fe.preload="metadata",fe.src=re.url,Nt.value.push(fe)}else{const fe=new Image;fe.src=re.url}})},fr=async()=>{const re=n.currentItem;if(!re)return;const fe=(re==null?void 0:re.fullpath)||re.id;fe&&await r.fetchImageTags([fe])},Aa=async()=>{const re=n.currentItem;if(!re){D.value="";return}const fe=re.name||re.url;if(qo(fe)||au(fe)){D.value="";return}const De=(re==null?void 0:re.fullpath)||re.id;if(!De){D.value="";return}const Me=++R;F.value=!0;try{const Fe=await Pv(De);if(Me!==R)return;D.value=Fe}catch(Fe){if(console.error("Load prompt error:",Fe),Me!==R)return;D.value=""}finally{Me===R&&(F.value=!1)}},Xt=()=>{var re,fe;return((re=k.value)==null?void 0:re.fullpath)||((fe=k.value)==null?void 0:fe.id)||""},gi=()=>{var re;return((re=k.value)==null?void 0:re.name)||Xt().split(/[/\\]/).pop()||""},mi=()=>{const re=n.currentIndex;if(!(re<0||re>=n.mediaList.length)){if(n.mediaList.splice(re,1),n.mediaList.length===0){n.closeView();return}re>=n.mediaList.length&&(n.currentIndex=n.mediaList.length-1)}},Ia=async()=>{const re=Xt();re&&await new Promise(fe=>{xt.confirm({title:ve("confirmDelete"),maskClosable:!0,content:gi(),async onOk(){const{events:De}=await wn(()=>import("./index-0d856f16.js").then(Me=>Me.l),["assets/index-0d856f16.js","assets/shortcut-869fab50.js","assets/shortcut-2acaf603.css","assets/_isIterateeCall-dd643bcf.js"]);await aJ([re]),At.success(ve("deleteSuccess")),De.emit("removeFiles",{paths:[re],loc:yP(re)}),mi(),N.value=!1,fe()},onCancel(){fe()}})})},rt=async()=>{const re=Xt();re&&await bq(re)},ht=async()=>{const re=Xt();re&&await wq(re)},nt=()=>{const re=Xt();re&&q1(re)},Tt=()=>{var De,Me;const re=(De=k.value)==null?void 0:De.originalFile,fe=re?Zr(re):(Me=k.value)==null?void 0:Me.url;fe&&q1(fe)};return LG(m,L,{delay:500}),He(()=>{document.addEventListener("keydown",ye),document.addEventListener("fullscreenchange",Yt),U()}),gn(()=>{document.removeEventListener("keydown",ye),document.removeEventListener("fullscreenchange",Yt),$(),h.value.forEach(re=>{Wt(re)}),y.value.forEach(re=>{bt(re)}),nn.value.forEach(Wt),nn.value=[],Nt.value.forEach(bt),Nt.value=[]}),me(()=>n.currentIndex,()=>{N.value=!1,U(),qe(()=>{Jt(),fr(),Aa()})},{immediate:!0}),me(()=>n.mediaList,()=>{U(),qe(()=>{fr(),Aa()})},{deep:!0}),me(()=>n.visible,re=>{re?(j.value=!0,qe(()=>{U()})):(N.value=!1,D.value="",F.value=!1,R++,h.value.forEach(fe=>{fe&&(fe.pause(),fe.src="",fe.load())}),h.value=[null,null,null],y.value.forEach(fe=>{fe&&(fe.pause(),fe.src="",fe.load())}),y.value=[null,null,null],w.value=[null,null,null],$(),document.fullscreenElement&&Ne())}),me(()=>s.value,re=>{h.value.forEach(fe=>{fe&&(fe.muted=re)}),y.value.forEach(fe=>{fe&&(fe.muted=re)})}),me(()=>l.value,()=>{W()}),(re,fe)=>{var De;return xe(),gt(rc,{to:"body"},[ce(n).visible?(xe(),ke("div",{key:0,ref_key:"containerRef",ref:v,class:on(P.value),onTouchstart:oe,onTouchmove:ae,onTouchend:X,onTouchcancel:te,onWheel:fe[12]||(fe[12]=(...Me)=>ce(se)&&ce(se)(...Me))},[ce(!1)?(xe(),ke("div",yJ,[(xe(!0),ke(Ie,null,Ir(o.value,(Me,Fe)=>(xe(),ke("div",{key:Fe,class:"debug-item"},[Se("span",bJ,Ae(Fe)+":",1),Se("span",{class:on(["debug-value",{"is-true":Me===!0,"is-false":Me===!1}])},Ae(Me),3)]))),128))])):tt("",!0),Se("div",{ref_key:"viewportRef",ref:m,class:"tiktok-viewport"},[(xe(!0),ke(Ie,null,Ir(w.value,(Me,Fe)=>(xe(),ke("div",{key:(Me==null?void 0:Me.id)||`empty-${Fe}`,class:"tiktok-media-item",style:Fn(I(Fe))},[Me?(xe(),ke("div",wJ,[ce(qo)(Me.url)&&ce(n).visible?(xe(),ke("video",{class:"tiktok-media tiktok-video",src:Me.url,controls:Fe===1,loop:Fe===1&&l.value==="off",playsinline:"",preload:"metadata",key:Me.url,ref_for:!0,ref:et=>{et&&(h.value[Fe]=et)}},null,8,CJ)):ce(au)(Me.url)&&ce(n).visible?(xe(),ke("div",SJ,[_J,Se("div",xJ,Ae(Me.name||Me.url.split("/").pop()),1),(xe(),ke("audio",{class:"tiktok-audio",src:Me.url,controls:Fe===1,loop:Fe===1&&l.value==="off",preload:"metadata",key:Me.url,ref_for:!0,ref:et=>{et&&(y.value[Fe]=et)}},null,8,OJ))])):(xe(),ke("img",{key:2,class:"tiktok-media",src:Me.url},null,8,TJ))])):tt("",!0)],4))),128))],512),fn(Se("div",PJ,[Se("button",{class:"control-btn close-btn",onClick:fe[0]||(fe[0]=(...Me)=>ce(n).closeView&&ce(n).closeView(...Me)),title:re.$t("close")},[S(ce(br))],8,EJ),Se("button",{class:"control-btn fullscreen-btn",onClick:Te,title:ce(n).isFullscreen?re.$t("exitFullscreen"):re.$t("fullscreen")},[ce(n).isFullscreen?(xe(),gt(ce(aY),{key:0})):(xe(),gt(ce(lY),{key:1}))],8,kJ),Se("button",{class:"control-btn sound-btn",onClick:st,title:ce(s)?re.$t("soundOn"):re.$t("soundOff")},[ce(s)?(xe(),gt(ce(MY),{key:1})):(xe(),gt(ce(EY),{key:0}))],8,AJ),ne.value?(xe(),ke("button",{key:0,class:on(["control-btn like-btn",{"like-active":ie.value}]),onClick:be,title:ie.value?re.$t("unlike"):re.$t("like")},[ie.value?(xe(),gt(ce(dY),{key:0})):(xe(),gt(ce(gY),{key:1}))],10,IJ)):tt("",!0),Se("button",{class:on(["control-btn autoplay-btn",{"autoplay-active":l.value!=="off"}]),onClick:ee,title:re.$t("autoPlayTooltip",{mode:f.value[l.value]})},[S(ce(xY)),Se("span",NJ,Ae(f.value[l.value]),1)],10,MJ),Se("button",{class:"control-btn tags-btn",onClick:fe[1]||(fe[1]=Me=>N.value=!N.value),title:re.$t("info")},[S(ce(xs))],8,$J)],512),[[hr,j.value]]),ce(a).showTiktokNavigator?fn((xe(),ke("div",FJ,[ce(n).hasPrev?(xe(),ke("div",{key:0,class:"nav-indicator nav-prev",onTouchstart:fe[2]||(fe[2]=sn(Me=>Q(!1),["prevent"])),onClick:fe[3]||(fe[3]=Me=>Q(!1))},[S(ce(SO))],32)):tt("",!0),ce(n).hasNext?(xe(),ke("div",{key:1,class:"nav-indicator nav-next",onTouchstart:fe[4]||(fe[4]=sn(Me=>ue(!1),["prevent"])),onClick:fe[5]||(fe[5]=Me=>ue(!1))},[S(ce(Yp))],32)):tt("",!0)],512)),[[hr,j.value]]):tt("",!0),fn(Se("div",RJ,[(De=k.value)!=null&&De.name?(xe(),ke("div",DJ,Ae(k.value.name),1)):tt("",!0)],512),[[hr,j.value]]),fn(Se("div",LJ,[Se("div",zJ,[Se("div",BJ,[Se("div",{class:"progress-fill",style:Fn({width:`${(ce(n).currentIndex+1)/ce(n).mediaList.length*100}%`})},null,4)]),Se("span",jJ,Ae(ce(n).currentIndex+1)+" / "+Ae(ce(n).mediaList.length),1)])],512),[[hr,j.value]]),S(An,{name:"fade"},{default:Be(()=>[N.value?(xe(),ke("div",{key:0,class:"tiktok-panel-backdrop",onClick:fe[6]||(fe[6]=Me=>N.value=!1)})):tt("",!0)]),_:1}),S(An,{name:"slide-up"},{default:Be(()=>{var Me;return[N.value?(xe(),ke("div",{key:0,class:"tiktok-tags-panel",onClick:fe[11]||(fe[11]=sn(()=>{},["stop"]))},[Se("div",VJ,[Se("div",WJ,[S(ce(xs)),Se("span",null,Ae(re.$t("details")),1)]),Se("button",{onClick:fe[7]||(fe[7]=Fe=>N.value=!1),class:"close-tags"},[S(ce(br))])]),Se("div",{class:"panel-body",onWheel:fe[9]||(fe[9]=sn(()=>{},["stop"])),onTouchmove:fe[10]||(fe[10]=sn(()=>{},["stop"]))},[Se("div",HJ,[Se("button",{class:"panel-action-btn danger",onClick:Ia,title:re.$t("deleteSelected")},[S(ce(C9))],8,UJ),Se("button",{class:"panel-action-btn",onClick:rt,title:re.$t("openWithLocalFileBrowser")},[S(ce(m9))],8,KJ),Se("button",{class:"panel-action-btn",onClick:ht,title:re.$t("openWithDefaultApp")},[S(ce(Kq))],8,GJ),Se("button",{class:"panel-action-btn",onClick:nt,title:re.$t("copyFilePath")},[S(ce(O9))],8,qJ),Se("button",{class:"panel-action-btn",onClick:Tt,title:re.$t("copySourceFilePreviewLink")},[S(ce(wY))],8,YJ)]),Se("div",JJ,[Se("div",XJ,[S(ce(RY)),vt(),Se("span",null,Ae(re.$t("tags")),1)]),Se("div",ZJ,[Se("div",{onClick:fe[8]||(fe[8]=(...Fe)=>ce(Bu)&&ce(Bu)(...Fe)),style:Fn({background:"rgba(255, 255, 255, 0.05)",color:"var(--zp-luminous)",border:"1px solid var(--zp-luminous)",...Ce})},Ae(re.$t("addNewCustomTag")),5),(xe(!0),ke(Ie,null,Ir(((Me=ce(i).conf)==null?void 0:Me.all_custom_tags)||[],Fe=>(xe(),ke("div",{key:Fe.id,onClick:et=>he(Fe.id),style:Fn({background:K(Fe.id)?ce(r).getColor(Fe):"rgba(255, 255, 255, 0.05)",color:K(Fe.id)?"white":ce(r).getColor(Fe),border:`1px solid ${ce(r).getColor(Fe)}`,...Ce})},Ae(Fe.name),13,QJ))),128))])]),Se("div",eX,[Se("div",tX,[S(ce(eY)),vt(),nX]),Se("div",rX,[F.value?(xe(),ke("div",aX,"...")):(xe(),ke(Ie,{key:1},[V.value.prompt?(xe(),ke("div",iX,[oX,Se("code",{innerHTML:Y(V.value.prompt??"")},null,8,sX)])):tt("",!0),V.value.negativePrompt?(xe(),ke("div",lX,[uX,Se("code",{innerHTML:Y(V.value.negativePrompt??"")},null,8,cX)])):tt("",!0),!V.value.prompt&&!V.value.negativePrompt?(xe(),ke("div",fX,"—")):tt("",!0)],64))])])],32)])):tt("",!0)]}),_:1})],34)):tt("",!0)])}}});const vX=ia(dX,[["__scopeId","data-v-6485d9e7"]]),pX={class:"container"},hX=["src"],gX=de({__name:"ImgSliSide",props:{side:{},containerWidth:{},img:{},maxEdge:{},percent:{}},setup(t){const e=t,n=xv(async()=>uP(await Tv(Zr(e.img)),"width","height")),r=B(()=>{let a="";const o=e.containerWidth;if(e.side==="left"?a=`calc(50% - ${(e.percent-50)/100*o}px)`:a=`calc(-50% - ${(e.percent-50)/100*o+4}px)`,e.maxEdge==="height")return`height:100%;transform: translate(${a}, -50%)`;{const s=n.value;return s?`height:${o/s.width*s.height}px;transform: translate(${a}, -50%)`:void 0}});return(a,i)=>(xe(),ke("div",pX,[Se("img",{class:on(["img",[a.side]]),style:Fn(r.value),src:ce(Zr)(a.img),onDragstart:i[0]||(i[0]=sn(()=>{},["prevent","stop"]))},null,46,hX)]))}});const mw=ia(gX,[["__scopeId","data-v-c9b1d83c"]]),mX=de({__name:"PromptCompare",props:{lImg:{},rImg:{}},setup(t){const e=t,n=cP(),r=cn(),a=z(""),i=z("");function o(s){var c;let l="",u=TP(s);l+=`--- PROMPT --- \r `,l+=((c=u.prompt)==null?void 0:c.replace(/\r\n/g,""))+`\r \r `,l+=`--- NEGATIVE PROMPT --- \r @@ -299,7 +299,7 @@ Note that this is not an issue if running this frontend on a browser instead of \r `,l+=`--- PARAMS ---\r `;for(const[f,p]of Object.entries(u))f=="prompt"||f=="negativePrompt"||(l+=f+": "+p+`\r -`);return l}return me(()=>{var s;return(s=e==null?void 0:e.lImg)==null?void 0:s.fullpath},async s=>{s&&(n.tasks.forEach(l=>l.cancel()),n.pushAction(()=>Pv(s)).res.then(l=>{a.value=o(l)}),n.pushAction(()=>Pv(e.rImg.fullpath)).res.then(l=>{i.value=o(l)}))},{immediate:!0}),(s,l)=>{const u=Ks("VueDiff");return xe(),gt(u,{class:"diff",mode:"split",theme:ce(r).computedTheme,language:"plaintext",prev:a.value,current:i.value},null,8,["theme","prev","current"])}}});const yX={key:0,class:"hint"},bX={class:"hint-inline"},wX=de({__name:"ImgSliComparePane",props:{left:{},right:{},container:{}},setup(t,{expose:e}){const n=t,r=z(50),a=([{size:c}])=>{r.value=c},i=z(),{width:o}=nq(i);e({requestFullScreen:()=>{var c;(c=i.value)==null||c.requestFullscreen()}});const l=xv(async()=>{if(!n.left||!n.right)return{width:0,height:0};const[c,f]=await Promise.all([Tv(Zr(n.left)),Tv(Zr(n.right))]);return{width:Math.max(c.width,f.width),height:Math.max(f.height,c.height)}}),u=xv(async()=>{const c=l.value;if(!c)return"width";const{height:f,width:p}=c,g=p/f,d=document.body.clientWidth/document.body.clientHeight;return g>d?"width":"height"});return(c,f)=>(xe(),ke(Ie,null,[Se("div",{ref_key:"wrapperEl",ref:i,style:{height:"100%"}},[S(ce(SP),{class:"default-theme",onResize:a},{default:Be(()=>[c.left?(xe(),gt(ce(Av),{key:0},{default:Be(()=>[S(mw,{side:"left","max-edge":ce(u),"container-width":ce(o),percent:r.value,img:c.left},null,8,["max-edge","container-width","percent","img"])]),_:1})):tt("",!0),c.right?(xe(),gt(ce(Av),{key:1},{default:Be(()=>[S(mw,{"max-edge":ce(u),percent:r.value,img:c.right,side:"right","container-width":ce(o)},null,8,["max-edge","percent","img","container-width"])]),_:1})):tt("",!0)]),_:1})],512),c.container!=="drawer"?(xe(),ke("div",yX,[Se("div",bX,[S(ce(Jq)),vt(" "+Ae(c.$t("scrollDownToComparePrompt")),1)])])):tt("",!0),S(mX,{lImg:c.left,rImg:c.right},null,8,["lImg","rImg"])],64))}});const CX={class:"actions"},SX=de({__name:"ImgSliDrawer",setup(t){const e=_P(),n=z();return(r,a)=>{const i=Gt,o=j4,s=yB;return xe(),ke(Ie,null,[S(s,{width:"100vw",visible:ce(e).drawerVisible,"onUpdate:visible":a[2]||(a[2]=l=>ce(e).drawerVisible=l),"destroy-on-close":"",class:"img-sli","close-icon":null},{footer:Be(()=>[Se("div",CX,[S(i,{onClick:a[0]||(a[0]=l=>ce(e).drawerVisible=!1)},{default:Be(()=>[vt(Ae(r.$t("close")),1)]),_:1}),S(i,{onClick:a[1]||(a[1]=l=>{var u;return(u=n.value)==null?void 0:u.requestFullScreen()})},{default:Be(()=>[vt(Ae(r.$t("fullscreenview")),1)]),_:1}),S(o,{banner:"",style:{height:"32px"},message:"👇 "+r.$t("scrollDownToComparePrompt"),type:"info","show-icon":""},null,8,["message"])])]),default:Be(()=>[ce(e).left&&ce(e).right?(xe(),gt(wX,{key:0,ref_key:"splitpane",ref:n,container:"drawer",left:ce(e).left,right:ce(e).right},null,8,["left","right"])):tt("",!0)]),_:1},8,["visible"]),S(qY),S(vX)],64)}}});const _X=ia(SX,[["__scopeId","data-v-d6c97117"]]),xX=de({__name:"SplitViewTab",setup(t){const e=cn(),n={local:zn(()=>wn(()=>import("./stackView-19fe464d.js"),["assets/stackView-19fe464d.js","assets/shortcut-3129f75b.js","assets/shortcut-2acaf603.css","assets/index-e1a70e12.js","assets/index-80432a0c.css","assets/index-c80754a2.js","assets/_isIterateeCall-16c5cf9c.js","assets/FileItem-aa47825a.js","assets/FileItem-0881fad3.css","assets/MultiSelectKeep-56b94e1f.js","assets/MultiSelectKeep-5059400f.css","assets/index-3603af3c.css","assets/stackView-714f932f.css","assets/index-23c8b8a7.css"])),empty:zn(()=>wn(()=>import("./emptyStartup-35a5d062.js"),["assets/emptyStartup-35a5d062.js","assets/index-e1a70e12.js","assets/index-80432a0c.css","assets/emptyStartup-2ab553ed.css"])),"global-setting":zn(()=>wn(()=>import("./globalSetting-bdaa1c5e.js"),["assets/globalSetting-bdaa1c5e.js","assets/shortcut-3129f75b.js","assets/shortcut-2acaf603.css","assets/globalSetting-e0e78319.css","assets/index-23c8b8a7.css","assets/index-3603af3c.css"])),"tag-search-matched-image-grid":zn(()=>wn(()=>import("./MatchedImageGrid-30230c17.js"),["assets/MatchedImageGrid-30230c17.js","assets/MultiSelectKeep-56b94e1f.js","assets/index-e1a70e12.js","assets/index-80432a0c.css","assets/FileItem-aa47825a.js","assets/FileItem-0881fad3.css","assets/index-c80754a2.js","assets/shortcut-3129f75b.js","assets/shortcut-2acaf603.css","assets/_isIterateeCall-16c5cf9c.js","assets/MultiSelectKeep-5059400f.css","assets/index-3603af3c.css","assets/hook-e2eaf999.js","assets/MatchedImageGrid-c716d973.css"])),"topic-search-matched-image-grid":zn(()=>wn(()=>import("./MatchedImageGrid-e17e54d4.js"),["assets/MatchedImageGrid-e17e54d4.js","assets/MultiSelectKeep-56b94e1f.js","assets/index-e1a70e12.js","assets/index-80432a0c.css","assets/FileItem-aa47825a.js","assets/FileItem-0881fad3.css","assets/index-c80754a2.js","assets/shortcut-3129f75b.js","assets/shortcut-2acaf603.css","assets/_isIterateeCall-16c5cf9c.js","assets/MultiSelectKeep-5059400f.css","assets/index-3603af3c.css","assets/hook-e2eaf999.js","assets/MatchedImageGrid-e9e22234.css"])),"tag-search":zn(()=>wn(()=>import("./TagSearch-818f8831.js"),["assets/TagSearch-818f8831.js","assets/TipsCarousel-4f02731b.js","assets/TipsCarousel-23a4bc9c.css","assets/_isIterateeCall-16c5cf9c.js","assets/TagSearch-936bbb36.css","assets/index-23c8b8a7.css","assets/index-3603af3c.css"])),"fuzzy-search":zn(()=>wn(()=>import("./SubstrSearch-1b7f0fea.js"),["assets/SubstrSearch-1b7f0fea.js","assets/FileItem-aa47825a.js","assets/index-e1a70e12.js","assets/index-80432a0c.css","assets/FileItem-0881fad3.css","assets/MultiSelectKeep-56b94e1f.js","assets/index-c80754a2.js","assets/shortcut-3129f75b.js","assets/shortcut-2acaf603.css","assets/_isIterateeCall-16c5cf9c.js","assets/MultiSelectKeep-5059400f.css","assets/index-3603af3c.css","assets/hook-e2eaf999.js","assets/TipsCarousel-4f02731b.js","assets/TipsCarousel-23a4bc9c.css","assets/SubstrSearch-7eea79b7.css","assets/index-23c8b8a7.css"])),"topic-search":zn(()=>wn(()=>import("./TopicSearch-05f7b29c.js"),["assets/TopicSearch-05f7b29c.js","assets/TopicSearch-43737bca.css","assets/index-23c8b8a7.css","assets/index-3603af3c.css"])),"img-sli":zn(()=>wn(()=>import("./ImgSliPagePane-dfc4a469.js"),["assets/ImgSliPagePane-dfc4a469.js","assets/ImgSliPagePane-868b21f8.css"])),"batch-download":zn(()=>wn(()=>import("./batchDownload-e250ee26.js"),["assets/batchDownload-e250ee26.js","assets/FileItem-aa47825a.js","assets/index-e1a70e12.js","assets/index-80432a0c.css","assets/FileItem-0881fad3.css","assets/index-c80754a2.js","assets/shortcut-3129f75b.js","assets/shortcut-2acaf603.css","assets/_isIterateeCall-16c5cf9c.js","assets/batchDownload-57f1d54b.css"])),"grid-view":zn(()=>wn(()=>import("./gridView-ddcc92b5.js"),["assets/gridView-ddcc92b5.js","assets/FileItem-aa47825a.js","assets/index-e1a70e12.js","assets/index-80432a0c.css","assets/FileItem-0881fad3.css","assets/index-c80754a2.js","assets/shortcut-3129f75b.js","assets/shortcut-2acaf603.css","assets/_isIterateeCall-16c5cf9c.js","assets/gridView-eef9ac55.css"])),"workspace-snapshot":zn(()=>wn(()=>import("./index-8565d02c.js"),["assets/index-8565d02c.js","assets/index-bd568ec0.css"])),"random-image":zn(()=>wn(()=>import("./randomImage-e636ca3e.js"),["assets/randomImage-e636ca3e.js","assets/FileItem-aa47825a.js","assets/index-e1a70e12.js","assets/index-80432a0c.css","assets/FileItem-0881fad3.css","assets/index-c80754a2.js","assets/shortcut-3129f75b.js","assets/shortcut-2acaf603.css","assets/_isIterateeCall-16c5cf9c.js","assets/MultiSelectKeep-56b94e1f.js","assets/MultiSelectKeep-5059400f.css","assets/index-3603af3c.css","assets/randomImage-4d1c5076.css"]))},r=(o,s,l)=>{var c,f;const u=e.tabList[o];if(l==="add"){const p={type:"empty",key:Rn(),name:ve("emptyStartPage")};u.panes.push(p),u.key=p.key}else{const p=u.panes.findIndex(g=>g.key===s);if(u.key===s&&(u.key=((c=u.panes[p-1])==null?void 0:c.key)??((f=u.panes[1])==null?void 0:f.key)),u.panes.splice(p,1),u.panes.length===0&&e.tabList.splice(o,1),e.tabList.length===0){const g=e.createEmptyPane();e.tabList.push({panes:[g],key:g.key,id:Rn()})}}};Ov("closeTabPane",(o,s)=>r(o,s,"del"));const a=z();me(()=>e.tabList,async()=>{var o;await qe(),e.saveRecord(),Array.from(((o=a.value)==null?void 0:o.querySelectorAll(".splitpanes__pane"))??[]).forEach((s,l)=>{Array.from(s.querySelectorAll(".ant-tabs-tab")??[]).forEach((u,c)=>{const f=u;f.setAttribute("draggable","true"),f.setAttribute("tabIdx",l.toString()),f.setAttribute("paneIdx",c.toString()),f.ondragend=()=>{e.dragingTab=void 0},f.ondragstart=p=>{e.dragingTab={tabIdx:l,paneIdx:c},p.dataTransfer.setData("text/plain",JSON.stringify({tabIdx:l,paneIdx:c,from:"tab-drag"}))}})})},{immediate:!0,deep:!0});const i=ri(()=>lo.emit("returnToIIB"),100);return SG(async()=>{const o=window.parent;if(!await fq(()=>o==null?void 0:o.onUiTabChange,200,3e4)){console.log("watch tab change failed");return}o.onUiTabChange(()=>{const s=o.get_uiCurrentTabContent();s!=null&&s.id.includes("infinite-image-browsing")&&i()})}),me(XG(),o=>o&&i()),(o,s)=>{const l=Au,u=ns;return xe(),ke("div",{ref_key:"container",ref:a},[S(ce(SP),{class:"default-theme"},{default:Be(()=>[(xe(!0),ke(Ie,null,Ir(ce(e).tabList,(c,f)=>(xe(),gt(ce(Av),{key:c.id},{default:Be(()=>[S(Vq,{tabIdx:f},{default:Be(()=>[S(u,{type:"editable-card",activeKey:c.key,"onUpdate:activeKey":p=>c.key=p,onEdit:(p,g)=>r(f,p,g)},{default:Be(()=>[(xe(!0),ke(Ie,null,Ir(c.panes,(p,g)=>(xe(),gt(l,{key:p.key,tab:p.name,class:"pane"},{default:Be(()=>[(xe(),gt(Ek(n[p.type]),rp({tabIdx:f,paneKey:p.key,paneIdx:g},p),null,16,["tabIdx","paneKey","paneIdx"]))]),_:2},1032,["tab"]))),128))]),_:2},1032,["activeKey","onUpdate:activeKey","onEdit"])]),_:2},1032,["tabIdx"])]),_:2},1024))),128))]),_:1}),S(_X)],512)}}});const OX=ia(xX,[["__scopeId","data-v-76f3eb81"]]);const PP=t=>(fo("data-v-0a74f0db"),t=t(),vo(),t),TX={class:"organize-jobs-wrapper"},PX=PP(()=>Se("span",{class:"fab-icon"},"📁",-1)),EX={key:1,class:"organize-jobs-panel"},kX={class:"panel-header"},AX={class:"panel-title"},IX={class:"panel-header-right"},MX={class:"job-header"},NX=PP(()=>Se("span",{class:"job-icon"},"📁",-1)),$X={class:"job-folders"},FX={class:"job-progress"},RX={class:"stage-label"},DX={class:"preview-ready-hint"},LX={class:"stage-label"},zX={key:0,class:"current-file"},BX={class:"result-summary success"},jX={class:"result-summary error"},VX=de({__name:"OrganizeJobsPanel",emits:["open-preview"],setup(t,{emit:e}){const n=cn(),r=p=>!p||p.length===0?"":p.length===1?p[0].split(/[/\\]/).pop()||p[0]:`${p.length} ${ve("folders")}`,a=p=>({queued:"default",running:"processing",preview_ready:"warning",moving:"processing",done:"success",error:"error"})[p]||"default",i=p=>({queued:ve("queued"),running:ve("analyzing"),preview_ready:ve("waitingConfirm"),moving:ve("moving"),done:ve("completed"),error:ve("error")})[p]||p,o=p=>p?{embedding:ve("generatingEmbeddings"),clustering:ve("clusteringAnalysis"),titling:ve("generatingTitles"),preview_ready:ve("previewReady"),moving:ve("movingFiles"),done:ve("completed")}[p]||p:"",s=p=>{var g;return["queued","running"].includes(p.status)&&["embedding","clustering","titling"].includes(((g=p.progress)==null?void 0:g.stage)||"")},l=p=>{if(!p)return 0;const{stage:g,embedded_done:d,to_embed:v,clusters_done:m,clusters_total:h}=p;return g==="embedding"&&v>0?Math.round(d/v*40):g==="clustering"?50:g==="titling"&&h>0?60+Math.round(m/h*40):0},u=p=>{if(!p)return 0;const{moved_done:g,moved_total:d}=p;return d>0?Math.round(g/d*100):0},c=p=>{const g=JSON.parse(JSON.stringify(p));console.log("openPreview called","job_id:",g.job_id,"status:",g.status,"preview:",g.preview?`has preview (${g.preview.total_files} files)`:"no preview"),e("open-preview",g)},f=p=>{n.removeOrganizeJob(p)};return(p,g)=>{const d=Yl,v=Gt,m=tO,h=X7;return xe(),ke("div",TX,[ce(n).activeOrganizeJobs.length&&!ce(n).showOrganizePanel?(xe(),ke("div",{key:0,class:"organize-jobs-fab",onClick:g[0]||(g[0]=y=>ce(n).showOrganizePanel=!0)},[PX,S(d,{count:ce(n).activeOrganizeJobs.length,offset:[-2,2]},null,8,["count"])])):tt("",!0),ce(n).activeOrganizeJobs.length&&ce(n).showOrganizePanel?(xe(),ke("div",EX,[Se("div",kX,[Se("span",AX,Ae(ce(ve)("organizeJobs")),1),Se("div",IX,[S(d,{count:ce(n).activeOrganizeJobs.length},null,8,["count"]),S(v,{type:"text",size:"small",class:"close-btn",onClick:g[1]||(g[1]=y=>ce(n).showOrganizePanel=!1)},{default:Be(()=>[vt("✕")]),_:1})])]),(xe(!0),ke(Ie,null,Ir(ce(n).activeOrganizeJobs,y=>{var w,b,C,_,x,T,O,N;return xe(),ke("div",{key:y.job_id,class:"job-item"},[Se("div",MX,[NX,Se("span",$X,Ae(r(y.folder_paths)),1),S(m,{color:a(y.status)},{default:Be(()=>[vt(Ae(i(y.status)),1)]),_:2},1032,["color"])]),Se("div",FX,[s(y)?(xe(),ke(Ie,{key:0},[Se("div",RX,Ae(o((w=y.progress)==null?void 0:w.stage)),1),S(h,{percent:l(y.progress),status:y.status==="error"?"exception":"active",size:"small"},null,8,["percent","status"])],64)):tt("",!0),y.status==="preview_ready"?(xe(),ke(Ie,{key:1},[Se("div",DX,Ae(ce(ve)("organizePreviewReady",{files:((b=y.preview)==null?void 0:b.total_files)??0,clusters:((_=(C=y.preview)==null?void 0:C.clusters)==null?void 0:_.length)??0})),1),S(v,{type:"primary",size:"small",onClick:D=>c(y)},{default:Be(()=>[vt(Ae(ce(ve)("viewPreview")),1)]),_:2},1032,["onClick"])],64)):tt("",!0),((x=y.progress)==null?void 0:x.stage)==="moving"?(xe(),ke(Ie,{key:2},[Se("div",LX,Ae(ce(ve)("movingFiles")),1),S(h,{percent:u(y.progress),size:"small",status:"active"},null,8,["percent"]),y.progress.current_file?(xe(),ke("div",zX,Ae(y.progress.current_file),1)):tt("",!0)],64)):tt("",!0),y.status==="done"?(xe(),ke(Ie,{key:3},[Se("div",BX,Ae(ce(ve)("organizeComplete",{moved:((T=y.progress)==null?void 0:T.moved_done)??0,folders:((N=(O=y.progress)==null?void 0:O.created_folders)==null?void 0:N.length)??0})),1),S(v,{size:"small",onClick:D=>f(y.job_id)},{default:Be(()=>[vt(Ae(ce(ve)("close")),1)]),_:2},1032,["onClick"])],64)):tt("",!0),y.status==="error"?(xe(),ke(Ie,{key:4},[Se("div",jX,Ae(ce(ve)("organizeFailed")),1),S(v,{size:"small",onClick:D=>f(y.job_id)},{default:Be(()=>[vt(Ae(ce(ve)("close")),1)]),_:2},1032,["onClick"])],64)):tt("",!0)])])}),128))])):tt("",!0)])}}});const WX=ia(VX,[["__scopeId","data-v-0a74f0db"]]);const HX=async t=>(await ze.value.post("/db/organize_files_start",t)).data,EP=async t=>(await ze.value.get("/db/organize_files_status",{params:{job_id:t}})).data,UX=async t=>(await ze.value.post("/db/organize_files_confirm",t)).data,kP=t=>(fo("data-v-b7f18d8d"),t=t(),vo(),t),KX={class:"organize-preview"},GX=["src"],qX={class:"preview-header"},YX={class:"summary"},JX={class:"dest-folder"},XX={class:"cluster-header"},ZX=kP(()=>Se("span",{class:"folder-icon"},"📁",-1)),QX={key:0,class:"folder-name"},eZ={class:"file-count"},tZ={class:"file-mappings"},nZ=["onMouseenter"],rZ=kP(()=>Se("span",{class:"arrow"},"→",-1)),aZ=["title"],iZ=["onClick"],oZ={class:"preview-actions"},sZ={class:"action-summary"},lZ={key:0},uZ=de({__name:"OrganizePreview",props:{preview:{}},emits:["cancel","confirmed"],setup(t,{emit:e}){const n=t,r=z([]),a=lt(new Set),i=lt(new Map),o=lt(new Set),s=z(null),l=z(""),u=z(!1),c=z(""),f=lt({x:0,y:0});let p=null;const g=B(()=>{const F=[...n.preview.clusters];return n.preview.noise.size>0&&F.push(n.preview.noise),F}),d=F=>i.get(F.cluster_id)||F.suggested_folder_name,v=F=>F.split(/[/\\]/).pop()||F,m=F=>`${pi.value}/image-thumbnail?path=${encodeURIComponent(F)}&t=${Date.now()}&size=512x512`,h=(F,R)=>{var k;const j=((k=R.split(".").pop())==null?void 0:k.toLowerCase())||"";["jpg","jpeg","png","gif","webp","bmp","ico","svg"].includes(j)&&(p&&clearTimeout(p),p=setTimeout(()=>{c.value=m(R),w(F)},300))},y=()=>{p&&(clearTimeout(p),p=null),c.value=""},w=F=>{f.x=F.clientX+20,f.y=F.clientY-100,f.y<10&&(f.y=10)},b=F=>o.has(F.cluster_id)?F.file_mappings:F.file_mappings.slice(0,10),C=B(()=>g.value.filter(F=>!a.has(F.cluster_id)).reduce((F,R)=>F+R.file_mappings.filter(j=>j.dest_path!==j.src_path).length,0)),_=B(()=>g.value.filter(F=>a.has(F.cluster_id)).reduce((F,R)=>F+R.size,0)),x=F=>{s.value=F.cluster_id,l.value=d(F)},T=()=>{s.value&&l.value.trim()&&i.set(s.value,l.value.trim()),s.value=null,l.value=""},O=F=>{a.has(F)?a.delete(F):a.add(F)},N=()=>{e("cancel")},D=async()=>{u.value=!0;try{const F=[];i.forEach((R,j)=>{F.push({cluster_id:j,new_folder_name:R})}),await UX({job_id:n.preview.job_id,folder_edits:F.length>0?F:void 0,skip_cluster_ids:a.size>0?Array.from(a):void 0}),At.success(ve("startMovingFiles")),e("confirmed")}catch(F){At.error(`${ve("confirmFailed")}: ${F.message||F}`)}finally{u.value=!1}};return(F,R)=>{const j=Ft,L=tO,k=Gt,P=u9,I=Iu,$=rs;return xe(),ke("div",KX,[c.value?(xe(),ke("div",{key:0,class:"image-preview-tooltip",style:Fn({top:f.y+"px",left:f.x+"px"})},[Se("img",{src:c.value,onError:R[0]||(R[0]=W=>c.value="")},null,40,GX)],4)):tt("",!0),Se("div",qX,[Se("h3",null,Ae(ce(ve)("smartOrganizePreview")),1),Se("div",YX,Ae(ce(ve)("organizePreviewSummary",{files:F.preview.total_files,folders:F.preview.clusters.length+(F.preview.noise.size>0?1:0)})),1),Se("div",JX,[vt(Ae(ce(ve)("destFolder"))+": ",1),Se("code",null,Ae(F.preview.dest_folder),1)])]),S($,{activeKey:r.value,"onUpdate:activeKey":R[5]||(R[5]=W=>r.value=W),class:"cluster-list"},{default:Be(()=>[(xe(!0),ke(Ie,null,Ir(g.value,W=>(xe(),gt(I,{key:W.cluster_id,class:on({skipped:a.has(W.cluster_id)})},{header:Be(()=>[Se("div",XX,[ZX,s.value!==W.cluster_id?(xe(),ke("span",QX,Ae(d(W)),1)):(xe(),gt(j,{key:1,value:l.value,"onUpdate:value":R[1]||(R[1]=G=>l.value=G),size:"small",style:{width:"200px"},onPressEnter:T,onBlur:T,onClick:R[2]||(R[2]=sn(()=>{},["stop"]))},null,8,["value"])),Se("span",eZ,"("+Ae(W.size)+" "+Ae(ce(ve)("files"))+")",1),W.cluster_id==="__noise__"?(xe(),gt(L,{key:2,color:"orange"},{default:Be(()=>[vt(Ae(ce(ve)("unsorted")),1)]),_:1})):tt("",!0)])]),extra:Be(()=>[S(P,{onClick:R[3]||(R[3]=sn(()=>{},["stop"]))},{default:Be(()=>[S(k,{size:"small",onClick:G=>x(W)},{default:Be(()=>[vt(Ae(ce(ve)("rename")),1)]),_:2},1032,["onClick"]),S(k,{size:"small",type:a.has(W.cluster_id)?"primary":"default",onClick:G=>O(W.cluster_id)},{default:Be(()=>[vt(Ae(a.has(W.cluster_id)?ce(ve)("cancelSkip"):ce(ve)("skip")),1)]),_:2},1032,["type","onClick"])]),_:2},1024)]),default:Be(()=>[Se("div",tZ,[(xe(!0),ke(Ie,null,Ir(b(W),G=>(xe(),ke("div",{key:G.src_path,class:"file-mapping"},[Se("span",{class:"src-path",onMouseenter:q=>h(q,G.src_path),onMouseleave:y,onMousemove:R[4]||(R[4]=q=>w(q))},Ae(v(G.src_path)),41,nZ),rZ,Se("span",{class:"dest-path",title:G.dest_path},Ae(d(W))+"/"+Ae(v(G.src_path)),9,aZ)]))),128)),W.file_mappings.length>10&&!o.has(W.cluster_id)?(xe(),ke("div",{key:0,class:"show-more",onClick:G=>o.add(W.cluster_id)},Ae(ce(ve)("showMore",{count:W.file_mappings.length-10})),9,iZ)):tt("",!0)])]),_:2},1032,["class"]))),128))]),_:1},8,["activeKey"]),Se("div",oZ,[Se("div",sZ,[vt(Ae(ce(ve)("willMove",{count:C.value}))+" ",1),a.size?(xe(),ke("span",lZ,"("+Ae(ce(ve)("skipped",{count:_.value}))+")",1)):tt("",!0)]),S(P,null,{default:Be(()=>[S(k,{onClick:N},{default:Be(()=>[vt(Ae(ce(ve)("cancel")),1)]),_:1}),S(k,{type:"primary",loading:u.value,onClick:D},{default:Be(()=>[vt(Ae(ce(ve)("confirmOrganize")),1)]),_:1},8,["loading"])]),_:1})])])}}});const cZ=ia(uZ,[["__scopeId","data-v-b7f18d8d"]]);function Rne(t){const e=cn();e.smartOrganizeConfigPath=t,e.showSmartOrganizeConfig=!0}async function fZ(t,e){const n=cn();try{const r={folder_paths:t,lang:n.lang,dest_folder:e.destFolder||void 0,min_cluster_size:e.minClusterSize,action:e.action,recursive:e.recursive},{job_id:a}=await HX(r);return n.addOrganizeJob({job_id:a,status:"queued",progress:{stage:"embedding",embedded_done:0,to_embed:0,clusters_done:0,clusters_total:0,moved_done:0,moved_total:0,current_file:"",created_folders:[],errors:[]},startedAt:Date.now(),folder_paths:t}),At.success(ve("organizeJobStarted")),dZ(a,t),a}catch(r){throw At.error(`${ve("error")}: ${r.message||r}`),r}}async function dZ(t,e){const n=cn(),r=2e3,a=async()=>{var i,o;try{const s=await EP(t);console.log("Poll response:","status:",s.status,"stage:",(i=s.progress)==null?void 0:i.stage,"preview:",s.preview?`yes (${s.preview.total_files} files, ${(o=s.preview.clusters)==null?void 0:o.length} clusters)`:"no");const l={status:s.status,progress:s.progress};s.preview&&(l.preview=s.preview,console.log("Preview data received from API:",s.preview.total_files,"files")),n.updateOrganizeJob(t,l),["done","error","preview_ready"].includes(s.status)?(console.log("Poll stopped at status:",s.status),s.status==="error"?console.error("Organize job failed:",s.error):s.status==="preview_ready"?console.log("Preview ready - user can now view and confirm"):s.status==="done"&&(console.log("Organize done, emitting refresh event"),lo.emit("refreshFileView",{paths:e}))):setTimeout(a,r)}catch(s){console.error("Poll organize status error:",s),setTimeout(a,r*2)}};a()}const AP=t=>(fo("data-v-5d792d0e"),t=t(),vo(),t),vZ={class:"info-panel"},pZ={class:"info-row"},hZ={class:"info-label"},gZ={class:"info-path"},mZ={class:"info-tips"},yZ=AP(()=>Se("span",{class:"separator"},"|",-1)),bZ=AP(()=>Se("span",{class:"separator"},"|",-1)),wZ={class:"form-item-hint"},CZ={class:"form-item-hint"},SZ={class:"form-item-hint"},_Z={key:0,class:"loading-status"},xZ={style:{"margin-left":"8px"}},OZ=de({__name:"SmartOrganizeConfigModal",setup(t){const e=cn(),n=z(!1),r=z(""),a=lt({destFolder:"",recursive:!1,minClusterSize:3,action:"move"});me(()=>e.showSmartOrganizeConfig,s=>{s&&(a.destFolder="",a.recursive=!1,a.minClusterSize=3,a.action="move",n.value=!1,r.value="")});const i=async()=>{const s=e.smartOrganizeConfigPath;try{n.value=!0,r.value=ve("updatingIndex"),await nJ({folder:s,recursive:a.recursive}),r.value=ve("startingOrganizeJob"),await fZ([s],{...a,destFolder:a.destFolder||s}),e.showSmartOrganizeConfig=!1}catch(l){console.error("Smart organize failed:",l)}finally{n.value=!1,r.value=""}},o=()=>{n.value||(e.showSmartOrganizeConfig=!1)};return(s,l)=>{const u=Ft,c=Xx,f=v9,p=Bj,g=Hn,d=hx,v=pa,m=Hi,h=Gt,y=xt;return xe(),gt(y,{visible:ce(e).showSmartOrganizeConfig,"onUpdate:visible":l[4]||(l[4]=w=>ce(e).showSmartOrganizeConfig=w),title:ce(ve)("smartOrganizeConfig"),width:"70vw",onOk:i,onCancel:o,confirmLoading:n.value},{footer:Be(()=>[S(h,{onClick:o,disabled:n.value},{default:Be(()=>[vt(Ae(ce(ve)("organizeCancel")),1)]),_:1},8,["disabled"]),S(h,{type:"primary",onClick:i,loading:n.value},{default:Be(()=>[vt(Ae(ce(ve)("organizeStartTask")),1)]),_:1},8,["loading"])]),default:Be(()=>[Se("div",vZ,[Se("div",pZ,[Se("span",hZ,Ae(ce(ve)("organizeSourceFolder"))+":",1),Se("code",gZ,Ae(ce(e).smartOrganizeConfigPath),1)]),Se("div",mZ,[Se("span",null,Ae(ce(ve)("smartOrganizeNotice")),1),yZ,Se("span",null,Ae(ce(ve)("topicSearchRequirementsOpenai")),1),bZ,Se("span",null,Ae(ce(ve)("topicSearchRequirementsDepsPython")),1)])]),S(v,{"label-col":{span:8},"wrapper-col":{span:16}},{default:Be(()=>[S(c,{label:ce(ve)("organizeTargetFolder")},{default:Be(()=>[S(u,{value:a.destFolder,"onUpdate:value":l[0]||(l[0]=w=>a.destFolder=w),placeholder:ce(e).smartOrganizeConfigPath,disabled:n.value},null,8,["value","placeholder","disabled"]),Se("div",wZ,Ae(ce(ve)("organizeTargetFolderDesc")),1)]),_:1},8,["label"]),S(c,{label:ce(ve)("organizeRecursive")},{default:Be(()=>[S(f,{checked:a.recursive,"onUpdate:checked":l[1]||(l[1]=w=>a.recursive=w),disabled:n.value},null,8,["checked","disabled"]),Se("div",CZ,Ae(ce(ve)("organizeRecursiveDesc")),1)]),_:1},8,["label"]),S(c,{label:ce(ve)("organizeMinClusterSize")},{default:Be(()=>[S(p,{value:a.minClusterSize,"onUpdate:value":l[2]||(l[2]=w=>a.minClusterSize=w),min:2,max:20,style:{width:"100px"},disabled:n.value},null,8,["value","disabled"]),Se("div",SZ,Ae(ce(ve)("organizeMinClusterSizeDesc")),1)]),_:1},8,["label"]),S(c,{label:ce(ve)("organizeAction")},{default:Be(()=>[S(d,{value:a.action,"onUpdate:value":l[3]||(l[3]=w=>a.action=w),disabled:n.value},{default:Be(()=>[S(g,{value:"move"},{default:Be(()=>[vt(Ae(ce(ve)("organizeActionMove")),1)]),_:1}),S(g,{value:"copy"},{default:Be(()=>[vt(Ae(ce(ve)("organizeActionCopy")),1)]),_:1})]),_:1},8,["value","disabled"])]),_:1},8,["label"])]),_:1}),n.value?(xe(),ke("div",_Z,[S(m,{size:"small"}),Se("span",xZ,Ae(r.value),1)])):tt("",!0)]),_:1},8,["visible","title","confirmLoading"])}}});const TZ=ia(OZ,[["__scopeId","data-v-5d792d0e"]]),PZ=(t,e)=>{const n={key:Rn(),name:e.name??""};switch(t){case"local":return{...n,type:t,path:e.path,mode:e.mode,stackKey:e.stackKey,targetFile:e.targetFile,openPreview:e.openPreview};case"tag-search":return{...n,type:t,searchScope:e.searchScope};case"fuzzy-search":return{...n,type:t,searchScope:e.searchScope,initialSubstr:e.substr,initialIsRegex:e.isRegex,initialPathOnly:e.pathOnly,initialMediaType:e.mediaType,autoSearch:e.autoSearch};case"tag-search-matched-image-grid":return{...n,type:t,selectedTagIds:e.selectedTagIds,id:e.id??Rn()};case"topic-search-matched-image-grid":return{...n,type:t,id:e.id??Rn(),title:e.title??"",paths:e.paths??[]};case"grid-view":return{...n,type:t,files:e.files??[],removable:e.removable,allowDragAndDrop:e.allowDragAndDrop};case"img-sli":return{...n,type:t,left:e.left,right:e.right};case"random-image":return{...n,type:t};case"topic-search":case"batch-download":case"workspace-snapshot":case"global-setting":return{...n,type:t};default:return null}},EZ=async t=>{var a;const e=(a=t.conf)==null?void 0:a.global_setting,n=new URLSearchParams(parent.location.search);switch(n.get("action")){case"view":{let i=n.get("path");if(!i){console.error("[IIB] view action requires path parameter");return}i=si(i);const o=yP(i),s=Nq(i),l=t.tabList[0],u={type:"local",path:o,key:Rn(),name:s,mode:"scanned-fixed",targetFile:i,openPreview:!0};l.panes.unshift(u),l.key=u.key,iu(),Gf(["action","path"]);break}case"open":{let i=n.get("path");if(!i||!e)return;const o={extra:e.outdir_extras_samples,save:e.outdir_save,txt2img:e.outdir_txt2img_samples,img2img:e.outdir_img2img_samples};o[i]&&(i=o[i]);const s=t.tabList[0],l=n.get("mode"),u={type:"local",path:i,key:Rn(),name:"",mode:["scanned","walk","scanned-fixed"].includes(l||"scanned")?l:"scanned"};s.panes.unshift(u),s.key=u.key,iu(),Gf(["action","path","mode"]);break}case"pane":{const i=n.get("type"),o=n.get("props");if(!i||!["local","tag-search","fuzzy-search","tag-search-matched-image-grid","topic-search-matched-image-grid","grid-view","img-sli","random-image","topic-search","batch-download","workspace-snapshot","global-setting","empty"].includes(i)){console.error("[IIB] Invalid or missing pane type:",i);return}let l={};try{o&&(l=JSON.parse(decodeURIComponent(o)))}catch(c){console.error("[IIB] Failed to parse pane props:",c);return}const u=PZ(i,l);if(u){const c=t.tabList[0];c.panes.unshift(u),c.key=u.key,iu()}Gf(["action","type","props"]);break}}};function yw(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!sr(t)}const IP="app.conf.json",vs=z(),MP=()=>zs.writeFile(IP,JSON.stringify(Ve(vs.value),null,4)),kZ=de({setup(){const t=async()=>{const e=await YT({directory:!0});if(typeof e=="string"){if(!await zs.exists(`${e}/config.json`))return At.error(ve("tauriLaunchConfMessages.configNotFound"));if(!await zs.exists(`${e}/extensions/sd-webui-infinite-image-browsing`))return At.error(ve("tauriLaunchConfMessages.folderNotFound"));vs.value.sdwebui_dir=e,At.info(ve("tauriLaunchConfMessages.configCompletedMessage")),await MP(),await Vc("shutdown_api_server_command"),await ai(1500),await KT()}};return()=>{let e,n;return S("div",{style:{padding:"32px 0"}},[S("div",{style:{padding:"16px 0"}},[S("h2",null,[ve("tauriLaunchConf.readSdWebuiConfigTitle")]),S("p",null,[ve("tauriLaunchConf.readSdWebuiConfigDescription")]),S(Gt,{onClick:t,type:"primary"},yw(e=ve("tauriLaunchConf.selectSdWebuiFolder"))?e:{default:()=>[e]})]),S("div",{style:{padding:"16px 0"}},[S("h2",null,[ve("tauriLaunchConf.skipThisConfigTitle")]),S("p",null,[ve("tauriLaunchConf.skipThisConfigDescription")]),S(Gt,{type:"primary",onClick:xt.destroyAll},yw(n=ve("tauriLaunchConf.skipButton"))?n:{default:()=>[n]})])])}}}),AZ=async()=>{try{vs.value=JSON.parse(await zs.readTextFile(IP))}catch{}vs.value||(vs.value={sdwebui_dir:""},await MP(),xt.info({title:ve("tauriLaunchConfMessages.firstTimeUserTitle"),content:S(kZ,null,null),width:"80vw",okText:ve("tauriLaunchConf.skipButton"),okButtonProps:{onClick:xt.destroyAll}}))},IZ=async t=>{var i;if(!((i=t.conf)!=null&&i.export_fe_fn))return;const e=Kc();a({insertTabPane:({tabIdx:o=0,paneIdx:s=0,pane:l})=>{const u=t.tabList[o];return l.key||(l.key=Rn()),u.panes.splice(s,0,l),u.key=l.key,{key:l.key,ref:r(l.key)}},getTabList:()=>t.tabList,getPageRef:r,switch2IIB:iu,openIIBInNewTab:()=>window.parent.open("/infinite_image_browsing"),setTagColor(o,s){e.colorCache.set(o,s)},setTags(o,s){e.set(o,s)},getTags(o){return e.tagMap.get(o)},createGridViewFile(o,s){return{name:o.split(/[/\\]/).pop()??"",size:"-",bytes:0,type:"file",created_time:"",date:"",fullpath:o,tags:s==null?void 0:s.map(l=>({name:l})),is_under_scanned_path:!0}}});function r(o){return new Proxy({},{get(s,l,u){var c;if(l==="close"){const f=t.tabList.findIndex(p=>p.panes.some(g=>g.key===o));return()=>lo.emit("closeTabPane",f,o)}return(c=t.pageFuncExportMap.get(o))==null?void 0:c[l]}})}function a(o){const s=window;for(const l in o)s[l]=(...u)=>o[l](...u)}},MZ={key:0,class:"moving-files-overlay"},NZ={class:"moving-files-content"},$Z={class:"moving-text"},FZ={class:"moving-progress"},RZ=de({__name:"App",setup(t){const e=cn(),n=Rq(),r=cP(),a=z(!1),i=z(null),o=z(!1),s=z({moved:0,total:0}),l=v=>{console.log("handleOpenOrganizePreview received:","job_id:",v.job_id,"status:",v.status,"preview:",v.preview?`yes (${v.preview.total_files} files)`:"no"),v.preview?(i.value=v.preview,a.value=!0,console.log("Modal opened with preview data")):console.warn("No preview data in job - job keys:",Object.keys(v))},u=async()=>{var y,w;a.value=!1;const v=(y=i.value)==null?void 0:y.job_id,m=((w=e.getOrganizeJob(v||""))==null?void 0:w.folder_paths)||[];if(i.value=null,!v)return;o.value=!0,s.value={moved:0,total:0};const h=async()=>{var b,C;try{const _=await EP(v);_.status==="moving"?(s.value={moved:((b=_.progress)==null?void 0:b.moved_done)||0,total:((C=_.progress)==null?void 0:C.moved_total)||0},setTimeout(h,500)):_.status==="done"?(o.value=!1,e.removeOrganizeJob(v),At.success(ve("organizeComplete")),lo.emit("refreshFileView",{paths:m})):_.status==="error"?(o.value=!1,At.error(`${ve("organizeFailed")}: ${_.error}`)):setTimeout(h,500)}catch(_){console.error("Poll moving status error:",_),setTimeout(h,1e3)}};h()},c=()=>{a.value=!1,i.value=null},f=CP.filter(v=>!["tabListHistoryRecord","recent"].includes(v));let p=null;const g=N1(async()=>{e.$subscribe(ri(async()=>{var m;if(((m=e.conf)==null?void 0:m.is_readonly)===!0)return;const v={};f.forEach(h=>{v[h]=rr(e[h])}),JSON.stringify(v)!==JSON.stringify(p)&&(console.log("save global setting",v),await dP("global",v),p=rr(v))},500))}),d=N1(async()=>{var m,h;await ai(100);const v=e.defaultInitinalPage;if(v!=="empty")if(v==="last-workspace-state"){const y=(m=e.tabListHistoryRecord)==null?void 0:m[1];if(!(y!=null&&y.tabs))return;e.tabList=rr(y.tabs),At.success(ve("restoreLastWorkspaceStateSuccess"))}else{const y=(h=v.split("_"))==null?void 0:h[2],w=n.snapshots.find(b=>b.id===y);if(!(w!=null&&w.tabs))return;e.tabList=rr(w.tabs),At.success(ve("restoreWorkspaceSnapshotSuccess"))}});return Ov("updateGlobalSetting",async()=>{var y,w;await hG(),console.log(Lu.value);const v=await mq();e.conf=v;const m=await nw(v);e.quickMovePaths=m.filter(b=>{var C,_;return(_=(C=b==null?void 0:b.dir)==null?void 0:C.trim)==null?void 0:_.call(C)});const h=(w=(y=e==null?void 0:e.conf)==null?void 0:y.app_fe_setting)==null?void 0:w.global;h&&(console.log("restoreFeGlobalSetting",h),p=rr(h),f.forEach(b=>{const C=h[b];C!==void 0&&(e[b]=C)})),g(),d(),IZ(e),EZ(e)}),Ov("returnToIIB",async()=>{const v=e.conf;if(!v)return;const m=v.global_setting;if(!m.outdir_txt2img_samples&&!m.outdir_img2img_samples)return;const h=new Set(e.quickMovePaths.map(w=>w.key));if(h.has("outdir_txt2img_samples")&&h.has("outdir_img2img_samples"))return;const y=await nw(v);e.quickMovePaths=y.filter(w=>{var b,C;return(C=(b=w==null?void 0:w.dir)==null?void 0:b.trim)==null?void 0:C.call(b)})}),me(()=>e.computedTheme==="dark",async v=>{await ai();const m=document.getElementsByTagName("html")[0];if(v){document.body.classList.add("dark");const h=document.createElement("style"),{default:y}=await wn(()=>import("./antd.dark-35e9b327.js"),[]);h.innerHTML=y,h.setAttribute("antd-dark",""),m.appendChild(h)}else document.body.classList.remove("dark"),Array.from(m.querySelectorAll("style[antd-dark]")).forEach(h=>h.remove())},{immediate:!0}),me(()=>e.previewBgOpacity,v=>{document.documentElement.style.setProperty("--iib-preview-mask-bg",`rgba(0, 0, 0, ${v})`)},{immediate:!0}),He(async()=>{iP&&AZ(),lo.emit("updateGlobalSetting")}),(v,m)=>{const h=$n,y=xt,w=Hi;return xe(),ke(Ie,null,[S(h,{loading:!ce(r).isIdle},{default:Be(()=>[S(OX)]),_:1},8,["loading"]),S(WX,{onOpenPreview:l}),S(y,{visible:a.value,"onUpdate:visible":m[0]||(m[0]=b=>a.value=b),title:ce(ve)("smartOrganizePreview"),footer:null,width:800,destroyOnClose:!0,zIndex:2e3},{default:Be(()=>[i.value?(xe(),gt(cZ,{key:0,preview:i.value,onCancel:c,onConfirmed:u},null,8,["preview"])):tt("",!0)]),_:1},8,["visible","title"]),S(TZ),o.value?(xe(),ke("div",MZ,[Se("div",NZ,[S(w,{size:"large"}),Se("div",$Z,Ae(ce(ve)("movingFiles")),1),Se("div",FZ,Ae(s.value.moved)+" / "+Ae(s.value.total),1)])])):tt("",!0)],64)}}});function DZ(t){return typeof t=="object"&&t!==null}function bw(t,e){return t=DZ(t)?t:Object.create(null),new Proxy(t,{get(n,r,a){return r==="key"?Reflect.get(n,r,a):Reflect.get(n,r,a)||Reflect.get(e,r,a)}})}function LZ(t,e){return e.reduce((n,r)=>n==null?void 0:n[r],t)}function zZ(t,e,n){return e.slice(0,-1).reduce((r,a)=>/^(__proto__)$/.test(a)?{}:r[a]=r[a]||{},t)[e[e.length-1]]=n,t}function BZ(t,e){return e.reduce((n,r)=>{const a=r.split(".");return zZ(n,a,LZ(t,a))},{})}function ww(t,{storage:e,serializer:n,key:r,debug:a}){try{const i=e==null?void 0:e.getItem(r);i&&t.$patch(n==null?void 0:n.deserialize(i))}catch(i){a&&console.error(i)}}function Cw(t,{storage:e,serializer:n,key:r,paths:a,debug:i}){try{const o=Array.isArray(a)?BZ(t,a):t;e.setItem(r,n.serialize(o))}catch(o){i&&console.error(o)}}function jZ(t={}){return e=>{const{auto:n=!1}=t,{options:{persist:r=n},store:a}=e;if(!r)return;const i=(Array.isArray(r)?r.map(o=>bw(o,t)):[bw(r,t)]).map(({storage:o=localStorage,beforeRestore:s=null,afterRestore:l=null,serializer:u={serialize:JSON.stringify,deserialize:JSON.parse},key:c=a.$id,paths:f=null,debug:p=!1})=>{var g;return{storage:o,beforeRestore:s,afterRestore:l,serializer:u,key:((g=t.key)!=null?g:d=>d)(c),paths:f,debug:p}});a.$persist=()=>{i.forEach(o=>{Cw(a.$state,o)})},a.$hydrate=({runHooks:o=!0}={})=>{i.forEach(s=>{const{beforeRestore:l,afterRestore:u}=s;o&&(l==null||l(e)),ww(a,s),o&&(u==null||u(e))})},i.forEach(o=>{const{beforeRestore:s,afterRestore:l}=o;s==null||s(e),ww(a,o),l==null||l(e),a.$subscribe((u,c)=>{Cw(c,o)},{detached:!0})})}}var VZ=jZ(),WZ=Object.defineProperty,HZ=Object.defineProperties,UZ=Object.getOwnPropertyDescriptors,Sw=Object.getOwnPropertySymbols,KZ=Object.prototype.hasOwnProperty,GZ=Object.prototype.propertyIsEnumerable,_w=(t,e,n)=>e in t?WZ(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Iv=(t,e)=>{for(var n in e||(e={}))KZ.call(e,n)&&_w(t,n,e[n]);if(Sw)for(var n of Sw(e))GZ.call(e,n)&&_w(t,n,e[n]);return t},qZ=(t,e)=>HZ(t,UZ(e));function YZ(t){return qu()?(zv(t),!0):!1}const NP=typeof window<"u";function $P(t,e){function n(...r){t(()=>e.apply(this,r),{fn:e,thisArg:this,args:r})}return n}const JZ=t=>t();function XZ(t,e={}){let n,r;return i=>{const o=ce(t),s=ce(e.maxWait);if(n&&clearTimeout(n),o<=0||s!==void 0&&s<=0)return r&&(clearTimeout(r),r=null),i();s&&!r&&(r=setTimeout(()=>{n&&clearTimeout(n),r=null,i()},s)),n=setTimeout(()=>{r&&clearTimeout(r),r=null,i()},o)}}function ZZ(t,e=!0,n=!0){let r=0,a,i=!n;const o=()=>{a&&(clearTimeout(a),a=void 0)};return l=>{const u=ce(t),c=Date.now()-r;if(o(),u<=0)return r=Date.now(),l();c>u&&(r=Date.now(),i?i=!1:l()),e&&(a=setTimeout(()=>{r=Date.now(),n||(i=!0),o(),l()},u)),!n&&!a&&(a=setTimeout(()=>i=!0,u))}}function Yo(t,e=200,n=!0,r=!0){return $P(ZZ(e,n,r),t)}var xw=Object.getOwnPropertySymbols,QZ=Object.prototype.hasOwnProperty,eQ=Object.prototype.propertyIsEnumerable,tQ=(t,e)=>{var n={};for(var r in t)QZ.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&xw)for(var r of xw(t))e.indexOf(r)<0&&eQ.call(t,r)&&(n[r]=t[r]);return n};function nQ(t,e,n={}){const r=n,{eventFilter:a=JZ}=r,i=tQ(r,["eventFilter"]);return me(t,$P(a,e),i)}var rQ=Object.defineProperty,aQ=Object.defineProperties,iQ=Object.getOwnPropertyDescriptors,ju=Object.getOwnPropertySymbols,FP=Object.prototype.hasOwnProperty,RP=Object.prototype.propertyIsEnumerable,Ow=(t,e,n)=>e in t?rQ(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,oQ=(t,e)=>{for(var n in e||(e={}))FP.call(e,n)&&Ow(t,n,e[n]);if(ju)for(var n of ju(e))RP.call(e,n)&&Ow(t,n,e[n]);return t},sQ=(t,e)=>aQ(t,iQ(e)),lQ=(t,e)=>{var n={};for(var r in t)FP.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&ju)for(var r of ju(t))e.indexOf(r)<0&&RP.call(t,r)&&(n[r]=t[r]);return n};function DP(t,e,n={}){const r=n,{debounce:a=0}=r,i=lQ(r,["debounce"]);return nQ(t,e,sQ(oQ({},i),{eventFilter:XZ(a)}))}function uQ(t){var e;const n=ce(t);return(e=n==null?void 0:n.$el)!=null?e:n}const cQ=NP?window:void 0,Tw=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Pw="__vueuse_ssr_handlers__";Tw[Pw]=Tw[Pw]||{};var Ew=Object.getOwnPropertySymbols,fQ=Object.prototype.hasOwnProperty,dQ=Object.prototype.propertyIsEnumerable,vQ=(t,e)=>{var n={};for(var r in t)fQ.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&Ew)for(var r of Ew(t))e.indexOf(r)<0&&dQ.call(t,r)&&(n[r]=t[r]);return n};function pQ(t,e,n={}){const r=n,{window:a=cQ}=r,i=vQ(r,["window"]);let o;const s=a&&"ResizeObserver"in a,l=()=>{o&&(o.disconnect(),o=void 0)},u=me(()=>uQ(t),f=>{l(),s&&a&&f&&(o=new ResizeObserver(e),o.observe(f,i))},{immediate:!0,flush:"post"}),c=()=>{l(),u()};return YZ(c),{isSupported:s,stop:c}}var kw,Aw;NP&&(window!=null&&window.navigator)&&((kw=window==null?void 0:window.navigator)!=null&&kw.platform)&&/iP(ad|hone|od)/.test((Aw=window==null?void 0:window.navigator)==null?void 0:Aw.platform);var mg={exports:{}};(function(t){var e=function(){this.Diff_Timeout=1,this.Diff_EditCost=4,this.Match_Threshold=.5,this.Match_Distance=1e3,this.Patch_DeleteThreshold=.5,this.Patch_Margin=4,this.Match_MaxBits=32},n=-1,r=1,a=0;e.Diff=function(i,o){return[i,o]},e.prototype.diff_main=function(i,o,s,l){typeof l>"u"&&(this.Diff_Timeout<=0?l=Number.MAX_VALUE:l=new Date().getTime()+1e3*this.Diff_Timeout);var u=l;if(i==null||o==null)throw new Error("Null input. (diff_main)");if(i==o)return i?[new e.Diff(a,i)]:[];typeof s>"u"&&(s=!0);var c=s,f=this.diff_commonPrefix(i,o),p=i.substring(0,f);i=i.substring(f),o=o.substring(f),f=this.diff_commonSuffix(i,o);var g=i.substring(i.length-f);i=i.substring(0,i.length-f),o=o.substring(0,o.length-f);var d=this.diff_compute_(i,o,c,u);return p&&d.unshift(new e.Diff(a,p)),g&&d.push(new e.Diff(a,g)),this.diff_cleanupMerge(d),d},e.prototype.diff_compute_=function(i,o,s,l){var u;if(!i)return[new e.Diff(r,o)];if(!o)return[new e.Diff(n,i)];var c=i.length>o.length?i:o,f=i.length>o.length?o:i,p=c.indexOf(f);if(p!=-1)return u=[new e.Diff(r,c.substring(0,p)),new e.Diff(a,f),new e.Diff(r,c.substring(p+f.length))],i.length>o.length&&(u[0][0]=u[2][0]=n),u;if(f.length==1)return[new e.Diff(n,i),new e.Diff(r,o)];var g=this.diff_halfMatch_(i,o);if(g){var d=g[0],v=g[1],m=g[2],h=g[3],y=g[4],w=this.diff_main(d,m,s,l),b=this.diff_main(v,h,s,l);return w.concat([new e.Diff(a,y)],b)}return s&&i.length>100&&o.length>100?this.diff_lineMode_(i,o,l):this.diff_bisect_(i,o,l)},e.prototype.diff_lineMode_=function(i,o,s){var l=this.diff_linesToChars_(i,o);i=l.chars1,o=l.chars2;var u=l.lineArray,c=this.diff_main(i,o,!1,s);this.diff_charsToLines_(c,u),this.diff_cleanupSemantic(c),c.push(new e.Diff(a,""));for(var f=0,p=0,g=0,d="",v="";f=1&&g>=1){c.splice(f-p-g,p+g),f=f-p-g;for(var m=this.diff_main(d,v,!1,s),h=m.length-1;h>=0;h--)c.splice(f,0,m[h]);f+=m.length}g=0,p=0,d="",v="";break}f++}return c.pop(),c},e.prototype.diff_bisect_=function(i,o,s){for(var l=i.length,u=o.length,c=Math.ceil((l+u)/2),f=c,p=2*c,g=new Array(p),d=new Array(p),v=0;vs);_++){for(var x=-_+y;x<=_-w;x+=2){var T=f+x,O;x==-_||x!=_&&g[T-1]l)w+=2;else if(N>u)y+=2;else if(h){var D=f+m-x;if(D>=0&&D=F)return this.diff_bisectSplit_(i,o,O,N,s)}}}for(var R=-_+b;R<=_-C;R+=2){var D=f+R,F;R==-_||R!=_&&d[D-1]l)C+=2;else if(j>u)b+=2;else if(!h){var T=f+m-R;if(T>=0&&T=F)return this.diff_bisectSplit_(i,o,O,N,s)}}}}return[new e.Diff(n,i),new e.Diff(r,o)]},e.prototype.diff_bisectSplit_=function(i,o,s,l,u){var c=i.substring(0,s),f=o.substring(0,l),p=i.substring(s),g=o.substring(l),d=this.diff_main(c,f,!1,u),v=this.diff_main(p,g,!1,u);return d.concat(v)},e.prototype.diff_linesToChars_=function(i,o){var s=[],l={};s[0]="";function u(g){for(var d="",v=0,m=-1,h=s.length;m{var s;return(s=e==null?void 0:e.lImg)==null?void 0:s.fullpath},async s=>{s&&(n.tasks.forEach(l=>l.cancel()),n.pushAction(()=>Pv(s)).res.then(l=>{a.value=o(l)}),n.pushAction(()=>Pv(e.rImg.fullpath)).res.then(l=>{i.value=o(l)}))},{immediate:!0}),(s,l)=>{const u=Ks("VueDiff");return xe(),gt(u,{class:"diff",mode:"split",theme:ce(r).computedTheme,language:"plaintext",prev:a.value,current:i.value},null,8,["theme","prev","current"])}}});const yX={key:0,class:"hint"},bX={class:"hint-inline"},wX=de({__name:"ImgSliComparePane",props:{left:{},right:{},container:{}},setup(t,{expose:e}){const n=t,r=z(50),a=([{size:c}])=>{r.value=c},i=z(),{width:o}=nq(i);e({requestFullScreen:()=>{var c;(c=i.value)==null||c.requestFullscreen()}});const l=xv(async()=>{if(!n.left||!n.right)return{width:0,height:0};const[c,f]=await Promise.all([Tv(Zr(n.left)),Tv(Zr(n.right))]);return{width:Math.max(c.width,f.width),height:Math.max(f.height,c.height)}}),u=xv(async()=>{const c=l.value;if(!c)return"width";const{height:f,width:p}=c,g=p/f,d=document.body.clientWidth/document.body.clientHeight;return g>d?"width":"height"});return(c,f)=>(xe(),ke(Ie,null,[Se("div",{ref_key:"wrapperEl",ref:i,style:{height:"100%"}},[S(ce(SP),{class:"default-theme",onResize:a},{default:Be(()=>[c.left?(xe(),gt(ce(Av),{key:0},{default:Be(()=>[S(mw,{side:"left","max-edge":ce(u),"container-width":ce(o),percent:r.value,img:c.left},null,8,["max-edge","container-width","percent","img"])]),_:1})):tt("",!0),c.right?(xe(),gt(ce(Av),{key:1},{default:Be(()=>[S(mw,{"max-edge":ce(u),percent:r.value,img:c.right,side:"right","container-width":ce(o)},null,8,["max-edge","percent","img","container-width"])]),_:1})):tt("",!0)]),_:1})],512),c.container!=="drawer"?(xe(),ke("div",yX,[Se("div",bX,[S(ce(Jq)),vt(" "+Ae(c.$t("scrollDownToComparePrompt")),1)])])):tt("",!0),S(mX,{lImg:c.left,rImg:c.right},null,8,["lImg","rImg"])],64))}});const CX={class:"actions"},SX=de({__name:"ImgSliDrawer",setup(t){const e=_P(),n=z();return(r,a)=>{const i=Gt,o=j4,s=yB;return xe(),ke(Ie,null,[S(s,{width:"100vw",visible:ce(e).drawerVisible,"onUpdate:visible":a[2]||(a[2]=l=>ce(e).drawerVisible=l),"destroy-on-close":"",class:"img-sli","close-icon":null},{footer:Be(()=>[Se("div",CX,[S(i,{onClick:a[0]||(a[0]=l=>ce(e).drawerVisible=!1)},{default:Be(()=>[vt(Ae(r.$t("close")),1)]),_:1}),S(i,{onClick:a[1]||(a[1]=l=>{var u;return(u=n.value)==null?void 0:u.requestFullScreen()})},{default:Be(()=>[vt(Ae(r.$t("fullscreenview")),1)]),_:1}),S(o,{banner:"",style:{height:"32px"},message:"👇 "+r.$t("scrollDownToComparePrompt"),type:"info","show-icon":""},null,8,["message"])])]),default:Be(()=>[ce(e).left&&ce(e).right?(xe(),gt(wX,{key:0,ref_key:"splitpane",ref:n,container:"drawer",left:ce(e).left,right:ce(e).right},null,8,["left","right"])):tt("",!0)]),_:1},8,["visible"]),S(qY),S(vX)],64)}}});const _X=ia(SX,[["__scopeId","data-v-d6c97117"]]),xX=de({__name:"SplitViewTab",setup(t){const e=cn(),n={local:zn(()=>wn(()=>import("./stackView-e80f96dd.js"),["assets/stackView-e80f96dd.js","assets/shortcut-869fab50.js","assets/shortcut-2acaf603.css","assets/index-29e38a15.js","assets/index-80432a0c.css","assets/index-0d856f16.js","assets/_isIterateeCall-dd643bcf.js","assets/FileItem-72718f68.js","assets/FileItem-b2f0fcbe.css","assets/MultiSelectKeep-a11efe88.js","assets/MultiSelectKeep-5059400f.css","assets/index-3603af3c.css","assets/stackView-714f932f.css","assets/index-23c8b8a7.css"])),empty:zn(()=>wn(()=>import("./emptyStartup-3c6ca91e.js"),["assets/emptyStartup-3c6ca91e.js","assets/index-29e38a15.js","assets/index-80432a0c.css","assets/emptyStartup-2ab553ed.css"])),"global-setting":zn(()=>wn(()=>import("./globalSetting-85de293a.js"),["assets/globalSetting-85de293a.js","assets/shortcut-869fab50.js","assets/shortcut-2acaf603.css","assets/globalSetting-e0e78319.css","assets/index-23c8b8a7.css","assets/index-3603af3c.css"])),"tag-search-matched-image-grid":zn(()=>wn(()=>import("./MatchedImageGrid-ece0b4a5.js"),["assets/MatchedImageGrid-ece0b4a5.js","assets/MultiSelectKeep-a11efe88.js","assets/index-29e38a15.js","assets/index-80432a0c.css","assets/FileItem-72718f68.js","assets/FileItem-b2f0fcbe.css","assets/index-0d856f16.js","assets/shortcut-869fab50.js","assets/shortcut-2acaf603.css","assets/_isIterateeCall-dd643bcf.js","assets/MultiSelectKeep-5059400f.css","assets/index-3603af3c.css","assets/hook-ed129d88.js","assets/MatchedImageGrid-c716d973.css"])),"topic-search-matched-image-grid":zn(()=>wn(()=>import("./MatchedImageGrid-d03e7cb5.js"),["assets/MatchedImageGrid-d03e7cb5.js","assets/MultiSelectKeep-a11efe88.js","assets/index-29e38a15.js","assets/index-80432a0c.css","assets/FileItem-72718f68.js","assets/FileItem-b2f0fcbe.css","assets/index-0d856f16.js","assets/shortcut-869fab50.js","assets/shortcut-2acaf603.css","assets/_isIterateeCall-dd643bcf.js","assets/MultiSelectKeep-5059400f.css","assets/index-3603af3c.css","assets/hook-ed129d88.js","assets/MatchedImageGrid-e9e22234.css"])),"tag-search":zn(()=>wn(()=>import("./TagSearch-cc17ff40.js"),["assets/TagSearch-cc17ff40.js","assets/TipsCarousel-ef6a594c.js","assets/TipsCarousel-23a4bc9c.css","assets/_isIterateeCall-dd643bcf.js","assets/TagSearch-936bbb36.css","assets/index-23c8b8a7.css","assets/index-3603af3c.css"])),"fuzzy-search":zn(()=>wn(()=>import("./SubstrSearch-7b723b85.js"),["assets/SubstrSearch-7b723b85.js","assets/FileItem-72718f68.js","assets/index-29e38a15.js","assets/index-80432a0c.css","assets/FileItem-b2f0fcbe.css","assets/MultiSelectKeep-a11efe88.js","assets/index-0d856f16.js","assets/shortcut-869fab50.js","assets/shortcut-2acaf603.css","assets/_isIterateeCall-dd643bcf.js","assets/MultiSelectKeep-5059400f.css","assets/index-3603af3c.css","assets/hook-ed129d88.js","assets/TipsCarousel-ef6a594c.js","assets/TipsCarousel-23a4bc9c.css","assets/SubstrSearch-7eea79b7.css","assets/index-23c8b8a7.css"])),"topic-search":zn(()=>wn(()=>import("./TopicSearch-3f42ac1b.js"),["assets/TopicSearch-3f42ac1b.js","assets/TopicSearch-43737bca.css","assets/index-23c8b8a7.css","assets/index-3603af3c.css"])),"img-sli":zn(()=>wn(()=>import("./ImgSliPagePane-df5d7e31.js"),["assets/ImgSliPagePane-df5d7e31.js","assets/ImgSliPagePane-868b21f8.css"])),"batch-download":zn(()=>wn(()=>import("./batchDownload-4953de76.js"),["assets/batchDownload-4953de76.js","assets/FileItem-72718f68.js","assets/index-29e38a15.js","assets/index-80432a0c.css","assets/FileItem-b2f0fcbe.css","assets/index-0d856f16.js","assets/shortcut-869fab50.js","assets/shortcut-2acaf603.css","assets/_isIterateeCall-dd643bcf.js","assets/batchDownload-57f1d54b.css"])),"grid-view":zn(()=>wn(()=>import("./gridView-ecfae338.js"),["assets/gridView-ecfae338.js","assets/FileItem-72718f68.js","assets/index-29e38a15.js","assets/index-80432a0c.css","assets/FileItem-b2f0fcbe.css","assets/index-0d856f16.js","assets/shortcut-869fab50.js","assets/shortcut-2acaf603.css","assets/_isIterateeCall-dd643bcf.js","assets/gridView-eef9ac55.css"])),"workspace-snapshot":zn(()=>wn(()=>import("./index-f0058dfb.js"),["assets/index-f0058dfb.js","assets/index-bd568ec0.css"])),"random-image":zn(()=>wn(()=>import("./randomImage-4f4bfa2d.js"),["assets/randomImage-4f4bfa2d.js","assets/FileItem-72718f68.js","assets/index-29e38a15.js","assets/index-80432a0c.css","assets/FileItem-b2f0fcbe.css","assets/index-0d856f16.js","assets/shortcut-869fab50.js","assets/shortcut-2acaf603.css","assets/_isIterateeCall-dd643bcf.js","assets/MultiSelectKeep-a11efe88.js","assets/MultiSelectKeep-5059400f.css","assets/index-3603af3c.css","assets/randomImage-4d1c5076.css"]))},r=(o,s,l)=>{var c,f;const u=e.tabList[o];if(l==="add"){const p={type:"empty",key:Rn(),name:ve("emptyStartPage")};u.panes.push(p),u.key=p.key}else{const p=u.panes.findIndex(g=>g.key===s);if(u.key===s&&(u.key=((c=u.panes[p-1])==null?void 0:c.key)??((f=u.panes[1])==null?void 0:f.key)),u.panes.splice(p,1),u.panes.length===0&&e.tabList.splice(o,1),e.tabList.length===0){const g=e.createEmptyPane();e.tabList.push({panes:[g],key:g.key,id:Rn()})}}};Ov("closeTabPane",(o,s)=>r(o,s,"del"));const a=z();me(()=>e.tabList,async()=>{var o;await qe(),e.saveRecord(),Array.from(((o=a.value)==null?void 0:o.querySelectorAll(".splitpanes__pane"))??[]).forEach((s,l)=>{Array.from(s.querySelectorAll(".ant-tabs-tab")??[]).forEach((u,c)=>{const f=u;f.setAttribute("draggable","true"),f.setAttribute("tabIdx",l.toString()),f.setAttribute("paneIdx",c.toString()),f.ondragend=()=>{e.dragingTab=void 0},f.ondragstart=p=>{e.dragingTab={tabIdx:l,paneIdx:c},p.dataTransfer.setData("text/plain",JSON.stringify({tabIdx:l,paneIdx:c,from:"tab-drag"}))}})})},{immediate:!0,deep:!0});const i=ri(()=>lo.emit("returnToIIB"),100);return SG(async()=>{const o=window.parent;if(!await fq(()=>o==null?void 0:o.onUiTabChange,200,3e4)){console.log("watch tab change failed");return}o.onUiTabChange(()=>{const s=o.get_uiCurrentTabContent();s!=null&&s.id.includes("infinite-image-browsing")&&i()})}),me(XG(),o=>o&&i()),(o,s)=>{const l=Au,u=ns;return xe(),ke("div",{ref_key:"container",ref:a},[S(ce(SP),{class:"default-theme"},{default:Be(()=>[(xe(!0),ke(Ie,null,Ir(ce(e).tabList,(c,f)=>(xe(),gt(ce(Av),{key:c.id},{default:Be(()=>[S(Vq,{tabIdx:f},{default:Be(()=>[S(u,{type:"editable-card",activeKey:c.key,"onUpdate:activeKey":p=>c.key=p,onEdit:(p,g)=>r(f,p,g)},{default:Be(()=>[(xe(!0),ke(Ie,null,Ir(c.panes,(p,g)=>(xe(),gt(l,{key:p.key,tab:p.name,class:"pane"},{default:Be(()=>[(xe(),gt(Ek(n[p.type]),rp({tabIdx:f,paneKey:p.key,paneIdx:g},p),null,16,["tabIdx","paneKey","paneIdx"]))]),_:2},1032,["tab"]))),128))]),_:2},1032,["activeKey","onUpdate:activeKey","onEdit"])]),_:2},1032,["tabIdx"])]),_:2},1024))),128))]),_:1}),S(_X)],512)}}});const OX=ia(xX,[["__scopeId","data-v-76f3eb81"]]);const PP=t=>(fo("data-v-0a74f0db"),t=t(),vo(),t),TX={class:"organize-jobs-wrapper"},PX=PP(()=>Se("span",{class:"fab-icon"},"📁",-1)),EX={key:1,class:"organize-jobs-panel"},kX={class:"panel-header"},AX={class:"panel-title"},IX={class:"panel-header-right"},MX={class:"job-header"},NX=PP(()=>Se("span",{class:"job-icon"},"📁",-1)),$X={class:"job-folders"},FX={class:"job-progress"},RX={class:"stage-label"},DX={class:"preview-ready-hint"},LX={class:"stage-label"},zX={key:0,class:"current-file"},BX={class:"result-summary success"},jX={class:"result-summary error"},VX=de({__name:"OrganizeJobsPanel",emits:["open-preview"],setup(t,{emit:e}){const n=cn(),r=p=>!p||p.length===0?"":p.length===1?p[0].split(/[/\\]/).pop()||p[0]:`${p.length} ${ve("folders")}`,a=p=>({queued:"default",running:"processing",preview_ready:"warning",moving:"processing",done:"success",error:"error"})[p]||"default",i=p=>({queued:ve("queued"),running:ve("analyzing"),preview_ready:ve("waitingConfirm"),moving:ve("moving"),done:ve("completed"),error:ve("error")})[p]||p,o=p=>p?{embedding:ve("generatingEmbeddings"),clustering:ve("clusteringAnalysis"),titling:ve("generatingTitles"),preview_ready:ve("previewReady"),moving:ve("movingFiles"),done:ve("completed")}[p]||p:"",s=p=>{var g;return["queued","running"].includes(p.status)&&["embedding","clustering","titling"].includes(((g=p.progress)==null?void 0:g.stage)||"")},l=p=>{if(!p)return 0;const{stage:g,embedded_done:d,to_embed:v,clusters_done:m,clusters_total:h}=p;return g==="embedding"&&v>0?Math.round(d/v*40):g==="clustering"?50:g==="titling"&&h>0?60+Math.round(m/h*40):0},u=p=>{if(!p)return 0;const{moved_done:g,moved_total:d}=p;return d>0?Math.round(g/d*100):0},c=p=>{const g=JSON.parse(JSON.stringify(p));console.log("openPreview called","job_id:",g.job_id,"status:",g.status,"preview:",g.preview?`has preview (${g.preview.total_files} files)`:"no preview"),e("open-preview",g)},f=p=>{n.removeOrganizeJob(p)};return(p,g)=>{const d=Yl,v=Gt,m=tO,h=X7;return xe(),ke("div",TX,[ce(n).activeOrganizeJobs.length&&!ce(n).showOrganizePanel?(xe(),ke("div",{key:0,class:"organize-jobs-fab",onClick:g[0]||(g[0]=y=>ce(n).showOrganizePanel=!0)},[PX,S(d,{count:ce(n).activeOrganizeJobs.length,offset:[-2,2]},null,8,["count"])])):tt("",!0),ce(n).activeOrganizeJobs.length&&ce(n).showOrganizePanel?(xe(),ke("div",EX,[Se("div",kX,[Se("span",AX,Ae(ce(ve)("organizeJobs")),1),Se("div",IX,[S(d,{count:ce(n).activeOrganizeJobs.length},null,8,["count"]),S(v,{type:"text",size:"small",class:"close-btn",onClick:g[1]||(g[1]=y=>ce(n).showOrganizePanel=!1)},{default:Be(()=>[vt("✕")]),_:1})])]),(xe(!0),ke(Ie,null,Ir(ce(n).activeOrganizeJobs,y=>{var w,b,C,_,x,T,O,N;return xe(),ke("div",{key:y.job_id,class:"job-item"},[Se("div",MX,[NX,Se("span",$X,Ae(r(y.folder_paths)),1),S(m,{color:a(y.status)},{default:Be(()=>[vt(Ae(i(y.status)),1)]),_:2},1032,["color"])]),Se("div",FX,[s(y)?(xe(),ke(Ie,{key:0},[Se("div",RX,Ae(o((w=y.progress)==null?void 0:w.stage)),1),S(h,{percent:l(y.progress),status:y.status==="error"?"exception":"active",size:"small"},null,8,["percent","status"])],64)):tt("",!0),y.status==="preview_ready"?(xe(),ke(Ie,{key:1},[Se("div",DX,Ae(ce(ve)("organizePreviewReady",{files:((b=y.preview)==null?void 0:b.total_files)??0,clusters:((_=(C=y.preview)==null?void 0:C.clusters)==null?void 0:_.length)??0})),1),S(v,{type:"primary",size:"small",onClick:D=>c(y)},{default:Be(()=>[vt(Ae(ce(ve)("viewPreview")),1)]),_:2},1032,["onClick"])],64)):tt("",!0),((x=y.progress)==null?void 0:x.stage)==="moving"?(xe(),ke(Ie,{key:2},[Se("div",LX,Ae(ce(ve)("movingFiles")),1),S(h,{percent:u(y.progress),size:"small",status:"active"},null,8,["percent"]),y.progress.current_file?(xe(),ke("div",zX,Ae(y.progress.current_file),1)):tt("",!0)],64)):tt("",!0),y.status==="done"?(xe(),ke(Ie,{key:3},[Se("div",BX,Ae(ce(ve)("organizeComplete",{moved:((T=y.progress)==null?void 0:T.moved_done)??0,folders:((N=(O=y.progress)==null?void 0:O.created_folders)==null?void 0:N.length)??0})),1),S(v,{size:"small",onClick:D=>f(y.job_id)},{default:Be(()=>[vt(Ae(ce(ve)("close")),1)]),_:2},1032,["onClick"])],64)):tt("",!0),y.status==="error"?(xe(),ke(Ie,{key:4},[Se("div",jX,Ae(ce(ve)("organizeFailed")),1),S(v,{size:"small",onClick:D=>f(y.job_id)},{default:Be(()=>[vt(Ae(ce(ve)("close")),1)]),_:2},1032,["onClick"])],64)):tt("",!0)])])}),128))])):tt("",!0)])}}});const WX=ia(VX,[["__scopeId","data-v-0a74f0db"]]);const HX=async t=>(await ze.value.post("/db/organize_files_start",t)).data,EP=async t=>(await ze.value.get("/db/organize_files_status",{params:{job_id:t}})).data,UX=async t=>(await ze.value.post("/db/organize_files_confirm",t)).data,kP=t=>(fo("data-v-b7f18d8d"),t=t(),vo(),t),KX={class:"organize-preview"},GX=["src"],qX={class:"preview-header"},YX={class:"summary"},JX={class:"dest-folder"},XX={class:"cluster-header"},ZX=kP(()=>Se("span",{class:"folder-icon"},"📁",-1)),QX={key:0,class:"folder-name"},eZ={class:"file-count"},tZ={class:"file-mappings"},nZ=["onMouseenter"],rZ=kP(()=>Se("span",{class:"arrow"},"→",-1)),aZ=["title"],iZ=["onClick"],oZ={class:"preview-actions"},sZ={class:"action-summary"},lZ={key:0},uZ=de({__name:"OrganizePreview",props:{preview:{}},emits:["cancel","confirmed"],setup(t,{emit:e}){const n=t,r=z([]),a=lt(new Set),i=lt(new Map),o=lt(new Set),s=z(null),l=z(""),u=z(!1),c=z(""),f=lt({x:0,y:0});let p=null;const g=B(()=>{const F=[...n.preview.clusters];return n.preview.noise.size>0&&F.push(n.preview.noise),F}),d=F=>i.get(F.cluster_id)||F.suggested_folder_name,v=F=>F.split(/[/\\]/).pop()||F,m=F=>`${pi.value}/image-thumbnail?path=${encodeURIComponent(F)}&t=${Date.now()}&size=512x512`,h=(F,R)=>{var k;const j=((k=R.split(".").pop())==null?void 0:k.toLowerCase())||"";["jpg","jpeg","png","gif","webp","bmp","ico","svg"].includes(j)&&(p&&clearTimeout(p),p=setTimeout(()=>{c.value=m(R),w(F)},300))},y=()=>{p&&(clearTimeout(p),p=null),c.value=""},w=F=>{f.x=F.clientX+20,f.y=F.clientY-100,f.y<10&&(f.y=10)},b=F=>o.has(F.cluster_id)?F.file_mappings:F.file_mappings.slice(0,10),C=B(()=>g.value.filter(F=>!a.has(F.cluster_id)).reduce((F,R)=>F+R.file_mappings.filter(j=>j.dest_path!==j.src_path).length,0)),_=B(()=>g.value.filter(F=>a.has(F.cluster_id)).reduce((F,R)=>F+R.size,0)),x=F=>{s.value=F.cluster_id,l.value=d(F)},T=()=>{s.value&&l.value.trim()&&i.set(s.value,l.value.trim()),s.value=null,l.value=""},O=F=>{a.has(F)?a.delete(F):a.add(F)},N=()=>{e("cancel")},D=async()=>{u.value=!0;try{const F=[];i.forEach((R,j)=>{F.push({cluster_id:j,new_folder_name:R})}),await UX({job_id:n.preview.job_id,folder_edits:F.length>0?F:void 0,skip_cluster_ids:a.size>0?Array.from(a):void 0}),At.success(ve("startMovingFiles")),e("confirmed")}catch(F){At.error(`${ve("confirmFailed")}: ${F.message||F}`)}finally{u.value=!1}};return(F,R)=>{const j=Ft,L=tO,k=Gt,P=u9,I=Iu,$=rs;return xe(),ke("div",KX,[c.value?(xe(),ke("div",{key:0,class:"image-preview-tooltip",style:Fn({top:f.y+"px",left:f.x+"px"})},[Se("img",{src:c.value,onError:R[0]||(R[0]=W=>c.value="")},null,40,GX)],4)):tt("",!0),Se("div",qX,[Se("h3",null,Ae(ce(ve)("smartOrganizePreview")),1),Se("div",YX,Ae(ce(ve)("organizePreviewSummary",{files:F.preview.total_files,folders:F.preview.clusters.length+(F.preview.noise.size>0?1:0)})),1),Se("div",JX,[vt(Ae(ce(ve)("destFolder"))+": ",1),Se("code",null,Ae(F.preview.dest_folder),1)])]),S($,{activeKey:r.value,"onUpdate:activeKey":R[5]||(R[5]=W=>r.value=W),class:"cluster-list"},{default:Be(()=>[(xe(!0),ke(Ie,null,Ir(g.value,W=>(xe(),gt(I,{key:W.cluster_id,class:on({skipped:a.has(W.cluster_id)})},{header:Be(()=>[Se("div",XX,[ZX,s.value!==W.cluster_id?(xe(),ke("span",QX,Ae(d(W)),1)):(xe(),gt(j,{key:1,value:l.value,"onUpdate:value":R[1]||(R[1]=G=>l.value=G),size:"small",style:{width:"200px"},onPressEnter:T,onBlur:T,onClick:R[2]||(R[2]=sn(()=>{},["stop"]))},null,8,["value"])),Se("span",eZ,"("+Ae(W.size)+" "+Ae(ce(ve)("files"))+")",1),W.cluster_id==="__noise__"?(xe(),gt(L,{key:2,color:"orange"},{default:Be(()=>[vt(Ae(ce(ve)("unsorted")),1)]),_:1})):tt("",!0)])]),extra:Be(()=>[S(P,{onClick:R[3]||(R[3]=sn(()=>{},["stop"]))},{default:Be(()=>[S(k,{size:"small",onClick:G=>x(W)},{default:Be(()=>[vt(Ae(ce(ve)("rename")),1)]),_:2},1032,["onClick"]),S(k,{size:"small",type:a.has(W.cluster_id)?"primary":"default",onClick:G=>O(W.cluster_id)},{default:Be(()=>[vt(Ae(a.has(W.cluster_id)?ce(ve)("cancelSkip"):ce(ve)("skip")),1)]),_:2},1032,["type","onClick"])]),_:2},1024)]),default:Be(()=>[Se("div",tZ,[(xe(!0),ke(Ie,null,Ir(b(W),G=>(xe(),ke("div",{key:G.src_path,class:"file-mapping"},[Se("span",{class:"src-path",onMouseenter:q=>h(q,G.src_path),onMouseleave:y,onMousemove:R[4]||(R[4]=q=>w(q))},Ae(v(G.src_path)),41,nZ),rZ,Se("span",{class:"dest-path",title:G.dest_path},Ae(d(W))+"/"+Ae(v(G.src_path)),9,aZ)]))),128)),W.file_mappings.length>10&&!o.has(W.cluster_id)?(xe(),ke("div",{key:0,class:"show-more",onClick:G=>o.add(W.cluster_id)},Ae(ce(ve)("showMore",{count:W.file_mappings.length-10})),9,iZ)):tt("",!0)])]),_:2},1032,["class"]))),128))]),_:1},8,["activeKey"]),Se("div",oZ,[Se("div",sZ,[vt(Ae(ce(ve)("willMove",{count:C.value}))+" ",1),a.size?(xe(),ke("span",lZ,"("+Ae(ce(ve)("skipped",{count:_.value}))+")",1)):tt("",!0)]),S(P,null,{default:Be(()=>[S(k,{onClick:N},{default:Be(()=>[vt(Ae(ce(ve)("cancel")),1)]),_:1}),S(k,{type:"primary",loading:u.value,onClick:D},{default:Be(()=>[vt(Ae(ce(ve)("confirmOrganize")),1)]),_:1},8,["loading"])]),_:1})])])}}});const cZ=ia(uZ,[["__scopeId","data-v-b7f18d8d"]]);function Rne(t){const e=cn();e.smartOrganizeConfigPath=t,e.showSmartOrganizeConfig=!0}async function fZ(t,e){const n=cn();try{const r={folder_paths:t,lang:n.lang,dest_folder:e.destFolder||void 0,min_cluster_size:e.minClusterSize,action:e.action,recursive:e.recursive},{job_id:a}=await HX(r);return n.addOrganizeJob({job_id:a,status:"queued",progress:{stage:"embedding",embedded_done:0,to_embed:0,clusters_done:0,clusters_total:0,moved_done:0,moved_total:0,current_file:"",created_folders:[],errors:[]},startedAt:Date.now(),folder_paths:t}),At.success(ve("organizeJobStarted")),dZ(a,t),a}catch(r){throw At.error(`${ve("error")}: ${r.message||r}`),r}}async function dZ(t,e){const n=cn(),r=2e3,a=async()=>{var i,o;try{const s=await EP(t);console.log("Poll response:","status:",s.status,"stage:",(i=s.progress)==null?void 0:i.stage,"preview:",s.preview?`yes (${s.preview.total_files} files, ${(o=s.preview.clusters)==null?void 0:o.length} clusters)`:"no");const l={status:s.status,progress:s.progress};s.preview&&(l.preview=s.preview,console.log("Preview data received from API:",s.preview.total_files,"files")),n.updateOrganizeJob(t,l),["done","error","preview_ready"].includes(s.status)?(console.log("Poll stopped at status:",s.status),s.status==="error"?console.error("Organize job failed:",s.error):s.status==="preview_ready"?console.log("Preview ready - user can now view and confirm"):s.status==="done"&&(console.log("Organize done, emitting refresh event"),lo.emit("refreshFileView",{paths:e}))):setTimeout(a,r)}catch(s){console.error("Poll organize status error:",s),setTimeout(a,r*2)}};a()}const AP=t=>(fo("data-v-5d792d0e"),t=t(),vo(),t),vZ={class:"info-panel"},pZ={class:"info-row"},hZ={class:"info-label"},gZ={class:"info-path"},mZ={class:"info-tips"},yZ=AP(()=>Se("span",{class:"separator"},"|",-1)),bZ=AP(()=>Se("span",{class:"separator"},"|",-1)),wZ={class:"form-item-hint"},CZ={class:"form-item-hint"},SZ={class:"form-item-hint"},_Z={key:0,class:"loading-status"},xZ={style:{"margin-left":"8px"}},OZ=de({__name:"SmartOrganizeConfigModal",setup(t){const e=cn(),n=z(!1),r=z(""),a=lt({destFolder:"",recursive:!1,minClusterSize:3,action:"move"});me(()=>e.showSmartOrganizeConfig,s=>{s&&(a.destFolder="",a.recursive=!1,a.minClusterSize=3,a.action="move",n.value=!1,r.value="")});const i=async()=>{const s=e.smartOrganizeConfigPath;try{n.value=!0,r.value=ve("updatingIndex"),await nJ({folder:s,recursive:a.recursive}),r.value=ve("startingOrganizeJob"),await fZ([s],{...a,destFolder:a.destFolder||s}),e.showSmartOrganizeConfig=!1}catch(l){console.error("Smart organize failed:",l)}finally{n.value=!1,r.value=""}},o=()=>{n.value||(e.showSmartOrganizeConfig=!1)};return(s,l)=>{const u=Ft,c=Xx,f=v9,p=Bj,g=Hn,d=hx,v=pa,m=Hi,h=Gt,y=xt;return xe(),gt(y,{visible:ce(e).showSmartOrganizeConfig,"onUpdate:visible":l[4]||(l[4]=w=>ce(e).showSmartOrganizeConfig=w),title:ce(ve)("smartOrganizeConfig"),width:"70vw",onOk:i,onCancel:o,confirmLoading:n.value},{footer:Be(()=>[S(h,{onClick:o,disabled:n.value},{default:Be(()=>[vt(Ae(ce(ve)("organizeCancel")),1)]),_:1},8,["disabled"]),S(h,{type:"primary",onClick:i,loading:n.value},{default:Be(()=>[vt(Ae(ce(ve)("organizeStartTask")),1)]),_:1},8,["loading"])]),default:Be(()=>[Se("div",vZ,[Se("div",pZ,[Se("span",hZ,Ae(ce(ve)("organizeSourceFolder"))+":",1),Se("code",gZ,Ae(ce(e).smartOrganizeConfigPath),1)]),Se("div",mZ,[Se("span",null,Ae(ce(ve)("smartOrganizeNotice")),1),yZ,Se("span",null,Ae(ce(ve)("topicSearchRequirementsOpenai")),1),bZ,Se("span",null,Ae(ce(ve)("topicSearchRequirementsDepsPython")),1)])]),S(v,{"label-col":{span:8},"wrapper-col":{span:16}},{default:Be(()=>[S(c,{label:ce(ve)("organizeTargetFolder")},{default:Be(()=>[S(u,{value:a.destFolder,"onUpdate:value":l[0]||(l[0]=w=>a.destFolder=w),placeholder:ce(e).smartOrganizeConfigPath,disabled:n.value},null,8,["value","placeholder","disabled"]),Se("div",wZ,Ae(ce(ve)("organizeTargetFolderDesc")),1)]),_:1},8,["label"]),S(c,{label:ce(ve)("organizeRecursive")},{default:Be(()=>[S(f,{checked:a.recursive,"onUpdate:checked":l[1]||(l[1]=w=>a.recursive=w),disabled:n.value},null,8,["checked","disabled"]),Se("div",CZ,Ae(ce(ve)("organizeRecursiveDesc")),1)]),_:1},8,["label"]),S(c,{label:ce(ve)("organizeMinClusterSize")},{default:Be(()=>[S(p,{value:a.minClusterSize,"onUpdate:value":l[2]||(l[2]=w=>a.minClusterSize=w),min:2,max:20,style:{width:"100px"},disabled:n.value},null,8,["value","disabled"]),Se("div",SZ,Ae(ce(ve)("organizeMinClusterSizeDesc")),1)]),_:1},8,["label"]),S(c,{label:ce(ve)("organizeAction")},{default:Be(()=>[S(d,{value:a.action,"onUpdate:value":l[3]||(l[3]=w=>a.action=w),disabled:n.value},{default:Be(()=>[S(g,{value:"move"},{default:Be(()=>[vt(Ae(ce(ve)("organizeActionMove")),1)]),_:1}),S(g,{value:"copy"},{default:Be(()=>[vt(Ae(ce(ve)("organizeActionCopy")),1)]),_:1})]),_:1},8,["value","disabled"])]),_:1},8,["label"])]),_:1}),n.value?(xe(),ke("div",_Z,[S(m,{size:"small"}),Se("span",xZ,Ae(r.value),1)])):tt("",!0)]),_:1},8,["visible","title","confirmLoading"])}}});const TZ=ia(OZ,[["__scopeId","data-v-5d792d0e"]]),PZ=(t,e)=>{const n={key:Rn(),name:e.name??""};switch(t){case"local":return{...n,type:t,path:e.path,mode:e.mode,stackKey:e.stackKey,targetFile:e.targetFile,openPreview:e.openPreview};case"tag-search":return{...n,type:t,searchScope:e.searchScope};case"fuzzy-search":return{...n,type:t,searchScope:e.searchScope,initialSubstr:e.substr,initialIsRegex:e.isRegex,initialPathOnly:e.pathOnly,initialMediaType:e.mediaType,autoSearch:e.autoSearch};case"tag-search-matched-image-grid":return{...n,type:t,selectedTagIds:e.selectedTagIds,id:e.id??Rn()};case"topic-search-matched-image-grid":return{...n,type:t,id:e.id??Rn(),title:e.title??"",paths:e.paths??[]};case"grid-view":return{...n,type:t,files:e.files??[],removable:e.removable,allowDragAndDrop:e.allowDragAndDrop};case"img-sli":return{...n,type:t,left:e.left,right:e.right};case"random-image":return{...n,type:t};case"topic-search":case"batch-download":case"workspace-snapshot":case"global-setting":return{...n,type:t};default:return null}},EZ=async t=>{var a;const e=(a=t.conf)==null?void 0:a.global_setting,n=new URLSearchParams(parent.location.search);switch(n.get("action")){case"view":{let i=n.get("path");if(!i){console.error("[IIB] view action requires path parameter");return}i=si(i);const o=yP(i),s=Nq(i),l=t.tabList[0],u={type:"local",path:o,key:Rn(),name:s,mode:"scanned-fixed",targetFile:i,openPreview:!0};l.panes.unshift(u),l.key=u.key,iu(),Gf(["action","path"]);break}case"open":{let i=n.get("path");if(!i||!e)return;const o={extra:e.outdir_extras_samples,save:e.outdir_save,txt2img:e.outdir_txt2img_samples,img2img:e.outdir_img2img_samples};o[i]&&(i=o[i]);const s=t.tabList[0],l=n.get("mode"),u={type:"local",path:i,key:Rn(),name:"",mode:["scanned","walk","scanned-fixed"].includes(l||"scanned")?l:"scanned"};s.panes.unshift(u),s.key=u.key,iu(),Gf(["action","path","mode"]);break}case"pane":{const i=n.get("type"),o=n.get("props");if(!i||!["local","tag-search","fuzzy-search","tag-search-matched-image-grid","topic-search-matched-image-grid","grid-view","img-sli","random-image","topic-search","batch-download","workspace-snapshot","global-setting","empty"].includes(i)){console.error("[IIB] Invalid or missing pane type:",i);return}let l={};try{o&&(l=JSON.parse(decodeURIComponent(o)))}catch(c){console.error("[IIB] Failed to parse pane props:",c);return}const u=PZ(i,l);if(u){const c=t.tabList[0];c.panes.unshift(u),c.key=u.key,iu()}Gf(["action","type","props"]);break}}};function yw(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!sr(t)}const IP="app.conf.json",vs=z(),MP=()=>zs.writeFile(IP,JSON.stringify(Ve(vs.value),null,4)),kZ=de({setup(){const t=async()=>{const e=await YT({directory:!0});if(typeof e=="string"){if(!await zs.exists(`${e}/config.json`))return At.error(ve("tauriLaunchConfMessages.configNotFound"));if(!await zs.exists(`${e}/extensions/sd-webui-infinite-image-browsing`))return At.error(ve("tauriLaunchConfMessages.folderNotFound"));vs.value.sdwebui_dir=e,At.info(ve("tauriLaunchConfMessages.configCompletedMessage")),await MP(),await Vc("shutdown_api_server_command"),await ai(1500),await KT()}};return()=>{let e,n;return S("div",{style:{padding:"32px 0"}},[S("div",{style:{padding:"16px 0"}},[S("h2",null,[ve("tauriLaunchConf.readSdWebuiConfigTitle")]),S("p",null,[ve("tauriLaunchConf.readSdWebuiConfigDescription")]),S(Gt,{onClick:t,type:"primary"},yw(e=ve("tauriLaunchConf.selectSdWebuiFolder"))?e:{default:()=>[e]})]),S("div",{style:{padding:"16px 0"}},[S("h2",null,[ve("tauriLaunchConf.skipThisConfigTitle")]),S("p",null,[ve("tauriLaunchConf.skipThisConfigDescription")]),S(Gt,{type:"primary",onClick:xt.destroyAll},yw(n=ve("tauriLaunchConf.skipButton"))?n:{default:()=>[n]})])])}}}),AZ=async()=>{try{vs.value=JSON.parse(await zs.readTextFile(IP))}catch{}vs.value||(vs.value={sdwebui_dir:""},await MP(),xt.info({title:ve("tauriLaunchConfMessages.firstTimeUserTitle"),content:S(kZ,null,null),width:"80vw",okText:ve("tauriLaunchConf.skipButton"),okButtonProps:{onClick:xt.destroyAll}}))},IZ=async t=>{var i;if(!((i=t.conf)!=null&&i.export_fe_fn))return;const e=Kc();a({insertTabPane:({tabIdx:o=0,paneIdx:s=0,pane:l})=>{const u=t.tabList[o];return l.key||(l.key=Rn()),u.panes.splice(s,0,l),u.key=l.key,{key:l.key,ref:r(l.key)}},getTabList:()=>t.tabList,getPageRef:r,switch2IIB:iu,openIIBInNewTab:()=>window.parent.open("/infinite_image_browsing"),setTagColor(o,s){e.colorCache.set(o,s)},setTags(o,s){e.set(o,s)},getTags(o){return e.tagMap.get(o)},createGridViewFile(o,s){return{name:o.split(/[/\\]/).pop()??"",size:"-",bytes:0,type:"file",created_time:"",date:"",fullpath:o,tags:s==null?void 0:s.map(l=>({name:l})),is_under_scanned_path:!0}}});function r(o){return new Proxy({},{get(s,l,u){var c;if(l==="close"){const f=t.tabList.findIndex(p=>p.panes.some(g=>g.key===o));return()=>lo.emit("closeTabPane",f,o)}return(c=t.pageFuncExportMap.get(o))==null?void 0:c[l]}})}function a(o){const s=window;for(const l in o)s[l]=(...u)=>o[l](...u)}},MZ={key:0,class:"moving-files-overlay"},NZ={class:"moving-files-content"},$Z={class:"moving-text"},FZ={class:"moving-progress"},RZ=de({__name:"App",setup(t){const e=cn(),n=Rq(),r=cP(),a=z(!1),i=z(null),o=z(!1),s=z({moved:0,total:0}),l=v=>{console.log("handleOpenOrganizePreview received:","job_id:",v.job_id,"status:",v.status,"preview:",v.preview?`yes (${v.preview.total_files} files)`:"no"),v.preview?(i.value=v.preview,a.value=!0,console.log("Modal opened with preview data")):console.warn("No preview data in job - job keys:",Object.keys(v))},u=async()=>{var y,w;a.value=!1;const v=(y=i.value)==null?void 0:y.job_id,m=((w=e.getOrganizeJob(v||""))==null?void 0:w.folder_paths)||[];if(i.value=null,!v)return;o.value=!0,s.value={moved:0,total:0};const h=async()=>{var b,C;try{const _=await EP(v);_.status==="moving"?(s.value={moved:((b=_.progress)==null?void 0:b.moved_done)||0,total:((C=_.progress)==null?void 0:C.moved_total)||0},setTimeout(h,500)):_.status==="done"?(o.value=!1,e.removeOrganizeJob(v),At.success(ve("organizeComplete")),lo.emit("refreshFileView",{paths:m})):_.status==="error"?(o.value=!1,At.error(`${ve("organizeFailed")}: ${_.error}`)):setTimeout(h,500)}catch(_){console.error("Poll moving status error:",_),setTimeout(h,1e3)}};h()},c=()=>{a.value=!1,i.value=null},f=CP.filter(v=>!["tabListHistoryRecord","recent"].includes(v));let p=null;const g=N1(async()=>{e.$subscribe(ri(async()=>{var m;if(((m=e.conf)==null?void 0:m.is_readonly)===!0)return;const v={};f.forEach(h=>{v[h]=rr(e[h])}),JSON.stringify(v)!==JSON.stringify(p)&&(console.log("save global setting",v),await dP("global",v),p=rr(v))},500))}),d=N1(async()=>{var m,h;await ai(100);const v=e.defaultInitinalPage;if(v!=="empty")if(v==="last-workspace-state"){const y=(m=e.tabListHistoryRecord)==null?void 0:m[1];if(!(y!=null&&y.tabs))return;e.tabList=rr(y.tabs),At.success(ve("restoreLastWorkspaceStateSuccess"))}else{const y=(h=v.split("_"))==null?void 0:h[2],w=n.snapshots.find(b=>b.id===y);if(!(w!=null&&w.tabs))return;e.tabList=rr(w.tabs),At.success(ve("restoreWorkspaceSnapshotSuccess"))}});return Ov("updateGlobalSetting",async()=>{var y,w;await hG(),console.log(Lu.value);const v=await mq();e.conf=v;const m=await nw(v);e.quickMovePaths=m.filter(b=>{var C,_;return(_=(C=b==null?void 0:b.dir)==null?void 0:C.trim)==null?void 0:_.call(C)});const h=(w=(y=e==null?void 0:e.conf)==null?void 0:y.app_fe_setting)==null?void 0:w.global;h&&(console.log("restoreFeGlobalSetting",h),p=rr(h),f.forEach(b=>{const C=h[b];C!==void 0&&(e[b]=C)})),g(),d(),IZ(e),EZ(e)}),Ov("returnToIIB",async()=>{const v=e.conf;if(!v)return;const m=v.global_setting;if(!m.outdir_txt2img_samples&&!m.outdir_img2img_samples)return;const h=new Set(e.quickMovePaths.map(w=>w.key));if(h.has("outdir_txt2img_samples")&&h.has("outdir_img2img_samples"))return;const y=await nw(v);e.quickMovePaths=y.filter(w=>{var b,C;return(C=(b=w==null?void 0:w.dir)==null?void 0:b.trim)==null?void 0:C.call(b)})}),me(()=>e.computedTheme==="dark",async v=>{await ai();const m=document.getElementsByTagName("html")[0];if(v){document.body.classList.add("dark");const h=document.createElement("style"),{default:y}=await wn(()=>import("./antd.dark-35e9b327.js"),[]);h.innerHTML=y,h.setAttribute("antd-dark",""),m.appendChild(h)}else document.body.classList.remove("dark"),Array.from(m.querySelectorAll("style[antd-dark]")).forEach(h=>h.remove())},{immediate:!0}),me(()=>e.previewBgOpacity,v=>{document.documentElement.style.setProperty("--iib-preview-mask-bg",`rgba(0, 0, 0, ${v})`)},{immediate:!0}),He(async()=>{iP&&AZ(),lo.emit("updateGlobalSetting")}),(v,m)=>{const h=$n,y=xt,w=Hi;return xe(),ke(Ie,null,[S(h,{loading:!ce(r).isIdle},{default:Be(()=>[S(OX)]),_:1},8,["loading"]),S(WX,{onOpenPreview:l}),S(y,{visible:a.value,"onUpdate:visible":m[0]||(m[0]=b=>a.value=b),title:ce(ve)("smartOrganizePreview"),footer:null,width:800,destroyOnClose:!0,zIndex:2e3},{default:Be(()=>[i.value?(xe(),gt(cZ,{key:0,preview:i.value,onCancel:c,onConfirmed:u},null,8,["preview"])):tt("",!0)]),_:1},8,["visible","title"]),S(TZ),o.value?(xe(),ke("div",MZ,[Se("div",NZ,[S(w,{size:"large"}),Se("div",$Z,Ae(ce(ve)("movingFiles")),1),Se("div",FZ,Ae(s.value.moved)+" / "+Ae(s.value.total),1)])])):tt("",!0)],64)}}});function DZ(t){return typeof t=="object"&&t!==null}function bw(t,e){return t=DZ(t)?t:Object.create(null),new Proxy(t,{get(n,r,a){return r==="key"?Reflect.get(n,r,a):Reflect.get(n,r,a)||Reflect.get(e,r,a)}})}function LZ(t,e){return e.reduce((n,r)=>n==null?void 0:n[r],t)}function zZ(t,e,n){return e.slice(0,-1).reduce((r,a)=>/^(__proto__)$/.test(a)?{}:r[a]=r[a]||{},t)[e[e.length-1]]=n,t}function BZ(t,e){return e.reduce((n,r)=>{const a=r.split(".");return zZ(n,a,LZ(t,a))},{})}function ww(t,{storage:e,serializer:n,key:r,debug:a}){try{const i=e==null?void 0:e.getItem(r);i&&t.$patch(n==null?void 0:n.deserialize(i))}catch(i){a&&console.error(i)}}function Cw(t,{storage:e,serializer:n,key:r,paths:a,debug:i}){try{const o=Array.isArray(a)?BZ(t,a):t;e.setItem(r,n.serialize(o))}catch(o){i&&console.error(o)}}function jZ(t={}){return e=>{const{auto:n=!1}=t,{options:{persist:r=n},store:a}=e;if(!r)return;const i=(Array.isArray(r)?r.map(o=>bw(o,t)):[bw(r,t)]).map(({storage:o=localStorage,beforeRestore:s=null,afterRestore:l=null,serializer:u={serialize:JSON.stringify,deserialize:JSON.parse},key:c=a.$id,paths:f=null,debug:p=!1})=>{var g;return{storage:o,beforeRestore:s,afterRestore:l,serializer:u,key:((g=t.key)!=null?g:d=>d)(c),paths:f,debug:p}});a.$persist=()=>{i.forEach(o=>{Cw(a.$state,o)})},a.$hydrate=({runHooks:o=!0}={})=>{i.forEach(s=>{const{beforeRestore:l,afterRestore:u}=s;o&&(l==null||l(e)),ww(a,s),o&&(u==null||u(e))})},i.forEach(o=>{const{beforeRestore:s,afterRestore:l}=o;s==null||s(e),ww(a,o),l==null||l(e),a.$subscribe((u,c)=>{Cw(c,o)},{detached:!0})})}}var VZ=jZ(),WZ=Object.defineProperty,HZ=Object.defineProperties,UZ=Object.getOwnPropertyDescriptors,Sw=Object.getOwnPropertySymbols,KZ=Object.prototype.hasOwnProperty,GZ=Object.prototype.propertyIsEnumerable,_w=(t,e,n)=>e in t?WZ(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Iv=(t,e)=>{for(var n in e||(e={}))KZ.call(e,n)&&_w(t,n,e[n]);if(Sw)for(var n of Sw(e))GZ.call(e,n)&&_w(t,n,e[n]);return t},qZ=(t,e)=>HZ(t,UZ(e));function YZ(t){return qu()?(zv(t),!0):!1}const NP=typeof window<"u";function $P(t,e){function n(...r){t(()=>e.apply(this,r),{fn:e,thisArg:this,args:r})}return n}const JZ=t=>t();function XZ(t,e={}){let n,r;return i=>{const o=ce(t),s=ce(e.maxWait);if(n&&clearTimeout(n),o<=0||s!==void 0&&s<=0)return r&&(clearTimeout(r),r=null),i();s&&!r&&(r=setTimeout(()=>{n&&clearTimeout(n),r=null,i()},s)),n=setTimeout(()=>{r&&clearTimeout(r),r=null,i()},o)}}function ZZ(t,e=!0,n=!0){let r=0,a,i=!n;const o=()=>{a&&(clearTimeout(a),a=void 0)};return l=>{const u=ce(t),c=Date.now()-r;if(o(),u<=0)return r=Date.now(),l();c>u&&(r=Date.now(),i?i=!1:l()),e&&(a=setTimeout(()=>{r=Date.now(),n||(i=!0),o(),l()},u)),!n&&!a&&(a=setTimeout(()=>i=!0,u))}}function Yo(t,e=200,n=!0,r=!0){return $P(ZZ(e,n,r),t)}var xw=Object.getOwnPropertySymbols,QZ=Object.prototype.hasOwnProperty,eQ=Object.prototype.propertyIsEnumerable,tQ=(t,e)=>{var n={};for(var r in t)QZ.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&xw)for(var r of xw(t))e.indexOf(r)<0&&eQ.call(t,r)&&(n[r]=t[r]);return n};function nQ(t,e,n={}){const r=n,{eventFilter:a=JZ}=r,i=tQ(r,["eventFilter"]);return me(t,$P(a,e),i)}var rQ=Object.defineProperty,aQ=Object.defineProperties,iQ=Object.getOwnPropertyDescriptors,ju=Object.getOwnPropertySymbols,FP=Object.prototype.hasOwnProperty,RP=Object.prototype.propertyIsEnumerable,Ow=(t,e,n)=>e in t?rQ(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,oQ=(t,e)=>{for(var n in e||(e={}))FP.call(e,n)&&Ow(t,n,e[n]);if(ju)for(var n of ju(e))RP.call(e,n)&&Ow(t,n,e[n]);return t},sQ=(t,e)=>aQ(t,iQ(e)),lQ=(t,e)=>{var n={};for(var r in t)FP.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&ju)for(var r of ju(t))e.indexOf(r)<0&&RP.call(t,r)&&(n[r]=t[r]);return n};function DP(t,e,n={}){const r=n,{debounce:a=0}=r,i=lQ(r,["debounce"]);return nQ(t,e,sQ(oQ({},i),{eventFilter:XZ(a)}))}function uQ(t){var e;const n=ce(t);return(e=n==null?void 0:n.$el)!=null?e:n}const cQ=NP?window:void 0,Tw=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Pw="__vueuse_ssr_handlers__";Tw[Pw]=Tw[Pw]||{};var Ew=Object.getOwnPropertySymbols,fQ=Object.prototype.hasOwnProperty,dQ=Object.prototype.propertyIsEnumerable,vQ=(t,e)=>{var n={};for(var r in t)fQ.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&Ew)for(var r of Ew(t))e.indexOf(r)<0&&dQ.call(t,r)&&(n[r]=t[r]);return n};function pQ(t,e,n={}){const r=n,{window:a=cQ}=r,i=vQ(r,["window"]);let o;const s=a&&"ResizeObserver"in a,l=()=>{o&&(o.disconnect(),o=void 0)},u=me(()=>uQ(t),f=>{l(),s&&a&&f&&(o=new ResizeObserver(e),o.observe(f,i))},{immediate:!0,flush:"post"}),c=()=>{l(),u()};return YZ(c),{isSupported:s,stop:c}}var kw,Aw;NP&&(window!=null&&window.navigator)&&((kw=window==null?void 0:window.navigator)!=null&&kw.platform)&&/iP(ad|hone|od)/.test((Aw=window==null?void 0:window.navigator)==null?void 0:Aw.platform);var mg={exports:{}};(function(t){var e=function(){this.Diff_Timeout=1,this.Diff_EditCost=4,this.Match_Threshold=.5,this.Match_Distance=1e3,this.Patch_DeleteThreshold=.5,this.Patch_Margin=4,this.Match_MaxBits=32},n=-1,r=1,a=0;e.Diff=function(i,o){return[i,o]},e.prototype.diff_main=function(i,o,s,l){typeof l>"u"&&(this.Diff_Timeout<=0?l=Number.MAX_VALUE:l=new Date().getTime()+1e3*this.Diff_Timeout);var u=l;if(i==null||o==null)throw new Error("Null input. (diff_main)");if(i==o)return i?[new e.Diff(a,i)]:[];typeof s>"u"&&(s=!0);var c=s,f=this.diff_commonPrefix(i,o),p=i.substring(0,f);i=i.substring(f),o=o.substring(f),f=this.diff_commonSuffix(i,o);var g=i.substring(i.length-f);i=i.substring(0,i.length-f),o=o.substring(0,o.length-f);var d=this.diff_compute_(i,o,c,u);return p&&d.unshift(new e.Diff(a,p)),g&&d.push(new e.Diff(a,g)),this.diff_cleanupMerge(d),d},e.prototype.diff_compute_=function(i,o,s,l){var u;if(!i)return[new e.Diff(r,o)];if(!o)return[new e.Diff(n,i)];var c=i.length>o.length?i:o,f=i.length>o.length?o:i,p=c.indexOf(f);if(p!=-1)return u=[new e.Diff(r,c.substring(0,p)),new e.Diff(a,f),new e.Diff(r,c.substring(p+f.length))],i.length>o.length&&(u[0][0]=u[2][0]=n),u;if(f.length==1)return[new e.Diff(n,i),new e.Diff(r,o)];var g=this.diff_halfMatch_(i,o);if(g){var d=g[0],v=g[1],m=g[2],h=g[3],y=g[4],w=this.diff_main(d,m,s,l),b=this.diff_main(v,h,s,l);return w.concat([new e.Diff(a,y)],b)}return s&&i.length>100&&o.length>100?this.diff_lineMode_(i,o,l):this.diff_bisect_(i,o,l)},e.prototype.diff_lineMode_=function(i,o,s){var l=this.diff_linesToChars_(i,o);i=l.chars1,o=l.chars2;var u=l.lineArray,c=this.diff_main(i,o,!1,s);this.diff_charsToLines_(c,u),this.diff_cleanupSemantic(c),c.push(new e.Diff(a,""));for(var f=0,p=0,g=0,d="",v="";f=1&&g>=1){c.splice(f-p-g,p+g),f=f-p-g;for(var m=this.diff_main(d,v,!1,s),h=m.length-1;h>=0;h--)c.splice(f,0,m[h]);f+=m.length}g=0,p=0,d="",v="";break}f++}return c.pop(),c},e.prototype.diff_bisect_=function(i,o,s){for(var l=i.length,u=o.length,c=Math.ceil((l+u)/2),f=c,p=2*c,g=new Array(p),d=new Array(p),v=0;vs);_++){for(var x=-_+y;x<=_-w;x+=2){var T=f+x,O;x==-_||x!=_&&g[T-1]l)w+=2;else if(N>u)y+=2;else if(h){var D=f+m-x;if(D>=0&&D=F)return this.diff_bisectSplit_(i,o,O,N,s)}}}for(var R=-_+b;R<=_-C;R+=2){var D=f+R,F;R==-_||R!=_&&d[D-1]l)C+=2;else if(j>u)b+=2;else if(!h){var T=f+m-R;if(T>=0&&T=F)return this.diff_bisectSplit_(i,o,O,N,s)}}}}return[new e.Diff(n,i),new e.Diff(r,o)]},e.prototype.diff_bisectSplit_=function(i,o,s,l,u){var c=i.substring(0,s),f=o.substring(0,l),p=i.substring(s),g=o.substring(l),d=this.diff_main(c,f,!1,u),v=this.diff_main(p,g,!1,u);return d.concat(v)},e.prototype.diff_linesToChars_=function(i,o){var s=[],l={};s[0]="";function u(g){for(var d="",v=0,m=-1,h=s.length;ml?i=i.substring(s-l):so.length?i:o,l=i.length>o.length?o:i;if(s.length<4||2*l.length=w.length?[O,N,D,F,T]:null}var f=c(s,l,Math.ceil(s.length/4)),p=c(s,l,Math.ceil(s.length/2)),g;if(!f&&!p)return null;p?f?g=f[4].length>p[4].length?f:p:g=p:g=f;var d,v,m,h;i.length>o.length?(d=g[0],v=g[1],m=g[2],h=g[3]):(m=g[0],h=g[1],d=g[2],v=g[3]);var y=g[4];return[d,v,m,h,y]},e.prototype.diff_cleanupSemantic=function(i){for(var o=!1,s=[],l=0,u=null,c=0,f=0,p=0,g=0,d=0;c0?s[l-1]:-1,f=0,p=0,g=0,d=0,u=null,o=!0)),c++;for(o&&this.diff_cleanupMerge(i),this.diff_cleanupSemanticLossless(i),c=1;c=y?(h>=v.length/2||h>=m.length/2)&&(i.splice(c,0,new e.Diff(a,m.substring(0,h))),i[c-1][1]=v.substring(0,v.length-h),i[c+1][1]=m.substring(h),c++):(y>=v.length/2||y>=m.length/2)&&(i.splice(c,0,new e.Diff(a,v.substring(0,y))),i[c-1][0]=r,i[c-1][1]=m.substring(0,m.length-y),i[c+1][0]=n,i[c+1][1]=v.substring(y),c++),c++}c++}},e.prototype.diff_cleanupSemanticLossless=function(i){function o(y,w){if(!y||!w)return 6;var b=y.charAt(y.length-1),C=w.charAt(0),_=b.match(e.nonAlphaNumericRegex_),x=C.match(e.nonAlphaNumericRegex_),T=_&&b.match(e.whitespaceRegex_),O=x&&C.match(e.whitespaceRegex_),N=T&&b.match(e.linebreakRegex_),D=O&&C.match(e.linebreakRegex_),F=N&&y.match(e.blanklineEndRegex_),R=D&&w.match(e.blanklineStartRegex_);return F||R?5:N||D?4:_&&!T&&O?3:T||O?2:_||x?1:0}for(var s=1;s=m&&(m=h,g=l,d=u,v=c)}i[s-1][1]!=g&&(g?i[s-1][1]=g:(i.splice(s-1,1),s--),i[s][1]=d,v?i[s+1][1]=v:(i.splice(s+1,1),s--))}s++}},e.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/,e.whitespaceRegex_=/\s/,e.linebreakRegex_=/[\r\n]/,e.blanklineEndRegex_=/\n\r?\n$/,e.blanklineStartRegex_=/^\r?\n\r?\n/,e.prototype.diff_cleanupEfficiency=function(i){for(var o=!1,s=[],l=0,u=null,c=0,f=!1,p=!1,g=!1,d=!1;c0?s[l-1]:-1,g=d=!1),o=!0)),c++;o&&this.diff_cleanupMerge(i)},e.prototype.diff_cleanupMerge=function(i){i.push(new e.Diff(a,""));for(var o=0,s=0,l=0,u="",c="",f;o1?(s!==0&&l!==0&&(f=this.diff_commonPrefix(c,u),f!==0&&(o-s-l>0&&i[o-s-l-1][0]==a?i[o-s-l-1][1]+=c.substring(0,f):(i.splice(0,0,new e.Diff(a,c.substring(0,f))),o++),c=c.substring(f),u=u.substring(f)),f=this.diff_commonSuffix(c,u),f!==0&&(i[o][1]=c.substring(c.length-f)+i[o][1],c=c.substring(0,c.length-f),u=u.substring(0,u.length-f))),o-=s+l,i.splice(o,s+l),u.length&&(i.splice(o,0,new e.Diff(n,u)),o++),c.length&&(i.splice(o,0,new e.Diff(r,c)),o++),o++):o!==0&&i[o-1][0]==a?(i[o-1][1]+=i[o][1],i.splice(o,1)):o++,l=0,s=0,u="",c="";break}i[i.length-1][1]===""&&i.pop();var p=!1;for(o=1;oo));f++)u=s,c=l;return i.length!=f&&i[f][0]===n?c:c+(o-u)},e.prototype.diff_prettyHtml=function(i){for(var o=[],s=/&/g,l=//g,c=/\n/g,f=0;f");switch(p){case r:o[f]=''+d+"";break;case n:o[f]=''+d+"";break;case a:o[f]=""+d+"";break}}return o.join("")},e.prototype.diff_text1=function(i){for(var o=[],s=0;sthis.Match_MaxBits)throw new Error("Pattern too long for this browser.");var l=this.match_alphabet_(o),u=this;function c(O,N){var D=O/o.length,F=Math.abs(s-N);return u.Match_Distance?D+F/u.Match_Distance:F?1:D}var f=this.Match_Threshold,p=i.indexOf(o,s);p!=-1&&(f=Math.min(c(0,p),f),p=i.lastIndexOf(o,s+o.length),p!=-1&&(f=Math.min(c(0,p),f)));var g=1<=w;_--){var x=l[i.charAt(_-1)];if(y===0?C[_]=(C[_+1]<<1|1)&x:C[_]=(C[_+1]<<1|1)&x|((h[_+1]|h[_])<<1|1)|h[_+1],C[_]&g){var T=c(y,_-1);if(T<=f)if(f=T,p=_-1,p>s)w=Math.max(1,2*s-p);else break}}if(c(y+1,s)>f)break;h=C}return p},e.prototype.match_alphabet_=function(i){for(var o={},s=0;s"u")l=i,u=this.diff_main(l,o,!0),u.length>2&&(this.diff_cleanupSemantic(u),this.diff_cleanupEfficiency(u));else if(i&&typeof i=="object"&&typeof o>"u"&&typeof s>"u")u=i,l=this.diff_text1(u);else if(typeof i=="string"&&o&&typeof o=="object"&&typeof s>"u")l=i,u=o;else if(typeof i=="string"&&typeof o=="string"&&s&&typeof s=="object")l=i,u=s;else throw new Error("Unknown call format to patch_make.");if(u.length===0)return[];for(var c=[],f=new e.patch_obj,p=0,g=0,d=0,v=l,m=l,h=0;h=2*this.Patch_Margin&&p&&(this.patch_addContext_(f,v),c.push(f),f=new e.patch_obj,p=0,v=m,g=d);break}y!==r&&(g+=w.length),y!==n&&(d+=w.length)}return p&&(this.patch_addContext_(f,v),c.push(f)),c},e.prototype.patch_deepCopy=function(i){for(var o=[],s=0;sthis.Match_MaxBits?(g=this.match_main(o,p.substring(0,this.Match_MaxBits),f),g!=-1&&(d=this.match_main(o,p.substring(p.length-this.Match_MaxBits),f+p.length-this.Match_MaxBits),(d==-1||g>=d)&&(g=-1))):g=this.match_main(o,p,f),g==-1)u[c]=!1,l-=i[c].length2-i[c].length1;else{u[c]=!0,l=g-f;var v;if(d==-1?v=o.substring(g,g+p.length):v=o.substring(g,d+this.Match_MaxBits),p==v)o=o.substring(0,g)+this.diff_text2(i[c].diffs)+o.substring(g+p.length);else{var m=this.diff_main(p,v,!1);if(p.length>this.Match_MaxBits&&this.diff_levenshtein(m)/p.length>this.Patch_DeleteThreshold)u[c]=!1;else{this.diff_cleanupSemanticLossless(m);for(var h=0,y,w=0;wc[0][1].length){var f=o-c[0][1].length;c[0][1]=s.substring(c[0][1].length)+c[0][1],u.start1-=f,u.start2-=f,u.length1+=f,u.length2+=f}if(u=i[i.length-1],c=u.diffs,c.length==0||c[c.length-1][0]!=a)c.push(new e.Diff(a,s)),u.length1+=o,u.length2+=o;else if(o>c[c.length-1][1].length){var f=o-c[c.length-1][1].length;c[c.length-1][1]+=s.substring(0,f),u.length1+=f,u.length2+=f}return s},e.prototype.patch_splitMax=function(i){for(var o=this.Match_MaxBits,s=0;s2*o?(p.length1+=v.length,u+=v.length,g=!1,p.diffs.push(new e.Diff(d,v)),l.diffs.shift()):(v=v.substring(0,o-p.length1-this.Patch_Margin),p.length1+=v.length,u+=v.length,d===a?(p.length2+=v.length,c+=v.length):g=!1,p.diffs.push(new e.Diff(d,v)),v==l.diffs[0][1]?l.diffs.shift():l.diffs[0][1]=l.diffs[0][1].substring(v.length))}f=this.diff_text2(p.diffs),f=f.substring(f.length-this.Patch_Margin);var m=this.diff_text1(l.diffs).substring(0,this.Patch_Margin);m!==""&&(p.length1+=m.length,p.length2+=m.length,p.diffs.length!==0&&p.diffs[p.diffs.length-1][0]===a?p.diffs[p.diffs.length-1][1]+=m:p.diffs.push(new e.Diff(a,m))),g||i.splice(++s,0,p)}}},e.prototype.patch_toText=function(i){for(var o=[],s=0;s{const e=[];let n=0;return t.map(r=>{const a=r[0][1].replace(/\n$/,"").split(` `),i=r[1][1].replace(/\n$/,"").split(` `);a.map(o=>{xn(r[0][0])==="removed"&&e.push([{type:xn(r[0][0]),lineNum:void 0,value:o}])}),i.map(o=>{xn(r[1][0])!=="disabled"&&(n+=1,e.push([{type:xn(r[1][0]),lineNum:n,value:o}]))})}),e},Iee=(t,e,n)=>{function r(i,o){const s=new mg.exports.diff_match_patch,l=s.diff_linesToChars_(i,o),u=l.chars1,c=l.chars2,f=l.lineArray,p=s.diff_main(u,c,!1);return s.diff_charsToLines_(p,f),p}const a=r(e,n).reduce((i,o)=>{const s=xn(o[0]);if(s==="equal"&&i.push([o]),s==="removed"&&i.push([o]),s==="added"){const l=i.length&&i[i.length-1][0]?i[i.length-1][0]:null;l&&xn(l[0])==="removed"?i[i.length-1].push(o):i.push([o])}return i},[]);return a.map(i=>{if(i.length>1)return;const o=xn(i[0][0]);o==="added"?i.unshift([2,""]):o==="removed"?i.push([2,""]):o==="equal"&&i.push([...i[0]])}),t==="split"?kee(a):t==="unified"?Aee(a):[]},Mee=(t,e)=>{const n=new mg.exports.diff_match_patch,r=n.diff_main(t,e);return n.diff_cleanupSemantic(r),r.filter(a=>xn(a[0])!=="removed").map(a=>xn(a[0])==="added"?`${Hr}${a[1]}${Ur}`:a[1]).join("")},Nee=({highlightCode:t,language:e,code:n})=>{if(!n.match(new RegExp(`(${Hr}|${Ur})`,"g"))){t.value=Rr.highlight(n,{language:e}).value;return}let a=n;const i=n.replace(new RegExp(`(${Hr}|${Ur})`,"g"),"");let o=document.createElement("div");o.innerHTML=Rr.highlight(i,{language:e}).value;let s=!1;const l=f=>{f.childNodes.forEach(p=>{if(p.nodeType===1&&l(p),p.nodeType===3){if(!p.textContent)return;let g=p.textContent,d="";for(s&&(d+=Hr);g.length;){if(a.startsWith(Hr)){a=a.slice(Hr.length),d+=Hr,s=!0;continue}if(a.startsWith(Ur)){a=a.slice(Ur.length),d+=Ur,s=!1;continue}const v=a.match(new RegExp(`(${Hr}|${Ur})`)),m=v&&v.index?v.index:a.length,h=Math.min(m,g.length);d+=a.substring(0,h),a=a.slice(h),g=g.slice(h)}s&&(d+=Ur),p.textContent=d}})};l(o);const u=Hr.replace("<","<").replace(">",">"),c=Ur.replace("<","<").replace(">",">");t.value=o.innerHTML.replace(new RegExp(u,"g"),'').replace(new RegExp(c,"g"),""),o=null},$ee=(t,e,n)=>{const r=z([]),a=z([]),i=B(()=>a.value.filter(s=>t.folding?!s.foldable&&s.visible:s.visible));return DP([()=>t.mode,()=>t.prev,()=>t.current,()=>t.folding],()=>{const s=Iee(t.mode,t.prev,t.current);r.value=s,a.value.splice(r.value.length),r.value.map((l,u)=>{var c;const f=a.value[u],p=t.folding&&l[0].type==="equal"&&((c=r.value[u-1])==null?void 0:c[0].type)==="equal",g={index:u,foldable:p,visible:!0};n.value?a.value[u]=qZ(Iv({},g),{visible:(f==null?void 0:f.visible)||!1,top:(f==null?void 0:f.top)||void 0,height:(f==null?void 0:f.height)||n.value.lineMinHeight}):a.value[u]=Iv({},g)})},{debounce:t.inputDelay,immediate:!0}),{meta:a,render:r,list:i}},Fee=(t,e,n,r)=>{const a=B(()=>n.value?r.value.reduce((s,l)=>(l.top=s,l.foldable?s:s+l.height),0)+"px":void 0),i=()=>{if(!e.value||!n.value)return;const o=e.value.scrollTop,s=n.value.height,l=o-1.5*s,u=o+s+1.5*s;r.value.reduce((c,f)=>(c>=l&&c<=u?f.visible=!0:f.visible=!1,f.top=c,f.foldable?c:c+f.height),0)};return DP([()=>t.mode,()=>t.prev,()=>t.current,()=>t.folding],()=>qe(i),{debounce:t.inputDelay,immediate:!0}),He(()=>{var o;n.value&&((o=e.value)==null||o.addEventListener("scroll",Yo(i,n.value.delay)))}),pt(()=>{var o;n.value&&((o=e.value)==null||o.removeEventListener("scroll",Yo(i,n.value.delay)))}),me(n,(o,s)=>{var l,u;!s&&o&&((l=e.value)==null||l.addEventListener("scroll",Yo(i,o.delay))),s&&!o&&((u=e.value)==null||u.removeEventListener("scroll",Yo(i,s.delay)))}),{minHeight:a}};var xg=(t,e)=>{const n=t.__vccOpts||t;for(const[r,a]of e)n[r]=a;return n};const Ree=de({props:{language:{type:String,required:!0},code:{type:String,required:!0},scrollOptions:{type:[Boolean,Object],default:!1}},emits:["rendered"],setup(t,{emit:e}){const n=z("");return He(()=>{me([()=>t.language,()=>t.code],()=>{Nee({highlightCode:n,language:t.language,code:t.code}),qe(()=>e("rendered"))},{immediate:!0}),me([()=>t.scrollOptions],()=>{qe(()=>e("rendered"))},{deep:!0})}),{highlightCode:n}}}),Dee=["innerHTML"];function Lee(t,e,n,r,a,i){return xe(),ke("pre",null,[Se("code",{class:"hljs",innerHTML:t.highlightCode},null,8,Dee)])}var zee=xg(Ree,[["render",Lee]]);const Bee=de({components:{Code:zee},props:{mode:{type:String,required:!0},folding:{type:Boolean,default:!1},language:{type:String,required:!0},meta:{type:Object,required:!0},render:{type:Object,required:!0},scrollOptions:{type:[Boolean,Object],default:!1}},setup(t,{emit:e}){const n=z(null),r=B(()=>{if(t.scrollOptions)return{position:"absolute",left:0,top:0,transform:`translate3d(0, ${t.meta.top}px, 0)`,minHeight:t.scrollOptions.lineMinHeight+"px"}}),a=B(()=>t.folding&&t.render[0].type==="equal"),i=(s,l,u)=>{if(!s.value)return` -`;if(typeof l>"u"||typeof u>"u"||!s.chkWords)return s.value;const c=l[u===0?1:0];return c.value?Mee(c.value,s.value):s.value},o=()=>{!n.value||t.meta.height===n.value.offsetHeight||e("setLineHeight",t.meta.index,n.value.offsetHeight)};return t.scrollOptions&&pQ(n,Yo(()=>{!n.value||t.meta.height===n.value.offsetHeight||e("setLineHeight",t.meta.index,n.value.offsetHeight)},t.scrollOptions.delay)),{line:n,isFoldLine:a,rendered:o,rowStyle:r,setCode:i}}}),jee=Se("div",{class:"lineNum vue-diff-cell-fold"},null,-1),Vee=Se("div",{class:"code vue-diff-cell-fold"},null,-1),Wee=Se("div",{class:"lineNum vue-diff-cell-fold"},null,-1),Hee=Se("div",{class:"code vue-diff-cell-fold"},null,-1);function Uee(t,e,n,r,a,i){const o=Ks("Code");return xe(),ke("div",{ref:"line",class:on(["vue-diff-row",`vue-diff-row-${t.mode}`]),style:Fn(t.rowStyle)},[t.mode==="split"?(xe(!0),ke(Ie,{key:0},Ir(t.render,(s,l)=>(xe(),ke(Ie,{key:l},[t.isFoldLine?(xe(),ke(Ie,{key:0},[jee,Vee],64)):(xe(),ke(Ie,{key:1},[Se("div",{class:on(["lineNum",`vue-diff-cell-${s.type}`])},Ae(s.lineNum),3),Se("div",{class:on(["code",`vue-diff-cell-${s.type}`])},[S(o,{language:t.language,code:t.setCode(s,t.render,l),scrollOptions:t.scrollOptions,onRendered:t.rendered},null,8,["language","code","scrollOptions","onRendered"])],2)],64))],64))),128)):tt("",!0),t.mode==="unified"?(xe(),ke(Ie,{key:1},[t.isFoldLine?(xe(),ke(Ie,{key:0},[Wee,Hee],64)):(xe(),ke(Ie,{key:1},[Se("div",{class:on(["lineNum",`vue-diff-cell-${t.render[0].type}`])},Ae(t.render[0].lineNum),3),Se("div",{class:on(["code",`vue-diff-cell-${t.render[0].type}`])},[S(o,{language:t.language,code:t.setCode(t.render[0]),scrollOptions:t.scrollOptions,onRendered:t.rendered},null,8,["language","code","scrollOptions","onRendered"])],2)],64))],64)):tt("",!0)],6)}var Kee=xg(Bee,[["render",Uee]]);const Gee=de({components:{Line:Kee},props:{mode:{type:String,default:"split"},theme:{type:String,default:"dark"},language:{type:String,default:"plaintext"},prev:{type:String,default:""},current:{type:String,default:""},folding:{type:Boolean,default:!1},inputDelay:{type:Number,default:0},virtualScroll:{type:[Boolean,Object],default:!1}},setup(t){const e=z(null),n=B(()=>t.virtualScroll?Iv({height:500,lineMinHeight:24,delay:100},typeof t.virtualScroll=="object"?Ve(t.virtualScroll):{}):!1),{meta:r,render:a,list:i}=$ee(t,e,n),{minHeight:o}=Fee(t,e,n,r);return{list:i,meta:r,minHeight:o,render:a,scrollOptions:n,setLineHeight:(l,u)=>{r.value[l]&&r.value[l].height!==u&&(r.value[l].height=u)},viewer:e}}});function qee(t,e,n,r,a,i){const o=Ks("Line");return xe(),ke("div",{class:on(["vue-diff-wrapper",`vue-diff-mode-${t.mode} vue-diff-theme-${t.theme}`])},[Se("div",{ref:"viewer",class:"vue-diff-viewer",style:Fn({height:t.scrollOptions?t.scrollOptions.height+"px":void 0})},[Se("div",{class:"vue-diff-viewer-inner",style:Fn({minHeight:t.minHeight})},[(xe(!0),ke(Ie,null,Ir(t.list,(s,l)=>(xe(),gt(o,{key:l,mode:t.mode,folding:t.folding,language:t.language,meta:t.meta[s.index],render:t.render[s.index],scrollOptions:t.scrollOptions,onSetLineHeight:t.setLineHeight},null,8,["mode","folding","language","meta","render","scrollOptions","onSetLineHeight"]))),128))],4)],4)],2)}var Yee=xg(Gee,[["render",qee]]),Jee={install:(t,e={})=>{const{componentName:n="Diff"}=e;t.component(n,Yee)},hljs:Rr};const aE=xq();aE.use(VZ);BA(RZ).use(aE).use(Kh).use(Jee,{componentName:"VueDiff"}).mount("#zanllp_dev_gradio_fe");export{xa as $,Ze as A,gt as B,Be as C,Yp as D,ce as E,Ie as F,sn as G,_t as H,q1 as I,Fn as J,Ir as K,Rne as L,Ca as M,Xee as N,Qk as O,Z as P,ane as Q,bq as R,PT as S,iP as T,Zr as U,on as V,At as W,ve as X,rne as Y,xt as Z,ft as _,E as a,i3 as a$,Ou as a0,$n as a1,Ft as a2,Gt as a3,Ms as a4,Xx as a5,v9 as a6,pa as a7,Hi as a8,hx as a9,dP as aA,GH as aB,aP as aC,rg as aD,$ne as aE,ine as aF,pG as aG,zs as aH,IP as aI,KT as aJ,fne as aK,lt as aL,Ene as aM,bo as aN,hc as aO,cr as aP,vh as aQ,I5 as aR,Np as aS,wx as aT,Zs as aU,fh as aV,Cu as aW,__ as aX,M5 as aY,Fx as aZ,G8 as a_,O6 as aa,yq as ab,hne as ac,lo as ad,gne as ae,mne as af,YT as ag,cu as ah,bp as ai,B as aj,ai as ak,qte as al,_P as am,Rq as an,Kte as ao,m8 as ap,Rn as aq,Yh as ar,rr as as,aL as at,Yl as au,j4 as av,fo as aw,vo as ax,ri as ay,C9 as az,Ye as b,X7 as b$,nS as b0,Dp as b1,ur as b2,g_ as b3,E3 as b4,Mr as b5,SG as b6,Dte as b7,zte as b8,ot as b9,Iu as bA,rs as bB,ate as bC,ote as bD,pne as bE,Cv as bF,FH as bG,lh as bH,Wte as bI,na as bJ,P8 as bK,Ix as bL,gn as bM,An as bN,tO as bO,aY as bP,lY as bQ,_ne as bR,u9 as bS,Bj as bT,xne as bU,pt as bV,Gte as bW,ene as bX,Cne as bY,bne as bZ,Sne as b_,Lt as ba,Rte as bb,fn as bc,rte as bd,yt as be,Qee as bf,Lte as bg,Ks as bh,Ek as bi,rp as bj,hr as bk,rc as bl,Kc as bm,V_ as bn,br as bo,cP as bp,JY as bq,Ov as br,Hte as bs,une as bt,lne as bu,XY as bv,dne as bw,cne as bx,NB as by,CB as bz,S as c,One as c$,wne as c0,wX as c1,Aq as c2,lq as c3,ze as c4,mt as c5,Ve as c6,jte as c7,Ute as c8,tne as c9,Vte as cA,G1 as cB,Os as cC,dY as cD,gY as cE,oP as cF,qo as cG,Bte as cH,au as cI,m9 as cJ,Mne as cK,Nne as cL,Oj as cM,_L as cN,zt as cO,_e as cP,kn as cQ,wt as cR,It as cS,eL as cT,Rt as cU,yL as cV,qn as cW,nh as cX,y6 as cY,il as cZ,ag as c_,Fte as ca,vne as cb,wn as cc,aC as cd,nte as ce,TP as cf,Pv as cg,K1 as ch,eO as ci,OP as cj,G_ as ck,Kq as cl,Bu as cm,vq as cn,Xte as co,nne as cp,Ns as cq,Vd as cr,Au as cs,ko as ct,ns as cu,uk as cv,Ju as cw,qE as cx,kk as cy,Zee as cz,de as d,one as d0,jp as d1,L2 as d2,sne as d3,Iq as d4,mP as d5,yP as d6,Ane as d7,nq as d8,Qte as d9,O_ as dA,aS as dB,Ei as dC,ite as dD,nL as dE,wk as dF,Qe as dG,tte as dH,ete as dI,Lp as dJ,OT as da,Ine as db,sr as dc,Pne as dd,Tne as de,oq as df,uq as dg,ZY as dh,yne as di,tw as dj,Fne as dk,sP as dl,wq as dm,Yte as dn,Jte as dp,aJ as dq,Zte as dr,_T as ds,LG as dt,op as du,Pa as dv,C6 as dw,_n as dx,nr as dy,$e as dz,Ln as e,En as f,Pn as g,H as h,Je as i,ke as j,Se as k,vt as l,tt as m,ia as n,xe as o,cn as p,YY as q,z as r,me as s,Ae as t,We as u,He as v,qr as w,qe as x,si as y,kne as z}; +`;if(typeof l>"u"||typeof u>"u"||!s.chkWords)return s.value;const c=l[u===0?1:0];return c.value?Mee(c.value,s.value):s.value},o=()=>{!n.value||t.meta.height===n.value.offsetHeight||e("setLineHeight",t.meta.index,n.value.offsetHeight)};return t.scrollOptions&&pQ(n,Yo(()=>{!n.value||t.meta.height===n.value.offsetHeight||e("setLineHeight",t.meta.index,n.value.offsetHeight)},t.scrollOptions.delay)),{line:n,isFoldLine:a,rendered:o,rowStyle:r,setCode:i}}}),jee=Se("div",{class:"lineNum vue-diff-cell-fold"},null,-1),Vee=Se("div",{class:"code vue-diff-cell-fold"},null,-1),Wee=Se("div",{class:"lineNum vue-diff-cell-fold"},null,-1),Hee=Se("div",{class:"code vue-diff-cell-fold"},null,-1);function Uee(t,e,n,r,a,i){const o=Ks("Code");return xe(),ke("div",{ref:"line",class:on(["vue-diff-row",`vue-diff-row-${t.mode}`]),style:Fn(t.rowStyle)},[t.mode==="split"?(xe(!0),ke(Ie,{key:0},Ir(t.render,(s,l)=>(xe(),ke(Ie,{key:l},[t.isFoldLine?(xe(),ke(Ie,{key:0},[jee,Vee],64)):(xe(),ke(Ie,{key:1},[Se("div",{class:on(["lineNum",`vue-diff-cell-${s.type}`])},Ae(s.lineNum),3),Se("div",{class:on(["code",`vue-diff-cell-${s.type}`])},[S(o,{language:t.language,code:t.setCode(s,t.render,l),scrollOptions:t.scrollOptions,onRendered:t.rendered},null,8,["language","code","scrollOptions","onRendered"])],2)],64))],64))),128)):tt("",!0),t.mode==="unified"?(xe(),ke(Ie,{key:1},[t.isFoldLine?(xe(),ke(Ie,{key:0},[Wee,Hee],64)):(xe(),ke(Ie,{key:1},[Se("div",{class:on(["lineNum",`vue-diff-cell-${t.render[0].type}`])},Ae(t.render[0].lineNum),3),Se("div",{class:on(["code",`vue-diff-cell-${t.render[0].type}`])},[S(o,{language:t.language,code:t.setCode(t.render[0]),scrollOptions:t.scrollOptions,onRendered:t.rendered},null,8,["language","code","scrollOptions","onRendered"])],2)],64))],64)):tt("",!0)],6)}var Kee=xg(Bee,[["render",Uee]]);const Gee=de({components:{Line:Kee},props:{mode:{type:String,default:"split"},theme:{type:String,default:"dark"},language:{type:String,default:"plaintext"},prev:{type:String,default:""},current:{type:String,default:""},folding:{type:Boolean,default:!1},inputDelay:{type:Number,default:0},virtualScroll:{type:[Boolean,Object],default:!1}},setup(t){const e=z(null),n=B(()=>t.virtualScroll?Iv({height:500,lineMinHeight:24,delay:100},typeof t.virtualScroll=="object"?Ve(t.virtualScroll):{}):!1),{meta:r,render:a,list:i}=$ee(t,e,n),{minHeight:o}=Fee(t,e,n,r);return{list:i,meta:r,minHeight:o,render:a,scrollOptions:n,setLineHeight:(l,u)=>{r.value[l]&&r.value[l].height!==u&&(r.value[l].height=u)},viewer:e}}});function qee(t,e,n,r,a,i){const o=Ks("Line");return xe(),ke("div",{class:on(["vue-diff-wrapper",`vue-diff-mode-${t.mode} vue-diff-theme-${t.theme}`])},[Se("div",{ref:"viewer",class:"vue-diff-viewer",style:Fn({height:t.scrollOptions?t.scrollOptions.height+"px":void 0})},[Se("div",{class:"vue-diff-viewer-inner",style:Fn({minHeight:t.minHeight})},[(xe(!0),ke(Ie,null,Ir(t.list,(s,l)=>(xe(),gt(o,{key:l,mode:t.mode,folding:t.folding,language:t.language,meta:t.meta[s.index],render:t.render[s.index],scrollOptions:t.scrollOptions,onSetLineHeight:t.setLineHeight},null,8,["mode","folding","language","meta","render","scrollOptions","onSetLineHeight"]))),128))],4)],4)],2)}var Yee=xg(Gee,[["render",qee]]),Jee={install:(t,e={})=>{const{componentName:n="Diff"}=e;t.component(n,Yee)},hljs:Rr};const aE=xq();aE.use(VZ);BA(RZ).use(aE).use(Kh).use(Jee,{componentName:"VueDiff"}).mount("#zanllp_dev_gradio_fe");export{xa as $,Ze as A,gt as B,Be as C,Yp as D,ce as E,Ie as F,sn as G,_t as H,q1 as I,Fn as J,Ir as K,Rne as L,Ca as M,Xee as N,Qk as O,Z as P,ane as Q,bq as R,PT as S,iP as T,Zr as U,on as V,At as W,ve as X,rne as Y,xt as Z,ft as _,E as a,i3 as a$,Ou as a0,$n as a1,Ft as a2,Gt as a3,Ms as a4,Xx as a5,v9 as a6,pa as a7,Hi as a8,hx as a9,dP as aA,GH as aB,aP as aC,rg as aD,$ne as aE,ine as aF,pG as aG,zs as aH,IP as aI,KT as aJ,fne as aK,lt as aL,Ene as aM,bo as aN,hc as aO,cr as aP,vh as aQ,I5 as aR,Np as aS,wx as aT,Zs as aU,fh as aV,Cu as aW,__ as aX,M5 as aY,Fx as aZ,G8 as a_,O6 as aa,yq as ab,hne as ac,lo as ad,gne as ae,mne as af,YT as ag,cu as ah,bp as ai,B as aj,ai as ak,qte as al,_P as am,Rq as an,Kte as ao,m8 as ap,Rn as aq,Yh as ar,rr as as,aL as at,Yl as au,j4 as av,fo as aw,vo as ax,ri as ay,C9 as az,Ye as b,X7 as b$,nS as b0,Dp as b1,ur as b2,g_ as b3,E3 as b4,Mr as b5,SG as b6,Dte as b7,zte as b8,ot as b9,Iu as bA,rs as bB,ate as bC,ote as bD,pne as bE,Cv as bF,FH as bG,lh as bH,Wte as bI,na as bJ,P8 as bK,Ix as bL,gn as bM,An as bN,tO as bO,aY as bP,lY as bQ,_ne as bR,u9 as bS,Bj as bT,xne as bU,pt as bV,Gte as bW,ene as bX,Cne as bY,bne as bZ,Sne as b_,Lt as ba,Rte as bb,fn as bc,rte as bd,yt as be,Qee as bf,Lte as bg,Ks as bh,Ek as bi,rp as bj,hr as bk,rc as bl,Kc as bm,V_ as bn,br as bo,cP as bp,JY as bq,Ov as br,Hte as bs,une as bt,lne as bu,XY as bv,dne as bw,cne as bx,NB as by,CB as bz,S as c,il as c$,wne as c0,wX as c1,Aq as c2,lq as c3,ze as c4,mt as c5,Ve as c6,jte as c7,Ute as c8,tne as c9,Vte as cA,_T as cB,Uh as cC,G1 as cD,Os as cE,dY as cF,gY as cG,oP as cH,qo as cI,Bte as cJ,au as cK,m9 as cL,Mne as cM,Nne as cN,Oj as cO,_L as cP,zt as cQ,_e as cR,kn as cS,wt as cT,It as cU,eL as cV,Rt as cW,yL as cX,qn as cY,nh as cZ,y6 as c_,Fte as ca,vne as cb,wn as cc,aC as cd,nte as ce,TP as cf,Pv as cg,K1 as ch,eO as ci,OP as cj,G_ as ck,Kq as cl,Bu as cm,vq as cn,Xte as co,nne as cp,Ns as cq,Vd as cr,Au as cs,ko as ct,ns as cu,uk as cv,Ju as cw,qE as cx,kk as cy,Zee as cz,de as d,ag as d0,One as d1,one as d2,jp as d3,L2 as d4,sne as d5,Iq as d6,mP as d7,yP as d8,Ane as d9,$e as dA,O_ as dB,aS as dC,Ei as dD,ite as dE,nL as dF,wk as dG,Qe as dH,tte as dI,ete as dJ,Lp as dK,nq as da,Qte as db,OT as dc,Ine as dd,sr as de,Pne as df,Tne as dg,oq as dh,uq as di,ZY as dj,yne as dk,tw as dl,Fne as dm,sP as dn,wq as dp,Yte as dq,Jte as dr,aJ as ds,Zte as dt,LG as du,op as dv,Pa as dw,C6 as dx,_n as dy,nr as dz,Ln as e,En as f,Pn as g,H as h,Je as i,ke as j,Se as k,vt as l,tt as m,ia as n,xe as o,cn as p,YY as q,z as r,me as s,Ae as t,We as u,He as v,qr as w,qe as x,si as y,kne as z}; diff --git a/vue/dist/assets/randomImage-e636ca3e.js b/vue/dist/assets/randomImage-4f4bfa2d.js similarity index 92% rename from vue/dist/assets/randomImage-e636ca3e.js rename to vue/dist/assets/randomImage-4f4bfa2d.js index 2d6ed07..6421351 100644 --- a/vue/dist/assets/randomImage-e636ca3e.js +++ b/vue/dist/assets/randomImage-4f4bfa2d.js @@ -1 +1 @@ -import{d as Y,p as ee,r as F,aC as te,aD as le,v as se,ca as ie,o as v,j as N,c as s,E as e,k as g,C as n,l as k,t as u,G as R,I as oe,H as ae,U as ne,V as A,m as $,B as re,W as w,X as ce,cb as de,a3 as ue,a1 as me,Z as fe,n as pe}from"./index-32743103.js";import{F as ve,s as ge}from"./FileItem-aa47825a.js";import{u as ke,g as we,c as he,b as Ce,d as Se,e as _e,o as z}from"./index-c80754a2.js";import{M as Ie,L as ye,R as be,f as xe}from"./MultiSelectKeep-56b94e1f.js";import"./index-e1a70e12.js";import"./shortcut-3129f75b.js";import"./_isIterateeCall-16c5cf9c.js";/* empty css */const Ve={class:"refresh-button"},Me={class:"hint"},Te={key:0,class:"preview-switch"},Fe=Y({__name:"randomImage",props:{tabIdx:{},paneIdx:{},id:{},paneKey:{}},setup(Ne){const B=ee(),m=F(!1),l=F([]),r=l,h=te(`${le}randomImageSettingNotificationShown`,!1),P=()=>{h.value||(w.info({content:ce("randomImageSettingNotification"),duration:6,key:"randomImageSetting"}),h.value=!0)},f=async()=>{try{m.value=!0;const i=await de();i.length===0&&w.warn("No data, please generate index in image search page first"),l.value=i}finally{m.value=!1,_()}},C=()=>{if(l.value.length===0){w.warn("没有图片可以浏览");return}z(l.value,a.value||0)};se(()=>{f(),setTimeout(()=>{P()},2e3)});const{stackViewEl:D,multiSelectedIdxs:p,stack:E,scroller:G}=ke({images:l}).toRefs(),{onClearAllSelected:U,onSelectAll:K,onReverseSelect:L}=we();he();const{itemSize:S,gridItems:O,cellWidth:W,onScroll:_}=Ce(),{showGenInfo:c,imageGenInfo:I,q:H,onContextMenuClick:j,onFileItemClick:q}=Se({openNext:ie}),{previewIdx:a,previewing:y,onPreviewVisibleChange:Q,previewImgMove:b,canPreview:x}=_e(),V=async(i,t,d)=>{E.value=[{curr:"",files:l.value}],await j(i,t,d)};return(i,t)=>{var M;const d=ue,X=me,Z=fe;return v(),N("div",{class:"container",ref_key:"stackViewEl",ref:D},[s(Ie,{show:!!e(p).length||e(B).keepMultiSelect,onClearAllSelected:e(U),onSelectAll:e(K),onReverseSelect:e(L)},null,8,["show","onClearAllSelected","onSelectAll","onReverseSelect"]),g("div",Ve,[s(d,{onClick:f,onTouchstart:R(f,["prevent"]),type:"primary",loading:m.value,shape:"round"},{default:n(()=>[k(u(i.$t("shuffle")),1)]),_:1},8,["onTouchstart","loading"]),s(d,{onClick:C,onTouchstart:R(C,["prevent"]),type:"default",disabled:!((M=l.value)!=null&&M.length),shape:"round"},{default:n(()=>[k(u(i.$t("tiktokView")),1)]),_:1},8,["onTouchstart","disabled"])]),s(Z,{visible:e(c),"onUpdate:visible":t[1]||(t[1]=o=>ae(c)?c.value=o:null),width:"70vw","mask-closable":"",onOk:t[2]||(t[2]=o=>c.value=!1)},{cancelText:n(()=>[]),default:n(()=>[s(X,{active:"",loading:!e(H).isIdle},{default:n(()=>[g("div",{style:{width:"100%","word-break":"break-all","white-space":"pre-line","max-height":"70vh",overflow:"auto"},onDblclick:t[0]||(t[0]=o=>e(oe)(e(I)))},[g("div",Me,u(i.$t("doubleClickToCopy")),1),k(" "+u(e(I)),1)],32)]),_:1},8,["loading"])]),_:1},8,["visible"]),s(e(ge),{ref_key:"scroller",ref:G,class:"file-list",items:l.value.slice(),"item-size":e(S).first,"key-field":"fullpath","item-secondary-size":e(S).second,gridItems:e(O),onScroll:e(_)},{default:n(({item:o,index:T})=>[s(ve,{idx:T,file:o,"cell-width":e(W),"full-screen-preview-image-url":e(r)[e(a)]?e(ne)(e(r)[e(a)]):"",onContextMenuClick:V,onPreviewVisibleChange:e(Q),"is-selected-mutil-files":e(p).length>1,selected:e(p).includes(T),onFileItemClick:e(q),onTiktokView:(Re,J)=>e(z)(l.value,J)},null,8,["idx","file","cell-width","full-screen-preview-image-url","onPreviewVisibleChange","is-selected-mutil-files","selected","onFileItemClick","onTiktokView"])]),_:1},8,["items","item-size","item-secondary-size","gridItems","onScroll"]),e(y)?(v(),N("div",Te,[s(e(ye),{onClick:t[3]||(t[3]=o=>e(b)("prev")),class:A({disable:!e(x)("prev")})},null,8,["class"]),s(e(be),{onClick:t[4]||(t[4]=o=>e(b)("next")),class:A({disable:!e(x)("next")})},null,8,["class"])])):$("",!0),e(y)&&e(r)&&e(r)[e(a)]?(v(),re(xe,{key:1,file:e(r)[e(a)],idx:e(a),onContextMenuClick:V},null,8,["file","idx"])):$("",!0)],512)}}});const Ue=pe(Fe,[["__scopeId","data-v-49082269"]]);export{Ue as default}; +import{d as Y,p as ee,r as F,aC as te,aD as le,v as se,ca as ie,o as v,j as N,c as s,E as e,k as g,C as n,l as k,t as u,G as R,I as oe,H as ae,U as ne,V as A,m as $,B as re,W as w,X as ce,cb as de,a3 as ue,a1 as me,Z as fe,n as pe}from"./index-f2db319b.js";import{F as ve,s as ge}from"./FileItem-72718f68.js";import{u as ke,g as we,c as he,b as Ce,d as Se,e as _e,o as z}from"./index-0d856f16.js";import{M as Ie,L as ye,R as be,f as xe}from"./MultiSelectKeep-a11efe88.js";import"./index-29e38a15.js";import"./shortcut-869fab50.js";import"./_isIterateeCall-dd643bcf.js";/* empty css */const Ve={class:"refresh-button"},Me={class:"hint"},Te={key:0,class:"preview-switch"},Fe=Y({__name:"randomImage",props:{tabIdx:{},paneIdx:{},id:{},paneKey:{}},setup(Ne){const B=ee(),m=F(!1),l=F([]),r=l,h=te(`${le}randomImageSettingNotificationShown`,!1),P=()=>{h.value||(w.info({content:ce("randomImageSettingNotification"),duration:6,key:"randomImageSetting"}),h.value=!0)},f=async()=>{try{m.value=!0;const i=await de();i.length===0&&w.warn("No data, please generate index in image search page first"),l.value=i}finally{m.value=!1,_()}},C=()=>{if(l.value.length===0){w.warn("没有图片可以浏览");return}z(l.value,a.value||0)};se(()=>{f(),setTimeout(()=>{P()},2e3)});const{stackViewEl:D,multiSelectedIdxs:p,stack:E,scroller:G}=ke({images:l}).toRefs(),{onClearAllSelected:U,onSelectAll:K,onReverseSelect:L}=we();he();const{itemSize:S,gridItems:O,cellWidth:W,onScroll:_}=Ce(),{showGenInfo:c,imageGenInfo:I,q:H,onContextMenuClick:j,onFileItemClick:q}=Se({openNext:ie}),{previewIdx:a,previewing:y,onPreviewVisibleChange:Q,previewImgMove:b,canPreview:x}=_e(),V=async(i,t,d)=>{E.value=[{curr:"",files:l.value}],await j(i,t,d)};return(i,t)=>{var M;const d=ue,X=me,Z=fe;return v(),N("div",{class:"container",ref_key:"stackViewEl",ref:D},[s(Ie,{show:!!e(p).length||e(B).keepMultiSelect,onClearAllSelected:e(U),onSelectAll:e(K),onReverseSelect:e(L)},null,8,["show","onClearAllSelected","onSelectAll","onReverseSelect"]),g("div",Ve,[s(d,{onClick:f,onTouchstart:R(f,["prevent"]),type:"primary",loading:m.value,shape:"round"},{default:n(()=>[k(u(i.$t("shuffle")),1)]),_:1},8,["onTouchstart","loading"]),s(d,{onClick:C,onTouchstart:R(C,["prevent"]),type:"default",disabled:!((M=l.value)!=null&&M.length),shape:"round"},{default:n(()=>[k(u(i.$t("tiktokView")),1)]),_:1},8,["onTouchstart","disabled"])]),s(Z,{visible:e(c),"onUpdate:visible":t[1]||(t[1]=o=>ae(c)?c.value=o:null),width:"70vw","mask-closable":"",onOk:t[2]||(t[2]=o=>c.value=!1)},{cancelText:n(()=>[]),default:n(()=>[s(X,{active:"",loading:!e(H).isIdle},{default:n(()=>[g("div",{style:{width:"100%","word-break":"break-all","white-space":"pre-line","max-height":"70vh",overflow:"auto"},onDblclick:t[0]||(t[0]=o=>e(oe)(e(I)))},[g("div",Me,u(i.$t("doubleClickToCopy")),1),k(" "+u(e(I)),1)],32)]),_:1},8,["loading"])]),_:1},8,["visible"]),s(e(ge),{ref_key:"scroller",ref:G,class:"file-list",items:l.value.slice(),"item-size":e(S).first,"key-field":"fullpath","item-secondary-size":e(S).second,gridItems:e(O),onScroll:e(_)},{default:n(({item:o,index:T})=>[s(ve,{idx:T,file:o,"cell-width":e(W),"full-screen-preview-image-url":e(r)[e(a)]?e(ne)(e(r)[e(a)]):"",onContextMenuClick:V,onPreviewVisibleChange:e(Q),"is-selected-mutil-files":e(p).length>1,selected:e(p).includes(T),onFileItemClick:e(q),onTiktokView:(Re,J)=>e(z)(l.value,J)},null,8,["idx","file","cell-width","full-screen-preview-image-url","onPreviewVisibleChange","is-selected-mutil-files","selected","onFileItemClick","onTiktokView"])]),_:1},8,["items","item-size","item-secondary-size","gridItems","onScroll"]),e(y)?(v(),N("div",Te,[s(e(ye),{onClick:t[3]||(t[3]=o=>e(b)("prev")),class:A({disable:!e(x)("prev")})},null,8,["class"]),s(e(be),{onClick:t[4]||(t[4]=o=>e(b)("next")),class:A({disable:!e(x)("next")})},null,8,["class"])])):$("",!0),e(y)&&e(r)&&e(r)[e(a)]?(v(),re(xe,{key:1,file:e(r)[e(a)],idx:e(a),onContextMenuClick:V},null,8,["file","idx"])):$("",!0)],512)}}});const Ue=pe(Fe,[["__scopeId","data-v-49082269"]]);export{Ue as default}; diff --git a/vue/dist/assets/shortcut-3129f75b.js b/vue/dist/assets/shortcut-869fab50.js similarity index 96% rename from vue/dist/assets/shortcut-3129f75b.js rename to vue/dist/assets/shortcut-869fab50.js index e6144aa..f39e42c 100644 --- a/vue/dist/assets/shortcut-3129f75b.js +++ b/vue/dist/assets/shortcut-869fab50.js @@ -1,2 +1,2 @@ -import{du as $e,a as m,P as M,d as R,dv as ae,u as ne,b9 as _e,c5 as He,bV as re,v as me,w as ie,r as E,f as Oe,_ as J,cP as D,h as k,c as w,dw as Ne,s as Z,aj as z,be as Le,i as A,b as pe,cW as Ee,dx as ge,dy as X,dz as j,dA as se,cO as be,dB as Ae,dC as ee,dD as De,dE as Re,dF as je,at as Ie,dG as le,bJ as Ge,dH as Ue,dI as Ke,o as We,j as Xe,bj as ue,bT as ze,n as Ye}from"./index-32743103.js";function Je(o,e){var a=typeof Symbol<"u"&&o[Symbol.iterator]||o["@@iterator"];if(!a){if(Array.isArray(o)||(a=$e(o))||e&&o&&typeof o.length=="number"){a&&(o=a);var t=0,n=function(){};return{s:n,n:function(){return t>=o.length?{done:!0}:{done:!1,value:o[t++]}},e:function(u){throw u},f:n}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var r=!0,i=!1,s;return{s:function(){a=a.call(o)},n:function(){var u=a.next();return r=u.done,u},e:function(u){i=!0,s=u},f:function(){try{!r&&a.return!=null&&a.return()}finally{if(i)throw s}}}}var qe=function(){return{name:String,prefixCls:String,options:{type:Array,default:function(){return[]}},disabled:Boolean,id:String}},Qe=function(){return m(m({},qe()),{},{defaultValue:{type:Array},value:{type:Array},onChange:{type:Function},"onUpdate:value":{type:Function}})},Ze=function(){return{prefixCls:String,defaultChecked:{type:Boolean,default:void 0},checked:{type:Boolean,default:void 0},disabled:{type:Boolean,default:void 0},isGroup:{type:Boolean,default:void 0},value:M.any,name:String,id:String,indeterminate:{type:Boolean,default:void 0},type:{type:String,default:"checkbox"},autofocus:{type:Boolean,default:void 0},onChange:Function,"onUpdate:checked":Function,onClick:Function,skipGroup:{type:Boolean,default:!1}}},et=function(){return m(m({},Ze()),{},{indeterminate:{type:Boolean,default:!1}})},ye=Symbol("CheckboxGroupContext"),tt=["indeterminate","skipGroup","id"],at=["onMouseenter","onMouseleave","onInput","class","style"];const Y=R({compatConfig:{MODE:3},name:"ACheckbox",inheritAttrs:!1,__ANT_CHECKBOX:!0,props:et(),setup:function(e,a){var t=a.emit,n=a.attrs,r=a.slots,i=a.expose,s=ae(),l=ne("checkbox",e),u=l.prefixCls,c=l.direction,v=_e(ye,void 0),g=Symbol("checkboxUniId");He(function(){!e.skipGroup&&v&&v.registerValue(g,e.value)}),re(function(){v&&v.cancelValue(g)}),me(function(){ie(e.checked!==void 0||v||e.value===void 0,"Checkbox","`value` is not validate prop, do you mean `checked`?")});var C=function(d){var f=d.target.checked;t("update:checked",f),t("change",d)},S=E(),T=function(){var d;(d=S.value)===null||d===void 0||d.focus()},F=function(){var d;(d=S.value)===null||d===void 0||d.blur()};return i({focus:T,blur:F}),function(){var b,d,f=Oe((b=r.default)===null||b===void 0?void 0:b.call(r)),y=e.indeterminate,x=e.skipGroup,V=e.id,p=V===void 0?s.id.value:V,h=J(e,tt),P=n.onMouseenter,$=n.onMouseleave;n.onInput;var B=n.class,L=n.style,H=J(n,at),_=m(m({},h),{},{id:p,prefixCls:u.value},H);v&&!x?(_.onChange=function(){for(var G=arguments.length,q=new Array(G),U=0;U0&&(x=v.value.map(function(p){var h;return w(Y,{prefixCls:l.value,key:p.value.toString(),disabled:"disabled"in p?p.disabled:e.disabled,indeterminate:p.indeterminate,value:p.value,checked:c.value.indexOf(p.value)!==-1,onChange:p.onChange,class:"".concat(V,"-item")},{default:function(){return[p.label===void 0?(h=t.label)===null||h===void 0?void 0:h.call(t,p):p.label]}})})),w("div",{class:[V,k({},"".concat(V,"-rtl"),u.value==="rtl")],id:y},[x||((d=t.default)===null||d===void 0?void 0:d.call(t))])}}});Y.Group=te;Y.install=function(o){return o.component(Y.name,Y),o.component(te.name,te),o};var xe=function(e,a){var t,n,r=a.attrs,i=r.included,s=r.vertical,l=r.style,u=r.class,c=r.length,v=r.offset,g=r.reverse;c<0&&(g=!g,c=Math.abs(c),v=100-v);var C=s?(t={},k(t,g?"top":"bottom","".concat(v,"%")),k(t,g?"bottom":"top","auto"),k(t,"height","".concat(c,"%")),t):(n={},k(n,g?"right":"left","".concat(v,"%")),k(n,g?"left":"right","auto"),k(n,"width","".concat(c,"%")),n),S=m(m({},l),C);return i?w("div",{class:u,style:S},null):null};xe.inheritAttrs=!1;const ke=xe;var nt=function(e,a,t,n,r,i){ie(t?n>0:!0,"Slider","`Slider[step]` should be a positive number in order to make Slider[dots] work.");var s=Object.keys(a).map(parseFloat).sort(function(u,c){return u-c});if(t&&n)for(var l=r;l<=i;l+=n)s.indexOf(l)===-1&&s.push(l);return s},Ce=function(e,a){var t=a.attrs,n=t.prefixCls,r=t.vertical,i=t.reverse,s=t.marks,l=t.dots,u=t.step,c=t.included,v=t.lowerBound,g=t.upperBound,C=t.max,S=t.min,T=t.dotStyle,F=t.activeDotStyle,b=C-S,d=nt(r,s,l,u,S,C).map(function(f){var y,x="".concat(Math.abs(f-S)/b*100,"%"),V=!c&&f===g||c&&f<=g&&f>=v,p=r?m(m({},T),{},k({},i?"top":"bottom",x)):m(m({},T),{},k({},i?"right":"left",x));V&&(p=m(m({},p),F));var h=D((y={},k(y,"".concat(n,"-dot"),!0),k(y,"".concat(n,"-dot-active"),V),k(y,"".concat(n,"-dot-reverse"),i),y));return w("span",{class:h,style:p,key:f},null)});return w("div",{class:"".concat(n,"-step")},[d])};Ce.inheritAttrs=!1;const rt=Ce;var Se=function(e,a){var t=a.attrs,n=a.slots,r=t.class,i=t.vertical,s=t.reverse,l=t.marks,u=t.included,c=t.upperBound,v=t.lowerBound,g=t.max,C=t.min,S=t.onClickLabel,T=Object.keys(l),F=n.mark,b=g-C,d=T.map(parseFloat).sort(function(f,y){return f-y}).map(function(f){var y,x=typeof l[f]=="function"?l[f]():l[f],V=pe(x)==="object"&&!Ee(x),p=V?x.label:x;if(!p&&p!==0)return null;F&&(p=F({point:f,label:p}));var h=!u&&f===c||u&&f<=c&&f>=v,P=D((y={},k(y,"".concat(r,"-text"),!0),k(y,"".concat(r,"-text-active"),h),y)),$=k({marginBottom:"-50%"},s?"top":"bottom","".concat((f-C)/b*100,"%")),B=k({transform:"translateX(".concat(s?"50%":"-50%",")"),msTransform:"translateX(".concat(s?"50%":"-50%",")")},s?"right":"left","".concat((f-C)/b*100,"%")),L=i?$:B,H=V?m(m({},L),x.style):L,_=k({},ge?"onTouchstartPassive":"onTouchstart",function(O){return S(O,f)});return w("span",m({class:P,style:H,key:f,onMousedown:function(N){return S(N,f)}},_),[p])});return w("div",{class:r},[d])};Se.inheritAttrs=!1;const it=Se,Ve=R({compatConfig:{MODE:3},name:"Handle",inheritAttrs:!1,props:{prefixCls:String,vertical:{type:Boolean,default:void 0},offset:Number,disabled:{type:Boolean,default:void 0},min:Number,max:Number,value:Number,tabindex:M.oneOfType([M.number,M.string]),reverse:{type:Boolean,default:void 0},ariaLabel:String,ariaLabelledBy:String,ariaValueTextFormatter:Function,onMouseenter:{type:Function},onMouseleave:{type:Function},onMousedown:{type:Function}},setup:function(e,a){var t=a.attrs,n=a.emit,r=a.expose,i=E(!1),s=E(),l=function(){document.activeElement===s.value&&(i.value=!0)},u=function(d){i.value=!1,n("blur",d)},c=function(){i.value=!1},v=function(){var d;(d=s.value)===null||d===void 0||d.focus()},g=function(){var d;(d=s.value)===null||d===void 0||d.blur()},C=function(){i.value=!0,v()},S=function(d){d.preventDefault(),v(),n("mousedown",d)};r({focus:v,blur:g,clickFocus:C,ref:s});var T=null;me(function(){T=X(document,"mouseup",l)}),re(function(){var b;(b=T)===null||b===void 0||b.remove()});var F=z(function(){var b,d,f=e.vertical,y=e.offset,x=e.reverse;return f?(b={},k(b,x?"top":"bottom","".concat(y,"%")),k(b,x?"bottom":"top","auto"),k(b,"transform",x?null:"translateY(+50%)"),b):(d={},k(d,x?"right":"left","".concat(y,"%")),k(d,x?"left":"right","auto"),k(d,"transform","translateX(".concat(x?"+":"-","50%)")),d)});return function(){var b=e.prefixCls,d=e.disabled,f=e.min,y=e.max,x=e.value,V=e.tabindex,p=e.ariaLabel,h=e.ariaLabelledBy,P=e.ariaValueTextFormatter,$=e.onMouseenter,B=e.onMouseleave,L=D(t.class,k({},"".concat(b,"-handle-click-focused"),i.value)),H={"aria-valuemin":f,"aria-valuemax":y,"aria-valuenow":x,"aria-disabled":!!d},_=[t.style,F.value],O=V||0;(d||V===null)&&(O=null);var N;P&&(N=P(x));var G=m(m(m({},t),{},{role:"slider",tabindex:O},H),{},{class:L,onBlur:u,onKeydown:c,onMousedown:S,onMouseenter:$,onMouseleave:B,ref:s,style:_});return w("div",m(m({},G),{},{"aria-label":p,"aria-labelledby":h,"aria-valuetext":N}),null)}}});function Q(o,e){try{return Object.keys(e).some(function(a){return o.target===e[a].ref})}catch{return!1}}function Me(o,e){var a=e.min,t=e.max;return ot}function de(o){return o.touches.length>1||o.type.toLowerCase()==="touchend"&&o.touches.length>0}function ce(o,e){var a=e.marks,t=e.step,n=e.min,r=e.max,i=Object.keys(a).map(parseFloat);if(t!==null){var s=Math.pow(10,Be(t)),l=Math.floor((r*s-n*s)/(t*s)),u=Math.min((o-n)/t,l),c=Math.round(u)*t+n;i.push(c)}var v=i.map(function(g){return Math.abs(o-g)});return i[v.indexOf(Math.min.apply(Math,A(v)))]}function Be(o){var e=o.toString(),a=0;return e.indexOf(".")>=0&&(a=e.length-e.indexOf(".")-1),a}function ve(o,e){var a=1;return window.visualViewport&&(a=+(window.visualViewport.width/document.body.getBoundingClientRect().width).toFixed(2)),(o?e.clientY:e.pageX)/a}function fe(o,e){var a=1;return window.visualViewport&&(a=+(window.visualViewport.width/document.body.getBoundingClientRect().width).toFixed(2)),(o?e.touches[0].clientY:e.touches[0].pageX)/a}function he(o,e){var a=e.getBoundingClientRect();return o?a.top+a.height*.5:window.pageXOffset+a.left+a.width*.5}function oe(o,e){var a=e.max,t=e.min;return o<=t?t:o>=a?a:o}function Te(o,e){var a=e.step,t=isFinite(ce(o,e))?ce(o,e):0;return a===null?t:parseFloat(t.toFixed(Be(a)))}function K(o){o.stopPropagation(),o.preventDefault()}function st(o,e,a){var t={increase:function(s,l){return s+l},decrease:function(s,l){return s-l}},n=t[o](Object.keys(a.marks).indexOf(JSON.stringify(e)),1),r=Object.keys(a.marks)[n];return a.step?t[o](e,a.step):Object.keys(a.marks).length&&a.marks[r]?a.marks[r]:e}function Pe(o,e,a){var t="increase",n="decrease",r=t;switch(o.keyCode){case j.UP:r=e&&a?n:t;break;case j.RIGHT:r=!e&&a?n:t;break;case j.DOWN:r=e&&a?t:n;break;case j.LEFT:r=!e&&a?t:n;break;case j.END:return function(i,s){return s.max};case j.HOME:return function(i,s){return s.min};case j.PAGE_UP:return function(i,s){return i+s.step*2};case j.PAGE_DOWN:return function(i,s){return i-s.step*2};default:return}return function(i,s){return st(r,i,s)}}var ot=["index","directives","className","style"];function I(){}function we(o){var e={id:String,min:Number,max:Number,step:Number,marks:M.object,included:{type:Boolean,default:void 0},prefixCls:String,disabled:{type:Boolean,default:void 0},handle:Function,dots:{type:Boolean,default:void 0},vertical:{type:Boolean,default:void 0},reverse:{type:Boolean,default:void 0},minimumTrackStyle:M.object,maximumTrackStyle:M.object,handleStyle:M.oneOfType([M.object,M.arrayOf(M.object)]),trackStyle:M.oneOfType([M.object,M.arrayOf(M.object)]),railStyle:M.object,dotStyle:M.object,activeDotStyle:M.object,autofocus:{type:Boolean,default:void 0},draggableTrack:{type:Boolean,default:void 0}};return R({compatConfig:{MODE:3},name:"CreateSlider",mixins:[se,o],inheritAttrs:!1,slots:["mark"],props:be(e,{prefixCls:"rc-slider",min:0,max:100,step:1,marks:{},included:!0,disabled:!1,dots:!1,vertical:!1,reverse:!1,trackStyle:[{}],handleStyle:[{}],railStyle:{},dotStyle:{},activeDotStyle:{}}),emits:["change","blur","focus"],data:function(){var t=this.step,n=this.max,r=this.min,i=isFinite(n-r)?(n-r)%t===0:!0;return ie(t&&Math.floor(t)===t?i:!0,"Slider[max] - Slider[min] (".concat(n-r,") should be a multiple of Slider[step] (").concat(t,")")),this.handlesRefs={},{}},mounted:function(){var t=this;this.$nextTick(function(){t.document=t.sliderRef&&t.sliderRef.ownerDocument;var n=t.autofocus,r=t.disabled;n&&!r&&t.focus()})},beforeUnmount:function(){var t=this;this.$nextTick(function(){t.removeDocumentEvents()})},methods:{defaultHandle:function(t){var n=t.index;t.directives;var r=t.className,i=t.style,s=J(t,ot);if(delete s.dragging,s.value===null)return null;var l=m(m({},s),{},{class:r,style:i,key:n});return w(Ve,l,null)},onDown:function(t,n){var r=n,i=this.$props,s=i.draggableTrack,l=i.vertical,u=this.$data.bounds,c=s&&this.positionGetValue?this.positionGetValue(r)||[]:[],v=Q(t,this.handlesRefs);if(this.dragTrack=s&&u.length>=2&&!v&&!c.map(function(C,S){var T=S?!0:C>=u[S];return S===c.length-1?C<=u[S]:T}).some(function(C){return!C}),this.dragTrack)this.dragOffset=r,this.startBounds=A(u);else{if(!v)this.dragOffset=0;else{var g=he(l,t.target);this.dragOffset=r-g,r=g}this.onStart(r)}},onMouseDown:function(t){if(t.button===0){this.removeDocumentEvents();var n=this.$props.vertical,r=ve(n,t);this.onDown(t,r),this.addDocumentMouseEvents()}},onTouchStart:function(t){if(!de(t)){var n=this.vertical,r=fe(n,t);this.onDown(t,r),this.addDocumentTouchEvents(),K(t)}},onFocus:function(t){var n=this.vertical;if(Q(t,this.handlesRefs)&&!this.dragTrack){var r=he(n,t.target);this.dragOffset=0,this.onStart(r),K(t),this.$emit("focus",t)}},onBlur:function(t){this.dragTrack||this.onEnd(),this.$emit("blur",t)},onMouseUp:function(){this.handlesRefs[this.prevMovedHandleIndex]&&this.handlesRefs[this.prevMovedHandleIndex].clickFocus()},onMouseMove:function(t){if(!this.sliderRef){this.onEnd();return}var n=ve(this.vertical,t);this.onMove(t,n-this.dragOffset,this.dragTrack,this.startBounds)},onTouchMove:function(t){if(de(t)||!this.sliderRef){this.onEnd();return}var n=fe(this.vertical,t);this.onMove(t,n-this.dragOffset,this.dragTrack,this.startBounds)},onKeyDown:function(t){this.sliderRef&&Q(t,this.handlesRefs)&&this.onKeyboard(t)},onClickMarkLabel:function(t,n){var r=this;t.stopPropagation(),this.onChange({sValue:n}),this.setState({sValue:n},function(){return r.onEnd(!0)})},getSliderStart:function(){var t=this.sliderRef,n=this.vertical,r=this.reverse,i=t.getBoundingClientRect();return n?r?i.bottom:i.top:window.pageXOffset+(r?i.right:i.left)},getSliderLength:function(){var t=this.sliderRef;if(!t)return 0;var n=t.getBoundingClientRect();return this.vertical?n.height:n.width},addDocumentTouchEvents:function(){this.onTouchMoveListener=X(this.document,"touchmove",this.onTouchMove),this.onTouchUpListener=X(this.document,"touchend",this.onEnd)},addDocumentMouseEvents:function(){this.onMouseMoveListener=X(this.document,"mousemove",this.onMouseMove),this.onMouseUpListener=X(this.document,"mouseup",this.onEnd)},removeDocumentEvents:function(){this.onTouchMoveListener&&this.onTouchMoveListener.remove(),this.onTouchUpListener&&this.onTouchUpListener.remove(),this.onMouseMoveListener&&this.onMouseMoveListener.remove(),this.onMouseUpListener&&this.onMouseUpListener.remove()},focus:function(){var t;this.$props.disabled||(t=this.handlesRefs[0])===null||t===void 0||t.focus()},blur:function(){var t=this;this.$props.disabled||Object.keys(this.handlesRefs).forEach(function(n){var r,i;(r=t.handlesRefs[n])===null||r===void 0||(i=r.blur)===null||i===void 0||i.call(r)})},calcValue:function(t){var n=this.vertical,r=this.min,i=this.max,s=Math.abs(Math.max(t,0)/this.getSliderLength()),l=n?(1-s)*(i-r)+r:s*(i-r)+r;return l},calcValueByPos:function(t){var n=this.reverse?-1:1,r=n*(t-this.getSliderStart()),i=this.trimAlignValue(this.calcValue(r));return i},calcOffset:function(t){var n=this.min,r=this.max,i=(t-n)/(r-n);return Math.max(0,i*100)},saveSlider:function(t){this.sliderRef=t},saveHandle:function(t,n){this.handlesRefs[t]=n}},render:function(){var t,n=this.prefixCls,r=this.marks,i=this.dots,s=this.step,l=this.included,u=this.disabled,c=this.vertical,v=this.reverse,g=this.min,C=this.max,S=this.maximumTrackStyle,T=this.railStyle,F=this.dotStyle,b=this.activeDotStyle,d=this.id,f=this.$attrs,y=f.class,x=f.style,V=this.renderSlider(),p=V.tracks,h=V.handles,P=D(n,y,(t={},k(t,"".concat(n,"-with-marks"),Object.keys(r).length),k(t,"".concat(n,"-disabled"),u),k(t,"".concat(n,"-vertical"),c),t)),$={vertical:c,marks:r,included:l,lowerBound:this.getLowerBound(),upperBound:this.getUpperBound(),max:C,min:g,reverse:v,class:"".concat(n,"-mark"),onClickLabel:u?I:this.onClickMarkLabel},B=k({},ge?"onTouchstartPassive":"onTouchstart",u?I:this.onTouchStart);return w("div",m(m({id:d,ref:this.saveSlider,tabindex:"-1",class:P},B),{},{onMousedown:u?I:this.onMouseDown,onMouseup:u?I:this.onMouseUp,onKeydown:u?I:this.onKeyDown,onFocus:u?I:this.onFocus,onBlur:u?I:this.onBlur,style:x}),[w("div",{class:"".concat(n,"-rail"),style:m(m({},S),T)},null),p,w(rt,{prefixCls:n,vertical:c,reverse:v,marks:r,dots:i,step:s,included:l,lowerBound:this.getLowerBound(),upperBound:this.getUpperBound(),max:C,min:g,dotStyle:F,activeDotStyle:b},null),h,w(it,$,{mark:this.$slots.mark}),Ae(this)])}})}var lt=R({compatConfig:{MODE:3},name:"Slider",mixins:[se],inheritAttrs:!1,props:{defaultValue:Number,value:Number,disabled:{type:Boolean,default:void 0},autofocus:{type:Boolean,default:void 0},tabindex:M.oneOfType([M.number,M.string]),reverse:{type:Boolean,default:void 0},min:Number,max:Number,ariaLabelForHandle:String,ariaLabelledByForHandle:String,ariaValueTextFormatterForHandle:String,startPoint:Number},emits:["beforeChange","afterChange","change"],data:function(){var e=this.defaultValue!==void 0?this.defaultValue:this.min,a=this.value!==void 0?this.value:e;return{sValue:this.trimAlignValue(a),dragging:!1}},watch:{value:{handler:function(e){this.setChangeValue(e)},deep:!0},min:function(){var e=this.sValue;this.setChangeValue(e)},max:function(){var e=this.sValue;this.setChangeValue(e)}},methods:{setChangeValue:function(e){var a=e!==void 0?e:this.sValue,t=this.trimAlignValue(a,this.$props);t!==this.sValue&&(this.setState({sValue:t}),Me(a,this.$props)&&this.$emit("change",t))},onChange:function(e){var a=!ee(this,"value"),t=e.sValue>this.max?m(m({},e),{},{sValue:this.max}):e;a&&this.setState(t);var n=t.sValue;this.$emit("change",n)},onStart:function(e){this.setState({dragging:!0});var a=this.sValue;this.$emit("beforeChange",a);var t=this.calcValueByPos(e);this.startValue=t,this.startPosition=e,t!==a&&(this.prevMovedHandleIndex=0,this.onChange({sValue:t}))},onEnd:function(e){var a=this.dragging;this.removeDocumentEvents(),(a||e)&&this.$emit("afterChange",this.sValue),this.setState({dragging:!1})},onMove:function(e,a){K(e);var t=this.sValue,n=this.calcValueByPos(a);n!==t&&this.onChange({sValue:n})},onKeyboard:function(e){var a=this.$props,t=a.reverse,n=a.vertical,r=Pe(e,n,t);if(r){K(e);var i=this.sValue,s=r(i,this.$props),l=this.trimAlignValue(s);if(l===i)return;this.onChange({sValue:l}),this.$emit("afterChange",l),this.onEnd()}},getLowerBound:function(){var e=this.$props.startPoint||this.$props.min;return this.$data.sValue>e?e:this.$data.sValue},getUpperBound:function(){return this.$data.sValue1&&arguments[1]!==void 0?arguments[1]:{};if(e===null)return null;var t=m(m({},this.$props),a),n=oe(e,t);return Te(n,t)},getTrack:function(e){var a=e.prefixCls,t=e.reverse,n=e.vertical,r=e.included,i=e.minimumTrackStyle,s=e.mergedTrackStyle,l=e.length,u=e.offset;return w(ke,{class:"".concat(a,"-track"),vertical:n,included:r,offset:u,reverse:t,length:l,style:m(m({},i),s)},null)},renderSlider:function(){var e=this,a=this.prefixCls,t=this.vertical,n=this.included,r=this.disabled,i=this.minimumTrackStyle,s=this.trackStyle,l=this.handleStyle,u=this.tabindex,c=this.ariaLabelForHandle,v=this.ariaLabelledByForHandle,g=this.ariaValueTextFormatterForHandle,C=this.min,S=this.max,T=this.startPoint,F=this.reverse,b=this.handle,d=this.defaultHandle,f=b||d,y=this.sValue,x=this.dragging,V=this.calcOffset(y),p=f({class:"".concat(a,"-handle"),prefixCls:a,vertical:t,offset:V,value:y,dragging:x,disabled:r,min:C,max:S,reverse:F,index:0,tabindex:u,ariaLabel:c,ariaLabelledBy:v,ariaValueTextFormatter:g,style:l[0]||l,ref:function(B){return e.saveHandle(0,B)},onFocus:this.onFocus,onBlur:this.onBlur}),h=T!==void 0?this.calcOffset(T):0,P=s[0]||s;return{tracks:this.getTrack({prefixCls:a,reverse:F,vertical:t,included:n,offset:h,minimumTrackStyle:i,mergedTrackStyle:P,length:V-h}),handles:p}}}});const ut=we(lt);var W=function(e){var a=e.value,t=e.handle,n=e.bounds,r=e.props,i=r.allowCross,s=r.pushable,l=Number(s),u=oe(a,r),c=u;return!i&&t!=null&&n!==void 0&&(t>0&&u<=n[t-1]+l&&(c=n[t-1]+l),t=n[t+1]-l&&(c=n[t+1]-l)),Te(c,r)},dt={defaultValue:M.arrayOf(M.number),value:M.arrayOf(M.number),count:Number,pushable:De(M.oneOfType([M.looseBool,M.number])),allowCross:{type:Boolean,default:void 0},disabled:{type:Boolean,default:void 0},reverse:{type:Boolean,default:void 0},tabindex:M.arrayOf(M.number),prefixCls:String,min:Number,max:Number,autofocus:{type:Boolean,default:void 0},ariaLabelGroupForHandles:Array,ariaLabelledByGroupForHandles:Array,ariaValueTextFormatterGroupForHandles:Array,draggableTrack:{type:Boolean,default:void 0}},ct=R({compatConfig:{MODE:3},name:"Range",mixins:[se],inheritAttrs:!1,props:be(dt,{count:1,allowCross:!0,pushable:!1,tabindex:[],draggableTrack:!1,ariaLabelGroupForHandles:[],ariaLabelledByGroupForHandles:[],ariaValueTextFormatterGroupForHandles:[]}),emits:["beforeChange","afterChange","change"],displayName:"Range",data:function(){var e=this,a=this.count,t=this.min,n=this.max,r=Array.apply(void 0,A(Array(a+1))).map(function(){return t}),i=ee(this,"defaultValue")?this.defaultValue:r,s=this.value;s===void 0&&(s=i);var l=s.map(function(c,v){return W({value:c,handle:v,props:e.$props})}),u=l[0]===n?0:l.length-1;return{sHandle:null,recent:u,bounds:l}},watch:{value:{handler:function(e){var a=this.bounds;this.setChangeValue(e||a)},deep:!0},min:function(){var e=this.value;this.setChangeValue(e||this.bounds)},max:function(){var e=this.value;this.setChangeValue(e||this.bounds)}},methods:{setChangeValue:function(e){var a=this,t=this.bounds,n=e.map(function(i,s){return W({value:i,handle:s,bounds:t,props:a.$props})});if(t.length===n.length){if(n.every(function(i,s){return i===t[s]}))return null}else n=e.map(function(i,s){return W({value:i,handle:s,props:a.$props})});if(this.setState({bounds:n}),e.some(function(i){return Me(i,a.$props)})){var r=e.map(function(i){return oe(i,a.$props)});this.$emit("change",r)}},onChange:function(e){var a=!ee(this,"value");if(a)this.setState(e);else{var t={};["sHandle","recent"].forEach(function(i){e[i]!==void 0&&(t[i]=e[i])}),Object.keys(t).length&&this.setState(t)}var n=m(m({},this.$data),e),r=n.bounds;this.$emit("change",r)},positionGetValue:function(e){var a=this.getValue(),t=this.calcValueByPos(e),n=this.getClosestBound(t),r=this.getBoundNeedMoving(t,n),i=a[r];if(t===i)return null;var s=A(a);return s[r]=t,s},onStart:function(e){var a=this.bounds;this.$emit("beforeChange",a);var t=this.calcValueByPos(e);this.startValue=t,this.startPosition=e;var n=this.getClosestBound(t);this.prevMovedHandleIndex=this.getBoundNeedMoving(t,n),this.setState({sHandle:this.prevMovedHandleIndex,recent:this.prevMovedHandleIndex});var r=a[this.prevMovedHandleIndex];if(t!==r){var i=A(a);i[this.prevMovedHandleIndex]=t,this.onChange({bounds:i})}},onEnd:function(e){var a=this.sHandle;this.removeDocumentEvents(),a||(this.dragTrack=!1),(a!==null||e)&&this.$emit("afterChange",this.bounds),this.setState({sHandle:null})},onMove:function(e,a,t,n){K(e);var r=this.$data,i=this.$props,s=i.max||100,l=i.min||0;if(t){var u=i.vertical?-a:a;u=i.reverse?-u:u;var c=s-Math.max.apply(Math,A(n)),v=l-Math.min.apply(Math,A(n)),g=Math.min(Math.max(u/(this.getSliderLength()/100),v),c),C=n.map(function(d){return Math.floor(Math.max(Math.min(d+g,s),l))});r.bounds.map(function(d,f){return d===C[f]}).some(function(d){return!d})&&this.onChange({bounds:C});return}var S=this.bounds,T=this.sHandle,F=this.calcValueByPos(a),b=S[T];F!==b&&this.moveTo(F)},onKeyboard:function(e){var a=this.$props,t=a.reverse,n=a.vertical,r=Pe(e,n,t);if(r){K(e);var i=this.bounds,s=this.sHandle,l=i[s===null?this.recent:s],u=r(l,this.$props),c=W({value:u,handle:s,bounds:i,props:this.$props});if(c===l)return;var v=!0;this.moveTo(c,v)}},getClosestBound:function(e){for(var a=this.bounds,t=0,n=1;n=a[n]&&(t=n);return Math.abs(a[t+1]-e)=n.length||i<0)return!1;var s=a+t,l=n[i],u=this.pushable,c=Number(u),v=t*(e[s]-l);return this.pushHandle(e,s,t,c-v)?(e[a]=l,!0):!1},trimAlignValue:function(e){var a=this.sHandle,t=this.bounds;return W({value:e,handle:a,bounds:t,props:this.$props})},ensureValueNotConflict:function(e,a,t){var n=t.allowCross,r=t.pushable,i=this.$data||{},s=i.bounds;if(e=e===void 0?i.sHandle:e,r=Number(r),!n&&e!=null&&s!==void 0){if(e>0&&a<=s[e-1]+r)return s[e-1]+r;if(e=s[e+1]-r)return s[e+1]-r}return a},getTrack:function(e){var a=e.bounds,t=e.prefixCls,n=e.reverse,r=e.vertical,i=e.included,s=e.offsets,l=e.trackStyle;return a.slice(0,-1).map(function(u,c){var v,g=c+1,C=D((v={},k(v,"".concat(t,"-track"),!0),k(v,"".concat(t,"-track-").concat(g),!0),v));return w(ke,{class:C,vertical:r,reverse:n,included:i,offset:s[g-1],length:s[g]-s[g-1],style:l[c],key:g},null)})},renderSlider:function(){var e=this,a=this.sHandle,t=this.bounds,n=this.prefixCls,r=this.vertical,i=this.included,s=this.disabled,l=this.min,u=this.max,c=this.reverse,v=this.handle,g=this.defaultHandle,C=this.trackStyle,S=this.handleStyle,T=this.tabindex,F=this.ariaLabelGroupForHandles,b=this.ariaLabelledByGroupForHandles,d=this.ariaValueTextFormatterGroupForHandles,f=v||g,y=t.map(function(p){return e.calcOffset(p)}),x="".concat(n,"-handle"),V=t.map(function(p,h){var P,$=T[h]||0;(s||T[h]===null)&&($=null);var B=a===h;return f({class:D((P={},k(P,x,!0),k(P,"".concat(x,"-").concat(h+1),!0),k(P,"".concat(x,"-dragging"),B),P)),prefixCls:n,vertical:r,dragging:B,offset:y[h],value:p,index:h,tabindex:$,min:l,max:u,reverse:c,disabled:s,style:S[h],ref:function(H){return e.saveHandle(h,H)},onFocus:e.onFocus,onBlur:e.onBlur,ariaLabel:F[h],ariaLabelledBy:b[h],ariaValueTextFormatter:d[h]})});return{tracks:this.getTrack({bounds:t,prefixCls:n,reverse:c,vertical:r,included:i,offsets:y,trackStyle:C}),handles:V}}}});const vt=we(ct),ft=R({compatConfig:{MODE:3},name:"SliderTooltip",inheritAttrs:!1,props:Re(),setup:function(e,a){var t=a.attrs,n=a.slots,r=E(null),i=E(null);function s(){le.cancel(i.value),i.value=null}function l(){i.value=le(function(){var c;(c=r.value)===null||c===void 0||c.forcePopupAlign(),i.value=null})}var u=function(){s(),e.visible&&l()};return Z([function(){return e.visible},function(){return e.title}],function(){u()},{flush:"post",immediate:!0}),je(function(){u()}),re(function(){s()}),function(){return w(Ie,m(m({ref:r},e),t),n)}}});var ht=["value","dragging","index"],mt=["tooltipPrefixCls","range","id"],pt=function(e){return typeof e=="number"?e.toString():""},gt=function(){return{id:String,prefixCls:String,tooltipPrefixCls:String,range:{type:[Boolean,Object],default:void 0},reverse:{type:Boolean,default:void 0},min:Number,max:Number,step:{type:[Number,Object]},marks:{type:Object},dots:{type:Boolean,default:void 0},value:{type:[Number,Array]},defaultValue:{type:[Number,Array]},included:{type:Boolean,default:void 0},disabled:{type:Boolean,default:void 0},vertical:{type:Boolean,default:void 0},tipFormatter:{type:[Function,Object],default:function(){return pt}},tooltipVisible:{type:Boolean,default:void 0},tooltipPlacement:{type:String},getTooltipPopupContainer:{type:Function},autofocus:{type:Boolean,default:void 0},handleStyle:{type:[Object,Array]},trackStyle:{type:[Object,Array]},onChange:{type:Function},onAfterChange:{type:Function},onFocus:{type:Function},onBlur:{type:Function},"onUpdate:value":{type:Function}}},bt=R({compatConfig:{MODE:3},name:"ASlider",inheritAttrs:!1,props:gt(),slots:["mark"],setup:function(e,a){var t=a.attrs,n=a.slots,r=a.emit,i=a.expose,s=ne("slider",e),l=s.prefixCls,u=s.rootPrefixCls,c=s.direction,v=s.getPopupContainer,g=s.configProvider,C=ae(),S=E(),T=E({}),F=function(h,P){T.value[h]=P},b=z(function(){return e.tooltipPlacement?e.tooltipPlacement:e.vertical?c.value==="rtl"?"left":"right":"top"}),d=function(){var h;(h=S.value)===null||h===void 0||h.focus()},f=function(){var h;(h=S.value)===null||h===void 0||h.blur()},y=function(h){r("update:value",h),r("change",h),C.onFieldChange()},x=function(h){r("blur",h)};i({focus:d,blur:f});var V=function(h){var P=h.tooltipPrefixCls,$=h.info,B=$.value,L=$.dragging,H=$.index,_=J($,ht),O=e.tipFormatter,N=e.tooltipVisible,G=e.getTooltipPopupContainer,q=O?T.value[H]||L:!1,U=N||N===void 0&&q;return w(ft,{prefixCls:P,title:O?O(B):"",visible:U,placement:b.value,transitionName:"".concat(u.value,"-zoom-down"),key:H,overlayClassName:"".concat(l.value,"-tooltip"),getPopupContainer:G||v.value},{default:function(){return[w(Ve,m(m({},_),{},{value:B,onMouseenter:function(){return F(H,!0)},onMouseleave:function(){return F(H,!1)}}),null)]}})};return function(){var p=e.tooltipPrefixCls,h=e.range,P=e.id,$=P===void 0?C.id.value:P,B=J(e,mt),L=g.getPrefixCls("tooltip",p),H=D(t.class,k({},"".concat(l.value,"-rtl"),c.value==="rtl"));c.value==="rtl"&&!B.vertical&&(B.reverse=!B.reverse);var _;return pe(h)==="object"&&(_=h.draggableTrack),h?w(vt,m(m({},B),{},{step:B.step,draggableTrack:_,class:H,ref:S,handle:function(N){return V({tooltipPrefixCls:L,prefixCls:l.value,info:N})},prefixCls:l.value,onChange:y,onBlur:x}),{mark:n.mark}):w(ut,m(m({},B),{},{id:$,step:B.step,class:H,ref:S,handle:function(N){return V({tooltipPrefixCls:L,prefixCls:l.value,info:N})},prefixCls:l.value,onChange:y,onBlur:x}),{mark:n.mark})}}});const yt=Ge(bt);const xt={class:"num-input"},kt=R({__name:"numInput",props:Ue({min:{},max:{},step:{}},{modelValue:{}}),emits:["update:modelValue"],setup(o){const e=o,a=Ke(o,"modelValue");return(t,n)=>{const r=ze,i=yt;return We(),Xe("div",xt,[w(r,ue({value:a.value,"onUpdate:value":n[0]||(n[0]=s=>a.value=s)},e),null,16,["value"]),w(i,ue({value:a.value,"onUpdate:value":n[1]||(n[1]=s=>a.value=s)},e,{class:"slide"}),null,16,["value"])])}}});const Vt=Ye(kt,[["__scopeId","data-v-55978858"]]),Mt=o=>{const e=[];return o.shiftKey&&e.push("Shift"),o.ctrlKey&&e.push("Ctrl"),o.metaKey&&e.push("Cmd"),(o.code.startsWith("Key")||o.code.startsWith("Digit"))&&e.push(o.code),o.key==="Escape"&&e.push("Esc"),e.join(" + ")};export{Y as C,Vt as _,te as a,Mt as g}; +import{dv as $e,a as m,P as M,d as R,dw as ae,u as ne,b9 as _e,c5 as He,bV as re,v as me,w as ie,r as E,f as Oe,_ as J,cR as D,h as k,c as w,dx as Ne,s as Z,aj as z,be as Le,i as A,b as pe,cY as Ee,dy as ge,dz as X,dA as j,dB as se,cQ as be,dC as Ae,dD as ee,dE as De,dF as Re,dG as je,at as Ie,dH as le,bJ as Ge,dI as Ue,dJ as Ke,o as We,j as Xe,bj as ue,bT as ze,n as Ye}from"./index-f2db319b.js";function Je(o,e){var a=typeof Symbol<"u"&&o[Symbol.iterator]||o["@@iterator"];if(!a){if(Array.isArray(o)||(a=$e(o))||e&&o&&typeof o.length=="number"){a&&(o=a);var t=0,n=function(){};return{s:n,n:function(){return t>=o.length?{done:!0}:{done:!1,value:o[t++]}},e:function(u){throw u},f:n}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var r=!0,i=!1,s;return{s:function(){a=a.call(o)},n:function(){var u=a.next();return r=u.done,u},e:function(u){i=!0,s=u},f:function(){try{!r&&a.return!=null&&a.return()}finally{if(i)throw s}}}}var Qe=function(){return{name:String,prefixCls:String,options:{type:Array,default:function(){return[]}},disabled:Boolean,id:String}},qe=function(){return m(m({},Qe()),{},{defaultValue:{type:Array},value:{type:Array},onChange:{type:Function},"onUpdate:value":{type:Function}})},Ze=function(){return{prefixCls:String,defaultChecked:{type:Boolean,default:void 0},checked:{type:Boolean,default:void 0},disabled:{type:Boolean,default:void 0},isGroup:{type:Boolean,default:void 0},value:M.any,name:String,id:String,indeterminate:{type:Boolean,default:void 0},type:{type:String,default:"checkbox"},autofocus:{type:Boolean,default:void 0},onChange:Function,"onUpdate:checked":Function,onClick:Function,skipGroup:{type:Boolean,default:!1}}},et=function(){return m(m({},Ze()),{},{indeterminate:{type:Boolean,default:!1}})},ye=Symbol("CheckboxGroupContext"),tt=["indeterminate","skipGroup","id"],at=["onMouseenter","onMouseleave","onInput","class","style"];const Y=R({compatConfig:{MODE:3},name:"ACheckbox",inheritAttrs:!1,__ANT_CHECKBOX:!0,props:et(),setup:function(e,a){var t=a.emit,n=a.attrs,r=a.slots,i=a.expose,s=ae(),l=ne("checkbox",e),u=l.prefixCls,c=l.direction,v=_e(ye,void 0),g=Symbol("checkboxUniId");He(function(){!e.skipGroup&&v&&v.registerValue(g,e.value)}),re(function(){v&&v.cancelValue(g)}),me(function(){ie(e.checked!==void 0||v||e.value===void 0,"Checkbox","`value` is not validate prop, do you mean `checked`?")});var C=function(d){var f=d.target.checked;t("update:checked",f),t("change",d)},S=E(),T=function(){var d;(d=S.value)===null||d===void 0||d.focus()},F=function(){var d;(d=S.value)===null||d===void 0||d.blur()};return i({focus:T,blur:F}),function(){var b,d,f=Oe((b=r.default)===null||b===void 0?void 0:b.call(r)),y=e.indeterminate,x=e.skipGroup,V=e.id,p=V===void 0?s.id.value:V,h=J(e,tt),P=n.onMouseenter,$=n.onMouseleave;n.onInput;var B=n.class,L=n.style,H=J(n,at),_=m(m({},h),{},{id:p,prefixCls:u.value},H);v&&!x?(_.onChange=function(){for(var G=arguments.length,Q=new Array(G),U=0;U0&&(x=v.value.map(function(p){var h;return w(Y,{prefixCls:l.value,key:p.value.toString(),disabled:"disabled"in p?p.disabled:e.disabled,indeterminate:p.indeterminate,value:p.value,checked:c.value.indexOf(p.value)!==-1,onChange:p.onChange,class:"".concat(V,"-item")},{default:function(){return[p.label===void 0?(h=t.label)===null||h===void 0?void 0:h.call(t,p):p.label]}})})),w("div",{class:[V,k({},"".concat(V,"-rtl"),u.value==="rtl")],id:y},[x||((d=t.default)===null||d===void 0?void 0:d.call(t))])}}});Y.Group=te;Y.install=function(o){return o.component(Y.name,Y),o.component(te.name,te),o};var xe=function(e,a){var t,n,r=a.attrs,i=r.included,s=r.vertical,l=r.style,u=r.class,c=r.length,v=r.offset,g=r.reverse;c<0&&(g=!g,c=Math.abs(c),v=100-v);var C=s?(t={},k(t,g?"top":"bottom","".concat(v,"%")),k(t,g?"bottom":"top","auto"),k(t,"height","".concat(c,"%")),t):(n={},k(n,g?"right":"left","".concat(v,"%")),k(n,g?"left":"right","auto"),k(n,"width","".concat(c,"%")),n),S=m(m({},l),C);return i?w("div",{class:u,style:S},null):null};xe.inheritAttrs=!1;const ke=xe;var nt=function(e,a,t,n,r,i){ie(t?n>0:!0,"Slider","`Slider[step]` should be a positive number in order to make Slider[dots] work.");var s=Object.keys(a).map(parseFloat).sort(function(u,c){return u-c});if(t&&n)for(var l=r;l<=i;l+=n)s.indexOf(l)===-1&&s.push(l);return s},Ce=function(e,a){var t=a.attrs,n=t.prefixCls,r=t.vertical,i=t.reverse,s=t.marks,l=t.dots,u=t.step,c=t.included,v=t.lowerBound,g=t.upperBound,C=t.max,S=t.min,T=t.dotStyle,F=t.activeDotStyle,b=C-S,d=nt(r,s,l,u,S,C).map(function(f){var y,x="".concat(Math.abs(f-S)/b*100,"%"),V=!c&&f===g||c&&f<=g&&f>=v,p=r?m(m({},T),{},k({},i?"top":"bottom",x)):m(m({},T),{},k({},i?"right":"left",x));V&&(p=m(m({},p),F));var h=D((y={},k(y,"".concat(n,"-dot"),!0),k(y,"".concat(n,"-dot-active"),V),k(y,"".concat(n,"-dot-reverse"),i),y));return w("span",{class:h,style:p,key:f},null)});return w("div",{class:"".concat(n,"-step")},[d])};Ce.inheritAttrs=!1;const rt=Ce;var Se=function(e,a){var t=a.attrs,n=a.slots,r=t.class,i=t.vertical,s=t.reverse,l=t.marks,u=t.included,c=t.upperBound,v=t.lowerBound,g=t.max,C=t.min,S=t.onClickLabel,T=Object.keys(l),F=n.mark,b=g-C,d=T.map(parseFloat).sort(function(f,y){return f-y}).map(function(f){var y,x=typeof l[f]=="function"?l[f]():l[f],V=pe(x)==="object"&&!Ee(x),p=V?x.label:x;if(!p&&p!==0)return null;F&&(p=F({point:f,label:p}));var h=!u&&f===c||u&&f<=c&&f>=v,P=D((y={},k(y,"".concat(r,"-text"),!0),k(y,"".concat(r,"-text-active"),h),y)),$=k({marginBottom:"-50%"},s?"top":"bottom","".concat((f-C)/b*100,"%")),B=k({transform:"translateX(".concat(s?"50%":"-50%",")"),msTransform:"translateX(".concat(s?"50%":"-50%",")")},s?"right":"left","".concat((f-C)/b*100,"%")),L=i?$:B,H=V?m(m({},L),x.style):L,_=k({},ge?"onTouchstartPassive":"onTouchstart",function(O){return S(O,f)});return w("span",m({class:P,style:H,key:f,onMousedown:function(N){return S(N,f)}},_),[p])});return w("div",{class:r},[d])};Se.inheritAttrs=!1;const it=Se,Ve=R({compatConfig:{MODE:3},name:"Handle",inheritAttrs:!1,props:{prefixCls:String,vertical:{type:Boolean,default:void 0},offset:Number,disabled:{type:Boolean,default:void 0},min:Number,max:Number,value:Number,tabindex:M.oneOfType([M.number,M.string]),reverse:{type:Boolean,default:void 0},ariaLabel:String,ariaLabelledBy:String,ariaValueTextFormatter:Function,onMouseenter:{type:Function},onMouseleave:{type:Function},onMousedown:{type:Function}},setup:function(e,a){var t=a.attrs,n=a.emit,r=a.expose,i=E(!1),s=E(),l=function(){document.activeElement===s.value&&(i.value=!0)},u=function(d){i.value=!1,n("blur",d)},c=function(){i.value=!1},v=function(){var d;(d=s.value)===null||d===void 0||d.focus()},g=function(){var d;(d=s.value)===null||d===void 0||d.blur()},C=function(){i.value=!0,v()},S=function(d){d.preventDefault(),v(),n("mousedown",d)};r({focus:v,blur:g,clickFocus:C,ref:s});var T=null;me(function(){T=X(document,"mouseup",l)}),re(function(){var b;(b=T)===null||b===void 0||b.remove()});var F=z(function(){var b,d,f=e.vertical,y=e.offset,x=e.reverse;return f?(b={},k(b,x?"top":"bottom","".concat(y,"%")),k(b,x?"bottom":"top","auto"),k(b,"transform",x?null:"translateY(+50%)"),b):(d={},k(d,x?"right":"left","".concat(y,"%")),k(d,x?"left":"right","auto"),k(d,"transform","translateX(".concat(x?"+":"-","50%)")),d)});return function(){var b=e.prefixCls,d=e.disabled,f=e.min,y=e.max,x=e.value,V=e.tabindex,p=e.ariaLabel,h=e.ariaLabelledBy,P=e.ariaValueTextFormatter,$=e.onMouseenter,B=e.onMouseleave,L=D(t.class,k({},"".concat(b,"-handle-click-focused"),i.value)),H={"aria-valuemin":f,"aria-valuemax":y,"aria-valuenow":x,"aria-disabled":!!d},_=[t.style,F.value],O=V||0;(d||V===null)&&(O=null);var N;P&&(N=P(x));var G=m(m(m({},t),{},{role:"slider",tabindex:O},H),{},{class:L,onBlur:u,onKeydown:c,onMousedown:S,onMouseenter:$,onMouseleave:B,ref:s,style:_});return w("div",m(m({},G),{},{"aria-label":p,"aria-labelledby":h,"aria-valuetext":N}),null)}}});function q(o,e){try{return Object.keys(e).some(function(a){return o.target===e[a].ref})}catch{return!1}}function Me(o,e){var a=e.min,t=e.max;return ot}function de(o){return o.touches.length>1||o.type.toLowerCase()==="touchend"&&o.touches.length>0}function ce(o,e){var a=e.marks,t=e.step,n=e.min,r=e.max,i=Object.keys(a).map(parseFloat);if(t!==null){var s=Math.pow(10,Be(t)),l=Math.floor((r*s-n*s)/(t*s)),u=Math.min((o-n)/t,l),c=Math.round(u)*t+n;i.push(c)}var v=i.map(function(g){return Math.abs(o-g)});return i[v.indexOf(Math.min.apply(Math,A(v)))]}function Be(o){var e=o.toString(),a=0;return e.indexOf(".")>=0&&(a=e.length-e.indexOf(".")-1),a}function ve(o,e){var a=1;return window.visualViewport&&(a=+(window.visualViewport.width/document.body.getBoundingClientRect().width).toFixed(2)),(o?e.clientY:e.pageX)/a}function fe(o,e){var a=1;return window.visualViewport&&(a=+(window.visualViewport.width/document.body.getBoundingClientRect().width).toFixed(2)),(o?e.touches[0].clientY:e.touches[0].pageX)/a}function he(o,e){var a=e.getBoundingClientRect();return o?a.top+a.height*.5:window.pageXOffset+a.left+a.width*.5}function oe(o,e){var a=e.max,t=e.min;return o<=t?t:o>=a?a:o}function Te(o,e){var a=e.step,t=isFinite(ce(o,e))?ce(o,e):0;return a===null?t:parseFloat(t.toFixed(Be(a)))}function K(o){o.stopPropagation(),o.preventDefault()}function st(o,e,a){var t={increase:function(s,l){return s+l},decrease:function(s,l){return s-l}},n=t[o](Object.keys(a.marks).indexOf(JSON.stringify(e)),1),r=Object.keys(a.marks)[n];return a.step?t[o](e,a.step):Object.keys(a.marks).length&&a.marks[r]?a.marks[r]:e}function Pe(o,e,a){var t="increase",n="decrease",r=t;switch(o.keyCode){case j.UP:r=e&&a?n:t;break;case j.RIGHT:r=!e&&a?n:t;break;case j.DOWN:r=e&&a?t:n;break;case j.LEFT:r=!e&&a?t:n;break;case j.END:return function(i,s){return s.max};case j.HOME:return function(i,s){return s.min};case j.PAGE_UP:return function(i,s){return i+s.step*2};case j.PAGE_DOWN:return function(i,s){return i-s.step*2};default:return}return function(i,s){return st(r,i,s)}}var ot=["index","directives","className","style"];function I(){}function we(o){var e={id:String,min:Number,max:Number,step:Number,marks:M.object,included:{type:Boolean,default:void 0},prefixCls:String,disabled:{type:Boolean,default:void 0},handle:Function,dots:{type:Boolean,default:void 0},vertical:{type:Boolean,default:void 0},reverse:{type:Boolean,default:void 0},minimumTrackStyle:M.object,maximumTrackStyle:M.object,handleStyle:M.oneOfType([M.object,M.arrayOf(M.object)]),trackStyle:M.oneOfType([M.object,M.arrayOf(M.object)]),railStyle:M.object,dotStyle:M.object,activeDotStyle:M.object,autofocus:{type:Boolean,default:void 0},draggableTrack:{type:Boolean,default:void 0}};return R({compatConfig:{MODE:3},name:"CreateSlider",mixins:[se,o],inheritAttrs:!1,slots:["mark"],props:be(e,{prefixCls:"rc-slider",min:0,max:100,step:1,marks:{},included:!0,disabled:!1,dots:!1,vertical:!1,reverse:!1,trackStyle:[{}],handleStyle:[{}],railStyle:{},dotStyle:{},activeDotStyle:{}}),emits:["change","blur","focus"],data:function(){var t=this.step,n=this.max,r=this.min,i=isFinite(n-r)?(n-r)%t===0:!0;return ie(t&&Math.floor(t)===t?i:!0,"Slider[max] - Slider[min] (".concat(n-r,") should be a multiple of Slider[step] (").concat(t,")")),this.handlesRefs={},{}},mounted:function(){var t=this;this.$nextTick(function(){t.document=t.sliderRef&&t.sliderRef.ownerDocument;var n=t.autofocus,r=t.disabled;n&&!r&&t.focus()})},beforeUnmount:function(){var t=this;this.$nextTick(function(){t.removeDocumentEvents()})},methods:{defaultHandle:function(t){var n=t.index;t.directives;var r=t.className,i=t.style,s=J(t,ot);if(delete s.dragging,s.value===null)return null;var l=m(m({},s),{},{class:r,style:i,key:n});return w(Ve,l,null)},onDown:function(t,n){var r=n,i=this.$props,s=i.draggableTrack,l=i.vertical,u=this.$data.bounds,c=s&&this.positionGetValue?this.positionGetValue(r)||[]:[],v=q(t,this.handlesRefs);if(this.dragTrack=s&&u.length>=2&&!v&&!c.map(function(C,S){var T=S?!0:C>=u[S];return S===c.length-1?C<=u[S]:T}).some(function(C){return!C}),this.dragTrack)this.dragOffset=r,this.startBounds=A(u);else{if(!v)this.dragOffset=0;else{var g=he(l,t.target);this.dragOffset=r-g,r=g}this.onStart(r)}},onMouseDown:function(t){if(t.button===0){this.removeDocumentEvents();var n=this.$props.vertical,r=ve(n,t);this.onDown(t,r),this.addDocumentMouseEvents()}},onTouchStart:function(t){if(!de(t)){var n=this.vertical,r=fe(n,t);this.onDown(t,r),this.addDocumentTouchEvents(),K(t)}},onFocus:function(t){var n=this.vertical;if(q(t,this.handlesRefs)&&!this.dragTrack){var r=he(n,t.target);this.dragOffset=0,this.onStart(r),K(t),this.$emit("focus",t)}},onBlur:function(t){this.dragTrack||this.onEnd(),this.$emit("blur",t)},onMouseUp:function(){this.handlesRefs[this.prevMovedHandleIndex]&&this.handlesRefs[this.prevMovedHandleIndex].clickFocus()},onMouseMove:function(t){if(!this.sliderRef){this.onEnd();return}var n=ve(this.vertical,t);this.onMove(t,n-this.dragOffset,this.dragTrack,this.startBounds)},onTouchMove:function(t){if(de(t)||!this.sliderRef){this.onEnd();return}var n=fe(this.vertical,t);this.onMove(t,n-this.dragOffset,this.dragTrack,this.startBounds)},onKeyDown:function(t){this.sliderRef&&q(t,this.handlesRefs)&&this.onKeyboard(t)},onClickMarkLabel:function(t,n){var r=this;t.stopPropagation(),this.onChange({sValue:n}),this.setState({sValue:n},function(){return r.onEnd(!0)})},getSliderStart:function(){var t=this.sliderRef,n=this.vertical,r=this.reverse,i=t.getBoundingClientRect();return n?r?i.bottom:i.top:window.pageXOffset+(r?i.right:i.left)},getSliderLength:function(){var t=this.sliderRef;if(!t)return 0;var n=t.getBoundingClientRect();return this.vertical?n.height:n.width},addDocumentTouchEvents:function(){this.onTouchMoveListener=X(this.document,"touchmove",this.onTouchMove),this.onTouchUpListener=X(this.document,"touchend",this.onEnd)},addDocumentMouseEvents:function(){this.onMouseMoveListener=X(this.document,"mousemove",this.onMouseMove),this.onMouseUpListener=X(this.document,"mouseup",this.onEnd)},removeDocumentEvents:function(){this.onTouchMoveListener&&this.onTouchMoveListener.remove(),this.onTouchUpListener&&this.onTouchUpListener.remove(),this.onMouseMoveListener&&this.onMouseMoveListener.remove(),this.onMouseUpListener&&this.onMouseUpListener.remove()},focus:function(){var t;this.$props.disabled||(t=this.handlesRefs[0])===null||t===void 0||t.focus()},blur:function(){var t=this;this.$props.disabled||Object.keys(this.handlesRefs).forEach(function(n){var r,i;(r=t.handlesRefs[n])===null||r===void 0||(i=r.blur)===null||i===void 0||i.call(r)})},calcValue:function(t){var n=this.vertical,r=this.min,i=this.max,s=Math.abs(Math.max(t,0)/this.getSliderLength()),l=n?(1-s)*(i-r)+r:s*(i-r)+r;return l},calcValueByPos:function(t){var n=this.reverse?-1:1,r=n*(t-this.getSliderStart()),i=this.trimAlignValue(this.calcValue(r));return i},calcOffset:function(t){var n=this.min,r=this.max,i=(t-n)/(r-n);return Math.max(0,i*100)},saveSlider:function(t){this.sliderRef=t},saveHandle:function(t,n){this.handlesRefs[t]=n}},render:function(){var t,n=this.prefixCls,r=this.marks,i=this.dots,s=this.step,l=this.included,u=this.disabled,c=this.vertical,v=this.reverse,g=this.min,C=this.max,S=this.maximumTrackStyle,T=this.railStyle,F=this.dotStyle,b=this.activeDotStyle,d=this.id,f=this.$attrs,y=f.class,x=f.style,V=this.renderSlider(),p=V.tracks,h=V.handles,P=D(n,y,(t={},k(t,"".concat(n,"-with-marks"),Object.keys(r).length),k(t,"".concat(n,"-disabled"),u),k(t,"".concat(n,"-vertical"),c),t)),$={vertical:c,marks:r,included:l,lowerBound:this.getLowerBound(),upperBound:this.getUpperBound(),max:C,min:g,reverse:v,class:"".concat(n,"-mark"),onClickLabel:u?I:this.onClickMarkLabel},B=k({},ge?"onTouchstartPassive":"onTouchstart",u?I:this.onTouchStart);return w("div",m(m({id:d,ref:this.saveSlider,tabindex:"-1",class:P},B),{},{onMousedown:u?I:this.onMouseDown,onMouseup:u?I:this.onMouseUp,onKeydown:u?I:this.onKeyDown,onFocus:u?I:this.onFocus,onBlur:u?I:this.onBlur,style:x}),[w("div",{class:"".concat(n,"-rail"),style:m(m({},S),T)},null),p,w(rt,{prefixCls:n,vertical:c,reverse:v,marks:r,dots:i,step:s,included:l,lowerBound:this.getLowerBound(),upperBound:this.getUpperBound(),max:C,min:g,dotStyle:F,activeDotStyle:b},null),h,w(it,$,{mark:this.$slots.mark}),Ae(this)])}})}var lt=R({compatConfig:{MODE:3},name:"Slider",mixins:[se],inheritAttrs:!1,props:{defaultValue:Number,value:Number,disabled:{type:Boolean,default:void 0},autofocus:{type:Boolean,default:void 0},tabindex:M.oneOfType([M.number,M.string]),reverse:{type:Boolean,default:void 0},min:Number,max:Number,ariaLabelForHandle:String,ariaLabelledByForHandle:String,ariaValueTextFormatterForHandle:String,startPoint:Number},emits:["beforeChange","afterChange","change"],data:function(){var e=this.defaultValue!==void 0?this.defaultValue:this.min,a=this.value!==void 0?this.value:e;return{sValue:this.trimAlignValue(a),dragging:!1}},watch:{value:{handler:function(e){this.setChangeValue(e)},deep:!0},min:function(){var e=this.sValue;this.setChangeValue(e)},max:function(){var e=this.sValue;this.setChangeValue(e)}},methods:{setChangeValue:function(e){var a=e!==void 0?e:this.sValue,t=this.trimAlignValue(a,this.$props);t!==this.sValue&&(this.setState({sValue:t}),Me(a,this.$props)&&this.$emit("change",t))},onChange:function(e){var a=!ee(this,"value"),t=e.sValue>this.max?m(m({},e),{},{sValue:this.max}):e;a&&this.setState(t);var n=t.sValue;this.$emit("change",n)},onStart:function(e){this.setState({dragging:!0});var a=this.sValue;this.$emit("beforeChange",a);var t=this.calcValueByPos(e);this.startValue=t,this.startPosition=e,t!==a&&(this.prevMovedHandleIndex=0,this.onChange({sValue:t}))},onEnd:function(e){var a=this.dragging;this.removeDocumentEvents(),(a||e)&&this.$emit("afterChange",this.sValue),this.setState({dragging:!1})},onMove:function(e,a){K(e);var t=this.sValue,n=this.calcValueByPos(a);n!==t&&this.onChange({sValue:n})},onKeyboard:function(e){var a=this.$props,t=a.reverse,n=a.vertical,r=Pe(e,n,t);if(r){K(e);var i=this.sValue,s=r(i,this.$props),l=this.trimAlignValue(s);if(l===i)return;this.onChange({sValue:l}),this.$emit("afterChange",l),this.onEnd()}},getLowerBound:function(){var e=this.$props.startPoint||this.$props.min;return this.$data.sValue>e?e:this.$data.sValue},getUpperBound:function(){return this.$data.sValue1&&arguments[1]!==void 0?arguments[1]:{};if(e===null)return null;var t=m(m({},this.$props),a),n=oe(e,t);return Te(n,t)},getTrack:function(e){var a=e.prefixCls,t=e.reverse,n=e.vertical,r=e.included,i=e.minimumTrackStyle,s=e.mergedTrackStyle,l=e.length,u=e.offset;return w(ke,{class:"".concat(a,"-track"),vertical:n,included:r,offset:u,reverse:t,length:l,style:m(m({},i),s)},null)},renderSlider:function(){var e=this,a=this.prefixCls,t=this.vertical,n=this.included,r=this.disabled,i=this.minimumTrackStyle,s=this.trackStyle,l=this.handleStyle,u=this.tabindex,c=this.ariaLabelForHandle,v=this.ariaLabelledByForHandle,g=this.ariaValueTextFormatterForHandle,C=this.min,S=this.max,T=this.startPoint,F=this.reverse,b=this.handle,d=this.defaultHandle,f=b||d,y=this.sValue,x=this.dragging,V=this.calcOffset(y),p=f({class:"".concat(a,"-handle"),prefixCls:a,vertical:t,offset:V,value:y,dragging:x,disabled:r,min:C,max:S,reverse:F,index:0,tabindex:u,ariaLabel:c,ariaLabelledBy:v,ariaValueTextFormatter:g,style:l[0]||l,ref:function(B){return e.saveHandle(0,B)},onFocus:this.onFocus,onBlur:this.onBlur}),h=T!==void 0?this.calcOffset(T):0,P=s[0]||s;return{tracks:this.getTrack({prefixCls:a,reverse:F,vertical:t,included:n,offset:h,minimumTrackStyle:i,mergedTrackStyle:P,length:V-h}),handles:p}}}});const ut=we(lt);var W=function(e){var a=e.value,t=e.handle,n=e.bounds,r=e.props,i=r.allowCross,s=r.pushable,l=Number(s),u=oe(a,r),c=u;return!i&&t!=null&&n!==void 0&&(t>0&&u<=n[t-1]+l&&(c=n[t-1]+l),t=n[t+1]-l&&(c=n[t+1]-l)),Te(c,r)},dt={defaultValue:M.arrayOf(M.number),value:M.arrayOf(M.number),count:Number,pushable:De(M.oneOfType([M.looseBool,M.number])),allowCross:{type:Boolean,default:void 0},disabled:{type:Boolean,default:void 0},reverse:{type:Boolean,default:void 0},tabindex:M.arrayOf(M.number),prefixCls:String,min:Number,max:Number,autofocus:{type:Boolean,default:void 0},ariaLabelGroupForHandles:Array,ariaLabelledByGroupForHandles:Array,ariaValueTextFormatterGroupForHandles:Array,draggableTrack:{type:Boolean,default:void 0}},ct=R({compatConfig:{MODE:3},name:"Range",mixins:[se],inheritAttrs:!1,props:be(dt,{count:1,allowCross:!0,pushable:!1,tabindex:[],draggableTrack:!1,ariaLabelGroupForHandles:[],ariaLabelledByGroupForHandles:[],ariaValueTextFormatterGroupForHandles:[]}),emits:["beforeChange","afterChange","change"],displayName:"Range",data:function(){var e=this,a=this.count,t=this.min,n=this.max,r=Array.apply(void 0,A(Array(a+1))).map(function(){return t}),i=ee(this,"defaultValue")?this.defaultValue:r,s=this.value;s===void 0&&(s=i);var l=s.map(function(c,v){return W({value:c,handle:v,props:e.$props})}),u=l[0]===n?0:l.length-1;return{sHandle:null,recent:u,bounds:l}},watch:{value:{handler:function(e){var a=this.bounds;this.setChangeValue(e||a)},deep:!0},min:function(){var e=this.value;this.setChangeValue(e||this.bounds)},max:function(){var e=this.value;this.setChangeValue(e||this.bounds)}},methods:{setChangeValue:function(e){var a=this,t=this.bounds,n=e.map(function(i,s){return W({value:i,handle:s,bounds:t,props:a.$props})});if(t.length===n.length){if(n.every(function(i,s){return i===t[s]}))return null}else n=e.map(function(i,s){return W({value:i,handle:s,props:a.$props})});if(this.setState({bounds:n}),e.some(function(i){return Me(i,a.$props)})){var r=e.map(function(i){return oe(i,a.$props)});this.$emit("change",r)}},onChange:function(e){var a=!ee(this,"value");if(a)this.setState(e);else{var t={};["sHandle","recent"].forEach(function(i){e[i]!==void 0&&(t[i]=e[i])}),Object.keys(t).length&&this.setState(t)}var n=m(m({},this.$data),e),r=n.bounds;this.$emit("change",r)},positionGetValue:function(e){var a=this.getValue(),t=this.calcValueByPos(e),n=this.getClosestBound(t),r=this.getBoundNeedMoving(t,n),i=a[r];if(t===i)return null;var s=A(a);return s[r]=t,s},onStart:function(e){var a=this.bounds;this.$emit("beforeChange",a);var t=this.calcValueByPos(e);this.startValue=t,this.startPosition=e;var n=this.getClosestBound(t);this.prevMovedHandleIndex=this.getBoundNeedMoving(t,n),this.setState({sHandle:this.prevMovedHandleIndex,recent:this.prevMovedHandleIndex});var r=a[this.prevMovedHandleIndex];if(t!==r){var i=A(a);i[this.prevMovedHandleIndex]=t,this.onChange({bounds:i})}},onEnd:function(e){var a=this.sHandle;this.removeDocumentEvents(),a||(this.dragTrack=!1),(a!==null||e)&&this.$emit("afterChange",this.bounds),this.setState({sHandle:null})},onMove:function(e,a,t,n){K(e);var r=this.$data,i=this.$props,s=i.max||100,l=i.min||0;if(t){var u=i.vertical?-a:a;u=i.reverse?-u:u;var c=s-Math.max.apply(Math,A(n)),v=l-Math.min.apply(Math,A(n)),g=Math.min(Math.max(u/(this.getSliderLength()/100),v),c),C=n.map(function(d){return Math.floor(Math.max(Math.min(d+g,s),l))});r.bounds.map(function(d,f){return d===C[f]}).some(function(d){return!d})&&this.onChange({bounds:C});return}var S=this.bounds,T=this.sHandle,F=this.calcValueByPos(a),b=S[T];F!==b&&this.moveTo(F)},onKeyboard:function(e){var a=this.$props,t=a.reverse,n=a.vertical,r=Pe(e,n,t);if(r){K(e);var i=this.bounds,s=this.sHandle,l=i[s===null?this.recent:s],u=r(l,this.$props),c=W({value:u,handle:s,bounds:i,props:this.$props});if(c===l)return;var v=!0;this.moveTo(c,v)}},getClosestBound:function(e){for(var a=this.bounds,t=0,n=1;n=a[n]&&(t=n);return Math.abs(a[t+1]-e)=n.length||i<0)return!1;var s=a+t,l=n[i],u=this.pushable,c=Number(u),v=t*(e[s]-l);return this.pushHandle(e,s,t,c-v)?(e[a]=l,!0):!1},trimAlignValue:function(e){var a=this.sHandle,t=this.bounds;return W({value:e,handle:a,bounds:t,props:this.$props})},ensureValueNotConflict:function(e,a,t){var n=t.allowCross,r=t.pushable,i=this.$data||{},s=i.bounds;if(e=e===void 0?i.sHandle:e,r=Number(r),!n&&e!=null&&s!==void 0){if(e>0&&a<=s[e-1]+r)return s[e-1]+r;if(e=s[e+1]-r)return s[e+1]-r}return a},getTrack:function(e){var a=e.bounds,t=e.prefixCls,n=e.reverse,r=e.vertical,i=e.included,s=e.offsets,l=e.trackStyle;return a.slice(0,-1).map(function(u,c){var v,g=c+1,C=D((v={},k(v,"".concat(t,"-track"),!0),k(v,"".concat(t,"-track-").concat(g),!0),v));return w(ke,{class:C,vertical:r,reverse:n,included:i,offset:s[g-1],length:s[g]-s[g-1],style:l[c],key:g},null)})},renderSlider:function(){var e=this,a=this.sHandle,t=this.bounds,n=this.prefixCls,r=this.vertical,i=this.included,s=this.disabled,l=this.min,u=this.max,c=this.reverse,v=this.handle,g=this.defaultHandle,C=this.trackStyle,S=this.handleStyle,T=this.tabindex,F=this.ariaLabelGroupForHandles,b=this.ariaLabelledByGroupForHandles,d=this.ariaValueTextFormatterGroupForHandles,f=v||g,y=t.map(function(p){return e.calcOffset(p)}),x="".concat(n,"-handle"),V=t.map(function(p,h){var P,$=T[h]||0;(s||T[h]===null)&&($=null);var B=a===h;return f({class:D((P={},k(P,x,!0),k(P,"".concat(x,"-").concat(h+1),!0),k(P,"".concat(x,"-dragging"),B),P)),prefixCls:n,vertical:r,dragging:B,offset:y[h],value:p,index:h,tabindex:$,min:l,max:u,reverse:c,disabled:s,style:S[h],ref:function(H){return e.saveHandle(h,H)},onFocus:e.onFocus,onBlur:e.onBlur,ariaLabel:F[h],ariaLabelledBy:b[h],ariaValueTextFormatter:d[h]})});return{tracks:this.getTrack({bounds:t,prefixCls:n,reverse:c,vertical:r,included:i,offsets:y,trackStyle:C}),handles:V}}}});const vt=we(ct),ft=R({compatConfig:{MODE:3},name:"SliderTooltip",inheritAttrs:!1,props:Re(),setup:function(e,a){var t=a.attrs,n=a.slots,r=E(null),i=E(null);function s(){le.cancel(i.value),i.value=null}function l(){i.value=le(function(){var c;(c=r.value)===null||c===void 0||c.forcePopupAlign(),i.value=null})}var u=function(){s(),e.visible&&l()};return Z([function(){return e.visible},function(){return e.title}],function(){u()},{flush:"post",immediate:!0}),je(function(){u()}),re(function(){s()}),function(){return w(Ie,m(m({ref:r},e),t),n)}}});var ht=["value","dragging","index"],mt=["tooltipPrefixCls","range","id"],pt=function(e){return typeof e=="number"?e.toString():""},gt=function(){return{id:String,prefixCls:String,tooltipPrefixCls:String,range:{type:[Boolean,Object],default:void 0},reverse:{type:Boolean,default:void 0},min:Number,max:Number,step:{type:[Number,Object]},marks:{type:Object},dots:{type:Boolean,default:void 0},value:{type:[Number,Array]},defaultValue:{type:[Number,Array]},included:{type:Boolean,default:void 0},disabled:{type:Boolean,default:void 0},vertical:{type:Boolean,default:void 0},tipFormatter:{type:[Function,Object],default:function(){return pt}},tooltipVisible:{type:Boolean,default:void 0},tooltipPlacement:{type:String},getTooltipPopupContainer:{type:Function},autofocus:{type:Boolean,default:void 0},handleStyle:{type:[Object,Array]},trackStyle:{type:[Object,Array]},onChange:{type:Function},onAfterChange:{type:Function},onFocus:{type:Function},onBlur:{type:Function},"onUpdate:value":{type:Function}}},bt=R({compatConfig:{MODE:3},name:"ASlider",inheritAttrs:!1,props:gt(),slots:["mark"],setup:function(e,a){var t=a.attrs,n=a.slots,r=a.emit,i=a.expose,s=ne("slider",e),l=s.prefixCls,u=s.rootPrefixCls,c=s.direction,v=s.getPopupContainer,g=s.configProvider,C=ae(),S=E(),T=E({}),F=function(h,P){T.value[h]=P},b=z(function(){return e.tooltipPlacement?e.tooltipPlacement:e.vertical?c.value==="rtl"?"left":"right":"top"}),d=function(){var h;(h=S.value)===null||h===void 0||h.focus()},f=function(){var h;(h=S.value)===null||h===void 0||h.blur()},y=function(h){r("update:value",h),r("change",h),C.onFieldChange()},x=function(h){r("blur",h)};i({focus:d,blur:f});var V=function(h){var P=h.tooltipPrefixCls,$=h.info,B=$.value,L=$.dragging,H=$.index,_=J($,ht),O=e.tipFormatter,N=e.tooltipVisible,G=e.getTooltipPopupContainer,Q=O?T.value[H]||L:!1,U=N||N===void 0&&Q;return w(ft,{prefixCls:P,title:O?O(B):"",visible:U,placement:b.value,transitionName:"".concat(u.value,"-zoom-down"),key:H,overlayClassName:"".concat(l.value,"-tooltip"),getPopupContainer:G||v.value},{default:function(){return[w(Ve,m(m({},_),{},{value:B,onMouseenter:function(){return F(H,!0)},onMouseleave:function(){return F(H,!1)}}),null)]}})};return function(){var p=e.tooltipPrefixCls,h=e.range,P=e.id,$=P===void 0?C.id.value:P,B=J(e,mt),L=g.getPrefixCls("tooltip",p),H=D(t.class,k({},"".concat(l.value,"-rtl"),c.value==="rtl"));c.value==="rtl"&&!B.vertical&&(B.reverse=!B.reverse);var _;return pe(h)==="object"&&(_=h.draggableTrack),h?w(vt,m(m({},B),{},{step:B.step,draggableTrack:_,class:H,ref:S,handle:function(N){return V({tooltipPrefixCls:L,prefixCls:l.value,info:N})},prefixCls:l.value,onChange:y,onBlur:x}),{mark:n.mark}):w(ut,m(m({},B),{},{id:$,step:B.step,class:H,ref:S,handle:function(N){return V({tooltipPrefixCls:L,prefixCls:l.value,info:N})},prefixCls:l.value,onChange:y,onBlur:x}),{mark:n.mark})}}});const yt=Ge(bt);const xt={class:"num-input"},kt=R({__name:"numInput",props:Ue({min:{},max:{},step:{}},{modelValue:{}}),emits:["update:modelValue"],setup(o){const e=o,a=Ke(o,"modelValue");return(t,n)=>{const r=ze,i=yt;return We(),Xe("div",xt,[w(r,ue({value:a.value,"onUpdate:value":n[0]||(n[0]=s=>a.value=s)},e),null,16,["value"]),w(i,ue({value:a.value,"onUpdate:value":n[1]||(n[1]=s=>a.value=s)},e,{class:"slide"}),null,16,["value"])])}}});const Vt=Ye(kt,[["__scopeId","data-v-55978858"]]),Mt=o=>{const e=[];return o.shiftKey&&e.push("Shift"),o.ctrlKey&&e.push("Ctrl"),o.metaKey&&e.push("Cmd"),(o.code.startsWith("Key")||o.code.startsWith("Digit"))&&e.push(o.code),o.key==="Escape"&&e.push("Esc"),e.join(" + ")};export{Y as C,Vt as _,te as a,Mt as g}; diff --git a/vue/dist/assets/stackView-19fe464d.js b/vue/dist/assets/stackView-e80f96dd.js similarity index 98% rename from vue/dist/assets/stackView-19fe464d.js rename to vue/dist/assets/stackView-e80f96dd.js index 28e7393..d0c1a09 100644 --- a/vue/dist/assets/stackView-19fe464d.js +++ b/vue/dist/assets/stackView-e80f96dd.js @@ -1 +1 @@ -import{d as Z,u as we,g as X,_ as qe,c as r,a as ye,P as le,D as Ce,f as He,w as It,b as At,e as Pt,h as Ne,M as be,i as xt,A as Rt,o as g,j as x,k as l,l as V,t as p,F as _e,m as N,n as Ke,p as Mt,q as Tt,r as Bt,s as ge,v as Ot,x as Le,y as ze,z as Dt,B as O,C as i,E as e,G as d,H as D,I as Nt,J as Lt,K as Ee,L as zt,N as Et,O as Vt,S as jt,Q as Ut,R as Wt,T as Gt,U as qt,V as Ve,W as A,X as $,Y as je,Z as ke,$ as E,a0 as Ht,a1 as Kt,a2 as Qt,a3 as Jt,a4 as Xt,a5 as Yt,a6 as Zt,a7 as en,a8 as tn}from"./index-32743103.js";import{_ as nn}from"./shortcut-3129f75b.js";import{D as Qe}from"./index-e1a70e12.js";/* empty css *//* empty css */import{u as on,a as an,b as rn,c as ln,d as sn,e as dn,f as un,g as cn,h as pn,s as fn,o as Ue}from"./index-c80754a2.js";import{s as vn,F as mn}from"./FileItem-aa47825a.js";import{M as gn,L as kn,R as yn,f as Cn}from"./MultiSelectKeep-56b94e1f.js";import"./_isIterateeCall-16c5cf9c.js";var bn=["class","style"],_n=function(){return{prefixCls:String,href:String,separator:le.any,overlay:le.any,onClick:Function}};const Y=Z({compatConfig:{MODE:3},name:"ABreadcrumbItem",inheritAttrs:!1,__ANT_BREADCRUMB_ITEM:!0,props:_n(),slots:["separator","overlay"],setup:function(a,u){var f=u.slots,v=u.attrs,S=we("breadcrumb",a),C=S.prefixCls,P=function(F,m){var c=X(f,a,"overlay");return c?r(Qe,{overlay:c,placement:"bottom"},{default:function(){return[r("span",{class:"".concat(m,"-overlay-link")},[F,r(Ce,null,null)])]}}):F};return function(){var w,F=(w=X(f,a,"separator"))!==null&&w!==void 0?w:"/",m=X(f,a),c=v.class,b=v.style,k=qe(v,bn),y;return a.href!==void 0?y=r("a",ye({class:"".concat(C.value,"-link"),onClick:a.onClick},k),[m]):y=r("span",ye({class:"".concat(C.value,"-link"),onClick:a.onClick},k),[m]),y=P(y,C.value),m?r("span",{class:c,style:b},[y,F&&r("span",{class:"".concat(C.value,"-separator")},[F])]):null}}});var hn=function(){return{prefixCls:String,routes:{type:Array},params:le.any,separator:le.any,itemRender:{type:Function}}};function wn(s,a){if(!s.breadcrumbName)return null;var u=Object.keys(a).join("|"),f=s.breadcrumbName.replace(new RegExp(":(".concat(u,")"),"g"),function(v,S){return a[S]||v});return f}function We(s){var a=s.route,u=s.params,f=s.routes,v=s.paths,S=f.indexOf(a)===f.length-1,C=wn(a,u);return S?r("span",null,[C]):r("a",{href:"#/".concat(v.join("/"))},[C])}const G=Z({compatConfig:{MODE:3},name:"ABreadcrumb",props:hn(),slots:["separator","itemRender"],setup:function(a,u){var f=u.slots,v=we("breadcrumb",a),S=v.prefixCls,C=v.direction,P=function(c,b){return c=(c||"").replace(/^\//,""),Object.keys(b).forEach(function(k){c=c.replace(":".concat(k),b[k])}),c},w=function(c,b,k){var y=xt(c),I=P(b||"",k);return I&&y.push(I),y},F=function(c){var b=c.routes,k=b===void 0?[]:b,y=c.params,I=y===void 0?{}:y,L=c.separator,R=c.itemRender,T=R===void 0?We:R,z=[];return k.map(function(h){var B=P(h.path,I);B&&z.push(B);var q=[].concat(z),H=null;return h.children&&h.children.length&&(H=r(be,null,{default:function(){return[h.children.map(function(j){return r(be.Item,{key:j.path||j.breadcrumbName},{default:function(){return[T({route:j,params:I,routes:k,paths:w(q,j.path,I)})]}})})]}})),r(Y,{overlay:H,separator:L,key:B||h.breadcrumbName},{default:function(){return[T({route:h,params:I,routes:k,paths:q})]}})})};return function(){var m,c,b,k=a.routes,y=a.params,I=y===void 0?{}:y,L=He(X(f,a)),R=(m=X(f,a,"separator"))!==null&&m!==void 0?m:"/",T=a.itemRender||f.itemRender||We;k&&k.length>0?b=F({routes:k,params:I,separator:R,itemRender:T}):L.length&&(b=L.map(function(h,B){return It(At(h.type)==="object"&&(h.type.__ANT_BREADCRUMB_ITEM||h.type.__ANT_BREADCRUMB_SEPARATOR),"Breadcrumb","Only accepts Breadcrumb.Item and Breadcrumb.Separator as it's children"),Pt(h,{separator:R,key:B})}));var z=(c={},Ne(c,S.value,!0),Ne(c,"".concat(S.value,"-rtl"),C.value==="rtl"),c);return r("div",{class:z},[b])}}});var Sn=["separator","class"],$n=function(){return{prefixCls:String}};const he=Z({compatConfig:{MODE:3},name:"ABreadcrumbSeparator",__ANT_BREADCRUMB_SEPARATOR:!0,inheritAttrs:!1,props:$n(),setup:function(a,u){var f=u.slots,v=u.attrs,S=we("breadcrumb",a),C=S.prefixCls;return function(){var P;v.separator;var w=v.class,F=qe(v,Sn),m=He((P=f.default)===null||P===void 0?void 0:P.call(f));return r("span",ye({class:["".concat(C.value,"-separator"),w]},F),[m.length>0?m:"/"])}}});G.Item=Y;G.Separator=he;G.install=function(s){return s.component(G.name,G),s.component(Y.name,Y),s.component(he.name,he),s};var Fn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M872 474H286.9l350.2-304c5.6-4.9 2.2-14-5.2-14h-88.5c-3.9 0-7.6 1.4-10.5 3.9L155 487.8a31.96 31.96 0 000 48.3L535.1 866c1.5 1.3 3.3 2 5.2 2h91.5c7.4 0 10.8-9.2 5.2-14L286.9 550H872c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z"}}]},name:"arrow-left",theme:"outlined"};const In=Fn;function Ge(s){for(var a=1;a(g(),x("div",xn,[l("span",null,[V(p(a.$t("items",[a.fileNum]))+" ",1),a.selectedFileNum?(g(),x(_e,{key:0},[V(", "+p(a.$t("selectedItems",[a.selectedFileNum])),1)],64)):N("",!0)])]))}});const Mn=Ke(Rn,[["__scopeId","data-v-afd25667"]]),Tn={class:"hint"},Bn={class:"location-bar"},On=["onClick"],Dn={key:3,class:"location-act"},Nn={class:"actions"},Ln=["onClick"],zn=["title"],En=["onClick"],Vn={style:{width:"512px",background:"var(--zp-primary-background)",padding:"16px","border-radius":"4px","box-shadow":"0 0 4px var(--zp-secondary-background)",border:"1px solid var(--zp-secondary-background)"}},jn={style:{padding:"4px"}},Un={style:{padding:"4px"}},Wn={style:{padding:"4px"}},Gn={key:0,style:{padding:"4px"}},qn={style:{padding:"4px"}},Hn={style:{padding:"4px"}},Kn=["onClick"],Qn={key:0,class:"view"},Jn={style:{padding:"16px 0 512px"}},Xn={key:0,class:"preview-switch"},Yn=Z({__name:"stackView",props:{tabIdx:{},paneIdx:{},path:{},mode:{},targetFile:{},openPreview:{type:Boolean},stackKey:{}},setup(s){const a=s,u=Mt(),{scroller:f,stackViewEl:v,props:S,multiSelectedIdxs:C,spinning:P}=on().toRefs();f.value,v.value;const{currLocation:w,currPage:F,refresh:m,copyLocation:c,back:b,openNext:k,stack:y,quickMoveTo:I,addToSearchScanPathAndQuickMove:L,locInputValue:R,isLocationEditing:T,onLocEditEnter:z,onEditBtnClick:h,share:B,selectAll:q,onCreateFloderBtnClick:H,onWalkBtnClick:ee,showWalkButton:j,searchInCurrentDir:se,backToLastUseTo:$e,polling:Je,onPollRefreshClick:Fe}=an(),{gridItems:Xe,sortMethodConv:Ye,moreActionsDropdownShow:te,sortedFiles:M,sortMethod:ie,itemSize:Ie,loadNextDir:Ze,loadNextDirLoading:et,canLoadNext:tt,onScroll:nt,cellWidth:ne,dirCoverCache:ot}=rn(),{onDrop:Ae,onFileDragStart:at,onFileDragEnd:rt,onFileDropToFolder:lt}=ln(),{onFileItemClick:st,onContextMenuClick:Pe,showGenInfo:oe,imageGenInfo:xe,q:it}=sn({openNext:k}),{previewIdx:K,onPreviewVisibleChange:dt,previewing:de,previewImgMove:Re,canPreview:Me,scrollToFileId:ut,scrollToIndex:ct}=dn(),Te=Tt(),{showMenuIdx:ue}=un(),{onClearAllSelected:pt,onReverseSelect:ft,onSelectAll:vt}=cn(),{getGenDiff:mt,changeIndchecked:Q,seedChangeChecked:ae,getRawGenParams:gt,getGenDiffWatchDep:kt}=pn(),yt=async(o,t)=>{await lt(o,t)||await Ae(o)},Ct=()=>{M.value.length!==0&&Ue(M.value,K.value||0)},ce=Bt(!1),bt=async()=>{te.value=!1,ce.value=!0;let o;try{A.loading({content:$("flattenFolderScanning"),key:"flatten",duration:0}),o=await je({folder_path:w.value,dry_run:!0})}catch(t){A.destroy("flatten"),A.error(t.message||String(t)),ce.value=!1;return}if(A.destroy("flatten"),ce.value=!1,o.total_files===0){A.info($("flattenFolderNoFiles"));return}if(o.conflicts.length>0){ke.error({title:$("flattenFolderConflict"),content:E("div",{},[E("p",{},`${$("flattenFolderConflictFiles")}:`),E("ul",{style:"max-height: 300px; overflow-y: auto;"},o.conflicts.map(t=>E("li",{style:"color: red;"},t)))])});return}ke.confirm({title:$("flattenFolder"),content:E("div",{},[E("p",{style:"color: red; font-weight: bold;"},$("flattenFolderWarning")),E("p",{},$("flattenFolderConfirm",{count:o.total_files}))]),okText:$("confirm"),okType:"danger",cancelText:$("cancel"),onOk:async()=>{var t;try{A.loading({content:$("flattenFolderExecuting"),key:"flatten",duration:0});const _=await je({folder_path:w.value,dry_run:!1});A.destroy("flatten"),_.success?(A.success($("flattenFolderSuccess",{count:_.moved_files})),m()):A.error(`${$("error")}: ${(t=_.errors)==null?void 0:t.join(", ")}`)}catch(_){A.destroy("flatten"),A.error(_.message||String(_))}}})};return ge(()=>a,()=>{S.value=a;const o=fn.get(a.stackKey??"");o&&(y.value=o.slice())},{immediate:!0}),ge(()=>Te.visible,(o,t)=>{if(!o&&t){const _=Te.lastActiveId;_&&ut(_)}}),Ot(()=>{const{targetFile:o,openPreview:t}=a;!o||!t||(console.log("StackView mounted with targetFile:",o,"openPreview:",t),Le(()=>{const _=ge(()=>M.value,J=>{if(J&&J.length>0){const U=J.map(pe=>ze(pe.fullpath)).indexOf(ze(o));U!==-1&&(_(),Le(()=>{console.log("Found target file in stack view:",o,"at index",U),ct(U),setTimeout(()=>{Dt(U,v.value)},300)}))}},{immediate:!0});setTimeout(()=>{_()},5e3)}))}),(o,t)=>{const _=Ht,J=Kt,U=ke,pe=Qt,_t=Y,ht=G,Be=Jt,fe=Xt,Oe=be,ve=Qe,wt=nn,re=Yt,De=Zt,St=en,$t=tn;return g(),O($t,{spinning:e(P),size:"large"},{default:i(()=>[r(gn,{show:e(u).keepMultiSelect||!!e(C).length,onClearAllSelected:e(pt),onSelectAll:e(vt),onReverseSelect:e(ft)},null,8,["show","onClearAllSelected","onSelectAll","onReverseSelect"]),r(_,{style:{display:"none"}}),l("div",{ref_key:"stackViewEl",ref:v,onDragover:t[32]||(t[32]=d(()=>{},["prevent"])),onDrop:t[33]||(t[33]=d(n=>e(Ae)(n),["prevent"])),class:"container"},[r(U,{visible:e(oe),"onUpdate:visible":t[1]||(t[1]=n=>D(oe)?oe.value=n:null),width:"70vw","mask-closable":"",onOk:t[2]||(t[2]=n=>oe.value=!1)},{cancelText:i(()=>[]),default:i(()=>[r(J,{active:"",loading:!e(it).isIdle},{default:i(()=>[l("div",{style:{width:"100%","word-break":"break-all","white-space":"pre-line","max-height":"70vh",overflow:"auto","z-index":"9999"},onDblclick:t[0]||(t[0]=n=>e(Nt)(e(xe)))},[l("div",Tn,p(o.$t("doubleClickToCopy")),1),V(" "+p(e(xe)),1)],32)]),_:1},8,["loading"])]),_:1},8,["visible"]),l("div",Bn,[l("div",{class:"breadcrumb",style:Lt({flex:e(T)?1:""})},[e(T)?(g(),O(pe,{key:0,style:{flex:"1"},value:e(R),"onUpdate:value":t[3]||(t[3]=n=>D(R)?R.value=n:null),onClick:t[4]||(t[4]=d(()=>{},["stop"])),onKeydown:t[5]||(t[5]=d(()=>{},["stop"])),onPressEnter:e(z),"allow-clear":""},null,8,["value","onPressEnter"])):(g(),O(ht,{key:1,style:{flex:"1"}},{default:i(()=>[(g(!0),x(_e,null,Ee(e(y),(n,W)=>(g(),O(_t,{key:W},{default:i(()=>[l("a",{onClick:d(me=>e(b)(W),["prevent"])},p(n.curr==="/"?o.$t("root"):n.curr.replace(/:\/$/,o.$t("drive"))),9,On)]),_:2},1024))),128))]),_:1})),e(T)?(g(),O(Be,{key:2,size:"small",onClick:e(z),type:"primary"},{default:i(()=>[V(p(o.$t("go")),1)]),_:1},8,["onClick"])):(g(),x("div",Dn,[o.mode==="scanned-fixed"?(g(),x("a",{key:0,onClick:t[6]||(t[6]=d((...n)=>e($e)&&e($e)(...n),["prevent"])),style:{margin:"0 8px 16px 0"}},[r(e(Pn))])):N("",!0),l("a",{onClick:t[7]||(t[7]=d((...n)=>e(c)&&e(c)(...n),["prevent"])),class:"copy"},p(o.$t("copy")),1),l("a",{onClick:t[8]||(t[8]=d((...n)=>e(h)&&e(h)(...n),["prevent","stop"]))},p(o.$t("edit")),1)]))],4),l("div",Nn,[l("a",{class:"opt",onClick:t[9]||(t[9]=d((...n)=>e(m)&&e(m)(...n),["prevent"]))},p(o.$t("refresh")),1),l("a",{class:"opt",onClick:d(Ct,["prevent"])},p(o.$t("TikTok View")),9,Ln),l("a",{class:"opt",onClick:t[10]||(t[10]=d(n=>e(zt)(e(w)),["prevent"])),title:o.$t("smartOrganizeHint")},p(o.$t("smartOrganize")),9,zn),r(ve,null,{overlay:i(()=>[r(Oe,null,{default:i(()=>[r(fe,{key:"tag-search"},{default:i(()=>[l("a",{onClick:t[12]||(t[12]=d(n=>e(se)("tag-search"),["prevent"]))},p(o.$t("imgSearch")),1)]),_:1}),r(fe,{key:"tag-search"},{default:i(()=>[l("a",{onClick:t[13]||(t[13]=d(n=>e(se)("fuzzy-search"),["prevent"]))},p(o.$t("fuzzy-search")),1)]),_:1})]),_:1})]),default:i(()=>[l("a",{class:"opt",onClick:t[11]||(t[11]=d(()=>{},["prevent"]))},[V(p(o.$t("search"))+" ",1),r(e(Ce))])]),_:1}),e(j)?(g(),x("a",{key:0,class:"opt",onClick:t[14]||(t[14]=d((...n)=>e(ee)&&e(ee)(...n),["prevent"]))}," Walk ")):N("",!0),l("a",{class:"opt",onClick:t[15]||(t[15]=d((...n)=>e(q)&&e(q)(...n),["prevent","stop"]))},p(o.$t("selectAll")),1),r(ve,null,{overlay:i(()=>[r(Oe,null,{default:i(()=>[(g(!0),x(_e,null,Ee(e(u).quickMovePaths,n=>(g(),O(fe,{key:n.dir},{default:i(()=>[l("a",{onClick:d(W=>e(I)(n.dir),["prevent"])},p(n.zh),9,En)]),_:2},1024))),128))]),_:1})]),default:i(()=>[l("a",{class:"opt",onClick:t[16]||(t[16]=d(()=>{},["prevent"]))},[V(p(o.$t("quickMove"))+" ",1),r(e(Ce))])]),_:1}),r(ve,{trigger:["click"],visible:e(te),"onUpdate:visible":t[28]||(t[28]=n=>D(te)?te.value=n:null),placement:"bottomLeft",getPopupContainer:n=>n.parentNode},{overlay:i(()=>[l("div",Vn,[r(St,Et(Vt({labelCol:{span:10},wrapperCol:{span:14}})),{default:i(()=>[r(re,{label:o.$t("gridCellWidth")},{default:i(()=>[r(wt,{modelValue:e(ne),"onUpdate:modelValue":t[18]||(t[18]=n=>D(ne)?ne.value=n:null),max:1024,min:64,step:16},null,8,["modelValue"])]),_:1},8,["label"]),r(re,{label:o.$t("sortingMethod")},{default:i(()=>[r(e(jt),{value:e(ie),"onUpdate:value":t[19]||(t[19]=n=>D(ie)?ie.value=n:null),onClick:t[20]||(t[20]=d(()=>{},["stop"])),conv:e(Ye),options:e(Ut)},null,8,["value","conv","options"])]),_:1},8,["label"]),r(re,{label:o.$t("showChangeIndicators")},{default:i(()=>[r(De,{checked:e(Q),"onUpdate:checked":t[21]||(t[21]=n=>D(Q)?Q.value=n:null),onClick:e(gt)},null,8,["checked","onClick"])]),_:1},8,["label"]),r(re,{label:o.$t("seedAsChange")},{default:i(()=>[r(De,{checked:e(ae),"onUpdate:checked":t[22]||(t[22]=n=>D(ae)?ae.value=n:null),disabled:!e(Q)},null,8,["checked","disabled"])]),_:1},8,["label"]),l("div",jn,[l("a",{onClick:t[23]||(t[23]=d((...n)=>e(L)&&e(L)(...n),["prevent"]))},p(o.$t("addToSearchScanPathAndQuickMove")),1)]),l("div",Un,[l("a",{onClick:t[24]||(t[24]=d(n=>e(Wt)(e(w)+"/"),["prevent"]))},p(o.$t("openWithLocalFileBrowser")),1)]),l("div",Wn,[l("a",{onClick:t[25]||(t[25]=d((...n)=>e(Fe)&&e(Fe)(...n),["prevent"]))},p(e(Je)?o.$t("stopPollRefresh"):o.$t("pollRefresh")),1)]),e(Gt)?N("",!0):(g(),x("div",Gn,[l("a",{onClick:t[26]||(t[26]=d((...n)=>e(B)&&e(B)(...n),["prevent"]))},p(o.$t("share")),1)])),l("div",qn,[l("a",{onClick:t[27]||(t[27]=d((...n)=>e(H)&&e(H)(...n),["prevent"]))},p(o.$t("createFolder")),1)]),l("div",Hn,[l("a",{onClick:d(bt,["prevent"]),style:{color:"#ff4d4f"}},p(o.$t("flattenFolder")),9,Kn)])]),_:1},16)])]),default:i(()=>[l("a",{class:"opt",onClick:t[17]||(t[17]=d(()=>{},["prevent"]))},p(o.$t("more")),1)]),_:1},8,["visible","getPopupContainer"])])]),e(F)?(g(),x("div",Qn,[r(e(vn),{class:"file-list",items:e(M),ref_key:"scroller",ref:f,onScroll:e(nt),"item-size":e(Ie).first,"key-field":"fullpath","item-secondary-size":e(Ie).second,gridItems:e(Xe)},{default:i(({item:n,index:W})=>[r(mn,{idx:parseInt(W),file:n,"full-screen-preview-image-url":e(M)[e(K)]?e(qt)(e(M)[e(K)]):"","show-menu-idx":e(ue),"onUpdate:showMenuIdx":t[29]||(t[29]=me=>D(ue)?ue.value=me:null),selected:e(C).includes(W),"cell-width":e(ne),onFileItemClick:e(st),onDragstart:e(at),onDragend:e(rt),onPreviewVisibleChange:e(dt),onContextMenuClick:e(Pe),onDropToFolder:yt,onTiktokView:(me,Ft)=>e(Ue)(e(M),Ft),"is-selected-mutil-files":e(C).length>1,"enable-change-indicator":e(Q),"seed-change-checked":e(ae),"get-gen-diff":e(mt),"get-gen-diff-watch-dep":e(kt),previewing:e(de),"cover-files":e(ot).get(n.fullpath)},null,8,["idx","file","full-screen-preview-image-url","show-menu-idx","selected","cell-width","onFileItemClick","onDragstart","onDragend","onPreviewVisibleChange","onContextMenuClick","onTiktokView","is-selected-mutil-files","enable-change-indicator","seed-change-checked","get-gen-diff","get-gen-diff-watch-dep","previewing","cover-files"])]),after:i(()=>[l("div",Jn,[a.mode==="walk"?(g(),O(Be,{key:0,onClick:e(Ze),loading:e(et),block:"",type:"primary",disabled:!e(tt),ghost:""},{default:i(()=>[V(p(o.$t("loadNextPage")),1)]),_:1},8,["onClick","loading","disabled"])):N("",!0)])]),_:1},8,["items","onScroll","item-size","item-secondary-size","gridItems"]),e(de)?(g(),x("div",Xn,[r(e(kn),{onClick:t[30]||(t[30]=n=>e(Re)("prev")),class:Ve({disable:!e(Me)("prev")})},null,8,["class"]),r(e(yn),{onClick:t[31]||(t[31]=n=>e(Re)("next")),class:Ve({disable:!e(Me)("next")})},null,8,["class"])])):N("",!0)])):N("",!0)],544),e(de)?(g(),O(Cn,{key:0,file:e(M)[e(K)],idx:e(K),onContextMenuClick:e(Pe)},null,8,["file","idx","onContextMenuClick"])):N("",!0),r(Mn,{"file-num":e(M).length,"selected-file-num":e(C).length},null,8,["file-num","selected-file-num"])]),_:1},8,["spinning"])}}});const io=Ke(Yn,[["__scopeId","data-v-9516e28d"]]);export{io as default}; +import{d as Z,u as we,g as X,_ as qe,c as r,a as ye,P as le,D as Ce,f as He,w as It,b as At,e as Pt,h as Ne,M as be,i as xt,A as Rt,o as g,j as x,k as l,l as V,t as p,F as _e,m as N,n as Ke,p as Mt,q as Tt,r as Bt,s as ge,v as Ot,x as Le,y as ze,z as Dt,B as O,C as i,E as e,G as d,H as D,I as Nt,J as Lt,K as Ee,L as zt,N as Et,O as Vt,S as jt,Q as Ut,R as Wt,T as Gt,U as qt,V as Ve,W as A,X as $,Y as je,Z as ke,$ as E,a0 as Ht,a1 as Kt,a2 as Qt,a3 as Jt,a4 as Xt,a5 as Yt,a6 as Zt,a7 as en,a8 as tn}from"./index-f2db319b.js";import{_ as nn}from"./shortcut-869fab50.js";import{D as Qe}from"./index-29e38a15.js";/* empty css *//* empty css */import{u as on,a as an,b as rn,c as ln,d as sn,e as dn,f as un,g as cn,h as pn,s as fn,o as Ue}from"./index-0d856f16.js";import{s as vn,F as mn}from"./FileItem-72718f68.js";import{M as gn,L as kn,R as yn,f as Cn}from"./MultiSelectKeep-a11efe88.js";import"./_isIterateeCall-dd643bcf.js";var bn=["class","style"],_n=function(){return{prefixCls:String,href:String,separator:le.any,overlay:le.any,onClick:Function}};const Y=Z({compatConfig:{MODE:3},name:"ABreadcrumbItem",inheritAttrs:!1,__ANT_BREADCRUMB_ITEM:!0,props:_n(),slots:["separator","overlay"],setup:function(a,u){var f=u.slots,v=u.attrs,S=we("breadcrumb",a),C=S.prefixCls,P=function(F,m){var c=X(f,a,"overlay");return c?r(Qe,{overlay:c,placement:"bottom"},{default:function(){return[r("span",{class:"".concat(m,"-overlay-link")},[F,r(Ce,null,null)])]}}):F};return function(){var w,F=(w=X(f,a,"separator"))!==null&&w!==void 0?w:"/",m=X(f,a),c=v.class,b=v.style,k=qe(v,bn),y;return a.href!==void 0?y=r("a",ye({class:"".concat(C.value,"-link"),onClick:a.onClick},k),[m]):y=r("span",ye({class:"".concat(C.value,"-link"),onClick:a.onClick},k),[m]),y=P(y,C.value),m?r("span",{class:c,style:b},[y,F&&r("span",{class:"".concat(C.value,"-separator")},[F])]):null}}});var hn=function(){return{prefixCls:String,routes:{type:Array},params:le.any,separator:le.any,itemRender:{type:Function}}};function wn(s,a){if(!s.breadcrumbName)return null;var u=Object.keys(a).join("|"),f=s.breadcrumbName.replace(new RegExp(":(".concat(u,")"),"g"),function(v,S){return a[S]||v});return f}function We(s){var a=s.route,u=s.params,f=s.routes,v=s.paths,S=f.indexOf(a)===f.length-1,C=wn(a,u);return S?r("span",null,[C]):r("a",{href:"#/".concat(v.join("/"))},[C])}const G=Z({compatConfig:{MODE:3},name:"ABreadcrumb",props:hn(),slots:["separator","itemRender"],setup:function(a,u){var f=u.slots,v=we("breadcrumb",a),S=v.prefixCls,C=v.direction,P=function(c,b){return c=(c||"").replace(/^\//,""),Object.keys(b).forEach(function(k){c=c.replace(":".concat(k),b[k])}),c},w=function(c,b,k){var y=xt(c),I=P(b||"",k);return I&&y.push(I),y},F=function(c){var b=c.routes,k=b===void 0?[]:b,y=c.params,I=y===void 0?{}:y,L=c.separator,R=c.itemRender,T=R===void 0?We:R,z=[];return k.map(function(h){var B=P(h.path,I);B&&z.push(B);var q=[].concat(z),H=null;return h.children&&h.children.length&&(H=r(be,null,{default:function(){return[h.children.map(function(j){return r(be.Item,{key:j.path||j.breadcrumbName},{default:function(){return[T({route:j,params:I,routes:k,paths:w(q,j.path,I)})]}})})]}})),r(Y,{overlay:H,separator:L,key:B||h.breadcrumbName},{default:function(){return[T({route:h,params:I,routes:k,paths:q})]}})})};return function(){var m,c,b,k=a.routes,y=a.params,I=y===void 0?{}:y,L=He(X(f,a)),R=(m=X(f,a,"separator"))!==null&&m!==void 0?m:"/",T=a.itemRender||f.itemRender||We;k&&k.length>0?b=F({routes:k,params:I,separator:R,itemRender:T}):L.length&&(b=L.map(function(h,B){return It(At(h.type)==="object"&&(h.type.__ANT_BREADCRUMB_ITEM||h.type.__ANT_BREADCRUMB_SEPARATOR),"Breadcrumb","Only accepts Breadcrumb.Item and Breadcrumb.Separator as it's children"),Pt(h,{separator:R,key:B})}));var z=(c={},Ne(c,S.value,!0),Ne(c,"".concat(S.value,"-rtl"),C.value==="rtl"),c);return r("div",{class:z},[b])}}});var Sn=["separator","class"],$n=function(){return{prefixCls:String}};const he=Z({compatConfig:{MODE:3},name:"ABreadcrumbSeparator",__ANT_BREADCRUMB_SEPARATOR:!0,inheritAttrs:!1,props:$n(),setup:function(a,u){var f=u.slots,v=u.attrs,S=we("breadcrumb",a),C=S.prefixCls;return function(){var P;v.separator;var w=v.class,F=qe(v,Sn),m=He((P=f.default)===null||P===void 0?void 0:P.call(f));return r("span",ye({class:["".concat(C.value,"-separator"),w]},F),[m.length>0?m:"/"])}}});G.Item=Y;G.Separator=he;G.install=function(s){return s.component(G.name,G),s.component(Y.name,Y),s.component(he.name,he),s};var Fn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M872 474H286.9l350.2-304c5.6-4.9 2.2-14-5.2-14h-88.5c-3.9 0-7.6 1.4-10.5 3.9L155 487.8a31.96 31.96 0 000 48.3L535.1 866c1.5 1.3 3.3 2 5.2 2h91.5c7.4 0 10.8-9.2 5.2-14L286.9 550H872c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z"}}]},name:"arrow-left",theme:"outlined"};const In=Fn;function Ge(s){for(var a=1;a(g(),x("div",xn,[l("span",null,[V(p(a.$t("items",[a.fileNum]))+" ",1),a.selectedFileNum?(g(),x(_e,{key:0},[V(", "+p(a.$t("selectedItems",[a.selectedFileNum])),1)],64)):N("",!0)])]))}});const Mn=Ke(Rn,[["__scopeId","data-v-afd25667"]]),Tn={class:"hint"},Bn={class:"location-bar"},On=["onClick"],Dn={key:3,class:"location-act"},Nn={class:"actions"},Ln=["onClick"],zn=["title"],En=["onClick"],Vn={style:{width:"512px",background:"var(--zp-primary-background)",padding:"16px","border-radius":"4px","box-shadow":"0 0 4px var(--zp-secondary-background)",border:"1px solid var(--zp-secondary-background)"}},jn={style:{padding:"4px"}},Un={style:{padding:"4px"}},Wn={style:{padding:"4px"}},Gn={key:0,style:{padding:"4px"}},qn={style:{padding:"4px"}},Hn={style:{padding:"4px"}},Kn=["onClick"],Qn={key:0,class:"view"},Jn={style:{padding:"16px 0 512px"}},Xn={key:0,class:"preview-switch"},Yn=Z({__name:"stackView",props:{tabIdx:{},paneIdx:{},path:{},mode:{},targetFile:{},openPreview:{type:Boolean},stackKey:{}},setup(s){const a=s,u=Mt(),{scroller:f,stackViewEl:v,props:S,multiSelectedIdxs:C,spinning:P}=on().toRefs();f.value,v.value;const{currLocation:w,currPage:F,refresh:m,copyLocation:c,back:b,openNext:k,stack:y,quickMoveTo:I,addToSearchScanPathAndQuickMove:L,locInputValue:R,isLocationEditing:T,onLocEditEnter:z,onEditBtnClick:h,share:B,selectAll:q,onCreateFloderBtnClick:H,onWalkBtnClick:ee,showWalkButton:j,searchInCurrentDir:se,backToLastUseTo:$e,polling:Je,onPollRefreshClick:Fe}=an(),{gridItems:Xe,sortMethodConv:Ye,moreActionsDropdownShow:te,sortedFiles:M,sortMethod:ie,itemSize:Ie,loadNextDir:Ze,loadNextDirLoading:et,canLoadNext:tt,onScroll:nt,cellWidth:ne,dirCoverCache:ot}=rn(),{onDrop:Ae,onFileDragStart:at,onFileDragEnd:rt,onFileDropToFolder:lt}=ln(),{onFileItemClick:st,onContextMenuClick:Pe,showGenInfo:oe,imageGenInfo:xe,q:it}=sn({openNext:k}),{previewIdx:K,onPreviewVisibleChange:dt,previewing:de,previewImgMove:Re,canPreview:Me,scrollToFileId:ut,scrollToIndex:ct}=dn(),Te=Tt(),{showMenuIdx:ue}=un(),{onClearAllSelected:pt,onReverseSelect:ft,onSelectAll:vt}=cn(),{getGenDiff:mt,changeIndchecked:Q,seedChangeChecked:ae,getRawGenParams:gt,getGenDiffWatchDep:kt}=pn(),yt=async(o,t)=>{await lt(o,t)||await Ae(o)},Ct=()=>{M.value.length!==0&&Ue(M.value,K.value||0)},ce=Bt(!1),bt=async()=>{te.value=!1,ce.value=!0;let o;try{A.loading({content:$("flattenFolderScanning"),key:"flatten",duration:0}),o=await je({folder_path:w.value,dry_run:!0})}catch(t){A.destroy("flatten"),A.error(t.message||String(t)),ce.value=!1;return}if(A.destroy("flatten"),ce.value=!1,o.total_files===0){A.info($("flattenFolderNoFiles"));return}if(o.conflicts.length>0){ke.error({title:$("flattenFolderConflict"),content:E("div",{},[E("p",{},`${$("flattenFolderConflictFiles")}:`),E("ul",{style:"max-height: 300px; overflow-y: auto;"},o.conflicts.map(t=>E("li",{style:"color: red;"},t)))])});return}ke.confirm({title:$("flattenFolder"),content:E("div",{},[E("p",{style:"color: red; font-weight: bold;"},$("flattenFolderWarning")),E("p",{},$("flattenFolderConfirm",{count:o.total_files}))]),okText:$("confirm"),okType:"danger",cancelText:$("cancel"),onOk:async()=>{var t;try{A.loading({content:$("flattenFolderExecuting"),key:"flatten",duration:0});const _=await je({folder_path:w.value,dry_run:!1});A.destroy("flatten"),_.success?(A.success($("flattenFolderSuccess",{count:_.moved_files})),m()):A.error(`${$("error")}: ${(t=_.errors)==null?void 0:t.join(", ")}`)}catch(_){A.destroy("flatten"),A.error(_.message||String(_))}}})};return ge(()=>a,()=>{S.value=a;const o=fn.get(a.stackKey??"");o&&(y.value=o.slice())},{immediate:!0}),ge(()=>Te.visible,(o,t)=>{if(!o&&t){const _=Te.lastActiveId;_&&ut(_)}}),Ot(()=>{const{targetFile:o,openPreview:t}=a;!o||!t||(console.log("StackView mounted with targetFile:",o,"openPreview:",t),Le(()=>{const _=ge(()=>M.value,J=>{if(J&&J.length>0){const U=J.map(pe=>ze(pe.fullpath)).indexOf(ze(o));U!==-1&&(_(),Le(()=>{console.log("Found target file in stack view:",o,"at index",U),ct(U),setTimeout(()=>{Dt(U,v.value)},300)}))}},{immediate:!0});setTimeout(()=>{_()},5e3)}))}),(o,t)=>{const _=Ht,J=Kt,U=ke,pe=Qt,_t=Y,ht=G,Be=Jt,fe=Xt,Oe=be,ve=Qe,wt=nn,re=Yt,De=Zt,St=en,$t=tn;return g(),O($t,{spinning:e(P),size:"large"},{default:i(()=>[r(gn,{show:e(u).keepMultiSelect||!!e(C).length,onClearAllSelected:e(pt),onSelectAll:e(vt),onReverseSelect:e(ft)},null,8,["show","onClearAllSelected","onSelectAll","onReverseSelect"]),r(_,{style:{display:"none"}}),l("div",{ref_key:"stackViewEl",ref:v,onDragover:t[32]||(t[32]=d(()=>{},["prevent"])),onDrop:t[33]||(t[33]=d(n=>e(Ae)(n),["prevent"])),class:"container"},[r(U,{visible:e(oe),"onUpdate:visible":t[1]||(t[1]=n=>D(oe)?oe.value=n:null),width:"70vw","mask-closable":"",onOk:t[2]||(t[2]=n=>oe.value=!1)},{cancelText:i(()=>[]),default:i(()=>[r(J,{active:"",loading:!e(it).isIdle},{default:i(()=>[l("div",{style:{width:"100%","word-break":"break-all","white-space":"pre-line","max-height":"70vh",overflow:"auto","z-index":"9999"},onDblclick:t[0]||(t[0]=n=>e(Nt)(e(xe)))},[l("div",Tn,p(o.$t("doubleClickToCopy")),1),V(" "+p(e(xe)),1)],32)]),_:1},8,["loading"])]),_:1},8,["visible"]),l("div",Bn,[l("div",{class:"breadcrumb",style:Lt({flex:e(T)?1:""})},[e(T)?(g(),O(pe,{key:0,style:{flex:"1"},value:e(R),"onUpdate:value":t[3]||(t[3]=n=>D(R)?R.value=n:null),onClick:t[4]||(t[4]=d(()=>{},["stop"])),onKeydown:t[5]||(t[5]=d(()=>{},["stop"])),onPressEnter:e(z),"allow-clear":""},null,8,["value","onPressEnter"])):(g(),O(ht,{key:1,style:{flex:"1"}},{default:i(()=>[(g(!0),x(_e,null,Ee(e(y),(n,W)=>(g(),O(_t,{key:W},{default:i(()=>[l("a",{onClick:d(me=>e(b)(W),["prevent"])},p(n.curr==="/"?o.$t("root"):n.curr.replace(/:\/$/,o.$t("drive"))),9,On)]),_:2},1024))),128))]),_:1})),e(T)?(g(),O(Be,{key:2,size:"small",onClick:e(z),type:"primary"},{default:i(()=>[V(p(o.$t("go")),1)]),_:1},8,["onClick"])):(g(),x("div",Dn,[o.mode==="scanned-fixed"?(g(),x("a",{key:0,onClick:t[6]||(t[6]=d((...n)=>e($e)&&e($e)(...n),["prevent"])),style:{margin:"0 8px 16px 0"}},[r(e(Pn))])):N("",!0),l("a",{onClick:t[7]||(t[7]=d((...n)=>e(c)&&e(c)(...n),["prevent"])),class:"copy"},p(o.$t("copy")),1),l("a",{onClick:t[8]||(t[8]=d((...n)=>e(h)&&e(h)(...n),["prevent","stop"]))},p(o.$t("edit")),1)]))],4),l("div",Nn,[l("a",{class:"opt",onClick:t[9]||(t[9]=d((...n)=>e(m)&&e(m)(...n),["prevent"]))},p(o.$t("refresh")),1),l("a",{class:"opt",onClick:d(Ct,["prevent"])},p(o.$t("TikTok View")),9,Ln),l("a",{class:"opt",onClick:t[10]||(t[10]=d(n=>e(zt)(e(w)),["prevent"])),title:o.$t("smartOrganizeHint")},p(o.$t("smartOrganize")),9,zn),r(ve,null,{overlay:i(()=>[r(Oe,null,{default:i(()=>[r(fe,{key:"tag-search"},{default:i(()=>[l("a",{onClick:t[12]||(t[12]=d(n=>e(se)("tag-search"),["prevent"]))},p(o.$t("imgSearch")),1)]),_:1}),r(fe,{key:"tag-search"},{default:i(()=>[l("a",{onClick:t[13]||(t[13]=d(n=>e(se)("fuzzy-search"),["prevent"]))},p(o.$t("fuzzy-search")),1)]),_:1})]),_:1})]),default:i(()=>[l("a",{class:"opt",onClick:t[11]||(t[11]=d(()=>{},["prevent"]))},[V(p(o.$t("search"))+" ",1),r(e(Ce))])]),_:1}),e(j)?(g(),x("a",{key:0,class:"opt",onClick:t[14]||(t[14]=d((...n)=>e(ee)&&e(ee)(...n),["prevent"]))}," Walk ")):N("",!0),l("a",{class:"opt",onClick:t[15]||(t[15]=d((...n)=>e(q)&&e(q)(...n),["prevent","stop"]))},p(o.$t("selectAll")),1),r(ve,null,{overlay:i(()=>[r(Oe,null,{default:i(()=>[(g(!0),x(_e,null,Ee(e(u).quickMovePaths,n=>(g(),O(fe,{key:n.dir},{default:i(()=>[l("a",{onClick:d(W=>e(I)(n.dir),["prevent"])},p(n.zh),9,En)]),_:2},1024))),128))]),_:1})]),default:i(()=>[l("a",{class:"opt",onClick:t[16]||(t[16]=d(()=>{},["prevent"]))},[V(p(o.$t("quickMove"))+" ",1),r(e(Ce))])]),_:1}),r(ve,{trigger:["click"],visible:e(te),"onUpdate:visible":t[28]||(t[28]=n=>D(te)?te.value=n:null),placement:"bottomLeft",getPopupContainer:n=>n.parentNode},{overlay:i(()=>[l("div",Vn,[r(St,Et(Vt({labelCol:{span:10},wrapperCol:{span:14}})),{default:i(()=>[r(re,{label:o.$t("gridCellWidth")},{default:i(()=>[r(wt,{modelValue:e(ne),"onUpdate:modelValue":t[18]||(t[18]=n=>D(ne)?ne.value=n:null),max:1024,min:64,step:16},null,8,["modelValue"])]),_:1},8,["label"]),r(re,{label:o.$t("sortingMethod")},{default:i(()=>[r(e(jt),{value:e(ie),"onUpdate:value":t[19]||(t[19]=n=>D(ie)?ie.value=n:null),onClick:t[20]||(t[20]=d(()=>{},["stop"])),conv:e(Ye),options:e(Ut)},null,8,["value","conv","options"])]),_:1},8,["label"]),r(re,{label:o.$t("showChangeIndicators")},{default:i(()=>[r(De,{checked:e(Q),"onUpdate:checked":t[21]||(t[21]=n=>D(Q)?Q.value=n:null),onClick:e(gt)},null,8,["checked","onClick"])]),_:1},8,["label"]),r(re,{label:o.$t("seedAsChange")},{default:i(()=>[r(De,{checked:e(ae),"onUpdate:checked":t[22]||(t[22]=n=>D(ae)?ae.value=n:null),disabled:!e(Q)},null,8,["checked","disabled"])]),_:1},8,["label"]),l("div",jn,[l("a",{onClick:t[23]||(t[23]=d((...n)=>e(L)&&e(L)(...n),["prevent"]))},p(o.$t("addToSearchScanPathAndQuickMove")),1)]),l("div",Un,[l("a",{onClick:t[24]||(t[24]=d(n=>e(Wt)(e(w)+"/"),["prevent"]))},p(o.$t("openWithLocalFileBrowser")),1)]),l("div",Wn,[l("a",{onClick:t[25]||(t[25]=d((...n)=>e(Fe)&&e(Fe)(...n),["prevent"]))},p(e(Je)?o.$t("stopPollRefresh"):o.$t("pollRefresh")),1)]),e(Gt)?N("",!0):(g(),x("div",Gn,[l("a",{onClick:t[26]||(t[26]=d((...n)=>e(B)&&e(B)(...n),["prevent"]))},p(o.$t("share")),1)])),l("div",qn,[l("a",{onClick:t[27]||(t[27]=d((...n)=>e(H)&&e(H)(...n),["prevent"]))},p(o.$t("createFolder")),1)]),l("div",Hn,[l("a",{onClick:d(bt,["prevent"]),style:{color:"#ff4d4f"}},p(o.$t("flattenFolder")),9,Kn)])]),_:1},16)])]),default:i(()=>[l("a",{class:"opt",onClick:t[17]||(t[17]=d(()=>{},["prevent"]))},p(o.$t("more")),1)]),_:1},8,["visible","getPopupContainer"])])]),e(F)?(g(),x("div",Qn,[r(e(vn),{class:"file-list",items:e(M),ref_key:"scroller",ref:f,onScroll:e(nt),"item-size":e(Ie).first,"key-field":"fullpath","item-secondary-size":e(Ie).second,gridItems:e(Xe)},{default:i(({item:n,index:W})=>[r(mn,{idx:parseInt(W),file:n,"full-screen-preview-image-url":e(M)[e(K)]?e(qt)(e(M)[e(K)]):"","show-menu-idx":e(ue),"onUpdate:showMenuIdx":t[29]||(t[29]=me=>D(ue)?ue.value=me:null),selected:e(C).includes(W),"cell-width":e(ne),onFileItemClick:e(st),onDragstart:e(at),onDragend:e(rt),onPreviewVisibleChange:e(dt),onContextMenuClick:e(Pe),onDropToFolder:yt,onTiktokView:(me,Ft)=>e(Ue)(e(M),Ft),"is-selected-mutil-files":e(C).length>1,"enable-change-indicator":e(Q),"seed-change-checked":e(ae),"get-gen-diff":e(mt),"get-gen-diff-watch-dep":e(kt),previewing:e(de),"cover-files":e(ot).get(n.fullpath)},null,8,["idx","file","full-screen-preview-image-url","show-menu-idx","selected","cell-width","onFileItemClick","onDragstart","onDragend","onPreviewVisibleChange","onContextMenuClick","onTiktokView","is-selected-mutil-files","enable-change-indicator","seed-change-checked","get-gen-diff","get-gen-diff-watch-dep","previewing","cover-files"])]),after:i(()=>[l("div",Jn,[a.mode==="walk"?(g(),O(Be,{key:0,onClick:e(Ze),loading:e(et),block:"",type:"primary",disabled:!e(tt),ghost:""},{default:i(()=>[V(p(o.$t("loadNextPage")),1)]),_:1},8,["onClick","loading","disabled"])):N("",!0)])]),_:1},8,["items","onScroll","item-size","item-secondary-size","gridItems"]),e(de)?(g(),x("div",Xn,[r(e(kn),{onClick:t[30]||(t[30]=n=>e(Re)("prev")),class:Ve({disable:!e(Me)("prev")})},null,8,["class"]),r(e(yn),{onClick:t[31]||(t[31]=n=>e(Re)("next")),class:Ve({disable:!e(Me)("next")})},null,8,["class"])])):N("",!0)])):N("",!0)],544),e(de)?(g(),O(Cn,{key:0,file:e(M)[e(K)],idx:e(K),onContextMenuClick:e(Pe)},null,8,["file","idx","onContextMenuClick"])):N("",!0),r(Mn,{"file-num":e(M).length,"selected-file-num":e(C).length},null,8,["file-num","selected-file-num"])]),_:1},8,["spinning"])}}});const io=Ke(Yn,[["__scopeId","data-v-9516e28d"]]);export{io as default}; diff --git a/vue/dist/index.html b/vue/dist/index.html index b07af90..be3e2ae 100644 --- a/vue/dist/index.html +++ b/vue/dist/index.html @@ -7,7 +7,7 @@ Infinite Image Browsing - + diff --git a/vue/src/components/FileItem.vue b/vue/src/components/FileItem.vue index c0d18b1..867ad52 100644 --- a/vue/src/components/FileItem.vue +++ b/vue/src/components/FileItem.vue @@ -6,7 +6,7 @@ import type { FileNodeInfo } from '@/api/files' import { isImageFile, isVideoFile, isAudioFile } from '@/util' import { toImageThumbnailUrl, toVideoCoverUrl, toRawFileUrl } from '@/util/file' import type { MenuInfo } from 'ant-design-vue/lib/menu/src/interface' -import { computed, ref } from 'vue' +import { computed, ref, nextTick, watch } from 'vue' import ContextMenu from './ContextMenu.vue' import ChangeIndicator from './ChangeIndicator.vue' import { useTagStore } from '@/store/useTagStore' @@ -16,10 +16,12 @@ import { openVideoModal, openAudioModal } from './functionalCallableComp' import type { GenDiffInfo } from '@/api/files' import { play } from '@/icon' import { Top4MediaInfo } from '@/api' -import { watch } from 'vue' import { debounce } from 'lodash-es' - import { closeImageFullscreenPreview } from '@/util/imagePreviewOperation' +import { eventEmitter as videoEventEmitter, useEventListen } from './videoEventEmitter' +import { useI18n } from 'vue-i18n' + +const { t } = useI18n() const global = useGlobalStore() const tagStore = useTagStore() @@ -97,6 +99,75 @@ const taggleLikeTag = () => { const minShowDetailWidth = 160 +// 视频原地播放相关 +const isPlayingInline = ref(false) +const videoElementRef = ref(null) + +// 切换原地播放 +const toggleInlinePlay = (event: MouseEvent) => { + console.log('toggleInlinePlay', { event, isPlayingInline: isPlayingInline.value, videoRef: videoElementRef.value }) + event.stopPropagation() + + // 如果要开始播放,先通知其他视频停止 + if (!isPlayingInline.value) { + videoEventEmitter.emit('stopInlinePlay') + } + + // 先切换状态,让video元素渲染出来 + isPlayingInline.value = !isPlayingInline.value + + // 使用 nextTick 确保 video 元素已经渲染 + if (!isPlayingInline.value) { + // 如果是暂停,直接暂停 + if (videoElementRef.value) { + videoElementRef.value.pause() + } + } else { + // 如果是播放,等待DOM更新后再播放 + nextTick(() => { + if (videoElementRef.value) { + console.log('Playing video', videoElementRef.value) + videoElementRef.value.play().catch(err => { + console.error('Play failed:', err) + isPlayingInline.value = false + }) + } else { + console.error('Video ref is null after nextTick') + isPlayingInline.value = false + } + }) + } +} + +// 处理其他视频播放的通知 +const handleStopInlinePlay = () => { + if (isPlayingInline.value && videoElementRef.value) { + videoElementRef.value.pause() + isPlayingInline.value = false + } +} + +// 监听停止事件 +useEventListen('stopInlinePlay', handleStopInlinePlay) + +// 视频播放结束处理 +const handleVideoEnded = () => { + isPlayingInline.value = false +} + +// 判断是否显示原地播放按钮(宽度大于400且未在播放) +const shouldShowInlinePlayBtn = computed(() => { + return props.cellWidth > 400 && !isPlayingInline.value +}) + +// 监听 idx 变化,如果正在播放则停止 +watch(() => props.idx, () => { + if (isPlayingInline.value && videoElementRef.value) { + videoElementRef.value.pause() + isPlayingInline.value = false + } +}) + const handleDragOver = (event: DragEvent) => { if (props.file.type !== 'dir') { return @@ -136,13 +207,22 @@ const handleFileClick = (event: MouseEvent) => { // 处理视频点击事件 const handleVideoClick = () => { + // 如果正在原地播放,先停止播放 + if (isPlayingInline.value) { + isPlayingInline.value = false + if (videoElementRef.value) { + videoElementRef.value.pause() + } + return + } + if (global.magicSwitchTiktokView) { // 直接触发TikTok视图 emit('tiktokView', props.file, props.idx) } else { // 正常打开视频模态框 openVideoModal( - props.file, + props.file, (id) => emit('contextMenuClick', { key: `toggle-tag-${id}` } as any, props.file, props.idx), () => emit('tiktokView', props.file, props.idx) ) @@ -222,11 +302,31 @@ const handleAudioClick = () => { -
-
+ +