@tiaohsun/vue-datepicker
Version:
A Vue 3 datepicker with multi-calendar support, styled with Tailwind CSS
2 lines • 188 kB
JavaScript
(function(me,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("vue"),require("dayjs")):typeof define=="function"&&define.amd?define(["exports","vue","dayjs"],n):(me=typeof globalThis<"u"?globalThis:me||self,n(me.VueDatePicker={},me.Vue,me.dayjs))})(this,function(me,n,te){"use strict";function Le(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Ze={exports:{}},cr=Ze.exports,Xt;function ur(){return Xt||(Xt=1,function(t,e){(function(a,r){t.exports=r()})(cr,function(){var a="minute",r=/[+-]\d\d(?::?\d\d)?/g,o=/([+-]|\d\d)/g;return function(l,i,s){var u=i.prototype;s.utc=function(m){var g={date:m,utc:!0,args:arguments};return new i(g)},u.utc=function(m){var g=s(this.toDate(),{locale:this.$L,utc:!0});return m?g.add(this.utcOffset(),a):g},u.local=function(){return s(this.toDate(),{locale:this.$L,utc:!1})};var c=u.parse;u.parse=function(m){m.utc&&(this.$u=!0),this.$utils().u(m.$offset)||(this.$offset=m.$offset),c.call(this,m)};var f=u.init;u.init=function(){if(this.$u){var m=this.$d;this.$y=m.getUTCFullYear(),this.$M=m.getUTCMonth(),this.$D=m.getUTCDate(),this.$W=m.getUTCDay(),this.$H=m.getUTCHours(),this.$m=m.getUTCMinutes(),this.$s=m.getUTCSeconds(),this.$ms=m.getUTCMilliseconds()}else f.call(this)};var y=u.utcOffset;u.utcOffset=function(m,g){var d=this.$utils().u;if(d(m))return this.$u?0:d(this.$offset)?y.call(this):this.$offset;if(typeof m=="string"&&(m=function(p){p===void 0&&(p="");var D=p.match(r);if(!D)return null;var v=(""+D[0]).match(o)||["-",0,0],$=v[0],k=60*+v[1]+ +v[2];return k===0?0:$==="+"?k:-k}(m),m===null))return this;var w=Math.abs(m)<=16?60*m:m;if(w===0)return this.utc(g);var T=this.clone();if(g)return T.$offset=w,T.$u=!1,T;var b=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();return(T=this.local().add(w+b,a)).$offset=w,T.$x.$localOffset=b,T};var h=u.format;u.format=function(m){var g=m||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return h.call(this,g)},u.valueOf=function(){var m=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*m},u.isUTC=function(){return!!this.$u},u.toISOString=function(){return this.toDate().toISOString()},u.toString=function(){return this.toDate().toUTCString()};var x=u.toDate;u.toDate=function(m){return m==="s"&&this.$offset?s(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():x.call(this)};var S=u.diff;u.diff=function(m,g,d){if(m&&this.$u===m.$u)return S.call(this,m,g,d);var w=this.local(),T=s(m).local();return S.call(w,T,g,d)}}})}(Ze)),Ze.exports}var dr=ur();const mr=Le(dr);var Ge={exports:{}},fr=Ge.exports,_t;function hr(){return _t||(_t=1,function(t,e){(function(a,r){t.exports=r()})(fr,function(){var a={year:0,month:1,day:2,hour:3,minute:4,second:5},r={};return function(o,l,i){var s,u=function(h,x,S){S===void 0&&(S={});var m=new Date(h),g=function(d,w){w===void 0&&(w={});var T=w.timeZoneName||"short",b=d+"|"+T,p=r[b];return p||(p=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:d,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:T}),r[b]=p),p}(x,S);return g.formatToParts(m)},c=function(h,x){for(var S=u(h,x),m=[],g=0;g<S.length;g+=1){var d=S[g],w=d.type,T=d.value,b=a[w];b>=0&&(m[b]=parseInt(T,10))}var p=m[3],D=p===24?0:p,v=m[0]+"-"+m[1]+"-"+m[2]+" "+D+":"+m[4]+":"+m[5]+":000",$=+h;return(i.utc(v).valueOf()-($-=$%1e3))/6e4},f=l.prototype;f.tz=function(h,x){h===void 0&&(h=s);var S,m=this.utcOffset(),g=this.toDate(),d=g.toLocaleString("en-US",{timeZone:h}),w=Math.round((g-new Date(d))/1e3/60),T=15*-Math.round(g.getTimezoneOffset()/15)-w;if(!Number(T))S=this.utcOffset(0,x);else if(S=i(d,{locale:this.$L}).$set("millisecond",this.$ms).utcOffset(T,!0),x){var b=S.utcOffset();S=S.add(m-b,"minute")}return S.$x.$timezone=h,S},f.offsetName=function(h){var x=this.$x.$timezone||i.tz.guess(),S=u(this.valueOf(),x,{timeZoneName:h}).find(function(m){return m.type.toLowerCase()==="timezonename"});return S&&S.value};var y=f.startOf;f.startOf=function(h,x){if(!this.$x||!this.$x.$timezone)return y.call(this,h,x);var S=i(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return y.call(S,h,x).tz(this.$x.$timezone,!0)},i.tz=function(h,x,S){var m=S&&x,g=S||x||s,d=c(+i(),g);if(typeof h!="string")return i(h).tz(g);var w=function(D,v,$){var k=D-60*v*1e3,B=c(k,$);if(v===B)return[k,v];var O=c(k-=60*(B-v)*1e3,$);return B===O?[k,B]:[D-60*Math.min(B,O)*1e3,Math.max(B,O)]}(i.utc(h,m).valueOf(),d,g),T=w[0],b=w[1],p=i(T).utcOffset(b);return p.$x.$timezone=g,p},i.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},i.tz.setDefault=function(h){s=h}}})}(Ge)),Ge.exports}var gr=hr();const pr=Le(gr);var Xe={exports:{}},yr=Xe.exports,ea;function vr(){return ea||(ea=1,function(t,e){(function(a,r){t.exports=r()})(yr,function(){var a={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},r=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,o=/\d/,l=/\d\d/,i=/\d\d?/,s=/\d*[^-_:/,()\s\d]+/,u={},c=function(g){return(g=+g)+(g>68?1900:2e3)},f=function(g){return function(d){this[g]=+d}},y=[/[+-]\d\d:?(\d\d)?|Z/,function(g){(this.zone||(this.zone={})).offset=function(d){if(!d||d==="Z")return 0;var w=d.match(/([+-]|\d\d)/g),T=60*w[1]+(+w[2]||0);return T===0?0:w[0]==="+"?-T:T}(g)}],h=function(g){var d=u[g];return d&&(d.indexOf?d:d.s.concat(d.f))},x=function(g,d){var w,T=u.meridiem;if(T){for(var b=1;b<=24;b+=1)if(g.indexOf(T(b,0,d))>-1){w=b>12;break}}else w=g===(d?"pm":"PM");return w},S={A:[s,function(g){this.afternoon=x(g,!1)}],a:[s,function(g){this.afternoon=x(g,!0)}],Q:[o,function(g){this.month=3*(g-1)+1}],S:[o,function(g){this.milliseconds=100*+g}],SS:[l,function(g){this.milliseconds=10*+g}],SSS:[/\d{3}/,function(g){this.milliseconds=+g}],s:[i,f("seconds")],ss:[i,f("seconds")],m:[i,f("minutes")],mm:[i,f("minutes")],H:[i,f("hours")],h:[i,f("hours")],HH:[i,f("hours")],hh:[i,f("hours")],D:[i,f("day")],DD:[l,f("day")],Do:[s,function(g){var d=u.ordinal,w=g.match(/\d+/);if(this.day=w[0],d)for(var T=1;T<=31;T+=1)d(T).replace(/\[|\]/g,"")===g&&(this.day=T)}],w:[i,f("week")],ww:[l,f("week")],M:[i,f("month")],MM:[l,f("month")],MMM:[s,function(g){var d=h("months"),w=(h("monthsShort")||d.map(function(T){return T.slice(0,3)})).indexOf(g)+1;if(w<1)throw new Error;this.month=w%12||w}],MMMM:[s,function(g){var d=h("months").indexOf(g)+1;if(d<1)throw new Error;this.month=d%12||d}],Y:[/[+-]?\d+/,f("year")],YY:[l,function(g){this.year=c(g)}],YYYY:[/\d{4}/,f("year")],Z:y,ZZ:y};function m(g){var d,w;d=g,w=u&&u.formats;for(var T=(g=d.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(B,O,q){var K=q&&q.toUpperCase();return O||w[q]||a[q]||w[K].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(U,W,I){return W||I.slice(1)})})).match(r),b=T.length,p=0;p<b;p+=1){var D=T[p],v=S[D],$=v&&v[0],k=v&&v[1];T[p]=k?{regex:$,parser:k}:D.replace(/^\[|\]$/g,"")}return function(B){for(var O={},q=0,K=0;q<b;q+=1){var U=T[q];if(typeof U=="string")K+=U.length;else{var W=U.regex,I=U.parser,Y=B.slice(K),M=W.exec(Y)[0];I.call(O,M),B=B.replace(M,"")}}return function(F){var L=F.afternoon;if(L!==void 0){var j=F.hours;L?j<12&&(F.hours+=12):j===12&&(F.hours=0),delete F.afternoon}}(O),O}}return function(g,d,w){w.p.customParseFormat=!0,g&&g.parseTwoDigitYear&&(c=g.parseTwoDigitYear);var T=d.prototype,b=T.parse;T.parse=function(p){var D=p.date,v=p.utc,$=p.args;this.$u=v;var k=$[1];if(typeof k=="string"){var B=$[2]===!0,O=$[3]===!0,q=B||O,K=$[2];O&&(K=$[2]),u=this.$locale(),!B&&K&&(u=w.Ls[K]),this.$d=function(Y,M,F,L){try{if(["x","X"].indexOf(M)>-1)return new Date((M==="X"?1e3:1)*Y);var j=m(M)(Y),ae=j.year,ee=j.month,R=j.day,C=j.hours,N=j.minutes,J=j.seconds,E=j.milliseconds,H=j.zone,Q=j.week,ne=new Date,le=R||(ae||ee?1:ne.getDate()),de=ae||ne.getFullYear(),he=0;ae&&!ee||(he=ee>0?ee-1:ne.getMonth());var se,Z=C||0,P=N||0,A=J||0,G=E||0;return H?new Date(Date.UTC(de,he,le,Z,P,A,G+60*H.offset*1e3)):F?new Date(Date.UTC(de,he,le,Z,P,A,G)):(se=new Date(de,he,le,Z,P,A,G),Q&&(se=L(se).week(Q).toDate()),se)}catch{return new Date("")}}(D,k,v,w),this.init(),K&&K!==!0&&(this.$L=this.locale(K).$L),q&&D!=this.format(k)&&(this.$d=new Date("")),u={}}else if(k instanceof Array)for(var U=k.length,W=1;W<=U;W+=1){$[1]=k[W-1];var I=w.apply(this,$);if(I.isValid()){this.$d=I.$d,this.$L=I.$L,this.init();break}W===U&&(this.$d=new Date(""))}else b.call(this,p)}}})}(Xe)),Xe.exports}var $r=vr();const ta=Le($r);var _e={exports:{}},Dr=_e.exports,aa;function kr(){return aa||(aa=1,function(t,e){(function(a,r){t.exports=r()})(Dr,function(){var a="week",r="year";return function(o,l,i){var s=l.prototype;s.week=function(u){if(u===void 0&&(u=null),u!==null)return this.add(7*(u-this.week()),"day");var c=this.$locale().yearStart||1;if(this.month()===11&&this.date()>25){var f=i(this).startOf(r).add(1,r).date(c),y=i(this).endOf(a);if(f.isBefore(y))return 1}var h=i(this).startOf(r).date(c).startOf(a).subtract(1,"millisecond"),x=this.diff(h,a,!0);return x<0?i(this).startOf("week").week():Math.ceil(x)},s.weeks=function(u){return u===void 0&&(u=null),this.week(u)}}})}(_e)),_e.exports}var br=kr();const Mr=Le(br);var et={exports:{}},wr=et.exports,ra;function Sr(){return ra||(ra=1,function(t,e){(function(a,r){t.exports=r()})(wr,function(){return function(a,r,o){var l=r.prototype,i=function(y){return y&&(y.indexOf?y:y.s)},s=function(y,h,x,S,m){var g=y.name?y:y.$locale(),d=i(g[h]),w=i(g[x]),T=d||w.map(function(p){return p.slice(0,S)});if(!m)return T;var b=g.weekStart;return T.map(function(p,D){return T[(D+(b||0))%7]})},u=function(){return o.Ls[o.locale()]},c=function(y,h){return y.formats[h]||function(x){return x.replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(S,m,g){return m||g.slice(1)})}(y.formats[h.toUpperCase()])},f=function(){var y=this;return{months:function(h){return h?h.format("MMMM"):s(y,"months")},monthsShort:function(h){return h?h.format("MMM"):s(y,"monthsShort","months",3)},firstDayOfWeek:function(){return y.$locale().weekStart||0},weekdays:function(h){return h?h.format("dddd"):s(y,"weekdays")},weekdaysMin:function(h){return h?h.format("dd"):s(y,"weekdaysMin","weekdays",2)},weekdaysShort:function(h){return h?h.format("ddd"):s(y,"weekdaysShort","weekdays",3)},longDateFormat:function(h){return c(y.$locale(),h)},meridiem:this.$locale().meridiem,ordinal:this.$locale().ordinal}};l.localeData=function(){return f.bind(this)()},o.localeData=function(){var y=u();return{firstDayOfWeek:function(){return y.weekStart||0},weekdays:function(){return o.weekdays()},weekdaysShort:function(){return o.weekdaysShort()},weekdaysMin:function(){return o.weekdaysMin()},months:function(){return o.months()},monthsShort:function(){return o.monthsShort()},longDateFormat:function(h){return c(y,h)},meridiem:y.meridiem,ordinal:y.ordinal}},o.months=function(){return s(u(),"months")},o.monthsShort=function(){return s(u(),"monthsShort","months",3)},o.weekdays=function(y){return s(u(),"weekdays",null,null,y)},o.weekdaysShort=function(y){return s(u(),"weekdaysShort","weekdays",3,y)},o.weekdaysMin=function(y){return s(u(),"weekdaysMin","weekdays",2,y)}}})}(et)),et.exports}var xr=Sr();const Tr=Le(xr);te.extend(ta);const na={"en-US":["MM/DD/YYYY","M/D/YYYY"],"en-GB":["DD/MM/YYYY","D/M/YYYY"],"zh-TW":["YYYY-MM-DD","YYYY/MM/DD"],"zh-CN":["YYYY-MM-DD","YYYY/MM/DD"]},oa=["YYYY-MM-DD","YYYY/MM/DD","DD/MM/YYYY","MM/DD/YYYY","DD-MM-YYYY","MM-DD-YYYY","YY-MM-DD","YY/MM/DD"];class Cr{locale;calendar;preferredFormats;constructor(e="zh-TW",a="gregory"){this.locale=e,this.calendar=a,this.preferredFormats=[...na[e]||[],...oa]}parse(e){if(!e||typeof e!="string")return{success:!1,date:null,format:null,confidence:0};const a=e.trim();try{const r=this.tryParseWithPlugins(a);if(r.success)return r;for(const o of this.preferredFormats){const l=this.tryParseWithFormat(a,o);if(l.success)return{...l,confidence:.9}}return this.fallbackParse(a)}catch(r){return console.warn("日期解析失敗:",r),{success:!1,date:null,format:null,confidence:0}}}tryParseWithPlugins(e){switch(this.calendar){case"roc":const a=new Ht;if(a.canParseInput(e)){const r=a.parseInput(e,this.locale);if(r)return{success:!0,date:r,format:"roc-plugin",confidence:.95,calendarSystem:"roc"}}break}return{success:!1,date:null,format:null,confidence:0}}tryParseWithFormat(e,a){try{const r=te(e,a,!0);if(r.isValid())return{success:!0,date:{year:r.year(),month:r.month()+1,day:r.date(),hour:r.hour()||0,minute:r.minute()||0,second:r.second()||0},format:a,confidence:1,calendarSystem:"gregory"}}catch{}return{success:!1,date:null,format:null,confidence:0}}fallbackParse(e){try{const a=te(e);if(a.isValid())return{success:!0,date:{year:a.year(),month:a.month()+1,day:a.date(),hour:a.hour()||0,minute:a.minute()||0,second:a.second()||0},format:"auto-detected",confidence:.6,calendarSystem:"gregory"}}catch{}return{success:!1,date:null,format:null,confidence:0}}setLocale(e){this.locale=e,this.preferredFormats=[...na[e]||[],...oa]}setCalendar(e){this.calendar=e}}const He=new Cr;function Er(t,e="zh-TW",a="gregory"){return e!==He.locale&&He.setLocale(e),a!==He.calendar&&He.setCalendar(a),He.parse(t)}function Ee(t,e){return t-e*Math.floor(t/e)}const la=1721426;function xe(t,e,a,r){e=qe(t,e);let o=e-1,l=-2;return a<=2?l=0:Me(e)&&(l=-1),la-1+365*o+Math.floor(o/4)-Math.floor(o/100)+Math.floor(o/400)+Math.floor((367*a-362)/12+l+r)}function Me(t){return t%4===0&&(t%100!==0||t%400===0)}function qe(t,e){return t==="BC"?1-e:e}function tt(t){let e="AD";return t<=0&&(e="BC",t=1-t),[e,t]}const Yr={standard:[31,28,31,30,31,30,31,31,30,31,30,31],leapyear:[31,29,31,30,31,30,31,31,30,31,30,31]};class ie{fromJulianDay(e){let a=e,r=a-la,o=Math.floor(r/146097),l=Ee(r,146097),i=Math.floor(l/36524),s=Ee(l,36524),u=Math.floor(s/1461),c=Ee(s,1461),f=Math.floor(c/365),y=o*400+i*100+u*4+f+(i!==4&&f!==4?1:0),[h,x]=tt(y),S=a-xe(h,x,1,1),m=2;a<xe(h,x,3,1)?m=0:Me(x)&&(m=1);let g=Math.floor(((S+m)*12+373)/367),d=a-xe(h,x,g,1)+1;return new _(h,x,g,d)}toJulianDay(e){return xe(e.era,e.year,e.month,e.day)}getDaysInMonth(e){return Yr[Me(e.year)?"leapyear":"standard"][e.month-1]}getMonthsInYear(e){return 12}getDaysInYear(e){return Me(e.year)?366:365}getYearsInEra(e){return 9999}getEras(){return["BC","AD"]}isInverseEra(e){return e.era==="BC"}balanceDate(e){e.year<=0&&(e.era=e.era==="BC"?"AD":"BC",e.year=1-e.year)}constructor(){this.identifier="gregory"}}const Rr={"001":1,AD:1,AE:6,AF:6,AI:1,AL:1,AM:1,AN:1,AR:1,AT:1,AU:1,AX:1,AZ:1,BA:1,BE:1,BG:1,BH:6,BM:1,BN:1,BY:1,CH:1,CL:1,CM:1,CN:1,CR:1,CY:1,CZ:1,DE:1,DJ:6,DK:1,DZ:6,EC:1,EE:1,EG:6,ES:1,FI:1,FJ:1,FO:1,FR:1,GB:1,GE:1,GF:1,GP:1,GR:1,HR:1,HU:1,IE:1,IQ:6,IR:6,IS:1,IT:1,JO:6,KG:1,KW:6,KZ:1,LB:1,LI:1,LK:1,LT:1,LU:1,LV:1,LY:6,MC:1,MD:1,ME:1,MK:1,MN:1,MQ:1,MV:5,MY:1,NL:1,NO:1,NZ:1,OM:6,PL:1,QA:6,RE:1,RO:1,RS:1,RU:1,SD:6,SE:1,SI:1,SK:1,SM:1,SY:6,TJ:1,TM:1,TR:1,UA:1,UY:1,UZ:1,VA:1,VN:1,XK:1};function Vr(t,e){var a,r,o,l;return(l=(o=(a=t.isEqual)===null||a===void 0?void 0:a.call(t,e))!==null&&o!==void 0?o:(r=e.isEqual)===null||r===void 0?void 0:r.call(e,t))!==null&&l!==void 0?l:t.identifier===e.identifier}function sa(t,e,a){let r=t.calendar.toJulianDay(t),o=Nr(e),l=Math.ceil(r+1-o)%7;return l<0&&(l+=7),l}function Ir(t){return ve(Date.now(),t)}function Br(t){return qr(Ir(t))}function ia(t,e){return t.calendar.toJulianDay(t)-e.calendar.toJulianDay(e)}function Or(t,e){return ca(t)-ca(e)}function ca(t){return t.hour*36e5+t.minute*6e4+t.second*1e3+t.millisecond}let vt=null;function $t(){return vt==null&&(vt=new Intl.DateTimeFormat().resolvedOptions().timeZone),vt}function Fr(t){return t.subtract({days:t.day-1})}const ua=new Map,Dt=new Map;function Pr(t){if(Intl.Locale){let a=ua.get(t);return a||(a=new Intl.Locale(t).maximize().region,a&&ua.set(t,a)),a}let e=t.split("-")[1];return e==="u"?void 0:e}function Nr(t){let e=Dt.get(t);if(!e){if(Intl.Locale){let r=new Intl.Locale(t);if("getWeekInfo"in r&&(e=r.getWeekInfo(),e))return Dt.set(t,e),e.firstDay}let a=Pr(t);if(t.includes("-fw-")){let r=t.split("-fw-")[1].split("-")[0];r==="mon"?e={firstDay:1}:r==="tue"?e={firstDay:2}:r==="wed"?e={firstDay:3}:r==="thu"?e={firstDay:4}:r==="fri"?e={firstDay:5}:r==="sat"?e={firstDay:6}:e={firstDay:0}}else t.includes("-ca-iso8601")?e={firstDay:1}:e={firstDay:a&&Rr[a]||0};Dt.set(t,e)}return e.firstDay}function Ar(t,e,a){let r=t.calendar.getDaysInMonth(t);return Math.ceil((sa(Fr(t),e)+r)/7)}function Ye(t){t=ce(t,new ie);let e=qe(t.era,t.year);return da(e,t.month,t.day,t.hour,t.minute,t.second,t.millisecond)}function da(t,e,a,r,o,l,i){let s=new Date;return s.setUTCHours(r,o,l,i),s.setUTCFullYear(t,e-1,a),s.getTime()}function kt(t,e){if(e==="UTC")return 0;if(t>0&&e===$t())return new Date(t).getTimezoneOffset()*-6e4;let{year:a,month:r,day:o,hour:l,minute:i,second:s}=fa(t,e);return da(a,r,o,l,i,s,0)-Math.floor(t/1e3)*1e3}const ma=new Map;function fa(t,e){let a=ma.get(e);a||(a=new Intl.DateTimeFormat("en-US",{timeZone:e,hour12:!1,era:"short",year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"}),ma.set(e,a));let r=a.formatToParts(new Date(t)),o={};for(let l of r)l.type!=="literal"&&(o[l.type]=l.value);return{year:o.era==="BC"||o.era==="B"?-o.year+1:+o.year,month:+o.month,day:+o.day,hour:o.hour==="24"?0:+o.hour,minute:+o.minute,second:+o.second}}const ha=864e5;function Lr(t,e,a,r){return(a===r?[a]:[a,r]).filter(l=>Hr(t,e,l))}function Hr(t,e,a){let r=fa(a,e);return t.year===r.year&&t.month===r.month&&t.day===r.day&&t.hour===r.hour&&t.minute===r.minute&&t.second===r.second}function ye(t,e,a="compatible"){let r=Re(t);if(e==="UTC")return Ye(r);if(e===$t()&&a==="compatible"){r=ce(r,new ie);let u=new Date,c=qe(r.era,r.year);return u.setFullYear(c,r.month-1,r.day),u.setHours(r.hour,r.minute,r.second,r.millisecond),u.getTime()}let o=Ye(r),l=kt(o-ha,e),i=kt(o+ha,e),s=Lr(r,e,o-l,o-i);if(s.length===1)return s[0];if(s.length>1)switch(a){case"compatible":case"earlier":return s[0];case"later":return s[s.length-1];case"reject":throw new RangeError("Multiple possible absolute times found")}switch(a){case"earlier":return Math.min(o-l,o-i);case"compatible":case"later":return Math.max(o-l,o-i);case"reject":throw new RangeError("No such absolute time found")}}function ga(t,e,a="compatible"){return new Date(ye(t,e,a))}function ve(t,e){let a=kt(t,e),r=new Date(t+a),o=r.getUTCFullYear(),l=r.getUTCMonth()+1,i=r.getUTCDate(),s=r.getUTCHours(),u=r.getUTCMinutes(),c=r.getUTCSeconds(),f=r.getUTCMilliseconds();return new ze(o<1?"BC":"AD",o<1?-o+1:o,l,i,e,a,s,u,c,f)}function qr(t){return new _(t.calendar,t.era,t.year,t.month,t.day)}function Re(t,e){let a=0,r=0,o=0,l=0;if("timeZone"in t)({hour:a,minute:r,second:o,millisecond:l}=t);else if("hour"in t&&!e)return t;return e&&({hour:a,minute:r,second:o,millisecond:l}=e),new Ve(t.calendar,t.era,t.year,t.month,t.day,a,r,o,l)}function ce(t,e){if(Vr(t.calendar,e))return t;let a=e.fromJulianDay(t.calendar.toJulianDay(t)),r=t.copy();return r.calendar=e,r.era=a.era,r.year=a.year,r.month=a.month,r.day=a.day,Te(r),r}function Ur(t,e,a){if(t instanceof ze)return t.timeZone===e?t:Wr(t,e);let r=ye(t,e,a);return ve(r,e)}function zr(t){let e=Ye(t)-t.offset;return new Date(e)}function Wr(t,e){let a=Ye(t)-t.offset;return ce(ve(a,e),t.calendar)}const Ue=36e5;function at(t,e){let a=t.copy(),r="hour"in a?Qr(a,e):0;bt(a,e.years||0),a.calendar.balanceYearMonth&&a.calendar.balanceYearMonth(a,t),a.month+=e.months||0,Mt(a),pa(a),a.day+=(e.weeks||0)*7,a.day+=e.days||0,a.day+=r,Jr(a),a.calendar.balanceDate&&a.calendar.balanceDate(a),a.year<1&&(a.year=1,a.month=1,a.day=1);let o=a.calendar.getYearsInEra(a);if(a.year>o){var l,i;let u=(l=(i=a.calendar).isInverseEra)===null||l===void 0?void 0:l.call(i,a);a.year=o,a.month=u?1:a.calendar.getMonthsInYear(a),a.day=u?1:a.calendar.getDaysInMonth(a)}a.month<1&&(a.month=1,a.day=1);let s=a.calendar.getMonthsInYear(a);return a.month>s&&(a.month=s,a.day=a.calendar.getDaysInMonth(a)),a.day=Math.max(1,Math.min(a.calendar.getDaysInMonth(a),a.day)),a}function bt(t,e){var a,r;!((a=(r=t.calendar).isInverseEra)===null||a===void 0)&&a.call(r,t)&&(e=-e),t.year+=e}function Mt(t){for(;t.month<1;)bt(t,-1),t.month+=t.calendar.getMonthsInYear(t);let e=0;for(;t.month>(e=t.calendar.getMonthsInYear(t));)t.month-=e,bt(t,1)}function Jr(t){for(;t.day<1;)t.month--,Mt(t),t.day+=t.calendar.getDaysInMonth(t);for(;t.day>t.calendar.getDaysInMonth(t);)t.day-=t.calendar.getDaysInMonth(t),t.month++,Mt(t)}function pa(t){t.month=Math.max(1,Math.min(t.calendar.getMonthsInYear(t),t.month)),t.day=Math.max(1,Math.min(t.calendar.getDaysInMonth(t),t.day))}function Te(t){t.calendar.constrainDate&&t.calendar.constrainDate(t),t.year=Math.max(1,Math.min(t.calendar.getYearsInEra(t),t.year)),pa(t)}function ya(t){let e={};for(let a in t)typeof t[a]=="number"&&(e[a]=-t[a]);return e}function va(t,e){return at(t,ya(e))}function wt(t,e){let a=t.copy();return e.era!=null&&(a.era=e.era),e.year!=null&&(a.year=e.year),e.month!=null&&(a.month=e.month),e.day!=null&&(a.day=e.day),Te(a),a}function rt(t,e){let a=t.copy();return e.hour!=null&&(a.hour=e.hour),e.minute!=null&&(a.minute=e.minute),e.second!=null&&(a.second=e.second),e.millisecond!=null&&(a.millisecond=e.millisecond),Kr(a),a}function jr(t){t.second+=Math.floor(t.millisecond/1e3),t.millisecond=nt(t.millisecond,1e3),t.minute+=Math.floor(t.second/60),t.second=nt(t.second,60),t.hour+=Math.floor(t.minute/60),t.minute=nt(t.minute,60);let e=Math.floor(t.hour/24);return t.hour=nt(t.hour,24),e}function Kr(t){t.millisecond=Math.max(0,Math.min(t.millisecond,1e3)),t.second=Math.max(0,Math.min(t.second,59)),t.minute=Math.max(0,Math.min(t.minute,59)),t.hour=Math.max(0,Math.min(t.hour,23))}function nt(t,e){let a=t%e;return a<0&&(a+=e),a}function Qr(t,e){return t.hour+=e.hours||0,t.minute+=e.minutes||0,t.second+=e.seconds||0,t.millisecond+=e.milliseconds||0,jr(t)}function St(t,e,a,r){let o=t.copy();switch(e){case"era":{let s=t.calendar.getEras(),u=s.indexOf(t.era);if(u<0)throw new Error("Invalid era: "+t.era);u=$e(u,a,0,s.length-1,r?.round),o.era=s[u],Te(o);break}case"year":var l,i;!((l=(i=o.calendar).isInverseEra)===null||l===void 0)&&l.call(i,o)&&(a=-a),o.year=$e(t.year,a,-1/0,9999,r?.round),o.year===-1/0&&(o.year=1),o.calendar.balanceYearMonth&&o.calendar.balanceYearMonth(o,t);break;case"month":o.month=$e(t.month,a,1,t.calendar.getMonthsInYear(t),r?.round);break;case"day":o.day=$e(t.day,a,1,t.calendar.getDaysInMonth(t),r?.round);break;default:throw new Error("Unsupported field "+e)}return t.calendar.balanceDate&&t.calendar.balanceDate(o),Te(o),o}function $a(t,e,a,r){let o=t.copy();switch(e){case"hour":{let l=t.hour,i=0,s=23;if(r?.hourCycle===12){let u=l>=12;i=u?12:0,s=u?23:11}o.hour=$e(l,a,i,s,r?.round);break}case"minute":o.minute=$e(t.minute,a,0,59,r?.round);break;case"second":o.second=$e(t.second,a,0,59,r?.round);break;case"millisecond":o.millisecond=$e(t.millisecond,a,0,999,r?.round);break;default:throw new Error("Unsupported field "+e)}return o}function $e(t,e,a,r,o=!1){if(o){t+=Math.sign(e),t<a&&(t=r);let l=Math.abs(e);e>0?t=Math.ceil(t/l)*l:t=Math.floor(t/l)*l,t>r&&(t=a)}else t+=e,t<a?t=r-(a-t-1):t>r&&(t=a+(t-r-1));return t}function Da(t,e){let a;if(e.years!=null&&e.years!==0||e.months!=null&&e.months!==0||e.weeks!=null&&e.weeks!==0||e.days!=null&&e.days!==0){let o=at(Re(t),{years:e.years,months:e.months,weeks:e.weeks,days:e.days});a=ye(o,t.timeZone)}else a=Ye(t)-t.offset;a+=e.milliseconds||0,a+=(e.seconds||0)*1e3,a+=(e.minutes||0)*6e4,a+=(e.hours||0)*36e5;let r=ve(a,t.timeZone);return ce(r,t.calendar)}function Zr(t,e){return Da(t,ya(e))}function Gr(t,e,a,r){switch(e){case"hour":{let o=0,l=23;if(r?.hourCycle===12){let S=t.hour>=12;o=S?12:0,l=S?23:11}let i=Re(t),s=ce(rt(i,{hour:o}),new ie),u=[ye(s,t.timeZone,"earlier"),ye(s,t.timeZone,"later")].filter(S=>ve(S,t.timeZone).day===s.day)[0],c=ce(rt(i,{hour:l}),new ie),f=[ye(c,t.timeZone,"earlier"),ye(c,t.timeZone,"later")].filter(S=>ve(S,t.timeZone).day===c.day).pop(),y=Ye(t)-t.offset,h=Math.floor(y/Ue),x=y%Ue;return y=$e(h,a,Math.floor(u/Ue),Math.floor(f/Ue),r?.round)*Ue+x,ce(ve(y,t.timeZone),t.calendar)}case"minute":case"second":case"millisecond":return $a(t,e,a,r);case"era":case"year":case"month":case"day":{let o=St(Re(t),e,a,r),l=ye(o,t.timeZone);return ce(ve(l,t.timeZone),t.calendar)}default:throw new Error("Unsupported field "+e)}}function Xr(t,e,a){let r=Re(t),o=rt(wt(r,e),e);if(o.compare(r)===0)return t;let l=ye(o,t.timeZone,a);return ce(ve(l,t.timeZone),t.calendar)}function _r(t){return`${String(t.hour).padStart(2,"0")}:${String(t.minute).padStart(2,"0")}:${String(t.second).padStart(2,"0")}${t.millisecond?String(t.millisecond/1e3).slice(1):""}`}function ka(t){let e=ce(t,new ie),a;return e.era==="BC"?a=e.year===1?"0000":"-"+String(Math.abs(1-e.year)).padStart(6,"00"):a=String(e.year).padStart(4,"0"),`${a}-${String(e.month).padStart(2,"0")}-${String(e.day).padStart(2,"0")}`}function ba(t){return`${ka(t)}T${_r(t)}`}function en(t){let e=Math.sign(t)<0?"-":"+";t=Math.abs(t);let a=Math.floor(t/36e5),r=Math.floor(t%36e5/6e4),o=Math.floor(t%36e5%6e4/1e3),l=`${e}${String(a).padStart(2,"0")}:${String(r).padStart(2,"0")}`;return o!==0&&(l+=`:${String(o).padStart(2,"0")}`),l}function tn(t){return`${ba(t)}${en(t.offset)}[${t.timeZone}]`}function an(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function xt(t,e,a){an(t,e),e.set(t,a)}function Tt(t){let e=typeof t[0]=="object"?t.shift():new ie,a;if(typeof t[0]=="string")a=t.shift();else{let i=e.getEras();a=i[i.length-1]}let r=t.shift(),o=t.shift(),l=t.shift();return[e,a,r,o,l]}var rn=new WeakMap;class _{copy(){return this.era?new _(this.calendar,this.era,this.year,this.month,this.day):new _(this.calendar,this.year,this.month,this.day)}add(e){return at(this,e)}subtract(e){return va(this,e)}set(e){return wt(this,e)}cycle(e,a,r){return St(this,e,a,r)}toDate(e){return ga(this,e)}toString(){return ka(this)}compare(e){return ia(this,e)}constructor(...e){xt(this,rn,{writable:!0,value:void 0});let[a,r,o,l,i]=Tt(e);this.calendar=a,this.era=r,this.year=o,this.month=l,this.day=i,Te(this)}}var nn=new WeakMap;class Ve{copy(){return this.era?new Ve(this.calendar,this.era,this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond):new Ve(this.calendar,this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond)}add(e){return at(this,e)}subtract(e){return va(this,e)}set(e){return wt(rt(this,e),e)}cycle(e,a,r){switch(e){case"era":case"year":case"month":case"day":return St(this,e,a,r);default:return $a(this,e,a,r)}}toDate(e,a){return ga(this,e,a)}toString(){return ba(this)}compare(e){let a=ia(this,e);return a===0?Or(this,Re(e)):a}constructor(...e){xt(this,nn,{writable:!0,value:void 0});let[a,r,o,l,i]=Tt(e);this.calendar=a,this.era=r,this.year=o,this.month=l,this.day=i,this.hour=e.shift()||0,this.minute=e.shift()||0,this.second=e.shift()||0,this.millisecond=e.shift()||0,Te(this)}}var on=new WeakMap;class ze{copy(){return this.era?new ze(this.calendar,this.era,this.year,this.month,this.day,this.timeZone,this.offset,this.hour,this.minute,this.second,this.millisecond):new ze(this.calendar,this.year,this.month,this.day,this.timeZone,this.offset,this.hour,this.minute,this.second,this.millisecond)}add(e){return Da(this,e)}subtract(e){return Zr(this,e)}set(e,a){return Xr(this,e,a)}cycle(e,a,r){return Gr(this,e,a,r)}toDate(){return zr(this)}toString(){return tn(this)}toAbsoluteString(){return this.toDate().toISOString()}compare(e){return this.toDate().getTime()-Ur(e,this.timeZone).toDate().getTime()}constructor(...e){xt(this,on,{writable:!0,value:void 0});let[a,r,o,l,i]=Tt(e),s=e.shift(),u=e.shift();this.calendar=a,this.era=r,this.year=o,this.month=l,this.day=i,this.timeZone=s,this.offset=u,this.hour=e.shift()||0,this.minute=e.shift()||0,this.second=e.shift()||0,this.millisecond=e.shift()||0,Te(this)}}const Ie=[[1868,9,8],[1912,7,30],[1926,12,25],[1989,1,8],[2019,5,1]],ln=[[1912,7,29],[1926,12,24],[1989,1,7],[2019,4,30]],ot=[1867,1911,1925,1988,2018],we=["meiji","taisho","showa","heisei","reiwa"];function Ma(t){const e=Ie.findIndex(([a,r,o])=>t.year<a||t.year===a&&t.month<r||t.year===a&&t.month===r&&t.day<o);return e===-1?Ie.length-1:e===0?0:e-1}function Ct(t){let e=ot[we.indexOf(t.era)];if(!e)throw new Error("Unknown era: "+t.era);return new _(t.year+e,t.month,t.day)}class sn extends ie{fromJulianDay(e){let a=super.fromJulianDay(e),r=Ma(a);return new _(this,we[r],a.year-ot[r],a.month,a.day)}toJulianDay(e){return super.toJulianDay(Ct(e))}balanceDate(e){let a=Ct(e),r=Ma(a);we[r]!==e.era&&(e.era=we[r],e.year=a.year-ot[r]),this.constrainDate(e)}constrainDate(e){let a=we.indexOf(e.era),r=ln[a];if(r!=null){let[o,l,i]=r,s=o-ot[a];e.year=Math.max(1,Math.min(s,e.year)),e.year===s&&(e.month=Math.min(l,e.month),e.month===l&&(e.day=Math.min(i,e.day)))}if(e.year===1&&a>=0){let[,o,l]=Ie[a];e.month=Math.max(o,e.month),e.month===o&&(e.day=Math.max(l,e.day))}}getEras(){return we}getYearsInEra(e){let a=we.indexOf(e.era),r=Ie[a],o=Ie[a+1];if(o==null)return 9999-r[0]+1;let l=o[0]-r[0];return(e.month<o[1]||e.month===o[1]&&e.day<o[2])&&l++,l}getDaysInMonth(e){return super.getDaysInMonth(Ct(e))}getMinimumMonthInYear(e){let a=wa(e);return a?a[1]:1}getMinimumDayInMonth(e){let a=wa(e);return a&&e.month===a[1]?a[2]:1}constructor(...e){super(...e),this.identifier="japanese"}}function wa(t){if(t.year===1){let e=we.indexOf(t.era);return Ie[e]}}const Sa=-543;class cn extends ie{fromJulianDay(e){let a=super.fromJulianDay(e),r=qe(a.era,a.year);return new _(this,r-Sa,a.month,a.day)}toJulianDay(e){return super.toJulianDay(xa(e))}getEras(){return["BE"]}getDaysInMonth(e){return super.getDaysInMonth(xa(e))}balanceDate(){}constructor(...e){super(...e),this.identifier="buddhist"}}function xa(t){let[e,a]=tt(t.year+Sa);return new _(e,a,t.month,t.day)}const lt=1911;function Ta(t){return t.era==="minguo"?t.year+lt:1-t.year+lt}function Ca(t){let e=t-lt;return e>0?["minguo",e]:["before_minguo",1-e]}class un extends ie{fromJulianDay(e){let a=super.fromJulianDay(e),r=qe(a.era,a.year),[o,l]=Ca(r);return new _(this,o,l,a.month,a.day)}toJulianDay(e){return super.toJulianDay(Ea(e))}getEras(){return["before_minguo","minguo"]}balanceDate(e){let[a,r]=Ca(Ta(e));e.era=a,e.year=r}isInverseEra(e){return e.era==="before_minguo"}getDaysInMonth(e){return super.getDaysInMonth(Ea(e))}getYearsInEra(e){return e.era==="before_minguo"?9999:9999-lt}constructor(...e){super(...e),this.identifier="roc"}}function Ea(t){let[e,a]=tt(Ta(t));return new _(e,a,t.month,t.day)}const Ya=1948320,Ra=[0,31,62,93,124,155,186,216,246,276,306,336];class dn{fromJulianDay(e){let a=e-Ya,r=1+Math.floor((33*a+3)/12053),o=365*(r-1)+Math.floor((8*r+21)/33),l=a-o,i=l<216?Math.floor(l/31):Math.floor((l-6)/30),s=l-Ra[i]+1;return new _(this,r,i+1,s)}toJulianDay(e){let a=Ya-1+365*(e.year-1)+Math.floor((8*e.year+21)/33);return a+=Ra[e.month-1],a+=e.day,a}getMonthsInYear(){return 12}getDaysInMonth(e){return e.month<=6?31:e.month<=11||Ee(25*e.year+11,33)<8?30:29}getEras(){return["AP"]}getYearsInEra(){return 9377}constructor(){this.identifier="persian"}}const Et=78,Va=80;class mn extends ie{fromJulianDay(e){let a=super.fromJulianDay(e),r=a.year-Et,o=e-xe(a.era,a.year,1,1),l;o<Va?(r--,l=Me(a.year-1)?31:30,o+=l+155+90+10):(l=Me(a.year)?31:30,o-=Va);let i,s;if(o<l)i=1,s=o+1;else{let u=o-l;u<155?(i=Math.floor(u/31)+2,s=u%31+1):(u-=155,i=Math.floor(u/30)+7,s=u%30+1)}return new _(this,r,i,s)}toJulianDay(e){let a=e.year+Et,[r,o]=tt(a),l,i;return Me(o)?(l=31,i=xe(r,o,3,21)):(l=30,i=xe(r,o,3,22)),e.month===1?i+e.day-1:(i+=l+Math.min(e.month-2,5)*31,e.month>=8&&(i+=(e.month-7)*30),i+=e.day-1,i)}getDaysInMonth(e){return e.month===1&&Me(e.year+Et)||e.month>=2&&e.month<=6?31:30}getYearsInEra(){return 9919}getEras(){return["saka"]}balanceDate(){}constructor(...e){super(...e),this.identifier="indian"}}const st=1948440,Ia=1948439,fe=1300,Be=1600,fn=460322;function it(t,e,a,r){return r+Math.ceil(29.5*(a-1))+(e-1)*354+Math.floor((3+11*e)/30)+t-1}function Ba(t,e,a){let r=Math.floor((30*(a-e)+10646)/10631),o=Math.min(12,Math.ceil((a-(29+it(e,r,1,1)))/29.5)+1),l=a-it(e,r,o,1)+1;return new _(t,r,o,l)}function Oa(t){return(14+11*t)%30<11}class Yt{fromJulianDay(e){return Ba(this,st,e)}toJulianDay(e){return it(st,e.year,e.month,e.day)}getDaysInMonth(e){let a=29+e.month%2;return e.month===12&&Oa(e.year)&&a++,a}getMonthsInYear(){return 12}getDaysInYear(e){return Oa(e.year)?355:354}getYearsInEra(){return 9665}getEras(){return["AH"]}constructor(){this.identifier="islamic-civil"}}class hn extends Yt{fromJulianDay(e){return Ba(this,Ia,e)}toJulianDay(e){return it(Ia,e.year,e.month,e.day)}constructor(...e){super(...e),this.identifier="islamic-tbla"}}const gn="qgpUDckO1AbqBmwDrQpVBakGkgepC9QF2gpcBS0NlQZKB1QLagutBa4ETwoXBYsGpQbVCtYCWwmdBE0KJg2VDawFtgm6AlsKKwWVCsoG6Qr0AnYJtgJWCcoKpAvSC9kF3AJtCU0FpQpSC6ULtAW2CVcFlwJLBaMGUgdlC2oFqworBZUMSg2lDcoF1gpXCasESwmlClILagt1BXYCtwhbBFUFqQW0BdoJ3QRuAjYJqgpUDbIN1QXaAlsJqwRVCkkLZAtxC7QFtQpVCiUNkg7JDtQG6QprCasEkwpJDaQNsg25CroEWworBZUKKgtVC1wFvQQ9Ah0JlQpKC1oLbQW2AjsJmwRVBqkGVAdqC2wFrQpVBSkLkgupC9QF2gpaBasKlQVJB2QHqgu1BbYCVgpNDiULUgtqC60FrgIvCZcESwalBqwG1gpdBZ0ETQoWDZUNqgW1BdoCWwmtBJUFygbkBuoK9QS2AlYJqgpUC9IL2QXqAm0JrQSVCkoLpQuyBbUJ1gSXCkcFkwZJB1ULagVrCisFiwpGDaMNygXWCtsEawJLCaUKUgtpC3UFdgG3CFsCKwVlBbQF2gntBG0BtgimClINqQ3UBdoKWwmrBFMGKQdiB6kLsgW1ClUFJQuSDckO0gbpCmsFqwRVCikNVA2qDbUJugQ7CpsETQqqCtUK2gJdCV4ELgqaDFUNsga5BroEXQotBZUKUguoC7QLuQXaAloJSgukDdEO6AZqC20FNQWVBkoNqA3UDdoGWwWdAisGFQtKC5ULqgWuCi4JjwwnBZUGqgbWCl0FnQI=";let Rt,Oe;function ct(t){return fn+Oe[t-fe]}function We(t,e){let a=t-fe,r=1<<11-(e-1);return(Rt[a]&r)===0?29:30}function Fa(t,e){let a=ct(t);for(let r=1;r<e;r++)a+=We(t,r);return a}function Pa(t){return Oe[t+1-fe]-Oe[t-fe]}class pn extends Yt{fromJulianDay(e){let a=e-st,r=ct(fe),o=ct(Be);if(a<r||a>o)return super.fromJulianDay(e);{let l=fe-1,i=1,s=1;for(;s>0;){l++,s=a-ct(l)+1;let u=Pa(l);if(s===u){i=12;break}else if(s<u){let c=We(l,i);for(i=1;s>c;)s-=c,i++,c=We(l,i);break}}return new _(this,l,i,a-Fa(l,i)+1)}}toJulianDay(e){return e.year<fe||e.year>Be?super.toJulianDay(e):st+Fa(e.year,e.month)+(e.day-1)}getDaysInMonth(e){return e.year<fe||e.year>Be?super.getDaysInMonth(e):We(e.year,e.month)}getDaysInYear(e){return e.year<fe||e.year>Be?super.getDaysInYear(e):Pa(e.year)}constructor(){if(super(),this.identifier="islamic-umalqura",Rt||(Rt=new Uint16Array(Uint8Array.from(atob(gn),e=>e.charCodeAt(0)).buffer)),!Oe){Oe=new Uint32Array(Be-fe+1);let e=0;for(let a=fe;a<=Be;a++){Oe[a-fe]=e;for(let r=1;r<=12;r++)e+=We(a,r)}}}}const Na=347997,Aa=1080,La=24*Aa,yn=29,vn=12*Aa+793,$n=yn*La+vn;function Ce(t){return Ee(t*7+1,19)<7}function ut(t){let e=Math.floor((235*t-234)/19),a=12084+13753*e,r=e*29+Math.floor(a/25920);return Ee(3*(r+1),7)<3&&(r+=1),r}function Dn(t){let e=ut(t-1),a=ut(t);return ut(t+1)-a===356?2:a-e===382?1:0}function Je(t){return ut(t)+Dn(t)}function Ha(t){return Je(t+1)-Je(t)}function kn(t){let e=Ha(t);switch(e>380&&(e-=30),e){case 353:return 0;case 354:return 1;case 355:return 2}}function dt(t,e){if(e>=6&&!Ce(t)&&e++,e===4||e===7||e===9||e===11||e===13)return 29;let a=kn(t);return e===2?a===2?30:29:e===3?a===0?29:30:e===6?Ce(t)?30:0:30}class bn{fromJulianDay(e){let a=e-Na,r=a*La/$n,o=Math.floor((19*r+234)/235)+1,l=Je(o),i=Math.floor(a-l);for(;i<1;)o--,l=Je(o),i=Math.floor(a-l);let s=1,u=0;for(;u<i;)u+=dt(o,s),s++;s--,u-=dt(o,s);let c=i-u;return new _(this,o,s,c)}toJulianDay(e){let a=Je(e.year);for(let r=1;r<e.month;r++)a+=dt(e.year,r);return a+e.day+Na}getDaysInMonth(e){return dt(e.year,e.month)}getMonthsInYear(e){return Ce(e.year)?13:12}getDaysInYear(e){return Ha(e.year)}getYearsInEra(){return 9999}getEras(){return["AM"]}balanceYearMonth(e,a){a.year!==e.year&&(Ce(a.year)&&!Ce(e.year)&&a.month>6?e.month--:!Ce(a.year)&&Ce(e.year)&&a.month>6&&e.month++)}constructor(){this.identifier="hebrew"}}const Vt=1723856,qa=1824665,It=5500;function mt(t,e,a,r){return t+365*e+Math.floor(e/4)+30*(a-1)+r-1}function Bt(t,e){let a=Math.floor(4*(e-t)/1461),r=1+Math.floor((e-mt(t,a,1,1))/30),o=e+1-mt(t,a,r,1);return[a,r,o]}function Ua(t){return Math.floor(t%4/3)}function za(t,e){return e%13!==0?30:Ua(t)+5}class Ot{fromJulianDay(e){let[a,r,o]=Bt(Vt,e),l="AM";return a<=0&&(l="AA",a+=It),new _(this,l,a,r,o)}toJulianDay(e){let a=e.year;return e.era==="AA"&&(a-=It),mt(Vt,a,e.month,e.day)}getDaysInMonth(e){return za(e.year,e.month)}getMonthsInYear(){return 13}getDaysInYear(e){return 365+Ua(e.year)}getYearsInEra(e){return e.era==="AA"?9999:9991}getEras(){return["AA","AM"]}constructor(){this.identifier="ethiopic"}}class Mn extends Ot{fromJulianDay(e){let[a,r,o]=Bt(Vt,e);return a+=It,new _(this,"AA",a,r,o)}getEras(){return["AA"]}getYearsInEra(){return 9999}constructor(...e){super(...e),this.identifier="ethioaa"}}class wn extends Ot{fromJulianDay(e){let[a,r,o]=Bt(qa,e),l="CE";return a<=0&&(l="BCE",a=1-a),new _(this,l,a,r,o)}toJulianDay(e){let a=e.year;return e.era==="BCE"&&(a=1-a),mt(qa,a,e.month,e.day)}getDaysInMonth(e){let a=e.year;return e.era==="BCE"&&(a=1-a),za(a,e.month)}isInverseEra(e){return e.era==="BCE"}balanceDate(e){e.year<=0&&(e.era=e.era==="BCE"?"CE":"BCE",e.year=1-e.year)}getEras(){return["BCE","CE"]}getYearsInEra(e){return e.era==="BCE"?9999:9715}constructor(...e){super(...e),this.identifier="coptic"}}function Sn(t){switch(t){case"buddhist":return new cn;case"ethiopic":return new Ot;case"ethioaa":return new Mn;case"coptic":return new wn;case"hebrew":return new bn;case"indian":return new mn;case"islamic-civil":return new Yt;case"islamic-tbla":return new hn;case"islamic-umalqura":return new pn;case"japanese":return new sn;case"persian":return new dn;case"roc":return new un;case"gregory":default:return new ie}}let Ft=new Map;class ft{format(e){return this.formatter.format(e)}formatToParts(e){return this.formatter.formatToParts(e)}formatRange(e,a){if(typeof this.formatter.formatRange=="function")return this.formatter.formatRange(e,a);if(a<e)throw new RangeError("End date must be >= start date");return`${this.formatter.format(e)} – ${this.formatter.format(a)}`}formatRangeToParts(e,a){if(typeof this.formatter.formatRangeToParts=="function")return this.formatter.formatRangeToParts(e,a);if(a<e)throw new RangeError("End date must be >= start date");let r=this.formatter.formatToParts(e),o=this.formatter.formatToParts(a);return[...r.map(l=>({...l,source:"startRange"})),{type:"literal",value:" – ",source:"shared"},...o.map(l=>({...l,source:"endRange"}))]}resolvedOptions(){let e=this.formatter.resolvedOptions();return Cn()&&(this.resolvedHourCycle||(this.resolvedHourCycle=En(e.locale,this.options)),e.hourCycle=this.resolvedHourCycle,e.hour12=this.resolvedHourCycle==="h11"||this.resolvedHourCycle==="h12"),e.calendar==="ethiopic-amete-alem"&&(e.calendar="ethioaa"),e}constructor(e,a={}){this.formatter=Wa(e,a),this.options=a}}const xn={true:{ja:"h11"},false:{}};function Wa(t,e={}){if(typeof e.hour12=="boolean"&&Tn()){e={...e};let o=xn[String(e.hour12)][t.split("-")[0]],l=e.hour12?"h12":"h23";e.hourCycle=o??l,delete e.hour12}let a=t+(e?Object.entries(e).sort((o,l)=>o[0]<l[0]?-1:1).join():"");if(Ft.has(a))return Ft.get(a);let r=new Intl.DateTimeFormat(t,e);return Ft.set(a,r),r}let Pt=null;function Tn(){return Pt==null&&(Pt=new Intl.DateTimeFormat("en-US",{hour:"numeric",hour12:!1}).format(new Date(2020,2,3,0))==="24"),Pt}let Nt=null;function Cn(){return Nt==null&&(Nt=new Intl.DateTimeFormat("fr",{hour:"numeric",hour12:!1}).resolvedOptions().hourCycle==="h12"),Nt}function En(t,e){if(!e.timeStyle&&!e.hour)return;t=t.replace(/(-u-)?-nu-[a-zA-Z0-9]+/,""),t+=(t.includes("-u-")?"":"-u")+"-nu-latn";let a=Wa(t,{...e,timeZone:void 0}),r=parseInt(a.formatToParts(new Date(2020,2,3,0)).find(l=>l.type==="hour").value,10),o=parseInt(a.formatToParts(new Date(2020,2,3,23)).find(l=>l.type==="hour").value,10);if(r===0&&o===23)return"h23";if(r===24&&o===23)return"h24";if(r===0&&o===11)return"h11";if(r===12&&o===11)return"h12";throw new Error("Unexpected hour cycle result")}te.extend(mr),te.extend(pr),te.extend(ta),te.extend(Mr),te.extend(Tr);function Fe(){const t=new Date;return{year:t.getFullYear(),month:t.getMonth()+1,day:t.getDate()}}function Yn(t){try{const e=$t(),a=Br(e);if(t.calendar.identifier!==a.calendar.identifier){const r=ce(a,t.calendar);return t.compare(r)===0}return t.compare(a)===0}catch(e){return console.error("Error checking if date is today:",e),!1}}function Pe(){const t=new Date;return{year:t.getFullYear(),month:t.getMonth()+1,day:t.getDate(),hour:t.getHours(),minute:t.getMinutes(),second:t.getSeconds()}}function De(t,e,a,r,o,l){const i={year:t,month:e,day:a};return r!==void 0&&(i.hour=r),o!==void 0&&(i.minute=o),l!==void 0&&(i.second=l),i}function oe(t,e="zh-TW",a="gregory"){if(!t)return null;try{if(On(t))return t;if(t instanceof Date&&!isNaN(t.getTime()))return{year:t.getFullYear(),month:t.getMonth()+1,day:t.getDate(),hour:t.getHours(),minute:t.getMinutes(),second:t.getSeconds()};if(typeof t=="string"){const r=Er(t,e,a);return r.success?r.date:null}return null}catch(r){return console.error("Failed to parse date:",r),null}}function ue(t,e="YYYY-MM-DD"){if(!t)return null;try{return te("2000-01-01 00:00:00").year(t.year).month(t.month-1).date(t.day).hour(t.hour||0).minute(t.minute||0).second(t.second||0).format(e)}catch(a){return console.error("Failed to format date:",a),null}}function ht(t,e="iso",a="YYYY-MM-DD",r,o=!1,l="gregory",i="zh-TW",s=!1,u=!0){if(!t)return null;try{switch(e){case"iso":if(o){let c;return u?c=s?"YYYY-MM-DDTHH:mm:ss":"YYYY-MM-DD HH:mm:ss":c=s?"YYYY-MM-DDTHH:mm":"YYYY-MM-DD HH:mm",ue(t,c)}else return ue(t,"YYYY-MM-DD");case"date":return new Date(t.year,t.month-1,t.day,t.hour||0,t.minute||0,t.second||0);case"object":return t;case"custom":return re.formatOutput(t,a,r,o,l,i);default:return console.warn(`不支援的輸出類型: ${e},回退到 ISO 格式`),ue(t,"YYYY-MM-DD")}}catch(c){return console.error("formatOutput 失敗:",c),t}}function gt(t,e){const a=t.year*1e4+t.month*100+t.day,r=e.year*1e4+e.month*100+e.day;return a<r?-1:a>r?1:0}function At(t,e){const a=new Date(t.year,t.month-1,t.day);return a.setDate(a.getDate()+e),{year:a.getFullYear(),month:a.getMonth()+1,day:a.getDate(),hour:t.hour,minute:t.minute,second:t.second}}function Ja(t,e){const a=new Date(t.year,t.month-1,t.day).getTime(),r=new Date(e.year,e.month-1,e.day).getTime();return Math.ceil((r-a)/(1e3*60*60*24))}function Rn(){const t=Pe(),e=De(t.year,t.month,1,0,0,0),a=t.month===12?1:t.month+1,r=t.month===12?t.year+1:t.year,o=De(r,a,1),l=At(o,-1);return{start:e,end:l}}function Vn(t,e){if(!t||typeof t!="string")return!1;try{const a=ja(t);let r=!0;if(e&&(r=Lt(e)),!a)return console.warn(`日期格式語義驗證失敗: "${t}"`),!1;if(e&&!r)return console.warn(`時間格式語義驗證失敗: "${e}"`),!1;const o=te("2000-12-31 23:59:59");let l=!1;try{const c=o.format(t);l=c!==t&&c.length>0}catch(c){console.warn(`日期格式 dayjs 驗證失敗: "${t}"`,c),l=!1}let i=!0;if(e)try{const c=o.format(e);i=c!==e&&c.length>0}catch(c){console.warn(`時間格式 dayjs 驗證失敗: "${e}"`,c),i=!1}let s=!0;if(e)try{const c=`${t} ${e}`,f=o.format(c);s=f!==c&&f.length>0}catch(c){console.warn(`組合格式 dayjs 驗證失敗: "${t} ${e}"`,c),s=!1}return l&&i&&s}catch(a){return console.error("格式驗證時發生錯誤:",a),!1}}function ja(t){const e=["YYYY","YY","MM","M","DD","D"],a=["-","/","."," "];let r=t;a.forEach(h=>{r=r.replace(new RegExp(`\\${h}`,"g")," ")});const o=r.split(/\s+/).filter(Boolean);if(!o.every(h=>e.includes(h)))return!1;const i=o.some(h=>h==="YYYY"||h==="YY"),s=o.some(h=>h==="MM"||h==="M"),u=o.some(h=>h==="DD"||h==="D"),c=o.filter(h=>h==="YYYY"||h==="YY").length,f=o.filter(h=>h==="MM"||h==="M").length,y=o.filter(h=>h==="DD"||h==="D").length;return c>1||f>1||y>1?!1:i&&s&&u}function Lt(t){if(!t||typeof t!="string")return!1;const e=["HH","H","hh","h","mm","m","ss","s","A","a"],r=t.replace(/[^\w]/g," ").split(/\s+/).filter(Boolean);if(!r.every(f=>e.includes(f)))return!1;const l=r.some(f=>["HH","H"].includes(f)),i=r.some(f=>["hh","h"].includes(f)),s=r.some(f=>["mm","m"].includes(f));if(r.some(f=>["A","a"].includes(f)),!(l||i)||!s||i&&l)return!1;const c=e.reduce((f,y)=>(f[y]=r.filter(h=>h===y).length,f),{});return!Object.values(c).some(f=>f>1)}function In(t){return t.replace(/yyyy/g,"YYYY").replace(/yy/g,"YY").replace(/mm/g,"MM").replace(/dd/g,"DD")}function Bn(t){let e=t;return e=e.replace(/HH/g,"HH").replace(/hh/g,"hh").replace(/MM/g,"mm").replace(/SS/g,"ss").replace(/aa/g,"a").replace(/AA/g,"A"),e}function On(t){return!t||typeof t!="object"?!1:typeof t.year=="number"&&typeof t.month=="number"&&typeof t.day=="number"}class Ht{id="roc";yearRange={min:1,max:200};displayName={"zh-TW":"民國曆","zh-CN":"民国历","en-US":"ROC Calendar","ja-JP":"中華民国暦","ko-KR":"중화민국력"};YEAR_OFFSET=1911;parseInput(e,a){if(!e||typeof e!="string")return null;const o=e.trim().replace(/^(民國|民国|ROC\s*)/i,"").trim();if(/[上下]午|時|分|秒|\d{1,2}:\d{2}/.test(o))return this.parseDateTime(o);{if(/\d+年\d+月\d+日/.test(o))return this.parseDatePart(o);const i=o.replace(/[年月日時分秒]/g,""),s=["-","/","."," "];for(const u of s){const c=this.tryParseWithSeparator(i,u);if(c)return c}}return null}parseDateTime(e){const a=e.match(/^(\d+年\d+月\d+日)\s*(.*)$/);if(!a)return null;const[,r,o]=a;if(!r)return null;const l=this.parseDatePart(r);if(!l)return null;if(!o)return l;const i=this.parseTimePart(o);return i?{...l,...i}:l}parseDatePart(e){const a=e.match(/(\d+)年(\d+)月(\d+)日/);if(!a)return null;const[,r,o,l]=a,i=parseInt(r||"0"),s=parseInt(o||"0"),u=parseInt(l||"0");return this.validateAndConvertRocDate(i,s,u)}parseTimePart(e){if(!e)return null;const a=e.trim(),r=a.match(/(上午|下午)\s*(\d{1,2})時(\d{2})分(?:(\d{2})秒)?/);if(r){const[,l,i,s,u]=r;let c=parseInt(i||"0");const f=parseInt(s||"0"),y=u?parseInt(u):0;return l==="下午"&&c!==12?c+=12:l==="上午"&&c===12&&(c=0),c<0||c>23||f<0||f>59||y<0||y>59?null:{hour:c,minute:f,second:y}}const o=a.match(/(\d{1,2}):(\d{2})(?::(\d{2}))?/);if(o){const[,l,i,s]=o,u=parseInt(l||"0"),c=parseInt(i||"0"),f=s?parseInt(s):0;return u<0||u>23||c<0||c>59||f<0||f>59?null:{hour:u,minute:c,second:f}}return null}canParseInput(e){return/^(民國|民国|ROC\s*)/i.test(e.trim())}tryParseWithSeparator(e,a){const r=e.split(a).map(s=>s.trim()).filter(Boolean);if(r.length<3)return null;const o=parseInt(r[0]||"0"),l=parseInt(r[1]||"0"),i=parseInt(r[2]||"0");return this.validateAndConvertRocDate(o,l,i)}validateAndConvertRocDate(e,a,r){if(isNaN(e)||isNaN(a)||isNaN(r)||e<this.yearRange.min||e>this.yearRange.max)return null;const o=e+this.YEAR_OFFSET;if(a<1||a>12||r<1||r>31)return null;const l=`${o}-${a.toString().padStart(2,"0")}-${r.toString().padStart(2,"0")}`,i=te(l,"YYYY-MM-DD",!0);return!i.isValid()||i.year()!==o||i.month()+1!==a||i.date()!==r?null:{year:o,month:a,day:r}}supportsFormat(e){return e.includes("ROC-")||e.includes("民國")}format(e,a,r){if(!this.supportsFormat(a))throw new Error(`RocFormatPlugin 不支援格式: ${a}`);const o=e.hour!==void 0&&e.hour!==null,l=a.split(" "),i=l[0]||a,s=l.slice(1).join(" "),u=this.formatDatePart(e,i,r);if(s&&o){const c=this.detectTimeFormat(s),f=this.formatTimePart(e,s,c);return`${u} ${f}`}return u}detectTimeFormat(e){return!e.includes("A")&&!e.includes("a")&&!e.includes("hh")}formatDatePart(e,a,r){const o=e.year-this.YEAR_OFFSET,l=e.month,i=e.day,s={"ROC-YYYY":`民國${o}年`,"ROC-YYYY-MM-DD":`民國${o}年${l.toString().padStart(2,"0")}月${i.toString().padStart(2,"0")}日`,"ROC-YYYY/MM/DD":`民國${o}/${l.toString().padStart(2,"0")}/${i.toString().padStart(2,"0")}`,"ROC-NUM-YYYY-MM-DD":`${o}-${l.toString().padStart(2,"0")}-${i.toString().padStart(2,"0")}`,"ROC-NUM-YYYY/MM/DD":`${o}/${l.toString().padStart(2,"0")}/${i.toString().padStart(2,"0")}`};if(s[a])return s[a];const u=new Date(e.year,e.month-1,e.day);let c=te(u).format(a);if(a.includes("YYYY"))c=c.replace(e.year.toString(),o.toString());else if(a.includes("YY")){const f=e.year.toString().slice(-2),y=o.toString().slice(-2);c=c.replace(f,y)}return c}formatTimePart(e,a,r){if(!e)return"";const o=e.hour||0,l=e.minute||0,i=e.second||0,s=this.getFormattedTime(o,l,i,a,r);return s||this.fallbackToDateJs(e,a,r)}getFormattedTime(e,a,r,o,l){if(l){const i={"HH:mm:ss":()=>this.formatBasicTime(e,a,r,!0),"HH:mm":()=>this.formatBasicTime(e,a,0,!1),HH時mm分ss秒:()=>this.formatChineseTime(e,a,r,!0),HH時mm分:()=>this.formatChineseTime(e,a,0,!1)};if(i[o])return i[o]()}else{const i={"hh:mm:ss A":()=>this.format12HourTime(e,a,r,!0,"suffix"),"hh:mm A":()=>this.format12HourTime(e,a,0,!1,"suffix"),"h:mm A":()=>this.format12HourTime(e,a,0,!1,"suffix",!1),"A hh:mm:ss":()=>this.format12HourTime(e,a,r,!0,"prefix"),"A hh:mm":()=>this.format12HourTime(e,a,0,!1,"prefix"),"A HH時mm分ss秒":()=>this.format12HourTime(e,a,r,!0,"chinese"),"A HH時mm分":()=>this.format12HourTime(e,a,0,!1,"chinese")};if(i[o])return i[o]()}return null}formatBasicTime(e,a,r,o){const l=e.toString().padStart(2,"0"),i=a.toString().padStart(2,"0");if(o){const s=r.toString().padStart(2,"0");return`${l}:${i}:${s}`}return`${l}:${i}`}formatChineseTime(e,a,r,o){const l=e.toString().padStart(2,"0"),i=a.toString().padStart(2,"0");if(o){const s=r.toString().padStart(2,"0");return`${l}時${i}分${s}秒`}return`${l}時${i}分`}format12HourTime(e,a,r,o,l,i=!0){const s=e<12?"上午":"下午",u=e===0?12:e>12?e-12:e,c=i?u.toString().padStart(2,"0"):u.toString(),f=a.toString().padStart(2,"0"),y=o?r.toString().padStart(2,"0"):"";switch(l){case"suffix":return o?`${c}:${f}:${y} ${s}`:`${c}:${f} ${s}`;case"prefix":return o?`${s} ${c}:${f}:${y}`:`${s} ${c}:${f}`;case"chinese":return o?`${s} ${c}時${f}分${y}秒`:`${s} ${c}時${f}分`;default:return""}}fallbackToDateJs(e,a,r){const o=new Date(e.year,e.month-1,e.day,e.hour||0,e.minute||0,e.second||0);if(!o||isNaN(o.getTime()))return"";let l=te(o).format(a);return!r&&(a.includes("A")||a.includes("a"))&&(l=l.replace(/AM/g,"上午").replace(/PM/g,"下午"),l=l.replace(/am/g,"上午").replace(/pm/g,"下午")),l}}class re{static createSafeCalendar(e){try{return Sn(e)}catch(a){return console.warn(`無法創建日曆 ${e},回退到西元曆:`,a),new ie}}static safeToCalendar(e,a){try{return ce(e,a)}catch(r){return console.warn("日曆轉換失敗,返回原始日期:",r),e}}static convertToCalendarDateSmart=(e,a)=>e?e.hour!==void 0||e.minute!==void 0||e.second!==void 0?this.convertToCalendarDateTime(e,a):this.convertToCalendarDate(e,a):null;static convertToCalendarDate=(e,a)=>{if(!e||e.year<=0||e.month<=0||e.day<=0||e.month>12||e.day>31)return null;try{if(a==="gregory")return new _(e.year,e.month,e.day);{const r=this.createSafeCalendar(a),o=new _(e.year,e.month,e.day);return this.safeToCalendar(o,r)}}catch(r){return console.error("轉換為 CalendarDate 失敗:",r),null}};static convertToCalendarDateTime=(e,a)=>{if(!e)return null;try{if(a==="gregory")return new Ve(e.year,e.month,e.day,e.hour||0,e.minute||0,e.second||0);{const r=this.createSafeCalendar(a),o=new Ve(e.year,e.month,e.day,e.hour||0,e.minute||0,e.second||0);return ce(o,r)}}catch(r){return console.error("轉換為 CalendarDateTime 失敗:",r),null}};static convertFromCalendarDate=(e,a)=>{if(!e)return null;try{if(e.calendar.identifier==="gregory"||a==="gregory")return{year:e.year,month:e.month,day:e.day};{const r=this.createSafeCalendar("gregory"),o=this.safeToCalendar(e,r);return{year:o.year,month:o.month,day:o.day}}}catch(r){return console.error("轉換從 CalendarDate 失敗:",r),null}};static generateCalendarDays(e,a,r,o,l=0){try{if(!this.isCalendarSupported(r))return console.warn(`不支持的日曆系統: ${r}`),[];const i=this.createSafeCalendar(r),s=new _(e,a,1),u=r==="gregory"?s:this.safeToCalendar(s,i),c=Ar(u,o)??6,y=(sa(u,o)-l+7)%7,h=u.subtract({days:y}),x=[];let S=h;const m=c*7;for(let g=0;g<m;g++)x.push(S),S=S.add({days:1});return x}catch(i){return console.error("生成日曆網格失敗:",i),[]}}static getCalendarRange(e){const a=new Date().getFullYear();return{gregory:{min:1,max:a+100},japanese:{min:1868,max:a+100},roc:{min:1912,max:a+100},buddhist:{min:544,max:a+643},islamic:{min:622,max:a+100},persian:{min:622,max:a+100},hebrew:{min:1,max:a+3860}}[e]||{min:1,max:a+100}}static convertGregorianYear(e,a){if(a==="gregory")return{localYear:e,isValid:!0};try{const r=new _(e,1,1),o=this.createSafeCalendar(a),l=this.safeToCalendar(r,o),i=this.getCalendarRange(a),s=e>=i.min&&e<=i.max;return{localYear:l.year,isValid:s}}catch(r){return console.warn(`年份轉換失敗 ${e} -> ${a}:`,r),{localYear:e,isValid:!1}}}static convertToGregorianYear(e,a){if(a==="gregory")return e;try{const r=this.createSafeCalendar(a),o=new _(r,e,1,1);return this.safeToCalendar(o,new ie).year}catch(r){return console.warn(`年份轉換失敗 ${e} ${a} -> Gregory:`,r),e}}static getMonthNames(e,a="gregory"){try{const r=new Intl.DateTimeFormat(e,{month:"short"});return Array.from({length:12},(o,l)=>{const i=new Date(2e3,l,1);return r.format(i)})}catch(r){return console.warn(`獲取月份名稱失敗 ${a}:`,r),e.startsWith("zh")?Array.from({length:12},(o,l)=>`${l+1}月`):e.startsWith("ja")?Array.from({length:12},(o,l)=>`${l+1}月`):["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}}static getCalendarDisplayName(e,a="zh-TW"){const r={gregory:{"zh-TW":"西元","zh-CN":"西元","en-US":"Gregorian","ja-JP":"西暦","ko-KR":"서력"},roc:{"zh-TW":"民國","zh-CN":"民国","en-US":"ROC","ja-JP":"中華民国","ko-KR":"중화민국"},buddhist:{"zh-TW":"佛曆","zh-CN":"佛历","en-US":"Buddhist","ja-JP":"仏暦","ko-KR":"불력"},japanese:{"zh-TW":"和曆","zh-CN":"和历","en-US":"Japanese","ja-JP":"和暦","ko-KR":"일본력"},islamic:{"zh-TW":"伊斯蘭曆","zh-CN":"伊斯兰历","en-US":"Islamic","ja-JP":"イスラム暦","ko-KR":"이슬람력"},persian:{"zh-TW":"波斯曆","zh-CN":"波斯历","en-US":"Persian","ja-JP":"ペルシア暦","ko-KR":"페르시아력"},hebrew:{"zh-TW":"希伯來曆","zh-CN":"希伯来历","en-US":"Hebrew","ja-JP":"ヘブライ暦","ko-KR":"히브리력"}};return r[e]?.[a]||r[e]?.["en-US"]||e}static isValidDate(e,a,r,o){try{if(!this.isCalendarSupported(o))return console.warn(`不支持的日曆系統: ${o}`),!1;if(e<=0||a<=0||r<=0||a>12||r>31)return!1;let l;if(o==="gregory")l=new _(e,a,r);else{const s=this.createSafeCalendar(o);l=new _(s,e,a,r)}return l.year===e&&l.month===a&&l.day===r}catch(l){return console.warn(`日期驗證失敗 ${e}-${a}-${r} in ${o}:`,l),!1}}static isCalendarSupported(e){return["gregory","buddhist","ethiopic","ethioaa","coptic","hebrew","indian","islamic-civil","islamic-tbla","islamic-umalqura","japanese","persian","roc"].includes(e)}static formatOutput(e,a="YYYY-MM-DD",r,o=!1,l="gregory",i="zh-TW"){if(!e)return"";let s;if(o&&r)s=`${a} ${r}`;else if(o){const u=e.hour!==void 0||e.minute!==void 0||e.second!==void 0;s=`${a} HH:mm:ss`}else s=a;try{switch(l){case"gregory":Vn(a,r)||(s=e.hour!==void 0||e.minute!==void 0||e.second!==void 0?"YYYY-MM-DD HH:mm:ss":"YYYY-MM-DD");const f=new Date(e.year,e.month-1,e.day,e.hour||0,e.minute||0,e.second||0);return te(f).format(s);case"roc":const y=new Ht;if(y.supportsFormat(s)&&y.canParseInput(s))return y.format(e,s,i);break;case"buddhist":case"japanese":case"islamic":case"persian":case"hebrew":break}const u=this.convertToCalendarDateSmart(e,l);if(u){const f=e.hour!==void 0||e.minute!==void 0||e.second!==void 0,y={calendar:l,year:"numeric",month:"long",day:"numeric"};return f&&(y.hour="numeric",y.minute="numeric",e.second!==void 0&&(y.second="numeric")),new ft(i,y).format(u.toDate(Intl.DateTimeFormat().resolvedOptions().timeZone))}const c=new Date(e.year,e.month-1,e.day,e.hour||0,e.minute||0,e.second||0);return te(c).format(s)}catch(u){console.warn("所有格式化方法都失敗,使用基本回退:",u);let c=`${e.year}-${e.month.toString().padStart(2,"0")}-${e.day.toString().padStart(2,"0")}`;return(e.hour!==void 0||e.minute!==void 0||e.second!==void 0)&&(c+=` ${(e.hour||0).toString().padStart(2,"0")}:${(e.minute||0).toString().padStart(2,"0")}`,e.second!==void 0&&(c+=`:${e.second.toString().padStart(2,"0")}`)),c}}}const{convertToCalendarDate:rs,convertFromCalendarDate:ns,createSafeCalendar:os,safeToCalendar:ls,generateCalendarDays:ss,convertGregorianYear:is,convertToGregorianYear:cs,getCalendarRange:us,getMonthNames:ds,getCalendarDisplayName:ms,isCalendarSupported:fs,formatOutput:hs}=re,Ne=t=>/^\d+$/.test(t),Ka=t=>t%4===0&&t%100!==0||t%400===0;let ke=null;function Fn(){return ke||(ke=document.createElement("span"),ke.style.visibility="hidden",ke.style.position="absolute",ke.style.top="-9999px",ke.style.left="-9999px",ke.style.whiteSpace="pre",document.body.appendChild(ke)),ke}const qt=new WeakMap;function Pn(t,e=""){const a=Fn(),r=getComputedStyle(t);return a.style.font=r.font,a.style.fontSize=r.fontSize,a.style.fontWeight=r.fontWeight,a.style.letterSpacing=r.letterSpacing,a.style.padding=r.padding,a.style.border=r.border,a.style.boxSizing=r.boxSizing,a.textContent=t.value||e||"",a.offsetWidth+4}function je(t){const e=t.placeholder||"",a=Pn(t,e),r=qt.get(t)||0;t.style.width=`${Math.max(a,r)}px`}const Ae={mounted(t,e){e.value&&typeof e.value=="number"&&qt.set(t,e.value),je(t),t.addEventListener("input",()=>je(t)),document.fonts&&document.fonts.ready&&document.fonts.ready.then(()=>je(t))},updated(t,e){e.value&&typeof e.value=="number"&&e.oldValue!==e.value&&qt.set(t,e.value),je(t)},beforeUnmount(t){t.removeEventListener("input",()=>je(t))}},Nn={class:"date-input-container flex items-center justify-start"},An=["placeholder","aria-invalid","aria-errormessage","id","disabled"],Ln=["placeholder","aria-invalid","aria-errormessage","id","disabled"],Hn=["placeholder","aria-invalid","aria-errormessage","id","disabled"],qn={key:3,class:"text-gray-400"},Un=n.defineComponent({__name:"DateInput",props:{modelValue:{default:null},yearPlaceholder:{default:""},monthPlaceholder:{default:""},dayPlaceholder:{default:""},minDate:{default:null},maxDate:{default:null},required:{type:Boolean,default:!0},separator:{default:"-"},dateFormat:{default:"YYYY-MM-DD"},inputId:{default:void 0},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","validation","complete"],setup(t,{expose:e,emit:a}){const r={mounted:Ae.mounted,updated:Ae.updated,beforeUnmount:Ae.beforeUnmount},o=t,l=a,i=n.ref(""),s=n.ref(""),u=n.ref(""),c=n.ref({}),f=n.ref({}),y=n.ref(null),h=n.ref(!1),x=n.ref(!1),S=n.ref(null),m=n.ref(new Map),g=(R,C)=>{R&&R instanceof HTMLInputElement?m.value.set(C,R):m.value.delete(C)},d=R=>m.value.get(R),w=n.computed(()=>{const R={};return Object.entries(c.value).forEach(([C,N])=>{R[C]=N.key}),R}),T=n.computed(()=>Object.keys(c.value).length>0),b=n.computed(()=>Object.values(w.value)),p=n.computed(()=>{const R=o.dateFormat.toUpperCase(),C=[];return R.split(/[^A-Z]+/).filter(Boolean).forEach(J=>{J.includes("Y")?C.push("year"):J.includes("M")?C.push("month"):J.includes("D")&&C.push("day")}),C.length!==3?(console.warn(`Invalid date format: ${o.dateFormat}, falling back to YYYY-MM-DD`),["year","month","day"]):C}),D=n.computed(()=>{if(!i.value||!s.value||!u.value)return null;const R=i.value.padStart(4,"0"),C=s.value.padStart(2,"0"),N=u.value.padStart(2,"0");return`${R}-${C}-${N}`}),v=n.computed(()=>{if(!D.value)return null;const R=te(D.value);return R.isValid()?R.format(o.dateFormat):null});n.watch(()=>o.modelValue,R=>{if(h.value||(h.value=!0),R){const C=oe(R);C&&(i.value=C.year.toString(),s.value=C.month.toString().padStart(2,"0"),u.value=C.day.toString().padStart(2,"0"))}else i.value="",s.value="",u.value="";R||(S.value=null,x.value=!1)},{immediate:!0});const $=()=>{if(p.value.length===0)return;const R=p.value[0],C=d(R);if(C&&typeof C.focus=="function")try{C.focus()}catch(N){console.warn("無法聚焦到輸入框:",N)}else for(const N of p.value){const J=d(N);if(J&&typeof J.focus=="function")try{J.focus();break}catch(E){console.warn("無法聚焦到輸入框:",E)}}},k=R=>{const C=d(R);if(C&&typeof C.focus=="function")try{C.focus()}catch(N){console.warn(`無法聚焦到 ${R} 輸入框:`,N)}},B=(R,C)=>{const N=d(R);if(N)try{if(typeof N.focus=="function"&&N.focus(),typeof N.setSelectionRange=="function"){const J=C==="end"?N.value.length:0;N.setSelectionRange(J,J)}}catch(J){console.warn(`無法聚焦或設置游標位置到 ${R} 輸入框:`,J)}},O=(R,C)=>{const N=[0,31,28,31,30,31,30,31,31,30,31,30,31];return C===2?Ka(R)?29:28:N[C]??31},q=(R,C)=>{if(!C)return{valid:!0};const N=parseInt(C);switch(R){case"year":if(C.length<4)return{valid:!0};const J=o.maxDate?te(o.maxDate).year():new Date().getFullYear()+50,E=o.minDate?te(o.minDate).year():1;if(!Ne(C)||N<E||N>J)return{valid:!1,error:{key:"year.outOfRange",params:{min:E,max:J}}};if(s.value==="02"&&u.value==="29"&&!Ka(N))return{valid:!1,error:{key:"year.notLeapYear",params:{year:N}}};break;case"month":if(!Ne(C)||N<1||N>12)return{valid:!1,error:{key:"month.outOfRange"}};if(u.value&&i.value){const H=parseInt(i.value),Q=O(H,N);if(parseInt(u.value)>Q)return{valid:!1,error:{key:"day.notExistInMonth",params:{month:C,maxDays:Q}}}}break;case"day":if(!Ne(C)||N<1||N>31)return{valid:!1,error:{key:"day.outOfRange"}};if(i.value&&s.value){const H=parseInt(i.value),Q=parseInt(s.value),ne=O(H,Q);if(N>ne)return Q===2&&N===29?{valid:!1,error:{key:"year.notLeapYear",params:{year:H}}}:{valid:!1,error:{key:"day.notExistInMonth",params:{month:s.value,maxDays:ne}}}}break}return c.value[R]&&(delete c.value[R],delete f.value[R]),{valid:!0}},K=()=>{if(!h.value)return;c.value={},f.value={};const R=q("year",i.value),C=q("month",s.value),N=q("day",u.value);if(!R.valid&&R.error&&(c.value.year=R.error,R.error.params&&(f.value.year=R.error.params)),!C.valid&&C.error&&(c.value.month=C.error,C.error.params&&(f.value.month=C.error.params)),!N.valid&&N.error&&(c.value.day=N.error,N.error.params&&(f.value.day=N.error.params)),o.required&&(i.value||(c.value.year={key:"year.required"}),s.value||(c.value.month={key:"month.required"}),u.value||(c.value.day={key:"day.required"})),D.value&&Object.keys(c.value).length===0){const J=te(D.value);if(!J.isValid())c.value.day={key:"day.invalid"};else if(o.minDate&&J.isBefore(te(o.minDate)))c.value.day={key:"date.beforeMin",params:{minDate:te(o.minDate).format(o.dateFormat)}},f.value.day={minDate:te(o.minDate).format(o.dateFormat)};else if(o.maxDate&&J.isAfter(te(o.maxDate)))c.value.day={key:"date.afterMax",params:{maxDate:te(o.maxDate).format(o.dateFormat)}},f.value.day={maxDate:te(o.maxDate).format(o.dateFormat)};else if(v.value){l("update:modelValue",v.value);const E=v.value;E!==S.value&&!x.value&&(S.value=E,l("complete",v.value))}}else h.value&&!i.value&&!s.value&&!u.value&&(l("update:modelValue",null),S.value=null);l("validation",!T.value,w.value,f.value)},U=()=>{i.value="",s.value="",u.value="",c.value={}},W=R=>{const C=p.value.findIndex(J=>J===R),N=C<p.value.length-1?p.value[C+1]:null;N?n.nextTick(()=>{k(N)}):K()},I=(R,C,N,J)=>{const E=C.replace(/\D/g,"");if(E.length===1&&x.value&&(x.value=!1),E.length<=N){if(J&&E.length===1&&parseInt(E)>J){const H=E.padStart(2,"0");R==="year"?i.value=H:R==="month"?s.value=H:R==="day"&&(u.value=H),W(R)}else R==="year"?i.value=E:R==="month"?s.value=E:R==="day"&&(u.value=E);E.length===N&&W(R)}},Y=R=>{const C=R.target;I("year",C.value,4)},M=R=>{const C=R.target;I("month",C.value,2,1)},F=R=>{const C=R.target;I("day",C.value,2,3)},L=()=>{n.nextTick(()=>{if(p.value.length===0)return;const R=p.value[p.value.length-1],C=d(R);if(C&&typeof C.focus=="function")try{C.focus();const N=C.value.length;C.setSelectionRange(N,N)}catch(N){console.warn("無法聚焦到最後一個輸入框:",N)}})},j=(R,C)=>{const N=R.target,J=p.value.findIndex(Q=>Q===C),E=J>0?p.value[J-1]:null,H=J<p.value.length-1?p.value[J+1]:null;R.key==="Backspace"&&N.value===""&&E&&(R.preventDefault(),x.value=!0,B(E,"end")),R.key==="ArrowLeft"&&N.selectionStart===0&&E&&(R.preventDefault(),x.value=!0,B(E,"end")),R.key==="ArrowRight"&&N.selectionStart===N.value.length&&H&&(R.preventDefault(),x.value=!0,B(H,"start")),R.key==="Enter"&&K()},ae=R=>{y.value=R},ee=R=>{K(),y.value=null};return e({validate:K,reset:()=>{U(),l("update:modelValue",null)},getErrors:()=>({...c.value}),hasErrors:()=>T.value,errorMessages:()=>b.value,focus:$,focusLast:L,setDate:R=>{if(R){const C=oe(R);C&&(i.value=C.year.toString(),s.value=C.month.toString().padStart(2,"0"),u.value=C.day.toString().padStart(2,"0"),K())}else U(),l("update:modelValue",null)},resetCompletionState:()=>{x.value=!1,S.value=null}}),(R,C)=>(n.openBlock(),n.createElementBlock("div",Nn,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(p.value,(N,J)=>(n.openBlock(),n.createElementBlock(n.Fragment,{key:N},[N==="year"?n.withDirectives((n.openBlock(),n.createElementBlock("input",{key:0,ref_for:!0,ref:E=>g(E,"year"),"onUpdate:modelValue":C[0]||(C[0]=E=>i.value=E),type:"text",inputmode:"numeric",placeholder:t.yearPlaceholder,maxlength:4,class:"date-input text-sm text-center active:bg-vdt-theme-100",onInput:Y,onKeydown:C[1]||(C[1]=E=>j(E,"year")),onFocus:C[2]||(C[2]=E=>ae("year")),onBlur:C[3]||(C[3]=E=>ee()),"aria-label":"year","aria-invalid":!!w.value.year,"aria-errormessage":w.value.year?"year-error":void 0,id:J===0&&t.inputId?t.inputId:void 0,disabled:t.disabled},null,40,An)),[[n.vModelText,i.value],[r,20]]):N==="month"?n.withDirectives((n.openBlock(),n.createElementBlock("input",{key:1,ref_for:!0,ref:E=>g(E,"month"),"onUpdate:modelValue":C[4]||(C[4]=E=>s.value=E),type:"text",inputmode:"numeric",placeholder:t.monthPlaceholder,maxlength:2,class:"date-input text-sm text-center",onInput:M,onKeydown:C[5]||(C[5]=E=>j(E,"month")),onFocus:C[6]||(C[6]=E=>ae("month")),onBlur:C[7]||(C[7]=E=>ee()),"aria-label":"month","aria-invalid":!!w.value.month,"aria-errormessage":w.value.month?"month-error":void 0,id:J===0&&t.inputId?t.inputId:void 0,disabled:t.disabled},null,40,Ln)),[[n.vModelText,s.value],[r,20]]):N==="day"?n.withDirectives((n.openBlock(),n.createElementBlock("input",{key:2,ref_for:!0,ref:E=>g(E,"day"),"onUpdate:modelValue":C[8]||(C[8]=E=>u.value=E),type:"text",inputmode:"numeric",placeholder:t.dayPlaceholder,maxlength:2,class:"date-input text-sm text-center",onInput:F,onKeydown:C[9]||(C[9]=E=>j(E,"day")),onFocus:C[10]||(C[10]=E=>ae("day")),onBlur:C[11]||(C[11]=E=>ee()),"aria-label":"day","aria-invalid":!!w.value.day,"aria-errormessage":w.value.day?"day-error":void 0,id:J===0&&t.inputId?t.inputId:void 0,disabled:t.disabled},null,40,Hn)),[[n.vModelText,u.value],[r,20]]):n.createCommentVNode("",!0),J<p.value.length-1?(n.openBlock(),n.createElementBlock("span",qn,n.toDisplayString(t.separator),1)):n.createCommentVNode("",!0)],64))),128))]))}}),Se=(t,e)=>{const a=t.__vccOpts||t;for(const[r,o]of e)a[r]=o;return a},Ut=Se(Un,[["__scopeId","data-v-28be7475"]]),zn={class:"time-input-container flex items-center justify-center"},Wn=["placeholder","aria-invalid","aria-errormessage","disabled"],Jn=["placeholder","aria-invalid","aria-errormessage","disabled"],jn=["placeholder","aria-invalid","aria-errormessage","disabled"],zt=Se(n.defineComponent({__name:"TimeInput",props:{modelValue:{default:null},hourPlaceholder:{default:"HH"},minutePlaceholder:{default:"MM"},secondPlaceholder:{default:"SS"},enableSeconds:{type:Boolean,default:!0},use24Hour:{type:Boolean,default:!0},required:{type:Boolean,default:!1},locale:{default:"zh-TW"},useLocalizedPeriod:{type:Boolean,default:!1},minuteStep:{default:1},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","validation","complete","navigate-to-date"],setup(t,{expose:e,emit:a}){const r={mounted:Ae.mounted,updated:Ae.updated,beforeUnmount:Ae.beforeUnmount},o=t,l=a,i=n.ref(""),s=n.ref(""),u=n.ref(""),c=n.ref("AM"),f=n.ref({}),y=n.ref({}),h=n.ref(null),x=n.ref(!1),S=n.ref(),m=n.ref(),g=n.ref(),d=n.computed(()=>Object.keys(f.value).length>0),w=n.computed(()=>{const I={};return Object.entries(f.value).forEach(([Y,M])=>{I[Y]=M.key}),I}),T=()=>{i.value="",s.value="",u.value="",c.value="AM"},b=n.computed(()=>{if(!o.useLocalizedPeriod)return c.value;try{const I=new Date;I.setHours(9,0,0);const Y=new Date;Y.setHours(15,0,0);const M=new Intl.DateTimeFormat(o.locale,{hour:"numeric",hour12:!0}),F=M.formatToParts(I),L=M.formatToParts(Y),j=F.find(ee=>ee.type==="dayPeriod")?.value||"AM",ae=L.find(ee=>ee.type==="dayPeriod")?.value||"PM";return c.value==="AM"?j:ae}catch(I){return console.error("Error getting localized period:",I),c.value}}),p=n.computed(()=>b.value),D=n.computed(()=>{if(i.value===""||s.value===""||o.enableSeconds&&u.value==="")return null;let I=parseInt(i.value,10);o.use24Hour||(c.value==="PM"&&I<12?I+=12:c.value==="AM"&&I===12&&(I=0));const Y=I.toString().padStart(2,"0"),M=s.value.padStart(2,"0");if(o.enableSeconds){const F=u.value.padStart(2,"0");return`${Y}:${M}:${F}`}else return`${Y}:${M}`});n.watch(()=>o.modelValue,I=>{if(x.value||(x.value=!0),I){const Y=I.split(":");let M=parseInt(Y[0]||"0",10);const F=(Y[1]||"").replace(/\D/g,""),L=(Y[2]||"").replace(/\D/g,"");o.use24Hour||(M>=12?(c.value="PM",M=M===12?12:M-12):(c.value="AM",M=M===0?12:M)),i.value=M.toString().padStart(2,"0"),s.value=F,o.enableSeconds&&(u.value=L)}else T()},{immediate:!0});const v=(I,Y)=>{if(!Y)return{valid:!0};const M=parseInt(Y);switch(I){case"hour":const F=o.use24Hour?23:12,L=o.use24Hour?0:1;if(!Ne(Y)||M<L||M>F)return{valid:!1,error:{key:"time.hourOutOfRange",params:{min:L,max:F}}};break;case"minute":if(!Ne(Y)||M<0||M>59)return{valid:!1,error:{key:"time.minuteOutOfRange",params:{min:0,max:59}}};if(o.minuteStep>1&&M%o.minuteStep!==0)return{valid:!1,error:{key:"time.minuteStepInvalid",params:{step:o.minuteStep}}};break;case"second":if(!Ne(Y)||M<0||M>59)return{valid:!1,error:{key:"time.secondOutOfRange",params:{min:0,max:59}}};break}return f.value[I]&&(delete f.value[I],delete y.value[I]),{valid:!0}},$=()=>{c.value=c.value==="AM"?"PM":"AM",k()},k=()=>{if(!x.value)return;f.value={},y.value={};const I=v("hour",i.value),Y=v("minute",s.value),M=o.enableSeconds?v("second",u.value):{valid:!0};!I.valid&&I.error&&(f.value.hour=I.error,I.error.params&&(y.value.hour=I.error.params)),!Y.valid&&Y.error&&(f.value.minute=Y.error,Y.error.params&&(y.value.minute=Y.error.params)),!M.valid&&M.error&&(f.value.second=M.error,M.error.params&&(y.value.second=M.error.params)),o.required&&(i.value||(f.value.hour={key:"time.hourRequired"}),s.value||(f.value.minute={key:"time.minuteRequired"}),o.enableSeconds&&!u.value&&(f.value.second={key:"time.secondRequired"})),l("validation",!d.value,w.value,y.value),D.value?(l("update:modelValue",D.value),l("complete",D.value)):x.value&&l("update:modelValue",null)},B=I=>{const M=I.target.value.replace(/\D/g,"");if(M.length<=2){if(i.value=M,!v("hour",M).valid)return;(M.length===2||o.use24Hour&&parseInt(M)>2||!o.use24Hour&&parseInt(M)>1)&&n.nextTick(()=>{m.value?.focus()})}},O=I=>{const M=I.target.value.replace(/\D/g,"");if(M.length<=2){if(M.length===1&&parseInt(M)>5?(s.value=M.padStart(2,"0"),n.nextTick(()=>{o.enableSeconds&&g.value?g.value.focus():k()})):s.value=M,!v("minute",M).valid)return;M.length===2&&n.nextTick(()=>{o.enableSeconds&&g.value?g.value.focus():k()})}},q=I=>{const M=I.target.value.replace(/\D/g,"");if(M.length<=2){if(M.length===1&&parseInt(M)>5?(u.value=M.padStart(2,"0"),k()):u.value=M,!v("second",M).valid)return;M.length===2&&k()}},K=(I,Y)=>{const M=I.target;if(I.key==="Backspace"&&M.value==="")switch(Y){case"hour":I.preventDefault(),l("navigate-to-date");break;case"minute":I.preventDefault(),S.value?.focus(),S.value?.setSelectionRange(-1,-1);break;case"second":I.preventDefault(),m.value?.focus(),m.value?.setSelectionRange(-1,-1);break}if(I.key==="ArrowLeft"&&M.selectionStart===0)switch(Y){case"hour":I.preventDefault(),l("navigate-to-date");break;case"minute":I.preventDefault(),S.value?.focus(),S.value?.setSelectionRange(-1,-1);break;case"second":I.preventDefault(),m.value?.focus(),m.value?.setSelectionRange(-1,-1);break}if(I.key==="ArrowRight"&&M.selectionStart===M.value.length)switch(Y){case"hour":I.preventDefault(),m.value?.focus(),m.value?.setSelectionRange(0,0);break;case"minute":o.enableSeconds&&(I.preventDefault(),g.value?.focus(),g.value?.setSelectionRange(0,0));break}I.key==="Enter"&&k()},U=I=>{h.value=I},W=I=>{h.value=null,k()};return e({validate:k,reset:()=>{T(),f.value={},y.value={},l("update:modelValue",null)},getErrors:()=>w.value,hasErrors:d,setTime:I=>{if(I){const[Y,M,F]=I.split(":");let L=parseInt(Y||"0");o.use24Hour||(L>=12?(c.value="PM",L=L===12?12:L-12):(c.value="AM",L=L===0?12:L)),i.value=L.toString().padStart(2,"0"),s.value=M||"",o.enableSeconds&&F&&(u.value=F||""),k()}else T(),l("update:modelValue",null)},focus:()=>{S.value?.focus()},focusLast:()=>{o.enableSeconds&&g.value?(g.value.focus(),g.value.setSelectionRange(0,0)):m.value?(m.value.focus(),m.value.setSelectionRange(0,0)):S.value&&(S.value.focus(),S.value.setSelectionRange(0,0))}}),(I,Y)=>(n.openBlock(),n.createElementBlock("div",zn,[n.withDirectives(n.createElementVNode("input",{ref_key:"hourRef",ref:S,"onUpdate:modelValue":Y[0]||(Y[0]=M=>i.value=M),type:"text",inputmode:"numeric",placeholder:t.hourPlaceholder,maxlength:2,class:"time-input text-sm text-center",onInput:B,onKeydown:Y[1]||(Y[1]=M=>K(M,"hour")),onFocus:Y[2]||(Y[2]=M=>U("hour")),onBlur:Y[3]||(Y[3]=M=>W()),"aria-label":"hour","aria-invalid":!!f.value.hour,"aria-errormessage":f.value.hour?"hour-error":void 0,disabled:t.disabled},null,40,Wn),[[n.vModelText,i.value],[r,20]]),Y[13]||(Y[13]=n.createElementVNode("span",{class:"text-gray-400 mx-1"},":",-1)),n.withDirectives(n.createElementVNode("input",{ref_key:"minuteRef",ref:m,"onUpdate:modelValue":Y[4]||(Y[4]=M=>s.value=M),type:"text",inputmode:"numeric",placeholder:t.minutePlaceholder,maxlength:2,class:"time-input text-sm text-center",onInput:O,onKeydown:Y[5]||(Y[5]=M=>K(M,"minute")),onFocus:Y[6]||(Y[6]=M=>U("minute")),onBlur:Y[7]||(Y[7]=M=>W()),"aria-label":"minute","aria-invalid":!!f.value.minute,"aria-errormessage":f.value.minute?"minute-error":void 0,disabled:t.disabled},null,40,Jn),[[n.vModelText,s.value],[r,20]]),t.enableSeconds?(n.openBlock(),n.createElementBlock(n.Fragment,{key:0},[Y[12]||(Y[12]=n.createElementVNode("span",{class:"text-gray-400 mx-1"},":",-1)),n.withDirectives(n.createElementVNode("input",{ref_key:"secondRef",ref:g,"onUpdate:modelValue":Y[8]||(Y[8]=M=>u.value=M),type:"text",inputmode:"numeric",placeholder:t.secondPlaceholder,maxlength:2,class:"time-input text-sm text-center",onInput:q,onKeydown:Y[9]||(Y[9]=M=>K(M,"second")),onFocus:Y[10]||(Y[10]=M=>U("second")),onBlur:Y[11]||(Y[11]=M=>W()),"aria-label":"second","aria-invalid":!!f.value.second,"aria-errormessage":f.value.second?"second-error":void 0,disabled:t.disabled},null,40,jn),[[n.vModelText,u.value],[r,20]])],64)):n.createCommentVNode("",!0),t.use24Hour?n.createCommentVNode("",!0):(n.openBlock(),n.createElementBlock("button",{key:1,type:"button",class:n.normalizeClass(["time-period pl-2 text-sm cursor-pointer",i.value?"text-vdt-content":"text-gray-400"]),onClick:n.withModifiers($,["stop"])},n.toDisplayString(p.value),3))]))}}),[["__scopeId","data-v-2ecd63a6"]]),be={"zh-TW":{error:{calendar:{unsupported:"不支援的日曆"},date:{required:"請選擇日期",invalid:"無效的日期",outOfRange:"日期超出允許範圍",beforeMin:"日期不能早於 {minDate}",afterMax:"日期不能晚於 {maxDate}",unsupportedFormat:"不支援的日期格式,支援格式: {formats}",parseError:"日期解析失敗,請檢查日期格式"},time:{required:"請選擇時間",invalid:"無效的時間",hourOutOfRange:"小時必須是 {min}-{max} 之間的數字",minuteOutOfRange:"分鐘必須是 0-59 之間的數字",secondOutOfRange:"秒鐘必須是 0-59 之間的數字",hourRequired:"請輸入小時",minuteRequired:"請輸入分鐘",secondRequired:"請輸入秒鐘",minuteStepInvalid:"分鐘必須是 {step} 的倍數"},year:{required:"請輸入年份",invalid:"年份格式不正確",outOfRange:"年份必須是 {min}-{max} 之間的數字",notLeapYear:"{year}年2月沒有29日,不是閏年"},month:{required:"請輸入月份",invalid:"月份格式不正確",outOfRange:"月份必須是 1-12 之間的數字"},day:{required:"請輸入日期",invalid:"日期格式不正確",outOfRange:"日期必須是 1-31 之間的數字",notExistInMonth:"{month}月最多只有{maxDays}天"},range:{startRequired:"請選擇開始日期",endRequired:"請選擇結束日期",startAfterEnd:"開始日期不能晚於結束日期",exceedsMaxRange:"選擇範圍不能超過 {maxRange} 天",belowMinRange:"選擇範圍不能少於 {minRange} 天"},format:{dateFormat:'日期格式不正確: "{original}" 已自動修復為 "{fixed}"',timeFormat:'時間格式不正確: "{original}" 已自動修復為 "{fixed}"'}},placeholder:{date:{year:"年",month:"月",day:"日"},time:{hour:"時",minute:"分",second:"秒"},general:{selectDate:"請選擇日期",selectTime:"請選擇時間",clear:"清除",time:"時間"},range:{start:"開始日期",end:"結束日期"}},yearSelector:{jumpToYear:"跳至年份",inputYearPlaceholder:"輸入西元年...",yearRangeInfo:"{calendar}年範圍: {min} - {max}",noYearsToDisplay:"沒有可顯示的年份",returnToValidRange:"返回有效範圍"}},"zh-CN":{error:{calendar:{unsupported:"不支持的日历"},date:{required:"请选择日期",invalid:"无效的日期",outOfRange:"日期超出允许范围",beforeMin:"日期不能早于 {minDate}",afterMax:"日期不能晚于 {maxDate}",unsupportedFormat:"不支持的日期格式,支持格式: {formats}",parseError:"日期解析失败,请检查日期格式"},time:{required:"请选择时间",invalid:"无效的时间",hourOutOfRange:"小时必须是 {min}-{max} 之间的数字",minuteOutOfRange:"分钟必须是 0-59 之间的数字",secondOutOfRange:"秒钟必须是 0-59 之间的数字",hourRequired:"请输入小时",minuteRequired:"请输入分钟",secondRequired:"请输入秒钟",minuteStepInvalid:"分钟必须是 {step} 的倍数"},year:{required:"请输入年份",invalid:"年份格式不正确",outOfRange:"年份必须是 {min}-{max} 之间的数字",notLeapYear:"{year}年2月没有29日,不是闰年"},month:{required:"请输入月份",invalid:"月份格式不正确",outOfRange:"月份必须是 1-12 之间的数字"},day:{required:"请输入日期",invalid:"日期格式不正确",outOfRange:"日期必须是 1-31 之间的数字",notExistInMonth:"{month}月最多只有{maxDays}天"},range:{startRequired:"请选择开始日期",endRequired:"请选择结束日期",startAfterEnd:"开始日期不能晚于结束日期",exceedsMaxRange:"选择范围不能超过 {maxRange} 天",belowMinRange:"选择范围不能少于 {minRange} 天"},format:{dateFormat:'日期格式不正确: "{original}" 已自动修复为 "{fixed}"',timeFormat:'时间格式不正确: "{original}" 已自动修复为 "{fixed}"'}},placeholder:{date:{year:"年",month:"月",day:"日"},time:{hour:"时",minute:"分",second:"秒"},general:{selectDate:"请选择日期",selectTime:"请选择时间",clear:"清除",time:"时间"},range:{start:"开始日期",end:"结束日期"}},yearSelector:{jumpToYear:"跳至年份",inputYearPlaceholder:"输入公历年...",yearRangeInfo:"{calendar}年范围: {min} - {max}",noYearsToDisplay:"没有可显示的年份",returnToValidRange:"返回有效范围"}},"en-US":{error:{calendar:{unsupported:"Unsupported calendar"},date:{required:"Please select a date",invalid:"Invalid date",outOfRange:"Date is out of allowed range",beforeMin:"Date cannot be before {minDate}",afterMax:"Date cannot be after {maxDate}",unsupportedFormat:"Unsupported date format, supported formats: {formats}",parseError:"Failed to parse date, please check the date format"},time:{required:"Please select a time",invalid:"Invalid time",hourOutOfRange:"Hour must be between {min}-{max}",minuteOutOfRange:"Minute must be between 0-59",secondOutOfRange:"Second must be between 0-59",hourRequired:"Please enter hour",minuteRequired:"Please enter minute",secondRequired:"Please enter second",minuteStepInvalid:"Minute must be a multiple of {step}"},year:{required:"Please enter year",invalid:"Invalid year format",outOfRange:"Year must be between {min}-{max}",notLeapYear:"February 29th does not exist in {year}, not a leap year"},month:{required:"Please enter month",invalid:"Invalid month format",outOfRange:"Month must be between 1-12"},day:{required:"Please enter day",invalid:"Invalid day format",outOfRange:"Day must be between 1-31",notExistInMonth:"Month {month} has maximum {maxDays} days"},range:{startRequired:"Please select start date",endRequired:"Please select end date",startAfterEnd:"Start date cannot be after end date",exceedsMaxRange:"Selection range cannot exceed {maxRange} days",belowMinRange:"Selection range cannot be less than {minRange} days"},format:{dateFormat:'Invalid date format: "{original}" auto-fixed to "{fixed}"',timeFormat:'Invalid time format: "{original}" auto-fixed to "{fixed}"'}},placeholder:{date:{year:"YYYY",month:"MM",day:"DD"},time:{hour:"HH",minute:"mm",second:"ss"},general:{selectDate:"Please select a date",selectTime:"Please select a time",clear:"Clear",time:"Time"},range:{start:"Start date",end:"End date"}},yearSelector:{jumpToYear:"Jump to Year",inputYearPlaceholder:"Enter Gregorian year...",yearRangeInfo:"{calendar} Year Range: {min} - {max}",noYearsToDisplay:"No years to display",returnToValidRange:"Return to valid range"}},"ja-JP":{error:{calendar:{unsupported:"サポートされていないカレンダーIDです"},date:{required:"日付を選択してください",invalid:"無効な日付",outOfRange:"日付が許可範囲外です",beforeMin:"日付は {minDate} より前にはできません",afterMax:"日付は {maxDate} より後にはできません",unsupportedFormat:"サポートされていない日付形式です。サポート形式: {formats}",parseError:"日付の解析に失敗しました。日付形式を確認してください"},time:{required:"時刻を選択してください",invalid:"無効な時刻",hourOutOfRange:"時間は {min}-{max} の間で入力してください",minuteOutOfRange:"分は 0-59 の間で入力してください",secondOutOfRange:"秒は 0-59 の間で入力してください",hourRequired:"時間を入力してください",minuteRequired:"分を入力してください",secondRequired:"秒を入力してください",minuteStepInvalid:"分は {step} の倍数でなければなりません"},year:{required:"年を入力してください",invalid:"年の形式が正しくありません",outOfRange:"年は {min}-{max} の間で入力してください",notLeapYear:"{year}年2月29日は存在しません(うるう年ではありません)"},month:{required:"月を入力してください",invalid:"月の形式が正しくありません",outOfRange:"月は 1-12 の間で入力してください"},day:{required:"日を入力してください",invalid:"日の形式が正しくありません",outOfRange:"日は 1-31 の間で入力してください",notExistInMonth:"{month}月は最大 {maxDays} 日までです"},range:{startRequired:"開始日を選択してください",endRequired:"終了日を選択してください",startAfterEnd:"開始日は終了日より後にはできません",exceedsMaxRange:"選択範囲は {maxRange} 日を超えることはできません",belowMinRange:"選択範囲は {minRange} 日未満にはできません"},format:{dateFormat:'日付形式が正しくありません: "{original}" を "{fixed}" に自動修正しました',timeFormat:'時刻形式が正しくありません: "{original}" を "{fixed}" に自動修正しました'}},placeholder:{date:{year:"年",month:"月",day:"日"},time:{hour:"時",minute:"分",second:"秒"},general:{selectDate:"日付を選択してください",selectTime:"時刻を選択してください",clear:"クリア",time:"時刻"},range:{start:"開始日を",end:"終了日を"}},yearSelector:{jumpToYear:"年にジャンプ",inputYearPlaceholder:"西暦年を入力...",yearRangeInfo:"{calendar}年の範囲: {min} - {max}",noYearsToDisplay:"表示する年はありません",returnToValidRange:"有効な範囲に戻る"}},"ko-KR":{error:{calendar:{unsupported:"지원하지 않는 달력 ID입니다"},date:{required:"날짜를 선택해주세요",invalid:"유효하지 않은 날짜",outOfRange:"날짜가 허용 범위를 벗어났습니다",beforeMin:"날짜는 {minDate}보다 이전일 수 없습니다",afterMax:"날짜는 {maxDate}보다 이후일 수 없습니다",unsupportedFormat:"지원하지 않는 날짜 형식입니다. 지원 형식: {formats}",parseError:"날짜를 파싱하는 데 실패했습니다. 날짜 형식을 확인해주세요"},time:{required:"시간을 선택해주세요",invalid:"유효하지 않은 시간",hourOutOfRange:"시간은 {min}-{max} 사이의 숫자여야 합니다",minuteOutOfRange:"분은 0-59 사이의 숫자여야 합니다",secondOutOfRange:"초는 0-59 사이의 숫자여야 합니다",hourRequired:"시간을 입력해주세요",minuteRequired:"분을 입력해주세요",secondRequired:"초을 입력해주세요",minuteStepInvalid:"분은 {step}의 배수여야 합니다"},year:{required:"연도를 입력해주세요",invalid:"연도 형식이 올바르지 않습니다",outOfRange:"연도는 {min}-{max} 사이의 숫자여야 합니다",notLeapYear:"{year}년 2월 29일은 존재하지 않습니다 (윤년이 아님)"},month:{required:"월을 입력해주세요",invalid:"월 형식이 올바르지 않습니다",outOfRange:"월은 1-12 사이의 숫자여야 합니다"},day:{required:"일을 입력해주세요",invalid:"일 형식이 올바르지 않습니다",outOfRange:"일은 1-31 사이의 숫자여야 합니다",notExistInMonth:"{month}월은 최대 {maxDays}일까지입니다"},range:{startRequired:"시작 날짜를 선택해주세요",endRequired:"종료 날짜를 선택해주세요",startAfterEnd:"시작 날짜는 종료 날짜보다 늦을 수 없습니다",exceedsMaxRange:"선택 범위는 {maxRange}일을 초과할 수 없습니다",belowMinRange:"선택 범위는 {minRange}일 미만일 수 없습니다"},format:{dateFormat:'날짜 형식이 올바르지 않습니다: "{original}"을(를) "{fixed}"로 자동 수정했습니다',timeFormat:'시간 형식이 올바르지 않습니다: "{original}"을(를) "{fixed}"로 자동 수정했습니다'}},placeholder:{date:{year:"년",month:"월",day:"일"},time:{hour:"시",minute:"분",second:"초"},general:{selectDate:"날짜를 선택해주세요",selectTime:"시간을 선택해주세요",clear:"지우기",time:"시간"},range:{start:"시작 날짜",end:"종료 날짜"}},yearSelector:{jumpToYear:"연도로 이동",inputYearPlaceholder:"서기 연도를 입력...",yearRangeInfo:"{calendar}년 범위: {min} - {max}",noYearsToDisplay:"표시한 연도는 없습니다",returnToValidRange:"유효한 범위로 이동"}}};function Qa(t,e){return t.replace(/\{(\w+)\}/g,(a,r)=>e[r]?.toString()||a)}class Kn{currentLocale="zh-TW";setLocale(e){if(!be[e]){console.warn(`Locale '${e}' not found, falling back to 'zh-TW'`),this.currentLocale="zh-TW";return}this.currentLocale=e}registerLocale(e,a){be[e]=a}hasLocale(e){return!!be[e]}getAvailableLocales(){return Object.keys(be)}getCurrentLocale(){return this.currentLocale}getMessage(e,a){const r=e.split(".");let o=be[this.currentLocale];for(const l of r)o=o?.[l];return typeof o!="string"?(console.warn(`Missing translation for path: ${e} in locale: ${this.currentLocale}`),e):a?Qa(o,a):o}getErrorMessage(e,a){return this.getMessage(`error.${e}`,a)}getPlaceholderMessage(e,a){return this.getMessage(`placeholder.${e}`,a)}addCustomMessages(e,a){if(!be[e]){console.warn(`Locale '${e}' not found. Please register it first using registerLocale().`);return}be[e]={...be[e],...this.deepMerge(be[e],a)}}getParameterizedErrorMessage(e,a={}){const r=this.getErrorMessage(e);return this.interpolateParameters(r,a)}interpolateParameters(e,a={}){return!a||Object.keys(a).length===0?e:e.replace(/\{(\w+)\}/g,(r,o)=>{const l=a[o];return l==null?(console.warn(`Missing variable '${o}' for template: "${e}"`),r):String(l)})}deepMerge(e,a){const r={...e};for(const o in a)a[o]&&typeof a[o]=="object"&&!Array.isArray(a[o])?r[o]=this.deepMerge(r[o]||{},a[o]):r[o]=a[o];return r}}function Ke(t="en-US",e){const a=new Kn,r=n.ref(t);e&&t&&a.registerLocale(t,e),a.setLocale(t);const o=(y,h)=>{r.value=y,h&&a.registerLocale(y,h),a.setLocale(y)},l=(y,h)=>a.getMessage(y,h),i=(y,h)=>a.getErrorMessage(y,h),s=(y,h)=>a.getPlaceholderMessage(y,h),u=(y,h)=>Qa(y,h),c=(y,h)=>{a.registerLocale(y,h)},f=y=>a.hasLocale(y);return{currentLocale:n.computed(()=>r.value),setLocale:o,getMessage:l,getErrorMessage:i,getPlaceholderMessage:s,formatText:u,registerCustomLocale:c,hasLocale:f}}const Qn={key:0,class:"date-error-message mt-1 text-sm text-red-500"},Zn={key:0},Gn={key:1},Xn={key:2},Za=n.defineComponent({__name:"DateErrorMessage",props:{errors:{default:void 0},errorParams:{default:()=>({})},locale:{default:"zh-TW"},useI18n:{type:Boolean,default:!0},customMessages:{default:()=>({})},messageKeyMap:{default:()=>({})},debug:{type:Boolean,default:!1}},setup(t,{expose:e}){const a=t,{currentLocale:r,setLocale:o,getErrorMessage:l}=Ke(a.locale);n.watch(()=>a.locale,d=>{d&&a.useI18n&&o(d)},{immediate:!0});const i=n.ref({}),s=n.ref({}),u=n.computed(()=>({...a.customMessages,...i.value})),c=n.computed(()=>a.errors?Array.isArray(a.errors)?a.errors.length>0:typeof a.errors=="string"?a.errors.trim().length>0:typeof a.errors=="object"?Object.values(a.errors).some(d=>d&&d.trim().length>0):!1:!1),f=n.computed(()=>{if(!a.errors)return null;if(typeof a.errors=="string")return m(a.errors);if(Array.isArray(a.errors))return a.errors.map((d,w)=>({field:`item-${w}`,message:m(d),originalKey:d,params:{}}));if(typeof a.errors=="object"){const d={};return Object.entries(a.errors).forEach(([w,T])=>{if(T){s.value[w]=T;const b=a.errorParams?.[w]||{};d[w]=m(T,w,b),a.debug&&console.log(`Processing error for field "${w}":`,{original:T,params:b,translated:d[w],field:w,slotName:x(w)})}}),d}return a.errors}),y=n.computed(()=>a.errorParams||{});function h(d){return s.value[d]}function x(d){return`error-${d.replace(/^(date|time|range)\./,"")}`}function S(d){return d.startsWith("date.")?"date":d.startsWith("time.")?"time":d.startsWith("range.")?"range":"unknown"}function m(d,w,T={}){if(a.debug&&console.log(`翻譯訊息: "${d}", field: "${w}", params:`,T),u.value[d])return u.value[d];if(!a.useI18n)return d;if(/^[a-zA-Z]+\.[a-zA-Z]+$/.test(d))try{const D=l(d,T);if(a.debug&&console.log(`Locale key 翻譯: "${d}" -> "${D}" with params:`,T),D&&D!==d)return D}catch(D){a.debug&&console.warn(`Locale key 翻譯失敗: ${d}`,D)}const p=a.messageKeyMap[d];if(p)try{const D=l(p,T);if(a.debug&&console.log(`MessageKeyMap 翻譯: "${d}" -> "${D}" with params:`,T),D&&D!==p)return D}catch(D){a.debug&&console.warn(`MessageKeyMap 翻譯失敗: ${p}`,D)}return g(d,w,T)}function g(d,w,T={}){a.debug&&console.log(`smartTranslateError: "${d}", field: "${w}", params:`,T);const b={請選擇日期:"date.required",請選擇時間:"time.required",請選擇開始日期:"range.startRequired",請選擇結束日期:"range.endRequired","Please select a date":"date.required","Please select a time":"time.required","Please select start date":"range.startRequired","Please select end date":"range.endRequired"};if(b[d])try{const $=l(b[d],T);if(a.debug&&console.log(`直接匹配翻譯: "${d}" -> "${$}" with params:`,T),$&&$!==b[d])return $}catch($){a.debug&&console.warn(`直接匹配翻譯失敗: ${b[d]}`,$)}function p($,k){if(/請輸入|please enter|required/i.test($)){if(k?.includes("year")||$.includes("年份"))return"year.required";if(k?.includes("month")||$.includes("月份"))return"month.required";if(k?.includes("day")||$.includes("日期"))return"day.required";if(k?.includes("hour")||$.includes("小時"))return"time.hourRequired";if(k?.includes("minute")||$.includes("分鐘"))return"time.minuteRequired";if(k?.includes("second")||$.includes("秒鐘"))return"time.secondRequired";if(k?.includes("startDate")||$.includes("開始日期"))return"range.startRequired";if(k?.includes("endDate")||$.includes("結束日期"))return"range.endRequired";if(k?.includes("time")||$.includes("時間"))return"time.required";if(k?.includes("date")||$.includes("日期"))return"date.required"}return null}const D=p(d,w);if(D)try{const $=l(D,T);if(a.debug&&console.log(`智能匹配翻譯: "${d}" -> "${$}" with params:`,T),$&&$!==D)return $}catch($){a.debug&&console.warn(`智能匹配翻譯失敗: ${D}`,$)}const v=[{regex:/(年份|year).*(\d+)-(\d+).*數字/i,key:"year.outOfRange"},{regex:/(月份|month).*1-12.*數字/i,key:"month.outOfRange"},{regex:/(日期|day).*1-31.*數字/i,key:"day.outOfRange"},{regex:/(小時|hour).*(\d+)-(\d+)/i,key:"time.hourOutOfRange"},{regex:/(分鐘|minute).*0-59/i,key:"time.minuteOutOfRange"},{regex:/(秒鐘|second).*0-59/i,key:"time.secondOutOfRange"},{regex:/無效|invalid/i,key:null,handler:$=>$?.includes("year")?"year.invalid":$?.includes("month")?"month.invalid":$?.includes("day")?"day.invalid":$?.includes("time")||$?.includes("hour")||$?.includes("minute")||$?.includes("second")?"time.invalid":"date.invalid"}];for(const $ of v)if($.regex.test(d)){const k=$.handler?$.handler(w):$.key;if(k)try{const B=l(k,T);if(a.debug&&console.log(`模式匹配翻譯: "${d}" -> "${B}" (key: ${k}) with params:`,T),B&&B!==k)return B}catch(B){a.debug&&console.warn(`模式匹配翻譯失敗: ${k}`,B)}}return a.debug&&console.log(`無法翻譯,返回原始訊息: "${d}"`),d}return e({hasErrors:c,processedErrors:f,processedErrorParams:y,translateMessage:m,getOriginalKey:h,getSlotName:x,getFieldType:S,setLocale:d=>{o(d)},addCustomTranslation:(d,w)=>{i.value[d]=w},currentLocale:r}),(d,w)=>c.value?(n.openBlock(),n.createElementBlock("div",Qn,[Array.isArray(f.value)?(n.openBlock(),n.createElementBlock("div",Zn,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(f.value,(T,b)=>(n.openBlock(),n.createElementBlock("div",{key:b},[n.renderSlot(d.$slots,`error-${T.field}`,{error:T,message:T.message,field:T.field,errorParams:T.params},()=>[n.createElementVNode("span",null,n.toDisplayString(T.message),1)])]))),128))])):typeof f.value=="string"?(n.openBlock(),n.createElementBlock("div",Gn,[n.renderSlot(d.$slots,"error-single",{error:f.value,message:f.value},()=>[n.createElementVNode("span",null,n.toDisplayString(f.value),1)])])):typeof f.value=="object"?(n.openBlock(),n.createElementBlock("div",Xn,[n.renderSlot(d.$slots,"error",{errors:f.value,errorParams:a.errorParams},()=>[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(f.value,(T,b)=>(n.openBlock(),n.createElementBlock("div",{key:b},[n.renderSlot(d.$slots,x(b),{field:b,error:T,message:T,originalKey:h(b),fieldType:S(b),errorParams:a.errorParams[b]||{}},()=>[n.createElementVNode("span",null,n.toDisplayString(T),1)])]))),128))])])):n.createCommentVNode("",!0)])):n.createCommentVNode("",!0)}}),_n={},eo={xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"};function to(t,e){return n.openBlock(),n.createElementBlock("svg",eo,[...e[0]||(e[0]=[n.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"},null,-1)])])}const Ga=Se(_n,[["render",to]]),ao={},ro={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor"};function no(t,e){return n.openBlock(),n.createElementBlock("svg",ro,[...e[0]||(e[0]=[n.createElementVNode("path",{"fill-rule":"evenodd",d:"M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z","clip-rule":"evenodd"},null,-1)])])}const Xa=Se(ao,[["render",no]]),oo={},lo={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor"};function so(t,e){return n.openBlock(),n.createElementBlock("svg",lo,[...e[0]||(e[0]=[n.createElementVNode("path",{"fill-rule":"evenodd",d:"M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z","clip-rule":"evenodd"},null,-1)])])}const _a=Se(oo,[["render",so]]),io={class:"p-2 flex items-center justify-between border-b border-vdt-outline"},co=["disabled"],uo={class:"text-sm font-medium"},mo=["disabled"],fo={key:0,class:"grid grid-cols-4 gap-1 p-2"},ho=["onClick","title"],go={class:"font-medium"},po={key:0},yo={key:0,class:"text-xs opacity-60 mt-0.5"},vo={key:1,class:"p-4 text-center text-sm text-vdt-content-muted"},$o={class:"mb-2"},Do={class:"p-2 border-t border-vdt-outline"},ko={class:"text-xs text-gray-400 mb-1"},bo=["placeholder","min","max"],Mo={class:"text-xs text-vdt-content-muted mt-1"},wo=Se(n.defineComponent({__name:"YearSelector",props:{selectedYear:{},showSelector:{type:Boolean},pageSize:{default:12},calendar:{default:"gregory"},locale:{default:"zh-TW"}},emits:["year-selected","update:showSelector"],setup(t,{expose:e,emit:a}){const r=t,o=a,{getMessage:l,formatText:i}=Ke(r.locale),s=n.ref(null),u=n.ref(null),c=n.computed(()=>re.getCalendarRange(r.calendar)),f=n.computed(()=>re.getCalendarDisplayName(r.calendar,r.locale)),y=n.computed(()=>r.calendar==="gregory"),h=n.computed(()=>r.calendar==="japanese"),x=n.computed(()=>D.value[0]),S=n.computed(()=>D.value[D.value.length-1]),m=n.ref(0),g=M=>{const F=Math.floor(M/r.pageSize)*r.pageSize;return Math.max(F,c.value.min)},d=()=>{m.value=g(r.selectedYear)},w=new Map,T=(M,F)=>{const L=`${M}-${F}`;if(!w.has(L))try{w.set(L,new ft(F,{calendar:M,year:"numeric",era:"short"}))}catch{w.set(L,new ft(F,{year:"numeric"}))}return w.get(L)},b=M=>{const F={gregorianYear:M,displayEra:"",displayYear:M.toString(),showReference:!1,displayWarning:!1};if(y.value)return F;try{const L=new _(M,6,1),j=re.safeToCalendar(L,re.createSafeCalendar(r.calendar)),ee=T(r.calendar,r.locale).formatToParts(j.toDate("UTC"));F.displayYear=ee.find(N=>N.type==="year")?.value||M.toString(),F.displayEra=ee.find(N=>N.type==="era")?.value||"";const R=!!F.displayEra,C=F.displayEra!==M.toString();(R||C)&&(F.showReference=!0,F.referenceYear=M.toString())}catch{if(F.displayWarning=!0,F.warningMessage=`無法轉換為${f.value}`,r.calendar==="roc"){const j=M-1911;F.displayYear=j>0?j.toString():`民國前${Math.abs(j-1)}年`}}return F},p=M=>M>=c.value.min&&M<=c.value.max,D=n.computed(()=>{const M=m.value,F=[];for(let L=0;L<r.pageSize;L++){const j=M+L;if(j>c.value.max)break;j<c.value.min||F.push(b(j))}return F}),v=n.computed(()=>{const M=D.value;if(M.length===0)return"";const F=M[0],L=M[M.length-1];if(!F||!L)return"";if(y.value)return`${F.displayYear} - ${L.displayYear}`;if(F.gregorianYear===L.gregorianYear)return F.displayYear;const j=F.displayEra,ae=L.displayEra;return j&&ae&&j===ae?`${j} ${F.displayYear} - ${L.displayYear}`:`${F.displayEra} ${F.displayYear} - ${L.displayEra} ${L.displayYear}`}),$=n.computed(()=>m.value>c.value.min),k=n.computed(()=>m.value+r.pageSize<=c.value.max),B=()=>{$.value&&(m.value=Math.max(m.value-r.pageSize,c.value.min))},O=()=>{k.value&&(m.value=Math.min(m.value+r.pageSize,c.value.max))},q=M=>{p(M)&&(o("year-selected",M),o("update:showSelector",!1))},K=()=>{u.value&&(p(u.value)?(m.value=g(u.value),o("year-selected",u.value),o("update:showSelector",!1),u.value=null):console.warn(`年份 ${u.value} 超出範圍 ${c.value.min}-${c.value.max}`))},U=()=>{const M=Math.max(c.value.min,Math.min(new Date().getFullYear(),c.value.max));o("year-selected",M)},W=M=>l(`yearSelector.${M}`),I=()=>{p(r.selectedYear)&&(m.value=g(r.selectedYear))};n.watch([()=>r.selectedYear,()=>r.calendar],I,{immediate:!0});const Y=M=>{if(r.showSelector&&s.value){const F=M.target,L=!!F.closest("[data-year-selector-button]");!s.value.contains(F)&&!L&&o("update:showSelector",!1)}};return n.onMounted(()=>{d(),document.addEventListener("mousedown",Y)}),n.onBeforeUnmount(()=>{document.removeEventListener("mousedown",Y)}),e({getLocalizedText:W,formatText:i,goToSpecificYear:K,goToValidRange:U}),(M,F)=>t.showSelector?(n.openBlock(),n.createElementBlock("div",{key:0,ref_key:"yearSelectorRef",ref:s,class:"absolute top-full mt-1 right-0 min-w-56 max-h-72 overflow-auto bg-vdt-surface-elevated text-vdt-content border border-vdt-outline rounded-md shadow-lg z-20"},[n.createElementVNode("div",io,[n.createElementVNode("button",{type:"button",onClick:B,class:n.normalizeClass(["p-1 hover:bg-vdt-interactive-hover rounded focus:outline-none",{"opacity-50 cursor-not-allowed":!$.value}]),disabled:!$.value,"aria-label":"previous year"},[n.createVNode(Xa,{class:"h-4 w-4"})],10,co),n.createElementVNode("span",uo,[n.renderSlot(M.$slots,"year-range-display",{firstYear:x.value,lastYear:S.value,displayText:v.value},()=>[n.createTextVNode(n.toDisplayString(v.value),1)],!0)]),n.createElementVNode("button",{type:"button",onClick:O,class:n.normalizeClass(["p-1 hover:bg-vdt-interactive-hover rounded focus:outline-none",{"opacity-50 cursor-not-allowed":!k.value}]),disabled:!k.value,"aria-label":"next year"},[n.createVNode(_a,{class:"h-4 w-4"})],10,mo)]),D.value.length>0?(n.openBlock(),n.createElementBlock("div",fo,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(D.value,L=>(n.openBlock(),n.createElementBlock("button",{type:"button",key:L.gregorianYear,onClick:j=>q(L.gregorianYear),class:n.normalizeClass(["p-1 text-xs rounded focus:outline-none focus:ring-1 focus:ring-vdt-theme-500 leading-tight min-h-[2.5rem] flex flex-col justify-center items-center transition duration-200",t.selectedYear===L.gregorianYear?"bg-vdt-theme-500 text-white":"hover:bg-vdt-interactive-hover text-vdt-content",L.displayWarning?"ring-1 ring-amber-400":""]),title:L.warningMessage},[n.renderSlot(M.$slots,"year-display",{yearData:L,isSelected:t.selectedYear===L.gregorianYear},()=>[n.createElementVNode("div",go,[h.value?(n.openBlock(),n.createElementBlock("div",po,n.toDisplayString(L.displayEra),1)):n.createCommentVNode("",!0),n.createTextVNode(" "+n.toDisplayString(L.displayYear),1)]),L.showReference?(n.openBlock(),n.createElementBlock("div",yo,n.toDisplayString(L.referenceYear),1)):n.createCommentVNode("",!0)],!0)],10,ho))),128))])):(n.openBlock(),n.createElementBlock("div",vo,[n.renderSlot(M.$slots,"no-years-display",{calendarRange:c.value,goToValidRange:U},()=>[n.createElementVNode("div",$o,n.toDisplayString(W("noYearsToDisplay")),1),n.createElementVNode("button",{type:"button",onClick:U,class:"text-xs bg-vdt-theme-100 hover:bg-vdt-theme-200 px-3 py-1 rounded text-vdt-theme-700"},n.toDisplayString(W("returnToValidRange")),1)],!0)])),n.createElementVNode("div",Do,[n.renderSlot(M.$slots,"year-input",{yearInput:u.value,calendarRange:c.value,calendarDisplayName:f.value,goToSpecificYear:K,getLocalizedText:W,formatText:n.unref(i)},()=>[n.createElementVNode("div",ko,n.toDisplayString(W("jumpToYear")),1),n.withDirectives(n.createElementVNode("input",{type:"number","onUpdate:modelValue":F[0]||(F[0]=L=>u.value=L),onKeydown:n.withKeys(K,["enter"]),placeholder:W("inputYearPlaceholder"),min:c.value.min,max:c.value.max,class:"w-full p-1 text-sm border border-vdt-outline bg-vdt-surface text-vdt-content rounded focus:outline-none focus:ring-2 focus:ring-vdt-theme-200 focus-within:ring-vdt-theme-500"},null,40,bo),[[n.vModelText,u.value]]),n.createElementVNode("div",Mo,n.toDisplayString(n.unref(i)(W("yearRangeInfo"),{calendar:f.value,min:c.value.min,max:c.value.max})),1)],!0)])],512)):n.createCommentVNode("",!0)}}),[["__scopeId","data-v-caef7ca5"]]),So={class:"flex justify-between items-center mb-4 gap-2"},xo=["disabled"],To={class:"grow grid grid-cols-2 gap-2"},Co=["value"],Eo={class:"relative"},Yo=["disabled"],Ro=n.defineComponent({__name:"CalendarHeader",props:{month:{},year:{},locale:{default:"en-US"},minYear:{default:1900},maxYear:{default:2100},calendar:{default:"gregory"}},emits:["update:month","update:year"],setup(t,{emit:e}){const a=t,r=e,o=n.ref(a.month),l=n.ref(a.year),i=n.ref(!1),s=n.computed(()=>a.calendar||"gregory"),u=n.computed(()=>re.getCalendarRange(a.calendar));n.watch(()=>a.month,b=>{o.value=b},{immediate:!0}),n.watch(()=>a.year,b=>{l.value=b},{immediate:!0});const c=n.computed(()=>{if(a.calendar==="gregory")return l.value.toString();try{const b=new _(l.value,6,1),p=re.safeToCalendar(b,re.createSafeCalendar(a.calendar));return new ft(a.locale,{calendar:a.calendar,year:"numeric"}).format(p.toDate("UTC"))}catch{return l.value.toString()}}),f=n.computed(()=>re.getMonthNames(a.locale,a.calendar)),y=n.computed(()=>{let b=l.value,p=o.value-1;return p<1&&(p=12,b=l.value-1),b>=u.value.min}),h=n.computed(()=>{let b=l.value,p=o.value+1;return p>12&&(p=1,b=l.value+1),b<=u.value.max}),x=()=>{if(!y.value)return;let b=o.value-1,p=l.value;b<1&&(b=12,p-=1),p>=u.value.min&&w(b,p)},S=()=>{if(!h.value)return;let b=o.value+1,p=l.value;b>12&&(b=1,p+=1),p<=u.value.max&&w(b,p)},m=()=>{w(o.value,l.value)},g=b=>{b!==void 0&&(o.value=b),w(o.value,l.value)},d=b=>{b>=u.value.min&&b<=u.value.max&&(l.value=b,w(o.value,b))},w=(b,p)=>{o.value=b,l.value=p,r("update:month",b),r("update:year",p)},T=()=>{i.value=!i.value};return(b,p)=>(n.openBlock(),n.createElementBlock("div",So,[n.createElementVNode("button",{type:"button",onClick:x,class:"p-2 text-vdt-content-secondary hover:bg-vdt-interactive-hover rounded-full focus:outline-none focus:ring-2 focus:ring-vdt-theme-500 disabled:opacity-50 disabled:cursor-not-allowed","aria-label":"上個月",disabled:!y.value},[n.createVNode(Xa,{class:"h-5 w-5"})],8,xo),n.createElementVNode("div",To,[n.renderSlot(b.$slots,"month-selector",{monthNames:f.value,selectedMonth:o.value,onMonthChange:g},()=>[n.withDirectives(n.createElementVNode("select",{"onUpdate:modelValue":p[0]||(p[0]=D=>o.value=D),onChange:m,class:"appearance-none bg-none w-full py-1 px-2 border border-vdt-outline bg-vdt-surface text-vdt-content rounded-sm text-sm focus:ring-2 focus:ring-vdt-theme-200 focus:border-vdt-theme-500","aria-label":"選擇月份",role:"combobox"},[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(f.value,(D,v)=>(n.openBlock(),n.createElementBlock("option",{key:v,value:v+1},n.toDisplayString(D),9,Co))),128))],544),[[n.vModelSelect,o.value]])]),n.createElementVNode("div",Eo,[n.renderSlot(b.$slots,"year-selector",{displayYear:c.value,toggleYearSelector:T,showYearSelector:i.value},()=>[n.createElementVNode("button",{type:"button",onClick:T,"data-year-selector-button":"",class:"inline-flex truncate items-center px-2 py-1 bg-vdt-surface text-vdt-content w-full border border-vdt-outline rounded-sm text-sm focus-within:ring-2 focus-within:border-vdt-theme-500 focus-within:ring-vdt-theme-200","aria-label":"選擇年份"},n.toDisplayString(c.value),1)]),n.createVNode(wo,{"selected-year":l.value,"show-selector":i.value,"onUpdate:showSelector":p[1]||(p[1]=D=>i.value=D),calendar:s.value,locale:t.locale,onYearSelected:d},n.createSlots({_:2},[n.renderList(b.$slots,(D,v)=>({name:v,fn:n.withCtx($=>[n.renderSlot(b.$slots,v,n.normalizeProps(n.guardReactiveProps($)))])}))]),1032,["selected-year","show-selector","calendar","locale"])])]),n.createElementVNode("button",{type:"button",onClick:S,class:"p-2 text-vdt-content-secondary hover:bg-vdt-interactive-hover rounded-full focus:outline-none focus:ring-2 focus:ring-vdt-theme-500 disabled:opacity-50 disabled:cursor-not-allowed","aria-label":"下個月",disabled:!h.value},[n.createVNode(_a,{class:"h-5 w-5"})],8,Yo)]))}}),Vo={class:"grid grid-cols-7 mb-2"},Io=n.defineComponent({__name:"WeekdayHeader",props:{locale:{default:"en-US"},weekStartsOn:{default:0},calendar:{default:"gregory"}},setup(t){const e=t,a=n.computed(()=>{const r=new Intl.DateTimeFormat(e.locale,{weekday:"short",calendar:e.calendar}),o=new Date(2023,0,1);return Array.from({length:7},(l,i)=>{const s=new Date(o);return s.setDate(o.getDate()+(i+e.weekStartsOn)%7),r.format(s)})});return(r,o)=>(n.openBlock(),n.createElementBlock("div",Vo,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(a.value,(l,i)=>(n.openBlock(),n.createElementBlock("div",{key:i,class:"text-center text-vdt-content text-sm py-2"},n.toDisplayString(l),1))),128))]))}}),Bo={class:"calendar-cell text-center relative"},Oo=["disabled","tabindex","aria-selected","aria-disabled","aria-current","data-in-current-month"],Fo=Se(n.defineComponent({__name:"CalendarCell",props:{date:{},currentMonth:{},selected:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},isToday:{type:Boolean,default:!1},focusable:{type:Boolean,default:!1},selectionMode:{default:"single"},isRangeStart:{type:Boolean,default:!1},isRangeEnd:{type:Boolean,default:!1},isInRange:{type:Boolean,default:!1}},emits:["select","nav"],setup(t,{emit:e}){const a=t,r=e,o=n.computed(()=>a.date.month!==a.currentMonth),l=n.computed(()=>{const s={};return s["flex justify-center items-center w-8 h-8 rounded-md mx-auto relative z-10"]=!0,a.disabled?(s["opacity-40 cursor-not-allowed"]=!0,s["bg-vdt-surface text-vdt-content"]=!0,s):(a.selectionMode==="range"?(a.isRangeStart||a.isRangeEnd?s["bg-vdt-theme-500 text-white"]=!0:a.isInRange?s["bg-vdt-outline text-vdt-content"]=!0:(s["bg-vdt-surface text-vdt-content"]=!0,s["hover:bg-vdt-interactive-hover cursor-pointer"]=!0),a.isToday&&!a.isRangeStart&&!a.isRangeEnd&&!a.isInRange&&(s["ring-2 ring-vdt-theme-500"]=!0)):(a.selected?s["bg-vdt-theme-500 text-white"]=!0:(s["bg-vdt-surface text-vdt-content"]=!0,s["hover:bg-vdt-interactive-hover cursor-pointer"]=!0),a.isToday&&!a.selected&&(s["ring-2 ring-vdt-theme-500"]=!0)),o.value&&!a.selected&&!a.isRangeStart&&!a.isRangeEnd&&(s["text-vdt-content-muted"]=!0,s["text-vdt-content"]=!1),s)}),i=()=>{a.disabled||r("select",a.date)};return(s,u)=>(n.openBlock(),n.createElementBlock("div",Bo,[n.createElementVNode("button",{type:"button",class:n.normalizeClass(["calendar-cell-button",l.value]),disabled:t.disabled,tabindex:t.focusable?0:-1,"aria-selected":t.selected||t.isRangeStart||t.isRangeEnd,"aria-disabled":t.disabled,"aria-current":t.isToday?"date":void 0,"data-in-current-month":!o.value,onClick:i,onKeydown:[n.withKeys(i,["enter"]),n.withKeys(i,["space"]),u[0]||(u[0]=n.withKeys(c=>r("nav","up"),["up"])),u[1]||(u[1]=n.withKeys(c=>r("nav","down"),["down"])),u[2]||(u[2]=n.withKeys(c=>r("nav","left"),["left"])),u[3]||(u[3]=n.withKeys(c=>r("nav","right"),["right"]))]},n.toDisplayString(t.date.day),43,Oo)]))}}),[["__scopeId","data-v-9018b2ca"]]),Po={class:"grid grid-cols-7 gap-1"},No=n.defineComponent({__name:"DateGridView",props:{year:{},month:{},selectedDate:{default:null},rangeStart:{default:null},rangeEnd:{default:null},selectionMode:{default:"single"},minDate:{default:void 0},maxDate:{default:void 0},locale:{default:"en-US"},weekStartsOn:{default:0},calendar:{default:"gregory"}},emits:["select","range-select","navigate"],setup(t,{expose:e,emit:a}){const r=t,o=a,l=n.computed(()=>r.month),i=n.computed(()=>r.year);n.computed(()=>{const m=Fe();return`${m.year}-${m.month}-${m.day}`});const s=n.computed(()=>re.generateCalendarDays(r.year,r.month,r.calendar,r.locale,r.weekStartsOn)),u=m=>{if(!r.rangeStart||!r.rangeEnd)return!1;try{return m.compare(r.rangeStart)>=0&&m.compare(r.rangeEnd)<=0}catch{return!1}},c=(m,g)=>{if(!m||!g)return!1;try{return m.compare(g)===0}catch{return!1}},f=m=>{try{return!!(r.minDate&&m.compare(r.minDate)<0||r.maxDate&&m.compare(r.maxDate)>0)}catch{return!0}},y=m=>Yn(m),h=n.computed(()=>s.value.map((m,g)=>{const d=`${m.year}-${m.month}-${m.day}`,w=y(m),T=m.month!==l.value,b=f(m),p=r.selectionMode==="single"&&c(m,r.selectedDate),D=r.selectionMode==="range"&&c(m,r.rangeStart),v=r.selectionMode==="range"&&c(m,r.rangeEnd),$=r.selectionMode==="range"&&u(m)&&!D&&!v&&!b,k=m.day===1&&m.month===l.value,B=[d,p,w,b,D,v,$,r.selectionMode,r.calendar];return{key:`${r.calendar}-${i.value}-${l.value}-${d}-${g}`,memoKey:B,date:m,isToday:w,isSelected:p,isDisabled:b,isOutsideMonth:T,isRangeStart:D,isRangeEnd:v,isInRange:$,isFocusable:k}})),x=m=>{r.selectionMode==="single"?o("select",m):r.selectionMode==="range"&&o("range-select",m,null)},S=m=>{const g=h.value;if(g.length===0)return;const d=g[0],w=g[g.length-1];if(!(!d||!w))switch(m){case"left":d.date.day<15&&d.date.month!==l.value&&o("navigate","prev-month");break;case"right":w.date.day>15&&w.date.month!==l.value&&o("navigate","next-month");break}};return e({getCalendarDays:()=>s.value,getCellStates:()=>h.value}),(m,g)=>(n.openBlock(),n.createElementBlock("div",Po,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(h.value,(d,w,T,b)=>{const p=d.memoKey;if(b&&b.key===d.key&&n.isMemoSame(b,p))return b;const D=(n.openBlock(),n.createBlock(Fo,{key:d.key,date:d.date,"current-month":l.value,selected:d.isSelected,"is-today":d.isToday,disabled:d.isDisabled,focusable:d.isFocusable,"is-range-start":d.isRangeStart,"is-range-end":d.isRangeEnd,"is-in-range":d.isInRange,"selection-mode":t.selectionMode,onSelect:x,onNav:S},null,8,["date","current-month","selected","is-today","disabled","focusable","is-range-start","is-range-end","is-in-range","selection-mode"]));return D.memo=p,D},g,0),128))]))}}),Ao={key:0},Lo={class:"flex flex-row items-center justify-between"},Ho={class:"text-sm font-medium text-vdt-content uppercase"},qo={class:"flex flex-row items-center gap-1"},Uo={class:"time-selector-container pt-1"},zo={class:"flex flex-row items-center gap-1"},Wo={class:"flex-1"},Jo=["value"],jo={class:"flex-1"},Ko=["value"],Qo={key:0,class:"flex-1"},Zo=["value"],Go={key:1,class:"flex-shrink-0"},Xo={class:"isolate inline-flex rounded-md border border-vdt-outline bg-vdt-surface overflow-hidden"},_o=n.defineComponent({__name:"TimeSelector",props:{show:{type:Boolean,default:!0},timeValue:{default:null},enableSeconds:{type:Boolean,default:!0},use24Hour:{type:Boolean,default:!1},defaultTime:{default:"00:00:00"},locale:{default:"zh-TW"},selectionMode:{default:"single"}},emits:["time-change","today-click"],setup(t,{expose:e,emit:a}){const r=t,o=a,{getPlaceholderMessage:l}=Ke(r.locale),i=n.ref(0),s=n.ref(0),u=n.ref(0),c=n.ref("AM"),f=n.ref(!1),y=n.computed(()=>r.use24Hour?Array.from({length:24},(v,$)=>$):Array.from({length:12},(v,$)=>$+1)),h=n.computed(()=>Array.from({length:60},(v,$)=>$)),x=n.computed(()=>Array.from({length:60},(v,$)=>$)),S=n.computed(()=>{let v=i.value;r.use24Hour||(c.value==="PM"&&v<12?v+=12:c.value==="AM"&&v===12&&(v=0));const $=m(v),k=m(s.value);if(r.enableSeconds){const B=m(u.value);return`${$}:${k}:${B}`}else return`${$}:${k}`}),m=v=>v.toString().padStart(2,"0"),g=v=>m(v),d=v=>{if(!v)return;const[$,k,B]=v.split(":");let O=parseInt($||"0")||0;r.use24Hour||(O>=12?(c.value="PM",O=O===12?12:O-12):(c.value="AM",O=O===0?12:O)),i.value=O,s.value=parseInt(k||"0")||0,r.enableSeconds&&B&&(u.value=parseInt(B)||0),f.value=!0},w=()=>{d(r.defaultTime)},T=v=>{c.value=v},b=v=>{const $=new Date;return $.setHours(v==="AM"?6:18,0,0,0),new Intl.DateTimeFormat(r.locale||navigator.language,{hour12:!0,hour:"numeric"}).formatToParts($).find(q=>q.type==="dayPeriod")?.value||v},p=()=>{const v=new Date;if(r.use24Hour)i.value=v.getHours();else{const $=v.getHours();c.value=$>=12?"PM":"AM",i.value=$%12||12}s.value=v.getMinutes(),r.enableSeconds&&(u.value=v.getSeconds()),f.value=!0},D=()=>{o("today-click")};return n.watch(()=>r.timeValue,v=>{v?d(v):!f.value&&r.show&&w()},{immediate:!0}),n.watch([i,s,u,c],()=>{f.value&&o("time-change",S.value)}),e({getCurrentTime:()=>S.value,setTime:v=>d(v),resetToDefault:()=>w()}),(v,$)=>t.show?(n.openBlock(),n.createElementBlock("div",Ao,[$[5]||($[5]=n.createElementVNode("hr",{class:"my-2 border-vdt-outline"},null,-1)),n.createElementVNode("div",Lo,[n.createElementVNode("label",Ho,n.toDisplayString(n.unref(l)("general.time"))+": ",1),n.createElementVNode("div",qo,[n.createElementVNode("button",{type:"button",onClick:p,class:"px-2 py-1 text-xs transition-colors rounded-sm bg-vdt-outline text-vdt-content hover:bg-vdt-interactive-active cursor-pointer"}," Now "),t.selectionMode==="single"?(n.openBlock(),n.createElementBlock("button",{key:0,type:"button",onClick:D,class:"px-2 py-1 text-xs transition-colors rounded-sm bg-vdt-outline text-vdt-content hover:bg-vdt-interactive-active cursor-pointer"}," Today ")):n.createCommentVNode("",!0)])]),n.createElementVNode("div",Uo,[n.createElementVNode("div",zo,[n.createElementVNode("div",Wo,[n.withDirectives(n.createElementVNode("select",{"onUpdate:modelValue":$[0]||($[0]=k=>i.value=k),class:"appearance-none bg-none w-full py-1 px-2 border border-vdt-outline bg-vdt-surface text-vdt-content rounded-sm text-sm focus:ring-2 focus:ring-vdt-theme-200 focus:border-vdt-theme-500"},[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(y.value,k=>(n.openBlock(),n.createElementBlock("option",{key:k,value:k},n.toDisplayString(g(k)),9,Jo))),128))],512),[[n.vModelSelect,i.value]])]),n.createElementVNode("div",jo,[n.withDirectives(n.createElementVNode("select",{"onUpdate:modelValue":$[1]||($[1]=k=>s.value=k),class:"appearance-none bg-none w-full py-1 px-2 border border-vdt-outline bg-vdt-surface text-vdt-content rounded-sm text-sm focus:ring-2 focus:ring-vdt-theme-200 focus:border-vdt-theme-500"},[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(h.value,k=>(n.openBlock(),n.createElementBlock("option",{key:k,value:k},n.toDisplayString(m(k)),9,Ko))),128))],512),[[n.vModelSelect,s.value]])]),t.enableSeconds?(n.openBlock(),n.createElementBlock("div",Qo,[n.withDirectives(n.createElementVNode("select",{"onUpdate:modelValue":$[2]||($[2]=k=>u.value=k),class:"appearance-none bg-none w-full py-1 px-2 border border-vdt-outline bg-vdt-surface text-vdt-content rounded-sm text-sm focus:ring-2 focus:ring-vdt-theme-200 focus:border-vdt-theme-500"},[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(x.value,k=>(n.openBlock(),n.createElementBlock("option",{key:k,value:k},n.toDisplayString(m(k)),9,Zo))),128))],512),[[n.vModelSelect,u.value]])])):n.createCommentVNode("",!0),t.use24Hour?n.createCommentVNode("",!0):(n.openBlock(),n.createElementBlock("div",Go,[n.createElementVNode("div",Xo,[n.createElementVNode("button",{type:"button",onClick:$[3]||($[3]=k=>T("AM")),class:n.normalizeClass(["px-2 py-1 text-sm transition-colors",c.value==="AM"?"bg-vdt-theme-500 text-white":"text-vdt-content hover:bg-vdt-interactive-hover"])},n.toDisplayString(b("AM")),3),n.createElementVNode("button",{type:"button",onClick:$[4]||($[4]=k=>T("PM")),class:n.normalizeClass(["px-2 py-1 text-sm transition-colors",c.value==="PM"?"bg-vdt-theme-500 text-white":"text-vdt-content hover:bg-vdt-interactive-hover"])},n.toDisplayString(b("PM")),3)])]))])])])):n.createCommentVNode("",!0)}}),el={class:"vdt-date-picker calendar-grid w-full max-w-xs rounded-lg shadow p-2"},Wt=n.defineComponent({__name:"CalendarGrid",props:{value:{default:null},rangeStart:{default:null},rangeEnd:{default:null},selectionMode:{default:"single"},year:{default:void 0},month:{default:void 0},minDate:{default:void 0},maxDate:{default:void 0},locale:{default:"en-US"},weekStartsOn:{default:0},showTimeSelector:{type:Boolean,default:!1},timeValue:{default:null},enableSeconds:{type:Boolean,default:!0},use24Hour:{type:Boolean,default:!1},defaultTime:{default:"00:00:00"},calendar:{default:"gregory"}},emits:["select","time-select","range-select"],setup(t,{expose:e,emit:a}){const r=t,o=a,l=()=>{if(r.year!==void 0&&r.month!==void 0)return{year:r.year,month:r.month};if(r.value)return{year:r.value.year,month:r.value.month};if(r.rangeStart)return{year:r.rangeStart.year,month:r.rangeStart.month};const v=Fe();return{year:v.year,month:v.month}},{year:i,month:s}=l(),u=n.ref(i),c=n.ref(s),f=n.ref(r.timeValue),y=n.computed(()=>re.convertToCalendarDate(r.value,r.calendar)),h=n.computed(()=>re.convertToCalendarDate(r.rangeStart,r.calendar)),x=n.computed(()=>re.convertToCalendarDate(r.rangeEnd,r.calendar)),S=n.computed(()=>re.convertToCalendarDate(r.minDate||null,r.calendar)),m=n.computed(()=>re.convertToCalendarDate(r.maxDate||null,r.calendar)),g=n.computed(()=>r.minDate?.year||1900),d=n.computed(()=>r.maxDate?.year||2100),w=n.computed(()=>{if(r.year!==void 0&&r.month!==void 0)return{year:r.year,month:r.month};const v=r.selectionMode==="range"?r.rangeStart:r.value;return v?{year:v.year,month:v.month}:{year:u.value,month:c.value}});n.watch(w,({year:v,month:$})=>{u.value=v,c.value=$},{immediate:!0}),n.watch(()=>r.timeValue,v=>{f.value=v},{immediate:!0});const T=v=>{if(r.selectionMode==="single"){const $=re.convertFromCalendarDate(v,r.calendar);$&&(o("select",$,!0),r.showTimeSelector&&f.value&&o("time-select",f.value))}},b=(v,$)=>{if(r.selectionMode==="range"){const k=re.convertFromCalendarDate(v,r.calendar),B=re.convertFromCalendarDate($,r.calendar);o("range-select",k,B)}},p=v=>{f.value=v,o("time-select",v)},D=()=>{if(r.selectionMode==="single"){const v=Fe();u.value=v.year,c.value=v.month,o("select",v,!1)}};return e({getSelectedDate:()=>r.value,getSelectedRange:()=>({start:r.rangeStart,end:r.rangeEnd}),setDisplayMonth:(v,$)=>{u.value=v,c.value=$},previousMonth:()=>{c.value===1?(c.value=12,u.value-=1):c.value-=1},nextMonth:()=>{c.value===12?(c.value=1,u.value+=1):c.value+=1}}),(v,$)=>(n.openBlock(),n.createElementBlock("div",el,[n.createVNode(Ro,{month:c.value,"onUpdate:month":$[0]||($[0]=k=>c.value=k),year:u.value,"onUpdate:year":$[1]||($[1]=k=>u.value=k),locale:t.locale,"min-year":g.value,"max-year":d.value,calendar:t.calendar},n.createSlots({_:2},[n.renderList(v.$slots,(k,B)=>({name:B,fn:n.withCtx(O=>[n.renderSlot(v.$slots,B,n.normalizeProps(n.guardReactiveProps(O)))])}))]),1032,["month","year","locale","min-year","max-year","calendar"]),n.createVNode(Io,{locale:t.locale,"week-starts-on":t.weekStartsOn,calendar:t.calendar},null,8,["locale","week-starts-on","calendar"]),n.createVNode(No,{year:u.value,month:c.value,"selected-date":y.value,"range-start":h.value,"range-end":x.value,"selection-mode":t.selectionMode,"min-date":S.value,"max-date":m.value,locale:t.locale,"week-starts-on":t.weekStartsOn,calendar:t.calendar,onSelect:T,onRangeSelect:b},null,8,["year","month","selected-date","range-start","range-end","selection-mode","min-date","max-date","locale","week-starts-on","calendar"]),n.createVNode(_o,{locale:t.locale,show:t.showTimeSelector,"time-value":f.value,"enable-seconds":t.enableSeconds,"use24-hour":t.use24Hour,"default-time":t.defaultTime,selectionMode:t.selectionMode,onTimeChange:p,onTodayClick:D},null,8,["locale","show","time-value","enable-seconds","use24-hour","default-time","selectionMode"])]))}}),tl={},al={xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"};function rl(t,e){return n.openBlock(),n.createElementBlock("svg",al,[...e[0]||(e[0]=[n.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M6 18L18 6M6 6l12 12"},null,-1)])])}const er=Se(tl,[["render",rl]]);function Jt(t,e){const{dateInputRef:a,timeInputRef:r}=t,{showTime:o,autoFocusTimeAfterDate:l=!0}=e;return{focusFirstInput:()=>{n.nextTick(()=>{a.value?.focus&&a.value.focus()})},focusLastInput:()=>{n.nextTick(()=>{o&&r.value?.focusLast?r.value.focusLast():a.value?.focusLast?a.value.focusLast():a.value?.focus&&a.value.focus()})},handleNavigateToTime:y=>{o&&n.nextTick(()=>{r.value?.focus&&r.value.focus()})},handleNavigateToDate:()=>{n.nextTick(()=>{a.value?.focusLast?a.value.focusLast():a.value?.focus&&a.value.focus()})},autoFocusTimeAfterDateComplete:(y,h)=>{!o||!l||(h&&!y.inputTimeValue.value&&(y.inputTimeValue.value=h,y.updateFromInputs()),n.nextTick(()=>{r.value?.focus&&r.value.focus()}))}}}function jt(t={}){const{required:e=!0,showTime:a=!1,minDate:r,maxDate:o,dateFormat:l="YYYY-MM-DD"}=t,i=n.ref({}),s=n.ref({}),u=n.ref({}),c=n.computed(()=>({...i.value,...s.value})),f=n.computed(()=>({...u.value})),y=n.computed(()=>Object.keys(c.value).length>0),h=(p,D,v="date",$={})=>{["date","year","month","day"].forEach(k=>{m(`${v}.${k}`),g(`${v}.${k}`)}),p||Object.entries(D).forEach(([k,B])=>{const O=`${v}.${k}`;i.value[O]=B,$[k]&&(u.value[O]=$[k])})},x=(p,D,v="time",$={})=>(["time","hour","minute","second"].forEach(k=>{m(`${v}.${k}`),g(`${v}.${k}`)}),p||Object.entries(D).forEach(([k,B])=>{const O=`${v}.${k}`;i.value[O]=B,$[k]&&(u.value[O]=$[k])}),!y.value),S=p=>{if(!p)return!1;if(r){const D=oe(r);if(D&>(p,D)<0)return h(!1,{date:"date.beforeMin"},"date",{date:{minDate:ue(D,l)}}),!1}if(o){const D=oe(o);if(D&>(p,D)>0)return h(!1,{date:"date.afterMax"},"date",{date:{maxDate:ue(D,l)}}),!1}return!0},m=p=>{Object.keys(i.value).forEach(D=>{D.startsWith(p)&&delete i.value[D]})},g=p=>{Object.keys(u.value).forEach(D=>{D.startsWith(p)&&delete u.value[D]})};return{errors:i,formatErrors:s,mergedErrors:c,hasErrors:y,errorParams:u,mergedErrorParams:f,handleDateValidation:h,handleTimeValidation:x,validateDateTime:(p,D)=>{const v={isValid:!0,errors:{}};return e&&(p||(v.errors.date="date.required",v.isValid=!1),a&&!D&&(v.errors.time="time.required",v.isValid=!1)),Object.assign(i.value,v.errors),v.isValid&&!y.value},validateDateRange:S,clearFieldErrors:m,clearFieldParams:g,clearAllErrors:()=>{i.value={},s.value={},u.value={}},setFormatError:(p,D)=>{s.value[p]=D},clearFormatError:p=>{delete s.value[p]}}}function Kt(t={}){const{showTime:e=!1,dateFormat:a="YYYY-MM-DD",timeFormat:r="HH:mm:ss",outputType:o="iso",defaultTime:l,enableSeconds:i=!0}=t,s=n.ref(null),u=n.ref(null),c=n.ref(null),f=v=>{if(!v||v.hour===void 0)return null;const $=v.hour.toString().padStart(2,"0"),k=(v.minute||0).toString().padStart(2,"0");if(i){const B=(v.second||0).toString().padStart(2,"0");return`${$}:${k}:${B}`}else return`${$}:${k}`},y=(v,$)=>{if(!v)return null;const k=oe(v);if(!k)return null;if(!$&&!e)return De(k.year,k.month,k.day);if(!$)if(l){const U=l.split(":").map(Number),W=U[0]||0,I=U[1]||0,Y=U[2]||0;return De(k.year,k.month,k.day,W,I,Y)}else return De(k.year,k.month,k.day);const B=$.split(":").map(Number),O=B[0]||0,q=B[1]||0,K=B[2]||0;return De(k.year,k.month,k.day,O,q,K)},h=v=>{const $=oe(v);s.value=$,$?(u.value=ue($,a),c.value=f($)):(u.value=null,c.value=null)},x=(v,$)=>{const k=v!==void 0?v:u.value,B=$!==void 0?$:c.value,O=y(k,B);return s.value=O,O},S=v=>{if(!v){s.value=null,u.value=null,c.value=null;return}if(e&&l&&(v.hour===void 0||v.hour===null)&&!c.value){const $=l.split(":").map(Number),k=$[0]||0,B=$[1]||0,O=$[2]||0,q=De(v.year,v.month,v.day,k,B,O);s.value=q,c.value=l}else s.value=v,c.value=f(v);s.value&&(u.value=ue(s.value))},m=v=>{if(!s.value)return null;const $=v.split(":").map(Number),k={...s.value,hour:$[0]||0,minute:$[1]||0,second:$[2]||0};return s.value=k,c.value=v,k},g=v=>{const $=v!==void 0?v:s.value,k=e?`${a} ${r}`:a;return ht($,o,k)},d=()=>{s.value=null,u.value=null,c.value=null},w=n.computed(()=>!!(u.value||c.value||s.value)),T=()=>e&&!c.value&&l?(c.value=l,!0):!1,b=n.computed(()=>!!u.value),p=n.computed(()=>!!c.value),D=n.computed(()=>e?b.value&&p.value:b.value);return{internalDateTime:s,inputDateValue:u,inputTimeValue:c,hasDateValue:b,hasTimeValue:p,hasCompleteValue:D,hasValue:w,updateFromInputs:x,setInternalDateTime:S,updateTimeOnly:m,setExternalValue:h,getFormattedOutput:g,clearValues:d,applyDefaultTime:T,getTimeFromDateTime:f,createDateTimeFromInputs:y}}function tr(t,e,a={}){const{disabled:r,onOutsideClick:o}=a,l=n.ref(!1),i=()=>{r?.value||(l.value=!l.value,l.value&&n.nextTick(()=>{c()}))},s=()=>{r?.value||(l.value=!0,n.nextTick(()=>{c()}))},u=()=>{l.value=!1},c=()=>{if(!t.value||!e.value)return;const m=t.value.getBoundingClientRect(),g=e.value,d={width:window.innerWidth,height:window.innerHeight};g.style.position="fixed",g.style.visibility="hidden",g.style.display="block";const w=g.getBoundingClientRect();let T=m.bottom+5,b=m.left;const p=d.height-m.bottom,D=m.top,v=w.height;p<v&&D>p&&(T=m.top-v-10);const $=d.width-m.left,k=w.width;$<k&&(b=Math.max(d.width-k-10,10)),b<10&&(b=10),b+k>d.width-10&&(b=d.width-k-10),g.style.top=`${T}px`,g.style.left=`${b}px`,g.style.zIndex="50",g.style.visibility="visible"},f=m=>{const g=e.value,d=t.value,w=m.target;l.value&&g&&!g.contains(w)&&d&&!d.contains(w)&&(u(),o?.())},y=(m,g)=>{if(r?.value)return;const d=m.target;d.classList.contains("date-input")||d.classList.contains("time-input")||d.closest("input")||d.closest("button")||(m.preventDefault(),g?.())},h=m=>{if(r?.value)return;const g=m.target;g.classList.contains("date-input")||g.classList.contains("time-input")||g.closest("input")||g.closest("button")||m.preventDefault()},x=()=>{l.value&&c()},S=()=>{l.value&&c()};return n.onMounted(()=>{document.addEventListener("mousedown",f),window.addEventListener("resize",x),window.addEventListener("scroll",S)}),n.onBeforeUnmount(()=>{document.removeEventListener("mousedown",f),window.removeEventListener("resize",x),window.removeEventListener("scroll",S)}),{showCalendar:l,toggleCalendar:i,showCalendarPopup:s,hideCalendar:u,updateCalendarPosition:c,handleContainerClick:y,handleContainerMouseDown:h}}function nl(t={}){const{customDefaultTime:e="00:00:00",enableSeconds:a=!0}=t,r=c=>{if(!c)return!1;if(!/^([0-1]?[0-9]|2[0-3]):([0-5]?[0-9])(?::([0-5]?[0-9]))?$/.test(c))return console.warn(`時間格式不正確: ${c},應為 HH:mm:ss 或 HH:mm 格式`),!1;const y=c.split(":"),h=parseInt(y[0]||"0"),x=parseInt(y[1]||"0"),S=y[2]?parseInt(y[2]||"0"):0;return h<0||h>23||x<0||x>59||S<0||S>59?(console.warn(`時間值超出範圍: ${c}`),!1):!0},o=(c,f=a)=>{const y=c.split(":"),h=(y[0]||"0").padStart(2,"0"),x=(y[1]||"0").padStart(2,"0"),S=y[2]?y[2].padStart(2,"0"):"00";return f?`${h}:${x}:${S}`:`${h}:${x}`};return{getValidDefaultTime:n.computed(()=>{if(e&&r(e))return o(e,a)}),isValidTimeValue:r,formatTimeString:o,getCurrentTimeString:()=>{const c=new Date,f=c.getHours().toString().padStart(2,"0"),y=c.getMinutes().toString().padStart(2,"0"),h=c.getSeconds().toString().padStart(2,"0");return a?`${f}:${y}:${h}`:`${f}:${y}`},parseTimeString:c=>{const f=c.split(":");return{hours:parseInt(f[0]||"0")||0,minutes:parseInt(f[1]||"0")||0,seconds:parseInt(f[2]||"0")||0}},buildTimeString:(c,f,y=0)=>{const h=c.toString().padStart(2,"0"),x=f.toString().padStart(2,"0"),S=y.toString().padStart(2,"0");return a?`${h}:${x}:${S}`:`${h}:${x}`}}}function ol(t={},e){const{modelValue:a=null,showTime:r=!1,required:o=!0,dateFormat:l="YYYY-MM-DD",timeFormat:i="HH:mm:ss",useStrictISO:s=!1,customDefaultTime:u,enableSeconds:c=!0,autoFocusTimeAfterDate:f=!0,minDate:y,maxDate:h}=t,{containerRef:x,calendarRef:S,dateInputRef:m,timeInputRef:g}=e,d=n.computed(()=>t.calendar?.value||"gregory"),w=n.computed(()=>t.locale?.value||"zh-TW"),T=n.computed(()=>t.outputType?.value||"iso"),b=n.computed(()=>t.disabled?.value??!1),p=jt({required:o,showTime:r,minDate:y,maxDate:h,dateFormat:l}),D=Kt({showTime:r,dateFormat:l,timeFormat:i,outputType:T.value,defaultTime:u,enableSeconds:c}),v=Jt({dateInputRef:m,timeInputRef:g},{showTime:r,autoFocusTimeAfterDate:f}),$=tr(x,S,{disabled:b,onOutsideClick:()=>{}}),k=nl({customDefaultTime:u,enableSeconds:c}),B=n.computed(()=>{const E=oe(y,w.value);return E||null}),O=n.computed(()=>{const E=oe(h,w.value);return E||null});let q=null,K=null,U=null;const W=E=>{q=E.update||null,K=E.change||null,U=E.validation||null},I=async(E=D.internalDateTime.value)=>{let H=null;if(E){const ne=r?i:void 0;H=ht(E,T.value,l,ne,r,d.value,w.value,s,c)}q?.(H),K?.(H);const Q=!p.hasErrors.value;U?.(Q,p.mergedErrors.value,p.errorParams.value)};n.watch(()=>a,E=>{const H=oe(E,w.value,d.value);E&&!H?(p.handleDateValidation(!1,{date:"無效的日期格式"}),D.setExternalValue(null)):H&&!p.validateDateRange(H)?D.setExternalValue(null):(p.clearFieldErrors("date"),p.clearFieldErrors("invalidInput"),D.setExternalValue(H))},{immediate:!0});const Y=(E,H,Q={})=>{p.handleDateValidation(E,H,"date",Q),U?.(!p.hasErrors.value,p.mergedErrors.value,p.errorParams.value)},M=(E,H,Q={})=>{p.handleTimeValidation(E,H,"time",Q),U?.(!p.hasErrors.value,p.mergedErrors.value,p.errorParams.value)},F=async E=>{D.inputDateValue.value=E;const H=D.updateFromInputs();if(!H){p.handleDateValidation(!1,{date:"date.invalid"});return}p.validateDateRange(H)&&(await I(H),["date","year","month","day"].forEach(Q=>{p.clearFieldErrors(Q)}),v.autoFocusTimeAfterDateComplete(D,u?k.getValidDefaultTime.value:void 0))},L=async E=>{D.inputTimeValue.value=E;const H=D.updateFromInputs();await I(H),["time","hour","minute","second"].forEach(Q=>{p.clearFieldErrors(Q)})},j=async(E,H=!0)=>{try{if(!p.validateDateRange(E))return;D.setInternalDateTime(E),await I(D.internalDateTime.value),["date","year","month","day"].forEach(Q=>{p.clearFieldErrors(Q)}),H&&$.hideCalendar()}catch(Q){console.error("處理日曆選擇失敗:",Q)}},ae=async E=>{const H=D.updateTimeOnly(E);H&&await I(H),["time","hour","minute","second"].forEach(Q=>{p.clearFieldErrors(Q)})},ee=E=>{$.handleContainerClick(E,()=>{v.focusFirstInput()}),$.toggleCalendar()},R=()=>{D.clearValues(),p.clearAllErrors(),I(null)},C=async()=>{const E=await m.value?.validate(),H=r?await g.value?.validate():!0;let Q=!0;D.internalDateTime.value&&(Q=re.isValidDate(D.internalDateTime.value.year,D.internalDateTime.value.month,D.internalDateTime.value.day,"gregory"),Q||p.handleDateValidation(!1,{date:"date.invalid"}));const ne=p.validateDateTime(D.inputDateValue.value,D.inputTimeValue.value),le=E&&H&&Q&≠return U?.(le,p.mergedErrors.value,p.errorParams.value),le},N=async()=>{const E=new Date,H={year:E.getFullYear(),month:E.getMonth()+1,day:E.getDate(),hour:E.getHours(),minute:E.getMinutes(),second:E.getSeconds()};try{D.setInternalDateTime(H),await I(H),["date","year","month","day","time","hour","minute","second"].forEach(Q=>{p.clearFieldErrors(Q)})}catch(Q){console.warn("設置當前時間失敗:",Q);const ne=`${H.year}-${H.month.toString().padStart(2,"0")}-${H.day.toString().padStart(2,"0")}`,le=r?`${(H.hour||0).toString().padStart(2,"0")}:${(H.minute||0).toString().padStart(2,"0")}:${(H.second||0).toString().padStart(2,"0")}`:null;D.inputDateValue.value=ne,r&&le&&(D.inputTimeValue.value=le);const de=D.updateFromInputs();await I(de)}},J=()=>{v.focusFirstInput()};return{isDisabled:b,calendar:d,...p,...D,...$,calendarMinDate:B,calendarMaxDate:O,getValidDefaultTime:k.getValidDefaultTime,setEmitters:W,validateDateInput:Y,validateTimeInput:M,handleDateComplete:F,handleTimeComplete:L,handleCalendarSelect:j,handleTimeSelect:ae,handleContainerClick:ee,handleContainerMouseDown:$.handleContainerMouseDown,handleNavigateToDate:v.handleNavigateToDate,handleNavigateToTime:v.handleNavigateToTime,reset:R,validate:C,selectNow:N,focus:J,focusFirstInput:v.focusFirstInput,focusLastInput:v.focusLastInput}}const Qt={slate:{50:"oklch(98.4% 0.003 247.858)",100:"oklch(96.8% 0.007 247.896)",200:"oklch(92.9% 0.013 255.508)",300:"oklch(86.9% 0.022 252.894)",400:"oklch(70.4% 0.04 256.788)",500:"oklch(55.4% 0.046 257.417)",600:"oklch(44.6% 0.043 257.281)",700:"oklch(37.2% 0.044 257.287)",800:"oklch(27.9% 0.041 260.031)",900:"oklch(20.8% 0.042 265.755)",950:"oklch(12.9% 0.042 264.695)"},gray:{50:"oklch(98.5% 0.002 247.839)",100:"oklch(96.7% 0.003 264.542)",200:"oklch(92.8% 0.006 264.531)",300:"oklch(87.2% 0.01 258.338)",400:"oklch(70.7% 0.022 261.325)",500:"oklch(55.1% 0.027 264.364)",600:"oklch(44.6% 0.03 256.802)",700:"oklch(37.3% 0.034 259.733)",800:"oklch(27.8% 0.033 256.848)",900:"oklch(21% 0.034 264.665)",950:"oklch(13% 0.028 261.692)"},zinc:{50:"oklch(98.5% 0 0)",100:"oklch(96.7% 0.001 286.375)",200:"oklch(92% 0.004 286.32)",300:"oklch(87.1% 0.006 286.286)",400:"oklch(70.5% 0.015 286.067)",500:"oklch(55.2% 0.016 285.938)",600:"oklch(44.2% 0.017 285.786)",700:"oklch(37% 0.013 285.805)",800:"oklch(27.4% 0.006 286.033)",900:"oklch(21% 0.006 285.885)",950:"oklch(14.1% 0.005 285.823)"},neutral:{50:"oklch(98.5% 0 0)",100:"oklch(97% 0 0)",200:"oklch(92.2% 0 0)",300:"oklch(87% 0 0)",400:"oklch(70.8% 0 0)",500:"oklch(55.6% 0 0)",600:"oklch(43.9% 0 0)",700:"oklch(37.1% 0 0)",800:"oklch(26.9% 0 0)",900:"oklch(20.5% 0 0)",950:"oklch(14.5% 0 0)"},stone:{50:"oklch(98.5% 0.001 106.423)",100:"oklch(97% 0.001 106.424)",200:"oklch(92.3% 0.003 48.717)",300:"oklch(86.9% 0.005 56.366)",400:"oklch(70.9% 0.01 56.259)",500:"oklch(55.3% 0.013 58.071)",600:"oklch(44.4% 0.011 73.639)",700:"oklch(37.4% 0.01 67.558)",800:"oklch(26.8% 0.007 34.298)",900:"oklch(21.6% 0.006 56.043)",950:"oklch(14.7% 0.004 49.25)"},red:{50:"oklch(97.1% 0.013 17.38)",100:"oklch(93.6% 0.032 17.717)",200:"oklch(88.5% 0.062 18.334)",300:"oklch(80.8% 0.114 19.571)",400:"oklch(70.4% 0.191 22.216)",500:"oklch(63.7% 0.237 25.331)",600:"oklch(57.7% 0.245 27.325)",700:"oklch(50.5% 0.213 27.518)",800:"oklch(44.4% 0.177 26.899)",900:"oklch(39.6% 0.141 25.723)",950:"oklch(25.8% 0.092 26.042)"},orange:{50:"oklch(98% 0.016 73.684)",100:"oklch(95.4% 0.038 75.164)",200:"oklch(90.1% 0.076 70.697)",300:"oklch(83.7% 0.128 66.29)",400:"oklch(75% 0.183 55.934)",500:"oklch(70.5% 0.213 47.604)",600:"oklch(64.6% 0.222 41.116)",700:"oklch(55.3% 0.195 38.402)",800:"oklch(47% 0.157 37.304)",900:"oklch(40.8% 0.123 38.172)",950:"oklch(26.6% 0.079 36.259)"},amber:{50:"oklch(98.7% 0.022 95.277)",100:"oklch(96.2% 0.059 95.617)",200:"oklch(92.4% 0.12 95.746)",300:"oklch(87.9% 0.169 91.605)",400:"oklch(82.8% 0.189 84.429)",500:"oklch(76.9% 0.188 70.08)",600:"oklch(66.6% 0.179 58.318)",700:"oklch(55.5% 0.163 48.998)",800:"oklch(47.3% 0.137 46.201)",900:"oklch(41.4% 0.112 45.904)",950:"oklch(27.9% 0.077 45.635)"},yellow:{50:"oklch(98.7% 0.026 102.212)",100:"oklch(97.3% 0.071 103.193)",200:"oklch(94.5% 0.129 101.54)",300:"oklch(90.5% 0.182 98.111)",400:"oklch(85.2% 0.199 91.936)",500:"oklch(79.5% 0.184 86.047)",600:"oklch(68.1% 0.162 75.834)",700:"oklch(55.4% 0.135 66.442)",800:"oklch(47.6% 0.114 61.907)",900:"oklch(42.1% 0.095 57.708)",950:"oklch(28.6% 0.066 53.813)"},lime:{50:"oklch(98.6% 0.031 120.757)",100:"oklch(96.7% 0.067 122.328)",200:"oklch(93.8% 0.127 124.321)",300:"oklch(89.7% 0.196 126.665)",400:"oklch(84.1% 0.238 128.85)",500:"oklch(76.8% 0.233 130.85)",600:"oklch(64.8% 0.2 131.684)",700:"oklch(53.2% 0.157 131.589)",800:"oklch(45.3% 0.124 130.933)",900:"oklch(40.5% 0.101 131.063)",950:"oklch(27.4% 0.072 132.109)"},green:{50:"oklch(98.2% 0.018 155.826)",100:"oklch(96.2% 0.044 156.743)",200:"oklch(92.5% 0.084 155.995)",300:"oklch(87.1% 0.15 154.449)",400:"oklch(79.2% 0.209 151.711)",500:"oklch(72.3% 0.219 149.579)",600:"oklch(62.7% 0.194 149.214)",700:"oklch(52.7% 0.154 150.069)",800:"oklch(44.8% 0.119 151.328)",900:"oklch(39.3% 0.095 152.535)",950:"oklch(26.6% 0.065 152.934)"},emerald:{50:"oklch(97.9% 0.021 166.113)",100:"oklch(95% 0.052 163.051)",200:"oklch(90.5% 0.093 164.15)",300:"oklch(84.5% 0.143 164.978)",400:"oklch(76.5% 0.177 163.223)",500:"oklch(69.6% 0.17 162.48)",600:"oklch(59.6% 0.145 163.225)",700:"oklch(50.8% 0.118 165.612)",800:"oklch(43.2% 0.095 166.913)",900:"oklch(37.8% 0.077 168.94)",950:"oklch(26.2% 0.051 172.552)"},teal:{50:"oklch(98.4% 0.014 180.72)",100:"oklch(95.3% 0.051 180.801)",200:"oklch(91% 0.096 180.426)",300:"oklch(85.5% 0.138 181.071)",400:"oklch(77.7% 0.152 181.912)",500:"oklch(70.4% 0.14 182.503)",600:"oklch(60% 0.118 184.704)",700:"oklch(51.1% 0.096 186.391)",800:"oklch(43.7% 0.078 188.216)",900:"oklch(38.6% 0.063 188.416)",950:"oklch(27.7% 0.046 192.524)"},cyan:{50:"oklch(98.4% 0.019 200.873)",100:"oklch(95.6% 0.045 203.388)",200:"oklch(91.7% 0.08 205.041)",300:"oklch(86.5% 0.127 207.078)",400:"oklch(78.9% 0.154 211.53)",500:"oklch(71.5% 0.143 215.221)",600:"oklch(60.9% 0.126 221.723)",700:"oklch(52% 0.105 223.128)",800:"oklch(45% 0.085 224.283)",900:"oklch(39.8% 0.07 227.392)",950:"oklch(30.2% 0.056 229.695)"},sky:{50:"oklch(97.7% 0.013 236.62)",100:"oklch(95.1% 0.026 236.824)",200:"oklch(90.1% 0.058 230.902)",300:"oklch(82.8% 0.111 230.318)",400:"oklch(74.6% 0.16 232.661)",500:"oklch(68.5% 0.169 237.323)",600:"oklch(58.8% 0.158 241.966)",700:"oklch(50% 0.134 242.749)",800:"oklch(44.3% 0.11 240.79)",900:"oklch(39.1% 0.09 240.876)",950:"oklch(29.3% 0.066 243.157)"},blue:{50:"oklch(97% 0.014 254.604)",100:"oklch(93.2% 0.032 255.585)",200:"oklch(88.2% 0.059 254.128)",300:"oklch(80.9% 0.105 251.813)",400:"oklch(70.7% 0.165 254.624)",500:"oklch(62.3% 0.214 259.815)",600:"oklch(54.6% 0.245 262.881)",700:"oklch(48.8% 0.243 264.376)",800:"oklch(42.4% 0.199 265.638)",900:"oklch(37.9% 0.146 265.522)",950:"oklch(28.2% 0.091 267.935)"},indigo:{50:"oklch(96.2% 0.018 272.314)",100:"oklch(93% 0.034 272.788)",200:"oklch(87% 0.065 274.039)",300:"oklch(78.5% 0.115 274.713)",400:"oklch(67.3% 0.182 276.935)",500:"oklch(58.5% 0.233 277.117)",600:"oklch(51.1% 0.262 276.966)",700:"oklch(45.7% 0.24 277.023)",800:"oklch(39.8% 0.195 277.366)",900:"oklch(35.9% 0.144 278.697)",950:"oklch(25.7% 0.09 281.288)"},violet:{50:"oklch(96.9% 0.016 293.756)",100:"oklch(94.3% 0.029 294.588)",200:"oklch(89.4% 0.057 293.283)",300:"oklch(81.1% 0.111 293.571)",400:"oklch(70.2% 0.183 293.541)",500:"oklch(60.6% 0.25 292.717)",600:"oklch(54.1% 0.281 293.009)",700:"oklch(49.1% 0.27 292.581)",800:"oklch(43.2% 0.232 292.759)",900:"oklch(38% 0.189 293.745)",950:"oklch(28.3% 0.141 291.089)"},purple:{50:"oklch(97.7% 0.014 308.299)",100:"oklch(94.6% 0.033 307.174)",200:"oklch(90.2% 0.063 306.703)",300:"oklch(82.7% 0.119 306.383)",400:"oklch(71.4% 0.203 305.504)",500:"oklch(62.7% 0.265 303.9)",600:"oklch(55.8% 0.288 302.321)",700:"oklch(49.6% 0.265 301.924)",800:"oklch(43.8% 0.218 303.724)",900:"oklch(38.1% 0.176 304.987)",950:"oklch(29.1% 0.149 302.717)"},fuchsia:{50:"oklch(97.7% 0.017 320.058)",100:"oklch(95.2% 0.037 318.852)",200:"oklch(90.3% 0.076 319.62)",300:"oklch(83.3% 0.145 321.434)",400:"oklch(74% 0.238 322.16)",500:"oklch(66.7% 0.295 322.15)",600:"oklch(59.1% 0.293 322.896)",700:"oklch(51.8% 0.253 323.949)",800:"oklch(45.2% 0.211 324.591)",900:"oklch(40.1% 0.17 325.612)",950:"oklch(29.3% 0.136 325.661)"},pink:{50:"oklch(97.1% 0.014 343.198)",100:"oklch(94.8% 0.028 342.258)",200:"oklch(89.9% 0.061 343.231)",300:"oklch(82.3% 0.12 346.018)",400:"oklch(71.8% 0.202 349.761)",500:"oklch(65.6% 0.241 354.308)",600:"oklch(59.2% 0.249 0.584)",700:"oklch(52.5% 0.223 3.958)",800:"oklch(45.9% 0.187 3.815)",900:"oklch(40.8% 0.153 2.432)",950:"oklch(28.4% 0.109 3.907)"},rose:{50:"oklch(96.9% 0.015 12.422)",100:"oklch(94.1% 0.03 12.58)",200:"oklch(89.2% 0.058 10.001)",300:"oklch(81% 0.117 11.638)",400:"oklch(71.2% 0.194 13.428)",500:"oklch(64.5% 0.246 16.439)",600:"oklch(58.6% 0.253 17.585)",700:"oklch(51.4% 0.222 16.935)",800:"oklch(45.5% 0.188 13.697)",900:"oklch(41% 0.159 10.272)",950:"oklch(27.1% 0.105 12.094)"}};function ar(t){const e=t.match(/oklch\(\s*([0-9.]+)%?\s+([0-9.]+)\s+([0-9.]+)(?:\s*\/\s*([0-9.]+))?\s*\)/);if(!e)return null;const a=Number(e[1]),r=Number(e[2]),o=Number(e[3]);return isNaN(a)||isNaN(r)||isNaN(o)?null:{lightness:a,chroma:r,hue:o}}function ll(t){t=t.replace(/^#/,""),t.length===3&&(t=t.split("").map(o=>o+o).join(""));const e=parseInt(t.slice(0,2),16),a=parseInt(t.slice(2,4),16),r=parseInt(t.slice(4,6),16);return{r:e/255,g:a/255,b:r/255}}function sl(t){const e=t.match(/^rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/);if(e){const r=Number(e[1]),o=Number(e[2]),l=Number(e[3]);return{r:Math.max(0,Math.min(255,r))/255,g:Math.max(0,Math.min(255,o))/255,b:Math.max(0,Math.min(255,l))/255}}const a=t.match(/^rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*([0-9]*\.?[0-9]+)\s*\)$/);if(a){const r=Number(a[1]),o=Number(a[2]),l=Number(a[3]);return{r:Math.max(0,Math.min(255,r))/255,g:Math.max(0,Math.min(255,o))/255,b:Math.max(0,Math.min(255,l))/255}}return null}function rr(t){const{r:e,g:a,b:r}=t,o=e<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4),l=a<=.04045?a/12.92:Math.pow((a+.055)/1.055,2.4),i=r<=.04045?r/12.92:Math.pow((r+.055)/1.055,2.4),s=.4124*o+.3576*l+.1805*i,u=.2126*o+.7152*l+.0722*i,c=.0193*o+.1192*l+.9505*i,f=.95047,y=1,h=1.08883,x=s>.008856?Math.pow(s/f,1/3):7.787*s/f+16/116,S=u>.008856?Math.pow(u/y,1/3):7.787*u/y+16/116,m=c>.008856?Math.pow(c/h,1/3):7.787*c/h+16/116,g=116*S-16,d=500*(x-S),w=200*(S-m);return{l:g,a:d,b:w}}function nr(t){const{l:e,a,b:r}=t,o=Math.sqrt(a*a+r*r);let l=Math.atan2(r,a)*180/Math.PI;return l<0&&(l+=360),{l:e,c:o,h:l}}function il(t){const e=ll(t),a=rr(e),r=nr(a);let o=r.h;return o>0&&o<60&&(o=o*.7),{lightness:r.l,chroma:Math.min(r.c/150,.4),hue:o}}function cl(t){const e=rr(t),a=nr(e);let r=a.h;return r>0&&r<60&&(r=r*.7),{lightness:a.l,chroma:Math.min(a.c/150,.4),hue:r}}function ul(t,e){const a=Math.min(Math.abs(t.hue-e.hue),360-Math.abs(t.hue-e.hue)),r=a>60?30:5;return Math.sqrt(Math.pow((t.lightness-e.lightness)*1.5,2)+Math.pow((t.chroma-e.chroma)*2,2)+Math.pow(a/360*r,2)*100)}function dl(t){return t.startsWith("oklch(")}function ml(t){return/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/.test(t)}function fl(t){return t in Qt}function hl(t){return t.startsWith("rgb(")||t.startsWith("rgba(")}function or(t){const e="violet";if(fl(t))return t;let a=null;if(dl(t))a=ar(t);else if(ml(t))a=il(t);else if(hl(t)){const l=sl(t);l&&(a=cl(l))}if(!a)return e;let r=e,o=1/0;for(const[l,i]of Object.entries(Qt))for(const s of["300","400","500","600","700"]){const u=i[s];if(!u)continue;const c=ar(u);if(!c)continue;const f=ul(a,c);f<o&&(o=f,r=l)}return r}function gl(t){return Qt[t]||{}}class pl{instances=new Map;mediaQuery=null;listeners=new Map;constructor(){this.initializeSystemPreference()}initializeSystemPreference(){typeof window<"u"&&window.matchMedia&&(this.mediaQuery=window.matchMedia("(prefers-color-scheme: dark)"),this.mediaQuery.addEventListener("change",this.handleSystemThemeChange.bind(this)))}handleSystemThemeChange(e){const a=e.matches?"dark":"light";this.instances.forEach((r,o)=>{r.systemPreference=a,r.userPreference==="auto"&&this.updateCurrentMode(o)})}getSystemPreference(){return this.mediaQuery&&this.mediaQuery.matches?"dark":"light"}createInstance(e,a={}){const r=e||this.generateInstanceId(),o={currentMode:"light",userPreference:a.defaultMode||"auto",systemPreference:this.getSystemPreference(),color:or(a.defaultColor||"violet"),instanceId:r};return this.instances.set(r,o),this.listeners.set(r,[]),this.updateCurrentMode(r),typeof document<"u"&&setTimeout(()=>{this.applyColorToDOM(r),this.applyModeToDOM(r)},0),r}destroyInstance(e){this.instances.delete(e),this.listeners.delete(e)}generateInstanceId(){return`vdt-${Date.now()}-${Math.random().toString(36).substr(2,9)}`}updateCurrentMode(e){const a=this.instances.get(e);if(!a)return;const r=a.currentMode;a.userPreference==="auto"?a.currentMode=a.systemPreference:a.currentMode=a.userPreference,r!==a.currentMode&&(this.applyModeToDOM(e),this.notifyListeners(e))}applyModeToDOM(e){if(typeof document>"u")return;const a=this.instances.get(e);if(!a)return;const r=document.querySelector(`[data-vdt-instance="${e}"]`);if(!r){setTimeout(()=>this.applyModeToDOM(e),10);return}a.userPreference==="auto"?r.removeAttribute("data-vdt-mode"):r.setAttribute("data-vdt-mode",a.currentMode)}applyColorToDOM(e){if(typeof document>"u")return;const a=this.instances.get(e);if(!a)return;const r=document.querySelector(`[data-vdt-instance="${e}"]`);if(!r){setTimeout(()=>this.applyColorToDOM(e),10);return}const o=gl(a.color);this.checkForUserOverride(r,o)?Object.keys(o).forEach(i=>{r.style.removeProperty(`--color-vdt-theme-${i}`)}):Object.entries(o).forEach(([i,s])=>{r.style.setProperty(`--color-vdt-theme-${i}`,s)})}checkForUserOverride(e,a){const r={};Object.keys(a).forEach(y=>{const h=`--color-vdt-theme-${y}`;r[h]=e.style.getPropertyValue(h),e.style.removeProperty(h)});const l=getComputedStyle(e).getPropertyValue("--color-vdt-theme-500").trim();if(Object.entries(r).forEach(([y,h])=>{h&&e.style.setProperty(y,h)}),!l)return!1;const i="oklch(60.6% 0.25 292.717)",s=a[500],u=this.isOklchEqual(l,i),c=s?this.isOklchEqual(l,s):!1;return!u&&!c}parseOklchForComparison(e){const a=e.match(/oklch\(\s*([0-9.]+)%?\s+([0-9.]+)\s+([0-9.]+)\s*\)/);return!a||!a[1]||!a[2]||!a[3]?null:{l:parseFloat(a[1]),c:parseFloat(a[2]),h:parseFloat(a[3])}}isOklchEqual(e,a,r=.001){const o=this.parseOklchForComparison(e),l=this.parseOklchForComparison(a);return!o||!l?e.trim()===a.trim():Math.abs(o.l-l.l)<r&&Math.abs(o.c-l.c)<r&&Math.abs(o.h-l.h)<r}notifyListeners(e){const a=this.instances.get(e),r=this.listeners.get(e);a&&r&&r.forEach(o=>o({...a}))}setMode(e,a){const r=this.instances.get(e);r&&(r.userPreference=a,this.updateCurrentMode(e))}setColor(e,a){const r=this.instances.get(e);if(!r)return;const o=or(a);r.color=o,this.applyColorToDOM(e),this.notifyListeners(e)}getState(e){const a=this.instances.get(e);return a?{...a}:null}getThemeClasses(e){const a=this.instances.get(e);return a?{"vdt-datepicker":!0,"vdt-themed":!0,[`vdt-theme-${a.color}`]:!0,[`vdt-mode-${a.currentMode}`]:!0,"vdt-mode-auto":a.userPreference==="auto",[`vdt-instance-${e}`]:!0}:{}}getContainerAttributes(e){const a=this.instances.get(e);if(!a)return{};const r={"data-vdt-instance":e,"data-vdt-theme":a.color,"data-vdt-mode-preference":a.userPreference};return a.userPreference!=="auto"&&(r["data-vdt-mode"]=a.currentMode),r}reapplyTheme(e){this.applyColorToDOM(e),this.applyModeToDOM(e)}addListener(e,a){const r=this.listeners.get(e);return r?(r.push(a),()=>{const o=r.indexOf(a);o>-1&&r.splice(o,1)}):()=>{}}destroy(){this.mediaQuery&&this.mediaQuery.removeEventListener("change",this.handleSystemThemeChange.bind(this)),this.instances.clear(),this.listeners.clear()}}const ge=new pl;function lr(t={}){const e=n.ref(ge.createInstance(t.instanceId,{defaultColor:t.defaultColor,defaultMode:t.defaultMode})),a=n.ref(ge.getState(e.value));let r=null;const o=n.computed(()=>a.value?.currentMode==="dark"),l=n.computed(()=>a.value?.currentMode==="light"),i=n.computed(()=>a.value?.userPreference==="auto"),s=n.computed(()=>a.value?.currentMode||"light"),u=n.computed(()=>a.value?.userPreference||"auto"),c=n.computed(()=>a.value?.systemPreference||"light"),f=n.computed(()=>a.value?.color||"violet"),y=n.computed(()=>e.value?ge.getThemeClasses(e.value):{}),h=n.computed(()=>e.value?ge.getContainerAttributes(e.value):{}),x=d=>{e.value&&ge.setColor(e.value,d)},S=d=>{e.value&&ge.setMode(e.value,d)},m=()=>{if(a.value)if(a.value.userPreference==="auto"){const d=a.value.currentMode==="light"?"dark":"light";S(d)}else{const d=a.value.currentMode==="light"?"dark":"light";S(d)}},g=n.computed(()=>typeof window>"u"?!1:window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches!==void 0);return n.onMounted(async()=>{await n.nextTick(),a.value=ge.getState(e.value),r=ge.addListener(e.value,d=>{a.value=d}),setTimeout(()=>{ge.reapplyTheme(e.value)},10)}),n.onBeforeUnmount(()=>{r&&r(),e.value&&ge.destroyInstance(e.value)}),{instanceId:e,themeState:a,isDark:o,isLight:l,isAuto:i,currentMode:s,userPreference:u,systemPreference:c,currentColor:f,themeClasses:y,containerAttributes:h,supportsColorScheme:g,setColor:x,setMode:S,toggle:m,setLightMode:()=>S("light"),setDarkMode:()=>S("dark"),setAutoMode:()=>S("auto"),setRedTheme:()=>x("red"),setBlueTheme:()=>x("blue"),setGreenTheme:()=>x("green"),setVioletTheme:()=>x("violet"),setPurpleTheme:()=>x("purple"),setIndigoTheme:()=>x("indigo"),setTealTheme:()=>x("teal"),setCyanTheme:()=>x("cyan"),setSkyTheme:()=>x("sky"),setEmeraldTheme:()=>x("emerald")}}const yl=["name","value"],vl=["disabled"],$l={key:0},Dl={key:0,class:"date-placeholder text-vdt-content truncate"},kl={key:1,class:"date-placeholder text-vdt-content-muted truncate"},bl={key:0},Zt=n.defineComponent({__name:"DatePicker",props:{modelValue:{default:null},customDefaultTime:{},autoFocusTimeAfterDate:{type:Boolean,default:!0},placeholderOverrides:{default:()=>({})},mode:{default:"auto"},theme:{default:()=>"violet"},calendar:{default:"gregory"},locale:{default:"zh-TW"},customLocaleMessages:{default:void 0},outputType:{default:"iso"},useStrictISO:{type:Boolean,default:!1},weekStartsOn:{default:0},minDate:{},maxDate:{},dateSeparator:{default:"-"},dateFormat:{default:"YYYY-MM-DD"},timeFormat:{},showTime:{type:Boolean,default:!1},enableSeconds:{type:Boolean,default:!0},use24Hour:{type:Boolean,default:!0},useLocalizedPeriod:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},inputEnabled:{type:Boolean,default:!0},required:{type:Boolean,default:!1},showClearButton:{type:Boolean,default:!0},showCalendarIcon:{type:Boolean,default:!0},id:{default:void 0},name:{default:void 0},showErrorMessage:{type:Boolean,default:!0},useI18n:{type:Boolean,default:!0},customErrorMessages:{default:()=>({})}},emits:["update:modelValue","change","validation"],setup(t,{expose:e,emit:a}){const r=t,{setLocale:o,getPlaceholderMessage:l}=Ke(r.locale,r.customLocaleMessages),i=a,s=n.useSlots(),u=n.computed(()=>{const P={};return["no-years-display","month-selector"].forEach(A=>{s[A]&&(P[A]=s[A])}),Object.keys(s).forEach(A=>{A.startsWith("year-")&&(P[A]=s[A])}),P}),c=n.ref(null),f=n.ref(null),y=n.ref(null),h=n.ref(null),x=n.computed(()=>r.timeFormat?r.timeFormat:r.enableSeconds?r.use24Hour?"HH:mm:ss":"hh:mm:ss A":r.use24Hour?"HH:mm":"hh:mm A"),S=n.ref(r.dateFormat),m=n.ref(x.value),g=n.ref({}),d=ol({modelValue:r.modelValue,showTime:r.showTime,required:r.required,disabled:n.toRef(r,"disabled"),calendar:n.toRef(r,"calendar"),dateFormat:S.value,timeFormat:m.value,outputType:n.toRef(r,"outputType"),useStrictISO:r.useStrictISO,customDefaultTime:r.customDefaultTime,enableSeconds:r.enableSeconds,autoFocusTimeAfterDate:r.autoFocusTimeAfterDate,minDate:r.minDate,maxDate:r.maxDate,locale:n.toRef(r,"locale")},{containerRef:c,calendarRef:f,dateInputRef:y,timeInputRef:h});d.setEmitters({update:P=>i("update:modelValue",P),change:P=>i("change",P),validation:(P,A,G)=>i("validation",P,A,G)});const{themeClasses:w,containerAttributes:T,setColor:b,setMode:p,currentMode:D,isDark:v,isLight:$}=lr(),k=n.computed(()=>{const P=oe(r.minDate,r.locale);return ue(P)}),B=n.computed(()=>{const P=oe(r.maxDate,r.locale);return ue(P)}),O=n.computed(()=>S.value),q=n.computed(()=>r.calendar==="gregory"),K=n.computed(()=>!!(M.value&&M.value.trim())),U=n.computed(()=>{r.locale;const P={selectDate:l("general.selectDate"),year:l("date.year"),month:l("date.month"),day:l("date.day"),hour:l("time.hour"),minute:l("time.minute"),second:l("time.second")};return{selectDate:r.placeholderOverrides?.selectDate||P.selectDate,hour:r.placeholderOverrides?.hour||P.hour,minute:r.placeholderOverrides?.minute||P.minute,second:r.placeholderOverrides?.second||P.second,year:r.placeholderOverrides?.year||P.year,month:r.placeholderOverrides?.month||P.month,day:r.placeholderOverrides?.day||P.day}}),W=n.computed(()=>({...d.mergedErrors.value,...g.value})),I=n.computed(()=>{const G={...d.mergedErrorParams?.value||{},...{}};return Object.keys(G).length>0?G:{}}),Y=n.computed(()=>Object.keys(W.value).length>0);n.onBeforeMount(()=>{if(!ja(r.dateFormat)&&r.calendar==="gregory"){const P=r.dateFormat,A=In(r.dateFormat);g.value.dateFormat="format.invalid",console.warn(`日期格式 "${P}" 不正確,已自動修復為 "${A}"`),S.value=A}if(r.showTime&&!Lt(m.value)){const P=m.value,A=Bn(m.value);if(Lt(A))g.value.timeFormat="format.invalid",console.warn(`時間格式 "${P}" 不正確,已自動修復為 "${A}"`),m.value=A;else{const G=x.value;g.value.timeFormat="format.invalid",console.warn(`時間格式 "${P}" 不正確,已使用預設格式 "${G}"`),m.value=G}}}),n.watch(()=>r.theme,P=>{P&&b(P)},{immediate:!0}),n.watch(()=>r.mode,P=>{p(P)},{immediate:!0}),n.watch(()=>r.locale,P=>{P&&o(P,r.customLocaleMessages)},{immediate:!0}),n.watch(()=>r.customLocaleMessages,P=>{P&&r.locale&&o(r.locale,P)}),n.watch([()=>r.enableSeconds,()=>r.use24Hour,()=>r.timeFormat],()=>{r.timeFormat||(m.value=x.value)},{immediate:!0}),n.watch(()=>r.calendar,P=>{re.isCalendarSupported(P)?delete g.value.calendar:g.value.calendar="calendar.unsupported"},{immediate:!0}),e({focus:d.focus,reset:d.reset,validate:d.validate,selectNow:d.selectNow,getDateTime:()=>d.internalDateTime.value,setDateTime:P=>{d.setExternalValue(P)},setTheme:b,setDarkMode:()=>p("dark"),setLightMode:()=>p("light"),setAutoMode:()=>p("auto"),getCurrentMode:()=>D.value,isDarkMode:()=>v.value,isLightMode:()=>$.value,getErrors:()=>W.value,hasErrors:()=>Y.value});const{inputDateValue:M,inputTimeValue:F,showCalendar:L,internalDateTime:j,calendarMinDate:ae,calendarMaxDate:ee,getValidDefaultTime:R,hasValue:C,validateDateInput:N,validateTimeInput:J,handleDateComplete:E,handleTimeComplete:H,handleCalendarSelect:Q,handleTimeSelect:ne,handleContainerClick:le,handleContainerMouseDown:de,handleNavigateToDate:he,toggleCalendar:se,reset:Z}=d;return(P,A)=>(n.openBlock(),n.createElementBlock(n.Fragment,null,[n.createElementVNode("div",n.mergeProps({class:["date-picker-wrapper relative w-full min-w-0 justify-self-start",[n.unref(w),t.showTime?"min-w-[270px]":"min-w-[150px]"]]},n.unref(T),{ref_key:"containerRef",ref:c}),[t.name?(n.openBlock(),n.createElementBlock("input",{key:0,type:"hidden",name:t.name,value:t.modelValue||""},null,8,yl)):n.createCommentVNode("",!0),n.createElementVNode("div",{class:n.normalizeClass(["date-picker-container flex w-full items-center px-2 py-1 gap-1 bg-vdt-surface text-vdt-content rounded-sm transition-all duration-200 disabled:opacity-50 disabled:cursor-not-allowed",[{"border-red-500 ring-2 ring-red-200":Y.value}]])},[t.showCalendarIcon?(n.openBlock(),n.createElementBlock("button",{key:0,type:"button",class:"date-picker-icon text-gray-400 hover:text-gray-500 transition-colors disabled:cursor-not-allowed disabled:opacity-50 flex-shrink-0",disabled:t.disabled,"aria-label":"開啟日曆",onClick:A[0]||(A[0]=n.withModifiers(G=>n.unref(se)?.(),["stop","prevent"]))},[n.createVNode(Ga,{class:"size-5"})],8,vl)):n.createCommentVNode("",!0),q.value&&t.inputEnabled?(n.openBlock(),n.createElementBlock("div",{key:1,class:n.normalizeClass(["flex-1 flex w-full items-center justify-start gap-2",[t.disabled?"cursor-not-allowed cursor-event-none opacity-50":""]]),onClick:A[3]||(A[3]=n.withModifiers((...G)=>n.unref(le)&&n.unref(le)(...G),["stop"])),onMousedown:A[4]||(A[4]=(...G)=>n.unref(de)&&n.unref(de)(...G))},[n.createElementVNode("div",null,[n.createVNode(Ut,{ref_key:"dateInputRef",ref:y,modelValue:n.unref(M),"onUpdate:modelValue":A[1]||(A[1]=G=>n.isRef(M)?M.value=G:null),"year-placeholder":U.value.year,"month-placeholder":U.value.month,"day-placeholder":U.value.day,"min-date":k.value,"max-date":B.value,required:t.required,separator:t.dateSeparator,"date-format":O.value,"input-id":t.id,disabled:t.disabled,onValidation:n.unref(N),onComplete:n.unref(E)},null,8,["modelValue","year-placeholder","month-placeholder","day-placeholder","min-date","max-date","required","separator","date-format","input-id","disabled","onValidation","onComplete"])]),t.showTime?(n.openBlock(),n.createElementBlock("div",$l,[n.createVNode(zt,{ref_key:"timeInputRef",ref:h,modelValue:n.unref(F),"onUpdate:modelValue":A[2]||(A[2]=G=>n.isRef(F)?F.value=G:null),"hour-placeholder":U.value.hour,"minute-placeholder":U.value.minute,"second-placeholder":U.value.second,"enable-seconds":t.enableSeconds,use24Hour:t.use24Hour,required:t.required,locale:t.locale,useLocalizedPeriod:t.useLocalizedPeriod,disabled:t.disabled,onValidation:n.unref(J),onComplete:n.unref(H),onNavigateToDate:n.unref(he)},null,8,["modelValue","hour-placeholder","minute-placeholder","second-placeholder","enable-seconds","use24Hour","required","locale","useLocalizedPeriod","disabled","onValidation","onComplete","onNavigateToDate"])])):n.createCommentVNode("",!0)],34)):(n.openBlock(),n.createElementBlock("button",{key:2,type:"button",class:n.normalizeClass(["flex-1 flex w-full h-full items-center justify-start gap-1",{"cursor-not-allowed opacity-50":t.disabled}]),onClick:A[5]||(A[5]=n.withModifiers(G=>!t.disabled&&n.unref(se)?.(),["stop"])),onKeydown:[A[6]||(A[6]=n.withKeys(n.withModifiers(G=>!t.disabled&&n.unref(se)?.(),["prevent"]),["enter"])),A[7]||(A[7]=n.withKeys(n.withModifiers(G=>!t.disabled&&n.unref(se)?.(),["prevent"]),["space"]))]},[K.value?(n.openBlock(),n.createElementBlock("span",Dl,n.toDisplayString(t.modelValue),1)):(n.openBlock(),n.createElementBlock("span",kl,n.toDisplayString(U.value.selectDate),1))],34)),n.unref(C)&&!t.disabled&&t.showClearButton?(n.openBlock(),n.createElementBlock("button",{key:3,type:"button",class:"date-picker-icon text-gray-400 hover:text-red-500","aria-label":"清除日期",onClick:A[8]||(A[8]=n.withModifiers((...G)=>n.unref(Z)&&n.unref(Z)(...G),["stop","prevent"]))},[n.createVNode(er,{class:"size-5"})])):n.createCommentVNode("",!0)],2),n.unref(L)&&!t.disabled?(n.openBlock(),n.createElementBlock("div",{key:1,ref_key:"calendarRef",ref:f,class:"calendar-container absolute mt-1 bg-vdt-surface-elevated border border-vdt-outline rounded-lg shadow-lg z-10",onClick:A[9]||(A[9]=n.withModifiers(()=>{},["stop"])),role:"dialog","aria-modal":"true","aria-label":"date-picker"},[n.createVNode(Wt,{value:n.unref(j),weekStartsOn:t.weekStartsOn,"min-date":n.unref(ae),"max-date":n.unref(ee),showTimeSelector:t.showTime,"time-value":n.unref(F),use24Hour:t.use24Hour,"default-time":n.unref(R),enableSeconds:t.enableSeconds,locale:t.locale,calendar:t.calendar,onSelect:n.unref(Q),onTimeSelect:n.unref(ne)},n.createSlots({_:2},[n.renderList(u.value,(G,pe)=>({name:pe,fn:n.withCtx(Qe=>[n.renderSlot(P.$slots,pe,n.normalizeProps(n.guardReactiveProps(Qe)))])}))]),1032,["value","weekStartsOn","min-date","max-date","showTimeSelector","time-value","use24Hour","default-time","enableSeconds","locale","calendar","onSelect","onTimeSelect"])],512)):n.createCommentVNode("",!0)],16),t.showErrorMessage&&Y.value?(n.openBlock(),n.createElementBlock("div",bl,[n.renderSlot(P.$slots,"error",{errors:W.value,errorParams:I.value,hasErrors:Y.value},()=>[n.createVNode(Za,{errors:W.value,locale:t.locale,"use-i18n":t.useI18n,"custom-messages":t.customErrorMessages,errorParams:I.value},n.createSlots({_:2},[n.renderList(P.$slots,(G,pe)=>({name:pe,fn:n.withCtx(Qe=>[n.renderSlot(P.$slots,pe,n.normalizeProps(n.guardReactiveProps(Qe)))])}))]),1032,["errors","locale","use-i18n","custom-messages","errorParams"])])])):n.createCommentVNode("",!0)],64))}}),Ml={key:0,class:"calendar-container flex-1 md:min-w-[280px] min-w-auto"},wl=n.defineComponent({__name:"RangeCalendar",props:{rangeStart:{default:null},rangeEnd:{default:null},minDate:{default:null},maxDate:{default:null},locale:{default:"zh-TW"},weekStartsOn:{default:0},calendar:{default:"gregory"},showTimeSelector:{type:Boolean,default:!1},startTimeValue:{default:null},endTimeValue:{default:null},enableSeconds:{type:Boolean,default:!0},use24Hour:{type:Boolean,default:!0},monthDisplayMode:{default:"dual"},initialYear:{default:()=>Fe().year},initialMonth:{default:()=>Fe().month}},emits:["range-select","time-select"],setup(t,{expose:e,emit:a}){const r=t,o=a,l=n.ref({isSelecting:!1,tempStart:null,activeTimeTarget:"start"}),i=()=>{if(r.rangeStart)return{year:r.rangeStart.year,month:r.rangeStart.month};if(r.initialYear&&r.initialMonth)return{year:r.initialYear,month:r.initialMonth};const b=Fe();return{year:b.year,month:b.month}},{year:s,month:u}=i(),c=n.ref(s),f=n.ref(u),y=n.computed(()=>f.value===12?c.value+1:c.value),h=n.computed(()=>f.value===12?1:f.value+1),x=n.computed(()=>r.monthDisplayMode==="single"?l.value.activeTimeTarget==="start"?r.startTimeValue:r.endTimeValue:r.startTimeValue),S=n.computed(()=>r.endTimeValue),m=n.computed(()=>r.monthDisplayMode==="single"?l.value.activeTimeTarget:"start");n.watch(()=>[r.rangeStart,r.rangeEnd],([b,p])=>{b&&!r.initialYear&&!r.initialMonth&&(c.value=b.year,f.value=b.month),r.monthDisplayMode==="single"?b&&p?(l.value.isSelecting=!1,l.value.tempStart=null,l.value.activeTimeTarget="start"):b&&!p?(l.value.isSelecting=!0,l.value.tempStart=b,l.value.activeTimeTarget="end"):(l.value.isSelecting=!1,l.value.tempStart=null,l.value.activeTimeTarget="start"):b&&p?(l.value.isSelecting=!1,l.value.tempStart=null):b&&!p?(l.value.isSelecting=!0,l.value.tempStart=b):(l.value.isSelecting=!1,l.value.tempStart=null)},{immediate:!0,deep:!0});const g=(b,p)=>{if(!b){l.value.isSelecting=!1,l.value.tempStart=null,r.monthDisplayMode==="single"&&(l.value.activeTimeTarget="start"),o("range-select",null,null);return}if(!l.value.isSelecting)l.value.isSelecting=!0,l.value.tempStart=b,r.monthDisplayMode==="single"&&(l.value.activeTimeTarget="start"),o("range-select",b,null);else{const D=l.value.tempStart;if(D&&(b.year!==D.year||b.month!==D.month||b.day!==D.day)){l.value.isSelecting=!1,l.value.tempStart=null;const v=D.year*1e4+D.month*100+D.day,$=b.year*1e4+b.month*100+b.day;v<=$?o("range-select",D,b):o("range-select",b,D),r.monthDisplayMode==="single"&&(l.value.activeTimeTarget="end")}else l.value.tempStart=b,r.monthDisplayMode==="single"&&(l.value.activeTimeTarget="start"),o("range-select",b,null)}},d=(b,p)=>{o("time-select",b,p)};return e({getCurrentDisplay:()=>r.monthDisplayMode==="single"?{year:c.value,month:f.value}:{left:{year:c.value,month:f.value},right:{year:y.value,month:h.value}},setDisplayMonth:(b,p)=>{c.value=b,f.value=p},resetRangeSelection:()=>{l.value.isSelecting=!1,l.value.tempStart=null,r.monthDisplayMode==="single"&&(l.value.activeTimeTarget="start")},getSelectionState:()=>({isSelecting:l.value.isSelecting,tempStart:l.value.tempStart,activeTimeTarget:l.value.activeTimeTarget}),previousMonth:()=>{f.value===1?(f.value=12,c.value-=1):f.value-=1},nextMonth:()=>{f.value===12?(f.value=1,c.value+=1):f.value+=1},handleRangeSelect:g}),(b,p)=>(n.openBlock(),n.createElementBlock("div",{class:n.normalizeClass(["range-calendar",[t.monthDisplayMode==="single"?"single-month":"dual-month","flex flex-col gap-4",t.monthDisplayMode==="dual"?"min-w-auto md:min-w-[570px] md:flex-row":"min-w-auto max-w-[300px]","m-1"]])},[n.createElementVNode("div",{class:n.normalizeClass(["calendar-container flex-1",[t.monthDisplayMode==="dual"?"min-w-auto md:min-w-[280px]":"min-w-auto"]])},[n.createVNode(Wt,{"range-start":t.rangeStart,"range-end":t.rangeEnd,"selection-mode":"range",year:c.value,month:f.value,"min-date":t.minDate,"max-date":t.maxDate,locale:t.locale,"week-starts-on":t.weekStartsOn,calendar:t.calendar,showTimeSelector:t.showTimeSelector,"time-value":x.value,"enable-seconds":t.enableSeconds,"use24-hour":t.use24Hour,onRangeSelect:g,onTimeSelect:p[0]||(p[0]=D=>d(D,m.value))},null,8,["range-start","range-end","year","month","min-date","max-date","locale","week-starts-on","calendar","showTimeSelector","time-value","enable-seconds","use24-hour"])],2),t.monthDisplayMode==="dual"?(n.openBlock(),n.createElementBlock("div",Ml,[n.createVNode(Wt,{"range-start":t.rangeStart,"range-end":t.rangeEnd,"selection-mode":"range",year:y.value,month:h.value,"min-date":t.minDate,"max-date":t.maxDate,locale:t.locale,"week-starts-on":t.weekStartsOn,calendar:t.calendar,showTimeSelector:t.showTimeSelector,"time-value":S.value,"enable-seconds":t.enableSeconds,"use24-hour":t.use24Hour,onRangeSelect:g,onTimeSelect:p[1]||(p[1]=D=>d(D,"end"))},null,8,["range-start","range-end","year","month","min-date","max-date","locale","week-starts-on","calendar","showTimeSelector","time-value","enable-seconds","use24-hour"])])):n.createCommentVNode("",!0)],2))}}),pt="00:00:00",yt="23:59:59";function Sl(t={},e){const{calendar:a="gregory",modelValue:r=null,showTime:o=!1,required:l=!1,incomplete:i=!1,dateFormat:s="YYYY-MM-DD",timeFormat:u="HH:mm:ss",outputType:c="iso",useStrictISO:f=!1,enableSeconds:y=!1,minDate:h,maxDate:x,maxRange:S,minRange:m,locale:g="zh-TW"}=t,{containerRef:d,calendarRef:w,startDateInputRef:T,endDateInputRef:b,startTimeInputRef:p,endTimeInputRef:D}=e,v=n.computed(()=>t.disabled?.value??!1);let $={};const k=jt({required:l,showTime:o,minDate:h,maxDate:x,dateFormat:s}),B=jt({required:l,showTime:o,minDate:h,maxDate:x,dateFormat:s}),O=Kt({showTime:o,dateFormat:s,timeFormat:u,outputType:c,defaultTime:pt,enableSeconds:y}),q=Kt({showTime:o,dateFormat:s,timeFormat:u,outputType:c,defaultTime:yt,enableSeconds:y}),K=tr(d,w,{disabled:v}),U=Jt({dateInputRef:T,timeInputRef:p},{showTime:o,autoFocusTimeAfterDate:!0}),W=Jt({dateInputRef:b,timeInputRef:D},{showTime:o,autoFocusTimeAfterDate:!0}),I=n.computed(()=>O.hasValue.value||q.hasValue.value),Y=n.computed(()=>{const V={...k.mergedErrors.value,...B.mergedErrors.value};return O.internalDateTime.value&&!q.internalDateTime.value&&i&&(V["range.endRequired"]="range.endRequired"),V}),M=n.computed(()=>({...k.mergedErrorParams.value,...B.mergedErrorParams.value})),F=n.computed(()=>Object.keys(Y.value).length>0),L=n.computed(()=>{const V=O.internalDateTime.value,z=q.internalDateTime.value;if(!V||!z||gt(V,z)>0)return!1;if(S||m){const X=Ja(V,z);if(S&&X>S)return B.handleDateValidation(!1,{range:"range.exceedsMaxRange"},"endDate",{range:{maxRange:S,actualDays:X}}),!1;if(m&&X<m)return B.handleDateValidation(!1,{range:"range.belowMinRange"},"endDate",{range:{minRange:m,actualDays:X}}),!1;B.clearFieldErrors("range")}return!F.value}),j=n.computed(()=>[{label:"今天",getValue:()=>{const V=Pe();return{start:De(V.year,V.month,V.day,0,0,0),end:De(V.year,V.month,V.day,23,59,59)}}},{label:"最近7天",getValue:()=>({start:At(Pe(),-6),end:Pe()})},{label:"最近30天",getValue:()=>({start:At(Pe(),-29),end:Pe()})},{label:"本月",getValue:Rn}]),ae=n.computed(()=>({minDate:oe(h,g),maxDate:q.internalDateTime.value||oe(x,g)})),ee=n.computed(()=>({minDate:O.internalDateTime.value||oe(h,g),maxDate:oe(x,g)})),R=n.computed(()=>({minDate:ae.value.minDate?ue(ae.value.minDate,s):null,maxDate:ae.value.maxDate?ue(ae.value.maxDate,s):null})),C=n.computed(()=>({minDate:ee.value.minDate?ue(ee.value.minDate,s):null,maxDate:ee.value.maxDate?ue(ee.value.maxDate,s):null}));function N(V,z){const X=Ja(V,z);return S&&X>S?{valid:!1,error:"range.exceedsMaxRange",params:{maxRange:S,actualDays:X}}:m&&X<m?{valid:!1,error:"range.belowMinRange",params:{minRange:m,actualDays:X}}:{valid:!0}}function J(V){!V.error||!V.params||B.handleDateValidation(!1,{range:V.error},"endDate",{range:V.params})}function E(){if(!O.internalDateTime.value||!q.internalDateTime.value){$.update?.(null),$.change?.(null);return}const V=o?u:void 0,z={start:ht(O.internalDateTime.value,c,s,V,o,a,g,f,y),end:ht(q.internalDateTime.value,c,s,V,o,a,g,f,y)};$.update?.(z),$.change?.(z);const X=L.value&&!F.value;$.validation?.(X,Y.value,M.value)}function H(V,z){z.forEach(X=>V.clearFieldErrors(X))}const Q=V=>{$=V},ne=(V,z,X,ts,as)=>{X.handleDateValidation(V,z,ts,as),$.validation?.(!F.value,Y.value,M.value)},le=(V,z,X)=>{ne(V,z,k,"startDate",X)},de=(V,z,X)=>{ne(V,z,B,"endDate",X)},he=(V,z,X={})=>{k.handleTimeValidation(V,z,"startTime",X),$.validation?.(!F.value,Y.value)},se=(V,z,X={})=>{B.handleTimeValidation(V,z,"endTime",X),$.validation?.(!F.value,Y.value,M.value)},Z=V=>{O.inputDateValue.value=V;const z=O.updateFromInputs();if(!z){k.handleDateValidation(!1,{date:"date.invalid"});return}k.validateDateRange(z)&&(U.autoFocusTimeAfterDateComplete(O,pt),E(),H(k,["startDate","date.year","date.month","date.day"]),o||W.focusFirstInput())},P=V=>{q.inputDateValue.value=V;const z=q.updateFromInputs();if(!z){B.handleDateValidation(!1,{date:"date.invalid"});return}B.validateDateRange(z)&&(W.autoFocusTimeAfterDateComplete(q,yt),E(),H(B,["endDate","date.year","date.month","date.day"]))},A=V=>{O.inputTimeValue.value=V,O.updateFromInputs()&&E(),H(k,["startTime","time.hour","time.minute","time.second"])},G=V=>{q.inputTimeValue.value=V,q.updateFromInputs()&&E(),H(B,["endTime","time.hour","time.minute","time.second"])},pe=(V,z)=>{V&&!z?Qe(V):V&&z?Kl(V,z):Gt(),E()};function Qe(V){k.validateDateRange(V)&&(O.setInternalDateTime(V),H(k,["startDate","date.year","date.month","date.day"]),q.clearValues())}function Kl(V,z){if(!(!k.validateDateRange(V)||!B.validateDateRange(z))){if(S||m){const X=N(V,z);if(!X.valid){J(X);return}}O.setInternalDateTime(V),q.setInternalDateTime(z),o&&(O.inputTimeValue.value||(O.inputTimeValue.value=pt,O.updateFromInputs()),q.inputTimeValue.value||(q.inputTimeValue.value=yt,q.updateFromInputs())),H(k,["startDate","endDate","range","date.year","date.month","date.day"]),H(B,["startDate","endDate","range","date.year","date.month","date.day"])}}const Ql=(V,z)=>{z==="start"&&O.internalDateTime.value&&A(V),z==="end"&&q.internalDateTime.value&&G(V)},Zl=V=>{const z=V.getValue();O.setInternalDateTime(z.start),q.setInternalDateTime(z.end),o&&(O.inputTimeValue.value||(O.inputTimeValue.value=pt,O.updateFromInputs()),q.inputTimeValue.value||(q.inputTimeValue.value=yt,q.updateFromInputs())),E()},Gt=()=>{O.clearValues(),q.clearValues(),k.clearAllErrors(),B.clearAllErrors(),E()},Gl=V=>{V?(O.setExternalValue(V.start),q.setExternalValue(V.end)):Gt(),E()},Xl=()=>(T.value?.validate(),b.value?.validate(),o&&(p.value?.validate(),D.value?.validate()),L.value),_l=V=>{K.handleContainerClick(V,()=>{U.focusFirstInput()})},es=V=>{K.handleContainerClick(V,()=>{W.focusFirstInput()})};return n.watch(()=>r,V=>{if(V&&(V.start||V.end)){const z=V.start?oe(V.start,g,a):null,X=V.end?oe(V.end,g,a):null;if(V.start&&!z&&(console.warn(`Invalid start date provided: ${V.start}`),k.handleDateValidation(!1,{date:"date.invalid"},"startDate")),V.end&&!X&&(console.warn(`Invalid end date provided: ${V.end}`),B.handleDateValidation(!1,{date:"date.invalid"},"endDate")),z&&X&>(z,X)>0){console.warn("Initial date range has start > end, auto-swapping values"),O.setExternalValue(V.end),q.setExternalValue(V.start),setTimeout(()=>{E()},0);return}O.setExternalValue(z?V.start:null),q.setExternalValue(X?V.end:null)}else O.clearValues(),q.clearValues()},{immediate:!0}),{isDisabled:v,startDateConstraints:ae,endDateConstraints:ee,startDateConstraintsStr:R,endDateConstraintsStr:C,hasErrors:F,mergedErrors:Y,mergedErrorParams:M,isValidRange:L,startDateTime:O,endDateTime:q,hasRangeValue:I,...K,shortcuts:j,setEmitters:Q,handleStartDateValidation:le,handleEndDateValidation:de,handleStartTimeValidation:he,handleEndTimeValidation:se,handleStartDateComplete:Z,handleEndDateComplete:P,handleStartTimeComplete:A,handleEndTimeComplete:G,handleCalendarRangeSelect:pe,handleTimeSelect:Ql,handleStartNavigateToDate:U.handleNavigateToDate,handleEndNavigateToDate:W.handleNavigateToDate,applyShortcut:Zl,clearRange:Gt,setRange:Gl,validate:Xl,focusStartDate:_l,focusEndDate:es}}function xl(){const t=n.ref(typeof window<"u"?window.innerWidth:0),e=n.ref(typeof window<"u"?window.innerHeight:0),a=()=>{t.value=window.innerWidth,e.value=window.innerHeight};return n.onMounted(()=>{a(),window.addEventListener("resize",a)}),n.onBeforeUnmount(()=>{window.removeEventListener("resize",a)}),{width:t,height:e}}const Tl=["disabled"],Cl=["disabled"],El=["title"],Yl={key:0,class:"date-placeholder text-vdt-content truncate block"},Rl={key:1,class:"date-placeholder text-vdt-content-muted truncate block"},Vl={class:"text-vdt-content-muted text-sm px-1","aria-label":"日期範圍分隔符","data-testid":"separator"},Il=["title"],Bl={key:0,class:"date-placeholder text-vdt-content truncate block"},Ol={key:1,class:"date-placeholder text-vdt-content-muted truncate block"},Fl=["title"],Pl={class:"p-2 space-y-2"},Nl={key:0,class:"w-full flex flex-col md:flex-row flex-justify-between gap-2"},Al={key:0,"data-testid":"start-time-inputs","aria-label":"開始時間輸入區域"},Ll={key:0,"data-testid":"end-time-inputs","aria-label":"結束時間輸入區域"},Hl={key:1,"aria-label":"日期範圍快捷選項"},ql={class:"flex flex-wrap gap-2"},Ul=["aria-label","data-testid","onClick"],zl={key:2},Wl={class:"flex flex-wrap gap-2"},Jl={class:"calendar-container overflow-auto"},jl={key:0},sr=n.defineComponent({__name:"DateRange",props:{modelValue:{default:null},monthDisplayMode:{},placeholderOverrides:{default:()=>({})},separator:{default:" ~ "},showShortcuts:{type:Boolean,default:!0},incomplete:{type:Boolean,default:!0},maxRange:{default:void 0},minRange:{default:void 0},mode:{default:"auto"},theme:{default:()=>"violet"},calendar:{default:"gregory"},locale:{default:"zh-TW"},customLocaleMessages:{},outputType:{default:"iso"},useStrictISO:{type:Boolean,default:!1},weekStartsOn:{default:0},minDate:{default:void 0},maxDate:{default:void 0},dateSeparator:{default:"-"},dateFormat:{default:"YYYY-MM-DD"},timeFormat:{},showTime:{type:Boolean,default:!1},enableSeconds:{type:Boolean,default:!0},use24Hour:{type:Boolean,default:!0},useLocalizedPeriod:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},inputEnabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},showClearButton:{type:Boolean,default:!0},showCalendarIcon:{type:Boolean,default:!0},id:{},name:{},showErrorMessage:{type:Boolean,default:!0},useI18n:{type:Boolean,default:!0},customErrorMessages:{default:()=>({})}},emits:["update:modelValue","change","validation"],setup(t,{expose:e,emit:a}){const r=t,o=a,l=n.ref(null),i=n.ref(null),s=n.ref(null),u=n.ref(null),c=n.ref(null),f=n.ref(null),y=n.ref({}),{width:h}=xl(),x=n.computed(()=>r.monthDisplayMode?r.monthDisplayMode:h.value<768?"single":"dual"),S=n.computed(()=>r.timeFormat?r.timeFormat:r.enableSeconds?r.use24Hour?"HH:mm:ss":"hh:mm:ss A":r.use24Hour?"HH:mm":"hh:mm A"),m=Sl({calendar:r.calendar,modelValue:r.modelValue,showTime:r.showTime,required:r.required,disabled:n.toRef(r,"disabled"),dateFormat:r.dateFormat,timeFormat:S.value,outputType:r.outputType,useStrictISO:r.useStrictISO,enableSeconds:r.enableSeconds,minDate:r.minDate,maxDate:r.maxDate,maxRange:r.maxRange,minRange:r.minRange,incomplete:r.incomplete,locale:r.locale},{containerRef:l,calendarRef:i,startDateInputRef:s,endDateInputRef:u,startTimeInputRef:c,endTimeInputRef:f}),{setLocale:g,getPlaceholderMessage:d}=Ke(r.locale);m.setEmitters({update:Z=>o("update:modelValue",Z),change:Z=>o("change",Z),validation:(Z,P,A)=>o("validation",Z,P,A)});const{themeClasses:w,containerAttributes:T,setColor:b,setMode:p}=lr(),D=n.computed(()=>{const Z={start:d("range.start"),end:d("range.end"),year:d("date.year"),month:d("date.month"),day:d("date.day"),hour:d("time.hour"),minute:d("time.minute"),second:d("time.second")};return{start:r.placeholderOverrides?.start||Z.start,end:r.placeholderOverrides?.end||Z.end,hour:r.placeholderOverrides?.hour||Z.hour,minute:r.placeholderOverrides?.minute||Z.minute,second:r.placeholderOverrides?.second||Z.second,year:r.placeholderOverrides?.year||Z.year,month:r.placeholderOverrides?.month||Z.month,day:r.placeholderOverrides?.day||Z.day}}),v=n.computed(()=>r.dateFormat),$=n.computed(()=>({...m.mergedErrors.value,...y.value})),k=n.computed(()=>Object.keys(Y.value).length>0);n.watch(()=>r.theme,Z=>{Z&&b(Z)},{immediate:!0}),n.watch(()=>r.mode,Z=>{p(Z)},{immediate:!0}),n.watch(()=>r.locale,Z=>{Z&&g(Z)},{immediate:!0}),n.watch(()=>r.calendar,Z=>{re.isCalendarSupported(Z)?delete y.value.calendar:y.value.calendar="calendar.unsupported"},{immediate:!0}),n.onBeforeMount(()=>{g(r.locale)}),e({reset:m.clearRange,validate:m.validate,setRange:m.setRange,focusStartDate:m.focusStartDate,focusEndDate:m.focusEndDate,setTheme:b,setDarkMode:()=>p("dark"),setLightMode:()=>p("light"),setAutoMode:()=>p("auto"),getErrors:()=>Y.value,hasErrors:()=>k.value});const{showCalendar:B,startDateConstraintsStr:O,endDateConstraintsStr:q,shortcuts:K,startDateTime:U,endDateTime:W,hasRangeValue:I,mergedErrors:Y,mergedErrorParams:M,handleStartDateValidation:F,handleEndDateValidation:L,handleStartTimeValidation:j,handleEndTimeValidation:ae,handleStartDateComplete:ee,handleEndDateComplete:R,handleStartTimeComplete:C,handleEndTimeComplete:N,handleCalendarRangeSelect:J,handleStartNavigateToDate:E,handleEndNavigateToDate:H,handleTimeSelect:Q,toggleCalendar:ne,applyShortcut:le,clearRange:de,focusStartDate:he,focusEndDate:se}=m;return(Z,P)=>(n.openBlock(),n.createElementBlock(n.Fragment,null,[n.createElementVNode("div",n.mergeProps({class:["date-range-wrapper relative w-full",[n.unref(w),t.showTime?"min-w-[300px]":"min-w-[200px]"]]},n.unref(T),{ref_key:"containerRef",ref:l}),[n.createElementVNode("div",{class:n.normalizeClass(["date-picker-container flex w-full items-center px-2 py-1 gap-1 rounded-sm transition-all duration-200 bg-vdt-surface text-vdt-content overflow-hidden disabled:opacity-50 disabled:cursor-not-allowed",[{"border-red-500 ring-2 ring-red-200":k.value}]])},[t.showCalendarIcon?(n.openBlock(),n.createElementBlock("button",{key:0,type:"button","aria-label":"開啟日曆",class:"date-picker-icon text-gray-400 hover:text-gray-500 transition-colors disabled:cursor-not-allowed disabled:opacity-50 flex-shrink-0",disabled:t.disabled,onClick:P[0]||(P[0]=n.withModifiers(A=>n.unref(ne)?.(),["stop","prevent"]))},[n.createVNode(Ga,{class:"size-5"})],8,Tl)):n.createCommentVNode("",!0),n.createElementVNode("button",{type:"button",class:"grid grid-cols-[1fr_auto_1fr] gap-1 w-full cursor-pointer transition-colors duration-200 disabled:opacity-50 disabled:cursor-not-allowed",disabled:t.disabled,onClick:P[1]||(P[1]=(...A)=>n.unref(ne)&&n.unref(ne)(...A)),"aria-label":"選擇日期範圍"},[n.createElementVNode("div",{class:"text-center min-w-0 max-w-[130px] sm:max-w-none",title:D.value.start,"aria-label":"開始日期"},[t.modelValue?.start?(n.openBlock(),n.createElementBlock("span",Yl,n.toDisplayString(t.modelValue?.start),1)):(n.openBlock(),n.createElementBlock("span",Rl,n.toDisplayString(D.value.start),1))],8,El),n.createElementVNode("div",Vl,n.toDisplayString(t.separator),1),n.createElementVNode("div",{class:"text-center min-w-0 max-w-[130px] sm:max-w-none",title:D.value.end,"aria-label":"結束日期"},[t.modelValue?.end?(n.openBlock(),n.createElementBlock("span",Bl,n.toDisplayString(t.modelValue?.end),1)):(n.openBlock(),n.createElementBlock("span",Ol,n.toDisplayString(D.value.end),1))],8,Il)],8,Cl),n.unref(I)&&!t.disabled&&t.showClearButton?(n.openBlock(),n.createElementBlock("button",{key:1,type:"button","aria-label":"清除日期",class:"date-picker-icon text-gray-400 hover:text-red-500 disabled:cursor-not-allowed disabled:opacity-50",onClick:P[2]||(P[2]=n.withModifiers((...A)=>n.unref(de)&&n.unref(de)(...A),["stop"])),title:"清除日期"+(t.showTime?"時間":"")},[n.createVNode(er,{class:"size-5"})],8,Fl)):n.createCommentVNode("",!0)],2),n.unref(B)&&!t.disabled?(n.openBlock(),n.createElementBlock("div",{key:0,ref_key:"calendarRef",ref:i,class:n.normalizeClass(["absolute mt-1 bg-vdt-surface-elevated border border-vdt-outline rounded-lg shadow-lg z-10 overflow-auto",["max-w-[95vw]","max-h-[80vh] overflow-auto","sm:max-h-[70vh]",x.value==="single"?"min-w-[275px]":"min-w-[275px] md:min-w-[570px]"]]),onClick:P[9]||(P[9]=n.withModifiers(()=>{},["stop"])),role:"dialog","aria-modal":"true","aria-label":"date-range-picker"},[n.createElementVNode("div",Pl,[t.inputEnabled&&x.value==="dual"?(n.openBlock(),n.createElementBlock("div",Nl,[n.createElementVNode("div",{"data-testid":"start-date-inputs","aria-label":"開始日期輸入區域",onClick:P[5]||(P[5]=n.withModifiers((...A)=>n.unref(he)&&n.unref(he)(...A),["stop"])),class:"flex-1 flex w-full items-center px-2 py-1 gap-2 border border-vdt-outline bg-vdt-surface text-vdt-content rounded-sm focus-within:ring-2 focus-within:border-vdt-theme-500 focus-within:ring-vdt-theme-200 transition-all duration-200"},[n.createVNode(Ut,{ref_key:"startDateInputRef",ref:s,modelValue:n.unref(U).inputDateValue.value,"onUpdate:modelValue":P[3]||(P[3]=A=>n.unref(U).inputDateValue.value=A),"year-placeholder":D.value.year,"month-placeholder":D.value.month,"day-placeholder":D.value.day,"max-date":n.unref(O).maxDate,"min-date":n.unref(O).minDate,"date-format":v.value,onValidation:n.unref(F),onComplete:n.unref(ee)},null,8,["modelValue","year-placeholder","month-placeholder","day-placeholder","max-date","min-date","date-format","onValidation","onComplete"]),t.showTime?(n.openBlock(),n.createElementBlock("div",Al,[n.createVNode(zt,{ref_key:"startTimeInputRef",ref:c,modelValue:n.unref(U).inputTimeValue.value,"onUpdate:modelValue":P[4]||(P[4]=A=>n.unref(U).inputTimeValue.value=A),"hour-placeholder":D.value.hour,"minute-placeholder":D.value.minute,"second-placeholder":D.value.second,"enable-seconds":t.enableSeconds,use24Hour:t.use24Hour,locale:t.locale,onValidation:n.unref(j),onComplete:n.unref(C),onNavigateToDate:n.unref(E)},null,8,["modelValue","hour-placeholder","minute-placeholder","second-placeholder","enable-seconds","use24Hour","locale","onValidation","onComplete","onNavigateToDate"])])):n.createCommentVNode("",!0)]),n.createElementVNode("div",{"data-testid":"end-date-inputs","aria-label":"結束日期輸入區域",onClick:P[8]||(P[8]=n.withModifiers((...A)=>n.unref(se)&&n.unref(se)(...A),["stop"])),class:"flex-1 flex w-full items-center gap-2 px-2 py-1 border border-vdt-outline bg-vdt-surface text-vdt-content rounded-sm focus-within:ring-2 focus-within:border-vdt-theme-500 focus-within:ring-vdt-theme-200 transition-all duration-200"},[n.createVNode(Ut,{ref_key:"endDateInputRef",ref:u,modelValue:n.unref(W).inputDateValue.value,"onUpdate:modelValue":P[6]||(P[6]=A=>n.unref(W).inputDateValue.value=A),"year-placeholder":D.value.year,"month-placeholder":D.value.month,"day-placeholder":D.value.day,"min-date":n.unref(q).minDate,"max-date":n.unref(q).maxDate,"date-format":v.value,onValidation:n.unref(L),onComplete:n.unref(R)},null,8,["modelValue","year-placeholder","month-placeholder","day-placeholder","min-date","max-date","date-format","onValidation","onComplete"]),t.showTime?(n.openBlock(),n.createElementBlock("div",Ll,[n.createVNode(zt,{ref_key:"endTimeInputRef",ref:f,modelValue:n.unref(W).inputTimeValue.value,"onUpdate:modelValue":P[7]||(P[7]=A=>n.unref(W).inputTimeValue.value=A),"hour-placeholder":D.value.hour,"minute-placeholder":D.value.minute,"second-placeholder":D.value.second,"enable-seconds":t.enableSeconds,use24Hour:t.use24Hour,locale:t.locale,onValidation:n.unref(ae),onComplete:n.unref(N),onNavigateToDate:n.unref(H)},null,8,["modelValue","hour-placeholder","minute-placeholder","second-placeholder","enable-seconds","use24Hour","locale","onValidation","onComplete","onNavigateToDate"])])):n.createCommentVNode("",!0)])])):n.createCommentVNode("",!0),n.unref(K).length>0&&t.showShortcuts?(n.openBlock(),n.createElementBlock("div",Hl,[n.createElementVNode("div",ql,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(n.unref(K),A=>(n.openBlock(),n.createElementBlock("button",{key:A.label,type:"button","aria-label":`選擇${A.label}範圍`,"data-testid":`shortcut-${A.label.toLowerCase().replace(/\s+/g,"-")}`,class:"px-3 py-1 text-xs bg-vdt-outline text-vdt-content hover:bg-vdt-interactive-hover rounded-sm transition-colors",onClick:G=>n.unref(le)(A)},n.toDisplayString(A.label),9,Ul))),128)),n.renderSlot(Z.$slots,"shortcuts",{applyShortcut:n.unref(le),shortcuts:n.unref(K),currentRange:t.modelValue})])])):Z.$slots.shortcuts&&t.showShortcuts?(n.openBlock(),n.createElementBlock("div",zl,[n.createElementVNode("div",Wl,[n.renderSlot(Z.$slots,"shortcuts",{applyShortcut:n.unref(le),shortcuts:n.unref(K),currentRange:t.modelValue})])])):n.createCommentVNode("",!0),n.createElementVNode("div",Jl,[n.createVNode(wl,{"month-display-mode":x.value,showTimeSelector:t.showTime,calendar:t.calendar,"range-start":n.unref(U).internalDateTime.value,"range-end":n.unref(W).internalDateTime.value,"start-time-value":n.unref(U).inputTimeValue.value,"end-time-value":n.unref(W).inputTimeValue.value,locale:t.locale,"week-starts-on":t.weekStartsOn,"min-date":n.unref(oe)(t.minDate),"max-date":n.unref(oe)(t.maxDate),"enable-seconds":t.enableSeconds,"use24-hour":t.use24Hour,onRangeSelect:n.unref(J),onTimeSelect:n.unref(Q)},null,8,["month-display-mode","showTimeSelector","calendar","range-start","range-end","start-time-value","end-time-value","locale","week-starts-on","min-date","max-date","enable-seconds","use24-hour","onRangeSelect","onTimeSelect"])])])],2)):n.createCommentVNode("",!0)],16),t.showErrorMessage&&k.value?(n.openBlock(),n.createElementBlock("div",jl,[n.renderSlot(Z.$slots,"error",{errors:$.value,hasErrors:k.value},()=>[n.createVNode(Za,{errors:n.unref(Y),locale:t.locale,"use-i18n":t.useI18n,"custom-messages":t.customErrorMessages,errorParams:n.unref(M)},n.createSlots({_:2},[n.renderList(Z.$slots,(A,G)=>({name:G,fn:n.withCtx(pe=>[n.renderSlot(Z.$slots,G,n.normalizeProps(n.guardReactiveProps(pe)))])}))]),1032,["errors","locale","use-i18n","custom-messages","errorParams"])])])):n.createCommentVNode("",!0)],64))}}),ir={install(t){t.component("VueDatepicker",Zt),t.component("DatePicker",Zt),t.component("DateRange",sr)}};me.DatePicker=Zt,me.DateRange=sr,me.RocFormatPlugin=Ht,me.VueDatepicker=ir,me.default=ir,Object.defineProperties(me,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});