import{d as Be}from"./dataProvider-d4kaP9eY.js";import{g as Ce,aq as je,aR as Jt,aB as dt,ar as le,as as Ue,ae as ce,aw as yt,aS as Kt,b as Ve,c as r,i as c,t as K,aT as qt,F as De,E as q,P as ot,Q as We,K as At,aU as Gt,L as Xt,aV as Zt,n as Ke,d as ge,aW as qe,v as D,au as Ft,az as we,a3 as N,a2 as Z,aX as kt,aY as Qt,av as Ne,aZ as bt,p as ye,aA as Me,y as Y,x as Ye,aJ as lt,a_ as tt,aC as ct,a$ as Et,b0 as ea,b1 as $e,b2 as ta,b3 as Ot,b4 as Ge,b5 as pt,b6 as aa,I as Yt,aO as la,b7 as na,b8 as ia,b9 as ra,ba as oa,bb as sa,bc as wt,aG as ua,Z as da,aK as ca,_ as ma,o as j,C as pe,j as re,w as d,A as se,D as ue,G as Qe,a0 as fa,z as Oe,l as Pe,B as va,q as Le,O as ha,bd as ga,J as ya,M as nt,H as ka}from"./index-DS_mP1l0.js";import{V as it}from"./VAlert-C6vRZNCN.js";import{V as ba}from"./VSkeletonLoader-Ci6QbomZ.js";import{a as pa,V as et}from"./VTooltip-BIZwxB70.js";import{V as Je,b as wa}from"./VChip-DXbJhYeb.js";import{a as he,V as He}from"./VRow-t6OL9jRI.js";import{e as Da,f as Ca,V as Ae,g as Va}from"./VTextField-B3mgzys3.js";import{V as xa}from"./VTextarea-DGS_A_Ul.js";import{V as Ta}from"./VSwitch-W6HBEtkv.js";import{u as Sa,a as Ma,V as st,b as _a,h as Ia,c as Pa,m as Na,d as Aa}from"./filter-CXn4g5S1.js";import{V as Fa}from"./VCheckboxBtn-C6cZpiqT.js";import{V as Dt,m as Ea}from"./VSheet-C1GOiZPj.js";const Oa=ye({autoSelectFirst:{type:[Boolean,String]},clearOnSelect:Boolean,search:String,...Aa({filterKeys:["title"]}),...Na(),...Me(Va({modelValue:null,role:"combobox"}),["validationValue","dirty"])},"VAutocomplete"),Ya=Ce()({name:"VAutocomplete",props:Oa(),emits:{"update:focused":e=>!0,"update:search":e=>!0,"update:modelValue":e=>!0,"update:menu":e=>!0},setup(e,t){let{slots:n}=t;const{t:i}=je(),a=Z(),s=we(!1),l=we(!0),u=we(!1),o=Z(),m=Z(),g=we(-1),p=we(null),{items:_,transformIn:S,transformOut:B}=Jt(e),{textColorClasses:y,textColorStyles:V}=dt(()=>{var h;return(h=a.value)==null?void 0:h.color}),{InputIcon:w}=Da(e),I=le(e,"search",""),M=le(e,"modelValue",[],h=>S(h===null?[null]:Ue(h)),h=>{const U=B(h);return e.multiple?U:U[0]??null}),f=N(()=>typeof e.counterValue=="function"?e.counterValue(M.value):typeof e.counterValue=="number"?e.counterValue:M.value.length),E=Ca(e),{filteredItems:x,getMatches:v}=Sa(e,_,()=>p.value??(l.value?"":I.value)),T=N(()=>e.hideSelected&&p.value===null?x.value.filter(h=>!M.value.some(U=>U.value===h.value)):x.value),L=Ne(()=>e.closableChips&&!E.isReadonly.value&&!E.isDisabled.value),$=N(()=>!!(e.chips||n.chip)),G=N(()=>$.value||!!n.selection),b=N(()=>M.value.map(h=>h.props.value)),O=N(()=>T.value.find(h=>h.type==="item"&&!h.props.disabled)),W=N(()=>{var U;return(e.autoSelectFirst===!0||e.autoSelectFirst==="exact"&&I.value===((U=O.value)==null?void 0:U.title))&&T.value.length>0&&!l.value&&!u.value}),P=N(()=>e.hideNoData&&!T.value.length||E.isReadonly.value||E.isDisabled.value),te=le(e,"menu"),H=N({get:()=>te.value,set:h=>{var U;te.value&&!h&&((U=o.value)!=null&&U.ΨopenChildren.size)||h&&P.value||(te.value=h)}}),{menuId:ke,ariaExpanded:_e,ariaControls:k}=Ma(e,H),A=Z(),R=Pa(A,a);function ae(h){e.openOnClear&&(H.value=!0),I.value=""}function C(){P.value||(H.value=!0)}function F(h){P.value||(s.value&&(h.preventDefault(),h.stopPropagation()),H.value=!H.value)}function ee(h){var U;(kt(h)||h.key==="Backspace")&&((U=a.value)==null||U.focus())}function ne(h){var ie,fe,J,de,Se;if(E.isReadonly.value)return;const U=(ie=a.value)==null?void 0:ie.selectionStart,X=M.value.length;if(["Enter","ArrowDown","ArrowUp"].includes(h.key)&&h.preventDefault(),["Enter","ArrowDown"].includes(h.key)&&(H.value=!0),["Escape"].includes(h.key)&&(H.value=!1),W.value&&["Enter","Tab"].includes(h.key)&&O.value&&!M.value.some(oe=>{let{value:z}=oe;return z===O.value.value})&&be(O.value),h.key==="ArrowDown"&&W.value&&((fe=A.value)==null||fe.focus("next")),["Backspace","Delete"].includes(h.key)){if(!e.multiple&&G.value&&M.value.length>0&&!I.value)return be(M.value[0],!1);if(~g.value){h.preventDefault();const oe=g.value;be(M.value[g.value],!1),g.value=oe>=X-1?X-2:oe}else h.key==="Backspace"&&!I.value&&(g.value=X-1);return}if(e.multiple)if(h.key==="ArrowLeft"){if(g.value<0&&U&&U>0)return;const oe=g.value>-1?g.value-1:X-1;if(M.value[oe])g.value=oe;else{const z=((J=I.value)==null?void 0:J.length)??null;g.value=-1,(de=a.value)==null||de.setSelectionRange(z,z)}}else if(h.key==="ArrowRight"){if(g.value<0)return;const oe=g.value+1;M.value[oe]?g.value=oe:(g.value=-1,(Se=a.value)==null||Se.setSelectionRange(0,0))}else~g.value&&kt(h)&&(g.value=-1)}function me(h){if(bt(a.value,":autofill")||bt(a.value,":-webkit-autofill")){const U=_.value.find(X=>X.title===h.target.value);U&&be(U)}}function xe(){var h;e.eager&&((h=m.value)==null||h.calculateVisibleItems())}function Te(){var h;s.value&&(l.value=!0,(h=a.value)==null||h.focus()),p.value=null}function Q(h){s.value=!0,setTimeout(()=>{u.value=!0})}function Ee(h){u.value=!1}function Xe(h){(h==null||h===""&&!e.multiple&&!G.value)&&(M.value=[])}const Re=we(!1);function be(h){let U=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(!(!h||h.props.disabled))if(e.multiple){const X=M.value.findIndex(fe=>(e.valueComparator||Qt)(fe.value,h.value)),ie=U??!~X;if(~X){const fe=ie?[...M.value,h]:[...M.value];fe.splice(X,1),M.value=fe}else ie&&(M.value=[...M.value,h]);e.clearOnSelect&&(I.value="")}else{const X=U!==!1;M.value=X?[h]:[],p.value=l.value?"":I.value??"",I.value=X&&!G.value?h.title:"",yt(()=>{H.value=!1,l.value=!0})}}return ce(s,(h,U)=>{var X;h!==U&&(h?(Re.value=!0,I.value=e.multiple||G.value?"":String(((X=M.value.at(-1))==null?void 0:X.props.title)??""),l.value=!0,yt(()=>Re.value=!1)):(!e.multiple&&I.value==null&&(M.value=[]),H.value=!1,!l.value&&I.value&&(p.value=I.value),I.value="",g.value=-1))}),ce(I,h=>{!s.value||Re.value||(h&&(H.value=!0),l.value=!h)}),ce(H,h=>{if(!e.hideSelected&&h&&M.value.length&&l.value){const U=T.value.findIndex(X=>M.value.some(ie=>X.value===ie.value));Kt&&window.requestAnimationFrame(()=>{var X;U>=0&&((X=m.value)==null||X.scrollToIndex(U))})}h&&(p.value=null)}),ce(_,(h,U)=>{H.value||s.value&&!U.length&&h.length&&(H.value=!0)}),Ve(()=>{const h=!!(!e.hideNoData||T.value.length||n["prepend-item"]||n["append-item"]||n["no-data"]),U=M.value.length>0,X=Ae.filterProps(e);return r(Ae,q({ref:a},X,{modelValue:I.value,"onUpdate:modelValue":[ie=>I.value=ie,Xe],focused:s.value,"onUpdate:focused":ie=>s.value=ie,validationValue:M.externalValue,counterValue:f.value,dirty:U,onChange:me,class:["v-autocomplete",`v-autocomplete--${e.multiple?"multiple":"single"}`,{"v-autocomplete--active-menu":H.value,"v-autocomplete--chips":!!e.chips,"v-autocomplete--selection-slot":!!G.value,"v-autocomplete--selecting-index":g.value>-1},e.class],style:e.style,readonly:E.isReadonly.value,placeholder:U?void 0:e.placeholder,"onClick:clear":ae,"onMousedown:control":C,onKeydown:ne,"aria-expanded":_e.value,"aria-controls":k.value}),{...n,default:ie=>{let{id:fe}=ie;return c(De,null,[r(st,q({id:ke.value,ref:o,modelValue:H.value,"onUpdate:modelValue":J=>H.value=J,activator:"parent",contentClass:"v-autocomplete__content",disabled:P.value,eager:e.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,onAfterEnter:xe,onAfterLeave:Te},e.menuProps),{default:()=>[h&&r(ot,q({ref:A,filterable:!0,selected:b.value,selectStrategy:e.multiple?"independent":"single-independent",onMousedown:J=>J.preventDefault(),onKeydown:ee,onFocusin:Q,onFocusout:Ee,tabindex:"-1",selectable:!!T.value.length,"aria-live":"polite","aria-labelledby":`${fe.value}-label`,"aria-multiselectable":e.multiple,color:e.itemColor??e.color},R,e.listProps),{default:()=>{var J,de,Se;return[(J=n["prepend-item"])==null?void 0:J.call(n),!T.value.length&&!e.hideNoData&&(((de=n["no-data"])==null?void 0:de.call(n))??r(We,{key:"no-data",title:i(e.noDataText)},null)),r(_a,{ref:m,renderless:!0,items:T.value,itemKey:"value"},{default:oe=>{var vt,ht,gt;let{item:z,index:Ie,itemRef:ve}=oe;const ft=q(z.props,{ref:ve,key:z.value,active:W.value&&z===O.value?!0:void 0,onClick:()=>be(z,null),"aria-posinset":Ie+1,"aria-setsize":T.value.length});return z.type==="divider"?((vt=n.divider)==null?void 0:vt.call(n,{props:z.raw,index:Ie}))??r(At,q(z.props,{key:`divider-${Ie}`}),null):z.type==="subheader"?((ht=n.subheader)==null?void 0:ht.call(n,{props:z.raw,index:Ie}))??r(Gt,q(z.props,{key:`subheader-${Ie}`}),null):((gt=n.item)==null?void 0:gt.call(n,{item:z,index:Ie,props:ft}))??r(We,q(ft,{role:"option"}),{prepend:Ze=>{let{isSelected:zt}=Ze;return c(De,null,[e.multiple&&!e.hideSelected?r(Fa,{key:z.value,modelValue:zt,ripple:!1,tabindex:"-1","aria-hidden":!0,onClick:Wt=>Wt.preventDefault()},null):void 0,z.props.prependAvatar&&r(Xt,{image:z.props.prependAvatar},null),z.props.prependIcon&&r(K,{icon:z.props.prependIcon},null)])},title:()=>{var Ze;return l.value?z.title:Ia("v-autocomplete",z.title,(Ze=v(z))==null?void 0:Ze.title)}})}}),(Se=n["append-item"])==null?void 0:Se.call(n)]}})]}),M.value.map((J,de)=>{function Se(ve){ve.stopPropagation(),ve.preventDefault(),be(J,!1)}const oe=q(Je.filterProps(J.props),{"onClick:close":Se,onKeydown(ve){ve.key!=="Enter"&&ve.key!==" "||(ve.preventDefault(),ve.stopPropagation(),Se(ve))},onMousedown(ve){ve.preventDefault(),ve.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0}),z=$.value?!!n.chip:!!n.selection,Ie=z?Zt($.value?n.chip({item:J,index:de,props:oe}):n.selection({item:J,index:de})):void 0;if(!(z&&!Ie))return c("div",{key:J.value,class:ge(["v-autocomplete__selection",de===g.value&&["v-autocomplete__selection--selected",y.value]]),style:Ke(de===g.value?V.value:{})},[$.value?n.chip?r(qe,{key:"chip-defaults",defaults:{VChip:{closable:L.value,size:"small",text:J.title}}},{default:()=>[Ie]}):r(Je,q({key:"chip",closable:L.value,size:"small",text:J.title,disabled:J.props.disabled},oe),null):Ie??c("span",{class:"v-autocomplete__selection-text"},[J.title,e.multiple&&de!0,"click:month":()=>!0,"click:prev":()=>!0,"click:next":()=>!0,"click:prev-year":()=>!0,"click:next-year":()=>!0},setup(e,t){let{emit:n,slots:i}=t;const{t:a}=je(),s=N(()=>Array.isArray(e.disabled)?e.disabled.includes("text"):!!e.disabled),l=N(()=>Array.isArray(e.disabled)?e.disabled.includes("mode"):!!e.disabled),u=N(()=>Array.isArray(e.disabled)?e.disabled.includes("prev-month"):!!e.disabled),o=N(()=>Array.isArray(e.disabled)?e.disabled.includes("next-month"):!!e.disabled),m=N(()=>Array.isArray(e.disabled)?e.disabled.includes("prev-year"):!!e.disabled),g=N(()=>Array.isArray(e.disabled)?e.disabled.includes("next-year"):!!e.disabled);function p(){n("click:prev")}function _(){n("click:next")}function S(){n("click:prev-year")}function B(){n("click:next-year")}function y(){n("click:year")}function V(){n("click:month")}return Ve(()=>{const w={VBtn:{density:"comfortable",variant:"text"}},I=r(Y,{"data-testid":"prev-month",disabled:u.value,icon:e.prevIcon,"aria-label":a("$vuetify.datePicker.ariaLabel.previousMonth"),onClick:p},null),M=r(Y,{"data-testid":"next-month",disabled:o.value,icon:e.nextIcon,"aria-label":a("$vuetify.datePicker.ariaLabel.nextMonth"),onClick:_},null),f=r(Y,{"data-testid":"prev-year",disabled:m.value,icon:e.prevIcon,"aria-label":a("$vuetify.datePicker.ariaLabel.previousYear"),onClick:S},null),E=r(Y,{"data-testid":"next-year",disabled:g.value,icon:e.nextIcon,"aria-label":a("$vuetify.datePicker.ariaLabel.nextYear"),onClick:B},null),x=r(Y,{class:"v-date-picker-controls__only-month-btn","data-testid":"month-btn",density:"default",disabled:s.value,text:e.monthText,appendIcon:e.modeIcon,rounded:!0,"aria-label":a("$vuetify.datePicker.ariaLabel.selectMonth"),onClick:V},null),v=r(Y,{class:"v-date-picker-controls__only-year-btn","data-testid":"year-btn",density:"default",disabled:l.value,text:e.yearText,appendIcon:e.modeIcon,rounded:!0,"aria-label":a("$vuetify.datePicker.ariaLabel.selectYear"),onClick:y},null),T=r(Y,{class:"v-date-picker-controls__year-btn","data-testid":"year-btn",density:"default",disabled:l.value,text:e.text,appendIcon:e.modeIcon,rounded:!0,"aria-label":a("$vuetify.datePicker.ariaLabel.selectYear"),onClick:y},null),L=c(De,null,[r(Y,{class:"v-date-picker-controls__month-btn","data-testid":"month-btn",height:"36",disabled:s.value,text:e.text,rounded:!0,"aria-label":a("$vuetify.datePicker.ariaLabel.selectMonth"),onClick:V},null),r(Y,{class:"v-date-picker-controls__mode-btn","data-testid":"year-btn",disabled:l.value,icon:e.modeIcon,"aria-label":a("$vuetify.datePicker.ariaLabel.selectYear"),onClick:y},null)]),$={viewMode:e.viewMode,disabled:Array.isArray(e.disabled)?e.disabled:[],monthYearText:e.text??"",monthText:e.monthText??"",yearText:e.yearText??"",openMonths:V,openYears:y,prevMonth:p,nextMonth:_,prevYear:S,nextYear:B},G=c(De,null,[e.noMonthPicker?T:L,r(Ye,null,null),c("div",{class:"v-date-picker-controls__month"},[I,M])]),b=c(De,null,[c("div",{class:"v-date-picker-controls__month"},[I,x,M]),r(Ye,null,null),c("div",{class:"v-date-picker-controls__year"},[f,v,E])]);return r(qe,{defaults:w},{default:()=>{var O;return[c("div",{class:ge(["v-date-picker-controls",`v-date-picker-controls--variant-${e.controlVariant}`]),style:{"--v-date-picker-controls-height":lt(e.controlHeight)}},[((O=i.default)==null?void 0:O.call(i,$))??c(De,null,[e.controlVariant==="modal"&&G,e.controlVariant==="docked"&&b])])]}})}),{}}}),Ua=ye({appendIcon:tt,color:String,header:String,transition:String,onClick:ea()},"VDatePickerHeader"),Vt=Ce()({name:"VDatePickerHeader",props:Ua(),emits:{click:()=>!0,"click:append":()=>!0},setup(e,t){let{emit:n,slots:i}=t;const{backgroundColorClasses:a,backgroundColorStyles:s}=ct(()=>e.color);function l(){n("click")}function u(){n("click:append")}return Ve(()=>{const o=!!(i.default||e.header),m=!!(i.append||e.appendIcon);return c("div",{class:ge(["v-date-picker-header",{"v-date-picker-header--clickable":!!e.onClick},a.value]),style:Ke(s.value),onClick:l},[i.prepend&&c("div",{key:"prepend",class:"v-date-picker-header__prepend"},[i.prepend()]),o&&r(Et,{key:"content",name:e.transition},{default:()=>{var g;return[c("div",{key:e.header,class:"v-date-picker-header__content"},[((g=i.default)==null?void 0:g.call(i))??e.header])]}}),m&&c("div",{class:"v-date-picker-header__append"},[i.append?r(qe,{key:"append-defaults",disabled:!e.appendIcon,defaults:{VBtn:{icon:e.appendIcon,variant:"text"}}},{default:()=>{var g;return[(g=i.append)==null?void 0:g.call(i)]}}):r(Y,{key:"append-btn",icon:e.appendIcon,variant:"text",onClick:u},null)])])}),{}}}),Ba=ye({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 La(e){const t=$e(),n=le(e,"modelValue",[],y=>Ue(y).map(V=>t.date(V))),i=N(()=>e.displayValue?t.date(e.displayValue):n.value.length>0?t.date(n.value[0]):e.min?t.date(e.min):Array.isArray(e.allowedDates)?t.date(e.allowedDates[0]):t.date()),a=le(e,"year",void 0,y=>{const V=y!=null?Number(y):t.getYear(i.value);return t.startOfYear(t.setYear(t.date(),V))},y=>t.getYear(y)),s=le(e,"month",void 0,y=>{const V=y!=null?Number(y):t.getMonth(i.value),w=t.setYear(t.startOfMonth(t.date()),t.getYear(a.value));return t.setMonth(w,V)},y=>t.getMonth(y)),l=N(()=>{const y=t.toJsDate(t.startOfWeek(t.date(),e.firstDayOfWeek)).getDay();return t.getWeekdays(e.firstDayOfWeek,e.weekdayFormat).filter((V,w)=>e.weekdays.includes((w+y)%7))}),u=N(()=>{const y=t.getWeekArray(s.value,e.firstDayOfWeek),V=y.flat(),w=6*7;if(e.weeksInMonth==="static"&&V.lengthe.weekdays.includes(t.toJsDate(w).getDay())).map((w,I)=>{const M=t.toISO(w),f=!t.isSameMonth(w,s.value),E=t.isSameDay(w,t.startOfMonth(s.value)),x=t.isSameDay(w,t.endOfMonth(s.value)),v=t.isSameDay(w,s.value),T=e.weekdays.length;return{date:w,formatted:t.format(w,"keyboardDate"),isAdjacent:f,isDisabled:B(w),isEnd:x,isHidden:f&&!e.showAdjacentMonths,isSame:v,isSelected:n.value.some(L=>t.isSameDay(w,L)),isStart:E,isToday:t.isSameDay(w,V),isWeekEnd:I%T===T-1,isWeekStart:I%T===0,isoDate:M,localized:t.format(w,"dayOfMonth"),month:t.getMonth(w),year:t.getYear(w)}})}const m=N(()=>{const y=t.startOfWeek(i.value,e.firstDayOfWeek),V=[];for(let I=0;I<=6;I++)V.push(t.addDays(y,I));const w=t.date();return o(V,w)}),g=N(()=>{const y=u.value.flat(),V=t.date();return o(y,V)}),p=N(()=>u.value.map(y=>y.length?t.getWeek(y[0],e.firstDayOfWeek,e.firstDayOfYear):null)),{minDate:_,maxDate:S}=Bt(e);function B(y){if(e.disabled)return!0;const V=t.date(y);return _.value&&t.isBefore(t.endOfDay(V),_.value)||S.value&&t.isAfter(V,S.value)?!0:Array.isArray(e.allowedDates)&&e.allowedDates.length>0?!e.allowedDates.some(w=>t.isSameDay(t.date(w),V)):typeof e.allowedDates=="function"?!e.allowedDates(V):!1}return{displayValue:i,daysInMonth:g,daysInWeek:m,genDays:o,model:n,weeksInMonth:u,weekdayLabels:l,weekNumbers:p}}function Bt(e){const t=$e(),n=N(()=>{if(!e.min)return null;const l=t.date(e.min);return t.isValid(l)?l:null}),i=N(()=>{if(!e.max)return null;const l=t.date(e.max);return t.isValid(l)?l:null});function a(l){return n.value&&t.isBefore(l,n.value)?n.value:i.value&&t.isAfter(l,i.value)?i.value:l}function s(l){return(!n.value||t.isAfter(l,n.value))&&(!i.value||t.isBefore(l,i.value))}return{minDate:n,maxDate:i,clampDate:a,isInAllowedRange:s}}const Lt=ye({color:String,hideWeekdays:Boolean,multiple:[Boolean,Number,String],showWeek:Boolean,transition:{type:String,default:"picker-transition"},reverseTransition:{type:String,default:"picker-reverse-transition"},events:{type:[Array,Function,Object],default:()=>null},eventColor:{type:[Array,Function,Object,String],default:()=>null},...Me(Ba(),["displayValue"])},"VDatePickerMonth"),xt=Ce()({name:"VDatePickerMonth",props:Lt(),emits:{"update:modelValue":e=>!0,"update:month":e=>!0,"update:year":e=>!0},setup(e,t){let{emit:n,slots:i}=t;const a=Z(),{t:s}=je(),{daysInMonth:l,model:u,weekNumbers:o,weekdayLabels:m}=La(e),g=$e(),p=we(),_=we(),S=we(!1),B=Ne(()=>S.value?e.reverseTransition:e.transition);e.multiple==="range"&&u.value.length>0&&(p.value=u.value[0],u.value.length>1&&(_.value=u.value[u.value.length-1]));const y=N(()=>{const x=["number","string"].includes(typeof e.multiple)?Number(e.multiple):1/0;return u.value.length>=x});ce(l,(x,v)=>{v&&(S.value=g.isBefore(x[0].date,v[0].date))});function V(x){const v=g.startOfDay(x);if(u.value.length===0?p.value=void 0:u.value.length===1&&(p.value=u.value[0],_.value=void 0),!p.value)p.value=v,u.value=[p.value];else if(_.value)p.value=x,_.value=void 0,u.value=[p.value];else{if(g.isSameDay(v,p.value)){p.value=void 0,u.value=[];return}else g.isBefore(v,p.value)?(_.value=g.endOfDay(p.value),p.value=v):_.value=g.endOfDay(v);u.value=ta(g,p.value,_.value)}}function w(x){const v=g.format(x.date,"fullDateWithWeekday"),T=x.isToday?"currentDate":"selectDate";return s(`$vuetify.datePicker.ariaLabel.${T}`,v)}function I(x){const v=u.value.findIndex(T=>g.isSameDay(T,x));if(v===-1)u.value=[...u.value,x];else{const T=[...u.value];T.splice(v,1),u.value=T}}function M(x){e.multiple==="range"?V(x):e.multiple?I(x):u.value=[x]}function f(x){const{events:v,eventColor:T}=e;let L,$=[];if(Array.isArray(v)?L=v.includes(x):v instanceof Function?L=v(x)||!1:v?L=v[x]||!1:L=!1,L)L!==!0?$=Ue(L):typeof T=="string"?$=[T]:typeof T=="function"?$=Ue(T(x)):Array.isArray(T)?$=T:typeof T=="object"&&T!==null&&($=Ue(T[x]));else return[];return $.length?$.filter(Boolean).map(G=>typeof G=="string"?G:"surface-variant"):["surface-variant"]}function E(x){const v=f(x);return v.length?c("div",{class:"v-date-picker-month__events"},[v.map(T=>r(pa,{dot:!0,color:T},null))]):null}Ve(()=>c("div",{class:"v-date-picker-month",style:{"--v-date-picker-days-in-week":e.weekdays.length}},[e.showWeek&&c("div",{key:"weeks",class:"v-date-picker-month__weeks"},[!e.hideWeekdays&&c("div",{key:"hide-week-days",class:"v-date-picker-month__day"},[D(" ")]),o.value.map(x=>c("div",{class:ge(["v-date-picker-month__day","v-date-picker-month__day--adjacent"])},[x]))]),r(Et,{name:B.value},{default:()=>{var x;return[c("div",{ref:a,key:(x=l.value[0].date)==null?void 0:x.toString(),class:"v-date-picker-month__days"},[!e.hideWeekdays&&m.value.map(v=>c("div",{class:ge(["v-date-picker-month__day","v-date-picker-month__weekday"])},[v])),l.value.map((v,T)=>{var $;const L={props:{class:"v-date-picker-month__day-btn",color:v.isSelected||v.isToday?e.color:void 0,disabled:v.isDisabled,icon:!0,ripple:!1,variant:v.isSelected?"flat":v.isToday?"outlined":"text","aria-label":w(v),"aria-current":v.isToday?"date":void 0,onClick:()=>M(v.date)},item:v,i:T};return y.value&&!v.isSelected&&(v.isDisabled=!0),c("div",{class:ge(["v-date-picker-month__day",{"v-date-picker-month__day--adjacent":v.isAdjacent,"v-date-picker-month__day--hide-adjacent":v.isHidden,"v-date-picker-month__day--selected":v.isSelected,"v-date-picker-month__day--week-end":v.isWeekEnd,"v-date-picker-month__day--week-start":v.isWeekStart}]),"data-v-date":v.isDisabled?void 0:v.isoDate},[(e.showAdjacentMonths||!v.isAdjacent)&&((($=i.day)==null?void 0:$.call(i,L))??r(Y,L.props,{default:()=>[v.localized,E(v.isoDate)]}))])})])]}})]))}}),Rt=ye({color:String,height:[String,Number],min:null,max:null,modelValue:Number,year:Number,allowedMonths:[Array,Function]},"VDatePickerMonths"),Tt=Ce()({name:"VDatePickerMonths",props:Rt(),emits:{"update:modelValue":e=>!0},setup(e,t){let{emit:n,slots:i}=t;const a=$e(),s=le(e,"modelValue"),l=N(()=>{let o=a.startOfYear(a.date());return e.year&&(o=a.setYear(o,e.year)),Ge(12).map(m=>{const g=a.format(o,"monthShort"),p=a.format(o,"month"),_=!!(!u(m)||e.min&&a.isAfter(a.startOfMonth(a.date(e.min)),o)||e.max&&a.isAfter(o,a.startOfMonth(a.date(e.max))));return o=a.getNextMonth(o),{isDisabled:_,text:g,label:p,value:m}})});Ot(()=>{s.value=s.value??a.getMonth(a.date())});function u(o){return Array.isArray(e.allowedMonths)&&e.allowedMonths.length?e.allowedMonths.includes(o):typeof e.allowedMonths=="function"?e.allowedMonths(o):!0}return Ve(()=>c("div",{class:"v-date-picker-months",style:{height:lt(e.height)}},[c("div",{class:"v-date-picker-months__content"},[l.value.map((o,m)=>{var _;const g={active:s.value===m,ariaLabel:o.label,color:s.value===m?e.color:void 0,disabled:o.isDisabled,rounded:!0,text:o.text,variant:s.value===o.value?"flat":"text",onClick:()=>p(m)};function p(S){if(s.value===S){n("update:modelValue",s.value);return}s.value=S}return((_=i.month)==null?void 0:_.call(i,{month:o,i:m,props:g}))??r(Y,q({key:"month"},g),null)})])])),{}}}),Ht=ye({color:String,height:[String,Number],min:null,max:null,modelValue:Number,allowedYears:[Array,Function]},"VDatePickerYears"),St=Ce()({name:"VDatePickerYears",props:Ht(),directives:{vIntersect:pt},emits:{"update:modelValue":e=>!0},setup(e,t){let{emit:n,slots:i}=t;const a=$e(),s=le(e,"modelValue"),l=we(!1),u=N(()=>{const p=a.getYear(a.date());let _=p-100,S=p+52;e.min&&(_=a.getYear(a.date(e.min))),e.max&&(S=a.getYear(a.date(e.max)));let B=a.startOfYear(a.date());return B=a.setYear(B,_),Ge(S-_+1,_).map(y=>{const V=a.format(B,"year");return B=a.setYear(B,a.getYear(B)+1),{text:V,value:y,isDisabled:!g(y)}})});Ot(()=>{s.value=s.value??a.getYear(a.date())});const o=aa();function m(){var p;(p=o.el)==null||p.scrollIntoView({block:"center"})}function g(p){return Array.isArray(e.allowedYears)&&e.allowedYears.length?e.allowedYears.includes(p):typeof e.allowedYears=="function"?e.allowedYears(p):!0}return Ve(()=>Yt(c("div",{class:"v-date-picker-years",style:{height:lt(e.height)}},[c("div",{class:"v-date-picker-years__content",onFocus:()=>{var p;return(p=o.el)==null?void 0:p.focus()},onFocusin:()=>l.value=!0,onFocusout:()=>l.value=!1,tabindex:l.value?-1:0},[u.value.map((p,_)=>{var B;const S={ref:s.value===p.value?o:void 0,active:s.value===p.value,color:s.value===p.value?e.color:void 0,rounded:!0,text:p.text,disabled:p.isDisabled,variant:s.value===p.value?"flat":"text",onClick:()=>{if(s.value===p.value){n("update:modelValue",s.value);return}s.value=p.value}};return((B=i.year)==null?void 0:B.call(i,{year:p,i:_,props:S}))??r(Y,q({key:"month"},S),null)})])]),[[pt,{handler:m},null,{once:!0}]])),{}}}),Ra=la("v-picker-title"),mt=ye({bgColor:String,divided:Boolean,landscape:Boolean,title:String,hideHeader:Boolean,hideTitle:Boolean,...Ea()},"VPicker"),at=Ce()({name:"VPicker",props:mt(),setup(e,t){let{slots:n}=t;const{backgroundColorClasses:i,backgroundColorStyles:a}=ct(()=>e.color);return Ve(()=>{const s=Dt.filterProps(e),l=!e.hideTitle&&!!(e.title||n.title);return r(Dt,q(s,{color:e.bgColor,class:["v-picker",{"v-picker--divided":e.divided,"v-picker--landscape":e.landscape,"v-picker--with-actions":!!n.actions},e.class],style:e.style}),{default:()=>{var u;return[!e.hideHeader&&c("div",{key:"header",class:ge(["v-picker__header-wrapper",i.value]),style:Ke([a.value])},[l&&r(Ra,{key:"picker-title"},{default:()=>{var o;return[((o=n.title)==null?void 0:o.call(n))??e.title]}}),n.header&&c("div",{class:"v-picker__header"},[n.header()])]),c("div",{class:"v-picker__body"},[(u=n.default)==null?void 0:u.call(n)]),n.actions&&r(qe,{defaults:{VBtn:{slim:!0,variant:"text"}}},{default:()=>[c("div",{class:"v-picker__actions"},[n.actions()])]})]}})}),{}}}),Ha=ye({header:{type:String,default:"$vuetify.datePicker.header"},headerColor:String,headerDateFormat:{type:String,default:"normalDateWithWeekday"},landscapeHeaderWidth:[Number,String],...Me(Ut(),["active","monthText","yearText"]),...Lt({weeksInMonth:"static"}),...Me(Rt(),["modelValue"]),...Me(Ht(),["modelValue"]),...mt({title:"$vuetify.datePicker.title"}),modelValue:null},"VDatePicker"),Mt=Ce()({name:"VDatePicker",props:Ha(),emits:{"update:modelValue":e=>!0,"update:month":e=>!0,"update:year":e=>!0,"update:viewMode":e=>!0},setup(e,t){let{emit:n,slots:i}=t;const a=$e(),{t:s}=je(),{rtlClasses:l}=na(),u=le(e,"modelValue",void 0,C=>Ue(C).map(F=>a.date(F)),C=>e.multiple?C:C[0]),o=le(e,"viewMode"),{minDate:m,maxDate:g,clampDate:p}=Bt(e),_=N(()=>{var ee;const C=a.date(),F=(ee=u.value)!=null&&ee[0]?a.date(u.value[0]):p(C);return F&&a.isValid(F)?F:C}),S=Ne(()=>e.headerColor??e.color),B=le(e,"month"),y=N({get:()=>Number(B.value??a.getMonth(a.startOfMonth(_.value))),set:C=>B.value=C}),V=le(e,"year"),w=N({get:()=>Number(V.value??a.getYear(a.startOfYear(a.setMonth(_.value,y.value)))),set:C=>V.value=C}),I=we(!1),M=N(()=>{if(e.multiple&&u.value.length>1)return s("$vuetify.datePicker.itemsSelected",u.value.length);const C=u.value[0]&&a.isValid(u.value[0])?a.format(a.date(u.value[0]),e.headerDateFormat):s(e.header);return e.landscape&&C.split(" ").length===3?C.replace(" ",` `):C}),f=Ne(()=>{let C=a.date();return C=a.setDate(C,1),C=a.setMonth(C,y.value),C=a.setYear(C,w.value),C}),E=Ne(()=>a.format(f.value,"monthAndYear")),x=Ne(()=>a.format(f.value,"monthShort")),v=Ne(()=>a.format(f.value,"year")),T=Ne(()=>`date-picker-header${I.value?"-reverse":""}-transition`),L=N(()=>{if(e.disabled)return!0;const C=[];if(o.value!=="month")C.push("prev-month","next-month","prev-year","next-year");else{let F=a.date();if(F=a.startOfMonth(F),F=a.setMonth(F,y.value),F=a.setYear(F,w.value),m.value){const ee=a.addDays(a.startOfMonth(F),-1),ne=a.addDays(a.startOfYear(F),-1);a.isAfter(m.value,ee)&&C.push("prev-month"),a.isAfter(m.value,ne)&&C.push("prev-year")}if(g.value){const ee=a.addDays(a.endOfMonth(F),1),ne=a.addDays(a.endOfYear(F),1);a.isAfter(ee,g.value)&&C.push("next-month"),a.isAfter(ne,g.value)&&C.push("next-year")}}return C}),$=N(()=>e.allowedYears||O),G=N(()=>e.allowedMonths||W);function b(C,F){const ee=e.allowedDates;if(typeof ee!="function")return!0;const ne=1+ra(a,C,F);for(let me=0;me0?y.value--:(w.value--,y.value=11,ae()),R()}function H(){if(w.value++,g.value){const C=String(y.value+1).padStart(2,"0"),F=a.parseISO(`${w.value}-${C}-01`);a.isAfter(F,g.value)&&(y.value=a.getMonth(g.value))}ae()}function ke(){if(w.value--,m.value){const C=String(y.value+1).padStart(2,"0"),F=a.endOfMonth(a.parseISO(`${w.value}-${C}-01`));a.isAfter(m.value,F)&&(y.value=a.getMonth(m.value))}ae()}function _e(){o.value="month"}function k(){o.value=o.value==="months"?"month":"months"}function A(){o.value=o.value==="year"?"month":"year"}function R(){o.value==="months"&&k()}function ae(){o.value==="year"&&A()}return ce(u,(C,F)=>{const ee=Ue(F),ne=Ue(C);if(!ne.length)return;const me=a.date(ee[ee.length-1]),xe=a.date(ne[ne.length-1]);if(a.isSameDay(me,xe))return;const Te=a.getMonth(xe),Q=a.getYear(xe);Te!==y.value&&(y.value=Te,R()),Q!==w.value&&(w.value=Q,ae()),I.value=a.isBefore(me,xe)}),Ve(()=>{const C=at.filterProps(e),F=Me(Ct.filterProps(e),["viewMode"]),ee=Vt.filterProps(e),ne=xt.filterProps(e),me=Me(Tt.filterProps(e),["modelValue"]),xe=Me(St.filterProps(e),["modelValue"]),Te={color:S.value,header:M.value,transition:T.value};return r(at,q(C,{color:S.value,class:["v-date-picker",`v-date-picker--${o.value}`,{"v-date-picker--show-week":e.showWeek},l.value,e.class],style:[{"--v-date-picker-landscape-header-width":lt(e.landscapeHeaderWidth)},e.style]}),{title:()=>{var Q;return((Q=i.title)==null?void 0:Q.call(i))??c("div",{class:"v-date-picker__title"},[s(e.title)])},header:()=>i.header?r(qe,{defaults:{VDatePickerHeader:{...Te}}},{default:()=>{var Q;return[(Q=i.header)==null?void 0:Q.call(i,Te)]}}):r(Vt,q({key:"header"},ee,Te,{onClick:o.value!=="month"?_e:void 0}),{prepend:i.prepend,append:i.append}),default:()=>c(De,null,[r(Ct,q(F,{disabled:L.value,viewMode:o.value,text:E.value,monthText:x.value,yearText:v.value,"onClick:next":P,"onClick:prev":te,"onClick:nextYear":H,"onClick:prevYear":ke,"onClick:month":k,"onClick:year":A}),{default:i.controls}),r(ia,{hideOnLeave:!0},{default:()=>[o.value==="months"?r(Tt,q({key:"date-picker-months"},me,{modelValue:y.value,"onUpdate:modelValue":[Q=>y.value=Q,R],min:m.value,max:g.value,year:w.value,allowedMonths:G.value}),{month:i.month}):o.value==="year"?r(St,q({key:"date-picker-years"},xe,{modelValue:w.value,"onUpdate:modelValue":[Q=>w.value=Q,ae],min:m.value,max:g.value,allowedYears:$.value}),{year:i.year}):r(xt,q({key:"date-picker-month"},ne,{modelValue:u.value,"onUpdate:modelValue":Q=>u.value=Q,month:y.value,"onUpdate:month":[Q=>y.value=Q,R],year:w.value,"onUpdate:year":[Q=>w.value=Q,ae],min:m.value,max:g.value}),{day:i.day})]})]),actions:i.actions})}),{}}}),ja=ye({allowedValues:Function,ampm:Boolean,color:String,disabled:Boolean,displayedValue:null,double:Boolean,format:{type:Function,default:e=>e},max:{type:Number,required:!0},min:{type:Number,required:!0},scrollable:Boolean,readonly:Boolean,rotate:{type:Number,default:0},step:{type:Number,default:1},modelValue:{type:Number}},"VTimePickerClock"),_t=Ce()({name:"VTimePickerClock",props:ja(),emits:{change:e=>!0,input:e=>!0},setup(e,t){let{emit:n}=t;const i=Z(null),a=Z(null),s=Z(void 0),l=Z(!1),u=Z(null),o=Z(null),m=sa(k=>n("change",k),750),{textColorClasses:g,textColorStyles:p}=dt(()=>e.color),{backgroundColorClasses:_,backgroundColorStyles:S}=ct(()=>e.color),B=N(()=>e.max-e.min+1),y=N(()=>e.double?B.value/2:B.value),V=N(()=>360/y.value),w=N(()=>V.value*Math.PI/180),I=N(()=>e.modelValue==null?e.min:e.modelValue),M=N(()=>.62),f=N(()=>{const k=[];for(let A=e.min;A<=e.max;A=A+e.step)k.push(A);return k});ce(()=>e.modelValue,k=>{s.value=k});function E(k){s.value!==k&&(s.value=k),n("input",k)}function x(k){return!e.allowedValues||e.allowedValues(k)}function v(k){if(!e.scrollable||e.disabled)return;k.preventDefault();const A=Math.sign(-k.deltaY||1);let R=I.value;do R=R+A,R=(R-e.min+B.value)%B.value+e.min;while(!x(R)&&R!==I.value);R!==e.displayedValue&&E(R),m(R)}function T(k){return e.double&&k-e.min>=y.value}function L(k){return T(k)?M.value:1}function $(k){const A=e.rotate*Math.PI/180;return{x:Math.sin((k-e.min)*w.value+A)*L(k),y:-Math.cos((k-e.min)*w.value+A)*L(k)}}function G(k,A){const R=(Math.round(k/V.value)+(A?y.value:0))%B.value+e.min;return k<360-V.value/2?R:A?e.max-y.value+1:e.min}function b(k){const{x:A,y:R}=$(k);return{left:`${Math.round(50+A*50)}%`,top:`${Math.round(50+R*50)}%`}}function O(k,A){const R=A.x-k.x,ae=A.y-k.y;return Math.sqrt(R*R+ae*ae)}function W(k,A){const R=2*Math.atan2(A.y-k.y-O(k,A),A.x-k.x);return Math.abs(R*180/Math.PI)}function P(k){u.value===null&&(u.value=k),o.value=k,E(k)}function te(k){var Xe,Re;if(k.preventDefault(),!l.value&&k.type!=="click"||!i.value)return;const{width:A,top:R,left:ae}=(Xe=i.value)==null?void 0:Xe.getBoundingClientRect(),{width:C}=((Re=a.value)==null?void 0:Re.getBoundingClientRect())??{width:0},{clientX:F,clientY:ee}="touches"in k?k.touches[0]:k,ne={x:A/2,y:-A/2},me={x:F-ae,y:R-ee},xe=Math.round(W(ne,me)-e.rotate+360)%360,Te=e.double&&O(ne,me)<(C+C*M.value)/4,Q=Math.ceil(15/V.value);let Ee;for(let be=0;bec("div",{class:ge([{"v-time-picker-clock":!0,"v-time-picker-clock--indeterminate":e.modelValue==null,"v-time-picker-clock--readonly":e.readonly}]),onMousedown:H,onTouchstart:H,onWheel:v,ref:i},[c("div",{class:"v-time-picker-clock__inner",ref:a},[c("div",{class:ge([{"v-time-picker-clock__hand":!0,"v-time-picker-clock__hand--inner":T(e.modelValue)},g.value]),style:Ke([{transform:`rotate(${e.rotate+V.value*(I.value-e.min)}deg) scaleY(${L(I.value)})`},p.value])},null),f.value.map(k=>{const A=k===I.value;return c("div",{class:ge([{"v-time-picker-clock__item":!0,"v-time-picker-clock__item--active":A,"v-time-picker-clock__item--disabled":e.disabled||!x(k)},A&&_.value]),style:Ke([b(k),A&&S.value])},[c("span",null,[e.format(k)])])})])]))}}),$a=ye({active:Boolean,color:String,disabled:Boolean,label:String,modelValue:String,readonly:Boolean},"VTimePickerField"),rt=Ce()({name:"VTimePickerField",inheritAttrs:!1,props:$a(),emits:{"update:modelValue":e=>!0},setup(e,t){let{emit:n,attrs:i}=t;const{textColorClasses:a,textColorStyles:s}=dt(()=>e.color),l=Z(),u=we(!1);function o(m){if(["Backspace","Delete"].includes(m.key)){m.preventDefault();const g=m.target;g.value="",n("update:modelValue",null)}}return Ve(()=>c("div",null,[r(Ae,q({ref:l,_as:"VTimePickerField",autocomplete:"off",class:["v-time-picker-controls__time__field",{"v-time-picker-controls__time__field--active":e.active},e.active?a.value:[]],style:e.active?s.value:[],disabled:e.disabled,variant:"solo-filled",inputmode:"numeric",hideDetails:!0,flat:!0,modelValue:e.modelValue??(u.value?"":"--"),"onUpdate:modelValue":m=>n("update:modelValue",m),onKeydown:o,onFocus:()=>u.value=!0,onBlur:()=>u.value=!1},i),null),c("div",{class:"v-time-picker-controls__field-label"},[e.label])])),Ft({},l)}});function Fe(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:2;return String(e).padStart(t,"0")}function jt(e){return e?(e-1)%12+1:12}function ut(e,t){return e%12+(t==="pm"?12:0)}function ze(e){const t=e.replaceAll(/\D/g,"");return t.length>0?Number(t):null}function za(e,t,n){if(n){if(e===12&&t)return{value:1};if(e===11&&t)return{value:12,togglePeriod:!0};if(e===12&&!t)return{value:11,togglePeriod:!0};if(e===1&&!t)return{value:12}}else{if(e===23&&t)return{value:0};if(e===0&&!t)return{value:23}}return{value:e+(t?1:-1)}}function It(e,t){return e===59&&t?0:e===0&&!t?59:e+(t?1:-1)}const Wa=ye({ampm:Boolean,color:String,disabled:Boolean,hour:[Number,String],minute:[Number,String],second:[Number,String],period:String,readonly:Boolean,useSeconds:Boolean,value:Number,viewMode:String},"VTimePickerControls"),Pt=Ce()({name:"VTimePickerControls",props:Wa(),emits:{"update:period":e=>!0,"update:viewMode":e=>!0,"update:hour":e=>!0,"update:minute":e=>!0,"update:second":e=>!0},setup(e,t){let{emit:n,slots:i}=t;const{t:a}=je(),s={in:f=>{if(f==null||isNaN(Number(f)))return null;const E=Number(f);return e.ampm?Fe(jt(E)):Fe(E)},out:f=>{if(isNaN(Number(f))||f==null||f==="")return null;const E=typeof f=="string"?ze(f):Number(f);return E===null?null:e.ampm?ut(E,e.period??"am"):wt(E,0,23)}},l=le(e,"hour",void 0,s.in,s.out),u={in:f=>f!=null&&!isNaN(Number(f))?Fe(`${f}`):null,out:f=>{if(isNaN(Number(f))||f==null||f==="")return null;const E=typeof f=="string"?ze(f):Number(f);return E!==null?wt(E,0,59):null}},o=le(e,"minute",void 0,u.in,u.out),m=le(e,"second",void 0,u.in,u.out);function g(f){if(!["ArrowUp","ArrowDown"].includes(f.key))return;f.preventDefault(),f.stopPropagation();const E=Number(l.value??0),x=e.ampm?e.period??"am":null,{value:v,togglePeriod:T}=za(E,f.key==="ArrowUp",x);l.value=Fe(v),T&&n("update:period",e.period==="am"?"pm":"am")}function p(f){["ArrowUp","ArrowDown"].includes(f.key)&&(f.preventDefault(),f.stopPropagation(),o.value=It(Number(o.value),f.key==="ArrowUp"))}function _(f){["ArrowUp","ArrowDown"].includes(f.key)&&(f.preventDefault(),f.stopPropagation(),m.value=It(Number(m.value),f.key==="ArrowUp"))}function S(f,E,x){return v=>{if(!v.data)return;const T=v.target,{value:L,selectionStart:$,selectionEnd:G}=T??{};if(ze(v.data)===null){v.preventDefault();return}const b=L?L.slice(0,$)+v.data+L.slice(G):v.data;if(b.length>2){if($===G&&G===0&&v.data.trim().startsWith("0")){v.preventDefault(),T.value=b.trim().substring(0,2),x(T.value),v.data.trim().length===1&&T.setSelectionRange(1,1);return}if($===G&&G===1&&L.startsWith("0")){v.preventDefault(),T.value=b.trim().substring(0,2),x(T.value);return}const W=e.viewMode==="hour"?e.ampm?12:23:59;if(ze(b)>W){v.preventDefault(),T.value=Fe(String(ze(v.data)).substring(0,2)),x(T.value);return}}const O=f(b);E(O)&&v.preventDefault()}}const B=Z(),y=Z(),V=Z();ce(()=>e.viewMode,(f,E)=>{switch(E){case"hour":B.value.blur();break;case"minute":y.value.blur();break;case"second":V.value.blur();break}});const w=S(s.out,f=>s.in(f)===l.value,f=>l.value=f),I=S(u.out,f=>u.in(f)===o.value,f=>o.value=f),M=S(u.out,f=>u.in(f)===m.value,f=>m.value=f);return Ve(()=>c("div",{class:"v-time-picker-controls"},[c("div",{class:ge({"v-time-picker-controls__time":!0,"v-time-picker-controls__time--with-ampm":e.ampm,"v-time-picker-controls__time--with-seconds":e.useSeconds})},[r(rt,{ref:B,active:e.viewMode==="hour",color:e.color,disabled:e.disabled,label:a("$vuetify.timePicker.hour"),modelValue:l.value,"onUpdate:modelValue":f=>l.value=f,onKeydown:g,onBeforeinput:w,onFocus:()=>n("update:viewMode","hour")},null),c("span",{class:"v-time-picker-controls__time__separator"},[D(":")]),r(rt,{ref:y,active:e.viewMode==="minute",color:e.color,disabled:e.disabled,label:a("$vuetify.timePicker.minute"),modelValue:o.value,"onUpdate:modelValue":f=>o.value=f,onKeydown:p,onBeforeinput:I,onFocus:()=>n("update:viewMode","minute")},null),e.useSeconds&&c("span",{key:"secondsDivider",class:"v-time-picker-controls__time__separator"},[D(":")]),e.useSeconds&&r(rt,{key:"secondsVal",ref:V,active:e.viewMode==="second",color:e.color,disabled:e.disabled,label:a("$vuetify.timePicker.second"),modelValue:m.value,"onUpdate:modelValue":f=>m.value=f,onKeydown:_,onBeforeinput:M,onFocus:()=>n("update:viewMode","second")},null),e.ampm&&c("div",{class:"v-time-picker-controls__ampm"},[r(Y,{active:e.period==="am",color:e.period==="am"?e.color:void 0,class:ge({"v-time-picker-controls__ampm__am":!0,"v-time-picker-controls__ampm__btn":!0,"v-time-picker-controls__ampm__btn__active":e.period==="am"}),disabled:e.disabled,text:a("$vuetify.timePicker.am"),variant:e.disabled&&e.period==="am"?"elevated":"tonal",onClick:()=>e.period!=="am"?n("update:period","am"):null},null),r(Y,{active:e.period==="pm",color:e.period==="pm"?e.color:void 0,class:ge({"v-time-picker-controls__ampm__pm":!0,"v-time-picker-controls__ampm__btn":!0,"v-time-picker-controls__ampm__btn__active":e.period==="pm"}),disabled:e.disabled,text:a("$vuetify.timePicker.pm"),variant:e.disabled&&e.period==="pm"?"elevated":"tonal",onClick:()=>e.period!=="pm"?n("update:period","pm"):null},null)])])])),{}}}),Ja=Ge(24),$t=Ge(12),Ka=$t.map(e=>e+12);Ge(60);const qa=ye({allowedHours:[Function,Array],allowedMinutes:[Function,Array],allowedSeconds:[Function,Array],disabled:Boolean,format:{type:String,default:"ampm"},max:String,min:String,viewMode:{type:String,default:"hour"},period:{type:String,default:"am",validator:e=>["am","pm"].includes(e)},modelValue:null,readonly:Boolean,scrollable:Boolean,useSeconds:Boolean,variant:{type:String,default:"dial"},...Me(mt({title:"$vuetify.timePicker.title"}),["landscape"]),...ca()},"VTimePicker"),Nt=Ce()({name:"VTimePicker",props:qa(),emits:{"update:hour":e=>!0,"update:minute":e=>!0,"update:period":e=>!0,"update:second":e=>!0,"update:modelValue":e=>!0,"update:viewMode":e=>!0},setup(e,t){let{emit:n,slots:i}=t;const{t:a}=je(),{densityClasses:s}=ua(e),l=Z(null),u=Z(null),o=Z(null),m=Z(null),g=Z(null),p=Z(null),_=le(e,"period","am"),S=le(e,"viewMode","hour"),B=Z(null),y=Z(null),V=N(()=>{let b;if(e.allowedHours instanceof Array?b=P=>e.allowedHours.includes(P):b=e.allowedHours,!e.min&&!e.max)return b;const O=e.min?Number(e.min.split(":")[0]):0,W=e.max?Number(e.max.split(":")[0]):23;return P=>P>=Number(O)&&P<=Number(W)&&(!b||b(P))}),w=N(()=>{let b;const O=!V.value||l.value===null||V.value(l.value);if(e.allowedMinutes instanceof Array?b=k=>e.allowedMinutes.includes(k):b=e.allowedMinutes,!e.min&&!e.max)return O?b:()=>!1;const[W,P]=e.min?e.min.split(":").map(Number):[0,0],[te,H]=e.max?e.max.split(":").map(Number):[23,59],ke=W*60+Number(P),_e=te*60+Number(H);return k=>{const A=60*l.value+k;return A>=ke&&A<=_e&&O&&(!b||b(k))}}),I=N(()=>{let b;const W=(!V.value||l.value===null||V.value(l.value))&&(!w.value||u.value===null||w.value(u.value));if(e.allowedSeconds instanceof Array?b=ae=>e.allowedSeconds.includes(ae):b=e.allowedSeconds,!e.min&&!e.max)return W?b:()=>!1;const[P,te,H]=e.min?e.min.split(":").map(Number):[0,0,0],[ke,_e,k]=e.max?e.max.split(":").map(Number):[23,59,59],A=P*3600+te*60+Number(H||0),R=ke*3600+_e*60+Number(k||0);return ae=>{const C=3600*l.value+60*u.value+ae;return C>=A&&C<=R&&W&&(!b||b(ae))}}),M=N(()=>e.format==="ampm"),f=Ne(()=>e.modelValue!==null&&l.value===null&&u.value===null&&(!e.useSeconds||o.value===null));function E(){const b=x();b!==null&&b!==e.modelValue&&n("update:modelValue",b),f.value&&n("update:modelValue",null)}ce(l,E),ce(u,E),ce(o,E),ce(()=>e.period,b=>L(b)),ce(()=>e.modelValue,b=>v(b)),ce(()=>e.useSeconds,(b,O)=>{O&&!b&&S.value==="second"&&(S.value="minute"),!b&&o.value!==null&&(o.value=null)}),da(()=>{v(e.modelValue)});function x(){return l.value!=null&&u.value!=null&&(!e.useSeconds||o.value!=null)?`${Fe(l.value)}:${Fe(u.value)}`+(e.useSeconds?`:${Fe(o.value)}`:""):null}function v(b){if(b==null||b==="")l.value=null,u.value=null,o.value=null;else if(b instanceof Date)l.value=b.getHours(),u.value=b.getMinutes(),o.value=b.getSeconds();else{const[O,,W,,P,te]=b.trim().toLowerCase().match(/^(\d+):(\d+)(:(\d+))?([ap]m)?$/)||new Array(6);l.value=te?ut(parseInt(O,10),te):parseInt(O,10),u.value=parseInt(W,10),o.value=parseInt(P||0,10)}_.value=l.value==null||l.value<12?"am":"pm"}function T(b,O){const W=V.value;if(!W)return O;const P=M.value?O<12?$t:Ka:Ja;return((P.find(H=>W((H+O)%P.length+P[0]))||0)+O)%P.length+P[0]}function L(b){if(_.value=b,l.value!=null){const O=l.value+(_.value==="am"?-12:12);l.value=T("hour",O)}return n("update:period",b),E(),!0}function $(b){S.value==="hour"?l.value=M.value?ut(b,_.value):b:S.value==="minute"?u.value=b:o.value=b}function G(b){switch(S.value||"hour"){case"hour":n("update:hour",b);break;case"minute":n("update:minute",b);break;case"second":n("update:second",b);break}const O=l.value!==null&&u.value!==null&&(e.useSeconds?o.value!==null:!0);S.value==="hour"?S.value="minute":e.useSeconds&&S.value==="minute"&&(S.value="second"),!(l.value===m.value&&u.value===g.value&&(!e.useSeconds||o.value===p.value)||x()===null)&&(m.value=l.value,g.value=u.value,e.useSeconds&&(p.value=o.value),O&&E())}Ve(()=>{const b=Me(at.filterProps(e),["hideHeader"]),O=Pt.filterProps(e),W=_t.filterProps(Me(e,["format","modelValue","min","max"]));return r(at,q(b,{color:void 0,class:["v-time-picker",`v-time-picker--variant-${e.variant}`,e.class,s.value],hideHeader:e.hideHeader&&e.variant!=="input",style:e.style}),{title:()=>{var P;return((P=i.title)==null?void 0:P.call(i))??c("div",{class:"v-time-picker__title"},[a(e.title)])},header:()=>r(Pt,q(O,{ampm:M.value,hour:l.value,minute:u.value,period:_.value,second:o.value,viewMode:S.value,"onUpdate:hour":P=>l.value=P,"onUpdate:minute":P=>u.value=P,"onUpdate:period":P=>L(P),"onUpdate:second":P=>o.value=P,"onUpdate:viewMode":P=>S.value=P,ref:B}),null),default:()=>r(_t,q(W,{allowedValues:S.value==="hour"?V.value:S.value==="minute"?w.value:I.value,double:S.value==="hour"&&!M.value,format:S.value==="hour"?M.value?jt:P=>P:P=>Fe(P,2),max:S.value==="hour"?M.value&&_.value==="am"?11:23:59,min:S.value==="hour"&&M.value&&_.value==="pm"?12:0,size:20,step:S.value==="hour"?1:5,modelValue:S.value==="hour"?l.value:S.value==="minute"?u.value:o.value,onChange:G,onInput:$,ref:y}),null),actions:i.actions})})}}),Ga={name:"ExamConfigEditor",props:{configId:{type:String,required:!0},dialogMode:{type:Boolean,default:!1}},emits:["saved","error","opened","deleted"],data(){return{localConfig:{examName:"",message:"",room:"",examInfos:[]},loading:!1,saving:!1,deleting:!1,deleteDialog:!1,error:"",success:"",isEditMode:!1,showJsonPreview:!1,availableSubjects:[],customSubjectInput:"",enableCustomAlertTime:!1,defaultExamTips:["请保持卷面整洁,字迹清晰,诚信应考。在听到终考铃时立刻起立,停止作答。","沉着 冷静 细心 守记","答题不守记,自己两行泪。"]}},computed:{formattedJson(){try{return JSON.stringify(this.localConfig,null,2)}catch(e){return console.error("格式化JSON时出错:",e),"无效的JSON格式"}},formattedStorageJson(){try{const e={examName:this.localConfig.examName,message:this.localConfig.message,room:this.localConfig.room,examInfos:this.localConfig.examInfos.map(t=>({name:t.name,start:this.formatDisplayDateTime(t.start),end:this.formatDisplayDateTime(t.end),alertTime:parseInt(t.alertTime)||15}))};return JSON.stringify(e,null,2)}catch(e){return console.error("格式化存储JSON时出错:",e),"无效的JSON格式"}},isValidConfig(){return this.localConfig.examName&&this.localConfig.message&&this.localConfig.examInfos&&this.localConfig.examInfos.length>0&&this.localConfig.examInfos.every(e=>e.name&&e.start&&e.end)},validationErrors(){const e=[];if((!this.localConfig.examName||this.localConfig.examName.trim()==="")&&e.push("考试名称不能为空"),(!this.localConfig.message||this.localConfig.message.trim()==="")&&e.push("考试提示不能为空"),!this.localConfig.examInfos||this.localConfig.examInfos.length===0)e.push("至少需要添加一个考试科目");else{this.localConfig.examInfos.forEach((t,n)=>{const i=`第${n+1}个科目`;if((!t.name||t.name.trim()==="")&&e.push(`${i}的名称不能为空`),t.start||e.push(`${i}的开始时间不能为空`),t.end||e.push(`${i}的结束时间不能为空`),t.start&&t.end){const a=new Date(t.start),s=new Date(t.end);isNaN(a.getTime())&&e.push(`${i}的开始时间格式不正确`),isNaN(s.getTime())&&e.push(`${i}的结束时间格式不正确`),!isNaN(a.getTime())&&!isNaN(s.getTime())&&(s<=a&&e.push(`${i}的结束时间必须晚于开始时间`),(s-a)/(1e3*60*60)>24&&e.push(`${i}的考试时长不能超过24小时`))}});for(let t=0;tu&&e.push(`第${t+1}个科目与第${n+1}个科目的时间有重叠`)}}}return e},hasValidationErrors(){return this.validationErrors.length>0}},watch:{configId:{immediate:!0,handler(e){e&&this.loadConfig()}}},created(){this.loadSubjects()},methods:{async loadSubjects(){try{const e=await Be.loadData("classworks-config-subject");e&&Array.isArray(e)?this.availableSubjects=e.sort((t,n)=>(t.order??0)-(n.order??0)).map(t=>({name:t.name,order:t.order??0})):this.availableSubjects=[{name:"语文",order:0},{name:"数学",order:1},{name:"英语",order:2},{name:"物理",order:3},{name:"化学",order:4},{name:"生物",order:5},{name:"政治",order:6},{name:"历史",order:7},{name:"地理",order:8}]}catch(e){console.warn("加载科目列表失败,使用默认列表:",e),this.availableSubjects=[{name:"语文",order:0},{name:"数学",order:1},{name:"英语",order:2},{name:"物理",order:3},{name:"化学",order:4},{name:"生物",order:5},{name:"政治",order:6},{name:"历史",order:7},{name:"地理",order:8}]}},autoFillRemaining(){if(this.localConfig.examInfos.length===0)return;let e=null;for(let t=this.localConfig.examInfos.length-1;t>=0;t--)if(this.localConfig.examInfos[t].end){e=new Date(this.localConfig.examInfos[t].end);break}e||(e=new Date);for(let t=0;t12)return`${t}月份不合法(1-12)`;if(g<1||g>31)return`${t}日期不合法(1-31)`;if(p<0||p>23)return`${t}小时不合法(0-23)`;if(_<0||_>59)return`${t}分钟不合法(0-59)`;const S=new Date(o,m-1,g,p,_);return isNaN(S.getTime())?`${t}日期不存在`:S.getMonth()!==m-1||S.getDate()!==g?`${t}日期不存在`:!0},validateEndAfterStart(e){if(!e.startFormatted||!e.endFormatted)return!0;try{const t=new Date(e.start||e.startFormatted.replace(/\//g,"-")),n=new Date(e.end||e.endFormatted.replace(/\//g,"-"));return isNaN(t.getTime())||isNaN(n.getTime())?!0:n<=t?"结束时间必须晚于开始时间":(n.getTime()-t.getTime())/(1e3*60*60)>24?"考试时长不能超过24小时":!0}catch{return!0}},validateNoTimeOverlap(e,t){if(!e.startFormatted||!e.endFormatted)return!0;try{const n=new Date(e.start||e.startFormatted.replace(/\//g,"-")),i=new Date(e.end||e.endFormatted.replace(/\//g,"-"));if(isNaN(n.getTime())||isNaN(i.getTime()))return!0;for(let a=0;a=l&&nl&&i<=u||n<=l&&i>=u)return`时间与"${s.name||`第${a+1}个科目`}"重叠`}return!0}catch{return!0}},toggleAlertTimeMode(){this.enableCustomAlertTime||this.localConfig.examInfos.forEach(e=>{e.alertTime=15})},getExamDuration(e){if(!e.start||!e.end)return"";try{const t=new Date(e.start),n=new Date(e.end);if(isNaN(t.getTime())||isNaN(n.getTime()))return"";const i=n.getTime()-t.getTime(),a=Math.round(i/(1e3*60));if(a<60)return`${a}分钟`;const s=Math.floor(a/60),l=a%60;return l===0?`${s}小时`:`${s}小时${l}分钟`}catch{return""}},updateStartDateTimeFromInput(e){if(e===void 0||!this.localConfig.examInfos[e])return;const t=this.localConfig.examInfos[e],n=t.startFormatted;if(!n)return;const i=n.match(/(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})\s+(\d{1,2}):(\d{1,2})/);if(!i)return;const[,a,s,l,u,o]=i,m=new Date(parseInt(a),parseInt(s)-1,parseInt(l),parseInt(u),parseInt(o));isNaN(m.getTime())||(t.startDate=m,t.startTime=this.formatTimeOnly(m),t.start=this.formatDateTimeLocal(m),this.updateStartDateTime(e))},updateEndDateTimeFromInput(e){if(e===void 0||!this.localConfig.examInfos[e])return;const t=this.localConfig.examInfos[e],n=t.endFormatted;if(!n)return;const i=n.match(/(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})\s+(\d{1,2}):(\d{1,2})/);if(!i)return;const[,a,s,l,u,o]=i,m=new Date(parseInt(a),parseInt(s)-1,parseInt(l),parseInt(u),parseInt(o));isNaN(m.getTime())||(t.endDate=m,t.endTime=this.formatTimeOnly(m),t.end=this.formatDateTimeLocal(m),this.updateEndDateTime(e))},async loadConfig(){var e;this.loading=!0,this.error="";try{const t=await Be.loadData(`es_${this.configId}`);if(t){this.localConfig={examName:"",message:"",room:"",examInfos:[],...t},Array.isArray(this.localConfig.examInfos)||(this.localConfig.examInfos=[]),this.localConfig.examInfos.forEach(i=>{if(i.start){const a=this.parseDateTime(i.start);i.start=this.formatDateTimeLocal(a),i.startDate=a,i.startTime=this.formatTimeOnly(a),i.startFormatted=this.formatDisplayDateTime(a),i.startDateMenu=!1}if(i.end){const a=this.parseDateTime(i.end);i.end=this.formatDateTimeLocal(a),i.endDate=a,i.endTime=this.formatTimeOnly(a),i.endFormatted=this.formatDisplayDateTime(a),i.endDateMenu=!1}try{if(i.start&&i.end){const a=new Date(i.start),s=new Date(i.end),l=Math.round((s.getTime()-a.getTime())/(1e3*60));l>0&&l<=24*60?i.durationMinutes=l:i.durationMinutes=120}else i.durationMinutes=120}catch{i.durationMinutes=120}i.alertTime===void 0||i.alertTime===null?i.alertTime=15:i.alertTime=parseInt(i.alertTime)||15});const n=this.localConfig.examInfos.some(i=>i.alertTime!==15);this.enableCustomAlertTime=n}else console.error("加载配置失败:",t),this.error="加载配置失败: "+(((e=t.error)==null?void 0:e.message)||"未知错误"),this.$emit("error",this.error)}catch(t){console.error(t),this.error="加载配置失败: "+t.message,this.$emit("error",this.error)}finally{this.loading=!1}},async saveConfig(){var e;if(!this.isValidConfig){const t=this.validationErrors;return t.length>0?this.error=`配置验证失败:${t.join(";")}`:this.error="请填写完整的配置信息",!1}this.saving=!0,this.error="";try{const t={examName:this.localConfig.examName,message:this.localConfig.message,room:this.localConfig.room,examInfos:this.localConfig.examInfos.map(i=>({name:i.name,start:this.formatDisplayDateTime(i.start),end:this.formatDisplayDateTime(i.end),alertTime:parseInt(i.alertTime)||15}))},n=await Be.saveData(`es_${this.configId}`,t);return n?(this.success="配置保存成功",this.$emit("saved",t),!0):(this.error="保存配置失败: "+(((e=n.error)==null?void 0:e.message)||"未知错误"),this.$emit("error",this.error),!1)}catch(t){return this.error="保存配置失败: "+t,this.$emit("error",this.error),!1}finally{this.saving=!1}},addExamInfo(){let e=new Date;if(this.localConfig.examInfos.length>0){const a=this.localConfig.examInfos[this.localConfig.examInfos.length-1];a.end&&(e=new Date(a.end))}const t=new Date(e.getTime()+10*60*1e3),n=new Date(t.getTime()+2*60*60*1e3),i={name:"",start:this.formatDateTimeLocal(t),end:this.formatDateTimeLocal(n),durationMinutes:120,alertTime:15,startDate:t,startTime:this.formatTimeOnly(t),startFormatted:this.formatDisplayDateTime(t),startDateMenu:!1,endDate:n,endTime:this.formatTimeOnly(n),endFormatted:this.formatDisplayDateTime(n),endDateMenu:!1};this.localConfig.examInfos.push(i)},removeExamInfo(e){this.localConfig.examInfos.splice(e,1)},moveExamInfo(e,t){const n=e+t;if(n>=0&&n24*60&&(n=24*60),t.durationMinutes=n,(!t.startDate||!t.startTime)&&t.start){const i=new Date(t.start);isNaN(i.getTime())||(t.startDate=i,t.startTime=this.formatTimeOnly(i))}if(t.startDate&&t.startTime){const i=new Date(t.startDate),[a,s]=String(t.startTime).split(":");i.setHours(parseInt(a),parseInt(s),0,0);const l=new Date(i.getTime()+n*60*1e3);t.endDate=l,t.endTime=this.formatTimeOnly(l),t.end=this.formatDateTimeLocal(l),t.endFormatted=this.formatDisplayDateTime(l)}},formatDateTimeLocal(e){if(!e)return"";let t;if(typeof e=="string"?e.includes("/")?t=new Date(e.replace(/\//g,"-")):t=new Date(e):t=new Date(e),isNaN(t.getTime()))return"";const n=t.getFullYear(),i=String(t.getMonth()+1).padStart(2,"0"),a=String(t.getDate()).padStart(2,"0"),s=String(t.getHours()).padStart(2,"0"),l=String(t.getMinutes()).padStart(2,"0");return`${n}-${i}-${a}T${s}:${l}`},formatDisplayDateTime(e){if(!e)return"";const t=new Date(e);if(isNaN(t.getTime()))return e;const n=t.getFullYear(),i=String(t.getMonth()+1).padStart(2,"0"),a=String(t.getDate()).padStart(2,"0"),s=String(t.getHours()).padStart(2,"0"),l=String(t.getMinutes()).padStart(2,"0");return`${n}/${i}/${a} ${s}:${l}`},parseDateTime(e){return e?typeof e=="string"?e.includes("/")?new Date(e.replace(/\//g,"-")):new Date(e):new Date(e):new Date},formatTimeOnly(e){if(!e)return"00:00";const t=new Date(e);if(isNaN(t.getTime()))return"00:00";const n=String(t.getHours()).padStart(2,"0"),i=String(t.getMinutes()).padStart(2,"0");return`${n}:${i}`},updateStartDateTime(e){const t=this.localConfig.examInfos[e];if(!t.startDate||!t.startTime)return;const n=new Date(t.startDate),[i,a]=t.startTime.split(":");n.setHours(parseInt(i),parseInt(a),0,0),t.start=this.formatDateTimeLocal(n),t.startFormatted=this.formatDisplayDateTime(n);let s=parseInt(t.durationMinutes);if(isNaN(s)||s<=0||s>24*60)try{let u=null;if(t.endDate&&t.endTime){u=new Date(t.endDate);const[o,m]=String(t.endTime).split(":");u.setHours(parseInt(o),parseInt(m),0,0)}else t.end&&(u=new Date(t.end));if(u&&!isNaN(u.getTime())){const o=Math.round((u.getTime()-n.getTime())/6e4);o>0&&o<=24*60&&(s=o)}}catch{}(isNaN(s)||s<=0||s>24*60)&&(s=120);const l=new Date(n.getTime()+s*60*1e3);t.endDate=l,t.endTime=this.formatTimeOnly(l),t.end=this.formatDateTimeLocal(l),t.endFormatted=this.formatDisplayDateTime(l),t.durationMinutes=s},updateEndDateTime(e){const t=this.localConfig.examInfos[e];if(!t.endDate||!t.endTime)return;const n=new Date(t.endDate),[i,a]=t.endTime.split(":");n.setHours(parseInt(i),parseInt(a),0,0),t.end=this.formatDateTimeLocal(n),t.endFormatted=this.formatDisplayDateTime(n);try{if(t.startDate&&t.startTime){const s=new Date(t.startDate),[l,u]=String(t.startTime).split(":");s.setHours(parseInt(l),parseInt(u),0,0);const o=Math.round((n.getTime()-s.getTime())/(1e3*60));o>0&&o<=24*60&&(t.durationMinutes=o)}}catch{}},async openConfig(){try{const e=await Be.getKeyCloudUrl(`es_${this.configId}`,{autoMigrate:!0,autoConfig:!0});if(e.success&&e.url){const t=`https://es.examaware.tech/exam/?configUrl=${encodeURIComponent(e.url)}`;window.open(t,"_blank"),this.success="配置已在新窗口中打开",this.$emit("opened",{configId:this.configId,url:e.url})}else throw new Error(e.error||"获取云端地址失败")}catch(e){this.error="打开配置失败: "+e.message,this.$emit("error","打开配置失败: "+e.message)}},confirmDelete(){this.deleteDialog=!0},async deleteConfig(){this.deleting=!0;try{const n=(await Be.loadData("es_list")||[]).filter(a=>a.id!==this.configId);if(!await Be.saveData("es_list",n))throw new Error("更新云端列表失败");this.deleteDialog=!1,this.$emit("deleted",{success:!0,message:"配置删除成功",configId:this.configId})}catch(e){console.error("删除配置失败:",e),this.$emit("deleted",{success:!1,message:"删除失败: "+e.message})}finally{this.deleting=!1}},openInEa2Player(){var e;try{const t={examName:this.localConfig.examName,message:this.localConfig.message,room:this.localConfig.room,examInfos:this.localConfig.examInfos.map(s=>({name:s.name,start:this.formatDisplayDateTime(s.start),end:this.formatDisplayDateTime(s.end),alertTime:parseInt(s.alertTime)||15}))},n=JSON.stringify(t),i=btoa(unescape(encodeURIComponent(n))),a=`examaware://player?data=${encodeURIComponent(i)}`;window.location.href=a,(e=this.$message)==null||e.success("正在拉起 ExamAware2 播放器...")}catch(t){this.error="拉起播放器失败: "+t.message}}}},Xa={class:"d-flex align-center"},Za={class:"d-flex align-center"},Qa={key:4,class:"d-flex justify-space-between align-center mb-4"},el={class:"d-flex align-center gap-2"},tl={key:5},al={class:"mb-8"},ll={class:"text-h3 font-weight-bold",style:{"line-height":"1.2"}},nl={class:"text-subtitle-1 text-grey",style:{"white-space":"pre-wrap","line-height":"1.8"}},il={key:0,class:"mb-8"},rl={class:"d-flex align-center"},ol={class:""},sl={class:"mb-3"},ul={class:"d-flex align-center mb-1"},dl={class:"text-h6 font-weight-medium text-success"},cl={class:"d-flex align-center mb-1"},ml={class:"text-h6 font-weight-medium text-error"},fl={key:1,class:"text-center py-12"},vl={class:"json-preview"},hl={key:6},gl={class:"text-subtitle-2 font-weight-bold d-block mb-2"},yl={key:0,class:"mt-3"},kl={class:"text-caption text-medium-emphasis mt-2 ml-2"},bl={class:"d-flex align-center mr-4"},pl={class:"w-100"},wl={class:"d-flex align-center mb-3"},Dl={class:"d-flex gap-1"},Cl={class:"text-primary font-weight-bold"},Vl={key:1,class:"text-center py-12"};function xl(e,t,n,i,a,s){return j(),pe("div",null,[a.error?(j(),re(it,{key:0,border:"start",class:"mb-4 mt-3 mx-2",closable:"",type:"error",variant:"tonal","onClick:close":t[0]||(t[0]=l=>a.error="")},{default:d(()=>[c("div",Xa,[r(K,{class:"mr-2"},{default:d(()=>[...t[10]||(t[10]=[D("mdi-alert-circle",-1)])]),_:1}),D(" "+se(a.error),1)])]),_:1})):ue("",!0),a.success?(j(),re(it,{key:1,border:"start",class:"mb-4 mt-3 mx-2",closable:"",type:"success",variant:"tonal","onClick:close":t[1]||(t[1]=l=>a.success="")},{default:d(()=>[c("div",Za,[r(K,{class:"mr-2"},{default:d(()=>[...t[11]||(t[11]=[D("mdi-check-circle",-1)])]),_:1}),D(" "+se(a.success),1)])]),_:1})):ue("",!0),s.hasValidationErrors&&!a.loading?(j(),re(it,{key:2,border:"start",class:"mb-4 mt-3 mx-2",type:"warning",variant:"tonal"},{default:d(()=>[t[13]||(t[13]=c("div",{class:"d-flex align-center"},[c("span",{class:"font-weight-bold"},"配置验证失败,请检查以下问题:")],-1)),r(ot,{class:"bg-transparent",density:"compact"},{default:d(()=>[(j(!0),pe(De,null,Qe(s.validationErrors,(l,u)=>(j(),re(We,{key:u,class:"px-0 py-0"},{prepend:d(()=>[r(K,{color:"warning",size:"small"},{default:d(()=>[...t[12]||(t[12]=[D("mdi-circle-small",-1)])]),_:1})]),default:d(()=>[r(fa,{class:"text-body-2"},{default:d(()=>[D(se(l),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})):ue("",!0),a.loading?(j(),re(Pe,{key:3,class:"my-4",outlined:""},{default:d(()=>[r(Oe,null,{default:d(()=>[r(ba,{class:"mx-auto",type:"article"})]),_:1})]),_:1})):ue("",!0),a.loading?ue("",!0):(j(),pe("div",Qa,[c("div",el,[r(Y,{disabled:!s.isValidConfig,class:"text-none",color:"success","prepend-icon":"mdi-open-in-new",variant:"elevated",onClick:s.openConfig},{default:d(()=>[...t[14]||(t[14]=[D(" 打开 ExamSchedule ",-1)])]),_:1},8,["disabled","onClick"]),r(Y,{disabled:!s.isValidConfig,class:"text-none",color:"primary","prepend-icon":"mdi-link-variant",variant:"elevated",onClick:s.copyConfigUrl},{default:d(()=>[...t[15]||(t[15]=[D(" 复制远程链接 ",-1)])]),_:1},8,["disabled","onClick"]),r(Y,{disabled:!s.isValidConfig,class:"text-none",color:"primary","prepend-icon":"mdi-download",variant:"elevated",onClick:s.downloadAsJson},{default:d(()=>[...t[16]||(t[16]=[D(" JSON 文件 ",-1)])]),_:1},8,["disabled","onClick"]),r(Y,{disabled:!s.isValidConfig,class:"text-none",color:"primary","prepend-icon":"mdi-download",variant:"elevated",onClick:s.downloadAsEa2},{default:d(()=>[...t[17]||(t[17]=[D(" .ea2 文件 ",-1)])]),_:1},8,["disabled","onClick"]),r(Y,{disabled:!s.isValidConfig,class:"text-none",color:"secondary","prepend-icon":"mdi-play-circle",variant:"elevated",onClick:s.openInEa2Player},{default:d(()=>[...t[18]||(t[18]=[D(" 拉起EA2播放器 ",-1)])]),_:1},8,["disabled","onClick"]),s.isValidConfig?ue("",!0):(j(),re(et,{key:0,activator:"parent",location:"bottom"},{default:d(()=>[...t[19]||(t[19]=[c("span",null,"请先完善配置信息后再操作",-1)])]),_:1}))]),r(va,{modelValue:a.isEditMode,"onUpdate:modelValue":t[2]||(t[2]=l=>a.isEditMode=l),color:"primary",divided:"",variant:"outlined"},{default:d(()=>[r(Y,{class:"text-error","prepend-icon":"mdi-delete",onClick:s.confirmDelete},{default:d(()=>[...t[20]||(t[20]=[D(" 删除配置 ",-1)])]),_:1},8,["onClick"]),r(Y,{value:!1,"prepend-icon":"mdi-eye"},{default:d(()=>[...t[21]||(t[21]=[D(" 预览",-1)])]),_:1}),r(Y,{value:!0,"prepend-icon":"mdi-pencil"},{default:d(()=>[...t[22]||(t[22]=[D(" 编辑",-1)])]),_:1})]),_:1},8,["modelValue"])])),!a.loading&&!a.isEditMode?(j(),pe("div",tl,[c("div",al,[c("div",ll,se(a.localConfig.examName||"未设置考试名称"),1),c("div",nl,se(a.localConfig.message||"未设置考试提示"),1),a.localConfig.room?(j(),re(Je,{key:0,class:"px-4 py-2",size:"large"},{default:d(()=>[r(K,{start:""},{default:d(()=>[...t[23]||(t[23]=[D("mdi-home",-1)])]),_:1}),D(" 考场:"+se(a.localConfig.room),1)]),_:1})):ue("",!0)]),a.localConfig.examInfos&&a.localConfig.examInfos.length>0?(j(),pe("div",il,[r(He,null,{default:d(()=>[(j(!0),pe(De,null,Qe(a.localConfig.examInfos,(l,u)=>(j(),re(he,{key:u,cols:"12",lg:"4",md:"6"},{default:d(()=>[r(Pe,{class:"h-100",hover:"",variant:"tonal"},{default:d(()=>[r(Le,{class:"bg-primary-lighten-5 pa-4"},{default:d(()=>[c("div",rl,[r(K,{class:"mr-2"},{default:d(()=>[...t[24]||(t[24]=[D("mdi-book-open-page-variant",-1)])]),_:1}),c("span",ol,se(l.name||"未设置科目"),1)])]),_:2},1024),r(Oe,{class:"pa-4"},{default:d(()=>[c("div",sl,[c("div",ul,[r(K,{class:"mr-2",color:"success",size:"small"},{default:d(()=>[...t[25]||(t[25]=[D("mdi-clock-start ",-1)])]),_:1}),t[26]||(t[26]=c("span",{class:"text-body-2 text-grey-darken-1"},"开始时间",-1))]),c("div",dl,se(l.startFormatted||l.start||"未设置"),1)]),c("div",null,[c("div",cl,[r(K,{class:"mr-2",color:"error",size:"small"},{default:d(()=>[...t[27]||(t[27]=[D("mdi-clock-end ",-1)])]),_:1}),t[28]||(t[28]=c("span",{class:"text-body-2 text-grey-darken-1"},"结束时间",-1))]),c("div",ml,se(l.endFormatted||l.end||"未设置"),1)])]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1})])):(j(),pe("div",fl,[r(K,{class:"mb-4",color:"grey-lighten-2",size:"80"},{default:d(()=>[...t[29]||(t[29]=[D(" mdi-calendar-blank ",-1)])]),_:1}),t[32]||(t[32]=c("div",{class:"text-h5 text-grey-darken-1 mb-2"},"暂无考试科目安排",-1)),t[33]||(t[33]=c("div",{class:"text-body-1 text-grey mb-4"},' 点击上方"添加科目"按钮开始配置考试时间表 ',-1)),r(Y,{color:"primary",variant:"outlined",onClick:s.quickEdit},{default:d(()=>[r(K,{start:""},{default:d(()=>[...t[30]||(t[30]=[D("mdi-plus",-1)])]),_:1}),t[31]||(t[31]=D(" 立即添加 ",-1))]),_:1},8,["onClick"])])),r(Pe,{border:"",class:"mb-4",elevation:"2"},{default:d(()=>[r(Le,{class:"d-flex align-center text-white cursor-pointer",onClick:t[3]||(t[3]=l=>a.showJsonPreview=!a.showJsonPreview)},{default:d(()=>[r(K,{class:"mr-2"},{default:d(()=>[...t[34]||(t[34]=[D("mdi-code-json",-1)])]),_:1}),t[36]||(t[36]=D(" 配置预览 ",-1)),r(Ye),r(Y,{color:"white","prepend-icon":"mdi-content-copy",size:"small",variant:"outlined",onClick:ha(s.copyToClipboard,["stop"])},{default:d(()=>[...t[35]||(t[35]=[D(" 复制 ",-1)])]),_:1},8,["onClick"]),r(Y,{icon:a.showJsonPreview?"mdi-chevron-up":"mdi-chevron-down",class:"ml-2",color:"white",size:"small",variant:"text"},null,8,["icon"])]),_:1}),r(ga,null,{default:d(()=>[Yt(r(Oe,{class:"pa-4"},{default:d(()=>[r(Pe,{class:"pa-4",variant:"tonal"},{default:d(()=>[c("pre",vl,[c("code",null,se(s.formattedStorageJson),1)])]),_:1})]),_:1},512),[[ya,a.showJsonPreview]])]),_:1})]),_:1})])):ue("",!0),!a.loading&&a.isEditMode?(j(),pe("div",hl,[r(Pe,{border:"",class:"mb-4",elevation:"1"},{default:d(()=>[r(Le,{class:"d-flex align-center bg-primary-lighten-5 pa-4"},{default:d(()=>[r(K,{class:"mr-2"},{default:d(()=>[...t[37]||(t[37]=[D("mdi-information",-1)])]),_:1}),t[38]||(t[38]=c("span",{class:"font-weight-bold"},"基本信息",-1))]),_:1}),r(Oe,{class:"pa-6"},{default:d(()=>[r(He,null,{default:d(()=>[r(he,{cols:"12",md:"6"},{default:d(()=>[r(Ae,{modelValue:a.localConfig.examName,"onUpdate:modelValue":t[4]||(t[4]=l=>a.localConfig.examName=l),rules:[l=>!!l||"考试名称不能为空",l=>l&&l.trim().length>0||"考试名称不能为空白字符",l=>!l||l.length<=100||"考试名称不能超过100个字符"],clearable:"",density:"comfortable",label:"考试名称",placeholder:"如:2025年高考模拟考试","prepend-inner-icon":"mdi-calendar-text",required:"",variant:"outlined"},null,8,["modelValue","rules"])]),_:1}),r(he,{cols:"12",md:"6"},{default:d(()=>[r(Ae,{modelValue:a.localConfig.room,"onUpdate:modelValue":t[5]||(t[5]=l=>a.localConfig.room=l),clearable:"",density:"comfortable",label:"考场号(仅 ExamSchedule-Management 支持此配置)",placeholder:"如:一号考场","prepend-inner-icon":"mdi-home",variant:"outlined"},null,8,["modelValue"])]),_:1})]),_:1}),r(He,null,{default:d(()=>[r(he,{cols:"12"},{default:d(()=>[c("span",gl,[r(K,{size:"small",class:"mr-1"},{default:d(()=>[...t[39]||(t[39]=[D("mdi-message-text",-1)])]),_:1}),t[40]||(t[40]=D(" 考试提示 ",-1))]),r(xa,{modelValue:a.localConfig.message,"onUpdate:modelValue":t[6]||(t[6]=l=>a.localConfig.message=l),rules:[l=>!!l||"考试提示不能为空",l=>l&&l.trim().length>0||"考试提示不能为空白字符"],clearable:"",density:"comfortable",label:"输入考试相关的提示信息...","no-resize":"",placeholder:"例如:请保持卷面整洁,诚信应考。在听到终考铃时立刻停止作答。",rows:"3",variant:"outlined"},null,8,["modelValue","rules"]),!a.localConfig.message||a.localConfig.message.trim()===""?(j(),pe("div",yl,[r(wa,{class:"d-flex gap-2",column:""},{default:d(()=>[(j(!0),pe(De,null,Qe(a.defaultExamTips,(l,u)=>(j(),re(Je,{key:u,class:"cursor-pointer",color:"primary",size:"small",variant:"outlined",onClick:o=>s.selectDefaultTip(l)},{default:d(()=>[r(K,{size:"small",start:""},{default:d(()=>[...t[41]||(t[41]=[D("mdi-plus",-1)])]),_:1}),D(" "+se(l.substring(0,20))+"... ",1)]),_:2},1032,["onClick"]))),128))]),_:1}),c("div",kl,[r(K,{class:"mr-1",size:"x-small"},{default:d(()=>[...t[42]||(t[42]=[D("mdi-lightbulb-outline",-1)])]),_:1}),t[43]||(t[43]=D(" 点击上方选项快速添加常用考试提示 ",-1))])])):ue("",!0)]),_:1})]),_:1})]),_:1})]),_:1}),r(Pe,{border:"",class:"mb-4",elevation:"1"},{default:d(()=>[r(Le,{class:"d-flex align-center bg-success-lighten-5 pa-4"},{default:d(()=>[r(K,{class:"mr-2"},{default:d(()=>[...t[44]||(t[44]=[D("mdi-format-list-bulleted",-1)])]),_:1}),t[47]||(t[47]=c("span",{class:"font-weight-bold"},"考试科目安排",-1)),r(Ye),c("div",bl,[r(Ta,{modelValue:a.enableCustomAlertTime,"onUpdate:modelValue":t[7]||(t[7]=l=>a.enableCustomAlertTime=l),color:"primary",density:"compact","hide-details":"",onChange:s.toggleAlertTimeMode},{label:d(()=>[...t[45]||(t[45]=[c("span",{class:"text-body-2"},"自定义提醒时间",-1)])]),_:1},8,["modelValue","onChange"])]),r(Y,{color:"success","prepend-icon":"mdi-plus",size:"small",variant:"elevated",onClick:s.addExamInfo},{default:d(()=>[...t[46]||(t[46]=[D(" 添加科目 ",-1)])]),_:1},8,["onClick"])]),_:1}),r(Oe,{class:"pa-0"},{default:d(()=>[a.localConfig.examInfos&&a.localConfig.examInfos.length>0?(j(),re(ot,{key:0,class:"py-0"},{default:d(()=>[(j(!0),pe(De,null,Qe(a.localConfig.examInfos,(l,u)=>(j(),re(We,{key:u,class:"border-b pa-4 hover-highlight"},{default:d(()=>[c("div",pl,[c("div",wl,[r(Je,{color:u%2===0?"primary":"secondary",size:"small",variant:"tonal",class:"mr-3"},{default:d(()=>[r(K,{start:"",size:"small"},{default:d(()=>[D("mdi-numeric-"+se(u+1)+"-circle",1)]),_:2},1024),D(" 第 "+se(u+1)+" 科目 ",1)]),_:2},1032,["color"]),r(Ye),c("div",Dl,[u>0?(j(),re(Y,{key:0,color:"primary",icon:"mdi-arrow-up",size:"x-small",variant:"text",onClick:o=>s.moveExamInfo(u,-1)},{default:d(()=>[r(et,{activator:"parent",location:"bottom"},{default:d(()=>[...t[48]||(t[48]=[D("上移",-1)])]),_:1})]),_:1},8,["onClick"])):ue("",!0),us.moveExamInfo(u,1)},{default:d(()=>[r(et,{activator:"parent",location:"bottom"},{default:d(()=>[...t[49]||(t[49]=[D("下移",-1)])]),_:1})]),_:1},8,["onClick"])):ue("",!0),r(Y,{color:"error",icon:"mdi-delete",size:"x-small",variant:"text",onClick:o=>s.removeExamInfo(u)},{default:d(()=>[r(et,{activator:"parent",location:"bottom"},{default:d(()=>[...t[50]||(t[50]=[D("删除",-1)])]),_:1})]),_:1},8,["onClick"])])]),r(He,{class:"align-start"},{default:d(()=>[r(he,{cols:"12",md:"4"},{default:d(()=>[r(Ya,{modelValue:l.name,"onUpdate:modelValue":o=>l.name=o,items:a.availableSubjects,rules:[o=>!!o||"科目名称不能为空",o=>o&&o.trim().length>0||"科目名称不能为空白字符"],clearable:"",density:"comfortable","item-title":"name",label:"科目名称","no-data-text":"没有可用科目,请输入自定义名称","prepend-inner-icon":"mdi-book",variant:"outlined"},{"prepend-item":d(()=>[a.customSubjectInput?(j(),re(We,{key:0,title:"自定义:"},{append:d(()=>[c("span",Cl,se(a.customSubjectInput),1)]),_:1})):ue("",!0),a.customSubjectInput?(j(),re(At,{key:1})):ue("",!0)]),_:1},8,["modelValue","onUpdate:modelValue","items","rules"])]),_:2},1024),r(he,{cols:"12",md:"3"},{default:d(()=>[r(st,{modelValue:l.startDateMenu,"onUpdate:modelValue":o=>l.startDateMenu=o,"close-on-content-click":!1,"min-width":"auto","offset-y":"",transition:"scale-transition"},{activator:d(({props:o})=>[r(Ae,q({modelValue:l.startFormatted,"onUpdate:modelValue":m=>l.startFormatted=m,rules:[m=>!!m||"开始时间不能为空",m=>s.validateTimeFormat(m,"开始时间"),()=>s.validateNoTimeOverlap(l,u)],density:"comfortable",label:"开始时间",placeholder:"2025/01/01 09:00","prepend-inner-icon":"mdi-clock-start"},{ref_for:!0},o,{variant:"outlined",onBlur:m=>s.updateStartDateTimeFromInput(u)}),{append:d(()=>[r(K,null,{default:d(()=>[...t[51]||(t[51]=[D("mdi-calendar-clock",-1)])]),_:1})]),_:1},16,["modelValue","onUpdate:modelValue","rules","onBlur"])]),default:d(()=>[r(Pe,{"min-width":"500"},{default:d(()=>[r(Le,{class:"text-center py-3 bg-primary-lighten-5"},{default:d(()=>[r(K,{class:"mr-2",color:"primary"},{default:d(()=>[...t[52]||(t[52]=[D("mdi-clock-start",-1)])]),_:1}),t[53]||(t[53]=D(" 选择开始时间 ",-1))]),_:1}),r(Oe,{class:"pa-0"},{default:d(()=>[r(He,{"no-gutters":""},{default:d(()=>[r(he,{class:"border-e",cols:"6"},{default:d(()=>[r(Mt,{modelValue:l.startDate,"onUpdate:modelValue":[o=>l.startDate=o,o=>s.updateStartDateTime(u)],color:"primary",elevation:"0",locale:"zh-cn","show-adjacent-months":""},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),r(he,{cols:"6"},{default:d(()=>[r(Nt,{modelValue:l.startTime,"onUpdate:modelValue":[o=>l.startTime=o,o=>s.updateStartDateTime(u)],color:"primary",elevation:"0",format:"24hr",scrollable:""},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)]),_:2},1024)]),_:2},1024),r(nt,null,{default:d(()=>[r(Ye),r(Y,{color:"grey",variant:"text",onClick:o=>l.startDateMenu=!1},{default:d(()=>[...t[54]||(t[54]=[D(" 关闭 ",-1)])]),_:1},8,["onClick"])]),_:2},1024)]),_:2},1024)]),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:2},1024),r(he,{cols:"12",md:"3"},{default:d(()=>[r(st,{modelValue:l.endDateMenu,"onUpdate:modelValue":o=>l.endDateMenu=o,"close-on-content-click":!1,"min-width":"auto","offset-y":"",transition:"scale-transition"},{activator:d(({props:o})=>[r(Ae,q({modelValue:l.endFormatted,"onUpdate:modelValue":m=>l.endFormatted=m,rules:[m=>!!m||"结束时间不能为空",m=>s.validateTimeFormat(m,"结束时间"),()=>s.validateEndAfterStart(l),()=>s.validateNoTimeOverlap(l,u)],density:"comfortable",label:"结束时间",placeholder:"2025/01/01 11:00","prepend-inner-icon":"mdi-clock-end"},{ref_for:!0},o,{variant:"outlined",onBlur:m=>s.updateEndDateTimeFromInput(u)}),{append:d(()=>[r(K,null,{default:d(()=>[...t[55]||(t[55]=[D("mdi-calendar-clock",-1)])]),_:1})]),_:1},16,["modelValue","onUpdate:modelValue","rules","onBlur"])]),default:d(()=>[r(Pe,{"min-width":"500"},{default:d(()=>[r(Le,{class:"text-center py-3 bg-error-lighten-5"},{default:d(()=>[r(K,{class:"mr-2",color:"error"},{default:d(()=>[...t[56]||(t[56]=[D("mdi-clock-end",-1)])]),_:1}),t[57]||(t[57]=D(" 选择结束时间 ",-1))]),_:1}),r(Oe,{class:"pa-0"},{default:d(()=>[r(He,{"no-gutters":""},{default:d(()=>[r(he,{class:"border-e",cols:"6"},{default:d(()=>[r(Mt,{modelValue:l.endDate,"onUpdate:modelValue":[o=>l.endDate=o,o=>s.updateEndDateTime(u)],color:"error",elevation:"0",locale:"zh-cn","show-adjacent-months":""},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),r(he,{cols:"6"},{default:d(()=>[r(Nt,{modelValue:l.endTime,"onUpdate:modelValue":[o=>l.endTime=o,o=>s.updateEndDateTime(u)],color:"error",elevation:"0",format:"24hr",scrollable:""},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)]),_:2},1024)]),_:2},1024),r(nt,null,{default:d(()=>[r(Ye),r(Y,{color:"grey",variant:"text",onClick:o=>l.endDateMenu=!1},{default:d(()=>[...t[58]||(t[58]=[D(" 关闭 ",-1)])]),_:1},8,["onClick"])]),_:2},1024)]),_:2},1024)]),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:2},1024),r(he,{cols:"12",md:"2"},{default:d(()=>[r(Ae,{modelValue:l.durationMinutes,"onUpdate:modelValue":o=>l.durationMinutes=o,rules:[o=>!!o||"时长不能为空",o=>!isNaN(o)||"时长必须是数字",o=>parseInt(o)>0||"时长必须大于0",o=>parseInt(o)<=1440||"时长不能超过1440分钟(24小时)"],type:"number",min:"1",max:"1440",density:"comfortable",label:"时长(分钟)",placeholder:"例如:120","prepend-inner-icon":"mdi-timer",variant:"outlined",hint:s.durationHint(l),"persistent-hint":"",onBlur:o=>s.updateDurationFromInput(u)},null,8,["modelValue","onUpdate:modelValue","rules","hint","onBlur"])]),_:2},1024),a.enableCustomAlertTime?(j(),re(he,{key:0,cols:"12",md:"2"},{default:d(()=>[r(Ae,{modelValue:l.alertTime,"onUpdate:modelValue":o=>l.alertTime=o,rules:[o=>!!o||"提醒时间不能为空",o=>!isNaN(o)||"提醒时间必须是数字",o=>parseInt(o)>=0||"提醒时间不能为负数",o=>parseInt(o)<=120||"提醒时间不能超过120分钟"],type:"number",min:"0",max:"120",density:"comfortable",label:"提醒时间(分钟)",placeholder:"例如:15","prepend-inner-icon":"mdi-bell-ring",variant:"outlined",hint:"考试结束前提醒","persistent-hint":""},null,8,["modelValue","onUpdate:modelValue","rules"])]),_:2},1024)):ue("",!0)]),_:2},1024)])]),_:2},1024))),128))]),_:1})):(j(),pe("div",Vl,[r(K,{class:"mb-4",color:"grey-lighten-2",size:"80"},{default:d(()=>[...t[59]||(t[59]=[D(" mdi-calendar-blank ",-1)])]),_:1}),t[61]||(t[61]=c("div",{class:"text-h5 text-grey-darken-1 mb-2"},"暂无考试科目安排",-1)),t[62]||(t[62]=c("div",{class:"text-body-1 text-grey mb-4"},' 点击上方"添加科目"按钮开始配置 ',-1)),r(Y,{color:"success","prepend-icon":"mdi-plus",size:"large",variant:"elevated",onClick:s.addExamInfo},{default:d(()=>[...t[60]||(t[60]=[D(" 立即添加科目 ",-1)])]),_:1},8,["onClick"])]))]),_:1})]),_:1})])):ue("",!0),r(ka,{modelValue:a.deleteDialog,"onUpdate:modelValue":t[9]||(t[9]=l=>a.deleteDialog=l),"max-width":"400"},{default:d(()=>[r(Pe,null,{default:d(()=>[r(Le,{class:"d-flex align-center"},{default:d(()=>[r(K,{class:"mr-2",color:"error"},{default:d(()=>[...t[63]||(t[63]=[D("mdi-delete-alert",-1)])]),_:1}),t[64]||(t[64]=D(" 确认删除配置 ",-1))]),_:1}),r(Oe,null,{default:d(()=>[t[65]||(t[65]=D(" 确定要删除配置 ",-1)),c("strong",null,se(a.localConfig.examName||`配置 ${n.configId}`),1),t[66]||(t[66]=D(" 吗? ",-1)),t[67]||(t[67]=c("br",null,null,-1)),t[68]||(t[68]=c("small",{class:"text-grey"},"此操作不可撤销,将会删除所有相关数据",-1))]),_:1}),r(nt,null,{default:d(()=>[r(Ye),r(Y,{color:"grey",variant:"text",onClick:t[8]||(t[8]=l=>a.deleteDialog=!1)},{default:d(()=>[...t[69]||(t[69]=[D(" 取消 ",-1)])]),_:1}),r(Y,{loading:a.deleting,color:"error",variant:"outlined",onClick:s.deleteConfig},{default:d(()=>[...t[70]||(t[70]=[D(" 删除 ",-1)])]),_:1},8,["loading","onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])])}const Bl=ma(Ga,[["render",xl],["__scopeId","data-v-cd4a9ebc"]]);export{Mt as V,Bl as _,Ya as a};