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