1
0
mirror of https://github.com/ZeroCatDev/Classworks.git synced 2025-12-07 21:13:11 +00:00
Classworks/assets/VDataTable-D7gPSbin.js

2 lines
32 KiB
JavaScript

import{bS as xt,aA as St,p as C,a3 as q,a5 as T,a6 as be,bT as Ae,a_ as ge,bH as X,bM as Z,g as M,Z as ue,c as J,i as y,d as w,E as H,ae as ye,aO as N,bU as pt,aI as B,e as Y,$ as z,b5 as Pt,bV as wt,bW as kt,a4 as te,bX as It,ag as Ne,a0 as Dt,ay as O,bY as oe,bZ as ae,aL as Tt,b_ as Vt,aB as Ft,X as xe,b$ as Ct,F as U,c0 as Ot,bD as Se,aJ as ie,v as Te,n as He,c1 as Bt,y as Re,t as Ve,c2 as le,O as ne,C as _t,b2 as me,aK as ve,bl as Et,aF as At,bh as Nt,m as Ht,h as Rt,c3 as re,c4 as $t,aH as Gt,K as Lt}from"./index-BBVdlVQD.js";import{V as Fe,e as $e,u as Mt,d as jt}from"./filter-Bc0G1Z2P.js";import{V as Wt}from"./VChip-BmBm7zXx.js";import{V as se}from"./VCheckboxBtn-CtaD8oYU.js";function Ce(e,a,l){return Object.keys(e).filter(t=>xt(t)&&t.endsWith(a)).reduce((t,n)=>(t[n.slice(0,-a.length)]=r=>St(e[n],r,l(r)),t),{})}const Kt=C({page:{type:[Number,String],default:1},itemsPerPage:{type:[Number,String],default:10}},"DataTable-paginate"),Ge=Symbol.for("vuetify:data-table-pagination");function zt(e){const a=q(e,"page",void 0,t=>Number(t??1)),l=q(e,"itemsPerPage",void 0,t=>Number(t??10));return{page:a,itemsPerPage:l}}function qt(e){const{page:a,itemsPerPage:l,itemsLength:t}=e,n=T(()=>l.value===-1?0:l.value*(a.value-1)),r=T(()=>l.value===-1?t.value:Math.min(t.value,n.value+l.value)),o=T(()=>l.value===-1||t.value===0?1:Math.ceil(t.value/l.value));be([a,o],()=>{a.value>o.value&&(a.value=o.value)});function i(g){l.value=g,a.value=1}function u(){a.value=ge(a.value+1,1,o.value)}function d(){a.value=ge(a.value-1,1,o.value)}function c(g){a.value=ge(g,1,o.value)}const m={page:a,itemsPerPage:l,startIndex:n,stopIndex:r,pageCount:o,itemsLength:t,nextPage:u,prevPage:d,setPage:c,setItemsPerPage:i};return Z(Ge,m),m}function Ut(){const e=X(Ge);if(!e)throw new Error("Missing pagination!");return e}function Xt(e){const a=Ae("usePaginatedItems"),{items:l,startIndex:t,stopIndex:n,itemsPerPage:r}=e,o=T(()=>r.value<=0?l.value:l.value.slice(t.value,n.value));return be(o,i=>{a.emit("update:currentItems",i)},{immediate:!0}),{paginatedItems:o}}const Le=C({color:String,prevIcon:{type:N,default:"$prev"},nextIcon:{type:N,default:"$next"},firstIcon:{type:N,default:"$first"},lastIcon:{type:N,default:"$last"},itemsPerPageText:{type:String,default:"$vuetify.dataFooter.itemsPerPageText"},pageText:{type:String,default:"$vuetify.dataFooter.pageText"},firstPageLabel:{type:String,default:"$vuetify.dataFooter.firstPage"},prevPageLabel:{type:String,default:"$vuetify.dataFooter.prevPage"},nextPageLabel:{type:String,default:"$vuetify.dataFooter.nextPage"},lastPageLabel:{type:String,default:"$vuetify.dataFooter.lastPage"},itemsPerPageOptions:{type:Array,default:()=>[{value:10,title:"10"},{value:25,title:"25"},{value:50,title:"50"},{value:100,title:"100"},{value:-1,title:"$vuetify.dataFooter.itemsPerPageAll"}]},showCurrentPage:Boolean},"VDataTableFooter"),Oe=M()({name:"VDataTableFooter",props:Le(),setup(e,a){let{slots:l}=a;const{t}=ue(),{page:n,pageCount:r,startIndex:o,stopIndex:i,itemsLength:u,itemsPerPage:d,setItemsPerPage:c}=Ut(),m=T(()=>e.itemsPerPageOptions.map(g=>typeof g=="number"?{value:g,title:g===-1?t("$vuetify.dataFooter.itemsPerPageAll"):String(g)}:{...g,title:isNaN(Number(g.title))?t(g.title):g.title}));return J(()=>{var x;const g=Fe.filterProps(e);return y("div",{class:"v-data-table-footer"},[(x=l.prepend)==null?void 0:x.call(l),y("div",{class:"v-data-table-footer__items-per-page"},[y("span",{"aria-label":t(e.itemsPerPageText)},[t(e.itemsPerPageText)]),w($e,{items:m.value,itemColor:e.color,modelValue:d.value,"onUpdate:modelValue":b=>c(Number(b)),density:"compact",variant:"outlined",hideDetails:!0},null)]),y("div",{class:"v-data-table-footer__info"},[y("div",null,[t(e.pageText,u.value?o.value+1:0,i.value,u.value)])]),y("div",{class:"v-data-table-footer__pagination"},[w(Fe,H({modelValue:n.value,"onUpdate:modelValue":b=>n.value=b,density:"comfortable",firstAriaLabel:e.firstPageLabel,lastAriaLabel:e.lastPageLabel,length:r.value,nextAriaLabel:e.nextPageLabel,previousAriaLabel:e.prevPageLabel,rounded:!0,showFirstLastPage:!0,totalVisible:e.showCurrentPage?1:0,variant:"plain"},ye(g,["color"])),null)])])}),{}}}),ee=pt({align:{type:String,default:"start"},fixed:{type:[Boolean,String],default:!1},fixedOffset:[Number,String],fixedEndOffset:[Number,String],height:[Number,String],lastFixed:Boolean,firstFixedEnd:Boolean,noPadding:Boolean,indent:[Number,String],empty:Boolean,tag:String,width:[Number,String],maxWidth:[Number,String],nowrap:Boolean},(e,a)=>{let{slots:l}=a;const t=e.tag??"td",n=typeof e.fixed=="string"?e.fixed:e.fixed?"start":"none";return w(t,{class:Y(["v-data-table__td",{"v-data-table-column--fixed":n==="start","v-data-table-column--fixed-end":n==="end","v-data-table-column--last-fixed":e.lastFixed,"v-data-table-column--first-fixed-end":e.firstFixedEnd,"v-data-table-column--no-padding":e.noPadding,"v-data-table-column--nowrap":e.nowrap,"v-data-table-column--empty":e.empty},`v-data-table-column--align-${e.align}`]),style:{height:B(e.height),width:B(e.width),maxWidth:B(e.maxWidth),left:n==="start"?B(e.fixedOffset||null):void 0,right:n==="end"?B(e.fixedEndOffset||null):void 0,paddingInlineStart:e.indent?B(e.indent):void 0}},{default:()=>{var r;return[(r=l.default)==null?void 0:r.call(l)]}})}),Zt=C({headers:Array},"DataTable-header"),Me=Symbol.for("vuetify:data-table-headers"),je={title:"",sortable:!1},Jt={...je,width:48};function Qt(){const a=(arguments.length>0&&arguments[0]!==void 0?arguments[0]:[]).map(l=>({element:l,priority:0}));return{enqueue:(l,t)=>{let n=!1;for(let r=0;r<a.length;r++)if(a[r].priority>t){a.splice(r,0,{element:l,priority:t}),n=!0;break}n||a.push({element:l,priority:t})},size:()=>a.length,count:()=>{let l=0;if(!a.length)return 0;const t=Math.floor(a[0].priority);for(let n=0;n<a.length;n++)Math.floor(a[n].priority)===t&&(l+=1);return l},dequeue:()=>a.shift()}}function he(e){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];if(!e.children)a.push(e);else for(const l of e.children)he(l,a);return a}function We(e){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:new Set;for(const l of e)l.key&&a.add(l.key),l.children&&We(l.children,a);return a}function Yt(e){if(e.key){if(e.key==="data-table-group")return je;if(["data-table-expand","data-table-select"].includes(e.key))return Jt}}function pe(e){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return e.children?Math.max(a,...e.children.map(l=>pe(l,a+1))):a}function ea(e){let a=!1;function l(r,o){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"none";if(r)if(i!=="none"&&(r.fixed=i),r.fixed===!0&&(r.fixed="start"),r.fixed===o)if(r.children)if(o==="start")for(let u=r.children.length-1;u>=0;u--)l(r.children[u],o,o);else for(let u=0;u<r.children.length;u++)l(r.children[u],o,o);else!a&&o==="start"?r.lastFixed=!0:!a&&o==="end"?r.firstFixedEnd=!0:isNaN(Number(r.width))?kt(`Multiple fixed columns should have a static width (key: ${r.key})`):r.minWidth=Math.max(Number(r.width)||0,Number(r.minWidth)||0),a=!0;else if(r.children)if(o==="start")for(let u=r.children.length-1;u>=0;u--)l(r.children[u],o);else for(let u=0;u<r.children.length;u++)l(r.children[u],o);else a=!1}for(let r=e.length-1;r>=0;r--)l(e[r],"start");for(let r=0;r<e.length;r++)l(e[r],"end");let t=0;for(let r=0;r<e.length;r++)t=Ke(e[r],t);let n=0;for(let r=e.length-1;r>=0;r--)n=ze(e[r],n)}function Ke(e){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(!e)return a;if(e.children){e.fixedOffset=a;for(const l of e.children)a=Ke(l,a)}else e.fixed&&e.fixed!=="end"&&(e.fixedOffset=a,a+=parseFloat(e.width||"0")||0);return a}function ze(e){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(!e)return a;if(e.children){e.fixedEndOffset=a;for(const l of e.children)a=ze(l,a)}else e.fixed==="end"&&(e.fixedEndOffset=a,a+=parseFloat(e.width||"0")||0);return a}function ta(e,a){const l=[];let t=0;const n=Qt(e);for(;n.size()>0;){let o=n.count();const i=[];let u=1;for(;o>0;){const{element:d,priority:c}=n.dequeue(),m=a-t-pe(d);if(i.push({...d,rowspan:m??1,colspan:d.children?he(d).length:1}),d.children)for(const g of d.children){const x=c%1+u/Math.pow(10,t+2);n.enqueue(g,t+m+x)}u+=1,o-=1}t+=1,l.push(i)}return{columns:e.map(o=>he(o)).flat(),headers:l}}function qe(e){const a=[];for(const l of e){const t={...Yt(l),...l},n=t.key??(typeof t.value=="string"?t.value:null),r=t.value??n??null,o={...t,key:n,value:r,sortable:t.sortable??(t.key!=null||!!t.sort),children:t.children?qe(t.children):void 0};a.push(o)}return a}function aa(e,a){const l=z([]),t=z([]),n=z({}),r=z({}),o=z({});Pt(()=>{var h,f,S;const d=(e.headers||Object.keys(e.items[0]??{}).map(s=>({key:s,title:wt(s)}))).slice(),c=We(d);(h=a==null?void 0:a.groupBy)!=null&&h.value.length&&!c.has("data-table-group")&&d.unshift({key:"data-table-group",title:"Group"}),(f=a==null?void 0:a.showSelect)!=null&&f.value&&!c.has("data-table-select")&&d.unshift({key:"data-table-select"}),(S=a==null?void 0:a.showExpand)!=null&&S.value&&!c.has("data-table-expand")&&d.push({key:"data-table-expand"});const m=qe(d);ea(m);const g=Math.max(...m.map(s=>pe(s)))+1,x=ta(m,g);l.value=x.headers,t.value=x.columns;const b=x.headers.flat(1);for(const s of b)s.key&&(s.sortable&&(s.sort&&(n.value[s.key]=s.sort),s.sortRaw&&(r.value[s.key]=s.sortRaw)),s.filter&&(o.value[s.key]=s.filter))});const i={headers:l,columns:t,sortFunctions:n,sortRawFunctions:r,filterFunctions:o};return Z(Me,i),i}function de(){const e=X(Me);if(!e)throw new Error("Missing headers!");return e}const la={showSelectAll:!1,allSelected:()=>[],select:e=>{var t;let{items:a,value:l}=e;return new Set(l?[(t=a[0])==null?void 0:t.value]:[])},selectAll:e=>{let{selected:a}=e;return a}},Ue={showSelectAll:!0,allSelected:e=>{let{currentPage:a}=e;return a},select:e=>{let{items:a,value:l,selected:t}=e;for(const n of a)l?t.add(n.value):t.delete(n.value);return t},selectAll:e=>{let{value:a,currentPage:l,selected:t}=e;return Ue.select({items:l,value:a,selected:t})}},na={showSelectAll:!0,allSelected:e=>{let{allItems:a}=e;return a},select:e=>{let{items:a,value:l,selected:t}=e;for(const n of a)l?t.add(n.value):t.delete(n.value);return t},selectAll:e=>{let{value:a,allItems:l}=e;return new Set(a?l.map(t=>t.value):[])}},ra=C({showSelect:Boolean,selectStrategy:{type:[String,Object],default:"page"},modelValue:{type:Array,default:()=>[]},valueComparator:Function},"DataTable-select"),Xe=Symbol.for("vuetify:data-table-selection");function oa(e,a){let{allItems:l,currentPage:t}=a;const n=q(e,"modelValue",e.modelValue,s=>{const p=e.valueComparator;return p?new Set(te(s).map(I=>{var P;return((P=l.value.find(V=>p(I,V.value)))==null?void 0:P.value)??I})):new Set(te(s).map(I=>{var P,V;return It(I)?((P=l.value.find(F=>I===F.value))==null?void 0:P.value)??I:((V=l.value.find(F=>Ne(I,F.value)))==null?void 0:V.value)??I}))},s=>[...s.values()]),r=T(()=>l.value.filter(s=>s.selectable)),o=T(()=>t.value.filter(s=>s.selectable)),i=T(()=>{if(typeof e.selectStrategy=="object")return e.selectStrategy;switch(e.selectStrategy){case"single":return la;case"all":return na;case"page":default:return Ue}}),u=Dt(null);function d(s){return te(s).every(p=>n.value.has(p.value))}function c(s){return te(s).some(p=>n.value.has(p.value))}function m(s,p){const I=i.value.select({items:s,value:p,selected:new Set(n.value)});n.value=I}function g(s,p,I){const P=[];if(p=p??t.value.findIndex(V=>V.value===s.value),e.selectStrategy!=="single"&&(I!=null&&I.shiftKey)&&u.value!==null){const[V,F]=[u.value,p].sort((R,D)=>R-D);P.push(...t.value.slice(V,F+1).filter(R=>R.selectable))}else P.push(s),u.value=p;m(P,!d([s]))}function x(s){const p=i.value.selectAll({value:s,allItems:r.value,currentPage:o.value,selected:new Set(n.value)});n.value=p}const b=T(()=>n.value.size>0),h=T(()=>{const s=i.value.allSelected({allItems:r.value,currentPage:o.value});return!!s.length&&d(s)}),f=O(()=>i.value.showSelectAll),S={toggleSelect:g,select:m,selectAll:x,isSelected:d,isSomeSelected:c,someSelected:b,allSelected:h,showSelectAll:f,lastSelectedIndex:u,selectStrategy:i};return Z(Xe,S),S}function ce(){const e=X(Xe);if(!e)throw new Error("Missing selection!");return e}const sa=C({initialSortOrder:{type:String,default:"asc",validator:e=>!e||["asc","desc"].includes(e)},sortBy:{type:Array,default:()=>[]},customKeySort:Object,multiSort:{type:[Boolean,Object],default:!1},mustSort:Boolean},"DataTable-sort"),Ze=Symbol.for("vuetify:data-table-sort");function ua(e){const a=O(()=>e.initialSortOrder),l=q(e,"sortBy"),t=O(()=>e.mustSort),n=O(()=>e.multiSort);return{initialSortOrder:a,sortBy:l,multiSort:n,mustSort:t}}function ia(e,a){if(!Tt(e))return{active:!!e};const{key:l,mode:t,modifier:n}=e,r=n==="alt"&&(a==null?void 0:a.altKey)||n==="shift"&&(a==null?void 0:a.shiftKey);return{active:!l||(a==null?void 0:a.ctrlKey)||(a==null?void 0:a.metaKey)||!1,mode:r?t==="append"?"prepend":"append":t}}function da(e){const{initialSortOrder:a,sortBy:l,mustSort:t,multiSort:n,page:r}=e,o=(d,c)=>{if(d.key==null)return;let m=l.value.map(h=>({...h}))??[];const g=m.find(h=>h.key===d.key),x=a.value,b=a.value==="desc"?"asc":"desc";if(g)g.order===b?t.value&&m.length===1?g.order=a.value:m=m.filter(h=>h.key!==d.key):g.order=b;else{const{active:h,mode:f}=ia(n.value,c);h?f==="prepend"?m.unshift({key:d.key,order:x}):m.push({key:d.key,order:x}):m=[{key:d.key,order:x}]}l.value=m,r&&(r.value=1)};function i(d){return!!l.value.find(c=>c.key===d.key)}const u={sortBy:l,toggleSort:o,isSorted:i};return Z(Ze,u),u}function Je(){const e=X(Ze);if(!e)throw new Error("Missing sort!");return e}function ca(e,a,l,t){const n=ue();return{sortedItems:T(()=>{var o,i;return l.value.length?fa(a.value,l.value,n.current.value,{transform:t==null?void 0:t.transform,sortFunctions:{...e.customKeySort,...(o=t==null?void 0:t.sortFunctions)==null?void 0:o.value},sortRawFunctions:(i=t==null?void 0:t.sortRawFunctions)==null?void 0:i.value}):a.value})}}function fa(e,a,l,t){const n=new Intl.Collator(l,{sensitivity:"accent",usage:"sort"});return e.map(o=>[o,t!=null&&t.transform?t.transform(o):o]).sort((o,i)=>{var u,d;for(let c=0;c<a.length;c++){let m=!1;const g=a[c].key,x=a[c].order??"asc";if(x===!1)continue;let b=oe(o[1],g),h=oe(i[1],g),f=o[0].raw,S=i[0].raw;if(x==="desc"&&([b,h]=[h,b],[f,S]=[S,f]),(u=t==null?void 0:t.sortRawFunctions)!=null&&u[g]){const s=t.sortRawFunctions[g](f,S);if(s==null)continue;if(m=!0,s)return s}if((d=t==null?void 0:t.sortFunctions)!=null&&d[g]){const s=t.sortFunctions[g](b,h);if(s==null)continue;if(m=!0,s)return s}if(!m&&(b instanceof Date&&h instanceof Date&&(b=b.getTime(),h=h.getTime()),[b,h]=[b,h].map(s=>s!=null?s.toString().toLocaleLowerCase():s),b!==h))return ae(b)&&ae(h)?0:ae(b)?-1:ae(h)?1:!isNaN(b)&&!isNaN(h)?Number(b)-Number(h):n.compare(b,h)}return 0}).map(o=>{let[i]=o;return i})}const Qe=C({color:String,disableSort:Boolean,fixedHeader:Boolean,multiSort:Boolean,initialSortOrder:String,sortAscIcon:{type:N,default:"$sortAsc"},sortDescIcon:{type:N,default:"$sortDesc"},headerProps:{type:Object},sticky:Boolean,...ie(),...Se(),...Ot()},"VDataTableHeaders"),Be=M()({name:"VDataTableHeaders",props:Qe(),setup(e,a){let{slots:l}=a;const{t}=ue(),{toggleSort:n,sortBy:r,isSorted:o}=Je(),{someSelected:i,allSelected:u,selectAll:d,showSelectAll:c}=ce(),{columns:m,headers:g}=de(),{loaderClasses:x}=Vt(e);function b(D,v){if(!(e.sticky||e.fixedHeader)&&!D.fixed)return;const k=typeof D.fixed=="string"?D.fixed:D.fixed?"start":"none";return{position:"sticky",left:k==="start"?B(D.fixedOffset):void 0,right:k==="end"?B(D.fixedEndOffset):void 0,top:e.sticky||e.fixedHeader?`calc(var(--v-table-header-height) * ${v})`:void 0}}function h(D,v){D.key==="Enter"&&!e.disableSort&&n(v,D)}function f(D){const v=r.value.find(k=>k.key===D.key);return!v&&e.initialSortOrder==="asc"||(v==null?void 0:v.order)==="asc"?e.sortAscIcon:e.sortDescIcon}const{backgroundColorClasses:S,backgroundColorStyles:s}=Ft(()=>e.color),{displayClasses:p,mobile:I}=xe(e),P=T(()=>({headers:g.value,columns:m.value,toggleSort:n,isSorted:o,sortBy:r.value,someSelected:i.value,allSelected:u.value,selectAll:d,getSortIcon:f})),V=T(()=>["v-data-table__th",{"v-data-table__th--sticky":e.sticky||e.fixedHeader},p.value,x.value]),F=D=>{let{column:v,x:k,y:_}=D;const $=v.key==="data-table-select"||v.key==="data-table-expand",L=v.key==="data-table-group"&&v.width===0&&!v.title,j=H(e.headerProps??{},v.headerProps??{});return w(ee,H({tag:"th",align:v.align,class:[{"v-data-table__th--sortable":v.sortable&&!e.disableSort,"v-data-table__th--sorted":o(v),"v-data-table__th--fixed":v.fixed},...V.value],style:{width:B(v.width),minWidth:B(v.minWidth),maxWidth:B(v.maxWidth),...b(v,_)},colspan:v.colspan,rowspan:v.rowspan,fixed:v.fixed,nowrap:v.nowrap,lastFixed:v.lastFixed,firstFixedEnd:v.firstFixedEnd,noPadding:$,empty:L,tabindex:v.sortable?0:void 0,onClick:v.sortable?E=>n(v,E):void 0,onKeydown:v.sortable?E=>h(E,v):void 0},j),{default:()=>{var K;const E=`header.${v.key}`,W={column:v,selectAll:d,isSorted:o,toggleSort:n,sortBy:r.value,someSelected:i.value,allSelected:u.value,getSortIcon:f};return l[E]?l[E](W):L?"":v.key==="data-table-select"?((K=l["header.data-table-select"])==null?void 0:K.call(l,W))??(c.value&&w(se,{color:e.color,density:e.density,modelValue:u.value,indeterminate:i.value&&!u.value,"onUpdate:modelValue":d},null)):y("div",{class:"v-data-table-header__content"},[y("span",null,[v.title]),v.sortable&&!e.disableSort&&w(Te,{key:"icon",class:"v-data-table-header__sort-icon",icon:f(v)},null),e.multiSort&&o(v)&&y("div",{key:"badge",class:Y(["v-data-table-header__sort-badge",...S.value]),style:He(s.value)},[r.value.findIndex(fe=>fe.key===v.key)+1])])}})},R=()=>{const D=T(()=>m.value.filter(k=>(k==null?void 0:k.sortable)&&!e.disableSort)),v=m.value.find(k=>k.key==="data-table-select");return w(ee,H({tag:"th",class:[...V.value],colspan:g.value.length+1},e.headerProps),{default:()=>[y("div",{class:"v-data-table-header__content"},[w($e,{chips:!0,color:e.color,class:"v-data-table__td-sort-select",clearable:!0,density:"default",items:D.value,label:t("$vuetify.dataTable.sortBy"),multiple:e.multiSort,variant:"underlined","onClick:clear":()=>r.value=[]},{append:v?()=>w(se,{color:e.color,density:"compact",modelValue:u.value,indeterminate:i.value&&!u.value,"onUpdate:modelValue":()=>d(!u.value)},null):void 0,chip:k=>{var _;return w(Wt,{onClick:(_=k.item.raw)!=null&&_.sortable?()=>n(k.item.raw):void 0,onMousedown:$=>{$.preventDefault(),$.stopPropagation()}},{default:()=>[k.item.title,w(Te,{class:Y(["v-data-table__td-sort-icon",o(k.item.raw)&&"v-data-table__td-sort-icon-active"]),icon:f(k.item.raw),size:"small"},null)]})}})])]})};J(()=>I.value?y("tr",null,[w(R,null,null)]):y(U,null,[l.headers?l.headers(P.value):g.value.map((D,v)=>y("tr",null,[D.map((k,_)=>w(F,{column:k,x:_,y:v},null))])),e.loading&&y("tr",{class:"v-data-table-progress"},[y("th",{colspan:m.value.length},[w(Ct,{name:"v-data-table-progress",absolute:!0,active:!0,color:typeof e.loading=="boolean"||e.loading==="true"?e.color:e.loading,indeterminate:!0},{default:l.loader})])])]))}}),ga=C({groupBy:{type:Array,default:()=>[]}},"DataTable-group"),Ye=Symbol.for("vuetify:data-table-group");function ma(e){return{groupBy:q(e,"groupBy")}}function va(e){const{disableSort:a,groupBy:l,sortBy:t}=e,n=z(new Set),r=T(()=>l.value.map(c=>({...c,order:c.order??!1})).concat(a!=null&&a.value?[]:t.value));function o(c){return n.value.has(c.id)}function i(c){const m=new Set(n.value);o(c)?m.delete(c.id):m.add(c.id),n.value=m}function u(c){function m(g){const x=[];for(const b of g.items)"type"in b&&b.type==="group"?x.push(...m(b)):x.push(b);return[...new Set(x)]}return m({items:c})}const d={sortByWithGroups:r,toggleGroup:i,opened:n,groupBy:l,extractRows:u,isGroupOpen:o};return Z(Ye,d),d}function et(){const e=X(Ye);if(!e)throw new Error("Missing group!");return e}function ha(e,a){if(!e.length)return[];const l=new Map;for(const t of e){const n=oe(t.raw,a);l.has(n)||l.set(n,[]),l.get(n).push(t)}return l}function tt(e,a){let l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,t=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"root";if(!a.length)return[];const n=ha(e,a[0]),r=[],o=a.slice(1);return n.forEach((i,u)=>{const d=a[0],c=`${t}_${d}_${u}`;r.push({depth:l,id:c,key:d,value:u,items:o.length?tt(i,o,l+1,c):i,type:"group"})}),r}function at(e,a,l){const t=[];for(const n of e)"type"in n&&n.type==="group"?(n.value!=null&&t.push(n),(a.has(n.id)||n.value==null)&&(t.push(...at(n.items,a,l)),l&&t.push({...n,type:"group-summary"}))):t.push(n);return t}function ba(e,a,l,t){return{flatItems:T(()=>{if(!a.value.length)return e.value;const r=tt(e.value,a.value.map(o=>o.key));return at(r,l.value,Bt(t))})}}const lt=C({item:{type:Object,required:!0},groupCollapseIcon:{type:N,default:"$tableGroupCollapse"},groupExpandIcon:{type:N,default:"$tableGroupExpand"},...ie()},"VDataTableGroupHeaderRow"),ya=M()({name:"VDataTableGroupHeaderRow",props:lt(),setup(e,a){let{slots:l}=a;const{isGroupOpen:t,toggleGroup:n,extractRows:r}=et(),{isSelected:o,isSomeSelected:i,select:u}=ce(),{columns:d}=de(),c=T(()=>r([e.item])),m=O(()=>d.value.length-(d.value.some(g=>g.key==="data-table-select")?1:0));return()=>y("tr",{class:"v-data-table-group-header-row",style:{"--v-data-table-group-header-row-depth":e.item.depth}},[d.value.map(g=>{var x,b;if(g.key==="data-table-group"){const h=t(e.item)?e.groupCollapseIcon:e.groupExpandIcon,f=()=>n(e.item);return((x=l["data-table-group"])==null?void 0:x.call(l,{item:e.item,count:c.value.length,props:{icon:h,onClick:f}}))??w(ee,{class:"v-data-table-group-header-row__column",colspan:m.value},{default:()=>[w(Re,{size:"small",variant:"text",icon:h,onClick:f},null),y("span",null,[e.item.value]),y("span",null,[Ve("("),c.value.length,Ve(")")])]})}else if(g.key==="data-table-select"){const h=o(c.value),f=i(c.value)&&!h,S=s=>u(c.value,s);return((b=l["data-table-select"])==null?void 0:b.call(l,{props:{modelValue:h,indeterminate:f,"onUpdate:modelValue":S}}))??w(ee,{class:"v-data-table__td--select-row",noPadding:!0},{default:()=>[w(se,{density:e.density,modelValue:h,indeterminate:f,"onUpdate:modelValue":S},null)]})}return""})])}}),xa=C({expandOnClick:Boolean,showExpand:Boolean,expanded:{type:Array,default:()=>[]}},"DataTable-expand"),nt=Symbol.for("vuetify:datatable:expanded");function Sa(e){const a=O(()=>e.expandOnClick),l=q(e,"expanded",e.expanded,i=>new Set(i),i=>[...i.values()]);function t(i,u){const d=new Set(l.value),c=le(i.value);if(u)d.add(c);else{const m=[...l.value].find(g=>le(g)===c);d.delete(m)}l.value=d}function n(i){const u=le(i.value);return[...l.value].some(d=>le(d)===u)}function r(i){t(i,!n(i))}const o={expand:t,expanded:l,expandOnClick:a,isExpanded:n,toggleExpand:r};return Z(nt,o),o}function rt(){const e=X(nt);if(!e)throw new Error("foo");return e}const ot=C({color:String,index:Number,item:Object,cellProps:[Object,Function],collapseIcon:{type:N,default:"$collapse"},expandIcon:{type:N,default:"$expand"},onClick:me(),onContextmenu:me(),onDblclick:me(),...ie(),...Se()},"VDataTableRow"),pa=M()({name:"VDataTableRow",props:ot(),setup(e,a){let{slots:l}=a;const{displayClasses:t,mobile:n}=xe(e,"v-data-table__tr"),{isSelected:r,toggleSelect:o,someSelected:i,allSelected:u,selectAll:d}=ce(),{isExpanded:c,toggleExpand:m}=rt(),{toggleSort:g,sortBy:x,isSorted:b}=Je(),{columns:h}=de();J(()=>y("tr",{class:Y(["v-data-table__tr",{"v-data-table__tr--clickable":!!(e.onClick||e.onContextmenu||e.onDblclick)},t.value]),onClick:e.onClick,onContextmenu:e.onContextmenu,onDblclick:e.onDblclick},[e.item&&h.value.map((f,S)=>{const s=e.item,p=`item.${f.key}`,I=`header.${f.key}`,P={index:e.index,item:s.raw,internalItem:s,value:oe(s.columns,f.key),column:f,isSelected:r,toggleSelect:o,isExpanded:c,toggleExpand:m},V={column:f,selectAll:d,isSorted:b,toggleSort:g,sortBy:x.value,someSelected:i.value,allSelected:u.value,getSortIcon:()=>""},F=typeof e.cellProps=="function"?e.cellProps({index:P.index,item:P.item,internalItem:P.internalItem,value:P.value,column:f}):e.cellProps,R=typeof f.cellProps=="function"?f.cellProps({index:P.index,item:P.item,internalItem:P.internalItem,value:P.value}):f.cellProps,D=f.key==="data-table-select"||f.key==="data-table-expand",v=f.key==="data-table-group"&&f.width===0&&!f.title;return w(ee,H({align:f.align,indent:f.intent,class:{"v-data-table__td--expanded-row":f.key==="data-table-expand","v-data-table__td--select-row":f.key==="data-table-select"},fixed:f.fixed,fixedOffset:f.fixedOffset,fixedEndOffset:f.fixedEndOffset,lastFixed:f.lastFixed,firstFixedEnd:f.firstFixedEnd,maxWidth:n.value?void 0:f.maxWidth,noPadding:D,empty:v,nowrap:f.nowrap,width:n.value?void 0:f.width},F,R),{default:()=>{var _,$,L,j;if(f.key==="data-table-select")return((_=l["item.data-table-select"])==null?void 0:_.call(l,{...P,props:{color:e.color,disabled:!s.selectable,modelValue:r([s]),onClick:ne(()=>o(s),["stop"])}}))??w(se,{color:e.color,disabled:!s.selectable,density:e.density,modelValue:r([s]),onClick:ne(E=>o(s,e.index,E),["stop"])},null);if(f.key==="data-table-expand")return(($=l["item.data-table-expand"])==null?void 0:$.call(l,{...P,props:{icon:c(s)?e.collapseIcon:e.expandIcon,size:"small",variant:"text",onClick:ne(()=>m(s),["stop"])}}))??w(Re,{icon:c(s)?e.collapseIcon:e.expandIcon,size:"small",variant:"text",onClick:ne(()=>m(s),["stop"])},null);if(l[p]&&!n.value)return l[p](P);const k=_t(P.value);return n.value?y(U,null,[y("div",{class:"v-data-table__td-title"},[((L=l[I])==null?void 0:L.call(l,V))??f.title]),y("div",{class:"v-data-table__td-value"},[((j=l[p])==null?void 0:j.call(l,P))??k])]):k}})})]))}}),st=C({color:String,loading:[Boolean,String],loadingText:{type:String,default:"$vuetify.dataIterator.loadingText"},hideNoData:Boolean,items:{type:Array,default:()=>[]},noDataText:{type:String,default:"$vuetify.noDataText"},rowProps:[Object,Function],cellProps:[Object,Function],...ve(ot(),["collapseIcon","expandIcon","density"]),...ve(lt(),["groupCollapseIcon","groupExpandIcon","density"]),...Se()},"VDataTableRows"),_e=M()({name:"VDataTableRows",inheritAttrs:!1,props:st(),setup(e,a){let{attrs:l,slots:t}=a;const{columns:n}=de(),{expandOnClick:r,toggleExpand:o,isExpanded:i}=rt(),{isSelected:u,toggleSelect:d}=ce(),{toggleGroup:c,isGroupOpen:m}=et(),{t:g}=ue(),{mobile:x}=xe(e);return J(()=>{var h,f;const b=ve(e,["groupCollapseIcon","groupExpandIcon","density"]);return e.loading&&(!e.items.length||t.loading)?y("tr",{class:"v-data-table-rows-loading",key:"loading"},[y("td",{colspan:n.value.length},[((h=t.loading)==null?void 0:h.call(t))??g(e.loadingText)])]):!e.loading&&!e.items.length&&!e.hideNoData?y("tr",{class:"v-data-table-rows-no-data",key:"no-data"},[y("td",{colspan:n.value.length},[((f=t["no-data"])==null?void 0:f.call(t))??g(e.noDataText)])]):y(U,null,[e.items.map((S,s)=>{var P,V;if(S.type==="group"){const F={index:s,item:S,columns:n.value,isExpanded:i,toggleExpand:o,isSelected:u,toggleSelect:d,toggleGroup:c,isGroupOpen:m};return t["group-header"]?t["group-header"](F):w(ya,H({key:`group-header_${S.id}`,item:S},Ce(l,":groupHeader",()=>F),b),t)}if(S.type==="group-summary"){const F={index:s,item:S,columns:n.value,toggleGroup:c};return((P=t["group-summary"])==null?void 0:P.call(t,F))??""}const p={index:s,item:S.raw,internalItem:S,columns:n.value,isExpanded:i,toggleExpand:o,isSelected:u,toggleSelect:d},I={...p,props:H({key:`item_${S.key??S.index}`,onClick:r.value?()=>{o(S)}:void 0,index:s,item:S,color:e.color,cellProps:e.cellProps,collapseIcon:e.collapseIcon,expandIcon:e.expandIcon,density:e.density,mobile:x.value},Ce(l,":row",()=>p),typeof e.rowProps=="function"?e.rowProps({item:p.item,index:p.index,internalItem:p.internalItem}):e.rowProps)};return y(U,{key:I.props.key},[t.item?t.item(I):w(pa,I.props,t),i(S)&&((V=t["expanded-row"])==null?void 0:V.call(t,p))])})])}),{}}}),ut=C({fixedHeader:Boolean,fixedFooter:Boolean,height:[Number,String],hover:Boolean,striped:{type:String,default:null,validator:e=>["even","odd"].includes(e)},...Rt(),...ie(),...Ht(),...Nt()},"VTable"),Ee=M()({name:"VTable",props:ut(),setup(e,a){let{slots:l,emit:t}=a;const{themeClasses:n}=Et(e),{densityClasses:r}=At(e);return J(()=>w(e.tag,{class:Y(["v-table",{"v-table--fixed-height":!!e.height,"v-table--fixed-header":e.fixedHeader,"v-table--fixed-footer":e.fixedFooter,"v-table--has-top":!!l.top,"v-table--has-bottom":!!l.bottom,"v-table--hover":e.hover,"v-table--striped-even":e.striped==="even","v-table--striped-odd":e.striped==="odd"},n.value,r.value,e.class]),style:He(e.style)},{default:()=>{var o,i,u;return[(o=l.top)==null?void 0:o.call(l),l.default?y("div",{class:"v-table__wrapper",style:{height:B(e.height)}},[y("table",null,[l.default()])]):(i=l.wrapper)==null?void 0:i.call(l),(u=l.bottom)==null?void 0:u.call(l)]}})),{}}}),Pa=C({items:{type:Array,default:()=>[]},itemValue:{type:[String,Array,Function],default:"id"},itemSelectable:{type:[String,Array,Function],default:null},rowProps:[Object,Function],cellProps:[Object,Function],returnObject:Boolean},"DataTable-items");function wa(e,a,l,t){const n=e.returnObject?a:re(a,e.itemValue),r=re(a,e.itemSelectable,!0),o=t.reduce((i,u)=>(u.key!=null&&(i[u.key]=re(a,u.value)),i),{});return{type:"item",key:e.returnObject?re(a,e.itemValue):n,index:l,value:n,selectable:r,columns:o,raw:a}}function ka(e,a,l){return a.map((t,n)=>wa(e,t,n,l))}function Ia(e,a){return{items:T(()=>ka(e,e.items,a.value))}}function Da(e){let{page:a,itemsPerPage:l,sortBy:t,groupBy:n,search:r}=e;const o=Ae("VDataTable"),i=()=>({page:a.value,itemsPerPage:l.value,sortBy:t.value,groupBy:n.value,search:r.value});let u=null;be(i,d=>{Ne(u,d)||(u&&u.search!==d.search&&(a.value=1),o.emit("update:options",d),u=d)},{deep:!0,immediate:!0})}const Ta=C({...st(),hideDefaultBody:Boolean,hideDefaultFooter:Boolean,hideDefaultHeader:Boolean,width:[String,Number],search:String,...xa(),...ga(),...Zt(),...Pa(),...ra(),...sa(),...ye(Qe(),["multiSort","initialSortOrder"]),...ut()},"DataTable"),Va=C({...Kt(),...Ta(),...jt(),...Le()},"VDataTable"),_a=M()({name:"VDataTable",props:Va(),emits:{"update:modelValue":e=>!0,"update:page":e=>!0,"update:itemsPerPage":e=>!0,"update:sortBy":e=>!0,"update:options":e=>!0,"update:groupBy":e=>!0,"update:expanded":e=>!0,"update:currentItems":e=>!0},setup(e,a){let{attrs:l,slots:t}=a;const{groupBy:n}=ma(e),{initialSortOrder:r,sortBy:o,multiSort:i,mustSort:u}=ua(e),{page:d,itemsPerPage:c}=zt(e),{disableSort:m}=$t(e),{columns:g,headers:x,sortFunctions:b,sortRawFunctions:h,filterFunctions:f}=aa(e,{groupBy:n,showSelect:O(()=>e.showSelect),showExpand:O(()=>e.showExpand)}),{items:S}=Ia(e,g),s=O(()=>e.search),{filteredItems:p}=Mt(e,S,s,{transform:G=>G.columns,customKeyFilter:f}),{toggleSort:I}=da({initialSortOrder:r,sortBy:o,multiSort:i,mustSort:u,page:d}),{sortByWithGroups:P,opened:V,extractRows:F,isGroupOpen:R,toggleGroup:D}=va({groupBy:n,sortBy:o,disableSort:m}),{sortedItems:v}=ca(e,p,P,{transform:G=>({...G.raw,...G.columns}),sortFunctions:b,sortRawFunctions:h}),{flatItems:k}=ba(v,n,V,()=>!!t["group-summary"]),_=T(()=>k.value.length),{startIndex:$,stopIndex:L,pageCount:j,setItemsPerPage:E}=qt({page:d,itemsPerPage:c,itemsLength:_}),{paginatedItems:W}=Xt({items:k,startIndex:$,stopIndex:L,itemsPerPage:c}),K=T(()=>F(W.value)),{isSelected:fe,select:it,selectAll:dt,toggleSelect:ct,someSelected:ft,allSelected:gt}=oa(e,{allItems:S,currentPage:K}),{isExpanded:mt,toggleExpand:vt}=Sa(e);Da({page:d,itemsPerPage:c,sortBy:o,groupBy:n,search:s}),Gt({VDataTableRows:{hideNoData:O(()=>e.hideNoData),noDataText:O(()=>e.noDataText),loading:O(()=>e.loading),loadingText:O(()=>e.loadingText)}});const A=T(()=>({page:d.value,itemsPerPage:c.value,sortBy:o.value,pageCount:j.value,toggleSort:I,setItemsPerPage:E,someSelected:ft.value,allSelected:gt.value,isSelected:fe,select:it,selectAll:dt,toggleSelect:ct,isExpanded:mt,toggleExpand:vt,isGroupOpen:R,toggleGroup:D,items:K.value.map(G=>G.raw),internalItems:K.value,groupedItems:W.value,columns:g.value,headers:x.value}));return J(()=>{const G=Oe.filterProps(e),ht=Be.filterProps(ye(e,["multiSort"])),bt=_e.filterProps(e),yt=Ee.filterProps(e);return w(Ee,H({class:["v-data-table",{"v-data-table--show-select":e.showSelect,"v-data-table--loading":e.loading},e.class],style:e.style},yt,{fixedHeader:e.fixedHeader||e.sticky}),{top:()=>{var Q;return(Q=t.top)==null?void 0:Q.call(t,A.value)},default:()=>{var Q,Pe,we,ke,Ie,De;return t.default?t.default(A.value):y(U,null,[(Q=t.colgroup)==null?void 0:Q.call(t,A.value),!e.hideDefaultHeader&&y("thead",{key:"thead"},[w(Be,H(ht,{multiSort:!!e.multiSort}),t)]),(Pe=t.thead)==null?void 0:Pe.call(t,A.value),!e.hideDefaultBody&&y("tbody",null,[(we=t["body.prepend"])==null?void 0:we.call(t,A.value),t.body?t.body(A.value):w(_e,H(l,bt,{items:W.value}),t),(ke=t["body.append"])==null?void 0:ke.call(t,A.value)]),(Ie=t.tbody)==null?void 0:Ie.call(t,A.value),(De=t.tfoot)==null?void 0:De.call(t,A.value)])},bottom:()=>t.bottom?t.bottom(A.value):!e.hideDefaultFooter&&y(U,null,[w(Lt,null,null),w(Oe,G,{prepend:t["footer.prepend"]})])})}),{}}});export{_a as V,Ee as a};