nepali-datepicker-vue
Version:
A Vue 3 Nepali Datepicker with TypeScript Support
2 lines (1 loc) • 29.2 kB
JavaScript
;var fe=Object.defineProperty;var De=(n,e,a)=>e in n?fe(n,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):n[e]=a;var S=(n,e,a)=>De(n,typeof e!="symbol"?e+"":e,a);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue");var i=[{year:2e3,days:[30,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2001,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2002,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2003,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2004,days:[30,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2005,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2006,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2007,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2008,days:[31,31,31,32,31,31,29,30,30,29,29,31],totalDays:0,daysTillNow:0},{year:2009,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2010,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2011,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2012,days:[31,31,31,32,31,31,29,30,30,29,30,30],totalDays:0,daysTillNow:0},{year:2013,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2014,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2015,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2016,days:[31,31,31,32,31,31,29,30,30,29,30,30],totalDays:0,daysTillNow:0},{year:2017,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2018,days:[31,32,31,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2019,days:[31,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2020,days:[31,31,31,32,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2021,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2022,days:[31,32,31,32,31,30,30,30,29,29,30,30],totalDays:0,daysTillNow:0},{year:2023,days:[31,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2024,days:[31,31,31,32,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2025,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2026,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2027,days:[30,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2028,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2029,days:[31,31,32,31,32,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2030,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2031,days:[30,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2032,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2033,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2034,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2035,days:[30,32,31,32,31,31,29,30,30,29,29,31],totalDays:0,daysTillNow:0},{year:2036,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2037,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2038,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2039,days:[31,31,31,32,31,31,29,30,30,29,30,30],totalDays:0,daysTillNow:0},{year:2040,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2041,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2042,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2043,days:[31,31,31,32,31,31,29,30,30,29,30,30],totalDays:0,daysTillNow:0},{year:2044,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2045,days:[31,32,31,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2046,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2047,days:[31,31,31,32,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2048,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2049,days:[31,32,31,32,31,30,30,30,29,29,30,30],totalDays:0,daysTillNow:0},{year:2050,days:[31,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2051,days:[31,31,31,32,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2052,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2053,days:[31,32,31,32,31,30,30,30,29,29,30,30],totalDays:0,daysTillNow:0},{year:2054,days:[31,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2055,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2056,days:[31,31,32,31,32,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2057,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2058,days:[30,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2059,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2060,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2061,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2062,days:[30,32,31,32,31,31,29,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2063,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2064,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2065,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2066,days:[31,31,31,32,31,31,29,30,30,29,29,31],totalDays:0,daysTillNow:0},{year:2067,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2068,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2069,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2070,days:[31,31,31,32,31,31,29,30,30,29,30,30],totalDays:0,daysTillNow:0},{year:2071,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2072,days:[31,32,31,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2073,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2074,days:[31,31,31,32,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2075,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2076,days:[31,32,31,32,31,30,30,30,29,29,30,30],totalDays:0,daysTillNow:0},{year:2077,days:[31,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2078,days:[31,31,31,32,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2079,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2080,days:[31,32,31,32,31,30,30,30,29,29,30,30],totalDays:0,daysTillNow:0},{year:2081,days:[31,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2082,days:[31,31,31,32,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2083,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2084,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2085,days:[30,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2086,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2087,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2088,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2089,days:[30,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2090,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2091,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2092,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2093,days:[31,31,31,32,31,31,29,30,30,29,29,31],totalDays:0,daysTillNow:0},{year:2094,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2095,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2096,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2097,days:[31,31,31,32,31,31,29,30,30,29,30,30],totalDays:0,daysTillNow:0},{year:2098,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2099,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2100,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0}],K=0;i.forEach(n=>{n.totalDays=n.days.reduce((e,a)=>e+a,0),K+=n.totalDays,n.daysTillNow=K});var x=new Date(1943,3,14).getTime(),J=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],A=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],U=["आइतबार","सोमबार","मंगलबार","बुधबार","बिहिबार","शुक्रबार","शनिबार"],G=["आइत","सोम","मंगल","बुध","बिहि","शुक्र","शनि"],z=["Baisakh","Jestha","Asar","Shrawan","Bhadra","Aswin","Kartik","Mangsir","Poush","Magh","Falgun","Chaitra"],X=["Bai","Jes","Asa","Shr","Bhd","Asw","Kar","Man","Pou","Mag","Fal","Cha"],Z=["बैशाख","जेठ","असार","श्रावण","भाद्र","आश्विन","कार्तिक","मंसिर","पौष","माघ","फाल्गुण","चैत्र"],ee=["बै","जे","अ","श्रा","भा","आ","का","मं","पौ","मा","फा","चै"],Ne=["०","१","२","३","४","५","६","७","८","९"];function L(n){return n<10?`0${n}`:`${n}`}function B(n){let e="";for(let a=0;a<n.length;a+=1)e+=Ne[n.charCodeAt(a)-48];return e}function pe(n){return e=>n<=2?String(e.getYear()).substring(2):n===3?String(e.getYear()).substring(1):String(e.getYear())}function Ee(n){return e=>n<=2?B(String(e.getYear()).substring(2)):B(n===3?String(e.getYear()).substring(1):String(e.getYear()))}function ke(n){return e=>n===1?String(e.getMonth()+1):n===2?L(e.getMonth()+1):n===3?X[e.getMonth()]:z[e.getMonth()]}function Te(n){return e=>n===1?B(String(e.getMonth()+1)):n===2?B(L(e.getMonth()+1)):n===3?ee[e.getMonth()]:Z[e.getMonth()]}function Me(n){return e=>n===1?String(e.getDate()):n===2?L(e.getDate()):n===3?A[e.getDay()]:J[e.getDay()]}function Ve(n){return e=>n===1?B(String(e.getDate())):n===2?B(L(e.getDate())):n===3?G[e.getDay()]:U[e.getDay()]}function j(n){return()=>n}var P={Y:pe,y:Ee,M:ke,m:Te,D:Me,d:Ve};function Ce(n){return n in P}function Be(n){let e=!1,a="",u="",r=0,y=[];for(let c=0;c<n.length;c+=1){let v=n[c];if(v===u){r+=1;continue}if(u!==""&&(y.push(P[u](r)),u="",r=0),v==='"'){e=!e;continue}!Ce(v)||e?a+=v:(a&&(y.push(j(a)),a=""),u=v,r=1)}return a?y.push(j(a)):u&&y.push(P[u](r)),y}function Ye(n,e){return Be(e).map(a=>a(n)).join("")}function q(n){let e=n.split(/[-./]/,3),[a,u=1,r=1]=e.map(c=>{let v=parseInt(c,10);if(Number.isNaN(v))throw new Error("Invalid date");return v});if(a<i[0].year||a>=i[0].year+i.length)throw new Error("Nepal year out of range");if(u<1||u>12)throw new Error("Invalid nepali month must be between 1 - 12");let y=i[a-i[0].year].days[u-1];if(r<1||r>y)throw new Error(`Invalid nepali date must be between 1 - ${y} in ${a} ${u}`);return[a,u-1,r]}var h=class d{constructor(...e){S(this,"timestamp");S(this,"year");S(this,"month");S(this,"day");if(e.length===0)this.setEnglishDate(new Date);else if(e.length===1){let a=e[0];if(typeof a=="object")if(a instanceof Date)this.setEnglishDate(a);else if(a instanceof d)this.timestamp=a.timestamp,this.year=a.year,this.month=a.month,this.day=a.day;else throw new Error("Invalid date argument");else if(typeof a=="string")this.set(...q(a));else if(typeof a=="number")this.setEnglishDate(new Date(a));else throw new Error("Invalid date argument")}else if(e.length===3)this.set(e[0],e[1],e[2]);else throw new Error("Invalid argument syntax")}setEnglishDate(e){this.timestamp=e;let a=Math.floor((this.timestamp.getTime()-x)/864e5),u=Math.floor(a/366);for(;a>=i[u].daysTillNow;)u+=1;let r=i[u-1]?i[u-1].daysTillNow:0;a-=r;let y=i[u];for(this.year=y.year,this.month=0;a>=y.days[this.month];)this.month+=1,a-=y.days[this.month-1];this.day=a+1}getEnglishDate(){return this.timestamp}parse(e){this.set(...q(e))}getYear(){return this.year}getMonth(){return this.month}getDate(){return this.day}getDay(){return this.timestamp.getDay()}getHours(){return this.timestamp.getHours()}getMinutes(){return this.timestamp.getMinutes()}getSeconds(){return this.timestamp.getSeconds()}getMilliseconds(){return this.timestamp.getMilliseconds()}getTime(){return this.timestamp.getTime()}setYear(e){this.set(e,this.month,this.day)}setMonth(e){this.set(this.year,e,this.day)}setDate(e){this.set(this.year,this.month,e)}set(e,a,u){let r=e+Math.floor(a/12)-i[0].year,y=i[r],c=y.daysTillNow-y.totalDays,v=a%12,k=v<0?12+v:v;for(let f=0;f<k;f+=1)c+=y.days[f];c+=u-1,this.setEnglishDate(new Date(x+c*864e5))}format(e){return Ye(this,e)}toString(){return`${this.year}/${this.month+1}/${this.day}`}addDays(e){let a=new Date(this.timestamp.getTime()+e*864e5);return new d(a)}addMonths(e){let a=this.year,u=this.month+e;a+=Math.floor(u/12),u=u%12,u<0&&(u+=12,a-=1);let r=a-i[0].year;if(r<0||r>=i.length)throw new Error("Resulting date is out of supported range");let y=i[r].days[u],c=Math.min(this.day,y);return new d(a,u,c)}addYears(e){let a=this.year+e;if(a<i[0].year||a>=i[0].year+i.length)throw new Error("Resulting date is out of supported range");let u=a-i[0].year;if(this.month===11&&this.day===29){let r=i[u].days[11];if(r<29)return new d(a,11,r)}return new d(a,this.month,this.day)}static minimum(){return new Date(x)}static maximum(){return new Date(x+i[i.length-1].daysTillNow*864e5)}daysInMonth(){let e=this.year-i[0].year;return i[e].days[this.month]}isLeapYear(){let e=this.year-i[0].year;return i[e].totalDays===366}getWeeksInMonth(){let e=new d(this.year,this.month,1).getDay(),a=this.daysInMonth();return Math.ceil((e+a)/7)}diff(e,a){switch(a){case"day":return Math.floor((this.timestamp.getTime()-e.timestamp.getTime())/864e5);case"month":let u=this.year-e.year,r=this.month-e.month;return u*12+r;case"year":return this.year-e.year;default:throw new Error("Invalid unit for diff calculation")}}startOfDay(){let e=new Date(this.timestamp);return e.setHours(0,0,0,0),new d(e)}endOfDay(){let e=new Date(this.timestamp);return e.setHours(23,59,59,999),new d(e)}startOfWeek(e=0){if(e<0||e>6||!Number.isInteger(e))throw new Error("startOfWeek must be an integer between 0 and 6");let a=(this.getDay()-e+7)%7;return this.clone().startOfDay().addDays(-a)}endOfWeek(e=0){return this.startOfWeek(e).addDays(6).endOfDay()}startOfMonth(){return new d(this.year,this.month,1)}endOfMonth(){let e=this.daysInMonth();return new d(this.year,this.month,e).endOfDay()}startOfYear(){return new d(this.year,0,1)}endOfYear(){let e=this.year-i[0].year,a=i[e].days[11];return new d(this.year,11,a).endOfDay()}static getMonthName(e,a=!1,u=!1){if(e<0||e>11)throw new Error("Invalid month index, must be between 0-11");let r="";return u?r=a?ee[e]:Z[e]:r=a?X[e]:z[e],r}static getDayName(e,a=!1,u=!1){if(e<0||e>6)throw new Error("Invalid day index, must be between 0-6");let r="";return u?r=a?G[e]:U[e]:r=a?A[e]:J[e],r}static isValid(e,a,u){try{if(e<i[0].year||e>=i[0].year+i.length||a<0||a>11)return!1;let r=e-i[0].year,y=i[r].days[a];return!(u<1||u>y)}catch{return!1}}isValid(){return d.isValid(this.year,this.month,this.day)}static getCalendarDays(e,a){if(!d.isValid(e,a,1))throw new Error("Invalid year or month");let u={year:0,month:0,days:[]},r={year:0,month:0,days:[]},y={year:0,month:0,days:[]},c=e-i[0].year,v=new d(e,a,1).getDay(),k=i[c].days[a];r.year=e,r.month=a;let f=a-1,p=e,T=a+1,E=e;if(f<0&&(f=11,p--),p>i[0].year&&(u.year=p,u.month=f),p>=i[0].year&&v>0){let m=p-i[0].year,M=i[m].days[f];for(let D=0;D<v;D++)u.days.push(M-v+D+1)}for(let m=1;m<=k;m++)r.days.push(m);T>11&&(T=0,E++),E<i[0].year+i.length&&(y.year=E,y.month=T);let g=42-v-r.days.length;if(E<i[0].year+i.length&&g>0)for(let m=1;m<=g;m++)y.days.push(m);return{prevRemainingDays:v,prevMonth:u,currentMonth:r,nextMonth:y,remainingDays:g}}clone(){return new d(this)}isAfter(e){return this.timestamp.getTime()>e.timestamp.getTime()}isBefore(e){return this.timestamp.getTime()<e.timestamp.getTime()}isEqual(e){return this.year===e.year&&this.month===e.month&&this.day===e.day}isSame(e,a){switch(a){case"year":return this.year===e.year;case"month":return this.year===e.year&&this.month===e.month;case"day":return this.isEqual(e);default:throw new Error("Invalid unit for comparison")}}static getQuarter(e,a){if(e<1||e>4||!Number.isInteger(e))throw new Error("Quarter must be an integer between 1 and 4");let u=a??new d().getYear(),r=(e-1)*3,y=new d(u,r,1),c=new d(u,r+2,1).endOfMonth();return{start:y,end:c}}getCurrentQuarter(){return Math.floor(this.month/3)+1}static getQuarters(e){let a=e??new d().getYear();return{Q1:d.getQuarter(1,a),Q2:d.getQuarter(2,a),Q3:d.getQuarter(3,a),Q4:d.getQuarter(4,a)}}static getCurrentFiscalYear(){let e=new d,a=e.getYear();return e.getMonth()<3?a-1:a}static getFiscalYearQuarter(e,a){if(e<1||e>4||!Number.isInteger(e))throw new Error("Quarter must be an integer between 1 and 4");let u=a??d.getCurrentFiscalYear(),r=u,y=(e-1)*3+3;e===4&&(r=u+1,y=0),y>11&&(r++,y-=12);let c=y+2,v=r;c>11&&(v++,c-=12);let k=new d(r,y,1),f=new d(v,c,1).endOfMonth();return{start:k,end:f}}getCurrentFiscalYearQuarter(){let e=this.getMonth();return e>=3&&e<=5?1:e>=6&&e<=8?2:e>=9&&e<=11?3:4}getCurrentFiscalYearQuarterDates(){let e=this.getCurrentFiscalYearQuarter(),a=d.getCurrentFiscalYear();return d.getFiscalYearQuarter(e,a)}static getFiscalYearQuarters(e){let a=e??d.getCurrentFiscalYear();return{Q1:d.getFiscalYearQuarter(1,a),Q2:d.getFiscalYearQuarter(2,a),Q3:d.getFiscalYearQuarter(3,a),Q4:d.getFiscalYearQuarter(4,a)}}};const Se=["placeholder","id"],be={key:0,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024",width:"1em",height:"1em"},Fe=["id"],_e={class:"calendar__body"},$e={class:"calendar__head"},Qe={class:"calendar__header_label"},Ie={key:0},xe={key:2},Oe={key:4},Ae={class:"calendar__container"},Le={key:0},He={class:"calendar__weeks"},Pe={class:"calendar__days"},ze=["title","onClick"],We=["title","onClick"],Re=["title","onClick"],Ke=["onClick"],je=["onClick"],O=10,qe=t.defineComponent({__name:"NepaliDatePicker",props:{modelValue:{type:String,default:""},yearSelect:{type:Boolean,default:!0},monthSelect:{type:Boolean,default:!0},class:{type:String,default:""},placeholder:{type:String,default:""}},emits:["update:modelValue","onSelect"],setup(n,{emit:e}){const a=n,u=e,r=t.ref(a.modelValue?new h(a.modelValue):new h),y=t.ref(!1),c=t.ref(a.modelValue),v=t.ref(null),k=t.ref(null),f=t.ref(null),p=t.ref(null),T=t.ref(a.modelValue?new h(a.modelValue).getYear():new h().getYear()),E=t.ref(a.modelValue?new h(a.modelValue).getMonth():new h().getMonth()),g=t.ref(!1),m=t.ref(!1),M=t.ref(i[0].year),D=t.ref(i.length+i[0].year-1),C=t.ref(0);t.watch(()=>a.modelValue,()=>{c.value=a.modelValue,T.value=a.modelValue?new h(a.modelValue).getYear():new h().getYear(),E.value=a.modelValue?new h(a.modelValue).getMonth():new h().getMonth(),r.value=a.modelValue?new h(a.modelValue):new h});const te=t.computed(()=>r.value.year==M.value&&r.value.month==0?[]:(i.forEach(s=>{let l=r.value.year,o=r.value.month-1;b.value[0].month==0&&(l=l-1,o=11),s.year===l&&s.days.forEach((w,N)=>{N===o&&(k.value=w)})}),Array(k.value).fill(null).map((s,l)=>new h(r.value.year,r.value.month-1,l+1)).slice(-(V.value?V.value:0)))),b=t.computed(()=>(i.forEach(s=>{s.year===r.value.year&&s.days.forEach((l,o)=>{o===r.value.month&&(v.value=l)})}),Array(v.value).fill(null).map((s,l)=>new h(r.value.year,r.value.month,l+1)))),ae=t.computed(()=>r.value.year==D.value&&r.value.month==11?[]:(i.forEach(s=>{let l=r.value.year,o=r.value.month+1;b.value[0].month==11&&(l=l+1,o=0),s.year===l&&s.days.forEach((w,N)=>{N===o&&(f.value=w)})}),Array(f.value).fill(null).map((s,l)=>new h(r.value.year,r.value.month+1,l+1)).slice(0,W.value))),V=t.computed(()=>{const s=new h(T.value,E.value,1);return A.forEach((l,o)=>{s.format("DDD")==="Su"?p.value=7:s.format("DDD")===l&&(p.value=o)}),p.value}),W=t.computed(()=>42-b.value.length-(V.value?V.value:0)),le=()=>{if(m.value=!m.value,g.value=!1,m.value){const s=r.value.year,l=i.findIndex(o=>o.year===s);C.value=Math.floor(l/O)}},F=(s,l)=>{s?y.value=!0:l?y.value=!1:y.value=!y.value,y.value?document.addEventListener("click",I):(document.removeEventListener("click",I),R())},re=()=>{g.value=!g.value,m.value=!1},se=()=>{let s=r.value.month+1,l=r.value.year;s>11&&(l++,s=0),l+1<M.value||l>D.value||($(s,l),r.value=new h(l,s,1))},ne=()=>{if(m.value)C.value<me.value-1&&C.value++;else{let s=r.value.month,l=r.value.year+1;l<M.value||l>D.value||($(s,l),r.value=new h(l,s,1))}},oe=()=>{let s=r.value.month-1,l=r.value.year;s<0&&(l--,s=11),l<M.value||l>D.value||($(s,l),r.value=new h(l,s,1))},ue=()=>{if(m.value)C.value>0&&C.value--;else{let s=r.value.month,l=r.value.year-1;l<M.value||l>D.value||($(s,l),r.value=new h(l,s,1))}},ie=s=>a.modelValue?new h(a.modelValue).getTime()===s.getTime():!1,ye=s=>r.value.month==s,de=s=>r.value.year==s,ce=s=>{const l=new h;return s.day===l.day&&s.year===l.year&&s.month===l.month},_=t.computed(()=>{const s=i.map(o=>o.year),l=C.value*O;return s.slice(l,l+O)}),me=t.computed(()=>Math.ceil(i.length/O)),H=s=>{let l="";const o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",w=o.length;let N=0;for(;N<s;)l+=o.charAt(Math.floor(Math.random()*w)),N+=1;return l},Y=H(3)+H(3)+H(3),$=(s,l)=>{E.value=s,T.value=l},he=s=>{E.value=s,r.value.setMonth(s),g.value=!1},ve=s=>{T.value=s,r.value.setYear(s),m.value=!1,a.monthSelect&&(g.value=!0)},Q=s=>{r.value=s,c.value=r.value.format("YYYY-MM-DD"),u("update:modelValue",c.value),u("onSelect",c.value),F()},we=()=>{/^\d{4}-\d{2}-\d{2}$/.test(c.value)||(c.value=a.modelValue);try{const s=new h(c.value);Q(s)}catch{c.value=a.modelValue}},I=s=>{const l=document.getElementById("nepali-calendar-"+Y),o=document.getElementById("nepali-date-input-"+Y);l&&!l.contains(s.target)&&o&&!o.contains(s.target)&&(y.value=!1,R(),document.removeEventListener("click",I))},R=()=>{g.value=!1,m.value=!1,r.value=a.modelValue?new h(a.modelValue):new h},ge=()=>{g.value=!1,m.value=!1,r.value=new h,u("update:modelValue",""),u("onSelect",""),F(!1,!0)};return t.onUnmounted(()=>{document.removeEventListener("click",I)}),(s,l)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["nepali-datepicker",a.class]),key:Y},[t.createElementVNode("div",{class:t.normalizeClass(["calendar-input-div",n.modelValue?"calendar-input-contain-value":""])},[t.withDirectives(t.createElementVNode("input",{type:"text",class:"calendar-input",onClick:l[0]||(l[0]=o=>F(!0)),"onUpdate:modelValue":l[1]||(l[1]=o=>c.value=o),placeholder:n.placeholder,"aria-haspopup":"true",id:"nepali-date-input-"+Y,onKeyup:l[2]||(l[2]=t.withKeys(o=>we(),["enter"]))},null,40,Se),[[t.vModelText,c.value]]),t.createElementVNode("div",{class:"calendar-input-icon calender-icon",onClick:l[3]||(l[3]=t.withModifiers(o=>F(!0),["stop"]))},[y.value&&n.modelValue?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("svg",be,l[11]||(l[11]=[t.createElementVNode("path",{d:"M940.218 107.055H730.764v-60.51H665.6v60.51H363.055v-60.51H297.89v60.51H83.78c-18.617 0-32.581 13.963-32.581 32.581v805.237c0 18.618 13.964 32.582 32.582 32.582h861.09c18.619 0 32.583-13.964 32.583-32.582V139.636c-4.655-18.618-18.619-32.581-37.237-32.581zm-642.327 65.163v60.51h65.164v-60.51h307.2v60.51h65.163v-60.51h176.873v204.8H116.364v-204.8H297.89zM116.364 912.291V442.18H912.29v470.11H116.364z"},null,-1)])))]),n.modelValue?(t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass(["calendar-input-icon",y.value?"":"calendar-clear-input"]),onClick:l[4]||(l[4]=t.withModifiers(o=>ge(),["stop"]))},l[12]||(l[12]=[t.createElementVNode("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[t.createElementVNode("path",{id:"Vector",d:"M18 18L12 12M12 12L6 6M12 12L18 6M12 12L6 18","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1)]),2)):t.createCommentVNode("",!0)],2),t.createVNode(t.Transition,{name:"calendar-animation"},{default:t.withCtx(()=>[y.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass(["calendar",{show:y.value}]),id:"nepali-calendar-"+Y,style:{"user-select":"none"}},[t.createElementVNode("div",_e,[t.createElementVNode("div",$e,[t.createElementVNode("div",null,[t.createElementVNode("button",{class:"calendar__toggle_button",onClick:l[5]||(l[5]=o=>ue())},l[13]||(l[13]=[t.createElementVNode("i",{class:"calendar-icon-double-left"},null,-1)])),!g.value&&!m.value?(t.openBlock(),t.createElementBlock("button",{key:0,class:"calendar__toggle_button",onClick:l[6]||(l[6]=o=>oe())},l[14]||(l[14]=[t.createElementVNode("i",{class:"calendar-icon-left"},null,-1)]))):t.createCommentVNode("",!0)]),t.createElementVNode("div",Qe,[n.monthSelect?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("a",Ie,t.toDisplayString(r.value.format("MMMM")),1)),!g.value&&!m.value&&n.monthSelect?(t.openBlock(),t.createElementBlock("a",{key:1,class:"calendar__header_selector",onClick:t.withModifiers(re,["stop"])},t.toDisplayString(r.value.format("MMMM")),1)):t.createCommentVNode("",!0),n.yearSelect?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("a",xe,t.toDisplayString(r.value.format("YYYY")),1)),!m.value&&n.yearSelect?(t.openBlock(),t.createElementBlock("a",{key:3,class:"calendar__header_selector",onClick:t.withModifiers(le,["stop"])},t.toDisplayString(r.value.format("YYYY")),1)):t.createCommentVNode("",!0),m.value&&n.yearSelect?(t.openBlock(),t.createElementBlock("a",Oe,t.toDisplayString(_.value[0])+" ~ "+t.toDisplayString(_.value[_.value.length-1]),1)):t.createCommentVNode("",!0)]),t.createElementVNode("div",null,[!g.value&&!m.value?(t.openBlock(),t.createElementBlock("button",{key:0,class:"calendar__toggle_button",onClick:l[7]||(l[7]=o=>se())},l[15]||(l[15]=[t.createElementVNode("i",{class:"calendar-icon-right"},null,-1)]))):t.createCommentVNode("",!0),t.createElementVNode("button",{class:"calendar__toggle_button",onClick:l[8]||(l[8]=o=>ne())},l[16]||(l[16]=[t.createElementVNode("i",{class:"calendar-icon-double-right"},null,-1)]))])]),t.createElementVNode("div",Ae,[!g.value&&!m.value?(t.openBlock(),t.createElementBlock("div",Le,[t.createElementVNode("div",He,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(A),(o,w)=>(t.openBlock(),t.createElementBlock("div",{key:w,class:"calendar__weekday"},t.toDisplayString(o),1))),128))]),t.createElementVNode("div",Pe,[r.value.year==M.value&&r.value.month==0?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(V.value,o=>(t.openBlock(),t.createElementBlock("div",{class:"calendar__day_spacer",key:o}))),128)):t.createCommentVNode("",!0),V.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:1},t.renderList(te.value,(o,w)=>(t.openBlock(),t.createElementBlock("div",{key:w,class:"calendar__day not_current_month",title:`${o.year}-${o.month+1}-${o.day}`,onClick:N=>Q(o)},[t.createElementVNode("span",null,t.toDisplayString(o.day),1)],8,ze))),128)):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(b.value,(o,w)=>(t.openBlock(),t.createElementBlock("div",{key:w,class:t.normalizeClass(["calendar__day",{selected:ie(o),today:ce(o)}]),title:`${o.year}-${o.month+1}-${o.day}`,onClick:N=>Q(o)},[t.createElementVNode("span",null,t.toDisplayString(o.day),1)],10,We))),128)),V.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:2},t.renderList(ae.value,(o,w)=>(t.openBlock(),t.createElementBlock("div",{key:w,class:"calendar__day not_current_month",title:`${o.year}-${o.month+1}-${o.day}`,onClick:N=>Q(o)},[t.createElementVNode("span",null,t.toDisplayString(o.day),1)],8,Re))),128)):t.createCommentVNode("",!0),r.value.year==D.value&&r.value.month==11?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:3},t.renderList(W.value,o=>(t.openBlock(),t.createElementBlock("div",{class:"calendar__day_spacer",key:o}))),128)):t.createCommentVNode("",!0)])])):t.createCommentVNode("",!0),g.value?(t.openBlock(),t.createElementBlock("div",{key:1,class:"calendar__months",onClick:l[9]||(l[9]=t.withModifiers(()=>{},["stop"]))},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(z),(o,w)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["calendar_month",{selected:ye(w)}]),onClick:N=>he(w)},t.toDisplayString(o),11,Ke))),256))])):t.createCommentVNode("",!0),m.value?(t.openBlock(),t.createElementBlock("div",{key:2,class:"calendar__years",onClick:l[10]||(l[10]=t.withModifiers(()=>{},["stop"]))},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(_.value,o=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["calendar__year",{selected:de(o)}]),onClick:w=>ve(o)},t.toDisplayString(o),11,je))),256))])):t.createCommentVNode("",!0)])])],10,Fe)):t.createCommentVNode("",!0)]),_:1})],2))}}),Je=(n,e)=>{const a=n.__vccOpts||n;for(const[u,r]of e)a[u]=r;return a},Ue=Je(qe,[["__scopeId","data-v-2be2f4ff"]]);exports.NepaliDatePicker=Ue;