@keenmate/web-daterangepicker 1.0.0-rc03 → 1.0.0-rc08

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- (function(T,z){typeof exports=="object"&&typeof module<"u"?z(exports):typeof define=="function"&&define.amd?define(["exports"],z):(T=typeof globalThis<"u"?globalThis:T||self,z(T.DateRangePicker={}))})(this,function(T){"use strict";var aa=Object.defineProperty;var ra=(T,z,U)=>z in T?aa(T,z,{enumerable:!0,configurable:!0,writable:!0,value:U}):T[z]=U;var v=(T,z,U)=>ra(T,typeof z!="symbol"?z+"":z,U);function z(e){if(e!=="auto")return e;try{const a=new Intl.Locale(navigator.language);if("weekInfo"in a&&a.weekInfo&&"firstDay"in a.weekInfo){const r=a.weekInfo.firstDay;return r===7?0:r}}catch{}const t=navigator.language.toLowerCase();return["en-us","en-ca","ja","ja-jp","he","he-il","ar-sa","ar-ae","ko","ko-kr"].some(a=>t.startsWith(a))?0:1}function U(e){if(!e)return null;let t;return typeof e=="string"?t=new Date(e+"T00:00:00"):t=new Date(e),t.setHours(0,0,0,0),isNaN(t.getTime())?null:t}function De(e){const t=e.getFullYear(),n=String(e.getMonth()+1).padStart(2,"0"),a=String(e.getDate()).padStart(2,"0");return`${t}-${n}-${a}`}function Pt(e,t,n,a,r,o){const s=De(e),i=e.getDay();return!!(t&&e<t||n&&e>n||r&&r.includes(i)||a.has(s)||o&&o(e))}function Rt(e,t,n){const a=new Date(e),r=new Date(t);a.setHours(0,0,0,0),r.setHours(0,0,0,0);const o=new Date(a);for(;o<=r;){if(n(o))return!0;o.setDate(o.getDate()+1)}return!1}function $t(e,t,n){const a=[],r=new Date(e),o=new Date(t);r.setHours(0,0,0,0),o.setHours(0,0,0,0);const s=new Date(r);for(;s<=o;)n(s)||a.push(new Date(s)),s.setDate(s.getDate()+1);return a}function Tt(e,t,n){const a=[],r=new Date(e),o=new Date(t);r.setHours(0,0,0,0),o.setHours(0,0,0,0);const s=new Date(r);for(;s<=o;)n(s)&&a.push(new Date(s)),s.setDate(s.getDate()+1);return a}function zt(e,t,n){const a=new Date(e),r=new Date(t);a.setHours(0,0,0,0),r.setHours(0,0,0,0);let o=new Date(a);const s=new Date(a);for(s.setDate(s.getDate()+1);s<=r;){if(n(s))return o;o=new Date(s),s.setDate(s.getDate()+1)}return r}function Ft(e,t,n){const a=[],r=new Date(e),o=new Date(t);r.setHours(0,0,0,0),o.setHours(0,0,0,0);let s=null;const i=new Date(r);for(;i<=o;){if(!n(i))s||(s=new Date(i));else if(s){const d=new Date(i);d.setDate(d.getDate()-1),a.push({start:s,end:d}),s=null}i.setDate(i.getDate()+1)}return s&&a.push({start:s,end:new Date(o)}),a}function Nt(e){return je(e,new Date)}function je(e,t){return!e||!t?!1:e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate()}function Ot(e,t,n){return!t||!n?!1:e>t&&e<n}var We=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Ke(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Ue={exports:{}};(function(e){(function(t,n){e.exports?e.exports=n():t.log=n()})(We,function(){var t=function(){},n="undefined",a=typeof window!==n&&typeof window.navigator!==n&&/Trident\/|MSIE /.test(window.navigator.userAgent),r=["trace","debug","info","warn","error"],o={},s=null;function i(f,y){var m=f[y];if(typeof m.bind=="function")return m.bind(f);try{return Function.prototype.bind.call(m,f)}catch{return function(){return Function.prototype.apply.apply(m,[f,arguments])}}}function d(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function l(f){return f==="debug"&&(f="log"),typeof console===n?!1:f==="trace"&&a?d:console[f]!==void 0?i(console,f):console.log!==void 0?i(console,"log"):t}function c(){for(var f=this.getLevel(),y=0;y<r.length;y++){var m=r[y];this[m]=y<f?t:this.methodFactory(m,f,this.name)}if(this.log=this.debug,typeof console===n&&f<this.levels.SILENT)return"No console available for logging"}function u(f){return function(){typeof console!==n&&(c.call(this),this[f].apply(this,arguments))}}function p(f,y,m){return l(f)||u.apply(this,arguments)}function g(f,y){var m=this,x,E,L,b="loglevel";typeof f=="string"?b+=":"+f:typeof f=="symbol"&&(b=void 0);function S(_){var I=(r[_]||"silent").toUpperCase();if(!(typeof window===n||!b)){try{window.localStorage[b]=I;return}catch{}try{window.document.cookie=encodeURIComponent(b)+"="+I+";"}catch{}}}function C(){var _;if(!(typeof window===n||!b)){try{_=window.localStorage[b]}catch{}if(typeof _===n)try{var I=window.document.cookie,$=encodeURIComponent(b),k=I.indexOf($+"=");k!==-1&&(_=/^([^;]+)/.exec(I.slice(k+$.length+1))[1])}catch{}return m.levels[_]===void 0&&(_=void 0),_}}function A(){if(!(typeof window===n||!b)){try{window.localStorage.removeItem(b)}catch{}try{window.document.cookie=encodeURIComponent(b)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch{}}}function w(_){var I=_;if(typeof I=="string"&&m.levels[I.toUpperCase()]!==void 0&&(I=m.levels[I.toUpperCase()]),typeof I=="number"&&I>=0&&I<=m.levels.SILENT)return I;throw new TypeError("log.setLevel() called with invalid level: "+_)}m.name=f,m.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},m.methodFactory=y||p,m.getLevel=function(){return L??E??x},m.setLevel=function(_,I){return L=w(_),I!==!1&&S(L),c.call(m)},m.setDefaultLevel=function(_){E=w(_),C()||m.setLevel(_,!1)},m.resetLevel=function(){L=null,A(),c.call(m)},m.enableAll=function(_){m.setLevel(m.levels.TRACE,_)},m.disableAll=function(_){m.setLevel(m.levels.SILENT,_)},m.rebuild=function(){if(s!==m&&(x=w(s.getLevel())),c.call(m),s===m)for(var _ in o)o[_].rebuild()},x=w(s?s.getLevel():"WARN");var D=C();D!=null&&(L=w(D)),c.call(m)}s=new g,s.getLogger=function(y){if(typeof y!="symbol"&&typeof y!="string"||y==="")throw new TypeError("You must supply a name when creating a logger.");var m=o[y];return m||(m=o[y]=new g(y,s.methodFactory)),m};var h=typeof window!==n?window.log:void 0;return s.noConflict=function(){return typeof window!==n&&window.log===s&&(window.log=h),s},s.getLoggers=function(){return o},s.default=s,s})})(Ue);var Ht=Ue.exports;const P=Ke(Ht);var Xe={exports:{}};(function(e){(function(t,n){e.exports?e.exports=n():t.prefix=n(t)})(We,function(t){var n=function(c){for(var u=1,p=arguments.length,g;u<p;u++)for(g in arguments[u])Object.prototype.hasOwnProperty.call(arguments[u],g)&&(c[g]=arguments[u][g]);return c},a={template:"[%t] %l:",levelFormatter:function(c){return c.toUpperCase()},nameFormatter:function(c){return c||"root"},timestampFormatter:function(c){return c.toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/,"$1")},format:void 0},r,o={},s=function(c){if(!c||!c.getLogger)throw new TypeError("Argument is not a root logger");r=c},i=function(c,u){if(!c||!c.setLevel)throw new TypeError("Argument is not a logger");var p=c.methodFactory,g=c.name||"",h=o[g]||o[""]||a;function f(y,m,x){var E=p(y,m,x),L=o[x]||o[""],b=L.template.indexOf("%t")!==-1,S=L.template.indexOf("%l")!==-1,C=L.template.indexOf("%n")!==-1;return function(){for(var A="",w=arguments.length,D=Array(w),_=0;_<w;_++)D[_]=arguments[_];if(g||!o[x]){var I=L.timestampFormatter(new Date),$=L.levelFormatter(y),k=L.nameFormatter(x);L.format?A+=L.format($,k,I):(A+=L.template,b&&(A=A.replace(/%t/,I)),S&&(A=A.replace(/%l/,$)),C&&(A=A.replace(/%n/,k))),D.length&&typeof D[0]=="string"?D[0]=A+" "+D[0]:D.unshift(A)}E.apply(void 0,D)}}return o[g]||(c.methodFactory=f),u=u||{},u.template&&(u.format=void 0),o[g]=n({},h,u),c.setLevel(c.getLevel()),r||c.warn("It is necessary to call the function reg() of loglevel-plugin-prefix before calling apply. From the next release, it will throw an error. See more: https://github.com/kutuluk/loglevel-plugin-prefix/blob/master/README.md"),c},d={reg:s,apply:i},l;return t&&(l=t.prefix,d.noConflict=function(){return t.prefix===d&&(t.prefix=l),d}),d})})(Xe);var Vt=Xe.exports;const q=Ke(Vt);q.reg(P),q.apply(P,{format(e,t,n){return`[${n}] [${e}] ${t?`[${t}]`:""}`},timestampFormatter(e){return e.toTimeString().split(" ")[0]+"."+e.getMilliseconds().toString().padStart(3,"0")}});const R=P.getLogger("INIT"),X=P.getLogger("VALIDATION"),N=P.getLogger("DRAG"),re=P.getLogger("SELECTION"),B=P.getLogger("RENDERING"),j=P.getLogger("UI"),M=P.getLogger("NAVIGATION"),ee=P.getLogger("INTERACTION");q.apply(R),q.apply(X),q.apply(N),q.apply(re),q.apply(B),q.apply(j),q.apply(M),q.apply(ee);const G="silent";P.setLevel(G),R.setLevel(G),X.setLevel(G),N.setLevel(G),re.setLevel(G),B.setLevel(G),j.setLevel(G),M.setLevel(G),ee.setLevel(G);const Yt=e=>{const t=e?"debug":"silent";P.setLevel(t),R.setLevel(t),X.setLevel(t),N.setLevel(t),re.setLevel(t),B.setLevel(t),j.setLevel(t),M.setLevel(t),ee.setLevel(t)};function Ge(e,t,n){for(let a=1;a<=31;a++){const r=new Date(t,n,a);if(r.getMonth()===n&&!e.isDateDisabledInternal(r))return!0}return!1}function qt(e,t){e.showingRollingSelector[t]=!e.showingRollingSelector[t],e.renderCalendar()}function Bt(e,t,n){const a=e.monthDates[n].getFullYear();e.monthDates[n].setFullYear(t),M.debug(`selectYear() Col${n} - changed from ${a} to ${t}`),pe(e,n),e.showingRollingSelector[n]=!1,e.renderCalendar()}function jt(e,t,n){const a=e.monthDates[n].getMonth();e.monthDates[n].setMonth(t),M.debug(`selectMonth() Col${n} - changed from ${a+1} to ${t+1}`),pe(e,n),e.showingRollingSelector[n]=!1,e.renderCalendar()}function pe(e,t){const n=e.monthDates[t];if(t<e.monthDates.length-1){const a=e.monthDates[t+1];if(we(n,a)){M.debug(`checkAndResolveCollisions() Col${t} - collision with Col${t+1}, shifting forward`);const r=new Date(n.getFullYear(),n.getMonth()+1,1);e.monthDates[t+1]=r,pe(e,t+1)}}if(t>0){const a=e.monthDates[t-1];if(we(a,n)){M.debug(`checkAndResolveCollisions() Col${t} - collision with Col${t-1}, shifting backward`);const r=new Date(n.getFullYear(),n.getMonth()-1,1);e.monthDates[t-1]=r,pe(e,t-1)}}}function we(e,t){const n=e.getFullYear(),a=e.getMonth(),r=t.getFullYear(),o=t.getMonth();return n>r||n===r&&a>=o}function ue(e,t){const n=isNaN(t)?e.activeMonthIndex:t;e.showingRollingSelector[n]&&(e.showingRollingSelector[n]=!1);const a=e.monthDates[n],r=new Date(a.getFullYear(),a.getMonth()-1,1);if(e.monthDates[n]=r,M.debug(`prevMonth() Col${n} - changed from ${a.getFullYear()}-${a.getMonth()+1} to ${r.getFullYear()}-${r.getMonth()+1}`),n>0){const o=e.monthDates[n-1];we(o,r)&&(M.debug(`prevMonth() Col${n} - collision detected with Col${n-1}, shifting previous columns back`),ue(e,n-1))}e.renderCalendar()}function ge(e,t){const n=isNaN(t)?e.activeMonthIndex:t;e.showingRollingSelector[n]&&(e.showingRollingSelector[n]=!1);const a=e.monthDates[n],r=new Date(a.getFullYear(),a.getMonth()+1,1);if(e.monthDates[n]=r,M.debug(`nextMonth() Col${n} - changed from ${a.getFullYear()}-${a.getMonth()+1} to ${r.getFullYear()}-${r.getMonth()+1}`),n<e.monthDates.length-1){const o=e.monthDates[n+1];we(r,o)&&(M.debug(`nextMonth() Col${n} - collision detected with Col${n+1}, shifting next columns forward`),ge(e,n+1))}e.renderCalendar()}function fe(e,t,n,a,r){let o=t,s=0;const i=60;for(;s<i;){if(o>=0&&o<a.length){const l=a[o].dataset.date;if(l){const[c,u,p]=l.split("-").map(Number),g=new Date(c,u,p);if(!e.isDateDisabledInternal(g))return{index:o,monthChanged:!1}}}if(o+=n,s++,o<0||o>=a.length)return{index:null,monthChanged:!0,direction:n>0?"next":"prev"}}return{index:null,monthChanged:!1}}function Wt(e,t){var s,i,d,l;M.debug(`moveFocus(${t}) Col${e.activeMonthIndex} - focusedDayIndex:`,e.focusedDayIndex);const n=e.calendar.querySelector(`.drp-date-picker__days[data-month-index="${e.activeMonthIndex}"]`);if(!n){M.debug(`moveFocus() Col${e.activeMonthIndex} - ERROR: daysContainer not found!`);return}const a=n.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");if(M.debug(`moveFocus() Col${e.activeMonthIndex} - found ${a.length} days in column`),a.length===0)return;if(e.focusedDayIndex===null){const c=Array.from(a).findIndex(u=>u.classList.contains("drp-date-picker__day--today"));e.focusedDayIndex=c!==-1?c:0,M.debug(`moveFocus() Col${e.activeMonthIndex} - initialized focusedDayIndex to ${e.focusedDayIndex} (today or first day), will move by offset ${t}`)}(s=a[e.focusedDayIndex])==null||s.classList.remove("drp-date-picker__day--focused");const r=e.focusedDayIndex+t;if(r<0){const c=e.activeMonthIndex;if(t===-1)M.debug(`moveFocus() Col${c} - edge navigation LEFT: going to last enabled day of prev month`),ue(e,e.activeMonthIndex),setTimeout(()=>{var h,f;const u=e.calendar.querySelector(`.drp-date-picker__month[data-month-index="${c}"] .drp-date-picker__days`);if(!u)return;const p=u.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)"),g=fe(e,p.length-1,-1,p);g.index!==null&&(e.focusedDayIndex=g.index,(h=p[e.focusedDayIndex])==null||h.classList.add("drp-date-picker__day--focused"),(f=p[e.focusedDayIndex])==null||f.scrollIntoView({block:"nearest"}))},0);else{const p=a[e.focusedDayIndex].dataset.date;if(p){const[g,h,f]=p.split("-").map(Number),m=new Date(g,h,f).getDay();M.debug(`moveFocus() Col${c} - edge navigation UP: current day ${f} is weekday ${m}, going to prev month`),ue(e,e.activeMonthIndex),setTimeout(()=>{var S,C;const x=e.calendar.querySelector(`.drp-date-picker__month[data-month-index="${c}"] .drp-date-picker__days`);if(!x)return;const E=x.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)"),b=E[E.length-1].dataset.date;if(b){const[A,w,D]=b.split("-").map(Number),I=new Date(A,w,D).getDay(),$=(I-m+7)%7;e.focusedDayIndex=E.length-1-$,M.debug(`moveFocus() Col${c} - last day weekday ${I}, target ${m}, focusing on day ${e.focusedDayIndex+1}`),(S=E[e.focusedDayIndex])==null||S.classList.add("drp-date-picker__day--focused"),(C=E[e.focusedDayIndex])==null||C.scrollIntoView({block:"nearest"})}},0)}}return}else if(r>=a.length){const c=e.activeMonthIndex;if(t===1)M.debug(`moveFocus() Col${c} - edge navigation RIGHT: going to first enabled day of next month`),ge(e,e.activeMonthIndex),setTimeout(()=>{var h,f;const u=e.calendar.querySelector(`.drp-date-picker__month[data-month-index="${c}"] .drp-date-picker__days`);if(!u)return;const p=u.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)"),g=fe(e,0,1,p);g.index!==null&&(e.focusedDayIndex=g.index,(h=p[e.focusedDayIndex])==null||h.classList.add("drp-date-picker__day--focused"),(f=p[e.focusedDayIndex])==null||f.scrollIntoView({block:"nearest"}))},0);else{const p=a[e.focusedDayIndex].dataset.date;if(p){const[g,h,f]=p.split("-").map(Number),m=new Date(g,h,f).getDay();M.debug(`moveFocus() Col${c} - edge navigation DOWN: current day ${f} is weekday ${m}, going to next month`),ge(e,e.activeMonthIndex),setTimeout(()=>{var S,C;const x=e.calendar.querySelector(`.drp-date-picker__month[data-month-index="${c}"] .drp-date-picker__days`);if(!x)return;const E=x.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)"),b=E[0].dataset.date;if(b){const[A,w,D]=b.split("-").map(Number),I=new Date(A,w,D).getDay(),$=(m-I+7)%7;e.focusedDayIndex=$,M.debug(`moveFocus() Col${c} - first day weekday ${I}, target ${m}, focusing on day ${e.focusedDayIndex+1}`),(S=E[e.focusedDayIndex])==null||S.classList.add("drp-date-picker__day--focused"),(C=E[e.focusedDayIndex])==null||C.scrollIntoView({block:"nearest"})}},0)}}return}const o=fe(e,r,t,a,e.activeMonthIndex);if(o.monthChanged){const c=e.activeMonthIndex;o.direction==="next"?ge(e,e.activeMonthIndex):ue(e,e.activeMonthIndex),setTimeout(()=>{var h,f;const u=e.calendar.querySelector(`.drp-date-picker__month[data-month-index="${c}"] .drp-date-picker__days`);if(!u)return;const p=u.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)"),g=fe(e,o.direction==="next"?0:p.length-1,t,p);g.index!==null&&(e.focusedDayIndex=g.index,(h=p[e.focusedDayIndex])==null||h.classList.add("drp-date-picker__day--focused"),(f=p[e.focusedDayIndex])==null||f.scrollIntoView({block:"nearest"}))},0);return}o.index!==null?(e.focusedDayIndex=o.index,(i=a[e.focusedDayIndex])==null||i.classList.add("drp-date-picker__day--focused"),(d=a[e.focusedDayIndex])==null||d.scrollIntoView({block:"nearest"})):(M.debug("moveFocus() - no enabled day found in search range"),(l=a[e.focusedDayIndex])==null||l.classList.add("drp-date-picker__day--focused"))}function Kt(e){B.debug("[DatePicker 18] renderCalendar called, showingRollingSelector:",e.showingRollingSelector,`activeCol: ${e.activeMonthIndex}`),B.debug("[DatePicker 18] monthDates array:",e.monthDates.map((t,n)=>`Col${n}: ${t.getFullYear()}-${t.getMonth()+1}`).join(", "));for(let t=0;t<e.options.visibleMonthsCount;t++)e.showingRollingSelector[t]?Ze(e,t):Je(e,t);if(requestAnimationFrame(()=>{if(!e.calendarContentHeight&&!e.showingRollingSelector[0]){const t=e.calendar.querySelector('.drp-date-picker__month[data-month-index="0"]');if(t){const n=t.querySelector(".drp-date-picker__weekdays"),a=t.querySelector(".drp-date-picker__days");if(n&&a){const r=n.offsetHeight,o=a.offsetHeight,s=getComputedStyle(n),i=parseInt(s.marginBottom)||0;e.calendarContentHeight=r+i+o,B.debug("[DatePicker] Captured calendar content height:",{weekdaysHeight:r,weekdaysMargin:i,daysHeight:o,totalHeight:e.calendarContentHeight})}}}if(e.calendarContentHeight)for(let t=0;t<e.options.visibleMonthsCount;t++){const n=e.calendar.querySelector(`.drp-date-picker__month[data-month-index="${t}"]`);if(!n)continue;const a=n.querySelector(".drp-date-picker__rolling-selector");if(a){const r=a.classList.contains("drp-date-picker__rolling-selector--visible");if(a.style.height=`${e.calendarContentHeight}px`,r){const o=a.offsetHeight;B.debug(`[DatePicker] Applied height to rolling selector ${t}:`,{targetHeight:e.calendarContentHeight,actualHeight:o,difference:o-e.calendarContentHeight})}}}}),e.focusedDayIndex!==null){const t=e.calendar.querySelector(`.drp-date-picker__days[data-month-index="${e.activeMonthIndex}"]`);if(t){const n=t.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");n[e.focusedDayIndex]&&n[e.focusedDayIndex].classList.add("drp-date-picker__day--focused")}}e.options.selectionMode==="range"&&!e.isDragging&&e.initDragListeners()}function Je(e,t){B.debug(`[DatePicker Col${t} 19] renderNormalView called for month`,t);const n=e.calendar.querySelector(`.drp-date-picker__month[data-month-index="${t}"]`);if(!n)return;const a=n.querySelector(".drp-date-picker__rolling-selector");a==null||a.classList.remove("drp-date-picker__rolling-selector--visible");const r=e.monthDates[t],o=n.querySelector(".drp-date-picker__month-year");o&&(o.textContent=`${e.monthNames[r.getMonth()]} ${r.getFullYear()}`);const s=r.getFullYear(),i=r.getMonth(),d=i===0?11:i-1,l=i===0?s-1:s,c=n.querySelector(".drp-date-picker__nav--prev");c&&(Ge(e,l,d)?(c.removeAttribute("disabled"),c.classList.remove("drp-date-picker__nav--disabled")):(c.setAttribute("disabled","true"),c.classList.add("drp-date-picker__nav--disabled")));const u=i===11?0:i+1,p=i===11?s+1:s,g=n.querySelector(".drp-date-picker__nav--next");g&&(Ge(e,p,u)?(g.removeAttribute("disabled"),g.classList.remove("drp-date-picker__nav--disabled")):(g.setAttribute("disabled","true"),g.classList.add("drp-date-picker__nav--disabled")));const h=n.querySelector(".drp-date-picker__weekdays"),f=[...e.weekdayNames.slice(e.weekStartDay),...e.weekdayNames.slice(0,e.weekStartDay)];h&&(h.innerHTML=f.map(y=>`<div class="drp-date-picker__weekday">${y}</div>`).join("")),Qe(e,t,r)}function Qe(e,t,n){B.debug(`[DatePicker Col${t} 20] renderDays called for month`,t);const a=e.calendar.querySelector(`.drp-date-picker__month[data-month-index="${t}"]`);if(!a)return;const r=a.querySelector(".drp-date-picker__days"),o=n.getFullYear(),s=n.getMonth();B.debug(`[DatePicker Col${t} 21] Rendering days for:`,o,s+1);const d=(new Date(o,s,1).getDay()-e.weekStartDay+7)%7,l=new Date(o,s+1,0).getDate(),c=new Date(o,s,0).getDate(),u=new Date(o,s-1,1),p=u.getFullYear(),g=u.getMonth(),h=new Date(o,s+1,1),f=h.getFullYear(),y=h.getMonth(),m=[];for(let S=d-1;S>=0;S--){const C=c-S,A=new Date(p,g,C);m.push({date:A,year:p,month:g,day:C,isOtherMonth:!0})}for(let S=1;S<=l;S++){const C=new Date(o,s,S);m.push({date:C,year:o,month:s,day:S,isOtherMonth:!1})}const E=Math.ceil((d+l)/7)*7-(d+l);for(let S=1;S<=E;S++){const C=new Date(f,y,S);m.push({date:C,year:f,month:y,day:S,isOtherMonth:!0})}const L=[];for(let S=0;S<m.length;S+=7)L.push(m.slice(S,S+7));let b="";for(const S of L){const C=S.map(w=>{const D=e.getDateInfoInternal(w.date);return{label:(D==null?void 0:D.label)||"",tooltip:(D==null?void 0:D.tooltip)||"",class:(D==null?void 0:D.class)||""}});if(C.some(w=>w.label)){b+='<div class="drp-date-picker__badge-row">';for(const w of C)if(w.label){const D=w.tooltip?` data-tooltip="${w.tooltip.replace(/"/g,"&quot;")}"`:"",_=w.class?` ${w.class}`:"";b+=`<div class="drp-date-picker__badge-cell${_}"${D}>${w.label}</div>`}else b+='<div class="drp-date-picker__badge-cell"></div>';b+="</div>"}b+='<div class="drp-date-picker__date-row">';for(const w of S){const D=["drp-date-picker__day"];w.isOtherMonth&&D.push("drp-date-picker__day--other-month");const _=e.isDateDisabledInternal(w.date);_&&D.push("drp-date-picker__day--disabled");const I=e.getDateInfoInternal(w.date);I&&I.class&&D.push(I.class),e.isToday(w.date)&&D.push("drp-date-picker__day--today"),e.options.selectionMode==="single"&&e.isSameDay(w.date,e.selectedDate)&&D.push("drp-date-picker__day--selected"),e.options.selectionMode==="range"&&(e.isSameDay(w.date,e.selectedStartDate)&&D.push("drp-date-picker__day--range-start"),e.isSameDay(w.date,e.selectedEndDate)&&D.push("drp-date-picker__day--range-end"),e.isInRange(w.date)&&(!_||e.options.highlightDisabledInRange)&&D.push("drp-date-picker__day--in-range")),b+=`<div class="${D.join(" ")}" data-date="${w.year}-${w.month}-${w.day}">${w.day}</div>`}b+="</div>"}r&&(r.innerHTML=b)}function Ze(e,t){var c,u;const n=e.calendar.querySelector(`.drp-date-picker__month[data-month-index="${t}"]`);if(!n)return;const a=n.querySelector(".drp-date-picker__rolling-selector");a==null||a.classList.add("drp-date-picker__rolling-selector--visible");const r=e.monthDates[t],o=a==null?void 0:a.querySelector('[data-list="years"]'),s=r.getFullYear();let i="";for(let p=s-50;p<=s+50;p++)i+=`<div class="drp-date-picker__rolling-item ${p===s?"drp-date-picker__rolling-item--selected":""}" data-year="${p}" data-month-index="${t}">${p}</div>`;o&&(o.innerHTML=i,(c=o.querySelector(".drp-date-picker__rolling-item--selected"))==null||c.scrollIntoView({block:"center",inline:"nearest",behavior:"auto"}));const d=a==null?void 0:a.querySelector('[data-list="months"]'),l=r.getMonth();d&&(d.innerHTML=e.monthNames.map((p,g)=>`<div class="drp-date-picker__rolling-item ${g===l?"drp-date-picker__rolling-item--selected":""}" data-month="${g}" data-month-index="${t}">${p}</div>`).join(""),(u=d.querySelector(".drp-date-picker__rolling-item--selected"))==null||u.scrollIntoView({block:"center",inline:"nearest",behavior:"auto"}))}function Ut(e){if(e.options.selectionMode!=="range")return;const t=e.calendar.querySelector(".drp-date-picker__summary");if(t)if(e.selectedStartDate&&e.selectedEndDate){let n,a,r,o,s;if(e.options.disabledDatesHandling==="individual"||e.options.disabledDatesHandling==="split")a=e.getEnabledDatesInRange(e.selectedStartDate,e.selectedEndDate),n=a.length,o=a,e.options.disabledDatesHandling==="split"&&(s=e.splitRangeByDisabled(e.selectedStartDate,e.selectedEndDate));else if(e.options.disabledDatesHandling==="allow"){a=e.getEnabledDatesInRange(e.selectedStartDate,e.selectedEndDate),r=e.getDisabledDatesInRange(e.selectedStartDate,e.selectedEndDate);const d=1e3*60*60*24,l=e.selectedEndDate.getTime()-e.selectedStartDate.getTime();n=Math.floor(l/d)+1}else{const l=e.selectedEndDate.getTime()-e.selectedStartDate.getTime();n=Math.floor(l/864e5)+1}const i=n>0?n-1:0;if(t.className="drp-date-picker__summary drp-date-picker__summary--visible",e.options.formatSummaryCallback){const d={days:n,nights:i,startDate:e.selectedStartDate,endDate:e.selectedEndDate,selectionMode:e.options.selectionMode,disabledDatesHandling:e.options.disabledDatesHandling,localeStrings:e.localeStrings,isPreview:!1};a&&(d.enabledDates=a),r&&(d.disabledDates=r),o&&(d.dates=o),s&&(d.dateRanges=s),t.innerHTML=e.options.formatSummaryCallback(d)}else t.innerHTML=`
1
+ (function(z,F){typeof exports=="object"&&typeof module<"u"?F(exports):typeof define=="function"&&define.amd?define(["exports"],F):(z=typeof globalThis<"u"?globalThis:z||self,F(z.DateRangePicker={}))})(this,function(z){"use strict";var ia=Object.defineProperty;var da=(z,F,W)=>F in z?ia(z,F,{enumerable:!0,configurable:!0,writable:!0,value:W}):z[F]=W;var D=(z,F,W)=>da(z,typeof F!="symbol"?F+"":F,W);function F(e){if(e!=="auto")return e;try{const a=new Intl.Locale(navigator.language);if("weekInfo"in a&&a.weekInfo&&"firstDay"in a.weekInfo){const r=a.weekInfo.firstDay;return r===7?0:r}}catch{}const t=navigator.language.toLowerCase();return["en-us","en-ca","ja","ja-jp","he","he-il","ar-sa","ar-ae","ko","ko-kr"].some(a=>t.startsWith(a))?0:1}function W(e){if(!e)return null;let t;return typeof e=="string"?t=new Date(e+"T00:00:00"):t=new Date(e),t.setHours(0,0,0,0),isNaN(t.getTime())?null:t}function be(e){const t=e.getFullYear(),n=String(e.getMonth()+1).padStart(2,"0"),a=String(e.getDate()).padStart(2,"0");return`${t}-${n}-${a}`}function $t(e,t,n,a,r,o){const s=be(e),i=e.getDay();return!!(t&&e<t||n&&e>n||r&&r.includes(i)||a.has(s)||o&&o(e))}function Pt(e,t){for(let n=0;n<12;n++){const a=new Date(t,n+1,0).getDate();for(let r=1;r<=a;r++){const o=new Date(t,n,r);if(!e.isDateDisabledInternal(o))return!0}}return!1}function kt(e,t,n){const a=new Date(e),r=new Date(t);a.setHours(0,0,0,0),r.setHours(0,0,0,0);const o=new Date(a);for(;o<=r;){if(n(o))return!0;o.setDate(o.getDate()+1)}return!1}function Tt(e,t,n){const a=[],r=new Date(e),o=new Date(t);r.setHours(0,0,0,0),o.setHours(0,0,0,0);const s=new Date(r);for(;s<=o;)n(s)||a.push(new Date(s)),s.setDate(s.getDate()+1);return a}function zt(e,t,n){const a=[],r=new Date(e),o=new Date(t);r.setHours(0,0,0,0),o.setHours(0,0,0,0);const s=new Date(r);for(;s<=o;)n(s)&&a.push(new Date(s)),s.setDate(s.getDate()+1);return a}function Ft(e,t,n){const a=new Date(e),r=new Date(t);a.setHours(0,0,0,0),r.setHours(0,0,0,0);let o=new Date(a);const s=new Date(a);for(s.setDate(s.getDate()+1);s<=r;){if(n(s))return o;o=new Date(s),s.setDate(s.getDate()+1)}return r}function Nt(e,t,n){const a=[],r=new Date(e),o=new Date(t);r.setHours(0,0,0,0),o.setHours(0,0,0,0);let s=null;const i=new Date(r);for(;i<=o;){if(!n(i))s||(s=new Date(i));else if(s){const d=new Date(i);d.setDate(d.getDate()-1),a.push({start:s,end:d}),s=null}i.setDate(i.getDate()+1)}return s&&a.push({start:s,end:new Date(o)}),a}function Ot(e){return je(e,new Date)}function je(e,t){return!e||!t?!1:e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate()}function Ht(e,t,n){return!t||!n?!1:e>t&&e<n}var Ke=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Ue(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Xe={exports:{}};(function(e){(function(t,n){e.exports?e.exports=n():t.log=n()})(Ke,function(){var t=function(){},n="undefined",a=typeof window!==n&&typeof window.navigator!==n&&/Trident\/|MSIE /.test(window.navigator.userAgent),r=["trace","debug","info","warn","error"],o={},s=null;function i(f,y){var m=f[y];if(typeof m.bind=="function")return m.bind(f);try{return Function.prototype.bind.call(m,f)}catch{return function(){return Function.prototype.apply.apply(m,[f,arguments])}}}function d(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function l(f){return f==="debug"&&(f="log"),typeof console===n?!1:f==="trace"&&a?d:console[f]!==void 0?i(console,f):console.log!==void 0?i(console,"log"):t}function c(){for(var f=this.getLevel(),y=0;y<r.length;y++){var m=r[y];this[m]=y<f?t:this.methodFactory(m,f,this.name)}if(this.log=this.debug,typeof console===n&&f<this.levels.SILENT)return"No console available for logging"}function u(f){return function(){typeof console!==n&&(c.call(this),this[f].apply(this,arguments))}}function p(f,y,m){return l(f)||u.apply(this,arguments)}function g(f,y){var m=this,x,M,I,b="loglevel";typeof f=="string"?b+=":"+f:typeof f=="symbol"&&(b=void 0);function v(S){var E=(r[S]||"silent").toUpperCase();if(!(typeof window===n||!b)){try{window.localStorage[b]=E;return}catch{}try{window.document.cookie=encodeURIComponent(b)+"="+E+";"}catch{}}}function L(){var S;if(!(typeof window===n||!b)){try{S=window.localStorage[b]}catch{}if(typeof S===n)try{var E=window.document.cookie,k=encodeURIComponent(b),R=E.indexOf(k+"=");R!==-1&&(S=/^([^;]+)/.exec(E.slice(R+k.length+1))[1])}catch{}return m.levels[S]===void 0&&(S=void 0),S}}function A(){if(!(typeof window===n||!b)){try{window.localStorage.removeItem(b)}catch{}try{window.document.cookie=encodeURIComponent(b)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch{}}}function w(S){var E=S;if(typeof E=="string"&&m.levels[E.toUpperCase()]!==void 0&&(E=m.levels[E.toUpperCase()]),typeof E=="number"&&E>=0&&E<=m.levels.SILENT)return E;throw new TypeError("log.setLevel() called with invalid level: "+S)}m.name=f,m.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},m.methodFactory=y||p,m.getLevel=function(){return I??M??x},m.setLevel=function(S,E){return I=w(S),E!==!1&&v(I),c.call(m)},m.setDefaultLevel=function(S){M=w(S),L()||m.setLevel(S,!1)},m.resetLevel=function(){I=null,A(),c.call(m)},m.enableAll=function(S){m.setLevel(m.levels.TRACE,S)},m.disableAll=function(S){m.setLevel(m.levels.SILENT,S)},m.rebuild=function(){if(s!==m&&(x=w(s.getLevel())),c.call(m),s===m)for(var S in o)o[S].rebuild()},x=w(s?s.getLevel():"WARN");var _=L();_!=null&&(I=w(_)),c.call(m)}s=new g,s.getLogger=function(y){if(typeof y!="symbol"&&typeof y!="string"||y==="")throw new TypeError("You must supply a name when creating a logger.");var m=o[y];return m||(m=o[y]=new g(y,s.methodFactory)),m};var h=typeof window!==n?window.log:void 0;return s.noConflict=function(){return typeof window!==n&&window.log===s&&(window.log=h),s},s.getLoggers=function(){return o},s.default=s,s})})(Xe);var Yt=Xe.exports;const P=Ue(Yt);var Ge={exports:{}};(function(e){(function(t,n){e.exports?e.exports=n():t.prefix=n(t)})(Ke,function(t){var n=function(c){for(var u=1,p=arguments.length,g;u<p;u++)for(g in arguments[u])Object.prototype.hasOwnProperty.call(arguments[u],g)&&(c[g]=arguments[u][g]);return c},a={template:"[%t] %l:",levelFormatter:function(c){return c.toUpperCase()},nameFormatter:function(c){return c||"root"},timestampFormatter:function(c){return c.toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/,"$1")},format:void 0},r,o={},s=function(c){if(!c||!c.getLogger)throw new TypeError("Argument is not a root logger");r=c},i=function(c,u){if(!c||!c.setLevel)throw new TypeError("Argument is not a logger");var p=c.methodFactory,g=c.name||"",h=o[g]||o[""]||a;function f(y,m,x){var M=p(y,m,x),I=o[x]||o[""],b=I.template.indexOf("%t")!==-1,v=I.template.indexOf("%l")!==-1,L=I.template.indexOf("%n")!==-1;return function(){for(var A="",w=arguments.length,_=Array(w),S=0;S<w;S++)_[S]=arguments[S];if(g||!o[x]){var E=I.timestampFormatter(new Date),k=I.levelFormatter(y),R=I.nameFormatter(x);I.format?A+=I.format(k,R,E):(A+=I.template,b&&(A=A.replace(/%t/,E)),v&&(A=A.replace(/%l/,k)),L&&(A=A.replace(/%n/,R))),_.length&&typeof _[0]=="string"?_[0]=A+" "+_[0]:_.unshift(A)}M.apply(void 0,_)}}return o[g]||(c.methodFactory=f),u=u||{},u.template&&(u.format=void 0),o[g]=n({},h,u),c.setLevel(c.getLevel()),r||c.warn("It is necessary to call the function reg() of loglevel-plugin-prefix before calling apply. From the next release, it will throw an error. See more: https://github.com/kutuluk/loglevel-plugin-prefix/blob/master/README.md"),c},d={reg:s,apply:i},l;return t&&(l=t.prefix,d.noConflict=function(){return t.prefix===d&&(t.prefix=l),d}),d})})(Ge);var Vt=Ge.exports;const j=Ue(Vt);j.reg(P),j.apply(P,{format(e,t,n){return`[${n}] [${e}] ${t?`[${t}]`:""}`},timestampFormatter(e){return e.toTimeString().split(" ")[0]+"."+e.getMilliseconds().toString().padStart(3,"0")}});const $=P.getLogger("INIT"),J=P.getLogger("VALIDATION"),O=P.getLogger("DRAG"),re=P.getLogger("SELECTION"),K=P.getLogger("RENDERING"),U=P.getLogger("UI"),C=P.getLogger("NAVIGATION"),ee=P.getLogger("INTERACTION");j.apply($),j.apply(J),j.apply(O),j.apply(re),j.apply(K),j.apply(U),j.apply(C),j.apply(ee);const Q="silent";P.setLevel(Q),$.setLevel(Q),J.setLevel(Q),O.setLevel(Q),re.setLevel(Q),K.setLevel(Q),U.setLevel(Q),C.setLevel(Q),ee.setLevel(Q);const qt=e=>{const t=e?"debug":"silent";P.setLevel(t),$.setLevel(t),J.setLevel(t),O.setLevel(t),re.setLevel(t),K.setLevel(t),U.setLevel(t),C.setLevel(t),ee.setLevel(t)};function $e(e,t,n){for(let a=1;a<=31;a++){const r=new Date(t,n,a);if(r.getMonth()===n&&!e.isDateDisabledInternal(r))return!0}return!1}function Bt(e,t){e.showingRollingSelector[t]=!e.showingRollingSelector[t],e.renderCalendar()}function Wt(e,t,n){const a=e.monthDates[n].getFullYear();e.monthDates[n].setFullYear(t),C.debug(`selectYear() Col${n} - changed from ${a} to ${t}`),pe(e,n),e.showingRollingSelector[n]=!1,e.renderCalendar()}function jt(e,t,n){const a=e.monthDates[n].getMonth();e.monthDates[n].setMonth(t),C.debug(`selectMonth() Col${n} - changed from ${a+1} to ${t+1}`),pe(e,n),e.showingRollingSelector[n]=!1,e.renderCalendar()}function pe(e,t){const n=e.monthDates[t];if(t<e.monthDates.length-1){const a=e.monthDates[t+1];if(_e(n,a)){C.debug(`checkAndResolveCollisions() Col${t} - collision with Col${t+1}, shifting forward`);const r=new Date(n.getFullYear(),n.getMonth()+1,1);e.monthDates[t+1]=r,pe(e,t+1)}}if(t>0){const a=e.monthDates[t-1];if(_e(a,n)){C.debug(`checkAndResolveCollisions() Col${t} - collision with Col${t-1}, shifting backward`);const r=new Date(n.getFullYear(),n.getMonth()-1,1);e.monthDates[t-1]=r,pe(e,t-1)}}}function _e(e,t){const n=e.getFullYear(),a=e.getMonth(),r=t.getFullYear(),o=t.getMonth();return n>r||n===r&&a>=o}function ue(e,t){const n=isNaN(t)?e.activeMonthIndex:t;e.showingRollingSelector[n]&&(e.showingRollingSelector[n]=!1);const a=e.monthDates[n],r=new Date(a.getFullYear(),a.getMonth()-1,1);if(e.monthDates[n]=r,C.debug(`prevMonth() Col${n} - changed from ${a.getFullYear()}-${a.getMonth()+1} to ${r.getFullYear()}-${r.getMonth()+1}`),n>0){const o=e.monthDates[n-1];_e(o,r)&&(C.debug(`prevMonth() Col${n} - collision detected with Col${n-1}, shifting previous columns back`),ue(e,n-1))}e.renderCalendar()}function ge(e,t){const n=isNaN(t)?e.activeMonthIndex:t;e.showingRollingSelector[n]&&(e.showingRollingSelector[n]=!1);const a=e.monthDates[n],r=new Date(a.getFullYear(),a.getMonth()+1,1);if(e.monthDates[n]=r,C.debug(`nextMonth() Col${n} - changed from ${a.getFullYear()}-${a.getMonth()+1} to ${r.getFullYear()}-${r.getMonth()+1}`),n<e.monthDates.length-1){const o=e.monthDates[n+1];_e(r,o)&&(C.debug(`nextMonth() Col${n} - collision detected with Col${n+1}, shifting next columns forward`),ge(e,n+1))}e.renderCalendar()}function fe(e,t,n,a,r){let o=t,s=0;const i=60;for(;s<i;){if(o>=0&&o<a.length){const l=a[o].dataset.date;if(l){const[c,u,p]=l.split("-").map(Number),g=new Date(c,u-1,p);if(!e.isDateDisabledInternal(g))return{index:o,monthChanged:!1}}}if(o+=n,s++,o<0||o>=a.length)return{index:null,monthChanged:!0,direction:n>0?"next":"prev"}}return{index:null,monthChanged:!1}}function Kt(e,t){var s,i,d,l;C.debug(`moveFocus(${t}) Col${e.activeMonthIndex} - focusedDayIndex:`,e.focusedDayIndex);const n=e.calendar.querySelector(`.drp-date-picker__days[data-month-index="${e.activeMonthIndex}"]`);if(!n){C.debug(`moveFocus() Col${e.activeMonthIndex} - ERROR: daysContainer not found!`);return}const a=n.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");if(C.debug(`moveFocus() Col${e.activeMonthIndex} - found ${a.length} days in column`),a.length===0)return;if(e.focusedDayIndex===null){const c=Array.from(a).findIndex(u=>u.classList.contains("drp-date-picker__day--today"));e.focusedDayIndex=c!==-1?c:0,C.debug(`moveFocus() Col${e.activeMonthIndex} - initialized focusedDayIndex to ${e.focusedDayIndex} (today or first day), will move by offset ${t}`)}(s=a[e.focusedDayIndex])==null||s.classList.remove("drp-date-picker__day--focused");const r=e.focusedDayIndex+t;if(r<0){const c=e.activeMonthIndex;if(t===-1)C.debug(`moveFocus() Col${c} - edge navigation LEFT: going to last enabled day of prev month`),ue(e,e.activeMonthIndex),setTimeout(()=>{var h,f;const u=e.calendar.querySelector(`.drp-date-picker__month[data-month-index="${c}"] .drp-date-picker__days`);if(!u)return;const p=u.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)"),g=fe(e,p.length-1,-1,p);g.index!==null&&(e.focusedDayIndex=g.index,(h=p[e.focusedDayIndex])==null||h.classList.add("drp-date-picker__day--focused"),(f=p[e.focusedDayIndex])==null||f.scrollIntoView({block:"nearest"}))},0);else{const p=a[e.focusedDayIndex].dataset.date;if(p){const[g,h,f]=p.split("-").map(Number),m=new Date(g,h-1,f).getDay();C.debug(`moveFocus() Col${c} - edge navigation UP: current day ${f} is weekday ${m}, going to prev month`),ue(e,e.activeMonthIndex),setTimeout(()=>{var v,L;const x=e.calendar.querySelector(`.drp-date-picker__month[data-month-index="${c}"] .drp-date-picker__days`);if(!x)return;const M=x.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)"),b=M[M.length-1].dataset.date;if(b){const[A,w,_]=b.split("-").map(Number),E=new Date(A,w-1,_).getDay(),k=(E-m+7)%7;e.focusedDayIndex=M.length-1-k,C.debug(`moveFocus() Col${c} - last day weekday ${E}, target ${m}, focusing on day ${e.focusedDayIndex+1}`),(v=M[e.focusedDayIndex])==null||v.classList.add("drp-date-picker__day--focused"),(L=M[e.focusedDayIndex])==null||L.scrollIntoView({block:"nearest"})}},0)}}return}else if(r>=a.length){const c=e.activeMonthIndex;if(t===1)C.debug(`moveFocus() Col${c} - edge navigation RIGHT: going to first enabled day of next month`),ge(e,e.activeMonthIndex),setTimeout(()=>{var h,f;const u=e.calendar.querySelector(`.drp-date-picker__month[data-month-index="${c}"] .drp-date-picker__days`);if(!u)return;const p=u.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)"),g=fe(e,0,1,p);g.index!==null&&(e.focusedDayIndex=g.index,(h=p[e.focusedDayIndex])==null||h.classList.add("drp-date-picker__day--focused"),(f=p[e.focusedDayIndex])==null||f.scrollIntoView({block:"nearest"}))},0);else{const p=a[e.focusedDayIndex].dataset.date;if(p){const[g,h,f]=p.split("-").map(Number),m=new Date(g,h-1,f).getDay();C.debug(`moveFocus() Col${c} - edge navigation DOWN: current day ${f} is weekday ${m}, going to next month`),ge(e,e.activeMonthIndex),setTimeout(()=>{var v,L;const x=e.calendar.querySelector(`.drp-date-picker__month[data-month-index="${c}"] .drp-date-picker__days`);if(!x)return;const M=x.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)"),b=M[0].dataset.date;if(b){const[A,w,_]=b.split("-").map(Number),E=new Date(A,w-1,_).getDay(),k=(m-E+7)%7;e.focusedDayIndex=k,C.debug(`moveFocus() Col${c} - first day weekday ${E}, target ${m}, focusing on day ${e.focusedDayIndex+1}`),(v=M[e.focusedDayIndex])==null||v.classList.add("drp-date-picker__day--focused"),(L=M[e.focusedDayIndex])==null||L.scrollIntoView({block:"nearest"})}},0)}}return}const o=fe(e,r,t,a,e.activeMonthIndex);if(o.monthChanged){const c=e.activeMonthIndex;o.direction==="next"?ge(e,e.activeMonthIndex):ue(e,e.activeMonthIndex),setTimeout(()=>{var h,f;const u=e.calendar.querySelector(`.drp-date-picker__month[data-month-index="${c}"] .drp-date-picker__days`);if(!u)return;const p=u.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)"),g=fe(e,o.direction==="next"?0:p.length-1,t,p);g.index!==null&&(e.focusedDayIndex=g.index,(h=p[e.focusedDayIndex])==null||h.classList.add("drp-date-picker__day--focused"),(f=p[e.focusedDayIndex])==null||f.scrollIntoView({block:"nearest"}))},0);return}o.index!==null?(e.focusedDayIndex=o.index,(i=a[e.focusedDayIndex])==null||i.classList.add("drp-date-picker__day--focused"),(d=a[e.focusedDayIndex])==null||d.scrollIntoView({block:"nearest"})):(C.debug("moveFocus() - no enabled day found in search range"),(l=a[e.focusedDayIndex])==null||l.classList.add("drp-date-picker__day--focused"))}function Ut(e,t,n){if(!e){if(n!=null&&n.normalizedMinDate||n!=null&&n.normalizedMaxDate){const a=n.normalizedMinDate?n.normalizedMinDate.getFullYear():t-1,r=n.normalizedMaxDate?n.normalizedMaxDate.getFullYear():t+1;return{min:a,max:r}}return{min:t-1,max:t+1}}if(e.includes("-")){const[a,r]=e.split("-");return{min:parseInt(a,10),max:parseInt(r,10)}}else{const a=parseInt(e,10);return{min:a,max:a}}}function Xt(e){if(!e)return{min:1,max:12};const[t,n]=e.split("-");return{min:parseInt(t,10),max:parseInt(n,10)}}function Gt(e){K.debug("[DatePicker 18] renderCalendar called, showingRollingSelector:",e.showingRollingSelector,`activeCol: ${e.activeMonthIndex}`),K.debug("[DatePicker 18] monthDates array:",e.monthDates.map((t,n)=>`Col${n}: ${t.getFullYear()}-${t.getMonth()+1}`).join(", "));for(let t=0;t<e.options.visibleMonthsCount;t++)e.showingRollingSelector[t]?Ze(e,t):Je(e,t);if(requestAnimationFrame(()=>{if(!e.calendarContentHeight&&!e.showingRollingSelector[0]){const t=e.calendar.querySelector('.drp-date-picker__month[data-month-index="0"]');if(t){const n=t.querySelector(".drp-date-picker__weekdays"),a=t.querySelector(".drp-date-picker__days");if(n&&a){const r=n.offsetHeight,o=a.offsetHeight,s=a.offsetWidth,i=getComputedStyle(n),d=parseInt(i.marginBottom)||0;e.calendarContentHeight=r+d+o,e.calendarContentWidth=Math.ceil(s),K.debug("[DatePicker] Captured calendar content dimensions:",{weekdaysHeight:r,weekdaysMargin:d,daysHeight:o,daysWidth:s,totalHeight:e.calendarContentHeight,totalWidth:e.calendarContentWidth})}}}if(e.calendarContentHeight)for(let t=0;t<e.options.visibleMonthsCount;t++){const n=e.calendar.querySelector(`.drp-date-picker__month[data-month-index="${t}"]`);if(!n)continue;const a=n.querySelector(".drp-date-picker__rolling-selector");if(a){const r=a.classList.contains("drp-date-picker__rolling-selector--visible");if(a.style.height=`${e.calendarContentHeight}px`,e.calendarContentWidth&&(a.style.width=`${e.calendarContentWidth}px`),r){const o=a.offsetHeight,s=a.offsetWidth;K.debug(`[DatePicker] Applied dimensions to rolling selector ${t}:`,{targetHeight:e.calendarContentHeight,actualHeight:o,heightDifference:o-e.calendarContentHeight,targetWidth:e.calendarContentWidth,actualWidth:s,widthDifference:s-(e.calendarContentWidth||0)})}}}}),e.focusedDayIndex!==null){const t=e.calendar.querySelector(`.drp-date-picker__days[data-month-index="${e.activeMonthIndex}"]`);if(t){const n=t.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");n[e.focusedDayIndex]&&n[e.focusedDayIndex].classList.add("drp-date-picker__day--focused")}}e.options.selectionMode==="range"&&!e.isDragging&&e.initDragListeners()}function Je(e,t){K.debug(`[DatePicker Col${t} 19] renderNormalView called for month`,t);const n=e.calendar.querySelector(`.drp-date-picker__month[data-month-index="${t}"]`);if(!n)return;const a=n.querySelector(".drp-date-picker__rolling-selector");a==null||a.classList.remove("drp-date-picker__rolling-selector--visible");const r=e.monthDates[t],o=n.querySelector(".drp-date-picker__month-year");o&&(o.textContent=`${e.monthNames[r.getMonth()]} ${r.getFullYear()}`);const s=r.getFullYear(),i=r.getMonth(),d=i===0?11:i-1,l=i===0?s-1:s,c=n.querySelector(".drp-date-picker__nav--prev");c&&($e(e,l,d)?(c.removeAttribute("disabled"),c.classList.remove("drp-date-picker__nav--disabled")):(c.setAttribute("disabled","true"),c.classList.add("drp-date-picker__nav--disabled")));const u=i===11?0:i+1,p=i===11?s+1:s,g=n.querySelector(".drp-date-picker__nav--next");g&&($e(e,p,u)?(g.removeAttribute("disabled"),g.classList.remove("drp-date-picker__nav--disabled")):(g.setAttribute("disabled","true"),g.classList.add("drp-date-picker__nav--disabled")));const h=n.querySelector(".drp-date-picker__weekdays"),f=[...e.weekdayNames.slice(e.weekStartDay),...e.weekdayNames.slice(0,e.weekStartDay)];h&&(h.innerHTML=f.map(y=>`<div class="drp-date-picker__weekday">${y}</div>`).join("")),Qe(e,t,r)}function Qe(e,t,n){K.debug(`[DatePicker Col${t} 20] renderDays called for month`,t);const a=e.calendar.querySelector(`.drp-date-picker__month[data-month-index="${t}"]`);if(!a)return;const r=a.querySelector(".drp-date-picker__days"),o=n.getFullYear(),s=n.getMonth();K.debug(`[DatePicker Col${t} 21] Rendering days for:`,o,s+1);const d=(new Date(o,s,1).getDay()-e.weekStartDay+7)%7,l=new Date(o,s+1,0).getDate(),c=new Date(o,s,0).getDate(),u=new Date(o,s-1,1),p=u.getFullYear(),g=u.getMonth(),h=new Date(o,s+1,1),f=h.getFullYear(),y=h.getMonth(),m=[];for(let v=d-1;v>=0;v--){const L=c-v,A=new Date(p,g,L);m.push({date:A,year:p,month:g,day:L,isOtherMonth:!0})}for(let v=1;v<=l;v++){const L=new Date(o,s,v);m.push({date:L,year:o,month:s,day:v,isOtherMonth:!1})}const M=Math.ceil((d+l)/7)*7-(d+l);for(let v=1;v<=M;v++){const L=new Date(f,y,v);m.push({date:L,year:f,month:y,day:v,isOtherMonth:!0})}const I=[];for(let v=0;v<m.length;v+=7)I.push(m.slice(v,v+7));let b="";for(const v of I){const L=v.map(w=>{const _=e.getDateInfoInternal(w.date);return{label:(_==null?void 0:_.label)||"",tooltip:(_==null?void 0:_.tooltip)||"",class:(_==null?void 0:_.class)||""}});if(L.some(w=>w.label)){b+='<div class="drp-date-picker__badge-row">';for(const w of L)if(w.label){const _=w.tooltip?` data-tooltip="${w.tooltip.replace(/"/g,"&quot;")}"`:"",S=w.class?` ${w.class}`:"";b+=`<div class="drp-date-picker__badge-cell${S}"${_}>${w.label}</div>`}else b+='<div class="drp-date-picker__badge-cell"></div>';b+="</div>"}b+='<div class="drp-date-picker__date-row">';for(const w of v){const _=["drp-date-picker__day"];w.isOtherMonth&&_.push("drp-date-picker__day--other-month");const S=e.isDateDisabledInternal(w.date);S&&_.push("drp-date-picker__day--disabled");const E=e.getDateInfoInternal(w.date);E&&E.class&&_.push(E.class),e.isToday(w.date)&&_.push("drp-date-picker__day--today"),e.options.selectionMode==="single"&&e.isSameDay(w.date,e.selectedDate)&&_.push("drp-date-picker__day--selected");const R=e.options.selectionMode==="range"&&e.isSameDay(w.date,e.selectedStartDate),V=e.options.selectionMode==="range"&&e.isSameDay(w.date,e.selectedEndDate),q=e.options.selectionMode==="range"&&e.isInRange(w.date);e.options.selectionMode==="range"&&(R&&_.push("drp-date-picker__day--range-start"),V&&_.push("drp-date-picker__day--range-end"),q&&(!S||e.options.highlightDisabledInRange)&&_.push("drp-date-picker__day--in-range"));const T=`${w.year}-${String(w.month+1).padStart(2,"0")}-${String(w.day).padStart(2,"0")}`;b+=`<div class="${_.join(" ")}" data-date="${T}" data-day-number="${w.day}">`,b+=`<slot name="day-${T}">${w.day}</slot>`,b+="</div>"}b+="</div>"}r&&(r.innerHTML=b,Jt(e,t,r))}function Jt(e,t,n){if(!e.options.renderDay&&!e.options.renderDayContent)return;n.querySelectorAll(".drp-date-picker__day").forEach(r=>{const o=r,s=o.getAttribute("data-date"),i=parseInt(o.getAttribute("data-day-number")||"0",10);if(!s)return;const[d,l,c]=s.split("-"),u=new Date(parseInt(d),parseInt(l)-1,parseInt(c)),p=o.querySelector(`slot[name="day-${s}"]`);if(p&&p.assignedNodes().length>0)return;const h=e.isDateDisabledInternal(u),f=e.isToday(u),y=u.getDay()===0||u.getDay()===6,m=e.options.selectionMode==="single"&&e.isSameDay(u,e.selectedDate),x=e.options.selectionMode==="range"&&e.isSameDay(u,e.selectedStartDate),M=e.options.selectionMode==="range"&&e.isSameDay(u,e.selectedEndDate),I=e.options.selectionMode==="range"&&e.isInRange(u),b={date:u,dateString:s,dayNumber:i,isDisabled:h,isSelected:m||x||M,isStartDate:x,isEndDate:M,isInRange:I,isToday:f,isWeekend:y,monthIndex:t,element:o,picker:e};if(e.options.renderDay)try{const v=e.options.renderDay(b);v!=null&&(typeof v=="string"?p&&(p.innerHTML=v):v instanceof HTMLElement&&p&&(p.innerHTML="",p.appendChild(v)))}catch(v){console.error("[DatePicker] Error in renderDay callback:",v)}else if(e.options.renderDayContent)try{const v=e.options.renderDayContent(b);v!=null&&(typeof v=="string"?p&&(p.innerHTML+=v):v instanceof HTMLElement&&p&&p.appendChild(v))}catch(v){console.error("[DatePicker] Error in renderDayContent callback:",v)}})}function Ze(e,t){const n=e.calendar.querySelector(`.drp-date-picker__month[data-month-index="${t}"]`);if(!n)return;const a=n.querySelector(".drp-date-picker__rolling-selector");a==null||a.classList.add("drp-date-picker__rolling-selector--visible");const r=e.monthDates[t],o=r.getFullYear(),s=r.getMonth(),i=Ut(e.options.rollingYearRange,o,e),d=Xt(e.options.rollingMonthRange),l=a==null?void 0:a.querySelector('[data-list="years"]');let c="";for(let p=i.min;p<=i.max;p++){const g=p===o?"drp-date-picker__rolling-item--selected":"",f=Pt(e,p)?"":"drp-date-picker__rolling-item--disabled";c+=`<div class="drp-date-picker__rolling-item ${g} ${f}" data-year="${p}" data-month-index="${t}">${p}</div>`}l&&(l.innerHTML=c);const u=a==null?void 0:a.querySelector('[data-list="months"]');if(u){let p="";for(let g=d.min-1;g<=d.max-1;g++){const h=e.monthNames[g],f=g===s?"drp-date-picker__rolling-item--selected":"",m=$e(e,o,g)?"":"drp-date-picker__rolling-item--disabled";p+=`<div class="drp-date-picker__rolling-item ${f} ${m}" data-month="${g}" data-month-index="${t}">${h}</div>`}u.innerHTML=p}}function Qt(e){if(e.options.selectionMode!=="range")return;const t=e.calendar.querySelector(".drp-date-picker__summary");if(t)if(e.selectedStartDate&&e.selectedEndDate){let n,a,r,o,s;if(e.options.disabledDatesHandling==="individual"||e.options.disabledDatesHandling==="split")a=e.getEnabledDatesInRange(e.selectedStartDate,e.selectedEndDate),n=a.length,o=a,e.options.disabledDatesHandling==="split"&&(s=e.splitRangeByDisabled(e.selectedStartDate,e.selectedEndDate));else if(e.options.disabledDatesHandling==="allow"){a=e.getEnabledDatesInRange(e.selectedStartDate,e.selectedEndDate),r=e.getDisabledDatesInRange(e.selectedStartDate,e.selectedEndDate);const d=1e3*60*60*24,l=e.selectedEndDate.getTime()-e.selectedStartDate.getTime();n=Math.floor(l/d)+1}else{const l=e.selectedEndDate.getTime()-e.selectedStartDate.getTime();n=Math.floor(l/864e5)+1}const i=n>0?n-1:0;if(t.className="drp-date-picker__summary drp-date-picker__summary--visible",e.options.formatSummaryCallback){const d={days:n,nights:i,startDate:e.selectedStartDate,endDate:e.selectedEndDate,selectionMode:e.options.selectionMode,disabledDatesHandling:e.options.disabledDatesHandling,localeStrings:e.localeStrings,isPreview:!1};a&&(d.enabledDates=a),r&&(d.disabledDates=r),o&&(d.dates=o),s&&(d.dateRanges=s),t.innerHTML=e.options.formatSummaryCallback(d)}else t.innerHTML=`
2
2
  <span class="drp-date-picker__summary-count">${n} ${n===1?e.localeStrings.day:e.localeStrings.days}</span>
3
3
  <span>, </span>
4
4
  <span class="drp-date-picker__summary-count">${i} ${i===1?e.localeStrings.night:e.localeStrings.nights}</span>
@@ -7,9 +7,9 @@
7
7
  <span class="drp-date-picker__summary-count">${n} ${n===1?e.localeStrings.day:e.localeStrings.days}</span>
8
8
  <span>, </span>
9
9
  <span class="drp-date-picker__summary-count">${i} ${i===1?e.localeStrings.night:e.localeStrings.nights}</span>
10
- `}}function Xt(e){if(e.calendar.querySelectorAll(".drp-date-picker__day--drag-preview, .drp-date-picker__day--drag-invalid").forEach(r=>{r.classList.remove("drp-date-picker__day--drag-preview","drp-date-picker__day--drag-invalid")}),!e.dragPreviewStart||!e.dragPreviewEnd)return;const n=e.options.disabledDatesHandling==="block"&&e.hasDisabledDatesInRange(e.dragPreviewStart,e.dragPreviewEnd);e.calendar.querySelectorAll(".drp-date-picker__day").forEach(r=>{const o=r.dataset.date;if(!o)return;const[s,i,d]=o.split("-").map(Number),l=new Date(s,i,d);l>=e.dragPreviewStart&&l<=e.dragPreviewEnd&&(r.classList.add("drp-date-picker__day--drag-preview"),n&&r.classList.add("drp-date-picker__day--drag-invalid"))}),et(e)}const he=Math.min,oe=Math.max,_e=Math.round,W=e=>({x:e,y:e}),Gt={left:"right",right:"left",bottom:"top",top:"bottom"},Jt={start:"end",end:"start"};function Pe(e,t,n){return oe(e,he(t,n))}function me(e,t){return typeof e=="function"?e(t):e}function se(e){return e.split("-")[0]}function ye(e){return e.split("-")[1]}function tt(e){return e==="x"?"y":"x"}function Re(e){return e==="y"?"height":"width"}const Qt=new Set(["top","bottom"]);function te(e){return Qt.has(se(e))?"y":"x"}function $e(e){return tt(te(e))}function Zt(e,t,n){n===void 0&&(n=!1);const a=ye(e),r=$e(e),o=Re(r);let s=r==="x"?a===(n?"end":"start")?"right":"left":a==="start"?"bottom":"top";return t.reference[o]>t.floating[o]&&(s=xe(s)),[s,xe(s)]}function en(e){const t=xe(e);return[Te(e),t,Te(t)]}function Te(e){return e.replace(/start|end/g,t=>Jt[t])}const nt=["left","right"],at=["right","left"],tn=["top","bottom"],nn=["bottom","top"];function an(e,t,n){switch(e){case"top":case"bottom":return n?t?at:nt:t?nt:at;case"left":case"right":return t?tn:nn;default:return[]}}function rn(e,t,n,a){const r=ye(e);let o=an(se(e),n==="start",a);return r&&(o=o.map(s=>s+"-"+r),t&&(o=o.concat(o.map(Te)))),o}function xe(e){return e.replace(/left|right|bottom|top/g,t=>Gt[t])}function sn(e){return{top:0,right:0,bottom:0,left:0,...e}}function rt(e){return typeof e!="number"?sn(e):{top:e,right:e,bottom:e,left:e}}function Se(e){const{x:t,y:n,width:a,height:r}=e;return{width:a,height:r,top:n,left:t,right:t+a,bottom:n+r,x:t,y:n}}function st(e,t,n){let{reference:a,floating:r}=e;const o=te(t),s=$e(t),i=Re(s),d=se(t),l=o==="y",c=a.x+a.width/2-r.width/2,u=a.y+a.height/2-r.height/2,p=a[i]/2-r[i]/2;let g;switch(d){case"top":g={x:c,y:a.y-r.height};break;case"bottom":g={x:c,y:a.y+a.height};break;case"right":g={x:a.x+a.width,y:u};break;case"left":g={x:a.x-r.width,y:u};break;default:g={x:a.x,y:a.y}}switch(ye(t)){case"start":g[s]-=p*(n&&l?-1:1);break;case"end":g[s]+=p*(n&&l?-1:1);break}return g}const on=async(e,t,n)=>{const{placement:a="bottom",strategy:r="absolute",middleware:o=[],platform:s}=n,i=o.filter(Boolean),d=await(s.isRTL==null?void 0:s.isRTL(t));let l=await s.getElementRects({reference:e,floating:t,strategy:r}),{x:c,y:u}=st(l,a,d),p=a,g={},h=0;for(let f=0;f<i.length;f++){const{name:y,fn:m}=i[f],{x,y:E,data:L,reset:b}=await m({x:c,y:u,initialPlacement:a,placement:p,strategy:r,middlewareData:g,rects:l,platform:s,elements:{reference:e,floating:t}});c=x??c,u=E??u,g={...g,[y]:{...g[y],...L}},b&&h<=50&&(h++,typeof b=="object"&&(b.placement&&(p=b.placement),b.rects&&(l=b.rects===!0?await s.getElementRects({reference:e,floating:t,strategy:r}):b.rects),{x:c,y:u}=st(l,p,d)),f=-1)}return{x:c,y:u,placement:p,strategy:r,middlewareData:g}};async function ot(e,t){var n;t===void 0&&(t={});const{x:a,y:r,platform:o,rects:s,elements:i,strategy:d}=e,{boundary:l="clippingAncestors",rootBoundary:c="viewport",elementContext:u="floating",altBoundary:p=!1,padding:g=0}=me(t,e),h=rt(g),y=i[p?u==="floating"?"reference":"floating":u],m=Se(await o.getClippingRect({element:(n=await(o.isElement==null?void 0:o.isElement(y)))==null||n?y:y.contextElement||await(o.getDocumentElement==null?void 0:o.getDocumentElement(i.floating)),boundary:l,rootBoundary:c,strategy:d})),x=u==="floating"?{x:a,y:r,width:s.floating.width,height:s.floating.height}:s.reference,E=await(o.getOffsetParent==null?void 0:o.getOffsetParent(i.floating)),L=await(o.isElement==null?void 0:o.isElement(E))?await(o.getScale==null?void 0:o.getScale(E))||{x:1,y:1}:{x:1,y:1},b=Se(o.convertOffsetParentRelativeRectToViewportRelativeRect?await o.convertOffsetParentRelativeRectToViewportRelativeRect({elements:i,rect:x,offsetParent:E,strategy:d}):x);return{top:(m.top-b.top+h.top)/L.y,bottom:(b.bottom-m.bottom+h.bottom)/L.y,left:(m.left-b.left+h.left)/L.x,right:(b.right-m.right+h.right)/L.x}}const dn=e=>({name:"arrow",options:e,async fn(t){const{x:n,y:a,placement:r,rects:o,platform:s,elements:i,middlewareData:d}=t,{element:l,padding:c=0}=me(e,t)||{};if(l==null)return{};const u=rt(c),p={x:n,y:a},g=$e(r),h=Re(g),f=await s.getDimensions(l),y=g==="y",m=y?"top":"left",x=y?"bottom":"right",E=y?"clientHeight":"clientWidth",L=o.reference[h]+o.reference[g]-p[g]-o.floating[h],b=p[g]-o.reference[g],S=await(s.getOffsetParent==null?void 0:s.getOffsetParent(l));let C=S?S[E]:0;(!C||!await(s.isElement==null?void 0:s.isElement(S)))&&(C=i.floating[E]||o.floating[h]);const A=L/2-b/2,w=C/2-f[h]/2-1,D=he(u[m],w),_=he(u[x],w),I=D,$=C-f[h]-_,k=C/2-f[h]/2+A,Q=Pe(I,k,$),Z=!d.arrow&&ye(r)!=null&&k!==Q&&o.reference[h]/2-(k<I?D:_)-f[h]/2<0,V=Z?k<I?k-I:k-$:0;return{[g]:p[g]+V,data:{[g]:Q,centerOffset:k-Q-V,...Z&&{alignmentOffset:V}},reset:Z}}}),ln=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n,a;const{placement:r,middlewareData:o,rects:s,initialPlacement:i,platform:d,elements:l}=t,{mainAxis:c=!0,crossAxis:u=!0,fallbackPlacements:p,fallbackStrategy:g="bestFit",fallbackAxisSideDirection:h="none",flipAlignment:f=!0,...y}=me(e,t);if((n=o.arrow)!=null&&n.alignmentOffset)return{};const m=se(r),x=te(i),E=se(i)===i,L=await(d.isRTL==null?void 0:d.isRTL(l.floating)),b=p||(E||!f?[xe(i)]:en(i)),S=h!=="none";!p&&S&&b.push(...rn(i,f,h,L));const C=[i,...b],A=await ot(t,y),w=[];let D=((a=o.flip)==null?void 0:a.overflows)||[];if(c&&w.push(A[m]),u){const k=Zt(r,s,L);w.push(A[k[0]],A[k[1]])}if(D=[...D,{placement:r,overflows:w}],!w.every(k=>k<=0)){var _,I;const k=(((_=o.flip)==null?void 0:_.index)||0)+1,Q=C[k];if(Q&&(!(u==="alignment"?x!==te(Q):!1)||D.every(Y=>te(Y.placement)===x?Y.overflows[0]>0:!0)))return{data:{index:k,overflows:D},reset:{placement:Q}};let Z=(I=D.filter(V=>V.overflows[0]<=0).sort((V,Y)=>V.overflows[1]-Y.overflows[1])[0])==null?void 0:I.placement;if(!Z)switch(g){case"bestFit":{var $;const V=($=D.filter(Y=>{if(S){const ae=te(Y.placement);return ae===x||ae==="y"}return!0}).map(Y=>[Y.placement,Y.overflows.filter(ae=>ae>0).reduce((ae,na)=>ae+na,0)]).sort((Y,ae)=>Y[1]-ae[1])[0])==null?void 0:$[0];V&&(Z=V);break}case"initialPlacement":Z=i;break}if(r!==Z)return{reset:{placement:Z}}}return{}}}},cn=new Set(["left","top"]);async function pn(e,t){const{placement:n,platform:a,elements:r}=e,o=await(a.isRTL==null?void 0:a.isRTL(r.floating)),s=se(n),i=ye(n),d=te(n)==="y",l=cn.has(s)?-1:1,c=o&&d?-1:1,u=me(t,e);let{mainAxis:p,crossAxis:g,alignmentAxis:h}=typeof u=="number"?{mainAxis:u,crossAxis:0,alignmentAxis:null}:{mainAxis:u.mainAxis||0,crossAxis:u.crossAxis||0,alignmentAxis:u.alignmentAxis};return i&&typeof h=="number"&&(g=i==="end"?h*-1:h),d?{x:g*c,y:p*l}:{x:p*l,y:g*c}}const un=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,a;const{x:r,y:o,placement:s,middlewareData:i}=t,d=await pn(t,e);return s===((n=i.offset)==null?void 0:n.placement)&&(a=i.arrow)!=null&&a.alignmentOffset?{}:{x:r+d.x,y:o+d.y,data:{...d,placement:s}}}}},gn=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:a,placement:r}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:i={fn:y=>{let{x:m,y:x}=y;return{x:m,y:x}}},...d}=me(e,t),l={x:n,y:a},c=await ot(t,d),u=te(se(r)),p=tt(u);let g=l[p],h=l[u];if(o){const y=p==="y"?"top":"left",m=p==="y"?"bottom":"right",x=g+c[y],E=g-c[m];g=Pe(x,g,E)}if(s){const y=u==="y"?"top":"left",m=u==="y"?"bottom":"right",x=h+c[y],E=h-c[m];h=Pe(x,h,E)}const f=i.fn({...t,[p]:g,[u]:h});return{...f,data:{x:f.x-n,y:f.y-a,enabled:{[p]:o,[u]:s}}}}}};function Ie(){return typeof window<"u"}function ie(e){return it(e)?(e.nodeName||"").toLowerCase():"#document"}function F(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function J(e){var t;return(t=(it(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function it(e){return Ie()?e instanceof Node||e instanceof F(e).Node:!1}function O(e){return Ie()?e instanceof Element||e instanceof F(e).Element:!1}function K(e){return Ie()?e instanceof HTMLElement||e instanceof F(e).HTMLElement:!1}function dt(e){return!Ie()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof F(e).ShadowRoot}const fn=new Set(["inline","contents"]);function ve(e){const{overflow:t,overflowX:n,overflowY:a,display:r}=H(e);return/auto|scroll|overlay|hidden|clip/.test(t+a+n)&&!fn.has(r)}const hn=new Set(["table","td","th"]);function mn(e){return hn.has(ie(e))}const yn=[":popover-open",":modal"];function Me(e){return yn.some(t=>{try{return e.matches(t)}catch{return!1}})}const vn=["transform","translate","scale","rotate","perspective"],bn=["transform","translate","scale","rotate","perspective","filter"],Dn=["paint","layout","strict","content"];function ze(e){const t=Fe(),n=O(e)?H(e):e;return vn.some(a=>n[a]?n[a]!=="none":!1)||(n.containerType?n.containerType!=="normal":!1)||!t&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!t&&(n.filter?n.filter!=="none":!1)||bn.some(a=>(n.willChange||"").includes(a))||Dn.some(a=>(n.contain||"").includes(a))}function wn(e){let t=ne(e);for(;K(t)&&!de(t);){if(ze(t))return t;if(Me(t))return null;t=ne(t)}return null}function Fe(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const _n=new Set(["html","body","#document"]);function de(e){return _n.has(ie(e))}function H(e){return F(e).getComputedStyle(e)}function Ee(e){return O(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function ne(e){if(ie(e)==="html")return e;const t=e.assignedSlot||e.parentNode||dt(e)&&e.host||J(e);return dt(t)?t.host:t}function lt(e){const t=ne(e);return de(t)?e.ownerDocument?e.ownerDocument.body:e.body:K(t)&&ve(t)?t:lt(t)}function ct(e,t,n){var a;t===void 0&&(t=[]);const r=lt(e),o=r===((a=e.ownerDocument)==null?void 0:a.body),s=F(r);return o?(Ne(s),t.concat(s,s.visualViewport||[],ve(r)?r:[],[])):t.concat(r,ct(r,[]))}function Ne(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function pt(e){const t=H(e);let n=parseFloat(t.width)||0,a=parseFloat(t.height)||0;const r=K(e),o=r?e.offsetWidth:n,s=r?e.offsetHeight:a,i=_e(n)!==o||_e(a)!==s;return i&&(n=o,a=s),{width:n,height:a,$:i}}function ut(e){return O(e)?e:e.contextElement}function le(e){const t=ut(e);if(!K(t))return W(1);const n=t.getBoundingClientRect(),{width:a,height:r,$:o}=pt(t);let s=(o?_e(n.width):n.width)/a,i=(o?_e(n.height):n.height)/r;return(!s||!Number.isFinite(s))&&(s=1),(!i||!Number.isFinite(i))&&(i=1),{x:s,y:i}}const xn=W(0);function gt(e){const t=F(e);return!Fe()||!t.visualViewport?xn:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Sn(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==F(e)?!1:t}function be(e,t,n,a){t===void 0&&(t=!1),n===void 0&&(n=!1);const r=e.getBoundingClientRect(),o=ut(e);let s=W(1);t&&(a?O(a)&&(s=le(a)):s=le(e));const i=Sn(o,n,a)?gt(o):W(0);let d=(r.left+i.x)/s.x,l=(r.top+i.y)/s.y,c=r.width/s.x,u=r.height/s.y;if(o){const p=F(o),g=a&&O(a)?F(a):a;let h=p,f=Ne(h);for(;f&&a&&g!==h;){const y=le(f),m=f.getBoundingClientRect(),x=H(f),E=m.left+(f.clientLeft+parseFloat(x.paddingLeft))*y.x,L=m.top+(f.clientTop+parseFloat(x.paddingTop))*y.y;d*=y.x,l*=y.y,c*=y.x,u*=y.y,d+=E,l+=L,h=F(f),f=Ne(h)}}return Se({width:c,height:u,x:d,y:l})}function Le(e,t){const n=Ee(e).scrollLeft;return t?t.left+n:be(J(e)).left+n}function ft(e,t){const n=e.getBoundingClientRect(),a=n.left+t.scrollLeft-Le(e,n),r=n.top+t.scrollTop;return{x:a,y:r}}function In(e){let{elements:t,rect:n,offsetParent:a,strategy:r}=e;const o=r==="fixed",s=J(a),i=t?Me(t.floating):!1;if(a===s||i&&o)return n;let d={scrollLeft:0,scrollTop:0},l=W(1);const c=W(0),u=K(a);if((u||!u&&!o)&&((ie(a)!=="body"||ve(s))&&(d=Ee(a)),K(a))){const g=be(a);l=le(a),c.x=g.x+a.clientLeft,c.y=g.y+a.clientTop}const p=s&&!u&&!o?ft(s,d):W(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-d.scrollLeft*l.x+c.x+p.x,y:n.y*l.y-d.scrollTop*l.y+c.y+p.y}}function Mn(e){return Array.from(e.getClientRects())}function En(e){const t=J(e),n=Ee(e),a=e.ownerDocument.body,r=oe(t.scrollWidth,t.clientWidth,a.scrollWidth,a.clientWidth),o=oe(t.scrollHeight,t.clientHeight,a.scrollHeight,a.clientHeight);let s=-n.scrollLeft+Le(e);const i=-n.scrollTop;return H(a).direction==="rtl"&&(s+=oe(t.clientWidth,a.clientWidth)-r),{width:r,height:o,x:s,y:i}}const ht=25;function Ln(e,t){const n=F(e),a=J(e),r=n.visualViewport;let o=a.clientWidth,s=a.clientHeight,i=0,d=0;if(r){o=r.width,s=r.height;const c=Fe();(!c||c&&t==="fixed")&&(i=r.offsetLeft,d=r.offsetTop)}const l=Le(a);if(l<=0){const c=a.ownerDocument,u=c.body,p=getComputedStyle(u),g=c.compatMode==="CSS1Compat"&&parseFloat(p.marginLeft)+parseFloat(p.marginRight)||0,h=Math.abs(a.clientWidth-u.clientWidth-g);h<=ht&&(o-=h)}else l<=ht&&(o+=l);return{width:o,height:s,x:i,y:d}}const Cn=new Set(["absolute","fixed"]);function An(e,t){const n=be(e,!0,t==="fixed"),a=n.top+e.clientTop,r=n.left+e.clientLeft,o=K(e)?le(e):W(1),s=e.clientWidth*o.x,i=e.clientHeight*o.y,d=r*o.x,l=a*o.y;return{width:s,height:i,x:d,y:l}}function mt(e,t,n){let a;if(t==="viewport")a=Ln(e,n);else if(t==="document")a=En(J(e));else if(O(t))a=An(t,n);else{const r=gt(e);a={x:t.x-r.x,y:t.y-r.y,width:t.width,height:t.height}}return Se(a)}function yt(e,t){const n=ne(e);return n===t||!O(n)||de(n)?!1:H(n).position==="fixed"||yt(n,t)}function kn(e,t){const n=t.get(e);if(n)return n;let a=ct(e,[]).filter(i=>O(i)&&ie(i)!=="body"),r=null;const o=H(e).position==="fixed";let s=o?ne(e):e;for(;O(s)&&!de(s);){const i=H(s),d=ze(s);!d&&i.position==="fixed"&&(r=null),(o?!d&&!r:!d&&i.position==="static"&&!!r&&Cn.has(r.position)||ve(s)&&!d&&yt(e,s))?a=a.filter(c=>c!==s):r=i,s=ne(s)}return t.set(e,a),a}function Pn(e){let{element:t,boundary:n,rootBoundary:a,strategy:r}=e;const s=[...n==="clippingAncestors"?Me(t)?[]:kn(t,this._c):[].concat(n),a],i=s[0],d=s.reduce((l,c)=>{const u=mt(t,c,r);return l.top=oe(u.top,l.top),l.right=he(u.right,l.right),l.bottom=he(u.bottom,l.bottom),l.left=oe(u.left,l.left),l},mt(t,i,r));return{width:d.right-d.left,height:d.bottom-d.top,x:d.left,y:d.top}}function Rn(e){const{width:t,height:n}=pt(e);return{width:t,height:n}}function $n(e,t,n){const a=K(t),r=J(t),o=n==="fixed",s=be(e,!0,o,t);let i={scrollLeft:0,scrollTop:0};const d=W(0);function l(){d.x=Le(r)}if(a||!a&&!o)if((ie(t)!=="body"||ve(r))&&(i=Ee(t)),a){const g=be(t,!0,o,t);d.x=g.x+t.clientLeft,d.y=g.y+t.clientTop}else r&&l();o&&!a&&r&&l();const c=r&&!a&&!o?ft(r,i):W(0),u=s.left+i.scrollLeft-d.x-c.x,p=s.top+i.scrollTop-d.y-c.y;return{x:u,y:p,width:s.width,height:s.height}}function Oe(e){return H(e).position==="static"}function vt(e,t){if(!K(e)||H(e).position==="fixed")return null;if(t)return t(e);let n=e.offsetParent;return J(e)===n&&(n=n.ownerDocument.body),n}function bt(e,t){const n=F(e);if(Me(e))return n;if(!K(e)){let r=ne(e);for(;r&&!de(r);){if(O(r)&&!Oe(r))return r;r=ne(r)}return n}let a=vt(e,t);for(;a&&mn(a)&&Oe(a);)a=vt(a,t);return a&&de(a)&&Oe(a)&&!ze(a)?n:a||wn(e)||n}const Tn=async function(e){const t=this.getOffsetParent||bt,n=this.getDimensions,a=await n(e.floating);return{reference:$n(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:a.width,height:a.height}}};function zn(e){return H(e).direction==="rtl"}const Fn={convertOffsetParentRelativeRectToViewportRelativeRect:In,getDocumentElement:J,getClippingRect:Pn,getOffsetParent:bt,getElementRects:Tn,getClientRects:Mn,getDimensions:Rn,getScale:le,isElement:O,isRTL:zn},He=un,Ve=gn,Dt=ln,Nn=dn,wt=(e,t,n)=>{const a=new Map,r={platform:Fn,...n},o={...r.platform,_c:a};return on(e,t,{...r,platform:o})};function _t(e){e.options.positioningMode!=="inline"&&(j.debug("show() - adding visible class"),e.isFirstRender&&(e.renderCalendar(),e.isFirstRender=!1),e.calendar.classList.add("drp-date-picker--visible"),e.isCalendarActive=!0,j.debug("show() - calendar classes:",e.calendar.className),St(e),setTimeout(()=>{const t=window.getComputedStyle(e.calendar);j.debug("show() - computed styles - display:",t.display,"position:",t.position,"left:",t.left,"top:",t.top,"z-index:",t.zIndex)},100))}function xt(e){if(e.options.positioningMode!=="inline"&&e.calendar.classList.contains("drp-date-picker--visible")){e.calendar.classList.remove("drp-date-picker--visible"),e.isCalendarActive=!1;for(let t=0;t<e.showingRollingSelector.length;t++)e.showingRollingSelector[t]=!1;e.isFirstRender||e.renderCalendar(),e.lockedPlacement=void 0}}function On(e){e.calendar.classList.contains("drp-date-picker--visible")?xt(e):_t(e)}async function St(e){if(j.debug("position() - locked placement:",e.lockedPlacement),!e.input)return;const t=e.lockedPlacement?[He(8),Ve({padding:8})]:[He(8),Dt(),Ve({padding:8})],n=await wt(e.input,e.calendar,{placement:e.lockedPlacement||e.options.calendarPlacement,middleware:t});j.debug("position() - FloatingUI computed - x:",n.x,"y:",n.y,"placement:",n.placement),e.lockedPlacement||(e.lockedPlacement=n.placement,j.debug("position() - locked placement to:",e.lockedPlacement)),e.calendar.style.left=`${n.x}px`,e.calendar.style.top=`${n.y}px`,j.debug("position() - applied styles to calendar")}async function Hn(e,t,n){if(!e.tooltip||!e.tooltipArrow)return;e.currentTooltipTarget=t,e.tooltip.textContent=n,e.tooltip.appendChild(e.tooltipArrow),e.tooltip.classList.add("drp-date-picker__tooltip--visible");const{x:a,y:r,placement:o,middlewareData:s}=await wt(t,e.tooltip,{placement:"top",middleware:[He(6),Dt(),Ve({padding:5}),Nn({element:e.tooltipArrow})]});if(Object.assign(e.tooltip.style,{left:`${a}px`,top:`${r}px`}),s.arrow){const{x:i,y:d}=s.arrow,l={top:"bottom",right:"left",bottom:"top",left:"right"}[o.split("-")[0]];Object.assign(e.tooltipArrow.style,{left:i!=null?`${i}px`:"",top:d!=null?`${d}px`:"",right:"",bottom:"",[l]:"-4px"})}}function Vn(e){e.tooltip&&(e.tooltip.classList.remove("drp-date-picker__tooltip--visible"),e.currentTooltipTarget=void 0)}function Yn(e){if(e.loadingOverlay)return;const t=document.createElement("div");t.className="drp-date-picker__loading-overlay",t.innerHTML=`
10
+ `}}function Zt(e){if(e.calendar.querySelectorAll(".drp-date-picker__day--drag-preview, .drp-date-picker__day--drag-invalid").forEach(r=>{r.classList.remove("drp-date-picker__day--drag-preview","drp-date-picker__day--drag-invalid")}),!e.dragPreviewStart||!e.dragPreviewEnd)return;const n=e.options.disabledDatesHandling==="block"&&e.hasDisabledDatesInRange(e.dragPreviewStart,e.dragPreviewEnd);e.calendar.querySelectorAll(".drp-date-picker__day").forEach(r=>{const o=r.dataset.date;if(!o)return;const[s,i,d]=o.split("-").map(Number),l=new Date(s,i-1,d);l>=e.dragPreviewStart&&l<=e.dragPreviewEnd&&(r.classList.add("drp-date-picker__day--drag-preview"),n&&r.classList.add("drp-date-picker__day--drag-invalid"))}),et(e)}const he=Math.min,oe=Math.max,we=Math.round,X=e=>({x:e,y:e}),en={left:"right",right:"left",bottom:"top",top:"bottom"},tn={start:"end",end:"start"};function Pe(e,t,n){return oe(e,he(t,n))}function me(e,t){return typeof e=="function"?e(t):e}function se(e){return e.split("-")[0]}function ye(e){return e.split("-")[1]}function tt(e){return e==="x"?"y":"x"}function ke(e){return e==="y"?"height":"width"}const nn=new Set(["top","bottom"]);function te(e){return nn.has(se(e))?"y":"x"}function Te(e){return tt(te(e))}function an(e,t,n){n===void 0&&(n=!1);const a=ye(e),r=Te(e),o=ke(r);let s=r==="x"?a===(n?"end":"start")?"right":"left":a==="start"?"bottom":"top";return t.reference[o]>t.floating[o]&&(s=xe(s)),[s,xe(s)]}function rn(e){const t=xe(e);return[ze(e),t,ze(t)]}function ze(e){return e.replace(/start|end/g,t=>tn[t])}const nt=["left","right"],at=["right","left"],sn=["top","bottom"],on=["bottom","top"];function dn(e,t,n){switch(e){case"top":case"bottom":return n?t?at:nt:t?nt:at;case"left":case"right":return t?sn:on;default:return[]}}function ln(e,t,n,a){const r=ye(e);let o=dn(se(e),n==="start",a);return r&&(o=o.map(s=>s+"-"+r),t&&(o=o.concat(o.map(ze)))),o}function xe(e){return e.replace(/left|right|bottom|top/g,t=>en[t])}function cn(e){return{top:0,right:0,bottom:0,left:0,...e}}function rt(e){return typeof e!="number"?cn(e):{top:e,right:e,bottom:e,left:e}}function Se(e){const{x:t,y:n,width:a,height:r}=e;return{width:a,height:r,top:n,left:t,right:t+a,bottom:n+r,x:t,y:n}}function st(e,t,n){let{reference:a,floating:r}=e;const o=te(t),s=Te(t),i=ke(s),d=se(t),l=o==="y",c=a.x+a.width/2-r.width/2,u=a.y+a.height/2-r.height/2,p=a[i]/2-r[i]/2;let g;switch(d){case"top":g={x:c,y:a.y-r.height};break;case"bottom":g={x:c,y:a.y+a.height};break;case"right":g={x:a.x+a.width,y:u};break;case"left":g={x:a.x-r.width,y:u};break;default:g={x:a.x,y:a.y}}switch(ye(t)){case"start":g[s]-=p*(n&&l?-1:1);break;case"end":g[s]+=p*(n&&l?-1:1);break}return g}const pn=async(e,t,n)=>{const{placement:a="bottom",strategy:r="absolute",middleware:o=[],platform:s}=n,i=o.filter(Boolean),d=await(s.isRTL==null?void 0:s.isRTL(t));let l=await s.getElementRects({reference:e,floating:t,strategy:r}),{x:c,y:u}=st(l,a,d),p=a,g={},h=0;for(let f=0;f<i.length;f++){const{name:y,fn:m}=i[f],{x,y:M,data:I,reset:b}=await m({x:c,y:u,initialPlacement:a,placement:p,strategy:r,middlewareData:g,rects:l,platform:s,elements:{reference:e,floating:t}});c=x??c,u=M??u,g={...g,[y]:{...g[y],...I}},b&&h<=50&&(h++,typeof b=="object"&&(b.placement&&(p=b.placement),b.rects&&(l=b.rects===!0?await s.getElementRects({reference:e,floating:t,strategy:r}):b.rects),{x:c,y:u}=st(l,p,d)),f=-1)}return{x:c,y:u,placement:p,strategy:r,middlewareData:g}};async function ot(e,t){var n;t===void 0&&(t={});const{x:a,y:r,platform:o,rects:s,elements:i,strategy:d}=e,{boundary:l="clippingAncestors",rootBoundary:c="viewport",elementContext:u="floating",altBoundary:p=!1,padding:g=0}=me(t,e),h=rt(g),y=i[p?u==="floating"?"reference":"floating":u],m=Se(await o.getClippingRect({element:(n=await(o.isElement==null?void 0:o.isElement(y)))==null||n?y:y.contextElement||await(o.getDocumentElement==null?void 0:o.getDocumentElement(i.floating)),boundary:l,rootBoundary:c,strategy:d})),x=u==="floating"?{x:a,y:r,width:s.floating.width,height:s.floating.height}:s.reference,M=await(o.getOffsetParent==null?void 0:o.getOffsetParent(i.floating)),I=await(o.isElement==null?void 0:o.isElement(M))?await(o.getScale==null?void 0:o.getScale(M))||{x:1,y:1}:{x:1,y:1},b=Se(o.convertOffsetParentRelativeRectToViewportRelativeRect?await o.convertOffsetParentRelativeRectToViewportRelativeRect({elements:i,rect:x,offsetParent:M,strategy:d}):x);return{top:(m.top-b.top+h.top)/I.y,bottom:(b.bottom-m.bottom+h.bottom)/I.y,left:(m.left-b.left+h.left)/I.x,right:(b.right-m.right+h.right)/I.x}}const un=e=>({name:"arrow",options:e,async fn(t){const{x:n,y:a,placement:r,rects:o,platform:s,elements:i,middlewareData:d}=t,{element:l,padding:c=0}=me(e,t)||{};if(l==null)return{};const u=rt(c),p={x:n,y:a},g=Te(r),h=ke(g),f=await s.getDimensions(l),y=g==="y",m=y?"top":"left",x=y?"bottom":"right",M=y?"clientHeight":"clientWidth",I=o.reference[h]+o.reference[g]-p[g]-o.floating[h],b=p[g]-o.reference[g],v=await(s.getOffsetParent==null?void 0:s.getOffsetParent(l));let L=v?v[M]:0;(!L||!await(s.isElement==null?void 0:s.isElement(v)))&&(L=i.floating[M]||o.floating[h]);const A=I/2-b/2,w=L/2-f[h]/2-1,_=he(u[m],w),S=he(u[x],w),E=_,k=L-f[h]-S,R=L/2-f[h]/2+A,V=Pe(E,R,k),q=!d.arrow&&ye(r)!=null&&R!==V&&o.reference[h]/2-(R<E?_:S)-f[h]/2<0,T=q?R<E?R-E:R-k:0;return{[g]:p[g]+T,data:{[g]:V,centerOffset:R-V-T,...q&&{alignmentOffset:T}},reset:q}}}),gn=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n,a;const{placement:r,middlewareData:o,rects:s,initialPlacement:i,platform:d,elements:l}=t,{mainAxis:c=!0,crossAxis:u=!0,fallbackPlacements:p,fallbackStrategy:g="bestFit",fallbackAxisSideDirection:h="none",flipAlignment:f=!0,...y}=me(e,t);if((n=o.arrow)!=null&&n.alignmentOffset)return{};const m=se(r),x=te(i),M=se(i)===i,I=await(d.isRTL==null?void 0:d.isRTL(l.floating)),b=p||(M||!f?[xe(i)]:rn(i)),v=h!=="none";!p&&v&&b.push(...ln(i,f,h,I));const L=[i,...b],A=await ot(t,y),w=[];let _=((a=o.flip)==null?void 0:a.overflows)||[];if(c&&w.push(A[m]),u){const R=an(r,s,I);w.push(A[R[0]],A[R[1]])}if(_=[..._,{placement:r,overflows:w}],!w.every(R=>R<=0)){var S,E;const R=(((S=o.flip)==null?void 0:S.index)||0)+1,V=L[R];if(V&&(!(u==="alignment"?x!==te(V):!1)||_.every(B=>te(B.placement)===x?B.overflows[0]>0:!0)))return{data:{index:R,overflows:_},reset:{placement:V}};let q=(E=_.filter(T=>T.overflows[0]<=0).sort((T,B)=>T.overflows[1]-B.overflows[1])[0])==null?void 0:E.placement;if(!q)switch(g){case"bestFit":{var k;const T=(k=_.filter(B=>{if(v){const ae=te(B.placement);return ae===x||ae==="y"}return!0}).map(B=>[B.placement,B.overflows.filter(ae=>ae>0).reduce((ae,oa)=>ae+oa,0)]).sort((B,ae)=>B[1]-ae[1])[0])==null?void 0:k[0];T&&(q=T);break}case"initialPlacement":q=i;break}if(r!==q)return{reset:{placement:q}}}return{}}}},fn=new Set(["left","top"]);async function hn(e,t){const{placement:n,platform:a,elements:r}=e,o=await(a.isRTL==null?void 0:a.isRTL(r.floating)),s=se(n),i=ye(n),d=te(n)==="y",l=fn.has(s)?-1:1,c=o&&d?-1:1,u=me(t,e);let{mainAxis:p,crossAxis:g,alignmentAxis:h}=typeof u=="number"?{mainAxis:u,crossAxis:0,alignmentAxis:null}:{mainAxis:u.mainAxis||0,crossAxis:u.crossAxis||0,alignmentAxis:u.alignmentAxis};return i&&typeof h=="number"&&(g=i==="end"?h*-1:h),d?{x:g*c,y:p*l}:{x:p*l,y:g*c}}const mn=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,a;const{x:r,y:o,placement:s,middlewareData:i}=t,d=await hn(t,e);return s===((n=i.offset)==null?void 0:n.placement)&&(a=i.arrow)!=null&&a.alignmentOffset?{}:{x:r+d.x,y:o+d.y,data:{...d,placement:s}}}}},yn=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:a,placement:r}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:i={fn:y=>{let{x:m,y:x}=y;return{x:m,y:x}}},...d}=me(e,t),l={x:n,y:a},c=await ot(t,d),u=te(se(r)),p=tt(u);let g=l[p],h=l[u];if(o){const y=p==="y"?"top":"left",m=p==="y"?"bottom":"right",x=g+c[y],M=g-c[m];g=Pe(x,g,M)}if(s){const y=u==="y"?"top":"left",m=u==="y"?"bottom":"right",x=h+c[y],M=h-c[m];h=Pe(x,h,M)}const f=i.fn({...t,[p]:g,[u]:h});return{...f,data:{x:f.x-n,y:f.y-a,enabled:{[p]:o,[u]:s}}}}}};function Me(){return typeof window<"u"}function ie(e){return it(e)?(e.nodeName||"").toLowerCase():"#document"}function N(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Z(e){var t;return(t=(it(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function it(e){return Me()?e instanceof Node||e instanceof N(e).Node:!1}function H(e){return Me()?e instanceof Element||e instanceof N(e).Element:!1}function G(e){return Me()?e instanceof HTMLElement||e instanceof N(e).HTMLElement:!1}function dt(e){return!Me()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof N(e).ShadowRoot}const vn=new Set(["inline","contents"]);function ve(e){const{overflow:t,overflowX:n,overflowY:a,display:r}=Y(e);return/auto|scroll|overlay|hidden|clip/.test(t+a+n)&&!vn.has(r)}const Dn=new Set(["table","td","th"]);function bn(e){return Dn.has(ie(e))}const _n=[":popover-open",":modal"];function Ie(e){return _n.some(t=>{try{return e.matches(t)}catch{return!1}})}const wn=["transform","translate","scale","rotate","perspective"],xn=["transform","translate","scale","rotate","perspective","filter"],Sn=["paint","layout","strict","content"];function Fe(e){const t=Ne(),n=H(e)?Y(e):e;return wn.some(a=>n[a]?n[a]!=="none":!1)||(n.containerType?n.containerType!=="normal":!1)||!t&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!t&&(n.filter?n.filter!=="none":!1)||xn.some(a=>(n.willChange||"").includes(a))||Sn.some(a=>(n.contain||"").includes(a))}function Mn(e){let t=ne(e);for(;G(t)&&!de(t);){if(Fe(t))return t;if(Ie(t))return null;t=ne(t)}return null}function Ne(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const In=new Set(["html","body","#document"]);function de(e){return In.has(ie(e))}function Y(e){return N(e).getComputedStyle(e)}function Ee(e){return H(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function ne(e){if(ie(e)==="html")return e;const t=e.assignedSlot||e.parentNode||dt(e)&&e.host||Z(e);return dt(t)?t.host:t}function lt(e){const t=ne(e);return de(t)?e.ownerDocument?e.ownerDocument.body:e.body:G(t)&&ve(t)?t:lt(t)}function ct(e,t,n){var a;t===void 0&&(t=[]);const r=lt(e),o=r===((a=e.ownerDocument)==null?void 0:a.body),s=N(r);return o?(Oe(s),t.concat(s,s.visualViewport||[],ve(r)?r:[],[])):t.concat(r,ct(r,[]))}function Oe(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function pt(e){const t=Y(e);let n=parseFloat(t.width)||0,a=parseFloat(t.height)||0;const r=G(e),o=r?e.offsetWidth:n,s=r?e.offsetHeight:a,i=we(n)!==o||we(a)!==s;return i&&(n=o,a=s),{width:n,height:a,$:i}}function ut(e){return H(e)?e:e.contextElement}function le(e){const t=ut(e);if(!G(t))return X(1);const n=t.getBoundingClientRect(),{width:a,height:r,$:o}=pt(t);let s=(o?we(n.width):n.width)/a,i=(o?we(n.height):n.height)/r;return(!s||!Number.isFinite(s))&&(s=1),(!i||!Number.isFinite(i))&&(i=1),{x:s,y:i}}const En=X(0);function gt(e){const t=N(e);return!Ne()||!t.visualViewport?En:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Cn(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==N(e)?!1:t}function De(e,t,n,a){t===void 0&&(t=!1),n===void 0&&(n=!1);const r=e.getBoundingClientRect(),o=ut(e);let s=X(1);t&&(a?H(a)&&(s=le(a)):s=le(e));const i=Cn(o,n,a)?gt(o):X(0);let d=(r.left+i.x)/s.x,l=(r.top+i.y)/s.y,c=r.width/s.x,u=r.height/s.y;if(o){const p=N(o),g=a&&H(a)?N(a):a;let h=p,f=Oe(h);for(;f&&a&&g!==h;){const y=le(f),m=f.getBoundingClientRect(),x=Y(f),M=m.left+(f.clientLeft+parseFloat(x.paddingLeft))*y.x,I=m.top+(f.clientTop+parseFloat(x.paddingTop))*y.y;d*=y.x,l*=y.y,c*=y.x,u*=y.y,d+=M,l+=I,h=N(f),f=Oe(h)}}return Se({width:c,height:u,x:d,y:l})}function Ce(e,t){const n=Ee(e).scrollLeft;return t?t.left+n:De(Z(e)).left+n}function ft(e,t){const n=e.getBoundingClientRect(),a=n.left+t.scrollLeft-Ce(e,n),r=n.top+t.scrollTop;return{x:a,y:r}}function Ln(e){let{elements:t,rect:n,offsetParent:a,strategy:r}=e;const o=r==="fixed",s=Z(a),i=t?Ie(t.floating):!1;if(a===s||i&&o)return n;let d={scrollLeft:0,scrollTop:0},l=X(1);const c=X(0),u=G(a);if((u||!u&&!o)&&((ie(a)!=="body"||ve(s))&&(d=Ee(a)),G(a))){const g=De(a);l=le(a),c.x=g.x+a.clientLeft,c.y=g.y+a.clientTop}const p=s&&!u&&!o?ft(s,d):X(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-d.scrollLeft*l.x+c.x+p.x,y:n.y*l.y-d.scrollTop*l.y+c.y+p.y}}function An(e){return Array.from(e.getClientRects())}function Rn(e){const t=Z(e),n=Ee(e),a=e.ownerDocument.body,r=oe(t.scrollWidth,t.clientWidth,a.scrollWidth,a.clientWidth),o=oe(t.scrollHeight,t.clientHeight,a.scrollHeight,a.clientHeight);let s=-n.scrollLeft+Ce(e);const i=-n.scrollTop;return Y(a).direction==="rtl"&&(s+=oe(t.clientWidth,a.clientWidth)-r),{width:r,height:o,x:s,y:i}}const ht=25;function $n(e,t){const n=N(e),a=Z(e),r=n.visualViewport;let o=a.clientWidth,s=a.clientHeight,i=0,d=0;if(r){o=r.width,s=r.height;const c=Ne();(!c||c&&t==="fixed")&&(i=r.offsetLeft,d=r.offsetTop)}const l=Ce(a);if(l<=0){const c=a.ownerDocument,u=c.body,p=getComputedStyle(u),g=c.compatMode==="CSS1Compat"&&parseFloat(p.marginLeft)+parseFloat(p.marginRight)||0,h=Math.abs(a.clientWidth-u.clientWidth-g);h<=ht&&(o-=h)}else l<=ht&&(o+=l);return{width:o,height:s,x:i,y:d}}const Pn=new Set(["absolute","fixed"]);function kn(e,t){const n=De(e,!0,t==="fixed"),a=n.top+e.clientTop,r=n.left+e.clientLeft,o=G(e)?le(e):X(1),s=e.clientWidth*o.x,i=e.clientHeight*o.y,d=r*o.x,l=a*o.y;return{width:s,height:i,x:d,y:l}}function mt(e,t,n){let a;if(t==="viewport")a=$n(e,n);else if(t==="document")a=Rn(Z(e));else if(H(t))a=kn(t,n);else{const r=gt(e);a={x:t.x-r.x,y:t.y-r.y,width:t.width,height:t.height}}return Se(a)}function yt(e,t){const n=ne(e);return n===t||!H(n)||de(n)?!1:Y(n).position==="fixed"||yt(n,t)}function Tn(e,t){const n=t.get(e);if(n)return n;let a=ct(e,[]).filter(i=>H(i)&&ie(i)!=="body"),r=null;const o=Y(e).position==="fixed";let s=o?ne(e):e;for(;H(s)&&!de(s);){const i=Y(s),d=Fe(s);!d&&i.position==="fixed"&&(r=null),(o?!d&&!r:!d&&i.position==="static"&&!!r&&Pn.has(r.position)||ve(s)&&!d&&yt(e,s))?a=a.filter(c=>c!==s):r=i,s=ne(s)}return t.set(e,a),a}function zn(e){let{element:t,boundary:n,rootBoundary:a,strategy:r}=e;const s=[...n==="clippingAncestors"?Ie(t)?[]:Tn(t,this._c):[].concat(n),a],i=s[0],d=s.reduce((l,c)=>{const u=mt(t,c,r);return l.top=oe(u.top,l.top),l.right=he(u.right,l.right),l.bottom=he(u.bottom,l.bottom),l.left=oe(u.left,l.left),l},mt(t,i,r));return{width:d.right-d.left,height:d.bottom-d.top,x:d.left,y:d.top}}function Fn(e){const{width:t,height:n}=pt(e);return{width:t,height:n}}function Nn(e,t,n){const a=G(t),r=Z(t),o=n==="fixed",s=De(e,!0,o,t);let i={scrollLeft:0,scrollTop:0};const d=X(0);function l(){d.x=Ce(r)}if(a||!a&&!o)if((ie(t)!=="body"||ve(r))&&(i=Ee(t)),a){const g=De(t,!0,o,t);d.x=g.x+t.clientLeft,d.y=g.y+t.clientTop}else r&&l();o&&!a&&r&&l();const c=r&&!a&&!o?ft(r,i):X(0),u=s.left+i.scrollLeft-d.x-c.x,p=s.top+i.scrollTop-d.y-c.y;return{x:u,y:p,width:s.width,height:s.height}}function He(e){return Y(e).position==="static"}function vt(e,t){if(!G(e)||Y(e).position==="fixed")return null;if(t)return t(e);let n=e.offsetParent;return Z(e)===n&&(n=n.ownerDocument.body),n}function Dt(e,t){const n=N(e);if(Ie(e))return n;if(!G(e)){let r=ne(e);for(;r&&!de(r);){if(H(r)&&!He(r))return r;r=ne(r)}return n}let a=vt(e,t);for(;a&&bn(a)&&He(a);)a=vt(a,t);return a&&de(a)&&He(a)&&!Fe(a)?n:a||Mn(e)||n}const On=async function(e){const t=this.getOffsetParent||Dt,n=this.getDimensions,a=await n(e.floating);return{reference:Nn(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:a.width,height:a.height}}};function Hn(e){return Y(e).direction==="rtl"}const Yn={convertOffsetParentRelativeRectToViewportRelativeRect:Ln,getDocumentElement:Z,getClippingRect:zn,getOffsetParent:Dt,getElementRects:On,getClientRects:An,getDimensions:Fn,getScale:le,isElement:H,isRTL:Hn},Ye=mn,Ve=yn,bt=gn,Vn=un,_t=(e,t,n)=>{const a=new Map,r={platform:Yn,...n},o={...r.platform,_c:a};return pn(e,t,{...r,platform:o})};function wt(e){e.options.positioningMode!=="inline"&&(U.debug("show() - adding visible class"),e.isFirstRender&&(e.renderCalendar(),e.isFirstRender=!1),e.calendar.classList.add("drp-date-picker--visible"),e.isCalendarActive=!0,U.debug("show() - calendar classes:",e.calendar.className),St(e),setTimeout(()=>{const t=window.getComputedStyle(e.calendar);U.debug("show() - computed styles - display:",t.display,"position:",t.position,"left:",t.left,"top:",t.top,"z-index:",t.zIndex)},100))}function xt(e){if(e.options.positioningMode!=="inline"&&e.calendar.classList.contains("drp-date-picker--visible")){e.calendar.classList.remove("drp-date-picker--visible"),e.isCalendarActive=!1;for(let t=0;t<e.showingRollingSelector.length;t++)e.showingRollingSelector[t]=!1;e.isFirstRender||e.renderCalendar(),e.lockedPlacement=void 0}}function qn(e){e.calendar.classList.contains("drp-date-picker--visible")?xt(e):wt(e)}async function St(e){if(U.debug("position() - locked placement:",e.lockedPlacement),!e.input)return;const t=e.lockedPlacement?[Ye(8),Ve({padding:8})]:[Ye(8),bt(),Ve({padding:8})],n=await _t(e.input,e.calendar,{placement:e.lockedPlacement||e.options.calendarPlacement,middleware:t});U.debug("position() - FloatingUI computed - x:",n.x,"y:",n.y,"placement:",n.placement),e.lockedPlacement||(e.lockedPlacement=n.placement,U.debug("position() - locked placement to:",e.lockedPlacement)),e.calendar.style.left=`${n.x}px`,e.calendar.style.top=`${n.y}px`,U.debug("position() - applied styles to calendar")}async function Bn(e,t,n){if(!e.tooltip||!e.tooltipArrow)return;e.currentTooltipTarget=t,e.tooltip.textContent=n,e.tooltip.appendChild(e.tooltipArrow),e.tooltip.classList.add("drp-date-picker__tooltip--visible");const{x:a,y:r,placement:o,middlewareData:s}=await _t(t,e.tooltip,{placement:"top",middleware:[Ye(6),bt(),Ve({padding:5}),Vn({element:e.tooltipArrow})]});if(Object.assign(e.tooltip.style,{left:`${a}px`,top:`${r}px`}),s.arrow){const{x:i,y:d}=s.arrow,l={top:"bottom",right:"left",bottom:"top",left:"right"}[o.split("-")[0]];Object.assign(e.tooltipArrow.style,{left:i!=null?`${i}px`:"",top:d!=null?`${d}px`:"",right:"",bottom:"",[l]:"-4px"})}}function Wn(e){e.tooltip&&(e.tooltip.classList.remove("drp-date-picker__tooltip--visible"),e.currentTooltipTarget=void 0)}function jn(e){if(e.loadingOverlay)return;const t=document.createElement("div");t.className="drp-date-picker__loading-overlay",t.innerHTML=`
11
11
  <div class="drp-date-picker__loading-spinner"></div>
12
- `,e.calendar.appendChild(t),e.loadingOverlay=t}function It(e){e.loadingOverlay&&(e.loadingOverlay.remove(),e.loadingOverlay=void 0)}async function Mt(e,t,n){if(X.debug(" validateRangeAsync called - mode:",e.options.disabledDatesHandling,"start:",t,"end:",n),e.options.disabledDatesHandling==="prevent"){if(X.debug(" Checking PREVENT mode"),e.hasDisabledDatesInRange(t,n))return X.debug(" PREVENT mode - range contains disabled dates"),{isValid:!1,message:"Range contains disabled dates"}}else if(e.options.disabledDatesHandling==="block"&&(X.debug(" Checking BLOCK mode"),e.hasDisabledDatesInRange(t,n))){X.debug(" BLOCK mode - range contains disabled dates, adjusting");const a=e.findLastEnabledBeforeGap(t,n);return X.debug(" BLOCK mode - adjusted end:",a),{isValid:!0,adjustedStart:t,adjustedEnd:a}}if(e.options.validateRangeCallback)try{e.isValidating=!0,Yn(e);const a=await e.options.validateRangeCallback(t,n);switch(It(e),e.isValidating=!1,a.action){case"accept":return{isValid:!0};case"adjust":return a.adjustedStartDate&&a.adjustedEndDate?{isValid:!0,adjustedStart:a.adjustedStartDate,adjustedEnd:a.adjustedEndDate,message:a.message}:{isValid:!1,message:a.message||"Invalid adjustment"};case"restore":return{isValid:!1,message:a.message};case"clear":return e.clearSelection(),{isValid:!1,message:a.message};default:return{isValid:!1,message:"Unknown validation action"}}}catch(a){return It(e),e.isValidating=!1,P.error("validateRangeAsync() - async validation error:",a),{isValid:!1,message:"Validation error occurred"}}return{isValid:!0}}async function qn(e,t){if(t.classList.contains("drp-date-picker__day--disabled"))return;if(!t.dataset||!t.dataset.date){P.warn("selectDay() - called with invalid element:",t);return}const[n,a,r]=t.dataset.date.split("-").map(Number),o=new Date(n,a,r);t.classList.contains("drp-date-picker__day--other-month");const s=t.closest(".drp-date-picker__days");if(s&&s instanceof HTMLElement){e.activeMonthIndex=parseInt(s.dataset.monthIndex||"0")||0,re.debug(`Col${e.activeMonthIndex} selectDay - activeMonthIndex:`,e.activeMonthIndex);const i=s.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");e.focusedDayIndex=Array.from(i).indexOf(t),re.debug(`Col${e.activeMonthIndex} selectDay - set focusedDayIndex to:`,e.focusedDayIndex)}if(e.options.selectionMode==="single")e.selectedDate=o,e.input&&(e.input.value=e.formatDate(o)),e.options.onSelect&&e.options.onSelect(o),e.options.positioningMode==="floating"&&e.hide();else if(!e.selectedStartDate||e.selectedEndDate)e.selectedStartDate=o,e.selectedEndDate=null,e.input&&(e.input.value=`${e.formatDate(e.selectedStartDate)} - ...`);else{let i=e.selectedStartDate,d=o;o<e.selectedStartDate&&(d=e.selectedStartDate,i=o),re.debug(" selectDay - calling validateRangeAsync with:",i,d);const l=await Mt(e,i,d);if(re.debug(" selectDay - validation result:",l),!l.isValid){l.message&&P.warn("selectDay() - range validation failed:",l.message),e.renderCalendar(),e.updateSummary();return}e.selectedStartDate=l.adjustedStart||i,e.selectedEndDate=l.adjustedEnd||d,e.input&&(e.input.value=`${e.formatDate(e.selectedStartDate)} - ${e.formatDate(e.selectedEndDate)}`),e.options.onSelect&&e.options.onSelect({start:e.selectedStartDate,end:e.selectedEndDate})}if(e.renderCalendar(),e.updateSummary(),e.options.selectionMode==="range"&&e.selectedEndDate){const i=e.selectedEndDate;for(let d=0;d<e.monthDates.length;d++){const l=e.monthDates[d];if(i.getFullYear()===l.getFullYear()&&i.getMonth()===l.getMonth()){e.activeMonthIndex=d;const c=e.calendar.querySelector(`.drp-date-picker__days[data-month-index="${d}"]`);if(c){const u=c.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)"),p=Array.from(u).findIndex(g=>{const h=g.dataset.date;if(!h)return!1;const[f,y,m]=h.split("-").map(Number),x=new Date(f,y,m);return e.isSameDay(x,i)});p!==-1&&(e.focusedDayIndex=p,u.forEach(g=>g.classList.remove("drp-date-picker__day--focused")),u[p]&&u[p].classList.add("drp-date-picker__day--focused"))}break}}}}function Bn(e){e.monthDates[e.activeMonthIndex]=new Date,e.selectedDate=new Date,e.input&&(e.input.value=e.formatDate(e.selectedDate)),e.options.onSelect&&e.options.onSelect(e.selectedDate),e.renderCalendar(),e.options.selectionMode==="single"&&e.hide()}function jn(e){e.selectedDate=null,e.selectedStartDate=null,e.selectedEndDate=null,e.input&&(e.input.value=""),e.renderCalendar(),e.updateSummary()}function Wn(e){e.selectedStartDate&&e.selectedEndDate&&e.hide()}function Kn(e){e.options.selectionMode==="range"&&e.calendar.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--disabled):not(.drp-date-picker__day--other-month)").forEach(n=>{n.addEventListener("mousedown",a=>{const r=a,o=n,s=r.clientX,i=r.clientY,d=5;let l=!1,c=!1;const u=o.classList.contains("drp-date-picker__day--range-start"),p=o.classList.contains("drp-date-picker__day--range-end");let g;u&&e.selectedStartDate&&e.selectedEndDate?g="start":p&&e.selectedStartDate&&e.selectedEndDate?g="end":g="start";const h=y=>{const m=Math.abs(y.clientX-s),x=Math.abs(y.clientY-i);!l&&(m>d||x>d)&&(l=!0),l&&!c&&(c=!0,Et(e,r,g,o),document.removeEventListener("mousemove",h),document.removeEventListener("mouseup",f))},f=()=>{document.removeEventListener("mousemove",h),document.removeEventListener("mouseup",f)};document.addEventListener("mousemove",h),document.addEventListener("mouseup",f)})})}function Et(e,t,n,a){t.preventDefault(),t.stopPropagation(),e.isDragging=!0,e.draggingType=n;const r=a,o=r.dataset.date;let s=null;if(o){const[i,d,l]=o.split("-").map(Number);s=new Date(i,d,l)}!e.selectedStartDate&&!e.selectedEndDate?s&&(e.originalStartDate=s,e.originalEndDate=null,e.draggingType="end"):s&&e.selectedStartDate&&!e.selectedEndDate?s.getTime()===e.selectedStartDate.getTime()?(e.originalStartDate=new Date(e.selectedStartDate),e.originalEndDate=null):(e.selectedStartDate=null,e.selectedEndDate=null,e.originalStartDate=s,e.originalEndDate=null,e.draggingType="end"):(e.selectedStartDate&&(e.originalStartDate=new Date(e.selectedStartDate)),e.selectedEndDate&&(e.originalEndDate=new Date(e.selectedEndDate))),r.classList.add("drp-date-picker__day--dragging"),N.debug(`Started dragging ${n} date`),e.onDragMoveBound=i=>Lt(e,i),e.onDragEndBound=async i=>await Ct(e),document.addEventListener("mousemove",e.onDragMoveBound),document.addEventListener("mouseup",e.onDragEndBound),document.body.style.cursor="grabbing"}function Lt(e,t){if(!e.isDragging)return;let n=null;e.containerElement instanceof ShadowRoot&&"elementsFromPoint"in e.containerElement?n=e.containerElement.elementsFromPoint(t.clientX,t.clientY)[0]||null:n=document.elementFromPoint(t.clientX,t.clientY);const a=n==null?void 0:n.closest(".drp-date-picker__nav--prev"),r=n==null?void 0:n.closest(".drp-date-picker__nav--next");if(a||r){if(!e.navInterval){const p=(a||r).closest(".drp-date-picker__month");if(p&&p instanceof HTMLElement){const g=parseInt(p.dataset.monthIndex||"0"),h=!!a;h?e.prevMonth(g):e.nextMonth(g),e.navInterval=window.setInterval(()=>{h?e.prevMonth(g):e.nextMonth(g)},1e3)}}return}else e.navInterval&&(clearInterval(e.navInterval),e.navInterval=null);const o=n;if(!o||!o.classList.contains("drp-date-picker__day"))return;const s=o.dataset.date;if(!s)return;const[i,d,l]=s.split("-").map(Number);let c=new Date(i,d,l);if(o.classList.contains("drp-date-picker__day--disabled")){const u=e.draggingType==="start"?e.originalEndDate&&c>e.originalEndDate?"backward":"forward":e.originalStartDate&&c<e.originalStartDate?"forward":"backward";c=Ce(e,c,u)}if(e.draggingType==="start"&&e.originalEndDate?(e.dragPreviewStart=c,e.dragPreviewEnd=e.originalEndDate,e.dragPreviewStart>e.dragPreviewEnd&&([e.dragPreviewStart,e.dragPreviewEnd]=[e.dragPreviewEnd,e.dragPreviewStart],e.draggingType="end")):e.originalStartDate&&(e.dragPreviewStart=e.originalStartDate,e.dragPreviewEnd=c,e.dragPreviewEnd<e.dragPreviewStart&&([e.dragPreviewStart,e.dragPreviewEnd]=[e.dragPreviewEnd,e.dragPreviewStart],e.draggingType="start")),e.dragPreviewStart&&e.dragPreviewEnd){const u=e.options.disabledDatesHandling;if(N.debug("onDragMove - mode:",u,"start:",e.dragPreviewStart,"end:",e.dragPreviewEnd),u==="prevent"&&e.hasDisabledDatesInRange(e.dragPreviewStart,e.dragPreviewEnd)){N.debug("PREVENT mode - range contains disabled dates, blocking preview update");return}else if(u==="block"&&e.hasDisabledDatesInRange(e.dragPreviewStart,e.dragPreviewEnd)){if(N.debug("BLOCK mode - range contains disabled dates, adjusting preview"),e.draggingType==="start"&&e.originalEndDate){const p=e.findLastEnabledBeforeGap(e.dragPreviewStart,e.originalEndDate);N.debug("BLOCK mode - adjusted end (dragging start):",p),e.dragPreviewEnd=p}else if(e.originalStartDate){const p=e.findLastEnabledBeforeGap(e.originalStartDate,e.dragPreviewEnd);N.debug("BLOCK mode - adjusted end (dragging end):",p),e.dragPreviewEnd=p}}}e.updateDragPreview()}async function Ct(e,t){if(e.isDragging){if(N.debug("Ended dragging, finalizing selection"),e.dragPreviewStart&&e.dragPreviewEnd){let n=Ce(e,e.dragPreviewStart,"forward"),a=Ce(e,e.dragPreviewEnd,"backward");n>a&&([n,a]=[a,n]),N.debug("onDragEnd - calling validateRangeAsync with:",n,a);const r=await Mt(e,n,a);N.debug("onDragEnd - validation result:",r),r.isValid?(e.selectedStartDate=r.adjustedStart||n,e.selectedEndDate=r.adjustedEnd||a,e.input&&(e.input.value=`${e.formatDate(e.selectedStartDate)} - ${e.formatDate(e.selectedEndDate)}`),e.options.onSelect&&e.options.onSelect({start:e.selectedStartDate,end:e.selectedEndDate})):r.message&&P.warn("onDragEnd() - drag validation failed:",r.message)}if(e.isDragging=!1,e.draggingType=null,e.dragPreviewStart=null,e.dragPreviewEnd=null,e.calendar.querySelectorAll(".drp-date-picker__day--dragging").forEach(n=>{n.classList.remove("drp-date-picker__day--dragging")}),e.onDragMoveBound&&document.removeEventListener("mousemove",e.onDragMoveBound),e.onDragEndBound&&document.removeEventListener("mouseup",e.onDragEndBound),e.navInterval&&(clearInterval(e.navInterval),e.navInterval=null),document.body.style.cursor="",e.renderCalendar(),e.updateSummary(),e.selectedEndDate){const n=e.selectedEndDate;for(let a=0;a<e.monthDates.length;a++){const r=e.monthDates[a];if(n.getFullYear()===r.getFullYear()&&n.getMonth()===r.getMonth()){e.activeMonthIndex=a;const o=e.calendar.querySelector(`.drp-date-picker__days[data-month-index="${a}"]`);if(o){const s=o.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)"),i=Array.from(s).findIndex(d=>{const l=d.dataset.date;if(!l)return!1;const[c,u,p]=l.split("-").map(Number),g=new Date(c,u,p);return e.isSameDay(g,n)});i!==-1&&(e.focusedDayIndex=i,s.forEach(d=>d.classList.remove("drp-date-picker__day--focused")),s[i]&&s[i].classList.add("drp-date-picker__day--focused"))}break}}}}}function Ce(e,t,n="forward"){let r=new Date(t);if(r.setHours(0,0,0,0),!e.isDateDisabledInternal(r))return r;const o=n==="forward"?1:-1;for(let i=1;i<=60;i++){const d=new Date(t);if(d.setDate(d.getDate()+i*o),d.setHours(0,0,0,0),!e.isDateDisabledInternal(d))return d}const s=-o;for(let i=1;i<=60;i++){const d=new Date(t);if(d.setDate(d.getDate()+i*s),d.setHours(0,0,0,0),!e.isDateDisabledInternal(d))return d}return t}function Un(e,t){const n=t.target,a=n.value,r=n.selectionStart||0,o=e._previousInputValue||"",s=a.length<o.length,{separator:i}=e.formatInfo;if(e.options.selectionMode==="range"){const d=a.replace(new RegExp(`[^0-9${i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}to ]`,"gi"),""),l=At(e,d);if(l!==a){n.value=l;let c=r;if(s)c=r;else if(l.length>a.length)if(l.includes(" to ")&&!a.includes(" to ")){const u=l.indexOf(" to ");r>=u&&r<=u+4?c=u+4:c=r+(l.length-a.length)}else c=r+(l.length-a.length);n.setSelectionRange(c,c)}}else{const d=a.replace(new RegExp(`[^0-9${i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}]`,"g"),""),l=ce(e,d);if(l!==a){n.value=l;let c=r;if(s)c=r;else if(l.length>a.length&&l[r]===i)c=r+1;else if(l.length>a.length){const u=(a.substring(0,r).match(new RegExp(i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g"))||[]).length,g=(l.substring(0,r).match(new RegExp(i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g"))||[]).length-u;c=r+g}n.setSelectionRange(c,c)}}e._previousInputValue=n.value,Ye(e)}function ce(e,t){var c,u,p;const{separator:n,parts:a,maxLength:r}=e.formatInfo,o=t.replace(new RegExp(n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g"),""),s=a.year?a.year.length:4,i=[{type:"year",pos:((c=a.year)==null?void 0:c.index)??0,length:s},{type:"month",pos:((u=a.month)==null?void 0:u.index)??1,length:2},{type:"day",pos:((p=a.day)==null?void 0:p.index)??2,length:2}].sort((g,h)=>g.pos-h.pos);let d="",l=0;for(let g=0;g<i.length;g++){const h=i[g],f=o.substring(l,l+h.length);if(!f)break;d+=f,l+=f.length,g<i.length-1&&f.length===h.length&&(d+=n)}return d.substring(0,r)}function At(e,t){const{separator:n,maxLength:a}=e.formatInfo,r=" to ";let o="",s="";if(t.includes(r)){const d=t.split(r);o=d[0],s=d.slice(1).join(r)}else o=t;const i=ce(e,o);if(i.length===a)if(t.includes(r)){const d=ce(e,s);return i+r+d}else return i+r;else return i}function Xn(e,t){const{key:n,ctrlKey:a,metaKey:r}=t,{separator:o}=e.formatInfo;if(e.calendar.classList.contains("drp-date-picker--visible")&&["ArrowUp","ArrowDown","Home","End","PageUp","PageDown"].includes(n)){t.preventDefault();return}if(!(["Backspace","Delete","Tab","Escape","Enter","ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End"].includes(n)||a||r)){if(n===o){const i=t.target,d=i.selectionStart||0,l=i.value;let c=0;for(let p=d-1;p>=0;p--)if(l[p]===o||l[p]===" "){c=p+1;break}const u=l.substring(c,d);if(/^\d$/.test(u)){t.preventDefault();const p=l.substring(0,c)+"0"+u+o+l.substring(d);i.value=p;const g=c+2+o.length;i.setSelectionRange(g,g),e._previousInputValue=p,i.dispatchEvent(new Event("input",{bubbles:!0}));return}}e.options.selectionMode==="range"?!/^\d$/.test(n)&&n!==o&&n!==" "&&n.toLowerCase()!=="t"&&n.toLowerCase()!=="o"&&t.preventDefault():!/^\d$/.test(n)&&n!==o&&t.preventDefault()}}function Gn(e,t){var p;t.preventDefault();const n=((p=t.clipboardData)==null?void 0:p.getData("text"))||"",{separator:a}=e.formatInfo,r=n.replace(new RegExp(`[^0-9${a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}]`,"g"),""),o=ce(e,r),s=t.target,i=s.selectionStart||0,d=s.selectionEnd||0,l=s.value,c=l.substring(0,i)+o+l.substring(d);s.value=ce(e,c);const u=i+o.length;s.setSelectionRange(u,u),s.dispatchEvent(new Event("input",{bubbles:!0})),Ye(e)}function Ye(e){if(!e.input)return;const t=e.input.value;if(ee.debug("updateCalendarFromInput - value:",t),!t)return;const{separator:n,parts:a,maxLength:r}=e.formatInfo;if(ee.debug("Format info:",{separator:n,parts:a,maxLength:r}),e.options.selectionMode==="range"&&t.includes(" to ")){const s=t.split(" to "),i=s[0],d=s[1];ee.debug("Range parts - start:",i,"end:",d),Ae(e,i,"start"),d&&Ae(e,d,"end");return}const o=e.options.selectionMode==="range"?"start":"single";Ae(e,t,o)}function Ae(e,t,n="single"){const{separator:a,parts:r,maxLength:o}=e.formatInfo,s=t.split(a);let i=null,d=null,l=null;if(s.forEach((c,u)=>{if(c){if(r.year&&r.year.index===u){const p=parseInt(c,10);r.year.length===4&&c.length===4?i=p:r.year.length===2&&c.length===2&&(i=p<100?p+2e3:p)}else if(r.month&&r.month.index===u){const p=parseInt(c,10);c.length===2&&p>=1&&p<=12&&(d=p)}else if(r.day&&r.day.index===u){const p=parseInt(c,10);c.length===2&&p>=1&&p<=31&&(l=p)}}}),ee.debug(`parseAndUpdateSingleDate(${n}) - year:`,i,"month:",d,"day:",l),i!==null||d!==null){const c=i||new Date().getFullYear(),u=d!==null?d-1:new Date().getMonth();if(e.options.selectionMode==="single"){e.monthDates=[];for(let p=0;p<e.options.visibleMonthsCount;p++){const g=new Date(c,u+p,1);e.monthDates.push(g)}}else if(e.options.selectionMode==="range"&&(n==="start"||!e.selectedStartDate)){if(e.displayMonths=[{month:u,year:c}],e.options.visibleMonthsCount>1){const p=new Date(c,u+1,1);e.displayMonths.push({month:p.getMonth(),year:p.getFullYear()})}e.monthDates=[];for(let p=0;p<e.options.visibleMonthsCount;p++){const g=e.displayMonths[p],h=new Date(g.year,g.month,1);e.monthDates.push(h)}}e.renderCalendar()}if(i!==null&&d!==null&&l!==null){const c=new Date(i,d-1,l);c.getMonth()===d-1&&(n==="single"?e.selectedDate=c:n==="start"?e.selectedStartDate=c:n==="end"&&(e.selectedEndDate=c),e.renderCalendar(),e.options.selectionMode==="range"&&e.updateSummary(),ee.debug(`Set ${n} date:`,c))}}const qe={en:{today:"Today",clear:"Clear",apply:"Apply",preview:"Preview",day:"day",days:"days",night:"night",nights:"nights"},de:{today:"Heute",clear:"Löschen",apply:"Anwenden",preview:"Vorschau",day:"Tag",days:"Tage",night:"Nacht",nights:"Nächte"},fr:{today:"Aujourd'hui",clear:"Effacer",apply:"Appliquer",preview:"Aperçu",day:"jour",days:"jours",night:"nuit",nights:"nuits"},es:{today:"Hoy",clear:"Limpiar",apply:"Aplicar",preview:"Vista previa",day:"día",days:"días",night:"noche",nights:"noches"}};function ke(e){if(e!=="auto")return e;if(typeof navigator<"u"&&navigator.language){const t=navigator.language.split("-")[0].toLowerCase();return qe[t]?t:"en"}return"en"}function Jn(e,t){const n=ke(e),a=qe[n]||qe.en;return t?{...a,...t}:a}function Qn(e){const t=ke(e);try{const n=new Intl.DateTimeFormat(t,{weekday:"short"}),a=[];for(let r=0;r<7;r++){const o=new Date(2017,0,r+1);a.push(n.format(o))}return a}catch(n){return P.warn("getWeekdayNames() - Intl.DateTimeFormat failed, using English weekdays",n),["Su","Mo","Tu","We","Th","Fr","Sa"]}}function Zn(e){const t=ke(e);try{const n=new Intl.DateTimeFormat(t,{month:"long"}),a=[];for(let r=0;r<12;r++){const o=new Date(2017,r,1);a.push(n.format(o))}return a}catch(n){return P.warn("getMonthNames() - Intl.DateTimeFormat failed, using English months",n),["January","February","March","April","May","June","July","August","September","October","November","December"]}}class kt{constructor(t,n={}){v(this,"input");v(this,"options");v(this,"formatInfo");v(this,"_previousInputValue");v(this,"currentDate");v(this,"monthDates");v(this,"displayMonths");v(this,"selectedDate");v(this,"selectedStartDate");v(this,"selectedEndDate");v(this,"focusedDayIndex");v(this,"activeMonthIndex");v(this,"showingRollingSelector");v(this,"draggingType");v(this,"isDragging");v(this,"dragStartDate");v(this,"originalStartDate");v(this,"originalEndDate");v(this,"dragPreviewStart");v(this,"dragPreviewEnd");v(this,"autoScrollInterval");v(this,"navInterval");v(this,"calendar");v(this,"containerElement");v(this,"onDragMoveBound");v(this,"onDragEndBound");v(this,"clickOutsideHandler");v(this,"isFirstRender",!0);v(this,"lockedPlacement");v(this,"calendarContentHeight");v(this,"isCalendarActive",!1);v(this,"isValidating",!1);v(this,"loadingOverlay");v(this,"tooltip");v(this,"tooltipArrow");v(this,"currentTooltipTarget");v(this,"weekStartDay",0);v(this,"normalizedMinDate",null);v(this,"normalizedMaxDate",null);v(this,"normalizedDisabledDates",new Set);v(this,"normalizedSpecialDates",new Map);v(this,"locale","en");v(this,"localeStrings");v(this,"weekdayNames",[]);v(this,"monthNames",[]);this.input=t,this.containerElement=n.container||document.body,this.options={selectionMode:n.selectionMode||"single",calendarPlacement:n.calendarPlacement||(n.monthLayout==="grid"?"bottom":"bottom-start"),visibleMonthsCount:n.visibleMonthsCount||(n.selectionMode==="range"?2:1),dateFormatMask:n.dateFormatMask||"YYYY-MM-DD",calendarOpenTrigger:n.calendarOpenTrigger||"auto",onSelect:n.onSelect||void 0,container:this.containerElement,positioningMode:n.positioningMode||"floating",monthLayout:n.monthLayout||"horizontal",gridRows:n.gridRows,gridColumns:n.gridColumns,weekStartDay:n.weekStartDay!==void 0?n.weekStartDay:"auto",minDate:n.minDate,maxDate:n.maxDate,disabledDates:n.disabledDates,disabledWeekdays:n.disabledWeekdays,specialDates:n.specialDates,isDateDisabled:n.isDateDisabled,getDateMetadata:n.getDateMetadata,disabledDatesHandling:n.disabledDatesHandling||"allow",highlightDisabledInRange:n.highlightDisabledInRange!==void 0?n.highlightDisabledInRange:!0,locale:n.locale||"auto",displayFormatMask:n.displayFormatMask,customStrings:n.customStrings,formatSummaryCallback:n.formatSummaryCallback,validateRangeCallback:n.validateRangeCallback,showDebugInfo:n.showDebugInfo||!1},Yt(this.options.showDebugInfo),this.weekStartDay=z(this.options.weekStartDay),R.debug("Week starts on day:",this.weekStartDay),R.debug("disabledDatesHandling:",this.options.disabledDatesHandling),this.locale=ke(this.options.locale),this.localeStrings=Jn(this.locale,this.options.customStrings),this.weekdayNames=Qn(this.locale),this.monthNames=Zn(this.locale),R.debug("Locale:",this.locale,"Weekdays:",this.weekdayNames,"Months:",this.monthNames),this.initializeDateRestrictions(),this.formatInfo=this.parseFormat(this.options.dateFormatMask),R.debug("Format info:",this.formatInfo),this._previousInputValue="",this.currentDate=new Date,this.monthDates=[];const a=new Date;for(let r=0;r<this.options.visibleMonthsCount;r++){const o=new Date(a.getFullYear(),a.getMonth()+r,1);this.monthDates.push(o),R.debug(`monthDates[${r}] = ${o.getFullYear()}-${o.getMonth()+1}`)}if(this.options.selectionMode==="range"){this.displayMonths=[];for(let r=0;r<this.options.visibleMonthsCount;r++){const o=new Date(a.getFullYear(),a.getMonth()+r,1);this.displayMonths.push({month:o.getMonth(),year:o.getFullYear()})}}this.selectedDate=null,this.selectedStartDate=null,this.selectedEndDate=null,this.focusedDayIndex=null,this.activeMonthIndex=0,this.showingRollingSelector=[];for(let r=0;r<this.options.visibleMonthsCount;r++)this.showingRollingSelector.push(!1);this.draggingType=null,this.isDragging=!1,this.dragStartDate=null,this.originalStartDate=null,this.originalEndDate=null,this.dragPreviewStart=null,this.dragPreviewEnd=null,this.autoScrollInterval=null,this.init()}init(){R.debug("Init called"),this.createCalendar(),this.input&&(this.attachInputListeners(),this.input.value&&(R.debug("Parsing pre-filled value:",this.input.value),this.updateCalendarFromInput())),this.options.positioningMode==="inline"&&(this.renderCalendar(),this.calendar.classList.add("drp-date-picker--visible","drp-date-picker--inline"),this.isCalendarActive=!0,this.isFirstRender=!1),R.debug("Init complete")}initializeDateRestrictions(){this.options.minDate&&(this.normalizedMinDate=U(this.options.minDate)),this.options.maxDate&&(this.normalizedMaxDate=U(this.options.maxDate)),this.options.disabledDates&&this.options.disabledDates.length>0&&this.options.disabledDates.forEach(t=>{const n=U(t);if(n){const a=De(n);this.normalizedDisabledDates.add(a)}}),this.options.specialDates&&this.options.specialDates.length>0&&this.options.specialDates.forEach(t=>{const n=U(t.date);if(n){const a=De(n);this.normalizedSpecialDates.set(a,t)}})}isDateDisabledInternal(t){return Pt(t,this.normalizedMinDate,this.normalizedMaxDate,this.normalizedDisabledDates,this.options.disabledWeekdays,this.options.isDateDisabled)}getDateInfoInternal(t){const n=De(t);if(this.normalizedSpecialDates.has(n)){const a=this.normalizedSpecialDates.get(n);return{disabled:this.isDateDisabledInternal(t),class:a.class,label:a.label,tooltip:a.tooltip}}if(this.options.getDateMetadata){const a=this.options.getDateMetadata(t);if(a)return{...a,disabled:a.disabled!==void 0?a.disabled:this.isDateDisabledInternal(t)}}return null}hasDisabledDatesInRange(t,n){return Rt(t,n,a=>this.isDateDisabledInternal(a))}getEnabledDatesInRange(t,n){return $t(t,n,a=>this.isDateDisabledInternal(a))}getDisabledDatesInRange(t,n){return Tt(t,n,a=>this.isDateDisabledInternal(a))}findLastEnabledBeforeGap(t,n){return zt(t,n,a=>this.isDateDisabledInternal(a))}splitRangeByDisabled(t,n){return Ft(t,n,a=>this.isDateDisabledInternal(a))}isToday(t){return Nt(t)}isSameDay(t,n){return je(t,n)}isInRange(t){return Ot(t,this.selectedStartDate,this.selectedEndDate)}createCalendar(){R.debug("Creating calendar"),this.calendar=document.createElement("div"),this.calendar.className="drp-date-picker";const t=document.createElement("div");this.options.monthLayout==="grid"?(t.className="drp-date-picker__months drp-date-picker__months--grid",this.options.gridRows&&t.style.setProperty("--drp-grid-rows",String(this.options.gridRows)),this.options.gridColumns&&t.style.setProperty("--drp-grid-columns",String(this.options.gridColumns))):t.className="drp-date-picker__months drp-date-picker__months--horizontal";for(let a=0;a<this.options.visibleMonthsCount;a++){const r=document.createElement("div");r.className="drp-date-picker__month",r.dataset.monthIndex=String(a),r.innerHTML=`
12
+ `,e.calendar.appendChild(t),e.loadingOverlay=t}function Mt(e){e.loadingOverlay&&(e.loadingOverlay.remove(),e.loadingOverlay=void 0)}async function It(e,t,n){if(J.debug(" validateRangeAsync called - mode:",e.options.disabledDatesHandling,"start:",t,"end:",n),e.options.disabledDatesHandling==="prevent"){if(J.debug(" Checking PREVENT mode"),e.hasDisabledDatesInRange(t,n))return J.debug(" PREVENT mode - range contains disabled dates"),{isValid:!1,message:"Range contains disabled dates"}}else if(e.options.disabledDatesHandling==="block"&&(J.debug(" Checking BLOCK mode"),e.hasDisabledDatesInRange(t,n))){J.debug(" BLOCK mode - range contains disabled dates, adjusting");const a=e.findLastEnabledBeforeGap(t,n);return J.debug(" BLOCK mode - adjusted end:",a),{isValid:!0,adjustedStart:t,adjustedEnd:a}}if(e.options.validateRangeCallback)try{e.isValidating=!0,jn(e);const a=await e.options.validateRangeCallback(t,n);switch(Mt(e),e.isValidating=!1,a.action){case"accept":return{isValid:!0};case"adjust":return a.adjustedStartDate&&a.adjustedEndDate?{isValid:!0,adjustedStart:a.adjustedStartDate,adjustedEnd:a.adjustedEndDate,message:a.message}:{isValid:!1,message:a.message||"Invalid adjustment"};case"restore":return{isValid:!1,message:a.message};case"clear":return e.clearSelection(),{isValid:!1,message:a.message};default:return{isValid:!1,message:"Unknown validation action"}}}catch(a){return Mt(e),e.isValidating=!1,P.error("validateRangeAsync() - async validation error:",a),{isValid:!1,message:"Validation error occurred"}}return{isValid:!0}}async function Kn(e,t){if(t.classList.contains("drp-date-picker__day--disabled"))return;if(!t.dataset||!t.dataset.date){P.warn("selectDay() - called with invalid element:",t);return}const[n,a,r]=t.dataset.date.split("-").map(Number),o=new Date(n,a-1,r);t.classList.contains("drp-date-picker__day--other-month");const s=t.closest(".drp-date-picker__days");if(s&&s instanceof HTMLElement){e.activeMonthIndex=parseInt(s.dataset.monthIndex||"0")||0,re.debug(`Col${e.activeMonthIndex} selectDay - activeMonthIndex:`,e.activeMonthIndex);const i=s.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");e.focusedDayIndex=Array.from(i).indexOf(t),re.debug(`Col${e.activeMonthIndex} selectDay - set focusedDayIndex to:`,e.focusedDayIndex)}if(e.options.selectionMode==="single")e.selectedDate=o,e.input&&(e.input.value=e.formatDate(o)),e.options.onSelect&&e.options.onSelect(o),e.options.positioningMode==="floating"&&e.hide();else if(!e.selectedStartDate||e.selectedEndDate)e.selectedStartDate=o,e.selectedEndDate=null,e.input&&(e.input.value=`${e.formatDate(e.selectedStartDate)} - ...`);else{let i=e.selectedStartDate,d=o;o<e.selectedStartDate&&(d=e.selectedStartDate,i=o),re.debug(" selectDay - calling validateRangeAsync with:",i,d);const l=await It(e,i,d);if(re.debug(" selectDay - validation result:",l),!l.isValid){l.message&&P.warn("selectDay() - range validation failed:",l.message),e.renderCalendar(),e.updateSummary();return}e.selectedStartDate=l.adjustedStart||i,e.selectedEndDate=l.adjustedEnd||d,e.input&&(e.input.value=`${e.formatDate(e.selectedStartDate)} - ${e.formatDate(e.selectedEndDate)}`),e.options.onSelect&&e.options.onSelect({start:e.selectedStartDate,end:e.selectedEndDate})}if(e.renderCalendar(),e.updateSummary(),e.options.selectionMode==="range"&&e.selectedEndDate){const i=e.selectedEndDate;for(let d=0;d<e.monthDates.length;d++){const l=e.monthDates[d];if(i.getFullYear()===l.getFullYear()&&i.getMonth()===l.getMonth()){e.activeMonthIndex=d;const c=e.calendar.querySelector(`.drp-date-picker__days[data-month-index="${d}"]`);if(c){const u=c.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)"),p=Array.from(u).findIndex(g=>{const h=g.dataset.date;if(!h)return!1;const[f,y,m]=h.split("-").map(Number),x=new Date(f,y-1,m);return e.isSameDay(x,i)});p!==-1&&(e.focusedDayIndex=p,u.forEach(g=>g.classList.remove("drp-date-picker__day--focused")),u[p]&&u[p].classList.add("drp-date-picker__day--focused"))}break}}}}function Un(e){e.monthDates[e.activeMonthIndex]=new Date,e.selectedDate=new Date,e.input&&(e.input.value=e.formatDate(e.selectedDate)),e.options.onSelect&&e.options.onSelect(e.selectedDate),e.renderCalendar(),e.options.selectionMode==="single"&&e.hide()}function Xn(e){e.selectedDate=null,e.selectedStartDate=null,e.selectedEndDate=null,e.input&&(e.input.value=""),e.renderCalendar(),e.updateSummary()}function Gn(e){e.selectedStartDate&&e.selectedEndDate&&e.hide()}function Jn(e){e.options.selectionMode==="range"&&e.calendar.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--disabled):not(.drp-date-picker__day--other-month)").forEach(n=>{n.addEventListener("mousedown",a=>{const r=a,o=n,s=r.clientX,i=r.clientY,d=5;let l=!1,c=!1;const u=o.classList.contains("drp-date-picker__day--range-start"),p=o.classList.contains("drp-date-picker__day--range-end");let g;u&&e.selectedStartDate&&e.selectedEndDate?g="start":p&&e.selectedStartDate&&e.selectedEndDate?g="end":g="start";const h=y=>{const m=Math.abs(y.clientX-s),x=Math.abs(y.clientY-i);!l&&(m>d||x>d)&&(l=!0),l&&!c&&(c=!0,Et(e,r,g,o),document.removeEventListener("mousemove",h),document.removeEventListener("mouseup",f))},f=()=>{document.removeEventListener("mousemove",h),document.removeEventListener("mouseup",f)};document.addEventListener("mousemove",h),document.addEventListener("mouseup",f)})})}function Et(e,t,n,a){t.preventDefault(),t.stopPropagation(),e.isDragging=!0,e.draggingType=n;const r=a,o=r.dataset.date;let s=null;if(o){const[i,d,l]=o.split("-").map(Number);s=new Date(i,d-1,l)}!e.selectedStartDate&&!e.selectedEndDate?s&&(e.originalStartDate=s,e.originalEndDate=null,e.draggingType="end"):s&&e.selectedStartDate&&!e.selectedEndDate?s.getTime()===e.selectedStartDate.getTime()?(e.originalStartDate=new Date(e.selectedStartDate),e.originalEndDate=null):(e.selectedStartDate=null,e.selectedEndDate=null,e.focusedDayIndex=null,e.calendar.querySelectorAll(".drp-date-picker__day--range-start, .drp-date-picker__day--range-end, .drp-date-picker__day--selected, .drp-date-picker__day--focused").forEach(d=>{d.classList.remove("drp-date-picker__day--range-start","drp-date-picker__day--range-end","drp-date-picker__day--selected","drp-date-picker__day--focused")}),e.originalStartDate=s,e.originalEndDate=null,e.draggingType="end"):(e.selectedStartDate&&(e.originalStartDate=new Date(e.selectedStartDate)),e.selectedEndDate&&(e.originalEndDate=new Date(e.selectedEndDate))),r.classList.add("drp-date-picker__day--dragging"),O.debug(`Started dragging ${n} date`),e.onDragMoveBound=i=>Ct(e,i),e.onDragEndBound=async i=>await Lt(e),document.addEventListener("mousemove",e.onDragMoveBound),document.addEventListener("mouseup",e.onDragEndBound),document.body.style.cursor="grabbing"}function Ct(e,t){if(!e.isDragging)return;let n=null;e.containerElement instanceof ShadowRoot&&"elementsFromPoint"in e.containerElement?n=e.containerElement.elementsFromPoint(t.clientX,t.clientY)[0]||null:n=document.elementFromPoint(t.clientX,t.clientY);const a=n==null?void 0:n.closest(".drp-date-picker__nav--prev"),r=n==null?void 0:n.closest(".drp-date-picker__nav--next");if(a||r){if(!e.navInterval){const p=(a||r).closest(".drp-date-picker__month");if(p&&p instanceof HTMLElement){const g=parseInt(p.dataset.monthIndex||"0"),h=!!a;h?e.prevMonth(g):e.nextMonth(g),e.navInterval=window.setInterval(()=>{h?e.prevMonth(g):e.nextMonth(g)},1e3)}}return}else e.navInterval&&(clearInterval(e.navInterval),e.navInterval=null);const o=n;if(!o||!o.classList.contains("drp-date-picker__day"))return;const s=o.dataset.date;if(!s)return;const[i,d,l]=s.split("-").map(Number);let c=new Date(i,d-1,l);if(o.classList.contains("drp-date-picker__day--disabled")){const u=e.draggingType==="start"?e.originalEndDate&&c>e.originalEndDate?"backward":"forward":e.originalStartDate&&c<e.originalStartDate?"forward":"backward";c=Le(e,c,u)}if(e.draggingType==="start"&&e.originalEndDate?(e.dragPreviewStart=c,e.dragPreviewEnd=e.originalEndDate,e.dragPreviewStart>e.dragPreviewEnd&&([e.dragPreviewStart,e.dragPreviewEnd]=[e.dragPreviewEnd,e.dragPreviewStart],e.draggingType="end")):e.originalStartDate&&(e.dragPreviewStart=e.originalStartDate,e.dragPreviewEnd=c,e.dragPreviewEnd<e.dragPreviewStart&&([e.dragPreviewStart,e.dragPreviewEnd]=[e.dragPreviewEnd,e.dragPreviewStart],e.draggingType="start")),e.dragPreviewStart&&e.dragPreviewEnd){const u=e.options.disabledDatesHandling;if(O.debug("onDragMove - mode:",u,"start:",e.dragPreviewStart,"end:",e.dragPreviewEnd),u==="prevent"&&e.hasDisabledDatesInRange(e.dragPreviewStart,e.dragPreviewEnd)){O.debug("PREVENT mode - range contains disabled dates, blocking preview update");return}else if(u==="block"&&e.hasDisabledDatesInRange(e.dragPreviewStart,e.dragPreviewEnd)){if(O.debug("BLOCK mode - range contains disabled dates, adjusting preview"),e.draggingType==="start"&&e.originalEndDate){const p=e.findLastEnabledBeforeGap(e.dragPreviewStart,e.originalEndDate);O.debug("BLOCK mode - adjusted end (dragging start):",p),e.dragPreviewEnd=p}else if(e.originalStartDate){const p=e.findLastEnabledBeforeGap(e.originalStartDate,e.dragPreviewEnd);O.debug("BLOCK mode - adjusted end (dragging end):",p),e.dragPreviewEnd=p}}}e.updateDragPreview()}async function Lt(e,t){if(e.isDragging){if(O.debug("Ended dragging, finalizing selection"),e.dragPreviewStart&&e.dragPreviewEnd){let n=Le(e,e.dragPreviewStart,"forward"),a=Le(e,e.dragPreviewEnd,"backward");n>a&&([n,a]=[a,n]),O.debug("onDragEnd - calling validateRangeAsync with:",n,a);const r=await It(e,n,a);O.debug("onDragEnd - validation result:",r),r.isValid?(e.selectedStartDate=r.adjustedStart||n,e.selectedEndDate=r.adjustedEnd||a,e.input&&(e.input.value=`${e.formatDate(e.selectedStartDate)} - ${e.formatDate(e.selectedEndDate)}`),e.options.onSelect&&e.options.onSelect({start:e.selectedStartDate,end:e.selectedEndDate})):r.message&&P.warn("onDragEnd() - drag validation failed:",r.message)}if(e.isDragging=!1,e.draggingType=null,e.dragPreviewStart=null,e.dragPreviewEnd=null,e.calendar.querySelectorAll(".drp-date-picker__day--dragging").forEach(n=>{n.classList.remove("drp-date-picker__day--dragging")}),e.onDragMoveBound&&document.removeEventListener("mousemove",e.onDragMoveBound),e.onDragEndBound&&document.removeEventListener("mouseup",e.onDragEndBound),e.navInterval&&(clearInterval(e.navInterval),e.navInterval=null),document.body.style.cursor="",e.renderCalendar(),e.updateSummary(),e.selectedEndDate){const n=e.selectedEndDate;for(let a=0;a<e.monthDates.length;a++){const r=e.monthDates[a];if(n.getFullYear()===r.getFullYear()&&n.getMonth()===r.getMonth()){e.activeMonthIndex=a;const o=e.calendar.querySelector(`.drp-date-picker__days[data-month-index="${a}"]`);if(o){const s=o.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)"),i=Array.from(s).findIndex(d=>{const l=d.dataset.date;if(!l)return!1;const[c,u,p]=l.split("-").map(Number),g=new Date(c,u-1,p);return e.isSameDay(g,n)});i!==-1&&(e.focusedDayIndex=i,s.forEach(d=>d.classList.remove("drp-date-picker__day--focused")),s[i]&&s[i].classList.add("drp-date-picker__day--focused"))}break}}}}}function Le(e,t,n="forward"){let r=new Date(t);if(r.setHours(0,0,0,0),!e.isDateDisabledInternal(r))return r;const o=n==="forward"?1:-1;for(let i=1;i<=60;i++){const d=new Date(t);if(d.setDate(d.getDate()+i*o),d.setHours(0,0,0,0),!e.isDateDisabledInternal(d))return d}const s=-o;for(let i=1;i<=60;i++){const d=new Date(t);if(d.setDate(d.getDate()+i*s),d.setHours(0,0,0,0),!e.isDateDisabledInternal(d))return d}return t}function Qn(e,t){const n=t.target,a=n.value,r=n.selectionStart||0,o=e._previousInputValue||"",s=a.length<o.length,{separator:i}=e.formatInfo;if(e.options.selectionMode==="range"){const d=a.replace(new RegExp(`[^0-9${i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}to ]`,"gi"),""),l=At(e,d);if(l!==a){n.value=l;let c=r;if(s)c=r;else if(l.length>a.length)if(l.includes(" to ")&&!a.includes(" to ")){const u=l.indexOf(" to ");r>=u&&r<=u+4?c=u+4:c=r+(l.length-a.length)}else c=r+(l.length-a.length);n.setSelectionRange(c,c)}}else{const d=a.replace(new RegExp(`[^0-9${i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}]`,"g"),""),l=ce(e,d);if(l!==a){n.value=l;let c=r;if(s)c=r;else if(l.length>a.length&&l[r]===i)c=r+1;else if(l.length>a.length){const u=(a.substring(0,r).match(new RegExp(i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g"))||[]).length,g=(l.substring(0,r).match(new RegExp(i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g"))||[]).length-u;c=r+g}n.setSelectionRange(c,c)}}e._previousInputValue=n.value,qe(e)}function ce(e,t){var c,u,p;const{separator:n,parts:a,maxLength:r}=e.formatInfo,o=t.replace(new RegExp(n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g"),""),s=a.year?a.year.length:4,i=[{type:"year",pos:((c=a.year)==null?void 0:c.index)??0,length:s},{type:"month",pos:((u=a.month)==null?void 0:u.index)??1,length:2},{type:"day",pos:((p=a.day)==null?void 0:p.index)??2,length:2}].sort((g,h)=>g.pos-h.pos);let d="",l=0;for(let g=0;g<i.length;g++){const h=i[g],f=o.substring(l,l+h.length);if(!f)break;d+=f,l+=f.length,g<i.length-1&&f.length===h.length&&(d+=n)}return d.substring(0,r)}function At(e,t){const{separator:n,maxLength:a}=e.formatInfo,r=" to ";let o="",s="";if(t.includes(r)){const d=t.split(r);o=d[0],s=d.slice(1).join(r)}else o=t;const i=ce(e,o);if(i.length===a)if(t.includes(r)){const d=ce(e,s);return i+r+d}else return i+r;else return i}function Zn(e,t){const{key:n,ctrlKey:a,metaKey:r}=t,{separator:o}=e.formatInfo;if(e.calendar.classList.contains("drp-date-picker--visible")&&["ArrowUp","ArrowDown","Home","End","PageUp","PageDown"].includes(n)){t.preventDefault();return}if(!(["Backspace","Delete","Tab","Escape","Enter","ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End"].includes(n)||a||r)){if(n===o){const i=t.target,d=i.selectionStart||0,l=i.value;let c=0;for(let p=d-1;p>=0;p--)if(l[p]===o||l[p]===" "){c=p+1;break}const u=l.substring(c,d);if(/^\d$/.test(u)){t.preventDefault();const p=l.substring(0,c)+"0"+u+o+l.substring(d);i.value=p;const g=c+2+o.length;i.setSelectionRange(g,g),e._previousInputValue=p,i.dispatchEvent(new Event("input",{bubbles:!0}));return}}e.options.selectionMode==="range"?!/^\d$/.test(n)&&n!==o&&n!==" "&&n.toLowerCase()!=="t"&&n.toLowerCase()!=="o"&&t.preventDefault():!/^\d$/.test(n)&&n!==o&&t.preventDefault()}}function ea(e,t){var p;t.preventDefault();const n=((p=t.clipboardData)==null?void 0:p.getData("text"))||"",{separator:a}=e.formatInfo,r=n.replace(new RegExp(`[^0-9${a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}]`,"g"),""),o=ce(e,r),s=t.target,i=s.selectionStart||0,d=s.selectionEnd||0,l=s.value,c=l.substring(0,i)+o+l.substring(d);s.value=ce(e,c);const u=i+o.length;s.setSelectionRange(u,u),s.dispatchEvent(new Event("input",{bubbles:!0})),qe(e)}function qe(e){if(!e.input)return;const t=e.input.value;if(ee.debug("updateCalendarFromInput - value:",t),!t)return;const{separator:n,parts:a,maxLength:r}=e.formatInfo;if(ee.debug("Format info:",{separator:n,parts:a,maxLength:r}),e.options.selectionMode==="range"&&t.includes(" to ")){const s=t.split(" to "),i=s[0],d=s[1];ee.debug("Range parts - start:",i,"end:",d),Ae(e,i,"start"),d&&Ae(e,d,"end");return}const o=e.options.selectionMode==="range"?"start":"single";Ae(e,t,o)}function Ae(e,t,n="single"){const{separator:a,parts:r,maxLength:o}=e.formatInfo,s=t.split(a);let i=null,d=null,l=null;if(s.forEach((c,u)=>{if(c){if(r.year&&r.year.index===u){const p=parseInt(c,10);r.year.length===4&&c.length===4?i=p:r.year.length===2&&c.length===2&&(i=p<100?p+2e3:p)}else if(r.month&&r.month.index===u){const p=parseInt(c,10);c.length===2&&p>=1&&p<=12&&(d=p)}else if(r.day&&r.day.index===u){const p=parseInt(c,10);c.length===2&&p>=1&&p<=31&&(l=p)}}}),ee.debug(`parseAndUpdateSingleDate(${n}) - year:`,i,"month:",d,"day:",l),i!==null||d!==null){const c=i||new Date().getFullYear(),u=d!==null?d-1:new Date().getMonth();if(e.options.selectionMode==="single"){e.monthDates=[];for(let p=0;p<e.options.visibleMonthsCount;p++){const g=new Date(c,u+p,1);e.monthDates.push(g)}}else if(e.options.selectionMode==="range"&&(n==="start"||!e.selectedStartDate)){if(e.displayMonths=[{month:u,year:c}],e.options.visibleMonthsCount>1){const p=new Date(c,u+1,1);e.displayMonths.push({month:p.getMonth(),year:p.getFullYear()})}e.monthDates=[];for(let p=0;p<e.options.visibleMonthsCount;p++){const g=e.displayMonths[p],h=new Date(g.year,g.month,1);e.monthDates.push(h)}}e.renderCalendar()}if(i!==null&&d!==null&&l!==null){const c=new Date(i,d-1,l);c.getMonth()===d-1&&(n==="single"?e.selectedDate=c:n==="start"?e.selectedStartDate=c:n==="end"&&(e.selectedEndDate=c),e.renderCalendar(),e.options.selectionMode==="range"&&e.updateSummary(),ee.debug(`Set ${n} date:`,c))}}const Be={en:{today:"Today",clear:"Clear",apply:"Apply",preview:"Preview",day:"day",days:"days",night:"night",nights:"nights"},de:{today:"Heute",clear:"Löschen",apply:"Anwenden",preview:"Vorschau",day:"Tag",days:"Tage",night:"Nacht",nights:"Nächte"},fr:{today:"Aujourd'hui",clear:"Effacer",apply:"Appliquer",preview:"Aperçu",day:"jour",days:"jours",night:"nuit",nights:"nuits"},es:{today:"Hoy",clear:"Limpiar",apply:"Aplicar",preview:"Vista previa",day:"día",days:"días",night:"noche",nights:"noches"}};function Re(e){if(e!=="auto")return e;if(typeof navigator<"u"&&navigator.language){const t=navigator.language.split("-")[0].toLowerCase();return Be[t]?t:"en"}return"en"}function ta(e,t){const n=Re(e),a=Be[n]||Be.en;return t?{...a,...t}:a}function na(e){const t=Re(e);try{const n=new Intl.DateTimeFormat(t,{weekday:"short"}),a=[];for(let r=0;r<7;r++){const o=new Date(2017,0,r+1);a.push(n.format(o))}return a}catch(n){return P.warn("getWeekdayNames() - Intl.DateTimeFormat failed, using English weekdays",n),["Su","Mo","Tu","We","Th","Fr","Sa"]}}function aa(e){const t=Re(e);try{const n=new Intl.DateTimeFormat(t,{month:"long"}),a=[];for(let r=0;r<12;r++){const o=new Date(2017,r,1);a.push(n.format(o))}return a}catch(n){return P.warn("getMonthNames() - Intl.DateTimeFormat failed, using English months",n),["January","February","March","April","May","June","July","August","September","October","November","December"]}}class Rt{constructor(t,n={}){D(this,"input");D(this,"options");D(this,"formatInfo");D(this,"_previousInputValue");D(this,"currentDate");D(this,"monthDates");D(this,"displayMonths");D(this,"selectedDate");D(this,"selectedStartDate");D(this,"selectedEndDate");D(this,"focusedDayIndex");D(this,"activeMonthIndex");D(this,"showingRollingSelector");D(this,"draggingType");D(this,"isDragging");D(this,"dragStartDate");D(this,"originalStartDate");D(this,"originalEndDate");D(this,"dragPreviewStart");D(this,"dragPreviewEnd");D(this,"autoScrollInterval");D(this,"navInterval");D(this,"calendar");D(this,"containerElement");D(this,"onDragMoveBound");D(this,"onDragEndBound");D(this,"clickOutsideHandler");D(this,"isFirstRender",!0);D(this,"lockedPlacement");D(this,"calendarContentHeight");D(this,"calendarContentWidth");D(this,"isCalendarActive",!1);D(this,"isValidating",!1);D(this,"loadingOverlay");D(this,"tooltip");D(this,"tooltipArrow");D(this,"currentTooltipTarget");D(this,"weekStartDay",0);D(this,"normalizedMinDate",null);D(this,"normalizedMaxDate",null);D(this,"normalizedDisabledDates",new Set);D(this,"normalizedSpecialDates",new Map);D(this,"locale","en");D(this,"localeStrings");D(this,"weekdayNames",[]);D(this,"monthNames",[]);this.input=t,this.containerElement=n.container||document.body,this.options={selectionMode:n.selectionMode||"single",calendarPlacement:n.calendarPlacement||(n.monthLayout==="grid"?"bottom":"bottom-start"),visibleMonthsCount:n.visibleMonthsCount||(n.selectionMode==="range"?2:1),dateFormatMask:n.dateFormatMask||"YYYY-MM-DD",calendarOpenTrigger:n.calendarOpenTrigger||"auto",onSelect:n.onSelect||void 0,container:this.containerElement,positioningMode:n.positioningMode||"floating",monthLayout:n.monthLayout||"horizontal",gridRows:n.gridRows,gridColumns:n.gridColumns,weekStartDay:n.weekStartDay!==void 0?n.weekStartDay:"auto",minDate:n.minDate,maxDate:n.maxDate,initialDate:n.initialDate,disabledDates:n.disabledDates,disabledWeekdays:n.disabledWeekdays,specialDates:n.specialDates,isDateDisabled:n.isDateDisabled,getDateMetadata:n.getDateMetadata,disabledDatesHandling:n.disabledDatesHandling||"allow",highlightDisabledInRange:n.highlightDisabledInRange!==void 0?n.highlightDisabledInRange:!0,locale:n.locale||"auto",displayFormatMask:n.displayFormatMask,customStrings:n.customStrings,formatSummaryCallback:n.formatSummaryCallback,validateRangeCallback:n.validateRangeCallback,showDebugInfo:n.showDebugInfo||!1,rollingYearRange:n.rollingYearRange,rollingMonthRange:n.rollingMonthRange,renderDay:n.renderDay,renderDayContent:n.renderDayContent},qt(this.options.showDebugInfo),this.weekStartDay=F(this.options.weekStartDay),$.debug("Week starts on day:",this.weekStartDay),$.debug("disabledDatesHandling:",this.options.disabledDatesHandling),this.locale=Re(this.options.locale),this.localeStrings=ta(this.locale,this.options.customStrings),this.weekdayNames=na(this.locale),this.monthNames=aa(this.locale),$.debug("Locale:",this.locale,"Weekdays:",this.weekdayNames,"Months:",this.monthNames),this.initializeDateRestrictions(),this.formatInfo=this.parseFormat(this.options.dateFormatMask),$.debug("Format info:",this.formatInfo),this._previousInputValue="",this.currentDate=new Date;let a;if(this.options.initialDate)a=W(this.options.initialDate)||new Date,$.debug(`Using initialDate: ${a.toISOString()}`);else if(this.options.rollingYearRange||this.options.rollingMonthRange){const r=this.options.rollingYearRange?this.parseYearRange(this.options.rollingYearRange):null,o=this.options.rollingMonthRange?this.parseMonthRange(this.options.rollingMonthRange):null,s=r?r.min:new Date().getFullYear(),i=o?o.min-1:0;a=new Date(s,i,1),$.debug(`Using first allowed year/month as initial: ${a.toISOString()}`)}else this.normalizedMinDate&&this.normalizedMinDate>new Date?(a=new Date(this.normalizedMinDate),$.debug(`Using minDate as initial: ${a.toISOString()}`)):this.normalizedMaxDate&&this.normalizedMaxDate<new Date?(a=new Date(this.normalizedMaxDate),$.debug(`Using maxDate as initial: ${a.toISOString()}`)):(a=new Date,$.debug(`Using current date as initial: ${a.toISOString()}`));this.monthDates=[];for(let r=0;r<this.options.visibleMonthsCount;r++){const o=new Date(a.getFullYear(),a.getMonth()+r,1);this.monthDates.push(o),$.debug(`monthDates[${r}] = ${o.getFullYear()}-${o.getMonth()+1}`)}if(this.options.selectionMode==="range"){this.displayMonths=[];for(let r=0;r<this.options.visibleMonthsCount;r++){const o=new Date(a.getFullYear(),a.getMonth()+r,1);this.displayMonths.push({month:o.getMonth(),year:o.getFullYear()})}}this.selectedDate=null,this.selectedStartDate=null,this.selectedEndDate=null,this.focusedDayIndex=null,this.activeMonthIndex=0,this.showingRollingSelector=[];for(let r=0;r<this.options.visibleMonthsCount;r++)this.showingRollingSelector.push(!1);this.draggingType=null,this.isDragging=!1,this.dragStartDate=null,this.originalStartDate=null,this.originalEndDate=null,this.dragPreviewStart=null,this.dragPreviewEnd=null,this.autoScrollInterval=null,this.init()}init(){$.debug("Init called"),this.createCalendar(),this.input&&(this.attachInputListeners(),this.input.value&&($.debug("Parsing pre-filled value:",this.input.value),this.updateCalendarFromInput())),this.options.positioningMode==="inline"&&(this.renderCalendar(),this.calendar.classList.add("drp-date-picker--visible","drp-date-picker--inline"),this.isCalendarActive=!0,this.isFirstRender=!1),$.debug("Init complete")}initializeDateRestrictions(){this.options.minDate&&(this.normalizedMinDate=W(this.options.minDate)),this.options.maxDate&&(this.normalizedMaxDate=W(this.options.maxDate)),this.options.disabledDates&&this.options.disabledDates.length>0&&this.options.disabledDates.forEach(t=>{const n=W(t);if(n){const a=be(n);this.normalizedDisabledDates.add(a)}}),this.options.specialDates&&this.options.specialDates.length>0&&this.options.specialDates.forEach(t=>{const n=W(t.date);if(n){const a=be(n);this.normalizedSpecialDates.set(a,t)}})}parseYearRange(t){if(t.includes("-")){const[n,a]=t.split("-");return{min:parseInt(n,10),max:parseInt(a,10)}}else{const n=parseInt(t,10);return{min:n,max:n}}}parseMonthRange(t){const[n,a]=t.split("-");return{min:parseInt(n,10),max:parseInt(a,10)}}isDateDisabledInternal(t){if(this.options.rollingYearRange){const n=this.parseYearRange(this.options.rollingYearRange),a=t.getFullYear();if(a<n.min||a>n.max)return!0}if(this.options.rollingMonthRange){const n=this.parseMonthRange(this.options.rollingMonthRange),a=t.getMonth()+1;if(a<n.min||a>n.max)return!0}return $t(t,this.normalizedMinDate,this.normalizedMaxDate,this.normalizedDisabledDates,this.options.disabledWeekdays,this.options.isDateDisabled)}getDateInfoInternal(t){const n=be(t);if(this.normalizedSpecialDates.has(n)){const a=this.normalizedSpecialDates.get(n);return{disabled:this.isDateDisabledInternal(t),class:a.class,label:a.label,tooltip:a.tooltip}}if(this.options.getDateMetadata){const a=this.options.getDateMetadata(t);if(a)return{...a,disabled:a.disabled!==void 0?a.disabled:this.isDateDisabledInternal(t)}}return null}hasDisabledDatesInRange(t,n){return kt(t,n,a=>this.isDateDisabledInternal(a))}getEnabledDatesInRange(t,n){return Tt(t,n,a=>this.isDateDisabledInternal(a))}getDisabledDatesInRange(t,n){return zt(t,n,a=>this.isDateDisabledInternal(a))}findLastEnabledBeforeGap(t,n){return Ft(t,n,a=>this.isDateDisabledInternal(a))}splitRangeByDisabled(t,n){return Nt(t,n,a=>this.isDateDisabledInternal(a))}isToday(t){return Ot(t)}isSameDay(t,n){return je(t,n)}isInRange(t){return Ht(t,this.selectedStartDate,this.selectedEndDate)}createCalendar(){$.debug("Creating calendar"),this.calendar=document.createElement("div"),this.calendar.className="drp-date-picker";const t=document.createElement("div");this.options.monthLayout==="grid"?(t.className="drp-date-picker__months drp-date-picker__months--grid",this.options.gridRows&&t.style.setProperty("--drp-grid-rows",String(this.options.gridRows)),this.options.gridColumns&&t.style.setProperty("--drp-grid-columns",String(this.options.gridColumns))):t.className="drp-date-picker__months drp-date-picker__months--horizontal";for(let a=0;a<this.options.visibleMonthsCount;a++){const r=document.createElement("div");r.className="drp-date-picker__month",r.dataset.monthIndex=String(a),r.innerHTML=`
13
13
  <div class="drp-date-picker__header">
14
14
  <button class="drp-date-picker__nav drp-date-picker__nav--prev" data-action="prev" data-month-index="${a}"></button>
15
15
  <div class="drp-date-picker__month-year" data-action="toggle-rolling" data-month-index="${a}"></div>
@@ -25,4 +25,4 @@
25
25
  <button class="drp-date-picker__button drp-date-picker__button--today" data-action="today">${this.localeStrings.today}</button>
26
26
  <button class="drp-date-picker__button drp-date-picker__button--clear" data-action="clear">${this.localeStrings.clear}</button>
27
27
  ${this.options.selectionMode==="range"?`<button class="drp-date-picker__button drp-date-picker__button--apply" data-action="apply">${this.localeStrings.apply}</button>`:""}
28
- `,this.calendar.appendChild(n),this.containerElement.appendChild(this.calendar),R.debug("Calendar appended to container:",this.calendar),this.tooltip=document.createElement("div"),this.tooltip.className="drp-date-picker__tooltip",this.tooltipArrow=document.createElement("div"),this.tooltipArrow.className="drp-date-picker__tooltip-arrow",this.tooltip.appendChild(this.tooltipArrow),this.containerElement.appendChild(this.tooltip),this.attachCalendarListeners(),this.showingRollingSelector=new Array(this.options.visibleMonthsCount).fill(!1)}attachInputListeners(){this.input&&(R.debug("Attaching input listeners"),this.options.calendarOpenTrigger==="auto"&&(this.input.addEventListener("click",()=>{R.debug("Input clicked"),this.show()}),this.input.addEventListener("focus",()=>{R.debug("Input focused"),this.show()})),this.input.addEventListener("input",t=>this.handleInputMask(t)),this.input.addEventListener("keydown",t=>this.handleKeydown(t)),this.input.addEventListener("paste",t=>this.handlePaste(t)))}attachCalendarListeners(){this.calendar.addEventListener("click",async t=>{const n=t.target;t.stopPropagation();const a=n.dataset.action,r=n.dataset.monthIndex,o=r?parseInt(r):0;if(a==="prev")this.prevMonth(o);else if(a==="next")this.nextMonth(o);else if(a==="toggle-rolling")this.toggleRollingSelector(o);else if(a==="today")this.selectToday();else if(a==="clear")this.clearSelection();else if(a==="apply")this.apply();else if(n.closest(".drp-date-picker__day:not(.drp-date-picker__day--disabled)"))await this.selectDay(n.closest(".drp-date-picker__day"));else if(n.closest("[data-year]")){const s=n.closest("[data-year]"),i=s.dataset.year,d=s.dataset.monthIndex;i&&d&&this.selectYear(parseInt(i),parseInt(d))}else if(n.closest("[data-month]")){const s=n.closest("[data-month]"),i=s.dataset.month,d=s.dataset.monthIndex;i&&d&&this.selectMonth(parseInt(i),parseInt(d))}}),this.calendar.addEventListener("mouseenter",t=>{const n=t.target,a=n.closest(".drp-date-picker__day"),r=n.closest(".drp-date-picker__badge-cell"),o=a||r;if(o&&o instanceof HTMLElement){const s=o.dataset.tooltip;s&&this.showTooltip(o,s)}},!0),this.calendar.addEventListener("mouseleave",t=>{const n=t.target,a=n.closest(".drp-date-picker__day"),r=n.closest(".drp-date-picker__badge-cell"),o=a||r;o&&this.currentTooltipTarget===o&&this.hideTooltip()},!0),this.calendar.addEventListener("mousedown",t=>{this.isCalendarActive=!0,t.stopPropagation()}),this.calendar.addEventListener("focusin",()=>{this.isCalendarActive=!0}),document.addEventListener("mousedown",t=>{this.calendar.contains(t.target)||(this.isCalendarActive=!1)},!0),document.addEventListener("keydown",t=>{var n,a,r,o;if(this.calendar.classList.contains("drp-date-picker--visible")&&this.isCalendarActive){if(R.debug("Keydown",t.key,"Ctrl:",t.ctrlKey,"Meta:",t.metaKey,"Shift:",t.shiftKey,"Alt:",t.altKey),t.key==="Escape")this.hide(),t.preventDefault();else if(t.key==="ArrowUp")this.moveFocus(-7),t.preventDefault();else if(t.key==="ArrowDown")this.moveFocus(7),t.preventDefault();else if(t.key==="ArrowLeft"){if(t.ctrlKey||t.metaKey){M.debug("Ctrl+Left: Navigate to previous month");const s=this.focusedDayIndex;this.prevMonth(this.activeMonthIndex),setTimeout(()=>{var l,c;const i=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`),d=i==null?void 0:i.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");d&&(this.focusedDayIndex=Math.min(s!==null?s:0,d.length-1),(l=d[this.focusedDayIndex])==null||l.classList.add("drp-date-picker__day--focused"),(c=d[this.focusedDayIndex])==null||c.scrollIntoView({block:"nearest"}))},0)}else this.moveFocus(-1);t.preventDefault()}else if(t.key==="ArrowRight"){if(t.ctrlKey||t.metaKey){M.debug("Ctrl+Right: Navigate to next month");const s=this.focusedDayIndex;this.nextMonth(this.activeMonthIndex),setTimeout(()=>{var l,c;const i=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`),d=i==null?void 0:i.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");d&&(this.focusedDayIndex=Math.min(s!==null?s:0,d.length-1),(l=d[this.focusedDayIndex])==null||l.classList.add("drp-date-picker__day--focused"),(c=d[this.focusedDayIndex])==null||c.scrollIntoView({block:"nearest"}))},0)}else this.moveFocus(1);t.preventDefault()}else if(t.key==="Enter"){if(this.focusedDayIndex!==null){const s=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`),i=s==null?void 0:s.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)"),d=i==null?void 0:i[this.focusedDayIndex];d&&d.click()}else this.hide();t.preventDefault()}else if(t.key==="Tab"){if(this.options.visibleMonthsCount>1){const s=t.shiftKey?-1:1,i=this.activeMonthIndex+s;if(i>=0&&i<this.monthDates.length){M.debug(`Tab: switching from Col${this.activeMonthIndex} to Col${i}`);const d=this.focusedDayIndex??0;this.activeMonthIndex=i;const l=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`);if(l){const c=l.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");this.focusedDayIndex=Math.min(d,c.length-1),M.debug(`Col${this.activeMonthIndex} Tab: set focusedDayIndex to ${this.focusedDayIndex}`)}this.renderCalendar()}t.preventDefault()}}else if(t.key==="t"||t.key==="T")this.monthDates[this.activeMonthIndex]=new Date,this.renderCalendar(),setTimeout(()=>{const s=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`),i=s==null?void 0:s.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");if(i){const d=Array.from(i).findIndex(l=>l.classList.contains("drp-date-picker__day--today"));d!==-1&&(this.focusedDayIndex=d,i[d].classList.add("drp-date-picker__day--focused"),i[d].scrollIntoView({block:"nearest"}))}},0),t.preventDefault();else if(t.key==="PageUp"){const s=this.focusedDayIndex;this.prevMonth(this.activeMonthIndex),setTimeout(()=>{var l,c;const i=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`),d=i==null?void 0:i.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");d&&(this.focusedDayIndex=Math.min(s!==null?s:0,d.length-1),(l=d[this.focusedDayIndex])==null||l.classList.add("drp-date-picker__day--focused"),(c=d[this.focusedDayIndex])==null||c.scrollIntoView({block:"nearest"}))},0),t.preventDefault()}else if(t.key==="PageDown"){const s=this.focusedDayIndex;this.nextMonth(this.activeMonthIndex),setTimeout(()=>{var l,c;const i=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`),d=i==null?void 0:i.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");d&&(this.focusedDayIndex=Math.min(s!==null?s:0,d.length-1),(l=d[this.focusedDayIndex])==null||l.classList.add("drp-date-picker__day--focused"),(c=d[this.focusedDayIndex])==null||c.scrollIntoView({block:"nearest"}))},0),t.preventDefault()}else if(t.key==="Home"){M.debug("Home key pressed, Ctrl:",t.ctrlKey,"Meta:",t.metaKey);const s=this.monthDates[this.activeMonthIndex].getFullYear(),i=this.monthDates[this.activeMonthIndex].getMonth();if(t.ctrlKey||t.metaKey){M.debug("Ctrl+Home: Navigate to year start");const d=i===0,l=this.focusedDayIndex===0;d&&l?(M.debug("Already at Jan 1, going to previous year"),this.monthDates[this.activeMonthIndex]=new Date(s-1,0,1)):(M.debug("Going to Jan 1 of current year"),this.monthDates[this.activeMonthIndex]=new Date(s,0,1)),this.renderCalendar(),setTimeout(()=>{var p,g;const c=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`),u=c==null?void 0:c.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");u&&(this.focusedDayIndex=0,(p=u[0])==null||p.classList.add("drp-date-picker__day--focused"),(g=u[0])==null||g.scrollIntoView({block:"nearest"}))},0)}else if(M.debug("Home: Navigate to first day (cycles to previous month if already there)"),this.focusedDayIndex===0)M.debug("Already on first day, going to previous month"),this.prevMonth(this.activeMonthIndex),setTimeout(()=>{var u,p;const l=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`),c=l==null?void 0:l.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");c&&(this.focusedDayIndex=0,this.calendar.querySelectorAll(".drp-date-picker__day--focused").forEach(g=>g.classList.remove("drp-date-picker__day--focused")),(u=c[0])==null||u.classList.add("drp-date-picker__day--focused"),(p=c[0])==null||p.scrollIntoView({block:"nearest"}))},0);else{this.focusedDayIndex=0;const l=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`),c=l==null?void 0:l.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");c&&(this.calendar.querySelectorAll(".drp-date-picker__day--focused").forEach(u=>u.classList.remove("drp-date-picker__day--focused")),(n=c[0])==null||n.classList.add("drp-date-picker__day--focused"),(a=c[0])==null||a.scrollIntoView({block:"nearest"}))}t.preventDefault()}else if(t.key==="End"){M.debug("End key pressed, Ctrl:",t.ctrlKey,"Meta:",t.metaKey);const s=this.monthDates[this.activeMonthIndex].getFullYear(),i=this.monthDates[this.activeMonthIndex].getMonth();if(t.ctrlKey||t.metaKey){M.debug("Ctrl+End: Navigate to year end");const d=i===11,l=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`),c=l==null?void 0:l.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)"),u=c&&this.focusedDayIndex===c.length-1;d&&u?this.monthDates[this.activeMonthIndex]=new Date(s+1,11,31):this.monthDates[this.activeMonthIndex]=new Date(s,11,31),this.renderCalendar(),setTimeout(()=>{var h,f;const p=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`),g=p==null?void 0:p.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");g&&(this.focusedDayIndex=g.length-1,(h=g[this.focusedDayIndex])==null||h.classList.add("drp-date-picker__day--focused"),(f=g[this.focusedDayIndex])==null||f.scrollIntoView({block:"nearest"}))},0)}else{M.debug("End: Navigate to last day (cycles to next month if already there)");const d=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`),l=d==null?void 0:d.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");if(!l)return;this.focusedDayIndex===l.length-1?(M.debug("Already on last day, going to next month"),this.nextMonth(this.activeMonthIndex),setTimeout(()=>{var g,h;const u=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`),p=u==null?void 0:u.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");p&&(this.focusedDayIndex=p.length-1,this.calendar.querySelectorAll(".drp-date-picker__day--focused").forEach(f=>f.classList.remove("drp-date-picker__day--focused")),(g=p[this.focusedDayIndex])==null||g.classList.add("drp-date-picker__day--focused"),(h=p[this.focusedDayIndex])==null||h.scrollIntoView({block:"nearest"}))},0)):(this.focusedDayIndex=l.length-1,this.calendar.querySelectorAll(".drp-date-picker__day--focused").forEach(u=>u.classList.remove("drp-date-picker__day--focused")),(r=l[this.focusedDayIndex])==null||r.classList.add("drp-date-picker__day--focused"),(o=l[this.focusedDayIndex])==null||o.scrollIntoView({block:"nearest"}))}t.preventDefault()}}}),this.options.positioningMode==="floating"&&(this.clickOutsideHandler=t=>{var i;const n=t.composedPath(),a=n[0],r=n.includes(this.calendar),o=this.input&&n.includes(this.input),s=(i=a.closest)==null?void 0:i.call(a,"[data-calendar-button]");!r&&!o&&!s&&this.hide()},document.addEventListener("click",this.clickOutsideHandler))}parseFormat(t){const n={};let a="";return t.includes("-")?a="-":t.includes("/")?a="/":t.includes(".")&&(a="."),t.split(a).forEach((o,s)=>{o==="YYYY"||o==="YY"?n.year={index:s,length:o.length}:o==="MM"||o==="M"?n.month={index:s,length:2}:(o==="DD"||o==="D")&&(n.day={index:s,length:2})}),{format:t,separator:a,parts:n,maxLength:t.length}}formatDate(t){if(!t)return"";const n=t.getFullYear(),a=String(t.getMonth()+1).padStart(2,"0"),r=String(t.getDate()).padStart(2,"0"),{format:o,separator:s,parts:i}=this.formatInfo,d=[];for(let l=0;l<3;l++)i.year&&i.year.index===l?d.push(i.year.length===2?String(n).slice(-2):n):i.month&&i.month.index===l?d.push(a):i.day&&i.day.index===l&&d.push(r);return d.join(s)}destroy(){this.clickOutsideHandler&&document.removeEventListener("click",this.clickOutsideHandler),this.calendar.remove(),this.tooltip&&this.tooltip.remove()}show(){return _t(this)}hide(){return xt(this)}toggle(){return On(this)}position(){return St(this)}showTooltip(t,n){return Hn(this,t,n)}hideTooltip(){return Vn(this)}renderCalendar(){return Kt(this)}renderNormalView(t){return Je(this,t)}renderDays(t,n){return Qe(this,t,n)}renderRollingSelector(t){return Ze(this,t)}updateSummary(){return Ut(this)}updateSummaryWithPreview(){return et(this)}updateDragPreview(){return Xt(this)}toggleRollingSelector(t){return qt(this,t)}selectYear(t,n){return Bt(this,t,n)}selectMonth(t,n){return jt(this,t,n)}checkAndResolveCollisions(t){return pe(this,t)}prevMonth(t){return ue(this,t)}nextMonth(t){return ge(this,t)}findNextEnabledDayIndex(t,n,a,r){return fe(this,t,n,a)}moveFocus(t){return Wt(this,t)}async selectDay(t){return await qn(this,t)}selectToday(){return Bn(this)}clearSelection(){return jn(this)}apply(){return Wn(this)}initDragListeners(){return Kn(this)}startDrag(t,n){return Et(this,t,n)}onDragMove(t){return Lt(this,t)}async onDragEnd(t){return await Ct(this)}findNearestEnabledDate(t,n="forward"){return Ce(this,t,n)}handleInputMask(t){return Un(this,t)}applyMask(t){return ce(this,t)}applyRangeMask(t){return At(this,t)}handleKeydown(t){return Xn(this,t)}handlePaste(t){return Gn(this,t)}updateCalendarFromInput(){return Ye(this)}parseAndUpdateSingleDate(t,n="single"){return Ae(this,t,n)}}const ea='@charset "UTF-8";:host{--drp-card-bg: #ffffff;--drp-border-color: #e5e7eb;--drp-primary-bg: #f3f4f6;--drp-primary-bg-hover: #e5e7eb;--drp-accent-color: #3b82f6;--drp-accent-color-hover: #2563eb;--drp-text-primary: #111827;--drp-text-secondary: #6b7280;--drp-accent-text-color: #ffffff;--drp-button-text-color: #ffffff;--drp-spacing-xs: .25rem;--drp-spacing-sm: .5rem;--drp-spacing-md: 1rem;--drp-spacing-lg: 1.5rem;--drp-spacing-xl: 2rem;--drp-font-size-2xs: .625rem;--drp-font-size-xs: .75rem;--drp-font-size-sm: .875rem;--drp-font-size-base: 1rem;--drp-font-size-lg: 1.125rem;--drp-font-size-xl: 1.25rem;--drp-font-size-2xl: 1.5rem;--drp-font-weight-medium: 500;--drp-font-weight-semibold: 600;--drp-border-width-base: 1px;--drp-border-radius: .375rem;--drp-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--drp-transition-fast: .15s;--drp-easing-snappy: cubic-bezier(.4, 0, .2, 1);--drp-input-padding-h: .75rem;--drp-grid-columns: 3;--drp-grid-rows: 2}.drp-date-picker-input{position:relative;cursor:pointer}.drp-date-picker-input:after{content:"📅";position:absolute;right:var(--drp-input-padding-h);top:50%;transform:translateY(-50%);pointer-events:none;opacity:.6}.drp-date-picker{position:absolute;z-index:9500;background:var(--drp-card-bg);border:var(--drp-border-width-base) solid var(--drp-border-color);border-radius:var(--drp-border-radius);box-shadow:var(--drp-shadow-xl);padding:var(--drp-spacing-md);min-width:280px;max-width:calc(100vw - 2rem);box-sizing:border-box;-webkit-user-select:none;user-select:none}.drp-date-picker:not(.drp-date-picker--visible){display:none}.drp-date-picker--inline{position:relative!important;display:block!important;z-index:auto;min-width:0;max-width:100%;width:fit-content;box-sizing:border-box}.drp-date-picker__months{display:flex;gap:var(--drp-spacing-lg)}.drp-date-picker--inline .drp-date-picker__months{flex-wrap:wrap}.drp-date-picker__months--grid{display:grid;grid-template-columns:repeat(var(--drp-grid-columns, 3),minmax(0,1fr));grid-template-rows:repeat(var(--drp-grid-rows, 2),auto);gap:var(--drp-spacing-lg);width:100%}@media (max-width: 1200px){.drp-date-picker__months--grid{grid-template-columns:repeat(min(var(--drp-grid-columns, 3),3),minmax(0,1fr))}}@media (max-width: 768px){.drp-date-picker__months--grid{grid-template-columns:repeat(min(var(--drp-grid-columns, 3),2),minmax(0,1fr))}}@media (max-width: 480px){.drp-date-picker__months--grid{grid-template-columns:minmax(0,1fr)}}.drp-date-picker__month{flex:1;min-width:280px}.drp-date-picker--inline .drp-date-picker__month{min-width:250px}.drp-date-picker__months--grid .drp-date-picker__month{min-width:0;width:100%}.drp-date-picker__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--drp-spacing-md);gap:var(--drp-spacing-sm)}.drp-date-picker__month-year{flex:1;text-align:center;font-weight:var(--drp-font-weight-semibold);font-size:var(--drp-font-size-base);color:var(--drp-text-primary);padding:var(--drp-spacing-sm) var(--drp-spacing-md);border-radius:var(--drp-border-radius);cursor:pointer;transition:background-color var(--drp-transition-fast) var(--drp-easing-snappy)}.drp-date-picker__month-year:hover{background-color:var(--drp-primary-bg)}.drp-date-picker__month-year:active{background-color:var(--drp-primary-bg-hover)}.drp-date-picker__nav{width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border:var(--drp-border-width-base) solid var(--drp-border-color);border-radius:var(--drp-border-radius);background:transparent;cursor:pointer;transition:all var(--drp-transition-fast) var(--drp-easing-snappy);font-size:var(--drp-font-size-lg);color:var(--drp-text-primary)}.drp-date-picker__nav:hover{background-color:var(--drp-primary-bg);border-color:var(--drp-accent-color)}.drp-date-picker__nav:active{background-color:var(--drp-primary-bg-hover)}.drp-date-picker__nav--disabled,.drp-date-picker__nav[disabled]{opacity:.6;cursor:not-allowed;pointer-events:none}.drp-date-picker__nav--disabled:hover,.drp-date-picker__nav[disabled]:hover{background-color:transparent;border-color:var(--drp-border-color)}.drp-date-picker__nav--prev:before{content:"‹"}.drp-date-picker__nav--next:before{content:"›"}.drp-date-picker__rolling-selector{display:none}.drp-date-picker__rolling-selector.drp-date-picker__rolling-selector--visible{display:flex}.drp-date-picker__rolling-selector.drp-date-picker__rolling-selector--visible~.drp-date-picker__weekdays,.drp-date-picker__rolling-selector.drp-date-picker__rolling-selector--visible~.drp-date-picker__days{display:none}.drp-date-picker__rolling-selector{gap:var(--drp-spacing-md);margin-bottom:var(--drp-spacing-md)}.drp-date-picker__rolling-list{flex:1;height:100%;overflow-y:auto;border:var(--drp-border-width-base) solid var(--drp-border-color);border-radius:var(--drp-border-radius);scroll-behavior:smooth}.drp-date-picker__rolling-list::-webkit-scrollbar{width:6px}.drp-date-picker__rolling-list::-webkit-scrollbar-track{background:var(--drp-primary-bg)}.drp-date-picker__rolling-list::-webkit-scrollbar-thumb{background:var(--drp-border-color);border-radius:3px}.drp-date-picker__rolling-list::-webkit-scrollbar-thumb:hover{background:var(--drp-accent-color)}.drp-date-picker__rolling-item{padding:var(--drp-spacing-sm) var(--drp-spacing-md);text-align:center;cursor:pointer;font-size:var(--drp-font-size-sm);transition:background-color var(--drp-transition-fast) var(--drp-easing-snappy)}.drp-date-picker__rolling-item:hover{background-color:var(--drp-primary-bg)}.drp-date-picker__rolling-item--selected{background-color:var(--drp-accent-color);color:var(--drp-accent-text-color);font-weight:var(--drp-font-weight-semibold)}.drp-date-picker__rolling-item--selected:hover{background-color:var(--drp-accent-color-hover)}.drp-date-picker__weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--drp-spacing-xs);margin-bottom:var(--drp-spacing-sm)}.drp-date-picker__weekday{text-align:center;font-size:var(--drp-font-size-xs);font-weight:var(--drp-font-weight-semibold);color:var(--drp-text-secondary);padding:var(--drp-spacing-xs);text-transform:uppercase}.drp-date-picker__days{display:flex;flex-direction:column;gap:var(--drp-spacing-xs);margin-bottom:var(--drp-spacing-md)}.drp-date-picker__date-row{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--drp-spacing-xs)}.drp-date-picker__day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:var(--drp-font-size-sm);color:var(--drp-text-primary);border-radius:var(--drp-border-radius);cursor:pointer;transition:all var(--drp-transition-fast) var(--drp-easing-snappy);border:2px solid transparent;position:relative}.drp-date-picker__day:hover:not(.drp-date-picker__day--disabled):not(.drp-date-picker__day--other-month){background-color:var(--drp-primary-bg);border-color:var(--drp-accent-color)}.drp-date-picker__day--today{border-color:var(--drp-accent-color);font-weight:var(--drp-font-weight-semibold)}.drp-date-picker__day--selected{background-color:var(--drp-accent-color);color:var(--drp-accent-text-color);font-weight:var(--drp-font-weight-semibold)}.drp-date-picker__day--selected:hover{background-color:var(--drp-accent-color-hover)}.drp-date-picker__day--focused{outline:2px solid var(--drp-accent-color);outline-offset:2px}.drp-date-picker__day--disabled{color:var(--drp-text-secondary);opacity:.6;cursor:not-allowed;position:relative}.drp-date-picker__day--disabled:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:repeating-linear-gradient(45deg,rgba(0,0,0,.1) 0px,rgba(0,0,0,.1) 1px,transparent 1px,transparent 6px);border-radius:var(--drp-border-radius);pointer-events:none}.drp-date-picker__day--disabled:hover{background-color:transparent;border-color:transparent}.drp-date-picker__day--other-month{color:var(--drp-text-secondary);opacity:.5}.drp-date-picker__day--other-month.drp-date-picker__day--range-start,.drp-date-picker__day--other-month.drp-date-picker__day--range-end,.drp-date-picker__day--other-month.drp-date-picker__day--in-range,.drp-date-picker__day--other-month.drp-date-picker__day--drag-preview{opacity:1}.drp-date-picker__day--range-start,.drp-date-picker__day--range-end{background-color:var(--drp-accent-color);color:var(--drp-accent-text-color);font-weight:var(--drp-font-weight-semibold);cursor:grab;-webkit-user-select:none;user-select:none}.drp-date-picker__day--range-start:active,.drp-date-picker__day--range-end:active{cursor:grabbing}.drp-date-picker__day--in-range{background-color:color-mix(in srgb,var(--drp-accent-color) 15%,transparent)}.drp-date-picker__day--in-range:hover{background-color:color-mix(in srgb,var(--drp-accent-color) 25%,transparent)}.drp-date-picker__day--dragging{cursor:grabbing!important;opacity:.7;transform:scale(1.1);transition:transform var(--drp-transition-fast) var(--drp-easing-snappy)}.drp-date-picker__day--drag-preview{background-color:color-mix(in srgb,var(--drp-accent-color) 30%,transparent);border:2px dashed var(--drp-accent-color)}.drp-date-picker__day--drag-preview.drp-date-picker__day--range-start,.drp-date-picker__day--drag-preview.drp-date-picker__day--range-end{background-color:color-mix(in srgb,var(--drp-accent-color) 60%,transparent);color:var(--drp-accent-text-color)}.drp-date-picker__day--drag-invalid{background-color:color-mix(in srgb,#ef4444 20%,transparent)!important;border-color:#ef4444!important;border-style:dashed!important}.drp-date-picker__day.holiday{background-color:color-mix(in srgb,#ef4444 10%,transparent)}.drp-date-picker__day.holiday:hover:not(.drp-date-picker__day--disabled){background-color:color-mix(in srgb,#ef4444 20%,transparent)}.drp-date-picker__day.event{background-color:color-mix(in srgb,#10b981 10%,transparent)}.drp-date-picker__day.event:hover:not(.drp-date-picker__day--disabled){background-color:color-mix(in srgb,#10b981 20%,transparent)}.drp-date-picker__badge-row{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--drp-spacing-xs);margin-bottom:var(--drp-spacing-xs);max-height:1rem;min-height:1rem}.drp-date-picker__badge-cell{display:flex;align-items:center;justify-content:center;font-size:var(--drp-font-size-2xs);padding:1px 2px;border-radius:2px;transition:all var(--drp-transition-fast) var(--drp-easing-snappy);cursor:pointer;height:100%;max-height:1rem}.drp-date-picker__badge-cell:empty{visibility:hidden}.drp-date-picker__badge-cell:hover:not(:empty){transform:scale(1.05)}.drp-date-picker__badge-cell.badge-number{background-color:#10b981;color:#fff;font-size:.7rem;font-weight:600}.drp-date-picker__badge-cell.badge-count{background-color:#ef4444;color:#fff;font-size:.7rem;font-weight:700}.drp-date-picker__badge-cell.badge-text{background-color:#6b7280;color:#fff;font-size:.65rem;font-weight:700;text-transform:uppercase}.drp-date-picker__summary{text-align:center;padding:var(--drp-spacing-md);border-top:var(--drp-border-width-base) solid var(--drp-border-color);font-size:var(--drp-font-size-sm);color:var(--drp-text-secondary)}.drp-date-picker__summary--visible{display:block}.drp-date-picker__summary--hidden{display:none}.drp-date-picker__summary-count{font-weight:var(--drp-font-weight-semibold);color:var(--drp-accent-color);font-size:var(--drp-font-size-base)}.drp-date-picker__actions{display:flex;gap:var(--drp-spacing-sm);justify-content:space-between;padding-top:var(--drp-spacing-sm);border-top:var(--drp-border-width-base) solid var(--drp-border-color)}.drp-date-picker__button{flex:1;padding:var(--drp-spacing-sm) var(--drp-spacing-md);border:var(--drp-border-width-base) solid var(--drp-border-color);border-radius:var(--drp-border-radius);background:transparent;cursor:pointer;font-size:var(--drp-font-size-sm);font-weight:var(--drp-font-weight-medium);transition:all var(--drp-transition-fast) var(--drp-easing-snappy)}.drp-date-picker__button:hover{background-color:var(--drp-primary-bg);border-color:var(--drp-accent-color)}.drp-date-picker__button--today{color:var(--drp-accent-color)}.drp-date-picker__button--clear{color:var(--drp-text-secondary)}.drp-date-picker__button--apply{background-color:var(--drp-accent-color);color:var(--drp-button-text-color);border-color:var(--drp-accent-color)}.drp-date-picker__button--apply:hover{background-color:var(--drp-accent-color-hover)}.drp-date-picker__button--cancel{color:var(--drp-text-secondary)}.drp-date-picker__tooltip{position:absolute;z-index:9999;background-color:var(--drp-text-primary);color:#fff;padding:var(--drp-spacing-xs) var(--drp-spacing-sm);border-radius:var(--drp-border-radius);font-size:var(--drp-font-size-xs);line-height:1.4;max-width:200px;word-wrap:break-word;pointer-events:none;opacity:0;transition:opacity var(--drp-transition-fast) var(--drp-easing-snappy)}.drp-date-picker__tooltip--visible{opacity:1}.drp-date-picker__tooltip-arrow{position:absolute;background-color:var(--drp-text-primary);width:8px;height:8px;transform:rotate(45deg)}.drp-date-picker__loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#fffc;display:flex;align-items:center;justify-content:center;z-index:9500;border-radius:.375rem}.drp-date-picker__loading-spinner{width:40px;height:40px;border:4px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:drp-spin .8s linear infinite}@keyframes drp-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.drp-font-xs{--drp-font-size-2xs: .4375rem;--drp-font-size-xs: .525rem;--drp-font-size-sm: .6125rem;--drp-font-size-base: .7rem;--drp-font-size-lg: .7875rem;--drp-font-size-xl: .875rem;--drp-font-size-2xl: 1.05rem}.drp-font-sm{--drp-font-size-2xs: .53125rem;--drp-font-size-xs: .6375rem;--drp-font-size-sm: .74375rem;--drp-font-size-base: .85rem;--drp-font-size-lg: .95625rem;--drp-font-size-xl: 1.0625rem;--drp-font-size-2xl: 1.275rem}.drp-font-lg{--drp-font-size-2xs: .75rem;--drp-font-size-xs: .9rem;--drp-font-size-sm: 1.05rem;--drp-font-size-base: 1.2rem;--drp-font-size-lg: 1.35rem;--drp-font-size-xl: 1.5rem;--drp-font-size-2xl: 1.8rem}.drp-font-xl{--drp-font-size-2xs: .875rem;--drp-font-size-xs: 1.05rem;--drp-font-size-sm: 1.225rem;--drp-font-size-base: 1.4rem;--drp-font-size-lg: 1.575rem;--drp-font-size-xl: 1.75rem;--drp-font-size-2xl: 2.1rem}.drp-spacing-xs{--drp-spacing-xs: .175rem;--drp-spacing-sm: .35rem;--drp-spacing-md: .7rem;--drp-spacing-lg: 1.05rem;--drp-spacing-xl: 1.4rem}.drp-spacing-xs .drp-date-picker__month{min-width:196px}.drp-spacing-sm{--drp-spacing-xs: .2125rem;--drp-spacing-sm: .425rem;--drp-spacing-md: .85rem;--drp-spacing-lg: 1.275rem;--drp-spacing-xl: 1.7rem}.drp-spacing-sm .drp-date-picker__month{min-width:238px}.drp-spacing-lg{--drp-spacing-xs: .3rem;--drp-spacing-sm: .6rem;--drp-spacing-md: 1.2rem;--drp-spacing-lg: 1.8rem;--drp-spacing-xl: 2.4rem}.drp-spacing-lg .drp-date-picker__month{min-width:336px}.drp-spacing-xl{--drp-spacing-xs: .35rem;--drp-spacing-sm: .7rem;--drp-spacing-md: 1.4rem;--drp-spacing-lg: 2.1rem;--drp-spacing-xl: 2.8rem}.drp-spacing-xl .drp-date-picker__month{min-width:392px}@media (max-width: 1200px){.drp-responsive.drp-font-xl{--drp-font-size-2xs: .75rem;--drp-font-size-xs: .9rem;--drp-font-size-sm: 1.05rem;--drp-font-size-base: 1.2rem;--drp-font-size-lg: 1.35rem;--drp-font-size-xl: 1.5rem;--drp-font-size-2xl: 1.8rem}}@media (max-width: 768px){.drp-responsive.drp-font-xl{--drp-font-size-2xs: .625rem;--drp-font-size-xs: .75rem;--drp-font-size-sm: .875rem;--drp-font-size-base: 1rem;--drp-font-size-lg: 1.125rem;--drp-font-size-xl: 1.25rem;--drp-font-size-2xl: 1.5rem}}@media (max-width: 1200px){.drp-responsive.drp-font-lg{--drp-font-size-2xs: .625rem;--drp-font-size-xs: .75rem;--drp-font-size-sm: .875rem;--drp-font-size-base: 1rem;--drp-font-size-lg: 1.125rem;--drp-font-size-xl: 1.25rem;--drp-font-size-2xl: 1.5rem}}@media (max-width: 768px){.drp-responsive.drp-font-lg{--drp-font-size-2xs: .53125rem;--drp-font-size-xs: .6375rem;--drp-font-size-sm: .74375rem;--drp-font-size-base: .85rem;--drp-font-size-lg: .95625rem;--drp-font-size-xl: 1.0625rem;--drp-font-size-2xl: 1.275rem}}@media (max-width: 768px){.drp-responsive.drp-font-md{--drp-font-size-2xs: .53125rem;--drp-font-size-xs: .6375rem;--drp-font-size-sm: .74375rem;--drp-font-size-base: .85rem;--drp-font-size-lg: .95625rem;--drp-font-size-xl: 1.0625rem;--drp-font-size-2xl: 1.275rem}}@media (max-width: 768px){.drp-responsive.drp-font-sm{--drp-font-size-2xs: .4375rem;--drp-font-size-xs: .525rem;--drp-font-size-sm: .6125rem;--drp-font-size-base: .7rem;--drp-font-size-lg: .7875rem;--drp-font-size-xl: .875rem;--drp-font-size-2xl: 1.05rem}}@media (max-width: 1200px){.drp-responsive.drp-spacing-xl{--drp-spacing-xs: .3rem;--drp-spacing-sm: .6rem;--drp-spacing-md: 1.2rem;--drp-spacing-lg: 1.8rem;--drp-spacing-xl: 2.4rem}.drp-responsive.drp-spacing-xl .drp-date-picker__month{min-width:336px}}@media (max-width: 768px){.drp-responsive.drp-spacing-xl{--drp-spacing-xs: .25rem;--drp-spacing-sm: .5rem;--drp-spacing-md: 1rem;--drp-spacing-lg: 1.5rem;--drp-spacing-xl: 2rem}.drp-responsive.drp-spacing-xl .drp-date-picker__month{min-width:280px}}@media (max-width: 1200px){.drp-responsive.drp-spacing-lg{--drp-spacing-xs: .25rem;--drp-spacing-sm: .5rem;--drp-spacing-md: 1rem;--drp-spacing-lg: 1.5rem;--drp-spacing-xl: 2rem}.drp-responsive.drp-spacing-lg .drp-date-picker__month{min-width:280px}}@media (max-width: 768px){.drp-responsive.drp-spacing-lg{--drp-spacing-xs: .2125rem;--drp-spacing-sm: .425rem;--drp-spacing-md: .85rem;--drp-spacing-lg: 1.275rem;--drp-spacing-xl: 1.7rem}.drp-responsive.drp-spacing-lg .drp-date-picker__month{min-width:238px}}@media (max-width: 768px){.drp-responsive.drp-spacing-md{--drp-spacing-xs: .2125rem;--drp-spacing-sm: .425rem;--drp-spacing-md: .85rem;--drp-spacing-lg: 1.275rem;--drp-spacing-xl: 1.7rem}.drp-responsive.drp-spacing-md .drp-date-picker__month{min-width:238px}}@media (max-width: 768px){.drp-responsive.drp-spacing-sm{--drp-spacing-xs: .175rem;--drp-spacing-sm: .35rem;--drp-spacing-md: .7rem;--drp-spacing-lg: 1.05rem;--drp-spacing-xl: 1.4rem}.drp-responsive.drp-spacing-sm .drp-date-picker__month{min-width:196px}}.drp-date-picker--xs{padding:var(--drp-spacing-sm);min-width:240px}.drp-date-picker--xs .drp-date-picker__month-year{font-size:var(--drp-font-size-xs);padding:var(--drp-spacing-xs) var(--drp-spacing-sm)}.drp-date-picker--xs .drp-date-picker__nav{width:1.5rem;height:1.5rem;font-size:var(--drp-font-size-sm)}.drp-date-picker--xs .drp-date-picker__weekday{font-size:var(--drp-font-size-2xs)}.drp-date-picker--xs .drp-date-picker__day{font-size:var(--drp-font-size-xs)}.drp-date-picker--sm{padding:var(--drp-spacing-sm);min-width:260px}.drp-date-picker--sm .drp-date-picker__month-year{font-size:var(--drp-font-size-sm);padding:var(--drp-spacing-xs) var(--drp-spacing-sm)}.drp-date-picker--sm .drp-date-picker__nav{width:1.75rem;height:1.75rem;font-size:var(--drp-font-size-base)}.drp-date-picker--sm .drp-date-picker__day{font-size:var(--drp-font-size-xs)}.drp-date-picker--lg{padding:var(--drp-spacing-lg);min-width:320px}.drp-date-picker--lg .drp-date-picker__month-year{font-size:var(--drp-font-size-lg);padding:var(--drp-spacing-md) var(--drp-spacing-lg)}.drp-date-picker--lg .drp-date-picker__nav{width:2.5rem;height:2.5rem;font-size:var(--drp-font-size-xl)}.drp-date-picker--lg .drp-date-picker__day{font-size:var(--drp-font-size-base)}.drp-date-picker--xl{padding:var(--drp-spacing-xl);min-width:360px}.drp-date-picker--xl .drp-date-picker__month-year{font-size:var(--drp-font-size-xl);padding:var(--drp-spacing-lg) var(--drp-spacing-xl)}.drp-date-picker--xl .drp-date-picker__nav{width:3rem;height:3rem;font-size:var(--drp-font-size-2xl)}.drp-date-picker--xl .drp-date-picker__day{font-size:var(--drp-font-size-lg)}.drp-date-picker--inline{position:static;display:block;box-shadow:none}';class Be extends HTMLElement{constructor(){super();v(this,"picker");v(this,"inputElement");v(this,"shadow");v(this,"_specialDates");v(this,"_disabledDates");v(this,"_isDateDisabled");v(this,"_getDateMetadata");this.shadow=this.attachShadow({mode:"open"})}static get observedAttributes(){return["selection-mode","date-format-mask","visible-months-count","calendar-open-trigger","value","disabled","placeholder","week-start-day","min-date","max-date","disabled-weekdays","disabled-dates-handling","highlight-disabled-in-range","positioning-mode","month-layout","grid-rows","grid-columns","calendar-placement","locale","display-format-mask","show-debug-info"]}connectedCallback(){this.render(),this.initializePicker()}disconnectedCallback(){this.picker&&this.picker.destroy()}attributeChangedCallback(n,a,r){a!==r&&(this.picker&&n!=="value"&&n!=="placeholder"&&(this.picker.destroy(),this.initializePicker()),n==="value"&&this.inputElement&&r!==null&&(this.inputElement.value=r),n==="placeholder"&&this.inputElement&&r!==null&&(this.inputElement.placeholder=r),n==="disabled"&&this.inputElement&&(r!==null?this.inputElement.disabled=!0:this.inputElement.disabled=!1))}render(){const n=document.createElement("style");if(n.textContent=ea,this.shadow.appendChild(n),(this.getAttribute("positioning-mode")||"floating")==="floating"){this.inputElement=document.createElement("input"),this.inputElement.type="text",this.inputElement.classList.add("drp-input","drp-date-picker-input");const r=this.getAttribute("placeholder");r&&(this.inputElement.placeholder=r);const o=this.getAttribute("value");o&&(this.inputElement.value=o),this.hasAttribute("disabled")&&(this.inputElement.disabled=!0),this.shadow.appendChild(this.inputElement)}}initializePicker(){const n=this.getAttribute("positioning-mode")||"floating";if(n==="floating"&&!this.inputElement)return;let a;const r=this.getAttribute("disabled-weekdays");r&&(a=r.split(",").map(l=>parseInt(l.trim())).filter(l=>!isNaN(l)&&l>=0&&l<=6));let o;const s=this.getAttribute("week-start-day");if(s)if(s==="auto")o="auto";else{const l=parseInt(s);!isNaN(l)&&l>=0&&l<=6&&(o=l)}const i={selectionMode:this.getAttribute("selection-mode")||"single",dateFormatMask:this.getAttribute("date-format-mask")||"YYYY-MM-DD",visibleMonthsCount:parseInt(this.getAttribute("visible-months-count")||"0")||void 0,calendarOpenTrigger:this.getAttribute("calendar-open-trigger")||"auto",onSelect:l=>this.handleDateSelect(l),container:this.shadow,positioningMode:n,monthLayout:this.getAttribute("month-layout")||void 0,gridRows:parseInt(this.getAttribute("grid-rows")||"0")||void 0,gridColumns:parseInt(this.getAttribute("grid-columns")||"0")||void 0,calendarPlacement:this.getAttribute("calendar-placement")||void 0,weekStartDay:o,minDate:this.getAttribute("min-date")||void 0,maxDate:this.getAttribute("max-date")||void 0,disabledWeekdays:a,disabledDates:this._disabledDates,specialDates:this._specialDates,isDateDisabled:this._isDateDisabled,getDateMetadata:this._getDateMetadata,disabledDatesHandling:this.getAttribute("disabled-dates-handling")||void 0,highlightDisabledInRange:this.hasAttribute("highlight-disabled-in-range")?this.getAttribute("highlight-disabled-in-range")==="true":void 0,locale:this.getAttribute("locale")||"auto",displayFormatMask:this.getAttribute("display-format-mask")||void 0,showDebugInfo:this.hasAttribute("show-debug-info")},d=n==="inline"?null:this.inputElement;this.picker=new kt(d,i)}handleDateSelect(n){var o;const a={date:n instanceof Date?n:void 0,dateRange:n instanceof Date?void 0:n,formattedValue:((o=this.inputElement)==null?void 0:o.value)||""};if(!this.picker){this.dispatchEvent(new CustomEvent("date-select",{detail:a,bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("change",{detail:a,bubbles:!0,composed:!0}));return}const r=this.picker.options.disabledDatesHandling;if(!(n instanceof Date)&&n.start&&n.end){const s=n.start,i=n.end;switch(r){case"allow":a.enabledDates=this.picker.getEnabledDatesInRange(s,i),a.disabledDates=this.picker.getDisabledDatesInRange(s,i),a.getEnabledDateCount=()=>a.enabledDates.length,a.getTotalDays=()=>Math.floor((i.getTime()-s.getTime())/864e5)+1;break;case"split":a.dateRanges=this.picker.splitRangeByDisabled(s,i),a.dates=this.picker.getEnabledDatesInRange(s,i),a.dateRanges.length>0&&(a.formattedValue=a.dateRanges.map(d=>`${this.picker.formatDate(d.start)} - ${this.picker.formatDate(d.end)}`).join(", "));break;case"individual":a.dates=this.picker.getEnabledDatesInRange(s,i),a.dateRange=null,a.dates.length>0&&(a.formattedValue=a.dates.map(d=>this.picker.formatDate(d)).join(", "));break;case"block":a.dates=this.picker.getEnabledDatesInRange(s,i);break}}this.dispatchEvent(new CustomEvent("date-select",{detail:a,bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("change",{detail:a,bubbles:!0,composed:!0}))}show(){var n;(n=this.picker)==null||n.show()}hide(){var n;(n=this.picker)==null||n.hide()}toggle(){var n;(n=this.picker)==null||n.toggle()}clearSelection(){var n;(n=this.picker)==null||n.clearSelection()}getInputValue(){var n;return((n=this.inputElement)==null?void 0:n.value)||""}setInputValue(n){this.inputElement&&(this.inputElement.value=n),this.setAttribute("value",n)}get selectionMode(){return this.getAttribute("selection-mode")||"single"}set selectionMode(n){this.setAttribute("selection-mode",n)}get dateFormatMask(){return this.getAttribute("date-format-mask")||"YYYY-MM-DD"}set dateFormatMask(n){this.setAttribute("date-format-mask",n)}get value(){return this.getInputValue()}set value(n){this.setInputValue(n)}get disabled(){return this.hasAttribute("disabled")}set disabled(n){n?this.setAttribute("disabled",""):this.removeAttribute("disabled")}get weekStartDay(){const n=this.getAttribute("week-start-day");if(n==="auto")return"auto";const a=parseInt(n||"");return!isNaN(a)&&a>=0&&a<=6?a:"auto"}set weekStartDay(n){this.setAttribute("week-start-day",n.toString())}get minDate(){return this.getAttribute("min-date")||void 0}set minDate(n){n?this.setAttribute("min-date",n):this.removeAttribute("min-date")}get maxDate(){return this.getAttribute("max-date")||void 0}set maxDate(n){n?this.setAttribute("max-date",n):this.removeAttribute("max-date")}get disabledWeekdays(){const n=this.getAttribute("disabled-weekdays");if(n)return n.split(",").map(a=>parseInt(a.trim())).filter(a=>!isNaN(a)&&a>=0&&a<=6)}set disabledWeekdays(n){n&&n.length>0?this.setAttribute("disabled-weekdays",n.join(",")):this.removeAttribute("disabled-weekdays")}get specialDates(){return this._specialDates}set specialDates(n){this._specialDates=n,this.picker&&(this.picker.destroy(),this.initializePicker())}get disabledDates(){return this._disabledDates}set disabledDates(n){this._disabledDates=n,this.picker&&(this.picker.destroy(),this.initializePicker())}get isDateDisabled(){return this._isDateDisabled}set isDateDisabled(n){this._isDateDisabled=n,this.picker&&(this.picker.destroy(),this.initializePicker())}get getDateMetadata(){return this._getDateMetadata}set getDateMetadata(n){this._getDateMetadata=n,this.picker&&(this.picker.destroy(),this.initializePicker())}}customElements.get("date-range-picker")||customElements.define("date-range-picker",Be);function ta(){return Array.from(document.querySelectorAll("date-range-picker"))}typeof window<"u"&&(window.keenmate=window.keenmate||{},window.keenmate.daterangepicker={version:()=>"1.0.0-rc03",config:{name:"@keenmate/web-daterangepicker",version:"1.0.0-rc03",author:"Keenmate",license:"MIT",repository:"git+https://github.com/keenmate/web-daterangepicker.git",homepage:"https://github.com/keenmate/web-daterangepicker#readme"},register:()=>{typeof customElements<"u"&&!customElements.get("date-range-picker")&&customElements.define("date-range-picker",Be)},getInstances:()=>ta()},window.keenmate.daterangepicker.register()),T.DateRangePickerElement=Be,T.PureDatePicker=kt,Object.defineProperty(T,Symbol.toStringTag,{value:"Module"})});
28
+ `,this.calendar.appendChild(n),this.containerElement.appendChild(this.calendar),$.debug("Calendar appended to container:",this.calendar),this.tooltip=document.createElement("div"),this.tooltip.className="drp-date-picker__tooltip",this.tooltipArrow=document.createElement("div"),this.tooltipArrow.className="drp-date-picker__tooltip-arrow",this.tooltip.appendChild(this.tooltipArrow),this.containerElement.appendChild(this.tooltip),this.attachCalendarListeners(),this.showingRollingSelector=new Array(this.options.visibleMonthsCount).fill(!1)}attachInputListeners(){if(!this.input)return;$.debug("Attaching input listeners");const t=this.options.calendarOpenTrigger||"focus";t==="focus"?this.input.addEventListener("focus",()=>{$.debug("Input focused - opening calendar"),this.show()}):t==="typing"&&this.input.addEventListener("input",n=>{!this.isVisible&&this.input&&this.input.value.length>0&&($.debug("User started typing - opening calendar"),this.show())}),this.input.addEventListener("input",n=>this.handleInputMask(n)),this.input.addEventListener("keydown",n=>this.handleKeydown(n)),this.input.addEventListener("paste",n=>this.handlePaste(n))}attachCalendarListeners(){this.calendar.addEventListener("click",async t=>{const n=t.target;t.stopPropagation();const a=n.dataset.action,r=n.dataset.monthIndex,o=r?parseInt(r):0;if(a==="prev")this.prevMonth(o);else if(a==="next")this.nextMonth(o);else if(a==="toggle-rolling")this.toggleRollingSelector(o);else if(a==="today")this.selectToday();else if(a==="clear")this.clearSelection();else if(a==="apply")this.apply();else if(n.closest(".drp-date-picker__day:not(.drp-date-picker__day--disabled)"))await this.selectDay(n.closest(".drp-date-picker__day"));else if(n.closest("[data-year]")){const s=n.closest("[data-year]");if(s.classList.contains("drp-date-picker__rolling-item--disabled"))return;const i=s.dataset.year,d=s.dataset.monthIndex;i&&d&&this.selectYear(parseInt(i),parseInt(d))}else if(n.closest("[data-month]")){const s=n.closest("[data-month]");if(s.classList.contains("drp-date-picker__rolling-item--disabled"))return;const i=s.dataset.month,d=s.dataset.monthIndex;i&&d&&this.selectMonth(parseInt(i),parseInt(d))}}),this.calendar.addEventListener("mouseenter",t=>{const n=t.target,a=n.closest(".drp-date-picker__day"),r=n.closest(".drp-date-picker__badge-cell"),o=a||r;if(o&&o instanceof HTMLElement){const s=o.dataset.tooltip;s&&this.showTooltip(o,s)}},!0),this.calendar.addEventListener("mouseleave",t=>{const n=t.target,a=n.closest(".drp-date-picker__day"),r=n.closest(".drp-date-picker__badge-cell"),o=a||r;o&&this.currentTooltipTarget===o&&this.hideTooltip()},!0),this.calendar.addEventListener("mousedown",t=>{this.isCalendarActive=!0,t.stopPropagation()}),this.calendar.addEventListener("focusin",()=>{this.isCalendarActive=!0}),document.addEventListener("mousedown",t=>{this.calendar.contains(t.target)||(this.isCalendarActive=!1)},!0),document.addEventListener("keydown",t=>{var n,a,r,o;if(this.calendar.classList.contains("drp-date-picker--visible")&&this.isCalendarActive){if($.debug("Keydown",t.key,"Ctrl:",t.ctrlKey,"Meta:",t.metaKey,"Shift:",t.shiftKey,"Alt:",t.altKey),t.key==="Escape")this.hide(),t.preventDefault();else if(t.key==="ArrowUp")this.moveFocus(-7),t.preventDefault();else if(t.key==="ArrowDown")this.moveFocus(7),t.preventDefault();else if(t.key==="ArrowLeft"){if(t.ctrlKey||t.metaKey){C.debug("Ctrl+Left: Navigate to previous month");const s=this.focusedDayIndex;this.prevMonth(this.activeMonthIndex),setTimeout(()=>{var l,c;const i=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`),d=i==null?void 0:i.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");d&&(this.focusedDayIndex=Math.min(s!==null?s:0,d.length-1),(l=d[this.focusedDayIndex])==null||l.classList.add("drp-date-picker__day--focused"),(c=d[this.focusedDayIndex])==null||c.scrollIntoView({block:"nearest"}))},0)}else this.moveFocus(-1);t.preventDefault()}else if(t.key==="ArrowRight"){if(t.ctrlKey||t.metaKey){C.debug("Ctrl+Right: Navigate to next month");const s=this.focusedDayIndex;this.nextMonth(this.activeMonthIndex),setTimeout(()=>{var l,c;const i=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`),d=i==null?void 0:i.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");d&&(this.focusedDayIndex=Math.min(s!==null?s:0,d.length-1),(l=d[this.focusedDayIndex])==null||l.classList.add("drp-date-picker__day--focused"),(c=d[this.focusedDayIndex])==null||c.scrollIntoView({block:"nearest"}))},0)}else this.moveFocus(1);t.preventDefault()}else if(t.key==="Enter"){if(this.focusedDayIndex!==null){const s=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`),i=s==null?void 0:s.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)"),d=i==null?void 0:i[this.focusedDayIndex];d&&d.click()}else this.hide();t.preventDefault()}else if(t.key==="Tab"){if(this.options.visibleMonthsCount>1){const s=t.shiftKey?-1:1,i=this.activeMonthIndex+s;if(i>=0&&i<this.monthDates.length){C.debug(`Tab: switching from Col${this.activeMonthIndex} to Col${i}`);const d=this.focusedDayIndex??0;this.activeMonthIndex=i;const l=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`);if(l){const c=l.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");this.focusedDayIndex=Math.min(d,c.length-1),C.debug(`Col${this.activeMonthIndex} Tab: set focusedDayIndex to ${this.focusedDayIndex}`)}this.renderCalendar()}t.preventDefault()}}else if(t.key==="t"||t.key==="T")this.monthDates[this.activeMonthIndex]=new Date,this.renderCalendar(),setTimeout(()=>{const s=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`),i=s==null?void 0:s.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");if(i){const d=Array.from(i).findIndex(l=>l.classList.contains("drp-date-picker__day--today"));d!==-1&&(this.focusedDayIndex=d,i[d].classList.add("drp-date-picker__day--focused"),i[d].scrollIntoView({block:"nearest"}))}},0),t.preventDefault();else if(t.key==="PageUp"){const s=this.focusedDayIndex;this.prevMonth(this.activeMonthIndex),setTimeout(()=>{var l,c;const i=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`),d=i==null?void 0:i.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");d&&(this.focusedDayIndex=Math.min(s!==null?s:0,d.length-1),(l=d[this.focusedDayIndex])==null||l.classList.add("drp-date-picker__day--focused"),(c=d[this.focusedDayIndex])==null||c.scrollIntoView({block:"nearest"}))},0),t.preventDefault()}else if(t.key==="PageDown"){const s=this.focusedDayIndex;this.nextMonth(this.activeMonthIndex),setTimeout(()=>{var l,c;const i=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`),d=i==null?void 0:i.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");d&&(this.focusedDayIndex=Math.min(s!==null?s:0,d.length-1),(l=d[this.focusedDayIndex])==null||l.classList.add("drp-date-picker__day--focused"),(c=d[this.focusedDayIndex])==null||c.scrollIntoView({block:"nearest"}))},0),t.preventDefault()}else if(t.key==="Home"){C.debug("Home key pressed, Ctrl:",t.ctrlKey,"Meta:",t.metaKey);const s=this.monthDates[this.activeMonthIndex].getFullYear(),i=this.monthDates[this.activeMonthIndex].getMonth();if(t.ctrlKey||t.metaKey){C.debug("Ctrl+Home: Navigate to year start");const d=i===0,l=this.focusedDayIndex===0;d&&l?(C.debug("Already at Jan 1, going to previous year"),this.monthDates[this.activeMonthIndex]=new Date(s-1,0,1)):(C.debug("Going to Jan 1 of current year"),this.monthDates[this.activeMonthIndex]=new Date(s,0,1)),this.renderCalendar(),setTimeout(()=>{var p,g;const c=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`),u=c==null?void 0:c.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");u&&(this.focusedDayIndex=0,(p=u[0])==null||p.classList.add("drp-date-picker__day--focused"),(g=u[0])==null||g.scrollIntoView({block:"nearest"}))},0)}else if(C.debug("Home: Navigate to first day (cycles to previous month if already there)"),this.focusedDayIndex===0)C.debug("Already on first day, going to previous month"),this.prevMonth(this.activeMonthIndex),setTimeout(()=>{var u,p;const l=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`),c=l==null?void 0:l.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");c&&(this.focusedDayIndex=0,this.calendar.querySelectorAll(".drp-date-picker__day--focused").forEach(g=>g.classList.remove("drp-date-picker__day--focused")),(u=c[0])==null||u.classList.add("drp-date-picker__day--focused"),(p=c[0])==null||p.scrollIntoView({block:"nearest"}))},0);else{this.focusedDayIndex=0;const l=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`),c=l==null?void 0:l.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");c&&(this.calendar.querySelectorAll(".drp-date-picker__day--focused").forEach(u=>u.classList.remove("drp-date-picker__day--focused")),(n=c[0])==null||n.classList.add("drp-date-picker__day--focused"),(a=c[0])==null||a.scrollIntoView({block:"nearest"}))}t.preventDefault()}else if(t.key==="End"){C.debug("End key pressed, Ctrl:",t.ctrlKey,"Meta:",t.metaKey);const s=this.monthDates[this.activeMonthIndex].getFullYear(),i=this.monthDates[this.activeMonthIndex].getMonth();if(t.ctrlKey||t.metaKey){C.debug("Ctrl+End: Navigate to year end");const d=i===11,l=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`),c=l==null?void 0:l.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)"),u=c&&this.focusedDayIndex===c.length-1;d&&u?this.monthDates[this.activeMonthIndex]=new Date(s+1,11,31):this.monthDates[this.activeMonthIndex]=new Date(s,11,31),this.renderCalendar(),setTimeout(()=>{var h,f;const p=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`),g=p==null?void 0:p.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");g&&(this.focusedDayIndex=g.length-1,(h=g[this.focusedDayIndex])==null||h.classList.add("drp-date-picker__day--focused"),(f=g[this.focusedDayIndex])==null||f.scrollIntoView({block:"nearest"}))},0)}else{C.debug("End: Navigate to last day (cycles to next month if already there)");const d=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`),l=d==null?void 0:d.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");if(!l)return;this.focusedDayIndex===l.length-1?(C.debug("Already on last day, going to next month"),this.nextMonth(this.activeMonthIndex),setTimeout(()=>{var g,h;const u=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`),p=u==null?void 0:u.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");p&&(this.focusedDayIndex=p.length-1,this.calendar.querySelectorAll(".drp-date-picker__day--focused").forEach(f=>f.classList.remove("drp-date-picker__day--focused")),(g=p[this.focusedDayIndex])==null||g.classList.add("drp-date-picker__day--focused"),(h=p[this.focusedDayIndex])==null||h.scrollIntoView({block:"nearest"}))},0)):(this.focusedDayIndex=l.length-1,this.calendar.querySelectorAll(".drp-date-picker__day--focused").forEach(u=>u.classList.remove("drp-date-picker__day--focused")),(r=l[this.focusedDayIndex])==null||r.classList.add("drp-date-picker__day--focused"),(o=l[this.focusedDayIndex])==null||o.scrollIntoView({block:"nearest"}))}t.preventDefault()}}}),this.options.positioningMode==="floating"&&(this.clickOutsideHandler=t=>{var i;const n=t.composedPath(),a=n[0],r=n.includes(this.calendar),o=this.input&&n.includes(this.input),s=(i=a.closest)==null?void 0:i.call(a,"[data-calendar-button]");!r&&!o&&!s&&this.hide()},document.addEventListener("click",this.clickOutsideHandler))}parseFormat(t){const n={};let a="";return t.includes("-")?a="-":t.includes("/")?a="/":t.includes(".")&&(a="."),t.split(a).forEach((o,s)=>{o==="YYYY"||o==="YY"?n.year={index:s,length:o.length}:o==="MM"||o==="M"?n.month={index:s,length:2}:(o==="DD"||o==="D")&&(n.day={index:s,length:2})}),{format:t,separator:a,parts:n,maxLength:t.length}}formatDate(t){if(!t)return"";const n=t.getFullYear(),a=String(t.getMonth()+1).padStart(2,"0"),r=String(t.getDate()).padStart(2,"0"),{format:o,separator:s,parts:i}=this.formatInfo,d=[];for(let l=0;l<3;l++)i.year&&i.year.index===l?d.push(i.year.length===2?String(n).slice(-2):n):i.month&&i.month.index===l?d.push(a):i.day&&i.day.index===l&&d.push(r);return d.join(s)}destroy(){this.clickOutsideHandler&&document.removeEventListener("click",this.clickOutsideHandler),this.calendar.remove(),this.tooltip&&this.tooltip.remove()}show(){return wt(this)}hide(){return xt(this)}toggle(){return qn(this)}position(){return St(this)}showTooltip(t,n){return Bn(this,t,n)}hideTooltip(){return Wn(this)}renderCalendar(){return Gt(this)}renderNormalView(t){return Je(this,t)}renderDays(t,n){return Qe(this,t,n)}renderRollingSelector(t){return Ze(this,t)}updateSummary(){return Qt(this)}updateSummaryWithPreview(){return et(this)}updateDragPreview(){return Zt(this)}toggleRollingSelector(t){return Bt(this,t)}selectYear(t,n){return Wt(this,t,n)}selectMonth(t,n){return jt(this,t,n)}checkAndResolveCollisions(t){return pe(this,t)}prevMonth(t){return ue(this,t)}nextMonth(t){return ge(this,t)}findNextEnabledDayIndex(t,n,a,r){return fe(this,t,n,a)}moveFocus(t){return Kt(this,t)}async selectDay(t){return await Kn(this,t)}selectToday(){return Un(this)}clearSelection(){return Xn(this)}apply(){return Gn(this)}initDragListeners(){return Jn(this)}startDrag(t,n){return Et(this,t,n)}onDragMove(t){return Ct(this,t)}async onDragEnd(t){return await Lt(this)}findNearestEnabledDate(t,n="forward"){return Le(this,t,n)}handleInputMask(t){return Qn(this,t)}applyMask(t){return ce(this,t)}applyRangeMask(t){return At(this,t)}handleKeydown(t){return Zn(this,t)}handlePaste(t){return ea(this,t)}updateCalendarFromInput(){return qe(this)}parseAndUpdateSingleDate(t,n="single"){return Ae(this,t,n)}}const ra='@charset "UTF-8";:host{--drp-card-bg: #ffffff;--drp-border-color: #e5e7eb;--drp-primary-bg: #f3f4f6;--drp-primary-bg-hover: #e5e7eb;--drp-accent-color: #3b82f6;--drp-accent-color-hover: #2563eb;--drp-text-primary: #111827;--drp-text-secondary: #6b7280;--drp-accent-text-color: #ffffff;--drp-button-text-color: #ffffff;--drp-spacing-xs: .25rem;--drp-spacing-sm: .5rem;--drp-spacing-md: 1rem;--drp-spacing-lg: 1.5rem;--drp-spacing-xl: 2rem;--drp-font-size-2xs: .625rem;--drp-font-size-xs: .75rem;--drp-font-size-sm: .875rem;--drp-font-size-base: 1rem;--drp-font-size-lg: 1.125rem;--drp-font-size-xl: 1.25rem;--drp-font-size-2xl: 1.5rem;--drp-font-weight-medium: 500;--drp-font-weight-semibold: 600;--drp-border-width-base: 1px;--drp-border-radius: .375rem;--drp-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--drp-transition-fast: .15s;--drp-easing-snappy: cubic-bezier(.4, 0, .2, 1);--drp-input-padding-h: .75rem;--drp-grid-columns: 3;--drp-grid-rows: 2}.drp-date-picker-input{position:relative;cursor:pointer}.drp-date-picker-input:after{content:"📅";position:absolute;right:var(--drp-input-padding-h);top:50%;transform:translateY(-50%);pointer-events:none;opacity:.6}.drp-date-picker{position:absolute;z-index:9500;background:var(--drp-card-bg);border:var(--drp-border-width-base) solid var(--drp-border-color);border-radius:var(--drp-border-radius);box-shadow:var(--drp-shadow-xl);padding:var(--drp-spacing-md);min-width:280px;max-width:calc(100vw - 2rem);box-sizing:border-box;-webkit-user-select:none;user-select:none}.drp-date-picker:not(.drp-date-picker--visible){display:none}.drp-date-picker--inline{position:relative!important;display:block!important;z-index:auto;min-width:0;max-width:100%;width:fit-content;box-sizing:border-box}.drp-date-picker__months{display:flex;gap:var(--drp-spacing-lg)}.drp-date-picker--inline .drp-date-picker__months{flex-wrap:wrap}.drp-date-picker__months--grid{display:grid;grid-template-columns:repeat(var(--drp-grid-columns, 3),minmax(0,1fr));grid-template-rows:repeat(var(--drp-grid-rows, 2),auto);gap:var(--drp-spacing-lg);width:100%}@media (max-width: 1200px){.drp-date-picker__months--grid{grid-template-columns:repeat(min(var(--drp-grid-columns, 3),3),minmax(0,1fr))}}@media (max-width: 768px){.drp-date-picker__months--grid{grid-template-columns:repeat(min(var(--drp-grid-columns, 3),2),minmax(0,1fr))}}@media (max-width: 480px){.drp-date-picker__months--grid{grid-template-columns:minmax(0,1fr)}}.drp-date-picker__month{flex:1;min-width:280px}.drp-date-picker--inline .drp-date-picker__month{min-width:250px}.drp-date-picker__months--grid .drp-date-picker__month{min-width:0;width:100%}.drp-date-picker__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--drp-spacing-md);gap:var(--drp-spacing-sm)}.drp-date-picker__month-year{flex:1;text-align:center;font-weight:var(--drp-font-weight-semibold);font-size:var(--drp-font-size-base);color:var(--drp-text-primary);padding:var(--drp-spacing-sm) var(--drp-spacing-md);border-radius:var(--drp-border-radius);cursor:pointer;transition:background-color var(--drp-transition-fast) var(--drp-easing-snappy)}.drp-date-picker__month-year:hover{background-color:var(--drp-primary-bg)}.drp-date-picker__month-year:active{background-color:var(--drp-primary-bg-hover)}.drp-date-picker__nav{width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border:var(--drp-border-width-base) solid var(--drp-border-color);border-radius:var(--drp-border-radius);background:transparent;cursor:pointer;transition:all var(--drp-transition-fast) var(--drp-easing-snappy);font-size:var(--drp-font-size-lg);color:var(--drp-text-primary)}.drp-date-picker__nav:hover{background-color:var(--drp-primary-bg);border-color:var(--drp-accent-color)}.drp-date-picker__nav:active{background-color:var(--drp-primary-bg-hover)}.drp-date-picker__nav--disabled,.drp-date-picker__nav[disabled]{opacity:.6;cursor:not-allowed;pointer-events:none}.drp-date-picker__nav--disabled:hover,.drp-date-picker__nav[disabled]:hover{background-color:transparent;border-color:var(--drp-border-color)}.drp-date-picker__nav--prev:before{content:"‹"}.drp-date-picker__nav--next:before{content:"›"}.drp-date-picker__rolling-selector{display:none}.drp-date-picker__rolling-selector.drp-date-picker__rolling-selector--visible{display:flex}.drp-date-picker__rolling-selector.drp-date-picker__rolling-selector--visible~.drp-date-picker__weekdays,.drp-date-picker__rolling-selector.drp-date-picker__rolling-selector--visible~.drp-date-picker__days{display:none}.drp-date-picker__rolling-selector{gap:var(--drp-spacing-xs);margin-bottom:var(--drp-spacing-md)}.drp-date-picker__rolling-list{flex:1;height:100%;overflow-y:auto;border:var(--drp-border-width-base) solid var(--drp-border-color);border-radius:var(--drp-border-radius);scroll-behavior:smooth}.drp-date-picker__rolling-list::-webkit-scrollbar{width:6px}.drp-date-picker__rolling-list::-webkit-scrollbar-track{background:var(--drp-primary-bg)}.drp-date-picker__rolling-list::-webkit-scrollbar-thumb{background:var(--drp-border-color);border-radius:3px}.drp-date-picker__rolling-list::-webkit-scrollbar-thumb:hover{background:var(--drp-accent-color)}.drp-date-picker__rolling-item{padding:var(--drp-spacing-sm) var(--drp-spacing-md);text-align:center;cursor:pointer;font-size:var(--drp-font-size-sm);transition:background-color var(--drp-transition-fast) var(--drp-easing-snappy)}.drp-date-picker__rolling-item:hover{background-color:var(--drp-primary-bg)}.drp-date-picker__rolling-item--selected{background-color:var(--drp-accent-color);color:var(--drp-accent-text-color);font-weight:var(--drp-font-weight-semibold)}.drp-date-picker__rolling-item--selected:hover{background-color:var(--drp-accent-color-hover)}.drp-date-picker__weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--drp-spacing-xs);margin-bottom:var(--drp-spacing-sm)}.drp-date-picker__weekday{text-align:center;font-size:var(--drp-font-size-xs);font-weight:var(--drp-font-weight-semibold);color:var(--drp-text-secondary);padding:var(--drp-spacing-xs);text-transform:uppercase}.drp-date-picker__days{display:flex;flex-direction:column;gap:var(--drp-spacing-xs);margin-bottom:var(--drp-spacing-md)}.drp-date-picker__date-row{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--drp-spacing-xs)}.drp-date-picker__day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:var(--drp-font-size-sm);color:var(--drp-text-primary);border-radius:var(--drp-border-radius);cursor:pointer;transition:all var(--drp-transition-fast) var(--drp-easing-snappy);border:2px solid transparent;position:relative}.drp-date-picker__day:hover:not(.drp-date-picker__day--disabled):not(.drp-date-picker__day--other-month){background-color:var(--drp-primary-bg);border-color:var(--drp-accent-color)}.drp-date-picker__day--today{border-color:var(--drp-accent-color);font-weight:var(--drp-font-weight-semibold)}.drp-date-picker__day--selected{background-color:var(--drp-accent-color);color:var(--drp-accent-text-color);font-weight:var(--drp-font-weight-semibold)}.drp-date-picker__day--selected:hover{background-color:var(--drp-accent-color-hover)}.drp-date-picker__day--focused{outline:2px solid var(--drp-accent-color);outline-offset:2px}.drp-date-picker__day--disabled{color:var(--drp-text-secondary);opacity:.6;cursor:not-allowed;position:relative}.drp-date-picker__day--disabled:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:repeating-linear-gradient(45deg,rgba(0,0,0,.1) 0px,rgba(0,0,0,.1) 1px,transparent 1px,transparent 6px);border-radius:var(--drp-border-radius);pointer-events:none}.drp-date-picker__day--disabled:hover{background-color:transparent;border-color:transparent}.drp-date-picker__day--other-month{color:var(--drp-text-secondary);opacity:.5}.drp-date-picker__day--other-month.drp-date-picker__day--range-start,.drp-date-picker__day--other-month.drp-date-picker__day--range-end,.drp-date-picker__day--other-month.drp-date-picker__day--in-range,.drp-date-picker__day--other-month.drp-date-picker__day--drag-preview{opacity:1}.drp-date-picker__day--range-start,.drp-date-picker__day--range-end{background-color:var(--drp-accent-color);color:var(--drp-accent-text-color);font-weight:var(--drp-font-weight-semibold);cursor:grab;-webkit-user-select:none;user-select:none}.drp-date-picker__day--range-start:active,.drp-date-picker__day--range-end:active{cursor:grabbing}.drp-date-picker__day--in-range{background-color:color-mix(in srgb,var(--drp-accent-color) 15%,transparent)}.drp-date-picker__day--in-range:hover{background-color:color-mix(in srgb,var(--drp-accent-color) 25%,transparent)}.drp-date-picker__day--dragging{cursor:grabbing!important;opacity:.7;transform:scale(1.1);transition:transform var(--drp-transition-fast) var(--drp-easing-snappy)}.drp-date-picker__day--drag-preview{background-color:color-mix(in srgb,var(--drp-accent-color) 30%,transparent);border:2px dashed var(--drp-accent-color)}.drp-date-picker__day--drag-preview.drp-date-picker__day--range-start,.drp-date-picker__day--drag-preview.drp-date-picker__day--range-end{background-color:color-mix(in srgb,var(--drp-accent-color) 60%,transparent);color:var(--drp-accent-text-color)}.drp-date-picker__day--drag-invalid{background-color:color-mix(in srgb,#ef4444 20%,transparent)!important;border-color:#ef4444!important;border-style:dashed!important}.drp-date-picker__day.holiday{background-color:color-mix(in srgb,#ef4444 10%,transparent)}.drp-date-picker__day.holiday:hover:not(.drp-date-picker__day--disabled){background-color:color-mix(in srgb,#ef4444 20%,transparent)}.drp-date-picker__day.event{background-color:color-mix(in srgb,#10b981 10%,transparent)}.drp-date-picker__day.event:hover:not(.drp-date-picker__day--disabled){background-color:color-mix(in srgb,#10b981 20%,transparent)}.drp-date-picker__rolling-item--disabled{color:var(--drp-text-secondary);opacity:.4;cursor:not-allowed;pointer-events:none;text-decoration:line-through}.drp-date-picker__rolling-item--disabled:hover{background-color:transparent}.drp-date-picker__badge-row{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--drp-spacing-xs);margin-bottom:var(--drp-spacing-xs);max-height:1rem;min-height:1rem}.drp-date-picker__badge-cell{display:flex;align-items:center;justify-content:center;font-size:var(--drp-font-size-2xs);padding:1px 2px;border-radius:2px;transition:all var(--drp-transition-fast) var(--drp-easing-snappy);cursor:pointer;height:100%;max-height:1rem}.drp-date-picker__badge-cell:empty{visibility:hidden}.drp-date-picker__badge-cell:hover:not(:empty){transform:scale(1.05)}.drp-date-picker__badge-cell.badge-number{background-color:#10b981;color:#fff;font-size:.7rem;font-weight:600}.drp-date-picker__badge-cell.badge-count{background-color:#ef4444;color:#fff;font-size:.7rem;font-weight:700}.drp-date-picker__badge-cell.badge-text{background-color:#6b7280;color:#fff;font-size:.65rem;font-weight:700;text-transform:uppercase}.drp-date-picker__summary{text-align:center;padding:var(--drp-spacing-md);border-top:var(--drp-border-width-base) solid var(--drp-border-color);font-size:var(--drp-font-size-sm);color:var(--drp-text-secondary)}.drp-date-picker__summary--visible{display:block}.drp-date-picker__summary--hidden{display:none}.drp-date-picker__summary-count{font-weight:var(--drp-font-weight-semibold);color:var(--drp-accent-color);font-size:var(--drp-font-size-base)}.drp-date-picker__actions{display:flex;gap:var(--drp-spacing-sm);justify-content:space-between;padding-top:var(--drp-spacing-sm);border-top:var(--drp-border-width-base) solid var(--drp-border-color)}.drp-date-picker__button{flex:1;padding:var(--drp-spacing-sm) var(--drp-spacing-md);border:var(--drp-border-width-base) solid var(--drp-border-color);border-radius:var(--drp-border-radius);background:transparent;cursor:pointer;font-size:var(--drp-font-size-sm);font-weight:var(--drp-font-weight-medium);transition:all var(--drp-transition-fast) var(--drp-easing-snappy)}.drp-date-picker__button:hover{background-color:var(--drp-primary-bg);border-color:var(--drp-accent-color)}.drp-date-picker__button--today{color:var(--drp-accent-color)}.drp-date-picker__button--clear{color:var(--drp-text-secondary)}.drp-date-picker__button--apply{background-color:var(--drp-accent-color);color:var(--drp-button-text-color);border-color:var(--drp-accent-color)}.drp-date-picker__button--apply:hover{background-color:var(--drp-accent-color-hover)}.drp-date-picker__button--cancel{color:var(--drp-text-secondary)}.drp-date-picker__tooltip{position:absolute;z-index:9999;background-color:var(--drp-text-primary);color:#fff;padding:var(--drp-spacing-xs) var(--drp-spacing-sm);border-radius:var(--drp-border-radius);font-size:var(--drp-font-size-xs);line-height:1.4;max-width:200px;word-wrap:break-word;pointer-events:none;opacity:0;transition:opacity var(--drp-transition-fast) var(--drp-easing-snappy)}.drp-date-picker__tooltip--visible{opacity:1}.drp-date-picker__tooltip-arrow{position:absolute;background-color:var(--drp-text-primary);width:8px;height:8px;transform:rotate(45deg)}.drp-date-picker__loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#fffc;display:flex;align-items:center;justify-content:center;z-index:9500;border-radius:.375rem}.drp-date-picker__loading-spinner{width:40px;height:40px;border:4px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:drp-spin .8s linear infinite}@keyframes drp-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.drp-font-xs{--drp-font-size-2xs: .4375rem;--drp-font-size-xs: .525rem;--drp-font-size-sm: .6125rem;--drp-font-size-base: .7rem;--drp-font-size-lg: .7875rem;--drp-font-size-xl: .875rem;--drp-font-size-2xl: 1.05rem}.drp-font-sm{--drp-font-size-2xs: .53125rem;--drp-font-size-xs: .6375rem;--drp-font-size-sm: .74375rem;--drp-font-size-base: .85rem;--drp-font-size-lg: .95625rem;--drp-font-size-xl: 1.0625rem;--drp-font-size-2xl: 1.275rem}.drp-font-lg{--drp-font-size-2xs: .75rem;--drp-font-size-xs: .9rem;--drp-font-size-sm: 1.05rem;--drp-font-size-base: 1.2rem;--drp-font-size-lg: 1.35rem;--drp-font-size-xl: 1.5rem;--drp-font-size-2xl: 1.8rem}.drp-font-xl{--drp-font-size-2xs: .875rem;--drp-font-size-xs: 1.05rem;--drp-font-size-sm: 1.225rem;--drp-font-size-base: 1.4rem;--drp-font-size-lg: 1.575rem;--drp-font-size-xl: 1.75rem;--drp-font-size-2xl: 2.1rem}.drp-spacing-xs{--drp-spacing-xs: .175rem;--drp-spacing-sm: .35rem;--drp-spacing-md: .7rem;--drp-spacing-lg: 1.05rem;--drp-spacing-xl: 1.4rem}.drp-spacing-xs .drp-date-picker__month{min-width:196px}.drp-spacing-sm{--drp-spacing-xs: .2125rem;--drp-spacing-sm: .425rem;--drp-spacing-md: .85rem;--drp-spacing-lg: 1.275rem;--drp-spacing-xl: 1.7rem}.drp-spacing-sm .drp-date-picker__month{min-width:238px}.drp-spacing-lg{--drp-spacing-xs: .3rem;--drp-spacing-sm: .6rem;--drp-spacing-md: 1.2rem;--drp-spacing-lg: 1.8rem;--drp-spacing-xl: 2.4rem}.drp-spacing-lg .drp-date-picker__month{min-width:336px}.drp-spacing-xl{--drp-spacing-xs: .35rem;--drp-spacing-sm: .7rem;--drp-spacing-md: 1.4rem;--drp-spacing-lg: 2.1rem;--drp-spacing-xl: 2.8rem}.drp-spacing-xl .drp-date-picker__month{min-width:392px}@media (max-width: 1200px){.drp-responsive.drp-font-xl{--drp-font-size-2xs: .75rem;--drp-font-size-xs: .9rem;--drp-font-size-sm: 1.05rem;--drp-font-size-base: 1.2rem;--drp-font-size-lg: 1.35rem;--drp-font-size-xl: 1.5rem;--drp-font-size-2xl: 1.8rem}}@media (max-width: 768px){.drp-responsive.drp-font-xl{--drp-font-size-2xs: .625rem;--drp-font-size-xs: .75rem;--drp-font-size-sm: .875rem;--drp-font-size-base: 1rem;--drp-font-size-lg: 1.125rem;--drp-font-size-xl: 1.25rem;--drp-font-size-2xl: 1.5rem}}@media (max-width: 1200px){.drp-responsive.drp-font-lg{--drp-font-size-2xs: .625rem;--drp-font-size-xs: .75rem;--drp-font-size-sm: .875rem;--drp-font-size-base: 1rem;--drp-font-size-lg: 1.125rem;--drp-font-size-xl: 1.25rem;--drp-font-size-2xl: 1.5rem}}@media (max-width: 768px){.drp-responsive.drp-font-lg{--drp-font-size-2xs: .53125rem;--drp-font-size-xs: .6375rem;--drp-font-size-sm: .74375rem;--drp-font-size-base: .85rem;--drp-font-size-lg: .95625rem;--drp-font-size-xl: 1.0625rem;--drp-font-size-2xl: 1.275rem}}@media (max-width: 768px){.drp-responsive.drp-font-md{--drp-font-size-2xs: .53125rem;--drp-font-size-xs: .6375rem;--drp-font-size-sm: .74375rem;--drp-font-size-base: .85rem;--drp-font-size-lg: .95625rem;--drp-font-size-xl: 1.0625rem;--drp-font-size-2xl: 1.275rem}}@media (max-width: 768px){.drp-responsive.drp-font-sm{--drp-font-size-2xs: .4375rem;--drp-font-size-xs: .525rem;--drp-font-size-sm: .6125rem;--drp-font-size-base: .7rem;--drp-font-size-lg: .7875rem;--drp-font-size-xl: .875rem;--drp-font-size-2xl: 1.05rem}}@media (max-width: 1200px){.drp-responsive.drp-spacing-xl{--drp-spacing-xs: .3rem;--drp-spacing-sm: .6rem;--drp-spacing-md: 1.2rem;--drp-spacing-lg: 1.8rem;--drp-spacing-xl: 2.4rem}.drp-responsive.drp-spacing-xl .drp-date-picker__month{min-width:336px}}@media (max-width: 768px){.drp-responsive.drp-spacing-xl{--drp-spacing-xs: .25rem;--drp-spacing-sm: .5rem;--drp-spacing-md: 1rem;--drp-spacing-lg: 1.5rem;--drp-spacing-xl: 2rem}.drp-responsive.drp-spacing-xl .drp-date-picker__month{min-width:280px}}@media (max-width: 1200px){.drp-responsive.drp-spacing-lg{--drp-spacing-xs: .25rem;--drp-spacing-sm: .5rem;--drp-spacing-md: 1rem;--drp-spacing-lg: 1.5rem;--drp-spacing-xl: 2rem}.drp-responsive.drp-spacing-lg .drp-date-picker__month{min-width:280px}}@media (max-width: 768px){.drp-responsive.drp-spacing-lg{--drp-spacing-xs: .2125rem;--drp-spacing-sm: .425rem;--drp-spacing-md: .85rem;--drp-spacing-lg: 1.275rem;--drp-spacing-xl: 1.7rem}.drp-responsive.drp-spacing-lg .drp-date-picker__month{min-width:238px}}@media (max-width: 768px){.drp-responsive.drp-spacing-md{--drp-spacing-xs: .2125rem;--drp-spacing-sm: .425rem;--drp-spacing-md: .85rem;--drp-spacing-lg: 1.275rem;--drp-spacing-xl: 1.7rem}.drp-responsive.drp-spacing-md .drp-date-picker__month{min-width:238px}}@media (max-width: 768px){.drp-responsive.drp-spacing-sm{--drp-spacing-xs: .175rem;--drp-spacing-sm: .35rem;--drp-spacing-md: .7rem;--drp-spacing-lg: 1.05rem;--drp-spacing-xl: 1.4rem}.drp-responsive.drp-spacing-sm .drp-date-picker__month{min-width:196px}}.drp-date-picker--xs{padding:var(--drp-spacing-sm);min-width:240px}.drp-date-picker--xs .drp-date-picker__month-year{font-size:var(--drp-font-size-xs);padding:var(--drp-spacing-xs) var(--drp-spacing-sm)}.drp-date-picker--xs .drp-date-picker__nav{width:1.5rem;height:1.5rem;font-size:var(--drp-font-size-sm)}.drp-date-picker--xs .drp-date-picker__weekday{font-size:var(--drp-font-size-2xs)}.drp-date-picker--xs .drp-date-picker__day{font-size:var(--drp-font-size-xs)}.drp-date-picker--sm{padding:var(--drp-spacing-sm);min-width:260px}.drp-date-picker--sm .drp-date-picker__month-year{font-size:var(--drp-font-size-sm);padding:var(--drp-spacing-xs) var(--drp-spacing-sm)}.drp-date-picker--sm .drp-date-picker__nav{width:1.75rem;height:1.75rem;font-size:var(--drp-font-size-base)}.drp-date-picker--sm .drp-date-picker__day{font-size:var(--drp-font-size-xs)}.drp-date-picker--lg{padding:var(--drp-spacing-lg);min-width:320px}.drp-date-picker--lg .drp-date-picker__month-year{font-size:var(--drp-font-size-lg);padding:var(--drp-spacing-md) var(--drp-spacing-lg)}.drp-date-picker--lg .drp-date-picker__nav{width:2.5rem;height:2.5rem;font-size:var(--drp-font-size-xl)}.drp-date-picker--lg .drp-date-picker__day{font-size:var(--drp-font-size-base)}.drp-date-picker--xl{padding:var(--drp-spacing-xl);min-width:360px}.drp-date-picker--xl .drp-date-picker__month-year{font-size:var(--drp-font-size-xl);padding:var(--drp-spacing-lg) var(--drp-spacing-xl)}.drp-date-picker--xl .drp-date-picker__nav{width:3rem;height:3rem;font-size:var(--drp-font-size-2xl)}.drp-date-picker--xl .drp-date-picker__day{font-size:var(--drp-font-size-lg)}.drp-date-picker--inline{position:static;display:block;box-shadow:none}';class We extends HTMLElement{constructor(){super();D(this,"picker");D(this,"inputElement");D(this,"shadow");D(this,"_specialDates");D(this,"_disabledDates");D(this,"_isDateDisabled");D(this,"_getDateMetadata");D(this,"_renderDay");D(this,"_renderDayContent");this.shadow=this.attachShadow({mode:"open"})}static get observedAttributes(){return["selection-mode","date-format-mask","visible-months-count","calendar-open-trigger","value","disabled","placeholder","week-start-day","min-date","max-date","disabled-weekdays","disabled-dates-handling","highlight-disabled-in-range","positioning-mode","month-layout","grid-rows","grid-columns","calendar-placement","locale","display-format-mask","show-debug-info","initial-date","rolling-year-range","rolling-month-range"]}connectedCallback(){this.render(),this.initializePicker()}disconnectedCallback(){this.picker&&this.picker.destroy()}attributeChangedCallback(n,a,r){a!==r&&(this.picker&&n!=="value"&&n!=="placeholder"&&(this.picker.destroy(),this.initializePicker()),n==="value"&&this.inputElement&&r!==null&&(this.inputElement.value=r),n==="placeholder"&&this.inputElement&&r!==null&&(this.inputElement.placeholder=r),n==="disabled"&&this.inputElement&&(r!==null?this.inputElement.disabled=!0:this.inputElement.disabled=!1))}render(){const n=document.createElement("style");if(n.textContent=ra,this.shadow.appendChild(n),(this.getAttribute("positioning-mode")||"floating")==="floating"){this.inputElement=document.createElement("input"),this.inputElement.type="text",this.inputElement.classList.add("drp-input","drp-date-picker-input");const r=this.getAttribute("placeholder");r&&(this.inputElement.placeholder=r);const o=this.getAttribute("value");o&&(this.inputElement.value=o),this.hasAttribute("disabled")&&(this.inputElement.disabled=!0),this.shadow.appendChild(this.inputElement)}}initializePicker(){const n=this.getAttribute("positioning-mode")||"floating";if(n==="floating"&&!this.inputElement)return;let a;const r=this.getAttribute("disabled-weekdays");r&&(a=r.split(",").map(l=>parseInt(l.trim())).filter(l=>!isNaN(l)&&l>=0&&l<=6));let o;const s=this.getAttribute("week-start-day");if(s)if(s==="auto")o="auto";else{const l=parseInt(s);!isNaN(l)&&l>=0&&l<=6&&(o=l)}const i={selectionMode:this.getAttribute("selection-mode")||"single",dateFormatMask:this.getAttribute("date-format-mask")||"YYYY-MM-DD",visibleMonthsCount:parseInt(this.getAttribute("visible-months-count")||"0")||void 0,calendarOpenTrigger:this.getAttribute("calendar-open-trigger")||"focus",onSelect:l=>this.handleDateSelect(l),container:this.shadow,positioningMode:n,monthLayout:this.getAttribute("month-layout")||void 0,gridRows:parseInt(this.getAttribute("grid-rows")||"0")||void 0,gridColumns:parseInt(this.getAttribute("grid-columns")||"0")||void 0,calendarPlacement:this.getAttribute("calendar-placement")||void 0,weekStartDay:o,minDate:this.getAttribute("min-date")||void 0,maxDate:this.getAttribute("max-date")||void 0,initialDate:this.getAttribute("initial-date")||void 0,disabledWeekdays:a,disabledDates:this._disabledDates,specialDates:this._specialDates,isDateDisabled:this._isDateDisabled,getDateMetadata:this._getDateMetadata,disabledDatesHandling:this.getAttribute("disabled-dates-handling")||void 0,highlightDisabledInRange:this.hasAttribute("highlight-disabled-in-range")?this.getAttribute("highlight-disabled-in-range")==="true":void 0,locale:this.getAttribute("locale")||"auto",displayFormatMask:this.getAttribute("display-format-mask")||void 0,showDebugInfo:this.hasAttribute("show-debug-info"),rollingYearRange:this.getAttribute("rolling-year-range")||void 0,rollingMonthRange:this.getAttribute("rolling-month-range")||void 0,renderDay:this._renderDay,renderDayContent:this._renderDayContent},d=n==="inline"?null:this.inputElement;this.picker=new Rt(d,i)}handleDateSelect(n){var o;const a={date:n instanceof Date?n:void 0,dateRange:n instanceof Date?void 0:n,formattedValue:((o=this.inputElement)==null?void 0:o.value)||""};if(!this.picker){this.dispatchEvent(new CustomEvent("date-select",{detail:a,bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("change",{detail:a,bubbles:!0,composed:!0}));return}const r=this.picker.options.disabledDatesHandling;if(!(n instanceof Date)&&n.start&&n.end){const s=n.start,i=n.end;switch(r){case"allow":a.enabledDates=this.picker.getEnabledDatesInRange(s,i),a.disabledDates=this.picker.getDisabledDatesInRange(s,i),a.getEnabledDateCount=()=>a.enabledDates.length,a.getTotalDays=()=>Math.floor((i.getTime()-s.getTime())/864e5)+1;break;case"split":a.dateRanges=this.picker.splitRangeByDisabled(s,i),a.dates=this.picker.getEnabledDatesInRange(s,i),a.dateRanges.length>0&&(a.formattedValue=a.dateRanges.map(d=>`${this.picker.formatDate(d.start)} - ${this.picker.formatDate(d.end)}`).join(", "));break;case"individual":a.dates=this.picker.getEnabledDatesInRange(s,i),a.dateRange=null,a.dates.length>0&&(a.formattedValue=a.dates.map(d=>this.picker.formatDate(d)).join(", "));break;case"block":a.dates=this.picker.getEnabledDatesInRange(s,i);break}}this.dispatchEvent(new CustomEvent("date-select",{detail:a,bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("change",{detail:a,bubbles:!0,composed:!0}))}show(){var n;(n=this.picker)==null||n.show()}hide(){var n;(n=this.picker)==null||n.hide()}toggle(){var n;(n=this.picker)==null||n.toggle()}clearSelection(){var n;(n=this.picker)==null||n.clearSelection()}getInputValue(){var n;return((n=this.inputElement)==null?void 0:n.value)||""}setInputValue(n){this.inputElement&&(this.inputElement.value=n),this.setAttribute("value",n)}get selectionMode(){return this.getAttribute("selection-mode")||"single"}set selectionMode(n){this.setAttribute("selection-mode",n)}get dateFormatMask(){return this.getAttribute("date-format-mask")||"YYYY-MM-DD"}set dateFormatMask(n){this.setAttribute("date-format-mask",n)}get value(){return this.getInputValue()}set value(n){this.setInputValue(n)}get disabled(){return this.hasAttribute("disabled")}set disabled(n){n?this.setAttribute("disabled",""):this.removeAttribute("disabled")}get weekStartDay(){const n=this.getAttribute("week-start-day");if(n==="auto")return"auto";const a=parseInt(n||"");return!isNaN(a)&&a>=0&&a<=6?a:"auto"}set weekStartDay(n){this.setAttribute("week-start-day",n.toString())}get minDate(){return this.getAttribute("min-date")||void 0}set minDate(n){n?this.setAttribute("min-date",n):this.removeAttribute("min-date")}get maxDate(){return this.getAttribute("max-date")||void 0}set maxDate(n){n?this.setAttribute("max-date",n):this.removeAttribute("max-date")}get disabledWeekdays(){const n=this.getAttribute("disabled-weekdays");if(n)return n.split(",").map(a=>parseInt(a.trim())).filter(a=>!isNaN(a)&&a>=0&&a<=6)}set disabledWeekdays(n){n&&n.length>0?this.setAttribute("disabled-weekdays",n.join(",")):this.removeAttribute("disabled-weekdays")}get specialDates(){return this._specialDates}set specialDates(n){this._specialDates=n,this.picker&&(this.picker.destroy(),this.initializePicker())}get disabledDates(){return this._disabledDates}set disabledDates(n){this._disabledDates=n,this.picker&&(this.picker.destroy(),this.initializePicker())}get isDateDisabled(){return this._isDateDisabled}set isDateDisabled(n){this._isDateDisabled=n,this.picker&&(this.picker.destroy(),this.initializePicker())}get getDateMetadata(){return this._getDateMetadata}set getDateMetadata(n){this._getDateMetadata=n,this.picker&&(this.picker.destroy(),this.initializePicker())}get renderDay(){return this._renderDay}set renderDay(n){this._renderDay=n,this.picker&&(this.picker.options.renderDay=n,this.picker.render())}get renderDayContent(){return this._renderDayContent}set renderDayContent(n){this._renderDayContent=n,this.picker&&(this.picker.options.renderDayContent=n,this.picker.render())}}customElements.get("date-range-picker")||customElements.define("date-range-picker",We);function sa(){return Array.from(document.querySelectorAll("date-range-picker"))}typeof window<"u"&&(window.keenmate=window.keenmate||{},window.keenmate.daterangepicker={version:()=>"1.0.0-rc08",config:{name:"@keenmate/web-daterangepicker",version:"1.0.0-rc08",author:"Keenmate",license:"MIT",repository:"git+https://github.com/keenmate/web-daterangepicker.git",homepage:"https://github.com/keenmate/web-daterangepicker#readme"},register:()=>{typeof customElements<"u"&&!customElements.get("date-range-picker")&&customElements.define("date-range-picker",We)},getInstances:()=>sa()},window.keenmate.daterangepicker.register()),z.DateRangePickerElement=We,z.PureDatePicker=Rt,Object.defineProperty(z,Symbol.toStringTag,{value:"Module"})});