import{I as U,h as q,a6 as Y,S as O,A as te,al as ae,X as le,o as H,q as ne,v as ue,w as re,au as oe,_ as se,$ as de}from"./index-_nEGkTj9.js";import{d as j,B as I,l as E,r as V,i as ie,c as b,w as D,I as K,s as ce,f as fe,u as Z,g as ve,v as me,j as he,m as ge,o as N,p as F,y as R,ad as L,A as X,a as pe,N as be,X as ye,k as _e,n as Ce,b as ke}from"./vue-vendor-B2yM2jt_.js";var J=j({name:"IconCheck",render(){return I("svg",{"aria-hidden":"true",focusable:"false",viewBox:"0 0 1024 1024",width:"200",height:"200",fill:"currentColor"},[I("path",{d:"M877.44815445 206.10060629a64.72691371 64.72691371 0 0 0-95.14856334 4.01306852L380.73381888 685.46812814 235.22771741 533.48933518a64.72691371 64.72691371 0 0 0-92.43003222-1.03563036l-45.82665557 45.82665443a64.72691371 64.72691371 0 0 0-0.90617629 90.61767965l239.61903446 250.10479331a64.72691371 64.72691371 0 0 0 71.19960405 15.14609778 64.33855261 64.33855261 0 0 0 35.08198741-21.23042702l36.24707186-42.71976334 40.5190474-40.77795556-3.36579926-3.49525333 411.40426297-486.74638962a64.72691371 64.72691371 0 0 0-3.88361443-87.64024149l-45.3088404-45.43829334z","p-id":"840"},null)])}});const ee=Symbol("ArcoCheckboxGroup");var T=j({name:"Checkbox",components:{IconCheck:J,IconHover:U},props:{modelValue:{type:[Boolean,Array],default:void 0},defaultChecked:{type:Boolean,default:!1},value:{type:[String,Number,Boolean]},disabled:{type:Boolean,default:!1},indeterminate:{type:Boolean,default:!1},uninjectGroupContext:{type:Boolean,default:!1}},emits:{"update:modelValue":e=>!0,change:(e,u)=>!0},setup(e,{emit:u,slots:l}){const{disabled:x,modelValue:C}=E(e),v=q("checkbox"),o=V(),a=e.uninjectGroupContext?void 0:ie(ee,void 0),s=(a==null?void 0:a.name)==="ArcoCheckboxGroup",{mergedDisabled:y,eventHandlers:d}=Y({disabled:x}),S=V(e.defaultChecked),k=b(()=>{var r;return s?a==null?void 0:a.computedValue:(r=e.modelValue)!=null?r:S.value}),h=b(()=>{var r;return O(k.value)?k.value.includes((r=e.value)!=null?r:!0):k.value}),n=b(()=>(a==null?void 0:a.disabled)||(y==null?void 0:y.value)||!h.value&&(a==null?void 0:a.isMaxed)),g=r=>{r.stopPropagation()},z=r=>{var f,i,t,p;const{checked:m}=r.target;let c=m;if(O(k.value)){const _=new Set(k.value);m?_.add((f=e.value)!=null?f:!0):_.delete((i=e.value)!=null?i:!0),c=Array.from(_)}S.value=m,s&&O(c)?a==null||a.handleChange(c,r):(u("update:modelValue",c),u("change",c,r),(p=(t=d.value)==null?void 0:t.onChange)==null||p.call(t,r)),K(()=>{o.value&&o.value.checked!==h.value&&(o.value.checked=h.value)})},B=b(()=>[v,{[`${v}-checked`]:h.value,[`${v}-indeterminate`]:e.indeterminate,[`${v}-disabled`]:n.value}]),P=r=>{var f,i;(i=(f=d.value)==null?void 0:f.onFocus)==null||i.call(f,r)},$=r=>{var f,i;(i=(f=d.value)==null?void 0:f.onBlur)==null||i.call(f,r)};return D(C,r=>{(te(r)||ae(r))&&(S.value=!1)}),D(k,r=>{var f;let i;O(r)?i=r.includes((f=e.value)!=null?f:!0):i=r,S.value!==i&&(S.value=i),o.value&&o.value.checked!==i&&(o.value.checked=i)}),()=>{var r,f,i,t;return I("label",{"aria-disabled":n.value,class:B.value},[I("input",{ref:o,type:"checkbox",checked:h.value,value:e.value,class:`${v}-target`,disabled:n.value,onClick:g,onChange:z,onFocus:P,onBlur:$},null),(t=(i=(f=l.checkbox)!=null?f:(r=a==null?void 0:a.slots)==null?void 0:r.checkbox)==null?void 0:i({checked:h.value,disabled:n.value}))!=null?t:I(U,{class:`${v}-icon-hover`,disabled:n.value||h.value},{default:()=>[I("div",{class:`${v}-icon`},[h.value&&I(J,{class:`${v}-icon-check`},null)])]}),l.default&&I("span",{class:`${v}-label`},[l.default()])])}}}),M=j({name:"CheckboxGroup",props:{modelValue:{type:Array,default:void 0},defaultValue:{type:Array,default:()=>[]},max:{type:Number},options:{type:Array},direction:{type:String,default:"horizontal"},disabled:{type:Boolean,default:!1}},emits:{"update:modelValue":e=>!0,change:(e,u)=>!0},setup(e,{emit:u,slots:l}){const{disabled:x}=E(e),C=q("checkbox-group"),{mergedDisabled:v,eventHandlers:o}=Y({disabled:x}),a=V(e.defaultValue),s=b(()=>O(e.modelValue)?e.modelValue:a.value),y=b(()=>e.max===void 0?!1:s.value.length>=e.max),d=b(()=>{var n;return((n=e.options)!=null?n:[]).map(g=>le(g)||H(g)?{label:g,value:g}:g)});ce(ee,fe({name:"ArcoCheckboxGroup",computedValue:s,disabled:v,isMaxed:y,slots:l,handleChange:(n,g)=>{var z,B;a.value=n,u("update:modelValue",n),u("change",n,g),(B=(z=o.value)==null?void 0:z.onChange)==null||B.call(z,g)}}));const k=b(()=>[C,`${C}-direction-${e.direction}`]);D(()=>e.modelValue,n=>{O(n)?a.value=[...n]:a.value=[]});const h=()=>d.value.map(n=>{const g=s.value.includes(n.value);return I(T,{key:n.value,value:n.value,disabled:n.disabled||!g&&y.value,indeterminate:n.indeterminate,modelValue:g},{default:()=>[l.label?l.label({data:n}):ne(n.label)?n.label():n.label]})});return()=>{var n;return I("span",{class:k.value},[d.value.length>0?h():(n=l.default)==null?void 0:n.call(l)])}}});const Ge=Object.assign(T,{Group:M,install:(e,u)=>{ue(e,u);const l=re(u);e.component(l+T.name,T),e.component(l+M.name,M)}}),Se=({dataKeys:e,contentRef:u,fixedSize:l,estimatedSize:x,buffer:C})=>{const v=V(0),o=new Map,a=b(()=>e.value.length),s=V(0),y=b(()=>{const t=s.value+C.value*3;return t>a.value?a.value:t}),d=b(()=>{const t=a.value-C.value*3;return t<0?0:t}),S=t=>{t<0?s.value=0:t>d.value?s.value=d.value:s.value=t},k=V(l.value),h=b(()=>x.value!==30?x.value:v.value||x.value),n=(t,p)=>{o.set(t,p)},g=t=>{var p;if(k.value)return h.value;const m=e.value[t];return(p=o.get(m))!=null?p:h.value},z=t=>o.has(t);Z(()=>{const t=Array.from(o.values()).reduce((p,m)=>p+m,0);t>0&&(v.value=t/o.size)});const B=t=>k.value?h.value*t:P(0,t),P=(t,p)=>{let m=0;for(let c=t;ck.value?h.value*s.value:P(0,s.value)),r=t=>{const p=t>=$.value;let m=Math.abs(t-$.value);const c=p?s.value:s.value-1;let _=0;for(;m>0;)m-=g(c+_),p?_++:_--;return _},f=t=>{const p=r(t),m=s.value+p-C.value;return m<0?0:m>d.value?d.value:m},i=b(()=>k.value?h.value*(a.value-y.value):P(y.value,a.value));return{frontPadding:$,behindPadding:i,start:s,end:y,getStartByScroll:f,setItemSize:n,hasItemSize:z,setStart:S,getScrollOffset:B}};var xe=j({name:"VirtualListItem",props:{hasItemSize:{type:Function,required:!0},setItemSize:{type:Function,required:!0}},setup(e,{slots:u}){var l;const x=(l=ve())==null?void 0:l.vnode.key,C=V(),v=()=>{var o,a,s,y;const d=(a=(o=C.value)==null?void 0:o.$el)!=null?a:C.value,S=(y=(s=d==null?void 0:d.getBoundingClientRect)==null?void 0:s.call(d).height)!=null?y:d==null?void 0:d.offsetHeight;S&&e.setItemSize(x,S)};return Z(()=>v()),me(()=>v()),()=>{var o;const a=oe((o=u.default)==null?void 0:o.call(u));return a?he(a,{ref:C},!0):null}}}),ze=Object.defineProperty,Q=Object.getOwnPropertySymbols,Ie=Object.prototype.hasOwnProperty,Ve=Object.prototype.propertyIsEnumerable,W=(e,u,l)=>u in e?ze(e,u,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[u]=l,Be=(e,u)=>{for(var l in u||(u={}))Ie.call(u,l)&&W(e,l,u[l]);if(Q)for(var l of Q(u))Ve.call(u,l)&&W(e,l,u[l]);return e};const Pe=j({name:"VirtualList",components:{VirtualListItem:xe},props:{height:{type:[Number,String],default:200},data:{type:Array,default:()=>[]},threshold:{type:Number,default:0},itemKey:{type:String,default:"key"},fixedSize:{type:Boolean,default:!1},estimatedSize:{type:Number,default:30},buffer:{type:Number,default:10},component:{type:[String,Object],default:"div"},listAttrs:{type:Object},contentAttrs:{type:Object},paddingPosition:{type:String,default:"content"}},emits:{scroll:e=>!0,reachBottom:e=>!0},setup(e,{emit:u}){const{data:l,itemKey:x,fixedSize:C,estimatedSize:v,buffer:o,height:a}=E(e),s=q("virtual-list"),y=b(()=>de(e.component)?Be({container:"div",list:"div",content:"div"},e.component):{container:e.component,list:"div",content:"div"}),d=V(),S=V(),k=b(()=>({height:H(a.value)?`${a.value}px`:a.value,overflow:"auto"})),h=b(()=>l.value.map((c,_)=>{var A;return(A=c[x.value])!=null?A:_})),{frontPadding:n,behindPadding:g,start:z,end:B,getStartByScroll:P,setItemSize:$,hasItemSize:r,setStart:f,getScrollOffset:i}=Se({dataKeys:h,contentRef:S,fixedSize:C,estimatedSize:v,buffer:o}),t=b(()=>e.threshold&&l.value.length<=e.threshold?l.value:l.value.slice(z.value,B.value)),p=c=>{const{scrollTop:_,scrollHeight:A,offsetHeight:w}=c.target,G=P(_);G!==z.value&&(f(G),K(()=>{m(_)})),u("scroll",c),Math.floor(A-(_+w))<=0&&u("reachBottom",c)},m=c=>{var _,A;if(d.value)if(H(c))d.value.scrollTop=c;else{const w=(A=c.index)!=null?A:h.value.indexOf((_=c.key)!=null?_:"");f(w-o.value),d.value.scrollTop=i(w),K(()=>{if(d.value){const G=i(w);G!==d.value.scrollTop&&(d.value.scrollTop=G)}})}};return{prefixCls:s,containerRef:d,contentRef:S,frontPadding:n,currentList:t,behindPadding:g,onScroll:p,setItemSize:$,hasItemSize:r,start:z,scrollTo:m,style:k,mergedComponent:y}}});function $e(e,u,l,x,C,v){const o=ge("VirtualListItem");return N(),F(L(e.mergedComponent.container),{ref:"containerRef",class:Ce(e.prefixCls),style:ke(e.style),onScroll:e.onScroll},{default:R(()=>[(N(),F(L(e.mergedComponent.list),X(e.listAttrs,{style:e.paddingPosition==="list"?{paddingTop:`${e.frontPadding}px`,paddingBottom:`${e.behindPadding}px`}:{}}),{default:R(()=>[(N(),F(L(e.mergedComponent.content),X({ref:"contentRef"},e.contentAttrs,{style:e.paddingPosition==="content"?{paddingTop:`${e.frontPadding}px`,paddingBottom:`${e.behindPadding}px`}:{}}),{default:R(()=>[(N(!0),pe(be,null,ye(e.currentList,(a,s)=>{var y;return N(),F(o,{key:(y=a[e.itemKey])!=null?y:e.start+s,"has-item-size":e.hasItemSize,"set-item-size":e.setItemSize},{default:R(()=>[_e(e.$slots,"item",{item:a,index:e.start+s})]),_:2},1032,["has-item-size","set-item-size"])}),128))]),_:3},16,["style"]))]),_:3},16,["style"]))]),_:3},8,["class","style","onScroll"])}var Ne=se(Pe,[["render",$e]]);export{Ge as C,Ne as V,M as a};