@keenmate/web-daterangepicker 1.11.0 → 1.12.0

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,15 +1,15 @@
1
- (function(F,P){typeof exports=="object"&&typeof module<"u"?P(exports):typeof define=="function"&&define.amd?define(["exports"],P):(F=typeof globalThis<"u"?globalThis:F||self,P(F.WebDaterangepicker={}))})(this,function(F){"use strict";var lr=Object.defineProperty;var cr=(F,P,j)=>P in F?lr(F,P,{enumerable:!0,configurable:!0,writable:!0,value:j}):F[P]=j;var b=(F,P,j)=>cr(F,typeof P!="symbol"?P+"":P,j);function P(e){if(e!=="auto")return e;try{const n=new Intl.Locale(navigator.language);if("weekInfo"in n&&n.weekInfo&&"firstDay"in n.weekInfo){const r=n.weekInfo.firstDay;return r===7?0:r}}catch{}const a=navigator.language.toLowerCase();return["en-us","en-ca","ja","ja-jp","he","he-il","ar-sa","ar-ae","ko","ko-kr"].some(n=>a.startsWith(n))?0:1}function j(e){if(!e)return null;let a;return typeof e=="string"?a=new Date(e+"T00:00:00"):a=new Date(e),a.setHours(0,0,0,0),isNaN(a.getTime())?null:a}function Me(e){const a=e.getFullYear(),t=String(e.getMonth()+1).padStart(2,"0"),n=String(e.getDate()).padStart(2,"0");return`${a}-${t}-${n}`}function ua(e,a,t,n,r){const i=Me(e),o=e.getDay();return!!(a&&e<a||t&&e>t||r&&r.includes(o)||n.has(i))}function pa(e,a){for(let t=0;t<12;t++){const n=new Date(a,t+1,0).getDate();for(let r=1;r<=n;r++){const i=new Date(a,t,r);if(!e.isDateDisabledInternal(i))return!0}}return!1}function ga(e,a,t){const n=new Date(e),r=new Date(a);n.setHours(0,0,0,0),r.setHours(0,0,0,0);const i=new Date(n);for(;i<=r;){if(t(i))return!0;i.setDate(i.getDate()+1)}return!1}function ha(e,a,t){const n=[],r=new Date(e),i=new Date(a);r.setHours(0,0,0,0),i.setHours(0,0,0,0);const o=new Date(r);for(;o<=i;)t(o)||n.push(new Date(o)),o.setDate(o.getDate()+1);return n}function fa(e,a,t){const n=[],r=new Date(e),i=new Date(a);r.setHours(0,0,0,0),i.setHours(0,0,0,0);const o=new Date(r);for(;o<=i;)t(o)&&n.push(new Date(o)),o.setDate(o.getDate()+1);return n}function ma(e,a,t){const n=new Date(e),r=new Date(a);n.setHours(0,0,0,0),r.setHours(0,0,0,0);let i=new Date(n);const o=new Date(n);for(o.setDate(o.getDate()+1);o<=r;){if(t(o))return i;i=new Date(o),o.setDate(o.getDate()+1)}return r}function ba(e,a,t){const n=[],r=new Date(e),i=new Date(a);r.setHours(0,0,0,0),i.setHours(0,0,0,0);let o=null;const s=new Date(r);for(;s<=i;){if(!t(s))o||(o=new Date(s));else if(o){const d=new Date(s);d.setDate(d.getDate()-1),n.push({start:o,end:d}),o=null}s.setDate(s.getDate()+1)}return o&&n.push({start:o,end:new Date(i)}),n}function Dt(e){return _t(e,new Date)}function _t(e,a){return!e||!a?!1:e.getFullYear()===a.getFullYear()&&e.getMonth()===a.getMonth()&&e.getDate()===a.getDate()}function ya(e,a,t){return!a||!t?!1:e>a&&e<t}var va=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Da(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var wt={exports:{}};(function(e){(function(a,t){e.exports?e.exports=t():a.log=t()})(va,function(){var a=function(){},t="undefined",n=typeof window!==t&&typeof window.navigator!==t&&/Trident\/|MSIE /.test(window.navigator.userAgent),r=["trace","debug","info","warn","error"],i={},o=null;function s(h,v){var m=h[v];if(typeof m.bind=="function")return m.bind(h);try{return Function.prototype.bind.call(m,h)}catch{return function(){return Function.prototype.apply.apply(m,[h,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 c(h){return h==="debug"&&(h="log"),typeof console===t?!1:h==="trace"&&n?d:console[h]!==void 0?s(console,h):console.log!==void 0?s(console,"log"):a}function l(){for(var h=this.getLevel(),v=0;v<r.length;v++){var m=r[v];this[m]=v<h?a:this.methodFactory(m,h,this.name)}if(this.log=this.debug,typeof console===t&&h<this.levels.SILENT)return"No console available for logging"}function u(h){return function(){typeof console!==t&&(l.call(this),this[h].apply(this,arguments))}}function p(h,v,m){return c(h)||u.apply(this,arguments)}function g(h,v){var m=this,x,E,S,D="loglevel";typeof h=="string"?D+=":"+h:typeof h=="symbol"&&(D=void 0);function _(C){var I=(r[C]||"silent").toUpperCase();if(!(typeof window===t||!D)){try{window.localStorage[D]=I;return}catch{}try{window.document.cookie=encodeURIComponent(D)+"="+I+";"}catch{}}}function R(){var C;if(!(typeof window===t||!D)){try{C=window.localStorage[D]}catch{}if(typeof C===t)try{var I=window.document.cookie,T=encodeURIComponent(D),A=I.indexOf(T+"=");A!==-1&&(C=/^([^;]+)/.exec(I.slice(A+T.length+1))[1])}catch{}return m.levels[C]===void 0&&(C=void 0),C}}function L(){if(!(typeof window===t||!D)){try{window.localStorage.removeItem(D)}catch{}try{window.document.cookie=encodeURIComponent(D)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch{}}}function y(C){var I=C;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: "+C)}m.name=h,m.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},m.methodFactory=v||p,m.getLevel=function(){return S??E??x},m.setLevel=function(C,I){return S=y(C),I!==!1&&_(S),l.call(m)},m.setDefaultLevel=function(C){E=y(C),R()||m.setLevel(C,!1)},m.resetLevel=function(){S=null,L(),l.call(m)},m.enableAll=function(C){m.setLevel(m.levels.TRACE,C)},m.disableAll=function(C){m.setLevel(m.levels.SILENT,C)},m.rebuild=function(){if(o!==m&&(x=y(o.getLevel())),l.call(m),o===m)for(var C in i)i[C].rebuild()},x=y(o?o.getLevel():"WARN");var M=R();M!=null&&(S=y(M)),l.call(m)}o=new g,o.getLogger=function(v){if(typeof v!="symbol"&&typeof v!="string"||v==="")throw new TypeError("You must supply a name when creating a logger.");var m=i[v];return m||(m=i[v]=new g(v,o.methodFactory)),m};var f=typeof window!==t?window.log:void 0;return o.noConflict=function(){return typeof window!==t&&window.log===o&&(window.log=f),o},o.getLoggers=function(){return i},o.default=o,o})})(wt);var _a=wt.exports;const V=Da(_a),wa=["DRP","DRP:RENDERING","DRP:INTERACTION","DRP:SELECTION","DRP:NAVIGATION","DRP:UI","DRP:VALIDATION","DRP:DRAG"],xa={trace:"#6b7280",debug:"#0ea5e9",info:"#10b981",warn:"#f59e0b",error:"#ef4444"},Ma=V.methodFactory,Sa=(e,a,t)=>{const n=Ma.call(V,e,a,t);return(...r)=>{const i=xa[e]||"#6b7280",s=`%c[${new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit",fractionalSecondDigits:3})}] [${e.toUpperCase()}] ${t?`[${t}]`:""}`;n(s,`color: ${i}`,...r)}},xt=[];function Z(e){const a=V.getLogger(e);return a.methodFactory=Sa,a.setLevel("silent"),xt.push(a),a}const k=Z("DRP"),pe=Z("DRP:RENDERING"),ge=Z("DRP:INTERACTION"),he=Z("DRP:SELECTION"),w=Z("DRP:NAVIGATION"),ee=Z("DRP:UI"),ie=Z("DRP:VALIDATION"),oe=Z("DRP:DRAG");V.setLevel("silent");const Ke=e=>{V.setLevel(e),xt.forEach(a=>a.setLevel(e))},Ge=()=>{Ke("debug")},Xe=()=>{Ke("silent")},Ca=(e,a="debug")=>{const n={DRP:k,"DRP:RENDERING":pe,"DRP:INTERACTION":ge,"DRP:SELECTION":he,"DRP:NAVIGATION":w,"DRP:UI":ee,"DRP:VALIDATION":ie,"DRP:DRAG":oe}[e];n&&n.setLevel(a)},Ea=()=>[...wa],te=Math.min,H=Math.max,Re=Math.round,Ae=Math.floor,W=e=>({x:e,y:e}),Ia={left:"right",right:"left",bottom:"top",top:"bottom"},Ra={start:"end",end:"start"};function Je(e,a,t){return H(e,te(a,t))}function fe(e,a){return typeof e=="function"?e(a):e}function ae(e){return e.split("-")[0]}function me(e){return e.split("-")[1]}function Mt(e){return e==="x"?"y":"x"}function Qe(e){return e==="y"?"height":"width"}const Aa=new Set(["top","bottom"]);function J(e){return Aa.has(ae(e))?"y":"x"}function Ze(e){return Mt(J(e))}function Ta(e,a,t){t===void 0&&(t=!1);const n=me(e),r=Ze(e),i=Qe(r);let o=r==="x"?n===(t?"end":"start")?"right":"left":n==="start"?"bottom":"top";return a.reference[i]>a.floating[i]&&(o=Te(o)),[o,Te(o)]}function ka(e){const a=Te(e);return[et(e),a,et(a)]}function et(e){return e.replace(/start|end/g,a=>Ra[a])}const St=["left","right"],Ct=["right","left"],La=["top","bottom"],$a=["bottom","top"];function za(e,a,t){switch(e){case"top":case"bottom":return t?a?Ct:St:a?St:Ct;case"left":case"right":return a?La:$a;default:return[]}}function Na(e,a,t,n){const r=me(e);let i=za(ae(e),t==="start",n);return r&&(i=i.map(o=>o+"-"+r),a&&(i=i.concat(i.map(et)))),i}function Te(e){return e.replace(/left|right|bottom|top/g,a=>Ia[a])}function Pa(e){return{top:0,right:0,bottom:0,left:0,...e}}function Et(e){return typeof e!="number"?Pa(e):{top:e,right:e,bottom:e,left:e}}function ke(e){const{x:a,y:t,width:n,height:r}=e;return{width:n,height:r,top:t,left:a,right:a+n,bottom:t+r,x:a,y:t}}function It(e,a,t){let{reference:n,floating:r}=e;const i=J(a),o=Ze(a),s=Qe(o),d=ae(a),c=i==="y",l=n.x+n.width/2-r.width/2,u=n.y+n.height/2-r.height/2,p=n[s]/2-r[s]/2;let g;switch(d){case"top":g={x:l,y:n.y-r.height};break;case"bottom":g={x:l,y:n.y+n.height};break;case"right":g={x:n.x+n.width,y:u};break;case"left":g={x:n.x-r.width,y:u};break;default:g={x:n.x,y:n.y}}switch(me(a)){case"start":g[o]-=p*(t&&c?-1:1);break;case"end":g[o]+=p*(t&&c?-1:1);break}return g}const Oa=async(e,a,t)=>{const{placement:n="bottom",strategy:r="absolute",middleware:i=[],platform:o}=t,s=i.filter(Boolean),d=await(o.isRTL==null?void 0:o.isRTL(a));let c=await o.getElementRects({reference:e,floating:a,strategy:r}),{x:l,y:u}=It(c,n,d),p=n,g={},f=0;for(let h=0;h<s.length;h++){const{name:v,fn:m}=s[h],{x,y:E,data:S,reset:D}=await m({x:l,y:u,initialPlacement:n,placement:p,strategy:r,middlewareData:g,rects:c,platform:o,elements:{reference:e,floating:a}});l=x??l,u=E??u,g={...g,[v]:{...g[v],...S}},D&&f<=50&&(f++,typeof D=="object"&&(D.placement&&(p=D.placement),D.rects&&(c=D.rects===!0?await o.getElementRects({reference:e,floating:a,strategy:r}):D.rects),{x:l,y:u}=It(c,p,d)),h=-1)}return{x:l,y:u,placement:p,strategy:r,middlewareData:g}};async function tt(e,a){var t;a===void 0&&(a={});const{x:n,y:r,platform:i,rects:o,elements:s,strategy:d}=e,{boundary:c="clippingAncestors",rootBoundary:l="viewport",elementContext:u="floating",altBoundary:p=!1,padding:g=0}=fe(a,e),f=Et(g),v=s[p?u==="floating"?"reference":"floating":u],m=ke(await i.getClippingRect({element:(t=await(i.isElement==null?void 0:i.isElement(v)))==null||t?v:v.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(s.floating)),boundary:c,rootBoundary:l,strategy:d})),x=u==="floating"?{x:n,y:r,width:o.floating.width,height:o.floating.height}:o.reference,E=await(i.getOffsetParent==null?void 0:i.getOffsetParent(s.floating)),S=await(i.isElement==null?void 0:i.isElement(E))?await(i.getScale==null?void 0:i.getScale(E))||{x:1,y:1}:{x:1,y:1},D=ke(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:s,rect:x,offsetParent:E,strategy:d}):x);return{top:(m.top-D.top+f.top)/S.y,bottom:(D.bottom-m.bottom+f.bottom)/S.y,left:(m.left-D.left+f.left)/S.x,right:(D.right-m.right+f.right)/S.x}}const Fa=e=>({name:"arrow",options:e,async fn(a){const{x:t,y:n,placement:r,rects:i,platform:o,elements:s,middlewareData:d}=a,{element:c,padding:l=0}=fe(e,a)||{};if(c==null)return{};const u=Et(l),p={x:t,y:n},g=Ze(r),f=Qe(g),h=await o.getDimensions(c),v=g==="y",m=v?"top":"left",x=v?"bottom":"right",E=v?"clientHeight":"clientWidth",S=i.reference[f]+i.reference[g]-p[g]-i.floating[f],D=p[g]-i.reference[g],_=await(o.getOffsetParent==null?void 0:o.getOffsetParent(c));let R=_?_[E]:0;(!R||!await(o.isElement==null?void 0:o.isElement(_)))&&(R=s.floating[E]||i.floating[f]);const L=S/2-D/2,y=R/2-h[f]/2-1,M=te(u[m],y),C=te(u[x],y),I=M,T=R-h[f]-C,A=R/2-h[f]/2+L,$=Je(I,A,T),O=!d.arrow&&me(r)!=null&&A!==$&&i.reference[f]/2-(A<I?M:C)-h[f]/2<0,z=O?A<I?A-I:A-T:0;return{[g]:p[g]+z,data:{[g]:$,centerOffset:A-$-z,...O&&{alignmentOffset:z}},reset:O}}}),Ha=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(a){var t,n;const{placement:r,middlewareData:i,rects:o,initialPlacement:s,platform:d,elements:c}=a,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:p,fallbackStrategy:g="bestFit",fallbackAxisSideDirection:f="none",flipAlignment:h=!0,...v}=fe(e,a);if((t=i.arrow)!=null&&t.alignmentOffset)return{};const m=ae(r),x=J(s),E=ae(s)===s,S=await(d.isRTL==null?void 0:d.isRTL(c.floating)),D=p||(E||!h?[Te(s)]:ka(s)),_=f!=="none";!p&&_&&D.push(...Na(s,h,f,S));const R=[s,...D],L=await tt(a,v),y=[];let M=((n=i.flip)==null?void 0:n.overflows)||[];if(l&&y.push(L[m]),u){const A=Ta(r,o,S);y.push(L[A[0]],L[A[1]])}if(M=[...M,{placement:r,overflows:y}],!y.every(A=>A<=0)){var C,I;const A=(((C=i.flip)==null?void 0:C.index)||0)+1,$=R[A];if($&&(!(u==="alignment"?x!==J($):!1)||M.every(N=>J(N.placement)===x?N.overflows[0]>0:!0)))return{data:{index:A,overflows:M},reset:{placement:$}};let O=(I=M.filter(z=>z.overflows[0]<=0).sort((z,N)=>z.overflows[1]-N.overflows[1])[0])==null?void 0:I.placement;if(!O)switch(g){case"bestFit":{var T;const z=(T=M.filter(N=>{if(_){const X=J(N.placement);return X===x||X==="y"}return!0}).map(N=>[N.placement,N.overflows.filter(X=>X>0).reduce((X,B)=>X+B,0)]).sort((N,X)=>N[1]-X[1])[0])==null?void 0:T[0];z&&(O=z);break}case"initialPlacement":O=s;break}if(r!==O)return{reset:{placement:O}}}return{}}}},Ya=new Set(["left","top"]);async function Ba(e,a){const{placement:t,platform:n,elements:r}=e,i=await(n.isRTL==null?void 0:n.isRTL(r.floating)),o=ae(t),s=me(t),d=J(t)==="y",c=Ya.has(o)?-1:1,l=i&&d?-1:1,u=fe(a,e);let{mainAxis:p,crossAxis:g,alignmentAxis:f}=typeof u=="number"?{mainAxis:u,crossAxis:0,alignmentAxis:null}:{mainAxis:u.mainAxis||0,crossAxis:u.crossAxis||0,alignmentAxis:u.alignmentAxis};return s&&typeof f=="number"&&(g=s==="end"?f*-1:f),d?{x:g*l,y:p*c}:{x:p*c,y:g*l}}const Va=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(a){var t,n;const{x:r,y:i,placement:o,middlewareData:s}=a,d=await Ba(a,e);return o===((t=s.offset)==null?void 0:t.placement)&&(n=s.arrow)!=null&&n.alignmentOffset?{}:{x:r+d.x,y:i+d.y,data:{...d,placement:o}}}}},Ua=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(a){const{x:t,y:n,placement:r}=a,{mainAxis:i=!0,crossAxis:o=!1,limiter:s={fn:v=>{let{x:m,y:x}=v;return{x:m,y:x}}},...d}=fe(e,a),c={x:t,y:n},l=await tt(a,d),u=J(ae(r)),p=Mt(u);let g=c[p],f=c[u];if(i){const v=p==="y"?"top":"left",m=p==="y"?"bottom":"right",x=g+l[v],E=g-l[m];g=Je(x,g,E)}if(o){const v=u==="y"?"top":"left",m=u==="y"?"bottom":"right",x=f+l[v],E=f-l[m];f=Je(x,f,E)}const h=s.fn({...a,[p]:g,[u]:f});return{...h,data:{x:h.x-t,y:h.y-n,enabled:{[p]:i,[u]:o}}}}}},qa=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(a){var t,n;const{placement:r,rects:i,platform:o,elements:s}=a,{apply:d=()=>{},...c}=fe(e,a),l=await tt(a,c),u=ae(r),p=me(r),g=J(r)==="y",{width:f,height:h}=i.floating;let v,m;u==="top"||u==="bottom"?(v=u,m=p===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?"start":"end")?"left":"right"):(m=u,v=p==="end"?"top":"bottom");const x=h-l.top-l.bottom,E=f-l.left-l.right,S=te(h-l[v],x),D=te(f-l[m],E),_=!a.middlewareData.shift;let R=S,L=D;if((t=a.middlewareData.shift)!=null&&t.enabled.x&&(L=E),(n=a.middlewareData.shift)!=null&&n.enabled.y&&(R=x),_&&!p){const M=H(l.left,0),C=H(l.right,0),I=H(l.top,0),T=H(l.bottom,0);g?L=f-2*(M!==0||C!==0?M+C:H(l.left,l.right)):R=h-2*(I!==0||T!==0?I+T:H(l.top,l.bottom))}await d({...a,availableWidth:L,availableHeight:R});const y=await o.getDimensions(s.floating);return f!==y.width||h!==y.height?{reset:{rects:!0}}:{}}}};function Le(){return typeof window<"u"}function be(e){return Rt(e)?(e.nodeName||"").toLowerCase():"#document"}function Y(e){var a;return(e==null||(a=e.ownerDocument)==null?void 0:a.defaultView)||window}function K(e){var a;return(a=(Rt(e)?e.ownerDocument:e.document)||window.document)==null?void 0:a.documentElement}function Rt(e){return Le()?e instanceof Node||e instanceof Y(e).Node:!1}function U(e){return Le()?e instanceof Element||e instanceof Y(e).Element:!1}function G(e){return Le()?e instanceof HTMLElement||e instanceof Y(e).HTMLElement:!1}function At(e){return!Le()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof Y(e).ShadowRoot}const ja=new Set(["inline","contents"]);function Se(e){const{overflow:a,overflowX:t,overflowY:n,display:r}=q(e);return/auto|scroll|overlay|hidden|clip/.test(a+n+t)&&!ja.has(r)}const Wa=new Set(["table","td","th"]);function Ka(e){return Wa.has(be(e))}const Ga=[":popover-open",":modal"];function $e(e){return Ga.some(a=>{try{return e.matches(a)}catch{return!1}})}const Xa=["transform","translate","scale","rotate","perspective"],Ja=["transform","translate","scale","rotate","perspective","filter"],Qa=["paint","layout","strict","content"];function at(e){const a=nt(),t=U(e)?q(e):e;return Xa.some(n=>t[n]?t[n]!=="none":!1)||(t.containerType?t.containerType!=="normal":!1)||!a&&(t.backdropFilter?t.backdropFilter!=="none":!1)||!a&&(t.filter?t.filter!=="none":!1)||Ja.some(n=>(t.willChange||"").includes(n))||Qa.some(n=>(t.contain||"").includes(n))}function Za(e){let a=ne(e);for(;G(a)&&!ye(a);){if(at(a))return a;if($e(a))return null;a=ne(a)}return null}function nt(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const en=new Set(["html","body","#document"]);function ye(e){return en.has(be(e))}function q(e){return Y(e).getComputedStyle(e)}function ze(e){return U(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function ne(e){if(be(e)==="html")return e;const a=e.assignedSlot||e.parentNode||At(e)&&e.host||K(e);return At(a)?a.host:a}function Tt(e){const a=ne(e);return ye(a)?e.ownerDocument?e.ownerDocument.body:e.body:G(a)&&Se(a)?a:Tt(a)}function Ce(e,a,t){var n;a===void 0&&(a=[]),t===void 0&&(t=!0);const r=Tt(e),i=r===((n=e.ownerDocument)==null?void 0:n.body),o=Y(r);if(i){const s=rt(o);return a.concat(o,o.visualViewport||[],Se(r)?r:[],s&&t?Ce(s):[])}return a.concat(r,Ce(r,[],t))}function rt(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function kt(e){const a=q(e);let t=parseFloat(a.width)||0,n=parseFloat(a.height)||0;const r=G(e),i=r?e.offsetWidth:t,o=r?e.offsetHeight:n,s=Re(t)!==i||Re(n)!==o;return s&&(t=i,n=o),{width:t,height:n,$:s}}function it(e){return U(e)?e:e.contextElement}function ve(e){const a=it(e);if(!G(a))return W(1);const t=a.getBoundingClientRect(),{width:n,height:r,$:i}=kt(a);let o=(i?Re(t.width):t.width)/n,s=(i?Re(t.height):t.height)/r;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}const tn=W(0);function Lt(e){const a=Y(e);return!nt()||!a.visualViewport?tn:{x:a.visualViewport.offsetLeft,y:a.visualViewport.offsetTop}}function an(e,a,t){return a===void 0&&(a=!1),!t||a&&t!==Y(e)?!1:a}function se(e,a,t,n){a===void 0&&(a=!1),t===void 0&&(t=!1);const r=e.getBoundingClientRect(),i=it(e);let o=W(1);a&&(n?U(n)&&(o=ve(n)):o=ve(e));const s=an(i,t,n)?Lt(i):W(0);let d=(r.left+s.x)/o.x,c=(r.top+s.y)/o.y,l=r.width/o.x,u=r.height/o.y;if(i){const p=Y(i),g=n&&U(n)?Y(n):n;let f=p,h=rt(f);for(;h&&n&&g!==f;){const v=ve(h),m=h.getBoundingClientRect(),x=q(h),E=m.left+(h.clientLeft+parseFloat(x.paddingLeft))*v.x,S=m.top+(h.clientTop+parseFloat(x.paddingTop))*v.y;d*=v.x,c*=v.y,l*=v.x,u*=v.y,d+=E,c+=S,f=Y(h),h=rt(f)}}return ke({width:l,height:u,x:d,y:c})}function Ne(e,a){const t=ze(e).scrollLeft;return a?a.left+t:se(K(e)).left+t}function $t(e,a){const t=e.getBoundingClientRect(),n=t.left+a.scrollLeft-Ne(e,t),r=t.top+a.scrollTop;return{x:n,y:r}}function nn(e){let{elements:a,rect:t,offsetParent:n,strategy:r}=e;const i=r==="fixed",o=K(n),s=a?$e(a.floating):!1;if(n===o||s&&i)return t;let d={scrollLeft:0,scrollTop:0},c=W(1);const l=W(0),u=G(n);if((u||!u&&!i)&&((be(n)!=="body"||Se(o))&&(d=ze(n)),G(n))){const g=se(n);c=ve(n),l.x=g.x+n.clientLeft,l.y=g.y+n.clientTop}const p=o&&!u&&!i?$t(o,d):W(0);return{width:t.width*c.x,height:t.height*c.y,x:t.x*c.x-d.scrollLeft*c.x+l.x+p.x,y:t.y*c.y-d.scrollTop*c.y+l.y+p.y}}function rn(e){return Array.from(e.getClientRects())}function on(e){const a=K(e),t=ze(e),n=e.ownerDocument.body,r=H(a.scrollWidth,a.clientWidth,n.scrollWidth,n.clientWidth),i=H(a.scrollHeight,a.clientHeight,n.scrollHeight,n.clientHeight);let o=-t.scrollLeft+Ne(e);const s=-t.scrollTop;return q(n).direction==="rtl"&&(o+=H(a.clientWidth,n.clientWidth)-r),{width:r,height:i,x:o,y:s}}const zt=25;function sn(e,a){const t=Y(e),n=K(e),r=t.visualViewport;let i=n.clientWidth,o=n.clientHeight,s=0,d=0;if(r){i=r.width,o=r.height;const l=nt();(!l||l&&a==="fixed")&&(s=r.offsetLeft,d=r.offsetTop)}const c=Ne(n);if(c<=0){const l=n.ownerDocument,u=l.body,p=getComputedStyle(u),g=l.compatMode==="CSS1Compat"&&parseFloat(p.marginLeft)+parseFloat(p.marginRight)||0,f=Math.abs(n.clientWidth-u.clientWidth-g);f<=zt&&(i-=f)}else c<=zt&&(i+=c);return{width:i,height:o,x:s,y:d}}const dn=new Set(["absolute","fixed"]);function ln(e,a){const t=se(e,!0,a==="fixed"),n=t.top+e.clientTop,r=t.left+e.clientLeft,i=G(e)?ve(e):W(1),o=e.clientWidth*i.x,s=e.clientHeight*i.y,d=r*i.x,c=n*i.y;return{width:o,height:s,x:d,y:c}}function Nt(e,a,t){let n;if(a==="viewport")n=sn(e,t);else if(a==="document")n=on(K(e));else if(U(a))n=ln(a,t);else{const r=Lt(e);n={x:a.x-r.x,y:a.y-r.y,width:a.width,height:a.height}}return ke(n)}function Pt(e,a){const t=ne(e);return t===a||!U(t)||ye(t)?!1:q(t).position==="fixed"||Pt(t,a)}function cn(e,a){const t=a.get(e);if(t)return t;let n=Ce(e,[],!1).filter(s=>U(s)&&be(s)!=="body"),r=null;const i=q(e).position==="fixed";let o=i?ne(e):e;for(;U(o)&&!ye(o);){const s=q(o),d=at(o);!d&&s.position==="fixed"&&(r=null),(i?!d&&!r:!d&&s.position==="static"&&!!r&&dn.has(r.position)||Se(o)&&!d&&Pt(e,o))?n=n.filter(l=>l!==o):r=s,o=ne(o)}return a.set(e,n),n}function un(e){let{element:a,boundary:t,rootBoundary:n,strategy:r}=e;const o=[...t==="clippingAncestors"?$e(a)?[]:cn(a,this._c):[].concat(t),n],s=o[0],d=o.reduce((c,l)=>{const u=Nt(a,l,r);return c.top=H(u.top,c.top),c.right=te(u.right,c.right),c.bottom=te(u.bottom,c.bottom),c.left=H(u.left,c.left),c},Nt(a,s,r));return{width:d.right-d.left,height:d.bottom-d.top,x:d.left,y:d.top}}function pn(e){const{width:a,height:t}=kt(e);return{width:a,height:t}}function gn(e,a,t){const n=G(a),r=K(a),i=t==="fixed",o=se(e,!0,i,a);let s={scrollLeft:0,scrollTop:0};const d=W(0);function c(){d.x=Ne(r)}if(n||!n&&!i)if((be(a)!=="body"||Se(r))&&(s=ze(a)),n){const g=se(a,!0,i,a);d.x=g.x+a.clientLeft,d.y=g.y+a.clientTop}else r&&c();i&&!n&&r&&c();const l=r&&!n&&!i?$t(r,s):W(0),u=o.left+s.scrollLeft-d.x-l.x,p=o.top+s.scrollTop-d.y-l.y;return{x:u,y:p,width:o.width,height:o.height}}function ot(e){return q(e).position==="static"}function Ot(e,a){if(!G(e)||q(e).position==="fixed")return null;if(a)return a(e);let t=e.offsetParent;return K(e)===t&&(t=t.ownerDocument.body),t}function Ft(e,a){const t=Y(e);if($e(e))return t;if(!G(e)){let r=ne(e);for(;r&&!ye(r);){if(U(r)&&!ot(r))return r;r=ne(r)}return t}let n=Ot(e,a);for(;n&&Ka(n)&&ot(n);)n=Ot(n,a);return n&&ye(n)&&ot(n)&&!at(n)?t:n||Za(e)||t}const hn=async function(e){const a=this.getOffsetParent||Ft,t=this.getDimensions,n=await t(e.floating);return{reference:gn(e.reference,await a(e.floating),e.strategy),floating:{x:0,y:0,width:n.width,height:n.height}}};function fn(e){return q(e).direction==="rtl"}const mn={convertOffsetParentRelativeRectToViewportRelativeRect:nn,getDocumentElement:K,getClippingRect:un,getOffsetParent:Ft,getElementRects:hn,getClientRects:rn,getDimensions:pn,getScale:ve,isElement:U,isRTL:fn};function Ht(e,a){return e.x===a.x&&e.y===a.y&&e.width===a.width&&e.height===a.height}function bn(e,a){let t=null,n;const r=K(e);function i(){var s;clearTimeout(n),(s=t)==null||s.disconnect(),t=null}function o(s,d){s===void 0&&(s=!1),d===void 0&&(d=1),i();const c=e.getBoundingClientRect(),{left:l,top:u,width:p,height:g}=c;if(s||a(),!p||!g)return;const f=Ae(u),h=Ae(r.clientWidth-(l+p)),v=Ae(r.clientHeight-(u+g)),m=Ae(l),E={rootMargin:-f+"px "+-h+"px "+-v+"px "+-m+"px",threshold:H(0,te(1,d))||1};let S=!0;function D(_){const R=_[0].intersectionRatio;if(R!==d){if(!S)return o();R?o(!1,R):n=setTimeout(()=>{o(!1,1e-7)},1e3)}R===1&&!Ht(c,e.getBoundingClientRect())&&o(),S=!1}try{t=new IntersectionObserver(D,{...E,root:r.ownerDocument})}catch{t=new IntersectionObserver(D,E)}t.observe(e)}return o(!0),i}function Yt(e,a,t,n){n===void 0&&(n={});const{ancestorScroll:r=!0,ancestorResize:i=!0,elementResize:o=typeof ResizeObserver=="function",layoutShift:s=typeof IntersectionObserver=="function",animationFrame:d=!1}=n,c=it(e),l=r||i?[...c?Ce(c):[],...Ce(a)]:[];l.forEach(m=>{r&&m.addEventListener("scroll",t,{passive:!0}),i&&m.addEventListener("resize",t)});const u=c&&s?bn(c,t):null;let p=-1,g=null;o&&(g=new ResizeObserver(m=>{let[x]=m;x&&x.target===c&&g&&(g.unobserve(a),cancelAnimationFrame(p),p=requestAnimationFrame(()=>{var E;(E=g)==null||E.observe(a)})),t()}),c&&!d&&g.observe(c),g.observe(a));let f,h=d?se(e):null;d&&v();function v(){const m=se(e);h&&!Ht(h,m)&&t(),h=m,f=requestAnimationFrame(v)}return t(),()=>{var m;l.forEach(x=>{r&&x.removeEventListener("scroll",t),i&&x.removeEventListener("resize",t)}),u==null||u(),(m=g)==null||m.disconnect(),g=null,d&&cancelAnimationFrame(f)}}const st=Va,dt=Ua,lt=Ha,yn=qa,vn=Fa,ct=(e,a,t)=>{const n=new Map,r={platform:mn,...t},i={...r.platform,_c:n};return Oa(e,a,{...r,platform:i})};async function Bt(e,a){if(!e.options.beforeDateSelectCallback)return{isValid:!0};try{e.isValidating=!0,Ye(e);const t=await Promise.resolve(e.options.beforeDateSelectCallback(a));switch(de(e),e.isValidating=!1,t.action){case"accept":return le(e),{isValid:!0};case"adjust":return a instanceof Date&&t.adjustedDate?(t.message&&gt(e,t.message,"info"),{isValid:!0,adjustedDate:t.adjustedDate,message:t.message}):typeof a=="object"&&"start"in a&&t.adjustedStartDate&&t.adjustedEndDate?(t.message&&gt(e,t.message,"info"),{isValid:!0,adjustedStart:t.adjustedStartDate,adjustedEnd:t.adjustedEndDate,message:t.message}):{isValid:!1,message:t.message||"Invalid adjustment"};case"restore":return t.showInvalidRange&&typeof a=="object"&&"start"in a?{isValid:!1,message:t.message,showInvalidRange:!0,invalidStart:a.start,invalidEnd:a.end}:{isValid:!1,message:t.message};case"clear":return e.clearSelection(),{isValid:!1,message:t.message};default:return{isValid:!1,message:"Unknown validation action"}}}catch(t){return de(e),e.isValidating=!1,V.error("beforeDateSelectCallback error:",t),{isValid:!1,message:"Validation error occurred"}}}function ut(e){e.renderCalendar(),e.updateSummary()}function De(e,a){e.input&&!e.requiresApplyButton()&&(e.input.value=a)}function Vt(e,a){var t;for(let n=0;n<e.monthDates.length;n++){const r=e.monthDates[n];if(a.getFullYear()!==r.getFullYear()||a.getMonth()!==r.getMonth())continue;e.activeMonthIndex=n;const i=e.calendar.querySelector(`.drp-date-picker__days[data-month-index="${n}"]`);if(!i)return;const o=i.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)"),s=Array.from(o).findIndex(d=>{const c=d.dataset.date;if(!c)return!1;const[l,u,p]=c.split("-").map(Number),g=new Date(l,u-1,p);return e.isSameDay(g,a)});if(s===-1)return;e.focusedDayIndex=s,o.forEach(d=>d.classList.remove("drp-date-picker__day--focused")),(t=o[s])==null||t.classList.add("drp-date-picker__day--focused");return}}function Dn(e){const a=e.options.selectionMode;if(a==="range"&&e.selectedStartDate&&e.selectedEndDate)return`${e.formatDate(e.selectedStartDate)} - ${e.formatDate(e.selectedEndDate)}`;if(a==="single"&&e.selectedDate)return e.formatDate(e.selectedDate);if(a==="multiple"){const t=e.selectedDates.length+e.selectedRanges.length;return t>0?`${t} selection(s)`:""}return null}async function Ut(e,a,t){if(ie.debug(" validateRangeAsync called - mode:",e.options.disabledDatesHandling,"start:",a,"end:",t),e.options.disabledDatesHandling==="prevent"){if(ie.debug(" Checking PREVENT mode"),e.hasDisabledDatesInRange(a,t))return ie.debug(" PREVENT mode - range contains disabled dates"),{isValid:!1,message:"Range contains disabled dates"}}else if(e.options.disabledDatesHandling==="block"&&(ie.debug(" Checking BLOCK mode"),e.hasDisabledDatesInRange(a,t))){ie.debug(" BLOCK mode - range contains disabled dates, adjusting");const r=e.findLastEnabledBeforeGap(a,t);return ie.debug(" BLOCK mode - adjusted end:",r),{isValid:!0,adjustedStart:a,adjustedEnd:r}}const n=await Bt(e,{start:a,end:t});return n.isValid?n.adjustedStart||n.adjustedEnd?{isValid:!0,adjustedStart:n.adjustedStart,adjustedEnd:n.adjustedEnd,message:n.message}:{isValid:!0}:n.showInvalidRange?{isValid:!1,message:n.message,showInvalidRange:!0,invalidStart:n.invalidStart,invalidEnd:n.invalidEnd}:{isValid:!1,message:n.message}}async function _n(e,a){if(a.classList.contains("drp-date-picker__day--disabled"))return;if(!a.dataset||!a.dataset.date){V.warn("selectDay() - called with invalid element:",a);return}const[t,n,r]=a.dataset.date.split("-").map(Number),i=new Date(t,n-1,r);let o=null;a.classList.contains("drp-date-picker__day--other-month");const s=a.closest(".drp-date-picker__days");if(s&&s instanceof HTMLElement){e.activeMonthIndex=parseInt(s.dataset.monthIndex||"0")||0,he.debug(`Col${e.activeMonthIndex} selectDay - activeMonthIndex:`,e.activeMonthIndex);const d=s.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");e.focusedDayIndex=Array.from(d).indexOf(a),he.debug(`Col${e.activeMonthIndex} selectDay - set focusedDayIndex to:`,e.focusedDayIndex)}if(e.options.selectionMode==="single"){const d=await Bt(e,i);if(!d.isValid){he.debug("Single mode selection prevented by beforeDateSelectCallback");return}d.message||le(e);const c=d.adjustedDate||i;d.adjustedDate&&!e.isSameDay(i,c)&&(o=c),e.selectedDate=c,De(e,e.formatDate(c)),e.requiresApplyButton()?e.pendingSelection=c:e.options.onSelect&&e.options.onSelect(c),e.options.positioningMode==="floating"&&e.shouldAutoClose()&&e.hide()}else if(e.options.selectionMode==="multiple"){const d=`${i.getFullYear()}-${String(i.getMonth()+1).padStart(2,"0")}-${String(i.getDate()).padStart(2,"0")}`,c=e.selectedDates.findIndex(u=>`${u.getFullYear()}-${String(u.getMonth()+1).padStart(2,"0")}-${String(u.getDate()).padStart(2,"0")}`===d);c!==-1?e.selectedDates.splice(c,1):e.selectedDates.push(new Date(i));const l=e.selectedDates.length+e.selectedRanges.length;De(e,l>0?`${l} selection(s)`:""),e.selectedRanges.length>0&&e.selectedDates.length>0?e.pendingSelection=[...e.selectedRanges,...e.selectedDates]:e.selectedRanges.length>0?e.pendingSelection=e.selectedRanges:e.pendingSelection=e.selectedDates}else if(!e.selectedStartDate||e.selectedEndDate)e.invalidRangeStart=null,e.invalidRangeEnd=null,e.selectedStartDate=i,e.selectedEndDate=null,De(e,`${e.formatDate(e.selectedStartDate)} - ...`);else{let d=e.selectedStartDate,c=i;i<e.selectedStartDate&&(c=e.selectedStartDate,d=i),he.debug(" selectDay - calling validateRangeAsync with:",d,c);const l=await Ut(e,d,c);if(he.debug(" selectDay - validation result:",l),!l.isValid){l.message&&V.warn("selectDay() - range validation failed:",l.message),l.showInvalidRange&&l.invalidStart&&l.invalidEnd&&(e.invalidRangeStart=l.invalidStart,e.invalidRangeEnd=l.invalidEnd,e.selectedStartDate=null,e.selectedEndDate=null),ut(e);return}e.selectedStartDate=l.adjustedStart||d,e.selectedEndDate=l.adjustedEnd||c,e.invalidRangeStart=null,e.invalidRangeEnd=null,l.message||le(e),De(e,`${e.formatDate(e.selectedStartDate)} - ${e.formatDate(e.selectedEndDate)}`);const u={start:e.selectedStartDate,end:e.selectedEndDate};e.requiresApplyButton()?e.pendingSelection=u:e.options.onSelect&&e.options.onSelect(u),e.options.positioningMode==="floating"&&e.shouldAutoClose()&&e.hide()}ut(e),o&&Vt(e,o),e.options.selectionMode==="range"&&e.selectedEndDate&&Vt(e,e.selectedEndDate)}function wn(e){e.monthDates[e.activeMonthIndex]=new Date,e.selectedDate=new Date,De(e,e.formatDate(e.selectedDate)),e.requiresApplyButton()?e.pendingSelection=e.selectedDate:e.options.onSelect&&e.options.onSelect(e.selectedDate),e.renderCalendar(),e.options.positioningMode==="floating"&&e.shouldAutoClose()&&e.hide()}function xn(e){e.selectedDate=null,e.selectedStartDate=null,e.selectedEndDate=null,e.selectedRanges=[],e.selectedDates=[],e.pendingSelection=null,e.dragPreviewStart=null,e.dragPreviewEnd=null,e.invalidRangeStart=null,e.invalidRangeEnd=null,e.focusedDayIndex=null,le(e),e.input&&(e.input.value=""),ut(e)}function Mn(e){if(e.input){const a=Dn(e);a!==null&&(e.input.value=a)}e.pendingSelection&&(e.options.onSelect&&e.options.onSelect(e.pendingSelection),e.pendingSelection=null),e.options.selectionMode==="range"?(e.committedStartDate=e.selectedStartDate,e.committedEndDate=e.selectedEndDate):e.options.selectionMode==="single"&&(e.committedDate=e.selectedDate),e.options.positioningMode==="floating"&&e.hide()}function Sn(e){e.options.selectionMode==="range"&&e.calendar.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--disabled)").forEach(t=>{t.addEventListener("mousedown",n=>{const r=n,i=t,o=r.clientX,s=r.clientY,d=5;let c=!1,l=!1;const u=i.classList.contains("drp-date-picker__day--range-start"),p=i.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 f=v=>{const m=Math.abs(v.clientX-o),x=Math.abs(v.clientY-s);!c&&(m>d||x>d)&&(c=!0),c&&!l&&(l=!0,qt(e,r,g,i),document.removeEventListener("mousemove",f),document.removeEventListener("mouseup",h))},h=()=>{document.removeEventListener("mousemove",f),document.removeEventListener("mouseup",h)};document.addEventListener("mousemove",f),document.addEventListener("mouseup",h)})})}function qt(e,a,t,n){a.preventDefault(),a.stopPropagation(),e.isDragging=!0,e.draggingType=t,e.invalidRangeStart=null,e.invalidRangeEnd=null;const r=n,i=r.dataset.date;let o=null;if(i){const[s,d,c]=i.split("-").map(Number);o=new Date(s,d-1,c)}!e.selectedStartDate&&!e.selectedEndDate?o&&(e.originalStartDate=o,e.originalEndDate=null,e.draggingType="end"):o&&e.selectedStartDate&&!e.selectedEndDate?o.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=o,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"),oe.debug(`Started dragging ${t} date`),e.onDragMoveBound=s=>jt(e,s),e.onDragEndBound=async s=>await Wt(e),document.addEventListener("mousemove",e.onDragMoveBound),document.addEventListener("mouseup",e.onDragEndBound),document.body.style.cursor="grabbing"}function jt(e,a){if(!e.isDragging)return;let t=null;e.containerElement instanceof ShadowRoot&&"elementsFromPoint"in e.containerElement?t=e.containerElement.elementsFromPoint(a.clientX,a.clientY)[0]||null:t=document.elementFromPoint(a.clientX,a.clientY);const n=t==null?void 0:t.closest(".drp-date-picker__nav--prev"),r=t==null?void 0:t.closest(".drp-date-picker__nav--next");if(n||r){if(!e.navInterval){const p=(n||r).closest(".drp-date-picker__month");if(p&&p instanceof HTMLElement){const g=parseInt(p.dataset.monthIndex||"0"),f=!!n;f?e.prevMonth(g):e.nextMonth(g),e.navInterval=window.setInterval(()=>{f?e.prevMonth(g):e.nextMonth(g)},1e3)}}return}else e.navInterval&&(clearInterval(e.navInterval),e.navInterval=null);const i=t;if(!i||!i.classList.contains("drp-date-picker__day"))return;const o=i.dataset.date;if(!o)return;const[s,d,c]=o.split("-").map(Number);let l=new Date(s,d-1,c);if(i.classList.contains("drp-date-picker__day--disabled")){const u=e.draggingType==="start"?e.originalEndDate&&l>e.originalEndDate?"backward":"forward":e.originalStartDate&&l<e.originalStartDate?"forward":"backward";l=Pe(e,l,u)}if(e.draggingType==="start"&&e.originalEndDate?(e.dragPreviewStart=l,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=l,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(oe.debug("onDragMove - mode:",u,"start:",e.dragPreviewStart,"end:",e.dragPreviewEnd),u==="prevent"&&e.hasDisabledDatesInRange(e.dragPreviewStart,e.dragPreviewEnd)){oe.debug("PREVENT mode - range contains disabled dates, blocking preview update");return}}e.updateDragPreview()}async function Wt(e,a){if(!e.isDragging)return;oe.debug("Ended dragging, finalizing selection");let t=!1;if(e.dragPreviewStart&&e.dragPreviewEnd){let n=Pe(e,e.dragPreviewStart,"forward"),r=Pe(e,e.dragPreviewEnd,"backward");n>r&&([n,r]=[r,n]),oe.debug("onDragEnd - calling validateRangeAsync with:",n,r);const i=await Ut(e,n,r);if(oe.debug("onDragEnd - validation result:",i),!i.isValid)i.message&&V.warn("onDragEnd() - drag validation failed:",i.message),i.showInvalidRange&&i.invalidStart&&i.invalidEnd&&(e.invalidRangeStart=i.invalidStart,e.invalidRangeEnd=i.invalidEnd,e.selectedStartDate=null,e.selectedEndDate=null),t=!1;else{e.selectedStartDate=i.adjustedStart||n,e.selectedEndDate=i.adjustedEnd||r,t=!0,e.invalidRangeStart=null,e.invalidRangeEnd=null,i.message||le(e),De(e,`${e.formatDate(e.selectedStartDate)} - ${e.formatDate(e.selectedEndDate)}`);const o={start:e.selectedStartDate,end:e.selectedEndDate};e.requiresApplyButton()?e.pendingSelection=o:e.options.onSelect&&e.options.onSelect(o)}}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 r=0;r<e.monthDates.length;r++){const i=e.monthDates[r];if(n.getFullYear()===i.getFullYear()&&n.getMonth()===i.getMonth()){e.activeMonthIndex=r;const o=e.calendar.querySelector(`.drp-date-picker__days[data-month-index="${r}"]`);if(o){const s=o.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)"),d=Array.from(s).findIndex(c=>{const l=c.dataset.date;if(!l)return!1;const[u,p,g]=l.split("-").map(Number),f=new Date(u,p-1,g);return e.isSameDay(f,n)});d!==-1&&(e.focusedDayIndex=d,s.forEach(c=>c.classList.remove("drp-date-picker__day--focused")),s[d]&&s[d].classList.add("drp-date-picker__day--focused"))}break}}}e.options.positioningMode==="floating"&&e.shouldAutoClose()&&t&&e.hide()}function Pe(e,a,t="forward"){let r=new Date(a);if(r.setHours(0,0,0,0),!e.isDateDisabledInternal(r))return r;const i=t==="forward"?1:-1;for(let s=1;s<=60;s++){const d=new Date(a);if(d.setDate(d.getDate()+s*i),d.setHours(0,0,0,0),!e.isDateDisabledInternal(d))return d}const o=-i;for(let s=1;s<=60;s++){const d=new Date(a);if(d.setDate(d.getDate()+s*o),d.setHours(0,0,0,0),!e.isDateDisabledInternal(d))return d}return a}function Cn(e,a){const t=a.target,n=t.value,r=t.selectionStart||0,i=e._previousInputValue||"",o=n.length<i.length,{separator:s}=e.formatInfo;if(e.options.selectionMode==="range"){const d=n.replace(new RegExp(`[^0-9${s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}to ]`,"gi"),""),c=Kt(e,d);if(c!==n){t.value=c;let l=r;if(o)l=r;else if(c.length>n.length)if(c.includes(" to ")&&!n.includes(" to ")){const u=c.indexOf(" to ");r>=u&&r<=u+4?l=u+4:l=r+(c.length-n.length)}else l=r+(c.length-n.length);t.setSelectionRange(l,l)}}else{const d=n.replace(new RegExp(`[^0-9${s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}]`,"g"),""),c=_e(e,d);if(c!==n){t.value=c;let l=r;if(o)l=r;else if(c.length>n.length&&c[r]===s)l=r+1;else if(c.length>n.length){const u=(n.substring(0,r).match(new RegExp(s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g"))||[]).length,g=(c.substring(0,r).match(new RegExp(s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g"))||[]).length-u;l=r+g}t.setSelectionRange(l,l)}}e._previousInputValue=t.value,Oe(e)}function _e(e,a){var l,u,p;const{separator:t,parts:n,maxLength:r}=e.formatInfo,i=a.replace(new RegExp(t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g"),""),o=n.year?n.year.length:4,s=[{type:"year",pos:((l=n.year)==null?void 0:l.index)??0,length:o},{type:"month",pos:((u=n.month)==null?void 0:u.index)??1,length:2},{type:"day",pos:((p=n.day)==null?void 0:p.index)??2,length:2}].sort((g,f)=>g.pos-f.pos);let d="",c=0;for(let g=0;g<s.length;g++){const f=s[g],h=i.substring(c,c+f.length);if(!h)break;d+=h,c+=h.length,g<s.length-1&&h.length===f.length&&(d+=t)}return d.substring(0,r)}function Kt(e,a){const{separator:t,maxLength:n}=e.formatInfo,r=" to ";let i="",o="";if(a.includes(r)){const d=a.split(r);i=d[0],o=d.slice(1).join(r)}else i=a;const s=_e(e,i);if(s.length===n)if(a.includes(r)){const d=_e(e,o);return s+r+d}else return s+r;else return s}function En(e,a){const{key:t,ctrlKey:n,metaKey:r}=a,{separator:i}=e.formatInfo;if(e.calendar.classList.contains("drp-date-picker--visible")&&["ArrowUp","ArrowDown","Home","End","PageUp","PageDown"].includes(t)){a.preventDefault();return}if(!(["Backspace","Delete","Tab","Escape","Enter","ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End"].includes(t)||n||r)){if(t===i){const s=a.target,d=s.selectionStart||0,c=s.value;let l=0;for(let p=d-1;p>=0;p--)if(c[p]===i||c[p]===" "){l=p+1;break}const u=c.substring(l,d);if(/^\d$/.test(u)){a.preventDefault();const p=c.substring(0,l)+"0"+u+i+c.substring(d);s.value=p;const g=l+2+i.length;s.setSelectionRange(g,g),e._previousInputValue=p,s.dispatchEvent(new Event("input",{bubbles:!0}));return}}e.options.selectionMode==="range"?!/^\d$/.test(t)&&t!==i&&t!==" "&&t.toLowerCase()!=="t"&&t.toLowerCase()!=="o"&&a.preventDefault():!/^\d$/.test(t)&&t!==i&&a.preventDefault()}}function In(e,a){var p;a.preventDefault();const t=((p=a.clipboardData)==null?void 0:p.getData("text"))||"",{separator:n}=e.formatInfo,r=t.replace(new RegExp(`[^0-9${n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}]`,"g"),""),i=_e(e,r),o=a.target,s=o.selectionStart||0,d=o.selectionEnd||0,c=o.value,l=c.substring(0,s)+i+c.substring(d);o.value=_e(e,l);const u=s+i.length;o.setSelectionRange(u,u),o.dispatchEvent(new Event("input",{bubbles:!0})),Oe(e)}function Oe(e){if(!e.input)return;const a=e.input.value;if(ge.debug("updateCalendarFromInput - value:",a),!a){e.clearSelection(),e.renderCalendar();return}const{separator:t,parts:n,maxLength:r}=e.formatInfo;if(ge.debug("Format info:",{separator:t,parts:n,maxLength:r}),e.options.selectionMode==="range"&&a.includes(" to ")){const o=a.split(" to "),s=o[0],d=o[1];ge.debug("Range parts - start:",s,"end:",d),Fe(e,s,"start"),d?Fe(e,d,"end"):e.selectedEndDate=null;return}const i=e.options.selectionMode==="range"?"start":"single";Fe(e,a,i)}function Fe(e,a,t="single"){const{separator:n,parts:r,maxLength:i}=e.formatInfo,o=a.split(n);let s=null,d=null,c=null;if(o.forEach((l,u)=>{if(l){if(r.year&&r.year.index===u){const p=parseInt(l,10);r.year.length===4&&l.length===4?s=p:r.year.length===2&&l.length===2&&(s=p<100?p+2e3:p)}else if(r.month&&r.month.index===u){const p=parseInt(l,10);l.length===2&&p>=1&&p<=12&&(d=p)}else if(r.day&&r.day.index===u){const p=parseInt(l,10);l.length===2&&p>=1&&p<=31&&(c=p)}}}),ge.debug(`parseAndUpdateSingleDate(${t}) - year:`,s,"month:",d,"day:",c),s!==null||d!==null){const l=s||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(l,u+p,1);e.monthDates.push(g)}}else if(e.options.selectionMode==="range"&&(t==="start"||!e.selectedStartDate)){if(e.displayMonths=[{month:u,year:l}],e.options.visibleMonthsCount>1){const p=new Date(l,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],f=new Date(g.year,g.month,1);e.monthDates.push(f)}}e.renderCalendar()}if(s!==null&&d!==null&&c!==null){const l=new Date(s,d-1,c);l.getMonth()===d-1&&(t==="single"?e.selectedDate=l:t==="start"?e.selectedStartDate=l:t==="end"&&(e.selectedEndDate=l),e.renderCalendar(),e.options.selectionMode==="range"&&e.updateSummary(),ge.debug(`Set ${t} date:`,l))}}let He=null;function Gt(e){e.options.positioningMode!=="inline"&&(ee.debug("show() - adding visible class"),e.requiresApplyButton()&&e.input&&(e.originalInputValue=e.input.value,ee.debug("show() - stored original input value:",e.originalInputValue)),Oe(e),e.isFirstRender&&(e.renderCalendar(),e.isFirstRender=!1,Jt(e)),e.calendar.classList.add("drp-date-picker--visible"),e.setCalendarActive(),ee.debug("show() - calendar classes:",e.calendar.className),pt(e),He=Yt(e.input,e.calendar,()=>{pt(e)}))}function Xt(e){if(e.options.positioningMode!=="inline"&&e.calendar.classList.contains("drp-date-picker--visible")){He&&(He(),He=null),e.calendar.classList.remove("drp-date-picker--visible"),e.isCalendarActive=!1,e.requiresApplyButton()&&e.pendingSelection&&e.input&&(ee.debug("hide() - restoring original input value:",e.originalInputValue),e.originalInputValue!==null&&(e.input.value=e.originalInputValue),e.options.selectionMode==="range"?(e.selectedStartDate=e.committedStartDate,e.selectedEndDate=e.committedEndDate):e.options.selectionMode==="single"&&(e.selectedDate=e.committedDate),ee.debug("hide() - reverted selection state")),e.pendingSelection=null;for(let a=0;a<e.showingRollingSelector.length;a++)e.showingRollingSelector[a]=!1;e.isFirstRender||e.renderCalendar(),e.calendar.style.maxHeight="",e.calendar.style.overflowY=""}}function Rn(e){e.calendar.classList.contains("drp-date-picker--visible")?Xt(e):Gt(e)}async function pt(e){if(!e.input)return;const a=await ct(e.input,e.calendar,{placement:e.options.calendarPlacement||"bottom-start",middleware:[st(8),lt({padding:8}),dt({padding:8}),yn({padding:8,apply({availableHeight:t,elements:n}){n.floating.style.maxHeight=`${Math.max(0,t)}px`,n.floating.style.overflowY="auto"}})]});ee.debug("position() - x:",a.x,"y:",a.y,"placement:",a.placement),e.calendar.style.left=`${a.x}px`,e.calendar.style.top=`${a.y}px`}async function An(e,a,t){if(!e.tooltip||!e.tooltipArrow)return;e.currentTooltipTarget=a,e.tooltip.innerHTML=t,e.tooltip.appendChild(e.tooltipArrow),e.tooltip.classList.add("drp-date-picker__tooltip--visible");const{x:n,y:r,placement:i,middlewareData:o}=await ct(a,e.tooltip,{placement:"top",middleware:[st(6),lt(),dt({padding:5}),vn({element:e.tooltipArrow})]});if(Object.assign(e.tooltip.style,{left:`${n}px`,top:`${r}px`}),o.arrow){const{x:s,y:d}=o.arrow,c={top:"bottom",right:"left",bottom:"top",left:"right"}[i.split("-")[0]];Object.assign(e.tooltipArrow.style,{left:s!=null?`${s}px`:"",top:d!=null?`${d}px`:"",right:"",bottom:"",[c]:"-4px"})}}function Tn(e){e.tooltip&&(e.tooltip.classList.remove("drp-date-picker__tooltip--visible"),e.currentTooltipTarget=void 0)}function Ye(e){if(e.loadingOverlay)return;const a=document.createElement("div");a.className="drp-date-picker__loading-overlay",a.innerHTML=`
1
+ (function(F,P){typeof exports=="object"&&typeof module<"u"?P(exports):typeof define=="function"&&define.amd?define(["exports"],P):(F=typeof globalThis<"u"?globalThis:F||self,P(F.WebDaterangepicker={}))})(this,function(F){"use strict";var hr=Object.defineProperty;var fr=(F,P,W)=>P in F?hr(F,P,{enumerable:!0,configurable:!0,writable:!0,value:W}):F[P]=W;var b=(F,P,W)=>fr(F,typeof P!="symbol"?P+"":P,W);function P(e){if(e!=="auto")return e;try{const n=new Intl.Locale(navigator.language);if("weekInfo"in n&&n.weekInfo&&"firstDay"in n.weekInfo){const r=n.weekInfo.firstDay;return r===7?0:r}}catch{}const a=navigator.language.toLowerCase();return["en-us","en-ca","ja","ja-jp","he","he-il","ar-sa","ar-ae","ko","ko-kr"].some(n=>a.startsWith(n))?0:1}function W(e){if(!e)return null;let a;return typeof e=="string"?a=new Date(e+"T00:00:00"):a=new Date(e),a.setHours(0,0,0,0),isNaN(a.getTime())?null:a}function Me(e){const a=e.getFullYear(),t=String(e.getMonth()+1).padStart(2,"0"),n=String(e.getDate()).padStart(2,"0");return`${a}-${t}-${n}`}function ga(e,a,t,n,r){const i=Me(e),o=e.getDay();return!!(a&&e<a||t&&e>t||r&&r.includes(o)||n.has(i))}function ha(e,a){for(let t=0;t<12;t++){const n=new Date(a,t+1,0).getDate();for(let r=1;r<=n;r++){const i=new Date(a,t,r);if(!e.isDateDisabledInternal(i))return!0}}return!1}function fa(e,a,t){const n=new Date(e),r=new Date(a);n.setHours(0,0,0,0),r.setHours(0,0,0,0);const i=new Date(n);for(;i<=r;){if(t(i))return!0;i.setDate(i.getDate()+1)}return!1}function ma(e,a,t){const n=[],r=new Date(e),i=new Date(a);r.setHours(0,0,0,0),i.setHours(0,0,0,0);const o=new Date(r);for(;o<=i;)t(o)||n.push(new Date(o)),o.setDate(o.getDate()+1);return n}function ba(e,a,t){const n=[],r=new Date(e),i=new Date(a);r.setHours(0,0,0,0),i.setHours(0,0,0,0);const o=new Date(r);for(;o<=i;)t(o)&&n.push(new Date(o)),o.setDate(o.getDate()+1);return n}function ya(e,a,t){const n=new Date(e),r=new Date(a);n.setHours(0,0,0,0),r.setHours(0,0,0,0);let i=new Date(n);const o=new Date(n);for(o.setDate(o.getDate()+1);o<=r;){if(t(o))return i;i=new Date(o),o.setDate(o.getDate()+1)}return r}function va(e,a,t){const n=[],r=new Date(e),i=new Date(a);r.setHours(0,0,0,0),i.setHours(0,0,0,0);let o=null;const s=new Date(r);for(;s<=i;){if(!t(s))o||(o=new Date(s));else if(o){const d=new Date(s);d.setDate(d.getDate()-1),n.push({start:o,end:d}),o=null}s.setDate(s.getDate()+1)}return o&&n.push({start:o,end:new Date(i)}),n}function xt(e){return Mt(e,new Date)}function Mt(e,a){return!e||!a?!1:e.getFullYear()===a.getFullYear()&&e.getMonth()===a.getMonth()&&e.getDate()===a.getDate()}function Da(e,a,t){return!a||!t?!1:e>a&&e<t}var _a=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function wa(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var St={exports:{}};(function(e){(function(a,t){e.exports?e.exports=t():a.log=t()})(_a,function(){var a=function(){},t="undefined",n=typeof window!==t&&typeof window.navigator!==t&&/Trident\/|MSIE /.test(window.navigator.userAgent),r=["trace","debug","info","warn","error"],i={},o=null;function s(h,v){var f=h[v];if(typeof f.bind=="function")return f.bind(h);try{return Function.prototype.bind.call(f,h)}catch{return function(){return Function.prototype.apply.apply(f,[h,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(h){return h==="debug"&&(h="log"),typeof console===t?!1:h==="trace"&&n?d:console[h]!==void 0?s(console,h):console.log!==void 0?s(console,"log"):a}function c(){for(var h=this.getLevel(),v=0;v<r.length;v++){var f=r[v];this[f]=v<h?a:this.methodFactory(f,h,this.name)}if(this.log=this.debug,typeof console===t&&h<this.levels.SILENT)return"No console available for logging"}function p(h){return function(){typeof console!==t&&(c.call(this),this[h].apply(this,arguments))}}function u(h,v,f){return l(h)||p.apply(this,arguments)}function g(h,v){var f=this,x,E,S,D="loglevel";typeof h=="string"?D+=":"+h:typeof h=="symbol"&&(D=void 0);function _(C){var I=(r[C]||"silent").toUpperCase();if(!(typeof window===t||!D)){try{window.localStorage[D]=I;return}catch{}try{window.document.cookie=encodeURIComponent(D)+"="+I+";"}catch{}}}function k(){var C;if(!(typeof window===t||!D)){try{C=window.localStorage[D]}catch{}if(typeof C===t)try{var I=window.document.cookie,A=encodeURIComponent(D),R=I.indexOf(A+"=");R!==-1&&(C=/^([^;]+)/.exec(I.slice(R+A.length+1))[1])}catch{}return f.levels[C]===void 0&&(C=void 0),C}}function L(){if(!(typeof window===t||!D)){try{window.localStorage.removeItem(D)}catch{}try{window.document.cookie=encodeURIComponent(D)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch{}}}function y(C){var I=C;if(typeof I=="string"&&f.levels[I.toUpperCase()]!==void 0&&(I=f.levels[I.toUpperCase()]),typeof I=="number"&&I>=0&&I<=f.levels.SILENT)return I;throw new TypeError("log.setLevel() called with invalid level: "+C)}f.name=h,f.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},f.methodFactory=v||u,f.getLevel=function(){return S??E??x},f.setLevel=function(C,I){return S=y(C),I!==!1&&_(S),c.call(f)},f.setDefaultLevel=function(C){E=y(C),k()||f.setLevel(C,!1)},f.resetLevel=function(){S=null,L(),c.call(f)},f.enableAll=function(C){f.setLevel(f.levels.TRACE,C)},f.disableAll=function(C){f.setLevel(f.levels.SILENT,C)},f.rebuild=function(){if(o!==f&&(x=y(o.getLevel())),c.call(f),o===f)for(var C in i)i[C].rebuild()},x=y(o?o.getLevel():"WARN");var M=k();M!=null&&(S=y(M)),c.call(f)}o=new g,o.getLogger=function(v){if(typeof v!="symbol"&&typeof v!="string"||v==="")throw new TypeError("You must supply a name when creating a logger.");var f=i[v];return f||(f=i[v]=new g(v,o.methodFactory)),f};var m=typeof window!==t?window.log:void 0;return o.noConflict=function(){return typeof window!==t&&window.log===o&&(window.log=m),o},o.getLoggers=function(){return i},o.default=o,o})})(St);var xa=St.exports;const V=wa(xa),Ma=["DRP","DRP:RENDERING","DRP:INTERACTION","DRP:SELECTION","DRP:NAVIGATION","DRP:UI","DRP:VALIDATION","DRP:DRAG"],Sa={trace:"#6b7280",debug:"#0ea5e9",info:"#10b981",warn:"#f59e0b",error:"#ef4444"},Ca=V.methodFactory,Ea=(e,a,t)=>{const n=Ca.call(V,e,a,t);return(...r)=>{const i=Sa[e]||"#6b7280",s=`%c[${new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit",fractionalSecondDigits:3})}] [${e.toUpperCase()}] ${t?`[${t}]`:""}`;n(s,`color: ${i}`,...r)}},Ct=[];function ee(e){const a=V.getLogger(e);return a.methodFactory=Ea,a.setLevel("silent"),Ct.push(a),a}const T=ee("DRP"),ue=ee("DRP:RENDERING"),ge=ee("DRP:INTERACTION"),he=ee("DRP:SELECTION"),w=ee("DRP:NAVIGATION"),J=ee("DRP:UI"),ie=ee("DRP:VALIDATION"),oe=ee("DRP:DRAG");V.setLevel("silent");const Ge=e=>{V.setLevel(e),Ct.forEach(a=>a.setLevel(e))},Xe=()=>{Ge("debug")},Je=()=>{Ge("silent")},Ia=(e,a="debug")=>{const n={DRP:T,"DRP:RENDERING":ue,"DRP:INTERACTION":ge,"DRP:SELECTION":he,"DRP:NAVIGATION":w,"DRP:UI":J,"DRP:VALIDATION":ie,"DRP:DRAG":oe}[e];n&&n.setLevel(a)},ka=()=>[...Ma],te=Math.min,H=Math.max,Ae=Math.round,Te=Math.floor,j=e=>({x:e,y:e}),Ra={left:"right",right:"left",bottom:"top",top:"bottom"},Aa={start:"end",end:"start"};function Qe(e,a,t){return H(e,te(a,t))}function fe(e,a){return typeof e=="function"?e(a):e}function ae(e){return e.split("-")[0]}function me(e){return e.split("-")[1]}function Et(e){return e==="x"?"y":"x"}function Ze(e){return e==="y"?"height":"width"}const Ta=new Set(["top","bottom"]);function Q(e){return Ta.has(ae(e))?"y":"x"}function et(e){return Et(Q(e))}function La(e,a,t){t===void 0&&(t=!1);const n=me(e),r=et(e),i=Ze(r);let o=r==="x"?n===(t?"end":"start")?"right":"left":n==="start"?"bottom":"top";return a.reference[i]>a.floating[i]&&(o=Le(o)),[o,Le(o)]}function $a(e){const a=Le(e);return[tt(e),a,tt(a)]}function tt(e){return e.replace(/start|end/g,a=>Aa[a])}const It=["left","right"],kt=["right","left"],za=["top","bottom"],Na=["bottom","top"];function Pa(e,a,t){switch(e){case"top":case"bottom":return t?a?kt:It:a?It:kt;case"left":case"right":return a?za:Na;default:return[]}}function Oa(e,a,t,n){const r=me(e);let i=Pa(ae(e),t==="start",n);return r&&(i=i.map(o=>o+"-"+r),a&&(i=i.concat(i.map(tt)))),i}function Le(e){return e.replace(/left|right|bottom|top/g,a=>Ra[a])}function Fa(e){return{top:0,right:0,bottom:0,left:0,...e}}function Rt(e){return typeof e!="number"?Fa(e):{top:e,right:e,bottom:e,left:e}}function $e(e){const{x:a,y:t,width:n,height:r}=e;return{width:n,height:r,top:t,left:a,right:a+n,bottom:t+r,x:a,y:t}}function At(e,a,t){let{reference:n,floating:r}=e;const i=Q(a),o=et(a),s=Ze(o),d=ae(a),l=i==="y",c=n.x+n.width/2-r.width/2,p=n.y+n.height/2-r.height/2,u=n[s]/2-r[s]/2;let g;switch(d){case"top":g={x:c,y:n.y-r.height};break;case"bottom":g={x:c,y:n.y+n.height};break;case"right":g={x:n.x+n.width,y:p};break;case"left":g={x:n.x-r.width,y:p};break;default:g={x:n.x,y:n.y}}switch(me(a)){case"start":g[o]-=u*(t&&l?-1:1);break;case"end":g[o]+=u*(t&&l?-1:1);break}return g}const Ha=async(e,a,t)=>{const{placement:n="bottom",strategy:r="absolute",middleware:i=[],platform:o}=t,s=i.filter(Boolean),d=await(o.isRTL==null?void 0:o.isRTL(a));let l=await o.getElementRects({reference:e,floating:a,strategy:r}),{x:c,y:p}=At(l,n,d),u=n,g={},m=0;for(let h=0;h<s.length;h++){const{name:v,fn:f}=s[h],{x,y:E,data:S,reset:D}=await f({x:c,y:p,initialPlacement:n,placement:u,strategy:r,middlewareData:g,rects:l,platform:o,elements:{reference:e,floating:a}});c=x??c,p=E??p,g={...g,[v]:{...g[v],...S}},D&&m<=50&&(m++,typeof D=="object"&&(D.placement&&(u=D.placement),D.rects&&(l=D.rects===!0?await o.getElementRects({reference:e,floating:a,strategy:r}):D.rects),{x:c,y:p}=At(l,u,d)),h=-1)}return{x:c,y:p,placement:u,strategy:r,middlewareData:g}};async function at(e,a){var t;a===void 0&&(a={});const{x:n,y:r,platform:i,rects:o,elements:s,strategy:d}=e,{boundary:l="clippingAncestors",rootBoundary:c="viewport",elementContext:p="floating",altBoundary:u=!1,padding:g=0}=fe(a,e),m=Rt(g),v=s[u?p==="floating"?"reference":"floating":p],f=$e(await i.getClippingRect({element:(t=await(i.isElement==null?void 0:i.isElement(v)))==null||t?v:v.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(s.floating)),boundary:l,rootBoundary:c,strategy:d})),x=p==="floating"?{x:n,y:r,width:o.floating.width,height:o.floating.height}:o.reference,E=await(i.getOffsetParent==null?void 0:i.getOffsetParent(s.floating)),S=await(i.isElement==null?void 0:i.isElement(E))?await(i.getScale==null?void 0:i.getScale(E))||{x:1,y:1}:{x:1,y:1},D=$e(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:s,rect:x,offsetParent:E,strategy:d}):x);return{top:(f.top-D.top+m.top)/S.y,bottom:(D.bottom-f.bottom+m.bottom)/S.y,left:(f.left-D.left+m.left)/S.x,right:(D.right-f.right+m.right)/S.x}}const Ya=e=>({name:"arrow",options:e,async fn(a){const{x:t,y:n,placement:r,rects:i,platform:o,elements:s,middlewareData:d}=a,{element:l,padding:c=0}=fe(e,a)||{};if(l==null)return{};const p=Rt(c),u={x:t,y:n},g=et(r),m=Ze(g),h=await o.getDimensions(l),v=g==="y",f=v?"top":"left",x=v?"bottom":"right",E=v?"clientHeight":"clientWidth",S=i.reference[m]+i.reference[g]-u[g]-i.floating[m],D=u[g]-i.reference[g],_=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l));let k=_?_[E]:0;(!k||!await(o.isElement==null?void 0:o.isElement(_)))&&(k=s.floating[E]||i.floating[m]);const L=S/2-D/2,y=k/2-h[m]/2-1,M=te(p[f],y),C=te(p[x],y),I=M,A=k-h[m]-C,R=k/2-h[m]/2+L,$=Qe(I,R,A),O=!d.arrow&&me(r)!=null&&R!==$&&i.reference[m]/2-(R<I?M:C)-h[m]/2<0,z=O?R<I?R-I:R-A:0;return{[g]:u[g]+z,data:{[g]:$,centerOffset:R-$-z,...O&&{alignmentOffset:z}},reset:O}}}),Ba=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(a){var t,n;const{placement:r,middlewareData:i,rects:o,initialPlacement:s,platform:d,elements:l}=a,{mainAxis:c=!0,crossAxis:p=!0,fallbackPlacements:u,fallbackStrategy:g="bestFit",fallbackAxisSideDirection:m="none",flipAlignment:h=!0,...v}=fe(e,a);if((t=i.arrow)!=null&&t.alignmentOffset)return{};const f=ae(r),x=Q(s),E=ae(s)===s,S=await(d.isRTL==null?void 0:d.isRTL(l.floating)),D=u||(E||!h?[Le(s)]:$a(s)),_=m!=="none";!u&&_&&D.push(...Oa(s,h,m,S));const k=[s,...D],L=await at(a,v),y=[];let M=((n=i.flip)==null?void 0:n.overflows)||[];if(c&&y.push(L[f]),p){const R=La(r,o,S);y.push(L[R[0]],L[R[1]])}if(M=[...M,{placement:r,overflows:y}],!y.every(R=>R<=0)){var C,I;const R=(((C=i.flip)==null?void 0:C.index)||0)+1,$=k[R];if($&&(!(p==="alignment"?x!==Q($):!1)||M.every(N=>Q(N.placement)===x?N.overflows[0]>0:!0)))return{data:{index:R,overflows:M},reset:{placement:$}};let O=(I=M.filter(z=>z.overflows[0]<=0).sort((z,N)=>z.overflows[1]-N.overflows[1])[0])==null?void 0:I.placement;if(!O)switch(g){case"bestFit":{var A;const z=(A=M.filter(N=>{if(_){const X=Q(N.placement);return X===x||X==="y"}return!0}).map(N=>[N.placement,N.overflows.filter(X=>X>0).reduce((X,B)=>X+B,0)]).sort((N,X)=>N[1]-X[1])[0])==null?void 0:A[0];z&&(O=z);break}case"initialPlacement":O=s;break}if(r!==O)return{reset:{placement:O}}}return{}}}},Va=new Set(["left","top"]);async function Ua(e,a){const{placement:t,platform:n,elements:r}=e,i=await(n.isRTL==null?void 0:n.isRTL(r.floating)),o=ae(t),s=me(t),d=Q(t)==="y",l=Va.has(o)?-1:1,c=i&&d?-1:1,p=fe(a,e);let{mainAxis:u,crossAxis:g,alignmentAxis:m}=typeof p=="number"?{mainAxis:p,crossAxis:0,alignmentAxis:null}:{mainAxis:p.mainAxis||0,crossAxis:p.crossAxis||0,alignmentAxis:p.alignmentAxis};return s&&typeof m=="number"&&(g=s==="end"?m*-1:m),d?{x:g*c,y:u*l}:{x:u*l,y:g*c}}const qa=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(a){var t,n;const{x:r,y:i,placement:o,middlewareData:s}=a,d=await Ua(a,e);return o===((t=s.offset)==null?void 0:t.placement)&&(n=s.arrow)!=null&&n.alignmentOffset?{}:{x:r+d.x,y:i+d.y,data:{...d,placement:o}}}}},Wa=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(a){const{x:t,y:n,placement:r}=a,{mainAxis:i=!0,crossAxis:o=!1,limiter:s={fn:v=>{let{x:f,y:x}=v;return{x:f,y:x}}},...d}=fe(e,a),l={x:t,y:n},c=await at(a,d),p=Q(ae(r)),u=Et(p);let g=l[u],m=l[p];if(i){const v=u==="y"?"top":"left",f=u==="y"?"bottom":"right",x=g+c[v],E=g-c[f];g=Qe(x,g,E)}if(o){const v=p==="y"?"top":"left",f=p==="y"?"bottom":"right",x=m+c[v],E=m-c[f];m=Qe(x,m,E)}const h=s.fn({...a,[u]:g,[p]:m});return{...h,data:{x:h.x-t,y:h.y-n,enabled:{[u]:i,[p]:o}}}}}},ja=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(a){var t,n;const{placement:r,rects:i,platform:o,elements:s}=a,{apply:d=()=>{},...l}=fe(e,a),c=await at(a,l),p=ae(r),u=me(r),g=Q(r)==="y",{width:m,height:h}=i.floating;let v,f;p==="top"||p==="bottom"?(v=p,f=u===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?"start":"end")?"left":"right"):(f=p,v=u==="end"?"top":"bottom");const x=h-c.top-c.bottom,E=m-c.left-c.right,S=te(h-c[v],x),D=te(m-c[f],E),_=!a.middlewareData.shift;let k=S,L=D;if((t=a.middlewareData.shift)!=null&&t.enabled.x&&(L=E),(n=a.middlewareData.shift)!=null&&n.enabled.y&&(k=x),_&&!u){const M=H(c.left,0),C=H(c.right,0),I=H(c.top,0),A=H(c.bottom,0);g?L=m-2*(M!==0||C!==0?M+C:H(c.left,c.right)):k=h-2*(I!==0||A!==0?I+A:H(c.top,c.bottom))}await d({...a,availableWidth:L,availableHeight:k});const y=await o.getDimensions(s.floating);return m!==y.width||h!==y.height?{reset:{rects:!0}}:{}}}};function ze(){return typeof window<"u"}function be(e){return Tt(e)?(e.nodeName||"").toLowerCase():"#document"}function Y(e){var a;return(e==null||(a=e.ownerDocument)==null?void 0:a.defaultView)||window}function K(e){var a;return(a=(Tt(e)?e.ownerDocument:e.document)||window.document)==null?void 0:a.documentElement}function Tt(e){return ze()?e instanceof Node||e instanceof Y(e).Node:!1}function U(e){return ze()?e instanceof Element||e instanceof Y(e).Element:!1}function G(e){return ze()?e instanceof HTMLElement||e instanceof Y(e).HTMLElement:!1}function Lt(e){return!ze()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof Y(e).ShadowRoot}const Ka=new Set(["inline","contents"]);function Se(e){const{overflow:a,overflowX:t,overflowY:n,display:r}=q(e);return/auto|scroll|overlay|hidden|clip/.test(a+n+t)&&!Ka.has(r)}const Ga=new Set(["table","td","th"]);function Xa(e){return Ga.has(be(e))}const Ja=[":popover-open",":modal"];function Ne(e){return Ja.some(a=>{try{return e.matches(a)}catch{return!1}})}const Qa=["transform","translate","scale","rotate","perspective"],Za=["transform","translate","scale","rotate","perspective","filter"],en=["paint","layout","strict","content"];function nt(e){const a=rt(),t=U(e)?q(e):e;return Qa.some(n=>t[n]?t[n]!=="none":!1)||(t.containerType?t.containerType!=="normal":!1)||!a&&(t.backdropFilter?t.backdropFilter!=="none":!1)||!a&&(t.filter?t.filter!=="none":!1)||Za.some(n=>(t.willChange||"").includes(n))||en.some(n=>(t.contain||"").includes(n))}function tn(e){let a=ne(e);for(;G(a)&&!ye(a);){if(nt(a))return a;if(Ne(a))return null;a=ne(a)}return null}function rt(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const an=new Set(["html","body","#document"]);function ye(e){return an.has(be(e))}function q(e){return Y(e).getComputedStyle(e)}function Pe(e){return U(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function ne(e){if(be(e)==="html")return e;const a=e.assignedSlot||e.parentNode||Lt(e)&&e.host||K(e);return Lt(a)?a.host:a}function $t(e){const a=ne(e);return ye(a)?e.ownerDocument?e.ownerDocument.body:e.body:G(a)&&Se(a)?a:$t(a)}function Ce(e,a,t){var n;a===void 0&&(a=[]),t===void 0&&(t=!0);const r=$t(e),i=r===((n=e.ownerDocument)==null?void 0:n.body),o=Y(r);if(i){const s=it(o);return a.concat(o,o.visualViewport||[],Se(r)?r:[],s&&t?Ce(s):[])}return a.concat(r,Ce(r,[],t))}function it(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function zt(e){const a=q(e);let t=parseFloat(a.width)||0,n=parseFloat(a.height)||0;const r=G(e),i=r?e.offsetWidth:t,o=r?e.offsetHeight:n,s=Ae(t)!==i||Ae(n)!==o;return s&&(t=i,n=o),{width:t,height:n,$:s}}function ot(e){return U(e)?e:e.contextElement}function ve(e){const a=ot(e);if(!G(a))return j(1);const t=a.getBoundingClientRect(),{width:n,height:r,$:i}=zt(a);let o=(i?Ae(t.width):t.width)/n,s=(i?Ae(t.height):t.height)/r;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}const nn=j(0);function Nt(e){const a=Y(e);return!rt()||!a.visualViewport?nn:{x:a.visualViewport.offsetLeft,y:a.visualViewport.offsetTop}}function rn(e,a,t){return a===void 0&&(a=!1),!t||a&&t!==Y(e)?!1:a}function se(e,a,t,n){a===void 0&&(a=!1),t===void 0&&(t=!1);const r=e.getBoundingClientRect(),i=ot(e);let o=j(1);a&&(n?U(n)&&(o=ve(n)):o=ve(e));const s=rn(i,t,n)?Nt(i):j(0);let d=(r.left+s.x)/o.x,l=(r.top+s.y)/o.y,c=r.width/o.x,p=r.height/o.y;if(i){const u=Y(i),g=n&&U(n)?Y(n):n;let m=u,h=it(m);for(;h&&n&&g!==m;){const v=ve(h),f=h.getBoundingClientRect(),x=q(h),E=f.left+(h.clientLeft+parseFloat(x.paddingLeft))*v.x,S=f.top+(h.clientTop+parseFloat(x.paddingTop))*v.y;d*=v.x,l*=v.y,c*=v.x,p*=v.y,d+=E,l+=S,m=Y(h),h=it(m)}}return $e({width:c,height:p,x:d,y:l})}function Oe(e,a){const t=Pe(e).scrollLeft;return a?a.left+t:se(K(e)).left+t}function Pt(e,a){const t=e.getBoundingClientRect(),n=t.left+a.scrollLeft-Oe(e,t),r=t.top+a.scrollTop;return{x:n,y:r}}function on(e){let{elements:a,rect:t,offsetParent:n,strategy:r}=e;const i=r==="fixed",o=K(n),s=a?Ne(a.floating):!1;if(n===o||s&&i)return t;let d={scrollLeft:0,scrollTop:0},l=j(1);const c=j(0),p=G(n);if((p||!p&&!i)&&((be(n)!=="body"||Se(o))&&(d=Pe(n)),G(n))){const g=se(n);l=ve(n),c.x=g.x+n.clientLeft,c.y=g.y+n.clientTop}const u=o&&!p&&!i?Pt(o,d):j(0);return{width:t.width*l.x,height:t.height*l.y,x:t.x*l.x-d.scrollLeft*l.x+c.x+u.x,y:t.y*l.y-d.scrollTop*l.y+c.y+u.y}}function sn(e){return Array.from(e.getClientRects())}function dn(e){const a=K(e),t=Pe(e),n=e.ownerDocument.body,r=H(a.scrollWidth,a.clientWidth,n.scrollWidth,n.clientWidth),i=H(a.scrollHeight,a.clientHeight,n.scrollHeight,n.clientHeight);let o=-t.scrollLeft+Oe(e);const s=-t.scrollTop;return q(n).direction==="rtl"&&(o+=H(a.clientWidth,n.clientWidth)-r),{width:r,height:i,x:o,y:s}}const Ot=25;function ln(e,a){const t=Y(e),n=K(e),r=t.visualViewport;let i=n.clientWidth,o=n.clientHeight,s=0,d=0;if(r){i=r.width,o=r.height;const c=rt();(!c||c&&a==="fixed")&&(s=r.offsetLeft,d=r.offsetTop)}const l=Oe(n);if(l<=0){const c=n.ownerDocument,p=c.body,u=getComputedStyle(p),g=c.compatMode==="CSS1Compat"&&parseFloat(u.marginLeft)+parseFloat(u.marginRight)||0,m=Math.abs(n.clientWidth-p.clientWidth-g);m<=Ot&&(i-=m)}else l<=Ot&&(i+=l);return{width:i,height:o,x:s,y:d}}const cn=new Set(["absolute","fixed"]);function pn(e,a){const t=se(e,!0,a==="fixed"),n=t.top+e.clientTop,r=t.left+e.clientLeft,i=G(e)?ve(e):j(1),o=e.clientWidth*i.x,s=e.clientHeight*i.y,d=r*i.x,l=n*i.y;return{width:o,height:s,x:d,y:l}}function Ft(e,a,t){let n;if(a==="viewport")n=ln(e,t);else if(a==="document")n=dn(K(e));else if(U(a))n=pn(a,t);else{const r=Nt(e);n={x:a.x-r.x,y:a.y-r.y,width:a.width,height:a.height}}return $e(n)}function Ht(e,a){const t=ne(e);return t===a||!U(t)||ye(t)?!1:q(t).position==="fixed"||Ht(t,a)}function un(e,a){const t=a.get(e);if(t)return t;let n=Ce(e,[],!1).filter(s=>U(s)&&be(s)!=="body"),r=null;const i=q(e).position==="fixed";let o=i?ne(e):e;for(;U(o)&&!ye(o);){const s=q(o),d=nt(o);!d&&s.position==="fixed"&&(r=null),(i?!d&&!r:!d&&s.position==="static"&&!!r&&cn.has(r.position)||Se(o)&&!d&&Ht(e,o))?n=n.filter(c=>c!==o):r=s,o=ne(o)}return a.set(e,n),n}function gn(e){let{element:a,boundary:t,rootBoundary:n,strategy:r}=e;const o=[...t==="clippingAncestors"?Ne(a)?[]:un(a,this._c):[].concat(t),n],s=o[0],d=o.reduce((l,c)=>{const p=Ft(a,c,r);return l.top=H(p.top,l.top),l.right=te(p.right,l.right),l.bottom=te(p.bottom,l.bottom),l.left=H(p.left,l.left),l},Ft(a,s,r));return{width:d.right-d.left,height:d.bottom-d.top,x:d.left,y:d.top}}function hn(e){const{width:a,height:t}=zt(e);return{width:a,height:t}}function fn(e,a,t){const n=G(a),r=K(a),i=t==="fixed",o=se(e,!0,i,a);let s={scrollLeft:0,scrollTop:0};const d=j(0);function l(){d.x=Oe(r)}if(n||!n&&!i)if((be(a)!=="body"||Se(r))&&(s=Pe(a)),n){const g=se(a,!0,i,a);d.x=g.x+a.clientLeft,d.y=g.y+a.clientTop}else r&&l();i&&!n&&r&&l();const c=r&&!n&&!i?Pt(r,s):j(0),p=o.left+s.scrollLeft-d.x-c.x,u=o.top+s.scrollTop-d.y-c.y;return{x:p,y:u,width:o.width,height:o.height}}function st(e){return q(e).position==="static"}function Yt(e,a){if(!G(e)||q(e).position==="fixed")return null;if(a)return a(e);let t=e.offsetParent;return K(e)===t&&(t=t.ownerDocument.body),t}function Bt(e,a){const t=Y(e);if(Ne(e))return t;if(!G(e)){let r=ne(e);for(;r&&!ye(r);){if(U(r)&&!st(r))return r;r=ne(r)}return t}let n=Yt(e,a);for(;n&&Xa(n)&&st(n);)n=Yt(n,a);return n&&ye(n)&&st(n)&&!nt(n)?t:n||tn(e)||t}const mn=async function(e){const a=this.getOffsetParent||Bt,t=this.getDimensions,n=await t(e.floating);return{reference:fn(e.reference,await a(e.floating),e.strategy),floating:{x:0,y:0,width:n.width,height:n.height}}};function bn(e){return q(e).direction==="rtl"}const yn={convertOffsetParentRelativeRectToViewportRelativeRect:on,getDocumentElement:K,getClippingRect:gn,getOffsetParent:Bt,getElementRects:mn,getClientRects:sn,getDimensions:hn,getScale:ve,isElement:U,isRTL:bn};function Vt(e,a){return e.x===a.x&&e.y===a.y&&e.width===a.width&&e.height===a.height}function vn(e,a){let t=null,n;const r=K(e);function i(){var s;clearTimeout(n),(s=t)==null||s.disconnect(),t=null}function o(s,d){s===void 0&&(s=!1),d===void 0&&(d=1),i();const l=e.getBoundingClientRect(),{left:c,top:p,width:u,height:g}=l;if(s||a(),!u||!g)return;const m=Te(p),h=Te(r.clientWidth-(c+u)),v=Te(r.clientHeight-(p+g)),f=Te(c),E={rootMargin:-m+"px "+-h+"px "+-v+"px "+-f+"px",threshold:H(0,te(1,d))||1};let S=!0;function D(_){const k=_[0].intersectionRatio;if(k!==d){if(!S)return o();k?o(!1,k):n=setTimeout(()=>{o(!1,1e-7)},1e3)}k===1&&!Vt(l,e.getBoundingClientRect())&&o(),S=!1}try{t=new IntersectionObserver(D,{...E,root:r.ownerDocument})}catch{t=new IntersectionObserver(D,E)}t.observe(e)}return o(!0),i}function Ut(e,a,t,n){n===void 0&&(n={});const{ancestorScroll:r=!0,ancestorResize:i=!0,elementResize:o=typeof ResizeObserver=="function",layoutShift:s=typeof IntersectionObserver=="function",animationFrame:d=!1}=n,l=ot(e),c=r||i?[...l?Ce(l):[],...Ce(a)]:[];c.forEach(f=>{r&&f.addEventListener("scroll",t,{passive:!0}),i&&f.addEventListener("resize",t)});const p=l&&s?vn(l,t):null;let u=-1,g=null;o&&(g=new ResizeObserver(f=>{let[x]=f;x&&x.target===l&&g&&(g.unobserve(a),cancelAnimationFrame(u),u=requestAnimationFrame(()=>{var E;(E=g)==null||E.observe(a)})),t()}),l&&!d&&g.observe(l),g.observe(a));let m,h=d?se(e):null;d&&v();function v(){const f=se(e);h&&!Vt(h,f)&&t(),h=f,m=requestAnimationFrame(v)}return t(),()=>{var f;c.forEach(x=>{r&&x.removeEventListener("scroll",t),i&&x.removeEventListener("resize",t)}),p==null||p(),(f=g)==null||f.disconnect(),g=null,d&&cancelAnimationFrame(m)}}const dt=qa,lt=Wa,ct=Ba,Dn=ja,_n=Ya,pt=(e,a,t)=>{const n=new Map,r={platform:yn,...t},i={...r.platform,_c:n};return Ha(e,a,{...r,platform:i})};async function qt(e,a){if(!e.options.beforeDateSelectCallback)return{isValid:!0};try{e.isValidating=!0,Ve(e);const t=await Promise.resolve(e.options.beforeDateSelectCallback(a));switch(de(e),e.isValidating=!1,t.action){case"accept":return le(e),{isValid:!0};case"adjust":return a instanceof Date&&t.adjustedDate?(t.message&&mt(e,t.message,"info"),{isValid:!0,adjustedDate:t.adjustedDate,message:t.message}):typeof a=="object"&&"start"in a&&t.adjustedStartDate&&t.adjustedEndDate?(t.message&&mt(e,t.message,"info"),{isValid:!0,adjustedStart:t.adjustedStartDate,adjustedEnd:t.adjustedEndDate,message:t.message}):{isValid:!1,message:t.message||"Invalid adjustment"};case"restore":return t.showInvalidRange&&typeof a=="object"&&"start"in a?{isValid:!1,message:t.message,showInvalidRange:!0,invalidStart:a.start,invalidEnd:a.end}:{isValid:!1,message:t.message};case"clear":return e.clearSelection(),{isValid:!1,message:t.message};default:return{isValid:!1,message:"Unknown validation action"}}}catch(t){return de(e),e.isValidating=!1,V.error("beforeDateSelectCallback error:",t),{isValid:!1,message:"Validation error occurred"}}}function ut(e){e.renderCalendar(),e.updateSummary()}function De(e,a){e.input&&!e.requiresApplyButton()&&(e.input.value=a)}function Wt(e,a){var t;for(let n=0;n<e.monthDates.length;n++){const r=e.monthDates[n];if(a.getFullYear()!==r.getFullYear()||a.getMonth()!==r.getMonth())continue;e.activeMonthIndex=n;const i=e.calendar.querySelector(`.drp-date-picker__days[data-month-index="${n}"]`);if(!i)return;const o=i.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)"),s=Array.from(o).findIndex(d=>{const l=d.dataset.date;if(!l)return!1;const[c,p,u]=l.split("-").map(Number),g=new Date(c,p-1,u);return e.isSameDay(g,a)});if(s===-1)return;e.focusedDayIndex=s,o.forEach(d=>d.classList.remove("drp-date-picker__day--focused")),(t=o[s])==null||t.classList.add("drp-date-picker__day--focused");return}}function wn(e){const a=e.options.selectionMode;if(a==="range"&&e.selectedStartDate&&e.selectedEndDate)return`${e.formatDate(e.selectedStartDate)} - ${e.formatDate(e.selectedEndDate)}`;if(a==="single"&&e.selectedDate)return e.formatDate(e.selectedDate);if(a==="multiple"){const t=e.selectedDates.length+e.selectedRanges.length;return t>0?`${t} selection(s)`:""}return null}async function jt(e,a,t){if(ie.debug(" validateRangeAsync called - mode:",e.options.disabledDatesHandling,"start:",a,"end:",t),e.options.disabledDatesHandling==="prevent"){if(ie.debug(" Checking PREVENT mode"),e.hasDisabledDatesInRange(a,t))return ie.debug(" PREVENT mode - range contains disabled dates"),{isValid:!1,message:"Range contains disabled dates"}}else if(e.options.disabledDatesHandling==="block"&&(ie.debug(" Checking BLOCK mode"),e.hasDisabledDatesInRange(a,t))){ie.debug(" BLOCK mode - range contains disabled dates, adjusting");const r=e.findLastEnabledBeforeGap(a,t);return ie.debug(" BLOCK mode - adjusted end:",r),{isValid:!0,adjustedStart:a,adjustedEnd:r}}const n=await qt(e,{start:a,end:t});return n.isValid?n.adjustedStart||n.adjustedEnd?{isValid:!0,adjustedStart:n.adjustedStart,adjustedEnd:n.adjustedEnd,message:n.message}:{isValid:!0}:n.showInvalidRange?{isValid:!1,message:n.message,showInvalidRange:!0,invalidStart:n.invalidStart,invalidEnd:n.invalidEnd}:{isValid:!1,message:n.message}}async function xn(e,a){if(a.classList.contains("drp-date-picker__day--disabled"))return;if(!a.dataset||!a.dataset.date){V.warn("selectDay() - called with invalid element:",a);return}const[t,n,r]=a.dataset.date.split("-").map(Number),i=new Date(t,n-1,r);let o=null;a.classList.contains("drp-date-picker__day--other-month");const s=a.closest(".drp-date-picker__days");if(s&&s instanceof HTMLElement){e.activeMonthIndex=parseInt(s.dataset.monthIndex||"0")||0,he.debug(`Col${e.activeMonthIndex} selectDay - activeMonthIndex:`,e.activeMonthIndex);const d=s.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");e.focusedDayIndex=Array.from(d).indexOf(a),he.debug(`Col${e.activeMonthIndex} selectDay - set focusedDayIndex to:`,e.focusedDayIndex)}if(e.options.selectionMode==="single"){const d=await qt(e,i);if(!d.isValid){he.debug("Single mode selection prevented by beforeDateSelectCallback");return}d.message||le(e);const l=d.adjustedDate||i;d.adjustedDate&&!e.isSameDay(i,l)&&(o=l),e.selectedDate=l,De(e,e.formatDate(l)),e.requiresApplyButton()?e.pendingSelection=l:e.options.onSelect&&e.options.onSelect(l),e.options.positioningMode!=="inline"&&e.shouldAutoClose()&&e.hide()}else if(e.options.selectionMode==="multiple"){const d=`${i.getFullYear()}-${String(i.getMonth()+1).padStart(2,"0")}-${String(i.getDate()).padStart(2,"0")}`,l=e.selectedDates.findIndex(p=>`${p.getFullYear()}-${String(p.getMonth()+1).padStart(2,"0")}-${String(p.getDate()).padStart(2,"0")}`===d);l!==-1?e.selectedDates.splice(l,1):e.selectedDates.push(new Date(i));const c=e.selectedDates.length+e.selectedRanges.length;De(e,c>0?`${c} selection(s)`:""),e.selectedRanges.length>0&&e.selectedDates.length>0?e.pendingSelection=[...e.selectedRanges,...e.selectedDates]:e.selectedRanges.length>0?e.pendingSelection=e.selectedRanges:e.pendingSelection=e.selectedDates}else if(!e.selectedStartDate||e.selectedEndDate)e.invalidRangeStart=null,e.invalidRangeEnd=null,e.selectedStartDate=i,e.selectedEndDate=null,De(e,`${e.formatDate(e.selectedStartDate)} - ...`);else{let d=e.selectedStartDate,l=i;i<e.selectedStartDate&&(l=e.selectedStartDate,d=i),he.debug(" selectDay - calling validateRangeAsync with:",d,l);const c=await jt(e,d,l);if(he.debug(" selectDay - validation result:",c),!c.isValid){c.message&&V.warn("selectDay() - range validation failed:",c.message),c.showInvalidRange&&c.invalidStart&&c.invalidEnd&&(e.invalidRangeStart=c.invalidStart,e.invalidRangeEnd=c.invalidEnd,e.selectedStartDate=null,e.selectedEndDate=null),ut(e);return}e.selectedStartDate=c.adjustedStart||d,e.selectedEndDate=c.adjustedEnd||l,e.invalidRangeStart=null,e.invalidRangeEnd=null,c.message||le(e),De(e,`${e.formatDate(e.selectedStartDate)} - ${e.formatDate(e.selectedEndDate)}`);const p={start:e.selectedStartDate,end:e.selectedEndDate};e.requiresApplyButton()?e.pendingSelection=p:e.options.onSelect&&e.options.onSelect(p),e.options.positioningMode==="floating"&&e.shouldAutoClose()&&e.hide()}ut(e),o&&Wt(e,o),e.options.selectionMode==="range"&&e.selectedEndDate&&Wt(e,e.selectedEndDate)}function Mn(e){e.monthDates[e.activeMonthIndex]=new Date,e.selectedDate=new Date,De(e,e.formatDate(e.selectedDate)),e.requiresApplyButton()?e.pendingSelection=e.selectedDate:e.options.onSelect&&e.options.onSelect(e.selectedDate),e.renderCalendar(),e.options.positioningMode!=="inline"&&e.shouldAutoClose()&&e.hide()}function Sn(e){e.selectedDate=null,e.selectedStartDate=null,e.selectedEndDate=null,e.selectedRanges=[],e.selectedDates=[],e.pendingSelection=null,e.dragPreviewStart=null,e.dragPreviewEnd=null,e.invalidRangeStart=null,e.invalidRangeEnd=null,e.focusedDayIndex=null,le(e),e.input&&(e.input.value=""),ut(e)}function Cn(e){if(e.input){const a=wn(e);a!==null&&(e.input.value=a)}e.pendingSelection&&(e.options.onSelect&&e.options.onSelect(e.pendingSelection),e.pendingSelection=null),e.options.selectionMode==="range"?(e.committedStartDate=e.selectedStartDate,e.committedEndDate=e.selectedEndDate):e.options.selectionMode==="single"&&(e.committedDate=e.selectedDate),e.options.positioningMode!=="inline"&&e.hide()}function En(e){e.options.selectionMode==="range"&&e.calendar.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--disabled)").forEach(t=>{t.addEventListener("mousedown",n=>{const r=n,i=t,o=r.clientX,s=r.clientY,d=5;let l=!1,c=!1;const p=i.classList.contains("drp-date-picker__day--range-start"),u=i.classList.contains("drp-date-picker__day--range-end");let g;p&&e.selectedStartDate&&e.selectedEndDate?g="start":u&&e.selectedStartDate&&e.selectedEndDate?g="end":g="start";const m=v=>{const f=Math.abs(v.clientX-o),x=Math.abs(v.clientY-s);!l&&(f>d||x>d)&&(l=!0),l&&!c&&(c=!0,Kt(e,r,g,i),document.removeEventListener("mousemove",m),document.removeEventListener("mouseup",h))},h=()=>{document.removeEventListener("mousemove",m),document.removeEventListener("mouseup",h)};document.addEventListener("mousemove",m),document.addEventListener("mouseup",h)})})}function Kt(e,a,t,n){a.preventDefault(),a.stopPropagation(),e.isDragging=!0,e.draggingType=t,e.invalidRangeStart=null,e.invalidRangeEnd=null;const r=n,i=r.dataset.date;let o=null;if(i){const[s,d,l]=i.split("-").map(Number);o=new Date(s,d-1,l)}!e.selectedStartDate&&!e.selectedEndDate?o&&(e.originalStartDate=o,e.originalEndDate=null,e.draggingType="end"):o&&e.selectedStartDate&&!e.selectedEndDate?o.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=o,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"),oe.debug(`Started dragging ${t} date`),e.onDragMoveBound=s=>Gt(e,s),e.onDragEndBound=async s=>await Xt(e),document.addEventListener("mousemove",e.onDragMoveBound),document.addEventListener("mouseup",e.onDragEndBound),document.body.style.cursor="grabbing"}function Gt(e,a){if(!e.isDragging)return;let t=null;e.containerElement instanceof ShadowRoot&&"elementsFromPoint"in e.containerElement?t=e.containerElement.elementsFromPoint(a.clientX,a.clientY)[0]||null:t=document.elementFromPoint(a.clientX,a.clientY);const n=t==null?void 0:t.closest(".drp-date-picker__nav--prev"),r=t==null?void 0:t.closest(".drp-date-picker__nav--next");if(n||r){if(!e.navInterval){const u=(n||r).closest(".drp-date-picker__month");if(u&&u instanceof HTMLElement){const g=parseInt(u.dataset.monthIndex||"0"),m=!!n;m?e.prevMonth(g):e.nextMonth(g),e.navInterval=window.setInterval(()=>{m?e.prevMonth(g):e.nextMonth(g)},1e3)}}return}else e.navInterval&&(clearInterval(e.navInterval),e.navInterval=null);const i=t;if(!i||!i.classList.contains("drp-date-picker__day"))return;const o=i.dataset.date;if(!o)return;const[s,d,l]=o.split("-").map(Number);let c=new Date(s,d-1,l);if(i.classList.contains("drp-date-picker__day--disabled")){const p=e.draggingType==="start"?e.originalEndDate&&c>e.originalEndDate?"backward":"forward":e.originalStartDate&&c<e.originalStartDate?"forward":"backward";c=Fe(e,c,p)}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 p=e.options.disabledDatesHandling;if(oe.debug("onDragMove - mode:",p,"start:",e.dragPreviewStart,"end:",e.dragPreviewEnd),p==="prevent"&&e.hasDisabledDatesInRange(e.dragPreviewStart,e.dragPreviewEnd)){oe.debug("PREVENT mode - range contains disabled dates, blocking preview update");return}}e.updateDragPreview()}async function Xt(e,a){if(!e.isDragging)return;oe.debug("Ended dragging, finalizing selection");let t=!1;if(e.dragPreviewStart&&e.dragPreviewEnd){let n=Fe(e,e.dragPreviewStart,"forward"),r=Fe(e,e.dragPreviewEnd,"backward");n>r&&([n,r]=[r,n]),oe.debug("onDragEnd - calling validateRangeAsync with:",n,r);const i=await jt(e,n,r);if(oe.debug("onDragEnd - validation result:",i),!i.isValid)i.message&&V.warn("onDragEnd() - drag validation failed:",i.message),i.showInvalidRange&&i.invalidStart&&i.invalidEnd&&(e.invalidRangeStart=i.invalidStart,e.invalidRangeEnd=i.invalidEnd,e.selectedStartDate=null,e.selectedEndDate=null),t=!1;else{e.selectedStartDate=i.adjustedStart||n,e.selectedEndDate=i.adjustedEnd||r,t=!0,e.invalidRangeStart=null,e.invalidRangeEnd=null,i.message||le(e),De(e,`${e.formatDate(e.selectedStartDate)} - ${e.formatDate(e.selectedEndDate)}`);const o={start:e.selectedStartDate,end:e.selectedEndDate};e.requiresApplyButton()?e.pendingSelection=o:e.options.onSelect&&e.options.onSelect(o)}}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 r=0;r<e.monthDates.length;r++){const i=e.monthDates[r];if(n.getFullYear()===i.getFullYear()&&n.getMonth()===i.getMonth()){e.activeMonthIndex=r;const o=e.calendar.querySelector(`.drp-date-picker__days[data-month-index="${r}"]`);if(o){const s=o.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)"),d=Array.from(s).findIndex(l=>{const c=l.dataset.date;if(!c)return!1;const[p,u,g]=c.split("-").map(Number),m=new Date(p,u-1,g);return e.isSameDay(m,n)});d!==-1&&(e.focusedDayIndex=d,s.forEach(l=>l.classList.remove("drp-date-picker__day--focused")),s[d]&&s[d].classList.add("drp-date-picker__day--focused"))}break}}}e.options.positioningMode!=="inline"&&e.shouldAutoClose()&&t&&e.hide()}function Fe(e,a,t="forward"){let r=new Date(a);if(r.setHours(0,0,0,0),!e.isDateDisabledInternal(r))return r;const i=t==="forward"?1:-1;for(let s=1;s<=60;s++){const d=new Date(a);if(d.setDate(d.getDate()+s*i),d.setHours(0,0,0,0),!e.isDateDisabledInternal(d))return d}const o=-i;for(let s=1;s<=60;s++){const d=new Date(a);if(d.setDate(d.getDate()+s*o),d.setHours(0,0,0,0),!e.isDateDisabledInternal(d))return d}return a}function In(e,a){const t=a.target,n=t.value,r=t.selectionStart||0,i=e._previousInputValue||"",o=n.length<i.length,{separator:s}=e.formatInfo;if(e.options.selectionMode==="range"){const d=n.replace(new RegExp(`[^0-9${s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}to ]`,"gi"),""),l=Jt(e,d);if(l!==n){t.value=l;let c=r;if(o)c=r;else if(l.length>n.length)if(l.includes(" to ")&&!n.includes(" to ")){const p=l.indexOf(" to ");r>=p&&r<=p+4?c=p+4:c=r+(l.length-n.length)}else c=r+(l.length-n.length);t.setSelectionRange(c,c)}}else{const d=n.replace(new RegExp(`[^0-9${s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}]`,"g"),""),l=_e(e,d);if(l!==n){t.value=l;let c=r;if(o)c=r;else if(l.length>n.length&&l[r]===s)c=r+1;else if(l.length>n.length){const p=(n.substring(0,r).match(new RegExp(s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g"))||[]).length,g=(l.substring(0,r).match(new RegExp(s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g"))||[]).length-p;c=r+g}t.setSelectionRange(c,c)}}e._previousInputValue=t.value,He(e)}function _e(e,a){var c,p,u;const{separator:t,parts:n,maxLength:r}=e.formatInfo,i=a.replace(new RegExp(t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g"),""),o=n.year?n.year.length:4,s=[{type:"year",pos:((c=n.year)==null?void 0:c.index)??0,length:o},{type:"month",pos:((p=n.month)==null?void 0:p.index)??1,length:2},{type:"day",pos:((u=n.day)==null?void 0:u.index)??2,length:2}].sort((g,m)=>g.pos-m.pos);let d="",l=0;for(let g=0;g<s.length;g++){const m=s[g],h=i.substring(l,l+m.length);if(!h)break;d+=h,l+=h.length,g<s.length-1&&h.length===m.length&&(d+=t)}return d.substring(0,r)}function Jt(e,a){const{separator:t,maxLength:n}=e.formatInfo,r=" to ";let i="",o="";if(a.includes(r)){const d=a.split(r);i=d[0],o=d.slice(1).join(r)}else i=a;const s=_e(e,i);if(s.length===n)if(a.includes(r)){const d=_e(e,o);return s+r+d}else return s+r;else return s}function kn(e,a){const{key:t,ctrlKey:n,metaKey:r}=a,{separator:i}=e.formatInfo;if(e.calendar.classList.contains("drp-date-picker--visible")&&["ArrowUp","ArrowDown","Home","End","PageUp","PageDown"].includes(t)){a.preventDefault();return}if(!(["Backspace","Delete","Tab","Escape","Enter","ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End"].includes(t)||n||r)){if(t===i){const s=a.target,d=s.selectionStart||0,l=s.value;let c=0;for(let u=d-1;u>=0;u--)if(l[u]===i||l[u]===" "){c=u+1;break}const p=l.substring(c,d);if(/^\d$/.test(p)){a.preventDefault();const u=l.substring(0,c)+"0"+p+i+l.substring(d);s.value=u;const g=c+2+i.length;s.setSelectionRange(g,g),e._previousInputValue=u,s.dispatchEvent(new Event("input",{bubbles:!0}));return}}e.options.selectionMode==="range"?!/^\d$/.test(t)&&t!==i&&t!==" "&&t.toLowerCase()!=="t"&&t.toLowerCase()!=="o"&&a.preventDefault():!/^\d$/.test(t)&&t!==i&&a.preventDefault()}}function Rn(e,a){var u;a.preventDefault();const t=((u=a.clipboardData)==null?void 0:u.getData("text"))||"",{separator:n}=e.formatInfo,r=t.replace(new RegExp(`[^0-9${n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}]`,"g"),""),i=_e(e,r),o=a.target,s=o.selectionStart||0,d=o.selectionEnd||0,l=o.value,c=l.substring(0,s)+i+l.substring(d);o.value=_e(e,c);const p=s+i.length;o.setSelectionRange(p,p),o.dispatchEvent(new Event("input",{bubbles:!0})),He(e)}function He(e){if(!e.input)return;const a=e.input.value;if(ge.debug("updateCalendarFromInput - value:",a),!a){e.clearSelection(),e.renderCalendar();return}const{separator:t,parts:n,maxLength:r}=e.formatInfo;if(ge.debug("Format info:",{separator:t,parts:n,maxLength:r}),e.options.selectionMode==="range"&&a.includes(" to ")){const o=a.split(" to "),s=o[0],d=o[1];ge.debug("Range parts - start:",s,"end:",d),Ye(e,s,"start"),d?Ye(e,d,"end"):e.selectedEndDate=null;return}const i=e.options.selectionMode==="range"?"start":"single";Ye(e,a,i)}function Ye(e,a,t="single"){const{separator:n,parts:r,maxLength:i}=e.formatInfo,o=a.split(n);let s=null,d=null,l=null;if(o.forEach((c,p)=>{if(c){if(r.year&&r.year.index===p){const u=parseInt(c,10);r.year.length===4&&c.length===4?s=u:r.year.length===2&&c.length===2&&(s=u<100?u+2e3:u)}else if(r.month&&r.month.index===p){const u=parseInt(c,10);c.length===2&&u>=1&&u<=12&&(d=u)}else if(r.day&&r.day.index===p){const u=parseInt(c,10);c.length===2&&u>=1&&u<=31&&(l=u)}}}),ge.debug(`parseAndUpdateSingleDate(${t}) - year:`,s,"month:",d,"day:",l),s!==null||d!==null){const c=s||new Date().getFullYear(),p=d!==null?d-1:new Date().getMonth();if(e.options.selectionMode==="single"){e.monthDates=[];for(let u=0;u<e.options.visibleMonthsCount;u++){const g=new Date(c,p+u,1);e.monthDates.push(g)}}else if(e.options.selectionMode==="range"&&(t==="start"||!e.selectedStartDate)){e.displayMonths=[],e.monthDates=[];for(let u=0;u<e.options.visibleMonthsCount;u++){const g=new Date(c,p+u,1);e.displayMonths.push({month:g.getMonth(),year:g.getFullYear()}),e.monthDates.push(g)}}e.renderCalendar()}if(s!==null&&d!==null&&l!==null){const c=new Date(s,d-1,l);c.getMonth()===d-1&&(t==="single"?e.selectedDate=c:t==="start"?e.selectedStartDate=c:t==="end"&&(e.selectedEndDate=c),e.renderCalendar(),e.options.selectionMode==="range"&&e.updateSummary(),ge.debug(`Set ${t} date:`,c))}}let Be=null,Ee=0,gt=null;function An(){Ee===0&&(gt=document.body.style.overflow,document.body.style.overflow="hidden"),Ee++}function Tn(){Ee=Math.max(0,Ee-1),Ee===0&&(document.body.style.overflow=gt??"",gt=null)}function Ln(e){if(e.modalBackdrop)return e.modalBackdrop;const a=document.createElement("div");return a.className="drp-date-picker__backdrop",a.addEventListener("click",()=>{J.debug("Backdrop clicked - closing modal"),ht(e)}),e.containerElement.appendChild(a),e.modalBackdrop=a,a}function Qt(e){if(e.options.positioningMode==="inline"||e.calendar.classList.contains("drp-date-picker--visible"))return;J.debug("show() - adding visible class"),e.requiresApplyButton()&&e.input&&(e.originalInputValue=e.input.value,J.debug("show() - stored original input value:",e.originalInputValue)),He(e),e.isFirstRender&&(e.renderCalendar(),e.isFirstRender=!1,Zt(e));const a=e.options.positioningMode==="modal";a&&(Ln(e).classList.add("drp-date-picker__backdrop--visible"),An(),e.input&&document.activeElement===e.input?(e.modalRestoreFocus=!0,e.input.blur()):e.modalRestoreFocus=!1,e.calendar.classList.add("drp-date-picker--modal")),e.calendar.classList.add("drp-date-picker--visible"),e.setCalendarActive(),J.debug("show() - calendar classes:",e.calendar.className),a?requestAnimationFrame(()=>{const t=e.calendar,n=getComputedStyle(t),r=t.getBoundingClientRect(),i=t.querySelector(".drp-date-picker__months, .drp-date-picker__months--grid"),o=i==null?void 0:i.getBoundingClientRect(),s=t.querySelectorAll(".drp-date-picker__month"),d=Array.from(s).filter(l=>getComputedStyle(l).display!=="none");console.warn("[drp modal-debug] show() — modal sizing report",{viewport:`${window.innerWidth}×${window.innerHeight}`,modalCssWidth:n.width,modalCssMaxWidth:n.maxWidth,modalCssMinWidth:n.minWidth,modalRectWidth:r.width,modalRectHeight:r.height,monthsContainerClass:i==null?void 0:i.className,monthsContainerWidth:o==null?void 0:o.width,monthsContainerCssWidth:i?getComputedStyle(i).width:null,totalMonthEls:s.length,visibleMonthEls:d.length,firstMonthCssMinWidth:s[0]?getComputedStyle(s[0]).minWidth:null,firstMonthRectWidth:s[0]?s[0].getBoundingClientRect().width:null,containerQueryActive:t.matches(":is(.drp-date-picker--modal)")&&r.width<=600,mediaQueryTier:window.matchMedia("(max-width: 480px)").matches?"xs":window.matchMedia("(min-width: 481px) and (max-width: 640px)").matches?"sm":window.matchMedia("(min-width: 641px) and (max-width: 768px)").matches?"md":window.matchMedia("(min-width: 769px) and (max-width: 1024px)").matches?"lg":window.matchMedia("(min-width: 1025px)").matches?"xl":"?"})}):(ft(e),Be=Ut(e.input,e.calendar,()=>{ft(e)}))}function ht(e){if(e.options.positioningMode==="inline"||!e.calendar.classList.contains("drp-date-picker--visible"))return;const a=e.options.positioningMode==="modal";Be&&(Be(),Be=null),a&&(e.modalBackdrop&&e.modalBackdrop.classList.remove("drp-date-picker__backdrop--visible"),Tn(),e.calendar.classList.remove("drp-date-picker--modal"),e.modalRestoreFocus&&e.input&&e.input.focus(),e.modalRestoreFocus=!1),e.calendar.classList.remove("drp-date-picker--visible"),e.isCalendarActive=!1,e.requiresApplyButton()&&e.pendingSelection&&e.input&&(J.debug("hide() - restoring original input value:",e.originalInputValue),e.originalInputValue!==null&&(e.input.value=e.originalInputValue),e.options.selectionMode==="range"?(e.selectedStartDate=e.committedStartDate,e.selectedEndDate=e.committedEndDate):e.options.selectionMode==="single"&&(e.selectedDate=e.committedDate),J.debug("hide() - reverted selection state")),e.pendingSelection=null;for(let t=0;t<e.showingRollingSelector.length;t++)e.showingRollingSelector[t]=!1;e.isFirstRender||e.renderCalendar(),e.calendar.style.maxHeight="",e.calendar.style.overflowY=""}function $n(e){e.calendar.classList.contains("drp-date-picker--visible")?ht(e):Qt(e)}async function ft(e){if(!e.input||e.options.positioningMode==="modal")return;const a=await pt(e.input,e.calendar,{placement:e.options.calendarPlacement||"bottom-start",middleware:[dt(8),ct({padding:8}),lt({padding:8}),Dn({padding:8,apply({availableHeight:t,elements:n}){n.floating.style.maxHeight=`${Math.max(0,t)}px`}})]});J.debug("position() - x:",a.x,"y:",a.y,"placement:",a.placement),e.calendar.style.left=`${a.x}px`,e.calendar.style.top=`${a.y}px`}async function zn(e,a,t){if(!e.tooltip||!e.tooltipArrow)return;e.currentTooltipTarget=a,e.tooltip.innerHTML=t,e.tooltip.appendChild(e.tooltipArrow),e.tooltip.classList.add("drp-date-picker__tooltip--visible");const{x:n,y:r,placement:i,middlewareData:o}=await pt(a,e.tooltip,{placement:"top",middleware:[dt(6),ct(),lt({padding:5}),_n({element:e.tooltipArrow})]});if(Object.assign(e.tooltip.style,{left:`${n}px`,top:`${r}px`}),o.arrow){const{x:s,y:d}=o.arrow,l={top:"bottom",right:"left",bottom:"top",left:"right"}[i.split("-")[0]];Object.assign(e.tooltipArrow.style,{left:s!=null?`${s}px`:"",top:d!=null?`${d}px`:"",right:"",bottom:"",[l]:"-4px"})}}function Nn(e){e.tooltip&&(e.tooltip.classList.remove("drp-date-picker__tooltip--visible"),e.currentTooltipTarget=void 0)}function Ve(e){if(e.loadingOverlay)return;const a=document.createElement("div");a.className="drp-date-picker__loading-overlay",a.innerHTML=`
2
2
  <div class="drp-date-picker__loading-spinner"></div>
3
- `,e.calendar.appendChild(a),e.loadingOverlay=a}function de(e){e.loadingOverlay&&(e.loadingOverlay.remove(),e.loadingOverlay=void 0)}function gt(e,a,t,n){if(!e.messageElement){ee.warn("showMessage() - messageElement is null/undefined");return}e.messageAutoHideTimeout&&(clearTimeout(e.messageAutoHideTimeout),e.messageAutoHideTimeout=void 0),e.messageElement.classList.remove("drp-date-picker__message--error","drp-date-picker__message--warning","drp-date-picker__message--info","drp-date-picker__message--success","drp-date-picker__message--custom");const r=e.messageElement.querySelector(".drp-date-picker__message-text");r&&(r.innerHTML=a),t?e.messageElement.classList.add(`drp-date-picker__message--${t}`):e.messageElement.classList.add("drp-date-picker__message--custom"),e.messageElement.classList.add("drp-date-picker__message--visible"),n&&n>0&&(e.messageAutoHideTimeout=setTimeout(()=>{le(e)},n))}function le(e){e.messageElement&&(e.messageAutoHideTimeout&&(clearTimeout(e.messageAutoHideTimeout),e.messageAutoHideTimeout=void 0),e.messageElement.classList.remove("drp-date-picker__message--visible"))}function re(e,a,t){for(let n=1;n<=31;n++){const r=new Date(a,t,n);if(r.getMonth()===t&&!e.isDateDisabledInternal(r))return!0}return!1}async function Jt(e){var a,t,n,r;if(e.options.beforeMonthChangedCallback){if(e.isMonthChanging){w.debug("handleInitialMonthLoad() - already changing month, skipping");return}try{if(e.isMonthChanging=!0,e.options.unifiedNavigation){const i=e.options.unifiedNavigationAnchorIndex??0,o=e.monthDates[i],s=o.getFullYear(),d=o.getMonth();let c=1/0,l=1/0,u=-1/0,p=-1/0;for(let M=0;M<e.monthDates.length;M++){const C=e.monthDates[M],I=C.getFullYear(),T=C.getMonth();(I<c||I===c&&T<l)&&(c=I,l=T),(I>u||I===u&&T>p)&&(u=I,p=T)}const h=(new Date(c,l,1).getDay()-e.weekStartDay+7)%7,v=new Date(c,l,1-h),m=new Date(u,p+1,0).getDate(),E=new Date(u,p,m).getDay(),S=(e.weekStartDay+6-E)%7,D=new Date(u,p,m+S),_={year:s,month:d,monthIndex:i,firstVisibleDate:v,lastVisibleDate:D};w.debug(`handleInitialMonthLoad() [UNIFIED] - calling callback for ${s}-${d+1}, range: ${v.toISOString().split("T")[0]} to ${D.toISOString().split("T")[0]}`);const R=e.options.beforeMonthChangedCallback(_),L=R instanceof Promise;L&&Ye(e);const y=await Promise.resolve(R);L&&de(e),w.debug(`handleInitialMonthLoad() [UNIFIED] - callback completed, metadata items: ${((a=y.metadata)==null?void 0:a.size)||0}, monthHeaders: ${((t=y.monthHeaders)==null?void 0:t.size)||0}`),y.metadata&&(e.bulkMetadataCache=y.metadata,w.debug(`handleInitialMonthLoad() [UNIFIED] - bulk metadata cache updated with ${y.metadata.size} entries`)),y.monthHeaders&&(e.monthHeadersCache=y.monthHeaders,w.debug(`handleInitialMonthLoad() [UNIFIED] - month headers cache updated with ${y.monthHeaders.size} entries`)),(y.metadata||y.monthHeaders)&&e.renderCalendar()}else{w.debug(`handleInitialMonthLoad() [NON-UNIFIED] - calling callback for ${e.monthDates.length} months`);const i=new Map,o=new Map;let s=!1;for(let d=0;d<e.monthDates.length;d++){const c=e.monthDates[d],l=c.getFullYear(),u=c.getMonth(),f=(new Date(l,u,1).getDay()-e.weekStartDay+7)%7,h=new Date(l,u,1-f),v=new Date(h);v.setDate(h.getDate()+41);const m={year:l,month:u,monthIndex:d,firstVisibleDate:h,lastVisibleDate:v};w.debug(`handleInitialMonthLoad() [NON-UNIFIED] Col${d} - calling callback for ${l}-${u+1}, range: ${h.toISOString().split("T")[0]} to ${v.toISOString().split("T")[0]}`);const x=e.options.beforeMonthChangedCallback(m);x instanceof Promise&&!s&&(s=!0,Ye(e));const S=await Promise.resolve(x);w.debug(`handleInitialMonthLoad() [NON-UNIFIED] Col${d} - callback completed, metadata items: ${((n=S.metadata)==null?void 0:n.size)||0}, monthHeaders: ${((r=S.monthHeaders)==null?void 0:r.size)||0}`),S.metadata&&S.metadata.forEach((D,_)=>{i.set(_,D)}),S.monthHeaders&&S.monthHeaders.forEach((D,_)=>{o.set(_,D)})}s&&de(e),i.size>0&&(e.bulkMetadataCache=i,w.debug(`handleInitialMonthLoad() [NON-UNIFIED] - combined metadata cache updated with ${i.size} entries`)),o.size>0&&(e.monthHeadersCache=o,w.debug(`handleInitialMonthLoad() [NON-UNIFIED] - combined month headers cache updated with ${o.size} entries`)),(i.size>0||o.size>0)&&e.renderCalendar()}}catch(i){de(e),w.debug("handleInitialMonthLoad() - error in callback:",i),console.error("[DateRangePicker] Error in beforeMonthChangedCallback (initial load):",i)}finally{e.isMonthChanging=!1}}}async function ce(e,a,t,n){var r,i;if(!e.options.beforeMonthChangedCallback)return!0;if(e.isMonthChanging)return w.debug("handleBeforeMonthChange() - already changing month, ignoring"),!1;try{e.isMonthChanging=!0;let o,s;if(e.options.unifiedNavigation){let p=1/0,g=1/0,f=-1/0,h=-1/0;for(let R=0;R<e.monthDates.length;R++){const L=e.monthDates[R],y=L.getFullYear(),M=L.getMonth();(y<p||y===p&&M<g)&&(p=y,g=M),(y>f||y===f&&M>h)&&(f=y,h=M)}const x=(new Date(p,g,1).getDay()-e.weekStartDay+7)%7;o=new Date(p,g,1-x);const E=new Date(f,h+1,0).getDate(),D=new Date(f,h,E).getDay(),_=(e.weekStartDay+6-D)%7;s=new Date(f,h,E+_)}else{const f=(new Date(a,t,1).getDay()-e.weekStartDay+7)%7;o=new Date(a,t,1-f),s=new Date(o),s.setDate(o.getDate()+41)}const d={year:a,month:t,monthIndex:n,firstVisibleDate:o,lastVisibleDate:s};w.debug(`handleBeforeMonthChange() - calling callback for ${a}-${t+1}, range: ${o.toISOString().split("T")[0]} to ${s.toISOString().split("T")[0]}`);const c=e.options.beforeMonthChangedCallback(d),l=c instanceof Promise;l&&Ye(e);const u=await Promise.resolve(c);return l&&de(e),u.action==="block"?(w.debug(`handleBeforeMonthChange() - navigation blocked: ${u.message||"no reason provided"}`),u.message&&console.warn(`[DateRangePicker] Month navigation blocked: ${u.message}`),!1):(w.debug(`handleBeforeMonthChange() - navigation accepted, metadata items: ${((r=u.metadata)==null?void 0:r.size)||0}, monthHeaders: ${((i=u.monthHeaders)==null?void 0:i.size)||0}`),u.metadata?e.bulkMetadataCache?(u.metadata.forEach((p,g)=>{e.bulkMetadataCache.set(g,p)}),w.debug(`handleBeforeMonthChange() - merged ${u.metadata.size} entries into cache (total: ${e.bulkMetadataCache.size})`)):(e.bulkMetadataCache=u.metadata,w.debug(`handleBeforeMonthChange() - bulk metadata cache created with ${u.metadata.size} entries`)):e.bulkMetadataCache=null,u.monthHeaders&&(e.monthHeadersCache?(u.monthHeaders.forEach((p,g)=>{e.monthHeadersCache.set(g,p)}),w.debug(`handleBeforeMonthChange() - merged ${u.monthHeaders.size} entries into headers cache (total: ${e.monthHeadersCache.size})`)):(e.monthHeadersCache=u.monthHeaders,w.debug(`handleBeforeMonthChange() - month headers cache created with ${u.monthHeaders.size} entries`))),!0)}catch(o){return de(e),w.debug("handleBeforeMonthChange() - error in callback:",o),console.error("[DateRangePicker] Error in beforeMonthChangedCallback:",o),!1}finally{e.isMonthChanging=!1}}function kn(e,a){e.showingRollingSelector[a]=!e.showingRollingSelector[a],e.renderCalendar()}async function Ln(e,a,t){const n=e.monthDates[t].getMonth();if(!await ce(e,a,n,t)){w.debug(`selectYear() Col${t} - navigation blocked by callback`);return}const i=e.monthDates[t].getFullYear();e.monthDates[t].setFullYear(a),w.debug(`selectYear() Col${t} - changed from ${i} to ${a}`),we(e,t),e.showingRollingSelector[t]=!1,e.renderCalendar()}async function $n(e,a,t){const n=e.monthDates[t].getFullYear();if(!await ce(e,n,a,t)){w.debug(`selectMonth() Col${t} - navigation blocked by callback`);return}const i=e.monthDates[t].getMonth();e.monthDates[t].setMonth(a),w.debug(`selectMonth() Col${t} - changed from ${i+1} to ${a+1}`),we(e,t),e.showingRollingSelector[t]=!1,e.renderCalendar()}function we(e,a){const t=e.monthDates[a];if(a<e.monthDates.length-1){const n=e.monthDates[a+1];if(Be(t,n)){w.debug(`checkAndResolveCollisions() Col${a} - collision with Col${a+1}, shifting forward`);const r=new Date(t.getFullYear(),t.getMonth()+1,1);e.monthDates[a+1]=r,we(e,a+1)}}if(a>0){const n=e.monthDates[a-1];if(Be(n,t)){w.debug(`checkAndResolveCollisions() Col${a} - collision with Col${a-1}, shifting backward`);const r=new Date(t.getFullYear(),t.getMonth()-1,1);e.monthDates[a-1]=r,we(e,a-1)}}}function Be(e,a){const t=e.getFullYear(),n=e.getMonth(),r=a.getFullYear(),i=a.getMonth();return t>r||t===r&&n>=i}async function ht(e,a,t){const n=isNaN(a)?e.activeMonthIndex:a,r=t>0?"nextMonth":"prevMonth";e.showingRollingSelector[n]&&(e.showingRollingSelector[n]=!1);const i=e.monthDates[n],o=new Date(i.getFullYear(),i.getMonth()+t,1);if(!re(e,o.getFullYear(),o.getMonth())){w.debug(`${r}() Col${n} - navigation blocked: target month has no enabled days`);return}if(!await ce(e,o.getFullYear(),o.getMonth(),n)){w.debug(`${r}() Col${n} - navigation blocked by callback`);return}e.monthDates[n]=o,w.debug(`${r}() Col${n} - changed from ${i.getFullYear()}-${i.getMonth()+1} to ${o.getFullYear()}-${o.getMonth()+1}`);const d=n+t;if(t>0?d<e.monthDates.length:d>=0){const l=e.monthDates[d];(t>0?Be(o,l):Be(l,o))&&(w.debug(`${r}() Col${n} - collision detected with Col${d}, shifting`),await ht(e,d,t))}e.renderCalendar()}const Ve=(e,a)=>ht(e,a,-1),Ue=(e,a)=>ht(e,a,1);function Ee(e,a,t,n,r){let i=a,o=0;const s=60;for(;o<s;){if(i>=0&&i<n.length){const c=n[i].dataset.date;if(c){const[l,u,p]=c.split("-").map(Number),g=new Date(l,u-1,p);if(!e.isDateDisabledInternal(g))return{index:i,monthChanged:!1}}}if(i+=t,o++,i<0||i>=n.length)return{index:null,monthChanged:!0,direction:t>0?"next":"prev"}}return{index:null,monthChanged:!1}}function zn(e,a){var o,s,d,c;w.debug(`moveFocus(${a}) Col${e.activeMonthIndex} - focusedDayIndex:`,e.focusedDayIndex);const t=e.calendar.querySelector(`.drp-date-picker__days[data-month-index="${e.activeMonthIndex}"]`);if(!t){w.debug(`moveFocus() Col${e.activeMonthIndex} - ERROR: daysContainer not found!`);return}const n=t.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");if(w.debug(`moveFocus() Col${e.activeMonthIndex} - found ${n.length} days in column`),n.length===0)return;if(e.focusedDayIndex===null){const l=Array.from(n).findIndex(u=>u.classList.contains("drp-date-picker__day--today"));e.focusedDayIndex=l!==-1?l:0,w.debug(`moveFocus() Col${e.activeMonthIndex} - initialized focusedDayIndex to ${e.focusedDayIndex} (today or first day), will move by offset ${a}`)}(o=n[e.focusedDayIndex])==null||o.classList.remove("drp-date-picker__day--focused");const r=e.focusedDayIndex+a;if(r<0){const l=e.activeMonthIndex;if(a===-1)w.debug(`moveFocus() Col${l} - edge navigation LEFT: going to last enabled day of prev month`),Ve(e,e.activeMonthIndex),setTimeout(()=>{var f,h;const u=e.calendar.querySelector(`.drp-date-picker__month[data-month-index="${l}"] .drp-date-picker__days`);if(!u)return;const p=u.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)"),g=Ee(e,p.length-1,-1,p);g.index!==null&&(e.focusedDayIndex=g.index,(f=p[e.focusedDayIndex])==null||f.classList.add("drp-date-picker__day--focused"),(h=p[e.focusedDayIndex])==null||h.scrollIntoView({block:"nearest"}))},0);else{const p=n[e.focusedDayIndex].dataset.date;if(p){const[g,f,h]=p.split("-").map(Number),m=new Date(g,f-1,h).getDay();w.debug(`moveFocus() Col${l} - edge navigation UP: current day ${h} is weekday ${m}, going to prev month`),Ve(e,e.activeMonthIndex),setTimeout(()=>{var _,R;const x=e.calendar.querySelector(`.drp-date-picker__month[data-month-index="${l}"] .drp-date-picker__days`);if(!x)return;const E=x.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)"),D=E[E.length-1].dataset.date;if(D){const[L,y,M]=D.split("-").map(Number),I=new Date(L,y-1,M).getDay(),T=(I-m+7)%7;e.focusedDayIndex=E.length-1-T,w.debug(`moveFocus() Col${l} - last day weekday ${I}, target ${m}, focusing on day ${e.focusedDayIndex+1}`),(_=E[e.focusedDayIndex])==null||_.classList.add("drp-date-picker__day--focused"),(R=E[e.focusedDayIndex])==null||R.scrollIntoView({block:"nearest"})}},0)}}return}else if(r>=n.length){const l=e.activeMonthIndex;if(a===1)w.debug(`moveFocus() Col${l} - edge navigation RIGHT: going to first enabled day of next month`),Ue(e,e.activeMonthIndex),setTimeout(()=>{var f,h;const u=e.calendar.querySelector(`.drp-date-picker__month[data-month-index="${l}"] .drp-date-picker__days`);if(!u)return;const p=u.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)"),g=Ee(e,0,1,p);g.index!==null&&(e.focusedDayIndex=g.index,(f=p[e.focusedDayIndex])==null||f.classList.add("drp-date-picker__day--focused"),(h=p[e.focusedDayIndex])==null||h.scrollIntoView({block:"nearest"}))},0);else{const p=n[e.focusedDayIndex].dataset.date;if(p){const[g,f,h]=p.split("-").map(Number),m=new Date(g,f-1,h).getDay();w.debug(`moveFocus() Col${l} - edge navigation DOWN: current day ${h} is weekday ${m}, going to next month`),Ue(e,e.activeMonthIndex),setTimeout(()=>{var _,R;const x=e.calendar.querySelector(`.drp-date-picker__month[data-month-index="${l}"] .drp-date-picker__days`);if(!x)return;const E=x.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)"),D=E[0].dataset.date;if(D){const[L,y,M]=D.split("-").map(Number),I=new Date(L,y-1,M).getDay(),T=(m-I+7)%7;e.focusedDayIndex=T,w.debug(`moveFocus() Col${l} - first day weekday ${I}, target ${m}, focusing on day ${e.focusedDayIndex+1}`),(_=E[e.focusedDayIndex])==null||_.classList.add("drp-date-picker__day--focused"),(R=E[e.focusedDayIndex])==null||R.scrollIntoView({block:"nearest"})}},0)}}return}const i=Ee(e,r,a,n,e.activeMonthIndex);if(i.monthChanged){const l=e.activeMonthIndex;i.direction==="next"?Ue(e,e.activeMonthIndex):Ve(e,e.activeMonthIndex),setTimeout(()=>{var f,h;const u=e.calendar.querySelector(`.drp-date-picker__month[data-month-index="${l}"] .drp-date-picker__days`);if(!u)return;const p=u.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)"),g=Ee(e,i.direction==="next"?0:p.length-1,a,p);g.index!==null&&(e.focusedDayIndex=g.index,(f=p[e.focusedDayIndex])==null||f.classList.add("drp-date-picker__day--focused"),(h=p[e.focusedDayIndex])==null||h.scrollIntoView({block:"nearest"}))},0);return}i.index!==null?(e.focusedDayIndex=i.index,(s=n[e.focusedDayIndex])==null||s.classList.add("drp-date-picker__day--focused"),(d=n[e.focusedDayIndex])==null||d.scrollIntoView({block:"nearest"})):(w.debug("moveFocus() - no enabled day found in search range"),(c=n[e.focusedDayIndex])==null||c.classList.add("drp-date-picker__day--focused"))}async function Nn(e){if(!e.options.unifiedNavigation)return;const a=e.options.unifiedNavigationAnchorIndex??0,t=e.monthDates[a],n=new Date(t.getFullYear(),t.getMonth()+1,1);if(w.debug(`unifiedNextMonth() - anchor index: ${a}, current: ${t.getFullYear()}-${t.getMonth()+1}, new: ${n.getFullYear()}-${n.getMonth()+1}`),!re(e,n.getFullYear(),n.getMonth())){w.debug("unifiedNextMonth() - navigation blocked: target month has no enabled days");return}if(await ce(e,n.getFullYear(),n.getMonth(),a)){for(let i=0;i<e.monthDates.length;i++){const o=i-a;e.monthDates[i]=new Date(n.getFullYear(),n.getMonth()+o,1)}e.renderCalendar()}}async function Pn(e){if(!e.options.unifiedNavigation)return;const a=e.options.unifiedNavigationAnchorIndex??0,t=e.monthDates[a],n=new Date(t.getFullYear(),t.getMonth()-1,1);if(w.debug(`unifiedPrevMonth() - anchor index: ${a}, current: ${t.getFullYear()}-${t.getMonth()+1}, new: ${n.getFullYear()}-${n.getMonth()+1}`),!re(e,n.getFullYear(),n.getMonth())){w.debug("unifiedPrevMonth() - navigation blocked: target month has no enabled days");return}if(await ce(e,n.getFullYear(),n.getMonth(),a)){for(let i=0;i<e.monthDates.length;i++){const o=i-a;e.monthDates[i]=new Date(n.getFullYear(),n.getMonth()+o,1)}e.renderCalendar()}}async function On(e,a){if(!e.options.unifiedNavigation)return;const t=e.options.unifiedNavigationAnchorIndex??0,n=e.monthDates[t].getFullYear();if(w.debug(`setUnifiedMonth(${a}) - anchor index: ${t}, year: ${n}`),!!await ce(e,n,a,t)){for(let i=0;i<e.monthDates.length;i++){const o=i-t;e.monthDates[i]=new Date(n,a+o,1)}e.showingUnifiedRollingSelector=!1,e.renderCalendar()}}function Fn(e){e.options.unifiedNavigation&&(e.showingUnifiedRollingSelector=!e.showingUnifiedRollingSelector,w.debug(`toggleUnifiedRollingSelector() - now ${e.showingUnifiedRollingSelector?"visible":"hidden"}`),e.renderCalendar())}async function Hn(e,a){if(!e.options.unifiedNavigation)return;const t=e.options.unifiedNavigationAnchorIndex??0,n=e.monthDates[t].getMonth();if(w.debug(`setUnifiedYear(${a}) - anchor index: ${t}, month: ${n}`),!!await ce(e,a,n,t)){for(let i=0;i<e.monthDates.length;i++){const o=i-t;e.monthDates[i]=new Date(a,n+o,1)}e.showingUnifiedRollingSelector=!1,e.renderCalendar()}}function Qt(e,a,t){if(!e){if(t!=null&&t.normalizedMinDate||t!=null&&t.normalizedMaxDate){const n=t.normalizedMinDate?t.normalizedMinDate.getFullYear():a-1,r=t.normalizedMaxDate?t.normalizedMaxDate.getFullYear():a+1;return{min:n,max:r}}return{min:a-1,max:a+1}}if(e.includes("-")){const[n,r]=e.split("-");return{min:parseInt(n,10),max:parseInt(r,10)}}else{const n=parseInt(e,10);return{min:n,max:n}}}function Zt(e){if(!e)return{min:1,max:12};const[a,t]=e.split("-");return{min:parseInt(a,10),max:parseInt(t,10)}}function Yn(e){pe.debug("[DatePicker 18] renderCalendar called, showingRollingSelector:",e.showingRollingSelector,`activeCol: ${e.activeMonthIndex}`),pe.debug("[DatePicker 18] monthDates array:",e.monthDates.map((a,t)=>`Col${t}: ${a.getFullYear()}-${a.getMonth()+1}`).join(", ")),e.options.unifiedNavigation&&e.showingUnifiedRollingSelector&&Vn(e);for(let a=0;a<e.options.visibleMonthsCount;a++)e.showingRollingSelector[a]?ra(e,a):ea(e,a);if(e.focusedDayIndex!==null){const a=e.calendar.querySelector(`.drp-date-picker__days[data-month-index="${e.activeMonthIndex}"]`);if(a){const t=a.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");t[e.focusedDayIndex]&&t[e.focusedDayIndex].classList.add("drp-date-picker__day--focused")}}e.options.selectionMode==="range"&&!e.isDragging&&e.initDragListeners(),e.actionsContainer&&e.renderButtons(e.actionsContainer)}function ea(e,a){var E;pe.debug(`[DatePicker Col${a} 19] renderNormalView called for month`,a);const t=e.calendar.querySelector(`.drp-date-picker__month[data-month-index="${a}"]`);if(!t)return;const n=t.querySelector(".drp-date-picker__rolling-selector");n==null||n.classList.remove("drp-date-picker__rolling-selector--visible");const r=e.monthDates[a],i=r.getFullYear(),o=r.getMonth(),s=e.monthNames[o],d=t.querySelector(".drp-date-picker__month-year");if(d){const S=`${i}-${String(o+1).padStart(2,"0")}`;let D;(E=e.monthHeadersCache)!=null&&E.has(S)?D=e.monthHeadersCache.get(S):e.options.getMonthHeaderCallback?D=e.options.getMonthHeaderCallback({month:r,monthIndex:a,monthName:s,year:i}):D=`${s} ${i}`,d.textContent=D}if(e.options.unifiedNavigation&&a===0&&e.unifiedRangeDisplay){e.unifiedRollingSelector&&!e.showingUnifiedRollingSelector&&e.unifiedRollingSelector.classList.remove("drp-date-picker__unified-rolling-selector--visible");const S=e.monthDates[0],D=e.monthDates[e.monthDates.length-1],_=e.options.unifiedNavigationAnchorIndex??0,R=e.monthDates[_];if(e.options.getUnifiedHeaderCallback){const y=e.options.getUnifiedHeaderCallback({firstMonth:S,lastMonth:D,anchorMonth:R,monthNames:e.monthNames});e.unifiedRangeDisplay.textContent=y}else{const y=e.monthNames[S.getMonth()],M=e.monthNames[D.getMonth()],C=S.getFullYear(),I=D.getFullYear();C===I?e.unifiedRangeDisplay.textContent=`${y} ${C} - ${M} ${I}`:e.unifiedRangeDisplay.textContent=`${y} ${C} - ${M} ${I}`}const L=e.unifiedHeader;if(L){const y=S.getMonth()===0?S.getFullYear()-1:S.getFullYear(),M=S.getMonth()===0?11:S.getMonth()-1,C=L.querySelector(".drp-date-picker__nav--prev");C&&(re(e,y,M)?(C.removeAttribute("disabled"),C.classList.remove("drp-date-picker__nav--disabled")):(C.setAttribute("disabled","true"),C.classList.add("drp-date-picker__nav--disabled")));const I=D.getMonth()===11?D.getFullYear()+1:D.getFullYear(),T=D.getMonth()===11?0:D.getMonth()+1,A=L.querySelector(".drp-date-picker__nav--next");A&&(re(e,I,T)?(A.removeAttribute("disabled"),A.classList.remove("drp-date-picker__nav--disabled")):(A.setAttribute("disabled","true"),A.classList.add("drp-date-picker__nav--disabled")))}}const c=r.getFullYear(),l=r.getMonth(),u=l===0?11:l-1,p=l===0?c-1:c,g=t.querySelector(".drp-date-picker__nav--prev");g&&(re(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 f=l===11?0:l+1,h=l===11?c+1:c,v=t.querySelector(".drp-date-picker__nav--next");v&&(re(e,h,f)?(v.removeAttribute("disabled"),v.classList.remove("drp-date-picker__nav--disabled")):(v.setAttribute("disabled","true"),v.classList.add("drp-date-picker__nav--disabled")));const m=t.querySelector(".drp-date-picker__weekdays"),x=[...e.weekdayNames.slice(e.weekStartDay),...e.weekdayNames.slice(0,e.weekStartDay)];m&&(m.innerHTML=x.map(S=>`<div class="drp-date-picker__weekday">${S}</div>`).join("")),ta(e,a,r)}function ta(e,a,t){pe.debug(`[DatePicker Col${a} 20] renderDays called for month`,a);const n=e.calendar.querySelector(`.drp-date-picker__month[data-month-index="${a}"]`);if(!n)return;const r=n.querySelector(".drp-date-picker__days"),i=t.getFullYear(),o=t.getMonth();pe.debug(`[DatePicker Col${a} 21] Rendering days for:`,i,o+1);const d=(new Date(i,o,1).getDay()-e.weekStartDay+7)%7,c=new Date(i,o+1,0).getDate(),l=new Date(i,o,0).getDate(),u=new Date(i,o-1,1),p=u.getFullYear(),g=u.getMonth(),f=new Date(i,o+1,1),h=f.getFullYear(),v=f.getMonth(),m=[];for(let _=d-1;_>=0;_--){const R=l-_,L=new Date(p,g,R);m.push({date:L,year:p,month:g,day:R,isOtherMonth:!0})}for(let _=1;_<=c;_++){const R=new Date(i,o,_);m.push({date:R,year:i,month:o,day:_,isOtherMonth:!1})}const E=Math.ceil((d+c)/7)*7-(d+c);for(let _=1;_<=E;_++){const R=new Date(h,v,_);m.push({date:R,year:h,month:v,day:_,isOtherMonth:!0})}const S=[];for(let _=0;_<m.length;_+=7)S.push(m.slice(_,_+7));let D="";for(const _ of S){const R=_.map(y=>{const M=e.getDateInfoInternal(y.date);let C=(M==null?void 0:M.badgeTooltip)||"";if(e.options.badgeTooltipCallback&&(M!=null&&M.badgeText)){const T={date:y.date,dateString:Me(y.date),dayNumber:y.day,isDisabled:e.isDateDisabledInternal(y.date),isSelected:!1,isStartDate:!1,isEndDate:!1,isInRange:!1,isToday:Dt(y.date),isWeekend:y.date.getDay()===0||y.date.getDay()===6,monthIndex:a,element:null,picker:e},A=e.options.badgeTooltipCallback(T);A!==null&&(C=A)}return{text:(M==null?void 0:M.badgeText)||"",tooltip:C,class:(M==null?void 0:M.badgeClass)||""}});if(R.some(y=>y.text)){D+='<div class="drp-date-picker__badge-row">';for(const y of R)if(y.text){const M=y.tooltip?` data-tooltip="${y.tooltip.replace(/"/g,"&quot;")}"`:"",C=y.class?` ${y.class}`:"";D+=`<div class="drp-date-picker__badge-cell${C}"${M}>${y.text}</div>`}else D+='<div class="drp-date-picker__badge-cell"></div>';D+="</div>"}D+='<div class="drp-date-picker__date-row">';for(const y of _){const M=["drp-date-picker__day"];y.isOtherMonth&&M.push("drp-date-picker__day--other-month");const C=e.getDateInfoInternal(y.date),I=C&&C.isDisabled!==void 0?C.isDisabled:e.isDateDisabledInternal(y.date);I&&M.push("drp-date-picker__day--disabled"),C&&C.dayClass&&M.push(C.dayClass),e.isToday(y.date)&&M.push("drp-date-picker__day--today");let T=!1;e.options.selectionMode==="single"?T=e.isSameDay(y.date,e.selectedDate):e.options.selectionMode==="multiple"&&(T=e.selectedDates.some(B=>e.isSameDay(y.date,B))),T&&M.push("drp-date-picker__day--selected");let A=!1,$=!1,O=!1;if(e.options.selectionMode==="range"){if(A=e.isSameDay(y.date,e.selectedStartDate),$=e.isSameDay(y.date,e.selectedEndDate),O=e.isInRange(y.date),A&&M.push("drp-date-picker__day--range-start"),$&&M.push("drp-date-picker__day--range-end"),O&&(!I||e.options.highlightDisabledInRange)&&M.push("drp-date-picker__day--in-range"),e.invalidRangeStart&&e.invalidRangeEnd){const B=e.isSameDay(y.date,e.invalidRangeStart),We=e.isSameDay(y.date,e.invalidRangeEnd),dr=y.date>e.invalidRangeStart&&y.date<e.invalidRangeEnd;B&&M.push("drp-date-picker__day--invalid-range-start"),We&&M.push("drp-date-picker__day--invalid-range-end"),dr&&M.push("drp-date-picker__day--invalid-range")}}else if(e.options.selectionMode==="multiple")for(const B of e.selectedRanges)e.isSameDay(y.date,B.start)&&(A=!0,M.push("drp-date-picker__day--range-start")),e.isSameDay(y.date,B.end)&&($=!0,M.push("drp-date-picker__day--range-end")),y.date>=B.start&&y.date<=B.end&&(O=!0,(!I||e.options.highlightDisabledInRange)&&M.push("drp-date-picker__day--in-range"));const z=`${y.year}-${String(y.month+1).padStart(2,"0")}-${String(y.day).padStart(2,"0")}`;let N=(C==null?void 0:C.dayTooltip)||"";if(e.options.dayTooltipCallback){const B={date:y.date,dateString:z,dayNumber:y.day,isDisabled:I,isSelected:T,isStartDate:A,isEndDate:$,isInRange:O,isToday:e.isToday(y.date),isWeekend:y.date.getDay()===0||y.date.getDay()===6,monthIndex:a,element:null,picker:e},We=e.options.dayTooltipCallback(B);We!==null&&(N=We)}const X=N?` data-tooltip="${N.replace(/"/g,"&quot;")}"`:"";D+=`<div class="${M.join(" ")}" data-date="${z}" data-day-number="${y.day}"${X}>`,D+=`<slot name="day-${z}">${y.day}</slot>`,D+="</div>"}D+="</div>"}r&&(r.innerHTML=D,Bn(e,a,r))}function Bn(e,a,t){if(!e.options.renderDayCallback&&!e.options.renderDayContentCallback)return;t.querySelectorAll(".drp-date-picker__day").forEach(r=>{const i=r,o=i.getAttribute("data-date"),s=parseInt(i.getAttribute("data-day-number")||"0",10);if(!o)return;const[d,c,l]=o.split("-"),u=new Date(parseInt(d),parseInt(c)-1,parseInt(l)),p=i.querySelector(`slot[name="day-${o}"]`);if(p&&p.assignedNodes().length>0)return;const f=e.isDateDisabledInternal(u),h=e.isToday(u),v=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),E=e.options.selectionMode==="range"&&e.isSameDay(u,e.selectedEndDate),S=e.options.selectionMode==="range"&&e.isInRange(u),D={date:u,dateString:o,dayNumber:s,isDisabled:f,isSelected:m||x||E,isStartDate:x,isEndDate:E,isInRange:S,isToday:h,isWeekend:v,monthIndex:a,element:i,picker:e};if(e.options.renderDayCallback)try{const _=e.options.renderDayCallback(D);_!=null&&(typeof _=="string"?p&&(p.innerHTML=_):_ instanceof HTMLElement&&p&&(p.innerHTML="",p.appendChild(_)))}catch(_){console.error("[DatePicker] Error in renderDayCallback:",_)}else if(e.options.renderDayContentCallback)try{const _=e.options.renderDayContentCallback(D);_!=null&&(typeof _=="string"?p&&(p.innerHTML+=_):_ instanceof HTMLElement&&p&&p.appendChild(_))}catch(_){console.error("[DatePicker] Error in renderDayContentCallback:",_)}})}function aa(e){let a="";for(const t of e.items){const n=t.value===e.currentValue?"drp-date-picker__rolling-item--selected":"",r=t.enabled?"":"drp-date-picker__rolling-item--disabled";a+=`<div class="drp-date-picker__rolling-item ${n} ${r}" ${e.valueAttr}="${t.value}" ${e.extraAttrs}><span class="drp-date-picker__rolling-item-text">${t.label}</span></div>`}return a}function na(e,a,t){if(!a)return;const n=[];for(let s=t.yearRange.min;s<=t.yearRange.max;s++)n.push({value:s,label:s,enabled:pa(e,s)});const r=[];for(let s=t.monthRange.min-1;s<=t.monthRange.max-1;s++)r.push({value:s,label:e.monthNames[s],enabled:re(e,t.currentYear,s)});const i=a.querySelector('[data-list="years"]');i&&(i.innerHTML=aa({items:n,currentValue:t.currentYear,valueAttr:"data-year",extraAttrs:t.extraAttrs}));const o=a.querySelector('[data-list="months"]');o&&(o.innerHTML=aa({items:r,currentValue:t.currentMonth,valueAttr:"data-month",extraAttrs:t.extraAttrs}))}function ra(e,a){const t=e.calendar.querySelector(`.drp-date-picker__month[data-month-index="${a}"]`);if(!t)return;const n=t.querySelector(".drp-date-picker__rolling-selector");n==null||n.classList.add("drp-date-picker__rolling-selector--visible");const r=e.monthDates[a];na(e,n,{yearRange:Qt(e.options.rollingYearRange,r.getFullYear(),e),monthRange:Zt(e.options.rollingMonthRange),currentYear:r.getFullYear(),currentMonth:r.getMonth(),extraAttrs:`data-month-index="${a}"`})}function Vn(e){if(!e.options.unifiedNavigation||!e.unifiedRollingSelector)return;e.unifiedRollingSelector.classList.add("drp-date-picker__unified-rolling-selector--visible");const a=e.options.unifiedNavigationAnchorIndex??0,t=e.monthDates[a];na(e,e.unifiedRollingSelector,{yearRange:e.getEffectiveYearRange(),monthRange:e.getEffectiveMonthRange(),currentYear:t.getFullYear(),currentMonth:t.getMonth(),extraAttrs:'data-unified="true"'})}function Un(e){if(e.options.selectionMode!=="range")return;const a=e.calendar.querySelector(".drp-date-picker__summary");if(a)if(e.selectedStartDate&&e.selectedEndDate){let t,n,r,i,o;if(e.options.disabledDatesHandling==="individual"||e.options.disabledDatesHandling==="split")n=e.getEnabledDatesInRange(e.selectedStartDate,e.selectedEndDate),t=n.length,i=n,e.options.disabledDatesHandling==="split"&&(o=e.splitRangeByDisabled(e.selectedStartDate,e.selectedEndDate));else if(e.options.disabledDatesHandling==="allow"){n=e.getEnabledDatesInRange(e.selectedStartDate,e.selectedEndDate),r=e.getDisabledDatesInRange(e.selectedStartDate,e.selectedEndDate);const d=1e3*60*60*24,c=e.selectedEndDate.getTime()-e.selectedStartDate.getTime();t=Math.floor(c/d)+1}else{const c=e.selectedEndDate.getTime()-e.selectedStartDate.getTime();t=Math.floor(c/864e5)+1}const s=t>0?t-1:0;if(a.className="drp-date-picker__summary drp-date-picker__summary--visible",e.options.formatSummaryCallback){const d={days:t,nights:s,startDate:e.selectedStartDate,endDate:e.selectedEndDate,selectionMode:e.options.selectionMode,disabledDatesHandling:e.options.disabledDatesHandling,localeStrings:e.localeStrings,isPreview:!1};n&&(d.enabledDates=n),r&&(d.disabledDates=r),i&&(d.dates=i),o&&(d.dateRanges=o),a.innerHTML=e.options.formatSummaryCallback(d)}else a.innerHTML=`
3
+ `,e.calendar.appendChild(a),e.loadingOverlay=a}function de(e){e.loadingOverlay&&(e.loadingOverlay.remove(),e.loadingOverlay=void 0)}function mt(e,a,t,n){if(!e.messageElement){J.warn("showMessage() - messageElement is null/undefined");return}e.messageAutoHideTimeout&&(clearTimeout(e.messageAutoHideTimeout),e.messageAutoHideTimeout=void 0),e.messageElement.classList.remove("drp-date-picker__message--error","drp-date-picker__message--warning","drp-date-picker__message--info","drp-date-picker__message--success","drp-date-picker__message--custom");const r=e.messageElement.querySelector(".drp-date-picker__message-text");r&&(r.innerHTML=a),t?e.messageElement.classList.add(`drp-date-picker__message--${t}`):e.messageElement.classList.add("drp-date-picker__message--custom"),e.messageElement.classList.add("drp-date-picker__message--visible"),n&&n>0&&(e.messageAutoHideTimeout=setTimeout(()=>{le(e)},n))}function le(e){e.messageElement&&(e.messageAutoHideTimeout&&(clearTimeout(e.messageAutoHideTimeout),e.messageAutoHideTimeout=void 0),e.messageElement.classList.remove("drp-date-picker__message--visible"))}function re(e,a,t){for(let n=1;n<=31;n++){const r=new Date(a,t,n);if(r.getMonth()===t&&!e.isDateDisabledInternal(r))return!0}return!1}async function Zt(e){var a,t,n,r;if(e.options.beforeMonthChangedCallback){if(e.isMonthChanging){w.debug("handleInitialMonthLoad() - already changing month, skipping");return}try{if(e.isMonthChanging=!0,e.options.unifiedNavigation){const i=e.options.unifiedNavigationAnchorIndex??0,o=e.monthDates[i],s=o.getFullYear(),d=o.getMonth();let l=1/0,c=1/0,p=-1/0,u=-1/0;for(let M=0;M<e.monthDates.length;M++){const C=e.monthDates[M],I=C.getFullYear(),A=C.getMonth();(I<l||I===l&&A<c)&&(l=I,c=A),(I>p||I===p&&A>u)&&(p=I,u=A)}const h=(new Date(l,c,1).getDay()-e.weekStartDay+7)%7,v=new Date(l,c,1-h),f=new Date(p,u+1,0).getDate(),E=new Date(p,u,f).getDay(),S=(e.weekStartDay+6-E)%7,D=new Date(p,u,f+S),_={year:s,month:d,monthIndex:i,firstVisibleDate:v,lastVisibleDate:D};w.debug(`handleInitialMonthLoad() [UNIFIED] - calling callback for ${s}-${d+1}, range: ${v.toISOString().split("T")[0]} to ${D.toISOString().split("T")[0]}`);const k=e.options.beforeMonthChangedCallback(_),L=k instanceof Promise;L&&Ve(e);const y=await Promise.resolve(k);L&&de(e),w.debug(`handleInitialMonthLoad() [UNIFIED] - callback completed, metadata items: ${((a=y.metadata)==null?void 0:a.size)||0}, monthHeaders: ${((t=y.monthHeaders)==null?void 0:t.size)||0}`),y.metadata&&(e.bulkMetadataCache=y.metadata,w.debug(`handleInitialMonthLoad() [UNIFIED] - bulk metadata cache updated with ${y.metadata.size} entries`)),y.monthHeaders&&(e.monthHeadersCache=y.monthHeaders,w.debug(`handleInitialMonthLoad() [UNIFIED] - month headers cache updated with ${y.monthHeaders.size} entries`)),(y.metadata||y.monthHeaders)&&e.renderCalendar()}else{w.debug(`handleInitialMonthLoad() [NON-UNIFIED] - calling callback for ${e.monthDates.length} months`);const i=new Map,o=new Map;let s=!1;for(let d=0;d<e.monthDates.length;d++){const l=e.monthDates[d],c=l.getFullYear(),p=l.getMonth(),m=(new Date(c,p,1).getDay()-e.weekStartDay+7)%7,h=new Date(c,p,1-m),v=new Date(h);v.setDate(h.getDate()+41);const f={year:c,month:p,monthIndex:d,firstVisibleDate:h,lastVisibleDate:v};w.debug(`handleInitialMonthLoad() [NON-UNIFIED] Col${d} - calling callback for ${c}-${p+1}, range: ${h.toISOString().split("T")[0]} to ${v.toISOString().split("T")[0]}`);const x=e.options.beforeMonthChangedCallback(f);x instanceof Promise&&!s&&(s=!0,Ve(e));const S=await Promise.resolve(x);w.debug(`handleInitialMonthLoad() [NON-UNIFIED] Col${d} - callback completed, metadata items: ${((n=S.metadata)==null?void 0:n.size)||0}, monthHeaders: ${((r=S.monthHeaders)==null?void 0:r.size)||0}`),S.metadata&&S.metadata.forEach((D,_)=>{i.set(_,D)}),S.monthHeaders&&S.monthHeaders.forEach((D,_)=>{o.set(_,D)})}s&&de(e),i.size>0&&(e.bulkMetadataCache=i,w.debug(`handleInitialMonthLoad() [NON-UNIFIED] - combined metadata cache updated with ${i.size} entries`)),o.size>0&&(e.monthHeadersCache=o,w.debug(`handleInitialMonthLoad() [NON-UNIFIED] - combined month headers cache updated with ${o.size} entries`)),(i.size>0||o.size>0)&&e.renderCalendar()}}catch(i){de(e),w.debug("handleInitialMonthLoad() - error in callback:",i),console.error("[DateRangePicker] Error in beforeMonthChangedCallback (initial load):",i)}finally{e.isMonthChanging=!1}}}async function ce(e,a,t,n){var r,i;if(!e.options.beforeMonthChangedCallback)return!0;if(e.isMonthChanging)return w.debug("handleBeforeMonthChange() - already changing month, ignoring"),!1;try{e.isMonthChanging=!0;let o,s;if(e.options.unifiedNavigation){let u=1/0,g=1/0,m=-1/0,h=-1/0;for(let k=0;k<e.monthDates.length;k++){const L=e.monthDates[k],y=L.getFullYear(),M=L.getMonth();(y<u||y===u&&M<g)&&(u=y,g=M),(y>m||y===m&&M>h)&&(m=y,h=M)}const x=(new Date(u,g,1).getDay()-e.weekStartDay+7)%7;o=new Date(u,g,1-x);const E=new Date(m,h+1,0).getDate(),D=new Date(m,h,E).getDay(),_=(e.weekStartDay+6-D)%7;s=new Date(m,h,E+_)}else{const m=(new Date(a,t,1).getDay()-e.weekStartDay+7)%7;o=new Date(a,t,1-m),s=new Date(o),s.setDate(o.getDate()+41)}const d={year:a,month:t,monthIndex:n,firstVisibleDate:o,lastVisibleDate:s};w.debug(`handleBeforeMonthChange() - calling callback for ${a}-${t+1}, range: ${o.toISOString().split("T")[0]} to ${s.toISOString().split("T")[0]}`);const l=e.options.beforeMonthChangedCallback(d),c=l instanceof Promise;c&&Ve(e);const p=await Promise.resolve(l);return c&&de(e),p.action==="block"?(w.debug(`handleBeforeMonthChange() - navigation blocked: ${p.message||"no reason provided"}`),p.message&&console.warn(`[DateRangePicker] Month navigation blocked: ${p.message}`),!1):(w.debug(`handleBeforeMonthChange() - navigation accepted, metadata items: ${((r=p.metadata)==null?void 0:r.size)||0}, monthHeaders: ${((i=p.monthHeaders)==null?void 0:i.size)||0}`),p.metadata?e.bulkMetadataCache?(p.metadata.forEach((u,g)=>{e.bulkMetadataCache.set(g,u)}),w.debug(`handleBeforeMonthChange() - merged ${p.metadata.size} entries into cache (total: ${e.bulkMetadataCache.size})`)):(e.bulkMetadataCache=p.metadata,w.debug(`handleBeforeMonthChange() - bulk metadata cache created with ${p.metadata.size} entries`)):e.bulkMetadataCache=null,p.monthHeaders&&(e.monthHeadersCache?(p.monthHeaders.forEach((u,g)=>{e.monthHeadersCache.set(g,u)}),w.debug(`handleBeforeMonthChange() - merged ${p.monthHeaders.size} entries into headers cache (total: ${e.monthHeadersCache.size})`)):(e.monthHeadersCache=p.monthHeaders,w.debug(`handleBeforeMonthChange() - month headers cache created with ${p.monthHeaders.size} entries`))),!0)}catch(o){return de(e),w.debug("handleBeforeMonthChange() - error in callback:",o),console.error("[DateRangePicker] Error in beforeMonthChangedCallback:",o),!1}finally{e.isMonthChanging=!1}}function Pn(e,a){e.showingRollingSelector[a]=!e.showingRollingSelector[a],e.renderCalendar()}async function On(e,a,t){const n=e.monthDates[t].getMonth();if(!await ce(e,a,n,t)){w.debug(`selectYear() Col${t} - navigation blocked by callback`);return}const i=e.monthDates[t].getFullYear();e.monthDates[t].setFullYear(a),w.debug(`selectYear() Col${t} - changed from ${i} to ${a}`),we(e,t),e.showingRollingSelector[t]=!1,e.renderCalendar()}async function Fn(e,a,t){const n=e.monthDates[t].getFullYear();if(!await ce(e,n,a,t)){w.debug(`selectMonth() Col${t} - navigation blocked by callback`);return}const i=e.monthDates[t].getMonth();e.monthDates[t].setMonth(a),w.debug(`selectMonth() Col${t} - changed from ${i+1} to ${a+1}`),we(e,t),e.showingRollingSelector[t]=!1,e.renderCalendar()}function we(e,a){const t=e.monthDates[a];if(a<e.monthDates.length-1){const n=e.monthDates[a+1];if(Ue(t,n)){w.debug(`checkAndResolveCollisions() Col${a} - collision with Col${a+1}, shifting forward`);const r=new Date(t.getFullYear(),t.getMonth()+1,1);e.monthDates[a+1]=r,we(e,a+1)}}if(a>0){const n=e.monthDates[a-1];if(Ue(n,t)){w.debug(`checkAndResolveCollisions() Col${a} - collision with Col${a-1}, shifting backward`);const r=new Date(t.getFullYear(),t.getMonth()-1,1);e.monthDates[a-1]=r,we(e,a-1)}}}function Ue(e,a){const t=e.getFullYear(),n=e.getMonth(),r=a.getFullYear(),i=a.getMonth();return t>r||t===r&&n>=i}async function bt(e,a,t){const n=isNaN(a)?e.activeMonthIndex:a,r=t>0?"nextMonth":"prevMonth";e.showingRollingSelector[n]&&(e.showingRollingSelector[n]=!1);const i=e.monthDates[n],o=new Date(i.getFullYear(),i.getMonth()+t,1);if(!re(e,o.getFullYear(),o.getMonth())){w.debug(`${r}() Col${n} - navigation blocked: target month has no enabled days`);return}if(!await ce(e,o.getFullYear(),o.getMonth(),n)){w.debug(`${r}() Col${n} - navigation blocked by callback`);return}e.monthDates[n]=o,w.debug(`${r}() Col${n} - changed from ${i.getFullYear()}-${i.getMonth()+1} to ${o.getFullYear()}-${o.getMonth()+1}`);const d=n+t;if(t>0?d<e.monthDates.length:d>=0){const c=e.monthDates[d];(t>0?Ue(o,c):Ue(c,o))&&(w.debug(`${r}() Col${n} - collision detected with Col${d}, shifting`),await bt(e,d,t))}e.renderCalendar()}const qe=(e,a)=>bt(e,a,-1),We=(e,a)=>bt(e,a,1);function Ie(e,a,t,n,r){let i=a,o=0;const s=60;for(;o<s;){if(i>=0&&i<n.length){const l=n[i].dataset.date;if(l){const[c,p,u]=l.split("-").map(Number),g=new Date(c,p-1,u);if(!e.isDateDisabledInternal(g))return{index:i,monthChanged:!1}}}if(i+=t,o++,i<0||i>=n.length)return{index:null,monthChanged:!0,direction:t>0?"next":"prev"}}return{index:null,monthChanged:!1}}function Hn(e,a){var o,s,d,l;w.debug(`moveFocus(${a}) Col${e.activeMonthIndex} - focusedDayIndex:`,e.focusedDayIndex);const t=e.calendar.querySelector(`.drp-date-picker__days[data-month-index="${e.activeMonthIndex}"]`);if(!t){w.debug(`moveFocus() Col${e.activeMonthIndex} - ERROR: daysContainer not found!`);return}const n=t.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");if(w.debug(`moveFocus() Col${e.activeMonthIndex} - found ${n.length} days in column`),n.length===0)return;if(e.focusedDayIndex===null){const c=Array.from(n).findIndex(p=>p.classList.contains("drp-date-picker__day--today"));e.focusedDayIndex=c!==-1?c:0,w.debug(`moveFocus() Col${e.activeMonthIndex} - initialized focusedDayIndex to ${e.focusedDayIndex} (today or first day), will move by offset ${a}`)}(o=n[e.focusedDayIndex])==null||o.classList.remove("drp-date-picker__day--focused");const r=e.focusedDayIndex+a;if(r<0){const c=e.activeMonthIndex;if(a===-1)w.debug(`moveFocus() Col${c} - edge navigation LEFT: going to last enabled day of prev month`),qe(e,e.activeMonthIndex),setTimeout(()=>{var m,h;const p=e.calendar.querySelector(`.drp-date-picker__month[data-month-index="${c}"] .drp-date-picker__days`);if(!p)return;const u=p.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)"),g=Ie(e,u.length-1,-1,u);g.index!==null&&(e.focusedDayIndex=g.index,(m=u[e.focusedDayIndex])==null||m.classList.add("drp-date-picker__day--focused"),(h=u[e.focusedDayIndex])==null||h.scrollIntoView({block:"nearest"}))},0);else{const u=n[e.focusedDayIndex].dataset.date;if(u){const[g,m,h]=u.split("-").map(Number),f=new Date(g,m-1,h).getDay();w.debug(`moveFocus() Col${c} - edge navigation UP: current day ${h} is weekday ${f}, going to prev month`),qe(e,e.activeMonthIndex),setTimeout(()=>{var _,k;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)"),D=E[E.length-1].dataset.date;if(D){const[L,y,M]=D.split("-").map(Number),I=new Date(L,y-1,M).getDay(),A=(I-f+7)%7;e.focusedDayIndex=E.length-1-A,w.debug(`moveFocus() Col${c} - last day weekday ${I}, target ${f}, focusing on day ${e.focusedDayIndex+1}`),(_=E[e.focusedDayIndex])==null||_.classList.add("drp-date-picker__day--focused"),(k=E[e.focusedDayIndex])==null||k.scrollIntoView({block:"nearest"})}},0)}}return}else if(r>=n.length){const c=e.activeMonthIndex;if(a===1)w.debug(`moveFocus() Col${c} - edge navigation RIGHT: going to first enabled day of next month`),We(e,e.activeMonthIndex),setTimeout(()=>{var m,h;const p=e.calendar.querySelector(`.drp-date-picker__month[data-month-index="${c}"] .drp-date-picker__days`);if(!p)return;const u=p.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)"),g=Ie(e,0,1,u);g.index!==null&&(e.focusedDayIndex=g.index,(m=u[e.focusedDayIndex])==null||m.classList.add("drp-date-picker__day--focused"),(h=u[e.focusedDayIndex])==null||h.scrollIntoView({block:"nearest"}))},0);else{const u=n[e.focusedDayIndex].dataset.date;if(u){const[g,m,h]=u.split("-").map(Number),f=new Date(g,m-1,h).getDay();w.debug(`moveFocus() Col${c} - edge navigation DOWN: current day ${h} is weekday ${f}, going to next month`),We(e,e.activeMonthIndex),setTimeout(()=>{var _,k;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)"),D=E[0].dataset.date;if(D){const[L,y,M]=D.split("-").map(Number),I=new Date(L,y-1,M).getDay(),A=(f-I+7)%7;e.focusedDayIndex=A,w.debug(`moveFocus() Col${c} - first day weekday ${I}, target ${f}, focusing on day ${e.focusedDayIndex+1}`),(_=E[e.focusedDayIndex])==null||_.classList.add("drp-date-picker__day--focused"),(k=E[e.focusedDayIndex])==null||k.scrollIntoView({block:"nearest"})}},0)}}return}const i=Ie(e,r,a,n,e.activeMonthIndex);if(i.monthChanged){const c=e.activeMonthIndex;i.direction==="next"?We(e,e.activeMonthIndex):qe(e,e.activeMonthIndex),setTimeout(()=>{var m,h;const p=e.calendar.querySelector(`.drp-date-picker__month[data-month-index="${c}"] .drp-date-picker__days`);if(!p)return;const u=p.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)"),g=Ie(e,i.direction==="next"?0:u.length-1,a,u);g.index!==null&&(e.focusedDayIndex=g.index,(m=u[e.focusedDayIndex])==null||m.classList.add("drp-date-picker__day--focused"),(h=u[e.focusedDayIndex])==null||h.scrollIntoView({block:"nearest"}))},0);return}i.index!==null?(e.focusedDayIndex=i.index,(s=n[e.focusedDayIndex])==null||s.classList.add("drp-date-picker__day--focused"),(d=n[e.focusedDayIndex])==null||d.scrollIntoView({block:"nearest"})):(w.debug("moveFocus() - no enabled day found in search range"),(l=n[e.focusedDayIndex])==null||l.classList.add("drp-date-picker__day--focused"))}async function Yn(e){if(!e.options.unifiedNavigation)return;const a=e.options.unifiedNavigationAnchorIndex??0,t=e.monthDates[a],n=new Date(t.getFullYear(),t.getMonth()+1,1);if(w.debug(`unifiedNextMonth() - anchor index: ${a}, current: ${t.getFullYear()}-${t.getMonth()+1}, new: ${n.getFullYear()}-${n.getMonth()+1}`),!re(e,n.getFullYear(),n.getMonth())){w.debug("unifiedNextMonth() - navigation blocked: target month has no enabled days");return}if(await ce(e,n.getFullYear(),n.getMonth(),a)){for(let i=0;i<e.monthDates.length;i++){const o=i-a;e.monthDates[i]=new Date(n.getFullYear(),n.getMonth()+o,1)}e.renderCalendar()}}async function Bn(e){if(!e.options.unifiedNavigation)return;const a=e.options.unifiedNavigationAnchorIndex??0,t=e.monthDates[a],n=new Date(t.getFullYear(),t.getMonth()-1,1);if(w.debug(`unifiedPrevMonth() - anchor index: ${a}, current: ${t.getFullYear()}-${t.getMonth()+1}, new: ${n.getFullYear()}-${n.getMonth()+1}`),!re(e,n.getFullYear(),n.getMonth())){w.debug("unifiedPrevMonth() - navigation blocked: target month has no enabled days");return}if(await ce(e,n.getFullYear(),n.getMonth(),a)){for(let i=0;i<e.monthDates.length;i++){const o=i-a;e.monthDates[i]=new Date(n.getFullYear(),n.getMonth()+o,1)}e.renderCalendar()}}async function Vn(e,a){if(!e.options.unifiedNavigation)return;const t=e.options.unifiedNavigationAnchorIndex??0,n=e.monthDates[t].getFullYear();if(w.debug(`setUnifiedMonth(${a}) - anchor index: ${t}, year: ${n}`),!!await ce(e,n,a,t)){for(let i=0;i<e.monthDates.length;i++){const o=i-t;e.monthDates[i]=new Date(n,a+o,1)}e.showingUnifiedRollingSelector=!1,e.renderCalendar()}}function Un(e){e.options.unifiedNavigation&&(e.showingUnifiedRollingSelector=!e.showingUnifiedRollingSelector,w.debug(`toggleUnifiedRollingSelector() - now ${e.showingUnifiedRollingSelector?"visible":"hidden"}`),e.renderCalendar())}async function qn(e,a){if(!e.options.unifiedNavigation)return;const t=e.options.unifiedNavigationAnchorIndex??0,n=e.monthDates[t].getMonth();if(w.debug(`setUnifiedYear(${a}) - anchor index: ${t}, month: ${n}`),!!await ce(e,a,n,t)){for(let i=0;i<e.monthDates.length;i++){const o=i-t;e.monthDates[i]=new Date(a,n+o,1)}e.showingUnifiedRollingSelector=!1,e.renderCalendar()}}function ea(e,a,t){if(!e){if(t!=null&&t.normalizedMinDate||t!=null&&t.normalizedMaxDate){const n=t.normalizedMinDate?t.normalizedMinDate.getFullYear():a-1,r=t.normalizedMaxDate?t.normalizedMaxDate.getFullYear():a+1;return{min:n,max:r}}return{min:a-1,max:a+1}}if(e.includes("-")){const[n,r]=e.split("-");return{min:parseInt(n,10),max:parseInt(r,10)}}else{const n=parseInt(e,10);return{min:n,max:n}}}function ta(e){if(!e)return{min:1,max:12};const[a,t]=e.split("-");return{min:parseInt(a,10),max:parseInt(t,10)}}function Wn(e){ue.debug("[DatePicker 18] renderCalendar called, showingRollingSelector:",e.showingRollingSelector,`activeCol: ${e.activeMonthIndex}`),ue.debug("[DatePicker 18] monthDates array:",e.monthDates.map((a,t)=>`Col${t}: ${a.getFullYear()}-${a.getMonth()+1}`).join(", ")),e.options.unifiedNavigation&&e.showingUnifiedRollingSelector&&Kn(e);for(let a=0;a<e.options.visibleMonthsCount;a++)e.showingRollingSelector[a]?oa(e,a):aa(e,a);if(e.focusedDayIndex!==null){const a=e.calendar.querySelector(`.drp-date-picker__days[data-month-index="${e.activeMonthIndex}"]`);if(a){const t=a.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");t[e.focusedDayIndex]&&t[e.focusedDayIndex].classList.add("drp-date-picker__day--focused")}}e.options.selectionMode==="range"&&!e.isDragging&&e.initDragListeners(),e.actionsContainer&&e.renderButtons(e.actionsContainer)}function aa(e,a){var E;ue.debug(`[DatePicker Col${a} 19] renderNormalView called for month`,a);const t=e.calendar.querySelector(`.drp-date-picker__month[data-month-index="${a}"]`);if(!t)return;const n=t.querySelector(".drp-date-picker__rolling-selector");n==null||n.classList.remove("drp-date-picker__rolling-selector--visible");const r=e.monthDates[a],i=r.getFullYear(),o=r.getMonth(),s=e.monthNames[o],d=t.querySelector(".drp-date-picker__month-year");if(d){const S=`${i}-${String(o+1).padStart(2,"0")}`;let D;(E=e.monthHeadersCache)!=null&&E.has(S)?D=e.monthHeadersCache.get(S):e.options.getMonthHeaderCallback?D=e.options.getMonthHeaderCallback({month:r,monthIndex:a,monthName:s,year:i}):D=`${s} ${i}`,d.textContent=D}if(e.options.unifiedNavigation&&a===0&&e.unifiedRangeDisplay){e.unifiedRollingSelector&&!e.showingUnifiedRollingSelector&&e.unifiedRollingSelector.classList.remove("drp-date-picker__unified-rolling-selector--visible");const S=e.monthDates[0],D=e.monthDates[e.monthDates.length-1],_=e.options.unifiedNavigationAnchorIndex??0,k=e.monthDates[_];if(e.options.getUnifiedHeaderCallback){const y=e.options.getUnifiedHeaderCallback({firstMonth:S,lastMonth:D,anchorMonth:k,monthNames:e.monthNames});e.unifiedRangeDisplay.textContent=y}else{const y=e.monthNames[S.getMonth()],M=e.monthNames[D.getMonth()],C=S.getFullYear(),I=D.getFullYear();C===I?e.unifiedRangeDisplay.textContent=`${y} ${C} - ${M} ${I}`:e.unifiedRangeDisplay.textContent=`${y} ${C} - ${M} ${I}`}const L=e.unifiedHeader;if(L){const y=S.getMonth()===0?S.getFullYear()-1:S.getFullYear(),M=S.getMonth()===0?11:S.getMonth()-1,C=L.querySelector(".drp-date-picker__nav--prev");C&&(re(e,y,M)?(C.removeAttribute("disabled"),C.classList.remove("drp-date-picker__nav--disabled")):(C.setAttribute("disabled","true"),C.classList.add("drp-date-picker__nav--disabled")));const I=D.getMonth()===11?D.getFullYear()+1:D.getFullYear(),A=D.getMonth()===11?0:D.getMonth()+1,R=L.querySelector(".drp-date-picker__nav--next");R&&(re(e,I,A)?(R.removeAttribute("disabled"),R.classList.remove("drp-date-picker__nav--disabled")):(R.setAttribute("disabled","true"),R.classList.add("drp-date-picker__nav--disabled")))}}const l=r.getFullYear(),c=r.getMonth(),p=c===0?11:c-1,u=c===0?l-1:l,g=t.querySelector(".drp-date-picker__nav--prev");g&&(re(e,u,p)?(g.removeAttribute("disabled"),g.classList.remove("drp-date-picker__nav--disabled")):(g.setAttribute("disabled","true"),g.classList.add("drp-date-picker__nav--disabled")));const m=c===11?0:c+1,h=c===11?l+1:l,v=t.querySelector(".drp-date-picker__nav--next");v&&(re(e,h,m)?(v.removeAttribute("disabled"),v.classList.remove("drp-date-picker__nav--disabled")):(v.setAttribute("disabled","true"),v.classList.add("drp-date-picker__nav--disabled")));const f=t.querySelector(".drp-date-picker__weekdays"),x=[...e.weekdayNames.slice(e.weekStartDay),...e.weekdayNames.slice(0,e.weekStartDay)];f&&(f.innerHTML=x.map(S=>`<div class="drp-date-picker__weekday">${S}</div>`).join("")),na(e,a,r)}function na(e,a,t){ue.debug(`[DatePicker Col${a} 20] renderDays called for month`,a);const n=e.calendar.querySelector(`.drp-date-picker__month[data-month-index="${a}"]`);if(!n)return;const r=n.querySelector(".drp-date-picker__days"),i=t.getFullYear(),o=t.getMonth();ue.debug(`[DatePicker Col${a} 21] Rendering days for:`,i,o+1);const d=(new Date(i,o,1).getDay()-e.weekStartDay+7)%7,l=new Date(i,o+1,0).getDate(),c=new Date(i,o,0).getDate(),p=new Date(i,o-1,1),u=p.getFullYear(),g=p.getMonth(),m=new Date(i,o+1,1),h=m.getFullYear(),v=m.getMonth(),f=[];for(let _=d-1;_>=0;_--){const k=c-_,L=new Date(u,g,k);f.push({date:L,year:u,month:g,day:k,isOtherMonth:!0})}for(let _=1;_<=l;_++){const k=new Date(i,o,_);f.push({date:k,year:i,month:o,day:_,isOtherMonth:!1})}const E=42-(d+l);for(let _=1;_<=E;_++){const k=new Date(h,v,_);f.push({date:k,year:h,month:v,day:_,isOtherMonth:!0})}const S=[];for(let _=0;_<f.length;_+=7)S.push(f.slice(_,_+7));let D="";for(const _ of S){const k=_.map(y=>{const M=e.getDateInfoInternal(y.date);let C=(M==null?void 0:M.badgeTooltip)||"";if(e.options.badgeTooltipCallback&&(M!=null&&M.badgeText)){const A={date:y.date,dateString:Me(y.date),dayNumber:y.day,isDisabled:e.isDateDisabledInternal(y.date),isSelected:!1,isStartDate:!1,isEndDate:!1,isInRange:!1,isToday:xt(y.date),isWeekend:y.date.getDay()===0||y.date.getDay()===6,monthIndex:a,element:null,picker:e},R=e.options.badgeTooltipCallback(A);R!==null&&(C=R)}return{text:(M==null?void 0:M.badgeText)||"",tooltip:C,class:(M==null?void 0:M.badgeClass)||""}});if(k.some(y=>y.text)){D+='<div class="drp-date-picker__badge-row">';for(const y of k)if(y.text){const M=y.tooltip?` data-tooltip="${y.tooltip.replace(/"/g,"&quot;")}"`:"",C=y.class?` ${y.class}`:"";D+=`<div class="drp-date-picker__badge-cell${C}"${M}>${y.text}</div>`}else D+='<div class="drp-date-picker__badge-cell"></div>';D+="</div>"}D+='<div class="drp-date-picker__date-row">';for(const y of _){const M=["drp-date-picker__day"];y.isOtherMonth&&M.push("drp-date-picker__day--other-month");const C=e.getDateInfoInternal(y.date),I=C&&C.isDisabled!==void 0?C.isDisabled:e.isDateDisabledInternal(y.date);I&&M.push("drp-date-picker__day--disabled"),C&&C.dayClass&&M.push(C.dayClass),e.isToday(y.date)&&M.push("drp-date-picker__day--today");let A=!1;e.options.selectionMode==="single"?A=e.isSameDay(y.date,e.selectedDate):e.options.selectionMode==="multiple"&&(A=e.selectedDates.some(B=>e.isSameDay(y.date,B))),A&&M.push("drp-date-picker__day--selected");let R=!1,$=!1,O=!1;if(e.options.selectionMode==="range"){if(R=e.isSameDay(y.date,e.selectedStartDate),$=e.isSameDay(y.date,e.selectedEndDate),O=e.isInRange(y.date),R&&M.push("drp-date-picker__day--range-start"),$&&M.push("drp-date-picker__day--range-end"),O&&(!I||e.options.highlightDisabledInRange)&&M.push("drp-date-picker__day--in-range"),e.invalidRangeStart&&e.invalidRangeEnd){const B=e.isSameDay(y.date,e.invalidRangeStart),Ke=e.isSameDay(y.date,e.invalidRangeEnd),gr=y.date>e.invalidRangeStart&&y.date<e.invalidRangeEnd;B&&M.push("drp-date-picker__day--invalid-range-start"),Ke&&M.push("drp-date-picker__day--invalid-range-end"),gr&&M.push("drp-date-picker__day--invalid-range")}}else if(e.options.selectionMode==="multiple")for(const B of e.selectedRanges)e.isSameDay(y.date,B.start)&&(R=!0,M.push("drp-date-picker__day--range-start")),e.isSameDay(y.date,B.end)&&($=!0,M.push("drp-date-picker__day--range-end")),y.date>=B.start&&y.date<=B.end&&(O=!0,(!I||e.options.highlightDisabledInRange)&&M.push("drp-date-picker__day--in-range"));const z=`${y.year}-${String(y.month+1).padStart(2,"0")}-${String(y.day).padStart(2,"0")}`;let N=(C==null?void 0:C.dayTooltip)||"";if(e.options.dayTooltipCallback){const B={date:y.date,dateString:z,dayNumber:y.day,isDisabled:I,isSelected:A,isStartDate:R,isEndDate:$,isInRange:O,isToday:e.isToday(y.date),isWeekend:y.date.getDay()===0||y.date.getDay()===6,monthIndex:a,element:null,picker:e},Ke=e.options.dayTooltipCallback(B);Ke!==null&&(N=Ke)}const X=N?` data-tooltip="${N.replace(/"/g,"&quot;")}"`:"";D+=`<div class="${M.join(" ")}" data-date="${z}" data-day-number="${y.day}"${X}>`,D+=`<slot name="day-${z}">${y.day}</slot>`,D+="</div>"}D+="</div>"}r&&(r.innerHTML=D,jn(e,a,r))}function jn(e,a,t){if(!e.options.renderDayCallback&&!e.options.renderDayContentCallback)return;t.querySelectorAll(".drp-date-picker__day").forEach(r=>{const i=r,o=i.getAttribute("data-date"),s=parseInt(i.getAttribute("data-day-number")||"0",10);if(!o)return;const[d,l,c]=o.split("-"),p=new Date(parseInt(d),parseInt(l)-1,parseInt(c)),u=i.querySelector(`slot[name="day-${o}"]`);if(u&&u.assignedNodes().length>0)return;const m=e.isDateDisabledInternal(p),h=e.isToday(p),v=p.getDay()===0||p.getDay()===6,f=e.options.selectionMode==="single"&&e.isSameDay(p,e.selectedDate),x=e.options.selectionMode==="range"&&e.isSameDay(p,e.selectedStartDate),E=e.options.selectionMode==="range"&&e.isSameDay(p,e.selectedEndDate),S=e.options.selectionMode==="range"&&e.isInRange(p),D={date:p,dateString:o,dayNumber:s,isDisabled:m,isSelected:f||x||E,isStartDate:x,isEndDate:E,isInRange:S,isToday:h,isWeekend:v,monthIndex:a,element:i,picker:e};if(e.options.renderDayCallback)try{const _=e.options.renderDayCallback(D);_!=null&&(typeof _=="string"?u&&(u.innerHTML=_):_ instanceof HTMLElement&&u&&(u.innerHTML="",u.appendChild(_)))}catch(_){console.error("[DatePicker] Error in renderDayCallback:",_)}else if(e.options.renderDayContentCallback)try{const _=e.options.renderDayContentCallback(D);_!=null&&(typeof _=="string"?u&&(u.innerHTML+=_):_ instanceof HTMLElement&&u&&u.appendChild(_))}catch(_){console.error("[DatePicker] Error in renderDayContentCallback:",_)}})}function ra(e){let a="";for(const t of e.items){const n=t.value===e.currentValue?"drp-date-picker__rolling-item--selected":"",r=t.enabled?"":"drp-date-picker__rolling-item--disabled";a+=`<div class="drp-date-picker__rolling-item ${n} ${r}" ${e.valueAttr}="${t.value}" ${e.extraAttrs}><span class="drp-date-picker__rolling-item-text">${t.label}</span></div>`}return a}function ia(e,a,t){if(!a)return;const n=[];for(let s=t.yearRange.min;s<=t.yearRange.max;s++)n.push({value:s,label:s,enabled:ha(e,s)});const r=[];for(let s=t.monthRange.min-1;s<=t.monthRange.max-1;s++)r.push({value:s,label:e.monthNames[s],enabled:re(e,t.currentYear,s)});const i=a.querySelector('[data-list="years"]');i&&(i.innerHTML=ra({items:n,currentValue:t.currentYear,valueAttr:"data-year",extraAttrs:t.extraAttrs}));const o=a.querySelector('[data-list="months"]');o&&(o.innerHTML=ra({items:r,currentValue:t.currentMonth,valueAttr:"data-month",extraAttrs:t.extraAttrs}))}function oa(e,a){const t=e.calendar.querySelector(`.drp-date-picker__month[data-month-index="${a}"]`);if(!t)return;const n=t.querySelector(".drp-date-picker__rolling-selector");n==null||n.classList.add("drp-date-picker__rolling-selector--visible");const r=e.monthDates[a];ia(e,n,{yearRange:ea(e.options.rollingYearRange,r.getFullYear(),e),monthRange:ta(e.options.rollingMonthRange),currentYear:r.getFullYear(),currentMonth:r.getMonth(),extraAttrs:`data-month-index="${a}"`})}function Kn(e){if(!e.options.unifiedNavigation||!e.unifiedRollingSelector)return;e.unifiedRollingSelector.classList.add("drp-date-picker__unified-rolling-selector--visible");const a=e.options.unifiedNavigationAnchorIndex??0,t=e.monthDates[a];ia(e,e.unifiedRollingSelector,{yearRange:e.getEffectiveYearRange(),monthRange:e.getEffectiveMonthRange(),currentYear:t.getFullYear(),currentMonth:t.getMonth(),extraAttrs:'data-unified="true"'})}function Gn(e){if(e.options.selectionMode!=="range")return;const a=e.calendar.querySelector(".drp-date-picker__summary");if(a)if(e.selectedStartDate&&e.selectedEndDate){let t,n,r,i,o;if(e.options.disabledDatesHandling==="individual"||e.options.disabledDatesHandling==="split")n=e.getEnabledDatesInRange(e.selectedStartDate,e.selectedEndDate),t=n.length,i=n,e.options.disabledDatesHandling==="split"&&(o=e.splitRangeByDisabled(e.selectedStartDate,e.selectedEndDate));else if(e.options.disabledDatesHandling==="allow"){n=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();t=Math.floor(l/d)+1}else{const l=e.selectedEndDate.getTime()-e.selectedStartDate.getTime();t=Math.floor(l/864e5)+1}const s=t>0?t-1:0;if(a.className="drp-date-picker__summary drp-date-picker__summary--visible",e.options.formatSummaryCallback){const d={days:t,nights:s,startDate:e.selectedStartDate,endDate:e.selectedEndDate,selectionMode:e.options.selectionMode,disabledDatesHandling:e.options.disabledDatesHandling,localeStrings:e.localeStrings,isPreview:!1};n&&(d.enabledDates=n),r&&(d.disabledDates=r),i&&(d.dates=i),o&&(d.dateRanges=o),a.innerHTML=e.options.formatSummaryCallback(d)}else a.innerHTML=`
4
4
  <span class="drp-date-picker__summary-count">${t} ${t===1?e.localeStrings.day:e.localeStrings.days}</span>
5
5
  <span>, </span>
6
6
  <span class="drp-date-picker__summary-count">${s} ${s===1?e.localeStrings.night:e.localeStrings.nights}</span>
7
- `}else a.className="drp-date-picker__summary drp-date-picker__summary--hidden",a.innerHTML=""}function ia(e){if(e.options.selectionMode!=="range")return;const a=e.calendar.querySelector(".drp-date-picker__summary");if(a&&e.dragPreviewStart&&e.dragPreviewEnd){let t,n,r,i,o;if(e.options.disabledDatesHandling==="individual"||e.options.disabledDatesHandling==="split")n=e.getEnabledDatesInRange(e.dragPreviewStart,e.dragPreviewEnd),t=n.length,i=n,e.options.disabledDatesHandling==="split"&&(o=e.splitRangeByDisabled(e.dragPreviewStart,e.dragPreviewEnd));else if(e.options.disabledDatesHandling==="allow"){n=e.getEnabledDatesInRange(e.dragPreviewStart,e.dragPreviewEnd),r=e.getDisabledDatesInRange(e.dragPreviewStart,e.dragPreviewEnd);const d=1e3*60*60*24,c=e.dragPreviewEnd.getTime()-e.dragPreviewStart.getTime();t=Math.floor(c/d)+1}else{const c=e.dragPreviewEnd.getTime()-e.dragPreviewStart.getTime();t=Math.floor(c/864e5)+1}const s=t>0?t-1:0;if(a.className="drp-date-picker__summary drp-date-picker__summary--visible",e.options.formatSummaryCallback){const d={days:t,nights:s,startDate:e.dragPreviewStart,endDate:e.dragPreviewEnd,selectionMode:e.options.selectionMode,disabledDatesHandling:e.options.disabledDatesHandling,localeStrings:e.localeStrings,isPreview:!0};n&&(d.enabledDates=n),r&&(d.disabledDates=r),i&&(d.dates=i),o&&(d.dateRanges=o),a.innerHTML=e.options.formatSummaryCallback(d)}else a.innerHTML=`
7
+ `}else a.className="drp-date-picker__summary drp-date-picker__summary--hidden",a.innerHTML=""}function sa(e){if(e.options.selectionMode!=="range")return;const a=e.calendar.querySelector(".drp-date-picker__summary");if(a&&e.dragPreviewStart&&e.dragPreviewEnd){let t,n,r,i,o;if(e.options.disabledDatesHandling==="individual"||e.options.disabledDatesHandling==="split")n=e.getEnabledDatesInRange(e.dragPreviewStart,e.dragPreviewEnd),t=n.length,i=n,e.options.disabledDatesHandling==="split"&&(o=e.splitRangeByDisabled(e.dragPreviewStart,e.dragPreviewEnd));else if(e.options.disabledDatesHandling==="allow"){n=e.getEnabledDatesInRange(e.dragPreviewStart,e.dragPreviewEnd),r=e.getDisabledDatesInRange(e.dragPreviewStart,e.dragPreviewEnd);const d=1e3*60*60*24,l=e.dragPreviewEnd.getTime()-e.dragPreviewStart.getTime();t=Math.floor(l/d)+1}else{const l=e.dragPreviewEnd.getTime()-e.dragPreviewStart.getTime();t=Math.floor(l/864e5)+1}const s=t>0?t-1:0;if(a.className="drp-date-picker__summary drp-date-picker__summary--visible",e.options.formatSummaryCallback){const d={days:t,nights:s,startDate:e.dragPreviewStart,endDate:e.dragPreviewEnd,selectionMode:e.options.selectionMode,disabledDatesHandling:e.options.disabledDatesHandling,localeStrings:e.localeStrings,isPreview:!0};n&&(d.enabledDates=n),r&&(d.disabledDates=r),i&&(d.dates=i),o&&(d.dateRanges=o),a.innerHTML=e.options.formatSummaryCallback(d)}else a.innerHTML=`
8
8
  <span style="opacity: 0.7;">${e.localeStrings.preview}: </span>
9
9
  <span class="drp-date-picker__summary-count">${t} ${t===1?e.localeStrings.day:e.localeStrings.days}</span>
10
10
  <span>, </span>
11
11
  <span class="drp-date-picker__summary-count">${s} ${s===1?e.localeStrings.night:e.localeStrings.nights}</span>
12
- `}}function qn(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 t=e.options.disabledDatesHandling==="block"&&e.hasDisabledDatesInRange(e.dragPreviewStart,e.dragPreviewEnd);e.calendar.querySelectorAll(".drp-date-picker__day").forEach(r=>{const i=r.dataset.date;if(!i)return;const[o,s,d]=i.split("-").map(Number),c=new Date(o,s-1,d);c>=e.dragPreviewStart&&c<=e.dragPreviewEnd&&(r.classList.add("drp-date-picker__day--drag-preview"),t&&r.classList.add("drp-date-picker__day--drag-invalid"))}),ia(e)}const ft={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 Ie(e){if(e!=="auto")return e;if(typeof navigator<"u"&&navigator.language){const a=navigator.language.split("-")[0].toLowerCase();return ft[a]?a:"en"}return"en"}function oa(e,a){const t=Ie(e),n=ft[t]||ft.en;return a?{...n,...a}:n}function sa(e){const a=Ie(e);try{const t=new Intl.DateTimeFormat(a,{weekday:"short"}),n=[];for(let r=0;r<7;r++){const i=new Date(2017,0,r+1);n.push(t.format(i))}return n}catch(t){return V.warn("getWeekdayNames() - Intl.DateTimeFormat failed, using English weekdays",t),["Su","Mo","Tu","We","Th","Fr","Sa"]}}function da(e){const a=Ie(e);try{const t=new Intl.DateTimeFormat(a,{month:"long"}),n=[];for(let r=0;r<12;r++){const i=new Date(2017,r,1);n.push(t.format(i))}return n}catch(t){return V.warn("getMonthNames() - Intl.DateTimeFormat failed, using English months",t),["January","February","March","April","May","June","July","August","September","October","November","December"]}}class jn{constructor(a,t,n={}){b(this,"element");b(this,"target");b(this,"opts");b(this,"showTimer");b(this,"hideTimer");b(this,"autoUpdateCleanup");b(this,"onEnter",()=>this.scheduleShow());b(this,"onLeave",()=>this.scheduleHide());this.target=a,this.opts={container:n.container??document.body,showDelay:n.showDelay??300,hideDelay:n.hideDelay??100,placement:n.placement??"top",offsetDistance:n.offsetDistance??8,className:n.className??"drp-date-picker__tooltip",visibleClassName:n.visibleClassName??"drp-date-picker__tooltip--visible"},this.element=document.createElement("div"),this.element.className=this.opts.className,this.element.textContent=t,this.opts.container.appendChild(this.element),a.addEventListener("mouseenter",this.onEnter),a.addEventListener("mouseleave",this.onLeave)}setText(a){this.element.textContent=a}scheduleShow(){this.hideTimer!==void 0&&(clearTimeout(this.hideTimer),this.hideTimer=void 0),this.showTimer=window.setTimeout(()=>this.show(),this.opts.showDelay)}scheduleHide(){this.showTimer!==void 0&&(clearTimeout(this.showTimer),this.showTimer=void 0),this.hideTimer=window.setTimeout(()=>this.hide(),this.opts.hideDelay)}show(){var a;this.element.classList.add(this.opts.visibleClassName),(a=this.autoUpdateCleanup)==null||a.call(this),this.autoUpdateCleanup=Yt(this.target,this.element,()=>{ct(this.target,this.element,{placement:this.opts.placement,strategy:"fixed",middleware:[st(this.opts.offsetDistance),lt(),dt({padding:8})]}).then(({x:t,y:n})=>{Object.assign(this.element.style,{left:`${t}px`,top:`${n}px`})})})}hide(){var a;this.element.classList.remove(this.opts.visibleClassName),(a=this.autoUpdateCleanup)==null||a.call(this),this.autoUpdateCleanup=void 0}destroy(){var a;this.showTimer!==void 0&&clearTimeout(this.showTimer),this.hideTimer!==void 0&&clearTimeout(this.hideTimer),(a=this.autoUpdateCleanup)==null||a.call(this),this.target.removeEventListener("mouseenter",this.onEnter),this.target.removeEventListener("mouseleave",this.onLeave),this.element.remove()}}function Wn(){const e=new Set,a=new Set;let t=null,n=!1,r=!1;const i=()=>{e.forEach(s=>s())},o=()=>{a.forEach(s=>s())};return{subscribe(s,d){const c=s==="window"?e:a;return c.add(d),{unsubscribe:()=>{c.delete(d)}}},init(s){n||(window.addEventListener("scroll",i,{capture:!0,passive:!0}),n=!0),s&&!r&&(t=s,s.addEventListener("scroll",o,{passive:!0}),r=!0)},destroy(){n&&(window.removeEventListener("scroll",i,!0),n=!1),t&&r&&(t.removeEventListener("scroll",o),r=!1),t=null,e.clear(),a.clear()}}}function Kn(){const e={outsideClick:new Set,calendarClick:new Set};let a=null,t=null,n=null,r=!1,i=!1;const o=(l,u)=>{for(const p of e[l])if(p(u)===!0)return!0;return!1},s=l=>{i=!0;const u=l,p=u.composedPath(),g=p[0]||u.target;o("calendarClick",{target:g,event:u,path:p})},d=()=>{setTimeout(()=>{i&&(i=!1)},10)},c=l=>{var x;if(!a)return;if(i){i=!1;return}const u=l,p=u.composedPath?u.composedPath():[],g=p[0]||u.target,f=p.includes(a),h=t&&p.includes(t),v=n&&p.includes(n),m=(x=g.closest)==null?void 0:x.call(g,"[data-calendar-button]");!f&&!h&&!v&&!m&&o("outsideClick",{target:g,event:u,path:p})};return{subscribe(l,u){return e[l].add(u),{unsubscribe:()=>{e[l].delete(u)}}},init(l,u,p){a=l,t=u||null,n=p||null,l.addEventListener("mousedown",s),l.addEventListener("mouseup",d),r||(document.addEventListener("click",c,!0),r=!0)},updateReferences(l,u){t=l||null,n=u||null},destroy(){a&&(a.removeEventListener("mousedown",s),a.removeEventListener("mouseup",d)),r&&(document.removeEventListener("click",c,!0),r=!1),a=null,t=null,n=null,i=!1,Object.values(e).forEach(l=>l.clear())}}}const la=':host,:root{--drp-rem: 10px;font-family:var(--drp-font-family, var(--base-font-family, inherit));--drp-spacing-xs: calc(.4 * var(--drp-rem));--drp-spacing-sm: calc(.8 * var(--drp-rem));--drp-spacing-md: calc(1.6 * var(--drp-rem));--drp-spacing-lg: calc(2.4 * var(--drp-rem));--drp-spacing-xl: calc(3.2 * var(--drp-rem));--drp-font-size-2xs: calc(var(--base-font-size-2xs, 1) * var(--drp-rem));--drp-font-size-xs: calc(var(--base-font-size-xs, 1.2) * var(--drp-rem));--drp-font-size-sm: calc(var(--base-font-size-sm, 1.4) * var(--drp-rem));--drp-font-size-base: calc(var(--base-font-size-base, 1.6) * var(--drp-rem));--drp-font-size-lg: calc(var(--base-font-size-lg, 1.8) * var(--drp-rem));--drp-font-size-xl: calc(var(--base-font-size-xl, 2) * var(--drp-rem));--drp-font-size-2xl: calc(var(--base-font-size-2xl, 2.4) * var(--drp-rem));--drp-font-weight-normal: var(--base-font-weight-normal, 400);--drp-font-weight-medium: var(--base-font-weight-medium, 500);--drp-font-weight-semibold: var(--base-font-weight-semibold, 600);--drp-line-height-tight: var(--base-line-height-tight, 1.25);--drp-line-height-normal: var(--base-line-height-normal, 1.5);--drp-line-height-relaxed: var(--base-line-height-relaxed, 1.75);--drp-dropdown-bg: var(--base-dropdown-bg, #ffffff);--drp-border-color: var(--base-border-color, #e5e7eb);--drp-border: var(--base-border, var(--drp-border-width-base) solid var(--drp-border-color));--drp-primary-bg: var(--base-main-bg, #f3f4f6);--drp-primary-bg-hover: var(--base-hover-bg, #e5e7eb);--drp-accent-color: var(--base-accent-color, #3b82f6);--drp-accent-color-hover: var(--base-accent-color-hover, #2563eb);--drp-text-primary: var(--base-text-color-1, #111827);--drp-text-secondary: var(--base-text-color-3, #6b7280);--drp-text-color-on-accent: var(--base-text-color-on-accent, #ffffff);--drp-button-accent-text-color: var(--drp-text-color-on-accent);--drp-tooltip-bg: var(--base-tooltip-bg, #111827);--drp-tooltip-text-color: var(--base-tooltip-text-color, #ffffff);--drp-loading-overlay-bg: rgba(255, 255, 255, .8);--drp-loading-spinner-size: 40px;--drp-loading-spinner-border-width: 4px;--drp-loading-spinner-color: var(--drp-border-color);--drp-loading-spinner-accent: var(--drp-accent-color);--drp-border-width-base: 1px;--drp-border-radius-sm: calc(var(--base-border-radius-sm, .4) * var(--drp-rem));--drp-border-radius-md: calc(var(--base-border-radius-md, .6) * var(--drp-rem));--drp-border-radius-lg: calc(var(--base-border-radius-lg, .8) * var(--drp-rem));--drp-border-radius: var(--drp-border-radius-md);--drp-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--drp-transition-fast: .15s;--drp-easing-snappy: cubic-bezier(.4, 0, .2, 1);--drp-z-index-dropdown: 9500;--drp-z-index-tooltip: 9999;--drp-input-padding-h: calc(1.2 * var(--drp-rem));--drp-grid-columns: 3;--drp-grid-rows: 2;--drp-opacity-disabled: .6;--drp-opacity-other-month: .5;--drp-opacity-hover: .8;--drp-opacity-dragging: .7;--drp-input-bg: var(--base-input-bg, var(--drp-dropdown-bg));--drp-input-color: var(--base-input-color, var(--drp-text-primary));--drp-input-border: var(--base-input-border, var(--drp-border));--drp-input-border-hover: var(--base-input-border-hover, var(--drp-border-width-base) solid var(--drp-accent-color));--drp-input-border-focus: var(--base-input-border-focus, var(--drp-border-width-base) solid var(--drp-accent-color));--drp-input-placeholder-color: var(--base-input-placeholder-color, var(--drp-text-secondary));--drp-input-bg-disabled: var(--base-input-bg-disabled, var(--drp-primary-bg));--drp-input-focus-shadow-color: rgba(59, 130, 246, .1);--drp-input-focus-shadow-size: 3px;--drp-input-icon-opacity: .6;--drp-input-size-xs-font: var(--drp-font-size-xs);--drp-input-size-xs-padding-v: var(--drp-spacing-xs);--drp-input-size-xs-padding-h: calc(.8 * var(--drp-rem));--drp-input-size-xs-height: calc(var(--base-input-size-xs-height, 3.1) * var(--drp-rem));--drp-input-size-xs-icon-size: .75em;--drp-input-size-sm-font: calc(1.3 * var(--drp-rem));--drp-input-size-sm-padding-v: calc(.5 * var(--drp-rem));--drp-input-size-sm-padding-h: var(--drp-spacing-sm);--drp-input-size-sm-height: calc(var(--base-input-size-sm-height, 3.3) * var(--drp-rem));--drp-input-size-sm-icon-size: .875em;--drp-input-size-md-font: calc(1.4 * var(--drp-rem));--drp-input-size-md-padding-v: var(--drp-spacing-sm);--drp-input-size-md-padding-h: calc(1.2 * var(--drp-rem));--drp-input-size-md-height: calc(var(--base-input-size-md-height, 3.5) * var(--drp-rem));--drp-input-size-md-icon-size: 1em;--drp-input-size-lg-font: calc(1.6 * var(--drp-rem));--drp-input-size-lg-padding-v: calc(1 * var(--drp-rem));--drp-input-size-lg-padding-h: calc(1.4 * var(--drp-rem));--drp-input-size-lg-height: calc(var(--base-input-size-lg-height, 3.8) * var(--drp-rem));--drp-input-size-lg-icon-size: 1.125em;--drp-input-size-xl-font: calc(1.8 * var(--drp-rem));--drp-input-size-xl-padding-v: calc(1.2 * var(--drp-rem));--drp-input-size-xl-padding-h: calc(1.6 * var(--drp-rem));--drp-input-size-xl-height: calc(var(--base-input-size-xl-height, 4.1) * var(--drp-rem));--drp-input-size-xl-icon-size: 1.25em;--drp-header-text-color: var(--drp-text-primary);--drp-header-bg-hover: var(--drp-primary-bg);--drp-header-bg-active: var(--drp-primary-bg-hover);--drp-nav-text-color: var(--drp-text-primary);--drp-nav-border-color: var(--drp-border-color);--drp-nav-border: var(--drp-border-width-base) solid var(--drp-nav-border-color);--drp-nav-bg-hover: var(--drp-primary-bg);--drp-nav-bg-active: var(--drp-primary-bg-hover);--drp-nav-border-hover: var(--drp-accent-color);--drp-nav-border-hover-full: var(--drp-border-width-base) solid var(--drp-nav-border-hover);--drp-nav-size: calc(3.2 * var(--drp-rem));--drp-rolling-bg: var(--drp-primary-bg);--drp-rolling-border-color: var(--drp-border-color);--drp-rolling-border: var(--drp-border-width-base) solid var(--drp-rolling-border-color);--drp-rolling-scrollbar-width: 6px;--drp-rolling-scrollbar-thumb: var(--drp-border-color);--drp-rolling-scrollbar-thumb-hover: var(--drp-accent-color);--drp-rolling-item-bg-hover: var(--drp-primary-bg);--drp-rolling-item-color: var(--drp-text-primary);--drp-rolling-item-bg-selected: var(--drp-accent-color);--drp-rolling-item-color-selected: var(--drp-text-color-on-accent);--drp-rolling-item-bg-selected-hover: var(--drp-accent-color-hover);--drp-rolling-item-justify-content: center;--drp-rolling-item-min-height: calc(3.2 * var(--drp-rem));--drp-rolling-item-padding-v: var(--drp-spacing-xs);--drp-rolling-item-padding-h: var(--drp-spacing-md);--drp-rolling-item-font-size: var(--drp-font-size-sm);--drp-rolling-item-font-weight-selected: var(--drp-font-weight-semibold);--drp-weekday-color: var(--drp-text-secondary);--drp-day-text-color: var(--drp-text-primary);--drp-day-bg-hover: var(--drp-primary-bg);--drp-day-border-hover: var(--drp-accent-color);--drp-day-today-border: var(--drp-accent-color);--drp-day-selected-bg: var(--drp-accent-color);--drp-day-selected-color: var(--drp-text-color-on-accent);--drp-day-selected-bg-hover: var(--drp-accent-color-hover);--drp-day-selected-color-hover: var(--drp-day-selected-color);--drp-day-focused-outline: var(--drp-accent-color);--drp-day-disabled-color: var(--drp-text-secondary);--drp-day-disabled-bg: var(--base-disabled-bg, transparent);--drp-day-other-month-color: var(--drp-text-secondary);--drp-day-range-bg: var(--drp-accent-color);--drp-day-range-bg-hover: var(--drp-accent-color-hover);--drp-day-range-color: var(--drp-text-color-on-accent);--drp-day-range-color-hover: var(--drp-day-range-color);--drp-day-border-width: 2px;--drp-day-border-color: transparent;--drp-day-border: var(--drp-day-border-width) solid var(--drp-day-border-color);--drp-day-focused-outline-width: 2px;--drp-day-focused-outline-offset: 2px;--drp-day-in-range-bg-opacity: .15;--drp-day-in-range-hover-bg-opacity: .25;--drp-day-drag-preview-bg-opacity: .3;--drp-day-drag-preview-edge-bg-opacity: .6;--drp-day-invalid-range-bg: var(--drp-message-error-border);--drp-day-invalid-range-color: var(--drp-text-color-on-accent);--drp-day-disabled-pattern-opacity: .1;--drp-day-dragging-scale: 1.1;--drp-day-drag-preview-border-style: dashed;--drp-day-drag-border: var(--drp-day-border-width) var(--drp-day-drag-preview-border-style) var(--drp-day-range-bg);--drp-day-drag-invalid-bg: #ef4444;--drp-day-drag-invalid-bg-opacity: .2;--drp-holiday-color: #ef4444;--drp-holiday-bg-opacity: .1;--drp-holiday-hover-bg-opacity: .2;--drp-event-color: #10b981;--drp-event-bg-opacity: .1;--drp-event-hover-bg-opacity: .2;--drp-summary-text-color: var(--drp-text-secondary);--drp-summary-border-color: var(--drp-border-color);--drp-summary-border: var(--drp-border-width-base) solid var(--drp-summary-border-color);--drp-summary-count-color: var(--drp-accent-color);--drp-button-border-color: var(--drp-border-color);--drp-button-border: var(--drp-border-width-base) solid var(--drp-button-border-color);--drp-button-bg: transparent;--drp-button-bg-hover: var(--drp-primary-bg);--drp-button-color: var(--drp-text-primary);--drp-button-border-hover: var(--drp-accent-color);--drp-button-border-hover-full: var(--drp-border-width-base) solid var(--drp-button-border-hover);--drp-button-today-color: var(--drp-accent-color);--drp-button-clear-color: var(--drp-text-secondary);--drp-button-cancel-color: var(--drp-text-secondary);--drp-button-apply-bg: var(--drp-accent-color);--drp-button-apply-color: var(--drp-button-accent-text-color);--drp-button-apply-border: var(--drp-accent-color);--drp-button-apply-bg-hover: var(--drp-accent-color-hover);--drp-badge-font-size: var(--drp-font-size-2xs);--drp-badge-padding-v: 1px;--drp-badge-padding-h: 2px;--drp-badge-border-radius: 2px;--drp-badge-max-height: var(--drp-font-size-base);--drp-badge-row-height: var(--drp-badge-max-height);--drp-badge-number-bg: var(--drp-accent-color);--drp-badge-number-color: var(--drp-text-color-on-accent);--drp-badge-count-bg: #ef4444;--drp-badge-count-color: #ffffff;--drp-badge-text-bg: var(--drp-text-secondary);--drp-badge-text-color: #ffffff;--drp-unified-range-text-color: var(--drp-text-primary);--drp-unified-range-bg-hover: var(--drp-primary-bg);--drp-unified-range-bg-active: var(--drp-primary-bg-hover);--drp-unified-month-color: var(--drp-text-secondary);--drp-unified-rolling-disabled-color: var(--drp-text-secondary);--drp-tooltip-line-height: 1.4;--drp-tooltip-max-width: 200px;--drp-tooltip-arrow-size: 8px;--drp-message-error-bg: #fef2f2;--drp-message-error-color: #991b1b;--drp-message-error-border: #fecaca;--drp-message-warning-bg: #fffbeb;--drp-message-warning-color: #92400e;--drp-message-warning-border: #fde68a;--drp-message-info-bg: #eff6ff;--drp-message-info-color: #1e40af;--drp-message-info-border: #bfdbfe;--drp-message-success-bg: #f0fdf4;--drp-message-success-color: #166534;--drp-message-success-border: #bbf7d0;--drp-month-min-width: 280px;--drp-month-min-width-inline: 250px;--drp-calendar-max-width: calc(100vw - 2rem) }.drp-input{width:100%;font-family:var(--drp-font-family, var(--base-font-family, inherit));font-size:var(--drp-input-size-md-font);line-height:var(--drp-line-height-normal);color:var(--drp-input-color);background-color:var(--drp-input-bg);border:var(--drp-input-border);border-radius:var(--drp-border-radius);padding:var(--drp-input-size-md-padding-v) var(--drp-input-size-md-padding-h);padding-right:calc(var(--drp-input-size-md-padding-h) * 2.5);height:var(--drp-input-size-md-height);box-sizing:border-box;transition:border-color var(--drp-transition-fast) var(--drp-easing-snappy),box-shadow var(--drp-transition-fast) var(--drp-easing-snappy)}.drp-input::placeholder{color:var(--drp-input-placeholder-color);opacity:.6}.drp-input:hover:not(:disabled){border:var(--drp-input-border-hover)}.drp-input:focus{outline:none;border:var(--drp-input-border-focus);box-shadow:0 0 0 var(--drp-input-focus-shadow-size) var(--drp-input-focus-shadow-color)}.drp-input:disabled{opacity:var(--drp-opacity-disabled);cursor:not-allowed;background-color:var(--drp-input-bg-disabled)}.drp-input.drp-input--xs{font-size:var(--drp-input-size-xs-font);padding:var(--drp-input-size-xs-padding-v) var(--drp-input-size-xs-padding-h);padding-right:calc(var(--drp-input-size-xs-padding-h) * 2.5);height:var(--drp-input-size-xs-height)}.drp-input.drp-input--sm{font-size:var(--drp-input-size-sm-font);padding:var(--drp-input-size-sm-padding-v) var(--drp-input-size-sm-padding-h);padding-right:calc(var(--drp-input-size-sm-padding-h) * 2.5);height:var(--drp-input-size-sm-height)}.drp-input.drp-input--lg{font-size:var(--drp-input-size-lg-font);padding:var(--drp-input-size-lg-padding-v) var(--drp-input-size-lg-padding-h);padding-right:calc(var(--drp-input-size-lg-padding-h) * 2.5);height:var(--drp-input-size-lg-height)}.drp-input.drp-input--xl{font-size:var(--drp-input-size-xl-font);padding:var(--drp-input-size-xl-padding-v) var(--drp-input-size-xl-padding-h);padding-right:calc(var(--drp-input-size-xl-padding-h) * 2.5);height:var(--drp-input-size-xl-height)}.drp-date-picker-input{position:relative;cursor:pointer;display:inline-block;width:100%}.drp-date-picker-input:after{content:"📅";position:absolute;right:var(--drp-input-size-md-padding-h);top:50%;transform:translateY(-50%);pointer-events:none;opacity:var(--drp-input-icon-opacity);font-size:var(--drp-input-size-md-icon-size)}.drp-date-picker-input.drp-date-picker-input--xs:after{right:var(--drp-input-size-xs-padding-h);font-size:var(--drp-input-size-xs-icon-size)}.drp-date-picker-input.drp-date-picker-input--sm:after{right:var(--drp-input-size-sm-padding-h);font-size:var(--drp-input-size-sm-icon-size)}.drp-date-picker-input.drp-date-picker-input--lg:after{right:var(--drp-input-size-lg-padding-h);font-size:var(--drp-input-size-lg-icon-size)}.drp-date-picker-input.drp-date-picker-input--xl:after{right:var(--drp-input-size-xl-padding-h);font-size:var(--drp-input-size-xl-icon-size)}.drp-date-picker{position:absolute;z-index:var(--drp-z-index-dropdown);font-family:var(--drp-font-family, var(--base-font-family, inherit));background:var(--drp-dropdown-bg);border:var(--drp-border);border-radius:var(--drp-border-radius-lg);box-shadow:var(--drp-shadow-xl);padding:var(--drp-spacing-md);min-width:var(--drp-month-min-width);max-width:var(--drp-calendar-max-width);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:var(--drp-month-min-width);display:flex;flex-direction:column}.drp-date-picker--inline .drp-date-picker__month{min-width:var(--drp-month-min-width-inline)}.drp-date-picker__months--grid .drp-date-picker__month{min-width:0;width:100%}.drp-date-picker__calendar-container{position:relative;flex:1;display:flex;flex-direction:column;min-height:0}.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__header--static{justify-content:center}.drp-date-picker__header--static .drp-date-picker__month-year{cursor:default}.drp-date-picker__header--static .drp-date-picker__month-year:hover{background-color:transparent}.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-header-text-color);padding:var(--drp-spacing-sm) var(--drp-spacing-md);border-radius:var(--drp-border-radius);cursor:pointer}.drp-date-picker__month-year:hover{background-color:var(--drp-header-bg-hover)}.drp-date-picker__month-year:active{background-color:var(--drp-header-bg-active)}.drp-date-picker__nav{width:var(--drp-nav-size);height:var(--drp-nav-size);display:flex;align-items:center;justify-content:center;border:var(--drp-nav-border);border-radius:var(--drp-border-radius);background:transparent;cursor:pointer;font-size:var(--drp-font-size-lg);color:var(--drp-nav-text-color)}.drp-date-picker__nav:hover{background-color:var(--drp-nav-bg-hover);border:var(--drp-nav-border-hover-full)}.drp-date-picker__nav:active{background-color:var(--drp-nav-bg-active)}.drp-date-picker__nav--disabled,.drp-date-picker__nav[disabled]{opacity:var(--drp-opacity-disabled);cursor:not-allowed;pointer-events:none}.drp-date-picker__nav--disabled:hover,.drp-date-picker__nav[disabled]:hover{background-color:transparent;border:var(--drp-nav-border)}.drp-date-picker__nav--prev:before{content:"‹"}.drp-date-picker__nav--next:before{content:"›"}.drp-date-picker__rolling-selector{position:absolute;top:0;right:0;bottom:0;left:0;display:none;z-index:10;gap:var(--drp-spacing-xs)}.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{visibility:hidden}.drp-date-picker__rolling-list{flex:1;min-width:0;height:100%;overflow-y:auto;border:var(--drp-rolling-border);border-radius:var(--drp-border-radius-lg);display:flex;flex-direction:column;scroll-behavior:smooth}.drp-date-picker__rolling-list::-webkit-scrollbar{width:var(--drp-rolling-scrollbar-width)}.drp-date-picker__rolling-list::-webkit-scrollbar-track{background:var(--drp-rolling-bg)}.drp-date-picker__rolling-list::-webkit-scrollbar-thumb{background:var(--drp-rolling-scrollbar-thumb);border-radius:3px}.drp-date-picker__rolling-list::-webkit-scrollbar-thumb:hover{background:var(--drp-rolling-scrollbar-thumb-hover)}.drp-date-picker__rolling-item{padding:var(--drp-rolling-item-padding-v) var(--drp-rolling-item-padding-h);cursor:pointer;font-size:var(--drp-rolling-item-font-size);color:var(--drp-rolling-item-color);min-height:var(--drp-rolling-item-min-height);flex-shrink:0;display:flex;align-items:center;justify-content:var(--drp-rolling-item-justify-content)}.drp-date-picker__rolling-item:hover{background-color:var(--drp-rolling-item-bg-hover)}.drp-date-picker__rolling-item--selected{background-color:var(--drp-rolling-item-bg-selected);color:var(--drp-rolling-item-color-selected);font-weight:var(--drp-rolling-item-font-weight-selected)}.drp-date-picker__rolling-item--selected:hover{background-color:var(--drp-rolling-item-bg-selected-hover)}.drp-date-picker__rolling-item-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%;min-width:0}.drp-date-picker__unified-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--drp-spacing-lg);gap:var(--drp-spacing-sm);padding:0 var(--drp-spacing-sm)}.drp-date-picker__unified-range{flex:1;text-align:center;font-weight:var(--drp-font-weight-semibold);font-size:var(--drp-font-size-lg);color:var(--drp-unified-range-text-color);padding:var(--drp-spacing-sm) var(--drp-spacing-md);border-radius:var(--drp-border-radius);cursor:pointer}.drp-date-picker__unified-range:hover{background-color:var(--drp-unified-range-bg-hover)}.drp-date-picker__unified-range:active{background-color:var(--drp-unified-range-bg-active)}.drp-date-picker__unified-range--static{cursor:default!important}.drp-date-picker__unified-range--static:hover,.drp-date-picker__unified-range--static:active{background-color:transparent}.drp-date-picker__unified-rolling-selector{position:absolute;top:calc(var(--drp-spacing-lg) + var(--drp-spacing-lg) * 2);left:50%;transform:translate(-50%);width:min(90%,450px);height:350px;max-height:350px;display:none;z-index:100;background:var(--drp-dropdown-bg);gap:var(--drp-spacing-xs)}.drp-date-picker__unified-rolling-selector--visible{display:flex}.drp-date-picker__unified-rolling-selector .drp-date-picker__rolling-list{flex:1;min-width:0;height:100%;overflow-y:auto;border:var(--drp-rolling-border);border-radius:var(--drp-border-radius-lg);display:flex;flex-direction:column;scroll-behavior:smooth}.drp-date-picker__unified-rolling-selector .drp-date-picker__rolling-list::-webkit-scrollbar{width:var(--drp-rolling-scrollbar-width)}.drp-date-picker__unified-rolling-selector .drp-date-picker__rolling-list::-webkit-scrollbar-track{background:var(--drp-rolling-bg)}.drp-date-picker__unified-rolling-selector .drp-date-picker__rolling-list::-webkit-scrollbar-thumb{background:var(--drp-rolling-scrollbar-thumb);border-radius:3px}.drp-date-picker__unified-rolling-selector .drp-date-picker__rolling-list::-webkit-scrollbar-thumb:hover{background:var(--drp-rolling-scrollbar-thumb-hover)}.drp-date-picker__unified-rolling-selector .drp-date-picker__rolling-item{padding:var(--drp-rolling-item-padding-v) var(--drp-rolling-item-padding-h);cursor:pointer;font-size:var(--drp-rolling-item-font-size);min-height:var(--drp-rolling-item-min-height);flex-shrink:0;display:flex;align-items:center;justify-content:var(--drp-rolling-item-justify-content)}.drp-date-picker__unified-rolling-selector .drp-date-picker__rolling-item:hover{background-color:var(--drp-rolling-item-bg-hover)}.drp-date-picker__unified-rolling-selector .drp-date-picker__rolling-item--selected{background-color:var(--drp-rolling-item-bg-selected);color:var(--drp-rolling-item-color-selected);font-weight:var(--drp-rolling-item-font-weight-selected)}.drp-date-picker__unified-rolling-selector .drp-date-picker__rolling-item--selected:hover{background-color:var(--drp-rolling-item-bg-selected-hover)}.drp-date-picker__unified-rolling-selector .drp-date-picker__rolling-item--disabled{color:var(--drp-unified-rolling-disabled-color);opacity:.4;cursor:not-allowed}.drp-date-picker__unified-rolling-selector .drp-date-picker__rolling-item-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%;min-width:0}.drp-date-picker--unified-nav .drp-date-picker__month .drp-date-picker__header .drp-date-picker__nav{display:none}.drp-date-picker--unified-nav .drp-date-picker__month .drp-date-picker__header .drp-date-picker__month-year{cursor:default;font-size:var(--drp-font-size-base);font-weight:var(--drp-font-weight-normal);color:var(--drp-unified-month-color)}.drp-date-picker--unified-nav .drp-date-picker__month .drp-date-picker__header .drp-date-picker__month-year:hover{background-color:transparent}.drp-date-picker--unified-nav .drp-date-picker__month .drp-date-picker__rolling-selector{display:none!important}.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-weekday-color);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-day-text-color);border-radius:var(--drp-border-radius-sm);cursor:pointer;border:var(--drp-day-border);position:relative}.drp-date-picker__day:hover:not(.drp-date-picker__day--disabled):not(.drp-date-picker__day--other-month){background-color:var(--drp-day-bg-hover);border-color:var(--drp-day-border-hover)}.drp-date-picker__day--today{border-color:var(--drp-day-today-border);font-weight:var(--drp-font-weight-semibold)}.drp-date-picker__day--selected{background-color:var(--drp-day-selected-bg);color:var(--drp-day-selected-color);font-weight:var(--drp-font-weight-semibold)}.drp-date-picker__day--selected:hover:not(.drp-date-picker__day--disabled):not(.drp-date-picker__day--other-month){background-color:var(--drp-day-selected-bg-hover);color:var(--drp-day-selected-color-hover)}.drp-date-picker__day--focused{outline:var(--drp-day-focused-outline-width) solid var(--drp-day-focused-outline);outline-offset:var(--drp-day-focused-outline-offset)}.drp-date-picker__day--disabled{color:var(--drp-day-disabled-color);opacity:var(--drp-opacity-disabled);cursor:not-allowed;position:relative;background-color:var(--drp-day-disabled-bg)}.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,var(--drp-day-disabled-pattern-opacity)) 0px,rgba(0,0,0,var(--drp-day-disabled-pattern-opacity)) 1px,transparent 1px,transparent 6px);border-radius:var(--drp-border-radius-sm);pointer-events:none}.drp-date-picker__day--disabled:hover{background-color:transparent;border-color:transparent}.drp-date-picker__day--disabled.drp-date-picker__day--in-range{background-color:color-mix(in srgb,var(--drp-day-range-bg) calc(var(--drp-day-in-range-bg-opacity) * 100%),transparent)}.drp-date-picker__day--other-month{color:var(--drp-day-other-month-color);opacity:var(--drp-opacity-other-month)}.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-day-range-bg);color:var(--drp-day-range-color);font-weight:var(--drp-font-weight-semibold);cursor:grab;-webkit-user-select:none;user-select:none}.drp-date-picker__day--range-start:hover:not(.drp-date-picker__day--disabled):not(.drp-date-picker__day--other-month),.drp-date-picker__day--range-end:hover:not(.drp-date-picker__day--disabled):not(.drp-date-picker__day--other-month){background-color:var(--drp-day-range-bg-hover);color:var(--drp-day-range-color-hover)}.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-day-range-bg) calc(var(--drp-day-in-range-bg-opacity) * 100%),transparent)}.drp-date-picker__day--in-range:hover:not(.drp-date-picker__day--disabled):not(.drp-date-picker__day--other-month){background-color:color-mix(in srgb,var(--drp-day-range-bg) calc(var(--drp-day-in-range-hover-bg-opacity) * 100%),transparent)}.drp-date-picker__day--dragging{cursor:grabbing!important;opacity:var(--drp-opacity-dragging);transform:scale(var(--drp-day-dragging-scale));transition:transform var(--drp-transition-fast) var(--drp-easing-snappy)}.drp-date-picker__day--drag-preview{background-color:color-mix(in srgb,var(--drp-day-range-bg) calc(var(--drp-day-drag-preview-bg-opacity) * 100%),transparent);border:var(--drp-day-drag-border)}.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-day-range-bg) calc(var(--drp-day-drag-preview-edge-bg-opacity) * 100%),transparent);color:var(--drp-day-range-color)}.drp-date-picker__day--drag-invalid{background-color:color-mix(in srgb,var(--drp-day-drag-invalid-bg) calc(var(--drp-day-drag-invalid-bg-opacity) * 100%),transparent)!important;border-color:var(--drp-day-drag-invalid-bg)!important;border-style:dashed!important}.drp-date-picker__day--invalid-range{background-color:color-mix(in srgb,var(--drp-message-error-border) 20%,transparent)}.drp-date-picker__day--invalid-range-start,.drp-date-picker__day--invalid-range-end{background-color:var(--drp-day-invalid-range-bg);color:var(--drp-day-invalid-range-color);font-weight:var(--drp-font-weight-semibold)}.drp-date-picker__day.holiday{background-color:color-mix(in srgb,var(--drp-holiday-color) calc(var(--drp-holiday-bg-opacity) * 100%),transparent)}.drp-date-picker__day.holiday:hover:not(.drp-date-picker__day--disabled){background-color:color-mix(in srgb,var(--drp-holiday-color) calc(var(--drp-holiday-hover-bg-opacity) * 100%),transparent)}.drp-date-picker__day.event{background-color:color-mix(in srgb,var(--drp-event-color) calc(var(--drp-event-bg-opacity) * 100%),transparent)}.drp-date-picker__day.event:hover:not(.drp-date-picker__day--disabled){background-color:color-mix(in srgb,var(--drp-event-color) calc(var(--drp-event-hover-bg-opacity) * 100%),transparent)}.drp-date-picker__rolling-item--disabled{color:var(--drp-unified-rolling-disabled-color);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);max-height:var(--drp-badge-row-height);min-height:var(--drp-badge-row-height)}.drp-date-picker__badge-cell{display:flex;align-items:center;justify-content:center;font-size:var(--drp-font-size-2xs);padding:var(--drp-badge-padding-v) var(--drp-badge-padding-h);border-radius:var(--drp-badge-border-radius);cursor:pointer;max-height:var(--drp-badge-row-height)}.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:var(--drp-badge-number-bg);color:var(--drp-badge-number-color);font-size:calc(1.12 * var(--drp-rem));font-weight:600}.drp-date-picker__badge-cell.badge-count{background-color:var(--drp-badge-count-bg);color:var(--drp-badge-count-color);font-size:calc(1.12 * var(--drp-rem));font-weight:700}.drp-date-picker__badge-cell.badge-text{background-color:var(--drp-badge-text-bg);color:var(--drp-badge-text-color);font-size:calc(1.04 * var(--drp-rem));font-weight:700;text-transform:uppercase}.drp-date-picker__summary{text-align:center;padding:0;margin:0;margin-bottom:var(--drp-spacing-sm);border-top:var(--drp-summary-border);font-size:var(--drp-font-size-sm);color:var(--drp-summary-text-color)}.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-summary-count-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-summary-border)}.drp-date-picker__button{flex:1;padding:var(--drp-spacing-sm) var(--drp-spacing-md);border:var(--drp-button-border);border-radius:var(--drp-border-radius);background:var(--drp-button-bg);color:var(--drp-button-color);cursor:pointer;font-family:inherit;font-size:var(--drp-font-size-sm);font-weight:var(--drp-font-weight-medium)}.drp-date-picker__button:hover{background-color:var(--drp-button-bg-hover);border:var(--drp-button-border-hover-full)}.drp-date-picker__button:disabled,.drp-date-picker__button[disabled]{opacity:var(--drp-opacity-disabled);cursor:not-allowed;pointer-events:none}.drp-date-picker__button:disabled:hover,.drp-date-picker__button[disabled]:hover{background-color:var(--drp-button-bg);border:var(--drp-button-border)}.drp-date-picker__button--today{color:var(--drp-button-today-color)}.drp-date-picker__button--clear{color:var(--drp-button-clear-color)}.drp-date-picker__button--apply{background-color:var(--drp-button-apply-bg);color:var(--drp-button-apply-color);border-color:var(--drp-button-apply-border)}.drp-date-picker__button--apply:hover{background-color:var(--drp-button-apply-bg-hover)}.drp-date-picker__button--cancel{color:var(--drp-button-cancel-color)}.drp-date-picker__tooltip{position:absolute;z-index:var(--drp-z-index-tooltip);background-color:var(--drp-tooltip-bg);color:var(--drp-tooltip-text-color);padding:var(--drp-spacing-xs) var(--drp-spacing-sm);border-radius:var(--drp-border-radius-sm);font-size:var(--drp-font-size-xs);line-height:var(--drp-tooltip-line-height);max-width:var(--drp-tooltip-max-width);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-tooltip-bg);width:var(--drp-tooltip-arrow-size);height:var(--drp-tooltip-arrow-size);transform:rotate(45deg)}.drp-date-picker__loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:var(--drp-loading-overlay-bg);display:flex;align-items:center;justify-content:center;z-index:var(--drp-z-index-dropdown);border-radius:var(--drp-border-radius-lg)}.drp-date-picker__loading-spinner{width:var(--drp-loading-spinner-size);height:var(--drp-loading-spinner-size);border:var(--drp-loading-spinner-border-width) solid var(--drp-loading-spinner-color);border-top-color:var(--drp-loading-spinner-accent);border-radius:50%;animation:drp-spin .8s linear infinite}@keyframes drp-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.drp-date-picker__message{display:none;align-items:center;gap:var(--drp-spacing-sm);padding:var(--drp-spacing-sm) var(--drp-spacing-md);margin:0;margin-bottom:var(--drp-spacing-sm);border-radius:var(--drp-border-radius);font-size:var(--drp-font-size-sm);line-height:var(--drp-line-height-normal)}.drp-date-picker__message--visible{display:flex}.drp-date-picker__message-text{flex:1}.drp-date-picker__message-close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:calc(2 * var(--drp-rem));height:calc(2 * var(--drp-rem));padding:0;border:none;background:transparent;font-size:var(--drp-font-size-lg);line-height:1;cursor:pointer;opacity:.6;transition:opacity var(--drp-transition-fast) var(--drp-easing-snappy)}.drp-date-picker__message-close:hover{opacity:1}.drp-date-picker__message--error{background-color:var(--drp-message-error-bg);color:var(--drp-message-error-color);border:1px solid var(--drp-message-error-border)}.drp-date-picker__message--error .drp-date-picker__message-close{color:var(--drp-message-error-color)}.drp-date-picker__message--warning{background-color:var(--drp-message-warning-bg);color:var(--drp-message-warning-color);border:1px solid var(--drp-message-warning-border)}.drp-date-picker__message--warning .drp-date-picker__message-close{color:var(--drp-message-warning-color)}.drp-date-picker__message--info{background-color:var(--drp-message-info-bg);color:var(--drp-message-info-color);border:1px solid var(--drp-message-info-border)}.drp-date-picker__message--info .drp-date-picker__message-close{color:var(--drp-message-info-color)}.drp-date-picker__message--success{background-color:var(--drp-message-success-bg);color:var(--drp-message-success-color);border:1px solid var(--drp-message-success-border)}.drp-date-picker__message--success .drp-date-picker__message-close{color:var(--drp-message-success-color)}.drp-date-picker__message--custom{background:transparent;border:none;padding:0;margin:0;margin-bottom:var(--drp-spacing-sm)}.drp-date-picker__message--custom .drp-date-picker__message-close{display:none}.drp-date-picker.drp-transitions-enabled .drp-date-picker__badge-cell{transition:transform var(--drp-transition-fast) var(--drp-easing-snappy)}.drp-date-picker.drp-transitions-enabled .drp-date-picker__nav,.drp-date-picker.drp-transitions-enabled .drp-date-picker__action-btn{transition:background-color var(--drp-transition-fast) var(--drp-easing-snappy),border-color var(--drp-transition-fast) var(--drp-easing-snappy)}.drp-date-picker.drp-transitions-enabled .drp-date-picker__month-year,.drp-date-picker.drp-transitions-enabled .drp-date-picker__rolling-item{transition:background-color var(--drp-transition-fast) var(--drp-easing-snappy)}.drp-date-picker--inline{position:static;display:block;box-shadow:none}',Q=class Q{constructor(a,t={}){b(this,"input");b(this,"options");b(this,"formatInfo");b(this,"_previousInputValue");b(this,"currentDate");b(this,"monthDates");b(this,"displayMonths");b(this,"selectedDate");b(this,"selectedStartDate");b(this,"selectedEndDate");b(this,"selectedRanges");b(this,"selectedDates");b(this,"pendingSelection");b(this,"originalInputValue",null);b(this,"committedDate",null);b(this,"committedStartDate",null);b(this,"committedEndDate",null);b(this,"focusedDayIndex");b(this,"activeMonthIndex");b(this,"showingRollingSelector");b(this,"draggingType");b(this,"isDragging");b(this,"dragStartDate");b(this,"originalStartDate");b(this,"originalEndDate");b(this,"dragPreviewStart");b(this,"dragPreviewEnd");b(this,"invalidRangeStart");b(this,"invalidRangeEnd");b(this,"autoScrollInterval");b(this,"navInterval");b(this,"calendar");b(this,"containerElement");b(this,"onDragMoveBound");b(this,"onDragEndBound");b(this,"isFirstRender",!0);b(this,"calendarContentHeight");b(this,"calendarContentWidth");b(this,"isCalendarActive",!1);b(this,"onAnotherPickerActivated",a=>{a.detail!==this&&(this.isCalendarActive=!1)});b(this,"isValidating",!1);b(this,"loadingOverlay");b(this,"isMonthChanging",!1);b(this,"bulkMetadataCache",null);b(this,"monthHeadersCache",null);b(this,"unifiedHeader");b(this,"unifiedRangeDisplay");b(this,"unifiedRollingSelector");b(this,"showingUnifiedRollingSelector",!1);b(this,"tooltip");b(this,"tooltipArrow");b(this,"currentTooltipTarget");b(this,"messageElement");b(this,"messageAutoHideTimeout");b(this,"actionButtonTooltipInstances",[]);b(this,"actionsContainer",null);b(this,"scrollEvents");b(this,"clickEvents");b(this,"scrollSubscriptions",[]);b(this,"clickSubscriptions",[]);b(this,"weekStartDay",0);b(this,"normalizedMinDate",null);b(this,"normalizedMaxDate",null);b(this,"normalizedDisabledDates",new Set);b(this,"normalizedSpecialDates",new Map);b(this,"locale","en");b(this,"localeStrings");b(this,"weekdayNames",[]);b(this,"monthNames",[]);if(this.input=a,this.containerElement=t.container||document.body,this.options={selectionMode:t.selectionMode||"single",calendarPlacement:t.calendarPlacement||(t.monthLayout==="grid"?"bottom":"bottom-start"),visibleMonthsCount:t.visibleMonthsCount||(t.selectionMode==="range"?2:1),dateFormatMask:t.dateFormatMask||"YYYY-MM-DD",calendarOpenTrigger:t.calendarOpenTrigger||"focus",onSelect:t.onSelect||void 0,container:this.containerElement,positioningMode:t.positioningMode||"floating",monthLayout:t.monthLayout||"horizontal",gridRows:t.gridRows,gridColumns:t.gridColumns,unifiedNavigation:t.unifiedNavigation||!1,unifiedNavigationAnchorIndex:t.unifiedNavigationAnchorIndex??0,unifiedHeaderInteractive:t.unifiedHeaderInteractive||!1,getUnifiedHeaderCallback:t.getUnifiedHeaderCallback,getMonthHeaderCallback:t.getMonthHeaderCallback,weekStartDay:t.weekStartDay!==void 0?t.weekStartDay:"auto",minDate:t.minDate,maxDate:t.maxDate,initialDate:t.initialDate,disabledDates:t.disabledDates,disabledWeekdays:t.disabledWeekdays,specialDates:t.specialDates,getDateMetadataCallback:t.getDateMetadataCallback,disabledDatesHandling:t.disabledDatesHandling||"allow",highlightDisabledInRange:t.highlightDisabledInRange!==void 0?t.highlightDisabledInRange:!0,locale:t.locale||"auto",displayFormatMask:t.displayFormatMask,customStrings:t.customStrings,monthNames:t.monthNames,formatSummaryCallback:t.formatSummaryCallback,beforeDateSelectCallback:t.beforeDateSelectCallback,beforeMonthChangedCallback:t.beforeMonthChangedCallback,showDebugInfo:t.showDebugInfo||!1,rollingYearRange:t.rollingYearRange,rollingMonthRange:t.rollingMonthRange,customStylesCallback:t.customStylesCallback,renderDayCallback:t.renderDayCallback,renderDayContentCallback:t.renderDayContentCallback,badgeTooltipCallback:t.badgeTooltipCallback,dayTooltipCallback:t.dayTooltipCallback,dateMember:t.dateMember,badgeTextMember:t.badgeTextMember,badgeClassMember:t.badgeClassMember,dayClassMember:t.dayClassMember,badgeTooltipMember:t.badgeTooltipMember,dayTooltipMember:t.dayTooltipMember,isDisabledMember:t.isDisabledMember,autoClose:t.autoClose||"selection",closeOnScroll:t.closeOnScroll!==void 0?t.closeOnScroll:!0,actionButtons:t.actionButtons,showTodayButton:t.showTodayButton!==void 0?t.showTodayButton:!0,showClearButton:t.showClearButton!==void 0?t.showClearButton:!0,showApplyButton:t.showApplyButton!==void 0?t.showApplyButton:t.selectionMode==="range"||t.selectionMode==="multiple"},this.options.showDebugInfo?Ge():Xe(),this.options.unifiedNavigation&&this.options.unifiedNavigationAnchorIndex!==void 0){const r=this.options.visibleMonthsCount-1;(this.options.unifiedNavigationAnchorIndex<0||this.options.unifiedNavigationAnchorIndex>r)&&(console.warn(`unifiedNavigationAnchorIndex (${this.options.unifiedNavigationAnchorIndex}) out of bounds. Using 0.`),this.options.unifiedNavigationAnchorIndex=0)}this.weekStartDay=P(this.options.weekStartDay),k.debug("Week starts on day:",this.weekStartDay),k.debug("disabledDatesHandling:",this.options.disabledDatesHandling),this.locale=Ie(this.options.locale),this.localeStrings=oa(this.locale,this.options.customStrings),this.weekdayNames=sa(this.locale),this.monthNames=this.options.monthNames||da(this.locale),k.debug("Locale:",this.locale,"Weekdays:",this.weekdayNames,"Months:",this.monthNames),this.initializeDateRestrictions(),this.formatInfo=this.parseFormat(this.options.dateFormatMask),k.debug("Format info:",this.formatInfo),this._previousInputValue="",this.currentDate=new Date;let n;if(this.options.initialDate)n=j(this.options.initialDate)||new Date,k.debug(`Using initialDate: ${n.toISOString()}`);else if(this.options.rollingYearRange||this.options.rollingMonthRange){const r=this.getEffectiveYearRange(),i=this.getEffectiveMonthRange(),o=r.min,s=i.min-1;n=new Date(o,s,1),k.debug(`Using first allowed year/month as initial: ${n.toISOString()}`)}else this.normalizedMinDate&&this.normalizedMinDate>new Date?(n=new Date(this.normalizedMinDate),k.debug(`Using minDate as initial: ${n.toISOString()}`)):this.normalizedMaxDate&&this.normalizedMaxDate<new Date?(n=new Date(this.normalizedMaxDate),k.debug(`Using maxDate as initial: ${n.toISOString()}`)):(n=new Date,k.debug(`Using current date as initial: ${n.toISOString()}`));this.monthDates=[];for(let r=0;r<this.options.visibleMonthsCount;r++){const i=new Date(n.getFullYear(),n.getMonth()+r,1);this.monthDates.push(i),k.debug(`monthDates[${r}] = ${i.getFullYear()}-${i.getMonth()+1}`)}if(this.options.selectionMode==="range"){this.displayMonths=[];for(let r=0;r<this.options.visibleMonthsCount;r++){const i=new Date(n.getFullYear(),n.getMonth()+r,1);this.displayMonths.push({month:i.getMonth(),year:i.getFullYear()})}}this.selectedDate=null,this.selectedStartDate=null,this.selectedEndDate=null,this.selectedRanges=[],this.selectedDates=[],this.pendingSelection=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.invalidRangeStart=null,this.invalidRangeEnd=null,this.autoScrollInterval=null,this.scrollEvents=Wn(),this.clickEvents=Kn(),this.init()}init(){k.debug("Init called"),this.createCalendar(),this.scrollEvents.init(),this.clickEvents.init(this.calendar,this.input),this.setupEventSubscriptions(),document.addEventListener(Q.ACTIVE_EVENT,this.onAnotherPickerActivated),this.input&&(this.attachInputListeners(),this.input.value&&(k.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.isFirstRender=!1,Jt(this)),k.debug("Init complete")}setupEventSubscriptions(){const a=this.scrollEvents.subscribe("window",()=>{var r;if(this.options.positioningMode==="floating"&&this.isOpen){if(this.options.closeOnScroll===!1)return;if(this.requiresApplyButton()){k.debug("Window scroll detected - NOT closing (Apply button required)");return}if((r=this.messageElement)!=null&&r.classList.contains("drp-date-picker__message--visible")){k.debug("Window scroll detected - NOT closing (message visible)");return}k.debug("Window scroll detected - closing calendar"),this.hide()}});this.scrollSubscriptions.push(a);const t=this.clickEvents.subscribe("outsideClick",r=>{if(k.debug("Outside click detected",r.target),this.options.positioningMode==="floating")this.hide();else{let i=!1;for(let o=0;o<this.showingRollingSelector.length;o++)this.showingRollingSelector[o]&&(this.showingRollingSelector[o]=!1,i=!0);this.showingUnifiedRollingSelector&&(this.showingUnifiedRollingSelector=!1,i=!0),i&&this.renderCalendar()}});this.clickSubscriptions.push(t);const n=this.clickEvents.subscribe("calendarClick",()=>{this.setCalendarActive()});this.clickSubscriptions.push(n)}initializeDateRestrictions(){if(this.normalizedMinDate=this.options.minDate?j(this.options.minDate):void 0,this.normalizedMaxDate=this.options.maxDate?j(this.options.maxDate):void 0,this.normalizedDisabledDates.clear(),this.options.disabledDates&&this.options.disabledDates.length>0&&this.options.disabledDates.forEach(a=>{const t=j(a);t&&this.normalizedDisabledDates.add(Me(t))}),this.normalizedSpecialDates.clear(),this.options.specialDates&&this.options.specialDates.length>0){const a=this.options.dateMember||"date";this.options.specialDates.forEach(t=>{const n=j(t[a]);n?this.normalizedSpecialDates.set(Me(n),t):k.warn("[Special Dates] Failed to normalize date:",t[a])})}}updateOptions(a){const t=["positioningMode","selectionMode","visibleMonthsCount","monthLayout","gridRows","gridColumns","unifiedNavigation","unifiedNavigationAnchorIndex","calendarOpenTrigger"],n=i=>Object.prototype.hasOwnProperty.call(a,i),r=i=>n(i)&&a[i]!==this.options[i];if(t.some(r))return!1;for(const i of Object.keys(a))this.options[i]=a[i];return n("weekStartDay")&&(this.weekStartDay=P(this.options.weekStartDay)),(n("locale")||n("customStrings")||n("monthNames"))&&(this.locale=Ie(this.options.locale),this.localeStrings=oa(this.locale,this.options.customStrings),this.weekdayNames=sa(this.locale),this.monthNames=this.options.monthNames||da(this.locale)),n("dateFormatMask")&&(this.formatInfo=this.parseFormat(this.options.dateFormatMask)),(n("minDate")||n("maxDate")||n("disabledDates")||n("specialDates")||n("dateMember"))&&this.initializeDateRestrictions(),n("showDebugInfo")&&(this.options.showDebugInfo?Ge():Xe()),this.renderCalendar(),!0}getEffectiveYearRange(){const a=new Date().getFullYear();return Qt(this.options.rollingYearRange,a,this)}getEffectiveMonthRange(){return Zt(this.options.rollingMonthRange)}renderButtons(a){this.destroyAllActionButtonTooltips(),a.innerHTML="",this.actionsContainer=a,(this.options.actionButtons||this.getDefaultButtons()).forEach(n=>{if(n.isVisibleCallback!==void 0){if(!n.isVisibleCallback(this))return}else if(n.isVisible!==void 0&&!n.isVisible)return;const r=document.createElement("button");r.className=`drp-date-picker__button drp-date-picker__button--${n.action}`;const i=n.getClassCallback?n.getClassCallback(this):n.cssClass;i&&(Array.isArray(i)?r.classList.add(...i):r.classList.add(i));const o=n.getTextCallback?n.getTextCallback(this):n.text;r.innerHTML=o,(n.isDisabledCallback?n.isDisabledCallback(this):n.isDisabled??!1)&&(r.disabled=!0),r.dataset.action=n.action,n.onClick&&(r._customOnClick=n.onClick),a.appendChild(r)}),this.attachActionButtonTooltips()}getDefaultButtons(){const a=[];return this.options.showTodayButton&&a.push({action:"today",text:this.localeStrings.today}),this.options.showClearButton&&a.push({action:"clear",text:this.localeStrings.clear}),this.options.showApplyButton&&a.push({action:"apply",text:this.localeStrings.apply}),a}attachActionButtonTooltips(){if(!this.actionsContainer)return;const a=this.options.actionButtons||this.getDefaultButtons(),t=this.options.container||document.body;this.actionsContainer.querySelectorAll(".drp-date-picker__button").forEach((r,i)=>{const o=r,s=o.dataset.action;if(!s)return;const d=a.find(l=>l.action===s);if(!d)return;const c=d.getTooltipCallback?d.getTooltipCallback(this):d.tooltip;c&&(o.dataset.tooltipId=`action-${i}`,this.actionButtonTooltipInstances.push(new jn(o,c,{container:t})))})}destroyAllActionButtonTooltips(){this.actionButtonTooltipInstances.forEach(a=>a.destroy()),this.actionButtonTooltipInstances=[]}parseMonthRange(a){const[t,n]=a.split("-");return{min:parseInt(t,10),max:parseInt(n,10)}}isDateDisabledInternal(a){const t=this.getEffectiveYearRange(),n=a.getFullYear();if(n<t.min||n>t.max)return!0;const r=this.getEffectiveMonthRange(),i=a.getMonth()+1;return i<r.min||i>r.max?!0:ua(a,this.normalizedMinDate,this.normalizedMaxDate,this.normalizedDisabledDates,this.options.disabledWeekdays)}getDateInfoInternal(a){const t=Me(a);if(this.bulkMetadataCache&&this.bulkMetadataCache.has(t)){const n=this.bulkMetadataCache.get(t);return{...n,isDisabled:n.isDisabled!==void 0?n.isDisabled:this.isDateDisabledInternal(a)}}if(this.options.getDateMetadataCallback){const n=this.options.getDateMetadataCallback(a);if(n)return{...n,isDisabled:n.isDisabled!==void 0?n.isDisabled:this.isDateDisabledInternal(a)}}if(this.normalizedSpecialDates.has(t)){const n=this.normalizedSpecialDates.get(t),r=this.options.badgeTextMember||"badgeText",i=this.options.badgeClassMember||"badgeClass",o=this.options.dayClassMember||"dayClass",s=this.options.badgeTooltipMember||"badgeTooltip",d=this.options.dayTooltipMember||"dayTooltip",c=this.options.isDisabledMember||"isDisabled";return{isDisabled:n[c]!==void 0?n[c]:this.isDateDisabledInternal(a),badgeClass:n[i],dayClass:n[o],badgeText:n[r],badgeTooltip:n[s],dayTooltip:n[d]}}return null}hasDisabledDatesInRange(a,t){return ga(a,t,n=>this.isDateDisabledInternal(n))}getEnabledDatesInRange(a,t){return ha(a,t,n=>this.isDateDisabledInternal(n))}getDisabledDatesInRange(a,t){return fa(a,t,n=>this.isDateDisabledInternal(n))}findLastEnabledBeforeGap(a,t){return ma(a,t,n=>this.isDateDisabledInternal(n))}splitRangeByDisabled(a,t){return ba(a,t,n=>this.isDateDisabledInternal(n))}isToday(a){return Dt(a)}isSameDay(a,t){return _t(a,t)}isInRange(a){return ya(a,this.selectedStartDate,this.selectedEndDate)}requiresApplyButton(){return this.options.autoClose==="apply"}shouldAutoClose(){return this.options.selectionMode==="multiple"?!1:this.options.autoClose==="selection"}createCalendar(){if(k.debug("Creating calendar"),this.calendar=document.createElement("div"),this.calendar.className="drp-date-picker",this.options.unifiedNavigation&&this.calendar.classList.add("drp-date-picker--unified-nav"),this.options.unifiedNavigation){this.unifiedHeader=document.createElement("div"),this.unifiedHeader.className="drp-date-picker__unified-header";const n=this.options.unifiedHeaderInteractive?"":" drp-date-picker__unified-range--static",r=this.options.unifiedHeaderInteractive?' data-action="toggle-unified-rolling"':"";this.unifiedHeader.innerHTML=`
12
+ `}}function Xn(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 t=e.options.disabledDatesHandling==="block"&&e.hasDisabledDatesInRange(e.dragPreviewStart,e.dragPreviewEnd);e.calendar.querySelectorAll(".drp-date-picker__day").forEach(r=>{const i=r.dataset.date;if(!i)return;const[o,s,d]=i.split("-").map(Number),l=new Date(o,s-1,d);l>=e.dragPreviewStart&&l<=e.dragPreviewEnd&&(r.classList.add("drp-date-picker__day--drag-preview"),t&&r.classList.add("drp-date-picker__day--drag-invalid"))}),sa(e)}const yt={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 a=navigator.language.split("-")[0].toLowerCase();return yt[a]?a:"en"}return"en"}function da(e,a){const t=ke(e),n=yt[t]||yt.en;return a?{...n,...a}:n}function la(e){const a=ke(e);try{const t=new Intl.DateTimeFormat(a,{weekday:"short"}),n=[];for(let r=0;r<7;r++){const i=new Date(2017,0,r+1);n.push(t.format(i))}return n}catch(t){return V.warn("getWeekdayNames() - Intl.DateTimeFormat failed, using English weekdays",t),["Su","Mo","Tu","We","Th","Fr","Sa"]}}function ca(e){const a=ke(e);try{const t=new Intl.DateTimeFormat(a,{month:"long"}),n=[];for(let r=0;r<12;r++){const i=new Date(2017,r,1);n.push(t.format(i))}return n}catch(t){return V.warn("getMonthNames() - Intl.DateTimeFormat failed, using English months",t),["January","February","March","April","May","June","July","August","September","October","November","December"]}}class Jn{constructor(a,t,n={}){b(this,"element");b(this,"target");b(this,"opts");b(this,"showTimer");b(this,"hideTimer");b(this,"autoUpdateCleanup");b(this,"onEnter",()=>this.scheduleShow());b(this,"onLeave",()=>this.scheduleHide());this.target=a,this.opts={container:n.container??document.body,showDelay:n.showDelay??300,hideDelay:n.hideDelay??100,placement:n.placement??"top",offsetDistance:n.offsetDistance??8,className:n.className??"drp-date-picker__tooltip",visibleClassName:n.visibleClassName??"drp-date-picker__tooltip--visible"},this.element=document.createElement("div"),this.element.className=this.opts.className,this.element.textContent=t,this.opts.container.appendChild(this.element),a.addEventListener("mouseenter",this.onEnter),a.addEventListener("mouseleave",this.onLeave)}setText(a){this.element.textContent=a}scheduleShow(){this.hideTimer!==void 0&&(clearTimeout(this.hideTimer),this.hideTimer=void 0),this.showTimer=window.setTimeout(()=>this.show(),this.opts.showDelay)}scheduleHide(){this.showTimer!==void 0&&(clearTimeout(this.showTimer),this.showTimer=void 0),this.hideTimer=window.setTimeout(()=>this.hide(),this.opts.hideDelay)}show(){var a;this.element.classList.add(this.opts.visibleClassName),(a=this.autoUpdateCleanup)==null||a.call(this),this.autoUpdateCleanup=Ut(this.target,this.element,()=>{pt(this.target,this.element,{placement:this.opts.placement,strategy:"fixed",middleware:[dt(this.opts.offsetDistance),ct(),lt({padding:8})]}).then(({x:t,y:n})=>{Object.assign(this.element.style,{left:`${t}px`,top:`${n}px`})})})}hide(){var a;this.element.classList.remove(this.opts.visibleClassName),(a=this.autoUpdateCleanup)==null||a.call(this),this.autoUpdateCleanup=void 0}destroy(){var a;this.showTimer!==void 0&&clearTimeout(this.showTimer),this.hideTimer!==void 0&&clearTimeout(this.hideTimer),(a=this.autoUpdateCleanup)==null||a.call(this),this.target.removeEventListener("mouseenter",this.onEnter),this.target.removeEventListener("mouseleave",this.onLeave),this.element.remove()}}function Qn(){const e=new Set,a=new Set;let t=null,n=!1,r=!1;const i=()=>{e.forEach(s=>s())},o=()=>{a.forEach(s=>s())};return{subscribe(s,d){const l=s==="window"?e:a;return l.add(d),{unsubscribe:()=>{l.delete(d)}}},init(s){n||(window.addEventListener("scroll",i,{capture:!0,passive:!0}),n=!0),s&&!r&&(t=s,s.addEventListener("scroll",o,{passive:!0}),r=!0)},destroy(){n&&(window.removeEventListener("scroll",i,!0),n=!1),t&&r&&(t.removeEventListener("scroll",o),r=!1),t=null,e.clear(),a.clear()}}}function Zn(){const e={outsideClick:new Set,calendarClick:new Set};let a=null,t=null,n=null,r=!1,i=!1;const o=(c,p)=>{for(const u of e[c])if(u(p)===!0)return!0;return!1},s=c=>{i=!0;const p=c,u=p.composedPath(),g=u[0]||p.target;o("calendarClick",{target:g,event:p,path:u})},d=()=>{setTimeout(()=>{i&&(i=!1)},10)},l=c=>{var x;if(!a)return;if(i){i=!1;return}const p=c,u=p.composedPath?p.composedPath():[],g=u[0]||p.target,m=u.includes(a),h=t&&u.includes(t),v=n&&u.includes(n),f=(x=g.closest)==null?void 0:x.call(g,"[data-calendar-button]");!m&&!h&&!v&&!f&&o("outsideClick",{target:g,event:p,path:u})};return{subscribe(c,p){return e[c].add(p),{unsubscribe:()=>{e[c].delete(p)}}},init(c,p,u){a=c,t=p||null,n=u||null,c.addEventListener("mousedown",s),c.addEventListener("mouseup",d),r||(document.addEventListener("click",l,!0),r=!0)},updateReferences(c,p){t=c||null,n=p||null},destroy(){a&&(a.removeEventListener("mousedown",s),a.removeEventListener("mouseup",d)),r&&(document.removeEventListener("click",l,!0),r=!1),a=null,t=null,n=null,i=!1,Object.values(e).forEach(c=>c.clear())}}}const pa=':host,:root{--drp-rem: 10px;font-family:var(--drp-font-family, var(--base-font-family, inherit));--drp-spacing-xs: calc(.4 * var(--drp-rem));--drp-spacing-sm: calc(.8 * var(--drp-rem));--drp-spacing-md: calc(1.6 * var(--drp-rem));--drp-spacing-lg: calc(2.4 * var(--drp-rem));--drp-spacing-xl: calc(3.2 * var(--drp-rem));--drp-font-size-2xs: calc(var(--base-font-size-2xs, 1) * var(--drp-rem));--drp-font-size-xs: calc(var(--base-font-size-xs, 1.2) * var(--drp-rem));--drp-font-size-sm: calc(var(--base-font-size-sm, 1.4) * var(--drp-rem));--drp-font-size-base: calc(var(--base-font-size-base, 1.6) * var(--drp-rem));--drp-font-size-lg: calc(var(--base-font-size-lg, 1.8) * var(--drp-rem));--drp-font-size-xl: calc(var(--base-font-size-xl, 2) * var(--drp-rem));--drp-font-size-2xl: calc(var(--base-font-size-2xl, 2.4) * var(--drp-rem));--drp-font-weight-normal: var(--base-font-weight-normal, 400);--drp-font-weight-medium: var(--base-font-weight-medium, 500);--drp-font-weight-semibold: var(--base-font-weight-semibold, 600);--drp-line-height-tight: var(--base-line-height-tight, 1.25);--drp-line-height-normal: var(--base-line-height-normal, 1.5);--drp-line-height-relaxed: var(--base-line-height-relaxed, 1.75);--drp-dropdown-bg: var(--base-dropdown-bg, #ffffff);--drp-border-color: var(--base-border-color, #e5e7eb);--drp-border: var(--base-border, var(--drp-border-width-base) solid var(--drp-border-color));--drp-primary-bg: var(--base-main-bg, #f3f4f6);--drp-primary-bg-hover: var(--base-hover-bg, #e5e7eb);--drp-accent-color: var(--base-accent-color, #3b82f6);--drp-accent-color-hover: var(--base-accent-color-hover, #2563eb);--drp-text-primary: var(--base-text-color-1, #111827);--drp-text-secondary: var(--base-text-color-3, #6b7280);--drp-text-color-on-accent: var(--base-text-color-on-accent, #ffffff);--drp-button-accent-text-color: var(--drp-text-color-on-accent);--drp-tooltip-bg: var(--base-tooltip-bg, #111827);--drp-tooltip-text-color: var(--base-tooltip-text-color, #ffffff);--drp-loading-overlay-bg: rgba(255, 255, 255, .8);--drp-loading-spinner-size: 40px;--drp-loading-spinner-border-width: 4px;--drp-loading-spinner-color: var(--drp-border-color);--drp-loading-spinner-accent: var(--drp-accent-color);--drp-border-width-base: 1px;--drp-border-radius-sm: calc(var(--base-border-radius-sm, .4) * var(--drp-rem));--drp-border-radius-md: calc(var(--base-border-radius-md, .6) * var(--drp-rem));--drp-border-radius-lg: calc(var(--base-border-radius-lg, .8) * var(--drp-rem));--drp-border-radius: var(--drp-border-radius-md);--drp-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--drp-transition-fast: .15s;--drp-easing-snappy: cubic-bezier(.4, 0, .2, 1);--drp-z-index-dropdown: 9500;--drp-z-index-modal-backdrop: 9700;--drp-z-index-modal: 9800;--drp-z-index-tooltip: 9999;--drp-modal-gap: 16px;--drp-modal-backdrop-bg: rgba(0, 0, 0, .45);--drp-modal-transition: .15s ease-out;--drp-modal-width-xs: calc(100vw - 2 * var(--drp-modal-gap));--drp-modal-width-sm: calc(100vw - 2 * var(--drp-modal-gap));--drp-modal-width-md: 900px;--drp-modal-width-lg: 1100px;--drp-input-padding-h: calc(1.2 * var(--drp-rem));--drp-grid-columns: 3;--drp-grid-rows: 2;--drp-opacity-disabled: .6;--drp-opacity-other-month: .5;--drp-opacity-hover: .8;--drp-opacity-dragging: .7;--drp-input-bg: var(--base-input-bg, var(--drp-dropdown-bg));--drp-input-color: var(--base-input-color, var(--drp-text-primary));--drp-input-border: var(--base-input-border, var(--drp-border));--drp-input-border-hover: var(--base-input-border-hover, var(--drp-border-width-base) solid var(--drp-accent-color));--drp-input-border-focus: var(--base-input-border-focus, var(--drp-border-width-base) solid var(--drp-accent-color));--drp-input-placeholder-color: var(--base-input-placeholder-color, var(--drp-text-secondary));--drp-input-bg-disabled: var(--base-input-bg-disabled, var(--drp-primary-bg));--drp-input-focus-shadow-color: rgba(59, 130, 246, .1);--drp-input-focus-shadow-size: 3px;--drp-input-icon-opacity: .6;--drp-input-size-xs-font: var(--drp-font-size-xs);--drp-input-size-xs-padding-v: var(--drp-spacing-xs);--drp-input-size-xs-padding-h: calc(.8 * var(--drp-rem));--drp-input-size-xs-height: calc(var(--base-input-size-xs-height, 3.1) * var(--drp-rem));--drp-input-size-xs-icon-size: .75em;--drp-input-size-sm-font: calc(1.3 * var(--drp-rem));--drp-input-size-sm-padding-v: calc(.5 * var(--drp-rem));--drp-input-size-sm-padding-h: var(--drp-spacing-sm);--drp-input-size-sm-height: calc(var(--base-input-size-sm-height, 3.3) * var(--drp-rem));--drp-input-size-sm-icon-size: .875em;--drp-input-size-md-font: calc(1.4 * var(--drp-rem));--drp-input-size-md-padding-v: var(--drp-spacing-sm);--drp-input-size-md-padding-h: calc(1.2 * var(--drp-rem));--drp-input-size-md-height: calc(var(--base-input-size-md-height, 3.5) * var(--drp-rem));--drp-input-size-md-icon-size: 1em;--drp-input-size-lg-font: calc(1.6 * var(--drp-rem));--drp-input-size-lg-padding-v: calc(1 * var(--drp-rem));--drp-input-size-lg-padding-h: calc(1.4 * var(--drp-rem));--drp-input-size-lg-height: calc(var(--base-input-size-lg-height, 3.8) * var(--drp-rem));--drp-input-size-lg-icon-size: 1.125em;--drp-input-size-xl-font: calc(1.8 * var(--drp-rem));--drp-input-size-xl-padding-v: calc(1.2 * var(--drp-rem));--drp-input-size-xl-padding-h: calc(1.6 * var(--drp-rem));--drp-input-size-xl-height: calc(var(--base-input-size-xl-height, 4.1) * var(--drp-rem));--drp-input-size-xl-icon-size: 1.25em;--drp-header-text-color: var(--drp-text-primary);--drp-header-bg-hover: var(--drp-primary-bg);--drp-header-bg-active: var(--drp-primary-bg-hover);--drp-nav-text-color: var(--drp-text-primary);--drp-nav-border-color: var(--drp-border-color);--drp-nav-border: var(--drp-border-width-base) solid var(--drp-nav-border-color);--drp-nav-bg-hover: var(--drp-primary-bg);--drp-nav-bg-active: var(--drp-primary-bg-hover);--drp-nav-border-hover: var(--drp-accent-color);--drp-nav-border-hover-full: var(--drp-border-width-base) solid var(--drp-nav-border-hover);--drp-nav-size: calc(3.2 * var(--drp-rem));--drp-rolling-bg: var(--drp-primary-bg);--drp-rolling-border-color: var(--drp-border-color);--drp-rolling-border: var(--drp-border-width-base) solid var(--drp-rolling-border-color);--drp-rolling-scrollbar-width: 6px;--drp-rolling-scrollbar-thumb: var(--drp-border-color);--drp-rolling-scrollbar-thumb-hover: var(--drp-accent-color);--drp-rolling-item-bg-hover: var(--drp-primary-bg);--drp-rolling-item-color: var(--drp-text-primary);--drp-rolling-item-bg-selected: var(--drp-accent-color);--drp-rolling-item-color-selected: var(--drp-text-color-on-accent);--drp-rolling-item-bg-selected-hover: var(--drp-accent-color-hover);--drp-rolling-item-justify-content: center;--drp-rolling-item-min-height: calc(3.2 * var(--drp-rem));--drp-rolling-item-padding-v: var(--drp-spacing-xs);--drp-rolling-item-padding-h: var(--drp-spacing-md);--drp-rolling-item-font-size: var(--drp-font-size-sm);--drp-rolling-item-font-weight-selected: var(--drp-font-weight-semibold);--drp-weekday-color: var(--drp-text-secondary);--drp-day-text-color: var(--drp-text-primary);--drp-day-bg-hover: var(--drp-primary-bg);--drp-day-border-hover: var(--drp-accent-color);--drp-day-today-border: var(--drp-accent-color);--drp-day-selected-bg: var(--drp-accent-color);--drp-day-selected-color: var(--drp-text-color-on-accent);--drp-day-selected-bg-hover: var(--drp-accent-color-hover);--drp-day-selected-color-hover: var(--drp-day-selected-color);--drp-day-focused-outline: var(--drp-accent-color);--drp-day-disabled-color: var(--drp-text-secondary);--drp-day-disabled-bg: var(--base-disabled-bg, transparent);--drp-day-other-month-color: var(--drp-text-secondary);--drp-day-range-bg: var(--drp-accent-color);--drp-day-range-bg-hover: var(--drp-accent-color-hover);--drp-day-range-color: var(--drp-text-color-on-accent);--drp-day-range-color-hover: var(--drp-day-range-color);--drp-day-border-width: 2px;--drp-day-border-color: transparent;--drp-day-border: var(--drp-day-border-width) solid var(--drp-day-border-color);--drp-day-focused-outline-width: 2px;--drp-day-focused-outline-offset: 2px;--drp-day-in-range-bg-opacity: .15;--drp-day-in-range-hover-bg-opacity: .25;--drp-day-drag-preview-bg-opacity: .3;--drp-day-drag-preview-edge-bg-opacity: .6;--drp-day-invalid-range-bg: var(--drp-message-error-border);--drp-day-invalid-range-color: var(--drp-text-color-on-accent);--drp-day-disabled-pattern-opacity: .1;--drp-day-dragging-scale: 1.1;--drp-day-drag-preview-border-style: dashed;--drp-day-drag-border: var(--drp-day-border-width) var(--drp-day-drag-preview-border-style) var(--drp-day-range-bg);--drp-day-drag-invalid-bg: #ef4444;--drp-day-drag-invalid-bg-opacity: .2;--drp-holiday-color: #ef4444;--drp-holiday-bg-opacity: .1;--drp-holiday-hover-bg-opacity: .2;--drp-event-color: #10b981;--drp-event-bg-opacity: .1;--drp-event-hover-bg-opacity: .2;--drp-summary-text-color: var(--drp-text-secondary);--drp-summary-border-color: var(--drp-border-color);--drp-summary-border: var(--drp-border-width-base) solid var(--drp-summary-border-color);--drp-summary-count-color: var(--drp-accent-color);--drp-button-border-color: var(--drp-border-color);--drp-button-border: var(--drp-border-width-base) solid var(--drp-button-border-color);--drp-button-bg: transparent;--drp-button-bg-hover: var(--drp-primary-bg);--drp-button-color: var(--drp-text-primary);--drp-button-border-hover: var(--drp-accent-color);--drp-button-border-hover-full: var(--drp-border-width-base) solid var(--drp-button-border-hover);--drp-button-today-color: var(--drp-accent-color);--drp-button-clear-color: var(--drp-text-secondary);--drp-button-cancel-color: var(--drp-text-secondary);--drp-button-apply-bg: var(--drp-accent-color);--drp-button-apply-color: var(--drp-button-accent-text-color);--drp-button-apply-border: var(--drp-accent-color);--drp-button-apply-bg-hover: var(--drp-accent-color-hover);--drp-badge-font-size: var(--drp-font-size-2xs);--drp-badge-padding-v: 1px;--drp-badge-padding-h: 2px;--drp-badge-border-radius: 2px;--drp-badge-max-height: var(--drp-font-size-base);--drp-badge-row-height: var(--drp-badge-max-height);--drp-badge-number-bg: var(--drp-accent-color);--drp-badge-number-color: var(--drp-text-color-on-accent);--drp-badge-count-bg: #ef4444;--drp-badge-count-color: #ffffff;--drp-badge-text-bg: var(--drp-text-secondary);--drp-badge-text-color: #ffffff;--drp-unified-range-text-color: var(--drp-text-primary);--drp-unified-range-bg-hover: var(--drp-primary-bg);--drp-unified-range-bg-active: var(--drp-primary-bg-hover);--drp-unified-month-color: var(--drp-text-secondary);--drp-unified-rolling-disabled-color: var(--drp-text-secondary);--drp-tooltip-line-height: 1.4;--drp-tooltip-max-width: 200px;--drp-tooltip-arrow-size: 8px;--drp-message-error-bg: #fef2f2;--drp-message-error-color: #991b1b;--drp-message-error-border: #fecaca;--drp-message-warning-bg: #fffbeb;--drp-message-warning-color: #92400e;--drp-message-warning-border: #fde68a;--drp-message-info-bg: #eff6ff;--drp-message-info-color: #1e40af;--drp-message-info-border: #bfdbfe;--drp-message-success-bg: #f0fdf4;--drp-message-success-color: #166534;--drp-message-success-border: #bbf7d0;--drp-month-min-width: 280px;--drp-month-min-width-inline: 250px;--drp-calendar-max-width: calc(100vw - 2rem) }.drp-input{width:100%;font-family:var(--drp-font-family, var(--base-font-family, inherit));font-size:var(--drp-input-size-md-font);line-height:var(--drp-line-height-normal);color:var(--drp-input-color);background-color:var(--drp-input-bg);border:var(--drp-input-border);border-radius:var(--drp-border-radius);padding:var(--drp-input-size-md-padding-v) var(--drp-input-size-md-padding-h);padding-right:calc(var(--drp-input-size-md-padding-h) * 2.5);height:var(--drp-input-size-md-height);box-sizing:border-box;transition:border-color var(--drp-transition-fast) var(--drp-easing-snappy),box-shadow var(--drp-transition-fast) var(--drp-easing-snappy)}.drp-input::placeholder{color:var(--drp-input-placeholder-color);opacity:.6}.drp-input:hover:not(:disabled){border:var(--drp-input-border-hover)}.drp-input:focus{outline:none;border:var(--drp-input-border-focus);box-shadow:0 0 0 var(--drp-input-focus-shadow-size) var(--drp-input-focus-shadow-color)}.drp-input:disabled{opacity:var(--drp-opacity-disabled);cursor:not-allowed;background-color:var(--drp-input-bg-disabled)}.drp-input.drp-input--xs{font-size:var(--drp-input-size-xs-font);padding:var(--drp-input-size-xs-padding-v) var(--drp-input-size-xs-padding-h);padding-right:calc(var(--drp-input-size-xs-padding-h) * 2.5);height:var(--drp-input-size-xs-height)}.drp-input.drp-input--sm{font-size:var(--drp-input-size-sm-font);padding:var(--drp-input-size-sm-padding-v) var(--drp-input-size-sm-padding-h);padding-right:calc(var(--drp-input-size-sm-padding-h) * 2.5);height:var(--drp-input-size-sm-height)}.drp-input.drp-input--lg{font-size:var(--drp-input-size-lg-font);padding:var(--drp-input-size-lg-padding-v) var(--drp-input-size-lg-padding-h);padding-right:calc(var(--drp-input-size-lg-padding-h) * 2.5);height:var(--drp-input-size-lg-height)}.drp-input.drp-input--xl{font-size:var(--drp-input-size-xl-font);padding:var(--drp-input-size-xl-padding-v) var(--drp-input-size-xl-padding-h);padding-right:calc(var(--drp-input-size-xl-padding-h) * 2.5);height:var(--drp-input-size-xl-height)}.drp-date-picker-input{position:relative;cursor:pointer;display:inline-block;width:100%}.drp-date-picker-input:after{content:"📅";position:absolute;right:var(--drp-input-size-md-padding-h);top:50%;transform:translateY(-50%);pointer-events:none;opacity:var(--drp-input-icon-opacity);font-size:var(--drp-input-size-md-icon-size)}.drp-date-picker-input.drp-date-picker-input--xs:after{right:var(--drp-input-size-xs-padding-h);font-size:var(--drp-input-size-xs-icon-size)}.drp-date-picker-input.drp-date-picker-input--sm:after{right:var(--drp-input-size-sm-padding-h);font-size:var(--drp-input-size-sm-icon-size)}.drp-date-picker-input.drp-date-picker-input--lg:after{right:var(--drp-input-size-lg-padding-h);font-size:var(--drp-input-size-lg-icon-size)}.drp-date-picker-input.drp-date-picker-input--xl:after{right:var(--drp-input-size-xl-padding-h);font-size:var(--drp-input-size-xl-icon-size)}.drp-date-picker{position:absolute;z-index:var(--drp-z-index-dropdown);font-family:var(--drp-font-family, var(--base-font-family, inherit));background:var(--drp-dropdown-bg);border:var(--drp-border);border-radius:var(--drp-border-radius-lg);box-shadow:var(--drp-shadow-xl);padding:var(--drp-spacing-md);min-width:var(--drp-month-min-width);max-width:var(--drp-calendar-max-width);box-sizing:border-box;-webkit-user-select:none;user-select:none}.drp-date-picker:not(.drp-date-picker--inline){display:flex;flex-direction:column;overflow:hidden}.drp-date-picker:not(.drp-date-picker--inline)>.drp-date-picker__months,.drp-date-picker:not(.drp-date-picker--inline)>.drp-date-picker__months--grid{flex:1 1 auto;min-height:0;overflow-y:auto}.drp-date-picker:not(.drp-date-picker--inline)>.drp-date-picker__unified-header,.drp-date-picker:not(.drp-date-picker--inline)>.drp-date-picker__summary,.drp-date-picker:not(.drp-date-picker--inline)>.drp-date-picker__actions{flex-shrink:0}.drp-date-picker:not(.drp-date-picker--inline) .drp-date-picker__month .drp-date-picker__header{position:sticky;top:0;background:var(--drp-dropdown-bg);z-index:2}.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:var(--drp-month-min-width);display:flex;flex-direction:column}.drp-date-picker--inline .drp-date-picker__month{min-width:var(--drp-month-min-width-inline)}.drp-date-picker__months--grid .drp-date-picker__month{min-width:0;width:100%}.drp-date-picker__calendar-container{position:relative;flex:1;display:flex;flex-direction:column;min-height:0}.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__header--static{justify-content:center}.drp-date-picker__header--static .drp-date-picker__month-year{cursor:default}.drp-date-picker__header--static .drp-date-picker__month-year:hover{background-color:transparent}.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-header-text-color);padding:var(--drp-spacing-sm) var(--drp-spacing-md);border-radius:var(--drp-border-radius);cursor:pointer}.drp-date-picker__month-year:hover{background-color:var(--drp-header-bg-hover)}.drp-date-picker__month-year:active{background-color:var(--drp-header-bg-active)}.drp-date-picker__nav{width:var(--drp-nav-size);height:var(--drp-nav-size);display:flex;align-items:center;justify-content:center;border:var(--drp-nav-border);border-radius:var(--drp-border-radius);background:transparent;cursor:pointer;font-size:var(--drp-font-size-lg);color:var(--drp-nav-text-color)}.drp-date-picker__nav:hover{background-color:var(--drp-nav-bg-hover);border:var(--drp-nav-border-hover-full)}.drp-date-picker__nav:active{background-color:var(--drp-nav-bg-active)}.drp-date-picker__nav--disabled,.drp-date-picker__nav[disabled]{opacity:var(--drp-opacity-disabled);cursor:not-allowed;pointer-events:none}.drp-date-picker__nav--disabled:hover,.drp-date-picker__nav[disabled]:hover{background-color:transparent;border:var(--drp-nav-border)}.drp-date-picker__nav--prev:before{content:"‹"}.drp-date-picker__nav--next:before{content:"›"}.drp-date-picker__rolling-selector{position:absolute;top:0;right:0;bottom:0;left:0;display:none;z-index:10;gap:var(--drp-spacing-xs)}.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{visibility:hidden}.drp-date-picker__rolling-list{flex:1;min-width:0;height:100%;overflow-y:auto;border:var(--drp-rolling-border);border-radius:var(--drp-border-radius-lg);display:flex;flex-direction:column;scroll-behavior:smooth}.drp-date-picker__rolling-list::-webkit-scrollbar{width:var(--drp-rolling-scrollbar-width)}.drp-date-picker__rolling-list::-webkit-scrollbar-track{background:var(--drp-rolling-bg)}.drp-date-picker__rolling-list::-webkit-scrollbar-thumb{background:var(--drp-rolling-scrollbar-thumb);border-radius:3px}.drp-date-picker__rolling-list::-webkit-scrollbar-thumb:hover{background:var(--drp-rolling-scrollbar-thumb-hover)}.drp-date-picker__rolling-item{padding:var(--drp-rolling-item-padding-v) var(--drp-rolling-item-padding-h);cursor:pointer;font-size:var(--drp-rolling-item-font-size);color:var(--drp-rolling-item-color);min-height:var(--drp-rolling-item-min-height);flex-shrink:0;display:flex;align-items:center;justify-content:var(--drp-rolling-item-justify-content)}.drp-date-picker__rolling-item:hover{background-color:var(--drp-rolling-item-bg-hover)}.drp-date-picker__rolling-item--selected{background-color:var(--drp-rolling-item-bg-selected);color:var(--drp-rolling-item-color-selected);font-weight:var(--drp-rolling-item-font-weight-selected)}.drp-date-picker__rolling-item--selected:hover{background-color:var(--drp-rolling-item-bg-selected-hover)}.drp-date-picker__rolling-item-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%;min-width:0}.drp-date-picker__unified-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--drp-spacing-lg);gap:var(--drp-spacing-sm);padding:0 var(--drp-spacing-sm)}.drp-date-picker__unified-range{flex:1;text-align:center;font-weight:var(--drp-font-weight-semibold);font-size:var(--drp-font-size-lg);color:var(--drp-unified-range-text-color);padding:var(--drp-spacing-sm) var(--drp-spacing-md);border-radius:var(--drp-border-radius);cursor:pointer}.drp-date-picker__unified-range:hover{background-color:var(--drp-unified-range-bg-hover)}.drp-date-picker__unified-range:active{background-color:var(--drp-unified-range-bg-active)}.drp-date-picker__unified-range--static{cursor:default!important}.drp-date-picker__unified-range--static:hover,.drp-date-picker__unified-range--static:active{background-color:transparent}.drp-date-picker__unified-rolling-selector{position:absolute;top:calc(var(--drp-spacing-lg) + var(--drp-spacing-lg) * 2);left:50%;transform:translate(-50%);width:min(90%,450px);height:350px;max-height:350px;display:none;z-index:100;background:var(--drp-dropdown-bg);gap:var(--drp-spacing-xs)}.drp-date-picker__unified-rolling-selector--visible{display:flex}.drp-date-picker__unified-rolling-selector .drp-date-picker__rolling-list{flex:1;min-width:0;height:100%;overflow-y:auto;border:var(--drp-rolling-border);border-radius:var(--drp-border-radius-lg);display:flex;flex-direction:column;scroll-behavior:smooth}.drp-date-picker__unified-rolling-selector .drp-date-picker__rolling-list::-webkit-scrollbar{width:var(--drp-rolling-scrollbar-width)}.drp-date-picker__unified-rolling-selector .drp-date-picker__rolling-list::-webkit-scrollbar-track{background:var(--drp-rolling-bg)}.drp-date-picker__unified-rolling-selector .drp-date-picker__rolling-list::-webkit-scrollbar-thumb{background:var(--drp-rolling-scrollbar-thumb);border-radius:3px}.drp-date-picker__unified-rolling-selector .drp-date-picker__rolling-list::-webkit-scrollbar-thumb:hover{background:var(--drp-rolling-scrollbar-thumb-hover)}.drp-date-picker__unified-rolling-selector .drp-date-picker__rolling-item{padding:var(--drp-rolling-item-padding-v) var(--drp-rolling-item-padding-h);cursor:pointer;font-size:var(--drp-rolling-item-font-size);min-height:var(--drp-rolling-item-min-height);flex-shrink:0;display:flex;align-items:center;justify-content:var(--drp-rolling-item-justify-content)}.drp-date-picker__unified-rolling-selector .drp-date-picker__rolling-item:hover{background-color:var(--drp-rolling-item-bg-hover)}.drp-date-picker__unified-rolling-selector .drp-date-picker__rolling-item--selected{background-color:var(--drp-rolling-item-bg-selected);color:var(--drp-rolling-item-color-selected);font-weight:var(--drp-rolling-item-font-weight-selected)}.drp-date-picker__unified-rolling-selector .drp-date-picker__rolling-item--selected:hover{background-color:var(--drp-rolling-item-bg-selected-hover)}.drp-date-picker__unified-rolling-selector .drp-date-picker__rolling-item--disabled{color:var(--drp-unified-rolling-disabled-color);opacity:.4;cursor:not-allowed}.drp-date-picker__unified-rolling-selector .drp-date-picker__rolling-item-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%;min-width:0}.drp-date-picker--unified-nav .drp-date-picker__month .drp-date-picker__header .drp-date-picker__nav{display:none}.drp-date-picker--unified-nav .drp-date-picker__month .drp-date-picker__header .drp-date-picker__month-year{cursor:default;font-size:var(--drp-font-size-base);font-weight:var(--drp-font-weight-normal);color:var(--drp-unified-month-color)}.drp-date-picker--unified-nav .drp-date-picker__month .drp-date-picker__header .drp-date-picker__month-year:hover{background-color:transparent}.drp-date-picker--unified-nav .drp-date-picker__month .drp-date-picker__rolling-selector{display:none!important}.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-weekday-color);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-day-text-color);border-radius:var(--drp-border-radius-sm);cursor:pointer;border:var(--drp-day-border);position:relative}.drp-date-picker__day:hover:not(.drp-date-picker__day--disabled):not(.drp-date-picker__day--other-month){background-color:var(--drp-day-bg-hover);border-color:var(--drp-day-border-hover)}.drp-date-picker__day--today{border-color:var(--drp-day-today-border);font-weight:var(--drp-font-weight-semibold)}.drp-date-picker__day--selected{background-color:var(--drp-day-selected-bg);color:var(--drp-day-selected-color);font-weight:var(--drp-font-weight-semibold)}.drp-date-picker__day--selected:hover:not(.drp-date-picker__day--disabled):not(.drp-date-picker__day--other-month){background-color:var(--drp-day-selected-bg-hover);color:var(--drp-day-selected-color-hover)}.drp-date-picker__day--focused{outline:var(--drp-day-focused-outline-width) solid var(--drp-day-focused-outline);outline-offset:var(--drp-day-focused-outline-offset)}.drp-date-picker__day--disabled{color:var(--drp-day-disabled-color);opacity:var(--drp-opacity-disabled);cursor:not-allowed;position:relative;background-color:var(--drp-day-disabled-bg)}.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,var(--drp-day-disabled-pattern-opacity)) 0px,rgba(0,0,0,var(--drp-day-disabled-pattern-opacity)) 1px,transparent 1px,transparent 6px);border-radius:var(--drp-border-radius-sm);pointer-events:none}.drp-date-picker__day--disabled:hover{background-color:transparent;border-color:transparent}.drp-date-picker__day--disabled.drp-date-picker__day--in-range{background-color:color-mix(in srgb,var(--drp-day-range-bg) calc(var(--drp-day-in-range-bg-opacity) * 100%),transparent)}.drp-date-picker__day--other-month{color:var(--drp-day-other-month-color);opacity:var(--drp-opacity-other-month)}.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-day-range-bg);color:var(--drp-day-range-color);font-weight:var(--drp-font-weight-semibold);cursor:grab;-webkit-user-select:none;user-select:none}.drp-date-picker__day--range-start:hover:not(.drp-date-picker__day--disabled):not(.drp-date-picker__day--other-month),.drp-date-picker__day--range-end:hover:not(.drp-date-picker__day--disabled):not(.drp-date-picker__day--other-month){background-color:var(--drp-day-range-bg-hover);color:var(--drp-day-range-color-hover)}.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-day-range-bg) calc(var(--drp-day-in-range-bg-opacity) * 100%),transparent)}.drp-date-picker__day--in-range:hover:not(.drp-date-picker__day--disabled):not(.drp-date-picker__day--other-month){background-color:color-mix(in srgb,var(--drp-day-range-bg) calc(var(--drp-day-in-range-hover-bg-opacity) * 100%),transparent)}.drp-date-picker__day--dragging{cursor:grabbing!important;opacity:var(--drp-opacity-dragging);transform:scale(var(--drp-day-dragging-scale));transition:transform var(--drp-transition-fast) var(--drp-easing-snappy)}.drp-date-picker__day--drag-preview{background-color:color-mix(in srgb,var(--drp-day-range-bg) calc(var(--drp-day-drag-preview-bg-opacity) * 100%),transparent);border:var(--drp-day-drag-border)}.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-day-range-bg) calc(var(--drp-day-drag-preview-edge-bg-opacity) * 100%),transparent);color:var(--drp-day-range-color)}.drp-date-picker__day--drag-invalid{background-color:color-mix(in srgb,var(--drp-day-drag-invalid-bg) calc(var(--drp-day-drag-invalid-bg-opacity) * 100%),transparent)!important;border-color:var(--drp-day-drag-invalid-bg)!important;border-style:dashed!important}.drp-date-picker__day--invalid-range{background-color:color-mix(in srgb,var(--drp-message-error-border) 20%,transparent)}.drp-date-picker__day--invalid-range-start,.drp-date-picker__day--invalid-range-end{background-color:var(--drp-day-invalid-range-bg);color:var(--drp-day-invalid-range-color);font-weight:var(--drp-font-weight-semibold)}.drp-date-picker__day.holiday{background-color:color-mix(in srgb,var(--drp-holiday-color) calc(var(--drp-holiday-bg-opacity) * 100%),transparent)}.drp-date-picker__day.holiday:hover:not(.drp-date-picker__day--disabled){background-color:color-mix(in srgb,var(--drp-holiday-color) calc(var(--drp-holiday-hover-bg-opacity) * 100%),transparent)}.drp-date-picker__day.event{background-color:color-mix(in srgb,var(--drp-event-color) calc(var(--drp-event-bg-opacity) * 100%),transparent)}.drp-date-picker__day.event:hover:not(.drp-date-picker__day--disabled){background-color:color-mix(in srgb,var(--drp-event-color) calc(var(--drp-event-hover-bg-opacity) * 100%),transparent)}.drp-date-picker__rolling-item--disabled{color:var(--drp-unified-rolling-disabled-color);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);max-height:var(--drp-badge-row-height);min-height:var(--drp-badge-row-height)}.drp-date-picker__badge-cell{display:flex;align-items:center;justify-content:center;font-size:var(--drp-font-size-2xs);padding:var(--drp-badge-padding-v) var(--drp-badge-padding-h);border-radius:var(--drp-badge-border-radius);cursor:pointer;max-height:var(--drp-badge-row-height)}.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:var(--drp-badge-number-bg);color:var(--drp-badge-number-color);font-size:calc(1.12 * var(--drp-rem));font-weight:600}.drp-date-picker__badge-cell.badge-count{background-color:var(--drp-badge-count-bg);color:var(--drp-badge-count-color);font-size:calc(1.12 * var(--drp-rem));font-weight:700}.drp-date-picker__badge-cell.badge-text{background-color:var(--drp-badge-text-bg);color:var(--drp-badge-text-color);font-size:calc(1.04 * var(--drp-rem));font-weight:700;text-transform:uppercase}.drp-date-picker__summary{text-align:center;padding:0;margin:0;margin-bottom:var(--drp-spacing-sm);border-top:var(--drp-summary-border);font-size:var(--drp-font-size-sm);color:var(--drp-summary-text-color)}.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-summary-count-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-summary-border)}.drp-date-picker__button{flex:1;padding:var(--drp-spacing-sm) var(--drp-spacing-md);border:var(--drp-button-border);border-radius:var(--drp-border-radius);background:var(--drp-button-bg);color:var(--drp-button-color);cursor:pointer;font-family:inherit;font-size:var(--drp-font-size-sm);font-weight:var(--drp-font-weight-medium)}.drp-date-picker__button:hover{background-color:var(--drp-button-bg-hover);border:var(--drp-button-border-hover-full)}.drp-date-picker__button:disabled,.drp-date-picker__button[disabled]{opacity:var(--drp-opacity-disabled);cursor:not-allowed;pointer-events:none}.drp-date-picker__button:disabled:hover,.drp-date-picker__button[disabled]:hover{background-color:var(--drp-button-bg);border:var(--drp-button-border)}.drp-date-picker__button--today{color:var(--drp-button-today-color)}.drp-date-picker__button--clear{color:var(--drp-button-clear-color)}.drp-date-picker__button--apply{background-color:var(--drp-button-apply-bg);color:var(--drp-button-apply-color);border-color:var(--drp-button-apply-border)}.drp-date-picker__button--apply:hover{background-color:var(--drp-button-apply-bg-hover)}.drp-date-picker__button--cancel{color:var(--drp-button-cancel-color)}.drp-date-picker__tooltip{position:absolute;z-index:var(--drp-z-index-tooltip);background-color:var(--drp-tooltip-bg);color:var(--drp-tooltip-text-color);padding:var(--drp-spacing-xs) var(--drp-spacing-sm);border-radius:var(--drp-border-radius-sm);font-size:var(--drp-font-size-xs);line-height:var(--drp-tooltip-line-height);max-width:var(--drp-tooltip-max-width);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-tooltip-bg);width:var(--drp-tooltip-arrow-size);height:var(--drp-tooltip-arrow-size);transform:rotate(45deg)}.drp-date-picker__loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:var(--drp-loading-overlay-bg);display:flex;align-items:center;justify-content:center;z-index:var(--drp-z-index-dropdown);border-radius:var(--drp-border-radius-lg)}.drp-date-picker__loading-spinner{width:var(--drp-loading-spinner-size);height:var(--drp-loading-spinner-size);border:var(--drp-loading-spinner-border-width) solid var(--drp-loading-spinner-color);border-top-color:var(--drp-loading-spinner-accent);border-radius:50%;animation:drp-spin .8s linear infinite}@keyframes drp-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.drp-date-picker__message{display:none;align-items:center;gap:var(--drp-spacing-sm);padding:var(--drp-spacing-sm) var(--drp-spacing-md);margin:0;margin-bottom:var(--drp-spacing-sm);border-radius:var(--drp-border-radius);font-size:var(--drp-font-size-sm);line-height:var(--drp-line-height-normal)}.drp-date-picker__message--visible{display:flex}.drp-date-picker__message-text{flex:1}.drp-date-picker__message-close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:calc(2 * var(--drp-rem));height:calc(2 * var(--drp-rem));padding:0;border:none;background:transparent;font-size:var(--drp-font-size-lg);line-height:1;cursor:pointer;opacity:.6;transition:opacity var(--drp-transition-fast) var(--drp-easing-snappy)}.drp-date-picker__message-close:hover{opacity:1}.drp-date-picker__message--error{background-color:var(--drp-message-error-bg);color:var(--drp-message-error-color);border:1px solid var(--drp-message-error-border)}.drp-date-picker__message--error .drp-date-picker__message-close{color:var(--drp-message-error-color)}.drp-date-picker__message--warning{background-color:var(--drp-message-warning-bg);color:var(--drp-message-warning-color);border:1px solid var(--drp-message-warning-border)}.drp-date-picker__message--warning .drp-date-picker__message-close{color:var(--drp-message-warning-color)}.drp-date-picker__message--info{background-color:var(--drp-message-info-bg);color:var(--drp-message-info-color);border:1px solid var(--drp-message-info-border)}.drp-date-picker__message--info .drp-date-picker__message-close{color:var(--drp-message-info-color)}.drp-date-picker__message--success{background-color:var(--drp-message-success-bg);color:var(--drp-message-success-color);border:1px solid var(--drp-message-success-border)}.drp-date-picker__message--success .drp-date-picker__message-close{color:var(--drp-message-success-color)}.drp-date-picker__message--custom{background:transparent;border:none;padding:0;margin:0;margin-bottom:var(--drp-spacing-sm)}.drp-date-picker__message--custom .drp-date-picker__message-close{display:none}.drp-date-picker--modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);max-width:calc(100vw - 2 * var(--drp-modal-gap));max-height:calc(100vh - 2 * var(--drp-modal-gap));width:auto;z-index:var(--drp-z-index-modal);container-type:inline-size;container-name:drp-modal}.drp-date-picker--modal .drp-date-picker__months--grid{width:auto;grid-template-columns:repeat(var(--drp-grid-columns, 3),minmax(var(--drp-month-min-width, 280px),1fr))}@media (max-width: 480px){.drp-date-picker--modal{width:var(--drp-modal-width-xs)}}@media (min-width: 481px) and (max-width: 768px){.drp-date-picker--modal{width:var(--drp-modal-width-sm)}}@media (min-width: 769px) and (max-width: 1200px){.drp-date-picker--modal{width:var(--drp-modal-width-md)}}@media (min-width: 1201px){.drp-date-picker--modal{width:var(--drp-modal-width-lg)}}@container drp-modal (max-width: 600px){.drp-date-picker--modal .drp-date-picker__month{min-width:0;width:100%}.drp-date-picker--modal .drp-date-picker__month:nth-child(n+2){display:none}.drp-date-picker--modal .drp-date-picker__months--grid{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto!important}}@container drp-modal (min-width: 601px) and (max-width: 900px){.drp-date-picker--modal .drp-date-picker__months:not(.drp-date-picker__months--grid)>.drp-date-picker__month:nth-child(n+3){display:none}.drp-date-picker--modal .drp-date-picker__months--grid{grid-template-columns:repeat(2,minmax(var(--drp-month-min-width, 280px),1fr))!important;grid-template-rows:auto!important}}@container drp-modal (min-width: 901px) and (max-width: 1200px){.drp-date-picker--modal .drp-date-picker__months:not(.drp-date-picker__months--grid)>.drp-date-picker__month:nth-child(n+4){display:none}.drp-date-picker--modal .drp-date-picker__months--grid{grid-template-columns:repeat(min(var(--drp-grid-columns, 3),3),minmax(var(--drp-month-min-width, 280px),1fr))!important;grid-template-rows:auto!important}}.drp-date-picker__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--drp-modal-backdrop-bg);z-index:var(--drp-z-index-modal-backdrop);opacity:0;pointer-events:none;transition:opacity var(--drp-modal-transition)}.drp-date-picker__backdrop--visible{opacity:1;pointer-events:auto}.drp-date-picker--modal.drp-transitions-enabled{transition:opacity var(--drp-modal-transition)}.drp-date-picker--modal.drp-transitions-enabled:not(.drp-date-picker--visible){opacity:0}.drp-date-picker.drp-transitions-enabled .drp-date-picker__badge-cell{transition:transform var(--drp-transition-fast) var(--drp-easing-snappy)}.drp-date-picker.drp-transitions-enabled .drp-date-picker__nav,.drp-date-picker.drp-transitions-enabled .drp-date-picker__action-btn{transition:background-color var(--drp-transition-fast) var(--drp-easing-snappy),border-color var(--drp-transition-fast) var(--drp-easing-snappy)}.drp-date-picker.drp-transitions-enabled .drp-date-picker__month-year,.drp-date-picker.drp-transitions-enabled .drp-date-picker__rolling-item{transition:background-color var(--drp-transition-fast) var(--drp-easing-snappy)}.drp-date-picker--inline{position:static;display:block;box-shadow:none}',Z=class Z{constructor(a,t={}){b(this,"input");b(this,"options");b(this,"formatInfo");b(this,"_previousInputValue");b(this,"currentDate");b(this,"monthDates");b(this,"displayMonths");b(this,"selectedDate");b(this,"selectedStartDate");b(this,"selectedEndDate");b(this,"selectedRanges");b(this,"selectedDates");b(this,"pendingSelection");b(this,"originalInputValue",null);b(this,"committedDate",null);b(this,"committedStartDate",null);b(this,"committedEndDate",null);b(this,"focusedDayIndex");b(this,"activeMonthIndex");b(this,"showingRollingSelector");b(this,"draggingType");b(this,"isDragging");b(this,"dragStartDate");b(this,"originalStartDate");b(this,"originalEndDate");b(this,"dragPreviewStart");b(this,"dragPreviewEnd");b(this,"invalidRangeStart");b(this,"invalidRangeEnd");b(this,"autoScrollInterval");b(this,"navInterval");b(this,"calendar");b(this,"containerElement");b(this,"onDragMoveBound");b(this,"onDragEndBound");b(this,"isFirstRender",!0);b(this,"calendarContentHeight");b(this,"calendarContentWidth");b(this,"isCalendarActive",!1);b(this,"onAnotherPickerActivated",a=>{a.detail!==this&&(this.isCalendarActive=!1)});b(this,"isValidating",!1);b(this,"loadingOverlay");b(this,"isMonthChanging",!1);b(this,"bulkMetadataCache",null);b(this,"monthHeadersCache",null);b(this,"unifiedHeader");b(this,"unifiedRangeDisplay");b(this,"unifiedRollingSelector");b(this,"showingUnifiedRollingSelector",!1);b(this,"tooltip");b(this,"tooltipArrow");b(this,"currentTooltipTarget");b(this,"messageElement");b(this,"messageAutoHideTimeout");b(this,"actionButtonTooltipInstances",[]);b(this,"actionsContainer",null);b(this,"scrollEvents");b(this,"clickEvents");b(this,"scrollSubscriptions",[]);b(this,"clickSubscriptions",[]);b(this,"weekStartDay",0);b(this,"normalizedMinDate",null);b(this,"normalizedMaxDate",null);b(this,"normalizedDisabledDates",new Set);b(this,"normalizedSpecialDates",new Map);b(this,"locale","en");b(this,"localeStrings");b(this,"weekdayNames",[]);b(this,"monthNames",[]);if(this.input=a,this.containerElement=t.container||document.body,this.options={selectionMode:t.selectionMode||"single",calendarPlacement:t.calendarPlacement||(t.monthLayout==="grid"?"bottom":"bottom-start"),visibleMonthsCount:t.visibleMonthsCount||(t.selectionMode==="range"?2:1),dateFormatMask:t.dateFormatMask||"YYYY-MM-DD",calendarOpenTrigger:t.calendarOpenTrigger||"focus",onSelect:t.onSelect||void 0,container:this.containerElement,positioningMode:t.positioningMode||"floating",monthLayout:t.monthLayout||"horizontal",gridRows:t.gridRows,gridColumns:t.gridColumns,unifiedNavigation:t.unifiedNavigation||!1,unifiedNavigationAnchorIndex:t.unifiedNavigationAnchorIndex??0,unifiedHeaderInteractive:t.unifiedHeaderInteractive||!1,getUnifiedHeaderCallback:t.getUnifiedHeaderCallback,getMonthHeaderCallback:t.getMonthHeaderCallback,weekStartDay:t.weekStartDay!==void 0?t.weekStartDay:"auto",minDate:t.minDate,maxDate:t.maxDate,initialDate:t.initialDate,disabledDates:t.disabledDates,disabledWeekdays:t.disabledWeekdays,specialDates:t.specialDates,getDateMetadataCallback:t.getDateMetadataCallback,disabledDatesHandling:t.disabledDatesHandling||"allow",highlightDisabledInRange:t.highlightDisabledInRange!==void 0?t.highlightDisabledInRange:!0,locale:t.locale||"auto",displayFormatMask:t.displayFormatMask,customStrings:t.customStrings,monthNames:t.monthNames,formatSummaryCallback:t.formatSummaryCallback,beforeDateSelectCallback:t.beforeDateSelectCallback,beforeMonthChangedCallback:t.beforeMonthChangedCallback,showDebugInfo:t.showDebugInfo||!1,rollingYearRange:t.rollingYearRange,rollingMonthRange:t.rollingMonthRange,customStylesCallback:t.customStylesCallback,renderDayCallback:t.renderDayCallback,renderDayContentCallback:t.renderDayContentCallback,badgeTooltipCallback:t.badgeTooltipCallback,dayTooltipCallback:t.dayTooltipCallback,dateMember:t.dateMember,badgeTextMember:t.badgeTextMember,badgeClassMember:t.badgeClassMember,dayClassMember:t.dayClassMember,badgeTooltipMember:t.badgeTooltipMember,dayTooltipMember:t.dayTooltipMember,isDisabledMember:t.isDisabledMember,autoClose:t.autoClose||"selection",closeOnScroll:t.closeOnScroll!==void 0?t.closeOnScroll:!0,actionButtons:t.actionButtons,showTodayButton:t.showTodayButton!==void 0?t.showTodayButton:!0,showClearButton:t.showClearButton!==void 0?t.showClearButton:!0,showApplyButton:t.showApplyButton!==void 0?t.showApplyButton:t.selectionMode==="range"||t.selectionMode==="multiple",showSummary:t.showSummary!==void 0?t.showSummary:!0},this.options.showDebugInfo?Xe():Je(),this.options.unifiedNavigation&&this.options.unifiedNavigationAnchorIndex!==void 0){const r=this.options.visibleMonthsCount-1;(this.options.unifiedNavigationAnchorIndex<0||this.options.unifiedNavigationAnchorIndex>r)&&(console.warn(`unifiedNavigationAnchorIndex (${this.options.unifiedNavigationAnchorIndex}) out of bounds. Using 0.`),this.options.unifiedNavigationAnchorIndex=0)}this.weekStartDay=P(this.options.weekStartDay),T.debug("Week starts on day:",this.weekStartDay),T.debug("disabledDatesHandling:",this.options.disabledDatesHandling),this.locale=ke(this.options.locale),this.localeStrings=da(this.locale,this.options.customStrings),this.weekdayNames=la(this.locale),this.monthNames=this.options.monthNames||ca(this.locale),T.debug("Locale:",this.locale,"Weekdays:",this.weekdayNames,"Months:",this.monthNames),this.initializeDateRestrictions(),this.formatInfo=this.parseFormat(this.options.dateFormatMask),T.debug("Format info:",this.formatInfo),this._previousInputValue="",this.currentDate=new Date;let n;if(this.options.initialDate)n=W(this.options.initialDate)||new Date,T.debug(`Using initialDate: ${n.toISOString()}`);else if(this.options.rollingYearRange||this.options.rollingMonthRange){const r=this.getEffectiveYearRange(),i=this.getEffectiveMonthRange(),o=r.min,s=i.min-1;n=new Date(o,s,1),T.debug(`Using first allowed year/month as initial: ${n.toISOString()}`)}else this.normalizedMinDate&&this.normalizedMinDate>new Date?(n=new Date(this.normalizedMinDate),T.debug(`Using minDate as initial: ${n.toISOString()}`)):this.normalizedMaxDate&&this.normalizedMaxDate<new Date?(n=new Date(this.normalizedMaxDate),T.debug(`Using maxDate as initial: ${n.toISOString()}`)):(n=new Date,T.debug(`Using current date as initial: ${n.toISOString()}`));this.monthDates=[];for(let r=0;r<this.options.visibleMonthsCount;r++){const i=new Date(n.getFullYear(),n.getMonth()+r,1);this.monthDates.push(i),T.debug(`monthDates[${r}] = ${i.getFullYear()}-${i.getMonth()+1}`)}if(this.options.selectionMode==="range"){this.displayMonths=[];for(let r=0;r<this.options.visibleMonthsCount;r++){const i=new Date(n.getFullYear(),n.getMonth()+r,1);this.displayMonths.push({month:i.getMonth(),year:i.getFullYear()})}}this.selectedDate=null,this.selectedStartDate=null,this.selectedEndDate=null,this.selectedRanges=[],this.selectedDates=[],this.pendingSelection=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.invalidRangeStart=null,this.invalidRangeEnd=null,this.autoScrollInterval=null,this.scrollEvents=Qn(),this.clickEvents=Zn(),this.init()}init(){T.debug("Init called"),this.createCalendar(),this.scrollEvents.init(),this.clickEvents.init(this.calendar,this.input),this.setupEventSubscriptions(),document.addEventListener(Z.ACTIVE_EVENT,this.onAnotherPickerActivated),this.input&&(this.attachInputListeners(),this.input.value&&(T.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.isFirstRender=!1,Zt(this)),T.debug("Init complete")}setupEventSubscriptions(){const a=this.scrollEvents.subscribe("window",()=>{var r;if(this.options.positioningMode==="floating"&&this.isOpen){if(this.options.closeOnScroll===!1)return;if(this.requiresApplyButton()){T.debug("Window scroll detected - NOT closing (Apply button required)");return}if((r=this.messageElement)!=null&&r.classList.contains("drp-date-picker__message--visible")){T.debug("Window scroll detected - NOT closing (message visible)");return}T.debug("Window scroll detected - closing calendar"),this.hide()}});this.scrollSubscriptions.push(a);const t=this.clickEvents.subscribe("outsideClick",r=>{if(T.debug("Outside click detected",r.target),this.options.positioningMode!=="modal")if(this.options.positioningMode==="floating")this.hide();else{let i=!1;for(let o=0;o<this.showingRollingSelector.length;o++)this.showingRollingSelector[o]&&(this.showingRollingSelector[o]=!1,i=!0);this.showingUnifiedRollingSelector&&(this.showingUnifiedRollingSelector=!1,i=!0),i&&this.renderCalendar()}});this.clickSubscriptions.push(t);const n=this.clickEvents.subscribe("calendarClick",()=>{this.setCalendarActive()});this.clickSubscriptions.push(n)}initializeDateRestrictions(){if(this.normalizedMinDate=this.options.minDate?W(this.options.minDate):void 0,this.normalizedMaxDate=this.options.maxDate?W(this.options.maxDate):void 0,this.normalizedDisabledDates.clear(),this.options.disabledDates&&this.options.disabledDates.length>0&&this.options.disabledDates.forEach(a=>{const t=W(a);t&&this.normalizedDisabledDates.add(Me(t))}),this.normalizedSpecialDates.clear(),this.options.specialDates&&this.options.specialDates.length>0){const a=this.options.dateMember||"date";this.options.specialDates.forEach(t=>{const n=W(t[a]);n?this.normalizedSpecialDates.set(Me(n),t):T.warn("[Special Dates] Failed to normalize date:",t[a])})}}updateOptions(a){const t=["positioningMode","selectionMode","visibleMonthsCount","monthLayout","gridRows","gridColumns","unifiedNavigation","unifiedNavigationAnchorIndex","calendarOpenTrigger","showSummary"],n=i=>Object.prototype.hasOwnProperty.call(a,i),r=i=>n(i)&&a[i]!==this.options[i];if(t.some(r))return!1;for(const i of Object.keys(a))this.options[i]=a[i];return n("weekStartDay")&&(this.weekStartDay=P(this.options.weekStartDay)),(n("locale")||n("customStrings")||n("monthNames"))&&(this.locale=ke(this.options.locale),this.localeStrings=da(this.locale,this.options.customStrings),this.weekdayNames=la(this.locale),this.monthNames=this.options.monthNames||ca(this.locale)),n("dateFormatMask")&&(this.formatInfo=this.parseFormat(this.options.dateFormatMask)),(n("minDate")||n("maxDate")||n("disabledDates")||n("specialDates")||n("dateMember"))&&this.initializeDateRestrictions(),n("showDebugInfo")&&(this.options.showDebugInfo?Xe():Je()),this.renderCalendar(),!0}getEffectiveYearRange(){const a=new Date().getFullYear();return ea(this.options.rollingYearRange,a,this)}getEffectiveMonthRange(){return ta(this.options.rollingMonthRange)}renderButtons(a){this.destroyAllActionButtonTooltips(),a.innerHTML="",this.actionsContainer=a,(this.options.actionButtons||this.getDefaultButtons()).forEach(n=>{if(n.isVisibleCallback!==void 0){if(!n.isVisibleCallback(this))return}else if(n.isVisible!==void 0&&!n.isVisible)return;const r=document.createElement("button");r.className=`drp-date-picker__button drp-date-picker__button--${n.action}`;const i=n.getClassCallback?n.getClassCallback(this):n.cssClass;i&&(Array.isArray(i)?r.classList.add(...i):r.classList.add(i));const o=n.getTextCallback?n.getTextCallback(this):n.text;r.innerHTML=o,(n.isDisabledCallback?n.isDisabledCallback(this):n.isDisabled??!1)&&(r.disabled=!0),r.dataset.action=n.action,n.onClick&&(r._customOnClick=n.onClick),a.appendChild(r)}),this.attachActionButtonTooltips()}getDefaultButtons(){const a=[];return this.options.showTodayButton&&a.push({action:"today",text:this.localeStrings.today}),this.options.showClearButton&&a.push({action:"clear",text:this.localeStrings.clear}),this.options.showApplyButton&&a.push({action:"apply",text:this.localeStrings.apply}),a}attachActionButtonTooltips(){if(!this.actionsContainer)return;const a=this.options.actionButtons||this.getDefaultButtons(),t=this.options.container||document.body;this.actionsContainer.querySelectorAll(".drp-date-picker__button").forEach((r,i)=>{const o=r,s=o.dataset.action;if(!s)return;const d=a.find(c=>c.action===s);if(!d)return;const l=d.getTooltipCallback?d.getTooltipCallback(this):d.tooltip;l&&(o.dataset.tooltipId=`action-${i}`,this.actionButtonTooltipInstances.push(new Jn(o,l,{container:t})))})}destroyAllActionButtonTooltips(){this.actionButtonTooltipInstances.forEach(a=>a.destroy()),this.actionButtonTooltipInstances=[]}parseMonthRange(a){const[t,n]=a.split("-");return{min:parseInt(t,10),max:parseInt(n,10)}}isDateDisabledInternal(a){const t=this.getEffectiveYearRange(),n=a.getFullYear();if(n<t.min||n>t.max)return!0;const r=this.getEffectiveMonthRange(),i=a.getMonth()+1;return i<r.min||i>r.max?!0:ga(a,this.normalizedMinDate,this.normalizedMaxDate,this.normalizedDisabledDates,this.options.disabledWeekdays)}getDateInfoInternal(a){const t=Me(a);if(this.bulkMetadataCache&&this.bulkMetadataCache.has(t)){const n=this.bulkMetadataCache.get(t);return{...n,isDisabled:n.isDisabled!==void 0?n.isDisabled:this.isDateDisabledInternal(a)}}if(this.options.getDateMetadataCallback){const n=this.options.getDateMetadataCallback(a);if(n)return{...n,isDisabled:n.isDisabled!==void 0?n.isDisabled:this.isDateDisabledInternal(a)}}if(this.normalizedSpecialDates.has(t)){const n=this.normalizedSpecialDates.get(t),r=this.options.badgeTextMember||"badgeText",i=this.options.badgeClassMember||"badgeClass",o=this.options.dayClassMember||"dayClass",s=this.options.badgeTooltipMember||"badgeTooltip",d=this.options.dayTooltipMember||"dayTooltip",l=this.options.isDisabledMember||"isDisabled";return{isDisabled:n[l]!==void 0?n[l]:this.isDateDisabledInternal(a),badgeClass:n[i],dayClass:n[o],badgeText:n[r],badgeTooltip:n[s],dayTooltip:n[d]}}return null}hasDisabledDatesInRange(a,t){return fa(a,t,n=>this.isDateDisabledInternal(n))}getEnabledDatesInRange(a,t){return ma(a,t,n=>this.isDateDisabledInternal(n))}getDisabledDatesInRange(a,t){return ba(a,t,n=>this.isDateDisabledInternal(n))}findLastEnabledBeforeGap(a,t){return ya(a,t,n=>this.isDateDisabledInternal(n))}splitRangeByDisabled(a,t){return va(a,t,n=>this.isDateDisabledInternal(n))}isToday(a){return xt(a)}isSameDay(a,t){return Mt(a,t)}isInRange(a){return Da(a,this.selectedStartDate,this.selectedEndDate)}requiresApplyButton(){return this.options.autoClose==="apply"}shouldAutoClose(){return this.options.selectionMode==="multiple"?!1:this.options.autoClose==="selection"}createCalendar(){if(T.debug("Creating calendar"),this.calendar=document.createElement("div"),this.calendar.className="drp-date-picker",this.options.unifiedNavigation&&this.calendar.classList.add("drp-date-picker--unified-nav"),this.options.unifiedNavigation){this.unifiedHeader=document.createElement("div"),this.unifiedHeader.className="drp-date-picker__unified-header";const n=this.options.unifiedHeaderInteractive?"":" drp-date-picker__unified-range--static",r=this.options.unifiedHeaderInteractive?' data-action="toggle-unified-rolling"':"";this.unifiedHeader.innerHTML=`
13
13
  <button class="drp-date-picker__nav drp-date-picker__nav--prev" data-action="unified-prev"></button>
14
14
  <div class="drp-date-picker__unified-range${n}"${r}></div>
15
15
  <button class="drp-date-picker__nav drp-date-picker__nav--next" data-action="unified-next"></button>
@@ -35,4 +35,4 @@
35
35
  `,a.appendChild(r)}if(this.calendar.appendChild(a),this.messageElement=document.createElement("div"),this.messageElement.className="drp-date-picker__message",this.messageElement.innerHTML=`
36
36
  <span class="drp-date-picker__message-text"></span>
37
37
  <button class="drp-date-picker__message-close" data-action="close-message">&times;</button>
38
- `,this.calendar.appendChild(this.messageElement),this.options.selectionMode==="range"){const n=document.createElement("div");n.className="drp-date-picker__summary drp-date-picker__summary--hidden",this.calendar.appendChild(n)}const t=document.createElement("div");t.className="drp-date-picker__actions",this.renderButtons(t),t.children.length>0&&this.calendar.appendChild(t),this.containerElement.appendChild(this.calendar),k.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;k.debug("Attaching input listeners");const a=this.options.calendarOpenTrigger||"focus";a==="focus"?(this.input.addEventListener("focus",()=>{k.debug("Input focused - opening calendar"),this.show()}),this.input.addEventListener("mousedown",()=>{this.calendar.classList.contains("drp-date-picker--visible")||(k.debug("Input clicked while focused but calendar closed - reopening"),this.show())})):a==="typing"&&this.input.addEventListener("input",t=>{!this.calendar.classList.contains("drp-date-picker--visible")&&this.input&&this.input.value.length>0&&(k.debug("User started typing - opening calendar"),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 a=>{const t=a.target;a.stopPropagation();const n=t.dataset.action,r=t.dataset.monthIndex,i=r?parseInt(r):0,o=t.closest('[data-action="custom"]');if(o){const s={};for(const[c,l]of Object.entries(o.dataset))c!=="action"&&(s[c]=l);this.fireCustomActionEvent(s);const d=o._customOnClick;d&&await Promise.resolve(d(this));return}if(n==="prev"||n==="next"||n==="unified-prev"||n==="unified-next"){const s=t;if(s.disabled||s.classList.contains("drp-date-picker__nav--disabled"))return}if(n==="prev")this.prevMonth(i);else if(n==="next")this.nextMonth(i);else if(n==="unified-prev")this.unifiedPrevMonth();else if(n==="unified-next")this.unifiedNextMonth();else if(n==="toggle-rolling")this.toggleRollingSelector(i);else if(n==="toggle-unified-rolling")this.toggleUnifiedRollingSelector();else if(n==="today")this.selectToday();else if(n==="clear")this.clearSelection();else if(n==="apply")this.apply();else if(n==="close-message")this.hideMessage();else if(t.closest(".drp-date-picker__day:not(.drp-date-picker__day--disabled)"))await this.selectDay(t.closest(".drp-date-picker__day"));else if(t.closest("[data-year]")){const s=t.closest("[data-year]");if(s.classList.contains("drp-date-picker__rolling-item--disabled"))return;const d=s.dataset.year;if(s.dataset.unified==="true")d&&this.setUnifiedYear(parseInt(d));else{const c=s.dataset.monthIndex;d&&c&&this.selectYear(parseInt(d),parseInt(c))}}else if(t.closest("[data-month]")){const s=t.closest("[data-month]");if(s.classList.contains("drp-date-picker__rolling-item--disabled"))return;const d=s.dataset.month;if(s.dataset.unified==="true")d&&this.setUnifiedMonth(parseInt(d));else{const c=s.dataset.monthIndex;d&&c&&this.selectMonth(parseInt(d),parseInt(c))}}else if(!t.closest(".drp-date-picker__rolling-selector")&&!t.closest(".drp-date-picker__unified-rolling-selector")){let s=!1;for(let d=0;d<this.showingRollingSelector.length;d++)this.showingRollingSelector[d]&&(this.showingRollingSelector[d]=!1,s=!0);this.showingUnifiedRollingSelector&&(this.showingUnifiedRollingSelector=!1,s=!0),s&&this.renderCalendar()}}),this.calendar.addEventListener("mouseenter",a=>{const t=a.target,n=t.closest(".drp-date-picker__day"),r=t.closest(".drp-date-picker__badge-cell"),i=n||r;if(i&&i instanceof HTMLElement){const o=i.dataset.tooltip;o&&this.showTooltip(i,o)}},!0),this.calendar.addEventListener("mouseleave",a=>{const t=a.target,n=t.closest(".drp-date-picker__day"),r=t.closest(".drp-date-picker__badge-cell"),i=n||r;i&&this.currentTooltipTarget===i&&this.hideTooltip()},!0),this.calendar.addEventListener("focusin",()=>{this.setCalendarActive()}),document.addEventListener("keydown",a=>{var t,n,r,i;if(this.calendar.classList.contains("drp-date-picker--visible")&&this.isCalendarActive){if(k.debug("Keydown",a.key,"Ctrl:",a.ctrlKey,"Meta:",a.metaKey,"Shift:",a.shiftKey,"Alt:",a.altKey),a.key==="Escape")this.hide(),a.preventDefault();else if(a.key==="ArrowUp")this.moveFocus(-7),a.preventDefault();else if(a.key==="ArrowDown")this.moveFocus(7),a.preventDefault();else if(a.key==="ArrowLeft"){if(a.ctrlKey||a.metaKey){w.debug("Ctrl+Left: Navigate to previous month");const o=this.focusedDayIndex;this.prevMonth(this.activeMonthIndex),setTimeout(()=>{var c,l;const s=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`),d=s==null?void 0:s.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");d&&(this.focusedDayIndex=Math.min(o!==null?o:0,d.length-1),(c=d[this.focusedDayIndex])==null||c.classList.add("drp-date-picker__day--focused"),(l=d[this.focusedDayIndex])==null||l.scrollIntoView({block:"nearest"}))},0)}else this.moveFocus(-1);a.preventDefault()}else if(a.key==="ArrowRight"){if(a.ctrlKey||a.metaKey){w.debug("Ctrl+Right: Navigate to next month");const o=this.focusedDayIndex;this.nextMonth(this.activeMonthIndex),setTimeout(()=>{var c,l;const s=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`),d=s==null?void 0:s.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");d&&(this.focusedDayIndex=Math.min(o!==null?o:0,d.length-1),(c=d[this.focusedDayIndex])==null||c.classList.add("drp-date-picker__day--focused"),(l=d[this.focusedDayIndex])==null||l.scrollIntoView({block:"nearest"}))},0)}else this.moveFocus(1);a.preventDefault()}else if(a.key==="Enter"){if(this.focusedDayIndex!==null){const o=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`),s=o==null?void 0:o.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)"),d=s==null?void 0:s[this.focusedDayIndex];d&&d.click()}else this.hide();a.preventDefault()}else if(a.key==="Tab"){if(this.options.visibleMonthsCount>1){const o=a.shiftKey?-1:1,s=this.activeMonthIndex+o;if(s>=0&&s<this.monthDates.length){w.debug(`Tab: switching from Col${this.activeMonthIndex} to Col${s}`);const d=this.focusedDayIndex??0;this.activeMonthIndex=s;const c=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`);if(c){const l=c.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");this.focusedDayIndex=Math.min(d,l.length-1),w.debug(`Col${this.activeMonthIndex} Tab: set focusedDayIndex to ${this.focusedDayIndex}`)}this.renderCalendar()}a.preventDefault()}}else if(a.key==="t"||a.key==="T")this.monthDates[this.activeMonthIndex]=new Date,we(this,this.activeMonthIndex),this.renderCalendar(),setTimeout(()=>{const o=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`),s=o==null?void 0:o.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");if(s){const d=Array.from(s).findIndex(c=>c.classList.contains("drp-date-picker__day--today"));d!==-1&&(this.focusedDayIndex=d,s[d].classList.add("drp-date-picker__day--focused"),s[d].scrollIntoView({block:"nearest"}))}},0),a.preventDefault();else if(a.key==="PageUp"){const o=this.focusedDayIndex;this.prevMonth(this.activeMonthIndex),setTimeout(()=>{var c,l;const s=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`),d=s==null?void 0:s.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");d&&(this.focusedDayIndex=Math.min(o!==null?o:0,d.length-1),(c=d[this.focusedDayIndex])==null||c.classList.add("drp-date-picker__day--focused"),(l=d[this.focusedDayIndex])==null||l.scrollIntoView({block:"nearest"}))},0),a.preventDefault()}else if(a.key==="PageDown"){const o=this.focusedDayIndex;this.nextMonth(this.activeMonthIndex),setTimeout(()=>{var c,l;const s=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`),d=s==null?void 0:s.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");d&&(this.focusedDayIndex=Math.min(o!==null?o:0,d.length-1),(c=d[this.focusedDayIndex])==null||c.classList.add("drp-date-picker__day--focused"),(l=d[this.focusedDayIndex])==null||l.scrollIntoView({block:"nearest"}))},0),a.preventDefault()}else if(a.key==="Home"){w.debug("Home key pressed, Ctrl:",a.ctrlKey,"Meta:",a.metaKey);const o=this.monthDates[this.activeMonthIndex].getFullYear(),s=this.monthDates[this.activeMonthIndex].getMonth();if(a.ctrlKey||a.metaKey){w.debug("Ctrl+Home: Navigate to year start");const d=this.getEffectiveYearRange(),c=this.getEffectiveMonthRange(),l=s===0,u=this.focusedDayIndex===0;let p=o,g=Math.max(0,c.min-1);l&&u&&(p=o-1),p<d.min&&(w.debug("Ctrl+Home: Target year below min, clamping to",d.min),p=d.min);const f=new Date(p,g,1),h=this.monthDates[this.activeMonthIndex];(f.getFullYear()!==h.getFullYear()||f.getMonth()!==h.getMonth()||this.focusedDayIndex!==0)&&(w.debug("Going to",g+1,"/",p),this.monthDates[this.activeMonthIndex]=f,this.renderCalendar(),setTimeout(()=>{var x,E;const v=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`),m=v==null?void 0:v.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");m&&(this.focusedDayIndex=0,(x=m[0])==null||x.classList.add("drp-date-picker__day--focused"),(E=m[0])==null||E.scrollIntoView({block:"nearest"}))},0))}else if(w.debug("Home: Navigate to first day (cycles to previous month if already there)"),this.focusedDayIndex===0)w.debug("Already on first day, going to previous month"),this.prevMonth(this.activeMonthIndex),setTimeout(()=>{var u,p;const c=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`),l=c==null?void 0:c.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");l&&(this.focusedDayIndex=0,this.calendar.querySelectorAll(".drp-date-picker__day--focused").forEach(g=>g.classList.remove("drp-date-picker__day--focused")),(u=l[0])==null||u.classList.add("drp-date-picker__day--focused"),(p=l[0])==null||p.scrollIntoView({block:"nearest"}))},0);else{this.focusedDayIndex=0;const c=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`),l=c==null?void 0:c.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");l&&(this.calendar.querySelectorAll(".drp-date-picker__day--focused").forEach(u=>u.classList.remove("drp-date-picker__day--focused")),(t=l[0])==null||t.classList.add("drp-date-picker__day--focused"),(n=l[0])==null||n.scrollIntoView({block:"nearest"}))}a.preventDefault()}else if(a.key==="End"){w.debug("End key pressed, Ctrl:",a.ctrlKey,"Meta:",a.metaKey);const o=this.monthDates[this.activeMonthIndex].getFullYear(),s=this.monthDates[this.activeMonthIndex].getMonth();if(a.ctrlKey||a.metaKey){w.debug("Ctrl+End: Navigate to year end");const d=this.getEffectiveYearRange(),c=this.getEffectiveMonthRange(),l=s===11,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)"),g=p&&this.focusedDayIndex===p.length-1;let f=o,h=Math.min(11,c.max-1);l&&g&&(f=o+1),f>d.max&&(w.debug("Ctrl+End: Target year above max, clamping to",d.max),f=d.max);const v=new Date(f,h+1,0).getDate(),m=new Date(f,h,v),x=this.monthDates[this.activeMonthIndex];(m.getFullYear()!==x.getFullYear()||m.getMonth()!==x.getMonth()||!g)&&(w.debug("Going to",h+1,"/",f),this.monthDates[this.activeMonthIndex]=m,this.renderCalendar(),setTimeout(()=>{var D,_;const E=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`),S=E==null?void 0:E.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");S&&(this.focusedDayIndex=S.length-1,(D=S[this.focusedDayIndex])==null||D.classList.add("drp-date-picker__day--focused"),(_=S[this.focusedDayIndex])==null||_.scrollIntoView({block:"nearest"}))},0))}else{w.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}"]`),c=d==null?void 0:d.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");if(!c)return;this.focusedDayIndex===c.length-1?(w.debug("Already on last day, going to next month"),this.nextMonth(this.activeMonthIndex),setTimeout(()=>{var g,f;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(h=>h.classList.remove("drp-date-picker__day--focused")),(g=p[this.focusedDayIndex])==null||g.classList.add("drp-date-picker__day--focused"),(f=p[this.focusedDayIndex])==null||f.scrollIntoView({block:"nearest"}))},0)):(this.focusedDayIndex=c.length-1,this.calendar.querySelectorAll(".drp-date-picker__day--focused").forEach(u=>u.classList.remove("drp-date-picker__day--focused")),(r=c[this.focusedDayIndex])==null||r.classList.add("drp-date-picker__day--focused"),(i=c[this.focusedDayIndex])==null||i.scrollIntoView({block:"nearest"}))}a.preventDefault()}}})}parseFormat(a){const t={};let n="";return a.includes("-")?n="-":a.includes("/")?n="/":a.includes(".")&&(n="."),a.split(n).forEach((i,o)=>{i==="YYYY"||i==="YY"?t.year={index:o,length:i.length}:i==="MM"||i==="M"?t.month={index:o,length:2}:(i==="DD"||i==="D")&&(t.day={index:o,length:2})}),{format:a,separator:n,parts:t,maxLength:a.length}}formatDate(a){if(!a)return"";const t=a.getFullYear(),n=String(a.getMonth()+1).padStart(2,"0"),r=String(a.getDate()).padStart(2,"0"),{format:i,separator:o,parts:s}=this.formatInfo,d=[];for(let c=0;c<3;c++)s.year&&s.year.index===c?d.push(s.year.length===2?String(t).slice(-2):t):s.month&&s.month.index===c?d.push(n):s.day&&s.day.index===c&&d.push(r);return d.join(o)}get isOpen(){return this.calendar.classList.contains("drp-date-picker--visible")}set isOpen(a){if(this.options.positioningMode!=="floating"){console.warn("isOpen property only works in floating mode");return}a?this.show():this.hide()}get selectedRangesReactive(){return[...this.selectedRanges]}set selectedRangesReactive(a){this.selectedRanges=a.map(t=>({start:new Date(t.start),end:new Date(t.end)})),this.invalidRangeStart=null,this.invalidRangeEnd=null,this.focusedDayIndex=null,this.options.selectionMode==="range"&&a.length>0?(this.selectedStartDate=new Date(a[0].start),this.selectedEndDate=new Date(a[0].end),this.input&&!this.requiresApplyButton()&&(this.input.value=`${this.formatDate(this.selectedStartDate)} - ${this.formatDate(this.selectedEndDate)}`)):this.input&&!this.requiresApplyButton()&&(this.input.value=""),this.renderCalendar(),this.updateSummary()}get selectedDatesReactive(){return this.selectedDates.map(a=>new Date(a))}set selectedDatesReactive(a){this.selectedDates=a.map(t=>new Date(t)),this.renderCalendar(),this.updateSummary()}get selectedDateReactive(){return this.selectedDate?new Date(this.selectedDate):null}set selectedDateReactive(a){this.selectedDate=a?new Date(a):null,this.input&&a?this.input.value=this.formatDate(a):this.input&&(this.input.value=""),this.renderCalendar(),this.updateSummary()}fireCustomActionEvent(a){this.calendar.dispatchEvent(new CustomEvent("custom-action",{detail:a,bubbles:!0,composed:!0}))}setCalendarActive(){this.isCalendarActive||(this.isCalendarActive=!0,document.dispatchEvent(new CustomEvent(Q.ACTIVE_EVENT,{detail:this})))}destroy(){this.scrollSubscriptions.forEach(a=>a.unsubscribe()),this.scrollSubscriptions=[],this.clickSubscriptions.forEach(a=>a.unsubscribe()),this.clickSubscriptions=[],this.scrollEvents.destroy(),this.clickEvents.destroy(),document.removeEventListener(Q.ACTIVE_EVENT,this.onAnotherPickerActivated),this.destroyAllActionButtonTooltips(),this.calendar.remove(),this.tooltip&&this.tooltip.remove()}show(){return Gt(this)}hide(){return Xt(this)}toggle(){return Rn(this)}position(){return pt(this)}showTooltip(a,t){return An(this,a,t)}hideTooltip(){return Tn(this)}showMessage(a,t,n){return gt(this,a,t,n)}hideMessage(){return le(this)}renderCalendar(){return Yn(this)}renderNormalView(a){return ea(this,a)}renderDays(a,t){return ta(this,a,t)}renderRollingSelector(a){return ra(this,a)}updateSummary(){return Un(this)}updateSummaryWithPreview(){return ia(this)}updateDragPreview(){return qn(this)}toggleRollingSelector(a){return kn(this,a)}selectYear(a,t){return Ln(this,a,t)}selectMonth(a,t){return $n(this,a,t)}checkAndResolveCollisions(a){return we(this,a)}prevMonth(a){return Ve(this,a)}nextMonth(a){return Ue(this,a)}unifiedPrevMonth(){return Pn(this)}unifiedNextMonth(){return Nn(this)}toggleUnifiedRollingSelector(){return Fn(this)}setUnifiedMonth(a){return On(this,a)}setUnifiedYear(a){return Hn(this,a)}findNextEnabledDayIndex(a,t,n,r){return Ee(this,a,t,n)}moveFocus(a){return zn(this,a)}async selectDay(a){return await _n(this,a)}selectToday(){return wn(this)}clearSelection(){return xn(this)}apply(){return Mn(this)}initDragListeners(){return Sn(this)}startDrag(a,t,n){return qt(this,a,t,n)}onDragMove(a){return jt(this,a)}async onDragEnd(a){return await Wt(this)}findNearestEnabledDate(a,t="forward"){return Pe(this,a,t)}handleInputMask(a){return Cn(this,a)}applyMask(a){return _e(this,a)}applyRangeMask(a){return Kt(this,a)}handleKeydown(a){return En(this,a)}handlePaste(a){return In(this,a)}updateCalendarFromInput(){return Oe(this)}parseAndUpdateSingleDate(a,t="single"){return Fe(this,a,t)}static injectGlobalStyles(a=!1){if(Q.stylesInjected&&!a){k.debug("Styles already injected, skipping");return}const t=document.createElement("style");t.setAttribute("data-source","web-daterangepicker"),t.textContent=la,document.head.appendChild(t),Q.stylesInjected=!0,k.info("Global styles injected successfully")}static areStylesLoaded(){const a=document.createElement("div");a.className="drp-date-picker",a.style.display="none",document.body.appendChild(a);const n=window.getComputedStyle(a).getPropertyValue("--drp-accent-color");return document.body.removeChild(a),n!==""}};b(Q,"stylesInjected",!1),b(Q,"ACTIVE_EVENT","drp-picker-activated");let qe=Q;const ue=(e,a)=>e.getAttribute(a)||void 0,mt=(e,a)=>{const t=parseInt(e.getAttribute(a)||"0");return Number.isFinite(t)&&t>0?t:void 0},Gn=(e,a)=>{const t=e.getAttribute(a);if(t==null)return;const n=parseInt(t);return Number.isFinite(n)?n:void 0},bt=(e,a)=>e.hasAttribute(a),je=(e,a)=>e.hasAttribute(a)?e.getAttribute(a)==="true":void 0,Xn=(e,a)=>e.hasAttribute(a)?e.getAttribute(a)!=="false":void 0,xe=e=>(a,t)=>{const n=a.getAttribute(t);return n&&e.includes(n)?n:void 0},ca=e=>(a,t)=>a.getAttribute(t)||e,Jn=(e,a)=>{const t=e.getAttribute(a);if(!t)return;const n=t.split(",").map(r=>parseInt(r.trim())).filter(r=>!isNaN(r)&&r>=0&&r<=6);return n.length?n:void 0},Qn=(e,a)=>{const t=e.getAttribute(a);if(!t)return;if(t==="auto")return"auto";const n=parseInt(t);return!isNaN(n)&&n>=0&&n<=6?n:void 0},Zn=["single","range","multiple"],er=["focus","typing","manual"],tr=["horizontal","grid"],ar=["inline","floating"],nr=["allow","prevent","block","split","individual"],rr=["never","selection","apply"],yt=[{attr:"selection-mode",key:"selectionMode",parser:xe(Zn)},{attr:"date-format-mask",key:"dateFormatMask",parser:ca("YYYY-MM-DD")},{attr:"visible-months-count",key:"visibleMonthsCount",parser:mt},{attr:"calendar-open-trigger",key:"calendarOpenTrigger",parser:xe(er)},{attr:"month-layout",key:"monthLayout",parser:xe(tr)},{attr:"grid-rows",key:"gridRows",parser:mt},{attr:"grid-columns",key:"gridColumns",parser:mt},{attr:"unified-navigation",key:"unifiedNavigation",parser:bt},{attr:"unified-navigation-anchor-index",key:"unifiedNavigationAnchorIndex",parser:Gn},{attr:"unified-header-interactive",key:"unifiedHeaderInteractive",parser:bt},{attr:"calendar-placement",key:"calendarPlacement",parser:ue},{attr:"positioning-mode",key:"positioningMode",parser:xe(ar)},{attr:"week-start-day",key:"weekStartDay",parser:Qn},{attr:"min-date",key:"minDate",parser:ue},{attr:"max-date",key:"maxDate",parser:ue},{attr:"initial-date",key:"initialDate",parser:ue},{attr:"disabled-weekdays",key:"disabledWeekdays",parser:Jn},{attr:"disabled-dates-handling",key:"disabledDatesHandling",parser:xe(nr)},{attr:"highlight-disabled-in-range",key:"highlightDisabledInRange",parser:je},{attr:"locale",key:"locale",parser:ca("auto")},{attr:"display-format-mask",key:"displayFormatMask",parser:ue},{attr:"show-debug-info",key:"showDebugInfo",parser:bt},{attr:"rolling-year-range",key:"rollingYearRange",parser:ue},{attr:"rolling-month-range",key:"rollingMonthRange",parser:ue},{attr:"auto-close",key:"autoClose",parser:xe(rr)},{attr:"close-on-scroll",key:"closeOnScroll",parser:Xn},{attr:"show-today-button",key:"showTodayButton",parser:je},{attr:"show-clear-button",key:"showClearButton",parser:je},{attr:"show-apply-button",key:"showApplyButton",parser:je}],ir=["value","placeholder","disabled","enable-transitions","input-size"];function or(e){const a={};for(const t of yt){const n=t.parser(e,t.attr);n!==void 0&&(a[t.key]=n)}return a}class vt extends HTMLElement{constructor(){super();b(this,"picker");b(this,"inputElement");b(this,"shadow");b(this,"_specialDates");b(this,"_disabledDates");b(this,"_getDateMetadataCallback");b(this,"_badgeTooltipCallback");b(this,"_dayTooltipCallback");b(this,"_customStylesCallback");b(this,"_renderDayCallback");b(this,"_renderDayContentCallback");b(this,"_beforeDateSelectCallback");b(this,"_beforeMonthChangedCallback");b(this,"_formatSummaryCallback");b(this,"_getUnifiedHeaderCallback");b(this,"_getMonthHeaderCallback");b(this,"_dateMember");b(this,"_badgeTextMember");b(this,"_badgeClassMember");b(this,"_dayClassMember");b(this,"_badgeTooltipMember");b(this,"_dayTooltipMember");b(this,"_isDisabledMember");b(this,"_actionButtons");b(this,"_pendingReinit",!1);this.shadow=this.attachShadow({mode:"open"})}static get observedAttributes(){return[...yt.map(t=>t.attr),...ir]}applyTransitionStyles(){const t=this.shadow.querySelector(".drp-date-picker");if(!t)return;this.hasAttribute("enable-transitions")?t.classList.add("drp-transitions-enabled"):t.classList.remove("drp-transitions-enabled")}applyInputSizeStyles(){if(!this.inputElement)return;const t=this.getAttribute("input-size");this.inputElement.classList.remove("drp-input--xs","drp-input--sm","drp-input--lg","drp-input--xl"),this.inputElement.classList.remove("drp-date-picker-input--xs","drp-date-picker-input--sm","drp-date-picker-input--lg","drp-date-picker-input--xl"),t&&t!=="md"&&(this.inputElement.classList.add(`drp-input--${t}`),this.inputElement.classList.add(`drp-date-picker-input--${t}`))}connectedCallback(){this.render(),this.initializePicker()}disconnectedCallback(){this.picker&&this.picker.destroy()}attributeChangedCallback(t,n,r){if(n===r)return;if(t==="enable-transitions")return this.applyTransitionStyles();if(t==="input-size")return this.applyInputSizeStyles();if(t==="value"&&this.inputElement&&r!==null){this.inputElement.value=r;return}if(t==="placeholder"&&this.inputElement&&r!==null){this.inputElement.placeholder=r;return}if(t==="disabled"&&this.inputElement){this.inputElement.disabled=r!==null;return}if(!this.picker)return;const i=yt.find(o=>o.attr===t);if(i){const o=i.parser(this,i.attr);if(this.picker.updateOptions({[i.key]:o}))return}this.picker.destroy(),this.initializePicker()}render(){const t=document.createElement("style");if(t.textContent=la,this.shadow.appendChild(t),(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 i=this.getAttribute("value");i&&(this.inputElement.value=i),this.hasAttribute("disabled")&&(this.inputElement.disabled=!0),this.shadow.appendChild(this.inputElement),this.applyInputSizeStyles()}}initializePicker(){const t=this.getAttribute("positioning-mode")||"floating";if(t==="floating"&&!this.inputElement)return;const n={...or(this),selectionMode:this.getAttribute("selection-mode")||"single",calendarOpenTrigger:this.getAttribute("calendar-open-trigger")||"focus",positioningMode:t,onSelect:i=>this.handleDateSelect(i),container:this.shadow,disabledDates:this._disabledDates,specialDates:this._specialDates,getDateMetadataCallback:this._getDateMetadataCallback,badgeTooltipCallback:this._badgeTooltipCallback,dayTooltipCallback:this._dayTooltipCallback,dateMember:this._dateMember,badgeTextMember:this._badgeTextMember,badgeClassMember:this._badgeClassMember,dayClassMember:this._dayClassMember,badgeTooltipMember:this._badgeTooltipMember,dayTooltipMember:this._dayTooltipMember,isDisabledMember:this._isDisabledMember,customStylesCallback:this._customStylesCallback,renderDayCallback:this._renderDayCallback,renderDayContentCallback:this._renderDayContentCallback,beforeDateSelectCallback:this._beforeDateSelectCallback,beforeMonthChangedCallback:this._beforeMonthChangedCallback,formatSummaryCallback:this._formatSummaryCallback,getUnifiedHeaderCallback:this._getUnifiedHeaderCallback,getMonthHeaderCallback:this._getMonthHeaderCallback,actionButtons:this._actionButtons},r=t==="inline"?null:this.inputElement;if(this.picker=new qe(r,n),this.picker.calendar.addEventListener("custom-action",i=>{const o=i;this.dispatchEvent(new CustomEvent("custom-action",{detail:o.detail,bubbles:!0,composed:!0}))}),this._customStylesCallback){const i=this._customStylesCallback();if(i){const o=document.createElement("style");o.className="drp-custom-styles",o.textContent=i,this.shadow.appendChild(o)}}setTimeout(()=>this.applyTransitionStyles(),0)}applyOptionUpdate(t,n){if(!this.picker)return;this.picker.updateOptions({[t]:n})||this.scheduleReinit()}scheduleReinit(){this._pendingReinit||(this._pendingReinit=!0,queueMicrotask(()=>{this._pendingReinit=!1,this.picker&&(this.picker.destroy(),this.initializePicker())}))}handleDateSelect(t){var i;const n={date:t instanceof Date?t:void 0,dateRange:t instanceof Date||Array.isArray(t)?void 0:t,formattedValue:((i=this.inputElement)==null?void 0:i.value)||""};if(!this.picker){this.dispatchEvent(new CustomEvent("date-select",{detail:n,bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("change",{detail:n,bubbles:!0,composed:!0}));return}if(this.picker.requiresApplyButton()&&this.picker.pendingSelection)return;const r=this.picker.options.disabledDatesHandling;if(!(t instanceof Date)&&!Array.isArray(t)&&"start"in t&&"end"in t){const o=t.start,s=t.end;switch(r){case"allow":n.enabledDates=this.picker.getEnabledDatesInRange(o,s),n.disabledDates=this.picker.getDisabledDatesInRange(o,s),n.getEnabledDateCount=()=>n.enabledDates.length,n.getTotalDays=()=>Math.floor((s.getTime()-o.getTime())/864e5)+1;break;case"split":n.dateRanges=this.picker.splitRangeByDisabled(o,s),n.dates=this.picker.getEnabledDatesInRange(o,s),n.dateRanges.length>0&&(n.formattedValue=n.dateRanges.map(d=>`${this.picker.formatDate(d.start)} - ${this.picker.formatDate(d.end)}`).join(", "));break;case"individual":n.dates=this.picker.getEnabledDatesInRange(o,s),n.dateRange=null,n.dates.length>0&&(n.formattedValue=n.dates.map(d=>this.picker.formatDate(d)).join(", "));break;case"block":n.dates=this.picker.getEnabledDatesInRange(o,s);break}}this.dispatchEvent(new CustomEvent("date-select",{detail:n,bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("change",{detail:n,bubbles:!0,composed:!0}))}show(){if(!this.picker){console.warn("[web-daterangepicker] show() called but picker not initialized yet");return}this.picker.show()}hide(){if(!this.picker){console.warn("[web-daterangepicker] hide() called but picker not initialized yet");return}this.picker.hide()}toggle(){if(!this.picker){console.warn("[web-daterangepicker] toggle() called but picker not initialized yet");return}this.picker.toggle()}clearSelection(){if(!this.picker){console.warn("[web-daterangepicker] clearSelection() called but picker not initialized yet");return}this.picker.clearSelection()}showMessage(t,n,r){if(!this.picker){console.warn("[web-daterangepicker] showMessage() called but picker not initialized yet");return}this.picker.showMessage(t,n,r)}hideMessage(){if(!this.picker){console.warn("[web-daterangepicker] hideMessage() called but picker not initialized yet");return}this.picker.hideMessage()}getInputValue(){var t;return((t=this.inputElement)==null?void 0:t.value)||""}setInputValue(t){this.inputElement&&(this.inputElement.value=t),this.setAttribute("value",t)}setMonthNames(t){this.picker&&(this.picker.monthNames=t,this.picker.renderCalendar())}setRollingItemAlignment(t){const n=this.shadow.querySelector(".drp-date-picker");n&&n.style.setProperty("--drp-rolling-item-justify-content",t)}get selectionMode(){return this.getAttribute("selection-mode")||"single"}set selectionMode(t){this.setAttribute("selection-mode",t)}get dateFormatMask(){return this.getAttribute("date-format-mask")||"YYYY-MM-DD"}set dateFormatMask(t){this.setAttribute("date-format-mask",t)}get value(){return this.getInputValue()}set value(t){this.setInputValue(t)}get disabled(){return this.hasAttribute("disabled")}set disabled(t){t?this.setAttribute("disabled",""):this.removeAttribute("disabled")}get weekStartDay(){const t=this.getAttribute("week-start-day");if(t==="auto")return"auto";const n=parseInt(t||"");return!isNaN(n)&&n>=0&&n<=6?n:"auto"}set weekStartDay(t){this.setAttribute("week-start-day",t.toString())}get minDate(){return this.getAttribute("min-date")||void 0}set minDate(t){t?this.setAttribute("min-date",t):this.removeAttribute("min-date")}get maxDate(){return this.getAttribute("max-date")||void 0}set maxDate(t){t?this.setAttribute("max-date",t):this.removeAttribute("max-date")}get disabledWeekdays(){const t=this.getAttribute("disabled-weekdays");if(t)return t.split(",").map(n=>parseInt(n.trim())).filter(n=>!isNaN(n)&&n>=0&&n<=6)}set disabledWeekdays(t){t&&t.length>0?this.setAttribute("disabled-weekdays",t.join(",")):this.removeAttribute("disabled-weekdays")}get enableTransitions(){return this.hasAttribute("enable-transitions")}set enableTransitions(t){t?this.setAttribute("enable-transitions",""):this.removeAttribute("enable-transitions")}get inputSize(){return this.getAttribute("input-size")||"md"}set inputSize(t){this.setAttribute("input-size",t)}get specialDates(){return this._specialDates}set specialDates(t){this._specialDates=t,this.applyOptionUpdate("specialDates",t)}get disabledDates(){return this._disabledDates}set disabledDates(t){this._disabledDates=t,this.applyOptionUpdate("disabledDates",t)}get getDateMetadataCallback(){return this._getDateMetadataCallback}set getDateMetadataCallback(t){this._getDateMetadataCallback=t,this.applyOptionUpdate("getDateMetadataCallback",t)}get badgeTooltipCallback(){return this._badgeTooltipCallback}set badgeTooltipCallback(t){this._badgeTooltipCallback=t,this.applyOptionUpdate("badgeTooltipCallback",t)}get dayTooltipCallback(){return this._dayTooltipCallback}set dayTooltipCallback(t){this._dayTooltipCallback=t,this.applyOptionUpdate("dayTooltipCallback",t)}get customStylesCallback(){return this._customStylesCallback}set customStylesCallback(t){this._customStylesCallback=t,this.scheduleReinit()}get renderDayCallback(){return this._renderDayCallback}set renderDayCallback(t){this._renderDayCallback=t,this.applyOptionUpdate("renderDayCallback",t)}get renderDayContentCallback(){return this._renderDayContentCallback}set renderDayContentCallback(t){this._renderDayContentCallback=t,this.applyOptionUpdate("renderDayContentCallback",t)}get beforeDateSelectCallback(){return this._beforeDateSelectCallback}set beforeDateSelectCallback(t){this._beforeDateSelectCallback=t,this.applyOptionUpdate("beforeDateSelectCallback",t)}get beforeMonthChangedCallback(){return this._beforeMonthChangedCallback}set beforeMonthChangedCallback(t){this._beforeMonthChangedCallback=t,this.applyOptionUpdate("beforeMonthChangedCallback",t)}get formatSummaryCallback(){return this._formatSummaryCallback}set formatSummaryCallback(t){this._formatSummaryCallback=t,this.applyOptionUpdate("formatSummaryCallback",t)}get getUnifiedHeaderCallback(){return this._getUnifiedHeaderCallback}set getUnifiedHeaderCallback(t){this._getUnifiedHeaderCallback=t,this.applyOptionUpdate("getUnifiedHeaderCallback",t)}get getMonthHeaderCallback(){return this._getMonthHeaderCallback}set getMonthHeaderCallback(t){this._getMonthHeaderCallback=t,this.applyOptionUpdate("getMonthHeaderCallback",t)}get dateMember(){return this._dateMember}set dateMember(t){this._dateMember=t,this.applyOptionUpdate("dateMember",t)}get badgeTextMember(){return this._badgeTextMember}set badgeTextMember(t){this._badgeTextMember=t,this.applyOptionUpdate("badgeTextMember",t)}get badgeClassMember(){return this._badgeClassMember}set badgeClassMember(t){this._badgeClassMember=t,this.applyOptionUpdate("badgeClassMember",t)}get dayClassMember(){return this._dayClassMember}set dayClassMember(t){this._dayClassMember=t,this.applyOptionUpdate("dayClassMember",t)}get badgeTooltipMember(){return this._badgeTooltipMember}set badgeTooltipMember(t){this._badgeTooltipMember=t,this.applyOptionUpdate("badgeTooltipMember",t)}get dayTooltipMember(){return this._dayTooltipMember}set dayTooltipMember(t){this._dayTooltipMember=t,this.applyOptionUpdate("dayTooltipMember",t)}get isDisabledMember(){return this._isDisabledMember}set isDisabledMember(t){this._isDisabledMember=t,this.applyOptionUpdate("isDisabledMember",t)}get actionButtons(){return this._actionButtons}set actionButtons(t){this._actionButtons=t,this.applyOptionUpdate("actionButtons",t)}get selectedRanges(){var t;return((t=this.picker)==null?void 0:t.selectedRangesReactive)||[]}set selectedRanges(t){this.picker&&(this.picker.selectedRangesReactive=t)}get selectedDates(){var t;return((t=this.picker)==null?void 0:t.selectedDatesReactive)||[]}set selectedDates(t){this.picker&&(this.picker.selectedDatesReactive=t)}get selectedDate(){var t;return((t=this.picker)==null?void 0:t.selectedDateReactive)||null}set selectedDate(t){this.picker&&(this.picker.selectedDateReactive=t)}get isOpen(){var t;return((t=this.picker)==null?void 0:t.isOpen)||!1}set isOpen(t){this.picker&&(this.picker.isOpen=t)}}customElements.get("web-daterangepicker")||customElements.define("web-daterangepicker",vt);function sr(){return Array.from(document.querySelectorAll("web-daterangepicker"))}typeof window<"u"&&(window.components=window.components||{},window.components["web-daterangepicker"]={version:()=>"1.11.0",config:{name:"@keenmate/web-daterangepicker",version:"1.11.0",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("web-daterangepicker")&&customElements.define("web-daterangepicker",vt)},getInstances:()=>sr(),logging:{enableLogging:Ge,disableLogging:Xe,setLogLevel:Ke,setCategoryLevel:Ca,getCategories:Ea}},window.components["web-daterangepicker"].register()),F.DateRangePicker=qe,F.WebDaterangepickerElement=vt,Object.defineProperty(F,Symbol.toStringTag,{value:"Module"})});
38
+ `,this.calendar.appendChild(this.messageElement),this.options.selectionMode==="range"&&this.options.showSummary!==!1){const n=document.createElement("div");n.className="drp-date-picker__summary drp-date-picker__summary--hidden",this.calendar.appendChild(n)}const t=document.createElement("div");t.className="drp-date-picker__actions",this.renderButtons(t),t.children.length>0&&this.calendar.appendChild(t),this.containerElement.appendChild(this.calendar),T.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;T.debug("Attaching input listeners");const a=this.options.calendarOpenTrigger||"focus";a==="focus"?(this.input.addEventListener("focus",()=>{T.debug("Input focused - opening calendar"),this.show()}),this.input.addEventListener("pointerdown",()=>{T.debug("Input pointerdown - ensuring calendar open"),this.show()}),this.input.addEventListener("mousedown",()=>{T.debug("Input mousedown - ensuring calendar open"),this.show()}),this.input.addEventListener("click",()=>{T.debug("Input click - ensuring calendar open"),this.show()})):a==="typing"&&this.input.addEventListener("input",t=>{!this.calendar.classList.contains("drp-date-picker--visible")&&this.input&&this.input.value.length>0&&(T.debug("User started typing - opening calendar"),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 a=>{const t=a.target;a.stopPropagation();const n=t.dataset.action,r=t.dataset.monthIndex,i=r?parseInt(r):0,o=t.closest('[data-action="custom"]');if(o){const s={};for(const[l,c]of Object.entries(o.dataset))l!=="action"&&(s[l]=c);this.fireCustomActionEvent(s);const d=o._customOnClick;d&&await Promise.resolve(d(this));return}if(n==="prev"||n==="next"||n==="unified-prev"||n==="unified-next"){const s=t;if(s.disabled||s.classList.contains("drp-date-picker__nav--disabled"))return}if(n==="prev")this.prevMonth(i);else if(n==="next")this.nextMonth(i);else if(n==="unified-prev")this.unifiedPrevMonth();else if(n==="unified-next")this.unifiedNextMonth();else if(n==="toggle-rolling")this.toggleRollingSelector(i);else if(n==="toggle-unified-rolling")this.toggleUnifiedRollingSelector();else if(n==="today")this.selectToday();else if(n==="clear")this.clearSelection();else if(n==="apply")this.apply();else if(n==="close-message")this.hideMessage();else if(t.closest(".drp-date-picker__day:not(.drp-date-picker__day--disabled)"))await this.selectDay(t.closest(".drp-date-picker__day"));else if(t.closest("[data-year]")){const s=t.closest("[data-year]");if(s.classList.contains("drp-date-picker__rolling-item--disabled"))return;const d=s.dataset.year;if(s.dataset.unified==="true")d&&this.setUnifiedYear(parseInt(d));else{const l=s.dataset.monthIndex;d&&l&&this.selectYear(parseInt(d),parseInt(l))}}else if(t.closest("[data-month]")){const s=t.closest("[data-month]");if(s.classList.contains("drp-date-picker__rolling-item--disabled"))return;const d=s.dataset.month;if(s.dataset.unified==="true")d&&this.setUnifiedMonth(parseInt(d));else{const l=s.dataset.monthIndex;d&&l&&this.selectMonth(parseInt(d),parseInt(l))}}else if(!t.closest(".drp-date-picker__rolling-selector")&&!t.closest(".drp-date-picker__unified-rolling-selector")){let s=!1;for(let d=0;d<this.showingRollingSelector.length;d++)this.showingRollingSelector[d]&&(this.showingRollingSelector[d]=!1,s=!0);this.showingUnifiedRollingSelector&&(this.showingUnifiedRollingSelector=!1,s=!0),s&&this.renderCalendar()}}),this.calendar.addEventListener("mouseenter",a=>{const t=a.target,n=t.closest(".drp-date-picker__day"),r=t.closest(".drp-date-picker__badge-cell"),i=n||r;if(i&&i instanceof HTMLElement){const o=i.dataset.tooltip;o&&this.showTooltip(i,o)}},!0),this.calendar.addEventListener("mouseleave",a=>{const t=a.target,n=t.closest(".drp-date-picker__day"),r=t.closest(".drp-date-picker__badge-cell"),i=n||r;i&&this.currentTooltipTarget===i&&this.hideTooltip()},!0),this.calendar.addEventListener("focusin",()=>{this.setCalendarActive()}),document.addEventListener("keydown",a=>{var t,n,r,i;if(this.calendar.classList.contains("drp-date-picker--visible")&&this.isCalendarActive){if(T.debug("Keydown",a.key,"Ctrl:",a.ctrlKey,"Meta:",a.metaKey,"Shift:",a.shiftKey,"Alt:",a.altKey),a.key==="Escape")this.hide(),a.preventDefault();else if(a.key==="ArrowUp")this.moveFocus(-7),a.preventDefault();else if(a.key==="ArrowDown")this.moveFocus(7),a.preventDefault();else if(a.key==="ArrowLeft"){if(a.ctrlKey||a.metaKey){w.debug("Ctrl+Left: Navigate to previous month");const o=this.focusedDayIndex;this.prevMonth(this.activeMonthIndex),setTimeout(()=>{var l,c;const s=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`),d=s==null?void 0:s.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");d&&(this.focusedDayIndex=Math.min(o!==null?o: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);a.preventDefault()}else if(a.key==="ArrowRight"){if(a.ctrlKey||a.metaKey){w.debug("Ctrl+Right: Navigate to next month");const o=this.focusedDayIndex;this.nextMonth(this.activeMonthIndex),setTimeout(()=>{var l,c;const s=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`),d=s==null?void 0:s.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");d&&(this.focusedDayIndex=Math.min(o!==null?o: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);a.preventDefault()}else if(a.key==="Enter"){if(this.focusedDayIndex!==null){const o=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`),s=o==null?void 0:o.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)"),d=s==null?void 0:s[this.focusedDayIndex];d&&d.click()}else this.hide();a.preventDefault()}else if(a.key==="Tab"){if(this.options.visibleMonthsCount>1){const o=a.shiftKey?-1:1,s=this.activeMonthIndex+o;if(s>=0&&s<this.monthDates.length){w.debug(`Tab: switching from Col${this.activeMonthIndex} to Col${s}`);const d=this.focusedDayIndex??0;this.activeMonthIndex=s;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),w.debug(`Col${this.activeMonthIndex} Tab: set focusedDayIndex to ${this.focusedDayIndex}`)}this.renderCalendar()}a.preventDefault()}}else if(a.key==="t"||a.key==="T")this.monthDates[this.activeMonthIndex]=new Date,we(this,this.activeMonthIndex),this.renderCalendar(),setTimeout(()=>{const o=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`),s=o==null?void 0:o.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");if(s){const d=Array.from(s).findIndex(l=>l.classList.contains("drp-date-picker__day--today"));d!==-1&&(this.focusedDayIndex=d,s[d].classList.add("drp-date-picker__day--focused"),s[d].scrollIntoView({block:"nearest"}))}},0),a.preventDefault();else if(a.key==="PageUp"){const o=this.focusedDayIndex;this.prevMonth(this.activeMonthIndex),setTimeout(()=>{var l,c;const s=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`),d=s==null?void 0:s.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");d&&(this.focusedDayIndex=Math.min(o!==null?o: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),a.preventDefault()}else if(a.key==="PageDown"){const o=this.focusedDayIndex;this.nextMonth(this.activeMonthIndex),setTimeout(()=>{var l,c;const s=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`),d=s==null?void 0:s.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");d&&(this.focusedDayIndex=Math.min(o!==null?o: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),a.preventDefault()}else if(a.key==="Home"){w.debug("Home key pressed, Ctrl:",a.ctrlKey,"Meta:",a.metaKey);const o=this.monthDates[this.activeMonthIndex].getFullYear(),s=this.monthDates[this.activeMonthIndex].getMonth();if(a.ctrlKey||a.metaKey){w.debug("Ctrl+Home: Navigate to year start");const d=this.getEffectiveYearRange(),l=this.getEffectiveMonthRange(),c=s===0,p=this.focusedDayIndex===0;let u=o,g=Math.max(0,l.min-1);c&&p&&(u=o-1),u<d.min&&(w.debug("Ctrl+Home: Target year below min, clamping to",d.min),u=d.min);const m=new Date(u,g,1),h=this.monthDates[this.activeMonthIndex];(m.getFullYear()!==h.getFullYear()||m.getMonth()!==h.getMonth()||this.focusedDayIndex!==0)&&(w.debug("Going to",g+1,"/",u),this.monthDates[this.activeMonthIndex]=m,this.renderCalendar(),setTimeout(()=>{var x,E;const v=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`),f=v==null?void 0:v.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");f&&(this.focusedDayIndex=0,(x=f[0])==null||x.classList.add("drp-date-picker__day--focused"),(E=f[0])==null||E.scrollIntoView({block:"nearest"}))},0))}else if(w.debug("Home: Navigate to first day (cycles to previous month if already there)"),this.focusedDayIndex===0)w.debug("Already on first day, going to previous month"),this.prevMonth(this.activeMonthIndex),setTimeout(()=>{var p,u;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")),(p=c[0])==null||p.classList.add("drp-date-picker__day--focused"),(u=c[0])==null||u.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(p=>p.classList.remove("drp-date-picker__day--focused")),(t=c[0])==null||t.classList.add("drp-date-picker__day--focused"),(n=c[0])==null||n.scrollIntoView({block:"nearest"}))}a.preventDefault()}else if(a.key==="End"){w.debug("End key pressed, Ctrl:",a.ctrlKey,"Meta:",a.metaKey);const o=this.monthDates[this.activeMonthIndex].getFullYear(),s=this.monthDates[this.activeMonthIndex].getMonth();if(a.ctrlKey||a.metaKey){w.debug("Ctrl+End: Navigate to year end");const d=this.getEffectiveYearRange(),l=this.getEffectiveMonthRange(),c=s===11,p=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`),u=p==null?void 0:p.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)"),g=u&&this.focusedDayIndex===u.length-1;let m=o,h=Math.min(11,l.max-1);c&&g&&(m=o+1),m>d.max&&(w.debug("Ctrl+End: Target year above max, clamping to",d.max),m=d.max);const v=new Date(m,h+1,0).getDate(),f=new Date(m,h,v),x=this.monthDates[this.activeMonthIndex];(f.getFullYear()!==x.getFullYear()||f.getMonth()!==x.getMonth()||!g)&&(w.debug("Going to",h+1,"/",m),this.monthDates[this.activeMonthIndex]=f,this.renderCalendar(),setTimeout(()=>{var D,_;const E=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`),S=E==null?void 0:E.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");S&&(this.focusedDayIndex=S.length-1,(D=S[this.focusedDayIndex])==null||D.classList.add("drp-date-picker__day--focused"),(_=S[this.focusedDayIndex])==null||_.scrollIntoView({block:"nearest"}))},0))}else{w.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?(w.debug("Already on last day, going to next month"),this.nextMonth(this.activeMonthIndex),setTimeout(()=>{var g,m;const p=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`),u=p==null?void 0:p.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");u&&(this.focusedDayIndex=u.length-1,this.calendar.querySelectorAll(".drp-date-picker__day--focused").forEach(h=>h.classList.remove("drp-date-picker__day--focused")),(g=u[this.focusedDayIndex])==null||g.classList.add("drp-date-picker__day--focused"),(m=u[this.focusedDayIndex])==null||m.scrollIntoView({block:"nearest"}))},0)):(this.focusedDayIndex=l.length-1,this.calendar.querySelectorAll(".drp-date-picker__day--focused").forEach(p=>p.classList.remove("drp-date-picker__day--focused")),(r=l[this.focusedDayIndex])==null||r.classList.add("drp-date-picker__day--focused"),(i=l[this.focusedDayIndex])==null||i.scrollIntoView({block:"nearest"}))}a.preventDefault()}}})}parseFormat(a){const t={};let n="";return a.includes("-")?n="-":a.includes("/")?n="/":a.includes(".")&&(n="."),a.split(n).forEach((i,o)=>{i==="YYYY"||i==="YY"?t.year={index:o,length:i.length}:i==="MM"||i==="M"?t.month={index:o,length:2}:(i==="DD"||i==="D")&&(t.day={index:o,length:2})}),{format:a,separator:n,parts:t,maxLength:a.length}}formatDate(a){if(!a)return"";const t=a.getFullYear(),n=String(a.getMonth()+1).padStart(2,"0"),r=String(a.getDate()).padStart(2,"0"),{format:i,separator:o,parts:s}=this.formatInfo,d=[];for(let l=0;l<3;l++)s.year&&s.year.index===l?d.push(s.year.length===2?String(t).slice(-2):t):s.month&&s.month.index===l?d.push(n):s.day&&s.day.index===l&&d.push(r);return d.join(o)}get isOpen(){return this.calendar.classList.contains("drp-date-picker--visible")}set isOpen(a){if(this.options.positioningMode==="inline"){console.warn("isOpen property does not apply to inline mode");return}a?this.show():this.hide()}get selectedRangesReactive(){return[...this.selectedRanges]}set selectedRangesReactive(a){this.selectedRanges=a.map(t=>({start:new Date(t.start),end:new Date(t.end)})),this.invalidRangeStart=null,this.invalidRangeEnd=null,this.focusedDayIndex=null,this.options.selectionMode==="range"&&a.length>0?(this.selectedStartDate=new Date(a[0].start),this.selectedEndDate=new Date(a[0].end),this.input&&!this.requiresApplyButton()&&(this.input.value=`${this.formatDate(this.selectedStartDate)} - ${this.formatDate(this.selectedEndDate)}`)):this.input&&!this.requiresApplyButton()&&(this.input.value=""),this.renderCalendar(),this.updateSummary()}get selectedDatesReactive(){return this.selectedDates.map(a=>new Date(a))}set selectedDatesReactive(a){this.selectedDates=a.map(t=>new Date(t)),this.renderCalendar(),this.updateSummary()}get selectedDateReactive(){return this.selectedDate?new Date(this.selectedDate):null}set selectedDateReactive(a){this.selectedDate=a?new Date(a):null,this.input&&a?this.input.value=this.formatDate(a):this.input&&(this.input.value=""),this.renderCalendar(),this.updateSummary()}fireCustomActionEvent(a){this.calendar.dispatchEvent(new CustomEvent("custom-action",{detail:a,bubbles:!0,composed:!0}))}setCalendarActive(){this.isCalendarActive||(this.isCalendarActive=!0,document.dispatchEvent(new CustomEvent(Z.ACTIVE_EVENT,{detail:this})))}destroy(){this.scrollSubscriptions.forEach(a=>a.unsubscribe()),this.scrollSubscriptions=[],this.clickSubscriptions.forEach(a=>a.unsubscribe()),this.clickSubscriptions=[],this.scrollEvents.destroy(),this.clickEvents.destroy(),document.removeEventListener(Z.ACTIVE_EVENT,this.onAnotherPickerActivated),this.destroyAllActionButtonTooltips(),this.calendar.remove(),this.tooltip&&this.tooltip.remove(),this.modalBackdrop&&(this.modalBackdrop.remove(),this.modalBackdrop=null)}show(){return Qt(this)}hide(){return ht(this)}toggle(){return $n(this)}position(){return ft(this)}showTooltip(a,t){return zn(this,a,t)}hideTooltip(){return Nn(this)}showMessage(a,t,n){return mt(this,a,t,n)}hideMessage(){return le(this)}renderCalendar(){return Wn(this)}renderNormalView(a){return aa(this,a)}renderDays(a,t){return na(this,a,t)}renderRollingSelector(a){return oa(this,a)}updateSummary(){return Gn(this)}updateSummaryWithPreview(){return sa(this)}updateDragPreview(){return Xn(this)}toggleRollingSelector(a){return Pn(this,a)}selectYear(a,t){return On(this,a,t)}selectMonth(a,t){return Fn(this,a,t)}checkAndResolveCollisions(a){return we(this,a)}prevMonth(a){return qe(this,a)}nextMonth(a){return We(this,a)}unifiedPrevMonth(){return Bn(this)}unifiedNextMonth(){return Yn(this)}toggleUnifiedRollingSelector(){return Un(this)}setUnifiedMonth(a){return Vn(this,a)}setUnifiedYear(a){return qn(this,a)}findNextEnabledDayIndex(a,t,n,r){return Ie(this,a,t,n)}moveFocus(a){return Hn(this,a)}async selectDay(a){return await xn(this,a)}selectToday(){return Mn(this)}clearSelection(){return Sn(this)}apply(){return Cn(this)}initDragListeners(){return En(this)}startDrag(a,t,n){return Kt(this,a,t,n)}onDragMove(a){return Gt(this,a)}async onDragEnd(a){return await Xt(this)}findNearestEnabledDate(a,t="forward"){return Fe(this,a,t)}handleInputMask(a){return In(this,a)}applyMask(a){return _e(this,a)}applyRangeMask(a){return Jt(this,a)}handleKeydown(a){return kn(this,a)}handlePaste(a){return Rn(this,a)}updateCalendarFromInput(){return He(this)}parseAndUpdateSingleDate(a,t="single"){return Ye(this,a,t)}static injectGlobalStyles(a=!1){if(Z.stylesInjected&&!a){T.debug("Styles already injected, skipping");return}const t=document.createElement("style");t.setAttribute("data-source","web-daterangepicker"),t.textContent=pa,document.head.appendChild(t),Z.stylesInjected=!0,T.info("Global styles injected successfully")}static areStylesLoaded(){const a=document.createElement("div");a.className="drp-date-picker",a.style.display="none",document.body.appendChild(a);const n=window.getComputedStyle(a).getPropertyValue("--drp-accent-color");return document.body.removeChild(a),n!==""}};b(Z,"stylesInjected",!1),b(Z,"ACTIVE_EVENT","drp-picker-activated");let je=Z;const pe=(e,a)=>e.getAttribute(a)||void 0,vt=(e,a)=>{const t=parseInt(e.getAttribute(a)||"0");return Number.isFinite(t)&&t>0?t:void 0},er=(e,a)=>{const t=e.getAttribute(a);if(t==null)return;const n=parseInt(t);return Number.isFinite(n)?n:void 0},Dt=(e,a)=>e.hasAttribute(a),Re=(e,a)=>e.hasAttribute(a)?e.getAttribute(a)==="true":void 0,tr=(e,a)=>e.hasAttribute(a)?e.getAttribute(a)!=="false":void 0,xe=e=>(a,t)=>{const n=a.getAttribute(t);return n&&e.includes(n)?n:void 0},ua=e=>(a,t)=>a.getAttribute(t)||e,ar=(e,a)=>{const t=e.getAttribute(a);if(!t)return;const n=t.split(",").map(r=>parseInt(r.trim())).filter(r=>!isNaN(r)&&r>=0&&r<=6);return n.length?n:void 0},nr=(e,a)=>{const t=e.getAttribute(a);if(!t)return;if(t==="auto")return"auto";const n=parseInt(t);return!isNaN(n)&&n>=0&&n<=6?n:void 0},rr=["single","range","multiple"],ir=["focus","typing","manual"],or=["horizontal","grid"],sr=["inline","floating","modal"],dr=["allow","prevent","block","split","individual"],lr=["never","selection","apply"],_t=[{attr:"selection-mode",key:"selectionMode",parser:xe(rr)},{attr:"date-format-mask",key:"dateFormatMask",parser:ua("YYYY-MM-DD")},{attr:"visible-months-count",key:"visibleMonthsCount",parser:vt},{attr:"calendar-open-trigger",key:"calendarOpenTrigger",parser:xe(ir)},{attr:"month-layout",key:"monthLayout",parser:xe(or)},{attr:"grid-rows",key:"gridRows",parser:vt},{attr:"grid-columns",key:"gridColumns",parser:vt},{attr:"unified-navigation",key:"unifiedNavigation",parser:Dt},{attr:"unified-navigation-anchor-index",key:"unifiedNavigationAnchorIndex",parser:er},{attr:"unified-header-interactive",key:"unifiedHeaderInteractive",parser:Dt},{attr:"calendar-placement",key:"calendarPlacement",parser:pe},{attr:"positioning-mode",key:"positioningMode",parser:xe(sr)},{attr:"week-start-day",key:"weekStartDay",parser:nr},{attr:"min-date",key:"minDate",parser:pe},{attr:"max-date",key:"maxDate",parser:pe},{attr:"initial-date",key:"initialDate",parser:pe},{attr:"disabled-weekdays",key:"disabledWeekdays",parser:ar},{attr:"disabled-dates-handling",key:"disabledDatesHandling",parser:xe(dr)},{attr:"highlight-disabled-in-range",key:"highlightDisabledInRange",parser:Re},{attr:"locale",key:"locale",parser:ua("auto")},{attr:"display-format-mask",key:"displayFormatMask",parser:pe},{attr:"show-debug-info",key:"showDebugInfo",parser:Dt},{attr:"rolling-year-range",key:"rollingYearRange",parser:pe},{attr:"rolling-month-range",key:"rollingMonthRange",parser:pe},{attr:"auto-close",key:"autoClose",parser:xe(lr)},{attr:"close-on-scroll",key:"closeOnScroll",parser:tr},{attr:"show-today-button",key:"showTodayButton",parser:Re},{attr:"show-clear-button",key:"showClearButton",parser:Re},{attr:"show-apply-button",key:"showApplyButton",parser:Re},{attr:"show-summary",key:"showSummary",parser:Re}],cr=["value","placeholder","disabled","enable-transitions","input-size","mobile-modal-breakpoint","mobile-modal-min-height"];function pr(e){const a={};for(const t of _t){const n=t.parser(e,t.attr);n!==void 0&&(a[t.key]=n)}return a}class wt extends HTMLElement{constructor(){super();b(this,"picker");b(this,"inputElement");b(this,"shadow");b(this,"_specialDates");b(this,"_disabledDates");b(this,"_getDateMetadataCallback");b(this,"_badgeTooltipCallback");b(this,"_dayTooltipCallback");b(this,"_customStylesCallback");b(this,"_renderDayCallback");b(this,"_renderDayContentCallback");b(this,"_beforeDateSelectCallback");b(this,"_beforeMonthChangedCallback");b(this,"_formatSummaryCallback");b(this,"_getUnifiedHeaderCallback");b(this,"_getMonthHeaderCallback");b(this,"_dateMember");b(this,"_badgeTextMember");b(this,"_badgeClassMember");b(this,"_dayClassMember");b(this,"_badgeTooltipMember");b(this,"_dayTooltipMember");b(this,"_isDisabledMember");b(this,"_actionButtons");b(this,"_pendingReinit",!1);b(this,"_mobileModalMqls",[]);b(this,"_mobileModalListener",null);b(this,"_configuredPositioningMode",null);this.shadow=this.attachShadow({mode:"open"})}static get observedAttributes(){return[..._t.map(t=>t.attr),...cr]}applyTransitionStyles(){const t=this.shadow.querySelector(".drp-date-picker");if(!t)return;this.hasAttribute("enable-transitions")?t.classList.add("drp-transitions-enabled"):t.classList.remove("drp-transitions-enabled")}applyInputSizeStyles(){if(!this.inputElement)return;const t=this.getAttribute("input-size");this.inputElement.classList.remove("drp-input--xs","drp-input--sm","drp-input--lg","drp-input--xl"),this.inputElement.classList.remove("drp-date-picker-input--xs","drp-date-picker-input--sm","drp-date-picker-input--lg","drp-date-picker-input--xl"),t&&t!=="md"&&(this.inputElement.classList.add(`drp-input--${t}`),this.inputElement.classList.add(`drp-date-picker-input--${t}`))}connectedCallback(){this.render(),this.initializePicker(),this.setupMobileModalListener()}disconnectedCallback(){this.teardownMobileModalListener(),this.picker&&this.picker.destroy()}setupMobileModalListener(){this.teardownMobileModalListener();const t=this.getAttribute("mobile-modal-breakpoint"),n=this.getAttribute("mobile-modal-min-height");if(!t&&!n)return;const r=this.getAttribute("positioning-mode")||"floating";if(r!=="floating")return;this._configuredPositioningMode=r;const i=d=>/^\d+$/.test(d)?`${d}px`:d,o=[];t&&o.push(`(max-width: ${i(t)})`),n&&o.push(`(max-height: ${i(n)})`),this._mobileModalMqls=o.map(d=>window.matchMedia(d));const s=()=>{const l=this._mobileModalMqls.some(c=>c.matches)?"modal":this._configuredPositioningMode||"floating";this.getAttribute("positioning-mode")!==l&&this.setAttribute("positioning-mode",l)};s(),this._mobileModalListener=()=>s(),this._mobileModalMqls.forEach(d=>{d.addEventListener("change",this._mobileModalListener)})}teardownMobileModalListener(){this._mobileModalListener&&this._mobileModalMqls.forEach(t=>{t.removeEventListener("change",this._mobileModalListener)}),this._mobileModalMqls=[],this._mobileModalListener=null,this._configuredPositioningMode=null}attributeChangedCallback(t,n,r){if(n===r)return;if(t==="enable-transitions")return this.applyTransitionStyles();if(t==="input-size")return this.applyInputSizeStyles();if(t==="mobile-modal-breakpoint"||t==="mobile-modal-min-height"){this.picker&&this.setupMobileModalListener();return}if(t==="value"&&this.inputElement&&r!==null){this.inputElement.value=r;return}if(t==="placeholder"&&this.inputElement&&r!==null){this.inputElement.placeholder=r;return}if(t==="disabled"&&this.inputElement){this.inputElement.disabled=r!==null;return}if(!this.picker)return;const i=_t.find(o=>o.attr===t);if(i){const o=i.parser(this,i.attr);if(this.picker.updateOptions({[i.key]:o}))return}this.picker.destroy(),this.initializePicker()}render(){const t=document.createElement("style");t.textContent=pa,this.shadow.appendChild(t);const n=this.getAttribute("positioning-mode")||"floating";if(n==="floating"||n==="modal"){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 i=this.getAttribute("value");i&&(this.inputElement.value=i),this.hasAttribute("disabled")&&(this.inputElement.disabled=!0),this.shadow.appendChild(this.inputElement),this.applyInputSizeStyles()}}initializePicker(){const t=this.getAttribute("positioning-mode")||"floating";if((t==="floating"||t==="modal")&&!this.inputElement)return;const n={...pr(this),selectionMode:this.getAttribute("selection-mode")||"single",calendarOpenTrigger:this.getAttribute("calendar-open-trigger")||"focus",positioningMode:t,onSelect:i=>this.handleDateSelect(i),container:this.shadow,disabledDates:this._disabledDates,specialDates:this._specialDates,getDateMetadataCallback:this._getDateMetadataCallback,badgeTooltipCallback:this._badgeTooltipCallback,dayTooltipCallback:this._dayTooltipCallback,dateMember:this._dateMember,badgeTextMember:this._badgeTextMember,badgeClassMember:this._badgeClassMember,dayClassMember:this._dayClassMember,badgeTooltipMember:this._badgeTooltipMember,dayTooltipMember:this._dayTooltipMember,isDisabledMember:this._isDisabledMember,customStylesCallback:this._customStylesCallback,renderDayCallback:this._renderDayCallback,renderDayContentCallback:this._renderDayContentCallback,beforeDateSelectCallback:this._beforeDateSelectCallback,beforeMonthChangedCallback:this._beforeMonthChangedCallback,formatSummaryCallback:this._formatSummaryCallback,getUnifiedHeaderCallback:this._getUnifiedHeaderCallback,getMonthHeaderCallback:this._getMonthHeaderCallback,actionButtons:this._actionButtons},r=t==="inline"?null:this.inputElement;if(this.picker=new je(r,n),this.picker.calendar.addEventListener("custom-action",i=>{const o=i;this.dispatchEvent(new CustomEvent("custom-action",{detail:o.detail,bubbles:!0,composed:!0}))}),this._customStylesCallback){const i=this._customStylesCallback();if(i){const o=document.createElement("style");o.className="drp-custom-styles",o.textContent=i,this.shadow.appendChild(o)}}setTimeout(()=>this.applyTransitionStyles(),0)}applyOptionUpdate(t,n){if(!this.picker)return;this.picker.updateOptions({[t]:n})||this.scheduleReinit()}scheduleReinit(){this._pendingReinit||(this._pendingReinit=!0,queueMicrotask(()=>{this._pendingReinit=!1,this.picker&&(this.picker.destroy(),this.initializePicker())}))}handleDateSelect(t){var i;const n={date:t instanceof Date?t:void 0,dateRange:t instanceof Date||Array.isArray(t)?void 0:t,formattedValue:((i=this.inputElement)==null?void 0:i.value)||""};if(!this.picker){this.dispatchEvent(new CustomEvent("date-select",{detail:n,bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("change",{detail:n,bubbles:!0,composed:!0}));return}if(this.picker.requiresApplyButton()&&this.picker.pendingSelection)return;const r=this.picker.options.disabledDatesHandling;if(!(t instanceof Date)&&!Array.isArray(t)&&"start"in t&&"end"in t){const o=t.start,s=t.end;switch(r){case"allow":n.enabledDates=this.picker.getEnabledDatesInRange(o,s),n.disabledDates=this.picker.getDisabledDatesInRange(o,s),n.getEnabledDateCount=()=>n.enabledDates.length,n.getTotalDays=()=>Math.floor((s.getTime()-o.getTime())/864e5)+1;break;case"split":n.dateRanges=this.picker.splitRangeByDisabled(o,s),n.dates=this.picker.getEnabledDatesInRange(o,s),n.dateRanges.length>0&&(n.formattedValue=n.dateRanges.map(d=>`${this.picker.formatDate(d.start)} - ${this.picker.formatDate(d.end)}`).join(", "));break;case"individual":n.dates=this.picker.getEnabledDatesInRange(o,s),n.dateRange=null,n.dates.length>0&&(n.formattedValue=n.dates.map(d=>this.picker.formatDate(d)).join(", "));break;case"block":n.dates=this.picker.getEnabledDatesInRange(o,s);break}}this.dispatchEvent(new CustomEvent("date-select",{detail:n,bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("change",{detail:n,bubbles:!0,composed:!0}))}show(){if(!this.picker){console.warn("[web-daterangepicker] show() called but picker not initialized yet");return}this.picker.show()}hide(){if(!this.picker){console.warn("[web-daterangepicker] hide() called but picker not initialized yet");return}this.picker.hide()}toggle(){if(!this.picker){console.warn("[web-daterangepicker] toggle() called but picker not initialized yet");return}this.picker.toggle()}clearSelection(){if(!this.picker){console.warn("[web-daterangepicker] clearSelection() called but picker not initialized yet");return}this.picker.clearSelection()}showMessage(t,n,r){if(!this.picker){console.warn("[web-daterangepicker] showMessage() called but picker not initialized yet");return}this.picker.showMessage(t,n,r)}hideMessage(){if(!this.picker){console.warn("[web-daterangepicker] hideMessage() called but picker not initialized yet");return}this.picker.hideMessage()}getInputValue(){var t;return((t=this.inputElement)==null?void 0:t.value)||""}setInputValue(t){this.inputElement&&(this.inputElement.value=t),this.setAttribute("value",t)}setMonthNames(t){this.picker&&(this.picker.monthNames=t,this.picker.renderCalendar())}setRollingItemAlignment(t){const n=this.shadow.querySelector(".drp-date-picker");n&&n.style.setProperty("--drp-rolling-item-justify-content",t)}get selectionMode(){return this.getAttribute("selection-mode")||"single"}set selectionMode(t){this.setAttribute("selection-mode",t)}get dateFormatMask(){return this.getAttribute("date-format-mask")||"YYYY-MM-DD"}set dateFormatMask(t){this.setAttribute("date-format-mask",t)}get value(){return this.getInputValue()}set value(t){this.setInputValue(t)}get disabled(){return this.hasAttribute("disabled")}set disabled(t){t?this.setAttribute("disabled",""):this.removeAttribute("disabled")}get weekStartDay(){const t=this.getAttribute("week-start-day");if(t==="auto")return"auto";const n=parseInt(t||"");return!isNaN(n)&&n>=0&&n<=6?n:"auto"}set weekStartDay(t){this.setAttribute("week-start-day",t.toString())}get minDate(){return this.getAttribute("min-date")||void 0}set minDate(t){t?this.setAttribute("min-date",t):this.removeAttribute("min-date")}get maxDate(){return this.getAttribute("max-date")||void 0}set maxDate(t){t?this.setAttribute("max-date",t):this.removeAttribute("max-date")}get disabledWeekdays(){const t=this.getAttribute("disabled-weekdays");if(t)return t.split(",").map(n=>parseInt(n.trim())).filter(n=>!isNaN(n)&&n>=0&&n<=6)}set disabledWeekdays(t){t&&t.length>0?this.setAttribute("disabled-weekdays",t.join(",")):this.removeAttribute("disabled-weekdays")}get enableTransitions(){return this.hasAttribute("enable-transitions")}set enableTransitions(t){t?this.setAttribute("enable-transitions",""):this.removeAttribute("enable-transitions")}get inputSize(){return this.getAttribute("input-size")||"md"}set inputSize(t){this.setAttribute("input-size",t)}get specialDates(){return this._specialDates}set specialDates(t){this._specialDates=t,this.applyOptionUpdate("specialDates",t)}get disabledDates(){return this._disabledDates}set disabledDates(t){this._disabledDates=t,this.applyOptionUpdate("disabledDates",t)}get getDateMetadataCallback(){return this._getDateMetadataCallback}set getDateMetadataCallback(t){this._getDateMetadataCallback=t,this.applyOptionUpdate("getDateMetadataCallback",t)}get badgeTooltipCallback(){return this._badgeTooltipCallback}set badgeTooltipCallback(t){this._badgeTooltipCallback=t,this.applyOptionUpdate("badgeTooltipCallback",t)}get dayTooltipCallback(){return this._dayTooltipCallback}set dayTooltipCallback(t){this._dayTooltipCallback=t,this.applyOptionUpdate("dayTooltipCallback",t)}get customStylesCallback(){return this._customStylesCallback}set customStylesCallback(t){this._customStylesCallback=t,this.scheduleReinit()}get renderDayCallback(){return this._renderDayCallback}set renderDayCallback(t){this._renderDayCallback=t,this.applyOptionUpdate("renderDayCallback",t)}get renderDayContentCallback(){return this._renderDayContentCallback}set renderDayContentCallback(t){this._renderDayContentCallback=t,this.applyOptionUpdate("renderDayContentCallback",t)}get beforeDateSelectCallback(){return this._beforeDateSelectCallback}set beforeDateSelectCallback(t){this._beforeDateSelectCallback=t,this.applyOptionUpdate("beforeDateSelectCallback",t)}get beforeMonthChangedCallback(){return this._beforeMonthChangedCallback}set beforeMonthChangedCallback(t){this._beforeMonthChangedCallback=t,this.applyOptionUpdate("beforeMonthChangedCallback",t)}get formatSummaryCallback(){return this._formatSummaryCallback}set formatSummaryCallback(t){this._formatSummaryCallback=t,this.applyOptionUpdate("formatSummaryCallback",t)}get getUnifiedHeaderCallback(){return this._getUnifiedHeaderCallback}set getUnifiedHeaderCallback(t){this._getUnifiedHeaderCallback=t,this.applyOptionUpdate("getUnifiedHeaderCallback",t)}get getMonthHeaderCallback(){return this._getMonthHeaderCallback}set getMonthHeaderCallback(t){this._getMonthHeaderCallback=t,this.applyOptionUpdate("getMonthHeaderCallback",t)}get dateMember(){return this._dateMember}set dateMember(t){this._dateMember=t,this.applyOptionUpdate("dateMember",t)}get badgeTextMember(){return this._badgeTextMember}set badgeTextMember(t){this._badgeTextMember=t,this.applyOptionUpdate("badgeTextMember",t)}get badgeClassMember(){return this._badgeClassMember}set badgeClassMember(t){this._badgeClassMember=t,this.applyOptionUpdate("badgeClassMember",t)}get dayClassMember(){return this._dayClassMember}set dayClassMember(t){this._dayClassMember=t,this.applyOptionUpdate("dayClassMember",t)}get badgeTooltipMember(){return this._badgeTooltipMember}set badgeTooltipMember(t){this._badgeTooltipMember=t,this.applyOptionUpdate("badgeTooltipMember",t)}get dayTooltipMember(){return this._dayTooltipMember}set dayTooltipMember(t){this._dayTooltipMember=t,this.applyOptionUpdate("dayTooltipMember",t)}get isDisabledMember(){return this._isDisabledMember}set isDisabledMember(t){this._isDisabledMember=t,this.applyOptionUpdate("isDisabledMember",t)}get actionButtons(){return this._actionButtons}set actionButtons(t){this._actionButtons=t,this.applyOptionUpdate("actionButtons",t)}get selectedRanges(){var t;return((t=this.picker)==null?void 0:t.selectedRangesReactive)||[]}set selectedRanges(t){this.picker&&(this.picker.selectedRangesReactive=t)}get selectedDates(){var t;return((t=this.picker)==null?void 0:t.selectedDatesReactive)||[]}set selectedDates(t){this.picker&&(this.picker.selectedDatesReactive=t)}get selectedDate(){var t;return((t=this.picker)==null?void 0:t.selectedDateReactive)||null}set selectedDate(t){this.picker&&(this.picker.selectedDateReactive=t)}get isOpen(){var t;return((t=this.picker)==null?void 0:t.isOpen)||!1}set isOpen(t){this.picker&&(this.picker.isOpen=t)}}customElements.get("web-daterangepicker")||customElements.define("web-daterangepicker",wt);function ur(){return Array.from(document.querySelectorAll("web-daterangepicker"))}typeof window<"u"&&(window.components=window.components||{},window.components["web-daterangepicker"]={version:()=>"1.12.0",config:{name:"@keenmate/web-daterangepicker",version:"1.12.0",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("web-daterangepicker")&&customElements.define("web-daterangepicker",wt)},getInstances:()=>ur(),logging:{enableLogging:Xe,disableLogging:Je,setLogLevel:Ge,setCategoryLevel:Ia,getCategories:ka}},window.components["web-daterangepicker"].register()),F.DateRangePicker=je,F.WebDaterangepickerElement=wt,Object.defineProperty(F,Symbol.toStringTag,{value:"Module"})});