nepali-datepicker-vue
Version:
A Vue 3 Nepali Datepicker with TypeScript Support
2 lines (1 loc) • 36 kB
JavaScript
;Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");var y=[{year:1976,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:1977,days:[30,32,31,32,31,31,29,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:1978,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:1979,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:1980,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:1981,days:[31,31,31,32,31,31,29,30,30,29,30,30],totalDays:0,daysTillNow:0},{year:1982,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:1983,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:1984,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:1985,days:[31,31,31,32,31,31,29,30,30,29,30,30],totalDays:0,daysTillNow:0},{year:1986,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:1987,days:[31,32,31,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:1988,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:1989,days:[31,31,31,32,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:1990,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:1991,days:[31,32,31,32,31,30,30,30,29,29,30,30],totalDays:0,daysTillNow:0},{year:1992,days:[31,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:1993,days:[31,31,31,32,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:1994,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:1995,days:[31,32,31,32,31,30,30,30,29,29,30,30],totalDays:0,daysTillNow:0},{year:1996,days:[31,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:1997,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:1998,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:1999,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{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,32,31,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,31,32,31,31,30,30,30,29,30,30,30],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}],ce=0;y.forEach(o=>{o.totalDays=o.days.reduce((t,a)=>t+a,0),ce+=o.totalDays,o.daysTillNow=ce});var X=Date.UTC(1919,3,13),ve=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],ne=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],we=["आइतबार","सोमबार","मंगलबार","बुधबार","बिहिबार","शुक्रबार","शनिबार"],ge=["आइत","सोम","मंगल","बुध","बिहि","शुक्र","शनि"],re=["Baisakh","Jestha","Asar","Shrawan","Bhadra","Aswin","Kartik","Mangsir","Poush","Magh","Falgun","Chaitra"],fe=["Bai","Jes","Asa","Shr","Bhd","Asw","Kar","Man","Pou","Mag","Fal","Cha"],De=["बैशाख","जेठ","असार","श्रावण","भाद्र","आश्विन","कार्तिक","मंसिर","पौष","माघ","फाल्गुण","चैत्र"],Ne=["बै","जे","अ","श्रा","भा","आ","का","मं","पौ","मा","फा","चै"],Le=["०","१","२","३","४","५","६","७","८","९"];function j(o){return o<10?`0${String(o)}`:String(o)}function P(o){let t="";for(let a=0;a<o.length;a+=1)t+=Le[o.charCodeAt(a)-48];return t}function Ae(o){return t=>o<=2?String(t.getYear()).substring(2):o===3?String(t.getYear()).substring(1):String(t.getYear())}function Pe(o){return t=>P(o<=2?String(t.getYear()).substring(2):o===3?String(t.getYear()).substring(1):String(t.getYear()))}function ze(o){return t=>o===1?String(t.getMonth()+1):o===2?j(t.getMonth()+1):o===3?fe[t.getMonth()]:re[t.getMonth()]}function We(o){return t=>o===1?P(String(t.getMonth()+1)):o===2?P(j(t.getMonth()+1)):o===3?Ne[t.getMonth()]:De[t.getMonth()]}function Re(o){return t=>o===1?String(t.getDate()):o===2?j(t.getDate()):o===3?ne[t.getDay()]:ve[t.getDay()]}function Ke(o){return t=>o===1?P(String(t.getDate())):o===2?P(j(t.getDate())):o===3?ge[t.getDay()]:we[t.getDay()]}function me(o){return()=>o}var se={Y:Ae,y:Pe,M:ze,m:We,D:Re,d:Ke};function Ue(o){return o in se}function Xe(o){let t=!1,a="",i="",n=0;const d=[];for(const u of o)u!==i?(i!==""&&(d.push(se[i](n)),i="",n=0),u!=='"'?!Ue(u)||t?a+=u:(a&&(d.push(me(a)),a=""),i=u,n=1):t=!t):n+=1;return a?d.push(me(a)):i&&d.push(se[i](n)),d}function qe(o,t){return Xe(t).map(a=>a(o)).join("")}function he(o){const t=o.split(/[-./]/,3),[a,i=1,n=1]=t.map(u=>{const f=parseInt(u,10);if(Number.isNaN(f))throw new Error("Invalid date");return f});if(a<y[0].year||a>=y[0].year+y.length)throw new Error("Nepal year out of range");if(i<1||i>12)throw new Error("Invalid nepali month must be between 1 - 12");const d=y[a-y[0].year].days[i-1];if(n<1||n>d)throw new Error(`Invalid nepali date must be between 1 - ${String(d)} in ${String(a)} ${String(i)}`);return[a,i-1,n]}var m=class c{constructor(t,a,i){if(t==null)this.setEnglishDate(new Date);else if(typeof t=="object")if(t instanceof Date)this.setEnglishDate(t);else{if(!(t instanceof c))throw new Error("Invalid argument syntax");this.timestamp=t.timestamp,this.year=t.year,this.month=t.month,this.day=t.day}else if(typeof t=="string")this.set(...he(t));else if(typeof t=="number"&&a!==void 0&&i!==void 0)this.set(t,a,i);else{if(typeof t!="number")throw new Error("Invalid argument syntax");this.setEnglishDate(new Date(t))}}setEnglishDate(t){var a,i;this.timestamp=t;const n=Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate());let d=Math.floor((n-X)/864e5),u=Math.floor(d/366);for(;d>=y[u].daysTillNow;)u+=1;d-=(a=(i=y[u-1])===null||i===void 0?void 0:i.daysTillNow)!==null&&a!==void 0?a:0;const f=y[u];for(this.year=f.year,this.month=0;d>=f.days[this.month];)this.month+=1,d-=f.days[this.month-1];this.day=d+1}set(t,a,i){const n=t+Math.floor(a/12)-y[0].year;if(n<0||n>=y.length)throw new Error("Nepal year out of range!");const d=y[n];let u=d.daysTillNow-d.totalDays;const f=a%12,I=f<0?12+f:f;for(let h=0;h<I;h+=1)u+=d.days[h];u+=i-1;const p=new Date(X+864e5*u);this.setEnglishDate(p)}format(t){return qe(this,t)}clone(){return new c(this)}toString(){return`${String(this.year)}/${String(this.month+1)}/${String(this.day)}`}getEnglishDate(){return this.timestamp}parse(t){this.set(...he(t))}getYear(){return this.year}getMonth(){return this.month}getDay(){return this.timestamp.getDay()}getDate(){return this.day}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(t){this.set(t,this.month,this.day)}setMonth(t){this.set(this.year,t,this.day)}setDate(t){this.set(this.year,this.month,t)}addDays(t){const a=new Date(this.timestamp.getTime()+864e5*t);return new c(a)}addMonths(t){let a=this.year,i=this.month+t;a+=Math.floor(i/12),i%=12,i<0&&(i+=12,a-=1);const n=a-y[0].year;if(n<0||n>=y.length)throw new Error("Resulting date is out of supported range");const d=y[n].days[i],u=Math.min(this.day,d);return new c(a,i,u)}addYears(t){const a=this.year+t;if(a<y[0].year||a>=y[0].year+y.length)throw new Error("Resulting date is out of supported range");const i=a-y[0].year,n=y[i].days[this.month],d=Math.min(this.day,n);return new c(a,this.month,d)}static minimum(){return new Date(X)}static maximum(){return new Date(X+864e5*y[y.length-1].daysTillNow)}daysInMonth(t,a){if(a!==void 0&&(a<0||a>11))throw new Error("Invalid month index, must be between 0-11");const i=(t??this.year)-y[0].year;return y[i].days[a??this.month]}isLeapYear(){const t=this.year-y[0].year;return y[t].totalDays>=366}getWeeksInMonth(){const t=new c(this.year,this.month,1).getDay(),a=this.daysInMonth();return Math.ceil((t+a)/7)}diff(t,a){switch(a){case"day":return Math.floor((this.timestamp.getTime()-t.timestamp.getTime())/864e5);case"month":return 12*(this.year-t.year)+(this.month-t.month);case"year":return this.year-t.year;default:throw new Error("Invalid unit for diff calculation")}}startOfDay(){const t=new Date(this.timestamp);return t.setHours(0,0,0,0),new c(t)}endOfDay(){const t=new Date(this.timestamp);return t.setHours(23,59,59,999),new c(t)}startOfWeek(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;if(t<0||t>6||!Number.isInteger(t))throw new Error("startOfWeek must be an integer between 0 and 6");const a=(this.getDay()-t+7)%7;return this.clone().startOfDay().addDays(-a)}endOfWeek(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;if(t<0||t>6||!Number.isInteger(t))throw new Error("startOfWeek must be an integer between 0 and 6");return this.startOfWeek(t).addDays(6).endOfDay()}startOfMonth(){return new c(this.year,this.month,1)}endOfMonth(){const t=this.daysInMonth();return new c(this.year,this.month,t).endOfDay()}startOfYear(){return new c(this.year,0,1)}endOfYear(){const t=this.year-y[0].year,a=y[t].days[11];return new c(this.year,11,a).endOfDay()}static getMonthName(t){let a=arguments.length>1&&arguments[1]!==void 0&&arguments[1],i=arguments.length>2&&arguments[2]!==void 0&&arguments[2];if(t<0||t>11)throw new Error("Invalid month index, must be between 0-11");let n="";return n=i?a?Ne[t]:De[t]:a?fe[t]:re[t],n}static getDayName(t){let a=arguments.length>1&&arguments[1]!==void 0&&arguments[1],i=arguments.length>2&&arguments[2]!==void 0&&arguments[2];if(t<0||t>6)throw new Error("Invalid day index, must be between 0-6");let n="";return n=i?a?ge[t]:we[t]:a?ne[t]:ve[t],n}static isValid(t,a,i){try{if(t<y[0].year||t>=y[0].year+y.length||a<0||a>11)return!1;const n=t-y[0].year,d=y[n].days[a];return!(i<1||i>d)}catch{return!1}}isValid(){return c.isValid(this.year,this.month,this.day)}static getCalendarDays(t,a){if(!c.isValid(t,a,1))throw new Error("Invalid year or month");const i={year:0,month:0,days:[]},n={year:0,month:0,days:[]},d={year:0,month:0,days:[]},u=t-y[0].year,f=new c(t,a,1).getDay(),I=y[u].days[a];n.year=t,n.month=a;let p=a-1,h=t,E=a+1,Y=t;if(p<0&&(p=11,h--),h>=y[0].year&&(i.year=h,i.month=p),h>=y[0].year&&f>0){const w=h-y[0].year,S=y[w].days[p];for(let T=0;T<f;T++)i.days.push(S-f+T+1)}for(let w=1;w<=I;w++)n.days.push(w);E>11&&(E=0,Y++),Y<y[0].year+y.length&&(d.year=Y,d.month=E);const C=42-f-n.days.length;if(Y<y[0].year+y.length&&C>0)for(let w=1;w<=C;w++)d.days.push(w);return{prevRemainingDays:f,prevMonth:i,currentMonth:n,nextMonth:d,remainingDays:C}}isAfter(t){return this.timestamp.getTime()>t.timestamp.getTime()}isBefore(t){return this.timestamp.getTime()<t.timestamp.getTime()}isEqual(t){return this.year===t.year&&this.month===t.month&&this.day===t.day}isSame(t,a){switch(a){case"year":return this.year===t.year;case"month":return this.year===t.year&&this.month===t.month;case"day":return this.isEqual(t);default:throw new Error("Invalid unit for comparison")}}static getQuarter(t,a){if(t<1||t>4||!Number.isInteger(t))throw new Error("Quarter must be an integer between 1 and 4");const i=a??new c().getYear(),n=3*(t-1);return{start:new c(i,n,1),end:new c(i,n+2,1).endOfMonth()}}getCurrentQuarter(){return Math.floor(this.month/3)+1}static getQuarters(t){const a=t??new c().getYear();return{Q1:c.getQuarter(1,a),Q2:c.getQuarter(2,a),Q3:c.getQuarter(3,a),Q4:c.getQuarter(4,a)}}static getCurrentFiscalYear(){const t=new c,a=t.getYear();return t.getMonth()<3?a-1:a}static getFiscalYearQuarter(t,a){if(t<1||t>4||!Number.isInteger(t))throw new Error("Quarter must be an integer between 1 and 4");const i=a??c.getCurrentFiscalYear();let n=i,d=3*(t-1)+3;t===4&&(n=i+1,d=0),d>11&&(n++,d-=12);let u=d+2,f=n;return u>11&&(f++,u-=12),{start:new c(n,d,1),end:new c(f,u,1).endOfMonth()}}getCurrentFiscalYearQuarter(){const t=this.getMonth();return t>=3&&t<=5?1:t>=6&&t<=8?2:t>=9&&t<=11?3:4}getCurrentFiscalYearQuarterDates(){const t=this.getCurrentFiscalYearQuarter(),a=c.getCurrentFiscalYear();return c.getFiscalYearQuarter(t,a)}static getFiscalYearQuarters(t){const a=t??c.getCurrentFiscalYear();return{Q1:c.getFiscalYearQuarter(1,a),Q2:c.getFiscalYearQuarter(2,a),Q3:c.getFiscalYearQuarter(3,a),Q4:c.getFiscalYearQuarter(4,a)}}};const je=["id"],Ge=["placeholder","id","readonly","disabled"],Je={key:0,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024",width:"1em",height:"1em"},Ze=["id"],et={class:"calendar__body"},tt={class:"calendar__head"},at={class:"calendar__header_label"},lt={key:0},st={key:2},nt={key:4},rt={class:"calendar__container"},ot={key:0},it={class:"calendar__weeks"},yt={class:"calendar__days"},dt=["title","onClick"],ut={key:0,class:"calendar__english_day"},ct=["title","onClick"],mt={key:0,class:"calendar__english_day"},ht=["title","onClick"],vt={key:0,class:"calendar__english_day"},wt=["onClick"],gt=["onClick"],q=10,F=1,ft=e.defineComponent({__name:"NepaliDatePicker",props:{id:{default:""},modelValue:{default:""},yearSelect:{type:Boolean,default:!0},monthSelect:{type:Boolean,default:!0},class:{default:""},placeholder:{default:""},minDate:{default:""},maxDate:{default:""},inputClass:{default:""},clickSelect:{type:Boolean,default:!1},updateOnInputChange:{type:Boolean,default:!1},autoFormat:{type:Boolean,default:!0},miniEnglishDate:{type:Boolean,default:!1},highlightSaturday:{type:Boolean,default:!1},allowTyping:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","onSelect"],setup(o,{emit:t}){const a=o,i=t,n=e.ref(a.modelValue?new m(a.modelValue):new m),d=e.ref(!1),u=e.ref(a.modelValue),f=e.ref(a.modelValue?new m(a.modelValue).getYear():new m().getYear()),I=e.ref(a.modelValue?new m(a.modelValue).getMonth():new m().getMonth()),p=e.ref(!1),h=e.ref(!1),E=e.ref(y?.[0]?.year),Y=e.ref(y?.[y.length-1]?.year??0),C=e.ref(0),w=e.ref(),S=e.ref(!1),T=e.ref(),x=e.ref(!1),z=e.ref(!1),O=e.ref(0),oe=e.ref(0),ie=e.ref(!1),ye=e.ref(null);e.onMounted(()=>{J()}),e.watch(()=>a.modelValue,()=>{u.value=a.modelValue,f.value=a.modelValue?new m(a.modelValue).getYear():new m().getYear(),I.value=a.modelValue?new m(a.modelValue).getMonth():new m().getMonth(),n.value=a.modelValue?new m(a.modelValue):new m}),e.watch(()=>a.minDate,()=>{J()}),e.watch(()=>a.maxDate,()=>{J()}),e.watch([p,h],()=>{d.value&&e.nextTick(()=>{V()})}),e.watch(()=>u.value,s=>{z.value=!0,a.updateOnInputChange&&/^\d{4}-\d{2}-\d{2}$/.test(s)&&le(!0)});const G=()=>{a.disabled||(te(!0),a.clickSelect&&a.allowTyping&&document.getElementById("nepali-date-input-"+_)?.select())},J=()=>{if(a.minDate)try{w.value=new m(a.minDate),S.value=!0}catch(s){w.value=void 0,console.error("Invalid Minimum Date",s),S.value=!1}if(a.maxDate)try{T.value=new m(a.maxDate),x.value=!0}catch(s){console.error("Invalid Maximum Date",s),x.value=!1}x.value&&S.value&&(w.value&&T.value&&w.value.isAfter(T.value)?(console.error("Minimum Date is Greater than Maximum Date"),x.value=!1,S.value=!1):w.value&&T.value&&w.value.isEqual(T.value)&&(console.error("Minimum Date is Equal to Maximum Date"),x.value=!1,S.value=!1))},N=e.computed(()=>m.getCalendarDays(n.value.year,n.value.month)),Te=e.computed(()=>({top:`${O.value}px`,left:`${oe.value}px`})),ke=()=>{const s=ye.value;if(!s)return{height:267,width:272};const l=s.style.transform;s.style.transform="none";const r=s.scrollHeight,g=s.scrollWidth;return s.style.transform=l,{height:r,width:g}},V=()=>{const s=document.getElementById("nepali-date-input-"+_),l=document.getElementById("nepali-calendar-"+_);if(!s||!l)return;const r=s.getBoundingClientRect(),g=window.innerHeight,D=window.innerWidth,{height:M,width:H}=ke();console.log(M,H);const b=M,v=H,B=r.top,Q=g-r.bottom,A=Q<b+F&&B>Q;if(ie.value=A,A)O.value=r.top+window.scrollY-b-F-1,O.value<window.scrollY&&(O.value=window.scrollY+F);else{O.value=r.bottom+window.scrollY+F;const ue=g+window.scrollY-b-F;O.value>ue&&(O.value=ue)}let L=r.left+window.scrollX;L+v>D+window.scrollX&&(L=r.right+window.scrollX-v),L<window.scrollX&&(L=window.scrollX+F),v>D&&(L=window.scrollX+F),oe.value=L},k=(s,l)=>new m(s.year,s.month,l),Z=s=>s.getEnglishDate().getDate(),ee=s=>s.getEnglishDate().getDay()===6,Ee=()=>{if(h.value=!h.value,p.value=!1,h.value){const s=n.value.year,l=y.findIndex(r=>r.year===s);C.value=Math.floor(l/q)}},Me=()=>{const s=new m;$(s)&&(S.value&&w.value?n.value=new m(w.value.year,w.value.month,w.value.day):x.value&&T.value&&(n.value=new m(T.value.year,T.value.month,T.value.day)))},te=(s,l)=>{s?d.value=!0:l?d.value=!1:d.value=!d.value,d.value?(Me(),e.nextTick(()=>{V(),window.addEventListener("scroll",V,!0),window.addEventListener("resize",V)}),setTimeout(()=>{document.addEventListener("click",U)},0)):(document.removeEventListener("click",U),window.removeEventListener("scroll",V,!0),window.removeEventListener("resize",V),de()),z.value&&(z.value=!1)},Be=()=>{p.value=!p.value,h.value=!1},Ce=()=>{let s=n.value.month+1,l=n.value.year;s>11&&(l++,s=0),E.value&&!(l+1<E.value||l>Y.value)&&(R(s,l),n.value=new m(l,s,1))},Ve=()=>{if(h.value)C.value<Oe.value-1&&C.value++;else{let s=n.value.month,l=n.value.year+1;E.value&&!(l<E.value||l>Y.value)&&(R(s,l),n.value=new m(l,s,1))}},Ye=()=>{let s=n.value.month-1,l=n.value.year;s<0&&(l--,s=11),E.value&&!(l<E.value||l>Y.value)&&(R(s,l),n.value=new m(l,s,1))},Se=()=>{if(h.value)C.value>0&&C.value--;else{let s=n.value.month,l=n.value.year-1;E.value&&!(l<E.value||l>Y.value)&&(R(s,l),n.value=new m(l,s,1))}},be=s=>a.modelValue?new m(a.modelValue).getTime()===s.getTime():!1,_e=s=>n.value.month==s,Ie=s=>n.value.year==s,$=s=>!!(S.value&&w.value&&s.isBefore(w.value)||x.value&&T.value&&s.isAfter(T.value)),xe=s=>{const l=new m;return s.day===l.day&&s.year===l.year&&s.month===l.month},W=e.computed(()=>{const s=y.map(r=>r.year),l=C.value*q;return s.slice(l,l+q)}),Oe=e.computed(()=>Math.ceil(y.length/q)),ae=s=>{let l="";const r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",g=r.length;let D=0;for(;D<s;)l+=r.charAt(Math.floor(Math.random()*g)),D+=1;return l},_=ae(5)+ae(5)+ae(5),R=(s,l)=>{I.value=s,f.value=l},Fe=s=>{I.value=s,n.value.setMonth(s),p.value=!1},$e=s=>{f.value=s,n.value.setYear(s),h.value=!1,a.monthSelect&&(p.value=!0)},K=(s,l=!1)=>{$(s)||(n.value=s,u.value=n.value.format("YYYY-MM-DD"),i("update:modelValue",u.value),i("onSelect",u.value),l||te())},le=(s=!1)=>{if(z.value){if(!/^\d{4}-\d{2}-\d{2}$/.test(u.value)){u.value=a.modelValue;return}try{const l=new m(u.value);if($(l)){console.warn("Entered date is outside allowed range"),u.value=a.modelValue;return}K(l,s)}catch{u.value=a.modelValue}}},He=s=>{if(!a.autoFormat){u.value=s.target.value;return}let r=s.target.value.replace(/[^0-9]/g,"").slice(0,9),g="",D="",M="",H=31;if(r.length>=4?g=r.slice(0,4):g=r,r.length>=5){let v=r.charAt(4),B=r.charAt(5)||"";v==="0"?D=v+B:v==="1"?["0","1","2"].includes(B)?D=v+B:B?(D="0"+v,r=r.slice(0,5)+B+r.slice(6)):D=v:"23456789".includes(v)&&(D="0"+v),D==="00"&&(D="0")}if(/^\d{4}$/.test(g)&&/^\d{2}$/.test(D)&&(H=n.value.endOfMonth().day),r.length>=7){let v=r.charAt(6),B=r.charAt(7)||"",Q=r.charAt(8)||"";if(!Q)"123456789".includes(v)&&(M="0"+v);else if(v==0){let A=parseInt(B+Q);A>=1&&A<=H?M=B+Q:M=v+B}else M=v+B;(M==="00"||parseInt(M)>H)&&(M="")}if(/^\d{4}$/.test(g)){let v=parseInt(g);try{if(w.value&&v<w.value.year||T.value&&v>T.value.year)throw Error("Check Fail");n.value.setYear(v)}catch{g=""}}if(/^\d{2}$/.test(D)){let v=parseInt(D)-1;try{if(w.value&&v<w.value.month||T.value&&v>T.value.month)throw Error("Check Fail");n.value.setMonth(v)}catch{D=""}}let b=g;D&&(b+="-"+D),M&&(b+="-"+M),s.target.value=b,u.value!=b&&(u.value=b)},U=s=>{const l=document.getElementById("nepali-calendar-"+_),r=document.getElementById("nepali-date-input-"+_);l&&!l.contains(s.target)&&r&&!r.contains(s.target)&&(d.value=!1,de(),document.removeEventListener("click",U),window.removeEventListener("scroll",V,!0),window.removeEventListener("resize",V),le(!0))},de=()=>{p.value=!1,h.value=!1,n.value=a.modelValue?new m(a.modelValue):new m},Qe=()=>{p.value=!1,h.value=!1,n.value=new m,i("update:modelValue",""),i("onSelect",""),te(!1,!0)};return e.onUnmounted(()=>{document.removeEventListener("click",U),window.removeEventListener("scroll",V,!0),window.removeEventListener("resize",V)}),(s,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["nepali-datepicker",a.class]),key:_,id:o.id,onFocusin:l[11]||(l[11]=r=>G()),tabindex:"0"},[e.createElementVNode("div",{class:e.normalizeClass(["calendar-input-div",o.modelValue?"calendar-input-contain-value":""])},[e.withDirectives(e.createElementVNode("input",{type:"text",class:e.normalizeClass(["calendar-input",a.inputClass]),onClick:l[0]||(l[0]=r=>G()),"onUpdate:modelValue":l[1]||(l[1]=r=>u.value=r),placeholder:o.placeholder,"aria-haspopup":"true",id:"nepali-date-input-"+_,onKeyup:l[2]||(l[2]=e.withKeys(r=>le(),["enter"])),onInput:He,readonly:!o.allowTyping,disabled:o.disabled},null,42,Ge),[[e.vModelText,u.value]]),e.createElementVNode("div",{class:e.normalizeClass(["calendar-input-icon",o.disabled?"":"calendar-icon"]),onClick:l[3]||(l[3]=e.withModifiers(r=>G(),["stop"]))},[!(d.value&&o.modelValue)||o.disabled?(e.openBlock(),e.createElementBlock("svg",Je,[...l[12]||(l[12]=[e.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)])])):e.createCommentVNode("",!0)],2),o.modelValue&&!o.disabled?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["calendar-input-icon",d.value?"":"calendar-clear-input"]),onClick:l[4]||(l[4]=e.withModifiers(r=>Qe(),["stop"]))},[...l[13]||(l[13]=[e.createElementVNode("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e.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)):e.createCommentVNode("",!0)],2),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"calendar-animation"},{default:e.withCtx(()=>[d.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["calendar",{show:d.value,"calendar-above":ie.value}]),id:"nepali-calendar-"+_,style:e.normalizeStyle([Te.value,{"user-select":"none"}]),ref_key:"calendarRef",ref:ye},[e.createElementVNode("div",et,[e.createElementVNode("div",tt,[e.createElementVNode("div",null,[e.createElementVNode("button",{class:"calendar__toggle_button",onClick:l[5]||(l[5]=r=>Se())},[...l[14]||(l[14]=[e.createElementVNode("i",{class:"calendar-icon-double-left"},null,-1)])]),!p.value&&!h.value?(e.openBlock(),e.createElementBlock("button",{key:0,class:"calendar__toggle_button",onClick:l[6]||(l[6]=r=>Ye())},[...l[15]||(l[15]=[e.createElementVNode("i",{class:"calendar-icon-left"},null,-1)])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",at,[o.monthSelect?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("a",lt,e.toDisplayString(n.value.format("MMMM")),1)),!p.value&&!h.value&&o.monthSelect?(e.openBlock(),e.createElementBlock("a",{key:1,class:"calendar__header_selector",onClick:e.withModifiers(Be,["stop"])},e.toDisplayString(n.value.format("MMMM")),1)):e.createCommentVNode("",!0),o.yearSelect?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("a",st,e.toDisplayString(n.value.format("YYYY")),1)),!h.value&&o.yearSelect?(e.openBlock(),e.createElementBlock("a",{key:3,class:"calendar__header_selector",onClick:e.withModifiers(Ee,["stop"])},e.toDisplayString(n.value.format("YYYY")),1)):e.createCommentVNode("",!0),h.value&&o.yearSelect?(e.openBlock(),e.createElementBlock("a",nt,e.toDisplayString(W.value[0])+" ~ "+e.toDisplayString(W.value[W.value.length-1]),1)):e.createCommentVNode("",!0)]),e.createElementVNode("div",null,[!p.value&&!h.value?(e.openBlock(),e.createElementBlock("button",{key:0,class:"calendar__toggle_button",onClick:l[7]||(l[7]=r=>Ce())},[...l[16]||(l[16]=[e.createElementVNode("i",{class:"calendar-icon-right"},null,-1)])])):e.createCommentVNode("",!0),e.createElementVNode("button",{class:"calendar__toggle_button",onClick:l[8]||(l[8]=r=>Ve())},[...l[17]||(l[17]=[e.createElementVNode("i",{class:"calendar-icon-double-right"},null,-1)])])])]),e.createElementVNode("div",rt,[!p.value&&!h.value?(e.openBlock(),e.createElementBlock("div",ot,[e.createElementVNode("div",it,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(ne),(r,g)=>(e.openBlock(),e.createElementBlock("div",{key:g,class:"calendar__weekday"},e.toDisplayString(r),1))),128))]),e.createElementVNode("div",yt,[N.value.prevRemainingDays>0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(N.value.prevMonth.days,(r,g)=>(e.openBlock(),e.createElementBlock("div",{key:g,class:e.normalizeClass(["calendar__day calendar__not_current_month",{calendar__disable_date:$(k(N.value.prevMonth,r)),calendar__not_current_month_saturday:ee(k(N.value.prevMonth,r))&&o.highlightSaturday}]),title:k(N.value.prevMonth,r).format("YYYY-MM-DD"),onClick:D=>K(k(N.value.prevMonth,r))},[e.createElementVNode("span",null,e.toDisplayString(r),1),o.miniEnglishDate?(e.openBlock(),e.createElementBlock("span",ut,e.toDisplayString(Z(k(N.value.currentMonth,r))),1)):e.createCommentVNode("",!0)],10,dt))),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(N.value.currentMonth.days,(r,g)=>(e.openBlock(),e.createElementBlock("div",{key:g,class:e.normalizeClass(["calendar__day",{calendar__selected:be(k(N.value.currentMonth,r)),calendar__today:xe(k(N.value.currentMonth,r)),calendar__disable_date:$(k(N.value.currentMonth,r)),calendar__saturday:ee(k(N.value.currentMonth,r))&&o.highlightSaturday}]),title:k(N.value.currentMonth,r).format("YYYY-MM-DD"),onClick:D=>K(k(N.value.currentMonth,r))},[e.createElementVNode("span",null,e.toDisplayString(r),1),o.miniEnglishDate?(e.openBlock(),e.createElementBlock("span",mt,e.toDisplayString(Z(k(N.value.currentMonth,r))),1)):e.createCommentVNode("",!0)],10,ct))),128)),N.value.remainingDays>0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(N.value.nextMonth.days,(r,g)=>(e.openBlock(),e.createElementBlock("div",{key:g,class:e.normalizeClass(["calendar__day calendar__not_current_month",{calendar__disable_date:$(k(N.value.nextMonth,r)),calendar__not_current_month_saturday:ee(k(N.value.nextMonth,r))&&o.highlightSaturday}]),title:k(N.value.nextMonth,r).format("YYYY-MM-DD"),onClick:D=>K(k(N.value.nextMonth,r))},[e.createElementVNode("span",null,e.toDisplayString(r),1),o.miniEnglishDate?(e.openBlock(),e.createElementBlock("span",vt,e.toDisplayString(Z(k(N.value.currentMonth,r))),1)):e.createCommentVNode("",!0)],10,ht))),128)):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0),p.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:"calendar__months",onClick:l[9]||(l[9]=e.withModifiers(()=>{},["stop"]))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(re),(r,g)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["calendar_month",{calendar__selected:_e(g)}]),onClick:D=>Fe(g)},e.toDisplayString(r),11,wt))),256))])):e.createCommentVNode("",!0),h.value?(e.openBlock(),e.createElementBlock("div",{key:2,class:"calendar__years",onClick:l[10]||(l[10]=e.withModifiers(()=>{},["stop"]))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(W.value,r=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["calendar__year",{calendar__selected:Ie(r)}]),onClick:g=>$e(r)},e.toDisplayString(r),11,gt))),256))])):e.createCommentVNode("",!0)])])],14,Ze)):e.createCommentVNode("",!0)]),_:1})]))],42,je))}}),Dt=(o,t)=>{const a=o.__vccOpts||o;for(const[i,n]of t)a[i]=n;return a},pe=Dt(ft,[["__scopeId","data-v-920abd7e"]]);exports.NepaliDatePicker=pe;exports.default=pe;