UNPKG

nepali-datepicker-vue

Version:

A Vue 3 Nepali Datepicker with TypeScript Support

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