el-select-v2
Version:
基于 Element UI 适用于 Vue 2 版本的虚拟列表选择器组件。
3 lines (2 loc) • 48.9 kB
JavaScript
(function(){"use strict";try{if(typeof document!="undefined"){var e=document.createElement("style");e.appendChild(document.createTextNode(".vue-recycle-scroller{position:relative}.vue-recycle-scroller.direction-vertical:not(.page-mode){overflow-y:auto}.vue-recycle-scroller.direction-horizontal:not(.page-mode){overflow-x:auto}.vue-recycle-scroller.direction-horizontal{display:-webkit-box;display:-ms-flexbox;display:flex}.vue-recycle-scroller__slot{-webkit-box-flex:1;-ms-flex:auto 0 0px;flex:auto 0 0}.vue-recycle-scroller__item-wrapper{-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;position:relative}.vue-recycle-scroller.ready .vue-recycle-scroller__item-view{position:absolute;top:0;left:0;will-change:transform}.vue-recycle-scroller.direction-vertical .vue-recycle-scroller__item-wrapper{width:100%}.vue-recycle-scroller.direction-horizontal .vue-recycle-scroller__item-wrapper{height:100%}.vue-recycle-scroller.ready.direction-vertical .vue-recycle-scroller__item-view{width:100%}.vue-recycle-scroller.ready.direction-horizontal .vue-recycle-scroller__item-view{height:100%}.resize-observer[data-v-b329ee4c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-b329ee4c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.el-select-v2__popper .el-select-dropdown__wrap{max-height:unset}.el-select-v2__popper .el-select-dropdown__wrap .el-select-dropdown__list{padding:0}.el-select-v2__popper .el-select-dropdown__wrap .el-select-dropdown__list .el-select-dropdown__header{padding:10px;border-bottom:1px solid #e4e7ed}.el-select-v2__popper .el-select-dropdown__wrap .el-select-dropdown__list .el-select-dropdown__footer{padding:10px;border-top:1px solid #e4e7ed}.el-select-v2__popper .scroller{padding:6px 0;max-height:238px}.el-select-v2__popper .scroller::-webkit-scrollbar{width:6px;height:6px;background-color:transparent}.el-select-v2__popper .scroller::-webkit-scrollbar-thumb{border-radius:4px;background-color:#9093994d}.el-select-v2__popper .scroller::-webkit-scrollbar-thumb:hover{background-color:#90939980}.el-select-v2__popper .el-scrollbar__bar{display:none}")),document.head.appendChild(e)}}catch(r){console.error("vite-plugin-css-injected-by-js",r)}})();
(function(S,y){typeof exports=="object"&&typeof module!="undefined"?module.exports=y(require("vue")):typeof define=="function"&&define.amd?define(["vue"],y):(S=typeof globalThis!="undefined"?globalThis:S||self,S.ElSelectV2=y())})(this,function(){"use strict";var nc=Object.defineProperty,oc=Object.defineProperties;var lc=Object.getOwnPropertyDescriptors;var Vt=Object.getOwnPropertySymbols;var cc=Object.prototype.hasOwnProperty,uc=Object.prototype.propertyIsEnumerable;var Ft=(S,y,g)=>y in S?nc(S,y,{enumerable:!0,configurable:!0,writable:!0,value:g}):S[y]=g,V=(S,y)=>{for(var g in y||(y={}))cc.call(y,g)&&Ft(S,g,y[g]);if(Vt)for(var g of Vt(y))uc.call(y,g)&&Ft(S,g,y[g]);return S},ee=(S,y)=>oc(S,lc(y));var Ut=(S,y,g)=>new Promise((K,F)=>{var he=A=>{try{R(g.next(A))}catch(W){F(W)}},pe=A=>{try{R(g.throw(A))}catch(W){F(W)}},R=A=>A.done?K(A.value):Promise.resolve(A.value).then(he,pe);R((g=g.apply(S,y)).next())});const S={computed:{optionsAllDisabled(){return this.localOptions.every(e=>e[this.aliasProps.disabled])}},methods:{navigateOptions(e){if(!this.$refs.select.visible){this.$refs.select.visible=!0;return}if(this.localOptions.length&&!this.optionsAllDisabled){let t;if(e==="next"?this.localIndex>=this.localOptions.length-1?this.localIndex=0:this.localIndex++:e==="prev"&&(this.localIndex<=0?this.localIndex=this.localOptions.length-1:this.localIndex--),t=this.localOptions[this.localIndex],t[this.aliasProps.disabled]||t._isGroup){this.navigateOptions(e);return}this.$refs.scroller.scrollToItem(this.localIndex)}},updateHoverIndex(){this.$refs.select&&this.$watch(()=>this.$refs.select.options,()=>{this.$refs.select.hoverIndex=-1;const e=this.localOptions[this.localIndex];e&&(this.$refs.select.hoverIndex=this.$refs.select.options.findLastIndex(t=>this.isSameValue(t.value,e[this.aliasProps.value])))},{immediate:!0})},hoverItem(e){e[this.aliasProps.disabled]||(this.localIndex=this.localOptions.indexOf(e))}}};function y(){var e=window.navigator.userAgent,t=e.indexOf("MSIE ");if(t>0)return parseInt(e.substring(t+5,e.indexOf(".",t)),10);var i=e.indexOf("Trident/");if(i>0){var r=e.indexOf("rv:");return parseInt(e.substring(r+3,e.indexOf(".",r)),10)}var s=e.indexOf("Edge/");return s>0?parseInt(e.substring(s+5,e.indexOf(".",s)),10):-1}var g=void 0;function K(){K.init||(K.init=!0,g=y()!==-1)}var F={render:function(){var t=this,i=t.$createElement,r=t._self._c||i;return r("div",{staticClass:"resize-observer",attrs:{tabindex:"-1"}})},staticRenderFns:[],_scopeId:"data-v-b329ee4c",name:"resize-observer",methods:{compareAndNotify:function(){(this._w!==this.$el.offsetWidth||this._h!==this.$el.offsetHeight)&&(this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.$emit("notify"))},addResizeHandlers:function(){this._resizeObject.contentDocument.defaultView.addEventListener("resize",this.compareAndNotify),this.compareAndNotify()},removeResizeHandlers:function(){this._resizeObject&&this._resizeObject.onload&&(!g&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.compareAndNotify),delete this._resizeObject.onload)}},mounted:function(){var t=this;K(),this.$nextTick(function(){t._w=t.$el.offsetWidth,t._h=t.$el.offsetHeight});var i=document.createElement("object");this._resizeObject=i,i.setAttribute("aria-hidden","true"),i.setAttribute("tabindex",-1),i.onload=this.addResizeHandlers,i.type="text/html",g&&this.$el.appendChild(i),i.data="about:blank",g||this.$el.appendChild(i)},beforeDestroy:function(){this.removeResizeHandlers()}};function he(e){e.component("resize-observer",F),e.component("ResizeObserver",F)}var pe={version:"0.4.5",install:he},R=null;typeof window!="undefined"?R=window.Vue:typeof global!="undefined"&&(R=global.Vue),R&&R.use(pe);function A(e){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?A=function(t){return typeof t}:A=function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},A(e)}function W(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Nt(e,t){for(var i=0;i<t.length;i++){var r=t[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Ht(e,t,i){return t&&Nt(e.prototype,t),e}function Ce(e){return Bt(e)||kt(e)||Gt()}function Bt(e){if(Array.isArray(e)){for(var t=0,i=new Array(e.length);t<e.length;t++)i[t]=e[t];return i}}function kt(e){if(Symbol.iterator in Object(e)||Object.prototype.toString.call(e)==="[object Arguments]")return Array.from(e)}function Gt(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function qt(e){var t;return typeof e=="function"?t={callback:e}:t=e,t}function Kt(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r,s,a,n=function(l){for(var c=arguments.length,f=new Array(c>1?c-1:0),m=1;m<c;m++)f[m-1]=arguments[m];if(a=f,!(r&&l===s)){var v=i.leading;typeof v=="function"&&(v=v(l,s)),(!r||l!==s)&&v&&e.apply(void 0,[l].concat(Ce(a))),s=l,clearTimeout(r),r=setTimeout(function(){e.apply(void 0,[l].concat(Ce(a))),r=0},t)}};return n._clear=function(){clearTimeout(r),r=null},n}function je(e,t){if(e===t)return!0;if(A(e)==="object"){for(var i in e)if(!je(e[i],t[i]))return!1;return!0}return!1}var Wt=function(){function e(t,i,r){W(this,e),this.el=t,this.observer=null,this.frozen=!1,this.createObserver(i,r)}return Ht(e,[{key:"createObserver",value:function(i,r){var s=this;if(this.observer&&this.destroyObserver(),!this.frozen){if(this.options=qt(i),this.callback=function(o,l){s.options.callback(o,l),o&&s.options.once&&(s.frozen=!0,s.destroyObserver())},this.callback&&this.options.throttle){var a=this.options.throttleOptions||{},n=a.leading;this.callback=Kt(this.callback,this.options.throttle,{leading:function(l){return n==="both"||n==="visible"&&l||n==="hidden"&&!l}})}this.oldResult=void 0,this.observer=new IntersectionObserver(function(o){var l=o[0];if(o.length>1){var c=o.find(function(m){return m.isIntersecting});c&&(l=c)}if(s.callback){var f=l.isIntersecting&&l.intersectionRatio>=s.threshold;if(f===s.oldResult)return;s.oldResult=f,s.callback(f,l)}},this.options.intersection),r.context.$nextTick(function(){s.observer&&s.observer.observe(s.el)})}}},{key:"destroyObserver",value:function(){this.observer&&(this.observer.disconnect(),this.observer=null),this.callback&&this.callback._clear&&(this.callback._clear(),this.callback=null)}},{key:"threshold",get:function(){return this.options.intersection&&this.options.intersection.threshold||0}}]),e}();function De(e,t,i){var r=t.value;if(r)if(typeof IntersectionObserver=="undefined")console.warn("[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill");else{var s=new Wt(e,r,i);e._vue_visibilityState=s}}function Yt(e,t,i){var r=t.value,s=t.oldValue;if(!je(r,s)){var a=e._vue_visibilityState;if(!r){Re(e);return}a?a.createObserver(r,i):De(e,{value:r},i)}}function Re(e){var t=e._vue_visibilityState;t&&(t.destroyObserver(),delete e._vue_visibilityState)}var Ee={bind:De,update:Yt,unbind:Re};function Xt(e){e.directive("observe-visibility",Ee)}var Jt={version:"0.4.6",install:Xt},te=null;typeof window!="undefined"?te=window.Vue:typeof global!="undefined"&&(te=global.Vue),te&&te.use(Jt);var Y=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function ve(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Me={exports:{}};(function(e){(function(t,i){e.exports?e.exports=i():t.Scrollparent=i()})(Y,function(){function t(r){var s=getComputedStyle(r,null).getPropertyValue("overflow");return s.indexOf("scroll")>-1||s.indexOf("auto")>-1}function i(r){if(r instanceof HTMLElement||r instanceof SVGElement){for(var s=r.parentNode;s.parentNode;){if(t(s))return s;s=s.parentNode}return document.scrollingElement||document.documentElement}}return i})})(Me);var Zt=Me.exports;const Le=ve(Zt);var Ve={itemsLimit:1e3};const Fe={items:{type:Array,required:!0},keyField:{type:String,default:"id"},direction:{type:String,default:"vertical",validator:e=>["vertical","horizontal"].includes(e)},listTag:{type:String,default:"div"},itemTag:{type:String,default:"div"}};function Ue(){return this.items.length&&typeof this.items[0]!="object"}let _e=!1;if(typeof window!="undefined"){_e=!1;try{var Qt=Object.defineProperty({},"passive",{get(){_e=!0}});window.addEventListener("test",null,Qt)}catch(e){}}let ei=0;var ti={name:"RecycleScroller",components:{ResizeObserver:F},directives:{ObserveVisibility:Ee},props:ee(V({},Fe),{itemSize:{type:Number,default:null},gridItems:{type:Number,default:void 0},itemSecondarySize:{type:Number,default:void 0},minItemSize:{type:[Number,String],default:null},sizeField:{type:String,default:"size"},typeField:{type:String,default:"type"},buffer:{type:Number,default:200},pageMode:{type:Boolean,default:!1},prerender:{type:Number,default:0},emitUpdate:{type:Boolean,default:!1},skipHover:{type:Boolean,default:!1},listTag:{type:String,default:"div"},itemTag:{type:String,default:"div"},listClass:{type:[String,Object,Array],default:""},itemClass:{type:[String,Object,Array],default:""}}),data(){return{pool:[],totalSize:0,ready:!1,hoverKey:null}},computed:{sizes(){if(this.itemSize===null){const e={"-1":{accumulator:0}},t=this.items,i=this.sizeField,r=this.minItemSize;let s=1e4,a=0,n;for(let o=0,l=t.length;o<l;o++)n=t[o][i]||r,n<s&&(s=n),a+=n,e[o]={accumulator:a,size:n};return this.$_computedMinItemSize=s,e}return[]},simpleArray:Ue},watch:{items(){this.updateVisibleItems(!0)},pageMode(){this.applyPageMode(),this.updateVisibleItems(!1)},sizes:{handler(){this.updateVisibleItems(!1)},deep:!0},gridItems(){this.updateVisibleItems(!0)},itemSecondarySize(){this.updateVisibleItems(!0)}},created(){this.$_startIndex=0,this.$_endIndex=0,this.$_views=new Map,this.$_unusedViews=new Map,this.$_scrollDirty=!1,this.$_lastUpdateScrollPosition=0,this.prerender&&(this.$_prerender=!0,this.updateVisibleItems(!1)),this.gridItems&&!this.itemSize&&console.error("[vue-recycle-scroller] You must provide an itemSize when using gridItems")},mounted(){this.applyPageMode(),this.$nextTick(()=>{this.$_prerender=!1,this.updateVisibleItems(!0),this.ready=!0})},activated(){const e=this.$_lastUpdateScrollPosition;typeof e=="number"&&this.$nextTick(()=>{this.scrollToPosition(e)})},beforeDestroy(){this.removeListeners()},methods:{addView(e,t,i,r,s){const a={item:i,position:0},n={id:ei++,index:t,used:!0,key:r,type:s};return Object.defineProperty(a,"nr",{configurable:!1,value:n}),e.push(a),a},unuseView(e,t=!1){const i=this.$_unusedViews,r=e.nr.type;let s=i.get(r);s||(s=[],i.set(r,s)),s.push(e),t||(e.nr.used=!1,e.position=-9999,this.$_views.delete(e.nr.key))},handleResize(){this.$emit("resize"),this.ready&&this.updateVisibleItems(!1)},handleScroll(e){this.$_scrollDirty||(this.$_scrollDirty=!0,requestAnimationFrame(()=>{this.$_scrollDirty=!1;const{continuous:t}=this.updateVisibleItems(!1,!0);t||(clearTimeout(this.$_refreshTimout),this.$_refreshTimout=setTimeout(this.handleScroll,100))}))},handleVisibilityChange(e,t){this.ready&&(e||t.boundingClientRect.width!==0||t.boundingClientRect.height!==0?(this.$emit("visible"),requestAnimationFrame(()=>{this.updateVisibleItems(!1)})):this.$emit("hidden"))},updateVisibleItems(e,t=!1){const i=this.itemSize,r=this.gridItems||1,s=this.itemSecondarySize||i,a=this.$_computedMinItemSize,n=this.typeField,o=this.simpleArray?null:this.keyField,l=this.items,c=l.length,f=this.sizes,m=this.$_views,v=this.$_unusedViews,O=this.pool;let p,h,z,b,$;if(!c)p=h=b=$=z=0;else if(this.$_prerender)p=b=0,h=$=Math.min(this.prerender,l.length),z=null;else{const d=this.getScroll();if(t){let I=d.start-this.$_lastUpdateScrollPosition;if(I<0&&(I=-I),i===null&&I<a||I<i)return{continuous:!0}}this.$_lastUpdateScrollPosition=d.start;const T=this.buffer;d.start-=T,d.end+=T;let q=0;if(this.$refs.before&&(q=this.$refs.before.scrollHeight,d.start-=q),this.$refs.after){const I=this.$refs.after.scrollHeight;d.end+=I}if(i===null){let I,Et=0,Mt=c-1,P=~~(c/2),Lt;do Lt=P,I=f[P].accumulator,I<d.start?Et=P:P<c-1&&f[P+1].accumulator>d.start&&(Mt=P),P=~~((Et+Mt)/2);while(P!==Lt);for(P<0&&(P=0),p=P,z=f[c-1].accumulator,h=P;h<c&&f[h].accumulator<d.end;h++);for(h===-1?h=l.length-1:(h++,h>c&&(h=c)),b=p;b<c&&q+f[b].accumulator<d.start;b++);for($=b;$<c&&q+f[$].accumulator<d.end;$++);}else{p=~~(d.start/i*r);const I=p%r;p-=I,h=Math.ceil(d.end/i*r),b=Math.max(0,Math.floor((d.start-q)/i*r)),$=Math.floor((d.end-q)/i*r),p<0&&(p=0),h>c&&(h=c),b<0&&(b=0),$>c&&($=c),z=Math.ceil(c/r)*i}}h-p>Ve.itemsLimit&&this.itemsLimitError(),this.totalSize=z;let u;const x=p<=this.$_endIndex&&h>=this.$_startIndex;if(this.$_continuous!==x){if(x){m.clear(),v.clear();for(let d=0,T=O.length;d<T;d++)u=O[d],this.unuseView(u)}this.$_continuous=x}else if(x)for(let d=0,T=O.length;d<T;d++)u=O[d],u.nr.used&&(e&&(u.nr.index=l.indexOf(u.item)),(u.nr.index===-1||u.nr.index<p||u.nr.index>=h)&&this.unuseView(u));const L=x?null:new Map;let j,D,E,Q;for(let d=p;d<h;d++){j=l[d];const T=o?j[o]:j;if(T==null)throw new Error(`Key is ${T} on item (keyField is '${o}')`);if(u=m.get(T),!i&&!f[d].size){u&&this.unuseView(u);continue}u?(u.nr.used=!0,u.item=j):(d===l.length-1&&this.$emit("scroll-end"),d===0&&this.$emit("scroll-start"),D=j[n],E=v.get(D),x?E&&E.length?(u=E.pop(),u.item=j,u.nr.used=!0,u.nr.index=d,u.nr.key=T,u.nr.type=D):u=this.addView(O,d,j,T,D):(Q=L.get(D)||0,(!E||Q>=E.length)&&(u=this.addView(O,d,j,T,D),this.unuseView(u,!0),E=v.get(D)),u=E[Q],u.item=j,u.nr.used=!0,u.nr.index=d,u.nr.key=T,u.nr.type=D,L.set(D,Q+1),Q++),m.set(T,u)),i===null?(u.position=f[d-1].accumulator,u.offset=0):(u.position=Math.floor(d/r)*i,u.offset=d%r*s)}return this.$_startIndex=p,this.$_endIndex=h,this.emitUpdate&&this.$emit("update",p,h,b,$),clearTimeout(this.$_sortTimer),this.$_sortTimer=setTimeout(this.sortViews,300),{continuous:x}},getListenerTarget(){let e=Le(this.$el);return window.document&&(e===window.document.documentElement||e===window.document.body)&&(e=window),e},getScroll(){const{$el:e,direction:t}=this,i=t==="vertical";let r;if(this.pageMode){const s=e.getBoundingClientRect(),a=i?s.height:s.width;let n=-(i?s.top:s.left),o=i?window.innerHeight:window.innerWidth;n<0&&(o+=n,n=0),n+o>a&&(o=a-n),r={start:n,end:n+o}}else i?r={start:e.scrollTop,end:e.scrollTop+e.clientHeight}:r={start:e.scrollLeft,end:e.scrollLeft+e.clientWidth};return r},applyPageMode(){this.pageMode?this.addListeners():this.removeListeners()},addListeners(){this.listenerTarget=this.getListenerTarget(),this.listenerTarget.addEventListener("scroll",this.handleScroll,_e?{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;this.itemSize===null?t=e>0?this.sizes[e-1].accumulator:0:t=Math.floor(e/this.gridItems)*this.itemSize,this.scrollToPosition(t)},scrollToPosition(e){const t=this.direction==="vertical"?{scroll:"scrollTop",start:"top"}:{scroll:"scrollLeft",start:"left"};let i,r,s;if(this.pageMode){const a=Le(this.$el),n=a.tagName==="HTML"?0:a[t.scroll],o=a.getBoundingClientRect(),c=this.$el.getBoundingClientRect()[t.start]-o[t.start];i=a,r=t.scroll,s=e+n+c}else i=this.$el,r=t.scroll,s=e;i[r]=s},itemsLimitError(){throw setTimeout(()=>{console.log("It seems the scroller element isn't scrolling, so it tries to render all the items at once.","Scroller:",this.$el),console.log("Make sure the scroller has a fixed height (or width) and 'overflow-y' (or 'overflow-x') set to 'auto' so it can scroll correctly and only render the items visible in the scroll viewport.")}),new Error("Rendered items limit reached")},sortViews(){this.pool.sort((e,t)=>e.nr.index-t.nr.index)}}};function me(e,t,i,r,s,a,n,o,l,c){const f=typeof i=="function"?i.options:i;return e&&e.render&&(f.render=e.render,f.staticRenderFns=e.staticRenderFns,f._compiled=!0,s&&(f.functional=!0)),i}const ii=ti;var Ne=function(){var e,t,i=this,r=i.$createElement,s=i._self._c||r;return s("div",{directives:[{name:"observe-visibility",rawName:"v-observe-visibility",value:i.handleVisibilityChange,expression:"handleVisibilityChange"}],staticClass:"vue-recycle-scroller",class:(e={ready:i.ready,"page-mode":i.pageMode},e["direction-"+i.direction]=!0,e),on:{"&scroll":function(a){return i.handleScroll.apply(null,arguments)}}},[i.$slots.before?s("div",{ref:"before",staticClass:"vue-recycle-scroller__slot"},[i._t("before")],2):i._e(),i._v(" "),s(i.listTag,{ref:"wrapper",tag:"component",staticClass:"vue-recycle-scroller__item-wrapper",class:i.listClass,style:(t={},t[i.direction==="vertical"?"minHeight":"minWidth"]=i.totalSize+"px",t)},[i._l(i.pool,function(a){return s(i.itemTag,i._g({key:a.nr.id,tag:"component",staticClass:"vue-recycle-scroller__item-view",class:[i.itemClass,{hover:!i.skipHover&&i.hoverKey===a.nr.key}],style:i.ready?{transform:"translate"+(i.direction==="vertical"?"Y":"X")+"("+a.position+"px) translate"+(i.direction==="vertical"?"X":"Y")+"("+a.offset+"px)",width:i.gridItems?(i.direction==="vertical"&&i.itemSecondarySize||i.itemSize)+"px":void 0,height:i.gridItems?(i.direction==="horizontal"&&i.itemSecondarySize||i.itemSize)+"px":void 0}:null},i.skipHover?{}:{mouseenter:function(){i.hoverKey=a.nr.key},mouseleave:function(){i.hoverKey=null}}),[i._t("default",null,{item:a.item,index:a.nr.index,active:a.nr.used})],2)}),i._v(" "),i._t("empty")],2),i._v(" "),i.$slots.after?s("div",{ref:"after",staticClass:"vue-recycle-scroller__slot"},[i._t("after")],2):i._e(),i._v(" "),s("ResizeObserver",{on:{notify:i.handleResize}})],1)},ri=[];Ne._withStripped=!0;const ie=me({render:Ne,staticRenderFns:ri},void 0,ii,void 0,!1);var si={name:"DynamicScroller",components:{RecycleScroller:ie},provide(){return typeof ResizeObserver!="undefined"&&(this.$_resizeObserver=new ResizeObserver(e=>{requestAnimationFrame(()=>{if(Array.isArray(e)){for(const t of e)if(t.target){const i=new CustomEvent("resize",{detail:{contentRect:t.contentRect}});t.target.dispatchEvent(i)}}})})),{vscrollData:this.vscrollData,vscrollParent:this,vscrollResizeObserver:this.$_resizeObserver}},inheritAttrs:!1,props:ee(V({},Fe),{minItemSize:{type:[Number,String],required:!0}}),data(){return{vscrollData:{active:!0,sizes:{},validSizes:{},keyField:this.keyField,simpleArray:!1}}},computed:{simpleArray:Ue,itemsWithSize(){const e=[],{items:t,keyField:i,simpleArray:r}=this,s=this.vscrollData.sizes,a=t.length;for(let n=0;n<a;n++){const o=t[n],l=r?n:o[i];let c=s[l];typeof c=="undefined"&&!this.$_undefinedMap[l]&&(c=0),e.push({item:o,id:l,size:c})}return e},listeners(){const e={};for(const t in this.$listeners)t!=="resize"&&t!=="visible"&&(e[t]=this.$listeners[t]);return e}},watch:{items(){this.forceUpdate(!1)},simpleArray:{handler(e){this.vscrollData.simpleArray=e},immediate:!0},direction(e){this.forceUpdate(!0)},itemsWithSize(e,t){const i=this.$el.scrollTop;let r=0,s=0;const a=Math.min(e.length,t.length);for(let o=0;o<a&&!(r>=i);o++)r+=t[o].size||this.minItemSize,s+=e[o].size||this.minItemSize;const n=s-r;n!==0&&(this.$el.scrollTop+=n)}},beforeCreate(){this.$_updates=[],this.$_undefinedSizes=0,this.$_undefinedMap={}},activated(){this.vscrollData.active=!0},deactivated(){this.vscrollData.active=!1},methods:{onScrollerResize(){this.$refs.scroller&&this.forceUpdate(),this.$emit("resize")},onScrollerVisible(){this.$emit("vscroll:update",{force:!1}),this.$emit("visible")},forceUpdate(e=!0){(e||this.simpleArray)&&(this.vscrollData.validSizes={}),this.$emit("vscroll:update",{force:!0})},scrollToItem(e){const t=this.$refs.scroller;t&&t.scrollToItem(e)},getItemSize(e,t=void 0){const i=this.simpleArray?t!=null?t:this.items.indexOf(e):e[this.keyField];return this.vscrollData.sizes[i]||0},scrollToBottom(){if(this.$_scrollingToBottom)return;this.$_scrollingToBottom=!0;const e=this.$el;this.$nextTick(()=>{e.scrollTop=e.scrollHeight+5e3;const t=()=>{e.scrollTop=e.scrollHeight+5e3,requestAnimationFrame(()=>{e.scrollTop=e.scrollHeight+5e3,this.$_undefinedSizes===0?this.$_scrollingToBottom=!1:requestAnimationFrame(t)})};requestAnimationFrame(t)})}}};const ai=si;var He=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("RecycleScroller",e._g(e._b({ref:"scroller",attrs:{items:e.itemsWithSize,"min-item-size":e.minItemSize,direction:e.direction,"key-field":"id","list-tag":e.listTag,"item-tag":e.itemTag},on:{resize:e.onScrollerResize,visible:e.onScrollerVisible},scopedSlots:e._u([{key:"default",fn:function(r){var s=r.item,a=r.index,n=r.active;return[e._t("default",null,null,{item:s.item,index:a,active:n,itemWithSize:s})]}}],null,!0)},"RecycleScroller",e.$attrs,!1),e.listeners),[e._v(" "),i("template",{slot:"before"},[e._t("before")],2),e._v(" "),i("template",{slot:"after"},[e._t("after")],2),e._v(" "),i("template",{slot:"empty"},[e._t("empty")],2)],2)},ni=[];He._withStripped=!0;const Be=me({render:He,staticRenderFns:ni},void 0,ai,void 0,!1);var oi={name:"DynamicScrollerItem",inject:["vscrollData","vscrollParent","vscrollResizeObserver"],props:{item:{required:!0},watchData:{type:Boolean,default:!1},active:{type:Boolean,required:!0},index:{type:Number,default:void 0},sizeDependencies:{type:[Array,Object],default:null},emitResize:{type:Boolean,default:!1},tag:{type:String,default:"div"}},computed:{id(){if(this.vscrollData.simpleArray)return this.index;if(this.item.hasOwnProperty(this.vscrollData.keyField))return this.item[this.vscrollData.keyField];throw new Error(`keyField '${this.vscrollData.keyField}' not found in your item. You should set a valid keyField prop on your Scroller`)},size(){return this.vscrollData.validSizes[this.id]&&this.vscrollData.sizes[this.id]||0},finalActive(){return this.active&&this.vscrollData.active}},watch:{watchData:"updateWatchData",id(){this.size||this.onDataUpdate()},finalActive(e){this.size||(e?this.vscrollParent.$_undefinedMap[this.id]||(this.vscrollParent.$_undefinedSizes++,this.vscrollParent.$_undefinedMap[this.id]=!0):this.vscrollParent.$_undefinedMap[this.id]&&(this.vscrollParent.$_undefinedSizes--,this.vscrollParent.$_undefinedMap[this.id]=!1)),this.vscrollResizeObserver?e?this.observeSize():this.unobserveSize():e&&this.$_pendingVScrollUpdate===this.id&&this.updateSize()}},created(){if(!this.$isServer&&(this.$_forceNextVScrollUpdate=null,this.updateWatchData(),!this.vscrollResizeObserver)){for(const e in this.sizeDependencies)this.$watch(()=>this.sizeDependencies[e],this.onDataUpdate);this.vscrollParent.$on("vscroll:update",this.onVscrollUpdate),this.vscrollParent.$on("vscroll:update-size",this.onVscrollUpdateSize)}},mounted(){this.vscrollData.active&&(this.updateSize(),this.observeSize())},beforeDestroy(){this.vscrollParent.$off("vscroll:update",this.onVscrollUpdate),this.vscrollParent.$off("vscroll:update-size",this.onVscrollUpdateSize),this.unobserveSize()},methods:{updateSize(){this.finalActive?this.$_pendingSizeUpdate!==this.id&&(this.$_pendingSizeUpdate=this.id,this.$_forceNextVScrollUpdate=null,this.$_pendingVScrollUpdate=null,this.computeSize(this.id)):this.$_forceNextVScrollUpdate=this.id},updateWatchData(){this.watchData&&!this.vscrollResizeObserver?this.$_watchData=this.$watch("item",()=>{this.onDataUpdate()},{deep:!0}):this.$_watchData&&(this.$_watchData(),this.$_watchData=null)},onVscrollUpdate({force:e}){!this.finalActive&&e&&(this.$_pendingVScrollUpdate=this.id),(this.$_forceNextVScrollUpdate===this.id||e||!this.size)&&this.updateSize()},onDataUpdate(){this.updateSize()},computeSize(e){this.$nextTick(()=>{if(this.id===e){const t=this.$el.offsetWidth,i=this.$el.offsetHeight;this.applySize(t,i)}this.$_pendingSizeUpdate=null})},applySize(e,t){const i=~~(this.vscrollParent.direction==="vertical"?t:e);i&&this.size!==i&&(this.vscrollParent.$_undefinedMap[this.id]&&(this.vscrollParent.$_undefinedSizes--,this.vscrollParent.$_undefinedMap[this.id]=void 0),this.$set(this.vscrollData.sizes,this.id,i),this.$set(this.vscrollData.validSizes,this.id,!0),this.emitResize&&this.$emit("resize",this.id))},observeSize(){!this.vscrollResizeObserver||!this.$el.parentNode||(this.vscrollResizeObserver.observe(this.$el.parentNode),this.$el.parentNode.addEventListener("resize",this.onResize))},unobserveSize(){this.vscrollResizeObserver&&(this.vscrollResizeObserver.unobserve(this.$el.parentNode),this.$el.parentNode.removeEventListener("resize",this.onResize))},onResize(e){const{width:t,height:i}=e.detail.contentRect;this.applySize(t,i)}},render(e){return e(this.tag,this.$slots.default)}};const ke=me({},void 0,oi,void 0,void 0);function li(e,t){e.component(`${t}recycle-scroller`,ie),e.component(`${t}RecycleScroller`,ie),e.component(`${t}dynamic-scroller`,Be),e.component(`${t}DynamicScroller`,Be),e.component(`${t}dynamic-scroller-item`,ke),e.component(`${t}DynamicScrollerItem`,ke)}const ci={version:"1.1.2",install(e,t){const i=Object.assign({},{installComponents:!0,componentsPrefix:""},t);for(const r in i)typeof i[r]!="undefined"&&(Ve[r]=i[r]);i.installComponents&&li(e,i.componentsPrefix)}};let re=null;typeof window!="undefined"?re=window.Vue:typeof global!="undefined"&&(re=global.Vue),re&&re.use(ci);function ui(){this.__data__=[],this.size=0}var di=ui;function fi(e,t){return e===t||e!==e&&t!==t}var Ge=fi,hi=Ge;function pi(e,t){for(var i=e.length;i--;)if(hi(e[i][0],t))return i;return-1}var se=pi,vi=se,_i=Array.prototype,mi=_i.splice;function yi(e){var t=this.__data__,i=vi(t,e);if(i<0)return!1;var r=t.length-1;return i==r?t.pop():mi.call(t,i,1),--this.size,!0}var gi=yi,bi=se;function $i(e){var t=this.__data__,i=bi(t,e);return i<0?void 0:t[i][1]}var Si=$i,wi=se;function Oi(e){return wi(this.__data__,e)>-1}var Ti=Oi,zi=se;function Ai(e,t){var i=this.__data__,r=zi(i,e);return r<0?(++this.size,i.push([e,t])):i[r][1]=t,this}var xi=Ai,Ii=di,Pi=gi,Ci=Si,ji=Ti,Di=xi;function U(e){var t=-1,i=e==null?0:e.length;for(this.clear();++t<i;){var r=e[t];this.set(r[0],r[1])}}U.prototype.clear=Ii,U.prototype.delete=Pi,U.prototype.get=Ci,U.prototype.has=ji,U.prototype.set=Di;var ae=U,Ri=ae;function Ei(){this.__data__=new Ri,this.size=0}var Mi=Ei;function Li(e){var t=this.__data__,i=t.delete(e);return this.size=t.size,i}var Vi=Li;function Fi(e){return this.__data__.get(e)}var Ui=Fi;function Ni(e){return this.__data__.has(e)}var Hi=Ni,Bi=typeof Y=="object"&&Y&&Y.Object===Object&&Y,qe=Bi,ki=qe,Gi=typeof self=="object"&&self&&self.Object===Object&&self,qi=ki||Gi||Function("return this")(),C=qi,Ki=C,Wi=Ki.Symbol,ye=Wi,Ke=ye,We=Object.prototype,Yi=We.hasOwnProperty,Xi=We.toString,X=Ke?Ke.toStringTag:void 0;function Ji(e){var t=Yi.call(e,X),i=e[X];try{e[X]=void 0;var r=!0}catch(a){}var s=Xi.call(e);return r&&(t?e[X]=i:delete e[X]),s}var Zi=Ji,Qi=Object.prototype,er=Qi.toString;function tr(e){return er.call(e)}var ir=tr,Ye=ye,rr=Zi,sr=ir,ar="[object Null]",nr="[object Undefined]",Xe=Ye?Ye.toStringTag:void 0;function or(e){return e==null?e===void 0?nr:ar:Xe&&Xe in Object(e)?rr(e):sr(e)}var J=or;function lr(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Je=lr,cr=J,ur=Je,dr="[object AsyncFunction]",fr="[object Function]",hr="[object GeneratorFunction]",pr="[object Proxy]";function vr(e){if(!ur(e))return!1;var t=cr(e);return t==fr||t==hr||t==dr||t==pr}var Ze=vr,_r=C,mr=_r["__core-js_shared__"],yr=mr,ge=yr,Qe=function(){var e=/[^.]+$/.exec(ge&&ge.keys&&ge.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function gr(e){return!!Qe&&Qe in e}var br=gr,$r=Function.prototype,Sr=$r.toString;function wr(e){if(e!=null){try{return Sr.call(e)}catch(t){}try{return e+""}catch(t){}}return""}var et=wr,Or=Ze,Tr=br,zr=Je,Ar=et,xr=/[\\^$.*+?()[\]{}|]/g,Ir=/^\[object .+?Constructor\]$/,Pr=Function.prototype,Cr=Object.prototype,jr=Pr.toString,Dr=Cr.hasOwnProperty,Rr=RegExp("^"+jr.call(Dr).replace(xr,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Er(e){if(!zr(e)||Tr(e))return!1;var t=Or(e)?Rr:Ir;return t.test(Ar(e))}var Mr=Er;function Lr(e,t){return e==null?void 0:e[t]}var Vr=Lr,Fr=Mr,Ur=Vr;function Nr(e,t){var i=Ur(e,t);return Fr(i)?i:void 0}var N=Nr,Hr=N,Br=C,kr=Hr(Br,"Map"),be=kr,Gr=N,qr=Gr(Object,"create"),ne=qr,tt=ne;function Kr(){this.__data__=tt?tt(null):{},this.size=0}var Wr=Kr;function Yr(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var Xr=Yr,Jr=ne,Zr="__lodash_hash_undefined__",Qr=Object.prototype,es=Qr.hasOwnProperty;function ts(e){var t=this.__data__;if(Jr){var i=t[e];return i===Zr?void 0:i}return es.call(t,e)?t[e]:void 0}var is=ts,rs=ne,ss=Object.prototype,as=ss.hasOwnProperty;function ns(e){var t=this.__data__;return rs?t[e]!==void 0:as.call(t,e)}var os=ns,ls=ne,cs="__lodash_hash_undefined__";function us(e,t){var i=this.__data__;return this.size+=this.has(e)?0:1,i[e]=ls&&t===void 0?cs:t,this}var ds=us,fs=Wr,hs=Xr,ps=is,vs=os,_s=ds;function H(e){var t=-1,i=e==null?0:e.length;for(this.clear();++t<i;){var r=e[t];this.set(r[0],r[1])}}H.prototype.clear=fs,H.prototype.delete=hs,H.prototype.get=ps,H.prototype.has=vs,H.prototype.set=_s;var ms=H,it=ms,ys=ae,gs=be;function bs(){this.size=0,this.__data__={hash:new it,map:new(gs||ys),string:new it}}var $s=bs;function Ss(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var ws=Ss,Os=ws;function Ts(e,t){var i=e.__data__;return Os(t)?i[typeof t=="string"?"string":"hash"]:i.map}var oe=Ts,zs=oe;function As(e){var t=zs(this,e).delete(e);return this.size-=t?1:0,t}var xs=As,Is=oe;function Ps(e){return Is(this,e).get(e)}var Cs=Ps,js=oe;function Ds(e){return js(this,e).has(e)}var Rs=Ds,Es=oe;function Ms(e,t){var i=Es(this,e),r=i.size;return i.set(e,t),this.size+=i.size==r?0:1,this}var Ls=Ms,Vs=$s,Fs=xs,Us=Cs,Ns=Rs,Hs=Ls;function B(e){var t=-1,i=e==null?0:e.length;for(this.clear();++t<i;){var r=e[t];this.set(r[0],r[1])}}B.prototype.clear=Vs,B.prototype.delete=Fs,B.prototype.get=Us,B.prototype.has=Ns,B.prototype.set=Hs;var rt=B,Bs=ae,ks=be,Gs=rt,qs=200;function Ks(e,t){var i=this.__data__;if(i instanceof Bs){var r=i.__data__;if(!ks||r.length<qs-1)return r.push([e,t]),this.size=++i.size,this;i=this.__data__=new Gs(r)}return i.set(e,t),this.size=i.size,this}var Ws=Ks,Ys=ae,Xs=Mi,Js=Vi,Zs=Ui,Qs=Hi,ea=Ws;function k(e){var t=this.__data__=new Ys(e);this.size=t.size}k.prototype.clear=Xs,k.prototype.delete=Js,k.prototype.get=Zs,k.prototype.has=Qs,k.prototype.set=ea;var ta=k,ia="__lodash_hash_undefined__";function ra(e){return this.__data__.set(e,ia),this}var sa=ra;function aa(e){return this.__data__.has(e)}var na=aa,oa=rt,la=sa,ca=na;function le(e){var t=-1,i=e==null?0:e.length;for(this.__data__=new oa;++t<i;)this.add(e[t])}le.prototype.add=le.prototype.push=la,le.prototype.has=ca;var ua=le;function da(e,t){for(var i=-1,r=e==null?0:e.length;++i<r;)if(t(e[i],i,e))return!0;return!1}var fa=da;function ha(e,t){return e.has(t)}var pa=ha,va=ua,_a=fa,ma=pa,ya=1,ga=2;function ba(e,t,i,r,s,a){var n=i&ya,o=e.length,l=t.length;if(o!=l&&!(n&&l>o))return!1;var c=a.get(e),f=a.get(t);if(c&&f)return c==t&&f==e;var m=-1,v=!0,O=i&ga?new va:void 0;for(a.set(e,t),a.set(t,e);++m<o;){var p=e[m],h=t[m];if(r)var z=n?r(h,p,m,t,e,a):r(p,h,m,e,t,a);if(z!==void 0){if(z)continue;v=!1;break}if(O){if(!_a(t,function(b,$){if(!ma(O,$)&&(p===b||s(p,b,i,r,a)))return O.push($)})){v=!1;break}}else if(!(p===h||s(p,h,i,r,a))){v=!1;break}}return a.delete(e),a.delete(t),v}var st=ba,$a=C,Sa=$a.Uint8Array,wa=Sa;function Oa(e){var t=-1,i=Array(e.size);return e.forEach(function(r,s){i[++t]=[s,r]}),i}var Ta=Oa;function za(e){var t=-1,i=Array(e.size);return e.forEach(function(r){i[++t]=r}),i}var Aa=za,at=ye,nt=wa,xa=Ge,Ia=st,Pa=Ta,Ca=Aa,ja=1,Da=2,Ra="[object Boolean]",Ea="[object Date]",Ma="[object Error]",La="[object Map]",Va="[object Number]",Fa="[object RegExp]",Ua="[object Set]",Na="[object String]",Ha="[object Symbol]",Ba="[object ArrayBuffer]",ka="[object DataView]",ot=at?at.prototype:void 0,$e=ot?ot.valueOf:void 0;function Ga(e,t,i,r,s,a,n){switch(i){case ka:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case Ba:return!(e.byteLength!=t.byteLength||!a(new nt(e),new nt(t)));case Ra:case Ea:case Va:return xa(+e,+t);case Ma:return e.name==t.name&&e.message==t.message;case Fa:case Na:return e==t+"";case La:var o=Pa;case Ua:var l=r&ja;if(o||(o=Ca),e.size!=t.size&&!l)return!1;var c=n.get(e);if(c)return c==t;r|=Da,n.set(e,t);var f=Ia(o(e),o(t),r,s,a,n);return n.delete(e),f;case Ha:if($e)return $e.call(e)==$e.call(t)}return!1}var qa=Ga;function Ka(e,t){for(var i=-1,r=t.length,s=e.length;++i<r;)e[s+i]=t[i];return e}var Wa=Ka,Ya=Array.isArray,Se=Ya,Xa=Wa,Ja=Se;function Za(e,t,i){var r=t(e);return Ja(e)?r:Xa(r,i(e))}var Qa=Za;function en(e,t){for(var i=-1,r=e==null?0:e.length,s=0,a=[];++i<r;){var n=e[i];t(n,i,e)&&(a[s++]=n)}return a}var tn=en;function rn(){return[]}var sn=rn,an=tn,nn=sn,on=Object.prototype,ln=on.propertyIsEnumerable,lt=Object.getOwnPropertySymbols,cn=lt?function(e){return e==null?[]:(e=Object(e),an(lt(e),function(t){return ln.call(e,t)}))}:nn,un=cn;function dn(e,t){for(var i=-1,r=Array(e);++i<e;)r[i]=t(i);return r}var fn=dn;function hn(e){return e!=null&&typeof e=="object"}var Z=hn,pn=J,vn=Z,_n="[object Arguments]";function mn(e){return vn(e)&&pn(e)==_n}var yn=mn,ct=yn,gn=Z,ut=Object.prototype,bn=ut.hasOwnProperty,$n=ut.propertyIsEnumerable,Sn=ct(function(){return arguments}())?ct:function(e){return gn(e)&&bn.call(e,"callee")&&!$n.call(e,"callee")},wn=Sn,ce={exports:{}};function On(){return!1}var Tn=On;ce.exports,function(e,t){var i=C,r=Tn,s=t&&!t.nodeType&&t,a=s&&!0&&e&&!e.nodeType&&e,n=a&&a.exports===s,o=n?i.Buffer:void 0,l=o?o.isBuffer:void 0,c=l||r;e.exports=c}(ce,ce.exports);var dt=ce.exports,zn=9007199254740991,An=/^(?:0|[1-9]\d*)$/;function xn(e,t){var i=typeof e;return t=t==null?zn:t,!!t&&(i=="number"||i!="symbol"&&An.test(e))&&e>-1&&e%1==0&&e<t}var In=xn,Pn=9007199254740991;function Cn(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Pn}var ft=Cn,jn=J,Dn=ft,Rn=Z,En="[object Arguments]",Mn="[object Array]",Ln="[object Boolean]",Vn="[object Date]",Fn="[object Error]",Un="[object Function]",Nn="[object Map]",Hn="[object Number]",Bn="[object Object]",kn="[object RegExp]",Gn="[object Set]",qn="[object String]",Kn="[object WeakMap]",Wn="[object ArrayBuffer]",Yn="[object DataView]",Xn="[object Float32Array]",Jn="[object Float64Array]",Zn="[object Int8Array]",Qn="[object Int16Array]",eo="[object Int32Array]",to="[object Uint8Array]",io="[object Uint8ClampedArray]",ro="[object Uint16Array]",so="[object Uint32Array]",_={};_[Xn]=_[Jn]=_[Zn]=_[Qn]=_[eo]=_[to]=_[io]=_[ro]=_[so]=!0,_[En]=_[Mn]=_[Wn]=_[Ln]=_[Yn]=_[Vn]=_[Fn]=_[Un]=_[Nn]=_[Hn]=_[Bn]=_[kn]=_[Gn]=_[qn]=_[Kn]=!1;function ao(e){return Rn(e)&&Dn(e.length)&&!!_[jn(e)]}var no=ao;function oo(e){return function(t){return e(t)}}var lo=oo,ue={exports:{}};ue.exports,function(e,t){var i=qe,r=t&&!t.nodeType&&t,s=r&&!0&&e&&!e.nodeType&&e,a=s&&s.exports===r,n=a&&i.process,o=function(){try{var l=s&&s.require&&s.require("util").types;return l||n&&n.binding&&n.binding("util")}catch(c){}}();e.exports=o}(ue,ue.exports);var co=ue.exports,uo=no,fo=lo,ht=co,pt=ht&&ht.isTypedArray,ho=pt?fo(pt):uo,vt=ho,po=fn,vo=wn,_o=Se,mo=dt,yo=In,go=vt,bo=Object.prototype,$o=bo.hasOwnProperty;function So(e,t){var i=_o(e),r=!i&&vo(e),s=!i&&!r&&mo(e),a=!i&&!r&&!s&&go(e),n=i||r||s||a,o=n?po(e.length,String):[],l=o.length;for(var c in e)(t||$o.call(e,c))&&!(n&&(c=="length"||s&&(c=="offset"||c=="parent")||a&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||yo(c,l)))&&o.push(c);return o}var wo=So,Oo=Object.prototype;function To(e){var t=e&&e.constructor,i=typeof t=="function"&&t.prototype||Oo;return e===i}var zo=To;function Ao(e,t){return function(i){return e(t(i))}}var _t=Ao,xo=_t,Io=xo(Object.keys,Object),Po=Io,Co=zo,jo=Po,Do=Object.prototype,Ro=Do.hasOwnProperty;function Eo(e){if(!Co(e))return jo(e);var t=[];for(var i in Object(e))Ro.call(e,i)&&i!="constructor"&&t.push(i);return t}var Mo=Eo,Lo=Ze,Vo=ft;function Fo(e){return e!=null&&Vo(e.length)&&!Lo(e)}var Uo=Fo,No=wo,Ho=Mo,Bo=Uo;function ko(e){return Bo(e)?No(e):Ho(e)}var Go=ko,qo=Qa,Ko=un,Wo=Go;function Yo(e){return qo(e,Wo,Ko)}var Xo=Yo,mt=Xo,Jo=1,Zo=Object.prototype,Qo=Zo.hasOwnProperty;function el(e,t,i,r,s,a){var n=i&Jo,o=mt(e),l=o.length,c=mt(t),f=c.length;if(l!=f&&!n)return!1;for(var m=l;m--;){var v=o[m];if(!(n?v in t:Qo.call(t,v)))return!1}var O=a.get(e),p=a.get(t);if(O&&p)return O==t&&p==e;var h=!0;a.set(e,t),a.set(t,e);for(var z=n;++m<l;){v=o[m];var b=e[v],$=t[v];if(r)var u=n?r($,b,v,t,e,a):r(b,$,v,e,t,a);if(!(u===void 0?b===$||s(b,$,i,r,a):u)){h=!1;break}z||(z=v=="constructor")}if(h&&!z){var x=e.constructor,L=t.constructor;x!=L&&"constructor"in e&&"constructor"in t&&!(typeof x=="function"&&x instanceof x&&typeof L=="function"&&L instanceof L)&&(h=!1)}return a.delete(e),a.delete(t),h}var tl=el,il=N,rl=C,sl=il(rl,"DataView"),al=sl,nl=N,ol=C,ll=nl(ol,"Promise"),cl=ll,ul=N,dl=C,fl=ul(dl,"Set"),hl=fl,pl=N,vl=C,_l=pl(vl,"WeakMap"),ml=_l,we=al,Oe=be,Te=cl,ze=hl,Ae=ml,yt=J,G=et,gt="[object Map]",yl="[object Object]",bt="[object Promise]",$t="[object Set]",St="[object WeakMap]",wt="[object DataView]",gl=G(we),bl=G(Oe),$l=G(Te),Sl=G(ze),wl=G(Ae),M=yt;(we&&M(new we(new ArrayBuffer(1)))!=wt||Oe&&M(new Oe)!=gt||Te&&M(Te.resolve())!=bt||ze&&M(new ze)!=$t||Ae&&M(new Ae)!=St)&&(M=function(e){var t=yt(e),i=t==yl?e.constructor:void 0,r=i?G(i):"";if(r)switch(r){case gl:return wt;case bl:return gt;case $l:return bt;case Sl:return $t;case wl:return St}return t});var Ol=M,xe=ta,Tl=st,zl=qa,Al=tl,Ot=Ol,Tt=Se,zt=dt,xl=vt,Il=1,At="[object Arguments]",xt="[object Array]",de="[object Object]",Pl=Object.prototype,It=Pl.hasOwnProperty;function Cl(e,t,i,r,s,a){var n=Tt(e),o=Tt(t),l=n?xt:Ot(e),c=o?xt:Ot(t);l=l==At?de:l,c=c==At?de:c;var f=l==de,m=c==de,v=l==c;if(v&&zt(e)){if(!zt(t))return!1;n=!0,f=!1}if(v&&!f)return a||(a=new xe),n||xl(e)?Tl(e,t,i,r,s,a):zl(e,t,l,i,r,s,a);if(!(i&Il)){var O=f&&It.call(e,"__wrapped__"),p=m&&It.call(t,"__wrapped__");if(O||p){var h=O?e.value():e,z=p?t.value():t;return a||(a=new xe),s(h,z,i,r,a)}}return v?(a||(a=new xe),Al(e,t,i,r,s,a)):!1}var jl=Cl,Dl=jl,Pt=Z;function Ct(e,t,i,r,s){return e===t?!0:e==null||t==null||!Pt(e)&&!Pt(t)?e!==e&&t!==t:Dl(e,t,i,r,Ct,s)}var Rl=Ct,El=Rl;function Ml(e,t){return El(e,t)}var Ll=Ml;const Vl=ve(Ll);var Fl=_t,Ul=Fl(Object.getPrototypeOf,Object),Nl=Ul,Hl=J,Bl=Nl,kl=Z,Gl="[object Object]",ql=Function.prototype,Kl=Object.prototype,jt=ql.toString,Wl=Kl.hasOwnProperty,Yl=jt.call(Object);function Xl(e){if(!kl(e)||Hl(e)!=Gl)return!1;var t=Bl(e);if(t===null)return!0;var i=Wl.call(t,"constructor")&&t.constructor;return typeof i=="function"&&i instanceof i&&jt.call(i)==Yl}var Jl=Xl;const Ie=ve(Jl),w=[];for(let e=0;e<256;++e)w.push((e+256).toString(16).slice(1));function Zl(e,t=0){return(w[e[t+0]]+w[e[t+1]]+w[e[t+2]]+w[e[t+3]]+"-"+w[e[t+4]]+w[e[t+5]]+"-"+w[e[t+6]]+w[e[t+7]]+"-"+w[e[t+8]]+w[e[t+9]]+"-"+w[e[t+10]]+w[e[t+11]]+w[e[t+12]]+w[e[t+13]]+w[e[t+14]]+w[e[t+15]]).toLowerCase()}let Pe;const Ql=new Uint8Array(16);function ec(){if(!Pe){if(typeof crypto=="undefined"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");Pe=crypto.getRandomValues.bind(crypto)}return Pe(Ql)}const Dt={randomUUID:typeof crypto!="undefined"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function Rt(e,t,i){var s,a,n;if(Dt.randomUUID&&!e)return Dt.randomUUID();e=e||{};const r=(n=(a=e.random)!=null?a:(s=e.rng)==null?void 0:s.call(e))!=null?n:ec();if(r.length<16)throw new Error("Random bytes length must be >= 16");return r[6]=r[6]&15|64,r[8]=r[8]&63|128,Zl(r)}function tc(e,t,i,r,s,a,n,o){var l=typeof e=="function"?e.options:e;return t&&(l.render=t,l.staticRenderFns=i,l._compiled=!0),{exports:e,options:l}}const ic={mixins:[S],name:"ElSelectV2",components:{RecycleScroller:ie},props:{value:{type:[Array,String,Number,Boolean,Object],default:void 0},options:{type:Array,default:()=>[]},valueKey:{type:String,default:"value"},autocomplete:{type:String,default:"off"},automaticDropdown:Boolean,size:String,disabled:Boolean,clearable:Boolean,filterable:Boolean,allowCreate:Boolean,loading:Boolean,popperClass:String,remote:Boolean,loadingText:String,noMatchText:String,noDataText:String,remoteMethod:Function,filterMethod:Function,multiple:Boolean,multipleLimit:{type:Number,default:0},placeholder:{type:String,required:!1},defaultFirstOption:Boolean,reserveKeyword:{type:Boolean,default:!0},collapseTags:Boolean,popperAppendToBody:{type:Boolean,default:!0},minItemSize:{type:Number,default:34},fitInputWidth:{type:Boolean,default:!0},props:{type:Object,default:()=>({})}},data(){return{localValue:"",localIndex:-1,localOptions:[],dropdownWidth:"",query:"",defaultProps:{label:"label",value:"value",disabled:"disabled",options:"options"}}},mounted(){this.updateSelectedLabel(),this.$refs.select&&(this.$refs.select.navigateOptions=this.navigateOptions,this.$watch(()=>this.$refs.select.visible,e=>{e&&(this.query="",this.updateOptions())}))},methods:{updateSelectedLabel(){var s;if(!this.$refs.select)return;const{setSelected:e,cachedOptions:t}=this.$refs.select,i=this.multiple?this.collapseTags?(s=this.localValue)==null?void 0:s.slice(0,1):this.localValue:[this.localValue];this.flattedOptions.filter(a=>i==null?void 0:i.some(n=>this.isSameValue(n,a[this.aliasProps.value]))).map(a=>({value:a[this.aliasProps.value],currentLabel:a[this.aliasProps.label]})).forEach(a=>{const n=t.find(o=>o.value===a.value);n?t.splice(t.indexOf(n),1,a):t.push(a)}),e()},handleScrollerVisible(){var t;const e=this.multiple?(t=this.localValue)==null?void 0:t[0]:this.localValue;this.localIndex=this.localOptions.findIndex(i=>this.isSameValue(i[this.aliasProps.value],e)),this.localIndex===-1&&(this.localIndex=this.defaultFirstOption?0:-1),this.$refs.scroller.scrollToItem(this.localIndex)},localFilterMethod(e){if(this.localIndex=this.defaultFirstOption?0:-1,this.query=e,typeof this.filterMethod=="function")this.filterMethod(e);else{const t=this.flattedOptions.filter(i=>{var r;return!i._isGroup&&((r=i[this.aliasProps.label])==null?void 0:r.toLowerCase().includes(e.toLowerCase()))}).map(i=>i._groupName);this.localOptions=this.flattedOptions.filter(i=>{var r;return i._isGroup?t.some(s=>i._groupName===s):(r=i[this.aliasProps.label])==null?void 0:r.toLowerCase().includes(e.toLowerCase())})}},updateOptions(){this.localOptions=this.flattedOptions},updateDropdownWidth(){return Ut(this,null,function*(){var l;if(!((l=this.$refs.select)!=null&&l.$refs.popper)||this.fitInputWidth)return;const{inputWidth:e}=this.$refs.select,i=document.createElement("canvas").getContext("2d");yield this.$nextTick();const r=this.$refs.select.$refs.popper.$el.querySelector(".el-select-dropdown__item");if(!r)return;const s=getComputedStyle(r),a=parseFloat(s.paddingLeft)+parseFloat(s.paddingRight),n=6;i.font=`bold ${s.font.replace(new RegExp(`\\b${s.fontWeight}\\b`),"")}`;let o=0;this.localOptions.forEach(c=>{const f=i.measureText(c[this.aliasProps.label]);o=Math.max(f.width,o)}),this.dropdownWidth=Math.max(o+a+n,e-2)})},isSameValue(e,t){return Ie(e)&&Ie(t)?e[this.valueKey]===t[this.valueKey]:e===t},getOptionKey(e){const t=e[this.aliasProps.value];return Ie(t)?t[this.valueKey]:t},focus(){this.$refs.select.focus()},blur(){this.$refs.select.blur()}},computed:{aliasProps(){return V(V({},this.defaultProps),this.props)},flattedOptions(){if(!Array.isArray(this.options))return[];const e=[];return this.options.forEach(t=>{const i=Rt();Array.isArray(t[this.aliasProps.options])?(e.push(ee(V({},t),{_isGroup:!0,_groupName:i,[this.aliasProps.value]:Rt()})),e.push(...t[this.aliasProps.options].map(r=>ee(V({},r),{_groupName:i})))):e.push(t)}),this.allowCreate&&this.query&&!e.some(t=>t[this.aliasProps.label]===this.query)&&e.unshift({[this.aliasProps.value]:this.query,[this.aliasProps.label]:this.query}),e},scrollerStyle(){return{width:this.dropdownWidth?`${this.dropdownWidth}px`:""}}},watch:{value:{handler(){Vl(this.value,this.localValue)||(this.localValue=this.value,this.updateSelectedLabel())},deep:!0,immediate:!0},options:{handler(){this.updateOptions();const e=this.$el.querySelectorAll("input");Array.from(e).includes(document.activeElement)||this.updateSelectedLabel()},deep:!0},localOptions(){this.updateHoverIndex(),this.updateDropdownWidth()},localIndex(){this.updateHoverIndex()}}};var rc=function(){var t=this,i=t._self._c;return i("el-select",t._g(t._b({ref:"select",staticClass:"el-select-v2",attrs:{autocomplete:t.autocomplete,"automatic-dropdown":t.automaticDropdown,size:t.size,disabled:t.disabled,clearable:t.clearable,filterable:t.filterable,"allow-create":!1,loading:t.loading,"popper-class":`el-select-v2__popper ${t.popperClass||""}`,remote:t.remote,"loading-text":t.loadingText,"no-match-text":t.noMatchText,"no-data-text":t.noDataText,"remote-method":t.remoteMethod,"filter-method":t.localFilterMethod,multiple:t.multiple,"multiple-limit":t.multipleLimit,placeholder:t.placeholder,"reserve-keyword":t.reserveKeyword,"collapse-tags":t.collapseTags,"popper-append-to-body":t.popperAppendToBody,"value-key":t.valueKey},model:{value:t.localValue,callback:function(r){t.localValue=r},expression:"localValue"}},"el-select",t.$attrs,!1),t.$listeners),[t.$slots.header?i("div",{staticClass:"el-select-dropdown__header"},[t._t("header")],2):t._e(),t.localOptions.length?i("RecycleScroller",{ref:"scroller",staticClass:"scroller",style:t.scrollerStyle,attrs:{items:t.localOptions,"min-item-size":t.minItemSize,"key-field":t.aliasProps.value},on:{visible:t.handleScrollerVisible},scopedSlots:t._u([{key:"default",fn:function({item:r}){return[r._isGroup?i("li",{staticClass:"el-select-group__title"},[t._v(t._s(r[t.aliasProps.label]))]):i("el-option",{key:t.getOptionKey(r),attrs:{value:r[t.aliasProps.value],label:r[t.aliasProps.label],disabled:r[t.aliasProps.disabled]},nativeOn:{mousemove:function(s){return t.hoverItem(r)}}},[t._t("default",null,{item:r})],2)]}}],null,!1,3419706436)}):t._e(),t.$slots.footer?i("div",{staticClass:"el-select-dropdown__footer"},[t._t("footer")],2):t._e(),t.$slots.prefix?i("template",{slot:"prefix"},[t._t("prefix")],2):t._e(),t.$slots.empty?i("template",{slot:"empty"},[t._t("empty")],2):t._e()],2)},sc=[],ac=tc(ic,rc,sc);const fe=ac.exports;return fe.install=e=>{e.component(fe.name,fe)},fe});