@keenmate/web-daterangepicker 1.4.0 → 1.5.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.
- package/README.md +33 -0
- package/dist/style.css +1 -1
- package/dist/web-daterangepicker.js +477 -477
- package/dist/web-daterangepicker.umd.js +9 -9
- package/package.json +1 -1
- package/src/scss/_badges.scss +3 -3
- package/src/scss/_base.scss +19 -7
- package/src/scss/_variables.scss +25 -23
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
(function(F,O){typeof exports=="object"&&typeof module<"u"?O(exports):typeof define=="function"&&define.amd?define(["exports"],O):(F=typeof globalThis<"u"?globalThis:F||self,O(F.WebDaterangepicker={}))})(this,function(F){"use strict";var An=Object.defineProperty;var kn=(F,O,U)=>O in F?An(F,O,{enumerable:!0,configurable:!0,writable:!0,value:U}):F[O]=U;var b=(F,O,U)=>kn(F,typeof O!="symbol"?O+"":O,U);function O(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 i=n.weekInfo.firstDay;return i===7?0:i}}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 U(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 be(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 Xt(e,a,t,n,i){const r=be(e),o=e.getDay();return!!(a&&e<a||t&&e>t||i&&i.includes(o)||n.has(r))}function rt(e,a){for(let t=0;t<12;t++){const n=new Date(a,t+1,0).getDate();for(let i=1;i<=n;i++){const r=new Date(a,t,i);if(!e.isDateDisabledInternal(r))return!0}}return!1}function Jt(e,a,t){const n=new Date(e),i=new Date(a);n.setHours(0,0,0,0),i.setHours(0,0,0,0);const r=new Date(n);for(;r<=i;){if(t(r))return!0;r.setDate(r.getDate()+1)}return!1}function Qt(e,a,t){const n=[],i=new Date(e),r=new Date(a);i.setHours(0,0,0,0),r.setHours(0,0,0,0);const o=new Date(i);for(;o<=r;)t(o)||n.push(new Date(o)),o.setDate(o.getDate()+1);return n}function Zt(e,a,t){const n=[],i=new Date(e),r=new Date(a);i.setHours(0,0,0,0),r.setHours(0,0,0,0);const o=new Date(i);for(;o<=r;)t(o)&&n.push(new Date(o)),o.setDate(o.getDate()+1);return n}function ea(e,a,t){const n=new Date(e),i=new Date(a);n.setHours(0,0,0,0),i.setHours(0,0,0,0);let r=new Date(n);const o=new Date(n);for(o.setDate(o.getDate()+1);o<=i;){if(t(o))return r;r=new Date(o),o.setDate(o.getDate()+1)}return i}function ta(e,a,t){const n=[],i=new Date(e),r=new Date(a);i.setHours(0,0,0,0),r.setHours(0,0,0,0);let o=null;const s=new Date(i);for(;s<=r;){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(r)}),n}function ot(e){return st(e,new Date)}function st(e,a){return!e||!a?!1:e.getFullYear()===a.getFullYear()&&e.getMonth()===a.getMonth()&&e.getDate()===a.getDate()}function aa(e,a,t){return!a||!t?!1:e>a&&e<t}var na=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function ia(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var dt={exports:{}};(function(e){(function(a,t){e.exports?e.exports=t():a.log=t()})(na,function(){var a=function(){},t="undefined",n=typeof window!==t&&typeof window.navigator!==t&&/Trident\/|MSIE /.test(window.navigator.userAgent),i=["trace","debug","info","warn","error"],r={},o=null;function s(f,y){var h=f[y];if(typeof h.bind=="function")return h.bind(f);try{return Function.prototype.bind.call(h,f)}catch{return function(){return Function.prototype.apply.apply(h,[f,arguments])}}}function d(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function l(f){return f==="debug"&&(f="log"),typeof console===t?!1:f==="trace"&&n?d:console[f]!==void 0?s(console,f):console.log!==void 0?s(console,"log"):a}function c(){for(var f=this.getLevel(),y=0;y<i.length;y++){var h=i[y];this[h]=y<f?a:this.methodFactory(h,f,this.name)}if(this.log=this.debug,typeof console===t&&f<this.levels.SILENT)return"No console available for logging"}function p(f){return function(){typeof console!==t&&(c.call(this),this[f].apply(this,arguments))}}function u(f,y,h){return l(f)||p.apply(this,arguments)}function g(f,y){var h=this,M,C,E,_="loglevel";typeof f=="string"?_+=":"+f:typeof f=="symbol"&&(_=void 0);function v(S){var R=(i[S]||"silent").toUpperCase();if(!(typeof window===t||!_)){try{window.localStorage[_]=R;return}catch{}try{window.document.cookie=encodeURIComponent(_)+"="+R+";"}catch{}}}function I(){var S;if(!(typeof window===t||!_)){try{S=window.localStorage[_]}catch{}if(typeof S===t)try{var R=window.document.cookie,T=encodeURIComponent(_),k=R.indexOf(T+"=");k!==-1&&(S=/^([^;]+)/.exec(R.slice(k+T.length+1))[1])}catch{}return h.levels[S]===void 0&&(S=void 0),S}}function A(){if(!(typeof window===t||!_)){try{window.localStorage.removeItem(_)}catch{}try{window.document.cookie=encodeURIComponent(_)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch{}}}function D(S){var R=S;if(typeof R=="string"&&h.levels[R.toUpperCase()]!==void 0&&(R=h.levels[R.toUpperCase()]),typeof R=="number"&&R>=0&&R<=h.levels.SILENT)return R;throw new TypeError("log.setLevel() called with invalid level: "+S)}h.name=f,h.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},h.methodFactory=y||u,h.getLevel=function(){return E??C??M},h.setLevel=function(S,R){return E=D(S),R!==!1&&v(E),c.call(h)},h.setDefaultLevel=function(S){C=D(S),I()||h.setLevel(S,!1)},h.resetLevel=function(){E=null,A(),c.call(h)},h.enableAll=function(S){h.setLevel(h.levels.TRACE,S)},h.disableAll=function(S){h.setLevel(h.levels.SILENT,S)},h.rebuild=function(){if(o!==h&&(M=D(o.getLevel())),c.call(h),o===h)for(var S in r)r[S].rebuild()},M=D(o?o.getLevel():"WARN");var x=I();x!=null&&(E=D(x)),c.call(h)}o=new g,o.getLogger=function(y){if(typeof y!="symbol"&&typeof y!="string"||y==="")throw new TypeError("You must supply a name when creating a logger.");var h=r[y];return h||(h=r[y]=new g(y,o.methodFactory)),h};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 r},o.default=o,o})})(dt);var ra=dt.exports;const B=ia(ra),oa=["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"},da=B.methodFactory,la=(e,a,t)=>{const n=da.call(B,e,a,t);return(...i)=>{const r=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: ${r}`,...i)}},lt=[];function Z(e){const a=B.getLogger(e);return a.methodFactory=la,a.setLevel("silent"),lt.push(a),a}const L=Z("DRP"),de=Z("DRP:RENDERING"),le=Z("DRP:INTERACTION"),ce=Z("DRP:SELECTION"),w=Z("DRP:NAVIGATION"),H=Z("DRP:UI"),ne=Z("DRP:VALIDATION"),j=Z("DRP:DRAG");B.setLevel("silent");const Ve=e=>{B.setLevel(e),lt.forEach(a=>a.setLevel(e))},ct=()=>{Ve("debug")},ut=()=>{Ve("silent")},ca=(e,a="debug")=>{const n={DRP:L,"DRP:RENDERING":de,"DRP:INTERACTION":le,"DRP:SELECTION":ce,"DRP:NAVIGATION":w,"DRP:UI":H,"DRP:VALIDATION":ne,"DRP:DRAG":j}[e];n&&n.setLevel(a)},ua=()=>[...oa],ue=Math.min,ie=Math.max,Ce=Math.round,Ie=Math.floor,W=e=>({x:e,y:e}),pa={left:"right",right:"left",bottom:"top",top:"bottom"},ga={start:"end",end:"start"};function qe(e,a,t){return ie(e,ue(a,t))}function ye(e,a){return typeof e=="function"?e(a):e}function re(e){return e.split("-")[0]}function ve(e){return e.split("-")[1]}function pt(e){return e==="x"?"y":"x"}function Ue(e){return e==="y"?"height":"width"}const ha=new Set(["top","bottom"]);function ee(e){return ha.has(re(e))?"y":"x"}function je(e){return pt(ee(e))}function fa(e,a,t){t===void 0&&(t=!1);const n=ve(e),i=je(e),r=Ue(i);let o=i==="x"?n===(t?"end":"start")?"right":"left":n==="start"?"bottom":"top";return a.reference[r]>a.floating[r]&&(o=Ee(o)),[o,Ee(o)]}function ma(e){const a=Ee(e);return[We(e),a,We(a)]}function We(e){return e.replace(/start|end/g,a=>ga[a])}const gt=["left","right"],ht=["right","left"],ba=["top","bottom"],ya=["bottom","top"];function va(e,a,t){switch(e){case"top":case"bottom":return t?a?ht:gt:a?gt:ht;case"left":case"right":return a?ba:ya;default:return[]}}function Da(e,a,t,n){const i=ve(e);let r=va(re(e),t==="start",n);return i&&(r=r.map(o=>o+"-"+i),a&&(r=r.concat(r.map(We)))),r}function Ee(e){return e.replace(/left|right|bottom|top/g,a=>pa[a])}function _a(e){return{top:0,right:0,bottom:0,left:0,...e}}function ft(e){return typeof e!="number"?_a(e):{top:e,right:e,bottom:e,left:e}}function Re(e){const{x:a,y:t,width:n,height:i}=e;return{width:n,height:i,top:t,left:a,right:a+n,bottom:t+i,x:a,y:t}}function mt(e,a,t){let{reference:n,floating:i}=e;const r=ee(a),o=je(a),s=Ue(o),d=re(a),l=r==="y",c=n.x+n.width/2-i.width/2,p=n.y+n.height/2-i.height/2,u=n[s]/2-i[s]/2;let g;switch(d){case"top":g={x:c,y:n.y-i.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-i.width,y:p};break;default:g={x:n.x,y:n.y}}switch(ve(a)){case"start":g[o]-=u*(t&&l?-1:1);break;case"end":g[o]+=u*(t&&l?-1:1);break}return g}const wa=async(e,a,t)=>{const{placement:n="bottom",strategy:i="absolute",middleware:r=[],platform:o}=t,s=r.filter(Boolean),d=await(o.isRTL==null?void 0:o.isRTL(a));let l=await o.getElementRects({reference:e,floating:a,strategy:i}),{x:c,y:p}=mt(l,n,d),u=n,g={},m=0;for(let f=0;f<s.length;f++){const{name:y,fn:h}=s[f],{x:M,y:C,data:E,reset:_}=await h({x:c,y:p,initialPlacement:n,placement:u,strategy:i,middlewareData:g,rects:l,platform:o,elements:{reference:e,floating:a}});c=M??c,p=C??p,g={...g,[y]:{...g[y],...E}},_&&m<=50&&(m++,typeof _=="object"&&(_.placement&&(u=_.placement),_.rects&&(l=_.rects===!0?await o.getElementRects({reference:e,floating:a,strategy:i}):_.rects),{x:c,y:p}=mt(l,u,d)),f=-1)}return{x:c,y:p,placement:u,strategy:i,middlewareData:g}};async function bt(e,a){var t;a===void 0&&(a={});const{x:n,y:i,platform:r,rects:o,elements:s,strategy:d}=e,{boundary:l="clippingAncestors",rootBoundary:c="viewport",elementContext:p="floating",altBoundary:u=!1,padding:g=0}=ye(a,e),m=ft(g),y=s[u?p==="floating"?"reference":"floating":p],h=Re(await r.getClippingRect({element:(t=await(r.isElement==null?void 0:r.isElement(y)))==null||t?y:y.contextElement||await(r.getDocumentElement==null?void 0:r.getDocumentElement(s.floating)),boundary:l,rootBoundary:c,strategy:d})),M=p==="floating"?{x:n,y:i,width:o.floating.width,height:o.floating.height}:o.reference,C=await(r.getOffsetParent==null?void 0:r.getOffsetParent(s.floating)),E=await(r.isElement==null?void 0:r.isElement(C))?await(r.getScale==null?void 0:r.getScale(C))||{x:1,y:1}:{x:1,y:1},_=Re(r.convertOffsetParentRelativeRectToViewportRelativeRect?await r.convertOffsetParentRelativeRectToViewportRelativeRect({elements:s,rect:M,offsetParent:C,strategy:d}):M);return{top:(h.top-_.top+m.top)/E.y,bottom:(_.bottom-h.bottom+m.bottom)/E.y,left:(h.left-_.left+m.left)/E.x,right:(_.right-h.right+m.right)/E.x}}const xa=e=>({name:"arrow",options:e,async fn(a){const{x:t,y:n,placement:i,rects:r,platform:o,elements:s,middlewareData:d}=a,{element:l,padding:c=0}=ye(e,a)||{};if(l==null)return{};const p=ft(c),u={x:t,y:n},g=je(i),m=Ue(g),f=await o.getDimensions(l),y=g==="y",h=y?"top":"left",M=y?"bottom":"right",C=y?"clientHeight":"clientWidth",E=r.reference[m]+r.reference[g]-u[g]-r.floating[m],_=u[g]-r.reference[g],v=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l));let I=v?v[C]:0;(!I||!await(o.isElement==null?void 0:o.isElement(v)))&&(I=s.floating[C]||r.floating[m]);const A=E/2-_/2,D=I/2-f[m]/2-1,x=ue(p[h],D),S=ue(p[M],D),R=x,T=I-f[m]-S,k=I/2-f[m]/2+A,z=qe(R,k,T),N=!d.arrow&&ve(i)!=null&&k!==z&&r.reference[m]/2-(k<R?x:S)-f[m]/2<0,$=N?k<R?k-R:k-T:0;return{[g]:u[g]+$,data:{[g]:z,centerOffset:k-z-$,...N&&{alignmentOffset:$}},reset:N}}}),Ma=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(a){var t,n;const{placement:i,middlewareData:r,rects:o,initialPlacement:s,platform:d,elements:l}=a,{mainAxis:c=!0,crossAxis:p=!0,fallbackPlacements:u,fallbackStrategy:g="bestFit",fallbackAxisSideDirection:m="none",flipAlignment:f=!0,...y}=ye(e,a);if((t=r.arrow)!=null&&t.alignmentOffset)return{};const h=re(i),M=ee(s),C=re(s)===s,E=await(d.isRTL==null?void 0:d.isRTL(l.floating)),_=u||(C||!f?[Ee(s)]:ma(s)),v=m!=="none";!u&&v&&_.push(...Da(s,f,m,E));const I=[s,..._],A=await bt(a,y),D=[];let x=((n=r.flip)==null?void 0:n.overflows)||[];if(c&&D.push(A[h]),p){const k=fa(i,o,E);D.push(A[k[0]],A[k[1]])}if(x=[...x,{placement:i,overflows:D}],!D.every(k=>k<=0)){var S,R;const k=(((S=r.flip)==null?void 0:S.index)||0)+1,z=I[k];if(z&&(!(p==="alignment"?M!==ee(z):!1)||x.every(P=>ee(P.placement)===M?P.overflows[0]>0:!0)))return{data:{index:k,overflows:x},reset:{placement:z}};let N=(R=x.filter($=>$.overflows[0]<=0).sort(($,P)=>$.overflows[1]-P.overflows[1])[0])==null?void 0:R.placement;if(!N)switch(g){case"bestFit":{var T;const $=(T=x.filter(P=>{if(v){const J=ee(P.placement);return J===M||J==="y"}return!0}).map(P=>[P.placement,P.overflows.filter(J=>J>0).reduce((J,Q)=>J+Q,0)]).sort((P,J)=>P[1]-J[1])[0])==null?void 0:T[0];$&&(N=$);break}case"initialPlacement":N=s;break}if(i!==N)return{reset:{placement:N}}}return{}}}},Sa=new Set(["left","top"]);async function Ca(e,a){const{placement:t,platform:n,elements:i}=e,r=await(n.isRTL==null?void 0:n.isRTL(i.floating)),o=re(t),s=ve(t),d=ee(t)==="y",l=Sa.has(o)?-1:1,c=r&&d?-1:1,p=ye(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 Ia=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(a){var t,n;const{x:i,y:r,placement:o,middlewareData:s}=a,d=await Ca(a,e);return o===((t=s.offset)==null?void 0:t.placement)&&(n=s.arrow)!=null&&n.alignmentOffset?{}:{x:i+d.x,y:r+d.y,data:{...d,placement:o}}}}},Ea=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(a){const{x:t,y:n,placement:i}=a,{mainAxis:r=!0,crossAxis:o=!1,limiter:s={fn:y=>{let{x:h,y:M}=y;return{x:h,y:M}}},...d}=ye(e,a),l={x:t,y:n},c=await bt(a,d),p=ee(re(i)),u=pt(p);let g=l[u],m=l[p];if(r){const y=u==="y"?"top":"left",h=u==="y"?"bottom":"right",M=g+c[y],C=g-c[h];g=qe(M,g,C)}if(o){const y=p==="y"?"top":"left",h=p==="y"?"bottom":"right",M=m+c[y],C=m-c[h];m=qe(M,m,C)}const f=s.fn({...a,[u]:g,[p]:m});return{...f,data:{x:f.x-t,y:f.y-n,enabled:{[u]:r,[p]:o}}}}}};function Ae(){return typeof window<"u"}function pe(e){return yt(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=(yt(e)?e.ownerDocument:e.document)||window.document)==null?void 0:a.documentElement}function yt(e){return Ae()?e instanceof Node||e instanceof Y(e).Node:!1}function V(e){return Ae()?e instanceof Element||e instanceof Y(e).Element:!1}function G(e){return Ae()?e instanceof HTMLElement||e instanceof Y(e).HTMLElement:!1}function vt(e){return!Ae()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof Y(e).ShadowRoot}const Ra=new Set(["inline","contents"]);function De(e){const{overflow:a,overflowX:t,overflowY:n,display:i}=q(e);return/auto|scroll|overlay|hidden|clip/.test(a+n+t)&&!Ra.has(i)}const Aa=new Set(["table","td","th"]);function ka(e){return Aa.has(pe(e))}const La=[":popover-open",":modal"];function ke(e){return La.some(a=>{try{return e.matches(a)}catch{return!1}})}const Ta=["transform","translate","scale","rotate","perspective"],$a=["transform","translate","scale","rotate","perspective","filter"],Pa=["paint","layout","strict","content"];function Ke(e){const a=Ge(),t=V(e)?q(e):e;return Ta.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)||$a.some(n=>(t.willChange||"").includes(n))||Pa.some(n=>(t.contain||"").includes(n))}function za(e){let a=te(e);for(;G(a)&&!ge(a);){if(Ke(a))return a;if(ke(a))return null;a=te(a)}return null}function Ge(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const Na=new Set(["html","body","#document"]);function ge(e){return Na.has(pe(e))}function q(e){return Y(e).getComputedStyle(e)}function Le(e){return V(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function te(e){if(pe(e)==="html")return e;const a=e.assignedSlot||e.parentNode||vt(e)&&e.host||K(e);return vt(a)?a.host:a}function Dt(e){const a=te(e);return ge(a)?e.ownerDocument?e.ownerDocument.body:e.body:G(a)&&De(a)?a:Dt(a)}function he(e,a,t){var n;a===void 0&&(a=[]),t===void 0&&(t=!0);const i=Dt(e),r=i===((n=e.ownerDocument)==null?void 0:n.body),o=Y(i);if(r){const s=Xe(o);return a.concat(o,o.visualViewport||[],De(i)?i:[],s&&t?he(s):[])}return a.concat(i,he(i,[],t))}function Xe(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function _t(e){const a=q(e);let t=parseFloat(a.width)||0,n=parseFloat(a.height)||0;const i=G(e),r=i?e.offsetWidth:t,o=i?e.offsetHeight:n,s=Ce(t)!==r||Ce(n)!==o;return s&&(t=r,n=o),{width:t,height:n,$:s}}function Je(e){return V(e)?e:e.contextElement}function fe(e){const a=Je(e);if(!G(a))return W(1);const t=a.getBoundingClientRect(),{width:n,height:i,$:r}=_t(a);let o=(r?Ce(t.width):t.width)/n,s=(r?Ce(t.height):t.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}const Fa=W(0);function wt(e){const a=Y(e);return!Ge()||!a.visualViewport?Fa:{x:a.visualViewport.offsetLeft,y:a.visualViewport.offsetTop}}function Oa(e,a,t){return a===void 0&&(a=!1),!t||a&&t!==Y(e)?!1:a}function oe(e,a,t,n){a===void 0&&(a=!1),t===void 0&&(t=!1);const i=e.getBoundingClientRect(),r=Je(e);let o=W(1);a&&(n?V(n)&&(o=fe(n)):o=fe(e));const s=Oa(r,t,n)?wt(r):W(0);let d=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,c=i.width/o.x,p=i.height/o.y;if(r){const u=Y(r),g=n&&V(n)?Y(n):n;let m=u,f=Xe(m);for(;f&&n&&g!==m;){const y=fe(f),h=f.getBoundingClientRect(),M=q(f),C=h.left+(f.clientLeft+parseFloat(M.paddingLeft))*y.x,E=h.top+(f.clientTop+parseFloat(M.paddingTop))*y.y;d*=y.x,l*=y.y,c*=y.x,p*=y.y,d+=C,l+=E,m=Y(f),f=Xe(m)}}return Re({width:c,height:p,x:d,y:l})}function Te(e,a){const t=Le(e).scrollLeft;return a?a.left+t:oe(K(e)).left+t}function xt(e,a){const t=e.getBoundingClientRect(),n=t.left+a.scrollLeft-Te(e,t),i=t.top+a.scrollTop;return{x:n,y:i}}function Ya(e){let{elements:a,rect:t,offsetParent:n,strategy:i}=e;const r=i==="fixed",o=K(n),s=a?ke(a.floating):!1;if(n===o||s&&r)return t;let d={scrollLeft:0,scrollTop:0},l=W(1);const c=W(0),p=G(n);if((p||!p&&!r)&&((pe(n)!=="body"||De(o))&&(d=Le(n)),G(n))){const g=oe(n);l=fe(n),c.x=g.x+n.clientLeft,c.y=g.y+n.clientTop}const u=o&&!p&&!r?xt(o,d):W(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 Ba(e){return Array.from(e.getClientRects())}function Ha(e){const a=K(e),t=Le(e),n=e.ownerDocument.body,i=ie(a.scrollWidth,a.clientWidth,n.scrollWidth,n.clientWidth),r=ie(a.scrollHeight,a.clientHeight,n.scrollHeight,n.clientHeight);let o=-t.scrollLeft+Te(e);const s=-t.scrollTop;return q(n).direction==="rtl"&&(o+=ie(a.clientWidth,n.clientWidth)-i),{width:i,height:r,x:o,y:s}}const Mt=25;function Va(e,a){const t=Y(e),n=K(e),i=t.visualViewport;let r=n.clientWidth,o=n.clientHeight,s=0,d=0;if(i){r=i.width,o=i.height;const c=Ge();(!c||c&&a==="fixed")&&(s=i.offsetLeft,d=i.offsetTop)}const l=Te(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<=Mt&&(r-=m)}else l<=Mt&&(r+=l);return{width:r,height:o,x:s,y:d}}const qa=new Set(["absolute","fixed"]);function Ua(e,a){const t=oe(e,!0,a==="fixed"),n=t.top+e.clientTop,i=t.left+e.clientLeft,r=G(e)?fe(e):W(1),o=e.clientWidth*r.x,s=e.clientHeight*r.y,d=i*r.x,l=n*r.y;return{width:o,height:s,x:d,y:l}}function St(e,a,t){let n;if(a==="viewport")n=Va(e,t);else if(a==="document")n=Ha(K(e));else if(V(a))n=Ua(a,t);else{const i=wt(e);n={x:a.x-i.x,y:a.y-i.y,width:a.width,height:a.height}}return Re(n)}function Ct(e,a){const t=te(e);return t===a||!V(t)||ge(t)?!1:q(t).position==="fixed"||Ct(t,a)}function ja(e,a){const t=a.get(e);if(t)return t;let n=he(e,[],!1).filter(s=>V(s)&&pe(s)!=="body"),i=null;const r=q(e).position==="fixed";let o=r?te(e):e;for(;V(o)&&!ge(o);){const s=q(o),d=Ke(o);!d&&s.position==="fixed"&&(i=null),(r?!d&&!i:!d&&s.position==="static"&&!!i&&qa.has(i.position)||De(o)&&!d&&Ct(e,o))?n=n.filter(c=>c!==o):i=s,o=te(o)}return a.set(e,n),n}function Wa(e){let{element:a,boundary:t,rootBoundary:n,strategy:i}=e;const o=[...t==="clippingAncestors"?ke(a)?[]:ja(a,this._c):[].concat(t),n],s=o[0],d=o.reduce((l,c)=>{const p=St(a,c,i);return l.top=ie(p.top,l.top),l.right=ue(p.right,l.right),l.bottom=ue(p.bottom,l.bottom),l.left=ie(p.left,l.left),l},St(a,s,i));return{width:d.right-d.left,height:d.bottom-d.top,x:d.left,y:d.top}}function Ka(e){const{width:a,height:t}=_t(e);return{width:a,height:t}}function Ga(e,a,t){const n=G(a),i=K(a),r=t==="fixed",o=oe(e,!0,r,a);let s={scrollLeft:0,scrollTop:0};const d=W(0);function l(){d.x=Te(i)}if(n||!n&&!r)if((pe(a)!=="body"||De(i))&&(s=Le(a)),n){const g=oe(a,!0,r,a);d.x=g.x+a.clientLeft,d.y=g.y+a.clientTop}else i&&l();r&&!n&&i&&l();const c=i&&!n&&!r?xt(i,s):W(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 Qe(e){return q(e).position==="static"}function It(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 Et(e,a){const t=Y(e);if(ke(e))return t;if(!G(e)){let i=te(e);for(;i&&!ge(i);){if(V(i)&&!Qe(i))return i;i=te(i)}return t}let n=It(e,a);for(;n&&ka(n)&&Qe(n);)n=It(n,a);return n&&ge(n)&&Qe(n)&&!Ke(n)?t:n||za(e)||t}const Xa=async function(e){const a=this.getOffsetParent||Et,t=this.getDimensions,n=await t(e.floating);return{reference:Ga(e.reference,await a(e.floating),e.strategy),floating:{x:0,y:0,width:n.width,height:n.height}}};function Ja(e){return q(e).direction==="rtl"}const Rt={convertOffsetParentRelativeRectToViewportRelativeRect:Ya,getDocumentElement:K,getClippingRect:Wa,getOffsetParent:Et,getElementRects:Xa,getClientRects:Ba,getDimensions:Ka,getScale:fe,isElement:V,isRTL:Ja};function At(e,a){return e.x===a.x&&e.y===a.y&&e.width===a.width&&e.height===a.height}function Qa(e,a){let t=null,n;const i=K(e);function r(){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),r();const l=e.getBoundingClientRect(),{left:c,top:p,width:u,height:g}=l;if(s||a(),!u||!g)return;const m=Ie(p),f=Ie(i.clientWidth-(c+u)),y=Ie(i.clientHeight-(p+g)),h=Ie(c),C={rootMargin:-m+"px "+-f+"px "+-y+"px "+-h+"px",threshold:ie(0,ue(1,d))||1};let E=!0;function _(v){const I=v[0].intersectionRatio;if(I!==d){if(!E)return o();I?o(!1,I):n=setTimeout(()=>{o(!1,1e-7)},1e3)}I===1&&!At(l,e.getBoundingClientRect())&&o(),E=!1}try{t=new IntersectionObserver(_,{...C,root:i.ownerDocument})}catch{t=new IntersectionObserver(_,C)}t.observe(e)}return o(!0),r}function kt(e,a,t,n){n===void 0&&(n={});const{ancestorScroll:i=!0,ancestorResize:r=!0,elementResize:o=typeof ResizeObserver=="function",layoutShift:s=typeof IntersectionObserver=="function",animationFrame:d=!1}=n,l=Je(e),c=i||r?[...l?he(l):[],...he(a)]:[];c.forEach(h=>{i&&h.addEventListener("scroll",t,{passive:!0}),r&&h.addEventListener("resize",t)});const p=l&&s?Qa(l,t):null;let u=-1,g=null;o&&(g=new ResizeObserver(h=>{let[M]=h;M&&M.target===l&&g&&(g.unobserve(a),cancelAnimationFrame(u),u=requestAnimationFrame(()=>{var C;(C=g)==null||C.observe(a)})),t()}),l&&!d&&g.observe(l),g.observe(a));let m,f=d?oe(e):null;d&&y();function y(){const h=oe(e);f&&!At(f,h)&&t(),f=h,m=requestAnimationFrame(y)}return t(),()=>{var h;c.forEach(M=>{i&&M.removeEventListener("scroll",t),r&&M.removeEventListener("resize",t)}),p==null||p(),(h=g)==null||h.disconnect(),g=null,d&&cancelAnimationFrame(m)}}const $e=Ia,Pe=Ea,Ze=Ma,Lt=xa,et=(e,a,t)=>{const n=new Map,i={platform:Rt,...t},r={...i.platform,_c:n};return wa(e,a,{...i,platform:r})},Za=Object.freeze(Object.defineProperty({__proto__:null,arrow:Lt,autoUpdate:kt,computePosition:et,flip:Ze,getOverflowAncestors:he,offset:$e,platform:Rt,shift:Pe},Symbol.toStringTag,{value:"Module"}));let ze=null;function Tt(e){e.options.positioningMode!=="inline"&&(H.debug("show() - adding visible class"),e.requiresApplyButton()&&e.input&&(e.originalInputValue=e.input.value,H.debug("show() - stored original input value:",e.originalInputValue)),e.isFirstRender&&(e.renderCalendar(),e.isFirstRender=!1,Pt(e)),e.calendar.classList.add("drp-date-picker--visible"),e.isCalendarActive=!0,H.debug("show() - calendar classes:",e.calendar.className),tt(e),ze=kt(e.input,e.calendar,()=>{tt(e)}),e.clickOutsideHandler&&setTimeout(()=>{document.addEventListener("click",e.clickOutsideHandler)},0),setTimeout(()=>{const a=window.getComputedStyle(e.calendar);H.debug("show() - computed styles - display:",a.display,"position:",a.position,"left:",a.left,"top:",a.top,"z-index:",a.zIndex)},100))}function $t(e){if(e.options.positioningMode!=="inline"&&e.calendar.classList.contains("drp-date-picker--visible")){ze&&(ze(),ze=null),e.clickOutsideHandler&&document.removeEventListener("click",e.clickOutsideHandler),e.calendar.classList.remove("drp-date-picker--visible"),e.isCalendarActive=!1,e.requiresApplyButton()&&e.pendingSelection&&e.input&&(H.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),H.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.lockedPlacement=void 0}}function en(e){e.calendar.classList.contains("drp-date-picker--visible")?$t(e):Tt(e)}async function tt(e){if(H.debug("position() - locked placement:",e.lockedPlacement),!e.input)return;const a=e.lockedPlacement?[$e(8),Pe({padding:8})]:[$e(8),Ze(),Pe({padding:8})],t=await et(e.input,e.calendar,{placement:e.lockedPlacement||e.options.calendarPlacement,middleware:a});H.debug("position() - FloatingUI computed - x:",t.x,"y:",t.y,"placement:",t.placement),e.lockedPlacement||(e.lockedPlacement=t.placement,H.debug("position() - locked placement to:",e.lockedPlacement)),e.calendar.style.left=`${t.x}px`,e.calendar.style.top=`${t.y}px`,H.debug("position() - applied styles to calendar")}async function tn(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:i,placement:r,middlewareData:o}=await et(a,e.tooltip,{placement:"top",middleware:[$e(6),Ze(),Pe({padding:5}),Lt({element:e.tooltipArrow})]});if(Object.assign(e.tooltip.style,{left:`${n}px`,top:`${i}px`}),o.arrow){const{x:s,y:d}=o.arrow,l={top:"bottom",right:"left",bottom:"top",left:"right"}[r.split("-")[0]];Object.assign(e.tooltipArrow.style,{left:s!=null?`${s}px`:"",top:d!=null?`${d}px`:"",right:"",bottom:"",[l]:"-4px"})}}function an(e){e.tooltip&&(e.tooltip.classList.remove("drp-date-picker__tooltip--visible"),e.currentTooltipTarget=void 0)}function Ne(e){if(e.loadingOverlay)return;const a=document.createElement("div");a.className="drp-date-picker__loading-overlay",a.innerHTML=`
|
|
1
|
+
(function(F,O){typeof exports=="object"&&typeof module<"u"?O(exports):typeof define=="function"&&define.amd?define(["exports"],O):(F=typeof globalThis<"u"?globalThis:F||self,O(F.WebDaterangepicker={}))})(this,function(F){"use strict";var An=Object.defineProperty;var kn=(F,O,U)=>O in F?An(F,O,{enumerable:!0,configurable:!0,writable:!0,value:U}):F[O]=U;var b=(F,O,U)=>kn(F,typeof O!="symbol"?O+"":O,U);function O(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 U(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 be(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 Xt(e,a,t,n,r){const i=be(e),o=e.getDay();return!!(a&&e<a||t&&e>t||r&&r.includes(o)||n.has(i))}function it(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 Jt(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 Qt(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 Zt(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 ea(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 ta(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 ot(e){return st(e,new Date)}function st(e,a){return!e||!a?!1:e.getFullYear()===a.getFullYear()&&e.getMonth()===a.getMonth()&&e.getDate()===a.getDate()}function aa(e,a,t){return!a||!t?!1:e>a&&e<t}var na=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function ra(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var dt={exports:{}};(function(e){(function(a,t){e.exports?e.exports=t():a.log=t()})(na,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(f,y){var h=f[y];if(typeof h.bind=="function")return h.bind(f);try{return Function.prototype.bind.call(h,f)}catch{return function(){return Function.prototype.apply.apply(h,[f,arguments])}}}function d(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function l(f){return f==="debug"&&(f="log"),typeof console===t?!1:f==="trace"&&n?d:console[f]!==void 0?s(console,f):console.log!==void 0?s(console,"log"):a}function c(){for(var f=this.getLevel(),y=0;y<r.length;y++){var h=r[y];this[h]=y<f?a:this.methodFactory(h,f,this.name)}if(this.log=this.debug,typeof console===t&&f<this.levels.SILENT)return"No console available for logging"}function p(f){return function(){typeof console!==t&&(c.call(this),this[f].apply(this,arguments))}}function u(f,y,h){return l(f)||p.apply(this,arguments)}function g(f,y){var h=this,M,C,E,_="loglevel";typeof f=="string"?_+=":"+f:typeof f=="symbol"&&(_=void 0);function v(S){var R=(r[S]||"silent").toUpperCase();if(!(typeof window===t||!_)){try{window.localStorage[_]=R;return}catch{}try{window.document.cookie=encodeURIComponent(_)+"="+R+";"}catch{}}}function I(){var S;if(!(typeof window===t||!_)){try{S=window.localStorage[_]}catch{}if(typeof S===t)try{var R=window.document.cookie,T=encodeURIComponent(_),k=R.indexOf(T+"=");k!==-1&&(S=/^([^;]+)/.exec(R.slice(k+T.length+1))[1])}catch{}return h.levels[S]===void 0&&(S=void 0),S}}function A(){if(!(typeof window===t||!_)){try{window.localStorage.removeItem(_)}catch{}try{window.document.cookie=encodeURIComponent(_)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch{}}}function D(S){var R=S;if(typeof R=="string"&&h.levels[R.toUpperCase()]!==void 0&&(R=h.levels[R.toUpperCase()]),typeof R=="number"&&R>=0&&R<=h.levels.SILENT)return R;throw new TypeError("log.setLevel() called with invalid level: "+S)}h.name=f,h.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},h.methodFactory=y||u,h.getLevel=function(){return E??C??M},h.setLevel=function(S,R){return E=D(S),R!==!1&&v(E),c.call(h)},h.setDefaultLevel=function(S){C=D(S),I()||h.setLevel(S,!1)},h.resetLevel=function(){E=null,A(),c.call(h)},h.enableAll=function(S){h.setLevel(h.levels.TRACE,S)},h.disableAll=function(S){h.setLevel(h.levels.SILENT,S)},h.rebuild=function(){if(o!==h&&(M=D(o.getLevel())),c.call(h),o===h)for(var S in i)i[S].rebuild()},M=D(o?o.getLevel():"WARN");var x=I();x!=null&&(E=D(x)),c.call(h)}o=new g,o.getLogger=function(y){if(typeof y!="symbol"&&typeof y!="string"||y==="")throw new TypeError("You must supply a name when creating a logger.");var h=i[y];return h||(h=i[y]=new g(y,o.methodFactory)),h};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})})(dt);var ia=dt.exports;const B=ra(ia),oa=["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"},da=B.methodFactory,la=(e,a,t)=>{const n=da.call(B,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)}},lt=[];function Z(e){const a=B.getLogger(e);return a.methodFactory=la,a.setLevel("silent"),lt.push(a),a}const L=Z("DRP"),de=Z("DRP:RENDERING"),le=Z("DRP:INTERACTION"),ce=Z("DRP:SELECTION"),w=Z("DRP:NAVIGATION"),H=Z("DRP:UI"),ne=Z("DRP:VALIDATION"),j=Z("DRP:DRAG");B.setLevel("silent");const Ve=e=>{B.setLevel(e),lt.forEach(a=>a.setLevel(e))},ct=()=>{Ve("debug")},ut=()=>{Ve("silent")},ca=(e,a="debug")=>{const n={DRP:L,"DRP:RENDERING":de,"DRP:INTERACTION":le,"DRP:SELECTION":ce,"DRP:NAVIGATION":w,"DRP:UI":H,"DRP:VALIDATION":ne,"DRP:DRAG":j}[e];n&&n.setLevel(a)},ua=()=>[...oa],ue=Math.min,re=Math.max,Ce=Math.round,Ie=Math.floor,W=e=>({x:e,y:e}),pa={left:"right",right:"left",bottom:"top",top:"bottom"},ga={start:"end",end:"start"};function qe(e,a,t){return re(e,ue(a,t))}function ye(e,a){return typeof e=="function"?e(a):e}function ie(e){return e.split("-")[0]}function ve(e){return e.split("-")[1]}function pt(e){return e==="x"?"y":"x"}function Ue(e){return e==="y"?"height":"width"}const ha=new Set(["top","bottom"]);function ee(e){return ha.has(ie(e))?"y":"x"}function je(e){return pt(ee(e))}function fa(e,a,t){t===void 0&&(t=!1);const n=ve(e),r=je(e),i=Ue(r);let o=r==="x"?n===(t?"end":"start")?"right":"left":n==="start"?"bottom":"top";return a.reference[i]>a.floating[i]&&(o=Ee(o)),[o,Ee(o)]}function ma(e){const a=Ee(e);return[We(e),a,We(a)]}function We(e){return e.replace(/start|end/g,a=>ga[a])}const gt=["left","right"],ht=["right","left"],ba=["top","bottom"],ya=["bottom","top"];function va(e,a,t){switch(e){case"top":case"bottom":return t?a?ht:gt:a?gt:ht;case"left":case"right":return a?ba:ya;default:return[]}}function Da(e,a,t,n){const r=ve(e);let i=va(ie(e),t==="start",n);return r&&(i=i.map(o=>o+"-"+r),a&&(i=i.concat(i.map(We)))),i}function Ee(e){return e.replace(/left|right|bottom|top/g,a=>pa[a])}function _a(e){return{top:0,right:0,bottom:0,left:0,...e}}function ft(e){return typeof e!="number"?_a(e):{top:e,right:e,bottom:e,left:e}}function Re(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 mt(e,a,t){let{reference:n,floating:r}=e;const i=ee(a),o=je(a),s=Ue(o),d=ie(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(ve(a)){case"start":g[o]-=u*(t&&l?-1:1);break;case"end":g[o]+=u*(t&&l?-1:1);break}return g}const wa=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}=mt(l,n,d),u=n,g={},m=0;for(let f=0;f<s.length;f++){const{name:y,fn:h}=s[f],{x:M,y:C,data:E,reset:_}=await h({x:c,y:p,initialPlacement:n,placement:u,strategy:r,middlewareData:g,rects:l,platform:o,elements:{reference:e,floating:a}});c=M??c,p=C??p,g={...g,[y]:{...g[y],...E}},_&&m<=50&&(m++,typeof _=="object"&&(_.placement&&(u=_.placement),_.rects&&(l=_.rects===!0?await o.getElementRects({reference:e,floating:a,strategy:r}):_.rects),{x:c,y:p}=mt(l,u,d)),f=-1)}return{x:c,y:p,placement:u,strategy:r,middlewareData:g}};async function bt(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}=ye(a,e),m=ft(g),y=s[u?p==="floating"?"reference":"floating":p],h=Re(await i.getClippingRect({element:(t=await(i.isElement==null?void 0:i.isElement(y)))==null||t?y:y.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(s.floating)),boundary:l,rootBoundary:c,strategy:d})),M=p==="floating"?{x:n,y:r,width:o.floating.width,height:o.floating.height}:o.reference,C=await(i.getOffsetParent==null?void 0:i.getOffsetParent(s.floating)),E=await(i.isElement==null?void 0:i.isElement(C))?await(i.getScale==null?void 0:i.getScale(C))||{x:1,y:1}:{x:1,y:1},_=Re(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:s,rect:M,offsetParent:C,strategy:d}):M);return{top:(h.top-_.top+m.top)/E.y,bottom:(_.bottom-h.bottom+m.bottom)/E.y,left:(h.left-_.left+m.left)/E.x,right:(_.right-h.right+m.right)/E.x}}const xa=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}=ye(e,a)||{};if(l==null)return{};const p=ft(c),u={x:t,y:n},g=je(r),m=Ue(g),f=await o.getDimensions(l),y=g==="y",h=y?"top":"left",M=y?"bottom":"right",C=y?"clientHeight":"clientWidth",E=i.reference[m]+i.reference[g]-u[g]-i.floating[m],_=u[g]-i.reference[g],v=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l));let I=v?v[C]:0;(!I||!await(o.isElement==null?void 0:o.isElement(v)))&&(I=s.floating[C]||i.floating[m]);const A=E/2-_/2,D=I/2-f[m]/2-1,x=ue(p[h],D),S=ue(p[M],D),R=x,T=I-f[m]-S,k=I/2-f[m]/2+A,z=qe(R,k,T),N=!d.arrow&&ve(r)!=null&&k!==z&&i.reference[m]/2-(k<R?x:S)-f[m]/2<0,$=N?k<R?k-R:k-T:0;return{[g]:u[g]+$,data:{[g]:z,centerOffset:k-z-$,...N&&{alignmentOffset:$}},reset:N}}}),Ma=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:f=!0,...y}=ye(e,a);if((t=i.arrow)!=null&&t.alignmentOffset)return{};const h=ie(r),M=ee(s),C=ie(s)===s,E=await(d.isRTL==null?void 0:d.isRTL(l.floating)),_=u||(C||!f?[Ee(s)]:ma(s)),v=m!=="none";!u&&v&&_.push(...Da(s,f,m,E));const I=[s,..._],A=await bt(a,y),D=[];let x=((n=i.flip)==null?void 0:n.overflows)||[];if(c&&D.push(A[h]),p){const k=fa(r,o,E);D.push(A[k[0]],A[k[1]])}if(x=[...x,{placement:r,overflows:D}],!D.every(k=>k<=0)){var S,R;const k=(((S=i.flip)==null?void 0:S.index)||0)+1,z=I[k];if(z&&(!(p==="alignment"?M!==ee(z):!1)||x.every(P=>ee(P.placement)===M?P.overflows[0]>0:!0)))return{data:{index:k,overflows:x},reset:{placement:z}};let N=(R=x.filter($=>$.overflows[0]<=0).sort(($,P)=>$.overflows[1]-P.overflows[1])[0])==null?void 0:R.placement;if(!N)switch(g){case"bestFit":{var T;const $=(T=x.filter(P=>{if(v){const J=ee(P.placement);return J===M||J==="y"}return!0}).map(P=>[P.placement,P.overflows.filter(J=>J>0).reduce((J,Q)=>J+Q,0)]).sort((P,J)=>P[1]-J[1])[0])==null?void 0:T[0];$&&(N=$);break}case"initialPlacement":N=s;break}if(r!==N)return{reset:{placement:N}}}return{}}}},Sa=new Set(["left","top"]);async function Ca(e,a){const{placement:t,platform:n,elements:r}=e,i=await(n.isRTL==null?void 0:n.isRTL(r.floating)),o=ie(t),s=ve(t),d=ee(t)==="y",l=Sa.has(o)?-1:1,c=i&&d?-1:1,p=ye(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 Ia=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 Ca(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}}}}},Ea=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:y=>{let{x:h,y:M}=y;return{x:h,y:M}}},...d}=ye(e,a),l={x:t,y:n},c=await bt(a,d),p=ee(ie(r)),u=pt(p);let g=l[u],m=l[p];if(i){const y=u==="y"?"top":"left",h=u==="y"?"bottom":"right",M=g+c[y],C=g-c[h];g=qe(M,g,C)}if(o){const y=p==="y"?"top":"left",h=p==="y"?"bottom":"right",M=m+c[y],C=m-c[h];m=qe(M,m,C)}const f=s.fn({...a,[u]:g,[p]:m});return{...f,data:{x:f.x-t,y:f.y-n,enabled:{[u]:i,[p]:o}}}}}};function Ae(){return typeof window<"u"}function pe(e){return yt(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=(yt(e)?e.ownerDocument:e.document)||window.document)==null?void 0:a.documentElement}function yt(e){return Ae()?e instanceof Node||e instanceof Y(e).Node:!1}function V(e){return Ae()?e instanceof Element||e instanceof Y(e).Element:!1}function G(e){return Ae()?e instanceof HTMLElement||e instanceof Y(e).HTMLElement:!1}function vt(e){return!Ae()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof Y(e).ShadowRoot}const Ra=new Set(["inline","contents"]);function De(e){const{overflow:a,overflowX:t,overflowY:n,display:r}=q(e);return/auto|scroll|overlay|hidden|clip/.test(a+n+t)&&!Ra.has(r)}const Aa=new Set(["table","td","th"]);function ka(e){return Aa.has(pe(e))}const La=[":popover-open",":modal"];function ke(e){return La.some(a=>{try{return e.matches(a)}catch{return!1}})}const Ta=["transform","translate","scale","rotate","perspective"],$a=["transform","translate","scale","rotate","perspective","filter"],Pa=["paint","layout","strict","content"];function Ke(e){const a=Ge(),t=V(e)?q(e):e;return Ta.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)||$a.some(n=>(t.willChange||"").includes(n))||Pa.some(n=>(t.contain||"").includes(n))}function za(e){let a=te(e);for(;G(a)&&!ge(a);){if(Ke(a))return a;if(ke(a))return null;a=te(a)}return null}function Ge(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const Na=new Set(["html","body","#document"]);function ge(e){return Na.has(pe(e))}function q(e){return Y(e).getComputedStyle(e)}function Le(e){return V(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function te(e){if(pe(e)==="html")return e;const a=e.assignedSlot||e.parentNode||vt(e)&&e.host||K(e);return vt(a)?a.host:a}function Dt(e){const a=te(e);return ge(a)?e.ownerDocument?e.ownerDocument.body:e.body:G(a)&&De(a)?a:Dt(a)}function he(e,a,t){var n;a===void 0&&(a=[]),t===void 0&&(t=!0);const r=Dt(e),i=r===((n=e.ownerDocument)==null?void 0:n.body),o=Y(r);if(i){const s=Xe(o);return a.concat(o,o.visualViewport||[],De(r)?r:[],s&&t?he(s):[])}return a.concat(r,he(r,[],t))}function Xe(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function _t(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=Ce(t)!==i||Ce(n)!==o;return s&&(t=i,n=o),{width:t,height:n,$:s}}function Je(e){return V(e)?e:e.contextElement}function fe(e){const a=Je(e);if(!G(a))return W(1);const t=a.getBoundingClientRect(),{width:n,height:r,$:i}=_t(a);let o=(i?Ce(t.width):t.width)/n,s=(i?Ce(t.height):t.height)/r;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}const Fa=W(0);function wt(e){const a=Y(e);return!Ge()||!a.visualViewport?Fa:{x:a.visualViewport.offsetLeft,y:a.visualViewport.offsetTop}}function Oa(e,a,t){return a===void 0&&(a=!1),!t||a&&t!==Y(e)?!1:a}function oe(e,a,t,n){a===void 0&&(a=!1),t===void 0&&(t=!1);const r=e.getBoundingClientRect(),i=Je(e);let o=W(1);a&&(n?V(n)&&(o=fe(n)):o=fe(e));const s=Oa(i,t,n)?wt(i):W(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&&V(n)?Y(n):n;let m=u,f=Xe(m);for(;f&&n&&g!==m;){const y=fe(f),h=f.getBoundingClientRect(),M=q(f),C=h.left+(f.clientLeft+parseFloat(M.paddingLeft))*y.x,E=h.top+(f.clientTop+parseFloat(M.paddingTop))*y.y;d*=y.x,l*=y.y,c*=y.x,p*=y.y,d+=C,l+=E,m=Y(f),f=Xe(m)}}return Re({width:c,height:p,x:d,y:l})}function Te(e,a){const t=Le(e).scrollLeft;return a?a.left+t:oe(K(e)).left+t}function xt(e,a){const t=e.getBoundingClientRect(),n=t.left+a.scrollLeft-Te(e,t),r=t.top+a.scrollTop;return{x:n,y:r}}function Ya(e){let{elements:a,rect:t,offsetParent:n,strategy:r}=e;const i=r==="fixed",o=K(n),s=a?ke(a.floating):!1;if(n===o||s&&i)return t;let d={scrollLeft:0,scrollTop:0},l=W(1);const c=W(0),p=G(n);if((p||!p&&!i)&&((pe(n)!=="body"||De(o))&&(d=Le(n)),G(n))){const g=oe(n);l=fe(n),c.x=g.x+n.clientLeft,c.y=g.y+n.clientTop}const u=o&&!p&&!i?xt(o,d):W(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 Ba(e){return Array.from(e.getClientRects())}function Ha(e){const a=K(e),t=Le(e),n=e.ownerDocument.body,r=re(a.scrollWidth,a.clientWidth,n.scrollWidth,n.clientWidth),i=re(a.scrollHeight,a.clientHeight,n.scrollHeight,n.clientHeight);let o=-t.scrollLeft+Te(e);const s=-t.scrollTop;return q(n).direction==="rtl"&&(o+=re(a.clientWidth,n.clientWidth)-r),{width:r,height:i,x:o,y:s}}const Mt=25;function Va(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=Ge();(!c||c&&a==="fixed")&&(s=r.offsetLeft,d=r.offsetTop)}const l=Te(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<=Mt&&(i-=m)}else l<=Mt&&(i+=l);return{width:i,height:o,x:s,y:d}}const qa=new Set(["absolute","fixed"]);function Ua(e,a){const t=oe(e,!0,a==="fixed"),n=t.top+e.clientTop,r=t.left+e.clientLeft,i=G(e)?fe(e):W(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 St(e,a,t){let n;if(a==="viewport")n=Va(e,t);else if(a==="document")n=Ha(K(e));else if(V(a))n=Ua(a,t);else{const r=wt(e);n={x:a.x-r.x,y:a.y-r.y,width:a.width,height:a.height}}return Re(n)}function Ct(e,a){const t=te(e);return t===a||!V(t)||ge(t)?!1:q(t).position==="fixed"||Ct(t,a)}function ja(e,a){const t=a.get(e);if(t)return t;let n=he(e,[],!1).filter(s=>V(s)&&pe(s)!=="body"),r=null;const i=q(e).position==="fixed";let o=i?te(e):e;for(;V(o)&&!ge(o);){const s=q(o),d=Ke(o);!d&&s.position==="fixed"&&(r=null),(i?!d&&!r:!d&&s.position==="static"&&!!r&&qa.has(r.position)||De(o)&&!d&&Ct(e,o))?n=n.filter(c=>c!==o):r=s,o=te(o)}return a.set(e,n),n}function Wa(e){let{element:a,boundary:t,rootBoundary:n,strategy:r}=e;const o=[...t==="clippingAncestors"?ke(a)?[]:ja(a,this._c):[].concat(t),n],s=o[0],d=o.reduce((l,c)=>{const p=St(a,c,r);return l.top=re(p.top,l.top),l.right=ue(p.right,l.right),l.bottom=ue(p.bottom,l.bottom),l.left=re(p.left,l.left),l},St(a,s,r));return{width:d.right-d.left,height:d.bottom-d.top,x:d.left,y:d.top}}function Ka(e){const{width:a,height:t}=_t(e);return{width:a,height:t}}function Ga(e,a,t){const n=G(a),r=K(a),i=t==="fixed",o=oe(e,!0,i,a);let s={scrollLeft:0,scrollTop:0};const d=W(0);function l(){d.x=Te(r)}if(n||!n&&!i)if((pe(a)!=="body"||De(r))&&(s=Le(a)),n){const g=oe(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?xt(r,s):W(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 Qe(e){return q(e).position==="static"}function It(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 Et(e,a){const t=Y(e);if(ke(e))return t;if(!G(e)){let r=te(e);for(;r&&!ge(r);){if(V(r)&&!Qe(r))return r;r=te(r)}return t}let n=It(e,a);for(;n&&ka(n)&&Qe(n);)n=It(n,a);return n&&ge(n)&&Qe(n)&&!Ke(n)?t:n||za(e)||t}const Xa=async function(e){const a=this.getOffsetParent||Et,t=this.getDimensions,n=await t(e.floating);return{reference:Ga(e.reference,await a(e.floating),e.strategy),floating:{x:0,y:0,width:n.width,height:n.height}}};function Ja(e){return q(e).direction==="rtl"}const Rt={convertOffsetParentRelativeRectToViewportRelativeRect:Ya,getDocumentElement:K,getClippingRect:Wa,getOffsetParent:Et,getElementRects:Xa,getClientRects:Ba,getDimensions:Ka,getScale:fe,isElement:V,isRTL:Ja};function At(e,a){return e.x===a.x&&e.y===a.y&&e.width===a.width&&e.height===a.height}function Qa(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=Ie(p),f=Ie(r.clientWidth-(c+u)),y=Ie(r.clientHeight-(p+g)),h=Ie(c),C={rootMargin:-m+"px "+-f+"px "+-y+"px "+-h+"px",threshold:re(0,ue(1,d))||1};let E=!0;function _(v){const I=v[0].intersectionRatio;if(I!==d){if(!E)return o();I?o(!1,I):n=setTimeout(()=>{o(!1,1e-7)},1e3)}I===1&&!At(l,e.getBoundingClientRect())&&o(),E=!1}try{t=new IntersectionObserver(_,{...C,root:r.ownerDocument})}catch{t=new IntersectionObserver(_,C)}t.observe(e)}return o(!0),i}function kt(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=Je(e),c=r||i?[...l?he(l):[],...he(a)]:[];c.forEach(h=>{r&&h.addEventListener("scroll",t,{passive:!0}),i&&h.addEventListener("resize",t)});const p=l&&s?Qa(l,t):null;let u=-1,g=null;o&&(g=new ResizeObserver(h=>{let[M]=h;M&&M.target===l&&g&&(g.unobserve(a),cancelAnimationFrame(u),u=requestAnimationFrame(()=>{var C;(C=g)==null||C.observe(a)})),t()}),l&&!d&&g.observe(l),g.observe(a));let m,f=d?oe(e):null;d&&y();function y(){const h=oe(e);f&&!At(f,h)&&t(),f=h,m=requestAnimationFrame(y)}return t(),()=>{var h;c.forEach(M=>{r&&M.removeEventListener("scroll",t),i&&M.removeEventListener("resize",t)}),p==null||p(),(h=g)==null||h.disconnect(),g=null,d&&cancelAnimationFrame(m)}}const $e=Ia,Pe=Ea,Ze=Ma,Lt=xa,et=(e,a,t)=>{const n=new Map,r={platform:Rt,...t},i={...r.platform,_c:n};return wa(e,a,{...r,platform:i})},Za=Object.freeze(Object.defineProperty({__proto__:null,arrow:Lt,autoUpdate:kt,computePosition:et,flip:Ze,getOverflowAncestors:he,offset:$e,platform:Rt,shift:Pe},Symbol.toStringTag,{value:"Module"}));let ze=null;function Tt(e){e.options.positioningMode!=="inline"&&(H.debug("show() - adding visible class"),e.requiresApplyButton()&&e.input&&(e.originalInputValue=e.input.value,H.debug("show() - stored original input value:",e.originalInputValue)),e.isFirstRender&&(e.renderCalendar(),e.isFirstRender=!1,Pt(e)),e.calendar.classList.add("drp-date-picker--visible"),e.isCalendarActive=!0,H.debug("show() - calendar classes:",e.calendar.className),tt(e),ze=kt(e.input,e.calendar,()=>{tt(e)}),e.clickOutsideHandler&&setTimeout(()=>{document.addEventListener("click",e.clickOutsideHandler)},0),setTimeout(()=>{const a=window.getComputedStyle(e.calendar);H.debug("show() - computed styles - display:",a.display,"position:",a.position,"left:",a.left,"top:",a.top,"z-index:",a.zIndex)},100))}function $t(e){if(e.options.positioningMode!=="inline"&&e.calendar.classList.contains("drp-date-picker--visible")){ze&&(ze(),ze=null),e.clickOutsideHandler&&document.removeEventListener("click",e.clickOutsideHandler),e.calendar.classList.remove("drp-date-picker--visible"),e.isCalendarActive=!1,e.requiresApplyButton()&&e.pendingSelection&&e.input&&(H.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),H.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.lockedPlacement=void 0}}function en(e){e.calendar.classList.contains("drp-date-picker--visible")?$t(e):Tt(e)}async function tt(e){if(H.debug("position() - locked placement:",e.lockedPlacement),!e.input)return;const a=e.lockedPlacement?[$e(8),Pe({padding:8})]:[$e(8),Ze(),Pe({padding:8})],t=await et(e.input,e.calendar,{placement:e.lockedPlacement||e.options.calendarPlacement,middleware:a});H.debug("position() - FloatingUI computed - x:",t.x,"y:",t.y,"placement:",t.placement),e.lockedPlacement||(e.lockedPlacement=t.placement,H.debug("position() - locked placement to:",e.lockedPlacement)),e.calendar.style.left=`${t.x}px`,e.calendar.style.top=`${t.y}px`,H.debug("position() - applied styles to calendar")}async function tn(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 et(a,e.tooltip,{placement:"top",middleware:[$e(6),Ze(),Pe({padding:5}),Lt({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 an(e){e.tooltip&&(e.tooltip.classList.remove("drp-date-picker__tooltip--visible"),e.currentTooltipTarget=void 0)}function Ne(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 se(e){e.loadingOverlay&&(e.loadingOverlay.remove(),e.loadingOverlay=void 0)}function X(e,a,t){for(let n=1;n<=31;n++){const i=new Date(a,t,n);if(i.getMonth()===t&&!e.isDateDisabledInternal(i))return!0}return!1}async function Pt(e){var a,t;if(e.options.beforeMonthChangedCallback){if(e.isMonthChanging){w.debug("handleInitialMonthLoad() - already changing month, skipping");return}try{if(e.isMonthChanging=!0,e.options.unifiedNavigation){const n=e.options.unifiedNavigationAnchorIndex??0,i=e.monthDates[n],r=i.getFullYear(),o=i.getMonth();let s=1/0,d=1/0,l=-1/0,c=-1/0;for(let A=0;A<e.monthDates.length;A++){const D=e.monthDates[A],x=D.getFullYear(),S=D.getMonth();(x<s||x===s&&S<d)&&(s=x,d=S),(x>l||x===l&&S>c)&&(l=x,c=S)}const g=(new Date(s,d,1).getDay()-e.weekStartDay+7)%7,m=new Date(s,d,1-g),f=new Date(l,c+1,0).getDate(),h=new Date(l,c,f).getDay(),M=(e.weekStartDay+6-h)%7,C=new Date(l,c,f+M),E={year:r,month:o,monthIndex:n,firstVisibleDate:m,lastVisibleDate:C};w.debug(`handleInitialMonthLoad() [UNIFIED] - calling callback for ${r}-${o+1}, range: ${m.toISOString().split("T")[0]} to ${C.toISOString().split("T")[0]}`);const _=e.options.beforeMonthChangedCallback(E),v=_ instanceof Promise;v&&Ne(e);const I=await Promise.resolve(_);v&&se(e),w.debug(`handleInitialMonthLoad() [UNIFIED] - callback completed, metadata items: ${((a=I.metadata)==null?void 0:a.size)||0}`),I.metadata&&(e.bulkMetadataCache=I.metadata,w.debug(`handleInitialMonthLoad() [UNIFIED] - bulk metadata cache updated with ${I.metadata.size} entries`),e.renderCalendar())}else{w.debug(`handleInitialMonthLoad() [NON-UNIFIED] - calling callback for ${e.monthDates.length} months`);const n=new Map;let i=!1;for(let r=0;r<e.monthDates.length;r++){const o=e.monthDates[r],s=o.getFullYear(),d=o.getMonth(),p=(new Date(s,d,1).getDay()-e.weekStartDay+7)%7,u=new Date(s,d,1-p),g=new Date(u);g.setDate(u.getDate()+41);const m={year:s,month:d,monthIndex:r,firstVisibleDate:u,lastVisibleDate:g};w.debug(`handleInitialMonthLoad() [NON-UNIFIED] Col${r} - calling callback for ${s}-${d+1}, range: ${u.toISOString().split("T")[0]} to ${g.toISOString().split("T")[0]}`);const f=e.options.beforeMonthChangedCallback(m);f instanceof Promise&&!i&&(i=!0,Ne(e));const h=await Promise.resolve(f);w.debug(`handleInitialMonthLoad() [NON-UNIFIED] Col${r} - callback completed, metadata items: ${((t=h.metadata)==null?void 0:t.size)||0}`),h.metadata&&h.metadata.forEach((M,C)=>{n.set(C,M)})}i&&se(e),n.size>0&&(e.bulkMetadataCache=n,w.debug(`handleInitialMonthLoad() [NON-UNIFIED] - combined metadata cache updated with ${n.size} entries`),e.renderCalendar())}}catch(n){se(e),w.debug("handleInitialMonthLoad() - error in callback:",n),console.error("[DateRangePicker] Error in beforeMonthChangedCallback (initial load):",n)}finally{e.isMonthChanging=!1}}}async function ae(e,a,t,n){var i;if(!e.options.beforeMonthChangedCallback)return!0;if(e.isMonthChanging)return w.debug("handleBeforeMonthChange() - already changing month, ignoring"),!1;try{e.isMonthChanging=!0;let r,o;if(e.options.unifiedNavigation){let p=1/0,u=1/0,g=-1/0,m=-1/0;for(let v=0;v<e.monthDates.length;v++){const I=e.monthDates[v],A=I.getFullYear(),D=I.getMonth();(A<p||A===p&&D<u)&&(p=A,u=D),(A>g||A===g&&D>m)&&(g=A,m=D)}const h=(new Date(p,u,1).getDay()-e.weekStartDay+7)%7;r=new Date(p,u,1-h);const M=new Date(g,m+1,0).getDate(),E=new Date(g,m,M).getDay(),_=(e.weekStartDay+6-E)%7;o=new Date(g,m,M+_)}else{const g=(new Date(a,t,1).getDay()-e.weekStartDay+7)%7;r=new Date(a,t,1-g),o=new Date(r),o.setDate(r.getDate()+41)}const s={year:a,month:t,monthIndex:n,firstVisibleDate:r,lastVisibleDate:o};w.debug(`handleBeforeMonthChange() - calling callback for ${a}-${t+1}, range: ${r.toISOString().split("T")[0]} to ${o.toISOString().split("T")[0]}`);const d=e.options.beforeMonthChangedCallback(s),l=d instanceof Promise;l&&Ne(e);const c=await Promise.resolve(d);return l&&se(e),c.action==="block"?(w.debug(`handleBeforeMonthChange() - navigation blocked: ${c.message||"no reason provided"}`),c.message&&console.warn(`[DateRangePicker] Month navigation blocked: ${c.message}`),!1):(w.debug(`handleBeforeMonthChange() - navigation accepted, metadata items: ${((i=c.metadata)==null?void 0:i.size)||0}`),c.metadata?e.bulkMetadataCache?(c.metadata.forEach((p,u)=>{e.bulkMetadataCache.set(u,p)}),w.debug(`handleBeforeMonthChange() - merged ${c.metadata.size} entries into cache (total: ${e.bulkMetadataCache.size})`)):(e.bulkMetadataCache=c.metadata,w.debug(`handleBeforeMonthChange() - bulk metadata cache created with ${c.metadata.size} entries`)):e.bulkMetadataCache=null,!0)}catch(r){return se(e),w.debug("handleBeforeMonthChange() - error in callback:",r),console.error("[DateRangePicker] Error in beforeMonthChangedCallback:",r),!1}finally{e.isMonthChanging=!1}}function nn(e,a){e.showingRollingSelector[a]=!e.showingRollingSelector[a],e.renderCalendar()}async function rn(e,a,t){const n=e.monthDates[t].getMonth();if(!await ae(e,a,n,t)){w.debug(`selectYear() Col${t} - navigation blocked by callback`);return}const r=e.monthDates[t].getFullYear();e.monthDates[t].setFullYear(a),w.debug(`selectYear() Col${t} - changed from ${r} to ${a}`),_e(e,t),e.showingRollingSelector[t]=!1,e.renderCalendar()}async function on(e,a,t){const n=e.monthDates[t].getFullYear();if(!await ae(e,n,a,t)){w.debug(`selectMonth() Col${t} - navigation blocked by callback`);return}const r=e.monthDates[t].getMonth();e.monthDates[t].setMonth(a),w.debug(`selectMonth() Col${t} - changed from ${r+1} to ${a+1}`),_e(e,t),e.showingRollingSelector[t]=!1,e.renderCalendar()}function _e(e,a){const t=e.monthDates[a];if(a<e.monthDates.length-1){const n=e.monthDates[a+1];if(Fe(t,n)){w.debug(`checkAndResolveCollisions() Col${a} - collision with Col${a+1}, shifting forward`);const i=new Date(t.getFullYear(),t.getMonth()+1,1);e.monthDates[a+1]=i,_e(e,a+1)}}if(a>0){const n=e.monthDates[a-1];if(Fe(n,t)){w.debug(`checkAndResolveCollisions() Col${a} - collision with Col${a-1}, shifting backward`);const i=new Date(t.getFullYear(),t.getMonth()-1,1);e.monthDates[a-1]=i,_e(e,a-1)}}}function Fe(e,a){const t=e.getFullYear(),n=e.getMonth(),i=a.getFullYear(),r=a.getMonth();return t>i||t===i&&n>=r}async function we(e,a){const t=isNaN(a)?e.activeMonthIndex:a;e.showingRollingSelector[t]&&(e.showingRollingSelector[t]=!1);const n=e.monthDates[t],i=new Date(n.getFullYear(),n.getMonth()-1,1);if(!X(e,i.getFullYear(),i.getMonth())){w.debug(`prevMonth() Col${t} - navigation blocked: target month has no enabled days`);return}if(!await ae(e,i.getFullYear(),i.getMonth(),t)){w.debug(`prevMonth() Col${t} - navigation blocked by callback`);return}if(e.monthDates[t]=i,w.debug(`prevMonth() Col${t} - changed from ${n.getFullYear()}-${n.getMonth()+1} to ${i.getFullYear()}-${i.getMonth()+1}`),t>0){const o=e.monthDates[t-1];Fe(o,i)&&(w.debug(`prevMonth() Col${t} - collision detected with Col${t-1}, shifting previous columns back`),await we(e,t-1))}e.renderCalendar()}async function xe(e,a){const t=isNaN(a)?e.activeMonthIndex:a;e.showingRollingSelector[t]&&(e.showingRollingSelector[t]=!1);const n=e.monthDates[t],i=new Date(n.getFullYear(),n.getMonth()+1,1);if(!X(e,i.getFullYear(),i.getMonth())){w.debug(`nextMonth() Col${t} - navigation blocked: target month has no enabled days`);return}if(!await ae(e,i.getFullYear(),i.getMonth(),t)){w.debug(`nextMonth() Col${t} - navigation blocked by callback`);return}if(e.monthDates[t]=i,w.debug(`nextMonth() Col${t} - changed from ${n.getFullYear()}-${n.getMonth()+1} to ${i.getFullYear()}-${i.getMonth()+1}`),t<e.monthDates.length-1){const o=e.monthDates[t+1];Fe(i,o)&&(w.debug(`nextMonth() Col${t} - collision detected with Col${t+1}, shifting next columns forward`),await xe(e,t+1))}e.renderCalendar()}function Me(e,a,t,n,i){let r=a,o=0;const s=60;for(;o<s;){if(r>=0&&r<n.length){const l=n[r].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:r,monthChanged:!1}}}if(r+=t,o++,r<0||r>=n.length)return{index:null,monthChanged:!0,direction:t>0?"next":"prev"}}return{index:null,monthChanged:!1}}function sn(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 i=e.focusedDayIndex+a;if(i<0){const c=e.activeMonthIndex;if(a===-1)w.debug(`moveFocus() Col${c} - edge navigation LEFT: going to last enabled day of prev month`),we(e,e.activeMonthIndex),setTimeout(()=>{var m,f;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=Me(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"),(f=u[e.focusedDayIndex])==null||f.scrollIntoView({block:"nearest"}))},0);else{const u=n[e.focusedDayIndex].dataset.date;if(u){const[g,m,f]=u.split("-").map(Number),h=new Date(g,m-1,f).getDay();w.debug(`moveFocus() Col${c} - edge navigation UP: current day ${f} is weekday ${h}, going to prev month`),we(e,e.activeMonthIndex),setTimeout(()=>{var v,I;const M=e.calendar.querySelector(`.drp-date-picker__month[data-month-index="${c}"] .drp-date-picker__days`);if(!M)return;const C=M.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)"),_=C[C.length-1].dataset.date;if(_){const[A,D,x]=_.split("-").map(Number),R=new Date(A,D-1,x).getDay(),T=(R-h+7)%7;e.focusedDayIndex=C.length-1-T,w.debug(`moveFocus() Col${c} - last day weekday ${R}, target ${h}, focusing on day ${e.focusedDayIndex+1}`),(v=C[e.focusedDayIndex])==null||v.classList.add("drp-date-picker__day--focused"),(I=C[e.focusedDayIndex])==null||I.scrollIntoView({block:"nearest"})}},0)}}return}else if(i>=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`),xe(e,e.activeMonthIndex),setTimeout(()=>{var m,f;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=Me(e,0,1,u);g.index!==null&&(e.focusedDayIndex=g.index,(m=u[e.focusedDayIndex])==null||m.classList.add("drp-date-picker__day--focused"),(f=u[e.focusedDayIndex])==null||f.scrollIntoView({block:"nearest"}))},0);else{const u=n[e.focusedDayIndex].dataset.date;if(u){const[g,m,f]=u.split("-").map(Number),h=new Date(g,m-1,f).getDay();w.debug(`moveFocus() Col${c} - edge navigation DOWN: current day ${f} is weekday ${h}, going to next month`),xe(e,e.activeMonthIndex),setTimeout(()=>{var v,I;const M=e.calendar.querySelector(`.drp-date-picker__month[data-month-index="${c}"] .drp-date-picker__days`);if(!M)return;const C=M.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)"),_=C[0].dataset.date;if(_){const[A,D,x]=_.split("-").map(Number),R=new Date(A,D-1,x).getDay(),T=(h-R+7)%7;e.focusedDayIndex=T,w.debug(`moveFocus() Col${c} - first day weekday ${R}, target ${h}, focusing on day ${e.focusedDayIndex+1}`),(v=C[e.focusedDayIndex])==null||v.classList.add("drp-date-picker__day--focused"),(I=C[e.focusedDayIndex])==null||I.scrollIntoView({block:"nearest"})}},0)}}return}const r=Me(e,i,a,n,e.activeMonthIndex);if(r.monthChanged){const c=e.activeMonthIndex;r.direction==="next"?xe(e,e.activeMonthIndex):we(e,e.activeMonthIndex),setTimeout(()=>{var m,f;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=Me(e,r.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"),(f=u[e.focusedDayIndex])==null||f.scrollIntoView({block:"nearest"}))},0);return}r.index!==null?(e.focusedDayIndex=r.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 dn(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}`),!X(e,n.getFullYear(),n.getMonth())){w.debug("unifiedNextMonth() - navigation blocked: target month has no enabled days");return}if(await ae(e,n.getFullYear(),n.getMonth(),a)){for(let r=0;r<e.monthDates.length;r++){const o=r-a;e.monthDates[r]=new Date(n.getFullYear(),n.getMonth()+o,1)}e.renderCalendar()}}async function ln(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}`),!X(e,n.getFullYear(),n.getMonth())){w.debug("unifiedPrevMonth() - navigation blocked: target month has no enabled days");return}if(await ae(e,n.getFullYear(),n.getMonth(),a)){for(let r=0;r<e.monthDates.length;r++){const o=r-a;e.monthDates[r]=new Date(n.getFullYear(),n.getMonth()+o,1)}e.renderCalendar()}}async function cn(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 ae(e,n,a,t)){for(let r=0;r<e.monthDates.length;r++){const o=r-t;e.monthDates[r]=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 pn(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 ae(e,a,n,t)){for(let r=0;r<e.monthDates.length;r++){const o=r-t;e.monthDates[r]=new Date(a,n+o,1)}e.showingUnifiedRollingSelector=!1,e.renderCalendar()}}function zt(e,a,t){if(!e){if(t!=null&&t.normalizedMinDate||t!=null&&t.normalizedMaxDate){const n=t.normalizedMinDate?t.normalizedMinDate.getFullYear():a-1,i=t.normalizedMaxDate?t.normalizedMaxDate.getFullYear():a+1;return{min:n,max:i}}return{min:a-1,max:a+1}}if(e.includes("-")){const[n,i]=e.split("-");return{min:parseInt(n,10),max:parseInt(i,10)}}else{const n=parseInt(e,10);return{min:n,max:n}}}function Nt(e){if(!e)return{min:1,max:12};const[a,t]=e.split("-");return{min:parseInt(a,10),max:parseInt(t,10)}}function gn(e){de.debug("[DatePicker 18] renderCalendar called, showingRollingSelector:",e.showingRollingSelector,`activeCol: ${e.activeMonthIndex}`),de.debug("[DatePicker 18] monthDates array:",e.monthDates.map((a,t)=>`Col${t}: ${a.getFullYear()}-${a.getMonth()+1}`).join(", ")),e.options.unifiedNavigation&&e.showingUnifiedRollingSelector&&fn(e);for(let a=0;a<e.options.visibleMonthsCount;a++)e.showingRollingSelector[a]?Yt(e,a):Ft(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 Ft(e,a){de.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 i=e.monthDates[a],r=t.querySelector(".drp-date-picker__month-year");if(r&&(r.textContent=`${e.monthNames[i.getMonth()]} ${i.getFullYear()}`),e.options.unifiedNavigation&&a===0&&e.unifiedRangeDisplay){e.unifiedRollingSelector&&!e.showingUnifiedRollingSelector&&e.unifiedRollingSelector.classList.remove("drp-date-picker__unified-rolling-selector--visible");const y=e.monthDates[0],h=e.monthDates[e.monthDates.length-1],M=e.options.unifiedNavigationAnchorIndex??0,C=e.monthDates[M];if(e.options.getUnifiedHeaderCallback){const _=e.options.getUnifiedHeaderCallback({firstMonth:y,lastMonth:h,anchorMonth:C,monthNames:e.monthNames});e.unifiedRangeDisplay.textContent=_}else{const _=e.monthNames[y.getMonth()],v=e.monthNames[h.getMonth()],I=y.getFullYear(),A=h.getFullYear();I===A?e.unifiedRangeDisplay.textContent=`${_} ${I} - ${v} ${A}`:e.unifiedRangeDisplay.textContent=`${_} ${I} - ${v} ${A}`}const E=e.unifiedHeader;if(E){const _=y.getMonth()===0?y.getFullYear()-1:y.getFullYear(),v=y.getMonth()===0?11:y.getMonth()-1,I=E.querySelector(".drp-date-picker__nav--prev");I&&(X(e,_,v)?(I.removeAttribute("disabled"),I.classList.remove("drp-date-picker__nav--disabled")):(I.setAttribute("disabled","true"),I.classList.add("drp-date-picker__nav--disabled")));const A=h.getMonth()===11?h.getFullYear()+1:h.getFullYear(),D=h.getMonth()===11?0:h.getMonth()+1,x=E.querySelector(".drp-date-picker__nav--next");x&&(X(e,A,D)?(x.removeAttribute("disabled"),x.classList.remove("drp-date-picker__nav--disabled")):(x.setAttribute("disabled","true"),x.classList.add("drp-date-picker__nav--disabled")))}}const o=i.getFullYear(),s=i.getMonth(),d=s===0?11:s-1,l=s===0?o-1:o,c=t.querySelector(".drp-date-picker__nav--prev");c&&(X(e,l,d)?(c.removeAttribute("disabled"),c.classList.remove("drp-date-picker__nav--disabled")):(c.setAttribute("disabled","true"),c.classList.add("drp-date-picker__nav--disabled")));const p=s===11?0:s+1,u=s===11?o+1:o,g=t.querySelector(".drp-date-picker__nav--next");g&&(X(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=t.querySelector(".drp-date-picker__weekdays"),f=[...e.weekdayNames.slice(e.weekStartDay),...e.weekdayNames.slice(0,e.weekStartDay)];m&&(m.innerHTML=f.map(y=>`<div class="drp-date-picker__weekday">${y}</div>`).join("")),Ot(e,a,i)}function Ot(e,a,t){de.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 i=n.querySelector(".drp-date-picker__days"),r=t.getFullYear(),o=t.getMonth();de.debug(`[DatePicker Col${a} 21] Rendering days for:`,r,o+1);const d=(new Date(r,o,1).getDay()-e.weekStartDay+7)%7,l=new Date(r,o+1,0).getDate(),c=new Date(r,o,0).getDate(),p=new Date(r,o-1,1),u=p.getFullYear(),g=p.getMonth(),m=new Date(r,o+1,1),f=m.getFullYear(),y=m.getMonth(),h=[];for(let v=d-1;v>=0;v--){const I=c-v,A=new Date(u,g,I);h.push({date:A,year:u,month:g,day:I,isOtherMonth:!0})}for(let v=1;v<=l;v++){const I=new Date(r,o,v);h.push({date:I,year:r,month:o,day:v,isOtherMonth:!1})}const C=Math.ceil((d+l)/7)*7-(d+l);for(let v=1;v<=C;v++){const I=new Date(f,y,v);h.push({date:I,year:f,month:y,day:v,isOtherMonth:!0})}const E=[];for(let v=0;v<h.length;v+=7)E.push(h.slice(v,v+7));let _="";for(const v of E){const I=v.map(D=>{const x=e.getDateInfoInternal(D.date);let S=(x==null?void 0:x.badgeTooltip)||"";if(e.options.badgeTooltipCallback&&(x!=null&&x.badgeText)){const T={date:D.date,dateString:be(D.date),dayNumber:D.day,isDisabled:e.isDateDisabledInternal(D.date),isSelected:!1,isStartDate:!1,isEndDate:!1,isInRange:!1,isToday:ot(D.date),isWeekend:D.date.getDay()===0||D.date.getDay()===6,monthIndex:a,element:null,picker:e},k=e.options.badgeTooltipCallback(T);k!==null&&(S=k)}return{text:(x==null?void 0:x.badgeText)||"",tooltip:S,class:(x==null?void 0:x.badgeClass)||""}});if(I.some(D=>D.text)){_+='<div class="drp-date-picker__badge-row">';for(const D of I)if(D.text){const x=D.tooltip?` data-tooltip="${D.tooltip.replace(/"/g,""")}"`:"",S=D.class?` ${D.class}`:"";_+=`<div class="drp-date-picker__badge-cell${S}"${x}>${D.text}</div>`}else _+='<div class="drp-date-picker__badge-cell"></div>';_+="</div>"}_+='<div class="drp-date-picker__date-row">';for(const D of v){const x=["drp-date-picker__day"];D.isOtherMonth&&x.push("drp-date-picker__day--other-month");const S=e.getDateInfoInternal(D.date),R=S&&S.isDisabled!==void 0?S.isDisabled:e.isDateDisabledInternal(D.date);R&&x.push("drp-date-picker__day--disabled"),S&&S.dayClass&&x.push(S.dayClass),e.isToday(D.date)&&x.push("drp-date-picker__day--today");let T=!1;e.options.selectionMode==="single"?T=e.isSameDay(D.date,e.selectedDate):e.options.selectionMode==="multiple"&&(T=e.selectedDates.some(Q=>e.isSameDay(D.date,Q))),T&&x.push("drp-date-picker__day--selected");let k=!1,z=!1,N=!1;if(e.options.selectionMode==="range")k=e.isSameDay(D.date,e.selectedStartDate),z=e.isSameDay(D.date,e.selectedEndDate),N=e.isInRange(D.date),k&&x.push("drp-date-picker__day--range-start"),z&&x.push("drp-date-picker__day--range-end"),N&&(!R||e.options.highlightDisabledInRange)&&x.push("drp-date-picker__day--in-range");else if(e.options.selectionMode==="multiple")for(const Q of e.selectedRanges)e.isSameDay(D.date,Q.start)&&(k=!0,x.push("drp-date-picker__day--range-start")),e.isSameDay(D.date,Q.end)&&(z=!0,x.push("drp-date-picker__day--range-end")),D.date>=Q.start&&D.date<=Q.end&&(N=!0,(!R||e.options.highlightDisabledInRange)&&x.push("drp-date-picker__day--in-range"));const $=`${D.year}-${String(D.month+1).padStart(2,"0")}-${String(D.day).padStart(2,"0")}`;let P=(S==null?void 0:S.dayTooltip)||"";if(e.options.dayTooltipCallback){const Q={date:D.date,dateString:$,dayNumber:D.day,isDisabled:R,isSelected:T,isStartDate:k,isEndDate:z,isInRange:N,isToday:e.isToday(D.date),isWeekend:D.date.getDay()===0||D.date.getDay()===6,monthIndex:a,element:null,picker:e},Gt=e.options.dayTooltipCallback(Q);Gt!==null&&(P=Gt)}const J=P?` data-tooltip="${P.replace(/"/g,""")}"`:"";_+=`<div class="${x.join(" ")}" data-date="${$}" data-day-number="${D.day}"${J}>`,_+=`<slot name="day-${$}">${D.day}</slot>`,_+="</div>"}_+="</div>"}i&&(i.innerHTML=_,hn(e,a,i))}function hn(e,a,t){if(!e.options.renderDayCallback&&!e.options.renderDayContentCallback)return;t.querySelectorAll(".drp-date-picker__day").forEach(i=>{const r=i,o=r.getAttribute("data-date"),s=parseInt(r.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=r.querySelector(`slot[name="day-${o}"]`);if(u&&u.assignedNodes().length>0)return;const m=e.isDateDisabledInternal(p),f=e.isToday(p),y=p.getDay()===0||p.getDay()===6,h=e.options.selectionMode==="single"&&e.isSameDay(p,e.selectedDate),M=e.options.selectionMode==="range"&&e.isSameDay(p,e.selectedStartDate),C=e.options.selectionMode==="range"&&e.isSameDay(p,e.selectedEndDate),E=e.options.selectionMode==="range"&&e.isInRange(p),_={date:p,dateString:o,dayNumber:s,isDisabled:m,isSelected:h||M||C,isStartDate:M,isEndDate:C,isInRange:E,isToday:f,isWeekend:y,monthIndex:a,element:r,picker:e};if(e.options.renderDayCallback)try{const v=e.options.renderDayCallback(_);v!=null&&(typeof v=="string"?u&&(u.innerHTML=v):v instanceof HTMLElement&&u&&(u.innerHTML="",u.appendChild(v)))}catch(v){console.error("[DatePicker] Error in renderDayCallback:",v)}else if(e.options.renderDayContentCallback)try{const v=e.options.renderDayContentCallback(_);v!=null&&(typeof v=="string"?u&&(u.innerHTML+=v):v instanceof HTMLElement&&u&&u.appendChild(v))}catch(v){console.error("[DatePicker] Error in renderDayContentCallback:",v)}})}function Yt(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 i=e.monthDates[a],r=i.getFullYear(),o=i.getMonth(),s=zt(e.options.rollingYearRange,r,e),d=Nt(e.options.rollingMonthRange),l=n==null?void 0:n.querySelector('[data-list="years"]');let c="";for(let u=s.min;u<=s.max;u++){const g=u===r?"drp-date-picker__rolling-item--selected":"",f=rt(e,u)?"":"drp-date-picker__rolling-item--disabled";c+=`<div class="drp-date-picker__rolling-item ${g} ${f}" data-year="${u}" data-month-index="${a}"><span class="drp-date-picker__rolling-item-text">${u}</span></div>`}l&&(l.innerHTML=c);const p=n==null?void 0:n.querySelector('[data-list="months"]');if(p){let u="";for(let g=d.min-1;g<=d.max-1;g++){const m=e.monthNames[g],f=g===o?"drp-date-picker__rolling-item--selected":"",h=X(e,r,g)?"":"drp-date-picker__rolling-item--disabled";u+=`<div class="drp-date-picker__rolling-item ${f} ${h}" data-month="${g}" data-month-index="${a}"><span class="drp-date-picker__rolling-item-text">${m}</span></div>`}p.innerHTML=u}}function fn(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],n=t.getFullYear(),i=t.getMonth(),r=e.getEffectiveYearRange(),o=e.getEffectiveMonthRange(),s=e.unifiedRollingSelector.querySelector('[data-list="years"]');let d="";for(let c=r.min;c<=r.max;c++){const p=c===n?"drp-date-picker__rolling-item--selected":"",g=rt(e,c)?"":"drp-date-picker__rolling-item--disabled";d+=`<div class="drp-date-picker__rolling-item ${p} ${g}" data-year="${c}" data-unified="true"><span class="drp-date-picker__rolling-item-text">${c}</span></div>`}s&&(s.innerHTML=d);const l=e.unifiedRollingSelector.querySelector('[data-list="months"]');if(l){let c="";for(let p=o.min-1;p<=o.max-1;p++){const u=e.monthNames[p],g=p===i?"drp-date-picker__rolling-item--selected":"",f=X(e,n,p)?"":"drp-date-picker__rolling-item--disabled";c+=`<div class="drp-date-picker__rolling-item ${g} ${f}" data-month="${p}" data-unified="true"><span class="drp-date-picker__rolling-item-text">${u}</span></div>`}l.innerHTML=c}}function mn(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,i,r,o;if(e.options.disabledDatesHandling==="individual"||e.options.disabledDatesHandling==="split")n=e.getEnabledDatesInRange(e.selectedStartDate,e.selectedEndDate),t=n.length,r=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),i=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),i&&(d.disabledDates=i),r&&(d.dates=r),o&&(d.dateRanges=o),a.innerHTML=e.options.formatSummaryCallback(d)}else a.innerHTML=`
|
|
3
|
+
`,e.calendar.appendChild(a),e.loadingOverlay=a}function se(e){e.loadingOverlay&&(e.loadingOverlay.remove(),e.loadingOverlay=void 0)}function X(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 Pt(e){var a,t;if(e.options.beforeMonthChangedCallback){if(e.isMonthChanging){w.debug("handleInitialMonthLoad() - already changing month, skipping");return}try{if(e.isMonthChanging=!0,e.options.unifiedNavigation){const n=e.options.unifiedNavigationAnchorIndex??0,r=e.monthDates[n],i=r.getFullYear(),o=r.getMonth();let s=1/0,d=1/0,l=-1/0,c=-1/0;for(let A=0;A<e.monthDates.length;A++){const D=e.monthDates[A],x=D.getFullYear(),S=D.getMonth();(x<s||x===s&&S<d)&&(s=x,d=S),(x>l||x===l&&S>c)&&(l=x,c=S)}const g=(new Date(s,d,1).getDay()-e.weekStartDay+7)%7,m=new Date(s,d,1-g),f=new Date(l,c+1,0).getDate(),h=new Date(l,c,f).getDay(),M=(e.weekStartDay+6-h)%7,C=new Date(l,c,f+M),E={year:i,month:o,monthIndex:n,firstVisibleDate:m,lastVisibleDate:C};w.debug(`handleInitialMonthLoad() [UNIFIED] - calling callback for ${i}-${o+1}, range: ${m.toISOString().split("T")[0]} to ${C.toISOString().split("T")[0]}`);const _=e.options.beforeMonthChangedCallback(E),v=_ instanceof Promise;v&&Ne(e);const I=await Promise.resolve(_);v&&se(e),w.debug(`handleInitialMonthLoad() [UNIFIED] - callback completed, metadata items: ${((a=I.metadata)==null?void 0:a.size)||0}`),I.metadata&&(e.bulkMetadataCache=I.metadata,w.debug(`handleInitialMonthLoad() [UNIFIED] - bulk metadata cache updated with ${I.metadata.size} entries`),e.renderCalendar())}else{w.debug(`handleInitialMonthLoad() [NON-UNIFIED] - calling callback for ${e.monthDates.length} months`);const n=new Map;let r=!1;for(let i=0;i<e.monthDates.length;i++){const o=e.monthDates[i],s=o.getFullYear(),d=o.getMonth(),p=(new Date(s,d,1).getDay()-e.weekStartDay+7)%7,u=new Date(s,d,1-p),g=new Date(u);g.setDate(u.getDate()+41);const m={year:s,month:d,monthIndex:i,firstVisibleDate:u,lastVisibleDate:g};w.debug(`handleInitialMonthLoad() [NON-UNIFIED] Col${i} - calling callback for ${s}-${d+1}, range: ${u.toISOString().split("T")[0]} to ${g.toISOString().split("T")[0]}`);const f=e.options.beforeMonthChangedCallback(m);f instanceof Promise&&!r&&(r=!0,Ne(e));const h=await Promise.resolve(f);w.debug(`handleInitialMonthLoad() [NON-UNIFIED] Col${i} - callback completed, metadata items: ${((t=h.metadata)==null?void 0:t.size)||0}`),h.metadata&&h.metadata.forEach((M,C)=>{n.set(C,M)})}r&&se(e),n.size>0&&(e.bulkMetadataCache=n,w.debug(`handleInitialMonthLoad() [NON-UNIFIED] - combined metadata cache updated with ${n.size} entries`),e.renderCalendar())}}catch(n){se(e),w.debug("handleInitialMonthLoad() - error in callback:",n),console.error("[DateRangePicker] Error in beforeMonthChangedCallback (initial load):",n)}finally{e.isMonthChanging=!1}}}async function ae(e,a,t,n){var r;if(!e.options.beforeMonthChangedCallback)return!0;if(e.isMonthChanging)return w.debug("handleBeforeMonthChange() - already changing month, ignoring"),!1;try{e.isMonthChanging=!0;let i,o;if(e.options.unifiedNavigation){let p=1/0,u=1/0,g=-1/0,m=-1/0;for(let v=0;v<e.monthDates.length;v++){const I=e.monthDates[v],A=I.getFullYear(),D=I.getMonth();(A<p||A===p&&D<u)&&(p=A,u=D),(A>g||A===g&&D>m)&&(g=A,m=D)}const h=(new Date(p,u,1).getDay()-e.weekStartDay+7)%7;i=new Date(p,u,1-h);const M=new Date(g,m+1,0).getDate(),E=new Date(g,m,M).getDay(),_=(e.weekStartDay+6-E)%7;o=new Date(g,m,M+_)}else{const g=(new Date(a,t,1).getDay()-e.weekStartDay+7)%7;i=new Date(a,t,1-g),o=new Date(i),o.setDate(i.getDate()+41)}const s={year:a,month:t,monthIndex:n,firstVisibleDate:i,lastVisibleDate:o};w.debug(`handleBeforeMonthChange() - calling callback for ${a}-${t+1}, range: ${i.toISOString().split("T")[0]} to ${o.toISOString().split("T")[0]}`);const d=e.options.beforeMonthChangedCallback(s),l=d instanceof Promise;l&&Ne(e);const c=await Promise.resolve(d);return l&&se(e),c.action==="block"?(w.debug(`handleBeforeMonthChange() - navigation blocked: ${c.message||"no reason provided"}`),c.message&&console.warn(`[DateRangePicker] Month navigation blocked: ${c.message}`),!1):(w.debug(`handleBeforeMonthChange() - navigation accepted, metadata items: ${((r=c.metadata)==null?void 0:r.size)||0}`),c.metadata?e.bulkMetadataCache?(c.metadata.forEach((p,u)=>{e.bulkMetadataCache.set(u,p)}),w.debug(`handleBeforeMonthChange() - merged ${c.metadata.size} entries into cache (total: ${e.bulkMetadataCache.size})`)):(e.bulkMetadataCache=c.metadata,w.debug(`handleBeforeMonthChange() - bulk metadata cache created with ${c.metadata.size} entries`)):e.bulkMetadataCache=null,!0)}catch(i){return se(e),w.debug("handleBeforeMonthChange() - error in callback:",i),console.error("[DateRangePicker] Error in beforeMonthChangedCallback:",i),!1}finally{e.isMonthChanging=!1}}function nn(e,a){e.showingRollingSelector[a]=!e.showingRollingSelector[a],e.renderCalendar()}async function rn(e,a,t){const n=e.monthDates[t].getMonth();if(!await ae(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}`),_e(e,t),e.showingRollingSelector[t]=!1,e.renderCalendar()}async function on(e,a,t){const n=e.monthDates[t].getFullYear();if(!await ae(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}`),_e(e,t),e.showingRollingSelector[t]=!1,e.renderCalendar()}function _e(e,a){const t=e.monthDates[a];if(a<e.monthDates.length-1){const n=e.monthDates[a+1];if(Fe(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,_e(e,a+1)}}if(a>0){const n=e.monthDates[a-1];if(Fe(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,_e(e,a-1)}}}function Fe(e,a){const t=e.getFullYear(),n=e.getMonth(),r=a.getFullYear(),i=a.getMonth();return t>r||t===r&&n>=i}async function we(e,a){const t=isNaN(a)?e.activeMonthIndex:a;e.showingRollingSelector[t]&&(e.showingRollingSelector[t]=!1);const n=e.monthDates[t],r=new Date(n.getFullYear(),n.getMonth()-1,1);if(!X(e,r.getFullYear(),r.getMonth())){w.debug(`prevMonth() Col${t} - navigation blocked: target month has no enabled days`);return}if(!await ae(e,r.getFullYear(),r.getMonth(),t)){w.debug(`prevMonth() Col${t} - navigation blocked by callback`);return}if(e.monthDates[t]=r,w.debug(`prevMonth() Col${t} - changed from ${n.getFullYear()}-${n.getMonth()+1} to ${r.getFullYear()}-${r.getMonth()+1}`),t>0){const o=e.monthDates[t-1];Fe(o,r)&&(w.debug(`prevMonth() Col${t} - collision detected with Col${t-1}, shifting previous columns back`),await we(e,t-1))}e.renderCalendar()}async function xe(e,a){const t=isNaN(a)?e.activeMonthIndex:a;e.showingRollingSelector[t]&&(e.showingRollingSelector[t]=!1);const n=e.monthDates[t],r=new Date(n.getFullYear(),n.getMonth()+1,1);if(!X(e,r.getFullYear(),r.getMonth())){w.debug(`nextMonth() Col${t} - navigation blocked: target month has no enabled days`);return}if(!await ae(e,r.getFullYear(),r.getMonth(),t)){w.debug(`nextMonth() Col${t} - navigation blocked by callback`);return}if(e.monthDates[t]=r,w.debug(`nextMonth() Col${t} - changed from ${n.getFullYear()}-${n.getMonth()+1} to ${r.getFullYear()}-${r.getMonth()+1}`),t<e.monthDates.length-1){const o=e.monthDates[t+1];Fe(r,o)&&(w.debug(`nextMonth() Col${t} - collision detected with Col${t+1}, shifting next columns forward`),await xe(e,t+1))}e.renderCalendar()}function Me(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 sn(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`),we(e,e.activeMonthIndex),setTimeout(()=>{var m,f;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=Me(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"),(f=u[e.focusedDayIndex])==null||f.scrollIntoView({block:"nearest"}))},0);else{const u=n[e.focusedDayIndex].dataset.date;if(u){const[g,m,f]=u.split("-").map(Number),h=new Date(g,m-1,f).getDay();w.debug(`moveFocus() Col${c} - edge navigation UP: current day ${f} is weekday ${h}, going to prev month`),we(e,e.activeMonthIndex),setTimeout(()=>{var v,I;const M=e.calendar.querySelector(`.drp-date-picker__month[data-month-index="${c}"] .drp-date-picker__days`);if(!M)return;const C=M.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)"),_=C[C.length-1].dataset.date;if(_){const[A,D,x]=_.split("-").map(Number),R=new Date(A,D-1,x).getDay(),T=(R-h+7)%7;e.focusedDayIndex=C.length-1-T,w.debug(`moveFocus() Col${c} - last day weekday ${R}, target ${h}, focusing on day ${e.focusedDayIndex+1}`),(v=C[e.focusedDayIndex])==null||v.classList.add("drp-date-picker__day--focused"),(I=C[e.focusedDayIndex])==null||I.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`),xe(e,e.activeMonthIndex),setTimeout(()=>{var m,f;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=Me(e,0,1,u);g.index!==null&&(e.focusedDayIndex=g.index,(m=u[e.focusedDayIndex])==null||m.classList.add("drp-date-picker__day--focused"),(f=u[e.focusedDayIndex])==null||f.scrollIntoView({block:"nearest"}))},0);else{const u=n[e.focusedDayIndex].dataset.date;if(u){const[g,m,f]=u.split("-").map(Number),h=new Date(g,m-1,f).getDay();w.debug(`moveFocus() Col${c} - edge navigation DOWN: current day ${f} is weekday ${h}, going to next month`),xe(e,e.activeMonthIndex),setTimeout(()=>{var v,I;const M=e.calendar.querySelector(`.drp-date-picker__month[data-month-index="${c}"] .drp-date-picker__days`);if(!M)return;const C=M.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)"),_=C[0].dataset.date;if(_){const[A,D,x]=_.split("-").map(Number),R=new Date(A,D-1,x).getDay(),T=(h-R+7)%7;e.focusedDayIndex=T,w.debug(`moveFocus() Col${c} - first day weekday ${R}, target ${h}, focusing on day ${e.focusedDayIndex+1}`),(v=C[e.focusedDayIndex])==null||v.classList.add("drp-date-picker__day--focused"),(I=C[e.focusedDayIndex])==null||I.scrollIntoView({block:"nearest"})}},0)}}return}const i=Me(e,r,a,n,e.activeMonthIndex);if(i.monthChanged){const c=e.activeMonthIndex;i.direction==="next"?xe(e,e.activeMonthIndex):we(e,e.activeMonthIndex),setTimeout(()=>{var m,f;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=Me(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"),(f=u[e.focusedDayIndex])==null||f.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 dn(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}`),!X(e,n.getFullYear(),n.getMonth())){w.debug("unifiedNextMonth() - navigation blocked: target month has no enabled days");return}if(await ae(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 ln(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}`),!X(e,n.getFullYear(),n.getMonth())){w.debug("unifiedPrevMonth() - navigation blocked: target month has no enabled days");return}if(await ae(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 cn(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 ae(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 pn(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 ae(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 zt(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 Nt(e){if(!e)return{min:1,max:12};const[a,t]=e.split("-");return{min:parseInt(a,10),max:parseInt(t,10)}}function gn(e){de.debug("[DatePicker 18] renderCalendar called, showingRollingSelector:",e.showingRollingSelector,`activeCol: ${e.activeMonthIndex}`),de.debug("[DatePicker 18] monthDates array:",e.monthDates.map((a,t)=>`Col${t}: ${a.getFullYear()}-${a.getMonth()+1}`).join(", ")),e.options.unifiedNavigation&&e.showingUnifiedRollingSelector&&fn(e);for(let a=0;a<e.options.visibleMonthsCount;a++)e.showingRollingSelector[a]?Yt(e,a):Ft(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 Ft(e,a){de.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=t.querySelector(".drp-date-picker__month-year");if(i&&(i.textContent=`${e.monthNames[r.getMonth()]} ${r.getFullYear()}`),e.options.unifiedNavigation&&a===0&&e.unifiedRangeDisplay){e.unifiedRollingSelector&&!e.showingUnifiedRollingSelector&&e.unifiedRollingSelector.classList.remove("drp-date-picker__unified-rolling-selector--visible");const y=e.monthDates[0],h=e.monthDates[e.monthDates.length-1],M=e.options.unifiedNavigationAnchorIndex??0,C=e.monthDates[M];if(e.options.getUnifiedHeaderCallback){const _=e.options.getUnifiedHeaderCallback({firstMonth:y,lastMonth:h,anchorMonth:C,monthNames:e.monthNames});e.unifiedRangeDisplay.textContent=_}else{const _=e.monthNames[y.getMonth()],v=e.monthNames[h.getMonth()],I=y.getFullYear(),A=h.getFullYear();I===A?e.unifiedRangeDisplay.textContent=`${_} ${I} - ${v} ${A}`:e.unifiedRangeDisplay.textContent=`${_} ${I} - ${v} ${A}`}const E=e.unifiedHeader;if(E){const _=y.getMonth()===0?y.getFullYear()-1:y.getFullYear(),v=y.getMonth()===0?11:y.getMonth()-1,I=E.querySelector(".drp-date-picker__nav--prev");I&&(X(e,_,v)?(I.removeAttribute("disabled"),I.classList.remove("drp-date-picker__nav--disabled")):(I.setAttribute("disabled","true"),I.classList.add("drp-date-picker__nav--disabled")));const A=h.getMonth()===11?h.getFullYear()+1:h.getFullYear(),D=h.getMonth()===11?0:h.getMonth()+1,x=E.querySelector(".drp-date-picker__nav--next");x&&(X(e,A,D)?(x.removeAttribute("disabled"),x.classList.remove("drp-date-picker__nav--disabled")):(x.setAttribute("disabled","true"),x.classList.add("drp-date-picker__nav--disabled")))}}const o=r.getFullYear(),s=r.getMonth(),d=s===0?11:s-1,l=s===0?o-1:o,c=t.querySelector(".drp-date-picker__nav--prev");c&&(X(e,l,d)?(c.removeAttribute("disabled"),c.classList.remove("drp-date-picker__nav--disabled")):(c.setAttribute("disabled","true"),c.classList.add("drp-date-picker__nav--disabled")));const p=s===11?0:s+1,u=s===11?o+1:o,g=t.querySelector(".drp-date-picker__nav--next");g&&(X(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=t.querySelector(".drp-date-picker__weekdays"),f=[...e.weekdayNames.slice(e.weekStartDay),...e.weekdayNames.slice(0,e.weekStartDay)];m&&(m.innerHTML=f.map(y=>`<div class="drp-date-picker__weekday">${y}</div>`).join("")),Ot(e,a,r)}function Ot(e,a,t){de.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();de.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),f=m.getFullYear(),y=m.getMonth(),h=[];for(let v=d-1;v>=0;v--){const I=c-v,A=new Date(u,g,I);h.push({date:A,year:u,month:g,day:I,isOtherMonth:!0})}for(let v=1;v<=l;v++){const I=new Date(i,o,v);h.push({date:I,year:i,month:o,day:v,isOtherMonth:!1})}const C=Math.ceil((d+l)/7)*7-(d+l);for(let v=1;v<=C;v++){const I=new Date(f,y,v);h.push({date:I,year:f,month:y,day:v,isOtherMonth:!0})}const E=[];for(let v=0;v<h.length;v+=7)E.push(h.slice(v,v+7));let _="";for(const v of E){const I=v.map(D=>{const x=e.getDateInfoInternal(D.date);let S=(x==null?void 0:x.badgeTooltip)||"";if(e.options.badgeTooltipCallback&&(x!=null&&x.badgeText)){const T={date:D.date,dateString:be(D.date),dayNumber:D.day,isDisabled:e.isDateDisabledInternal(D.date),isSelected:!1,isStartDate:!1,isEndDate:!1,isInRange:!1,isToday:ot(D.date),isWeekend:D.date.getDay()===0||D.date.getDay()===6,monthIndex:a,element:null,picker:e},k=e.options.badgeTooltipCallback(T);k!==null&&(S=k)}return{text:(x==null?void 0:x.badgeText)||"",tooltip:S,class:(x==null?void 0:x.badgeClass)||""}});if(I.some(D=>D.text)){_+='<div class="drp-date-picker__badge-row">';for(const D of I)if(D.text){const x=D.tooltip?` data-tooltip="${D.tooltip.replace(/"/g,""")}"`:"",S=D.class?` ${D.class}`:"";_+=`<div class="drp-date-picker__badge-cell${S}"${x}>${D.text}</div>`}else _+='<div class="drp-date-picker__badge-cell"></div>';_+="</div>"}_+='<div class="drp-date-picker__date-row">';for(const D of v){const x=["drp-date-picker__day"];D.isOtherMonth&&x.push("drp-date-picker__day--other-month");const S=e.getDateInfoInternal(D.date),R=S&&S.isDisabled!==void 0?S.isDisabled:e.isDateDisabledInternal(D.date);R&&x.push("drp-date-picker__day--disabled"),S&&S.dayClass&&x.push(S.dayClass),e.isToday(D.date)&&x.push("drp-date-picker__day--today");let T=!1;e.options.selectionMode==="single"?T=e.isSameDay(D.date,e.selectedDate):e.options.selectionMode==="multiple"&&(T=e.selectedDates.some(Q=>e.isSameDay(D.date,Q))),T&&x.push("drp-date-picker__day--selected");let k=!1,z=!1,N=!1;if(e.options.selectionMode==="range")k=e.isSameDay(D.date,e.selectedStartDate),z=e.isSameDay(D.date,e.selectedEndDate),N=e.isInRange(D.date),k&&x.push("drp-date-picker__day--range-start"),z&&x.push("drp-date-picker__day--range-end"),N&&(!R||e.options.highlightDisabledInRange)&&x.push("drp-date-picker__day--in-range");else if(e.options.selectionMode==="multiple")for(const Q of e.selectedRanges)e.isSameDay(D.date,Q.start)&&(k=!0,x.push("drp-date-picker__day--range-start")),e.isSameDay(D.date,Q.end)&&(z=!0,x.push("drp-date-picker__day--range-end")),D.date>=Q.start&&D.date<=Q.end&&(N=!0,(!R||e.options.highlightDisabledInRange)&&x.push("drp-date-picker__day--in-range"));const $=`${D.year}-${String(D.month+1).padStart(2,"0")}-${String(D.day).padStart(2,"0")}`;let P=(S==null?void 0:S.dayTooltip)||"";if(e.options.dayTooltipCallback){const Q={date:D.date,dateString:$,dayNumber:D.day,isDisabled:R,isSelected:T,isStartDate:k,isEndDate:z,isInRange:N,isToday:e.isToday(D.date),isWeekend:D.date.getDay()===0||D.date.getDay()===6,monthIndex:a,element:null,picker:e},Gt=e.options.dayTooltipCallback(Q);Gt!==null&&(P=Gt)}const J=P?` data-tooltip="${P.replace(/"/g,""")}"`:"";_+=`<div class="${x.join(" ")}" data-date="${$}" data-day-number="${D.day}"${J}>`,_+=`<slot name="day-${$}">${D.day}</slot>`,_+="</div>"}_+="</div>"}r&&(r.innerHTML=_,hn(e,a,r))}function hn(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),f=e.isToday(p),y=p.getDay()===0||p.getDay()===6,h=e.options.selectionMode==="single"&&e.isSameDay(p,e.selectedDate),M=e.options.selectionMode==="range"&&e.isSameDay(p,e.selectedStartDate),C=e.options.selectionMode==="range"&&e.isSameDay(p,e.selectedEndDate),E=e.options.selectionMode==="range"&&e.isInRange(p),_={date:p,dateString:o,dayNumber:s,isDisabled:m,isSelected:h||M||C,isStartDate:M,isEndDate:C,isInRange:E,isToday:f,isWeekend:y,monthIndex:a,element:i,picker:e};if(e.options.renderDayCallback)try{const v=e.options.renderDayCallback(_);v!=null&&(typeof v=="string"?u&&(u.innerHTML=v):v instanceof HTMLElement&&u&&(u.innerHTML="",u.appendChild(v)))}catch(v){console.error("[DatePicker] Error in renderDayCallback:",v)}else if(e.options.renderDayContentCallback)try{const v=e.options.renderDayContentCallback(_);v!=null&&(typeof v=="string"?u&&(u.innerHTML+=v):v instanceof HTMLElement&&u&&u.appendChild(v))}catch(v){console.error("[DatePicker] Error in renderDayContentCallback:",v)}})}function Yt(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],i=r.getFullYear(),o=r.getMonth(),s=zt(e.options.rollingYearRange,i,e),d=Nt(e.options.rollingMonthRange),l=n==null?void 0:n.querySelector('[data-list="years"]');let c="";for(let u=s.min;u<=s.max;u++){const g=u===i?"drp-date-picker__rolling-item--selected":"",f=it(e,u)?"":"drp-date-picker__rolling-item--disabled";c+=`<div class="drp-date-picker__rolling-item ${g} ${f}" data-year="${u}" data-month-index="${a}"><span class="drp-date-picker__rolling-item-text">${u}</span></div>`}l&&(l.innerHTML=c);const p=n==null?void 0:n.querySelector('[data-list="months"]');if(p){let u="";for(let g=d.min-1;g<=d.max-1;g++){const m=e.monthNames[g],f=g===o?"drp-date-picker__rolling-item--selected":"",h=X(e,i,g)?"":"drp-date-picker__rolling-item--disabled";u+=`<div class="drp-date-picker__rolling-item ${f} ${h}" data-month="${g}" data-month-index="${a}"><span class="drp-date-picker__rolling-item-text">${m}</span></div>`}p.innerHTML=u}}function fn(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],n=t.getFullYear(),r=t.getMonth(),i=e.getEffectiveYearRange(),o=e.getEffectiveMonthRange(),s=e.unifiedRollingSelector.querySelector('[data-list="years"]');let d="";for(let c=i.min;c<=i.max;c++){const p=c===n?"drp-date-picker__rolling-item--selected":"",g=it(e,c)?"":"drp-date-picker__rolling-item--disabled";d+=`<div class="drp-date-picker__rolling-item ${p} ${g}" data-year="${c}" data-unified="true"><span class="drp-date-picker__rolling-item-text">${c}</span></div>`}s&&(s.innerHTML=d);const l=e.unifiedRollingSelector.querySelector('[data-list="months"]');if(l){let c="";for(let p=o.min-1;p<=o.max-1;p++){const u=e.monthNames[p],g=p===r?"drp-date-picker__rolling-item--selected":"",f=X(e,n,p)?"":"drp-date-picker__rolling-item--disabled";c+=`<div class="drp-date-picker__rolling-item ${g} ${f}" data-month="${p}" data-unified="true"><span class="drp-date-picker__rolling-item-text">${u}</span></div>`}l.innerHTML=c}}function mn(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 Bt(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,i,
|
|
7
|
+
`}else a.className="drp-date-picker__summary drp-date-picker__summary--hidden",a.innerHTML=""}function Bt(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 bn(e){if(e.calendar.querySelectorAll(".drp-date-picker__day--drag-preview, .drp-date-picker__day--drag-invalid").forEach(i=>{i.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(i=>{const r=i.dataset.date;if(!r)return;const[o,s,d]=r.split("-").map(Number),l=new Date(o,s-1,d);l>=e.dragPreviewStart&&l<=e.dragPreviewEnd&&(i.classList.add("drp-date-picker__day--drag-preview"),t&&i.classList.add("drp-date-picker__day--drag-invalid"))}),Bt(e)}async function Ht(e,a){if(!e.options.beforeDateSelectCallback)return{isValid:!0};try{e.isValidating=!0,Ne(e);const t=await Promise.resolve(e.options.beforeDateSelectCallback(a));switch(se(e),e.isValidating=!1,t.action){case"accept":return{isValid:!0};case"adjust":return a instanceof Date&&t.adjustedDate?{isValid:!0,adjustedDate:t.adjustedDate,message:t.message}:typeof a=="object"&&"start"in a&&t.adjustedStartDate&&t.adjustedEndDate?{isValid:!0,adjustedStart:t.adjustedStartDate,adjustedEnd:t.adjustedEndDate,message:t.message}:{isValid:!1,message:t.message||"Invalid adjustment"};case"restore":return{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 se(e),e.isValidating=!1,B.error("beforeDateSelectCallback error:",t),{isValid:!1,message:"Validation error occurred"}}}async function Vt(e,a,t){if(ne.debug(" validateRangeAsync called - mode:",e.options.disabledDatesHandling,"start:",a,"end:",t),e.options.disabledDatesHandling==="prevent"){if(ne.debug(" Checking PREVENT mode"),e.hasDisabledDatesInRange(a,t))return ne.debug(" PREVENT mode - range contains disabled dates"),{isValid:!1,message:"Range contains disabled dates"}}else if(e.options.disabledDatesHandling==="block"&&(ne.debug(" Checking BLOCK mode"),e.hasDisabledDatesInRange(a,t))){ne.debug(" BLOCK mode - range contains disabled dates, adjusting");const i=e.findLastEnabledBeforeGap(a,t);return ne.debug(" BLOCK mode - adjusted end:",i),{isValid:!0,adjustedStart:a,adjustedEnd:i}}const n=await Ht(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}async function yn(e,a){if(a.classList.contains("drp-date-picker__day--disabled"))return;if(!a.dataset||!a.dataset.date){B.warn("selectDay() - called with invalid element:",a);return}const[t,n,i]=a.dataset.date.split("-").map(Number),r=new Date(t,n-1,i);a.classList.contains("drp-date-picker__day--other-month");const o=a.closest(".drp-date-picker__days");if(o&&o instanceof HTMLElement){e.activeMonthIndex=parseInt(o.dataset.monthIndex||"0")||0,ce.debug(`Col${e.activeMonthIndex} selectDay - activeMonthIndex:`,e.activeMonthIndex);const s=o.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");e.focusedDayIndex=Array.from(s).indexOf(a),ce.debug(`Col${e.activeMonthIndex} selectDay - set focusedDayIndex to:`,e.focusedDayIndex)}if(e.options.selectionMode==="single"){const s=await Ht(e,r);if(!s.isValid){ce.debug("Single mode selection prevented by beforeDateSelectCallback");return}const d=s.adjustedDate||r;e.selectedDate=d,e.input&&(e.requiresApplyButton()||(e.input.value=e.formatDate(d))),e.requiresApplyButton()?e.pendingSelection=d:e.options.onSelect&&e.options.onSelect(d),e.options.positioningMode==="floating"&&e.shouldAutoClose()&&e.hide()}else if(e.options.selectionMode==="multiple"){const s=`${r.getFullYear()}-${String(r.getMonth()+1).padStart(2,"0")}-${String(r.getDate()).padStart(2,"0")}`,d=e.selectedDates.findIndex(l=>`${l.getFullYear()}-${String(l.getMonth()+1).padStart(2,"0")}-${String(l.getDate()).padStart(2,"0")}`===s);if(d!==-1?e.selectedDates.splice(d,1):e.selectedDates.push(new Date(r)),e.input&&!e.requiresApplyButton()){const l=e.selectedDates.length+e.selectedRanges.length;e.input.value=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.selectedStartDate=r,e.selectedEndDate=null,e.input&&(e.requiresApplyButton()||(e.input.value=`${e.formatDate(e.selectedStartDate)} - ...`));else{let s=e.selectedStartDate,d=r;r<e.selectedStartDate&&(d=e.selectedStartDate,s=r),ce.debug(" selectDay - calling validateRangeAsync with:",s,d);const l=await Vt(e,s,d);if(ce.debug(" selectDay - validation result:",l),!l.isValid){l.message&&B.warn("selectDay() - range validation failed:",l.message),e.renderCalendar(),e.updateSummary();return}e.selectedStartDate=l.adjustedStart||s,e.selectedEndDate=l.adjustedEnd||d,e.input&&(e.requiresApplyButton()||(e.input.value=`${e.formatDate(e.selectedStartDate)} - ${e.formatDate(e.selectedEndDate)}`));const c={start:e.selectedStartDate,end:e.selectedEndDate};e.requiresApplyButton()?e.pendingSelection=c:e.options.onSelect&&e.options.onSelect(c),e.options.positioningMode==="floating"&&e.shouldAutoClose()&&e.hide()}if(e.renderCalendar(),e.updateSummary(),e.options.selectionMode==="range"&&e.selectedEndDate){const s=e.selectedEndDate;for(let d=0;d<e.monthDates.length;d++){const l=e.monthDates[d];if(s.getFullYear()===l.getFullYear()&&s.getMonth()===l.getMonth()){e.activeMonthIndex=d;const c=e.calendar.querySelector(`.drp-date-picker__days[data-month-index="${d}"]`);if(c){const p=c.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)"),u=Array.from(p).findIndex(g=>{const m=g.dataset.date;if(!m)return!1;const[f,y,h]=m.split("-").map(Number),M=new Date(f,y-1,h);return e.isSameDay(M,s)});u!==-1&&(e.focusedDayIndex=u,p.forEach(g=>g.classList.remove("drp-date-picker__day--focused")),p[u]&&p[u].classList.add("drp-date-picker__day--focused"))}break}}}}function vn(e){e.monthDates[e.activeMonthIndex]=new Date,e.selectedDate=new Date,e.input&&(e.requiresApplyButton()||(e.input.value=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 Dn(e){e.selectedDate=null,e.selectedStartDate=null,e.selectedEndDate=null,e.selectedRanges=[],e.selectedDates=[],e.pendingSelection=null,e.input&&(e.input.value=""),e.renderCalendar(),e.updateSummary()}function _n(e){if(e.pendingSelection){if(e.input){if(e.options.selectionMode==="range")e.input.value=`${e.formatDate(e.selectedStartDate)} - ${e.formatDate(e.selectedEndDate)}`;else if(e.options.selectionMode==="single")e.input.value=e.formatDate(e.selectedDate);else if(e.options.selectionMode==="multiple"){const a=e.selectedDates.length+e.selectedRanges.length;e.input.value=a>0?`${a} selection(s)`:""}}e.options.onSelect&&e.options.onSelect(e.pendingSelection),e.options.selectionMode==="range"?(e.committedStartDate=e.selectedStartDate,e.committedEndDate=e.selectedEndDate):e.options.selectionMode==="single"&&(e.committedDate=e.selectedDate),e.pendingSelection=null}e.options.autoClose!=="never"&&e.options.positioningMode==="floating"&&e.hide()}function wn(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 i=n,r=t,o=i.clientX,s=i.clientY,d=5;let l=!1,c=!1;const p=r.classList.contains("drp-date-picker__day--range-start"),u=r.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=y=>{const h=Math.abs(y.clientX-o),M=Math.abs(y.clientY-s);!l&&(h>d||M>d)&&(l=!0),l&&!c&&(c=!0,qt(e,i,g,r),document.removeEventListener("mousemove",m),document.removeEventListener("mouseup",f))},f=()=>{document.removeEventListener("mousemove",m),document.removeEventListener("mouseup",f)};document.addEventListener("mousemove",m),document.addEventListener("mouseup",f)})})}function qt(e,a,t,n){a.preventDefault(),a.stopPropagation(),e.isDragging=!0,e.draggingType=t;const i=n,r=i.dataset.date;let o=null;if(r){const[s,d,l]=r.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))),i.classList.add("drp-date-picker__day--dragging"),j.debug(`Started dragging ${t} date`),e.onDragMoveBound=s=>Ut(e,s),e.onDragEndBound=async s=>await jt(e),document.addEventListener("mousemove",e.onDragMoveBound),document.addEventListener("mouseup",e.onDragEndBound),document.body.style.cursor="grabbing"}function Ut(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"),i=t==null?void 0:t.closest(".drp-date-picker__nav--next");if(n||i){if(!e.navInterval){const u=(n||i).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 r=t;if(!r||!r.classList.contains("drp-date-picker__day"))return;const o=r.dataset.date;if(!o)return;const[s,d,l]=o.split("-").map(Number);let c=new Date(s,d-1,l);if(r.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=Oe(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(j.debug("onDragMove - mode:",p,"start:",e.dragPreviewStart,"end:",e.dragPreviewEnd),p==="prevent"&&e.hasDisabledDatesInRange(e.dragPreviewStart,e.dragPreviewEnd)){j.debug("PREVENT mode - range contains disabled dates, blocking preview update");return}else if(p==="block"&&e.hasDisabledDatesInRange(e.dragPreviewStart,e.dragPreviewEnd)){if(j.debug("BLOCK mode - range contains disabled dates, adjusting preview"),e.draggingType==="start"&&e.originalEndDate){const u=e.findLastEnabledBeforeGap(e.dragPreviewStart,e.originalEndDate);j.debug("BLOCK mode - adjusted end (dragging start):",u),e.dragPreviewEnd=u}else if(e.originalStartDate){const u=e.findLastEnabledBeforeGap(e.originalStartDate,e.dragPreviewEnd);j.debug("BLOCK mode - adjusted end (dragging end):",u),e.dragPreviewEnd=u}}}e.updateDragPreview()}async function jt(e,a){if(e.isDragging){if(j.debug("Ended dragging, finalizing selection"),e.dragPreviewStart&&e.dragPreviewEnd){let t=Oe(e,e.dragPreviewStart,"forward"),n=Oe(e,e.dragPreviewEnd,"backward");t>n&&([t,n]=[n,t]),j.debug("onDragEnd - calling validateRangeAsync with:",t,n);const i=await Vt(e,t,n);if(j.debug("onDragEnd - validation result:",i),!i.isValid)i.message&&B.warn("onDragEnd() - drag validation failed:",i.message);else{e.selectedStartDate=i.adjustedStart||t,e.selectedEndDate=i.adjustedEnd||n,e.input&&(e.requiresApplyButton()||(e.input.value=`${e.formatDate(e.selectedStartDate)} - ${e.formatDate(e.selectedEndDate)}`));const r={start:e.selectedStartDate,end:e.selectedEndDate};e.requiresApplyButton()?e.pendingSelection=r:e.options.onSelect&&e.options.onSelect(r)}}if(e.isDragging=!1,e.draggingType=null,e.dragPreviewStart=null,e.dragPreviewEnd=null,e.calendar.querySelectorAll(".drp-date-picker__day--dragging").forEach(t=>{t.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 t=e.selectedEndDate;for(let n=0;n<e.monthDates.length;n++){const i=e.monthDates[n];if(t.getFullYear()===i.getFullYear()&&t.getMonth()===i.getMonth()){e.activeMonthIndex=n;const r=e.calendar.querySelector(`.drp-date-picker__days[data-month-index="${n}"]`);if(r){const o=r.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,t)});s!==-1&&(e.focusedDayIndex=s,o.forEach(d=>d.classList.remove("drp-date-picker__day--focused")),o[s]&&o[s].classList.add("drp-date-picker__day--focused"))}break}}}e.options.positioningMode==="floating"&&e.shouldAutoClose()&&e.hide()}}function Oe(e,a,t="forward"){let i=new Date(a);if(i.setHours(0,0,0,0),!e.isDateDisabledInternal(i))return i;const r=t==="forward"?1:-1;for(let s=1;s<=60;s++){const d=new Date(a);if(d.setDate(d.getDate()+s*r),d.setHours(0,0,0,0),!e.isDateDisabledInternal(d))return d}const o=-r;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 xn(e,a){const t=a.target,n=t.value,i=t.selectionStart||0,r=e._previousInputValue||"",o=n.length<r.length,{separator:s}=e.formatInfo;if(e.options.selectionMode==="range"){const d=n.replace(new RegExp(`[^0-9${s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}to ]`,"gi"),""),l=Wt(e,d);if(l!==n){t.value=l;let c=i;if(o)c=i;else if(l.length>n.length)if(l.includes(" to ")&&!n.includes(" to ")){const p=l.indexOf(" to ");i>=p&&i<=p+4?c=p+4:c=i+(l.length-n.length)}else c=i+(l.length-n.length);t.setSelectionRange(c,c)}}else{const d=n.replace(new RegExp(`[^0-9${s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}]`,"g"),""),l=me(e,d);if(l!==n){t.value=l;let c=i;if(o)c=i;else if(l.length>n.length&&l[i]===s)c=i+1;else if(l.length>n.length){const p=(n.substring(0,i).match(new RegExp(s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g"))||[]).length,g=(l.substring(0,i).match(new RegExp(s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g"))||[]).length-p;c=i+g}t.setSelectionRange(c,c)}}e._previousInputValue=t.value,at(e)}function me(e,a){var c,p,u;const{separator:t,parts:n,maxLength:i}=e.formatInfo,r=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],f=r.substring(l,l+m.length);if(!f)break;d+=f,l+=f.length,g<s.length-1&&f.length===m.length&&(d+=t)}return d.substring(0,i)}function Wt(e,a){const{separator:t,maxLength:n}=e.formatInfo,i=" to ";let r="",o="";if(a.includes(i)){const d=a.split(i);r=d[0],o=d.slice(1).join(i)}else r=a;const s=me(e,r);if(s.length===n)if(a.includes(i)){const d=me(e,o);return s+i+d}else return s+i;else return s}function Mn(e,a){const{key:t,ctrlKey:n,metaKey:i}=a,{separator:r}=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||i)){if(t===r){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]===r||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+r+l.substring(d);s.value=u;const g=c+2+r.length;s.setSelectionRange(g,g),e._previousInputValue=u,s.dispatchEvent(new Event("input",{bubbles:!0}));return}}e.options.selectionMode==="range"?!/^\d$/.test(t)&&t!==r&&t!==" "&&t.toLowerCase()!=="t"&&t.toLowerCase()!=="o"&&a.preventDefault():!/^\d$/.test(t)&&t!==r&&a.preventDefault()}}function Sn(e,a){var u;a.preventDefault();const t=((u=a.clipboardData)==null?void 0:u.getData("text"))||"",{separator:n}=e.formatInfo,i=t.replace(new RegExp(`[^0-9${n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}]`,"g"),""),r=me(e,i),o=a.target,s=o.selectionStart||0,d=o.selectionEnd||0,l=o.value,c=l.substring(0,s)+r+l.substring(d);o.value=me(e,c);const p=s+r.length;o.setSelectionRange(p,p),o.dispatchEvent(new Event("input",{bubbles:!0})),at(e)}function at(e){if(!e.input)return;const a=e.input.value;if(le.debug("updateCalendarFromInput - value:",a),!a)return;const{separator:t,parts:n,maxLength:i}=e.formatInfo;if(le.debug("Format info:",{separator:t,parts:n,maxLength:i}),e.options.selectionMode==="range"&&a.includes(" to ")){const o=a.split(" to "),s=o[0],d=o[1];le.debug("Range parts - start:",s,"end:",d),Ye(e,s,"start"),d&&Ye(e,d,"end");return}const r=e.options.selectionMode==="range"?"start":"single";Ye(e,a,r)}function Ye(e,a,t="single"){const{separator:n,parts:i,maxLength:r}=e.formatInfo,o=a.split(n);let s=null,d=null,l=null;if(o.forEach((c,p)=>{if(c){if(i.year&&i.year.index===p){const u=parseInt(c,10);i.year.length===4&&c.length===4?s=u:i.year.length===2&&c.length===2&&(s=u<100?u+2e3:u)}else if(i.month&&i.month.index===p){const u=parseInt(c,10);c.length===2&&u>=1&&u<=12&&(d=u)}else if(i.day&&i.day.index===p){const u=parseInt(c,10);c.length===2&&u>=1&&u<=31&&(l=u)}}}),le.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)){if(e.displayMonths=[{month:p,year:c}],e.options.visibleMonthsCount>1){const u=new Date(c,p+1,1);e.displayMonths.push({month:u.getMonth(),year:u.getFullYear()})}e.monthDates=[];for(let u=0;u<e.options.visibleMonthsCount;u++){const g=e.displayMonths[u],m=new Date(g.year,g.month,1);e.monthDates.push(m)}}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(),le.debug(`Set ${t} date:`,c))}}const nt={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 Be(e){if(e!=="auto")return e;if(typeof navigator<"u"&&navigator.language){const a=navigator.language.split("-")[0].toLowerCase();return nt[a]?a:"en"}return"en"}function Cn(e,a){const t=Be(e),n=nt[t]||nt.en;return a?{...n,...a}:n}function In(e){const a=Be(e);try{const t=new Intl.DateTimeFormat(a,{weekday:"short"}),n=[];for(let i=0;i<7;i++){const r=new Date(2017,0,i+1);n.push(t.format(r))}return n}catch(t){return B.warn("getWeekdayNames() - Intl.DateTimeFormat failed, using English weekdays",t),["Su","Mo","Tu","We","Th","Fr","Sa"]}}function En(e){const a=Be(e);try{const t=new Intl.DateTimeFormat(a,{month:"long"}),n=[];for(let i=0;i<12;i++){const r=new Date(2017,i,1);n.push(t.format(r))}return n}catch(t){return B.warn("getMonthNames() - Intl.DateTimeFormat failed, using English months",t),["January","February","March","April","May","June","July","August","September","October","November","December"]}}const Kt='@charset "UTF-8";:host,:root{--drp-font-scale: 1;--drp-spacing-scale: 1;--drp-cell-scale: 1;--drp-spacing-xs-base: .25rem;--drp-spacing-sm-base: .5rem;--drp-spacing-md-base: 1rem;--drp-spacing-lg-base: 1.5rem;--drp-spacing-xl-base: 2rem;--drp-spacing-xs: calc(var(--drp-spacing-xs-base) * var(--drp-spacing-scale));--drp-spacing-sm: calc(var(--drp-spacing-sm-base) * var(--drp-spacing-scale));--drp-spacing-md: calc(var(--drp-spacing-md-base) * var(--drp-spacing-scale));--drp-spacing-lg: calc(var(--drp-spacing-lg-base) * var(--drp-spacing-scale));--drp-spacing-xl: calc(var(--drp-spacing-xl-base) * var(--drp-spacing-scale));--drp-font-size-2xs-base: .625rem;--drp-font-size-xs-base: .75rem;--drp-font-size-sm-base: .875rem;--drp-font-size-base-base: 1rem;--drp-font-size-lg-base: 1.125rem;--drp-font-size-xl-base: 1.25rem;--drp-font-size-2xl-base: 1.5rem;--drp-font-weight-medium: 500;--drp-font-weight-semibold: 600;--drp-card-bg: #ffffff;--drp-border-color: #e5e7eb;--drp-primary-bg: #f3f4f6;--drp-primary-bg-hover: #e5e7eb;--drp-accent-color: #3b82f6;--drp-accent-color-hover: #2563eb;--drp-text-primary: #111827;--drp-text-secondary: #6b7280;--drp-accent-text-color: #ffffff;--drp-button-text-color: #ffffff;--drp-tooltip-bg: #111827;--drp-tooltip-color: #ffffff;--drp-border-width-base: 1px;--drp-border-radius: .375rem;--drp-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--drp-transition-fast: .15s;--drp-easing-snappy: cubic-bezier(.4, 0, .2, 1);--drp-input-padding-h: .75rem;--drp-grid-columns: 3;--drp-grid-rows: 2;--drp-input-background: var(--drp-card-bg);--drp-input-color: var(--drp-text-primary);--drp-input-border-color: var(--drp-border-color);--drp-input-border-color-hover: var(--drp-accent-color);--drp-input-border-color-focus: var(--drp-accent-color);--drp-input-placeholder-color: var(--drp-text-secondary);--drp-input-disabled-background: 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: .75rem;--drp-input-size-xs-padding-v: .25rem;--drp-input-size-xs-padding-h: .25rem;--drp-input-size-xs-height: 1.5rem;--drp-input-size-xs-icon-size: .75em;--drp-input-size-sm-font: .875rem;--drp-input-size-sm-padding-v: .25rem;--drp-input-size-sm-padding-h: .5rem;--drp-input-size-sm-height: 2rem;--drp-input-size-sm-icon-size: .875em;--drp-input-size-md-font: 1rem;--drp-input-size-md-padding-v: .5rem;--drp-input-size-md-padding-h: .75rem;--drp-input-size-md-height: 2.5rem;--drp-input-size-md-icon-size: 1em;--drp-input-size-lg-font: 1.125rem;--drp-input-size-lg-padding-v: 1rem;--drp-input-size-lg-padding-h: 1rem;--drp-input-size-lg-height: 3rem;--drp-input-size-lg-icon-size: 1.125em;--drp-input-size-xl-font: 1.25rem;--drp-input-size-xl-padding-v: 1rem;--drp-input-size-xl-padding-h: 1.5rem;--drp-input-size-xl-height: 3.5rem;--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-bg-hover: var(--drp-primary-bg);--drp-nav-bg-active: var(--drp-primary-bg-hover);--drp-nav-border-hover: var(--drp-accent-color);--drp-rolling-bg: var(--drp-primary-bg);--drp-rolling-border-color: var(--drp-border-color);--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-bg-selected: var(--drp-accent-color);--drp-rolling-item-color-selected: var(--drp-accent-text-color);--drp-rolling-item-bg-selected-hover: var(--drp-accent-color-hover);--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-accent-text-color);--drp-day-selected-bg-hover: var(--drp-accent-color-hover);--drp-day-focused-outline: var(--drp-accent-color);--drp-day-disabled-color: var(--drp-text-secondary);--drp-day-other-month-color: var(--drp-text-secondary);--drp-day-range-bg: var(--drp-accent-color);--drp-day-range-color: var(--drp-accent-text-color);--drp-summary-text-color: var(--drp-text-secondary);--drp-summary-border-color: var(--drp-border-color);--drp-summary-count-color: var(--drp-accent-color);--drp-button-border-color: var(--drp-border-color);--drp-button-bg-hover: var(--drp-primary-bg);--drp-button-border-hover: var(--drp-accent-color);--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-text-color);--drp-button-apply-border: var(--drp-accent-color);--drp-button-apply-bg-hover: var(--drp-accent-color-hover);--drp-badge-number-bg: var(--drp-accent-color);--drp-badge-number-color: var(--drp-accent-text-color);--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-input{width:100%;font-family:inherit;font-size:var(--drp-input-size-md-font);line-height:1.5;color:var(--drp-input-color);background-color:var(--drp-input-background);border:var(--drp-border-width-base) solid var(--drp-input-border-color);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-color:var(--drp-input-border-color-hover)}.drp-input:focus{outline:none;border-color:var(--drp-input-border-color-focus);box-shadow:0 0 0 var(--drp-input-focus-shadow-size) var(--drp-input-focus-shadow-color)}.drp-input:disabled{opacity:.6;cursor:not-allowed;background-color:var(--drp-input-disabled-background)}.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:9500;background:var(--drp-card-bg);border:var(--drp-border-width-base) solid var(--drp-border-color);border-radius:var(--drp-border-radius);box-shadow:var(--drp-shadow-xl);padding:var(--drp-spacing-md);min-width:280px;max-width:calc(100vw - 2rem);box-sizing:border-box;-webkit-user-select:none;user-select:none;--drp-font-size-2xs: calc(var(--drp-font-size-2xs-base) * var(--drp-font-scale));--drp-font-size-xs: calc(var(--drp-font-size-xs-base) * var(--drp-font-scale));--drp-font-size-sm: calc(var(--drp-font-size-sm-base) * var(--drp-font-scale));--drp-font-size-base: calc(var(--drp-font-size-base-base) * var(--drp-font-scale));--drp-font-size-lg: calc(var(--drp-font-size-lg-base) * var(--drp-font-scale));--drp-font-size-xl: calc(var(--drp-font-size-xl-base) * var(--drp-font-scale));--drp-font-size-2xl: calc(var(--drp-font-size-2xl-base) * var(--drp-font-scale))}.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:calc(280px * var(--drp-cell-scale));display:flex;flex-direction:column}.drp-date-picker--inline .drp-date-picker__month{min-width:calc(250px * var(--drp-cell-scale))}.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:calc(2rem * var(--drp-cell-scale));height:calc(2rem * var(--drp-cell-scale));display:flex;align-items:center;justify-content:center;border:var(--drp-border-width-base) solid var(--drp-nav-border-color);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-color:var(--drp-nav-border-hover)}.drp-date-picker__nav:active{background-color:var(--drp-nav-bg-active)}.drp-date-picker__nav--disabled,.drp-date-picker__nav[disabled]{opacity:.6;cursor:not-allowed;pointer-events:none}.drp-date-picker__nav--disabled:hover,.drp-date-picker__nav[disabled]:hover{background-color:transparent;border-color:var(--drp-nav-border-color)}.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}.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-selector{gap:var(--drp-spacing-xs)}.drp-date-picker__rolling-list{flex:1;min-width:0;height:100%;overflow-y:auto;border:var(--drp-border-width-base) solid var(--drp-rolling-border-color);border-radius:var(--drp-border-radius);display:flex;flex-direction:column;scroll-behavior:smooth}.drp-date-picker__rolling-list::-webkit-scrollbar{width:6px}.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:.25rem 1rem;cursor:pointer;font-size:.875rem;min-height:calc(2rem * var(--drp-cell-scale));flex-shrink:0;display:flex;align-items:center;justify-content:var(--drp-rolling-item-justify-content, center)}.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:600}.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-card-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-border-width-base) solid var(--drp-rolling-border-color);border-radius:var(--drp-border-radius);display:flex;flex-direction:column;scroll-behavior:smooth}.drp-date-picker__unified-rolling-selector .drp-date-picker__rolling-list::-webkit-scrollbar{width:6px}.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:.25rem 1rem;cursor:pointer;font-size:.875rem;min-height:calc(2rem * var(--drp-cell-scale));flex-shrink:0;display:flex;align-items:center;justify-content:var(--drp-rolling-item-justify-content, center)}.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:600}.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);cursor:pointer;border:calc(2px * var(--drp-cell-scale)) solid transparent;position:relative}.drp-date-picker__day:hover:not(.drp-date-picker__day--disabled):not(.drp-date-picker__day--other-month){background-color:var(--drp-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{background-color:var(--drp-day-selected-bg-hover)}.drp-date-picker__day--focused{outline:calc(2px * var(--drp-cell-scale)) solid var(--drp-day-focused-outline);outline-offset:calc(2px * var(--drp-cell-scale))}.drp-date-picker__day--disabled{color:var(--drp-day-disabled-color);opacity:.6;cursor:not-allowed;position:relative}.drp-date-picker__day--disabled:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:repeating-linear-gradient(45deg,rgba(0,0,0,.1) 0px,rgba(0,0,0,.1) 1px,transparent 1px,transparent 6px);border-radius:var(--drp-border-radius);pointer-events:none}.drp-date-picker__day--disabled:hover{background-color:transparent;border-color:transparent}.drp-date-picker__day--other-month{color:var(--drp-day-other-month-color);opacity:.5}.drp-date-picker__day--other-month.drp-date-picker__day--range-start,.drp-date-picker__day--other-month.drp-date-picker__day--range-end,.drp-date-picker__day--other-month.drp-date-picker__day--in-range,.drp-date-picker__day--other-month.drp-date-picker__day--drag-preview{opacity:1}.drp-date-picker__day--range-start,.drp-date-picker__day--range-end{background-color:var(--drp-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: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) 15%,transparent)}.drp-date-picker__day--in-range:hover{background-color:color-mix(in srgb,var(--drp-day-range-bg) 25%,transparent)}.drp-date-picker__day--dragging{cursor:grabbing!important;opacity:.7;transform:scale(1.1);transition:transform var(--drp-transition-fast) var(--drp-easing-snappy)}.drp-date-picker__day--drag-preview{background-color:color-mix(in srgb,var(--drp-day-range-bg) 30%,transparent);border:calc(2px * var(--drp-cell-scale)) dashed var(--drp-day-range-bg)}.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) 60%,transparent);color:var(--drp-day-range-color)}.drp-date-picker__day--drag-invalid{background-color:color-mix(in srgb,#ef4444 20%,transparent)!important;border-color:#ef4444!important;border-style:dashed!important}.drp-date-picker__day.holiday{background-color:color-mix(in srgb,#ef4444 10%,transparent)}.drp-date-picker__day.holiday:hover:not(.drp-date-picker__day--disabled){background-color:color-mix(in srgb,#ef4444 20%,transparent)}.drp-date-picker__day.event{background-color:color-mix(in srgb,#10b981 10%,transparent)}.drp-date-picker__day.event:hover:not(.drp-date-picker__day--disabled){background-color:color-mix(in srgb,#10b981 20%,transparent)}.drp-date-picker__rolling-item--disabled{color:var(--drp-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);margin-bottom:var(--drp-spacing-xs);max-height:calc(1rem * var(--drp-cell-scale));min-height:calc(1rem * var(--drp-cell-scale))}.drp-date-picker__badge-cell{display:flex;align-items:center;justify-content:center;font-size:var(--drp-font-size-2xs);padding:calc(1px * var(--drp-cell-scale)) calc(2px * var(--drp-cell-scale));border-radius:2px;cursor:pointer;height:100%;max-height:calc(1rem * var(--drp-cell-scale))}.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:.7rem;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:.7rem;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:.65rem;font-weight:700;text-transform:uppercase}.drp-date-picker__summary{text-align:center;padding:var(--drp-spacing-md);border-top:var(--drp-border-width-base) solid var(--drp-summary-border-color);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-border-width-base) solid var(--drp-summary-border-color)}.drp-date-picker__button{flex:1;padding:var(--drp-spacing-sm) var(--drp-spacing-md);border:var(--drp-border-width-base) solid var(--drp-button-border-color);border-radius:var(--drp-border-radius);background:transparent;cursor:pointer;font-size:var(--drp-font-size-sm);font-weight:var(--drp-font-weight-medium)}.drp-date-picker__button:hover{background-color:var(--drp-button-bg-hover);border-color:var(--drp-button-border-hover)}.drp-date-picker__button:disabled,.drp-date-picker__button[disabled]{opacity:var(--drp-disabled-opacity, .6);cursor:not-allowed;pointer-events:none}.drp-date-picker__button:disabled:hover,.drp-date-picker__button[disabled]:hover{background-color:transparent;border-color:var(--drp-button-border-color)}.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:9999;background-color:var(--drp-tooltip-bg);color:var(--drp-tooltip-color);padding:var(--drp-spacing-xs) var(--drp-spacing-sm);border-radius:var(--drp-border-radius);font-size:var(--drp-font-size-xs);line-height:1.4;max-width:200px;word-wrap:break-word;pointer-events:none;opacity:0;transition:opacity var(--drp-transition-fast) var(--drp-easing-snappy)}.drp-date-picker__tooltip--visible{opacity:1}.drp-date-picker__tooltip-arrow{position:absolute;background-color:var(--drp-tooltip-bg);width:8px;height:8px;transform:rotate(45deg)}.drp-date-picker__loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#fffc;display:flex;align-items:center;justify-content:center;z-index:9500;border-radius:.375rem}.drp-date-picker__loading-spinner{width:40px;height:40px;border:4px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:drp-spin .8s linear infinite}@keyframes drp-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.drp-date-picker.drp-font-xs{--drp-font-scale: .6}.drp-date-picker.drp-font-sm{--drp-font-scale: .8}.drp-date-picker.drp-font-md{--drp-font-scale: 1}.drp-date-picker.drp-font-lg{--drp-font-scale: 1.5}.drp-date-picker.drp-font-xl{--drp-font-scale: 2}.drp-date-picker.drp-spacing-xs{--drp-spacing-scale: .6}.drp-date-picker.drp-spacing-sm{--drp-spacing-scale: .8}.drp-date-picker.drp-spacing-md{--drp-spacing-scale: 1}.drp-date-picker.drp-spacing-lg{--drp-spacing-scale: 1.5}.drp-date-picker.drp-spacing-xl{--drp-spacing-scale: 2}.drp-date-picker.drp-cell-xs{--drp-cell-scale: .6}.drp-date-picker.drp-cell-sm{--drp-cell-scale: .8}.drp-date-picker.drp-cell-md{--drp-cell-scale: 1}.drp-date-picker.drp-cell-lg{--drp-cell-scale: 1.5}.drp-date-picker.drp-cell-xl{--drp-cell-scale: 2}@media (max-width: 1200px){.drp-responsive.drp-font-xl{--drp-font-scale: 1.5}}@media (max-width: 768px){.drp-responsive.drp-font-xl{--drp-font-scale: 1}}@media (max-width: 1200px){.drp-responsive.drp-font-lg{--drp-font-scale: 1}}@media (max-width: 768px){.drp-responsive.drp-font-lg{--drp-font-scale: .8}}@media (max-width: 768px){.drp-responsive.drp-font-md{--drp-font-scale: .8}}@media (max-width: 768px){.drp-responsive.drp-font-sm{--drp-font-scale: .6}}@media (max-width: 1200px){.drp-responsive.drp-spacing-xl{--drp-spacing-scale: 1.5}}@media (max-width: 768px){.drp-responsive.drp-spacing-xl{--drp-spacing-scale: 1}}@media (max-width: 1200px){.drp-responsive.drp-spacing-lg{--drp-spacing-scale: 1}}@media (max-width: 768px){.drp-responsive.drp-spacing-lg{--drp-spacing-scale: .8}}@media (max-width: 768px){.drp-responsive.drp-spacing-md{--drp-spacing-scale: .8}}@media (max-width: 768px){.drp-responsive.drp-spacing-sm{--drp-spacing-scale: .6}}@media (max-width: 1200px){.drp-responsive.drp-cell-xl{--drp-cell-scale: 1.5}}@media (max-width: 768px){.drp-responsive.drp-cell-xl{--drp-cell-scale: 1}}@media (max-width: 1200px){.drp-responsive.drp-cell-lg{--drp-cell-scale: 1}}@media (max-width: 768px){.drp-responsive.drp-cell-lg{--drp-cell-scale: .8}}@media (max-width: 768px){.drp-responsive.drp-cell-md{--drp-cell-scale: .8}}@media (max-width: 768px){.drp-responsive.drp-cell-sm{--drp-cell-scale: .6}}.drp-date-picker--xs{--drp-font-scale: .6;--drp-spacing-scale: .6;--drp-cell-scale: .6;min-width:168px}.drp-date-picker--sm{--drp-font-scale: .8;--drp-spacing-scale: .8;--drp-cell-scale: .8;min-width:224px}.drp-date-picker--lg{--drp-font-scale: 1.5;--drp-spacing-scale: 1.5;--drp-cell-scale: 1.5;min-width:420px}.drp-date-picker--xl{--drp-font-scale: 2;--drp-spacing-scale: 2;--drp-cell-scale: 2;min-width:560px}.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}',Se=class Se{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,"autoScrollInterval");b(this,"navInterval");b(this,"calendar");b(this,"containerElement");b(this,"onDragMoveBound");b(this,"onDragEndBound");b(this,"clickOutsideHandler");b(this,"isFirstRender",!0);b(this,"lockedPlacement");b(this,"calendarContentHeight");b(this,"calendarContentWidth");b(this,"isCalendarActive",!1);b(this,"isValidating",!1);b(this,"loadingOverlay");b(this,"isMonthChanging",!1);b(this,"bulkMetadataCache",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,"actionButtonTooltips",new Map);b(this,"actionButtonTooltipCleanups",new Map);b(this,"actionsContainer",null);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,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",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?ct():ut(),this.options.unifiedNavigation&&this.options.unifiedNavigationAnchorIndex!==void 0){const i=this.options.visibleMonthsCount-1;(this.options.unifiedNavigationAnchorIndex<0||this.options.unifiedNavigationAnchorIndex>i)&&(console.warn(`unifiedNavigationAnchorIndex (${this.options.unifiedNavigationAnchorIndex}) out of bounds. Using 0.`),this.options.unifiedNavigationAnchorIndex=0)}this.weekStartDay=O(this.options.weekStartDay),L.debug("Week starts on day:",this.weekStartDay),L.debug("disabledDatesHandling:",this.options.disabledDatesHandling),this.locale=Be(this.options.locale),this.localeStrings=Cn(this.locale,this.options.customStrings),this.weekdayNames=In(this.locale),this.monthNames=this.options.monthNames||En(this.locale),L.debug("Locale:",this.locale,"Weekdays:",this.weekdayNames,"Months:",this.monthNames),this.initializeDateRestrictions(),this.formatInfo=this.parseFormat(this.options.dateFormatMask),L.debug("Format info:",this.formatInfo),this._previousInputValue="",this.currentDate=new Date;let n;if(this.options.initialDate)n=U(this.options.initialDate)||new Date,L.debug(`Using initialDate: ${n.toISOString()}`);else if(this.options.rollingYearRange||this.options.rollingMonthRange){const i=this.getEffectiveYearRange(),r=this.getEffectiveMonthRange(),o=i.min,s=r.min-1;n=new Date(o,s,1),L.debug(`Using first allowed year/month as initial: ${n.toISOString()}`)}else this.normalizedMinDate&&this.normalizedMinDate>new Date?(n=new Date(this.normalizedMinDate),L.debug(`Using minDate as initial: ${n.toISOString()}`)):this.normalizedMaxDate&&this.normalizedMaxDate<new Date?(n=new Date(this.normalizedMaxDate),L.debug(`Using maxDate as initial: ${n.toISOString()}`)):(n=new Date,L.debug(`Using current date as initial: ${n.toISOString()}`));this.monthDates=[];for(let i=0;i<this.options.visibleMonthsCount;i++){const r=new Date(n.getFullYear(),n.getMonth()+i,1);this.monthDates.push(r),L.debug(`monthDates[${i}] = ${r.getFullYear()}-${r.getMonth()+1}`)}if(this.options.selectionMode==="range"){this.displayMonths=[];for(let i=0;i<this.options.visibleMonthsCount;i++){const r=new Date(n.getFullYear(),n.getMonth()+i,1);this.displayMonths.push({month:r.getMonth(),year:r.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 i=0;i<this.options.visibleMonthsCount;i++)this.showingRollingSelector.push(!1);this.draggingType=null,this.isDragging=!1,this.dragStartDate=null,this.originalStartDate=null,this.originalEndDate=null,this.dragPreviewStart=null,this.dragPreviewEnd=null,this.autoScrollInterval=null,this.init()}init(){L.debug("Init called"),this.createCalendar(),this.input&&(this.attachInputListeners(),this.input.value&&(L.debug("Parsing pre-filled value:",this.input.value),this.updateCalendarFromInput())),this.options.positioningMode==="inline"&&(this.renderCalendar(),this.calendar.classList.add("drp-date-picker--visible","drp-date-picker--inline"),this.isCalendarActive=!0,this.isFirstRender=!1,Pt(this),this.clickOutsideHandler&&document.addEventListener("click",this.clickOutsideHandler)),L.debug("Init complete")}initializeDateRestrictions(){if(this.options.minDate&&(this.normalizedMinDate=U(this.options.minDate)),this.options.maxDate&&(this.normalizedMaxDate=U(this.options.maxDate)),this.options.disabledDates&&this.options.disabledDates.length>0&&this.options.disabledDates.forEach(a=>{const t=U(a);if(t){const n=be(t);this.normalizedDisabledDates.add(n)}}),this.options.specialDates&&this.options.specialDates.length>0){const a=this.options.dateMember||"date";this.options.specialDates.forEach(t=>{const n=U(t[a]);if(n){const i=be(n);this.normalizedSpecialDates.set(i,t)}else console.warn("[Special Dates] Failed to normalize date:",t[a])})}}getEffectiveYearRange(){const a=new Date().getFullYear();return zt(this.options.rollingYearRange,a,this)}getEffectiveMonthRange(){return Nt(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 i=document.createElement("button");i.className=`drp-date-picker__button drp-date-picker__button--${n.action}`;const r=n.getClassCallback?n.getClassCallback(this):n.cssClass;r&&(Array.isArray(r)?i.classList.add(...r):i.classList.add(r));const o=n.getTextCallback?n.getTextCallback(this):n.text;i.innerHTML=o,(n.isDisabledCallback?n.isDisabledCallback(this):n.isDisabled??!1)&&(i.disabled=!0),i.dataset.action=n.action,n.onClick&&(i._customOnClick=n.onClick),a.appendChild(i)}),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;this.actionsContainer.querySelectorAll(".drp-date-picker__action").forEach(t=>{const n=t,i=n.dataset.action;if(!i)return;const o=(this.options.actionButtons||this.getDefaultButtons()).find(l=>l.action===i);if(!o)return;let s;if(o.getTooltipCallback?s=o.getTooltipCallback(this):s=o.tooltip,!s)return;const d=`action-${i}-${Date.now()}-${Math.random()}`;this.createActionButtonTooltip(n,s,d)})}createActionButtonTooltip(a,t,n){const i=document.createElement("div");i.className="drp-date-picker__tooltip",i.textContent=t,(this.options.container||document.body).appendChild(i),this.actionButtonTooltips.set(n,i);let o,s;const d=()=>{clearTimeout(s),o=window.setTimeout(()=>{i.classList.add("drp-date-picker__tooltip--visible"),this.positionActionButtonTooltip(a,i,n)},300)},l=()=>{clearTimeout(o),s=window.setTimeout(()=>{i.classList.remove("drp-date-picker__tooltip--visible");const c=this.actionButtonTooltipCleanups.get(n);c&&(c(),this.actionButtonTooltipCleanups.delete(n))},100)};a.addEventListener("mouseenter",d),a.addEventListener("mouseleave",l)}async positionActionButtonTooltip(a,t,n){const{computePosition:i,flip:r,shift:o,offset:s,autoUpdate:d}=await Promise.resolve().then(()=>Za),l=d(a,t,()=>{i(a,t,{placement:"top",strategy:"fixed",middleware:[s(8),r(),o({padding:8})]}).then(({x:c,y:p})=>{Object.assign(t.style,{left:`${c}px`,top:`${p}px`})})});this.actionButtonTooltipCleanups.set(n,l)}destroyAllActionButtonTooltips(){this.actionButtonTooltipCleanups.forEach(a=>a()),this.actionButtonTooltipCleanups.clear(),this.actionButtonTooltips.forEach(a=>a.remove()),this.actionButtonTooltips.clear()}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 i=this.getEffectiveMonthRange(),r=a.getMonth()+1;return r<i.min||r>i.max?!0:Xt(a,this.normalizedMinDate,this.normalizedMaxDate,this.normalizedDisabledDates,this.options.disabledWeekdays)}getDateInfoInternal(a){const t=be(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),i=this.options.badgeTextMember||"badgeText",r=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[r],dayClass:n[o],badgeText:n[i],badgeTooltip:n[s],dayTooltip:n[d]}}return null}hasDisabledDatesInRange(a,t){return Jt(a,t,n=>this.isDateDisabledInternal(n))}getEnabledDatesInRange(a,t){return Qt(a,t,n=>this.isDateDisabledInternal(n))}getDisabledDatesInRange(a,t){return Zt(a,t,n=>this.isDateDisabledInternal(n))}findLastEnabledBeforeGap(a,t){return ea(a,t,n=>this.isDateDisabledInternal(n))}splitRangeByDisabled(a,t){return ta(a,t,n=>this.isDateDisabledInternal(n))}isToday(a){return ot(a)}isSameDay(a,t){return st(a,t)}isInRange(a){return aa(a,this.selectedStartDate,this.selectedEndDate)}requiresApplyButton(){return this.options.autoClose==="apply"||this.options.showApplyButton&&this.options.autoClose!=="selection"}shouldAutoClose(){return this.options.selectionMode==="multiple"?!1:this.options.autoClose==="selection"}createCalendar(){if(L.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",i=this.options.unifiedHeaderInteractive?' data-action="toggle-unified-rolling"':"";this.unifiedHeader.innerHTML=`
|
|
12
|
+
`}}function bn(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"))}),Bt(e)}async function Ht(e,a){if(!e.options.beforeDateSelectCallback)return{isValid:!0};try{e.isValidating=!0,Ne(e);const t=await Promise.resolve(e.options.beforeDateSelectCallback(a));switch(se(e),e.isValidating=!1,t.action){case"accept":return{isValid:!0};case"adjust":return a instanceof Date&&t.adjustedDate?{isValid:!0,adjustedDate:t.adjustedDate,message:t.message}:typeof a=="object"&&"start"in a&&t.adjustedStartDate&&t.adjustedEndDate?{isValid:!0,adjustedStart:t.adjustedStartDate,adjustedEnd:t.adjustedEndDate,message:t.message}:{isValid:!1,message:t.message||"Invalid adjustment"};case"restore":return{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 se(e),e.isValidating=!1,B.error("beforeDateSelectCallback error:",t),{isValid:!1,message:"Validation error occurred"}}}async function Vt(e,a,t){if(ne.debug(" validateRangeAsync called - mode:",e.options.disabledDatesHandling,"start:",a,"end:",t),e.options.disabledDatesHandling==="prevent"){if(ne.debug(" Checking PREVENT mode"),e.hasDisabledDatesInRange(a,t))return ne.debug(" PREVENT mode - range contains disabled dates"),{isValid:!1,message:"Range contains disabled dates"}}else if(e.options.disabledDatesHandling==="block"&&(ne.debug(" Checking BLOCK mode"),e.hasDisabledDatesInRange(a,t))){ne.debug(" BLOCK mode - range contains disabled dates, adjusting");const r=e.findLastEnabledBeforeGap(a,t);return ne.debug(" BLOCK mode - adjusted end:",r),{isValid:!0,adjustedStart:a,adjustedEnd:r}}const n=await Ht(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}async function yn(e,a){if(a.classList.contains("drp-date-picker__day--disabled"))return;if(!a.dataset||!a.dataset.date){B.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);a.classList.contains("drp-date-picker__day--other-month");const o=a.closest(".drp-date-picker__days");if(o&&o instanceof HTMLElement){e.activeMonthIndex=parseInt(o.dataset.monthIndex||"0")||0,ce.debug(`Col${e.activeMonthIndex} selectDay - activeMonthIndex:`,e.activeMonthIndex);const s=o.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");e.focusedDayIndex=Array.from(s).indexOf(a),ce.debug(`Col${e.activeMonthIndex} selectDay - set focusedDayIndex to:`,e.focusedDayIndex)}if(e.options.selectionMode==="single"){const s=await Ht(e,i);if(!s.isValid){ce.debug("Single mode selection prevented by beforeDateSelectCallback");return}const d=s.adjustedDate||i;e.selectedDate=d,e.input&&(e.requiresApplyButton()||(e.input.value=e.formatDate(d))),e.requiresApplyButton()?e.pendingSelection=d:e.options.onSelect&&e.options.onSelect(d),e.options.positioningMode==="floating"&&e.shouldAutoClose()&&e.hide()}else if(e.options.selectionMode==="multiple"){const s=`${i.getFullYear()}-${String(i.getMonth()+1).padStart(2,"0")}-${String(i.getDate()).padStart(2,"0")}`,d=e.selectedDates.findIndex(l=>`${l.getFullYear()}-${String(l.getMonth()+1).padStart(2,"0")}-${String(l.getDate()).padStart(2,"0")}`===s);if(d!==-1?e.selectedDates.splice(d,1):e.selectedDates.push(new Date(i)),e.input&&!e.requiresApplyButton()){const l=e.selectedDates.length+e.selectedRanges.length;e.input.value=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.selectedStartDate=i,e.selectedEndDate=null,e.input&&(e.requiresApplyButton()||(e.input.value=`${e.formatDate(e.selectedStartDate)} - ...`));else{let s=e.selectedStartDate,d=i;i<e.selectedStartDate&&(d=e.selectedStartDate,s=i),ce.debug(" selectDay - calling validateRangeAsync with:",s,d);const l=await Vt(e,s,d);if(ce.debug(" selectDay - validation result:",l),!l.isValid){l.message&&B.warn("selectDay() - range validation failed:",l.message),e.renderCalendar(),e.updateSummary();return}e.selectedStartDate=l.adjustedStart||s,e.selectedEndDate=l.adjustedEnd||d,e.input&&(e.requiresApplyButton()||(e.input.value=`${e.formatDate(e.selectedStartDate)} - ${e.formatDate(e.selectedEndDate)}`));const c={start:e.selectedStartDate,end:e.selectedEndDate};e.requiresApplyButton()?e.pendingSelection=c:e.options.onSelect&&e.options.onSelect(c),e.options.positioningMode==="floating"&&e.shouldAutoClose()&&e.hide()}if(e.renderCalendar(),e.updateSummary(),e.options.selectionMode==="range"&&e.selectedEndDate){const s=e.selectedEndDate;for(let d=0;d<e.monthDates.length;d++){const l=e.monthDates[d];if(s.getFullYear()===l.getFullYear()&&s.getMonth()===l.getMonth()){e.activeMonthIndex=d;const c=e.calendar.querySelector(`.drp-date-picker__days[data-month-index="${d}"]`);if(c){const p=c.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)"),u=Array.from(p).findIndex(g=>{const m=g.dataset.date;if(!m)return!1;const[f,y,h]=m.split("-").map(Number),M=new Date(f,y-1,h);return e.isSameDay(M,s)});u!==-1&&(e.focusedDayIndex=u,p.forEach(g=>g.classList.remove("drp-date-picker__day--focused")),p[u]&&p[u].classList.add("drp-date-picker__day--focused"))}break}}}}function vn(e){e.monthDates[e.activeMonthIndex]=new Date,e.selectedDate=new Date,e.input&&(e.requiresApplyButton()||(e.input.value=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 Dn(e){e.selectedDate=null,e.selectedStartDate=null,e.selectedEndDate=null,e.selectedRanges=[],e.selectedDates=[],e.pendingSelection=null,e.input&&(e.input.value=""),e.renderCalendar(),e.updateSummary()}function _n(e){if(e.pendingSelection){if(e.input){if(e.options.selectionMode==="range")e.input.value=`${e.formatDate(e.selectedStartDate)} - ${e.formatDate(e.selectedEndDate)}`;else if(e.options.selectionMode==="single")e.input.value=e.formatDate(e.selectedDate);else if(e.options.selectionMode==="multiple"){const a=e.selectedDates.length+e.selectedRanges.length;e.input.value=a>0?`${a} selection(s)`:""}}e.options.onSelect&&e.options.onSelect(e.pendingSelection),e.options.selectionMode==="range"?(e.committedStartDate=e.selectedStartDate,e.committedEndDate=e.selectedEndDate):e.options.selectionMode==="single"&&(e.committedDate=e.selectedDate),e.pendingSelection=null}e.options.autoClose!=="never"&&e.options.positioningMode==="floating"&&e.hide()}function wn(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=y=>{const h=Math.abs(y.clientX-o),M=Math.abs(y.clientY-s);!l&&(h>d||M>d)&&(l=!0),l&&!c&&(c=!0,qt(e,r,g,i),document.removeEventListener("mousemove",m),document.removeEventListener("mouseup",f))},f=()=>{document.removeEventListener("mousemove",m),document.removeEventListener("mouseup",f)};document.addEventListener("mousemove",m),document.addEventListener("mouseup",f)})})}function qt(e,a,t,n){a.preventDefault(),a.stopPropagation(),e.isDragging=!0,e.draggingType=t;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"),j.debug(`Started dragging ${t} date`),e.onDragMoveBound=s=>Ut(e,s),e.onDragEndBound=async s=>await jt(e),document.addEventListener("mousemove",e.onDragMoveBound),document.addEventListener("mouseup",e.onDragEndBound),document.body.style.cursor="grabbing"}function Ut(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=Oe(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(j.debug("onDragMove - mode:",p,"start:",e.dragPreviewStart,"end:",e.dragPreviewEnd),p==="prevent"&&e.hasDisabledDatesInRange(e.dragPreviewStart,e.dragPreviewEnd)){j.debug("PREVENT mode - range contains disabled dates, blocking preview update");return}else if(p==="block"&&e.hasDisabledDatesInRange(e.dragPreviewStart,e.dragPreviewEnd)){if(j.debug("BLOCK mode - range contains disabled dates, adjusting preview"),e.draggingType==="start"&&e.originalEndDate){const u=e.findLastEnabledBeforeGap(e.dragPreviewStart,e.originalEndDate);j.debug("BLOCK mode - adjusted end (dragging start):",u),e.dragPreviewEnd=u}else if(e.originalStartDate){const u=e.findLastEnabledBeforeGap(e.originalStartDate,e.dragPreviewEnd);j.debug("BLOCK mode - adjusted end (dragging end):",u),e.dragPreviewEnd=u}}}e.updateDragPreview()}async function jt(e,a){if(e.isDragging){if(j.debug("Ended dragging, finalizing selection"),e.dragPreviewStart&&e.dragPreviewEnd){let t=Oe(e,e.dragPreviewStart,"forward"),n=Oe(e,e.dragPreviewEnd,"backward");t>n&&([t,n]=[n,t]),j.debug("onDragEnd - calling validateRangeAsync with:",t,n);const r=await Vt(e,t,n);if(j.debug("onDragEnd - validation result:",r),!r.isValid)r.message&&B.warn("onDragEnd() - drag validation failed:",r.message);else{e.selectedStartDate=r.adjustedStart||t,e.selectedEndDate=r.adjustedEnd||n,e.input&&(e.requiresApplyButton()||(e.input.value=`${e.formatDate(e.selectedStartDate)} - ${e.formatDate(e.selectedEndDate)}`));const i={start:e.selectedStartDate,end:e.selectedEndDate};e.requiresApplyButton()?e.pendingSelection=i:e.options.onSelect&&e.options.onSelect(i)}}if(e.isDragging=!1,e.draggingType=null,e.dragPreviewStart=null,e.dragPreviewEnd=null,e.calendar.querySelectorAll(".drp-date-picker__day--dragging").forEach(t=>{t.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 t=e.selectedEndDate;for(let n=0;n<e.monthDates.length;n++){const r=e.monthDates[n];if(t.getFullYear()===r.getFullYear()&&t.getMonth()===r.getMonth()){e.activeMonthIndex=n;const i=e.calendar.querySelector(`.drp-date-picker__days[data-month-index="${n}"]`);if(i){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,t)});s!==-1&&(e.focusedDayIndex=s,o.forEach(d=>d.classList.remove("drp-date-picker__day--focused")),o[s]&&o[s].classList.add("drp-date-picker__day--focused"))}break}}}e.options.positioningMode==="floating"&&e.shouldAutoClose()&&e.hide()}}function Oe(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 xn(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=Wt(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=me(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,at(e)}function me(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],f=i.substring(l,l+m.length);if(!f)break;d+=f,l+=f.length,g<s.length-1&&f.length===m.length&&(d+=t)}return d.substring(0,r)}function Wt(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=me(e,i);if(s.length===n)if(a.includes(r)){const d=me(e,o);return s+r+d}else return s+r;else return s}function Mn(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 Sn(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=me(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=me(e,c);const p=s+i.length;o.setSelectionRange(p,p),o.dispatchEvent(new Event("input",{bubbles:!0})),at(e)}function at(e){if(!e.input)return;const a=e.input.value;if(le.debug("updateCalendarFromInput - value:",a),!a)return;const{separator:t,parts:n,maxLength:r}=e.formatInfo;if(le.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];le.debug("Range parts - start:",s,"end:",d),Ye(e,s,"start"),d&&Ye(e,d,"end");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)}}}),le.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)){if(e.displayMonths=[{month:p,year:c}],e.options.visibleMonthsCount>1){const u=new Date(c,p+1,1);e.displayMonths.push({month:u.getMonth(),year:u.getFullYear()})}e.monthDates=[];for(let u=0;u<e.options.visibleMonthsCount;u++){const g=e.displayMonths[u],m=new Date(g.year,g.month,1);e.monthDates.push(m)}}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(),le.debug(`Set ${t} date:`,c))}}const nt={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 Be(e){if(e!=="auto")return e;if(typeof navigator<"u"&&navigator.language){const a=navigator.language.split("-")[0].toLowerCase();return nt[a]?a:"en"}return"en"}function Cn(e,a){const t=Be(e),n=nt[t]||nt.en;return a?{...n,...a}:n}function In(e){const a=Be(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 B.warn("getWeekdayNames() - Intl.DateTimeFormat failed, using English weekdays",t),["Su","Mo","Tu","We","Th","Fr","Sa"]}}function En(e){const a=Be(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 B.warn("getMonthNames() - Intl.DateTimeFormat failed, using English months",t),["January","February","March","April","May","June","July","August","September","October","November","December"]}}const Kt='@charset "UTF-8";:host,:root{--drp-rem: 10px;--drp-font-scale: 1;--drp-spacing-scale: 1;--drp-cell-scale: 1;--drp-spacing-xs-base: calc(.4 * var(--drp-rem));--drp-spacing-sm-base: calc(.8 * var(--drp-rem));--drp-spacing-md-base: calc(1.6 * var(--drp-rem));--drp-spacing-lg-base: calc(2.4 * var(--drp-rem));--drp-spacing-xl-base: calc(3.2 * var(--drp-rem));--drp-spacing-xs: calc(var(--drp-spacing-xs-base) * var(--drp-spacing-scale));--drp-spacing-sm: calc(var(--drp-spacing-sm-base) * var(--drp-spacing-scale));--drp-spacing-md: calc(var(--drp-spacing-md-base) * var(--drp-spacing-scale));--drp-spacing-lg: calc(var(--drp-spacing-lg-base) * var(--drp-spacing-scale));--drp-spacing-xl: calc(var(--drp-spacing-xl-base) * var(--drp-spacing-scale));--drp-font-size-2xs-base: calc(1 * var(--drp-rem));--drp-font-size-xs-base: calc(1.2 * var(--drp-rem));--drp-font-size-sm-base: calc(1.4 * var(--drp-rem));--drp-font-size-base-base: calc(1.6 * var(--drp-rem));--drp-font-size-lg-base: calc(1.8 * var(--drp-rem));--drp-font-size-xl-base: calc(2 * var(--drp-rem));--drp-font-size-2xl-base: calc(2.4 * var(--drp-rem));--drp-font-weight-medium: 500;--drp-font-weight-semibold: 600;--drp-card-bg: #ffffff;--drp-border-color: #e5e7eb;--drp-primary-bg: #f3f4f6;--drp-primary-bg-hover: #e5e7eb;--drp-accent-color: #3b82f6;--drp-accent-color-hover: #2563eb;--drp-text-primary: #111827;--drp-text-secondary: #6b7280;--drp-accent-text-color: #ffffff;--drp-button-text-color: #ffffff;--drp-tooltip-bg: #111827;--drp-tooltip-color: #ffffff;--drp-border-width-base: 1px;--drp-border-radius: calc(.6 * var(--drp-rem));--drp-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--drp-transition-fast: .15s;--drp-easing-snappy: cubic-bezier(.4, 0, .2, 1);--drp-input-padding-h: calc(1.2 * var(--drp-rem));--drp-grid-columns: 3;--drp-grid-rows: 2;--drp-input-background: var(--drp-card-bg);--drp-input-color: var(--drp-text-primary);--drp-input-border-color: var(--drp-border-color);--drp-input-border-color-hover: var(--drp-accent-color);--drp-input-border-color-focus: var(--drp-accent-color);--drp-input-placeholder-color: var(--drp-text-secondary);--drp-input-disabled-background: 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: calc(1.2 * var(--drp-rem));--drp-input-size-xs-padding-v: calc(.4 * var(--drp-rem));--drp-input-size-xs-padding-h: calc(.4 * var(--drp-rem));--drp-input-size-xs-height: calc(3.1 * var(--drp-rem));--drp-input-size-xs-icon-size: .75em;--drp-input-size-sm-font: calc(1.4 * var(--drp-rem));--drp-input-size-sm-padding-v: calc(.4 * var(--drp-rem));--drp-input-size-sm-padding-h: calc(.8 * var(--drp-rem));--drp-input-size-sm-height: calc(3.3 * var(--drp-rem));--drp-input-size-sm-icon-size: .875em;--drp-input-size-md-font: calc(1.6 * var(--drp-rem));--drp-input-size-md-padding-v: calc(.8 * var(--drp-rem));--drp-input-size-md-padding-h: calc(1.2 * var(--drp-rem));--drp-input-size-md-height: calc(3.5 * var(--drp-rem));--drp-input-size-md-icon-size: 1em;--drp-input-size-lg-font: calc(1.8 * var(--drp-rem));--drp-input-size-lg-padding-v: calc(1.6 * var(--drp-rem));--drp-input-size-lg-padding-h: calc(1.6 * var(--drp-rem));--drp-input-size-lg-height: calc(3.8 * var(--drp-rem));--drp-input-size-lg-icon-size: 1.125em;--drp-input-size-xl-font: calc(2 * var(--drp-rem));--drp-input-size-xl-padding-v: calc(1.6 * var(--drp-rem));--drp-input-size-xl-padding-h: calc(2.4 * var(--drp-rem));--drp-input-size-xl-height: calc(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-bg-hover: var(--drp-primary-bg);--drp-nav-bg-active: var(--drp-primary-bg-hover);--drp-nav-border-hover: var(--drp-accent-color);--drp-rolling-bg: var(--drp-primary-bg);--drp-rolling-border-color: var(--drp-border-color);--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-bg-selected: var(--drp-accent-color);--drp-rolling-item-color-selected: var(--drp-accent-text-color);--drp-rolling-item-bg-selected-hover: var(--drp-accent-color-hover);--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-accent-text-color);--drp-day-selected-bg-hover: var(--drp-accent-color-hover);--drp-day-focused-outline: var(--drp-accent-color);--drp-day-disabled-color: var(--drp-text-secondary);--drp-day-other-month-color: var(--drp-text-secondary);--drp-day-range-bg: var(--drp-accent-color);--drp-day-range-color: var(--drp-accent-text-color);--drp-summary-text-color: var(--drp-text-secondary);--drp-summary-border-color: var(--drp-border-color);--drp-summary-count-color: var(--drp-accent-color);--drp-button-border-color: var(--drp-border-color);--drp-button-bg-hover: var(--drp-primary-bg);--drp-button-border-hover: var(--drp-accent-color);--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-text-color);--drp-button-apply-border: var(--drp-accent-color);--drp-button-apply-bg-hover: var(--drp-accent-color-hover);--drp-badge-number-bg: var(--drp-accent-color);--drp-badge-number-color: var(--drp-accent-text-color);--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-input{width:100%;font-family:inherit;font-size:var(--drp-input-size-md-font);line-height:1.5;color:var(--drp-input-color);background-color:var(--drp-input-background);border:var(--drp-border-width-base) solid var(--drp-input-border-color);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-color:var(--drp-input-border-color-hover)}.drp-input:focus{outline:none;border-color:var(--drp-input-border-color-focus);box-shadow:0 0 0 var(--drp-input-focus-shadow-size) var(--drp-input-focus-shadow-color)}.drp-input:disabled{opacity:.6;cursor:not-allowed;background-color:var(--drp-input-disabled-background)}.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:9500;background:var(--drp-card-bg);border:var(--drp-border-width-base) solid var(--drp-border-color);border-radius:var(--drp-border-radius);box-shadow:var(--drp-shadow-xl);padding:var(--drp-spacing-md);min-width:280px;max-width:calc(100vw - 2rem);box-sizing:border-box;-webkit-user-select:none;user-select:none;--drp-font-size-2xs: calc(var(--drp-font-size-2xs-base) * var(--drp-font-scale));--drp-font-size-xs: calc(var(--drp-font-size-xs-base) * var(--drp-font-scale));--drp-font-size-sm: calc(var(--drp-font-size-sm-base) * var(--drp-font-scale));--drp-font-size-base: calc(var(--drp-font-size-base-base) * var(--drp-font-scale));--drp-font-size-lg: calc(var(--drp-font-size-lg-base) * var(--drp-font-scale));--drp-font-size-xl: calc(var(--drp-font-size-xl-base) * var(--drp-font-scale));--drp-font-size-2xl: calc(var(--drp-font-size-2xl-base) * var(--drp-font-scale))}.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:calc(280px * var(--drp-cell-scale));display:flex;flex-direction:column}.drp-date-picker--inline .drp-date-picker__month{min-width:calc(250px * var(--drp-cell-scale))}.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:calc(calc(3.2 * var(--drp-rem)) * var(--drp-cell-scale));height:calc(calc(3.2 * var(--drp-rem)) * var(--drp-cell-scale));display:flex;align-items:center;justify-content:center;border:var(--drp-border-width-base) solid var(--drp-nav-border-color);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-color:var(--drp-nav-border-hover)}.drp-date-picker__nav:active{background-color:var(--drp-nav-bg-active)}.drp-date-picker__nav--disabled,.drp-date-picker__nav[disabled]{opacity:.6;cursor:not-allowed;pointer-events:none}.drp-date-picker__nav--disabled:hover,.drp-date-picker__nav[disabled]:hover{background-color:transparent;border-color:var(--drp-nav-border-color)}.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}.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-selector{gap:var(--drp-spacing-xs)}.drp-date-picker__rolling-list{flex:1;min-width:0;height:100%;overflow-y:auto;border:var(--drp-border-width-base) solid var(--drp-rolling-border-color);border-radius:var(--drp-border-radius);display:flex;flex-direction:column;scroll-behavior:smooth}.drp-date-picker__rolling-list::-webkit-scrollbar{width:6px}.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:calc(.4 * var(--drp-rem)) calc(1.6 * var(--drp-rem));cursor:pointer;font-size:calc(1.4 * var(--drp-rem));min-height:calc(calc(3.2 * var(--drp-rem)) * var(--drp-cell-scale));flex-shrink:0;display:flex;align-items:center;justify-content:var(--drp-rolling-item-justify-content, center)}.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:600}.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-card-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-border-width-base) solid var(--drp-rolling-border-color);border-radius:var(--drp-border-radius);display:flex;flex-direction:column;scroll-behavior:smooth}.drp-date-picker__unified-rolling-selector .drp-date-picker__rolling-list::-webkit-scrollbar{width:6px}.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:calc(.4 * var(--drp-rem)) calc(1.6 * var(--drp-rem));cursor:pointer;font-size:calc(1.4 * var(--drp-rem));min-height:calc(calc(3.2 * var(--drp-rem)) * var(--drp-cell-scale));flex-shrink:0;display:flex;align-items:center;justify-content:var(--drp-rolling-item-justify-content, center)}.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:600}.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);cursor:pointer;border:calc(2px * var(--drp-cell-scale)) solid transparent;position:relative}.drp-date-picker__day:hover:not(.drp-date-picker__day--disabled):not(.drp-date-picker__day--other-month){background-color:var(--drp-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{background-color:var(--drp-day-selected-bg-hover)}.drp-date-picker__day--focused{outline:calc(2px * var(--drp-cell-scale)) solid var(--drp-day-focused-outline);outline-offset:calc(2px * var(--drp-cell-scale))}.drp-date-picker__day--disabled{color:var(--drp-day-disabled-color);opacity:.6;cursor:not-allowed;position:relative}.drp-date-picker__day--disabled:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:repeating-linear-gradient(45deg,rgba(0,0,0,.1) 0px,rgba(0,0,0,.1) 1px,transparent 1px,transparent 6px);border-radius:var(--drp-border-radius);pointer-events:none}.drp-date-picker__day--disabled:hover{background-color:transparent;border-color:transparent}.drp-date-picker__day--other-month{color:var(--drp-day-other-month-color);opacity:.5}.drp-date-picker__day--other-month.drp-date-picker__day--range-start,.drp-date-picker__day--other-month.drp-date-picker__day--range-end,.drp-date-picker__day--other-month.drp-date-picker__day--in-range,.drp-date-picker__day--other-month.drp-date-picker__day--drag-preview{opacity:1}.drp-date-picker__day--range-start,.drp-date-picker__day--range-end{background-color:var(--drp-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: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) 15%,transparent)}.drp-date-picker__day--in-range:hover{background-color:color-mix(in srgb,var(--drp-day-range-bg) 25%,transparent)}.drp-date-picker__day--dragging{cursor:grabbing!important;opacity:.7;transform:scale(1.1);transition:transform var(--drp-transition-fast) var(--drp-easing-snappy)}.drp-date-picker__day--drag-preview{background-color:color-mix(in srgb,var(--drp-day-range-bg) 30%,transparent);border:calc(2px * var(--drp-cell-scale)) dashed var(--drp-day-range-bg)}.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) 60%,transparent);color:var(--drp-day-range-color)}.drp-date-picker__day--drag-invalid{background-color:color-mix(in srgb,#ef4444 20%,transparent)!important;border-color:#ef4444!important;border-style:dashed!important}.drp-date-picker__day.holiday{background-color:color-mix(in srgb,#ef4444 10%,transparent)}.drp-date-picker__day.holiday:hover:not(.drp-date-picker__day--disabled){background-color:color-mix(in srgb,#ef4444 20%,transparent)}.drp-date-picker__day.event{background-color:color-mix(in srgb,#10b981 10%,transparent)}.drp-date-picker__day.event:hover:not(.drp-date-picker__day--disabled){background-color:color-mix(in srgb,#10b981 20%,transparent)}.drp-date-picker__rolling-item--disabled{color:var(--drp-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);margin-bottom:var(--drp-spacing-xs);max-height:calc(calc(1.6 * var(--drp-rem)) * var(--drp-cell-scale));min-height:calc(calc(1.6 * var(--drp-rem)) * var(--drp-cell-scale))}.drp-date-picker__badge-cell{display:flex;align-items:center;justify-content:center;font-size:var(--drp-font-size-2xs);padding:calc(1px * var(--drp-cell-scale)) calc(2px * var(--drp-cell-scale));border-radius:2px;cursor:pointer;height:100%;max-height:calc(calc(1.6 * var(--drp-rem)) * var(--drp-cell-scale))}.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:var(--drp-spacing-md);border-top:var(--drp-border-width-base) solid var(--drp-summary-border-color);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-border-width-base) solid var(--drp-summary-border-color)}.drp-date-picker__button{flex:1;padding:var(--drp-spacing-sm) var(--drp-spacing-md);border:var(--drp-border-width-base) solid var(--drp-button-border-color);border-radius:var(--drp-border-radius);background:transparent;cursor:pointer;font-size:var(--drp-font-size-sm);font-weight:var(--drp-font-weight-medium)}.drp-date-picker__button:hover{background-color:var(--drp-button-bg-hover);border-color:var(--drp-button-border-hover)}.drp-date-picker__button:disabled,.drp-date-picker__button[disabled]{opacity:var(--drp-disabled-opacity, .6);cursor:not-allowed;pointer-events:none}.drp-date-picker__button:disabled:hover,.drp-date-picker__button[disabled]:hover{background-color:transparent;border-color:var(--drp-button-border-color)}.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:9999;background-color:var(--drp-tooltip-bg);color:var(--drp-tooltip-color);padding:var(--drp-spacing-xs) var(--drp-spacing-sm);border-radius:var(--drp-border-radius);font-size:var(--drp-font-size-xs);line-height:1.4;max-width:200px;word-wrap:break-word;pointer-events:none;opacity:0;transition:opacity var(--drp-transition-fast) var(--drp-easing-snappy)}.drp-date-picker__tooltip--visible{opacity:1}.drp-date-picker__tooltip-arrow{position:absolute;background-color:var(--drp-tooltip-bg);width:8px;height:8px;transform:rotate(45deg)}.drp-date-picker__loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#fffc;display:flex;align-items:center;justify-content:center;z-index:9500;border-radius:calc(.6 * var(--drp-rem))}.drp-date-picker__loading-spinner{width:40px;height:40px;border:4px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:drp-spin .8s linear infinite}@keyframes drp-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.drp-date-picker.drp-font-xs{--drp-font-scale: .6}.drp-date-picker.drp-font-sm{--drp-font-scale: .8}.drp-date-picker.drp-font-md{--drp-font-scale: 1}.drp-date-picker.drp-font-lg{--drp-font-scale: 1.5}.drp-date-picker.drp-font-xl{--drp-font-scale: 2}.drp-date-picker.drp-spacing-xs{--drp-spacing-scale: .6}.drp-date-picker.drp-spacing-sm{--drp-spacing-scale: .8}.drp-date-picker.drp-spacing-md{--drp-spacing-scale: 1}.drp-date-picker.drp-spacing-lg{--drp-spacing-scale: 1.5}.drp-date-picker.drp-spacing-xl{--drp-spacing-scale: 2}.drp-date-picker.drp-cell-xs{--drp-cell-scale: .6}.drp-date-picker.drp-cell-sm{--drp-cell-scale: .8}.drp-date-picker.drp-cell-md{--drp-cell-scale: 1}.drp-date-picker.drp-cell-lg{--drp-cell-scale: 1.5}.drp-date-picker.drp-cell-xl{--drp-cell-scale: 2}@media (max-width: 1200px){.drp-responsive.drp-font-xl{--drp-font-scale: 1.5}}@media (max-width: 768px){.drp-responsive.drp-font-xl{--drp-font-scale: 1}}@media (max-width: 1200px){.drp-responsive.drp-font-lg{--drp-font-scale: 1}}@media (max-width: 768px){.drp-responsive.drp-font-lg{--drp-font-scale: .8}}@media (max-width: 768px){.drp-responsive.drp-font-md{--drp-font-scale: .8}}@media (max-width: 768px){.drp-responsive.drp-font-sm{--drp-font-scale: .6}}@media (max-width: 1200px){.drp-responsive.drp-spacing-xl{--drp-spacing-scale: 1.5}}@media (max-width: 768px){.drp-responsive.drp-spacing-xl{--drp-spacing-scale: 1}}@media (max-width: 1200px){.drp-responsive.drp-spacing-lg{--drp-spacing-scale: 1}}@media (max-width: 768px){.drp-responsive.drp-spacing-lg{--drp-spacing-scale: .8}}@media (max-width: 768px){.drp-responsive.drp-spacing-md{--drp-spacing-scale: .8}}@media (max-width: 768px){.drp-responsive.drp-spacing-sm{--drp-spacing-scale: .6}}@media (max-width: 1200px){.drp-responsive.drp-cell-xl{--drp-cell-scale: 1.5}}@media (max-width: 768px){.drp-responsive.drp-cell-xl{--drp-cell-scale: 1}}@media (max-width: 1200px){.drp-responsive.drp-cell-lg{--drp-cell-scale: 1}}@media (max-width: 768px){.drp-responsive.drp-cell-lg{--drp-cell-scale: .8}}@media (max-width: 768px){.drp-responsive.drp-cell-md{--drp-cell-scale: .8}}@media (max-width: 768px){.drp-responsive.drp-cell-sm{--drp-cell-scale: .6}}.drp-date-picker--xs{--drp-font-scale: .6;--drp-spacing-scale: .6;--drp-cell-scale: .6;min-width:168px}.drp-date-picker--sm{--drp-font-scale: .8;--drp-spacing-scale: .8;--drp-cell-scale: .8;min-width:224px}.drp-date-picker--lg{--drp-font-scale: 1.5;--drp-spacing-scale: 1.5;--drp-cell-scale: 1.5;min-width:420px}.drp-date-picker--xl{--drp-font-scale: 2;--drp-spacing-scale: 2;--drp-cell-scale: 2;min-width:560px}.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}',Se=class Se{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,"autoScrollInterval");b(this,"navInterval");b(this,"calendar");b(this,"containerElement");b(this,"onDragMoveBound");b(this,"onDragEndBound");b(this,"clickOutsideHandler");b(this,"isFirstRender",!0);b(this,"lockedPlacement");b(this,"calendarContentHeight");b(this,"calendarContentWidth");b(this,"isCalendarActive",!1);b(this,"isValidating",!1);b(this,"loadingOverlay");b(this,"isMonthChanging",!1);b(this,"bulkMetadataCache",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,"actionButtonTooltips",new Map);b(this,"actionButtonTooltipCleanups",new Map);b(this,"actionsContainer",null);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,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",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?ct():ut(),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=O(this.options.weekStartDay),L.debug("Week starts on day:",this.weekStartDay),L.debug("disabledDatesHandling:",this.options.disabledDatesHandling),this.locale=Be(this.options.locale),this.localeStrings=Cn(this.locale,this.options.customStrings),this.weekdayNames=In(this.locale),this.monthNames=this.options.monthNames||En(this.locale),L.debug("Locale:",this.locale,"Weekdays:",this.weekdayNames,"Months:",this.monthNames),this.initializeDateRestrictions(),this.formatInfo=this.parseFormat(this.options.dateFormatMask),L.debug("Format info:",this.formatInfo),this._previousInputValue="",this.currentDate=new Date;let n;if(this.options.initialDate)n=U(this.options.initialDate)||new Date,L.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),L.debug(`Using first allowed year/month as initial: ${n.toISOString()}`)}else this.normalizedMinDate&&this.normalizedMinDate>new Date?(n=new Date(this.normalizedMinDate),L.debug(`Using minDate as initial: ${n.toISOString()}`)):this.normalizedMaxDate&&this.normalizedMaxDate<new Date?(n=new Date(this.normalizedMaxDate),L.debug(`Using maxDate as initial: ${n.toISOString()}`)):(n=new Date,L.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),L.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.autoScrollInterval=null,this.init()}init(){L.debug("Init called"),this.createCalendar(),this.input&&(this.attachInputListeners(),this.input.value&&(L.debug("Parsing pre-filled value:",this.input.value),this.updateCalendarFromInput())),this.options.positioningMode==="inline"&&(this.renderCalendar(),this.calendar.classList.add("drp-date-picker--visible","drp-date-picker--inline"),this.isCalendarActive=!0,this.isFirstRender=!1,Pt(this),this.clickOutsideHandler&&document.addEventListener("click",this.clickOutsideHandler)),L.debug("Init complete")}initializeDateRestrictions(){if(this.options.minDate&&(this.normalizedMinDate=U(this.options.minDate)),this.options.maxDate&&(this.normalizedMaxDate=U(this.options.maxDate)),this.options.disabledDates&&this.options.disabledDates.length>0&&this.options.disabledDates.forEach(a=>{const t=U(a);if(t){const n=be(t);this.normalizedDisabledDates.add(n)}}),this.options.specialDates&&this.options.specialDates.length>0){const a=this.options.dateMember||"date";this.options.specialDates.forEach(t=>{const n=U(t[a]);if(n){const r=be(n);this.normalizedSpecialDates.set(r,t)}else console.warn("[Special Dates] Failed to normalize date:",t[a])})}}getEffectiveYearRange(){const a=new Date().getFullYear();return zt(this.options.rollingYearRange,a,this)}getEffectiveMonthRange(){return Nt(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;this.actionsContainer.querySelectorAll(".drp-date-picker__action").forEach(t=>{const n=t,r=n.dataset.action;if(!r)return;const o=(this.options.actionButtons||this.getDefaultButtons()).find(l=>l.action===r);if(!o)return;let s;if(o.getTooltipCallback?s=o.getTooltipCallback(this):s=o.tooltip,!s)return;const d=`action-${r}-${Date.now()}-${Math.random()}`;this.createActionButtonTooltip(n,s,d)})}createActionButtonTooltip(a,t,n){const r=document.createElement("div");r.className="drp-date-picker__tooltip",r.textContent=t,(this.options.container||document.body).appendChild(r),this.actionButtonTooltips.set(n,r);let o,s;const d=()=>{clearTimeout(s),o=window.setTimeout(()=>{r.classList.add("drp-date-picker__tooltip--visible"),this.positionActionButtonTooltip(a,r,n)},300)},l=()=>{clearTimeout(o),s=window.setTimeout(()=>{r.classList.remove("drp-date-picker__tooltip--visible");const c=this.actionButtonTooltipCleanups.get(n);c&&(c(),this.actionButtonTooltipCleanups.delete(n))},100)};a.addEventListener("mouseenter",d),a.addEventListener("mouseleave",l)}async positionActionButtonTooltip(a,t,n){const{computePosition:r,flip:i,shift:o,offset:s,autoUpdate:d}=await Promise.resolve().then(()=>Za),l=d(a,t,()=>{r(a,t,{placement:"top",strategy:"fixed",middleware:[s(8),i(),o({padding:8})]}).then(({x:c,y:p})=>{Object.assign(t.style,{left:`${c}px`,top:`${p}px`})})});this.actionButtonTooltipCleanups.set(n,l)}destroyAllActionButtonTooltips(){this.actionButtonTooltipCleanups.forEach(a=>a()),this.actionButtonTooltipCleanups.clear(),this.actionButtonTooltips.forEach(a=>a.remove()),this.actionButtonTooltips.clear()}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:Xt(a,this.normalizedMinDate,this.normalizedMaxDate,this.normalizedDisabledDates,this.options.disabledWeekdays)}getDateInfoInternal(a){const t=be(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 Jt(a,t,n=>this.isDateDisabledInternal(n))}getEnabledDatesInRange(a,t){return Qt(a,t,n=>this.isDateDisabledInternal(n))}getDisabledDatesInRange(a,t){return Zt(a,t,n=>this.isDateDisabledInternal(n))}findLastEnabledBeforeGap(a,t){return ea(a,t,n=>this.isDateDisabledInternal(n))}splitRangeByDisabled(a,t){return ta(a,t,n=>this.isDateDisabledInternal(n))}isToday(a){return ot(a)}isSameDay(a,t){return st(a,t)}isInRange(a){return aa(a,this.selectedStartDate,this.selectedEndDate)}requiresApplyButton(){return this.options.autoClose==="apply"||this.options.showApplyButton&&this.options.autoClose!=="selection"}shouldAutoClose(){return this.options.selectionMode==="multiple"?!1:this.options.autoClose==="selection"}createCalendar(){if(L.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
|
-
<div class="drp-date-picker__unified-range${n}"${
|
|
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>
|
|
16
16
|
`,this.unifiedRollingSelector=document.createElement("div"),this.unifiedRollingSelector.className="drp-date-picker__unified-rolling-selector",this.unifiedRollingSelector.innerHTML=`
|
|
17
17
|
<div class="drp-date-picker__rolling-list" data-list="years" data-unified="true"></div>
|
|
18
18
|
<div class="drp-date-picker__rolling-list" data-list="months" data-unified="true"></div>
|
|
19
|
-
`,this.calendar.appendChild(this.unifiedHeader),this.calendar.appendChild(this.unifiedRollingSelector),this.unifiedRangeDisplay=this.unifiedHeader.querySelector(".drp-date-picker__unified-range")}const a=document.createElement("div");this.options.monthLayout==="grid"?(a.className="drp-date-picker__months drp-date-picker__months--grid",this.options.gridRows&&a.style.setProperty("--drp-grid-rows",String(this.options.gridRows)),this.options.gridColumns&&a.style.setProperty("--drp-grid-columns",String(this.options.gridColumns))):a.className="drp-date-picker__months drp-date-picker__months--horizontal";for(let n=0;n<this.options.visibleMonthsCount;n++){const
|
|
19
|
+
`,this.calendar.appendChild(this.unifiedHeader),this.calendar.appendChild(this.unifiedRollingSelector),this.unifiedRangeDisplay=this.unifiedHeader.querySelector(".drp-date-picker__unified-range")}const a=document.createElement("div");this.options.monthLayout==="grid"?(a.className="drp-date-picker__months drp-date-picker__months--grid",this.options.gridRows&&a.style.setProperty("--drp-grid-rows",String(this.options.gridRows)),this.options.gridColumns&&a.style.setProperty("--drp-grid-columns",String(this.options.gridColumns))):a.className="drp-date-picker__months drp-date-picker__months--horizontal";for(let n=0;n<this.options.visibleMonthsCount;n++){const r=document.createElement("div");r.className="drp-date-picker__month",r.dataset.monthIndex=String(n);const i=this.options.unifiedNavigation?`<div class="drp-date-picker__header drp-date-picker__header--static">
|
|
20
20
|
<div class="drp-date-picker__month-year"></div>
|
|
21
21
|
</div>`:`<div class="drp-date-picker__header">
|
|
22
22
|
<button class="drp-date-picker__nav drp-date-picker__nav--prev" data-action="prev" data-month-index="${n}"></button>
|
|
23
23
|
<div class="drp-date-picker__month-year" data-action="toggle-rolling" data-month-index="${n}"></div>
|
|
24
24
|
<button class="drp-date-picker__nav drp-date-picker__nav--next" data-action="next" data-month-index="${n}"></button>
|
|
25
|
-
</div>`;
|
|
26
|
-
${
|
|
25
|
+
</div>`;r.innerHTML=`
|
|
26
|
+
${i}
|
|
27
27
|
<div class="drp-date-picker__calendar-container">
|
|
28
28
|
<div class="drp-date-picker__rolling-selector" data-month-index="${n}">
|
|
29
29
|
<div class="drp-date-picker__rolling-list" data-list="years" data-month-index="${n}"></div>
|
|
@@ -32,4 +32,4 @@
|
|
|
32
32
|
<div class="drp-date-picker__weekdays"></div>
|
|
33
33
|
<div class="drp-date-picker__days" data-month-index="${n}"></div>
|
|
34
34
|
</div>
|
|
35
|
-
`,a.appendChild(i)}if(this.calendar.appendChild(a),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),L.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;L.debug("Attaching input listeners");const a=this.options.calendarOpenTrigger||"focus";a==="focus"?this.input.addEventListener("focus",()=>{L.debug("Input focused - opening calendar"),this.show()}):a==="typing"&&this.input.addEventListener("input",t=>{!this.calendar.classList.contains("drp-date-picker--visible")&&this.input&&this.input.value.length>0&&(L.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,i=t.dataset.monthIndex,r=i?parseInt(i):0;if(n==="prev"||n==="next"||n==="unified-prev"||n==="unified-next"){const o=t;if(o.disabled||o.classList.contains("drp-date-picker__nav--disabled"))return}if(n==="prev")this.prevMonth(r);else if(n==="next")this.nextMonth(r);else if(n==="unified-prev")this.unifiedPrevMonth();else if(n==="unified-next")this.unifiedNextMonth();else if(n==="toggle-rolling")this.toggleRollingSelector(r);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==="custom"){const o=t._customOnClick;o&&await Promise.resolve(o(this))}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 o=t.closest("[data-year]");if(o.classList.contains("drp-date-picker__rolling-item--disabled"))return;const s=o.dataset.year;if(o.dataset.unified==="true")s&&this.setUnifiedYear(parseInt(s));else{const d=o.dataset.monthIndex;s&&d&&this.selectYear(parseInt(s),parseInt(d))}}else if(t.closest("[data-month]")){const o=t.closest("[data-month]");if(o.classList.contains("drp-date-picker__rolling-item--disabled"))return;const s=o.dataset.month;if(o.dataset.unified==="true")s&&this.setUnifiedMonth(parseInt(s));else{const d=o.dataset.monthIndex;s&&d&&this.selectMonth(parseInt(s),parseInt(d))}}else if(!t.closest(".drp-date-picker__rolling-selector")&&!t.closest(".drp-date-picker__unified-rolling-selector")){let o=!1;for(let s=0;s<this.showingRollingSelector.length;s++)this.showingRollingSelector[s]&&(this.showingRollingSelector[s]=!1,o=!0);this.showingUnifiedRollingSelector&&(this.showingUnifiedRollingSelector=!1,o=!0),o&&this.renderCalendar()}}),this.calendar.addEventListener("mouseenter",a=>{const t=a.target,n=t.closest(".drp-date-picker__day"),i=t.closest(".drp-date-picker__badge-cell"),r=n||i;if(r&&r instanceof HTMLElement){const o=r.dataset.tooltip;o&&this.showTooltip(r,o)}},!0),this.calendar.addEventListener("mouseleave",a=>{const t=a.target,n=t.closest(".drp-date-picker__day"),i=t.closest(".drp-date-picker__badge-cell"),r=n||i;r&&this.currentTooltipTarget===r&&this.hideTooltip()},!0),this.calendar.addEventListener("mousedown",a=>{this.isCalendarActive=!0,a.stopPropagation()}),this.calendar.addEventListener("focusin",()=>{this.isCalendarActive=!0}),document.addEventListener("mousedown",a=>{this.calendar.contains(a.target)||(this.isCalendarActive=!1)},!0),document.addEventListener("keydown",a=>{var t,n,i,r;if(this.calendar.classList.contains("drp-date-picker--visible")&&this.isCalendarActive){if(L.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,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=s===0,l=this.focusedDayIndex===0;d&&l?(w.debug("Already at Jan 1, going to previous year"),this.monthDates[this.activeMonthIndex]=new Date(o-1,0,1)):(w.debug("Going to Jan 1 of current year"),this.monthDates[this.activeMonthIndex]=new Date(o,0,1)),this.renderCalendar(),setTimeout(()=>{var u,g;const c=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`),p=c==null?void 0:c.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");p&&(this.focusedDayIndex=0,(u=p[0])==null||u.classList.add("drp-date-picker__day--focused"),(g=p[0])==null||g.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=s===11,l=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`),c=l==null?void 0:l.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)"),p=c&&this.focusedDayIndex===c.length-1;d&&p?this.monthDates[this.activeMonthIndex]=new Date(o+1,11,31):this.monthDates[this.activeMonthIndex]=new Date(o,11,31),this.renderCalendar(),setTimeout(()=>{var m,f;const u=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`),g=u==null?void 0:u.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");g&&(this.focusedDayIndex=g.length-1,(m=g[this.focusedDayIndex])==null||m.classList.add("drp-date-picker__day--focused"),(f=g[this.focusedDayIndex])==null||f.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(f=>f.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")),(i=l[this.focusedDayIndex])==null||i.classList.add("drp-date-picker__day--focused"),(r=l[this.focusedDayIndex])==null||r.scrollIntoView({block:"nearest"}))}a.preventDefault()}}}),this.clickOutsideHandler=a=>{var s;const t=a.composedPath(),n=t[0],i=t.includes(this.calendar),r=this.input&&t.includes(this.input),o=(s=n.closest)==null?void 0:s.call(n,"[data-calendar-button]");if(!i&&!r&&!o)if(this.options.positioningMode==="floating")this.hide();else{let d=!1;for(let l=0;l<this.showingRollingSelector.length;l++)this.showingRollingSelector[l]&&(this.showingRollingSelector[l]=!1,d=!0);this.showingUnifiedRollingSelector&&(this.showingUnifiedRollingSelector=!1,d=!0),d&&this.renderCalendar()}}}parseFormat(a){const t={};let n="";return a.includes("-")?n="-":a.includes("/")?n="/":a.includes(".")&&(n="."),a.split(n).forEach((r,o)=>{r==="YYYY"||r==="YY"?t.year={index:o,length:r.length}:r==="MM"||r==="M"?t.month={index:o,length:2}:(r==="DD"||r==="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"),i=String(a.getDate()).padStart(2,"0"),{format:r,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(i);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.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()}destroy(){this.clickOutsideHandler&&document.removeEventListener("click",this.clickOutsideHandler),this.calendar.remove(),this.tooltip&&this.tooltip.remove()}show(){return Tt(this)}hide(){return $t(this)}toggle(){return en(this)}position(){return tt(this)}showTooltip(a,t){return tn(this,a,t)}hideTooltip(){return an(this)}renderCalendar(){return gn(this)}renderNormalView(a){return Ft(this,a)}renderDays(a,t){return Ot(this,a,t)}renderRollingSelector(a){return Yt(this,a)}updateSummary(){return mn(this)}updateSummaryWithPreview(){return Bt(this)}updateDragPreview(){return bn(this)}toggleRollingSelector(a){return nn(this,a)}selectYear(a,t){return rn(this,a,t)}selectMonth(a,t){return on(this,a,t)}checkAndResolveCollisions(a){return _e(this,a)}prevMonth(a){return we(this,a)}nextMonth(a){return xe(this,a)}unifiedPrevMonth(){return ln(this)}unifiedNextMonth(){return dn(this)}toggleUnifiedRollingSelector(){return un(this)}setUnifiedMonth(a){return cn(this,a)}setUnifiedYear(a){return pn(this,a)}findNextEnabledDayIndex(a,t,n,i){return Me(this,a,t,n)}moveFocus(a){return sn(this,a)}async selectDay(a){return await yn(this,a)}selectToday(){return vn(this)}clearSelection(){return Dn(this)}apply(){return _n(this)}initDragListeners(){return wn(this)}startDrag(a,t,n){return qt(this,a,t,n)}onDragMove(a){return Ut(this,a)}async onDragEnd(a){return await jt(this)}findNearestEnabledDate(a,t="forward"){return Oe(this,a,t)}handleInputMask(a){return xn(this,a)}applyMask(a){return me(this,a)}applyRangeMask(a){return Wt(this,a)}handleKeydown(a){return Mn(this,a)}handlePaste(a){return Sn(this,a)}updateCalendarFromInput(){return at(this)}parseAndUpdateSingleDate(a,t="single"){return Ye(this,a,t)}static injectGlobalStyles(a=!1){if(Se.stylesInjected&&!a){L.debug("Styles already injected, skipping");return}const t=document.createElement("style");t.setAttribute("data-source","web-daterangepicker"),t.textContent=Kt,document.head.appendChild(t),Se.stylesInjected=!0,L.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(Se,"stylesInjected",!1);let He=Se;class it 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,"_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["selection-mode","date-format-mask","visible-months-count","calendar-open-trigger","value","disabled","placeholder","week-start-day","min-date","max-date","disabled-weekdays","disabled-dates-handling","highlight-disabled-in-range","positioning-mode","month-layout","grid-rows","grid-columns","calendar-placement","locale","display-format-mask","show-debug-info","initial-date","rolling-year-range","rolling-month-range","spacing","font-size","cell-size","enable-transitions","auto-close","show-today-button","show-clear-button","show-apply-button","unified-navigation","unified-navigation-anchor-index","unified-header-interactive","input-size"]}applySizeStyles(){const t=this.shadow.querySelector(".drp-date-picker");if(!t)return;const n=this.getAttribute("spacing"),i=this.getAttribute("font-size"),r=this.getAttribute("cell-size"),o=this.hasAttribute("enable-transitions");t.classList.remove("drp-spacing-xs","drp-spacing-sm","drp-spacing-lg","drp-spacing-xl"),t.classList.remove("drp-font-xs","drp-font-sm","drp-font-lg","drp-font-xl"),t.classList.remove("drp-cell-xs","drp-cell-sm","drp-cell-lg","drp-cell-xl"),n&&n!=="md"&&t.classList.add(`drp-spacing-${n}`),i&&i!=="md"&&t.classList.add(`drp-font-${i}`),r&&r!=="md"&&t.classList.add(`drp-cell-${r}`),o?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,i){if(n!==i){if(t==="spacing"||t==="font-size"||t==="cell-size"||t==="enable-transitions"){this.applySizeStyles(),this.picker&&t==="cell-size"&&this.picker.renderCalendar();return}if(t==="input-size"){this.applyInputSizeStyles();return}this.picker&&t!=="value"&&t!=="placeholder"&&(this.picker.destroy(),this.initializePicker()),t==="value"&&this.inputElement&&i!==null&&(this.inputElement.value=i),t==="placeholder"&&this.inputElement&&i!==null&&(this.inputElement.placeholder=i),t==="disabled"&&this.inputElement&&(i!==null?this.inputElement.disabled=!0:this.inputElement.disabled=!1)}}render(){const t=document.createElement("style");if(t.textContent=Kt,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 i=this.getAttribute("placeholder");i&&(this.inputElement.placeholder=i);const r=this.getAttribute("value");r&&(this.inputElement.value=r),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;let n;const i=this.getAttribute("disabled-weekdays");i&&(n=i.split(",").map(l=>parseInt(l.trim())).filter(l=>!isNaN(l)&&l>=0&&l<=6));let r;const o=this.getAttribute("week-start-day");if(o)if(o==="auto")r="auto";else{const l=parseInt(o);!isNaN(l)&&l>=0&&l<=6&&(r=l)}const s={selectionMode:this.getAttribute("selection-mode")||"single",dateFormatMask:this.getAttribute("date-format-mask")||"YYYY-MM-DD",visibleMonthsCount:parseInt(this.getAttribute("visible-months-count")||"0")||void 0,calendarOpenTrigger:this.getAttribute("calendar-open-trigger")||"focus",onSelect:l=>this.handleDateSelect(l),container:this.shadow,positioningMode:t,monthLayout:this.getAttribute("month-layout")||void 0,gridRows:parseInt(this.getAttribute("grid-rows")||"0")||void 0,gridColumns:parseInt(this.getAttribute("grid-columns")||"0")||void 0,unifiedNavigation:this.hasAttribute("unified-navigation"),unifiedNavigationAnchorIndex:parseInt(this.getAttribute("unified-navigation-anchor-index")||"0")||void 0,unifiedHeaderInteractive:this.hasAttribute("unified-header-interactive"),calendarPlacement:this.getAttribute("calendar-placement")||void 0,weekStartDay:r,minDate:this.getAttribute("min-date")||void 0,maxDate:this.getAttribute("max-date")||void 0,initialDate:this.getAttribute("initial-date")||void 0,disabledWeekdays:n,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,disabledDatesHandling:this.getAttribute("disabled-dates-handling")||void 0,highlightDisabledInRange:this.hasAttribute("highlight-disabled-in-range")?this.getAttribute("highlight-disabled-in-range")==="true":void 0,locale:this.getAttribute("locale")||"auto",displayFormatMask:this.getAttribute("display-format-mask")||void 0,showDebugInfo:this.hasAttribute("show-debug-info"),rollingYearRange:this.getAttribute("rolling-year-range")||void 0,rollingMonthRange:this.getAttribute("rolling-month-range")||void 0,customStylesCallback:this._customStylesCallback,renderDayCallback:this._renderDayCallback,renderDayContentCallback:this._renderDayContentCallback,beforeDateSelectCallback:this._beforeDateSelectCallback,beforeMonthChangedCallback:this._beforeMonthChangedCallback,formatSummaryCallback:this._formatSummaryCallback,getUnifiedHeaderCallback:this._getUnifiedHeaderCallback,autoClose:this.getAttribute("auto-close")||void 0,actionButtons:this._actionButtons,showTodayButton:this.hasAttribute("show-today-button")?this.getAttribute("show-today-button")==="true":void 0,showClearButton:this.hasAttribute("show-clear-button")?this.getAttribute("show-clear-button")==="true":void 0,showApplyButton:this.hasAttribute("show-apply-button")?this.getAttribute("show-apply-button")==="true":void 0},d=t==="inline"?null:this.inputElement;if(this.picker=new He(d,s),this._customStylesCallback){const l=this._customStylesCallback();if(l){const c=document.createElement("style");c.className="drp-custom-styles",c.textContent=l,this.shadow.appendChild(c)}}setTimeout(()=>this.applySizeStyles(),0)}scheduleReinit(){this._pendingReinit||(this._pendingReinit=!0,queueMicrotask(()=>{this._pendingReinit=!1,this.picker&&(this.picker.destroy(),this.initializePicker())}))}handleDateSelect(t){var r;const n={date:t instanceof Date?t:void 0,dateRange:t instanceof Date||Array.isArray(t)?void 0:t,formattedValue:((r=this.inputElement)==null?void 0:r.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 i=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(i){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()}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 spacing(){return this.getAttribute("spacing")||"md"}set spacing(t){this.setAttribute("spacing",t)}get fontSize(){return this.getAttribute("font-size")||"md"}set fontSize(t){this.setAttribute("font-size",t)}get cellSize(){return this.getAttribute("cell-size")||"md"}set cellSize(t){this.setAttribute("cell-size",t)}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.picker&&(this.picker.destroy(),this.initializePicker())}get disabledDates(){return this._disabledDates}set disabledDates(t){this._disabledDates=t,this.picker&&(this.picker.destroy(),this.initializePicker())}get getDateMetadataCallback(){return this._getDateMetadataCallback}set getDateMetadataCallback(t){this._getDateMetadataCallback=t,this.scheduleReinit()}get badgeTooltipCallback(){return this._badgeTooltipCallback}set badgeTooltipCallback(t){this._badgeTooltipCallback=t,this.scheduleReinit()}get dayTooltipCallback(){return this._dayTooltipCallback}set dayTooltipCallback(t){this._dayTooltipCallback=t,this.scheduleReinit()}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.scheduleReinit()}get renderDayContentCallback(){return this._renderDayContentCallback}set renderDayContentCallback(t){this._renderDayContentCallback=t,this.scheduleReinit()}get beforeDateSelectCallback(){return this._beforeDateSelectCallback}set beforeDateSelectCallback(t){this._beforeDateSelectCallback=t,this.scheduleReinit()}get beforeMonthChangedCallback(){return this._beforeMonthChangedCallback}set beforeMonthChangedCallback(t){this._beforeMonthChangedCallback=t,this.scheduleReinit()}get formatSummaryCallback(){return this._formatSummaryCallback}set formatSummaryCallback(t){this._formatSummaryCallback=t,this.scheduleReinit()}get getUnifiedHeaderCallback(){return this._getUnifiedHeaderCallback}set getUnifiedHeaderCallback(t){this._getUnifiedHeaderCallback=t,this.scheduleReinit()}get dateMember(){return this._dateMember}set dateMember(t){this._dateMember=t,this.picker&&(this.picker.destroy(),this.initializePicker())}get badgeTextMember(){return this._badgeTextMember}set badgeTextMember(t){this._badgeTextMember=t,this.picker&&(this.picker.destroy(),this.initializePicker())}get badgeClassMember(){return this._badgeClassMember}set badgeClassMember(t){this._badgeClassMember=t,this.picker&&(this.picker.destroy(),this.initializePicker())}get dayClassMember(){return this._dayClassMember}set dayClassMember(t){this._dayClassMember=t,this.picker&&(this.picker.destroy(),this.initializePicker())}get badgeTooltipMember(){return this._badgeTooltipMember}set badgeTooltipMember(t){this._badgeTooltipMember=t,this.picker&&(this.picker.destroy(),this.initializePicker())}get dayTooltipMember(){return this._dayTooltipMember}set dayTooltipMember(t){this._dayTooltipMember=t,this.picker&&(this.picker.destroy(),this.initializePicker())}get isDisabledMember(){return this._isDisabledMember}set isDisabledMember(t){this._isDisabledMember=t,this.picker&&(this.picker.destroy(),this.initializePicker())}get actionButtons(){return this._actionButtons}set actionButtons(t){this._actionButtons=t,this.picker&&(this.picker.destroy(),this.initializePicker())}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",it);function Rn(){return Array.from(document.querySelectorAll("web-daterangepicker"))}typeof window<"u"&&(window.components=window.components||{},window.components["web-daterangepicker"]={version:()=>"1.4.0",config:{name:"@keenmate/web-daterangepicker",version:"1.4.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",it)},getInstances:()=>Rn(),logging:{enableLogging:ct,disableLogging:ut,setLogLevel:Ve,setCategoryLevel:ca,getCategories:ua}},window.components["web-daterangepicker"].register()),F.DateRangePicker=He,F.WebDaterangepickerElement=it,Object.defineProperty(F,Symbol.toStringTag,{value:"Module"})});
|
|
35
|
+
`,a.appendChild(r)}if(this.calendar.appendChild(a),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),L.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;L.debug("Attaching input listeners");const a=this.options.calendarOpenTrigger||"focus";a==="focus"?this.input.addEventListener("focus",()=>{L.debug("Input focused - opening calendar"),this.show()}):a==="typing"&&this.input.addEventListener("input",t=>{!this.calendar.classList.contains("drp-date-picker--visible")&&this.input&&this.input.value.length>0&&(L.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;if(n==="prev"||n==="next"||n==="unified-prev"||n==="unified-next"){const o=t;if(o.disabled||o.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==="custom"){const o=t._customOnClick;o&&await Promise.resolve(o(this))}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 o=t.closest("[data-year]");if(o.classList.contains("drp-date-picker__rolling-item--disabled"))return;const s=o.dataset.year;if(o.dataset.unified==="true")s&&this.setUnifiedYear(parseInt(s));else{const d=o.dataset.monthIndex;s&&d&&this.selectYear(parseInt(s),parseInt(d))}}else if(t.closest("[data-month]")){const o=t.closest("[data-month]");if(o.classList.contains("drp-date-picker__rolling-item--disabled"))return;const s=o.dataset.month;if(o.dataset.unified==="true")s&&this.setUnifiedMonth(parseInt(s));else{const d=o.dataset.monthIndex;s&&d&&this.selectMonth(parseInt(s),parseInt(d))}}else if(!t.closest(".drp-date-picker__rolling-selector")&&!t.closest(".drp-date-picker__unified-rolling-selector")){let o=!1;for(let s=0;s<this.showingRollingSelector.length;s++)this.showingRollingSelector[s]&&(this.showingRollingSelector[s]=!1,o=!0);this.showingUnifiedRollingSelector&&(this.showingUnifiedRollingSelector=!1,o=!0),o&&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("mousedown",a=>{this.isCalendarActive=!0,a.stopPropagation()}),this.calendar.addEventListener("focusin",()=>{this.isCalendarActive=!0}),document.addEventListener("mousedown",a=>{this.calendar.contains(a.target)||(this.isCalendarActive=!1)},!0),document.addEventListener("keydown",a=>{var t,n,r,i;if(this.calendar.classList.contains("drp-date-picker--visible")&&this.isCalendarActive){if(L.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,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=s===0,l=this.focusedDayIndex===0;d&&l?(w.debug("Already at Jan 1, going to previous year"),this.monthDates[this.activeMonthIndex]=new Date(o-1,0,1)):(w.debug("Going to Jan 1 of current year"),this.monthDates[this.activeMonthIndex]=new Date(o,0,1)),this.renderCalendar(),setTimeout(()=>{var u,g;const c=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`),p=c==null?void 0:c.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");p&&(this.focusedDayIndex=0,(u=p[0])==null||u.classList.add("drp-date-picker__day--focused"),(g=p[0])==null||g.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=s===11,l=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`),c=l==null?void 0:l.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)"),p=c&&this.focusedDayIndex===c.length-1;d&&p?this.monthDates[this.activeMonthIndex]=new Date(o+1,11,31):this.monthDates[this.activeMonthIndex]=new Date(o,11,31),this.renderCalendar(),setTimeout(()=>{var m,f;const u=this.calendar.querySelector(`.drp-date-picker__days[data-month-index="${this.activeMonthIndex}"]`),g=u==null?void 0:u.querySelectorAll(".drp-date-picker__day:not(.drp-date-picker__day--other-month)");g&&(this.focusedDayIndex=g.length-1,(m=g[this.focusedDayIndex])==null||m.classList.add("drp-date-picker__day--focused"),(f=g[this.focusedDayIndex])==null||f.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(f=>f.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()}}}),this.clickOutsideHandler=a=>{var s;const t=a.composedPath(),n=t[0],r=t.includes(this.calendar),i=this.input&&t.includes(this.input),o=(s=n.closest)==null?void 0:s.call(n,"[data-calendar-button]");if(!r&&!i&&!o)if(this.options.positioningMode==="floating")this.hide();else{let d=!1;for(let l=0;l<this.showingRollingSelector.length;l++)this.showingRollingSelector[l]&&(this.showingRollingSelector[l]=!1,d=!0);this.showingUnifiedRollingSelector&&(this.showingUnifiedRollingSelector=!1,d=!0),d&&this.renderCalendar()}}}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!=="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.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()}destroy(){this.clickOutsideHandler&&document.removeEventListener("click",this.clickOutsideHandler),this.calendar.remove(),this.tooltip&&this.tooltip.remove()}show(){return Tt(this)}hide(){return $t(this)}toggle(){return en(this)}position(){return tt(this)}showTooltip(a,t){return tn(this,a,t)}hideTooltip(){return an(this)}renderCalendar(){return gn(this)}renderNormalView(a){return Ft(this,a)}renderDays(a,t){return Ot(this,a,t)}renderRollingSelector(a){return Yt(this,a)}updateSummary(){return mn(this)}updateSummaryWithPreview(){return Bt(this)}updateDragPreview(){return bn(this)}toggleRollingSelector(a){return nn(this,a)}selectYear(a,t){return rn(this,a,t)}selectMonth(a,t){return on(this,a,t)}checkAndResolveCollisions(a){return _e(this,a)}prevMonth(a){return we(this,a)}nextMonth(a){return xe(this,a)}unifiedPrevMonth(){return ln(this)}unifiedNextMonth(){return dn(this)}toggleUnifiedRollingSelector(){return un(this)}setUnifiedMonth(a){return cn(this,a)}setUnifiedYear(a){return pn(this,a)}findNextEnabledDayIndex(a,t,n,r){return Me(this,a,t,n)}moveFocus(a){return sn(this,a)}async selectDay(a){return await yn(this,a)}selectToday(){return vn(this)}clearSelection(){return Dn(this)}apply(){return _n(this)}initDragListeners(){return wn(this)}startDrag(a,t,n){return qt(this,a,t,n)}onDragMove(a){return Ut(this,a)}async onDragEnd(a){return await jt(this)}findNearestEnabledDate(a,t="forward"){return Oe(this,a,t)}handleInputMask(a){return xn(this,a)}applyMask(a){return me(this,a)}applyRangeMask(a){return Wt(this,a)}handleKeydown(a){return Mn(this,a)}handlePaste(a){return Sn(this,a)}updateCalendarFromInput(){return at(this)}parseAndUpdateSingleDate(a,t="single"){return Ye(this,a,t)}static injectGlobalStyles(a=!1){if(Se.stylesInjected&&!a){L.debug("Styles already injected, skipping");return}const t=document.createElement("style");t.setAttribute("data-source","web-daterangepicker"),t.textContent=Kt,document.head.appendChild(t),Se.stylesInjected=!0,L.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(Se,"stylesInjected",!1);let He=Se;class rt 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,"_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["selection-mode","date-format-mask","visible-months-count","calendar-open-trigger","value","disabled","placeholder","week-start-day","min-date","max-date","disabled-weekdays","disabled-dates-handling","highlight-disabled-in-range","positioning-mode","month-layout","grid-rows","grid-columns","calendar-placement","locale","display-format-mask","show-debug-info","initial-date","rolling-year-range","rolling-month-range","spacing","font-size","cell-size","enable-transitions","auto-close","show-today-button","show-clear-button","show-apply-button","unified-navigation","unified-navigation-anchor-index","unified-header-interactive","input-size"]}applySizeStyles(){const t=this.shadow.querySelector(".drp-date-picker");if(!t)return;const n=this.getAttribute("spacing"),r=this.getAttribute("font-size"),i=this.getAttribute("cell-size"),o=this.hasAttribute("enable-transitions");t.classList.remove("drp-spacing-xs","drp-spacing-sm","drp-spacing-lg","drp-spacing-xl"),t.classList.remove("drp-font-xs","drp-font-sm","drp-font-lg","drp-font-xl"),t.classList.remove("drp-cell-xs","drp-cell-sm","drp-cell-lg","drp-cell-xl"),n&&n!=="md"&&t.classList.add(`drp-spacing-${n}`),r&&r!=="md"&&t.classList.add(`drp-font-${r}`),i&&i!=="md"&&t.classList.add(`drp-cell-${i}`),o?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){if(t==="spacing"||t==="font-size"||t==="cell-size"||t==="enable-transitions"){this.applySizeStyles(),this.picker&&t==="cell-size"&&this.picker.renderCalendar();return}if(t==="input-size"){this.applyInputSizeStyles();return}this.picker&&t!=="value"&&t!=="placeholder"&&(this.picker.destroy(),this.initializePicker()),t==="value"&&this.inputElement&&r!==null&&(this.inputElement.value=r),t==="placeholder"&&this.inputElement&&r!==null&&(this.inputElement.placeholder=r),t==="disabled"&&this.inputElement&&(r!==null?this.inputElement.disabled=!0:this.inputElement.disabled=!1)}}render(){const t=document.createElement("style");if(t.textContent=Kt,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;let n;const r=this.getAttribute("disabled-weekdays");r&&(n=r.split(",").map(l=>parseInt(l.trim())).filter(l=>!isNaN(l)&&l>=0&&l<=6));let i;const o=this.getAttribute("week-start-day");if(o)if(o==="auto")i="auto";else{const l=parseInt(o);!isNaN(l)&&l>=0&&l<=6&&(i=l)}const s={selectionMode:this.getAttribute("selection-mode")||"single",dateFormatMask:this.getAttribute("date-format-mask")||"YYYY-MM-DD",visibleMonthsCount:parseInt(this.getAttribute("visible-months-count")||"0")||void 0,calendarOpenTrigger:this.getAttribute("calendar-open-trigger")||"focus",onSelect:l=>this.handleDateSelect(l),container:this.shadow,positioningMode:t,monthLayout:this.getAttribute("month-layout")||void 0,gridRows:parseInt(this.getAttribute("grid-rows")||"0")||void 0,gridColumns:parseInt(this.getAttribute("grid-columns")||"0")||void 0,unifiedNavigation:this.hasAttribute("unified-navigation"),unifiedNavigationAnchorIndex:parseInt(this.getAttribute("unified-navigation-anchor-index")||"0")||void 0,unifiedHeaderInteractive:this.hasAttribute("unified-header-interactive"),calendarPlacement:this.getAttribute("calendar-placement")||void 0,weekStartDay:i,minDate:this.getAttribute("min-date")||void 0,maxDate:this.getAttribute("max-date")||void 0,initialDate:this.getAttribute("initial-date")||void 0,disabledWeekdays:n,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,disabledDatesHandling:this.getAttribute("disabled-dates-handling")||void 0,highlightDisabledInRange:this.hasAttribute("highlight-disabled-in-range")?this.getAttribute("highlight-disabled-in-range")==="true":void 0,locale:this.getAttribute("locale")||"auto",displayFormatMask:this.getAttribute("display-format-mask")||void 0,showDebugInfo:this.hasAttribute("show-debug-info"),rollingYearRange:this.getAttribute("rolling-year-range")||void 0,rollingMonthRange:this.getAttribute("rolling-month-range")||void 0,customStylesCallback:this._customStylesCallback,renderDayCallback:this._renderDayCallback,renderDayContentCallback:this._renderDayContentCallback,beforeDateSelectCallback:this._beforeDateSelectCallback,beforeMonthChangedCallback:this._beforeMonthChangedCallback,formatSummaryCallback:this._formatSummaryCallback,getUnifiedHeaderCallback:this._getUnifiedHeaderCallback,autoClose:this.getAttribute("auto-close")||void 0,actionButtons:this._actionButtons,showTodayButton:this.hasAttribute("show-today-button")?this.getAttribute("show-today-button")==="true":void 0,showClearButton:this.hasAttribute("show-clear-button")?this.getAttribute("show-clear-button")==="true":void 0,showApplyButton:this.hasAttribute("show-apply-button")?this.getAttribute("show-apply-button")==="true":void 0},d=t==="inline"?null:this.inputElement;if(this.picker=new He(d,s),this._customStylesCallback){const l=this._customStylesCallback();if(l){const c=document.createElement("style");c.className="drp-custom-styles",c.textContent=l,this.shadow.appendChild(c)}}setTimeout(()=>this.applySizeStyles(),0)}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()}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 spacing(){return this.getAttribute("spacing")||"md"}set spacing(t){this.setAttribute("spacing",t)}get fontSize(){return this.getAttribute("font-size")||"md"}set fontSize(t){this.setAttribute("font-size",t)}get cellSize(){return this.getAttribute("cell-size")||"md"}set cellSize(t){this.setAttribute("cell-size",t)}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.picker&&(this.picker.destroy(),this.initializePicker())}get disabledDates(){return this._disabledDates}set disabledDates(t){this._disabledDates=t,this.picker&&(this.picker.destroy(),this.initializePicker())}get getDateMetadataCallback(){return this._getDateMetadataCallback}set getDateMetadataCallback(t){this._getDateMetadataCallback=t,this.scheduleReinit()}get badgeTooltipCallback(){return this._badgeTooltipCallback}set badgeTooltipCallback(t){this._badgeTooltipCallback=t,this.scheduleReinit()}get dayTooltipCallback(){return this._dayTooltipCallback}set dayTooltipCallback(t){this._dayTooltipCallback=t,this.scheduleReinit()}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.scheduleReinit()}get renderDayContentCallback(){return this._renderDayContentCallback}set renderDayContentCallback(t){this._renderDayContentCallback=t,this.scheduleReinit()}get beforeDateSelectCallback(){return this._beforeDateSelectCallback}set beforeDateSelectCallback(t){this._beforeDateSelectCallback=t,this.scheduleReinit()}get beforeMonthChangedCallback(){return this._beforeMonthChangedCallback}set beforeMonthChangedCallback(t){this._beforeMonthChangedCallback=t,this.scheduleReinit()}get formatSummaryCallback(){return this._formatSummaryCallback}set formatSummaryCallback(t){this._formatSummaryCallback=t,this.scheduleReinit()}get getUnifiedHeaderCallback(){return this._getUnifiedHeaderCallback}set getUnifiedHeaderCallback(t){this._getUnifiedHeaderCallback=t,this.scheduleReinit()}get dateMember(){return this._dateMember}set dateMember(t){this._dateMember=t,this.picker&&(this.picker.destroy(),this.initializePicker())}get badgeTextMember(){return this._badgeTextMember}set badgeTextMember(t){this._badgeTextMember=t,this.picker&&(this.picker.destroy(),this.initializePicker())}get badgeClassMember(){return this._badgeClassMember}set badgeClassMember(t){this._badgeClassMember=t,this.picker&&(this.picker.destroy(),this.initializePicker())}get dayClassMember(){return this._dayClassMember}set dayClassMember(t){this._dayClassMember=t,this.picker&&(this.picker.destroy(),this.initializePicker())}get badgeTooltipMember(){return this._badgeTooltipMember}set badgeTooltipMember(t){this._badgeTooltipMember=t,this.picker&&(this.picker.destroy(),this.initializePicker())}get dayTooltipMember(){return this._dayTooltipMember}set dayTooltipMember(t){this._dayTooltipMember=t,this.picker&&(this.picker.destroy(),this.initializePicker())}get isDisabledMember(){return this._isDisabledMember}set isDisabledMember(t){this._isDisabledMember=t,this.picker&&(this.picker.destroy(),this.initializePicker())}get actionButtons(){return this._actionButtons}set actionButtons(t){this._actionButtons=t,this.picker&&(this.picker.destroy(),this.initializePicker())}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",rt);function Rn(){return Array.from(document.querySelectorAll("web-daterangepicker"))}typeof window<"u"&&(window.components=window.components||{},window.components["web-daterangepicker"]={version:()=>"1.5.0",config:{name:"@keenmate/web-daterangepicker",version:"1.5.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",rt)},getInstances:()=>Rn(),logging:{enableLogging:ct,disableLogging:ut,setLogLevel:Ve,setCategoryLevel:ca,getCategories:ua}},window.components["web-daterangepicker"].register()),F.DateRangePicker=He,F.WebDaterangepickerElement=rt,Object.defineProperty(F,Symbol.toStringTag,{value:"Module"})});
|