From 5e061010b836e40d8e7f77ff73ea30e5f039ed4b Mon Sep 17 00:00:00 2001 From: zanllp Date: Sun, 22 Feb 2026 22:34:24 +0800 Subject: [PATCH] feat: add tips carousel component with 10 multilingual tips - Add TipsCarousel component with random shuffling (Fisher-Yates) - Display 10 tips in 4 languages (zh-hans, en, zh-hant, de) - Tips include filename uniqueness, batch operations, shortcuts, AI clustering, fuzzy search regex, walk mode, workspace snapshots, auto-tagging, performance optimization, and AI agent integration - Integrate TipsCarousel into TagSearch and SubstrSearch pages - Auto-rotate every 10 seconds with smooth fade transitions - Support dismissing warning tips via localStorage - Compact horizontal layout for minimal space usage Co-Authored-By: Claude Sonnet 4.6 --- javascript/index.js | 2 +- vue/components.d.ts | 1 + ...eItem-ab6bf09c.js => FileItem-aa47825a.js} | 2 +- ...efc8e1b8.js => ImgSliPagePane-dfc4a469.js} | 2 +- ...fc9b14.js => MatchedImageGrid-30230c17.js} | 2 +- ...63cc47.js => MatchedImageGrid-e17e54d4.js} | 2 +- ...448072f.js => MultiSelectKeep-56b94e1f.js} | 2 +- vue/dist/assets/SubstrSearch-1b7f0fea.js | 1 + vue/dist/assets/SubstrSearch-7eea79b7.css | 1 + vue/dist/assets/SubstrSearch-855a2a59.js | 1 - vue/dist/assets/SubstrSearch-ff64bca4.css | 1 - vue/dist/assets/TagSearch-818f8831.js | 15 ++ ...ch-844d50a7.css => TagSearch-936bbb36.css} | 2 +- vue/dist/assets/TagSearch-a5d97cf0.js | 15 -- vue/dist/assets/TipsCarousel-23a4bc9c.css | 1 + vue/dist/assets/TipsCarousel-4f02731b.js | 3 + ...ch-4cc0ebb6.js => TopicSearch-05f7b29c.js} | 2 +- ...b321415.js => _isIterateeCall-16c5cf9c.js} | 2 +- ...-4987c26a.js => batchDownload-e250ee26.js} | 2 +- ...p-c47d9762.js => emptyStartup-35a5d062.js} | 2 +- ...-c235b96e.js => globalSetting-bdaa1c5e.js} | 2 +- ...dView-a16cb29a.js => gridView-ddcc92b5.js} | 2 +- .../{hook-88a5eca7.js => hook-e2eaf999.js} | 2 +- .../{index-5573ae38.js => index-32743103.js} | 162 +++++++++---- .../{index-10e5d5f2.js => index-8565d02c.js} | 2 +- .../{index-de6cda7b.js => index-c80754a2.js} | 6 +- .../{index-5e569728.js => index-e1a70e12.js} | 2 +- ...ge-7261e756.js => randomImage-e636ca3e.js} | 2 +- vue/dist/assets/searchHistory-be64cffe.js | 1 - vue/dist/assets/searchHistory-d0561c22.css | 1 - ...rtcut-f44c6c9d.js => shortcut-3129f75b.js} | 2 +- ...View-8d68da7b.js => stackView-19fe464d.js} | 2 +- vue/dist/index.html | 2 +- vue/src/components/TipsCarousel.vue | 227 ++++++++++++++++++ vue/src/i18n/de.ts | 14 +- vue/src/i18n/en.ts | 14 +- vue/src/i18n/zh-hans.ts | 14 +- vue/src/i18n/zh-hant.ts | 14 +- vue/src/page/TagSearch/SubstrSearch.vue | 7 + vue/src/page/TagSearch/TagSearch.vue | 6 +- 40 files changed, 455 insertions(+), 90 deletions(-) rename vue/dist/assets/{FileItem-ab6bf09c.js => FileItem-aa47825a.js} (98%) rename vue/dist/assets/{ImgSliPagePane-efc8e1b8.js => ImgSliPagePane-dfc4a469.js} (64%) rename vue/dist/assets/{MatchedImageGrid-71fc9b14.js => MatchedImageGrid-30230c17.js} (92%) rename vue/dist/assets/{MatchedImageGrid-d163cc47.js => MatchedImageGrid-e17e54d4.js} (91%) rename vue/dist/assets/{MultiSelectKeep-e448072f.js => MultiSelectKeep-56b94e1f.js} (99%) create mode 100644 vue/dist/assets/SubstrSearch-1b7f0fea.js create mode 100644 vue/dist/assets/SubstrSearch-7eea79b7.css delete mode 100644 vue/dist/assets/SubstrSearch-855a2a59.js delete mode 100644 vue/dist/assets/SubstrSearch-ff64bca4.css create mode 100644 vue/dist/assets/TagSearch-818f8831.js rename vue/dist/assets/{TagSearch-844d50a7.css => TagSearch-936bbb36.css} (96%) delete mode 100644 vue/dist/assets/TagSearch-a5d97cf0.js create mode 100644 vue/dist/assets/TipsCarousel-23a4bc9c.css create mode 100644 vue/dist/assets/TipsCarousel-4f02731b.js rename vue/dist/assets/{TopicSearch-4cc0ebb6.js => TopicSearch-05f7b29c.js} (99%) rename vue/dist/assets/{_isIterateeCall-bb321415.js => _isIterateeCall-16c5cf9c.js} (68%) rename vue/dist/assets/{batchDownload-4987c26a.js => batchDownload-e250ee26.js} (85%) rename vue/dist/assets/{emptyStartup-c47d9762.js => emptyStartup-35a5d062.js} (99%) rename vue/dist/assets/{globalSetting-c235b96e.js => globalSetting-bdaa1c5e.js} (99%) rename vue/dist/assets/{gridView-a16cb29a.js => gridView-ddcc92b5.js} (75%) rename vue/dist/assets/{hook-88a5eca7.js => hook-e2eaf999.js} (95%) rename vue/dist/assets/{index-5573ae38.js => index-32743103.js} (77%) rename vue/dist/assets/{index-10e5d5f2.js => index-8565d02c.js} (91%) rename vue/dist/assets/{index-de6cda7b.js => index-c80754a2.js} (82%) rename vue/dist/assets/{index-5e569728.js => index-e1a70e12.js} (73%) rename vue/dist/assets/{randomImage-7261e756.js => randomImage-e636ca3e.js} (81%) delete mode 100644 vue/dist/assets/searchHistory-be64cffe.js delete mode 100644 vue/dist/assets/searchHistory-d0561c22.css rename vue/dist/assets/{shortcut-f44c6c9d.js => shortcut-3129f75b.js} (98%) rename vue/dist/assets/{stackView-8d68da7b.js => stackView-19fe464d.js} (98%) create mode 100644 vue/src/components/TipsCarousel.vue diff --git a/javascript/index.js b/javascript/index.js index 3faccd1..afc9d25 100644 --- a/javascript/index.js +++ b/javascript/index.js @@ -13,7 +13,7 @@ Promise.resolve().then(async () => { Infinite Image Browsing - + diff --git a/vue/components.d.ts b/vue/components.d.ts index d8b6df0..0cc38d6 100644 --- a/vue/components.d.ts +++ b/vue/components.d.ts @@ -62,5 +62,6 @@ declare module '@vue/runtime-core' { RouterLink: typeof import('vue-router')['RouterLink'] RouterView: typeof import('vue-router')['RouterView'] SmartOrganizeConfigModal: typeof import('./src/components/SmartOrganizeConfigModal.vue')['default'] + TipsCarousel: typeof import('./src/components/TipsCarousel.vue')['default'] } } diff --git a/vue/dist/assets/FileItem-ab6bf09c.js b/vue/dist/assets/FileItem-aa47825a.js similarity index 98% rename from vue/dist/assets/FileItem-ab6bf09c.js rename to vue/dist/assets/FileItem-aa47825a.js index 1a52239..3318d9c 100644 --- a/vue/dist/assets/FileItem-ab6bf09c.js +++ b/vue/dist/assets/FileItem-aa47825a.js @@ -1,2 +1,2 @@ -import{c as y,A as Z,aw as re,ax as ae,x as De,o as s,B as S,cu as Le,cv as Je,cw as He,bh as Ue,cx 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,cy 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,cz as qe,a4 as Pe,cq as Ze,cp as xe,M as Oe,k as o,n as $e,cd as Xe,bm as et,r as ve,ay as tt,s as it,cA as ye,U as nt,cB as st,cj as ot,cC as lt,cD as rt,cE as be,cF as at,cG as ee,cH as dt,cI as ut,ar as ft,ci as ct,cJ as ht,cK as gt,cL as pt,bQ as mt}from"./index-5573ae38.js";import{D as U,a as ie}from"./index-5e569728.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);n0)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/ImgSliPagePane-efc8e1b8.js b/vue/dist/assets/ImgSliPagePane-dfc4a469.js similarity index 64% rename from vue/dist/assets/ImgSliPagePane-efc8e1b8.js rename to vue/dist/assets/ImgSliPagePane-dfc4a469.js index 55d8ba4..c65c556 100644 --- a/vue/dist/assets/ImgSliPagePane-efc8e1b8.js +++ b/vue/dist/assets/ImgSliPagePane-dfc4a469.js @@ -1 +1 @@ -import{d as a,o as t,j as n,c as s,c0 as _,n as o}from"./index-5573ae38.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-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}; diff --git a/vue/dist/assets/MatchedImageGrid-71fc9b14.js b/vue/dist/assets/MatchedImageGrid-30230c17.js similarity index 92% rename from vue/dist/assets/MatchedImageGrid-71fc9b14.js rename to vue/dist/assets/MatchedImageGrid-30230c17.js index 55f35ab..2e2bedb 100644 --- a/vue/dist/assets/MatchedImageGrid-71fc9b14.js +++ b/vue/dist/assets/MatchedImageGrid-30230c17.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-5573ae38.js";import{L as Ve,R as $e,f as De,M as Fe}from"./MultiSelectKeep-e448072f.js";import{s as Be,F as Re}from"./FileItem-ab6bf09c.js";import{c as Ge,u as ze}from"./hook-88a5eca7.js";import{g as Ue,o as J}from"./index-de6cda7b.js";/* empty css */import"./index-5e569728.js";import"./shortcut-f44c6c9d.js";import"./_isIterateeCall-bb321415.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-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}; diff --git a/vue/dist/assets/MatchedImageGrid-d163cc47.js b/vue/dist/assets/MatchedImageGrid-e17e54d4.js similarity index 91% rename from vue/dist/assets/MatchedImageGrid-d163cc47.js rename to vue/dist/assets/MatchedImageGrid-e17e54d4.js index 5484479..ed91604 100644 --- a/vue/dist/assets/MatchedImageGrid-d163cc47.js +++ b/vue/dist/assets/MatchedImageGrid-e17e54d4.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-5573ae38.js";import{L as ye,R as Me,f as Ae,M as Ve}from"./MultiSelectKeep-e448072f.js";import{s as Fe,F as De}from"./FileItem-ab6bf09c.js";import{u as ze}from"./hook-88a5eca7.js";import{g as Ge,o as P}from"./index-de6cda7b.js";/* empty css */import"./index-5e569728.js";import"./shortcut-f44c6c9d.js";import"./_isIterateeCall-bb321415.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-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}; diff --git a/vue/dist/assets/MultiSelectKeep-e448072f.js b/vue/dist/assets/MultiSelectKeep-56b94e1f.js similarity index 99% rename from vue/dist/assets/MultiSelectKeep-e448072f.js rename to vue/dist/assets/MultiSelectKeep-56b94e1f.js index 121dd19..76360d5 100644 --- a/vue/dist/assets/MultiSelectKeep-e448072f.js +++ b/vue/dist/assets/MultiSelectKeep-56b94e1f.js @@ -1,4 +1,4 @@ -import{c as m,A as Te,ai as ln,d as lt,p as Je,v as Ge,cb 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,bU as cn,s as Me,x as un,aC as De,aD as ot,aL as dn,as as Et,cc as gn,ay as Fe,aA as fn,cd as hn,bm as pn,bp as vn,ce as Qe,cf as _n,cg as mn,ch as yn,aB as bn,X as ie,ci as wt,bN as $n,bO as En,cj as Ot,I as ze,G as kt,ck as wn,cl as xt,J as et,V as tt,H as Re,cm as nt,cn as On,W as be,co as kn,a4 as xn,cp as Mn,cq as Sn,M as Tn,a6 as Cn,bS as Ln,at as An,cr as zn,cs as Dn,a8 as Nn,ct as In}from"./index-5573ae38.js";/* empty css */import{D as jn}from"./index-5e569728.js";import{_ as Pn}from"./FileItem-ab6bf09c.js";import{k as Mt}from"./index-de6cda7b.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-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. 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-1b7f0fea.js new file mode 100644 index 0000000..128b6a1 --- /dev/null +++ b/vue/dist/assets/SubstrSearch-1b7f0fea.js @@ -0,0 +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}; diff --git a/vue/dist/assets/SubstrSearch-7eea79b7.css b/vue/dist/assets/SubstrSearch-7eea79b7.css new file mode 100644 index 0000000..a4fe18d --- /dev/null +++ b/vue/dist/assets/SubstrSearch-7eea79b7.css @@ -0,0 +1 @@ +[data-v-4584136c] .float-panel{position:fixed}.regex-icon[data-v-4584136c]{user-select:none;padding:4px;margin:0 4px;cursor:pointer;border:1px solid var(--zp-border);border-radius:4px}.regex-icon img[data-v-4584136c]{height:1.5em}.regex-icon[data-v-4584136c]:hover{background:var(--zp-border)}.regex-icon.selected[data-v-4584136c]{background:var(--primary-color-1);border:1px solid var(--primary-color)}.search-bar[data-v-4584136c]{padding:8px 8px 0;display:flex}.search-bar.last[data-v-4584136c]{padding-bottom:8px}.search-bar .form-name[data-v-4584136c]{flex-shrink:0;padding:4px 8px}.search-bar .actions>*[data-v-4584136c]{margin-right:4px}.tips-wrapper[data-v-4584136c]{padding:0 8px}.container[data-v-4584136c]{background:var(--zp-secondary-background);position:relative}.container .file-list[data-v-4584136c]{list-style:none;padding:8px;height:100%;overflow:auto;height:var(--pane-max-height);width:100%} diff --git a/vue/dist/assets/SubstrSearch-855a2a59.js b/vue/dist/assets/SubstrSearch-855a2a59.js deleted file mode 100644 index 1b84b89..0000000 --- a/vue/dist/assets/SubstrSearch-855a2a59.js +++ /dev/null @@ -1 +0,0 @@ -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 d,j as z,C as t,E as e,k as p,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-5573ae38.js";/* empty css *//* empty css */import{s as ct,F as ft}from"./FileItem-ab6bf09c.js";import{M as vt,L as gt,R as mt,f as _t}from"./MultiSelectKeep-e448072f.js";import{c as ht,u as yt}from"./hook-88a5eca7.js";import{g as bt,o as kt}from"./index-de6cda7b.js";import{f as F,H as de,_ as wt,a as St}from"./searchHistory-be64cffe.js";import"./index-5e569728.js";import"./shortcut-f44c6c9d.js";import"./_isIterateeCall-bb321415.js";var Ct={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 xt=Ct;function pe(c){for(var r=1;r(rt("data-v-3d50503a"),c=c(),ut(),c),Rt={style:{"padding-right":"16px"}},Ot=L(()=>p("div",null,null,-1)),Mt=["title"],Tt=["src"],zt={class:"search-bar"},Ut={class:"form-name"},Ft={class:"search-bar last actions"},Dt={class:"hint"},Vt={key:0,style:{margin:"64px 16px 32px",padding:"8px",background:"var(--zp-secondary-variant-background)","border-radius":"16px"}},Bt={style:{margin:"16px 32px 16px"}},Et={style:{"padding-right":"16px"}},Pt=L(()=>p("div",null,null,-1)),Ht=L(()=>p("div",{style:{padding:"16px 0 512px"}},null,-1)),Gt={key:2,class:"preview-switch"},Kt=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:O,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&&M.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},M=Xe(),{onClearAllSelected:Ae,onSelectAll:Re,onReverseSelect:Oe}=bt();return(l,s)=>{const u=wt,y=St,Me=re,T=ue,te=tt,Te=at,P=lt,ze=st,H=ue,Ue=nt,Fe=it,De=re,Ve=ot;return d(),z(ie,null,[a(Me,{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})=>[p("div",Rt,[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?(d(),_(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?(d(),_(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"]),p("div",{class:"container",ref_key:"stackViewEl",ref:ce},[e(b)?g("",!0):(d(),_(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(T,{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(M).autoUpdateIndex?(d(),_(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(M).keepMultiSelect,onClearAllSelected:e(Ae),onSelectAll:e(Re),onReverseSelect:e(Oe)},null,8,["show","onClearAllSelected","onSelectAll","onReverseSelect"]),p("div",{class:"search-bar",onKeydown:s[9]||(s[9]=G(()=>{},["stop"]))},[a(Te,{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"]),p("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($t))],42,Mt),p("div",{class:U(["regex-icon",{selected:v.value}]),onKeydown:s[8]||(s[8]=G(()=>{},["stop"])),onClick:$e,title:"Use Regular Expression"},[p("img",{src:e(At)},null,8,Tt)],34),f.value&&!f.value.img_count?(d(),_(H,{key:0,onClick:e(E),loading:!e(k).isIdle,type:"primary"},{default:t(()=>[o(i(l.$t("generateIndexHint")),1)]),_:1},8,["onClick","loading"])):(d(),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(M).autoUpdateIndex?(d(),_(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),p("div",zt,[p("div",Ut,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"])]),p("div",Ft,[e(m).length?(d(),_(T,{key:0,onClick:e(ke)},{default:t(()=>[o(i(l.$t("saveLoadedImageAsJson")),1)]),_:1},8,["onClick"])):g("",!0),e(m).length?(d(),_(T,{key:1,onClick:e(be)},{default:t(()=>[o(i(l.$t("saveAllAsJson")),1)]),_:1},8,["onClick"])):g("",!0),a(T,{onClick:s[11]||(s[11]=n=>$.value=!0)},{default:t(()=>[o(i(l.$t("history")),1)]),_:1})]),a(Ve,{size:"large",spinning:!e(k).isIdle},{default:t(()=>[a(De,{visible:e(O),"onUpdate:visible":s[13]||(s[13]=n=>oe(O)?O.value=n:null),width:"70vw","mask-closable":"",onOk:s[14]||(s[14]=n=>O.value=!1)},{cancelText:t(()=>[]),default:t(()=>[a(Fe,{active:"",loading:!e(ge).isIdle},{default:t(()=>[p("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)))},[p("div",Dt,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?(d(),z("div",Vt,[p("h2",Bt,i(l.$t("restoreFromHistory")),1),a(de,{records:e(F),onReuseRecord:ee},{default:t(({record:n})=>[p("div",Et,[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?(d(),_(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?(d(),_(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),Pt])]),_:1},8,["records"])])):g("",!0),e(m)?(d(),_(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(()=>[Ht]),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)?(d(),z("div",Gt,[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)]?(d(),_(_t,{key:2,file:e(m)[e(A)],idx:e(A),onContextMenuClick:e(q)},null,8,["file","idx","onContextMenuClick"])):g("",!0)],512)],64)}}});const ta=pt(Kt,[["__scopeId","data-v-3d50503a"]]);export{ta as default}; diff --git a/vue/dist/assets/SubstrSearch-ff64bca4.css b/vue/dist/assets/SubstrSearch-ff64bca4.css deleted file mode 100644 index 19e5d79..0000000 --- a/vue/dist/assets/SubstrSearch-ff64bca4.css +++ /dev/null @@ -1 +0,0 @@ -[data-v-3d50503a] .float-panel{position:fixed}.regex-icon[data-v-3d50503a]{user-select:none;padding:4px;margin:0 4px;cursor:pointer;border:1px solid var(--zp-border);border-radius:4px}.regex-icon img[data-v-3d50503a]{height:1.5em}.regex-icon[data-v-3d50503a]:hover{background:var(--zp-border)}.regex-icon.selected[data-v-3d50503a]{background:var(--primary-color-1);border:1px solid var(--primary-color)}.search-bar[data-v-3d50503a]{padding:8px 8px 0;display:flex}.search-bar.last[data-v-3d50503a]{padding-bottom:8px}.search-bar .form-name[data-v-3d50503a]{flex-shrink:0;padding:4px 8px}.search-bar .actions>*[data-v-3d50503a]{margin-right:4px}.container[data-v-3d50503a]{background:var(--zp-secondary-background);position:relative}.container .file-list[data-v-3d50503a]{list-style:none;padding:8px;height:100%;overflow:auto;height:var(--pane-max-height);width:100%} diff --git a/vue/dist/assets/TagSearch-818f8831.js b/vue/dist/assets/TagSearch-818f8831.js new file mode 100644 index 0000000..0c650f5 --- /dev/null +++ b/vue/dist/assets/TagSearch-818f8831.js @@ -0,0 +1,15 @@ +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;n + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */function Ia(e){return Object.prototype.toString.call(e)==="[object Object]"}function Hu(e){var t,n;return Ia(e)===!1?!1:(t=e.constructor,t===void 0?!0:(n=t.prototype,!(Ia(n)===!1||n.hasOwnProperty("isPrototypeOf")===!1)))}function qt(){return qt=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(a[n]=e[n]);return a}const ju={silent:!1,logLevel:"warn"},Lu=["validator"],Zo=Object.prototype,Qo=Zo.toString,Bu=Zo.hasOwnProperty,ei=/^\s*function (\w+)/;function Ha(e){var t;const n=(t=e==null?void 0:e.type)!==null&&t!==void 0?t:e;if(n){const r=n.toString().match(ei);return r?r[1]:""}return""}const lt=Hu,Du=e=>e;let ge=Du;const At=(e,t)=>Bu.call(e,t),Nu=Number.isInteger||function(e){return typeof e=="number"&&isFinite(e)&&Math.floor(e)===e},$t=Array.isArray||function(e){return Qo.call(e)==="[object Array]"},Et=e=>Qo.call(e)==="[object Function]",mn=e=>lt(e)&&At(e,"_vueTypes_name"),ti=e=>lt(e)&&(At(e,"type")||["_vueTypes_name","validator","default","required"].some(t=>At(e,t)));function Pr(e,t){return Object.defineProperty(e.bind(t),"__original",{value:e})}function dt(e,t,n=!1){let r,a=!0,o="";r=lt(e)?e:{type:e};const s=mn(r)?r._vueTypes_name+" - ":"";if(ti(r)&&r.type!==null){if(r.type===void 0||r.type===!0||!r.required&&t===void 0)return a;$t(r.type)?(a=r.type.some(i=>dt(i,t,!0)===!0),o=r.type.map(i=>Ha(i)).join(" or ")):(o=Ha(r),a=o==="Array"?$t(t):o==="Object"?lt(t):o==="String"||o==="Number"||o==="Boolean"||o==="Function"?function(i){if(i==null)return"";const l=i.constructor.toString().match(ei);return l?l[1]:""}(t)===o:t instanceof r.type)}if(!a){const i=`${s}value "${t}" should be of type "${o}"`;return n===!1?(ge(i),!1):i}if(At(r,"validator")&&Et(r.validator)){const i=ge,l=[];if(ge=c=>{l.push(c)},a=r.validator(t),ge=i,!a){const c=(l.length>1?"* ":"")+l.join(` +* `);return l.length=0,n===!1?(ge(c),a):c}}return a}function Se(e,t){const n=Object.defineProperties(t,{_vueTypes_name:{value:e,writable:!0},isRequired:{get(){return this.required=!0,this}},def:{value(a){return a===void 0?(At(this,"default")&&delete this.default,this):Et(a)||dt(this,a,!0)===!0?(this.default=$t(a)?()=>[...a]:lt(a)?()=>Object.assign({},a):a,this):(ge(`${this._vueTypes_name} - invalid default value: "${a}"`),this)}}}),{validator:r}=n;return Et(r)&&(n.validator=Pr(r,n)),n}function Ne(e,t){const n=Se(e,t);return Object.defineProperty(n,"validate",{value(r){return Et(this.validator)&&ge(`${this._vueTypes_name} - calling .validate() will overwrite the current custom validator function. Validator info: +${JSON.stringify(this)}`),this.validator=Pr(r,this),this}})}function ja(e,t,n){const r=function(l){const c={};return Object.getOwnPropertyNames(l).forEach(u=>{c[u]=Object.getOwnPropertyDescriptor(l,u)}),Object.defineProperties({},c)}(t);if(r._vueTypes_name=e,!lt(n))return r;const{validator:a}=n,o=Jo(n,Lu);if(Et(a)){let{validator:l}=r;l&&(l=(i=(s=l).__original)!==null&&i!==void 0?i:s),r.validator=Pr(l?function(c){return l.call(this,c)&&a.call(this,c)}:a,r)}var s,i;return Object.assign(r,o)}function Pn(e){return e.replace(/^(?!\s*$)/gm," ")}const Vu=()=>Ne("any",{}),Fu=()=>Ne("function",{type:Function}),Wu=()=>Ne("boolean",{type:Boolean}),zu=()=>Ne("string",{type:String}),Uu=()=>Ne("number",{type:Number}),Gu=()=>Ne("array",{type:Array}),Ku=()=>Ne("object",{type:Object}),qu=()=>Se("integer",{type:Number,validator:e=>Nu(e)}),Xu=()=>Se("symbol",{validator:e=>typeof e=="symbol"});function Yu(e,t="custom validation failed"){if(typeof e!="function")throw new TypeError("[VueTypes error]: You must provide a function as argument");return Se(e.name||"<>",{type:null,validator(n){const r=e(n);return r||ge(`${this._vueTypes_name} - ${t}`),r}})}function Ju(e){if(!$t(e))throw new TypeError("[VueTypes error]: You must provide an array as argument.");const t=`oneOf - value should be one of "${e.join('", "')}".`,n=e.reduce((r,a)=>{if(a!=null){const o=a.constructor;r.indexOf(o)===-1&&r.push(o)}return r},[]);return Se("oneOf",{type:n.length>0?n:void 0,validator(r){const a=e.indexOf(r)!==-1;return a||ge(t),a}})}function Zu(e){if(!$t(e))throw new TypeError("[VueTypes error]: You must provide an array as argument");let t=!1,n=[];for(let a=0;an.indexOf(a)===o);const r=n.length>0?n:null;return Se("oneOfType",t?{type:r,validator(a){const o=[],s=e.some(i=>{const l=dt(mn(i)&&i._vueTypes_name==="oneOf"?i.type||null:i,a,!0);return typeof l=="string"&&o.push(l),l===!0});return s||ge(`oneOfType - provided value does not match any of the ${o.length} passed-in validators: +${Pn(o.join(` +`))}`),s}}:{type:r})}function Qu(e){return Se("arrayOf",{type:Array,validator(t){let n="";const r=t.every(a=>(n=dt(e,a,!0),n===!0));return r||ge(`arrayOf - value validation error: +${Pn(n)}`),r}})}function ec(e){return Se("instanceOf",{type:e})}function tc(e){return Se("objectOf",{type:Object,validator(t){let n="";const r=Object.keys(t).every(a=>(n=dt(e,t[a],!0),n===!0));return r||ge(`objectOf - value validation error: +${Pn(n)}`),r}})}function nc(e){const t=Object.keys(e),n=t.filter(a=>{var o;return!((o=e[a])===null||o===void 0||!o.required)}),r=Se("shape",{type:Object,validator(a){if(!lt(a))return!1;const o=Object.keys(a);if(n.length>0&&n.some(s=>o.indexOf(s)===-1)){const s=n.filter(i=>o.indexOf(i)===-1);return ge(s.length===1?`shape - required property "${s[0]}" is not defined.`:`shape - required properties "${s.join('", "')}" are not defined.`),!1}return o.every(s=>{if(t.indexOf(s)===-1)return this._vueTypes_isLoose===!0||(ge(`shape - shape definition does not include a "${s}" property. Allowed keys: "${t.join('", "')}".`),!1);const i=dt(e[s],a[s],!0);return typeof i=="string"&&ge(`shape - "${s}" property validation error: + ${Pn(i)}`),i===!0})}});return Object.defineProperty(r,"_vueTypes_isLoose",{writable:!0,value:!1}),Object.defineProperty(r,"loose",{get(){return this._vueTypes_isLoose=!0,this}}),r}const rc=["name","validate","getter"],ac=(()=>{var e;return(e=class{static get any(){return Vu()}static get func(){return Fu().def(this.defaults.func)}static get bool(){return Wu().def(this.defaults.bool)}static get string(){return zu().def(this.defaults.string)}static get number(){return Uu().def(this.defaults.number)}static get array(){return Gu().def(this.defaults.array)}static get object(){return Ku().def(this.defaults.object)}static get integer(){return qu().def(this.defaults.integer)}static get symbol(){return Xu()}static get nullable(){return{type:null}}static extend(t){if($t(t))return t.forEach(l=>this.extend(l)),this;const{name:n,validate:r=!1,getter:a=!1}=t,o=Jo(t,rc);if(At(this,n))throw new TypeError(`[VueTypes error]: Type "${n}" already defined`);const{type:s}=o;if(mn(s))return delete o.type,Object.defineProperty(this,n,a?{get:()=>ja(n,s,o)}:{value(...l){const c=ja(n,s,o);return c.validator&&(c.validator=c.validator.bind(c,...l)),c}});let i;return i=a?{get(){const l=Object.assign({},o);return r?Ne(n,l):Se(n,l)},enumerable:!0}:{value(...l){const c=Object.assign({},o);let u;return u=r?Ne(n,c):Se(n,c),c.validator&&(u.validator=c.validator.bind(u,...l)),u},enumerable:!0},Object.defineProperty(this,n,i)}}).defaults={},e.sensibleDefaults=void 0,e.config=ju,e.custom=Yu,e.oneOf=Ju,e.instanceOf=ec,e.oneOfType=Zu,e.arrayOf=Qu,e.objectOf=tc,e.shape=nc,e.utils={validate:(t,n)=>dt(n,t,!0)===!0,toType:(t,n,r=!1)=>r?Ne(t,n):Se(t,n)},e})();function oc(e={func:()=>{},bool:!0,string:"",number:0,array:()=>[],object:()=>({}),integer:0}){var t;return(t=class extends ac{static get sensibleDefaults(){return qt({},this.defaults)}static set sensibleDefaults(n){this.defaults=n!==!1?qt({},n!==!0?n:e):{}}}).defaults=qt({},e),t}let M=class extends oc(){};var La=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Ir(e){var t={exports:{}};return e(t,t.exports),t.exports}var un=function(e){return e&&e.Math==Math&&e},ie=un(typeof globalThis=="object"&&globalThis)||un(typeof window=="object"&&window)||un(typeof self=="object"&&self)||un(typeof La=="object"&&La)||function(){return this}()||Function("return this")(),X=function(e){try{return!!e()}catch{return!0}},Ae=!X(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7}),Ba={}.propertyIsEnumerable,Da=Object.getOwnPropertyDescriptor,ic={f:Da&&!Ba.call({1:2},1)?function(e){var t=Da(this,e);return!!t&&t.enumerable}:Ba},In=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},lc={}.toString,Ge=function(e){return lc.call(e).slice(8,-1)},sc="".split,Hn=X(function(){return!Object("z").propertyIsEnumerable(0)})?function(e){return Ge(e)=="String"?sc.call(e,""):Object(e)}:Object,Je=function(e){if(e==null)throw TypeError("Can't call method on "+e);return e},It=function(e){return Hn(Je(e))},se=function(e){return typeof e=="object"?e!==null:typeof e=="function"},Hr=function(e,t){if(!se(e))return e;var n,r;if(t&&typeof(n=e.toString)=="function"&&!se(r=n.call(e))||typeof(n=e.valueOf)=="function"&&!se(r=n.call(e))||!t&&typeof(n=e.toString)=="function"&&!se(r=n.call(e)))return r;throw TypeError("Can't convert object to primitive value")},uc={}.hasOwnProperty,oe=function(e,t){return uc.call(e,t)},yr=ie.document,cc=se(yr)&&se(yr.createElement),ni=function(e){return cc?yr.createElement(e):{}},ri=!Ae&&!X(function(){return Object.defineProperty(ni("div"),"a",{get:function(){return 7}}).a!=7}),Na=Object.getOwnPropertyDescriptor,jr={f:Ae?Na:function(e,t){if(e=It(e),t=Hr(t,!0),ri)try{return Na(e,t)}catch{}if(oe(e,t))return In(!ic.f.call(e,t),e[t])}},ye=function(e){if(!se(e))throw TypeError(String(e)+" is not an object");return e},Va=Object.defineProperty,qe={f:Ae?Va:function(e,t,n){if(ye(e),t=Hr(t,!0),ye(n),ri)try{return Va(e,t,n)}catch{}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(e[t]=n.value),e}},Ee=Ae?function(e,t,n){return qe.f(e,t,In(1,n))}:function(e,t,n){return e[t]=n,e},Lr=function(e,t){try{Ee(ie,e,t)}catch{ie[e]=t}return t},st=ie["__core-js_shared__"]||Lr("__core-js_shared__",{}),fc=Function.toString;typeof st.inspectSource!="function"&&(st.inspectSource=function(e){return fc.call(e)});var bn,Xt,Cn,ai=st.inspectSource,Fa=ie.WeakMap,dc=typeof Fa=="function"&&/native code/.test(ai(Fa)),oi=Ir(function(e){(e.exports=function(t,n){return st[t]||(st[t]=n!==void 0?n:{})})("versions",[]).push({version:"3.8.3",mode:"global",copyright:"© 2021 Denis Pushkarev (zloirock.ru)"})}),pc=0,hc=Math.random(),Br=function(e){return"Symbol("+String(e===void 0?"":e)+")_"+(++pc+hc).toString(36)},Wa=oi("keys"),Dr=function(e){return Wa[e]||(Wa[e]=Br(e))},jn={},gc=ie.WeakMap;if(dc){var vt=st.state||(st.state=new gc),vc=vt.get,yc=vt.has,mc=vt.set;bn=function(e,t){return t.facade=e,mc.call(vt,e,t),t},Xt=function(e){return vc.call(vt,e)||{}},Cn=function(e){return yc.call(vt,e)}}else{var Vt=Dr("state");jn[Vt]=!0,bn=function(e,t){return t.facade=e,Ee(e,Vt,t),t},Xt=function(e){return oe(e,Vt)?e[Vt]:{}},Cn=function(e){return oe(e,Vt)}}var Ze={set:bn,get:Xt,has:Cn,enforce:function(e){return Cn(e)?Xt(e):bn(e,{})},getterFor:function(e){return function(t){var n;if(!se(t)||(n=Xt(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return n}}},Qe=Ir(function(e){var t=Ze.get,n=Ze.enforce,r=String(String).split("String");(e.exports=function(a,o,s,i){var l,c=!!i&&!!i.unsafe,u=!!i&&!!i.enumerable,f=!!i&&!!i.noTargetGet;typeof s=="function"&&(typeof o!="string"||oe(s,"name")||Ee(s,"name",o),(l=n(s)).source||(l.source=r.join(typeof o=="string"?o:""))),a!==ie?(c?!f&&a[o]&&(u=!0):delete a[o],u?a[o]=s:Ee(a,o,s)):u?a[o]=s:Lr(o,s)})(Function.prototype,"toString",function(){return typeof this=="function"&&t(this).source||ai(this)})}),zn=ie,za=function(e){return typeof e=="function"?e:void 0},Ln=function(e,t){return arguments.length<2?za(zn[e])||za(ie[e]):zn[e]&&zn[e][t]||ie[e]&&ie[e][t]},bc=Math.ceil,Cc=Math.floor,Ht=function(e){return isNaN(e=+e)?0:(e>0?Cc:bc)(e)},_c=Math.min,Oe=function(e){return e>0?_c(Ht(e),9007199254740991):0},wc=Math.max,xc=Math.min,_n=function(e,t){var n=Ht(e);return n<0?wc(n+t,0):xc(n,t)},Ua=function(e){return function(t,n,r){var a,o=It(t),s=Oe(o.length),i=_n(r,s);if(e&&n!=n){for(;s>i;)if((a=o[i++])!=a)return!0}else for(;s>i;i++)if((e||i in o)&&o[i]===n)return e||i||0;return!e&&-1}},ii={includes:Ua(!0),indexOf:Ua(!1)},Sc=ii.indexOf,li=function(e,t){var n,r=It(e),a=0,o=[];for(n in r)!oe(jn,n)&&oe(r,n)&&o.push(n);for(;t.length>a;)oe(r,n=t[a++])&&(~Sc(o,n)||o.push(n));return o},wn=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],kc=wn.concat("length","prototype"),Oc={f:Object.getOwnPropertyNames||function(e){return li(e,kc)}},Ac={f:Object.getOwnPropertySymbols},$c=Ln("Reflect","ownKeys")||function(e){var t=Oc.f(ye(e)),n=Ac.f;return n?t.concat(n(e)):t},Ec=function(e,t){for(var n=$c(t),r=qe.f,a=jr.f,o=0;o1?arguments[1]:void 0)}});(function(){function e(){pt(this,e)}return ht(e,null,[{key:"isInBrowser",value:function(){return typeof window<"u"}},{key:"isServer",value:function(){return typeof window>"u"}},{key:"getUA",value:function(){return e.isInBrowser()?window.navigator.userAgent.toLowerCase():""}},{key:"isMobile",value:function(){return/Mobile|mini|Fennec|Android|iP(ad|od|hone)/.test(navigator.appVersion)}},{key:"isOpera",value:function(){return navigator.userAgent.indexOf("Opera")!==-1}},{key:"isIE",value:function(){var t=e.getUA();return t!==""&&t.indexOf("msie")>0}},{key:"isIE9",value:function(){var t=e.getUA();return t!==""&&t.indexOf("msie 9.0")>0}},{key:"isEdge",value:function(){var t=e.getUA();return t!==""&&t.indexOf("edge/")>0}},{key:"isChrome",value:function(){var t=e.getUA();return t!==""&&/chrome\/\d+/.test(t)&&!e.isEdge()}},{key:"isPhantomJS",value:function(){var t=e.getUA();return t!==""&&/phantomjs/.test(t)}},{key:"isFirefox",value:function(){var t=e.getUA();return t!==""&&/firefox/.test(t)}}]),e})();var Nc=[].join,Vc=Hn!=Object,Fc=Nr("join",",");ve({target:"Array",proto:!0,forced:Vc||!Fc},{join:function(e){return Nc.call(It(this),e===void 0?",":e)}});var yt,xn,Xe=function(e){return Object(Je(e))},Rt=Array.isArray||function(e){return Ge(e)=="Array"},ui=!!Object.getOwnPropertySymbols&&!X(function(){return!String(Symbol())}),Wc=ui&&!Symbol.sham&&typeof Symbol.iterator=="symbol",cn=oi("wks"),Yt=ie.Symbol,zc=Wc?Yt:Yt&&Yt.withoutSetter||Br,Q=function(e){return oe(cn,e)||(ui&&oe(Yt,e)?cn[e]=Yt[e]:cn[e]=zc("Symbol."+e)),cn[e]},Uc=Q("species"),Bn=function(e,t){var n;return Rt(e)&&(typeof(n=e.constructor)!="function"||n!==Array&&!Rt(n.prototype)?se(n)&&(n=n[Uc])===null&&(n=void 0):n=void 0),new(n===void 0?Array:n)(t===0?0:t)},Tt=function(e,t,n){var r=Hr(t);r in e?qe.f(e,r,In(0,n)):e[r]=n},Gn=Ln("navigator","userAgent")||"",Xa=ie.process,Ya=Xa&&Xa.versions,Ja=Ya&&Ya.v8;Ja?xn=(yt=Ja.split("."))[0]+yt[1]:Gn&&(!(yt=Gn.match(/Edge\/(\d+)/))||yt[1]>=74)&&(yt=Gn.match(/Chrome\/(\d+)/))&&(xn=yt[1]);var Sn=xn&&+xn,Gc=Q("species"),Vr=function(e){return Sn>=51||!X(function(){var t=[];return(t.constructor={})[Gc]=function(){return{foo:1}},t[e](Boolean).foo!==1})},Kc=Vr("splice"),qc=jt("splice",{ACCESSORS:!0,0:0,1:2}),Xc=Math.max,Yc=Math.min;ve({target:"Array",proto:!0,forced:!Kc||!qc},{splice:function(e,t){var n,r,a,o,s,i,l=Xe(this),c=Oe(l.length),u=_n(e,c),f=arguments.length;if(f===0?n=r=0:f===1?(n=0,r=c-u):(n=f-2,r=Yc(Xc(Ht(t),0),c-u)),c+n-r>9007199254740991)throw TypeError("Maximum allowed length exceeded");for(a=Bn(l,r),o=0;oc-r+n;o--)delete l[o-1]}else if(n>r)for(o=c-r;o>u;o--)i=o+n-1,(s=o+r-1)in l?l[i]=l[s]:delete l[i];for(o=0;o0&&(!o.multiline||o.multiline&&e[o.lastIndex-1]!==` +`)&&(l="(?: "+l+")",u=" "+u,c++),n=new RegExp("^(?:"+l+")",i)),Yn&&(n=new RegExp("^"+l+"$(?!\\s)",i)),Xn&&(t=o.lastIndex),r=kn.call(s?n:o,u),s?r?(r.input=r.input.slice(c),r[0]=r[0].slice(c),r.index=o.lastIndex,o.lastIndex+=r[0].length):o.lastIndex=0:Xn&&r&&(o.lastIndex=o.global?r.index+r[0].length:t),Yn&&r&&r.length>1&&ef.call(r[0],n,function(){for(a=1;a")!=="7"}),to="a".replace(/./,"$0")==="$0",no=Q("replace"),ro=!!/./[no]&&/./[no]("a","$0")==="",of=!X(function(){var e=/(?:)/,t=e.exec;e.exec=function(){return t.apply(this,arguments)};var n="ab".split(e);return n.length!==2||n[0]!=="a"||n[1]!=="b"}),vi=function(e,t,n,r){var a=Q(e),o=!X(function(){var f={};return f[a]=function(){return 7},""[e](f)!=7}),s=o&&!X(function(){var f=!1,d=/a/;return e==="split"&&((d={}).constructor={},d.constructor[rf]=function(){return d},d.flags="",d[a]=/./[a]),d.exec=function(){return f=!0,null},d[a](""),!f});if(!o||!s||e==="replace"&&(!af||!to||ro)||e==="split"&&!of){var i=/./[a],l=n(a,""[e],function(f,d,p,m,g){return d.exec===Qt?o&&!g?{done:!0,value:i.call(d,p,m)}:{done:!0,value:f.call(p,d,m)}:{done:!1}},{REPLACE_KEEPS_$0:to,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:ro}),c=l[0],u=l[1];Qe(String.prototype,e,c),Qe(RegExp.prototype,a,t==2?function(f,d){return u.call(f,this,d)}:function(f){return u.call(f,this)})}r&&Ee(RegExp.prototype[a],"sham",!0)},lf=Q("match"),yi=function(e){var t;return se(e)&&((t=e[lf])!==void 0?!!t:Ge(e)=="RegExp")},Wr=function(e){if(typeof e!="function")throw TypeError(String(e)+" is not a function");return e},sf=Q("species"),ao=function(e){return function(t,n){var r,a,o=String(Je(t)),s=Ht(n),i=o.length;return s<0||s>=i?e?"":void 0:(r=o.charCodeAt(s))<55296||r>56319||s+1===i||(a=o.charCodeAt(s+1))<56320||a>57343?e?o.charAt(s):r:e?o.slice(s,s+2):a-56320+(r-55296<<10)+65536}},mi={codeAt:ao(!1),charAt:ao(!0)},uf=mi.charAt,bi=function(e,t,n){return t+(n?uf(e,t).length:1)},br=function(e,t){var n=e.exec;if(typeof n=="function"){var r=n.call(e,t);if(typeof r!="object")throw TypeError("RegExp exec method returned something other than an Object or null");return r}if(Ge(e)!=="RegExp")throw TypeError("RegExp#exec called on incompatible receiver");return Qt.call(e,t)},cf=[].push,ff=Math.min,mt=!X(function(){return!RegExp(4294967295,"y")});vi("split",2,function(e,t,n){var r;return r="abbc".split(/(b)*/)[1]=="c"||"test".split(/(?:)/,-1).length!=4||"ab".split(/(?:ab)*/).length!=2||".".split(/(.?)(.?)/).length!=4||".".split(/()()/).length>1||"".split(/.?/).length?function(a,o){var s=String(Je(this)),i=o===void 0?4294967295:o>>>0;if(i===0)return[];if(a===void 0)return[s];if(!yi(a))return t.call(s,a,i);for(var l,c,u,f=[],d=(a.ignoreCase?"i":"")+(a.multiline?"m":"")+(a.unicode?"u":"")+(a.sticky?"y":""),p=0,m=new RegExp(a.source,d+"g");(l=Qt.call(m,s))&&!((c=m.lastIndex)>p&&(f.push(s.slice(p,l.index)),l.length>1&&l.index=i));)m.lastIndex===l.index&&m.lastIndex++;return p===s.length?!u&&m.test("")||f.push(""):f.push(s.slice(p)),f.length>i?f.slice(0,i):f}:"0".split(void 0,0).length?function(a,o){return a===void 0&&o===0?[]:t.call(this,a,o)}:t,[function(a,o){var s=Je(this),i=a==null?void 0:a[e];return i!==void 0?i.call(a,s,o):r.call(String(s),a,o)},function(a,o){var s=n(r,a,this,o,r!==t);if(s.done)return s.value;var i=ye(a),l=String(this),c=function(O,E){var $,T=ye(O).constructor;return T===void 0||($=ye(T)[sf])==null?E:Wr($)}(i,RegExp),u=i.unicode,f=(i.ignoreCase?"i":"")+(i.multiline?"m":"")+(i.unicode?"u":"")+(mt?"y":"g"),d=new c(mt?i:"^(?:"+i.source+")",f),p=o===void 0?4294967295:o>>>0;if(p===0)return[];if(l.length===0)return br(d,l)===null?[l]:[];for(var m=0,g=0,y=[];g1?arguments[1]:void 0,t.length)),r=String(e);return oo?oo.call(t,r,n):t.slice(n,n+r.length)===r}});var bt=function(e){return typeof e=="string"},Ct=function(e){return e!==null&&_i(e)==="object"},en=function(){function e(){pt(this,e)}return ht(e,null,[{key:"isWindow",value:function(t){return t===window}},{key:"addEventListener",value:function(t,n,r){var a=arguments.length>3&&arguments[3]!==void 0&&arguments[3];t&&n&&r&&t.addEventListener(n,r,a)}},{key:"removeEventListener",value:function(t,n,r){var a=arguments.length>3&&arguments[3]!==void 0&&arguments[3];t&&n&&r&&t.removeEventListener(n,r,a)}},{key:"triggerDragEvent",value:function(t,n){var r=!1,a=function(s){var i;(i=n.drag)===null||i===void 0||i.call(n,s)},o=function s(i){var l;e.removeEventListener(document,"mousemove",a),e.removeEventListener(document,"mouseup",s),document.onselectstart=null,document.ondragstart=null,r=!1,(l=n.end)===null||l===void 0||l.call(n,i)};e.addEventListener(t,"mousedown",function(s){var i;r||(document.onselectstart=function(){return!1},document.ondragstart=function(){return!1},e.addEventListener(document,"mousemove",a),e.addEventListener(document,"mouseup",o),r=!0,(i=n.start)===null||i===void 0||i.call(n,s))})}},{key:"getBoundingClientRect",value:function(t){return t&&Ct(t)&&t.nodeType===1?t.getBoundingClientRect():null}},{key:"hasClass",value:function(t,n){return!!(t&&Ct(t)&&bt(n)&&t.nodeType===1)&&t.classList.contains(n.trim())}},{key:"addClass",value:function(t,n){if(t&&Ct(t)&&bt(n)&&t.nodeType===1&&(n=n.trim(),!e.hasClass(t,n))){var r=t.className;t.className=r?r+" "+n:n}}},{key:"removeClass",value:function(t,n){if(t&&Ct(t)&&bt(n)&&t.nodeType===1&&typeof t.className=="string"){n=n.trim();for(var r=t.className.trim().split(" "),a=r.length-1;a>=0;a--)r[a]=r[a].trim(),r[a]&&r[a]!==n||r.splice(a,1);t.className=r.join(" ")}}},{key:"toggleClass",value:function(t,n,r){t&&Ct(t)&&bt(n)&&t.nodeType===1&&t.classList.toggle(n,r)}},{key:"replaceClass",value:function(t,n,r){t&&Ct(t)&&bt(n)&&bt(r)&&t.nodeType===1&&(n=n.trim(),r=r.trim(),e.removeClass(t,n),e.addClass(t,r))}},{key:"getScrollTop",value:function(t){var n="scrollTop"in t?t.scrollTop:t.pageYOffset;return Math.max(n,0)}},{key:"setScrollTop",value:function(t,n){"scrollTop"in t?t.scrollTop=n:t.scrollTo(t.scrollX,n)}},{key:"getRootScrollTop",value:function(){return window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0}},{key:"setRootScrollTop",value:function(t){e.setScrollTop(window,t),e.setScrollTop(document.body,t)}},{key:"getElementTop",value:function(t,n){if(e.isWindow(t))return 0;var r=n?e.getScrollTop(n):e.getRootScrollTop();return t.getBoundingClientRect().top+r}},{key:"getVisibleHeight",value:function(t){return e.isWindow(t)?t.innerHeight:t.getBoundingClientRect().height}},{key:"isHidden",value:function(t){if(!t)return!1;var n=window.getComputedStyle(t),r=n.display==="none",a=t.offsetParent===null&&n.position!=="fixed";return r||a}},{key:"triggerEvent",value:function(t,n){if("createEvent"in document){var r=document.createEvent("HTMLEvents");r.initEvent(n,!1,!0),t.dispatchEvent(r)}}},{key:"calcAngle",value:function(t,n){var r=t.getBoundingClientRect(),a=r.left+r.width/2,o=r.top+r.height/2,s=Math.abs(a-n.clientX),i=Math.abs(o-n.clientY),l=i/Math.sqrt(Math.pow(s,2)+Math.pow(i,2)),c=Math.acos(l),u=Math.floor(180/(Math.PI/c));return n.clientX>a&&n.clientY>o&&(u=180-u),n.clientX==a&&n.clientY>o&&(u=180),n.clientX>a&&n.clientY==o&&(u=90),n.clientXo&&(u=180+u),n.clientX1?r-1:0),o=1;o]*>)/g,Rf=/\$([$&'`]|\d\d?)/g,Tf=function(e,t,n,r,a,o){var s=n+e.length,i=r.length,l=Rf;return a!==void 0&&(a=Xe(a),l=Ef),$f.call(o,l,function(c,u){var f;switch(u.charAt(0)){case"$":return"$";case"&":return e;case"`":return t.slice(0,n);case"'":return t.slice(s);case"<":f=a[u.slice(1,-1)];break;default:var d=+u;if(d===0)return c;if(d>i){var p=Af(d/10);return p===0?c:p<=i?r[p-1]===void 0?u.charAt(1):r[p-1]+u.charAt(1):c}f=r[d-1]}return f===void 0?"":f})},Mf=Math.max,Pf=Math.min;vi("replace",2,function(e,t,n,r){var a=r.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,o=r.REPLACE_KEEPS_$0,s=a?"$":"$0";return[function(i,l){var c=Je(this),u=i==null?void 0:i[e];return u!==void 0?u.call(i,c,l):t.call(String(c),i,l)},function(i,l){if(!a&&o||typeof l=="string"&&l.indexOf(s)===-1){var c=n(t,i,this,l);if(c.done)return c.value}var u=ye(i),f=String(this),d=typeof l=="function";d||(l=String(l));var p=u.global;if(p){var m=u.unicode;u.lastIndex=0}for(var g=[];;){var y=br(u,f);if(y===null||(g.push(y),!p))break;String(y[0])===""&&(u.lastIndex=bi(f,Oe(u.lastIndex),m))}for(var v,C="",x=0,O=0;O=x&&(C+=f.slice(x,$)+b,x=$+E.length)}return C+f.slice(x)}]});(function(){function e(){pt(this,e)}return ht(e,null,[{key:"camelize",value:function(t){return t.replace(/-(\w)/g,function(n,r){return r?r.toUpperCase():""})}},{key:"capitalize",value:function(t){return t.charAt(0).toUpperCase()+t.slice(1)}}]),e})();(function(){function e(){pt(this,e)}return ht(e,null,[{key:"_clone",value:function(){}}]),e})();var wi=Q("isConcatSpreadable"),If=Sn>=51||!X(function(){var e=[];return e[wi]=!1,e.concat()[0]!==e}),Hf=Vr("concat"),jf=function(e){if(!se(e))return!1;var t=e[wi];return t!==void 0?!!t:Rt(e)};ve({target:"Array",proto:!0,forced:!If||!Hf},{concat:function(e){var t,n,r,a,o,s=Xe(this),i=Bn(s,0),l=0;for(t=-1,r=arguments.length;t9007199254740991)throw TypeError("Maximum allowed index exceeded");for(n=0;n=9007199254740991)throw TypeError("Maximum allowed index exceeded");Tt(i,l++,o)}return i.length=l,i}});var Qn,an=function(e,t,n){if(Wr(e),t===void 0)return e;switch(n){case 0:return function(){return e.call(t)};case 1:return function(r){return e.call(t,r)};case 2:return function(r,a){return e.call(t,r,a)};case 3:return function(r,a,o){return e.call(t,r,a,o)}}return function(){return e.apply(t,arguments)}},io=[].push,Ye=function(e){var t=e==1,n=e==2,r=e==3,a=e==4,o=e==6,s=e==7,i=e==5||o;return function(l,c,u,f){for(var d,p,m=Xe(l),g=Hn(m),y=an(c,u,3),v=Oe(g.length),C=0,x=f||Bn,O=t?x(l,v):n||s?x(l,0):void 0;v>C;C++)if((i||C in g)&&(p=y(d=g[C],C,m),e))if(t)O[C]=p;else if(p)switch(e){case 3:return!0;case 5:return d;case 6:return C;case 2:io.call(O,d)}else switch(e){case 4:return!1;case 7:io.call(O,d)}return o?-1:r||a?a:O}},xi={forEach:Ye(0),map:Ye(1),filter:Ye(2),some:Ye(3),every:Ye(4),find:Ye(5),findIndex:Ye(6),filterOut:Ye(7)},Lf=Ae?Object.defineProperties:function(e,t){ye(e);for(var n,r=zr(t),a=r.length,o=0;a>o;)qe.f(e,n=r[o++],t[n]);return e},Bf=Ln("document","documentElement"),Si=Dr("IE_PROTO"),er=function(){},lo=function(e){return" + diff --git a/vue/src/components/TipsCarousel.vue b/vue/src/components/TipsCarousel.vue new file mode 100644 index 0000000..ea07395 --- /dev/null +++ b/vue/src/components/TipsCarousel.vue @@ -0,0 +1,227 @@ + + + + + diff --git a/vue/src/i18n/de.ts b/vue/src/i18n/de.ts index 400381c..c295a12 100644 --- a/vue/src/i18n/de.ts +++ b/vue/src/i18n/de.ts @@ -304,5 +304,17 @@ export const de: Partial = { flattenFolderConfirm: '{count} Dateien abflachen bestätigen?', flattenFolderExecuting: 'Ordner wird abgeflacht...', flattenFolderSuccess: 'Abflachung abgeschlossen, {count} Dateien verschoben', - flattenFolderNoFiles: 'Keine Dateien zum Verschieben' + flattenFolderNoFiles: 'Keine Dateien zum Verschieben', + + // ===== Loading Tips (Format: Titel\n\nInhalt|Typ) ===== + loadingTip1: '💡 Dateinamens-Eindeutigkeit-Tipp\n\nWenn Sie einfache numerische Benennung verwenden (z. B. 001.png), kann das Löschen und erneute Erstellen von Dateien mit demselben Namen zu Tag- und Cache-Datenverwirrung führen. Es wird empfohlen, Zeitstempel-Dateinamen in Ihrer Generierungs-Software zu aktivieren, um sicherzustellen, dass jeder Dateiname einen Zeitstempel enthält (z. B. [time][prompt])|warning', + loadingTip2: '⌨️ Batch-Operationen-Tipp\n\nHalten Sie Ctrl/Cmd gedrückt, um mehrere Dateien auszuwählen. Das Rechtsklick-Menü unterstützt Batch-Tag-Bearbeitung, Verschieben und Löschen. Shift+Klick wählt einen Bereich von Dateien aus.|info', + loadingTip3: '🎹 Tastaturkürzel\n\nTikTok-Ansicht: Pfeiltaste hoch/runter zum Navigieren, Esc zum Beenden. Vollbildvorschau: Benutzerdefinierte Lösch-/Download-Kürzel in globalen Einstellungen konfigurieren. Dateiliste: PageUp/Down zum Scrollen, Home/End zum Springen, Backspace für übergeordneten Ordner.|info', + loadingTip4: '🤖 AI-Clustering-Hinweis\n\nDie erste Verwendung von AI-Clustering erfordert den Aufruf der Embedding-API. Testen Sie zuerst mit kleinen Chargen. Clustering-Ergebnisse werden zwischengespeichert, das spätere Anzeigen geht schnell.|info', + loadingTip5: '🔍 Fuzzy-Suche-Tipps\n\nDie Fuzzy-Suche unterstützt Regex! Klicken Sie auf das Regex-Symbol rechts, um es zu aktivieren. Verwenden Sie ^ am Anfang für exakte Übereinstimmung von Tagnamen oder Dateinamen.|info', + loadingTip6: '🚶 Walk-Modus\n\nDer Walk-Modus verwendet unendliches Scrollen, um alle Dateien in Unterordnern zu durchsuchen, ohne manuell zu blättern. Ideal zum schnellen Durchsuchen großer Bildersammlungen.|info', + loadingTip7: '📸 Workspace-Snapshots\n\nSie können Ihren aktuellen Workspace-Status (offene Ordner, Sortierung, etc.) speichern, um ihn beim nächsten Öffnen von IIB schnell wiederherzustellen. In den globalen Einstellungen kann automatische Wiederherstellung beim Start eingestellt werden.|info', + loadingTip8: '🏷️ Auto-Tagging-Funktion\n\nKonfigurieren Sie Auto-Tagging-Regeln in den globalen Einstellungen. Tags werden automatisch angewendet, wenn Bilder indexiert werden, unterstützt Bedingungen wie Prompt, Modell, Sampler, etc.|info', + loadingTip9: '⚡ Leistungstipp\n\nWenn 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\n\nSie 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' } diff --git a/vue/src/i18n/en.ts b/vue/src/i18n/en.ts index 970e476..3b1ec6c 100644 --- a/vue/src/i18n/en.ts +++ b/vue/src/i18n/en.ts @@ -564,5 +564,17 @@ You can specify which snapshot to restore to when starting IIB in the global set flattenFolderConfirm: 'Confirm flattening {count} files?', flattenFolderExecuting: 'Flattening folder...', flattenFolderSuccess: 'Flatten complete, moved {count} files', - flattenFolderNoFiles: 'No files to move' + flattenFolderNoFiles: 'No files to move', + + // ===== Loading Tips (format: title\n\ncontent|type) ===== + loadingTip1: '💡 Filename Uniqueness Tip\n\nIf you use simple numeric naming (e.g., 001.png), deleting and regenerating files with the same name can cause tag and cache data confusion. It\'s recommended to enable timestamp filenames in your generation software, ensuring each filename includes a timestamp (e.g., [time][prompt])|warning', + loadingTip2: '⌨️ Batch Operations Tip\n\nHold Ctrl/Cmd to multi-select files. Right-click menu supports batch tag editing, moving, and deletion. Shift+click to select a range of files.|info', + loadingTip3: '🎹 Keyboard Shortcuts\n\nTikTok view: Arrow Up/Down to navigate, Esc to exit. Fullscreen preview: configure custom delete/download shortcuts in global settings. File list: PageUp/Down to scroll, Home/End to jump, Backspace for parent folder.|info', + loadingTip4: '🤖 AI Clustering Note\n\nFirst-time AI clustering requires calling the embedding API. Test with small batches first. Clustering results are cached for faster subsequent viewing.|info', + loadingTip5: '🔍 Fuzzy Search Tips\n\nFuzzy search supports regex! Click the regex icon on the right to enable. Use ^ at the start to match tag names or filenames exactly.|info', + loadingTip6: '🚶 Walk Mode\n\nWalk mode uses infinite scrolling to browse all files in subfolders without manual pagination. Great for quickly browsing large image collections.|info', + loadingTip7: '📸 Workspace Snapshots\n\nSave your current workspace state (open folders, sorting, etc.) for quick restoration later. In global settings, set it to auto-restore on startup.|info', + loadingTip8: '🏷️ Auto Tagging Feature\n\nConfigure auto-tagging rules in global settings. Tags are automatically applied when images are indexed, supporting conditions like prompt, model, sampler, etc.|info', + loadingTip9: '⚡ Performance Tip\n\nIf 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\n\nYou 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' } diff --git a/vue/src/i18n/zh-hans.ts b/vue/src/i18n/zh-hans.ts index 1ff7f05..4cbe1b3 100644 --- a/vue/src/i18n/zh-hans.ts +++ b/vue/src/i18n/zh-hans.ts @@ -542,5 +542,17 @@ export const zhHans = { flattenFolderConfirm: '确认压平 {count} 个文件?', flattenFolderExecuting: '正在压平文件夹...', flattenFolderSuccess: '压平完成,已移动 {count} 个文件', - flattenFolderNoFiles: '没有需要移动的文件' + flattenFolderNoFiles: '没有需要移动的文件', + + // ===== Loading Tips (格式: 标题\n\n内容|类型) ===== + loadingTip1: '💡 文件名唯一性提示\n\n如果使用简单数字命名(如 001.png),删除后重新生成同名文件会导致标签和缓存数据混乱。建议在生成软件中启用时间戳文件名,确保每个文件名都包含时间戳(如 [time][prompt])|warning', + loadingTip2: '⌨️ 批量操作小技巧\n\n按住 Ctrl/Cmd 可以多选文件,右键菜单支持批量标签编辑、移动和删除。Shift+点击可以连续选择多个文件。|info', + loadingTip3: '🎹 快捷键\n\nTikTok 视图下:方向键上下切换图片,Esc 退出。全屏预览时可在全局设置中自定义删除和下载快捷键。文件列表区:PageUp/Down 滚动,Home/End 跳转,Backspace 返回上级。|info', + loadingTip4: '🤖 AI 聚类说明\n\n首次使用 AI 聚类需要调用 embedding API,建议先用小批量测试。聚类结果会缓存,再次查看会很快。|info', + loadingTip5: '🔍 模糊搜索技巧\n\n模糊搜索支持正则表达式!点击右侧的正则图标可以启用。使用 ^ 开头可以完全匹配标签名或文件名。|info', + loadingTip6: '🚶 Walk 模式\n\nWalk 模式使用无限滚动浏览所有子文件夹的文件,无需手动翻页。适合快速浏览大量图片。|info', + loadingTip7: '📸 工作区快照\n\n你可以保存当前的工作区状态(打开的文件夹、排序方式等),下次打开 IIB 时快速恢复。在全局设置中可以设为启动时自动恢复。|info', + loadingTip8: '🏷️ 自动标签功能\n\n在全局设置中配置自动标签规则,当图片被索引时会自动添加标签。支持根据 prompt、模型、采样器等条件自动分类。|info', + loadingTip9: '⚡ 性能优化提示\n\n如果在快速滚动大量图片时感到卡顿,可以在全局设置中关闭"变更指示器"功能,这可以显著提升浏览性能。|info', + loadingTip10: '🤖 AI Agent 集成\n\n现在你可以让 AI agent 来使用 IIB 帮助进行图像管理、标签整理和智能搜索。通过 API 接口,AI 可以访问所有 IIB 功能,实现自动化工作流程。|info' } diff --git a/vue/src/i18n/zh-hant.ts b/vue/src/i18n/zh-hant.ts index c5ffbf6..809f85e 100644 --- a/vue/src/i18n/zh-hant.ts +++ b/vue/src/i18n/zh-hant.ts @@ -544,5 +544,17 @@ export const zhHant: Partial = { flattenFolderConfirm: '確認壓平 {count} 個檔案?', flattenFolderExecuting: '正在壓平資料夾...', flattenFolderSuccess: '壓平完成,已移動 {count} 個檔案', - flattenFolderNoFiles: '沒有需要移動的檔案' + flattenFolderNoFiles: '沒有需要移動的檔案', + + // ===== Loading Tips (格式: 標題\n\n內容|類型) ===== + loadingTip1: '💡 檔案名唯一性提示\n\n如果使用簡單數字命名(如 001.png),刪除後重新生成同名檔案會導致標籤和快取資料混亂。建議在生成軟體中啟用時間戳檔案名,確保每個檔案名都包含時間戳(如 [time][prompt])|warning', + loadingTip2: '⌨️ 批量操作小技巧\n\n按住 Ctrl/Cmd 可以多選檔案,右鍵功能表支持批量標籤編輯、移動和刪除。Shift+點擊可以連續選擇多個檔案。|info', + loadingTip3: '🎹 快捷鍵\n\nTikTok 視圖下:方向鍵上下切換圖片,Esc 退出。全螢幕預覽時可在全域設定中自訂刪除和下載快捷鍵。檔案列表區:PageUp/Down 滾動,Home/End 跳轉,Backspace 返回上層。|info', + loadingTip4: '🤖 AI 聚類說明\n\n首次使用 AI 聚類需要呼叫 embedding API,建議先用小批量測試。聚類結果會快取,再次查看會很快。|info', + loadingTip5: '🔍 模糊搜尋技巧\n\n模糊搜尋支援正則表達式!點擊右側的正則圖標可以啟用。使用 ^ 開頭可以完全匹配標籤名或檔案名。|info', + loadingTip6: '🚶 Walk 模式\n\nWalk 模式使用無限滾動瀏覽所有子資料夾的檔案,無需手動翻頁。適合快速瀏覽大量圖片。|info', + loadingTip7: '📸 工作區快照\n\n你可以儲存目前的工作區狀態(打開的資料夾、排序方式等),下次打開 IIB 時快速還原。在全域設定中可以設為啟動時自動還原。|info', + loadingTip8: '🏷️ 自動標籤功能\n\n在全域設定中配置自動標籤規則,當圖片被索引時會自動添加標籤。支援根據 prompt、模型、採樣器等條件自動分類。|info', + loadingTip9: '⚡ 效能優化提示\n\n如果在快速滾動大量圖片時感到卡頓,可以在全域設定中關閉「變更指示器」功能,這可以顯著提升瀏覽效能。|info', + loadingTip10: '🤖 AI Agent 整合\n\n現在您可以讓 AI agent 使用 IIB 來協助進行圖片管理、標籤整理和智慧搜尋。透過 API 介面,AI 可以存取所有 IIB 功能,實現自動化工作流程。|info' } diff --git a/vue/src/page/TagSearch/SubstrSearch.vue b/vue/src/page/TagSearch/SubstrSearch.vue index e67d63c..5c707ae 100644 --- a/vue/src/page/TagSearch/SubstrSearch.vue +++ b/vue/src/page/TagSearch/SubstrSearch.vue @@ -16,6 +16,7 @@ import { useKeepMultiSelect } from '../fileTransfer/hook' import MultiSelectKeep from '@/components/MultiSelectKeep.vue' import { useGlobalStore } from '@/store/useGlobalStore' import HistoryRecord from '@/components/HistoryRecord.vue' +import TipsCarousel from '@/components/TipsCarousel.vue' import { fuzzySearchHistory, FuzzySearchHistoryRecord } from '@/store/searchHistory' import { openTiktokViewWithFiles } from '@/util/tiktokHelper' import { useTagStore } from '@/store/useTagStore' @@ -272,6 +273,9 @@ const { onClearAllSelected, onSelectAll, onReverseSelect } = useKeepMultiSelect( {{ $t('saveLoadedImageAsJson') }} {{ $t('saveAllAsJson') }} {{ $t('history') }} +
+ +
@@ -399,6 +403,9 @@ const { onClearAllSelected, onSelectAll, onReverseSelect } = useKeepMultiSelect( } } +.tips-wrapper { + padding: 0 8px; +} .container { diff --git a/vue/src/page/TagSearch/TagSearch.vue b/vue/src/page/TagSearch/TagSearch.vue index 4213393..e1f6776 100644 --- a/vue/src/page/TagSearch/TagSearch.vue +++ b/vue/src/page/TagSearch/TagSearch.vue @@ -26,6 +26,7 @@ import { watch } from 'vue' import { tagSearchHistory } from '@/store/searchHistory' import { useTagStore } from '@/store/useTagStore' import { useLocalStorage } from '@vueuse/core' +import TipsCarousel from '@/components/TipsCarousel.vue' const props = defineProps<{ tabIdx: number; paneIdx: number, searchScope?: string }>() const global = useGlobalStore() @@ -315,7 +316,7 @@ const tagIdsToString = (tagIds: TagId[]) => {