| 1 |
- import{I as U,h as q,a6 as Y,S as O,A as te,ak as ae,X as le,o as H,q as ne,v as ue,w as oe,at as re,_ as se,$ as ie}from"./index-Ccm7NuMR.js";import{d as j,B as I,l as E,r as V,i as ce,c as b,w as D,I as K,s as de,f as ve,u as Z,g as fe,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 ke,b as Ce}from"./vue-vendor-B3m6NcsA.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:k}=E(e),f=q("checkbox"),r=V(),a=e.uninjectGroupContext?void 0:ce(ee,void 0),s=(a==null?void 0:a.name)==="ArcoCheckboxGroup",{mergedDisabled:y,eventHandlers:i}=Y({disabled:x}),S=V(e.defaultChecked),C=b(()=>{var o;return s?a==null?void 0:a.computedValue:(o=e.modelValue)!=null?o:S.value}),h=b(()=>{var o;return O(C.value)?C.value.includes((o=e.value)!=null?o:!0):C.value}),n=b(()=>(a==null?void 0:a.disabled)||(y==null?void 0:y.value)||!h.value&&(a==null?void 0:a.isMaxed)),g=o=>{o.stopPropagation()},z=o=>{var v,c,t,p;const{checked:m}=o.target;let d=m;if(O(C.value)){const _=new Set(C.value);m?_.add((v=e.value)!=null?v:!0):_.delete((c=e.value)!=null?c:!0),d=Array.from(_)}S.value=m,s&&O(d)?a==null||a.handleChange(d,o):(u("update:modelValue",d),u("change",d,o),(p=(t=i.value)==null?void 0:t.onChange)==null||p.call(t,o)),K(()=>{r.value&&r.value.checked!==h.value&&(r.value.checked=h.value)})},B=b(()=>[f,{[`${f}-checked`]:h.value,[`${f}-indeterminate`]:e.indeterminate,[`${f}-disabled`]:n.value}]),P=o=>{var v,c;(c=(v=i.value)==null?void 0:v.onFocus)==null||c.call(v,o)},$=o=>{var v,c;(c=(v=i.value)==null?void 0:v.onBlur)==null||c.call(v,o)};return D(k,o=>{(te(o)||ae(o))&&(S.value=!1)}),D(C,o=>{var v;let c;O(o)?c=o.includes((v=e.value)!=null?v:!0):c=o,S.value!==c&&(S.value=c),r.value&&r.value.checked!==c&&(r.value.checked=c)}),()=>{var o,v,c,t;return I("label",{"aria-disabled":n.value,class:B.value},[I("input",{ref:r,type:"checkbox",checked:h.value,value:e.value,class:`${f}-target`,disabled:n.value,onClick:g,onChange:z,onFocus:P,onBlur:$},null),(t=(c=(v=l.checkbox)!=null?v:(o=a==null?void 0:a.slots)==null?void 0:o.checkbox)==null?void 0:c({checked:h.value,disabled:n.value}))!=null?t:I(U,{class:`${f}-icon-hover`,disabled:n.value||h.value},{default:()=>[I("div",{class:`${f}-icon`},[h.value&&I(J,{class:`${f}-icon-check`},null)])]}),l.default&&I("span",{class:`${f}-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),k=q("checkbox-group"),{mergedDisabled:f,eventHandlers:r}=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),i=b(()=>{var n;return((n=e.options)!=null?n:[]).map(g=>le(g)||H(g)?{label:g,value:g}:g)});de(ee,ve({name:"ArcoCheckboxGroup",computedValue:s,disabled:f,isMaxed:y,slots:l,handleChange:(n,g)=>{var z,B;a.value=n,u("update:modelValue",n),u("change",n,g),(B=(z=r.value)==null?void 0:z.onChange)==null||B.call(z,g)}}));const C=b(()=>[k,`${k}-direction-${e.direction}`]);D(()=>e.modelValue,n=>{O(n)?a.value=[...n]:a.value=[]});const h=()=>i.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:C.value},[i.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=oe(u);e.component(l+T.name,T),e.component(l+M.name,M)}}),Se=({dataKeys:e,contentRef:u,fixedSize:l,estimatedSize:x,buffer:k})=>{const f=V(0),r=new Map,a=b(()=>e.value.length),s=V(0),y=b(()=>{const t=s.value+k.value*3;return t>a.value?a.value:t}),i=b(()=>{const t=a.value-k.value*3;return t<0?0:t}),S=t=>{t<0?s.value=0:t>i.value?s.value=i.value:s.value=t},C=V(l.value),h=b(()=>x.value!==30?x.value:f.value||x.value),n=(t,p)=>{r.set(t,p)},g=t=>{var p;if(C.value)return h.value;const m=e.value[t];return(p=r.get(m))!=null?p:h.value},z=t=>r.has(t);Z(()=>{const t=Array.from(r.values()).reduce((p,m)=>p+m,0);t>0&&(f.value=t/r.size)});const B=t=>C.value?h.value*t:P(0,t),P=(t,p)=>{let m=0;for(let d=t;d<p;d++)m+=g(d);return m},$=b(()=>C.value?h.value*s.value:P(0,s.value)),o=t=>{const p=t>=$.value;let m=Math.abs(t-$.value);const d=p?s.value:s.value-1;let _=0;for(;m>0;)m-=g(d+_),p?_++:_--;return _},v=t=>{const p=o(t),m=s.value+p-k.value;return m<0?0:m>i.value?i.value:m},c=b(()=>C.value?h.value*(a.value-y.value):P(y.value,a.value));return{frontPadding:$,behindPadding:c,start:s,end:y,getStartByScroll:v,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=fe())==null?void 0:l.vnode.key,k=V(),f=()=>{var r,a,s,y;const i=(a=(r=k.value)==null?void 0:r.$el)!=null?a:k.value,S=(y=(s=i==null?void 0:i.getBoundingClientRect)==null?void 0:s.call(i).height)!=null?y:i==null?void 0:i.offsetHeight;S&&e.setItemSize(x,S)};return Z(()=>f()),me(()=>f()),()=>{var r;const a=re((r=u.default)==null?void 0:r.call(u));return a?he(a,{ref:k},!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:k,estimatedSize:f,buffer:r,height:a}=E(e),s=q("virtual-list"),y=b(()=>ie(e.component)?Be({container:"div",list:"div",content:"div"},e.component):{container:e.component,list:"div",content:"div"}),i=V(),S=V(),C=b(()=>({height:H(a.value)?`${a.value}px`:a.value,overflow:"auto"})),h=b(()=>l.value.map((d,_)=>{var A;return(A=d[x.value])!=null?A:_})),{frontPadding:n,behindPadding:g,start:z,end:B,getStartByScroll:P,setItemSize:$,hasItemSize:o,setStart:v,getScrollOffset:c}=Se({dataKeys:h,contentRef:S,fixedSize:k,estimatedSize:f,buffer:r}),t=b(()=>e.threshold&&l.value.length<=e.threshold?l.value:l.value.slice(z.value,B.value)),p=d=>{const{scrollTop:_,scrollHeight:A,offsetHeight:w}=d.target,G=P(_);G!==z.value&&(v(G),K(()=>{m(_)})),u("scroll",d),Math.floor(A-(_+w))<=0&&u("reachBottom",d)},m=d=>{var _,A;if(i.value)if(H(d))i.value.scrollTop=d;else{const w=(A=d.index)!=null?A:h.value.indexOf((_=d.key)!=null?_:"");v(w-r.value),i.value.scrollTop=c(w),K(()=>{if(i.value){const G=c(w);G!==i.value.scrollTop&&(i.value.scrollTop=G)}})}};return{prefixCls:s,containerRef:i,contentRef:S,frontPadding:n,currentList:t,behindPadding:g,onScroll:p,setItemSize:$,hasItemSize:o,start:z,scrollTo:m,style:C,mergedComponent:y}}});function $e(e,u,l,x,k,f){const r=ge("VirtualListItem");return N(),F(L(e.mergedComponent.container),{ref:"containerRef",class:ke(e.prefixCls),style:Ce(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(r,{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};
|