1
0
mirror of https://github.com/ZeroCatDev/Classworks.git synced 2025-09-03 16:19:22 +00:00
Classworks/assets/VDatePicker-Jh1kvgOm.js

2 lines
18 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import{g as W,p as O,a7 as Z,al as w,c as N,i as P,d as D,y as I,x as xe,aC as G,e as $,ai as K,a5 as p,ac as ve,aQ as ee,n as ae,aR as _e,aS as J,aj as Y,ak as q,an as Ae,ap as Q,ao as X,aq as fe,t as Ye,av as z,aT as Oe,aM as ke,aU as me,E as A,aV as le,aW as Ie,K as We,aX as Ne,aY as Be,aZ as Te,u as $e,a_ as Re,aa as He,a$ as Le,a6 as je,af as Fe,m as Ue,ag as Ee,b0 as ze,ah as Je,b1 as Ke,f as qe,h as Qe,b2 as Xe,b3 as Ze,b4 as Ge,F as pe}from"./index-B01HL2YE.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":G(e.controlHeight)}},[D(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),D(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),D(xe,null,null),P("div",{class:"v-date-picker-controls__month"},[D(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),D(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&&D(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?D(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)]}}):D(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},weekdayFormat:String},"calendar");function ta(e){const t=J(),f=Y(e,"modelValue",[],s=>q(s).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=Y(e,"year",void 0,s=>{const o=s!=null?Number(s):t.getYear(l.value);return t.startOfYear(t.setYear(t.date(),o))},s=>t.getYear(s)),c=Y(e,"month",void 0,s=>{const o=s!=null?Number(s):t.getMonth(l.value),k=t.setYear(t.startOfMonth(t.date()),t.getYear(a.value));return t.setMonth(k,o)},s=>t.getMonth(s)),V=w(()=>{const s=t.toJsDate(t.startOfWeek(t.date(),e.firstDayOfWeek)).getDay();return t.getWeekdays(e.firstDayOfWeek,e.weekdayFormat).filter((o,k)=>e.weekdays.includes((k+s)%7))}),r=w(()=>{const s=t.getWeekArray(c.value,e.firstDayOfWeek),o=s.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&&(s.push(_),_=[])}return s});function i(s,o){return s.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:b(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 s=t.startOfWeek(l.value,e.firstDayOfWeek),o=[];for(let g=0;g<=6;g++)o.push(t.addDays(s,g));const k=t.date();return i(o,k)}),n=w(()=>{const s=r.value.flat(),o=t.date();return i(s,o)}),v=w(()=>r.value.map(s=>s.length?t.getWeek(s[0],e.firstDayOfWeek):null));function b(s){if(e.disabled)return!0;const o=t.date(s);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"),se=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=Ae(),{t:c}=Z(),{daysInMonth:V,model:r,weekNumbers:i,weekdayLabels:h}=ta(e),n=J(),v=Q(),b=Q(),s=Q(!1),o=X(()=>s.value?e.reverseTransition:e.transition);e.multiple==="range"&&r.value.length>0&&(v.value=r.value[0],r.value.length>1&&(b.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&&(s.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],b.value=void 0),!v.value)v.value=u,r.value=[v.value];else if(b.value)v.value=y,b.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)?(b.value=n.endOfDay(v.value),v.value=u):b.value=n.endOfDay(u);r.value=Oe(n,v.value,b.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"},[Ye(" ")]),i.value.map(y=>P("div",{class:$(["v-date-picker-month__day","v-date-picker-month__day--adjacent"])},[y]))]),D(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 j;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)&&(((j=l.day)==null?void 0:j.call(l,R))??D(I,R.props,null))])})])]}})]))}}),ge=O({color:String,height:[String,Number],min:null,max:null,modelValue:Number,year:Number,allowedMonths:[Array,Function]},"VDatePickerMonths"),de=W()({name:"VDatePickerMonths",props:ge(),emits:{"update:modelValue":e=>!0},setup(e,t){let{emit:f,slots:l}=t;const a=J(),c=Y(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"),b=!!(!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:b,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:G(e.height)}},[P("div",{class:"v-date-picker-months__content"},[V.value.map((i,h)=>{var b;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(s){if(c.value===s){f("update:modelValue",c.value);return}c.value=s}return((b=l.month)==null?void 0:b.call(l,{month:i,i:h,props:n}))??D(I,A({key:"month"},n),null)})])])),{}}}),De=O({color:String,height:[String,Number],min:null,max:null,modelValue:Number,allowedYears:[Array,Function]},"VDatePickerYears"),oe=W()({name:"VDatePickerYears",props:De(),directives:{vIntersect:le},emits:{"update:modelValue":e=>!0},setup(e,t){let{emit:f,slots:l}=t;const a=J(),c=Y(e,"modelValue"),V=w(()=>{const n=a.getYear(a.date());let v=n-100,b=n+52;e.min&&(v=a.getYear(a.date(e.min))),e.max&&(b=a.getYear(a.date(e.max)));let s=a.startOfYear(a.date());return s=a.setYear(s,v),ke(b-v+1,v).map(o=>{const k=a.format(s,"year");return s=a.setYear(s,a.getYear(s)+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:G(e.height)}},[P("div",{class:"v-date-picker-years__content"},[V.value.map((n,v)=>{var s;const b={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((s=l.year)==null?void 0:s.call(l,{year:n,i:v,props:b}))??D(I,A({key:"month"},b),null)})])]),[[le,{handler:i},null,{once:!0}]])),{}}}),na=Ne("v-picker-title"),be=O({color:String,...Xe(),...Qe(),...qe(),...Ke(),...Je(),...ze(),...Ee(),...Ue(),...Fe()},"VSheet"),ue=W()({name:"VSheet",props:be(),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}=je(e);return N(()=>D(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,...be()},"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.title||f.title);return D(ue,A(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&&D(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&&D(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(De(),["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=Y(e,"modelValue",void 0,d=>q(d).map(m=>a.date(m)),d=>e.multiple?d:d[0]),i=Y(e,"viewMode"),h=w(()=>{const d=a.date(e.min);return e.min&&a.isValid(d)?d:null}),n=w(()=>{const d=a.date(e.max);return e.max&&a.isValid(d)?d:null}),v=w(()=>{var S;const d=a.date();let m=d;return(S=r.value)!=null&&S[0]?m=a.date(r.value[0]):h.value&&a.isBefore(d,h.value)?m=h.value:n.value&&a.isAfter(d,n.value)&&(m=n.value),m&&a.isValid(m)?m:d}),b=X(()=>e.headerColor??e.color),s=Y(e,"month"),o=w({get:()=>Number(s.value??a.getMonth(a.startOfMonth(v.value))),set:d=>s.value=d}),k=Y(e,"year"),g=w({get:()=>Number(k.value??a.getYear(a.startOfYear(a.setMonth(v.value,o.value)))),set:d=>k.value=d}),_=Q(!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 d=a.date();return d=a.setDate(d,1),d=a.setMonth(d,o.value),d=a.setYear(d,g.value),a.format(d,"monthAndYear")}),y=X(()=>`date-picker-header${_.value?"-reverse":""}-transition`),u=w(()=>{if(e.disabled)return!0;const d=[];if(i.value!=="month")d.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)&&d.push("prev")}if(n.value){const S=a.addDays(a.endOfMonth(m),1);a.isAfter(S,n.value)&&d.push("next")}}return d}),C=w(()=>e.allowedYears||Pe),R=w(()=>e.allowedMonths||Ve);function j(d,m){const S=e.allowedDates;if(typeof S!="function")return!0;const B=a.getDiff(m,d,"days");for(let T=0;T<B;T++)if(S(a.addDays(d,T)))return!0;return!1}function Pe(d){if(typeof e.allowedDates=="function"){const m=a.parseISO(`${d}-01-01`);return j(m,a.endOfYear(m))}if(Array.isArray(e.allowedDates)&&e.allowedDates.length){for(const m of e.allowedDates)if(a.getYear(a.date(m))===d)return!0;return!1}return!0}function Ve(d){if(typeof e.allowedDates=="function"){const m=String(d+1).padStart(2,"0"),S=a.parseISO(`${g.value}-${m}-01`);return j(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))===d)return!0;return!1}return!0}function Me(){o.value<11?o.value++:(g.value++,o.value=0,U()),F()}function Se(){o.value>0?o.value--:(g.value--,o.value=11,U()),F()}function Ce(){i.value="month"}function te(){i.value=i.value==="months"?"month":"months"}function ne(){i.value=i.value==="year"?"month":"year"}function F(){i.value==="months"&&te()}function U(){i.value==="year"&&ne()}return fe(r,(d,m)=>{const S=q(m),B=q(d);if(!B.length)return;const T=a.date(S[S.length-1]),E=a.date(B[B.length-1]),H=a.getMonth(E),M=a.getYear(E);H!==o.value&&(o.value=H,F()),M!==g.value&&(g.value=M,U()),_.value=a.isBefore(T,E)}),N(()=>{const d=ce.filterProps(e),m=re.filterProps(e),S=ie.filterProps(e),B=se.filterProps(e),T=z(de.filterProps(e),["modelValue"]),E=z(oe.filterProps(e),["modelValue"]),H={color:b.value,header:x.value,transition:y.value};return D(ce,A(d,{color:b.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?D(ee,{defaults:{VDatePickerHeader:{...H}}},{default:()=>{var M;return[(M=l.header)==null?void 0:M.call(l,H)]}}):D(ie,A({key:"header"},S,H,{onClick:i.value!=="month"?Ce:void 0}),{prepend:l.prepend,append:l.append}),default:()=>P(pe,null,[D(re,A(m,{disabled:u.value,text:L.value,"onClick:next":Me,"onClick:prev":Se,"onClick:month":te,"onClick:year":ne}),null),D(Ge,{hideOnLeave:!0},{default:()=>[i.value==="months"?D(de,A({key:"date-picker-months"},T,{modelValue:o.value,"onUpdate:modelValue":[M=>o.value=M,F],min:h.value,max:n.value,year:g.value,allowedMonths:R.value}),{month:l.month}):i.value==="year"?D(oe,A({key:"date-picker-years"},E,{modelValue:g.value,"onUpdate:modelValue":[M=>g.value=M,U],min:h.value,max:n.value,allowedYears:C.value}),{year:l.year}):D(se,A({key:"date-picker-month"},B,{modelValue:r.value,"onUpdate:modelValue":M=>r.value=M,month:o.value,"onUpdate:month":[M=>o.value=M,F],year:g.value,"onUpdate:year":[M=>g.value=M,U],min:h.value,max:n.value}),{day:l.day})]})]),actions:l.actions})}),{}}});export{ia as V,ce as a,we as m};