@rato-guras-technology/nepali-date-picker
Version:
A customizable Nepali (Bikram Sambat) date picker
1 lines • 58.8 kB
JavaScript
var t=function(){return t=Object.assign||function(t){for(var e,n=1,a=arguments.length;n<a;n++)for(var o in e=arguments[n])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},t.apply(this,arguments)};"function"==typeof SuppressedError&&SuppressedError;var e={1970:[31,31,32,31,31,31,30,29,30,29,30,30],1971:[31,31,32,31,32,30,30,29,30,29,30,30],1972:[31,32,31,32,31,30,30,30,29,29,30,31],1973:[30,32,31,32,31,30,30,30,29,30,29,31],1974:[31,31,32,31,31,31,30,29,30,29,30,30],1975:[31,31,32,32,31,30,30,29,30,29,30,30],1976:[31,32,31,32,31,30,30,30,29,29,30,31],1977:[30,32,31,32,31,31,29,30,29,30,29,31],1978:[31,31,32,31,31,31,30,29,30,29,30,30],1979:[31,31,32,32,31,30,30,29,30,29,30,30],1980:[31,32,31,32,31,30,30,30,29,29,30,31],1981:[31,31,31,32,31,31,29,30,30,29,30,30],1982:[31,31,32,31,31,31,30,29,30,29,30,30],1983:[31,31,32,32,31,30,30,29,30,29,30,30],1984:[31,32,31,32,31,30,30,30,29,29,30,31],1985:[31,31,31,32,31,31,29,30,30,29,30,30],1986:[31,31,32,31,31,31,30,29,30,29,30,30],1987:[31,32,31,32,31,30,30,29,30,29,30,30],1988:[31,32,31,32,31,30,30,30,29,29,30,31],1989:[31,31,31,32,31,31,30,29,30,29,30,30],1990:[31,31,32,31,31,31,30,29,30,29,30,30],1991:[31,32,31,32,31,30,30,30,29,29,30,30],1992:[31,32,31,32,31,30,30,30,29,30,29,31],1993:[31,31,31,32,31,31,30,29,30,29,30,30],1994:[31,31,32,31,31,31,30,29,30,29,30,30],1995:[31,32,31,32,31,30,30,30,29,29,30,30],1996:[31,32,31,32,31,30,30,30,29,30,29,31],1997:[31,31,32,31,31,31,30,29,30,29,30,30],1998:[31,31,32,31,31,31,30,29,30,29,30,30],1999:[31,32,31,32,31,30,30,30,29,29,30,31],2e3:[30,32,31,32,31,30,30,30,29,30,29,31],2001:[31,31,32,31,31,31,30,29,30,29,30,30],2002:[31,31,32,32,31,30,30,29,30,29,30,30],2003:[31,32,31,32,31,30,30,30,29,29,30,31],2004:[30,32,31,32,31,30,30,30,29,30,29,31],2005:[31,31,32,31,31,31,30,29,30,29,30,30],2006:[31,31,32,32,31,30,30,29,30,29,30,30],2007:[31,32,31,32,31,30,30,30,29,29,30,31],2008:[31,31,31,32,31,31,29,30,30,29,29,31],2009:[31,31,32,31,31,31,30,29,30,29,30,30],2010:[31,31,32,32,31,30,30,29,30,29,30,30],2011:[31,32,31,32,31,30,30,30,29,29,30,31],2012:[31,31,31,32,31,31,29,30,30,29,30,30],2013:[31,31,32,31,31,31,30,29,30,29,30,30],2014:[31,31,32,32,31,30,30,29,30,29,30,30],2015:[31,32,31,32,31,30,30,30,29,29,30,31],2016:[31,31,31,32,31,31,29,30,30,29,30,30],2017:[31,31,32,31,31,31,30,29,30,29,30,30],2018:[31,32,31,32,31,30,30,29,30,29,30,30],2019:[31,32,31,32,31,30,30,30,29,30,29,31],2020:[31,31,31,32,31,31,30,29,30,29,30,30],2021:[31,31,32,31,31,31,30,29,30,29,30,30],2022:[31,32,31,32,31,30,30,30,29,29,30,30],2023:[31,32,31,32,31,30,30,30,29,30,29,31],2024:[31,31,31,32,31,31,30,29,30,29,30,30],2025:[31,31,32,31,31,31,30,29,30,29,30,30],2026:[31,32,31,32,31,30,30,30,29,29,30,31],2027:[30,32,31,32,31,30,30,30,29,30,29,31],2028:[31,31,32,31,31,31,30,29,30,29,30,30],2029:[31,31,32,31,32,30,30,29,30,29,30,30],2030:[31,32,31,32,31,30,30,30,29,29,30,31],2031:[30,32,31,32,31,30,30,30,29,30,29,31],2032:[31,31,32,31,31,31,30,29,30,29,30,30],2033:[31,31,32,32,31,30,30,29,30,29,30,30],2034:[31,32,31,32,31,30,30,30,29,29,30,31],2035:[30,32,31,32,31,31,29,30,30,29,29,31],2036:[31,31,32,31,31,31,30,29,30,29,30,30],2037:[31,31,32,32,31,30,30,29,30,29,30,30],2038:[31,32,31,32,31,30,30,30,29,29,30,31],2039:[31,31,31,32,31,31,29,30,30,29,30,30],2040:[31,31,32,31,31,31,30,29,30,29,30,30],2041:[31,31,32,32,31,30,30,29,30,29,30,30],2042:[31,32,31,32,31,30,30,30,29,29,30,31],2043:[31,31,31,32,31,31,29,30,30,29,30,30],2044:[31,31,32,31,31,31,30,29,30,29,30,30],2045:[31,32,31,32,31,30,30,29,30,29,30,30],2046:[31,32,31,32,31,30,30,30,29,29,30,31],2047:[31,31,31,32,31,31,30,29,30,29,30,30],2048:[31,31,32,31,31,31,30,29,30,29,30,30],2049:[31,32,31,32,31,30,30,30,29,29,30,30],2050:[31,32,31,32,31,30,30,30,29,30,29,31],2051:[31,31,31,32,31,31,30,29,30,29,30,30],2052:[31,31,32,31,31,31,30,29,30,29,30,30],2053:[31,32,31,32,31,30,30,30,29,29,30,30],2054:[31,32,31,32,31,30,30,30,29,30,29,31],2055:[31,31,32,31,31,31,30,29,30,29,30,30],2056:[31,31,32,31,32,30,30,29,30,29,30,30],2057:[31,32,31,32,31,30,30,30,29,29,30,31],2058:[30,32,31,32,31,30,30,30,29,30,29,31],2059:[31,31,32,31,31,31,30,29,30,29,30,30],2060:[31,31,32,32,31,30,30,29,30,29,30,30],2061:[31,32,31,32,31,30,30,30,29,29,30,31],2062:[30,32,31,32,31,31,29,30,29,30,29,31],2063:[31,31,32,31,31,31,30,29,30,29,30,30],2064:[31,31,32,32,31,30,30,29,30,29,30,30],2065:[31,32,31,32,31,30,30,30,29,29,30,31],2066:[31,31,31,32,31,31,29,30,30,29,29,31],2067:[31,31,32,31,31,31,30,29,30,29,30,30],2068:[31,31,32,32,31,30,30,29,30,29,30,30],2069:[31,32,31,32,31,30,30,30,29,29,30,31],2070:[31,31,31,32,31,31,29,30,30,29,30,30],2071:[31,31,32,31,31,31,30,29,30,29,30,30],2072:[31,32,31,32,31,30,30,29,30,29,30,30],2073:[31,32,31,32,31,30,30,30,29,29,30,31],2074:[31,31,31,32,31,31,30,29,30,29,30,30],2075:[31,31,32,31,31,31,30,29,30,29,30,30],2076:[31,32,31,32,31,30,30,30,29,29,30,30],2077:[31,32,31,32,31,30,30,30,29,30,29,31],2078:[31,31,31,32,31,31,30,29,30,29,30,30],2079:[31,31,32,31,31,31,30,29,30,29,30,30],2080:[31,32,31,32,31,30,30,30,29,29,30,30],2081:[31,32,31,32,31,30,30,30,29,30,29,31],2082:[31,31,32,31,31,31,30,29,30,29,30,30],2083:[31,31,32,31,31,31,30,29,30,29,30,30],2084:[31,31,32,31,31,30,30,30,29,30,30,30],2085:[31,32,31,32,30,31,30,30,29,30,30,30],2086:[30,32,31,32,31,30,30,30,29,30,30,30],2087:[31,31,32,31,31,31,30,30,29,30,30,30],2088:[30,31,32,32,30,31,30,30,29,30,30,30],2089:[30,32,31,32,31,30,30,30,29,30,30,30],2090:[30,32,31,32,31,30,30,30,29,30,30,30],2091:[31,31,32,31,31,31,30,30,29,30,30,30],2092:[30,31,32,32,31,30,30,30,29,30,30,30],2093:[30,32,31,32,31,30,30,30,29,30,30,30],2094:[31,31,32,31,31,30,30,30,29,30,30,30],2095:[31,31,32,31,31,31,30,29,30,30,30,30],2096:[30,31,32,32,31,30,30,29,30,29,30,30],2097:[31,32,31,32,31,30,30,30,29,30,30,30],2098:[31,31,32,31,31,31,29,30,29,30,29,31],2099:[31,31,32,31,31,31,30,29,29,30,30,30]},n=function(){function t(e,n,a){e=t.getValidYear(e),this.validateDate(e,n,a),this._year=e,this._month=n,this._day=a}return t.getValidYear=function(t){return t<this.MIN_YEAR?(console.warn("Year ".concat(t," is below minimum supported year ").concat(this.MIN_YEAR,". Using ").concat(this.MIN_YEAR," instead.")),this.MIN_YEAR):t>this.MAX_YEAR?(console.warn("Year ".concat(t," is above maximum supported year ").concat(this.MAX_YEAR,". Using ").concat(this.MAX_YEAR," instead.")),this.MAX_YEAR):t},t.fromGregorian=function(e){var n={year:e.getFullYear(),month:e.getMonth(),day:e.getDate()},a=this.convertToNepali(n);return new t(this.getValidYear(a.year),a.month,a.day)},t.today=function(){var e=this.fromGregorian(new Date),n=this.getValidYear(e.year);return n!==e.year?new t(n,e.month,e.day):e},t.prototype.toGregorian=function(){var e=t.convertToGregorian({year:this._year,month:this._month,day:this._day});return new Date(e.year,e.month,e.day)},t.prototype.toObject=function(){return{year:this._year,month:this._month,day:this._day}},t.prototype.format=function(t){void 0===t&&(t="YYYY-MM-DD");var e=this.toGregorian().getDay();return t.replace("YYYY",this._year.toString()).replace("YY",(this._year%100).toString().padStart(2,"0")).replace("MM",(this._month+1).toString().padStart(2,"0")).replace("M",(this._month+1).toString()).replace("DD",this._day.toString().padStart(2,"0")).replace("D",this._day.toString()).replace("MMMM",["बैशाख","जेठ","असार","श्रावण","भदौ","असोज","कार्तिक","मंसिर","पुष","माघ","फाल्गुन","चैत्र"][this._month]).replace("MMM",["Baisakh","Jestha","Asar","Shrawan","Bhadra","Ashwin","Kartik","Mangsir","Poush","Magh","Falgun","Chaitra"][this._month]).replace("dddd",["आइतबार","सोमबार","मंगलबार","बुधबार","बिहिबार","शुक्रबार","शनिबार"][e]).replace("ddd",["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"][e])},t.prototype.formatNepali=function(t){void 0===t&&(t="YYYY-MM-DD");var e=["०","१","२","३","४","५","६","७","८","९"];return this.format(t).replace(/[0-9]/g,(function(t){return e[Number.parseInt(t)]}))},t.getDaysInMonth=function(t,n){return t=this.getValidYear(t),this.validateYearMonth(t,n),e[t][n]},t.prototype.validateDate=function(n,a,o){if(t.validateYearMonth(n,a),o<1||o>e[n][a])throw new Error("Invalid day ".concat(o," for year ").concat(n,", month ").concat(a))},t.validateYearMonth=function(t,n){if(t<this.MIN_YEAR||t>this.MAX_YEAR)throw new Error("Year must be between ".concat(this.MIN_YEAR," and ").concat(this.MAX_YEAR));if(n<0||n>11)throw new Error("Month must be between 0 and 11");if(!e[t])throw new Error("Calendar data not available for year ".concat(t))},t.convertToNepali=function(t){for(var n=new Date(Date.UTC(t.year,t.month,t.day)),a=new Date(Date.UTC(this.REF_GREGORIAN_DATE.getFullYear(),this.REF_GREGORIAN_DATE.getMonth(),this.REF_GREGORIAN_DATE.getDate())),o=n.getTime()-a.getTime(),i=Math.round(o/864e5),r=this.REF_NEPALI_DATE.year,s=this.REF_NEPALI_DATE.month,c=this.REF_NEPALI_DATE.day,l=i;l>0;){if(!e[r]){if(r>this.MAX_YEAR){console.warn("Calendar data not available for year ".concat(r,". Using data from year ").concat(this.MAX_YEAR," instead.")),r=this.MAX_YEAR,s=0,c=1;break}if(r<this.MIN_YEAR){console.warn("Calendar data not available for year ".concat(r,". Using data from year ").concat(this.MIN_YEAR," instead.")),r=this.MIN_YEAR,s=0,c=1;break}return console.error("Calendar data not available for year ".concat(r)),{year:this.MIN_YEAR,month:0,day:1}}var d=e[r][s];if(l>=d-c+1){if(l-=d-c+1,c=1,++s>11&&(s=0,++r>this.MAX_YEAR)){console.warn("Calendar data not available for year ".concat(r,". Using data from year ").concat(this.MAX_YEAR," instead.")),r=this.MAX_YEAR;break}}else c+=l,l=0}return{year:r,month:s,day:c}},t.convertToGregorian=function(t){t.year=this.getValidYear(t.year);for(var n=0,a=this.REF_NEPALI_DATE.year;a<t.year;a++)if(e[a])for(var o=0;o<12;o++)n+=e[a][o];else console.warn("Calendar data not available for year ".concat(a,". Using approximation.")),n+=365;for(o=0;o<t.month;o++)e[t.year]&&e[t.year][o]?n+=e[t.year][o]:(console.warn("Calendar data not available for year ".concat(t.year,", month ").concat(o,". Using approximation.")),n+=30);n+=t.day-1;var i=new Date(this.REF_GREGORIAN_DATE);return i.setDate(this.REF_GREGORIAN_DATE.getDate()+n),{year:i.getFullYear(),month:i.getMonth(),day:i.getDate()}},Object.defineProperty(t.prototype,"year",{get:function(){return this._year},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"month",{get:function(){return this._month},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"day",{get:function(){return this._day},enumerable:!1,configurable:!0}),t.prototype.addDays=function(e){var n=this.toGregorian();return n.setDate(n.getDate()+e),t.fromGregorian(n)},t.prototype.addMonths=function(e){for(var n=this._year,a=this._month+e;a>11;)a-=12,n+=1;for(;a<0;)a+=12,n-=1;n=t.getValidYear(n);var o=t.getDaysInMonth(n,a);return new t(n,a,Math.min(this._day,o))},t.prototype.addYears=function(e){var n=this._year+e;n=t.getValidYear(n);var a=t.getDaysInMonth(n,this._month),o=Math.min(this._day,a);return new t(n,this._month,o)},t.prototype.hexToRgba=function(t,e){t&&"string"==typeof t||(t="#4F46E5");var n=Number.parseInt(t.slice(1,3),16),a=Number.parseInt(t.slice(3,5),16),o=Number.parseInt(t.slice(5,7),16);return"rgba(".concat(n,", ").concat(a,", ").concat(o,", ").concat(e,")")},t.MIN_YEAR=2e3,t.MAX_YEAR=2090,t.REF_NEPALI_DATE={year:2e3,month:0,day:1},t.REF_GREGORIAN_DATE=new Date(1943,3,14),t}(),a=function(){function e(a,o){if(void 0===o&&(o={}),this.isOpen=!1,this.pickerElement=null,this.tempSelectedDate=null,"string"==typeof a){var i=document.querySelector(a);if(!i)throw new Error('Element with selector "'.concat(a,'" not found'));this.element=i}else this.element=a;var r;this.options=t({},e.DEFAULT_OPTIONS),o.primaryColor&&(this.options.primaryColor=o.primaryColor),this.options=t(t({},this.options),o),r=o.initialDate?new n(o.initialDate.year,o.initialDate.month,o.initialDate.day):n.today(),this.selectedDate=r,this.currentViewDate=this.selectedDate,this.tempSelectedDate=null,this.init()}return e.prototype.init=function(){var t,n=document.createElement("div");if(n.className="nepali-date-picker-container","INPUT"!==this.element.tagName){var a=document.createElement("input");a.type="text",a.readOnly=!0,a.className="nepali-date-picker-input",n.appendChild(a),this.element.appendChild(n),this.inputElement=a}else this.inputElement=this.element,this.inputElement.className+=" nepali-date-picker-input",this.inputElement.readOnly=!0,null===(t=this.element.parentNode)||void 0===t||t.insertBefore(n,this.element),n.appendChild(this.element);this.inputElement.value=this.formatSelectedDate(),this.inputElement.addEventListener("click",this.toggle.bind(this)),document.addEventListener("click",this.handleOutsideClick.bind(this));var o=this.options.primaryColor||e.DEFAULT_OPTIONS.primaryColor;this.applyCustomColor(o||"#4F46E5"),this.createPickerElement()},e.prototype.applyCustomColor=function(t){var n=t||e.DEFAULT_OPTIONS.primaryColor||"#4F46E5",a=document.createElement("style");a.textContent="\n .nepali-date-picker-input:focus {\n border-color: ".concat(n,";\n box-shadow: 0 0 0 3px ").concat(this.hexToRgba(n,.1),";\n }\n .day.today {\n border-color: ").concat(n,";\n color: ").concat(n,";\n }\n .day.selected {\n background-color: ").concat(n,";\n color: white;\n font-weight: 500;\n }\n .day.highlighted {\n background-color: ").concat(this.hexToRgba(n,.1),";\n }\n .today-button {\n border-color: ").concat(n,";\n color: ").concat(n,";\n }\n .today-button:hover {\n background-color: ").concat(n,";\n color: white;\n }\n .ok-button {\n background-color: ").concat(n,";\n border-color: ").concat(n,";\n color: white;\n }\n .ok-button:hover {\n background-color: ").concat(this.adjustColor(n,-10),";\n }\n .month-dropdown, .year-dropdown {\n display: inline-block;\n margin: 0 5px;\n }\n .dropdown-label {\n font-size: 12px;\n color: #666;\n margin-bottom: 4px;\n text-align: center;\n }\n .month-select, .year-select {\n padding: 6px;\n border-radius: 4px;\n border: 1px solid #ddd;\n background-color: white;\n font-size: 14px;\n min-width: 100px;\n }\n .date-edit-input {\n width: 100%;\n padding: 4px;\n border: 1px solid ").concat(n,";\n border-radius: 4px;\n font-size: inherit;\n }\n .nepali-date-picker {\n max-width: 400px;\n width: 350px;\n font-family: Arial, sans-serif;\n background-color: white;\n border-radius: 8px;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n overflow: hidden;\n position: absolute;\n z-index: 1000;\n display: none;\n }\n .nepali-date-picker.open {\n display: block;\n }\n .nepali-date-picker.light {\n background-color: white;\n color: #333;\n }\n .nepali-date-picker.dark {\n background-color: #333;\n color: white;\n }\n .date-display {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 10px 15px;\n background-color: ").concat(n,";\n color: white;\n }\n .selected-date {\n font-size: 16px;\n font-weight: bold;\n }\n .edit-icon {\n width: 16px;\n height: 16px;\n cursor: pointer;\n }\n .picker-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 10px 15px;\n border-bottom: 1px solid #eee;\n }\n .month-year-selector {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n }\n .nav-button {\n background: none;\n border: 1px solid #ddd;\n border-radius: 4px;\n padding: 8px;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n color: #666;\n transition: all 0.2s;\n }\n .nav-button:hover {\n background-color: #f5f5f5;\n color: #333;\n }\n .nav-button svg {\n width: 16px;\n height: 16px;\n }\n .weekdays {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n text-align: center;\n font-weight: bold;\n padding: 10px 0;\n border-bottom: 1px solid #eee;\n }\n .weekday {\n padding: 5px 0;\n font-size: 14px;\n }\n .days {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n padding: 10px;\n gap: 5px;\n }\n .day {\n display: flex;\n justify-content: center;\n align-items: center;\n height: 32px;\n border-radius: 4px;\n cursor: pointer;\n font-size: 14px;\n transition: all 0.2s;\n }\n .day:hover:not(.empty):not(.disabled) {\n background-color: #f5f5f5;\n }\n .day.empty {\n cursor: default;\n }\n .day.disabled {\n color: #ccc;\n cursor: not-allowed;\n }\n .footer {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 10px 15px;\n border-top: 1px solid #eee;\n }\n .action-buttons {\n display: flex;\n gap: 10px;\n }\n .action-button {\n padding: 6px 12px;\n border-radius: 4px;\n cursor: pointer;\n font-size: 14px;\n border: 1px solid #ddd;\n background-color: white;\n transition: all 0.2s;\n }\n .action-button:hover {\n background-color: #f5f5f5;\n }\n .cancel-button {\n color: #666;\n }\n .month-year-header {\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 10px 0;\n background-color: ").concat(n,";\n color: white;\n font-weight: bold;\n font-size: 16px;\n }\n .weekend {\n /* Remove the red color for weekends */\n }\n .other-month {\n color: #aaa;\n }\n .year-range-notice {\n font-size: 12px;\n color: #666;\n text-align: center;\n padding: 5px 0;\n background-color: #f8f8f8;\n }\n "),document.head.appendChild(a)},e.prototype.hexToRgba=function(t,e){var n=Number.parseInt(t.slice(1,3),16),a=Number.parseInt(t.slice(3,5),16),o=Number.parseInt(t.slice(5,7),16);return"rgba(".concat(n,", ").concat(a,", ").concat(o,", ").concat(e,")")},e.prototype.parseDateString=function(t){var e=t.match(/^(\d{4})-(\d{1,2})-(\d{1,2})$/);if(!e)return console.warn("Invalid date format: ".concat(t,". Expected format: YYYY-MM-DD")),null;var a=Number.parseInt(e[1],10),o=Number.parseInt(e[2],10)-1,i=Number.parseInt(e[3],10);if(o<0||o>11)return console.warn("Invalid month in date: ".concat(t,". Month should be between 1 and 12")),null;try{var r=n.getDaysInMonth(a,o);if(i<1||i>r)return console.warn("Invalid day in date: ".concat(t,". Day should be between 1 and ").concat(r," for month ").concat(o+1)),null}catch(e){return console.warn("Error validating date: ".concat(t,". ").concat(e)),null}return{year:a,month:o,day:i}},e.prototype.adjustColor=function(t,e){var n=Number.parseInt(t.slice(1,3),16),a=Number.parseInt(t.slice(3,5),16),o=Number.parseInt(t.slice(5,7),16),i=function(t){return Math.max(0,Math.min(255,t+e))},r=i(n).toString(16).padStart(2,"0"),s=i(a).toString(16).padStart(2,"0"),c=i(o).toString(16).padStart(2,"0");return"#".concat(r).concat(s).concat(c)},e.prototype.formatSelectedDate=function(){var t=this.options.dateFormat||"YYYY-MM-DD";return"ne"===this.options.language?this.selectedDate.formatNepali(t):this.selectedDate.format(t)},e.prototype.createPickerElement=function(){this.pickerElement&&document.body.removeChild(this.pickerElement),this.pickerElement=document.createElement("div"),this.pickerElement.className="nepali-date-picker ".concat(this.options.theme),this.updatePickerContent(),document.body.appendChild(this.pickerElement)},e.prototype.updatePickerContent=function(){if(this.pickerElement){var t=this.tempSelectedDate||this.selectedDate;"ne"===this.options.language?t.formatNepali("dddd"):t.format("dddd"),"ne"===this.options.language?this.convertToNepaliNumeral(t.day):t.day;var n="ne"===this.options.language?["बैशाख","जेठ","असार","श्रावण","भदौ","असोज","कार्तिक","मंसिर","पुष","माघ","फाल्गुन","चैत्र"]:["Baisakh","Jestha","Asar","Shrawan","Bhadra","Ashwin","Kartik","Mangsir","Poush","Magh","Falgun","Chaitra"],a="ne"===this.options.language?["आइत","सोम","मंगल","बुध","बिहि","शुक्र","शनि"]:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],o=this.currentViewDate.toGregorian();"".concat(o.toLocaleString("en-US",{month:"short"}),"/").concat(o.toLocaleString("en-US",{month:"short",year:"numeric"}).split(" ")[1]),this.pickerElement.innerHTML='\n <div class="month-year-header" style="background-color: '.concat(this.options.primaryColor||e.DEFAULT_OPTIONS.primaryColor,'">\n ').concat("ne"===this.options.language?this.convertToNepaliNumeral(this.currentViewDate.year):this.currentViewDate.year," \n ").concat(n[this.currentViewDate.month],'\n </div>\n <div class="year-range-notice">\n ').concat("ne"===this.options.language?"सालहरू: २०७० - २०९०":"Years: 2070 - 2090",'\n </div>\n <div class="picker-header">\n <button class="nav-button prev-month">\n <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">\n <polyline points="15 18 9 12 15 6"></polyline>\n </svg>\n </button>\n <div class="month-year-selector">\n ').concat(this.generateMonthYearOptions(),'\n </div>\n <button class="nav-button next-month">\n <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">\n <polyline points="9 18 15 12 9 6"></polyline>\n </svg>\n </button>\n </div>\n <div class="weekdays">\n ').concat(a.map((function(t){return'<div class="weekday">'.concat(t,"</div>")})).join(""),'\n </div>\n <div class="days">\n ').concat(this.generateDaysGrid(),'\n </div>\n <div class="footer">\n ').concat(this.options.showTodayButton?'<button class="today-button">'.concat("ne"===this.options.language?"आज":"Today","</button>"):"<div></div>",'\n <div class="action-buttons">\n <button class="action-button cancel-button">').concat("ne"===this.options.language?"रद्द":"Cancel",'</button>\n <button class="action-button ok-button">OK</button>\n </div>\n </div>\n '),this.addPickerEventListeners(),this.positionPicker()}},e.prototype.generateMonthYearOptions=function(){var t=this,e="ne"===this.options.language?["बैशाख","जेठ","असार","श्रावण","भदौ","असोज","कार्तिक","मंसिर","पुष","माघ","फाल्गुन","चैत्र"]:["Baisakh","Jestha","Asar","Shrawan","Bhadra","Ashwin","Kartik","Mangsir","Poush","Magh","Falgun","Chaitra"];return'\n <div class="month-dropdown">\n <select class="month-select">\n '.concat(e.map((function(e,n){return'<option value="'.concat(n,'" ').concat(n===t.currentViewDate.month?"selected":"",">").concat(e,"</option>")})).join(""),'\n </select>\n </div>\n <div class="year-dropdown">\n <select class="year-select">\n ').concat(Array.from({length:21},(function(t,e){return 2070+e})).map((function(e){return'<option value="'.concat(e,'" ').concat(e===t.currentViewDate.year?"selected":"",">").concat("ne"===t.options.language?t.convertToNepaliNumeral(e):e,"</option>")})).join(""),"\n </select>\n </div>\n ")},e.prototype.generateDaysGrid=function(){for(var t=this.currentViewDate.year,e=this.currentViewDate.month,a=n.today(),o=n.getDaysInMonth(t,e),i=new n(t,e,1).toGregorian().getDay(),r=0===e?11:e-1,s=0===e?t-1:t,c=n.getDaysInMonth(s,r),l="",d=0;d<i;d++){var p=c-i+d+1,h="ne"===this.options.language?this.convertToNepaliNumeral(p):p;l+='<div class="day other-month">'.concat(h,"</div>")}for(var u=1;u<=o;u++){var m=this.tempSelectedDate?this.tempSelectedDate.year===t&&this.tempSelectedDate.month===e&&this.tempSelectedDate.day===u:this.selectedDate.year===t&&this.selectedDate.month===e&&this.selectedDate.day===u,y=a.year===t&&a.month===e&&a.day===u,g=this.isDateDisabled(t,e,u),f=new n(t,e,u).toGregorian().getDay(),v=0===f||6===f,b="day ".concat(m?"selected":""," ").concat(y?"today":""," ").concat(g?"disabled":""," ").concat(v?"weekend":"");h="ne"===this.options.language?this.convertToNepaliNumeral(u):u;l+='<div class="'.concat(b,'" data-day="').concat(u,'">').concat(h,"</div>")}var D=42-(o+i);for(d=1;d<=D;d++){h="ne"===this.options.language?this.convertToNepaliNumeral(d):d;l+='<div class="day other-month">'.concat(h,"</div>")}return l},e.prototype.convertToNepaliNumeral=function(t){var e=["०","१","२","३","४","५","६","७","८","९"];return t.toString().split("").map((function(t){return e[Number.parseInt(t)]})).join("")},e.prototype.isDateDisabled=function(t,e,a){if(!(this.options.disableFutureDates||this.options.disablePastDates||this.options.disabledDates||this.options.disabledDays))return!1;var o=new n(t,e,a),i=n.today(),r=o.toGregorian(),s=i.toGregorian();if(this.options.disableFutureDates&&r>s)return!0;if(this.options.disablePastDates&&r<s)return!0;if(this.options.disabledDates&&this.options.disabledDates.length>0)if("string"==typeof this.options.disabledDates[0])for(var c=0,l=this.options.disabledDates;c<l.length;c++){var d=l[c],p=this.parseDateString(d);if(p&&p.year===t&&p.month===e&&p.day===a)return!0}else for(var h=0,u=this.options.disabledDates;h<u.length;h++){var m=u[h];if(m.year===t&&m.month===e&&m.day===a)return!0}if(this.options.disabledDays&&this.options.disabledDays.length>0){var y=o.toGregorian().getDay();if(this.options.disabledDays.includes(y))return!0}return!1},e.prototype.positionPicker=function(){if(this.pickerElement){var t=this.inputElement.getBoundingClientRect(),e=this.pickerElement.offsetHeight,n=window.innerHeight-t.bottom,a=n>=e||n>t.top;this.pickerElement.style.top="".concat(a?t.bottom+window.scrollY:t.top+window.scrollY-e,"px"),this.pickerElement.style.left="".concat(t.left+window.scrollX,"px");var o=this.pickerElement.offsetWidth,i=window.innerWidth;t.left+o>i&&(this.pickerElement.style.left="".concat(i-o-10+window.scrollX,"px"))}},e.prototype.addPickerEventListeners=function(){var t=this;if(this.pickerElement){var e=this.pickerElement.querySelector(".month-select");e&&e.addEventListener("change",(function(e){var n=Number.parseInt(e.target.value);t.setMonth(n)}));var n=this.pickerElement.querySelector(".year-select");n&&n.addEventListener("change",(function(e){var n=Number.parseInt(e.target.value);t.setYear(n)}));var a=this.pickerElement.querySelector(".edit-icon");a&&a.addEventListener("click",(function(e){e.stopPropagation(),t.enableDateEditing()}));var o=this.pickerElement.querySelector(".prev-month");o&&o.addEventListener("click",(function(e){e.stopPropagation(),t.goToPrevMonth()}));var i=this.pickerElement.querySelector(".next-month");if(i&&i.addEventListener("click",(function(e){e.stopPropagation(),t.goToNextMonth()})),this.pickerElement.querySelectorAll(".day:not(.disabled)").forEach((function(e){e.classList.contains("other-month")||e.addEventListener("click",t.handleDayClick.bind(t))})),this.options.showTodayButton){var r=this.pickerElement.querySelector(".today-button");r&&r.addEventListener("click",this.goToToday.bind(this))}var s=this.pickerElement.querySelector(".cancel-button");s&&s.addEventListener("click",(function(){t.tempSelectedDate=null,t.close()}));var c=this.pickerElement.querySelector(".ok-button");c&&c.addEventListener("click",(function(){t.tempSelectedDate&&(t.selectedDate=t.tempSelectedDate,t.inputElement.value=t.formatSelectedDate(),t.options.onDateSelect&&t.options.onDateSelect(t.selectedDate.toObject())),t.close()}))}},e.prototype.enableDateEditing=function(){var t,e=this,n=null===(t=this.pickerElement)||void 0===t?void 0:t.querySelector(".selected-date");if(n){var a=n.textContent||"",o=document.createElement("input");o.type="text",o.className="date-edit-input",o.value=a,n.innerHTML="",n.appendChild(o),o.focus(),o.addEventListener("blur",(function(){e.handleDateEdit(o.value)})),o.addEventListener("keydown",(function(t){"Enter"===t.key&&e.handleDateEdit(o.value)}))}},e.prototype.handleDateEdit=function(t){try{var e=t.match(/\d+/);if(e){var a=Number.parseInt(e[0]);if(!isNaN(a)&&a>=1&&a<=n.getDaysInMonth(this.currentViewDate.year,this.currentViewDate.month))return this.tempSelectedDate=new n(this.currentViewDate.year,this.currentViewDate.month,a),void this.updatePickerContent()}}catch(t){}this.updatePickerContent()},e.prototype.goToPrevMonth=function(){this.currentViewDate=this.currentViewDate.addMonths(-1),this.updatePickerContent(),this.options.onMonthChange&&this.options.onMonthChange(this.currentViewDate.year,this.currentViewDate.month)},e.prototype.goToNextMonth=function(){this.currentViewDate=this.currentViewDate.addMonths(1),this.updatePickerContent(),this.options.onMonthChange&&this.options.onMonthChange(this.currentViewDate.year,this.currentViewDate.month)},e.prototype.setMonth=function(t){if(!(t<0||t>11)){var e=n.getDaysInMonth(this.currentViewDate.year,t),a=Math.min(this.currentViewDate.day,e);this.currentViewDate=new n(this.currentViewDate.year,t,a),this.updatePickerContent(),this.options.onMonthChange&&this.options.onMonthChange(this.currentViewDate.year,this.currentViewDate.month)}},e.prototype.setYear=function(t){if(!(t<2070||t>2090)){var e=n.getDaysInMonth(t,this.currentViewDate.month),a=Math.min(this.currentViewDate.day,e);this.currentViewDate=new n(t,this.currentViewDate.month,a),this.updatePickerContent(),this.options.onMonthChange&&this.options.onMonthChange(this.currentViewDate.year,this.currentViewDate.month)}},e.prototype.handleDayClick=function(t){var e=t.target,a=Number.parseInt(e.dataset.day||"1");this.tempSelectedDate=new n(this.currentViewDate.year,this.currentViewDate.month,a),this.inputElement.value="ne"===this.options.language?this.tempSelectedDate.formatNepali(this.options.dateFormat||"YYYY-MM-DD"):this.tempSelectedDate.format(this.options.dateFormat||"YYYY-MM-DD"),this.updatePickerContent(),this.options.closeOnSelect&&(this.selectedDate=this.tempSelectedDate,this.options.onDateSelect&&this.options.onDateSelect(this.selectedDate.toObject()),this.close())},e.prototype.goToToday=function(){var t=n.today();this.currentViewDate=t,this.tempSelectedDate=t,this.inputElement.value="ne"===this.options.language?this.tempSelectedDate.formatNepali(this.options.dateFormat||"YYYY-MM-DD"):this.tempSelectedDate.format(this.options.dateFormat||"YYYY-MM-DD"),this.updatePickerContent()},e.prototype.toggle=function(t){t.stopPropagation(),this.isOpen?this.close():this.open()},e.prototype.open=function(){this.isOpen||(this.isOpen=!0,this.tempSelectedDate=null,this.updatePickerContent(),this.pickerElement&&this.pickerElement.classList.add("open"),this.options.onOpen&&this.options.onOpen())},e.prototype.close=function(){this.isOpen&&(this.isOpen=!1,this.pickerElement&&this.pickerElement.classList.remove("open"),this.options.onClose&&this.options.onClose())},e.prototype.handleOutsideClick=function(t){this.isOpen&&this.pickerElement&&!this.pickerElement.contains(t.target)&&!this.inputElement.contains(t.target)&&this.close()},e.prototype.getDate=function(){return this.selectedDate.toObject()},e.prototype.setDate=function(t){this.selectedDate=new n(t.year,t.month,t.day),this.currentViewDate=this.selectedDate,this.inputElement.value=this.formatSelectedDate(),this.isOpen&&this.updatePickerContent()},e.prototype.setOptions=function(n){var a=this.options.primaryColor;if(this.options=t(t({},this.options),n),void 0!==n.primaryColor&&n.primaryColor!==a){var o=this.options.primaryColor||e.DEFAULT_OPTIONS.primaryColor;this.applyCustomColor(o||"#4F46E5")}(n.dateFormat||n.language)&&(this.inputElement.value=this.formatSelectedDate()),this.isOpen&&this.updatePickerContent()},e.prototype.show=function(){this.open()},e.prototype.hide=function(){this.close()},e.prototype.destroy=function(){var t,e;if(this.inputElement.removeEventListener("click",this.toggle.bind(this)),document.removeEventListener("click",this.handleOutsideClick.bind(this)),this.close(),this.pickerElement&&this.pickerElement.parentNode&&document.body.removeChild(this.pickerElement),this.inputElement.removeAttribute("data-nepali-date-picker-initialized"),"INPUT"===this.element.tagName){var n=this.element.parentElement;n&&n.classList.contains("nepali-date-picker-container")&&(null===(t=n.parentNode)||void 0===t||t.insertBefore(this.element,n),null===(e=n.parentNode)||void 0===e||e.removeChild(n))}},e.DEFAULT_OPTIONS={theme:"light",primaryColor:"#4F46E5",language:"ne",showTodayButton:!0,closeOnSelect:!1,disableFutureDates:!1,disablePastDates:!1,dateFormat:"YYYY-MM-DD",onDateSelect:function(){},onMonthChange:function(){},onOpen:function(){},onClose:function(){}},e}(),o=function(){function e(a,o){if(void 0===o&&(o={}),this.isOpen=!1,this.pickerElement=null,this.tempSelectedRange=null,this.selectionState="start",this.presets=[{label:"Today",labelNe:"आज",range:function(){var t=n.today();return{start:t.toObject(),end:t.toObject()}}},{label:"Yesterday",labelNe:"हिजो",range:function(){var t=n.today().addDays(-1);return{start:t.toObject(),end:t.toObject()}}},{label:"Last 7 Days",labelNe:"पछिल्लो ७ दिन",range:function(){var t=n.today();return{start:t.addDays(-6).toObject(),end:t.toObject()}}},{label:"Last 30 Days",labelNe:"पछिल्लो ३० दिन",range:function(){var t=n.today();return{start:t.addDays(-29).toObject(),end:t.toObject()}}},{label:"This Month",labelNe:"यो महिना",range:function(){var t=n.today();return{start:new n(t.year,t.month,1).toObject(),end:t.toObject()}}},{label:"Last Month",labelNe:"गत महिना",range:function(){var t=n.today(),e=0===t.month?11:t.month-1,a=0===t.month?t.year-1:t.year,o=new n(a,e,1),i=n.getDaysInMonth(a,e),r=new n(a,e,i);return{start:o.toObject(),end:r.toObject()}}},{label:"Custom Range",labelNe:"कस्टम रेन्ज",range:function(){var t=n.today();return{start:t.toObject(),end:t.toObject()}}}],"string"==typeof a){var i=document.querySelector(a);if(!i)throw new Error('Element with selector "'.concat(a,'" not found'));this.element=i}else this.element=a;var r,s;if(this.options=t({},e.DEFAULT_OPTIONS),o.primaryColor&&(this.options.primaryColor=o.primaryColor),this.options=t(t({},this.options),o),o.initialDateRange)r=new n(o.initialDateRange.start.year,o.initialDateRange.start.month,o.initialDateRange.start.day),s=new n(o.initialDateRange.end.year,o.initialDateRange.end.month,o.initialDateRange.end.day);else{var c=n.today();r=c,s=c}this.selectedRange={start:r.toObject(),end:s.toObject()},this.currentViewDate=r,this.nextViewDate=this.getNextMonthDate(r),this.tempSelectedRange=null,this.init()}return e.prototype.init=function(){var t,n=document.createElement("div");if(n.className="nepali-date-picker-container","INPUT"!==this.element.tagName){var a=document.createElement("input");a.type="text",a.readOnly=!0,a.className="nepali-date-picker-input",n.appendChild(a),this.element.appendChild(n),this.inputElement=a}else this.inputElement=this.element,this.inputElement.className+=" nepali-date-picker-input",this.inputElement.readOnly=!0,null===(t=this.element.parentNode)||void 0===t||t.insertBefore(n,this.element),n.appendChild(this.element);this.inputElement.value=this.formatSelectedDateRange(),this.inputElement.addEventListener("click",this.toggle.bind(this)),document.addEventListener("click",this.handleOutsideClick.bind(this));var o=this.options.primaryColor||e.DEFAULT_OPTIONS.primaryColor;this.applyCustomColor(o||"#4F46E5"),this.createPickerElement()},e.prototype.applyCustomColor=function(t){var n=t||e.DEFAULT_OPTIONS.primaryColor||"#4F46E5",a=document.createElement("style");a.textContent="\n .nepali-date-range-picker-input:focus {\n border-color: ".concat(n,";\n box-shadow: 0 0 0 3px ").concat(this.hexToRgba(n,.1),";\n }\n .day.today {\n border-color: ").concat(n,";\n color: ").concat(n,";\n }\n .day.selected {\n background-color: ").concat(n,";\n color: white;\n font-weight: 500;\n }\n .day.range-start, .day.range-end {\n background-color: ").concat(n,";\n color: white;\n font-weight: 500;\n }\n .day.in-range {\n background-color: ").concat(this.hexToRgba(n,.2),";\n }\n .day.highlighted {\n background-color: ").concat(this.hexToRgba(n,.1),";\n }\n .today-button {\n border-color: ").concat(n,";\n color: ").concat(n,";\n }\n .today-button:hover {\n background-color: ").concat(n,";\n color: white;\n }\n .apply-button {\n background-color: ").concat(n,";\n border-color: ").concat(n,";\n color: white;\n }\n .apply-button:hover {\n background-color: ").concat(this.adjustColor(n,-10),";\n }\n .preset-option.active {\n background-color: ").concat(this.hexToRgba(n,.1),";\n border-left: 3px solid ").concat(n,";\n }\n .month-dropdown, .year-dropdown {\n display: inline-block;\n margin: 0 5px;\n }\n .dropdown-label {\n font-size: 12px;\n color: #666;\n margin-bottom: 4px;\n text-align: center;\n }\n .month-select, .year-select {\n padding: 6px;\n border-radius: 4px;\n border: 1px solid #ddd;\n background-color: white;\n font-size: 14px;\n min-width: 100px;\n }\n .nepali-date-range-picker {\n min-width: min-content;\n font-family: Arial, sans-serif;\n background-color: white;\n border-radius: 8px;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n overflow: hidden;\n position: absolute;\n z-index: 1000;\n display: none;\n }\n .nepali-date-range-picker.open {\n display: flex;\n }\n .nepali-date-range-picker.light {\n background-color: white;\n color: #333;\n }\n .nepali-date-range-picker.dark {\n background-color: #333;\n color: white;\n }\n .presets-container {\n width: 200px;\n border-right: 1px solid #eee;\n overflow-y: auto;\n }\n .preset-option {\n padding: 12px 16px;\n cursor: pointer;\n transition: all 0.2s;\n border-left: 3px solid transparent;\n }\n .preset-option:hover {\n background-color: #f5f5f5;\n }\n .calendars-container {\n flex: 1;\n display: flex;\n flex-direction: column;\n }\n .calendars-wrapper {\n display: flex;\n flex-direction: row;\n }\n .calendar {\n flex: 1;\n padding: 10px;\n }\n .calendar-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 10px 0;\n font-weight: bold;\n }\n .month-year-display {\n font-size: 16px;\n }\n .nav-buttons {\n display: flex;\n gap: 10px;\n }\n .nav-button {\n background: none;\n border: 1px solid #ddd;\n border-radius: 4px;\n padding: 5px 10px;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n .weekdays {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n text-align: center;\n font-weight: bold;\n padding: 10px 0;\n }\n .weekday {\n padding: 5px 0;\n font-size: 14px;\n }\n .days {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n gap: 5px;\n }\n .day {\n display: flex;\n justify-content: center;\n align-items: center;\n height: 32px;\n border-radius: 4px;\n cursor: pointer;\n font-size: 14px;\n transition: all 0.2s;\n }\n .day:hover:not(.empty):not(.disabled) {\n background-color: #f5f5f5;\n }\n .day.empty {\n cursor: default;\n }\n .day.disabled {\n color: #ccc;\n cursor: not-allowed;\n }\n .footer {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 15px;\n border-top: 1px solid #eee;\n }\n .date-range-display {\n font-size: 14px;\n color: #666;\n }\n .action-buttons {\n display: flex;\n gap: 10px;\n }\n .action-button {\n padding: 8px 16px;\n border-radius: 4px;\n cursor: pointer;\n font-size: 14px;\n border: 1px solid #ddd;\n background-color: white;\n transition: all 0.2s;\n }\n .action-button:hover {\n background-color: #f5f5f5;\n }\n .cancel-button {\n color: #666;\n }\n "),document.head.appendChild(a)},e.prototype.hexToRgba=function(t,e){var n=Number.parseInt(t.slice(1,3),16),a=Number.parseInt(t.slice(3,5),16),o=Number.parseInt(t.slice(5,7),16);return"rgba(".concat(n,", ").concat(a,", ").concat(o,", ").concat(e,")")},e.prototype.adjustColor=function(t,e){var n=Number.parseInt(t.slice(1,3),16),a=Number.parseInt(t.slice(3,5),16),o=Number.parseInt(t.slice(5,7),16),i=function(t){return Math.max(0,Math.min(255,t+e))},r=i(n).toString(16).padStart(2,"0"),s=i(a).toString(16).padStart(2,"0"),c=i(o).toString(16).padStart(2,"0");return"#".concat(r).concat(s).concat(c)},e.prototype.formatSelectedDateRange=function(){var t=this.options.dateFormat||"YYYY-MM-DD",e=new n(this.selectedRange.start.year,this.selectedRange.start.month,this.selectedRange.start.day),a=new n(this.selectedRange.end.year,this.selectedRange.end.month,this.selectedRange.end.day),o="ne"===this.options.language?e.formatNepali(t):e.format(t),i="ne"===this.options.language?a.formatNepali(t):a.format(t);return"".concat(o," - ").concat(i)},e.prototype.getNextMonthDate=function(t){return t.addMonths(1)},e.prototype.createPickerElement=function(){this.pickerElement&&document.body.removeChild(this.pickerElement),this.pickerElement=document.createElement("div"),this.pickerElement.className="nepali-date-range-picker ".concat(this.options.theme),this.updatePickerContent(),document.body.appendChild(this.pickerElement)},e.prototype.updatePickerContent=function(){var t=this;if(this.pickerElement){var e=this.tempSelectedRange||this.selectedRange,a="ne"===this.options.language?["बैशाख","जेठ","असार","श्रावण","भदौ","असोज","कार्तिक","मंसिर","पुष","माघ","फाल्गुन","चैत्र"]:["Baisakh","Jestha","Asar","Shrawan","Bhadra","Ashwin","Kartik","Mangsir","Poush","Magh","Falgun","Chaitra"],o=["January","February","March","April","May","June","July","August","September","October","November","December"],i="ne"===this.options.language?["आइत","सोम","मंगल","बुध","बिहि","शुक्र","शनि"]:["Su","Mo","Tu","We","Th","Fr","Sa"],r=this.currentViewDate.toGregorian(),s=this.nextViewDate.toGregorian(),c="YYYY-MM-DD",l=new n(e.start.year,e.start.month,e.start.day),d=new n(e.end.year,e.end.month,e.end.day),p="".concat(l.format(c)," - ").concat(d.format(c)),h=function(t){return a.map((function(e,n){return'<option value="'.concat(n,'" ').concat(n===t?"selected":"",">").concat(e,"</option>")})).join("")},u=function(e){return Array.from({length:21},(function(t,e){return 2070+e})).map((function(n){return'<option value="'.concat(n,'" ').concat(n===e?"selected":"",">").concat("ne"===t.options.language?t.convertToNepaliNumeral(n):n,"</option>")})).join("")},m='\n <div class="presets-container">\n '.concat(this.options.showPresets?this.generatePresetOptions():"",'\n </div>\n <div class="calendars-container">\n <div class="calendars-wrapper">\n <div class="calendar left-calendar">\n <div class="calendar-header">\n <button class="nav-button prev-month">\n <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">\n <polyline points="15 18 9 12 15 6"></polyline>\n </svg>\n </button>\n <div class="month-year-display">\n <div class="dropdown-container">\n <select class="left-month-select">\n ').concat(h(this.currentViewDate.month),'\n </select>\n <select class="left-year-select">\n ').concat(u(this.currentViewDate.year),'\n </select>\n </div>\n <div class="gregorian-display" style="font-size: 12px; color: #666;">\n ').concat(o[r.getMonth()]," ").concat(r.getFullYear(),'\n </div>\n </div>\n </div>\n <div class="weekdays">\n ').concat(i.map((function(t){return'<div class="weekday">'.concat(t,"</div>")})).join(""),'\n </div>\n <div class="days">\n ').concat(this.generateDaysGrid(this.currentViewDate,e),'\n </div>\n </div>\n <div class="calendar right-calendar">\n <div class="calendar-header">\n <div class="month-year-display">\n <div class="dropdown-container">\n <select class="right-month-select">\n ').concat(h(this.nextViewDate.month),'\n </select>\n <select class="right-year-select">\n ').concat(u(this.nextViewDate.year),'\n </select>\n </div>\n <div class="gregorian-display" style="font-size: 12px; color: #666;">\n ').concat(o[s.getMonth()]," ").concat(s.getFullYear(),'\n </div>\n </div>\n <button class="nav-button next-month">\n <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">\n <polyline points="9 18 15 12 9 6"></polyline>\n </svg>\n </button>\n </div>\n <div class="weekdays">\n ').concat(i.map((function(t){return'<div class="weekday">'.concat(t,"</div>")})).join(""),'\n </div>\n <div class="days">\n ').concat(this.generateDaysGrid(this.nextViewDate,e),'\n </div>\n </div>\n </div>\n <div class="footer">\n <div class="date-range-display">').concat(p,'</div>\n <div class="action-buttons">\n <button class="action-button cancel-button">').concat("ne"===this.options.language?"रद्द":"Cancel",'</button>\n <button class="action-button apply-button">').concat("ne"===this.options.language?"लागू गर्नुहोस्":"Apply","</button>\n </div>\n </div>\n </div>\n ");this.pickerElement.innerHTML=m,this.addPickerEventListeners(),this.positionPicker()}},e.prototype.generatePresetOptions=function(){var t=this,e=this.getActivePresetIndex();return"\n ".concat(this.presets.map((function(n,a){return'\n <div class="preset-option '.concat(a===e?"active":"",'" data-index="').concat(a,'">\n ').concat("ne"===t.options.language?n.labelNe:n.label,"\n </div>\n ")})).join(""),"\n ")},e.prototype.getActivePresetIndex=function(){for(var t=this.presets.length-1,e=this.tempSelectedRange||this.selectedRange,n=0;n<this.presets.length-1;n++){var a=this.presets[n].range();if(e.start.year===a.start.year&&e.start.month===a.start.month&&e.start.day===a.start.day&&e.end.year===a.end.year&&e.end.month===a.end.month&&e.end.day===a.end.day){t=n;break}}return t},e.prototype.generateDaysGrid=function(t,e){for(var a=t.year,o=t.month,i=n.today(),r=n.getDaysInMonth(a,o),s=new n(a,o,1).toGregorian().getDay(),c=0===o?11:o-1,l=0===o?a-1:a,d=n.getDaysInMonth(l,c),p="",h=0;h<s;h++){var u=d-s+h+1,m="ne"===this.options.language?this.convertToNepaliNumeral(u):u;p+='<div class="day empty">'.concat(m,"</div>")}for(var y=1;y<=r;y++){var g=new n(a,o,y),f=g.toObject(),v=this.isSameDate(f,e.start),b=this.isSameDate(f,e.end),D=this.isDateInRange(f,e),w=i.year===a&&i.month===o&&i.day===y,k=this.isDateDisabled(a,o,y),E=g.toGregorian().getDay(),x=0===E||6===E,S="day ".concat(w?"today":""," ").concat(k?"disabled":""," ").concat(x?"weekend":"");v&&(S+=" range-start"),b&&(S+=" range-end"),!D||v||b||(S+=" in-range");m="ne"===this.options.language?this.convertToNepaliNumeral(y):y;p+='<div class="'.concat(S,'" data-year="').concat(a,'" data-month="').concat(o,'" data-day="').concat(y,'">').concat(m,"</div>")}var N=42-(r+s);for(h=1;h<=N;h++){m="ne"===this.options.language?this.convertToNepaliNumeral(h):h;p+='<div class="day empty">'.concat(m,"</div>")}return p},e.prototype.isSameDate=function(t,e){return t.year===e.year&&t.month===e.month&&t.day===e.day},e.prototype.isDateInRange=function(t,e){var a=new n(t.year,t.month,t.day),o=new n(e.start.year,e.start.month,e.start.day),i=new n(e.end.year,e.end.month,e.end.day),r=a.toGregorian(),s=o.toGregorian(),c=i.toGregorian();return r>=s&&r<=c},e.prototype.convertToNepaliNumeral=function(t){var e=["०","१","२","३","४","५","६","७","८","९"];return t.toString().split("").map((function(t){retur