calendar-comp.8sUbx8Q8.js 28 KB

1
  1. import{d as ft,p as H,h as q,o as Y,c as p,j as h,ah as j,ai as z,F as S,C as L,a as O,t as w,n as Dt,e as X,_ as Yt}from"./framework.DlrvhVKI.js";var pt=Object.defineProperty,vt=(a,t,e)=>t in a?pt(a,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[t]=e,N=(a,t,e)=>vt(a,typeof t!="symbol"?t+"":t,e);const Z=class c{constructor(t){N(this,"_date"),t instanceof c?this._date=new Date(t.toDate()):t instanceof Date?this._date=new Date(t):typeof t=="string"||typeof t=="number"?(this._date=new Date(t),typeof t=="string"&&isNaN(this._date.getTime())&&(this._date=new Date(t.replace(/-/g,"/")))):this._date=new Date}toDate(){return this._date}isValid(){return!isNaN(this._date.getTime())}diff(t,e="day"){const r=new c(t).toDate(),o=this._date.getTime()-r.getTime();switch(e){case"year":return this._date.getFullYear()-r.getFullYear();case"month":return(this._date.getFullYear()-r.getFullYear())*12+(this._date.getMonth()-r.getMonth());case"day":default:return Math.floor(o/(1e3*60*60*24))}}startOf(t){const e=new Date(this._date);switch(t){case"year":e.setMonth(0),e.setDate(1),e.setHours(0,0,0,0);break;case"month":e.setDate(1),e.setHours(0,0,0,0);break;case"day":e.setHours(0,0,0,0);break}return new c(e)}endOf(t){const e=new Date(this._date);switch(t){case"year":e.setMonth(11),e.setDate(31),e.setHours(23,59,59,999);break;case"month":e.setDate(new Date(e.getFullYear(),e.getMonth()+1,0).getDate()),e.setHours(23,59,59,999);break;case"day":e.setHours(23,59,59,999);break}return new c(e)}add(t,e){const r=new Date(this._date);switch(e){case"year":r.setFullYear(r.getFullYear()+t);break;case"month":r.setMonth(r.getMonth()+t);break;case"day":r.setDate(r.getDate()+t);break}return new c(r)}subtract(t,e){return this.add(-t,e)}format(t){const e={YYYY:this._date.getFullYear(),MM:(this._date.getMonth()+1).toString().padStart(2,"0"),DD:this._date.getDate().toString().padStart(2,"0"),HH:this._date.getHours().toString().padStart(2,"0"),mm:this._date.getMinutes().toString().padStart(2,"0"),ss:this._date.getSeconds().toString().padStart(2,"0"),dddd:c.daysOfWeek[this._date.getDay()]};return t.replace(/YYYY|MM|DD|HH|mm|ss|dddd/g,r=>e[r].toString())}year(t){if(t===void 0)return this._date.getFullYear();const e=new Date(this._date);return e.setFullYear(t),new c(e)}month(t){if(t===void 0)return this._date.getMonth();const e=new Date(this._date);return e.setMonth(t),new c(e)}date(t){if(t===void 0)return this._date.getDate();const e=new Date(this._date);return e.setDate(t),new c(e)}day(t){if(t===void 0)return this._date.getDay();{const e=this._date.getDay(),r=t-e,o=new Date(this._date);return o.setDate(this._date.getDate()+r),new c(o)}}isBefore(t){const e=new c(t).toDate();return this._date.getTime()<e.getTime()}isAfter(t){const e=new c(t).toDate();return this._date.getTime()>e.getTime()}isSame(t,e="day"){const r=new c(t).toDate();switch(e){case"year":return this._date.getFullYear()===r.getFullYear();case"month":return this._date.getFullYear()===r.getFullYear()&&this._date.getMonth()===r.getMonth();case"day":default:return this._date.getFullYear()===r.getFullYear()&&this._date.getMonth()===r.getMonth()&&this._date.getDate()===r.getDate()}}isBetween(t,e,r){const o=new c(t).startOf(r).toDate(),s=new c(e).endOf(r).toDate(),n=this.toDate();return n>=o&&n<=s}};N(Z,"daysOfWeek",["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]);let Mt=Z;const m=a=>new Mt(a),k=a=>m(a).startOf("day"),E=(a,t)=>{a=k(a),t=k(t);const e=t.diff(a,"day");return Array.from({length:e+1},(r,o)=>a.add(o,"day"))},bt={1999:{"New Year's Day,元旦":1,"Spring Festival,春节":3,"Labour Day,劳动节":3,"National Day,国庆节":3},2008:{"Tomb-sweeping Day,清明":1,"Labour Day,劳动节":1,"Dragon Boat Festival,端午":1,"Mid-autumn Festival,中秋":1},2015:{"Anti-Fascist 70th Day,中国人民抗日战争暨世界反法西斯战争胜利70周年纪念日":1},2025:{"Spring Festival,春节":4,"Labour Day,劳动节":2}};class kt{constructor(){N(this,"dayDetails",{}),N(this,"holidays",{}),N(this,"workdays",{}),N(this,"inLieuDays",{})}y(t){return this.dayDetails.year=t,this}getHolidayDays(t,e){let r=0;for(const[o,s]of Object.entries(bt)){if(parseInt(o)>t)break;s[e]!==void 0&&(r=s[e])}return r}mark(t){return this.dayDetails.holiday=t,this}save(t,e,r){if(!this.dayDetails.year)throw new Error("should set year before saving holiday");if(!this.dayDetails.holiday)throw new Error("should set holiday before saving holiday");this.dayDetails.month=t,this.dayDetails.day=e,this.dayDetails.dayType=r;const o=m(`${this.dayDetails.year}-${t}-${e}`).format("YYYY-MM-DD"),s=this.getHolidayDays(this.dayDetails.year,this.dayDetails.holiday),n=`${this.dayDetails.holiday},${s}`;return r===2?this.holidays[o]=n:r===1?this.workdays[o]=n:r===3&&(this.inLieuDays[o]=n),this}to(t,e){if(!this.dayDetails.holiday||!this.dayDetails.year||!this.dayDetails.month||!this.dayDetails.day)throw new Error("should set year/month/day before saving holiday range");const r=m(`${this.dayDetails.year}-${this.dayDetails.month}-${this.dayDetails.day}`),o=m(`${this.dayDetails.year}-${t}-${e}`);if(o.isBefore(r)||o.isSame(r))throw new Error("end date should be after start date");const s=this.getHolidayDays(this.dayDetails.year,this.dayDetails.holiday),n=`${this.dayDetails.holiday},${s}`,i=o.diff(r,"day");for(let l=1;l<=i;l++){const f=r.add(l,"day").format("YYYY-MM-DD");this.dayDetails.dayType===2?this.holidays[f]=n:this.dayDetails.dayType===1?this.workdays[f]=n:this.dayDetails.dayType===3&&(this.inLieuDays[f]=n)}return this}w(t,e){return this.save(t,e,1)}r(t,e){return this.save(t,e,2)}i(t,e){return this.save(t,e,3)}ny(){return this.mark("New Year's Day,元旦")}s(){return this.mark("Spring Festival,春节")}t(){return this.mark("Tomb-sweeping Day,清明")}l(){return this.mark("Labour Day,劳动节")}d(){return this.mark("Dragon Boat Festival,端午")}n(){return this.mark("National Day,国庆节")}m(){return this.mark("Mid-autumn Festival,中秋")}a(){return this.mark("Anti-Fascist 70th Day,中国人民抗日战争暨世界反法西斯战争胜利70周年纪念日")}}const St=()=>{const a=new kt;return a.y(2025).ny().r(1,1).s().r(1,28).to(2,4).w(1,26).w(2,8).i(2,3).i(2,4).t().r(4,4).to(4,6).l().r(5,1).to(5,5).w(4,27).i(5,5).d().r(5,31).to(6,2).n().r(10,1).to(10,8).w(9,28).w(10,11).i(10,7).i(10,8).m().r(10,6),a.y(2024).ny().r(1,1).s().r(2,10).to(2,17).w(2,4).w(2,18).i(2,15).to(2,16).t().r(4,4).to(4,6).w(4,7).i(4,5).l().r(5,1).to(5,5).w(4,28).w(5,11).i(5,2).to(5,3).d().r(6,10).m().r(9,15).to(9,17).w(9,14).i(9,16).n().r(10,1).to(10,7).w(9,29).w(10,12).i(10,4).i(10,7),a.y(2023).ny().r(1,1).to(1,2).s().r(1,21).to(1,27).w(1,28).to(1,29).i(1,26).to(1,27).t().r(4,5).l().r(4,29).to(5,3).w(4,23).w(5,6).i(5,2).to(5,3).d().r(6,22).to(6,24).w(6,25).i(6,23).m().r(9,29).n().r(9,30).to(10,6).w(10,7).to(10,8).i(10,5).to(10,6),a.y(2022).ny().r(1,1).to(1,3).s().r(1,31).to(2,6).w(1,29).w(1,30).i(2,3).to(2,4).t().r(4,3).to(4,5).w(4,2).i(4,4).l().r(4,30).to(5,4).w(4,24).w(5,7).i(5,3).to(5,4).d().r(6,3).to(6,5).m().r(9,10).to(9,12).n().r(10,1).to(10,7).w(10,8).w(10,9).i(10,6).to(10,7).ny().r(12,31),a.y(2021).ny().r(1,1).to(1,3).s().r(2,11).to(2,17).w(2,7).w(2,20).i(2,16).to(2,17).t().r(4,3).to(4,5).l().r(5,1).to(5,5).w(4,25).w(5,8).i(5,4).to(5,5).d().r(6,12).to(6,14).m().r(9,19).to(9,21).w(9,18).i(9,20).n().r(10,1).to(10,7).w(9,26).w(10,9).i(10,6).to(10,7),a.y(2020).ny().r(1,1).s().r(1,24).to(2,2).w(1,19).i(1,29).t().r(4,4).to(4,6).l().r(5,1).to(5,5).w(4,26).w(5,9).i(5,4).to(5,5).d().r(6,25).to(6,27).w(6,28).i(6,26).n().r(10,1).to(10,8).w(9,27).w(10,10).i(10,7).to(10,8),a.y(2019).ny().r(1,1).s().r(2,4).to(2,10).w(2,2).to(2,3).i(2,4).i(2,8).t().r(4,5).to(4,7).l().r(5,1).to(5,4).w(4,28).w(5,5).i(5,2).i(5,3).d().r(6,7).to(6,9).m().r(9,13).to(9,15).n().r(10,1).to(10,7).w(9,29).w(10,12).i(10,4).i(10,7),a.y(2018).ny().r(1,1).s().r(2,15).to(2,21).w(2,11).w(2,24).i(2,19).to(2,21).t().r(4,5).to(4,7).w(4,8).i(4,6).l().r(4,29).to(5,1).w(4,28).i(4,30).d().r(6,18).n().r(10,1).to(10,7).w(9,29).to(9,30).i(10,4).to(10,5).m().r(9,24).ny().r(12,30).to(12,31).w(12,29).i(12,31),a.y(2017).ny().r(1,1).to(1,2).s().r(1,27).to(2,2).w(1,22).w(2,4).i(2,1).to(2,2).t().r(4,2).to(4,4).w(4,1).i(4,3).l().r(5,1).d().r(5,28).to(5,30).w(5,27).i(5,29).n().r(10,1).to(10,8).w(9,30).i(10,6).m().r(10,4),a.y(2016).ny().r(1,1).s().r(2,7).to(2,13).w(2,6).w(2,14).i(2,11).to(2,12).t().r(4,4).l().r(5,1).to(5,2).d().r(6,9).to(6,11).w(6,12).i(6,10).m().r(9,15).to(9,17).w(9,18).i(9,16).n().r(10,1).to(10,7).w(10,8).to(10,9).i(10,6).to(10,7),a.y(2015).ny().r(1,1).to(1,3).w(1,4).i(1,2).s().r(2,18).to(2,24).w(2,15).w(2,28).i(2,23).to(2,24).t().r(4,5).to(4,6).l().r(5,1).d().r(6,20).r(6,22).m().r(9,27).n().r(10,1).to(10,7).w(10,10).i(10,7).a().r(9,3).to(9,4).w(9,6).i(9,4),a.y(2014).ny().r(1,1).s().r(1,31).to(2,6).w(1,26).w(2,8).i(2,5).to(2,6).t().r(4,5).to(4,7).l().r(5,1).to(5,3).w(5,4).i(5,2).d().r(6,2).m().r(9,8).n().r(10,1).to(10,7).w(9,28).w(10,11).i(10,6).to(10,7),a.y(2013).ny().r(1,1).to(1,3).w(1,5).to(1,6).i(1,2).to(1,3).s().r(2,9).to(2,15).w(2,16).to(2,17).i(2,14).to(2,15).t().r(4,4).to(4,6).w(4,7).i(4,5).l().r(4,29).to(5,1).w(4,27).to(4,28).i(4,29).to(4,30).d().r(6,10).to(6,12).w(6,8).to(6,9).i(6,10).to(6,11).m().r(9,19).to(9,21).w(9,22).i(9,20).n().r(10,1).to(10,7).w(9,29).w(10,12).i(10,4).i(10,7),a.y(2012).ny().r(1,1).to(1,3).i(1,3).s().r(1,22).to(1,28).w(1,21).w(1,29).i(1,26).to(1,27).t().r(4,2).to(4,4).w(3,31).w(4,1).i(4,2).to(4,3).l().r(4,29).to(5,1).w(4,28).i(4,30).d().r(6,22).r(6,24).m().r(9,30).n().r(10,1).to(10,7).w(9,29).i(10,5),a.y(2011).ny().r(1,1).to(1,3).s().r(2,2).to(2,8).w(1,30).w(2,12).i(2,7).to(2,8).t().r(4,3).to(4,5).w(4,2).i(4,4).l().r(4,30).to(5,2).d().r(6,4).r(6,6).m().r(9,10).to(9,12).n().r(10,1).to(10,7).w(10,8).to(10,9).i(10,6).to(10,7).ny().w(12,31),a.y(2010).ny().r(1,1).to(1,3).s().r(2,13).to(2,19).w(2,20).to(2,21).i(2,18).to(2,19).t().r(4,3).to(4,5).l().r(5,1).to(5,3).d().r(6,14).to(6,16).w(6,12).to(6,13).i(6,14).to(6,15).m().r(9,22).to(9,24).w(9,19).w(9,25).i(9,23).to(9,24).n().r(10,1).to(10,7).w(9,26).w(10,9).i(10,6).to(10,7),a.y(2009).ny().r(1,1).to(1,3).w(1,4).i(1,2).s().r(1,25).to(1,31).w(1,24).w(2,1).i(1,29).to(1,30).t().r(4,4).to(4,6).l().r(5,1).to(5,3).d().r(5,28).to(5,30).w(5,31).i(5,29).n().r(10,1).to(10,8).w(9,27).w(10,10).i(10,7).to(10,8).m().r(10,3),a.y(2008).ny().r(1,1).s().r(2,6).to(2,12).w(2,2).to(2,3).i(2,11).to(2,12).t().r(4,4).to(4,6).l().r(5,1).to(5,3).w(5,4).i(5,2).d().r(6,7).to(6,9).m().r(9,13).to(9,15).n().r(9,29).to(10,5).w(9,27).to(9,28).i(9,29).to(9,30),a.y(2007).ny().r(1,1).to(1,3).i(1,2).to(1,3).s().r(2,18).to(2,24).w(2,17).w(2,25).i(2,22).to(2,23).l().r(5,1).to(5,7).w(4,28).to(4,29).i(5,4).i(5,7).n().r(10,1).to(10,7).w(9,29).to(9,30).i(10,4).to(10,5).ny().r(12,30).to(12,31).w(12,29).i(12,31),a.y(2006).ny().r(1,1).to(1,3).s().r(1,29).to(2,4).w(1,28).w(2,5).i(2,2).to(2,3).l().r(5,1).to(5,7).w(4,29).to(4,30).i(5,4).to(5,5).n().r(10,1).to(10,7).w(9,30).w(10,8).i(10,5).to(10,6).ny().w(12,30).to(12,31),a.y(2005).ny().r(1,1).to(1,3).s().r(2,9).to(2,15).w(2,5).to(2,6).i(2,14).to(2,15).l().r(5,1).to(5,7).w(4,30).w(5,8).i(5,5).to(5,6).n().r(10,1).to(10,7).w(10,8).to(10,9).i(10,6).to(10,7),a.y(2004).ny().r(1,1).s().r(1,22).to(1,28).w(1,17).to(1,18).i(1,27).to(1,28).l().r(5,1).to(5,7).w(5,8).to(5,9).i(5,6).to(5,7).n().r(10,1).to(10,7).w(10,9).to(10,10).i(10,6).to(10,7),{holidays:a.holidays,workdays:a.workdays,inLieuDays:a.inLieuDays}},{holidays:W,workdays:R,inLieuDays:Ft}=St(),F=a=>{const t=k(a);if(!t.isValid())throw new Error(`unsupported type ${typeof a}, expected type is Date or Dayjs`);return t},tt=a=>!C(a),C=a=>{const t=F(a),e=t.day(),r=t.format("YYYY-MM-DD");return!!(R[r]||e>=1&&e<=5&&!W[r])},Tt=a=>{const t=F(a);return!!Ft[t.format("YYYY-MM-DD")]},Lt=a=>{const t=F(a),e=t.format("YYYY-MM-DD");if(R[e])return{date:e,work:!0,name:R[e]};if(W[e])return{date:e,work:!1,name:W[e]};{const r=t.day();return{date:e,work:r!==0&&r!==6,name:t.format("dddd")}}},Nt=(a,t,e=!0)=>{const r=F(a),o=F(t);return e?E(r,o).filter(tt).map(s=>s.format("YYYY-MM-DD")):E(r,o).filter(s=>W[s.format("YYYY-MM-DD")]).map(s=>s.format("YYYY-MM-DD"))},Ct=(a,t,e=!0)=>{const r=F(a),o=F(t);return e?E(r,o).filter(C).map(s=>s.format("YYYY-MM-DD")):E(r,o).filter(s=>C(s)&&s.day()>=1&&s.day()<=5).map(s=>s.format("YYYY-MM-DD"))},Ot=(a=0,t=m())=>{if(t=k(t),a===0){if(C(t))return t.format("YYYY-MM-DD");a=1}const e=a>0?1:-1;let r=Math.abs(a);for(;r>0;)t=t.add(e,"day"),C(t)&&r--;return t.format("YYYY-MM-DD")},$t=Object.freeze(Object.defineProperty({__proto__:null,findWorkday:Ot,getDayDetail:Lt,getHolidaysInRange:Nt,getWorkdaysInRange:Ct,isHoliday:tt,isInLieu:Tt,isWorkday:C},Symbol.toStringTag,{value:"Module"})),xt={the_beginning_of_spring:[4.6295,3.87],rain_water:[19.4599,18.73],the_waking_of_insects:[6.3926,5.63],the_spring_equinox:[21.4155,20.646],pure_brightness:[5.59,4.81],grain_rain:[20.888,20.1],the_beginning_of_summer:[6.318,5.52],lesser_fullness_of_grain:[21.86,21.04],grain_in_beard:[6.5,5.678],the_summer_solstice:[22.2,21.37],lesser_heat:[7.928,7.108],greater_heat:[23.65,22.83],the_beginning_of_autumn:[28.35,7.5],the_end_of_heat:[23.95,23.13],white_dew:[8.44,7.646],the_autumn_equinox:[23.822,23.042],code_dew:[9.098,8.318],frost_descent:[24.218,23.438],the_beginning_of_winter:[8.218,7.438],lesser_snow:[23.08,22.36],greater_snow:[7.9,7.18],the_winter_solstice:[22.6,21.94],lesser_cold:[6.11,5.4055],greater_cold:[20.84,20.12]},et={1:["lesser_cold","greater_cold"],2:["the_beginning_of_spring","rain_water"],3:["the_waking_of_insects","the_spring_equinox"],4:["pure_brightness","grain_rain"],5:["the_beginning_of_summer","lesser_fullness_of_grain"],6:["grain_in_beard","the_summer_solstice"],7:["lesser_heat","greater_heat"],8:["the_beginning_of_autumn","the_end_of_heat"],9:["white_dew","the_autumn_equinox"],10:["code_dew","frost_descent"],11:["the_beginning_of_winter","lesser_snow"],12:["greater_snow","the_winter_solstice"]},It={"2026_rain_water":-1,"2084_the_spring_equinox":1,"1911_the_beginning_of_summer":1,"2008_lesser_fullness_of_grain":1,"1902_grain_in_beard":1,"1928_the_summer_solstice":1,"1925_lesser_heat":1,"2016_lesser_heat":1,"1922_greater_heat":1,"2002_the_beginning_of_autumn":1,"1927_white_dew":1,"1942_the_autumn_equinox":1,"2089_frost_descent":1,"2089_the_beginning_of_winter":1,"1978_lesser_snow":1,"1954_greater_snow":1,"1918_the_winter_solstice":-1,"2021_the_winter_solstice":-1,"1982_lesser_cold":1,"2019_lesser_cold":-1,"2000_greater_cold":1,"2082_greater_cold":1},at={lesser_cold:"小寒",greater_cold:"大寒",the_beginning_of_spring:"立春",rain_water:"雨水",the_waking_of_insects:"惊蛰",the_spring_equinox:"春分",pure_brightness:"清明",grain_rain:"谷雨",the_beginning_of_summer:"立夏",lesser_fullness_of_grain:"小满",grain_in_beard:"芒种",the_summer_solstice:"夏至",lesser_heat:"小暑",greater_heat:"大暑",the_beginning_of_autumn:"立秋",the_end_of_heat:"处暑",white_dew:"白露",the_autumn_equinox:"秋分",code_dew:"寒露",frost_descent:"霜降",the_beginning_of_winter:"立冬",lesser_snow:"小雪",greater_snow:"大雪",the_winter_solstice:"冬至"},P=(a,t,e)=>{const r=a>=2e3?21:20,o=a%100,s=.2422,n=xt[e][r===21?1:0];let i=Math.floor(o/4);["lesser_cold","greater_cold","the_beginning_of_spring","rain_water"].includes(e)&&(i=Math.floor((o-1)/4));let l=Math.floor(o*s+n)-i;const f=It[`${a}_${e}`];return f&&(l+=f),m(`${a}-${t}-${l}`).format("YYYY-MM-DD")},Bt=(a,t)=>{const e=[];let r=k(a);const o=k(t||a);for(;r.isBefore(o)||r.isSame(o);){const s=r.year(),n=r.month()+1;et[n].forEach(i=>{const l=m(P(s,n,i));(l!=null&&l.isBefore(o)||l!=null&&l.isSame(o))&&(l!=null&&l.isAfter(r)||l!=null&&l.isSame(r))&&e.push({date:l.format("YYYY-MM-DD"),term:i,name:at[i],index:1})}),n===12?r=r.add(1,"year").startOf("year"):r=r.add(1,"month").startOf("month")}return e},rt=(a,t)=>{let e=k(a).subtract(1,"month");const r=k(t||a).add(1,"month"),o=[];for(;e.isBefore(r)||e.isSame(r);){const n=e.year(),i=e.month()+1;et[i].forEach(l=>{const f=m(P(n,i,l));o.push({term:l,date:f})}),e.month()===11?e=e.add(1,"year").startOf("year"):e=e.add(1,"month").startOf("month")}const s=[];return o.forEach((n,i)=>{for(let l=n.date;o[i+1]&&l.isBefore(o[i+1].date);l=l.add(1,"day"))s.push({day:l,term:n.term,name:at[n.term],index:l.diff(n.date,"day")+1})}),t||(t=a),s.filter(n=>n.day.isBetween(a,t,"day")).map(n=>({date:n.day.format("YYYY-MM-DD"),term:n.term,name:n.name,index:n.index}))},Ht=Object.freeze(Object.defineProperty({__proto__:null,getSolarTermDate:P,getSolarTerms:Bt,getSolarTermsInRange:rt},Symbol.toStringTag,{value:"Module"})),x=[19416,19168,42352,21717,53856,55632,91476,22176,39632,21970,19168,42422,42192,53840,119381,46400,54944,44450,38320,84343,18800,42160,46261,27216,27968,109396,11104,38256,21234,18800,25958,54432,59984,28309,23248,11104,100067,37600,116951,51536,54432,120998,46416,22176,107956,9680,37584,53938,43344,46423,27808,46416,86869,19872,42416,83315,21168,43432,59728,27296,44710,43856,19296,43748,42352,21088,62051,55632,23383,22176,38608,19925,19152,42192,54484,53840,54616,46400,46752,103846,38320,18864,43380,42160,45690,27216,27968,44870,43872,38256,19189,18800,25776,29859,59984,27480,21952,43872,38613,37600,51552,55636,54432,55888,30034,22176,43959,9680,37584,51893,43344,46240,47780,44368,21977,19360,42416,86390,21168,43312,31060,27296,44368,23378,19296,42726,42208,53856,60005,54576,23200,30371,38608,19195,19152,42192,118966,53840,54560,56645,46496,22224,21938,18864,42359,42160,43600,111189,27936,44448,84835,37744,18936,18800,25776,92326,59984,27424,108228,43744,41696,53987,51552,54615,54432,55888,23893,22176,42704,21972,21200,43448,43344,46240,46758,44368,21920,43940,42416,21168,45683,26928,29495,27296,44368,84821,19296,42352,21732,53600,59752,54560,55968,92838,22224,19168,43476,41680,53584,62034,54560],U=["零","一","二","三","四","五","六","七","八","九"],ot=["正","二","三","四","五","六","七","八","九","十","冬","腊"],nt=["甲","乙","丙","丁","戊","己","庚","辛","壬","癸"],st=["子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"],jt=["鼠","牛","虎","兔","龙","蛇","马","羊","猴","鸡","狗","猪"],it=a=>{let t=348;for(let e=32768;e>8;e>>=1)t+=x[a-1900]&e?1:0;return t+J(a)},V=a=>x[a-1900]&15,J=a=>V(a)?x[a-1900]&65536?30:29:0,A=a=>nt[a%10]+st[a%12],$=(a,t)=>x[a-1900]&65536>>t?30:29,zt=a=>jt[(a-4)%12],Et=a=>{const t=["初","十","廿","三十"];if(a===10)return"初十";if(a===20)return"二十";if(a===30)return"三十";const e=Math.floor(a/10),r=a%10;return t[e]+U[r]},Wt=a=>`${nt[(a-4)%10]}${st[(a-4)%12]}年`,lt=(a,t)=>{const e=[];for(let r=a;r<=t;r++)e.push({year:r,lunarYear:Wt(r),lunarYearCN:r.toString().split("").map(o=>U[Number(o)]).join("")});return e},dt=a=>{const t=V(a);return{year:a,leapMonth:t||void 0,leapMonthCN:t?`闰${ot[t-1]}月`:void 0,days:t?x[a-1900]&65536?30:29:0}},I=a=>{const t=new Array(7).fill(0);let e=0,r=0;const o=m(new Date(1900,0,31)),s=m(a);let n=s.diff(o,"day");t[5]=n+40,t[4]=14;let i=1900;for(;i<2100&&n>0;i++)e=it(i),n-=e,t[4]+=12;n<0&&(n+=e,i--,t[4]-=12),t[0]=i,t[3]=i-1864,r=V(i),t[6]=0;for(let l=1;l<13&&n>=0;l++)r>0&&l===r+1&&t[6]===0?(--l,t[6]=1,e=J(i)):e=$(i,l),t[6]===1&&l===r+1&&(t[6]=0),n-=e,t[6]===0&&t[4]++,t[1]=l;return n<0&&(n+=e,t[1]--,t[4]--),t[2]=n+1,{date:s.format("YYYY-MM-DD"),lunarYear:t[0],lunarMon:t[1]+1,lunarDay:t[2],isLeap:!!t[6],zodiac:zt(t[0]),yearCyl:A(t[3]),monCyl:A(t[4]),dayCyl:A(t[5]),lunarYearCN:`${t[0].toString().split("").map(l=>U[Number(l)]).join("")}`,lunarMonCN:`${ot[t[1]]}月`,lunarDayCN:Et(t[2])}},ut=(a,t)=>{const e=m(a),r=m(t),o=[];for(let s=e;s.isBefore(r)||s.isSame(r,"day");s=s.add(1,"day"))o.push(I(s));return o},ht=a=>{const t=m(a),e=t.year(),r=t.month()+1,o=t.date();let s=0;for(let v=1900;v<e;v++)s+=it(v);let n=V(e);for(let v=1;v<r;v++)s+=$(e,v),v===n&&(s+=J(e));s+=o-1;const i=m(new Date(1900,0,31)),l=i.add(s,"day").format("YYYY-MM-DD");let f=s,B;return n===r&&(f+=$(e,r),B=i.add(f,"day").format("YYYY-MM-DD")),{date:l,leapMonthDate:B}},Vt={getLunarYears:lt,getYearLeapMonth:dt,getLunarDate:I,getLunarDatesInRange:ut,getSolarDateFromLunar:ht},qt=Object.freeze(Object.defineProperty({__proto__:null,default:Vt,getLunarDate:I,getLunarDatesInRange:ut,getLunarYears:lt,getSolarDateFromLunar:ht,getYearLeapMonth:dt,monthDays:$},Symbol.toStringTag,{value:"Module"})),At={1:{1:["春节","鸡日","元始天尊诞辰"],2:["犬日"],3:["猪日","小年朝"],4:["羊日","孙天医诞辰"],5:["牛日","破五日","开市","路神诞辰"],6:["马日"],7:["人日","送火神"],8:["谷日","阎王诞辰"],9:["天日","玉皇诞辰"],10:["地日","石头生日"],13:["上(试)灯日","关公升天日"],15:["元宵节","上元节","正灯日","天官诞辰"],18:["落灯日"],25:["天仓(填仓)节"]},2:{1:["太阳生日"],2:["春龙节","土地公生日","济公活佛生日"],3:["文昌帝君诞辰"],12:["百花生日(花朝节)"],15:["九天玄女诞辰","太上老君诞辰","精忠岳王诞辰"],19:["观音菩萨诞辰"],21:["普贤菩萨诞辰"]},3:{3:["上巳节"],15:["赵公元帅诞辰","泰山老母诞辰"]},4:{1:["祭雹神"],4:["文殊菩萨诞辰"],8:["浴佛节(龙华会)"],12:["蛇王诞辰"],14:["吕洞宾诞辰"],18:["华佗诞辰"],28:["药王(神农)诞辰"]},5:{5:["端午节"],13:["雨节","黄帝诞辰"]},6:{1:["半年节"],6:["晒衣节"],19:["观音菩萨得道"],24:["雷神诞辰","荷花生日","关公诞辰"]},7:{1:["祭海神"],7:["乞巧节"],15:["中元(鬼)节","地官诞辰(孟兰盆会)"],18:["西王母诞辰"],20:["棉花生日"],23:["诸葛亮诞辰"],30:["地藏菩萨诞辰"]},8:{1:["天医节"],3:["灶君生日"],8:["瑶池大会"],15:["中秋节"],20:["水稻生日"],28:["孔子诞辰"]},9:{9:["重阳节"],19:["观音菩萨出家"]},10:{1:["十月朝","寒衣节"],15:["下元节","水官诞辰"]},12:{8:["腊八节"],23:["官家送灶"],24:["民间送灶"],25:["接玉皇"]}},Rt=[(a,t)=>{const e=a.add(1,"day");rt(e).find(r=>r.term==="pure_brightness")&&t.push({date:a.format("YYYY-MM-DD"),name:"寒食节",type:"solar_term"})},(a,t)=>{const e=I(a);if(e.lunarMon===12&&e.lunarDay===$(e.lunarYear,12)){const r=a.format("YYYY-MM-DD");["除夕","封井","祭井神","贴春联","迎财神"].forEach(o=>{t.push({date:r,name:o,type:"lunar"})})}}],yt=(a,t)=>{var e;const r=[];let o=m(a);const s=m(t||a);for(;o.isBefore(s)||o.isSame(s);){const n=I(o);n.isLeap||(((e=At[n.lunarMon])==null?void 0:e[n.lunarDay])||[]).forEach(i=>{r.push({date:o.format("YYYY-MM-DD"),name:i,type:"lunar"})}),Rt.forEach(i=>i(o,r)),o=o.add(1,"day")}return r.reduce((n,i)=>{const l=n.find(f=>f.date===i.date);return l?l.name.push(i.name):n.push({date:i.date,name:[i.name]}),n},[])},Pt={getLunarFestivals:yt},Ut=Object.freeze(Object.defineProperty({__proto__:null,default:Pt,getLunarFestivals:yt},Symbol.toStringTag,{value:"Module"})),Jt={...$t,...Ht,...qt,...Ut},Gt={class:"calendar"},Kt={class:"calendar-header"},Qt={key:0},Xt=["value"],Zt=["value"],te={key:1},ee=["value"],ae=["value"],re={class:"calendar-grid"},oe=["onClick"],ne={key:0,class:"today-dot"},se={key:1,class:"holiday-dot"},ie={class:"day"},le={class:"desc"},de={class:"calendar-day-info"},ue={class:"left"},he={class:"right"},ye=ft({__name:"calendar-comp",props:{lang:{default:"zh"},startOfWeek:{default:1}},setup(a){const{getDayDetail:t,getLunarDate:e,getSolarTermsInRange:r,isInLieu:o}=Jt,s=a,n=H(new Date),i=H(n.value.getMonth()),l=H(n.value.getFullYear()),f=q(()=>s.lang==="zh"?["日","一","二","三","四","五","六"]:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]),B=["January","February","March","April","May","June","July","August","September","October","November","December"],v=q(()=>{const y=l.value,u=i.value,M=new Date(y,u,1),b=new Date(y,u+1,0),d=[];let _=M.getDay()-s.startOfWeek;_<0&&(_+=7);for(let D=_;D>0;D--)d.push(new Date(y,u,-D+1));for(let D=1;D<=b.getDate();D++)d.push(new Date(y,u,D));let T=b.getDay()-s.startOfWeek;T<0&&(T+=7);for(let D=1;D<7-T;D++)d.push(new Date(y,u+1,D));return d});function _t(){i.value===0?(i.value=11,l.value--):i.value--}function wt(){i.value===11?(i.value=0,l.value++):i.value++}function gt(y){const u=new Date;return y.getDate()===u.getDate()&&y.getMonth()===u.getMonth()&&y.getFullYear()===u.getFullYear()}function G(y){const u=t(y),M=u.name.split(",")[1];return{disable:i.value!==y.getMonth(),isToday:gt(y),isInLieu:o(y),solarTerm:r(y)[0],...e(y),...u,holidayName:M,date:y}}const g=H(G(new Date));function ct(y){g.value=y}function mt(y){var u,M,b;return y.getDate()===((u=g.value)==null?void 0:u.date.getDate())&&y.getMonth()===((M=g.value)==null?void 0:M.date.getMonth())&&y.getFullYear()===((b=g.value)==null?void 0:b.date.getFullYear())}const K=q(()=>v.value.map(y=>G(y)));return(y,u)=>{var M,b;return Y(),p(S,null,[h("div",Gt,[h("header",Kt,[h("button",{onClick:_t},u[4]||(u[4]=[h("svg",{viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"200",height:"200"},[h("path",{d:"M684.29 799.276L393.929 513.019 684.29 226.762c37.685-37.153 38.003-97.625 0.707-134.384-37.297-36.758-98.646-36.435-136.331 0.718l-357.43 352.378c-0.155 0.153-0.297 0.314-0.451 0.468-0.084 0.082-0.172 0.157-0.256 0.239-18.357 18.092-27.581 41.929-27.743 65.902-0.004 0.311-0.017 0.623-0.018 0.934 0.001 0.316 0.014 0.632 0.018 0.948 0.165 23.97 9.389 47.803 27.743 65.892 0.083 0.082 0.171 0.157 0.255 0.239 0.154 0.154 0.296 0.315 0.452 0.468l357.43 352.378c37.685 37.153 99.034 37.476 136.331 0.718 37.297-36.758 36.979-97.231-0.707-134.384z",fill:"currentColor"})],-1)])),y.lang==="zh"?(Y(),p("h2",Qt,[j(h("select",{"onUpdate:modelValue":u[0]||(u[0]=d=>l.value=d),style:{width:"130px"}},[(Y(),p(S,null,L(201,(d,_)=>h("option",{key:_,value:1900+_},w(1900+_),9,Xt)),64))],512),[[z,l.value]]),u[5]||(u[5]=O(" 年 ")),j(h("select",{"onUpdate:modelValue":u[1]||(u[1]=d=>i.value=d)},[(Y(),p(S,null,L(12,(d,_)=>h("option",{key:_,value:_},w(d<10?`0${d}`:d),9,Zt)),64))],512),[[z,i.value]]),u[6]||(u[6]=O(" 月 "))])):(Y(),p("h2",te,[j(h("select",{"onUpdate:modelValue":u[2]||(u[2]=d=>i.value=d),style:{width:"160px"}},[(Y(),p(S,null,L(12,(d,_)=>h("option",{key:_,value:_},w(B[d-1]),9,ee)),64))],512),[[z,i.value]]),j(h("select",{"onUpdate:modelValue":u[3]||(u[3]=d=>l.value=d)},[(Y(),p(S,null,L(201,(d,_)=>h("option",{key:_,value:1900+_},w(1900+_),9,ae)),64))],512),[[z,l.value]])])),h("button",{onClick:wt},u[7]||(u[7]=[h("svg",{class:"r",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"200",height:"200"},[h("path",{d:"M684.29 799.276L393.929 513.019 684.29 226.762c37.685-37.153 38.003-97.625 0.707-134.384-37.297-36.758-98.646-36.435-136.331 0.718l-357.43 352.378c-0.155 0.153-0.297 0.314-0.451 0.468-0.084 0.082-0.172 0.157-0.256 0.239-18.357 18.092-27.581 41.929-27.743 65.902-0.004 0.311-0.017 0.623-0.018 0.934 0.001 0.316 0.014 0.632 0.018 0.948 0.165 23.97 9.389 47.803 27.743 65.892 0.083 0.082 0.171 0.157 0.255 0.239 0.154 0.154 0.296 0.315 0.452 0.468l357.43 352.378c37.685 37.153 99.034 37.476 136.331 0.718 37.297-36.758 36.979-97.231-0.707-134.384z",fill:"currentColor"})],-1)]))]),h("div",re,[(Y(),p(S,null,L(7,(d,_)=>h("div",{key:d,class:"calendar-day"},w(f.value[K.value[_].date.getDay()]),1)),64)),(Y(!0),p(S,null,L(K.value,(d,_)=>{var T,D,Q;return Y(),p("div",{key:_,class:Dt(["calendar-cell",{today:d.isToday,disable:d.disable,holiday:d.holidayName,inlieu:d.isInLieu,work:d.holidayName&&d.work,solar:((T=d.solarTerm)==null?void 0:T.index)===1,selected:mt(d.date)}]),onClick:_e=>ct(d)},[d.isToday?(Y(),p("span",ne,w(y.lang==="en"?"Today":"今"),1)):X("",!0),d.holidayName?(Y(),p("span",se,w(d.work?"班":d.isInLieu?"调":"休"),1)):X("",!0),h("span",ie,w(d.date.getDate()),1),h("span",le,w(((D=d.solarTerm)==null?void 0:D.index)===1?(Q=d.solarTerm)==null?void 0:Q.name:d.holidayName||d.lunarDayCN),1)],10,oe)}),128))])]),h("div",de,[h("div",ue,[h("p",null,w(g.value.lunarYearCN)+" "+w(g.value.lunarMonCN)+w(g.value.lunarDayCN),1),h("p",null,w(g.value.yearCyl)+w(g.value.zodiac)+"年 "+w(g.value.monCyl)+"月 "+w(g.value.dayCyl)+"日 ",1)]),h("div",he,[h("p",null,[O(w(g.value.isToday?"今天是":"此日是")+" ",1),h("span",null,w((M=g.value.solarTerm)==null?void 0:M.name),1),u[8]||(u[8]=O(" 节气的第 ")),h("span",null,w((b=g.value.solarTerm)==null?void 0:b.index),1),u[9]||(u[9]=O(" 天。 "))]),h("p",null,w(g.value.work?"又是需要工作的一天!😥":g.value.isInLieu?"虽然调休,但要补班还回来的!🤬":"休息啦~😃"),1)])])],64)}}}),ge=Yt(ye,[["__scopeId","data-v-d47dfab8"]]);export{ge as C};