mirror of
https://github.com/ZeroCatDev/Classworks.git
synced 2025-10-22 10:23:09 +00:00
2 lines
18 KiB
JavaScript
2 lines
18 KiB
JavaScript
import{g as W,p as O,ac as Z,ao as w,c as N,i as P,d as b,y as I,x as xe,aG as Q,e as $,an as K,aa as p,ah as ve,aW as ee,n as ae,aX as _e,aY as J,ap as A,aq as q,a7 as Ye,at as G,as as X,au as fe,t as Ae,az as z,aZ as Oe,aS as ke,a_ as me,E as Y,a$ as le,b0 as Ie,K as We,b1 as Ne,b2 as Be,b3 as Te,u as $e,b4 as Re,af as He,b5 as Le,ab as Fe,ak as je,m as Ee,al as Ue,b6 as ze,am as Je,b7 as Ke,f as qe,h as Ge,b8 as Xe,b9 as Ze,ba as Qe,F as pe}from"./index-DFgkZgUi.js";const he=O({active:{type:[String,Array],default:void 0},controlHeight:[Number,String],disabled:{type:[Boolean,String,Array],default:null},nextIcon:{type:K,default:"$next"},prevIcon:{type:K,default:"$prev"},modeIcon:{type:K,default:"$subgroup"},text:String,viewMode:{type:String,default:"month"}},"VDatePickerControls"),re=W()({name:"VDatePickerControls",props:he(),emits:{"click:year":()=>!0,"click:month":()=>!0,"click:prev":()=>!0,"click:next":()=>!0,"click:text":()=>!0},setup(e,t){let{emit:f}=t;const{t:l}=Z(),a=w(()=>Array.isArray(e.disabled)?e.disabled.includes("text"):!!e.disabled),c=w(()=>Array.isArray(e.disabled)?e.disabled.includes("mode"):!!e.disabled),V=w(()=>Array.isArray(e.disabled)?e.disabled.includes("prev"):!!e.disabled),r=w(()=>Array.isArray(e.disabled)?e.disabled.includes("next"):!!e.disabled);function i(){f("click:prev")}function h(){f("click:next")}function n(){f("click:year")}function v(){f("click:month")}return N(()=>P("div",{class:$(["v-date-picker-controls"]),style:{"--v-date-picker-controls-height":Q(e.controlHeight)}},[b(I,{class:"v-date-picker-controls__month-btn","data-testid":"month-btn",disabled:a.value,text:e.text,variant:"text",rounded:!0,onClick:v},null),b(I,{class:"v-date-picker-controls__mode-btn","data-testid":"year-btn",disabled:c.value,density:"comfortable",icon:e.modeIcon,variant:"text","aria-label":l("$vuetify.datePicker.ariaLabel.selectYear"),onClick:n},null),b(xe,null,null),P("div",{class:"v-date-picker-controls__month"},[b(I,{"data-testid":"prev-month",disabled:V.value,density:"comfortable",icon:e.prevIcon,variant:"text","aria-label":l("$vuetify.datePicker.ariaLabel.previousMonth"),onClick:i},null),b(I,{"data-testid":"next-month",disabled:r.value,icon:e.nextIcon,density:"comfortable",variant:"text","aria-label":l("$vuetify.datePicker.ariaLabel.nextMonth"),onClick:h},null)])])),{}}}),ea=O({appendIcon:K,color:String,header:String,transition:String,onClick:_e()},"VDatePickerHeader"),ie=W()({name:"VDatePickerHeader",props:ea(),emits:{click:()=>!0,"click:append":()=>!0},setup(e,t){let{emit:f,slots:l}=t;const{backgroundColorClasses:a,backgroundColorStyles:c}=p(()=>e.color);function V(){f("click")}function r(){f("click:append")}return N(()=>{const i=!!(l.default||e.header),h=!!(l.append||e.appendIcon);return P("div",{class:$(["v-date-picker-header",{"v-date-picker-header--clickable":!!e.onClick},a.value]),style:ae(c.value),onClick:V},[l.prepend&&P("div",{key:"prepend",class:"v-date-picker-header__prepend"},[l.prepend()]),i&&b(ve,{key:"content",name:e.transition},{default:()=>{var n;return[P("div",{key:e.header,class:"v-date-picker-header__content"},[((n=l.default)==null?void 0:n.call(l))??e.header])]}}),h&&P("div",{class:"v-date-picker-header__append"},[l.append?b(ee,{key:"append-defaults",disabled:!e.appendIcon,defaults:{VBtn:{icon:e.appendIcon,variant:"text"}}},{default:()=>{var n;return[(n=l.append)==null?void 0:n.call(l)]}}):b(I,{key:"append-btn",icon:e.appendIcon,variant:"text",onClick:r},null)])])}),{}}}),aa=O({allowedDates:[Array,Function],disabled:{type:Boolean,default:null},displayValue:null,modelValue:Array,month:[Number,String],max:null,min:null,showAdjacentMonths:Boolean,year:[Number,String],weekdays:{type:Array,default:()=>[0,1,2,3,4,5,6]},weeksInMonth:{type:String,default:"dynamic"},firstDayOfWeek:{type:[Number,String],default:void 0},firstDayOfYear:{type:[Number,String],default:void 0},weekdayFormat:String},"calendar");function ta(e){const t=J(),f=A(e,"modelValue",[],d=>q(d).map(o=>t.date(o))),l=w(()=>e.displayValue?t.date(e.displayValue):f.value.length>0?t.date(f.value[0]):e.min?t.date(e.min):Array.isArray(e.allowedDates)?t.date(e.allowedDates[0]):t.date()),a=A(e,"year",void 0,d=>{const o=d!=null?Number(d):t.getYear(l.value);return t.startOfYear(t.setYear(t.date(),o))},d=>t.getYear(d)),c=A(e,"month",void 0,d=>{const o=d!=null?Number(d):t.getMonth(l.value),k=t.setYear(t.startOfMonth(t.date()),t.getYear(a.value));return t.setMonth(k,o)},d=>t.getMonth(d)),V=w(()=>{const d=t.toJsDate(t.startOfWeek(t.date(),e.firstDayOfWeek)).getDay();return t.getWeekdays(e.firstDayOfWeek,e.weekdayFormat).filter((o,k)=>e.weekdays.includes((k+d)%7))}),r=w(()=>{const d=t.getWeekArray(c.value,e.firstDayOfWeek),o=d.flat(),k=6*7;if(e.weeksInMonth==="static"&&o.length<k){const g=o[o.length-1];let _=[];for(let x=1;x<=k-o.length;x++)_.push(t.addDays(g,x)),x%7===0&&(d.push(_),_=[])}return d});function i(d,o){return d.filter(k=>e.weekdays.includes(t.toJsDate(k).getDay())).map((k,g)=>{const _=t.toISO(k),x=!t.isSameMonth(k,c.value),L=t.isSameDay(k,t.startOfMonth(c.value)),y=t.isSameDay(k,t.endOfMonth(c.value)),u=t.isSameDay(k,c.value),C=e.weekdays.length;return{date:k,formatted:t.format(k,"keyboardDate"),isAdjacent:x,isDisabled:D(k),isEnd:y,isHidden:x&&!e.showAdjacentMonths,isSame:u,isSelected:f.value.some(R=>t.isSameDay(k,R)),isStart:L,isToday:t.isSameDay(k,o),isWeekEnd:g%C===C-1,isWeekStart:g%C===0,isoDate:_,localized:t.format(k,"dayOfMonth"),month:t.getMonth(k),year:t.getYear(k)}})}const h=w(()=>{const d=t.startOfWeek(l.value,e.firstDayOfWeek),o=[];for(let g=0;g<=6;g++)o.push(t.addDays(d,g));const k=t.date();return i(o,k)}),n=w(()=>{const d=r.value.flat(),o=t.date();return i(d,o)}),v=w(()=>r.value.map(d=>d.length?t.getWeek(d[0],e.firstDayOfWeek,e.firstDayOfYear):null));function D(d){if(e.disabled)return!0;const o=t.date(d);return e.min&&t.isBefore(t.endOfDay(o),t.date(e.min))||e.max&&t.isAfter(o,t.date(e.max))?!0:Array.isArray(e.allowedDates)&&e.allowedDates.length>0?!e.allowedDates.some(k=>t.isSameDay(t.date(k),o)):typeof e.allowedDates=="function"?!e.allowedDates(o):!1}return{displayValue:l,daysInMonth:n,daysInWeek:h,genDays:i,model:f,weeksInMonth:r,weekdayLabels:V,weekNumbers:v}}const ye=O({color:String,hideWeekdays:Boolean,multiple:[Boolean,Number,String],showWeek:Boolean,transition:{type:String,default:"picker-transition"},reverseTransition:{type:String,default:"picker-reverse-transition"},...z(aa(),["displayValue"])},"VDatePickerMonth"),de=W()({name:"VDatePickerMonth",props:ye(),emits:{"update:modelValue":e=>!0,"update:month":e=>!0,"update:year":e=>!0},setup(e,t){let{emit:f,slots:l}=t;const a=Ye(),{t:c}=Z(),{daysInMonth:V,model:r,weekNumbers:i,weekdayLabels:h}=ta(e),n=J(),v=G(),D=G(),d=G(!1),o=X(()=>d.value?e.reverseTransition:e.transition);e.multiple==="range"&&r.value.length>0&&(v.value=r.value[0],r.value.length>1&&(D.value=r.value[r.value.length-1]));const k=w(()=>{const y=["number","string"].includes(typeof e.multiple)?Number(e.multiple):1/0;return r.value.length>=y});fe(V,(y,u)=>{u&&(d.value=n.isBefore(y[0].date,u[0].date))});function g(y){const u=n.startOfDay(y);if(r.value.length===0?v.value=void 0:r.value.length===1&&(v.value=r.value[0],D.value=void 0),!v.value)v.value=u,r.value=[v.value];else if(D.value)v.value=y,D.value=void 0,r.value=[v.value];else{if(n.isSameDay(u,v.value)){v.value=void 0,r.value=[];return}else n.isBefore(u,v.value)?(D.value=n.endOfDay(v.value),v.value=u):D.value=n.endOfDay(u);r.value=Oe(n,v.value,D.value)}}function _(y){const u=n.format(y.date,"fullDateWithWeekday"),C=y.isToday?"currentDate":"selectDate";return c(`$vuetify.datePicker.ariaLabel.${C}`,u)}function x(y){const u=r.value.findIndex(C=>n.isSameDay(C,y));if(u===-1)r.value=[...r.value,y];else{const C=[...r.value];C.splice(u,1),r.value=C}}function L(y){e.multiple==="range"?g(y):e.multiple?x(y):r.value=[y]}N(()=>P("div",{class:"v-date-picker-month",style:{"--v-date-picker-days-in-week":e.weekdays.length}},[e.showWeek&&P("div",{key:"weeks",class:"v-date-picker-month__weeks"},[!e.hideWeekdays&&P("div",{key:"hide-week-days",class:"v-date-picker-month__day"},[Ae(" ")]),i.value.map(y=>P("div",{class:$(["v-date-picker-month__day","v-date-picker-month__day--adjacent"])},[y]))]),b(ve,{name:o.value},{default:()=>{var y;return[P("div",{ref:a,key:(y=V.value[0].date)==null?void 0:y.toString(),class:"v-date-picker-month__days"},[!e.hideWeekdays&&h.value.map(u=>P("div",{class:$(["v-date-picker-month__day","v-date-picker-month__weekday"])},[u])),V.value.map((u,C)=>{var F;const R={props:{class:"v-date-picker-month__day-btn",color:u.isSelected||u.isToday?e.color:void 0,disabled:u.isDisabled,icon:!0,ripple:!1,text:u.localized,variant:u.isSelected?"flat":u.isToday?"outlined":"text","aria-label":_(u),"aria-current":u.isToday?"date":void 0,onClick:()=>L(u.date)},item:u,i:C};return k.value&&!u.isSelected&&(u.isDisabled=!0),P("div",{class:$(["v-date-picker-month__day",{"v-date-picker-month__day--adjacent":u.isAdjacent,"v-date-picker-month__day--hide-adjacent":u.isHidden,"v-date-picker-month__day--selected":u.isSelected,"v-date-picker-month__day--week-end":u.isWeekEnd,"v-date-picker-month__day--week-start":u.isWeekStart}]),"data-v-date":u.isDisabled?void 0:u.isoDate},[(e.showAdjacentMonths||!u.isAdjacent)&&(((F=l.day)==null?void 0:F.call(l,R))??b(I,R.props,null))])})])]}})]))}}),ge=O({color:String,height:[String,Number],min:null,max:null,modelValue:Number,year:Number,allowedMonths:[Array,Function]},"VDatePickerMonths"),se=W()({name:"VDatePickerMonths",props:ge(),emits:{"update:modelValue":e=>!0},setup(e,t){let{emit:f,slots:l}=t;const a=J(),c=A(e,"modelValue"),V=w(()=>{let i=a.startOfYear(a.date());return e.year&&(i=a.setYear(i,e.year)),ke(12).map(h=>{const n=a.format(i,"monthShort"),v=a.format(i,"month"),D=!!(!r(h)||e.min&&a.isAfter(a.startOfMonth(a.date(e.min)),i)||e.max&&a.isAfter(i,a.startOfMonth(a.date(e.max))));return i=a.getNextMonth(i),{isDisabled:D,text:n,label:v,value:h}})});me(()=>{c.value=c.value??a.getMonth(a.date())});function r(i){return Array.isArray(e.allowedMonths)&&e.allowedMonths.length?e.allowedMonths.includes(i):typeof e.allowedMonths=="function"?e.allowedMonths(i):!0}return N(()=>P("div",{class:"v-date-picker-months",style:{height:Q(e.height)}},[P("div",{class:"v-date-picker-months__content"},[V.value.map((i,h)=>{var D;const n={active:c.value===h,ariaLabel:i.label,color:c.value===h?e.color:void 0,disabled:i.isDisabled,rounded:!0,text:i.text,variant:c.value===i.value?"flat":"text",onClick:()=>v(h)};function v(d){if(c.value===d){f("update:modelValue",c.value);return}c.value=d}return((D=l.month)==null?void 0:D.call(l,{month:i,i:h,props:n}))??b(I,Y({key:"month"},n),null)})])])),{}}}),be=O({color:String,height:[String,Number],min:null,max:null,modelValue:Number,allowedYears:[Array,Function]},"VDatePickerYears"),oe=W()({name:"VDatePickerYears",props:be(),directives:{vIntersect:le},emits:{"update:modelValue":e=>!0},setup(e,t){let{emit:f,slots:l}=t;const a=J(),c=A(e,"modelValue"),V=w(()=>{const n=a.getYear(a.date());let v=n-100,D=n+52;e.min&&(v=a.getYear(a.date(e.min))),e.max&&(D=a.getYear(a.date(e.max)));let d=a.startOfYear(a.date());return d=a.setYear(d,v),ke(D-v+1,v).map(o=>{const k=a.format(d,"year");return d=a.setYear(d,a.getYear(d)+1),{text:k,value:o,isDisabled:!h(o)}})});me(()=>{c.value=c.value??a.getYear(a.date())});const r=Ie();function i(){var n,v;(n=r.el)==null||n.focus(),(v=r.el)==null||v.scrollIntoView({block:"center"})}function h(n){return Array.isArray(e.allowedYears)&&e.allowedYears.length?e.allowedYears.includes(n):typeof e.allowedYears=="function"?e.allowedYears(n):!0}return N(()=>We(P("div",{class:"v-date-picker-years",style:{height:Q(e.height)}},[P("div",{class:"v-date-picker-years__content"},[V.value.map((n,v)=>{var d;const D={ref:c.value===n.value?r:void 0,active:c.value===n.value,color:c.value===n.value?e.color:void 0,rounded:!0,text:n.text,disabled:n.isDisabled,variant:c.value===n.value?"flat":"text",onClick:()=>{if(c.value===n.value){f("update:modelValue",c.value);return}c.value=n.value}};return((d=l.year)==null?void 0:d.call(l,{year:n,i:v,props:D}))??b(I,Y({key:"month"},D),null)})])]),[[le,{handler:i},null,{once:!0}]])),{}}}),na=Ne("v-picker-title"),De=O({color:String,...Xe(),...Ge(),...qe(),...Ke(),...Je(),...ze(),...Ue(),...Ee(),...je()},"VSheet"),ue=W()({name:"VSheet",props:De(),setup(e,t){let{slots:f}=t;const{themeClasses:l}=Be(e),{backgroundColorClasses:a,backgroundColorStyles:c}=p(()=>e.color),{borderClasses:V}=Te(e),{dimensionStyles:r}=$e(e),{elevationClasses:i}=Re(e),{locationStyles:h}=He(e),{positionClasses:n}=Le(e),{roundedClasses:v}=Fe(e);return N(()=>b(e.tag,{class:$(["v-sheet",l.value,a.value,V.value,i.value,n.value,v.value,e.class]),style:ae([c.value,r.value,h.value,e.style])},f)),{}}}),we=O({bgColor:String,divided:Boolean,landscape:Boolean,title:String,hideHeader:Boolean,hideTitle:Boolean,...De()},"VPicker"),ce=W()({name:"VPicker",props:we(),setup(e,t){let{slots:f}=t;const{backgroundColorClasses:l,backgroundColorStyles:a}=p(()=>e.color);return N(()=>{const c=ue.filterProps(e),V=!e.hideTitle&&!!(e.title||f.title);return b(ue,Y(c,{color:e.bgColor,class:["v-picker",{"v-picker--divided":e.divided,"v-picker--landscape":e.landscape,"v-picker--with-actions":!!f.actions},e.class],style:e.style}),{default:()=>{var r;return[!e.hideHeader&&P("div",{key:"header",class:$([l.value]),style:ae([a.value])},[V&&b(na,{key:"picker-title"},{default:()=>{var i;return[((i=f.title)==null?void 0:i.call(f))??e.title]}}),f.header&&P("div",{class:"v-picker__header"},[f.header()])]),P("div",{class:"v-picker__body"},[(r=f.default)==null?void 0:r.call(f)]),f.actions&&b(ee,{defaults:{VBtn:{slim:!0,variant:"text"}}},{default:()=>[P("div",{class:"v-picker__actions"},[f.actions()])]})]}})}),{}}}),la=O({header:{type:String,default:"$vuetify.datePicker.header"},headerColor:String,...he(),...ye({weeksInMonth:"static"}),...z(ge(),["modelValue"]),...z(be(),["modelValue"]),...we({title:"$vuetify.datePicker.title"}),modelValue:null},"VDatePicker"),ia=W()({name:"VDatePicker",props:la(),emits:{"update:modelValue":e=>!0,"update:month":e=>!0,"update:year":e=>!0,"update:viewMode":e=>!0},setup(e,t){let{emit:f,slots:l}=t;const a=J(),{t:c}=Z(),{rtlClasses:V}=Ze(),r=A(e,"modelValue",void 0,s=>q(s).map(m=>a.date(m)),s=>e.multiple?s:s[0]),i=A(e,"viewMode"),h=w(()=>{const s=a.date(e.min);return e.min&&a.isValid(s)?s:null}),n=w(()=>{const s=a.date(e.max);return e.max&&a.isValid(s)?s:null}),v=w(()=>{var S;const s=a.date();let m=s;return(S=r.value)!=null&&S[0]?m=a.date(r.value[0]):h.value&&a.isBefore(s,h.value)?m=h.value:n.value&&a.isAfter(s,n.value)&&(m=n.value),m&&a.isValid(m)?m:s}),D=X(()=>e.headerColor??e.color),d=A(e,"month"),o=w({get:()=>Number(d.value??a.getMonth(a.startOfMonth(v.value))),set:s=>d.value=s}),k=A(e,"year"),g=w({get:()=>Number(k.value??a.getYear(a.startOfYear(a.setMonth(v.value,o.value)))),set:s=>k.value=s}),_=G(!1),x=w(()=>e.multiple&&r.value.length>1?c("$vuetify.datePicker.itemsSelected",r.value.length):r.value[0]&&a.isValid(r.value[0])?a.format(a.date(r.value[0]),"normalDateWithWeekday"):c(e.header)),L=w(()=>{let s=a.date();return s=a.setDate(s,1),s=a.setMonth(s,o.value),s=a.setYear(s,g.value),a.format(s,"monthAndYear")}),y=X(()=>`date-picker-header${_.value?"-reverse":""}-transition`),u=w(()=>{if(e.disabled)return!0;const s=[];if(i.value!=="month")s.push("prev","next");else{let m=a.date();if(m=a.startOfMonth(m),m=a.setMonth(m,o.value),m=a.setYear(m,g.value),h.value){const S=a.addDays(a.startOfMonth(m),-1);a.isAfter(h.value,S)&&s.push("prev")}if(n.value){const S=a.addDays(a.endOfMonth(m),1);a.isAfter(S,n.value)&&s.push("next")}}return s}),C=w(()=>e.allowedYears||Pe),R=w(()=>e.allowedMonths||Ve);function F(s,m){const S=e.allowedDates;if(typeof S!="function")return!0;const B=a.getDiff(m,s,"days");for(let T=0;T<B;T++)if(S(a.addDays(s,T)))return!0;return!1}function Pe(s){if(typeof e.allowedDates=="function"){const m=a.parseISO(`${s}-01-01`);return F(m,a.endOfYear(m))}if(Array.isArray(e.allowedDates)&&e.allowedDates.length){for(const m of e.allowedDates)if(a.getYear(a.date(m))===s)return!0;return!1}return!0}function Ve(s){if(typeof e.allowedDates=="function"){const m=String(s+1).padStart(2,"0"),S=a.parseISO(`${g.value}-${m}-01`);return F(S,a.endOfMonth(S))}if(Array.isArray(e.allowedDates)&&e.allowedDates.length){for(const m of e.allowedDates)if(a.getYear(a.date(m))===g.value&&a.getMonth(a.date(m))===s)return!0;return!1}return!0}function Me(){o.value<11?o.value++:(g.value++,o.value=0,E()),j()}function Se(){o.value>0?o.value--:(g.value--,o.value=11,E()),j()}function Ce(){i.value="month"}function te(){i.value=i.value==="months"?"month":"months"}function ne(){i.value=i.value==="year"?"month":"year"}function j(){i.value==="months"&&te()}function E(){i.value==="year"&&ne()}return fe(r,(s,m)=>{const S=q(m),B=q(s);if(!B.length)return;const T=a.date(S[S.length-1]),U=a.date(B[B.length-1]),H=a.getMonth(U),M=a.getYear(U);H!==o.value&&(o.value=H,j()),M!==g.value&&(g.value=M,E()),_.value=a.isBefore(T,U)}),N(()=>{const s=ce.filterProps(e),m=re.filterProps(e),S=ie.filterProps(e),B=de.filterProps(e),T=z(se.filterProps(e),["modelValue"]),U=z(oe.filterProps(e),["modelValue"]),H={color:D.value,header:x.value,transition:y.value};return b(ce,Y(s,{color:D.value,class:["v-date-picker",`v-date-picker--${i.value}`,{"v-date-picker--show-week":e.showWeek},V.value,e.class],style:e.style}),{title:()=>{var M;return((M=l.title)==null?void 0:M.call(l))??P("div",{class:"v-date-picker__title"},[c(e.title)])},header:()=>l.header?b(ee,{defaults:{VDatePickerHeader:{...H}}},{default:()=>{var M;return[(M=l.header)==null?void 0:M.call(l,H)]}}):b(ie,Y({key:"header"},S,H,{onClick:i.value!=="month"?Ce:void 0}),{prepend:l.prepend,append:l.append}),default:()=>P(pe,null,[b(re,Y(m,{disabled:u.value,text:L.value,"onClick:next":Me,"onClick:prev":Se,"onClick:month":te,"onClick:year":ne}),null),b(Qe,{hideOnLeave:!0},{default:()=>[i.value==="months"?b(se,Y({key:"date-picker-months"},T,{modelValue:o.value,"onUpdate:modelValue":[M=>o.value=M,j],min:h.value,max:n.value,year:g.value,allowedMonths:R.value}),{month:l.month}):i.value==="year"?b(oe,Y({key:"date-picker-years"},U,{modelValue:g.value,"onUpdate:modelValue":[M=>g.value=M,E],min:h.value,max:n.value,allowedYears:C.value}),{year:l.year}):b(de,Y({key:"date-picker-month"},B,{modelValue:r.value,"onUpdate:modelValue":M=>r.value=M,month:o.value,"onUpdate:month":[M=>o.value=M,j],year:g.value,"onUpdate:year":[M=>g.value=M,E],min:h.value,max:n.value}),{day:l.day})]})]),actions:l.actions})}),{}}});export{ia as V,ce as a,we as m};
|