nepali-datepicker-vue2
Version:
A Vue 2 Nepali Datepicker
2 lines (1 loc) • 29.1 kB
JavaScript
"use strict";var O=Object.defineProperty;var $=(a,t,e)=>t in a?O(a,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[t]=e;var w=(a,t,e)=>$(a,typeof t!="symbol"?t+"":t,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});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,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}],E=0;i.forEach(a=>{a.totalDays=a.days.reduce((t,e)=>t+e,0),E+=a.totalDays,a.daysTillNow=E});var D=new Date(1943,3,14).getTime(),S=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],p=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],b=["आइतबार","सोमबार","मंगलबार","बुधबार","बिहिबार","शुक्रबार","शनिबार"],V=["आइत","सोम","मंगल","बुध","बिहि","शुक्र","शनि"],M=["Baisakh","Jestha","Asar","Shrawan","Bhadra","Aswin","Kartik","Mangsir","Poush","Magh","Falgun","Chaitra"],P=["Bai","Jes","Asa","Shr","Bhd","Asw","Kar","Man","Pou","Mag","Fal","Cha"],I=["बैशाख","जेठ","असार","श्रावण","भाद्र","आश्विन","कार्तिक","मंसिर","पौष","माघ","फाल्गुण","चैत्र"],A=["बै","जे","अ","श्रा","भा","आ","का","मं","पौ","मा","फा","चै"],Q=["०","१","२","३","४","५","६","७","८","९"];function v(a){return a<10?`0${a}`:`${a}`}function m(a){let t="";for(let e=0;e<a.length;e+=1)t+=Q[a.charCodeAt(e)-48];return t}function x(a){return t=>a<=2?String(t.getYear()).substring(2):a===3?String(t.getYear()).substring(1):String(t.getYear())}function R(a){return t=>a<=2?m(String(t.getYear()).substring(2)):m(a===3?String(t.getYear()).substring(1):String(t.getYear()))}function H(a){return t=>a===1?String(t.getMonth()+1):a===2?v(t.getMonth()+1):a===3?P[t.getMonth()]:M[t.getMonth()]}function B(a){return t=>a===1?m(String(t.getMonth()+1)):a===2?m(v(t.getMonth()+1)):a===3?A[t.getMonth()]:I[t.getMonth()]}function L(a){return t=>a===1?String(t.getDate()):a===2?v(t.getDate()):a===3?p[t.getDay()]:S[t.getDay()]}function W(a){return t=>a===1?m(String(t.getDate())):a===2?m(v(t.getDate())):a===3?V[t.getDay()]:b[t.getDay()]}function C(a){return()=>a}var Y={Y:x,y:R,M:H,m:B,D:L,d:W};function j(a){return a in Y}function G(a){let t=!1,e="",s="",r=0,n=[];for(let y=0;y<a.length;y+=1){let d=a[y];if(d===s){r+=1;continue}if(s!==""&&(n.push(Y[s](r)),s="",r=0),d==='"'){t=!t;continue}!j(d)||t?e+=d:(e&&(n.push(C(e)),e=""),s=d,r=1)}return e?n.push(C(e)):s&&n.push(Y[s](r)),n}function K(a,t){return G(t).map(e=>e(a)).join("")}function k(a){let t=a.split(/[-./]/,3),[e,s=1,r=1]=t.map(y=>{let d=parseInt(y,10);if(Number.isNaN(d))throw new Error("Invalid date");return d});if(e<i[0].year||e>=i[0].year+i.length)throw new Error("Nepal year out of range");if(s<1||s>12)throw new Error("Invalid nepali month must be between 1 - 12");let n=i[e-i[0].year].days[s-1];if(r<1||r>n)throw new Error(`Invalid nepali date must be between 1 - ${n} in ${e} ${s}`);return[e,s-1,r]}var o=class l{constructor(...t){w(this,"timestamp");w(this,"year");w(this,"month");w(this,"day");if(t.length===0)this.setEnglishDate(new Date);else if(t.length===1){let e=t[0];if(typeof e=="object")if(e instanceof Date)this.setEnglishDate(e);else if(e instanceof l)this.timestamp=e.timestamp,this.year=e.year,this.month=e.month,this.day=e.day;else throw new Error("Invalid date argument");else if(typeof e=="string")this.set(...k(e));else if(typeof e=="number")this.setEnglishDate(new Date(e));else throw new Error("Invalid date argument")}else if(t.length===3)this.set(t[0],t[1],t[2]);else throw new Error("Invalid argument syntax")}setEnglishDate(t){this.timestamp=t;let e=Math.floor((this.timestamp.getTime()-D)/864e5),s=Math.floor(e/366);for(;e>=i[s].daysTillNow;)s+=1;let r=i[s-1]?i[s-1].daysTillNow:0;e-=r;let n=i[s];for(this.year=n.year,this.month=0;e>=n.days[this.month];)this.month+=1,e-=n.days[this.month-1];this.day=e+1}getEnglishDate(){return this.timestamp}parse(t){this.set(...k(t))}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(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)}set(t,e,s){let r=t+Math.floor(e/12)-i[0].year,n=i[r],y=n.daysTillNow-n.totalDays,d=e%12,u=d<0?12+d:d;for(let h=0;h<u;h+=1)y+=n.days[h];y+=s-1,this.setEnglishDate(new Date(D+y*864e5))}format(t){return K(this,t)}toString(){return`${this.year}/${this.month+1}/${this.day}`}addDays(t){let e=new Date(this.timestamp.getTime()+t*864e5);return new l(e)}addMonths(t){let e=this.year,s=this.month+t;e+=Math.floor(s/12),s=s%12,s<0&&(s+=12,e-=1);let r=e-i[0].year;if(r<0||r>=i.length)throw new Error("Resulting date is out of supported range");let n=i[r].days[s],y=Math.min(this.day,n);return new l(e,s,y)}addYears(t){let e=this.year+t;if(e<i[0].year||e>=i[0].year+i.length)throw new Error("Resulting date is out of supported range");let s=e-i[0].year;if(this.month===11&&this.day===29){let r=i[s].days[11];if(r<29)return new l(e,11,r)}return new l(e,this.month,this.day)}static minimum(){return new Date(D)}static maximum(){return new Date(D+i[i.length-1].daysTillNow*864e5)}daysInMonth(){let t=this.year-i[0].year;return i[t].days[this.month]}isLeapYear(){let t=this.year-i[0].year;return i[t].totalDays===366}getWeeksInMonth(){let t=new l(this.year,this.month,1).getDay(),e=this.daysInMonth();return Math.ceil((t+e)/7)}diff(t,e){switch(e){case"day":return Math.floor((this.timestamp.getTime()-t.timestamp.getTime())/864e5);case"month":let s=this.year-t.year,r=this.month-t.month;return s*12+r;case"year":return this.year-t.year;default:throw new Error("Invalid unit for diff calculation")}}startOfDay(){let t=new Date(this.timestamp);return t.setHours(0,0,0,0),new l(t)}endOfDay(){let t=new Date(this.timestamp);return t.setHours(23,59,59,999),new l(t)}startOfWeek(t=0){if(t<0||t>6||!Number.isInteger(t))throw new Error("startOfWeek must be an integer between 0 and 6");let e=(this.getDay()-t+7)%7;return this.clone().startOfDay().addDays(-e)}endOfWeek(t=0){return this.startOfWeek(t).addDays(6).endOfDay()}startOfMonth(){return new l(this.year,this.month,1)}endOfMonth(){let t=this.daysInMonth();return new l(this.year,this.month,t).endOfDay()}startOfYear(){return new l(this.year,0,1)}endOfYear(){let t=this.year-i[0].year,e=i[t].days[11];return new l(this.year,11,e).endOfDay()}static getMonthName(t,e=!1,s=!1){if(t<0||t>11)throw new Error("Invalid month index, must be between 0-11");let r="";return s?r=e?A[t]:I[t]:r=e?P[t]:M[t],r}static getDayName(t,e=!1,s=!1){if(t<0||t>6)throw new Error("Invalid day index, must be between 0-6");let r="";return s?r=e?V[t]:b[t]:r=e?p[t]:S[t],r}static isValid(t,e,s){try{if(t<i[0].year||t>=i[0].year+i.length||e<0||e>11)return!1;let r=t-i[0].year,n=i[r].days[e];return!(s<1||s>n)}catch{return!1}}isValid(){return l.isValid(this.year,this.month,this.day)}static getCalendarDays(t,e){if(!l.isValid(t,e,1))throw new Error("Invalid year or month");let s={year:0,month:0,days:[]},r={year:0,month:0,days:[]},n={year:0,month:0,days:[]},y=t-i[0].year,d=new l(t,e,1).getDay(),u=i[y].days[e];r.year=t,r.month=e;let h=e-1,g=t,_=e+1,f=t;if(h<0&&(h=11,g--),g>i[0].year&&(s.year=g,s.month=h),g>=i[0].year&&d>0){let c=g-i[0].year,F=i[c].days[h];for(let N=0;N<d;N++)s.days.push(F-d+N+1)}for(let c=1;c<=u;c++)r.days.push(c);_>11&&(_=0,f++),f<i[0].year+i.length&&(n.year=f,n.month=_);let T=42-d-r.days.length;if(f<i[0].year+i.length&&T>0)for(let c=1;c<=T;c++)n.days.push(c);return{prevRemainingDays:d,prevMonth:s,currentMonth:r,nextMonth:n,remainingDays:T}}clone(){return new l(this)}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,e){switch(e){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,e){if(t<1||t>4||!Number.isInteger(t))throw new Error("Quarter must be an integer between 1 and 4");let s=e??new l().getYear(),r=(t-1)*3,n=new l(s,r,1),y=new l(s,r+2,1).endOfMonth();return{start:n,end:y}}getCurrentQuarter(){return Math.floor(this.month/3)+1}static getQuarters(t){let e=t??new l().getYear();return{Q1:l.getQuarter(1,e),Q2:l.getQuarter(2,e),Q3:l.getQuarter(3,e),Q4:l.getQuarter(4,e)}}static getCurrentFiscalYear(){let t=new l,e=t.getYear();return t.getMonth()<3?e-1:e}static getFiscalYearQuarter(t,e){if(t<1||t>4||!Number.isInteger(t))throw new Error("Quarter must be an integer between 1 and 4");let s=e??l.getCurrentFiscalYear(),r=s,n=(t-1)*3+3;t===4&&(r=s+1,n=0),n>11&&(r++,n-=12);let y=n+2,d=r;y>11&&(d++,y-=12);let u=new l(r,n,1),h=new l(d,y,1).endOfMonth();return{start:u,end:h}}getCurrentFiscalYearQuarter(){let t=this.getMonth();return t>=3&&t<=5?1:t>=6&&t<=8?2:t>=9&&t<=11?3:4}getCurrentFiscalYearQuarterDates(){let t=this.getCurrentFiscalYearQuarter(),e=l.getCurrentFiscalYear();return l.getFiscalYearQuarter(t,e)}static getFiscalYearQuarters(t){let e=t??l.getCurrentFiscalYear();return{Q1:l.getFiscalYearQuarter(1,e),Q2:l.getFiscalYearQuarter(2,e),Q3:l.getFiscalYearQuarter(3,e),Q4:l.getFiscalYearQuarter(4,e)}}};function z(a,t,e,s,r,n,y,d){var u=typeof a=="function"?a.options:a;return t&&(u.render=t,u.staticRenderFns=e,u._compiled=!0),u._scopeId="data-v-"+n,{exports:a,options:u}}const q={name:"NepaliDatepicker",props:{value:{type:String,default:""},yearSelect:{type:Boolean,default:!0},monthSelect:{type:Boolean,default:!0},classValue:{type:String,default:""},placeholder:{type:String,default:""}},data(){return{MONTH_EN:M,WEEK_SHORT_EN:p,date:this.value?new o(this.value):new o,visible:!1,formatedValue:this.value,endDay:null,previousEndDay:null,comingEndDay:null,startMonthValue:null,yearValue:this.value?new o(this.value).getYear():new o().getYear(),monthValue:this.value?new o(this.value).getMonth():new o().getMonth(),showMonth:!1,showYear:!1,startingYear:i[0].year,endingYear:i.length+i[0].year-1,currentYearPage:0,YEARS_PER_PAGE:10,date_id:this.generateRandomId()}},computed:{modelValue:{get(){return this.value}},prevDays(){return this.date.year==this.startingYear&&this.date.month==0?[]:(i.forEach(a=>{let t=this.date.year,e=this.date.month-1;this.days[0].month==0&&(t=t-1,e=11),a.year===t&&a.days.forEach((s,r)=>{r===e&&(this.previousEndDay=s)})}),Array(this.previousEndDay).fill(null).map((a,t)=>new o(this.date.year,this.date.month-1,t+1)).slice(-(this.remainingStartDays?this.remainingStartDays:0)))},days(){return i.forEach(a=>{a.year===this.date.year&&a.days.forEach((t,e)=>{e===this.date.month&&(this.endDay=t)})}),Array(this.endDay).fill(null).map((a,t)=>new o(this.date.year,this.date.month,t+1))},comingDays(){return this.date.year==this.endingYear&&this.date.month==11?[]:(i.forEach(a=>{let t=this.date.year,e=this.date.month+1;this.days[0].month==11&&(t=t+1,e=0),a.year===t&&a.days.forEach((s,r)=>{r===e&&(this.comingEndDay=s)})}),Array(this.comingEndDay).fill(null).map((a,t)=>new o(this.date.year,this.date.month+1,t+1)).slice(0,this.remainingEndDays))},remainingStartDays(){const a=new o(this.yearValue,this.monthValue,1);return p.forEach((t,e)=>{a.format("DDD")==="Su"?this.startMonthValue=7:a.format("DDD")===t&&(this.startMonthValue=e)}),this.startMonthValue},remainingEndDays(){return 42-this.days.length-(this.remainingStartDays?this.remainingStartDays:0)},currentPageYears(){const a=i.map(e=>e.year),t=this.currentYearPage*this.YEARS_PER_PAGE;return a.slice(t,t+this.YEARS_PER_PAGE)},maxYearPages(){return Math.ceil(i.length/this.YEARS_PER_PAGE)}},watch:{value(a){this.formatedValue=a,this.yearValue=a?new o(a).getYear():new o().getYear(),this.monthValue=a?new o(a).getMonth():new o().getMonth(),this.date=a?new o(a):new o}},methods:{generateRandomId(){return this.random(3)+this.random(3)+this.random(3)},random(a){let t="";const e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",s=e.length;let r=0;for(;r<a;)t+=e.charAt(Math.floor(Math.random()*s)),r+=1;return t},toggleYear(){if(this.showYear=!this.showYear,this.showMonth=!1,this.showYear){const a=this.date.year,t=i.findIndex(e=>e.year===a);this.currentYearPage=Math.floor(t/this.YEARS_PER_PAGE)}},toggleCalendar(a,t){a?this.visible=!0:t?this.visible=!1:this.visible=!this.visible,this.visible?document.addEventListener("click",this.handleClickOutside):(document.removeEventListener("click",this.handleClickOutside),this.reset())},toggleMonth(){this.showMonth=!this.showMonth,this.showYear=!1},next(){let a=this.date.month+1,t=this.date.year;a>11&&(t++,a=0),t+1<this.startingYear||t>this.endingYear||(this.setMonthAndYear(a,t),this.date=new o(t,a,1))},nextYear(){if(this.showYear)this.currentYearPage<this.maxYearPages-1&&this.currentYearPage++;else{let a=this.date.month,t=this.date.year+1;t<this.startingYear||t>this.endingYear||(this.setMonthAndYear(a,t),this.date=new o(t,a,1))}},prev(){let a=this.date.month-1,t=this.date.year;a<0&&(t--,a=11),t<this.startingYear||t>this.endingYear||(this.setMonthAndYear(a,t),this.date=new o(t,a,1))},prevYear(){if(this.showYear)this.currentYearPage>0&&this.currentYearPage--;else{let a=this.date.month,t=this.date.year-1;t<this.startingYear||t>this.endingYear||(this.setMonthAndYear(a,t),this.date=new o(t,a,1))}},activeDay(a){return this.modelValue?new o(this.modelValue).getTime()===a.getTime():!1},activeMonth(a){return this.date.month==a},activeYear(a){return this.date.year==a},checkToday(a){const t=new o;return a.day===t.day&&a.year===t.year&&a.month===t.month},setMonthAndYear(a,t){this.monthValue=a,this.yearValue=t},selectMonth(a){this.monthValue=a,this.date.setMonth(a),this.showMonth=!1},selectYear(a){this.yearValue=a,this.date.setYear(a),this.showYear=!1,this.monthSelect&&(this.showMonth=!0)},select(a,t){this.date=a,this.formatedValue=this.date.format("YYYY-MM-DD"),this.$emit("input",this.formatedValue),this.$emit("onSelect",this.formatedValue),t==null&&!t&&this.toggleCalendar()},updateInputtedValue(a){/^\d{4}-\d{2}-\d{2}$/.test(this.formatedValue)||(this.formatedValue=this.modelValue);try{const t=new o(this.formatedValue);this.select(t,a)}catch{this.formatedValue=this.modelValue}},handleClickOutside(a){const t=document.getElementById("nepali-calendar-"+this.date_id),e=document.getElementById("nepali-date-input-"+this.date_id);if(!t||!e)return;const s=t.contains(a.target),r=e.contains(a.target),n=a.target,y=n.classList.contains("calendar_month")||n.classList.contains("calendar__year")||n.closest(".calendar__months")||n.closest(".calendar__years");!s&&!r&&!y&&(this.visible=!1,this.reset(),this.formatedValue!=this.modelValue&&this.updateInputtedValue(!0),document.removeEventListener("click",this.handleClickOutside))},reset(){this.showMonth=!1,this.showYear=!1,this.date=this.modelValue?new o(this.modelValue):new o},resetClear(){this.showMonth=!1,this.showYear=!1,this.date=new o,this.$emit("input",""),this.$emit("onSelect",""),this.toggleCalendar(!1,!0)}},beforeDestroy(){document.removeEventListener("click",this.handleClickOutside)}};var J=function(){var t=this,e=t._self._c;return e("div",{key:t.date_id,staticClass:"nepali-datepicker",class:this.classValue},[e("div",{staticClass:"calendar-input-div",class:t.modelValue?"calendar-input-contain-value":""},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.formatedValue,expression:"formatedValue"}],staticClass:"calendar-input",attrs:{type:"text",placeholder:t.placeholder,"aria-haspopup":"true",id:"nepali-date-input-"+t.date_id},domProps:{value:t.formatedValue},on:{click:function(s){return t.toggleCalendar(!0)},keyup:function(s){return!s.type.indexOf("key")&&t._k(s.keyCode,"enter",13,s.key,"Enter")?null:t.updateInputtedValue()},input:function(s){s.target.composing||(t.formatedValue=s.target.value)}}}),e("div",{staticClass:"calendar-input-icon calender-icon",on:{click:function(s){return s.stopPropagation(),t.toggleCalendar(!0)}}},[t.visible&&t.modelValue?t._e():e("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024",width:"1em",height:"1em"}},[e("path",{attrs:{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"}})])]),t.modelValue?e("div",{staticClass:"calendar-input-icon",class:t.visible?"":"calendar-clear-input",on:{click:function(s){return s.stopPropagation(),t.resetClear()}}},[e("svg",{attrs:{width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"}},[e("path",{attrs:{id:"Vector",d:"M18 18L12 12M12 12L6 6M12 12L18 6M12 12L6 18","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}})])]):t._e()]),e("transition",{attrs:{name:"calendar-animation"}},[t.visible?e("div",{class:["calendar",{show:t.visible}],staticStyle:{"user-select":"none"},attrs:{id:"nepali-calendar-"+t.date_id}},[e("div",{staticClass:"calendar__body"},[e("div",{staticClass:"calendar__head"},[e("div",[e("button",{staticClass:"calendar__toggle_button",on:{click:function(s){return t.prevYear()}}},[e("i",{staticClass:"calendar-icon-double-left"})]),!t.showMonth&&!t.showYear?e("button",{staticClass:"calendar__toggle_button",on:{click:function(s){return t.prev()}}},[e("i",{staticClass:"calendar-icon-left"})]):t._e()]),e("div",{staticClass:"calendar__header_label"},[t.monthSelect?t._e():e("a",[t._v(t._s(t.date.format("MMMM")))]),!t.showMonth&&!t.showYear&&t.monthSelect?e("a",{staticClass:"calendar__header_selector",on:{click:function(s){return s.stopPropagation(),t.toggleMonth.apply(null,arguments)}}},[t._v(t._s(t.date.format("MMMM")))]):t._e(),t.yearSelect?t._e():e("a",[t._v(t._s(t.date.format("YYYY")))]),!t.showYear&&t.yearSelect?e("a",{staticClass:"calendar__header_selector",on:{click:function(s){return s.stopPropagation(),t.toggleYear.apply(null,arguments)}}},[t._v(t._s(t.date.format("YYYY")))]):t._e(),t.showYear&&t.yearSelect?e("a",[t._v(" "+t._s(t.currentPageYears[0])+" ~ "+t._s(t.currentPageYears[t.currentPageYears.length-1]))]):t._e()]),e("div",[!t.showMonth&&!t.showYear?e("button",{staticClass:"calendar__toggle_button",on:{click:function(s){return t.next()}}},[e("i",{staticClass:"calendar-icon-right"})]):t._e(),e("button",{staticClass:"calendar__toggle_button",on:{click:function(s){return t.nextYear()}}},[e("i",{staticClass:"calendar-icon-double-right"})])])]),e("div",{staticClass:"calendar__container"},[!t.showMonth&&!t.showYear?e("div",[e("div",{staticClass:"calendar__weeks"},t._l(t.WEEK_SHORT_EN,function(s,r){return e("div",{key:r,staticClass:"calendar__weekday"},[t._v(" "+t._s(s)+" ")])}),0),e("div",{staticClass:"calendar__days"},[t._l(t.remainingStartDays,function(s){return t.date.year==t.startingYear&&t.date.month==0?e("div",{key:s,staticClass:"calendar__day_spacer"}):t._e()}),t._l(t.prevDays,function(s,r){return t.remainingStartDays?e("div",{key:r+"-prev",staticClass:"calendar__day not_current_month",attrs:{title:`${s.year}-${s.month+1}-${s.day}`},on:{click:function(n){return t.select(s)}}},[e("span",[t._v(t._s(s.day))])]):t._e()}),t._l(t.days,function(s,r){return e("div",{key:r+"-current",staticClass:"calendar__day",class:{selected:t.activeDay(s),today:t.checkToday(s)},attrs:{title:`${s.year}-${s.month+1}-${s.day}`},on:{click:function(n){return t.select(s)}}},[e("span",[t._v(t._s(s.day))])])}),t._l(t.comingDays,function(s,r){return t.remainingStartDays?e("div",{key:r+"-new",staticClass:"calendar__day not_current_month",attrs:{title:`${s.year}-${s.month+1}-${s.day}`},on:{click:function(n){return t.select(s)}}},[e("span",[t._v(t._s(s.day))])]):t._e()}),t._l(t.remainingEndDays,function(s){return t.date.year==t.endingYear&&t.date.month==11?e("div",{key:s,staticClass:"calendar__day_spacer"}):t._e()})],2)]):t._e(),t.showMonth?e("div",{staticClass:"calendar__months",on:{click:function(s){s.stopPropagation()}}},t._l(t.MONTH_EN,function(s,r){return e("div",{staticClass:"calendar_month",class:{selected:t.activeMonth(r)},on:{click:function(n){return t.selectMonth(r)}}},[t._v(" "+t._s(s)+" ")])}),0):t._e(),t.showYear?e("div",{staticClass:"calendar__years",on:{click:function(s){s.stopPropagation()}}},t._l(t.currentPageYears,function(s){return e("div",{staticClass:"calendar__year",class:{selected:t.activeYear(s)},on:{click:function(r){return t.selectYear(s)}}},[t._v(" "+t._s(s)+" ")])}),0):t._e()])])]):t._e()])],1)},U=[],X=z(q,J,U,!1,null,"7d17e911");const Z=X.exports;exports.NepaliDatePicker=Z;