@lekoala/date-picker 0.5.0 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
- /*** @lekoala/date-picker v0.5.0 - https://github.com/lekoala/date-picker ***/
2
- (()=>{var Ce=`:where(date-calendar, date-picker) {
1
+ /*** @lekoala/date-picker v0.5.1 - https://github.com/lekoala/date-picker ***/
2
+ (()=>{var Oe=`:where(date-calendar, date-picker) {
3
3
  --dp-bg: #ffffff;
4
4
  --dp-fg: #1f2328;
5
5
  --dp-muted: color-mix(in srgb, var(--dp-fg) 58%, var(--dp-bg));
@@ -492,19 +492,19 @@ date-picker[range] > .dp-picker-button[data-endpoint="end"] {
492
492
  forced-color-adjust: none;
493
493
  }
494
494
  }
495
- `;var rt=/^(\d{4})-(\d{2})-(\d{2})$/,at=/^(\d{4})-(\d{2})$/;function ot(e){return e%4===0&&(e%100!==0||e%400===0)}function Q(e,t){if(t===2)return ot(e)?29:28;return[4,6,9,11].includes(t)?30:31}function L(e){let t=rt.exec(String(e||""));if(!t)return null;let i=Number(t[1]),n=Number(t[2]),s=Number(t[3]);if(i<1||i>9999||n<1||n>12)return null;if(s<1||s>Q(i,n))return null;return{year:i,month:n,day:s}}function d(e){return L(e)!==null}function f(e){let t=String(e||""),i=at.exec(t);if(i){let s=Number(i[2]);if(s>=1&&s<=12)return`${i[1]}-${String(s).padStart(2,"0")}`}let n=L(t);if(!n)throw TypeError(`Invalid civil date/month: ${e}`);return`${String(n.year).padStart(4,"0")}-${String(n.month).padStart(2,"0")}`}function B(e,t,i){let n=`${String(e).padStart(4,"0")}-${String(t).padStart(2,"0")}-${String(i).padStart(2,"0")}`;if(!d(n))throw TypeError(`Invalid civil date: ${n}`);return n}function H(e){let t=new Date(0);return t.setUTCHours(12,0,0,0),t.setUTCFullYear(e.year,e.month-1,e.day),t}function dt(e){return B(e.getUTCFullYear(),e.getUTCMonth()+1,e.getUTCDate())}function V(e){let t=L(e);if(!t)throw TypeError(`Invalid civil date: ${e}`);return H(t)}function g(e,t){if(!d(e)||!d(t))throw TypeError("compareDates() expects YYYY-MM-DD values");return e===t?0:e<t?-1:1}function F(e,t){let i=L(e);if(!i||!Number.isInteger(t))throw TypeError("addDays() expects a date and integer amount");let n=H(i);return n.setUTCDate(n.getUTCDate()+t),dt(n)}function oe(e,t){let i=L(e);if(!i||!Number.isInteger(t))throw TypeError("addMonths() expects a date and integer amount");let n=i.year*12+(i.month-1)+t,s=Math.floor(n/12),a=(n%12+12)%12+1,o=Math.min(i.day,Q(s,a));return B(s,a,o)}function Te(e,t){let i=L(e);if(!i||!Number.isInteger(t))throw TypeError("addYears() expects a date and integer amount");let n=i.year+t,s=Math.min(i.day,Q(n,i.month));return B(n,i.month,s)}function J(e,t){let i=`${f(e)}-01`;return f(oe(i,t))}function lt(e){return`${f(e)}-01`}function ge(e){let t=L(`${f(e)}-01`);if(!t)throw TypeError(`Invalid month: ${e}`);return B(t.year,t.month,Q(t.year,t.month))}function ct(e){let t=L(e);if(!t)throw TypeError(`Invalid civil date: ${e}`);return H(t).getUTCDay()}function j(e){if(e===7)return 0;if(!Number.isInteger(e)||e<0||e>6)throw RangeError("firstDay must be 0..6 (Sunday=0, 7 accepted as Sunday alias)");return e}function de(e,t=1){let i=(ct(e)-j(t)+7)%7;return F(e,-i)}function _e(e,t=1){return F(de(e,t),6)}function Se(e,t={}){let i=t.firstDay??1,n=de(lt(e),i),s=_e(ge(e),i),r=[],a=n;for(;;){let o=[];for(let c=0;c<7;c++)o.push(F(a,c));if(r.push(o),g(o[6],s)>=0){if(!t.fixedWeeks||r.length>=6||g(o[6],F("9999-12-31",-7))>0)break}a=F(a,7)}return r}function Ae(e,t,i){let n=H({year:1,month:1,day:1});return Math.round((H({year:e,month:t,day:i}).getTime()-n.getTime())/86400000)}function ee(e,t=1){let i=j(t),n=Ae(9999,12,31),s=f(e);for(;;){let r=L(`${s}-01`);if(!r)throw TypeError(`Invalid civil date/month: ${e}`);let a=Ae(r.year,r.month,1),o=(H(r).getUTCDay()-i+7)%7;if(a-o<0){s=J(s,1);continue}let c=Q(r.year,r.month),l={year:r.year,month:r.month,day:c},h=a+c-1,b=(H(l).getUTCDay()-i+7)%7;if(h-b+6>n){s=J(s,-1);continue}return s}}function Me(e,t="",i=""){if(!d(e))throw TypeError(`Invalid civil date: ${e}`);if(t&&g(e,t)<0)return t;if(i&&g(e,i)>0)return i;return e}function R(){let e=new Date;return B(e.getFullYear(),e.getMonth()+1,e.getDate())}function $e(e){let t=L(e);if(!t)throw TypeError(`Invalid civil date: ${e}`);let i=H(t),n=i.getUTCDay()||7;i.setUTCDate(i.getUTCDate()+4-n);let s=new Date(0);return s.setUTCHours(12,0,0,0),s.setUTCFullYear(i.getUTCFullYear(),0,1),Math.ceil(((i.getTime()-s.getTime())/86400000+1)/7)}class ye{constructor(e={}){let t=R();this.firstDay=j(e.firstDay??1),this.value=e.value&&d(e.value)?e.value:"",this.focused=e.focused&&d(e.focused)?e.focused:this.value||t,this.display=e.display?f(e.display):f(this.focused)}setValue(e){if(e&&!d(e))throw TypeError(`Invalid value: ${e}`);return this.value=e||"",this.value}setDisplay(e){let t=f(e),i=Number(this.focused.slice(8,10))||1,n=oe(`${t}-01`,0),s=F(n,Math.max(0,i-1));return this.focused=f(s)===t?s:F(`${J(t,1)}-01`,-1),this.display=t,this.display}setFocused(e,t={}){if(!d(e))throw TypeError(`Invalid focused date: ${e}`);if(this.focused=e,t.follow!==!1)this.display=f(e);return this.focused}moveFocusDays(e){return this.setFocused(F(this.focused,e))}moveFocusMonths(e){return this.setFocused(oe(this.focused,e))}moveFocusYears(e){return this.setFocused(Te(this.focused,e))}focusWeekStart(){return this.setFocused(de(this.focused,this.firstDay))}focusWeekEnd(){return this.setFocused(_e(this.focused,this.firstDay))}navigateMonth(e){let t=J(this.display,e);return this.setDisplay(t),this.display}}function ht(e){if(typeof e!=="string")return"";return[...new Set(e.split(/\s+/).filter((t)=>t&&!t.startsWith("dp-")&&![...t].some((i)=>i.charCodeAt(0)<32||i.charCodeAt(0)===127)))].join(" ")}function le(e,t){return e.month===t.month&&e.year===t.year&&e.nav===t.nav}var ut={month:"",year:"",nav:""};function te(){return{...ut}}function ce(e){let t=te();for(let i of["month","year","nav"])if(e&&Object.hasOwn(e,i))t[i]=ht(e[i]);return t}function he(e){if(e==null)return{start:"",end:""};if(typeof e!=="object")throw TypeError("highlightedRange expects { start, end }");let{start:t="",end:i=""}=e;if(t&&!d(t))throw TypeError(`Invalid range start: ${t}`);if(i&&!d(i))throw TypeError(`Invalid range end: ${i}`);if(!t&&i)throw TypeError("highlightedRange cannot define an end without a start");if(t&&i&&g(i,t)<0)throw TypeError("highlightedRange must be ordered; start must be on or before end");return{start:t,end:i}}function ue(e,t){if(!t||!d(e))return"";let{start:i,end:n}=t;if(!i||!d(i))return"";if(i===e)return n?n===e?"single":"start":"start";if(n&&n===e)return"end";if(n&&g(e,i)>=0&&g(e,n)<=0)return"in";return""}class be{constructor(){this.activeEndpoint="",this.start="",this.end=""}get range(){return{start:this.start,end:this.end}}get complete(){return Boolean(this.start&&this.end&&g(this.end,this.start)>=0)}focus(e){this.activeEndpoint=e}_refuse(e){return{status:"refused",endpoint:e,changedEndpoints:[],range:this.range,activeEndpoint:this.activeEndpoint}}project(e,t=()=>!0){if(!d(e))throw TypeError(`Invalid range activation: ${e}`);let{start:i,end:n}=this;if(this.complete&&(g(e,i)<0||g(e,n)>0)){let r=g(e,i)<0?"start":"end";if(!t(r))return this._refuse(r);return{status:"complete",endpoint:r,changedEndpoints:[r],range:r==="start"?{start:e,end:n}:{start:i,end:e},activeEndpoint:r}}if(this.activeEndpoint==="end"){if(i&&!n&&g(e,i)<0){if(!t("start"))return this._refuse("start");if(!t("end"))return this._refuse("end");return{status:"complete",endpoint:"end",changedEndpoints:["start","end"],range:{start:e,end:i},activeEndpoint:"end"}}if(i&&g(e,i)<0)return this._refuse("end");if(!t("end"))return this._refuse("end");return{status:i?"complete":"pending",endpoint:"end",changedEndpoints:["end"],range:{start:i,end:e},activeEndpoint:"end"}}if(n&&!i&&g(e,n)>0){if(!t("start"))return this._refuse("start");if(!t("end"))return this._refuse("end");return{status:"complete",endpoint:"start",changedEndpoints:["start","end"],range:{start:n,end:e},activeEndpoint:"start"}}if(!t("start"))return this._refuse("start");let s=t("end");return{status:"pending",endpoint:"start",changedEndpoints:["start"],range:{start:e,end:n},activeEndpoint:s?"end":this.activeEndpoint,...s?{}:{close:!0}}}projectEndpoint(e,t,i=()=>!0){if(!d(e))throw TypeError(`Invalid range activation: ${e}`);if(!this.complete||!i(t))return this._refuse(t);let{start:n,end:s}=this,r=t==="start"?n:s,a=t==="start"?pt(e,s):ft(e,n);return{status:"complete",endpoint:t,changedEndpoints:a===r?[]:[t],range:t==="start"?{start:a,end:s}:{start:n,end:a},activeEndpoint:t}}previewRange(e,t="",i=()=>!0){if(!d(e))return null;if(!t&&Boolean(this.start)===Boolean(this.end))return null;let n=t?this.projectEndpoint(e,t,i):this.project(e,i);if(n.status==="refused")return null;let{start:s,end:r}=n.range;if(!s||r&&g(r,s)<0)return null;return{start:s,end:r}}_apply(e){if(e.status==="refused")return e;return this.start=e.range.start,this.end=e.range.end,this.activeEndpoint=e.activeEndpoint,e}activate(e,t=()=>!0){return this._apply(this.project(e,t))}moveEndpoint(e,t,i=()=>!0){return this._apply(this.projectEndpoint(e,t,i))}}function ft(e,t){if(!e)return t;if(!t)return e;return g(e,t)>=0?e:t}function pt(e,t){if(!e)return t;if(!t)return e;return g(e,t)<=0?e:t}var Le=/[\u200e\u200f\u061c\u202a-\u202e\u2066-\u2069]/g,mt=new Map,gt=new Map;function Ie(e,t,i){let n=e.get(t);if(n!==void 0)return n;let s=i(),r=e.keys().next().value;if(e.size>=64&&r!==void 0)e.delete(r);return e.set(t,s),s}function Y(e,t){let i=JSON.stringify([e,t]);return Ie(mt,i,()=>new Intl.DateTimeFormat(e,t))}function P(e=""){if(e)return e;if(typeof document<"u"&&document.documentElement.lang)return document.documentElement.lang;if(typeof navigator<"u"&&navigator.language)return navigator.language;return"en-US"}function _t(e){return Ie(gt,e,()=>{let t=new Intl.NumberFormat(e,{useGrouping:!1}),i=new Map;for(let n=0;n<=9;n++)i.set(t.format(n),String(n));return i})}function Fe(e,t,i={}){let n=String(e||"").replace(Le,"");if(i.trim!==!1)n=n.trim();for(let[s,r]of _t(t))n=n.split(s).join(r);return n}function ie(e,t=""){let i=P(t);return Y(i,{calendar:"gregory",weekday:"long",year:"numeric",month:"long",day:"numeric",timeZone:"UTC"}).format(V(e))}function Oe(e,t=""){let i=P(t);return Y(i,{calendar:"gregory",year:"numeric",month:"long",timeZone:"UTC"}).format(V(`${e.slice(0,7)}-15`))}function Re(e=""){let t=P(e);try{let i=Y(t,{calendar:"gregory",year:"numeric",month:"long",timeZone:"UTC"}).formatToParts(V("2026-09-15")),n=-1,s=-1;if(i.forEach((r,a)=>{let o=r.type;if(o==="month"){if(n<0)n=a}else if(o==="year"||o==="relatedYear"||o==="yearName"){if(s<0)s=a}}),n>=0&&s>=0)return s<n?["year","month"]:["month","year"]}catch{}return["month","year"]}function Pe(e="",t="long"){let i=P(e),n=Y(i,{calendar:"gregory",month:t,timeZone:"UTC"});return Array.from({length:12},(s,r)=>n.format(V(`2026-${String(r+1).padStart(2,"0")}-15`)))}function ve(e="",t=1,i="short"){let n=P(e),s=Y(n,{calendar:"gregory",weekday:i,timeZone:"UTC"}),r=j(t),a=V("2026-01-04");return Array.from({length:7},(o,c)=>{let l=new Date(a);return l.setUTCDate(a.getUTCDate()+(r+c)%7),s.format(l)})}function yt(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ne(e=""){let t=P(e),i=Y(t,{calendar:"gregory",year:"numeric",month:"2-digit",day:"2-digit",timeZone:"UTC"}),n=V("2006-11-22"),s=i.formatToParts(n).filter((l)=>l.type!=="literal"||l.value),r=s.filter((l)=>["day","month","year"].includes(l.type)).map((l)=>l.type),a=s.map((l)=>{if(l.type==="day")return"DD";if(l.type==="month")return"MM";if(l.type==="year")return"YYYY";return l.value.replace(Le,"")}).join(""),o=s.map((l)=>{if(l.type==="day"||l.type==="month")return"(\\d{1,2})";if(l.type==="year")return"(\\d{4})";let h=Fe(l.value,t,{trim:!1});return yt(h).replace(/\s+/g,"\\s*")}).join(""),c=new RegExp(`^\\s*${o}\\s*$`);return{locale:t,placeholder:a,format(l){if(!d(l))return"";return i.format(V(l))},parse(l){let h=Fe(l,t);if(d(h))return h;let b=c.exec(h);if(!b)return"";let D={};if(r.forEach((x,T)=>{D[x]=Number(b[T+1])}),!D.year||!D.month||!D.day)return"";try{return B(D.year,D.month,D.day)}catch{return""}}}}var bt={chooseDate:"Choose date",changeDate:"Change date",previousMonth:"Previous month",nextMonth:"Next month",month:"Month",year:"Year",calendar:"Choose a date",unavailable:"Unavailable",invalidDate:"Enter a valid date",unavailableDate:"This date is unavailable",formatHint:"Format",week:"Week",rangeStart:"Range start",rangeInRange:"Inside range",rangeEnd:"Range end",rangeSingle:"Range of one day",rangeOrderStart:"Start must be on or before end",rangeOrderEnd:"End must be on or after start"},vt={...bt};function G(){return{...vt}}function ze(e){let t=e&&typeof e==="object"&&!Array.isArray(e)&&"dates"in e?e.dates:e,i=new Map;if(Array.isArray(t)){for(let n of t){if(!n||typeof n!=="object"||!("date"in n))continue;let{date:s,...r}=n;i.set(String(s),r)}return i}if(t&&typeof t==="object")for(let[n,s]of Object.entries(t))i.set(n,s&&typeof s==="object"?s:{});return i}var wt=0;function A(e){return String(e).replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;").replaceAll('"',"&quot;").replaceAll("'","&#039;")}function Dt(e){let t=Number(e);if(t===7)return 0;return Number.isInteger(t)&&t>=0&&t<=6?t:1}function xt(e){return Number(e.slice(0,4))}function fe(e,t){let[i,n]=e.split("-").map(Number),s=i*12+(n-1)+t,r=Math.floor(s/12),a=(s%12+12)%12+1;if(r<1||r>9999)return null;return`${String(r).padStart(4,"0")}-${String(a).padStart(2,"0")}`}function He(e){return{"data-range-start":e==="start"||e==="single","data-range-end":e==="end"||e==="single","data-in-range":e==="in"}}function Et(e){return Object.entries(He(e)).filter(([,t])=>t).map(([t])=>` ${t}="true"`).join("")}function kt(e){if(e==="single")return"rangeSingle";if(e==="start")return"rangeStart";if(e==="end")return"rangeEnd";if(e==="in")return"rangeInRange";return""}class se extends HTMLElement{static observedAttributes=["value","display","min","max","first-day","locale","fixed-weeks","show-week-numbers","selection","month-format"];constructor(){super();this._id=`date-calendar-${++wt}`,this._model=new ye,this._connected=!1,this._rendering=!1,this._source=null,this._sourceStates=new Map,this._loadedRanges=new Set,this._loadController=null,this._loadingKey="",this._loadingPromise=null,this._dateState=null,this._renderDay=null,this._isDateDisabled=null,this._highlightedRange={start:"",end:""},this._paintedRange={start:"",end:""},this._paintedPreview=!1,this._renderedStates=new Map,this._messages=G(),this._controlClasses=te(),this._onClick=this._onClick.bind(this),this._onChange=this._onChange.bind(this),this._onKeyDown=this._onKeyDown.bind(this),this._onFocusIn=this._onFocusIn.bind(this)}connectedCallback(){if(this._connected)return;this._connected=!0,this.addEventListener("click",this._onClick),this.addEventListener("change",this._onChange),this.addEventListener("keydown",this._onKeyDown),this.addEventListener("focusin",this._onFocusIn),this._syncModel(),this.render()}disconnectedCallback(){this._connected=!1,this._loadController?.abort(),this._loadController=null,this._loadingKey="",this._loadingPromise=null,this.removeEventListener("click",this._onClick),this.removeEventListener("change",this._onChange),this.removeEventListener("keydown",this._onKeyDown),this.removeEventListener("focusin",this._onFocusIn)}attributeChangedCallback(){if(!this._connected||this._rendering)return;this._syncModel(),this.render()}get locale(){return P(this.getAttribute("locale")||"")}set locale(e){if(e)this.setAttribute("locale",e);else this.removeAttribute("locale")}get value(){return this._model.value}set value(e){let t=e||"";if(t&&!d(t))throw TypeError(`Invalid calendar value: ${t}`);if(t===this._model.value)return;if(this._model.setValue(t),this._reflect("value",t),this._connected)this.render()}get display(){return this._model.display}set display(e){this._setDisplay(e,{emit:!1})}get focusedDate(){return this._model.focused}set focusedDate(e){let t=e||"";if(t===this._model.focused)return;this.focusDate(t,{moveFocus:!1})}get min(){let e=this.getAttribute("min")||"";return d(e)?e:""}set min(e){if(e)this.setAttribute("min",e);else this.removeAttribute("min")}get max(){let e=this.getAttribute("max")||"";return d(e)?e:""}set max(e){if(e)this.setAttribute("max",e);else this.removeAttribute("max")}get firstDay(){return Dt(this.getAttribute("first-day")||"1")}set firstDay(e){this.setAttribute("first-day",String(e))}get selection(){return this.getAttribute("selection")==="none"?"none":"single"}set selection(e){this.setAttribute("selection",e==="none"?"none":"single")}get monthFormat(){return this.getAttribute("month-format")==="short"?"short":"long"}set monthFormat(e){if(e==="short")this.setAttribute("month-format","short");else this.removeAttribute("month-format")}get highlightedRange(){return{...this._highlightedRange}}set highlightedRange(e){let t=he(e),i=this.hasAttribute("data-range-preview");if(t.start===this._paintedRange.start&&t.end===this._paintedRange.end&&i===this._paintedPreview)return;if(this._highlightedRange=t,this._connected)this._updateRangeDom()}get fixedWeeks(){return this.hasAttribute("fixed-weeks")}set fixedWeeks(e){this.toggleAttribute("fixed-weeks",Boolean(e))}get showWeekNumbers(){return this.hasAttribute("show-week-numbers")}set showWeekNumbers(e){this.toggleAttribute("show-week-numbers",Boolean(e))}get controlClasses(){return{...this._controlClasses}}set controlClasses(e){let t=ce(e);if(le(t,this._controlClasses))return;if(this._controlClasses=t,this._connected)this.render()}get messages(){return this._messages}set messages(e){if(this._messages={...G(),...e||{}},this._connected)this.render()}get source(){return this._source}set source(e){this._source=e||null,this.refreshSource()}get dateState(){return this._dateState}set dateState(e){if(this._dateState=typeof e==="function"?e:null,this._connected)this.render()}get renderDay(){return this._renderDay}set renderDay(e){if(this._renderDay=typeof e==="function"?e:null,this._connected)this.render()}get isDateDisabled(){return this._isDateDisabled}set isDateDisabled(e){if(this._isDateDisabled=typeof e==="function"?e:null,this._connected)this.render()}_syncModel(){let e=this.firstDay;this._model.firstDay=e;let t=this.getAttribute("value")||"";if(!t||d(t))this._model.value=t;let i=this.getAttribute("display")||"";if(i)try{this._model.setDisplay(ee(i,e))}catch{}else if(this._model.value)this._model.display=f(this._model.value),this._model.focused=this._model.value;if(this._model.focused=this._clamp(this._model.focused),!this.getAttribute("display"))this._model.display=f(this._model.focused)}_reflect(e,t){if(this._rendering=!0,t){if(this.getAttribute(e)!==t)this.setAttribute(e,t)}else if(this.hasAttribute(e))this.removeAttribute(e);this._rendering=!1}_clamp(e){let t=Me(e,this.min,this.max),i=f(t),n=ee(i,this.firstDay);if(n===i)return t;let s=Number(t.slice(8,10))||1,r=F(`${n}-01`,s-1),a=ge(n);return g(r,a)>0?a:r}_weeks(e=this.display){return Se(ee(e,this.firstDay),{firstDay:this.firstDay,fixedWeeks:this.fixedWeeks})}_focusTargetKey(e){if(e.matches(".dp-month-select, .dp-year-input")&&e.id)return`#${CSS.escape(e.id)}`;if(e.matches(".dp-nav[data-calendar-action]"))return`.dp-nav[data-calendar-action="${CSS.escape(e.dataset.calendarAction||"")}"]`;if(e.matches(".dp-day[data-date]")){let t=e.getAttribute("data-date")||"";if(d(t))return`.dp-day[data-date="${t}"]`}return""}_range(e=this.display){let t=this._weeks(e),i=t[0],n=t[t.length-1];if(!i||!n)throw Error("Calendar month produced no weeks");return{start:i[0],end:n[6]}}getDateState(e){let t=this._sourceStates.get(e)||{},i=this._dateState?.(e,{...t})||{},n={...t,...i},s=this.min&&g(e,this.min)<0||this.max&&g(e,this.max)>0,a=n.enabled===!0?!1:Boolean(this._isDateDisabled?.(e)),o=Boolean(s)||Boolean(n.disabled)||a;return{...n,disabled:o}}async refreshSource(){if(this._loadController?.abort(),this._loadController=null,this._loadingKey="",this._loadingPromise=null,this._loadedRanges.clear(),this._sourceStates.clear(),this._connected)this.render(),await this._loadDisplay(this.display)}async ensureDate(e){if(!d(e)||!this._source)return!0;return await this._loadDisplay(f(e),!1)==="loaded"}async _loadDisplay(e,t=!0){if(!this._source)return"loaded";let i=this._range(e),n=`${i.start}/${i.end}`;if(this._loadedRanges.has(n))return"loaded";if(n===this._loadingKey&&this._loadingPromise)return this._loadingPromise;this._loadController?.abort();let s=new AbortController;this._loadController=s,this._loadingKey=n;let r=this._source,a=(async()=>{this.toggleAttribute("data-loading",!0),this.dispatchEvent(new CustomEvent("dateloadstart",{detail:i,bubbles:!0}));try{let o=typeof r==="function"?r:r?.load?.bind(r);if(!o)throw TypeError("Date source must be a function or expose load(range, { signal })");let c=await o(i,{signal:s.signal});if(s.signal.aborted)return"cancelled";for(let[l,h]of ze(c))this._sourceStates.set(l,h);if(this._loadedRanges.add(n),this.dispatchEvent(new CustomEvent("dateloadend",{detail:i,bubbles:!0})),t&&this._connected&&f(this.display)===f(e))this.render(!1);return"loaded"}catch(o){if(s.signal.aborted)return"cancelled";return this.dispatchEvent(new CustomEvent("dateloaderror",{detail:{...i,error:o},bubbles:!0})),"failed"}finally{if(this._loadController===s)this._loadController=null,this.removeAttribute("data-loading");if(this._loadingKey===n)this._loadingKey="",this._loadingPromise=null}})();return this._loadingPromise=a,a}_setDisplay(e,t={}){let i=this._model.display;if(this._model.setDisplay(ee(e,this.firstDay)),this._model.focused=this._clamp(this._model.focused),this._model.display=f(this._model.focused),this._reflect("display",this._model.display),this._connected)this.render();if(t.emit!==!1&&i!==this._model.display)this._emitDisplayChange();return this._model.display}_emitDisplayChange(){let e=this._range();this.dispatchEvent(new CustomEvent("displaychange",{detail:{display:this.display,...e},bubbles:!0}))}previousMonth(){return this._setDisplay(fe(this.display,-1)??this.display)}nextMonth(){return this._setDisplay(fe(this.display,1)??this.display)}focusDate(e,t={}){if(!d(e))throw TypeError(`Invalid date: ${e}`);let i=this._clamp(e),n=this.display,s=this._model.focused,r=t.moveFocus!==!1;if(this._model.setFocused(i),this._reflect("display",this._model.display),n!==this.display){if(this._connected)this.render();this._emitDisplayChange()}else if(this._connected&&s!==this._model.focused)this._moveFocusDom(s,this._model.focused,r);if(r)queueMicrotask(()=>this.focusGrid())}_moveFocusDom(e,t,i=!0){let n=e?this.querySelector(`.dp-day[data-date="${CSS.escape(e)}"]`):null,s=this.querySelector(`.dp-day[data-date="${CSS.escape(t)}"]`);if(n instanceof HTMLElement)n.tabIndex=-1;if(s instanceof HTMLElement){if(s.tabIndex=0,i)s.focus()}else if(i)this.focusGrid()}_moveSelectionDom(e,t){if(e){let i=this.querySelector(`.dp-day[data-date="${CSS.escape(e)}"]`);if(i instanceof HTMLElement)i.removeAttribute("data-selected"),i.removeAttribute("aria-selected")}if(t){let i=this.querySelector(`.dp-day[data-date="${CSS.escape(t)}"]`);if(i instanceof HTMLElement)return i.setAttribute("data-selected","true"),i.setAttribute("aria-selected","true"),!0}return!1}_dayLabel(e,t,i){let n=this.hasAttribute("data-range-preview")?"":kt(i),s=typeof t.description==="string"?t.description:"";return[ie(e,this.locale),s,n?this._messages[n]:"",t.disabled?this._messages.unavailable:""].filter(Boolean).join(". ")}_updateRangeDom(){let e=this._paintedRange,t=this._paintedPreview;this._paintedRange={...this._highlightedRange},this._paintedPreview=this.hasAttribute("data-range-preview");for(let i of this.querySelectorAll(".dp-day[data-date]")){if(!(i instanceof HTMLTableCellElement))continue;let n=i.dataset.date||"",s=ue(n,this._highlightedRange);if(s===ue(n,e)&&t===this._paintedPreview)continue;for(let[r,a]of Object.entries(He(s)))if(a)i.setAttribute(r,"true");else i.removeAttribute(r);if(!t||!this._paintedPreview){let r=this._renderedStates.get(n)||{},a=this._dayLabel(n,r,s);if(i.getAttribute("aria-label")!==a)i.setAttribute("aria-label",a)}}}focusGrid(){let e=this.querySelector(`.dp-day[data-date="${CSS.escape(this.focusedDate)}"]`);if(e instanceof HTMLElement)e.focus()}async activateDate(e){let t=await this.ensureDate(e),i=this.getDateState(e);if(!t||i.disabled)return this.dispatchEvent(new CustomEvent("dateinvalid",{detail:{date:e,state:i},bubbles:!0})),!1;if(!this.dispatchEvent(new CustomEvent("dateactivate",{detail:{date:e,state:i},bubbles:!0,cancelable:!0})))return!1;if(this.selection==="single"){let s=this._model.value;if(this._model.setValue(e),this._reflect("value",e),this.dispatchEvent(new CustomEvent("datechange",{detail:{value:e},bubbles:!0})),this.dispatchEvent(new Event("change",{bubbles:!0})),this._connected)if(f(e)===this.display)this._moveSelectionDom(s,e);else this.render()}else if(this._connected){if(f(e)!==this.display)this.render()}return!0}_onClick(e){let t=e.target;if(!(t instanceof Element))return;let i=t.closest("[data-calendar-action]");if(i instanceof HTMLButtonElement){let a=i.dataset.calendarAction;if(a==="previous")this.previousMonth();if(a==="next")this.nextMonth();return}let n=t.closest(".dp-day[data-date]");if(!(n instanceof HTMLTableCellElement))return;let s=n.dataset.date||"";if(!d(s))return;let r=this.display;if(this._model.setFocused(this._clamp(s)),this._reflect("display",this._model.display),r!==this.display)this._emitDisplayChange();this.activateDate(s)}_onChange(e){let t=e.target;if(t instanceof HTMLSelectElement&&t.matches(".dp-month-select")){this._setDisplay(`${this.display.slice(0,4)}-${t.value}`);return}if(t instanceof HTMLInputElement&&t.matches(".dp-year-input")){let i=Number(t.value);if(!Number.isInteger(i)||i<1||i>9998){if(this._connected)this.render(!1);return}this._setDisplay(`${String(i).padStart(4,"0")}-${this.display.slice(5,7)}`)}}_onFocusIn(e){let t=e.target;if(!(t instanceof HTMLTableCellElement)||!t.matches(".dp-day[data-date]"))return;let i=t.dataset.date||"";if(!d(i))return;this._model.focused=i,this.dispatchEvent(new CustomEvent("datefocus",{detail:{date:i,state:this.getDateState(i)},bubbles:!0}))}_onKeyDown(e){let t=e.target;if(!(t instanceof HTMLTableCellElement)||!t.matches(".dp-day[data-date]"))return;let i=t.dataset.date||this.focusedDate;if(e.key==="Enter"||e.key===" "){e.preventDefault(),this.activateDate(i);return}let n=this._model.focused,s=this._model.display;if(this._model.firstDay=this.firstDay,this._model.setFocused(i,{follow:!1}),e.key==="ArrowLeft")this._model.moveFocusDays(-1);else if(e.key==="ArrowRight")this._model.moveFocusDays(1);else if(e.key==="ArrowUp")this._model.moveFocusDays(-7);else if(e.key==="ArrowDown")this._model.moveFocusDays(7);else if(e.key==="Home")this._model.focusWeekStart();else if(e.key==="End")this._model.focusWeekEnd();else if(e.key==="PageUp")e.shiftKey?this._model.moveFocusYears(-1):this._model.moveFocusMonths(-1);else if(e.key==="PageDown")e.shiftKey?this._model.moveFocusYears(1):this._model.moveFocusMonths(1);else return;let r=this._model.focused;if(this._model.focused=n,this._model.display=s,!r)return;e.preventDefault(),this.focusDate(this._clamp(r))}render(e=!0){if(!this._connected)return;let t=this.locale,i=this.display,n=xt(i),s=Number(i.slice(5,7)),r=Pe(t,this.monthFormat),a=ve(t,this.firstDay,"short"),o=ve(t,this.firstDay,"long"),c=this._weeks(),l=R(),h=`${this._id}-heading`,b=`${this._id}-grid`,D=this.min?f(this.min):"",x=this.max?f(this.max):"",T=fe(i,-1),S=fe(i,1),M=Boolean(D&&T!==null&&T<D),y=Boolean(x&&S!==null&&S>x),v=this.min?` min="${Number(this.min.slice(0,4))}"`:"",E=this.max?` max="${Number(this.max.slice(0,4))}"`:"",C=this.showWeekNumbers&&this.firstDay===1,k=C?`<th scope="col" class="dp-week-heading" abbr="${A(this._messages.week)}">#</th>`:"",z=r.map((u,m)=>{let w=m+1,p=`${String(n).padStart(4,"0")}-${String(w).padStart(2,"0")}`,Z=D&&p<D||x&&p>x;return`<option value="${String(w).padStart(2,"0")}"${w===s?" selected":""}${Z?" disabled":""}>${A(u)}</option>`}).join(""),I=a.map((u,m)=>`<th scope="col" abbr="${A(o[m])}">${A(u.replace(".",""))}</th>`).join("");this._renderedStates.clear();let N=c.map((u)=>{let m=C?`<th scope="row" class="dp-week-number">${$e(u[0])}</th>`:"",w=u.map((p)=>{let Z=this.getDateState(p);this._renderedStates.set(p,Z);let Qe=f(p)!==i,et=this.value===p,tt=this.focusedDate===p,it=p===l,ke=ue(p,this._highlightedRange),nt=this._dayLabel(p,Z,ke);return`<td class="dp-day" data-date="${p}"${Qe?' data-outside-month="true"':""}${it?' data-today="true" aria-current="date"':""}${et?' data-selected="true" aria-selected="true"':""}${Et(ke)}${Z.disabled?' data-disabled="true" aria-disabled="true"':""} tabindex="${tt?"0":"-1"}" aria-label="${A(nt)}"><span class="dp-day-number" aria-hidden="true">${Number(p.slice(8,10))}</span><span class="dp-day-extra" aria-hidden="true"></span></td>`}).join("");return`<tr>${m}${w}</tr>`}).join(""),W=document.activeElement,K=W instanceof HTMLElement&&this.contains(W)?this._focusTargetKey(W):"",O=Re(t)[0]==="year";this.toggleAttribute("data-year-first",O);let q=this._controlClasses,U=A(q.month||"dp-skin"),me=A(q.year||"dp-skin"),ae=A(q.nav||"dp-skin"),X=`<label class="dp-visually-hidden" for="${this._id}-month">${A(this._messages.month)}</label>
496
- <select id="${this._id}-month" class="dp-month-select ${U}" aria-label="${A(this._messages.month)}">${z}</select>`,_=`<label class="dp-visually-hidden" for="${this._id}-year">${A(this._messages.year)}</label>
497
- <input id="${this._id}-year" class="dp-year-input ${me}" type="number" inputmode="numeric" value="${n}"${v}${E} aria-label="${A(this._messages.year)}">`;if(this._rendering=!0,this.innerHTML=`
495
+ `;var gt=/^(\d{4})-(\d{2})-(\d{2})$/,_t=/^(\d{4})-(\d{2})$/;function yt(e){return e%4===0&&(e%100!==0||e%400===0)}function ee(e,t){if(t===2)return yt(e)?29:28;return[4,6,9,11].includes(t)?30:31}function L(e){let t=gt.exec(String(e||""));if(!t)return null;let s=Number(t[1]),i=Number(t[2]),n=Number(t[3]);if(s<1||s>9999||i<1||i>12)return null;if(n<1||n>ee(s,i))return null;return{year:s,month:i,day:n}}function d(e){return L(e)!==null}function f(e){let t=String(e||""),s=_t.exec(t);if(s){let n=Number(s[2]);if(n>=1&&n<=12)return`${s[1]}-${String(n).padStart(2,"0")}`}let i=L(t);if(!i)throw TypeError(`Invalid civil date/month: ${e}`);return`${String(i.year).padStart(4,"0")}-${String(i.month).padStart(2,"0")}`}function N(e,t,s){let i=`${String(e).padStart(4,"0")}-${String(t).padStart(2,"0")}-${String(s).padStart(2,"0")}`;if(!d(i))throw TypeError(`Invalid civil date: ${i}`);return i}function H(e){let t=new Date(0);return t.setUTCHours(12,0,0,0),t.setUTCFullYear(e.year,e.month-1,e.day),t}function bt(e){return N(e.getUTCFullYear(),e.getUTCMonth()+1,e.getUTCDate())}function V(e){let t=L(e);if(!t)throw TypeError(`Invalid civil date: ${e}`);return H(t)}function g(e,t){if(!d(e)||!d(t))throw TypeError("compareDates() expects YYYY-MM-DD values");return e===t?0:e<t?-1:1}function F(e,t){let s=L(e);if(!s||!Number.isInteger(t))throw TypeError("addDays() expects a date and integer amount");let i=H(s);return i.setUTCDate(i.getUTCDate()+t),bt(i)}function ce(e,t){let s=L(e);if(!s||!Number.isInteger(t))throw TypeError("addMonths() expects a date and integer amount");let i=s.year*12+(s.month-1)+t,n=Math.floor(i/12),a=(i%12+12)%12+1,o=Math.min(s.day,ee(n,a));return N(n,a,o)}function Pe(e,t){let s=L(e);if(!s||!Number.isInteger(t))throw TypeError("addYears() expects a date and integer amount");let i=s.year+t,n=Math.min(s.day,ee(i,s.month));return N(i,s.month,n)}function Q(e,t){let s=`${f(e)}-01`;return f(ce(s,t))}function vt(e){return`${f(e)}-01`}function ve(e){let t=L(`${f(e)}-01`);if(!t)throw TypeError(`Invalid month: ${e}`);return N(t.year,t.month,ee(t.year,t.month))}function wt(e){let t=L(e);if(!t)throw TypeError(`Invalid civil date: ${e}`);return H(t).getUTCDay()}function Y(e){if(e===7)return 0;if(!Number.isInteger(e)||e<0||e>6)throw RangeError("firstDay must be 0..6 (Sunday=0, 7 accepted as Sunday alias)");return e}function ue(e,t=1){let s=(wt(e)-Y(t)+7)%7;return F(e,-s)}function we(e,t=1){return F(ue(e,t),6)}function ze(e,t={}){let s=t.firstDay??1,i=ue(vt(e),s),n=we(ve(e),s),r=[],a=i;for(;;){let o=[];for(let c=0;c<7;c++)o.push(F(a,c));if(r.push(o),g(o[6],n)>=0){if(!t.fixedWeeks||r.length>=6||g(o[6],F("9999-12-31",-7))>0)break}a=F(a,7)}return r}function Re(e,t,s){let i=H({year:1,month:1,day:1});return Math.round((H({year:e,month:t,day:s}).getTime()-i.getTime())/86400000)}function te(e,t=1){let s=Y(t),i=Re(9999,12,31),n=f(e);for(;;){let r=L(`${n}-01`);if(!r)throw TypeError(`Invalid civil date/month: ${e}`);let a=Re(r.year,r.month,1),o=(H(r).getUTCDay()-s+7)%7;if(a-o<0){n=Q(n,1);continue}let c=ee(r.year,r.month),l={year:r.year,month:r.month,day:c},u=a+c-1,b=(H(l).getUTCDay()-s+7)%7;if(u-b+6>i){n=Q(n,-1);continue}return n}}function He(e,t="",s=""){if(!d(e))throw TypeError(`Invalid civil date: ${e}`);if(t&&g(e,t)<0)return t;if(s&&g(e,s)>0)return s;return e}function R(){let e=new Date;return N(e.getFullYear(),e.getMonth()+1,e.getDate())}function Ve(e){let t=L(e);if(!t)throw TypeError(`Invalid civil date: ${e}`);let s=H(t),i=s.getUTCDay()||7;s.setUTCDate(s.getUTCDate()+4-i);let n=new Date(0);return n.setUTCHours(12,0,0,0),n.setUTCFullYear(s.getUTCFullYear(),0,1),Math.ceil(((s.getTime()-n.getTime())/86400000+1)/7)}class De{constructor(e={}){let t=R();this.firstDay=Y(e.firstDay??1),this.value=e.value&&d(e.value)?e.value:"",this.focused=e.focused&&d(e.focused)?e.focused:this.value||t,this.display=e.display?f(e.display):f(this.focused)}setValue(e){if(e&&!d(e))throw TypeError(`Invalid value: ${e}`);return this.value=e||"",this.value}setDisplay(e){let t=f(e),s=Number(this.focused.slice(8,10))||1,i=ce(`${t}-01`,0),n=F(i,Math.max(0,s-1));return this.focused=f(n)===t?n:F(`${Q(t,1)}-01`,-1),this.display=t,this.display}setFocused(e,t={}){if(!d(e))throw TypeError(`Invalid focused date: ${e}`);if(this.focused=e,t.follow!==!1)this.display=f(e);return this.focused}moveFocusDays(e){return this.setFocused(F(this.focused,e))}moveFocusMonths(e){return this.setFocused(ce(this.focused,e))}moveFocusYears(e){return this.setFocused(Pe(this.focused,e))}focusWeekStart(){return this.setFocused(ue(this.focused,this.firstDay))}focusWeekEnd(){return this.setFocused(we(this.focused,this.firstDay))}navigateMonth(e){let t=Q(this.display,e);return this.setDisplay(t),this.display}}function Dt(e){if(typeof e!=="string")return"";return[...new Set(e.split(/\s+/).filter((t)=>t&&!t.startsWith("dp-")&&![...t].some((s)=>s.charCodeAt(0)<32||s.charCodeAt(0)===127)))].join(" ")}function ke(e,t){return e.month===t.month&&e.year===t.year&&e.nav===t.nav}var xe={month:"",year:"",nav:""};function se(){return{...xe}}function ie(e){if(e==null)return null;let t={};for(let s of["month","year","nav"])if(Object.hasOwn(e,s))t[s]=Dt(e[s]);return t}function Be(e){return e==null||["month","year","nav"].some((t)=>!Object.hasOwn(e,t))}function ne(e){return{...se(),...ie(e)}}function he(e){let t=ne(e);if(ke(xe,t))return;xe=t;for(let s of Ee)s()}var Ee=new Set;function Ne(e){return Ee.add(e),()=>{Ee.delete(e)}}function fe(e){if(e==null)return{start:"",end:""};if(typeof e!=="object")throw TypeError("highlightedRange expects { start, end }");let{start:t="",end:s=""}=e;if(t&&!d(t))throw TypeError(`Invalid range start: ${t}`);if(s&&!d(s))throw TypeError(`Invalid range end: ${s}`);if(!t&&s)throw TypeError("highlightedRange cannot define an end without a start");if(t&&s&&g(s,t)<0)throw TypeError("highlightedRange must be ordered; start must be on or before end");return{start:t,end:s}}function pe(e,t){if(!t||!d(e))return"";let{start:s,end:i}=t;if(!s||!d(s))return"";if(s===e)return i?i===e?"single":"start":"start";if(i&&i===e)return"end";if(i&&g(e,s)>=0&&g(e,i)<=0)return"in";return""}class Ce{constructor(){this.activeEndpoint="",this.start="",this.end=""}get range(){return{start:this.start,end:this.end}}get complete(){return Boolean(this.start&&this.end&&g(this.end,this.start)>=0)}focus(e){this.activeEndpoint=e}_refuse(e){return{status:"refused",endpoint:e,changedEndpoints:[],range:this.range,activeEndpoint:this.activeEndpoint}}project(e,t=()=>!0){if(!d(e))throw TypeError(`Invalid range activation: ${e}`);let{start:s,end:i}=this;if(this.complete&&(g(e,s)<0||g(e,i)>0)){let r=g(e,s)<0?"start":"end";if(!t(r))return this._refuse(r);return{status:"complete",endpoint:r,changedEndpoints:[r],range:r==="start"?{start:e,end:i}:{start:s,end:e},activeEndpoint:r}}if(this.activeEndpoint==="end"){if(s&&!i&&g(e,s)<0){if(!t("start"))return this._refuse("start");if(!t("end"))return this._refuse("end");return{status:"complete",endpoint:"end",changedEndpoints:["start","end"],range:{start:e,end:s},activeEndpoint:"end"}}if(s&&g(e,s)<0)return this._refuse("end");if(!t("end"))return this._refuse("end");return{status:s?"complete":"pending",endpoint:"end",changedEndpoints:["end"],range:{start:s,end:e},activeEndpoint:"end"}}if(i&&!s&&g(e,i)>0){if(!t("start"))return this._refuse("start");if(!t("end"))return this._refuse("end");return{status:"complete",endpoint:"start",changedEndpoints:["start","end"],range:{start:i,end:e},activeEndpoint:"start"}}if(!t("start"))return this._refuse("start");let n=t("end");return{status:"pending",endpoint:"start",changedEndpoints:["start"],range:{start:e,end:i},activeEndpoint:n?"end":this.activeEndpoint,...n?{}:{close:!0}}}projectEndpoint(e,t,s=()=>!0){if(!d(e))throw TypeError(`Invalid range activation: ${e}`);if(!this.complete||!s(t))return this._refuse(t);let{start:i,end:n}=this,r=t==="start"?i:n,a=t==="start"?Et(e,n):xt(e,i);return{status:"complete",endpoint:t,changedEndpoints:a===r?[]:[t],range:t==="start"?{start:a,end:n}:{start:i,end:a},activeEndpoint:t}}previewRange(e,t="",s=()=>!0){if(!d(e))return null;if(!t&&Boolean(this.start)===Boolean(this.end))return null;let i=t?this.projectEndpoint(e,t,s):this.project(e,s);if(i.status==="refused")return null;let{start:n,end:r}=i.range;if(!n||r&&g(r,n)<0)return null;return{start:n,end:r}}_apply(e){if(e.status==="refused")return e;return this.start=e.range.start,this.end=e.range.end,this.activeEndpoint=e.activeEndpoint,e}activate(e,t=()=>!0){return this._apply(this.project(e,t))}moveEndpoint(e,t,s=()=>!0){return this._apply(this.projectEndpoint(e,t,s))}}function xt(e,t){if(!e)return t;if(!t)return e;return g(e,t)>=0?e:t}function Et(e,t){if(!e)return t;if(!t)return e;return g(e,t)<=0?e:t}var je=/[\u200e\u200f\u061c\u202a-\u202e\u2066-\u2069]/g,kt=new Map,Ct=new Map;function Ye(e,t,s){let i=e.get(t);if(i!==void 0)return i;let n=s(),r=e.keys().next().value;if(e.size>=64&&r!==void 0)e.delete(r);return e.set(t,n),n}function G(e,t){let s=JSON.stringify([e,t]);return Ye(kt,s,()=>new Intl.DateTimeFormat(e,t))}function P(e=""){if(e)return e;if(typeof document<"u"&&document.documentElement.lang)return document.documentElement.lang;if(typeof navigator<"u"&&navigator.language)return navigator.language;return"en-US"}function At(e){return Ye(Ct,e,()=>{let t=new Intl.NumberFormat(e,{useGrouping:!1}),s=new Map;for(let i=0;i<=9;i++)s.set(t.format(i),String(i));return s})}function Ue(e,t,s={}){let i=String(e||"").replace(je,"");if(s.trim!==!1)i=i.trim();for(let[n,r]of At(t))i=i.split(n).join(r);return i}function re(e,t=""){let s=P(t);return G(s,{calendar:"gregory",weekday:"long",year:"numeric",month:"long",day:"numeric",timeZone:"UTC"}).format(V(e))}function Ge(e,t=""){let s=P(t);return G(s,{calendar:"gregory",year:"numeric",month:"long",timeZone:"UTC"}).format(V(`${e.slice(0,7)}-15`))}function We(e=""){let t=P(e);try{let s=G(t,{calendar:"gregory",year:"numeric",month:"long",timeZone:"UTC"}).formatToParts(V("2026-09-15")),i=-1,n=-1;if(s.forEach((r,a)=>{let o=r.type;if(o==="month"){if(i<0)i=a}else if(o==="year"||o==="relatedYear"||o==="yearName"){if(n<0)n=a}}),i>=0&&n>=0)return n<i?["year","month"]:["month","year"]}catch{}return["month","year"]}function Ke(e="",t="long"){let s=P(e),i=G(s,{calendar:"gregory",month:t,timeZone:"UTC"});return Array.from({length:12},(n,r)=>i.format(V(`2026-${String(r+1).padStart(2,"0")}-15`)))}function Ae(e="",t=1,s="short"){let i=P(e),n=G(i,{calendar:"gregory",weekday:s,timeZone:"UTC"}),r=Y(t),a=V("2026-01-04");return Array.from({length:7},(o,c)=>{let l=new Date(a);return l.setUTCDate(a.getUTCDate()+(r+c)%7),n.format(l)})}function Tt(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ae(e=""){let t=P(e),s=G(t,{calendar:"gregory",year:"numeric",month:"2-digit",day:"2-digit",timeZone:"UTC"}),i=V("2006-11-22"),n=s.formatToParts(i).filter((l)=>l.type!=="literal"||l.value),r=n.filter((l)=>["day","month","year"].includes(l.type)).map((l)=>l.type),a=n.map((l)=>{if(l.type==="day")return"DD";if(l.type==="month")return"MM";if(l.type==="year")return"YYYY";return l.value.replace(je,"")}).join(""),o=n.map((l)=>{if(l.type==="day"||l.type==="month")return"(\\d{1,2})";if(l.type==="year")return"(\\d{4})";let u=Ue(l.value,t,{trim:!1});return Tt(u).replace(/\s+/g,"\\s*")}).join(""),c=new RegExp(`^\\s*${o}\\s*$`);return{locale:t,placeholder:a,format(l){if(!d(l))return"";return s.format(V(l))},parse(l){let u=Ue(l,t);if(d(u))return u;let b=c.exec(u);if(!b)return"";let D={};if(r.forEach((x,T)=>{D[x]=Number(b[T+1])}),!D.year||!D.month||!D.day)return"";try{return N(D.year,D.month,D.day)}catch{return""}}}}var St={chooseDate:"Choose date",changeDate:"Change date",previousMonth:"Previous month",nextMonth:"Next month",month:"Month",year:"Year",calendar:"Choose a date",unavailable:"Unavailable",invalidDate:"Enter a valid date",unavailableDate:"This date is unavailable",formatHint:"Format",week:"Week",rangeStart:"Range start",rangeInRange:"Inside range",rangeEnd:"Range end",rangeSingle:"Range of one day",rangeOrderStart:"Start must be on or before end",rangeOrderEnd:"End must be on or after start"},Te={...St};function B(){return{...Te}}function me(e){Te={...Te,...e};for(let t of Se)t()}var Se=new Set;function ge(e){return Se.add(e),()=>{Se.delete(e)}}function qe(e){let t=e&&typeof e==="object"&&!Array.isArray(e)&&"dates"in e?e.dates:e,s=new Map;if(Array.isArray(t)){for(let i of t){if(!i||typeof i!=="object"||!("date"in i))continue;let{date:n,...r}=i;s.set(String(n),r)}return s}if(t&&typeof t==="object")for(let[i,n]of Object.entries(t))s.set(i,n&&typeof n==="object"?n:{});return s}function W(e,t){for(let s of t){if(!Object.hasOwn(e,s))continue;let i=Reflect.get(e,s);Reflect.deleteProperty(e,s),Reflect.set(e,s,i)}}var Mt=0;function A(e){return String(e).replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;").replaceAll('"',"&quot;").replaceAll("'","&#039;")}function $t(e){let t=Number(e);if(t===7)return 0;return Number.isInteger(t)&&t>=0&&t<=6?t:1}function Ft(e){return Number(e.slice(0,4))}function _e(e,t){let[s,i]=e.split("-").map(Number),n=s*12+(i-1)+t,r=Math.floor(n/12),a=(n%12+12)%12+1;if(r<1||r>9999)return null;return`${String(r).padStart(4,"0")}-${String(a).padStart(2,"0")}`}function Xe(e){return{"data-range-start":e==="start"||e==="single","data-range-end":e==="end"||e==="single","data-in-range":e==="in"}}function Lt(e){return Object.entries(Xe(e)).filter(([,t])=>t).map(([t])=>` ${t}="true"`).join("")}function It(e){if(e==="single")return"rangeSingle";if(e==="start")return"rangeStart";if(e==="end")return"rangeEnd";if(e==="in")return"rangeInRange";return""}class oe extends HTMLElement{static observedAttributes=["value","display","min","max","first-day","locale","fixed-weeks","show-week-numbers","selection","month-format"];static setDefaultControlClasses(e){he(e)}static getDefaultControlClasses(){return se()}static setDefaultMessages(e){me(e)}static getDefaultMessages(){return B()}constructor(){super();this._id=`date-calendar-${++Mt}`,this._model=new De,this._connected=!1,this._rendering=!1,this._source=null,this._sourceStates=new Map,this._loadedRanges=new Set,this._loadController=null,this._loadingKey="",this._loadingPromise=null,this._dateState=null,this._renderDay=null,this._isDateDisabled=null,this._highlightedRange={start:"",end:""},this._paintedRange={start:"",end:""},this._paintedPreview=!1,this._renderedStates=new Map,this._messages=null,this._controlClasses=null,this._stopDefaultMessages=null,this._stopDefaultControlClasses=null,this._onClick=this._onClick.bind(this),this._onChange=this._onChange.bind(this),this._onKeyDown=this._onKeyDown.bind(this),this._onFocusIn=this._onFocusIn.bind(this)}connectedCallback(){if(this._connected)return;W(this,["locale","min","max","firstDay","selection","monthFormat","fixedWeeks","showWeekNumbers","controlClasses","messages","source","dateState","renderDay","isDateDisabled","highlightedRange","value","display"]),this._syncModel(),W(this,["focusedDate"]),this._stopDefaultControlClasses=Ne(()=>{if(Be(this._controlClasses))this.render()}),this._stopDefaultMessages=ge(()=>{if(this._messages===null)this.render()}),this._connected=!0,this.addEventListener("click",this._onClick),this.addEventListener("change",this._onChange),this.addEventListener("keydown",this._onKeyDown),this.addEventListener("focusin",this._onFocusIn),this.render()}disconnectedCallback(){this._stopDefaultControlClasses?.(),this._stopDefaultControlClasses=null,this._stopDefaultMessages?.(),this._stopDefaultMessages=null,this._connected=!1,this._loadController?.abort(),this._loadController=null,this._loadingKey="",this._loadingPromise=null,this.removeEventListener("click",this._onClick),this.removeEventListener("change",this._onChange),this.removeEventListener("keydown",this._onKeyDown),this.removeEventListener("focusin",this._onFocusIn)}attributeChangedCallback(){if(!this._connected||this._rendering)return;this._syncModel(),this.render()}get locale(){return P(this.getAttribute("locale")||"")}set locale(e){if(e)this.setAttribute("locale",e);else this.removeAttribute("locale")}get value(){return this._model.value}set value(e){let t=e||"";if(t&&!d(t))throw TypeError(`Invalid calendar value: ${t}`);if(t===this._model.value)return;if(this._model.setValue(t),this._reflect("value",t),this._connected)this.render()}get display(){return this._model.display}set display(e){this._setDisplay(e,{emit:!1})}get focusedDate(){return this._model.focused}set focusedDate(e){let t=e||"";if(t===this._model.focused)return;this.focusDate(t,{moveFocus:!1})}get min(){let e=this.getAttribute("min")||"";return d(e)?e:""}set min(e){if(e)this.setAttribute("min",e);else this.removeAttribute("min")}get max(){let e=this.getAttribute("max")||"";return d(e)?e:""}set max(e){if(e)this.setAttribute("max",e);else this.removeAttribute("max")}get firstDay(){return $t(this.getAttribute("first-day")||"1")}set firstDay(e){this.setAttribute("first-day",String(e))}get selection(){return this.getAttribute("selection")==="none"?"none":"single"}set selection(e){this.setAttribute("selection",e==="none"?"none":"single")}get monthFormat(){return this.getAttribute("month-format")==="short"?"short":"long"}set monthFormat(e){if(e==="short")this.setAttribute("month-format","short");else this.removeAttribute("month-format")}get highlightedRange(){return{...this._highlightedRange}}set highlightedRange(e){let t=fe(e),s=this.hasAttribute("data-range-preview");if(t.start===this._paintedRange.start&&t.end===this._paintedRange.end&&s===this._paintedPreview)return;if(this._highlightedRange=t,this._connected)this._updateRangeDom()}get fixedWeeks(){return this.hasAttribute("fixed-weeks")}set fixedWeeks(e){this.toggleAttribute("fixed-weeks",Boolean(e))}get showWeekNumbers(){return this.hasAttribute("show-week-numbers")}set showWeekNumbers(e){this.toggleAttribute("show-week-numbers",Boolean(e))}get controlClasses(){return ne(this._controlClasses)}set controlClasses(e){let t=this.controlClasses;if(this._controlClasses=ie(e),ke(t,this.controlClasses))return;if(this._connected)this.render()}get messages(){return this._messages??B()}set messages(e){if(this._messages=e==null?null:{...B(),...e},this._connected)this.render()}get source(){return this._source}set source(e){this._source=e||null,this.refreshSource()}get dateState(){return this._dateState}set dateState(e){if(this._dateState=typeof e==="function"?e:null,this._connected)this.render()}get renderDay(){return this._renderDay}set renderDay(e){if(this._renderDay=typeof e==="function"?e:null,this._connected)this.render()}get isDateDisabled(){return this._isDateDisabled}set isDateDisabled(e){if(this._isDateDisabled=typeof e==="function"?e:null,this._connected)this.render()}_syncModel(){let e=this.firstDay;this._model.firstDay=e;let t=this.getAttribute("value")||"";if(!t||d(t))this._model.value=t;let s=this.getAttribute("display")||"";if(s)try{this._model.setDisplay(te(s,e))}catch{}else if(this._model.value)this._model.display=f(this._model.value),this._model.focused=this._model.value;if(this._model.focused=this._clamp(this._model.focused),!this.getAttribute("display"))this._model.display=f(this._model.focused)}_reflect(e,t){if(this._rendering=!0,t){if(this.getAttribute(e)!==t)this.setAttribute(e,t)}else if(this.hasAttribute(e))this.removeAttribute(e);this._rendering=!1}_clamp(e){let t=He(e,this.min,this.max),s=f(t),i=te(s,this.firstDay);if(i===s)return t;let n=Number(t.slice(8,10))||1,r=F(`${i}-01`,n-1),a=ve(i);return g(r,a)>0?a:r}_weeks(e=this.display){return ze(te(e,this.firstDay),{firstDay:this.firstDay,fixedWeeks:this.fixedWeeks})}_focusTargetKey(e){if(e.matches(".dp-month-select, .dp-year-input")&&e.id)return`#${CSS.escape(e.id)}`;if(e.matches(".dp-nav[data-calendar-action]"))return`.dp-nav[data-calendar-action="${CSS.escape(e.dataset.calendarAction||"")}"]`;if(e.matches(".dp-day[data-date]")){let t=e.getAttribute("data-date")||"";if(d(t))return`.dp-day[data-date="${t}"]`}return""}_range(e=this.display){let t=this._weeks(e),s=t[0],i=t[t.length-1];if(!s||!i)throw Error("Calendar month produced no weeks");return{start:s[0],end:i[6]}}getDateState(e){let t=this._sourceStates.get(e)||{},s=this._dateState?.(e,{...t})||{},i={...t,...s},n=this.min&&g(e,this.min)<0||this.max&&g(e,this.max)>0,a=i.enabled===!0?!1:Boolean(this._isDateDisabled?.(e)),o=Boolean(n)||Boolean(i.disabled)||a;return{...i,disabled:o}}async refreshSource(){if(this._loadController?.abort(),this._loadController=null,this._loadingKey="",this._loadingPromise=null,this._loadedRanges.clear(),this._sourceStates.clear(),this._connected)this.render(),await this._loadDisplay(this.display)}async ensureDate(e){if(!d(e)||!this._source)return!0;return await this._loadDisplay(f(e),!1)==="loaded"}async _loadDisplay(e,t=!0){if(!this._source)return"loaded";let s=this._range(e),i=`${s.start}/${s.end}`;if(this._loadedRanges.has(i))return"loaded";if(i===this._loadingKey&&this._loadingPromise)return this._loadingPromise;this._loadController?.abort();let n=new AbortController;this._loadController=n,this._loadingKey=i;let r=this._source,a=(async()=>{this.toggleAttribute("data-loading",!0),this.dispatchEvent(new CustomEvent("dateloadstart",{detail:s,bubbles:!0}));try{let o=typeof r==="function"?r:r?.load?.bind(r);if(!o)throw TypeError("Date source must be a function or expose load(range, { signal })");let c=await o(s,{signal:n.signal});if(n.signal.aborted)return"cancelled";for(let[l,u]of qe(c))this._sourceStates.set(l,u);if(this._loadedRanges.add(i),this.dispatchEvent(new CustomEvent("dateloadend",{detail:s,bubbles:!0})),t&&this._connected&&f(this.display)===f(e))this.render(!1);return"loaded"}catch(o){if(n.signal.aborted)return"cancelled";return this.dispatchEvent(new CustomEvent("dateloaderror",{detail:{...s,error:o},bubbles:!0})),"failed"}finally{if(this._loadController===n)this._loadController=null,this.removeAttribute("data-loading");if(this._loadingKey===i)this._loadingKey="",this._loadingPromise=null}})();return this._loadingPromise=a,a}_setDisplay(e,t={}){let s=this._model.display;if(this._model.setDisplay(te(e,this.firstDay)),this._model.focused=this._clamp(this._model.focused),this._model.display=f(this._model.focused),this._reflect("display",this._model.display),this._connected)this.render();if(t.emit!==!1&&s!==this._model.display)this._emitDisplayChange();return this._model.display}_emitDisplayChange(){let e=this._range();this.dispatchEvent(new CustomEvent("displaychange",{detail:{display:this.display,...e},bubbles:!0}))}previousMonth(){return this._setDisplay(_e(this.display,-1)??this.display)}nextMonth(){return this._setDisplay(_e(this.display,1)??this.display)}focusDate(e,t={}){if(!d(e))throw TypeError(`Invalid date: ${e}`);let s=this._clamp(e),i=this.display,n=this._model.focused,r=t.moveFocus!==!1;if(this._model.setFocused(s),this._reflect("display",this._model.display),i!==this.display){if(this._connected)this.render();this._emitDisplayChange()}else if(this._connected&&n!==this._model.focused)this._moveFocusDom(n,this._model.focused,r);if(r)queueMicrotask(()=>this.focusGrid())}_moveFocusDom(e,t,s=!0){let i=e?this.querySelector(`.dp-day[data-date="${CSS.escape(e)}"]`):null,n=this.querySelector(`.dp-day[data-date="${CSS.escape(t)}"]`);if(i instanceof HTMLElement)i.tabIndex=-1;if(n instanceof HTMLElement){if(n.tabIndex=0,s)n.focus()}else if(s)this.focusGrid()}_moveSelectionDom(e,t){if(e){let s=this.querySelector(`.dp-day[data-date="${CSS.escape(e)}"]`);if(s instanceof HTMLElement)s.removeAttribute("data-selected"),s.removeAttribute("aria-selected")}if(t){let s=this.querySelector(`.dp-day[data-date="${CSS.escape(t)}"]`);if(s instanceof HTMLElement)return s.setAttribute("data-selected","true"),s.setAttribute("aria-selected","true"),!0}return!1}_dayLabel(e,t,s){let i=this.hasAttribute("data-range-preview")?"":It(s),n=typeof t.description==="string"?t.description:"";return[re(e,this.locale),n,i?this.messages[i]:"",t.disabled?this.messages.unavailable:""].filter(Boolean).join(". ")}_updateRangeDom(){let e=this._paintedRange,t=this._paintedPreview;this._paintedRange={...this._highlightedRange},this._paintedPreview=this.hasAttribute("data-range-preview");for(let s of this.querySelectorAll(".dp-day[data-date]")){if(!(s instanceof HTMLTableCellElement))continue;let i=s.dataset.date||"",n=pe(i,this._highlightedRange);if(n===pe(i,e)&&t===this._paintedPreview)continue;for(let[r,a]of Object.entries(Xe(n)))if(a)s.setAttribute(r,"true");else s.removeAttribute(r);if(!t||!this._paintedPreview){let r=this._renderedStates.get(i)||{},a=this._dayLabel(i,r,n);if(s.getAttribute("aria-label")!==a)s.setAttribute("aria-label",a)}}}focusGrid(){let e=this.querySelector(`.dp-day[data-date="${CSS.escape(this.focusedDate)}"]`);if(e instanceof HTMLElement)e.focus()}async activateDate(e){let t=await this.ensureDate(e),s=this.getDateState(e);if(!t||s.disabled)return this.dispatchEvent(new CustomEvent("dateinvalid",{detail:{date:e,state:s},bubbles:!0})),!1;if(!this.dispatchEvent(new CustomEvent("dateactivate",{detail:{date:e,state:s},bubbles:!0,cancelable:!0})))return!1;if(this.selection==="single"){let n=this._model.value;if(this._model.setValue(e),this._reflect("value",e),this.dispatchEvent(new CustomEvent("datechange",{detail:{value:e},bubbles:!0})),this.dispatchEvent(new Event("change",{bubbles:!0})),this._connected)if(f(e)===this.display)this._moveSelectionDom(n,e);else this.render()}else if(this._connected){if(f(e)!==this.display)this.render()}return!0}_onClick(e){let t=e.target;if(!(t instanceof Element))return;let s=t.closest("[data-calendar-action]");if(s instanceof HTMLButtonElement){let a=s.dataset.calendarAction;if(a==="previous")this.previousMonth();if(a==="next")this.nextMonth();return}let i=t.closest(".dp-day[data-date]");if(!(i instanceof HTMLTableCellElement))return;let n=i.dataset.date||"";if(!d(n))return;let r=this.display;if(this._model.setFocused(this._clamp(n)),this._reflect("display",this._model.display),r!==this.display)this._emitDisplayChange();this.activateDate(n)}_onChange(e){let t=e.target;if(t instanceof HTMLSelectElement&&t.matches(".dp-month-select")){this._setDisplay(`${this.display.slice(0,4)}-${t.value}`);return}if(t instanceof HTMLInputElement&&t.matches(".dp-year-input")){let s=Number(t.value);if(!Number.isInteger(s)||s<1||s>9998){if(this._connected)this.render(!1);return}this._setDisplay(`${String(s).padStart(4,"0")}-${this.display.slice(5,7)}`)}}_onFocusIn(e){let t=e.target;if(!(t instanceof HTMLTableCellElement)||!t.matches(".dp-day[data-date]"))return;let s=t.dataset.date||"";if(!d(s))return;this._model.focused=s,this.dispatchEvent(new CustomEvent("datefocus",{detail:{date:s,state:this.getDateState(s)},bubbles:!0}))}_onKeyDown(e){let t=e.target;if(!(t instanceof HTMLTableCellElement)||!t.matches(".dp-day[data-date]"))return;let s=t.dataset.date||this.focusedDate;if(e.key==="Enter"||e.key===" "){e.preventDefault(),this.activateDate(s);return}let i=this._model.focused,n=this._model.display;if(this._model.firstDay=this.firstDay,this._model.setFocused(s,{follow:!1}),e.key==="ArrowLeft")this._model.moveFocusDays(-1);else if(e.key==="ArrowRight")this._model.moveFocusDays(1);else if(e.key==="ArrowUp")this._model.moveFocusDays(-7);else if(e.key==="ArrowDown")this._model.moveFocusDays(7);else if(e.key==="Home")this._model.focusWeekStart();else if(e.key==="End")this._model.focusWeekEnd();else if(e.key==="PageUp")e.shiftKey?this._model.moveFocusYears(-1):this._model.moveFocusMonths(-1);else if(e.key==="PageDown")e.shiftKey?this._model.moveFocusYears(1):this._model.moveFocusMonths(1);else return;let r=this._model.focused;if(this._model.focused=i,this._model.display=n,!r)return;e.preventDefault(),this.focusDate(this._clamp(r))}render(e=!0){if(!this._connected)return;let t=this.locale,s=this.display,i=Ft(s),n=Number(s.slice(5,7)),r=Ke(t,this.monthFormat),a=Ae(t,this.firstDay,"short"),o=Ae(t,this.firstDay,"long"),c=this._weeks(),l=R(),u=`${this._id}-heading`,b=`${this._id}-grid`,D=this.min?f(this.min):"",x=this.max?f(this.max):"",T=_e(s,-1),S=_e(s,1),M=Boolean(D&&T!==null&&T<D),y=Boolean(x&&S!==null&&S>x),v=this.min?` min="${Number(this.min.slice(0,4))}"`:"",E=this.max?` max="${Number(this.max.slice(0,4))}"`:"",C=this.showWeekNumbers&&this.firstDay===1,k=C?`<th scope="col" class="dp-week-heading" abbr="${A(this.messages.week)}">#</th>`:"",z=r.map((h,m)=>{let w=m+1,p=`${String(i).padStart(4,"0")}-${String(w).padStart(2,"0")}`,J=D&&p<D||x&&p>x;return`<option value="${String(w).padStart(2,"0")}"${w===n?" selected":""}${J?" disabled":""}>${A(h)}</option>`}).join(""),I=a.map((h,m)=>`<th scope="col" abbr="${A(o[m])}">${A(h.replace(".",""))}</th>`).join("");this._renderedStates.clear();let U=c.map((h)=>{let m=C?`<th scope="row" class="dp-week-number">${Ve(h[0])}</th>`:"",w=h.map((p)=>{let J=this.getDateState(p);this._renderedStates.set(p,J);let ct=f(p)!==s,ut=this.value===p,ht=this.focusedDate===p,ft=p===l,Ie=pe(p,this._highlightedRange),pt=this._dayLabel(p,J,Ie);return`<td class="dp-day" data-date="${p}"${ct?' data-outside-month="true"':""}${ft?' data-today="true" aria-current="date"':""}${ut?' data-selected="true" aria-selected="true"':""}${Lt(Ie)}${J.disabled?' data-disabled="true" aria-disabled="true"':""} tabindex="${ht?"0":"-1"}" aria-label="${A(pt)}"><span class="dp-day-number" aria-hidden="true">${Number(p.slice(8,10))}</span><span class="dp-day-extra" aria-hidden="true"></span></td>`}).join("");return`<tr>${m}${w}</tr>`}).join(""),K=document.activeElement,q=K instanceof HTMLElement&&this.contains(K)?this._focusTargetKey(K):"",O=We(t)[0]==="year";this.toggleAttribute("data-year-first",O);let X=this.controlClasses,j=A(X.month||"dp-skin"),be=A(X.year||"dp-skin"),le=A(X.nav||"dp-skin"),Z=`<label class="dp-visually-hidden" for="${this._id}-month">${A(this.messages.month)}</label>
496
+ <select id="${this._id}-month" class="dp-month-select ${j}" aria-label="${A(this.messages.month)}">${z}</select>`,_=`<label class="dp-visually-hidden" for="${this._id}-year">${A(this.messages.year)}</label>
497
+ <input id="${this._id}-year" class="dp-year-input ${be}" type="number" inputmode="numeric" value="${i}"${v}${E} aria-label="${A(this.messages.year)}">`;if(this._rendering=!0,this.innerHTML=`
498
498
  <div class="dp-calendar-shell">
499
499
  <div class="dp-calendar-header">
500
- ${O?_:X}
501
- ${O?X:_}
502
- <button type="button" class="dp-nav dp-prev ${ae}" data-calendar-action="previous" aria-label="${A(this._messages.previousMonth)}"${M?" disabled":""}><svg aria-hidden="true" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="m4 10 4-4 4 4"/></svg></button>
503
- <button type="button" class="dp-nav dp-next ${ae}" data-calendar-action="next" aria-label="${A(this._messages.nextMonth)}"${y?" disabled":""}><svg aria-hidden="true" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="m4 6 4 4 4-4"/></svg></button>
500
+ ${O?_:Z}
501
+ ${O?Z:_}
502
+ <button type="button" class="dp-nav dp-prev ${le}" data-calendar-action="previous" aria-label="${A(this.messages.previousMonth)}"${M?" disabled":""}><svg aria-hidden="true" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="m4 10 4-4 4 4"/></svg></button>
503
+ <button type="button" class="dp-nav dp-next ${le}" data-calendar-action="next" aria-label="${A(this.messages.nextMonth)}"${y?" disabled":""}><svg aria-hidden="true" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="m4 6 4 4 4-4"/></svg></button>
504
504
  </div>
505
- <h2 id="${h}" class="dp-calendar-heading dp-visually-hidden" aria-live="polite">${A(Oe(`${i}-15`,t))}</h2>
506
- <table id="${b}" class="dp-grid" role="grid" aria-labelledby="${h}">
505
+ <h2 id="${u}" class="dp-calendar-heading dp-visually-hidden" aria-live="polite">${A(Ge(`${s}-15`,t))}</h2>
506
+ <table id="${b}" class="dp-grid" role="grid" aria-labelledby="${u}">
507
507
  <thead><tr>${k}${I}</tr></thead>
508
- <tbody>${N}</tbody>
508
+ <tbody>${U}</tbody>
509
509
  </table>
510
- </div>`,this._rendering=!1,this._paintedRange={...this._highlightedRange},this._paintedPreview=this.hasAttribute("data-range-preview"),K)queueMicrotask(()=>{let u=K;if(u.startsWith(".dp-day[data-date="))u=`.dp-day[data-date="${CSS.escape(this._model.focused)}"]`;let m=this.querySelector(u);if(m instanceof HTMLElement)m.focus()});if(this._renderDay)for(let u of this.querySelectorAll(".dp-day[data-date]")){if(!(u instanceof HTMLTableCellElement))continue;let m=u.dataset.date||"",w=u.querySelector(".dp-day-extra");if(!(w instanceof HTMLElement))continue;let p=this._renderDay(m,this._renderedStates.get(m)||{});if(p instanceof Node)w.append(p);else if(p!==void 0&&p!==null)w.textContent=String(p)}if(e)this._loadDisplay(i)}}function pe(e){return e==="top"||e==="bottom"?"x":"y"}var Ye={top:"bottom",bottom:"top",left:"right",right:"left"},Ct=new Set(Object.keys(Ye).flatMap((e)=>[e,`${e}-start`,`${e}-end`])),At=new Set(["viewport","document"]);function Tt(e){if(!Ct.has(e))throw TypeError(`Unknown placement: ${e}`);let[t,i=null]=e.split("-");return{side:t,align:i,crossAxis:pe(t)}}function St(e,t,i,n,s,r){let a=pe(i),o=e.x+e.width/2-t.width/2,c=e.y+e.height/2-t.height/2,l=e[a==="x"?"width":"height"]/2-t[a==="x"?"width":"height"]/2,h;switch(i){case"top":h={x:o,y:e.y-t.height-r};break;case"bottom":h={x:o,y:e.y+e.height+r};break;case"right":h={x:e.x+e.width+r,y:c};break;case"left":h={x:e.x-t.width-r,y:c};break;default:h={x:e.x,y:e.y}}if(n==="start"||n==="end"){let b=(s&&a==="x"?-1:1)*(n==="end"?1:-1);h[a]+=l*b}return h}function Mt(e,t,i,n){return Math.max(i-e,0)+Math.max(e+t-n,0)}function $t(e){let t=e.ownerDocument?.defaultView;if(t&&e instanceof t.Element)return t.getComputedStyle(e).direction==="rtl";return"dir"in e&&e.dir==="rtl"}var Ft=25;function Lt(e){let t=e.defaultView;if(!t)return null;let i=e.documentElement,n=t.visualViewport,s=n?.offsetLeft||0,r=n?.offsetTop||0,a=n?.width||i.clientWidth||t.innerWidth,o=n?.height||i.clientHeight||t.innerHeight,c=e.compatMode==="BackCompat"?a-i.clientWidth:i.clientWidth-i.getBoundingClientRect().width;if(c>0&&c<=Ft){let l=t.getComputedStyle?.(i).scrollbarGutter;if(l&&l!=="auto")a-=c}return{x:s,y:r,width:a,height:o,right:s+a,bottom:r+o}}function It(e,t){return t.scope?t.scope.getBoundingClientRect():Lt(e.ownerDocument)}function Ve(e,t,i,n,s){let r=i+s,a=n-t-s,o=a>=r,c=o?r:i,l=o?a:n-t;return Math.max(c,Math.min(e,l))}function Be(e,t,i){if(!i)return 50;let n=(e-t)/i*100;return Math.round(Math.min(100,Math.max(0,n))*1000)/1000}function Ot(e,t){for(let i=0;i<e.length;i++){let n=e[i];if(n.right>=t.x&&n.left<=t.right&&n.bottom>=t.y&&n.top<=t.bottom)return!1}return!0}function Rt(e,t,i,n,s){if(t==="top")return Math.max(0,e.top-i.y-n-s);if(t==="bottom")return Math.max(0,i.bottom-e.bottom-n-s);return Math.max(0,i.height-s*2)}function Pt(e){if(e.hidden)return!1;if(typeof e.checkVisibility==="function")return e.checkVisibility();return e.getClientRects().length>0}function Ge(e){let{offsetWidth:t,offsetHeight:i}=e;if(t&&i)return{width:t,height:i};let n=e.getBoundingClientRect();return{width:t||n.width,height:i||n.height}}var Ne=new WeakMap,Ue={scroll:0,resize:1,"element-resize":2};function zt(e){let t=e.defaultView;if(!t)throw TypeError("floating must belong to a document with a browsing context");let i=new Set,n=new Map,s=t.ResizeObserver,r=!1,a=!1,o=t.visualViewport;function c(y,v){let E=n.get(y);if(E===void 0||Ue[v]>Ue[E])n.set(y,v)}function l(){if(r)return;r=!0,t.requestAnimationFrame(()=>{let y=[...n];n.clear(),r=!1;for(let[v,E]of y){if(!i.has(v)||!v.floating.isConnected)continue;try{v.callback({type:E})}catch(C){h(C)}}})}function h(y){if(typeof t.reportError==="function")t.reportError(y);else t.setTimeout(()=>{throw y})}function b(y){for(let v of i)c(v,y);l()}function D(y){if(!s)return null;let v=new Set,E=new s((z)=>{let I=!1;for(let N of z)if(v.has(N.target))I=!0;else v.add(N.target);if(!I)return;c(y,"element-resize"),l()}),{reference:C,floating:k}=y;if(C)E.observe(C);if(k!==C)E.observe(k);return E}let x=()=>b("scroll"),T=()=>b("resize");function S(){if(a)return;e.addEventListener("scroll",x,{passive:!0,capture:!0}),t.addEventListener("resize",T,{passive:!0}),o?.addEventListener("scroll",x,{passive:!0}),o?.addEventListener("resize",T,{passive:!0}),a=!0}function M(){if(!a)return;e.removeEventListener("scroll",x,{capture:!0}),t.removeEventListener("resize",T),o?.removeEventListener("scroll",x),o?.removeEventListener("resize",T),a=!1}return{add(y,v,E){let C={reference:y,floating:v,callback:E};i.add(C),S();let k=D(C),z=!1;return()=>{if(z)return;if(z=!0,i.delete(C),n.delete(C),k?.disconnect(),i.size===0)M()}}}}function Ht(e){let t=e.ownerDocument,i=Ne.get(t);if(!i)i=zt(t),Ne.set(t,i);return i}function We(e,t,i){if(!t?.ownerDocument)throw TypeError("autoUpdate() expects a floating HTMLElement");if(e&&e.ownerDocument!==t.ownerDocument)throw TypeError("reference and floating must belong to the same document");if(typeof i!=="function")throw TypeError("callback must be a function");return Ht(t).add(e,t,i)}function je(e,t,i){let n=i.placement===void 0?"bottom-start":i.placement,{side:s,align:r,crossAxis:a}=Tt(n),o=i.coordinateSpace===void 0?"viewport":i.coordinateSpace;if(!At.has(o))throw TypeError(`Unknown coordinateSpace: ${o}`);if(!Pt(t))return null;let c=i.distance||0,l=i.flip!==!1,h=i.shift!==!1,b=i.shiftPadding??4,D=r?$t(e):!1,x=e.getClientRects();if(!x.length)return null;let T=(_)=>_==="bottom"?x[x.length-1]:x[0],S=It(e,i);if(!S||Ot(x,S))return null;let M=Ge(t),y={x:{size:M.width,start:S.x,end:S.right},y:{size:M.height,start:S.y,end:S.bottom}},v=(_,u)=>St(T(_),M,_,u,D,c),E=(_,u)=>{let{size:m,start:w,end:p}=y[u];return Mt(_,m,w+b,p-b)},C=(_,u)=>{let{size:m,start:w,end:p}=y[u];return E(h?Ve(_,m,w,p,b):_,u)},k=v(s,r),z=(_,u)=>{let m=pe(_),w=m==="x"?"y":"x",p=E(u[w],w);return{main:p,total:p+C(u[m],m)}};if(l){let _=z(s,k),u=(m)=>{let w=v(m,r),p=z(m,w);if(p.total<_.total)s=m,k=w,_=p};if(_.main>0)u(Ye[s]);if(a==="y"&&_.main>0)u("top"),u("bottom");a=pe(s)}if(a==="x"&&h&&r){let _=E(k.x,"x");if(_>0){let u=r==="end"?"start":"end",m=v(s,u);if(E(m.x,"x")<_)r=u,k=m}}if(h){let{size:_,start:u,end:m}=y[a];k[a]=Ve(k[a],_,u,m,b)}let I=T(s),N=Be(I.x+I.width/2,k.x,M.width),W=Be(I.y+I.height/2,k.y,M.height),K=`${Rt(I,s,S,c,b)}px`,{style:O}=t,q=O.getPropertyValue("--available-height")!==K,U=o==="document"?e.ownerDocument.defaultView:null,me=U?U.scrollX:0,ae=U?U.scrollY:0;O.left=`${k.x+me}px`,O.top=`${k.y+ae}px`,O.setProperty("--arrow-x",`${N}%`),O.setProperty("--arrow-y",`${W}%`),O.setProperty("--available-height",K);let X=r?`${s}-${r}`:s;return t.dataset.placement=X,{width:M.width,height:M.height,roomChanged:q,placement:X}}function Ke(e,t,i={}){let n=je(e,t,i);if(!n)return!1;if(n.roomChanged){let s=Ge(t);if(s.width!==n.width||s.height!==n.height)je(e,t,{...i,placement:n.placement,flip:!1})}return!0}class re{constructor(e,t={}){this.input=e,this.messages=t.messages||{},this.adapter=ne(t.locale||""),this.hidden=null,this.canonical="",this._dirty=!1,this._commitId=0,this._originalName=e.getAttribute("name")||"",this._attributeObserver=null,this.onAttributesChanged=null,this.confirm=null}setLocale(e){this.adapter=ne(e||"")}setMessages(e){this.messages=e||{}}format(e){return this.adapter.format(e)}parse(e){return this.adapter.parse(e)}get placeholder(){return this.adapter.placeholder}get isDisabled(){return this.input.disabled}get isReadOnly(){return this.input.readOnly}setupFormValue(){let e=this.input;this._originalName=e.getAttribute("name")||"",this._attributeObserver=new MutationObserver(()=>this.onAttributesChanged?.()),this._attributeObserver.observe(e,{attributes:!0,attributeFilter:["disabled","readonly","name","form"]}),this.syncInputState()}syncInputState(){let e=this.input,t=e.getAttribute("name")||"";if(t){if(!this.hidden){let i=document.createElement("input");i.type="hidden",i.value=this.canonical,e.insertAdjacentElement("afterend",i),this.hidden=i}if(this.hidden)this.hidden.name=t;e.removeAttribute("name")}if(this.hidden){if(e.hasAttribute("form"))this.hidden.setAttribute("form",e.getAttribute("form")||"");else this.hidden.removeAttribute("form");this.hidden.disabled=e.disabled}}dirty(){this._commitId++}get isDirty(){return this._dirty}handleInput(){let e=this.input,t=e.value.trim(),i=this.canonical?this.adapter.format(this.canonical):"";if(this.dirty(),t===i){if(this._dirty=!1,this.hidden)this.hidden.value=this.canonical;e.setCustomValidity("");return}if(this._dirty=!0,this.hidden)this.hidden.value="";if(!t){e.setCustomValidity("");return}e.setCustomValidity(this.messages.invalidDate)}async commit(e={}){let t=this.input,i=++this._commitId,n=t.value.trim();if(!n){if(i!==this._commitId)return{status:"stale"};return t.setCustomValidity(""),{status:"clear",value:""}}let s=this.adapter.parse(n);if(!s){if(i!==this._commitId)return{status:"stale"};if(this.hidden)this.hidden.value="";return t.setCustomValidity(this.messages.invalidDate),{status:"invalid"}}if(this.confirm){let r=await this.confirm(s,e);if(i!==this._commitId)return{status:"stale"};if(!r?.ok){if(this.hidden)this.hidden.value="";return t.setCustomValidity(r?.message||this.messages.unavailableDate),{status:"invalid"}}}return{status:"ok",value:s}}setCanonical(e,t={}){let i=e||"";if(i&&!d(i))throw TypeError(`Invalid date-picker value: ${i}`);if(this.dirty(),this.canonical=i,this._dirty=!1,this.hidden)this.hidden.value=i;if(t.format!==!1)this.input.value=i?this.adapter.format(i):"";this.input.setCustomValidity("")}restoreDefault(){let e=String(this.input.defaultValue??"").trim(),t=d(e)?e:this.adapter.parse(e);return t&&d(t)?t:""}teardown(){this._attributeObserver?.disconnect(),this._attributeObserver=null;let e=this.hidden?.getAttribute("name")||this._originalName;if(e)this.input.setAttribute("name",e);this.hidden?.remove(),this.hidden=null}}var Vt=/^(\d{2}):(\d{2})(?::(\d{2})(?:\.(\d{1,3}))?)?$/;function we(e){let t=Vt.exec(String(e||""));if(!t)return null;let i=Number(t[1]),n=Number(t[2]),s=t[3]===void 0?0:Number(t[3]),r=t[4]===void 0?0:Number(t[4].padEnd(3,"0"));if(i>23||n>59||s>59||r>999)return null;return{hour:i,minute:n,second:s,millisecond:r}}function De(e){return we(e)!==null}function qe(e){return((e.hour*60+e.minute)*60+e.second)*1000+e.millisecond}function Xe(e,t){let i=we(e),n=we(t);if(!i||!n)throw TypeError("compareTimes() expects HH:MM values");let s=qe(i)-qe(n);return s===0?0:s<0?-1:1}var Bt=0,Ze=4;class xe extends HTMLElement{static observedAttributes=["value","locale","min","max","open-on-focus","month-format"];constructor(){super();this._id=`date-picker-${++Bt}`,this._connected=!1,this._reflecting=!1,this._value="",this._input=null,this._field=null,this._fields=null,this._range=null,this._orderTags=new Set,this._timeFields=[null,null],this._timeOrderOwned=new Set,this._lastFocusEndpoint="",this._rangeCommitId=0,this._pendingIntents=new Map,this._previewDate="",this._drag=null,this._suppressGridClick=!1,this._buttons=[],this._returnFocus=null,this._panel=null,this._calendar=null,this._originalDescribedBy="",this._rangeOriginalDescribedBy=["",""],this._formatHint=null,this._generatedPlaceholder=!1,this._controller=null,this._stopTracking=null,this._open=!1,this._suppressFocusOpen=!1,this._messages=G(),this._controlClasses=te(),this._source=null,this._dateState=null,this._renderDay=null,this._isDateDisabled=null,this._coordinateSpace="viewport"}_rangeMode(){return this.hasAttribute("range")&&Boolean(this._range)}connectedCallback(){if(this._connected)return;if(this.hasAttribute("range")){this._connectRange();return}this._connectSingle()}_connectSingle(){let e=this.querySelector(":scope > input:not([type=hidden]):not([type=time]):not([data-time-start]):not([data-time-end])");if(!(e instanceof HTMLInputElement)){console.warn("<date-picker> expects a direct child text input");return}this._connected=!0,this._input=e,this._discoverTimeFields(),this._field=new re(e,{messages:this._messages,locale:this.locale}),this._field.onAttributesChanged=()=>this._syncInputState(),this._field.confirm=(n,s)=>this._confirmDate(n,s),this._setupFormValue(),this._build(),this._syncInputState(),this._bind(),this._syncCalendarOptions();let t=this._adapter(),i=this.getAttribute("value")||(d(e.value)?e.value:t.parse(e.value));if(i&&d(i))this._setValue(i,{emit:!1,format:!0});else if(!e.value)this._setValue("",{emit:!1,format:!1});else e.setCustomValidity(this._messages.invalidDate);if(this._field.hidden)this._field.hidden.defaultValue=this._value;if(e.getAttribute("value")==null&&e.defaultValue==="")e.defaultValue=e.value}_discoverTimeFields(){this._timeFields=[null,null];let e=["data-time-start","data-time-end"];for(let[t,i]of e.entries()){let n=this.querySelectorAll(`:scope > input[${i}]`);if(n.length>1)console.warn(`<date-picker> expects at most one direct child input[${i}]; ignoring extras`);let s=n[0];if(s==null)continue;if(!(s instanceof HTMLInputElement)||s.type!=="time"){console.warn(`<date-picker> input[${i}] must be an <input type="time">; ignoring it`);continue}this._timeFields[t]=s}if(this.querySelector(":scope > input[type=time]:not([data-time-start]):not([data-time-end])"))console.warn("<date-picker> time inputs need [data-time-start] or [data-time-end]; ignoring it")}_connectRange(){if(this.querySelector(":scope > input[data-time-start], :scope > input[data-time-end]"))console.warn("<date-picker range> time companions are not supported yet; leaving them native");let e=this.querySelector(":scope > input[data-range-start]"),t=this.querySelector(":scope > input[data-range-end]");if(!(e instanceof HTMLInputElement)||!(t instanceof HTMLInputElement)){console.warn("<date-picker range> expects direct child inputs marked [data-range-start] and [data-range-end]");return}this._connected=!0,this._input=null,this._fields=[new re(e,{messages:this._messages,locale:this.locale}),new re(t,{messages:this._messages,locale:this.locale})],this._range=new be,this._rangeOriginalDescribedBy=[e.getAttribute("aria-describedby")||"",t.getAttribute("aria-describedby")||""];for(let r of this._fields)r.onAttributesChanged=()=>this._syncRangeFields(),r.confirm=(a,o)=>this._confirmDate(a,o),r.setupFormValue();this._build(),this._setRangeAria(),this._syncRangeFields(),this._bindRange(),this._syncCalendarOptions();let i=this._adapter(),n=d(e.value)?e.value:i.parse(e.value),s=d(t.value)?t.value:i.parse(t.value);if(this._setRange(n||"",s||"",{emit:!1}),e.value.trim()&&!d(n))e.setCustomValidity(this._messages.invalidDate);if(t.value.trim()&&!d(s))t.setCustomValidity(this._messages.invalidDate);if(this._fields[0].hidden)this._fields[0].hidden.defaultValue=this._range.start;if(this._fields[1].hidden)this._fields[1].hidden.defaultValue=this._range.end;if(e.getAttribute("value")==null&&e.defaultValue==="")e.defaultValue=e.value;if(t.getAttribute("value")==null&&t.defaultValue==="")t.defaultValue=t.value}disconnectedCallback(){if(this._connected=!1,this.hide(!1),this._controller?.abort(),this._controller=null,this._clearTimeOrderValidity(),this._timeFields=[null,null],this._rangeMode()){for(let e of this._fields||[])this._teardownField(e);this._fields=null,this._range=null}else this._teardownField(this._field);this._field=null;for(let{button:e}of this._buttons)e.remove();this._buttons=[],this._returnFocus=null,this._panel?.remove(),this._formatHint?.remove(),this._panel=null,this._calendar=null,this._formatHint=null}_teardownField(e){if(!e)return;let t=e.input,i=this._fields?.includes(e)?this._rangeOriginalDescribedBy[this._fields?.indexOf(e)??0]||"":this._originalDescribedBy;if(e.teardown(),i)t.setAttribute("aria-describedby",i);else t.removeAttribute("aria-describedby");t.removeAttribute("role"),t.removeAttribute("aria-haspopup"),t.removeAttribute("aria-expanded"),t.removeAttribute("aria-controls")}attributeChangedCallback(e,t,i){if(!this._connected||this._reflecting||t===i)return;if(e==="value"){if(this._rangeMode())return;if(!i||d(i))this._setValue(i||"",{emit:!1,format:!0,reflect:!1});return}if(e==="locale")this._refreshLocale();if(e==="open-on-focus")return;this._syncCalendarOptions(),this.validate()}get input(){return this._rangeMode()?void 0:this._input}get calendar(){return this._calendar}get value(){return this._rangeMode()?void 0:this._value}set value(e){if(this._rangeMode())throw TypeError("value is not available in range mode; use range");if(e&&!d(e))throw TypeError(`Invalid date-picker value: ${e}`);this._setValue(e||"",{emit:!1,format:!0})}get range(){return this._rangeMode()&&this._range?{...this._range.range}:void 0}set range(e){if(!this._rangeMode())throw TypeError("range is only available on <date-picker range>");let{start:t,end:i}=he(e);this._setRange(t,i)}get locale(){return P(this.getAttribute("locale")||"")}set locale(e){if(e)this.setAttribute("locale",e);else this.removeAttribute("locale")}get monthFormat(){return this.getAttribute("month-format")==="short"?"short":"long"}set monthFormat(e){if(e==="short")this.setAttribute("month-format","short");else this.removeAttribute("month-format")}get min(){let e=this.getAttribute("min")||"";return d(e)?e:""}set min(e){if(e)this.setAttribute("min",e);else this.removeAttribute("min")}get max(){let e=this.getAttribute("max")||"";return d(e)?e:""}set max(e){if(e)this.setAttribute("max",e);else this.removeAttribute("max")}get openOnFocus(){return this.getAttribute("open-on-focus")!=="false"}set openOnFocus(e){if(e===!1)this.setAttribute("open-on-focus","false");else this.removeAttribute("open-on-focus")}get open(){return this._open}get controlClasses(){return{...this._controlClasses}}set controlClasses(e){let t=ce(e);if(le(t,this._controlClasses))return;if(this._controlClasses=t,this._calendar)this._calendar.controlClasses=this._controlClasses}get messages(){return this._messages}set messages(e){if(this._messages={...G(),...e||{}},this._calendar)this._calendar.messages=this._messages;for(let t of this._fields||[])t.setMessages(this._messages);this._field?.setMessages(this._messages),this._refreshButtonLabel(),this.validate()}get source(){return this._source}set source(e){if(this._source=e||null,this._calendar)this._calendar.source=this._source;if(this._connected)this.validate()}get dateState(){return this._dateState}set dateState(e){if(this._dateState=typeof e==="function"?e:null,this._calendar)this._calendar.dateState=this._dateState;if(this._connected)this.validate()}get renderDay(){return this._renderDay}set renderDay(e){if(this._renderDay=typeof e==="function"?e:null,this._calendar)this._calendar.renderDay=this._renderDay}get isDateDisabled(){return this._isDateDisabled}set isDateDisabled(e){if(this._isDateDisabled=typeof e==="function"?e:null,this._calendar)this._calendar.isDateDisabled=this._isDateDisabled;if(this._connected)this.validate()}get coordinateSpace(){return this._coordinateSpace}set coordinateSpace(e){this._coordinateSpace=e==="document"?"document":"viewport"}_adapter(){return this._field?.adapter??this._fields?.[0]?.adapter??ne(this.locale)}_setupFormValue(){this._field?.setupFormValue()}_syncInputState(){let e=this._input;if(!e)return;this._field?.syncInputState();let t=this._buttons[0]?.button;if(t)t.disabled=e.disabled||e.readOnly;if(this._open&&(e.disabled||e.readOnly))this.hide(!1)}_syncRangeFields(){if(!this._fields)return;for(let t of this._fields)t.syncInputState();for(let{button:t,endpoint:i}of this._buttons){let n=i==="end"?1:0,s=this._fields[n];t.disabled=Boolean(s?.input.disabled||s?.input.readOnly)}this._syncDragAffordance();let e=this._range?.activeEndpoint==="end"?1:0;if(this._open&&(this._fields[e]?.input.disabled||this._fields[e]?.input.readOnly))this.hide(!1)}_setRangeAria(){if(!this._fields||!this._panel||!this._formatHint)return;for(let e of this._fields){let t=e.input,i=[this._rangeOriginalDescribedBy[this._fields.indexOf(e)],this._formatHint.id].filter(Boolean).join(" ");t.setAttribute("aria-describedby",i),t.setAttribute("role","combobox"),t.setAttribute("aria-haspopup","dialog"),t.setAttribute("aria-expanded","false"),t.setAttribute("aria-controls",this._panel.id)}}_createTrigger(e){let t=document.createElement("button");if(t.type="button",t.className="dp-picker-button",t.setAttribute("aria-haspopup","dialog"),t.setAttribute("aria-expanded","false"),t.setAttribute("aria-controls",`${this._id}-panel`),e)t.dataset.endpoint=e;return t.innerHTML='<span aria-hidden="true"><svg viewBox="0 0 16 16" width="1em" height="1em" fill="none" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"><rect x="1.75" y="3" width="12.5" height="11" rx="1.75"/><path d="M1.75 6.75h12.5"/><path d="M5.25 1.75v2.5M10.75 1.75v2.5"/></svg></span>',t}_build(){let e=this._rangeMode(),t=[];if(e)for(let[o,c]of(this._fields||[]).entries())t.push([c.input,o===1?"end":"start"]);else if(this._input)t.push([this._input,""]);if(!t.length)return;let i=`${this._id}-panel`,n=`${this._id}-format`;this._buttons=t.map(([o,c])=>{let l=this._createTrigger(c);return o.insertAdjacentElement("afterend",l),{button:l,endpoint:c}});let s=document.createElement("div");s.id=i,s.className="dp-picker-panel",s.setAttribute("popover","manual"),s.setAttribute("role","dialog"),s.setAttribute("aria-label",this._messages.calendar);let r=new se;r.selection="none",r.fixedWeeks=!0,s.append(r);let a=document.createElement("span");if(a.id=n,a.className="dp-visually-hidden",this.append(s,a),this._panel=s,this._calendar=r,this._formatHint=a,!e&&this._input){this._originalDescribedBy=this._input.getAttribute("aria-describedby")||"";let o=[this._originalDescribedBy,n].filter(Boolean).join(" ");this._input.setAttribute("aria-describedby",o),this._input.setAttribute("role","combobox"),this._input.setAttribute("aria-haspopup","dialog"),this._input.setAttribute("aria-expanded","false"),this._input.setAttribute("aria-controls",i)}this._refreshLocale(),this._refreshButtonLabel()}_bindPopup(e,t,i){this.ownerDocument.addEventListener("pointerdown",(n)=>{if(!this._open||n.composedPath().includes(this))return;this.hide(!1)},{capture:!0,signal:e}),this.ownerDocument.addEventListener("reset",(n)=>{if(!(n.target instanceof HTMLFormElement)||!t||n.target!==t.form)return;this.hide(!1),queueMicrotask(()=>{if(!n.defaultPrevented)i()})},{capture:!0,signal:e}),this.addEventListener("keydown",(n)=>this._onEscape(n),{signal:e})}_bind(){let e=this._input,t=this._buttons[0]?.button,i=this._calendar;if(!e||!t||!i)return;let n=new AbortController;this._controller=n;let{signal:s}=n;e.addEventListener("input",()=>{this._field?.handleInput()},{signal:s}),e.addEventListener("change",()=>void this._commitText(!1),{signal:s}),e.addEventListener("blur",()=>void this._commitText(!1),{signal:s}),e.addEventListener("focus",(r)=>{if(!this.openOnFocus||this._suppressFocusOpen)return;let a=r.relatedTarget;if(a instanceof Node&&this.contains(a))return;if(!this._open)this.show({moveFocus:!1})},{signal:s}),e.addEventListener("keydown",(r)=>{this._onFieldKeyDown("",r)},{signal:s});for(let[r,a]of this._timeFields.entries()){if(!a)continue;let o=r===1?"end":"start";a.addEventListener("input",()=>this._revalidateTimeOrder(o),{signal:s}),a.addEventListener("change",()=>this._revalidateTimeOrder(o),{signal:s})}t.addEventListener("click",(r)=>{if(this._open){if(r.detail===0){setTimeout(()=>this._calendar?.focusGrid(),0);return}this.hide(!1);return}this.show({returnFocus:t})},{signal:s}),t.addEventListener("keydown",(r)=>this._onTriggerKeyDown("",r),{signal:s}),i.addEventListener("dateactivate",(r)=>{let a=r,o=a.detail?.date;if(!d(o))return;queueMicrotask(()=>{if(a.defaultPrevented||!this._connected)return;if(this._input?.disabled||this._input?.readOnly)return;this._field?.dirty(),this._setValue(o,{emit:!0,format:!0}),this.hide(!1),this._restoreFocus()})},{signal:s}),i.addEventListener("dateloadend",()=>void this.validate(),{signal:s}),this._bindPopup(s,this._input,()=>this._restoreDefault())}_bindRange(){let e=this._calendar;if(!this._fields||!this._buttons.length||!e)return;let t=new AbortController;this._controller=t;let{signal:i}=t;for(let[n,s]of this._fields.entries()){let r=n===1?"end":"start";s.input.addEventListener("input",()=>s.handleInput(),{signal:i}),s.input.addEventListener("change",()=>void this._commitFieldText(r),{signal:i}),s.input.addEventListener("blur",()=>void this._commitFieldText(r),{signal:i}),s.input.addEventListener("focus",(a)=>this._onFieldFocus(r,a),{signal:i}),s.input.addEventListener("keydown",(a)=>this._onFieldKeyDown(r,a),{signal:i})}for(let n of this._buttons){let s=n.endpoint;if(s==="")continue;n.button.addEventListener("click",(r)=>this._onRangeTriggerClick(s,r),{signal:i}),n.button.addEventListener("keydown",(r)=>this._onTriggerKeyDown(s,r),{signal:i})}e.addEventListener("click",(n)=>{if(this._suppressGridClick){this._suppressGridClick=!1,n.preventDefault(),n.stopImmediatePropagation();return}this._captureGridIntent(n)},{capture:!0,signal:i}),e.addEventListener("keydown",(n)=>this._captureGridIntent(n),{capture:!0,signal:i}),e.addEventListener("dateactivate",(n)=>{let s=n,r=s.detail?.date;if(!d(r))return;queueMicrotask(()=>{if(s.defaultPrevented||!this._connected||!this._range)return;let a=this._pendingIntents.get(r);if(a===void 0||a.id!==this._rangeCommitId)return;this._pendingIntents.delete(r);let o=(l)=>this._boundEditable(l),c=a.endpoint?this._range.moveEndpoint(r,a.endpoint,o):this._range.activate(r,o);if(c.status==="refused"){this._calendar?.dispatchEvent(new CustomEvent("dateinvalid",{detail:{date:r,state:this._calendar.getDateState(r)},bubbles:!0}));return}if(this._applyRangeTransition(c),a.endpoint)return;if(c.close||c.status==="complete")this.hide(!1),this._focusField(c.endpoint)})},{signal:i}),e.addEventListener("datefocus",(n)=>this._onGridDateFocus(n),{signal:i}),e.addEventListener("pointerover",(n)=>this._onGridPointerOver(n),{signal:i}),e.addEventListener("pointerleave",()=>this._onGridPointerLeave(),{signal:i}),e.addEventListener("pointerdown",(n)=>this._onGridPointerDown(n),{signal:i}),e.addEventListener("pointermove",(n)=>this._onGridPointerMove(n),{signal:i}),e.addEventListener("pointerup",(n)=>this._onGridPointerUp(n),{signal:i}),e.addEventListener("pointercancel",(n)=>this._onGridPointerCancel(n),{signal:i}),e.addEventListener("lostpointercapture",(n)=>this._onGridPointerCancel(n),{signal:i}),e.addEventListener("dateloadend",()=>void this.validate(),{signal:i}),this._bindPopup(i,this._fields?.[0]?.input,()=>this._restoreRangeDefault())}_activateRangeEndpoint(e){let t=this._calendar;if(!this._range||!t)return;this._range.focus(e),this._rangeCommitId++,this._pendingIntents.clear(),this._lastFocusEndpoint=e;let i=this._boundCanonical(e)||R();t.display=f(i),t.focusedDate=i,this._clearPreview()}_onRangeTriggerClick(e,t){if(!this._open){this.show({endpoint:e});return}if(t.detail===0){this._activateRangeEndpoint(e),setTimeout(()=>this._calendar?.focusGrid(),0);return}if(e!==this._range?.activeEndpoint){this._activateRangeEndpoint(e);return}this.hide(!1)}_onTriggerKeyDown(e,t){if(t.key!=="ArrowDown")return;if(t.preventDefault(),this._open){if(this._rangeMode()&&e)this._activateRangeEndpoint(e);setTimeout(()=>this._calendar?.focusGrid(),0);return}if(this._rangeMode())this.show({endpoint:e||void 0});else this.show({returnFocus:this._buttons[0]?.button})}_onFieldKeyDown(e,t){if(t.key==="ArrowDown"){if(t.preventDefault(),this._rangeMode()&&e)this._lastFocusEndpoint=e,this._range?.focus(e);if(this._open)setTimeout(()=>this._calendar?.focusGrid(),0);else this.show()}else if(t.key==="Escape"&&this._open)t.preventDefault(),this.hide(!1)}_onFieldFocus(e,t){if(!this._rangeMode()||!e)return;let i=e!==this._range?.activeEndpoint;if(this._lastFocusEndpoint=e,this._range?.focus(e),i)this._rangeCommitId++,this._pendingIntents.clear();if(!this.openOnFocus||this._suppressFocusOpen)return;let n=t.relatedTarget;if(n instanceof Node&&this.contains(n))return;if(!this._open)this.show({moveFocus:!1})}_captureGridIntent(e){if(!this._rangeMode()||!this._range)return;if(e.type==="keydown"){let n=e.key;if(n!=="Enter"&&n!==" ")return}if(!(e.target instanceof Element))return;let i=e.target.closest(".dp-day[data-date]")?.getAttribute("data-date")||"";if(!d(i))return;this._pendingIntents.clear(),this._pendingIntents.set(i,{id:++this._rangeCommitId,endpoint:""})}_boundEditable(e){let t=this._fields?.[e==="end"?1:0];return t!=null&&!t.input.disabled&&!t.input.readOnly}_applyRangeTransition(e){let t=this._fields;if(!t||!this._range||e.status==="refused")return;let i=[];for(let n of e.changedEndpoints){let s=t[n==="end"?1:0],r=n==="end"?e.range.end:e.range.start;if(!s||s.canonical===r)continue;s.setCanonical(r,{format:!0}),i.push(s)}if(this._syncHighlight(),this._refreshRangeButtonLabel(),this._revalidateRange(e.endpoint),!i.length)return;this._emitRangeChange();for(let n of i)n.input.dispatchEvent(new Event("input",{bubbles:!0})),n.input.dispatchEvent(new Event("change",{bubbles:!0}))}_setPreview(e,t=""){let i=this._calendar;if(!i||!this._range||!this._open)return;let n=d(e)&&!i.getDateState(e).disabled?e:"",s=n?this._range.previewRange(n,t,(r)=>this._boundEditable(r)):null;if(!s){this._clearPreview();return}this._previewDate=n,i.toggleAttribute("data-range-preview",!0),i.highlightedRange=s}_clearPreview(){if(!this._previewDate)return;this._syncHighlight()}_onGridDateFocus(e){if(this._drag)return;let t=e.detail?.date;if(d(t))this._setPreview(t)}_onGridPointerOver(e){let t=e;if(this._drag||t.pointerType==="touch")return;this._setPreview(this._cellDate(t.target))}_onGridPointerLeave(){if(this._drag?.active===!1)this._drag=null;if(this._drag)return;this._clearPreview()}_cellDate(e){let i=(e instanceof Element?e.closest(".dp-day[data-date]"):null)?.getAttribute("data-date")||"";return d(i)?i:""}_dateAtPoint(e,t){let i=this.ownerDocument.elementFromPoint(e,t);if(!(i instanceof Element)||!this._calendar?.contains(i))return"";return this._cellDate(i)}_onGridPointerDown(e){let t=e;if(this._suppressGridClick=!1,this._drag?.active===!1)this._drag=null;if(!this._open||!this._range||this._drag)return;if(!t.isPrimary||t.button!==0)return;if(t.pointerType!=="mouse"&&t.pointerType!=="pen")return;if(!this._range.complete)return;let i=t.target instanceof Element?t.target.closest(".dp-day[data-date]"):null;if(!(i instanceof HTMLElement))return;let n=i.hasAttribute("data-range-start"),s=i.hasAttribute("data-range-end");if(n===s)return;let r=n?"start":"end",a=this._cellDate(i);if(!a||!this._boundEditable(r))return;this._drag={pointerId:t.pointerId,endpoint:r,x:t.clientX,y:t.clientY,date:a,active:!1}}_onGridPointerMove(e){let t=e,i=this._drag;if(!i||t.pointerId!==i.pointerId)return;if(!i.active){if(!(Math.abs(t.clientX-i.x)>Ze||Math.abs(t.clientY-i.y)>Ze))return;i.active=!0;try{this._calendar?.setPointerCapture(i.pointerId)}catch{}this._syncDragAffordance()}let n=this._dateAtPoint(t.clientX,t.clientY);if(!n||this._calendar?.getDateState(n).disabled)return;i.date=n,this._setPreview(n,i.endpoint)}_onGridPointerUp(e){let t=e,i=this._drag;if(!i||t.pointerId!==i.pointerId)return;if(this._drag=null,this._releaseDragCapture(i.pointerId),!i.active){this._syncDragAffordance();return}this._suppressGridClick=!0;let n=this._range?.projectEndpoint(i.date,i.endpoint,(r)=>this._boundEditable(r));if(!n||n.status==="refused"||!n.changedEndpoints.length){this._syncHighlight();return}let s=i.endpoint==="start"?n.range.start:n.range.end;this._pendingIntents.clear(),this._pendingIntents.set(s,{id:++this._rangeCommitId,endpoint:i.endpoint}),this._calendar?.activateDate(s)}_onGridPointerCancel(e){let t=e,i=this._drag;if(!i||t.pointerId!==i.pointerId)return;this._drag=null,this._releaseDragCapture(i.pointerId),this._syncHighlight()}_releaseDragCapture(e){let t=this._calendar;if(t?.hasPointerCapture(e))t.releasePointerCapture(e)}_syncDragAffordance(){let e=this._calendar;if(!e||!this._range)return;if(this._drag?.active){e.setAttribute("data-range-drag","active");return}let{start:t,end:i}=this._range;if(this._range.complete&&t!==i&&(this._boundEditable("start")||this._boundEditable("end")))e.setAttribute("data-range-drag","ready");else e.removeAttribute("data-range-drag")}_onEscape(e){if(e.key==="Escape"&&this._open)e.preventDefault(),e.stopPropagation(),this.hide(!0)}_syncCalendarOptions(){let e=this._calendar,t=this._panel;if(!e)return;if(e.locale=this.locale,e.min=this.min,e.max=this.max,e.monthFormat=this.monthFormat,e.controlClasses=this._controlClasses,e.messages=this._messages,e.source=this._source,e.dateState=this._dateState,e.renderDay=this._renderDay,e.isDateDisabled=this._isDateDisabled,!this._rangeMode()&&this._value)e.value=this._value;if(t)t.setAttribute("aria-label",this._messages.calendar)}_refreshLocale(){let e=this._formatHint;if(!e)return;if(this._rangeMode()&&this._fields){this._fields[0].setLocale(this.locale),this._fields[1].setLocale(this.locale),e.textContent=`${this._messages.formatHint}: ${this._fields[0].placeholder}`;for(let[i,n]of this._fields.entries()){if(!n.input.hasAttribute("placeholder")||this._generatedPlaceholder)n.input.placeholder=n.placeholder,this._generatedPlaceholder=!0;let s=i===1?this._range?.end||"":this._range?.start||"";if(s)n.input.value=n.format(s)}this._refreshButtonLabel();return}let t=this._field;if(!t)return;if(t.setLocale(this.locale),e.textContent=`${this._messages.formatHint}: ${t.placeholder}`,!t.input.hasAttribute("placeholder")||this._generatedPlaceholder)t.input.placeholder=t.placeholder,this._generatedPlaceholder=!0;if(this._value)t.input.value=t.format(this._value);this._refreshButtonLabel()}_refreshButtonLabel(){let e=this._buttons[0]?.button;if(!e)return;if(this._rangeMode()){this._refreshRangeButtonLabel();return}let t=this._value?this._messages.changeDate:this._messages.chooseDate,i=this._value?`, ${ie(this._value,this.locale)}`:"";e.setAttribute("aria-label",`${t}${i}`)}_refreshRangeButtonLabel(){if(!this._range)return;let{start:e,end:t}=this._range;for(let{button:i,endpoint:n}of this._buttons){let s=n==="end"?t:e,r=s?this._messages.changeDate:this._messages.chooseDate,a=s?`, ${ie(s,this.locale)}`:"",o=n==="end"?this._messages.rangeEnd:this._messages.rangeStart;i.setAttribute("aria-label",`${r}${a}, ${o}`)}}_reflectValue(e){if(this._reflecting=!0,e)this.setAttribute("value",e);else this.removeAttribute("value");this._reflecting=!1}_setValue(e,t={}){if(e&&!d(e))throw TypeError(`Invalid date-picker value: ${e}`);let i=this._value;if(this._value=e||"",t.reflect!==!1)this._reflectValue(this._value);if(this._field?.setCanonical(this._value,{format:t.format!==!1}),this._calendar){if(this._calendar.value=this._value,this._value&&t.moveDisplay!==!1)this._calendar.focusedDate=this._value}if(this._refreshButtonLabel(),i!==this._value){if(this.dispatchEvent(new CustomEvent("valuechange",{detail:{value:this._value},bubbles:!0})),t.emit&&this._field){let n=this._field.input;n.dispatchEvent(new Event("input",{bubbles:!0})),n.dispatchEvent(new Event("change",{bubbles:!0}))}}}async _confirmDate(e,t={}){let i=this._calendar;if(!i)return{ok:!0};if(t.moveDisplay!==!1){let r=f(e);if(i.display!==r)i.display=r}let n=await i.ensureDate(e),s=i.getDateState(e);if(!n||s.disabled)return{ok:!1,message:this._messages.unavailableDate};return{ok:!0}}async _commitText(e,t={}){let i=this._field;if(!i)return!1;if(!t.force&&!i.isDirty)return!1;let n=await i.commit(t);if(n.status==="stale"||n.status==="invalid")return!1;return this._setValue(n.value||"",{emit:e,format:n.status==="ok",moveDisplay:t.moveDisplay}),!0}async _commitFieldText(e){let t=this._fields;if(!t)return!1;let i=e==="end"?1:0,n=t[i];if(!n?.isDirty)return!1;let s=await n.commit();if(s.status==="stale")return!1;if(s.status==="invalid")return this._orderTags.delete(i),!1;return this._setBound(e,s.value||"",{emit:!1,user:!0,format:s.status==="ok"}),!0}_setBound(e,t,i={}){if(!this._range)return!1;let n=this._fields;if(!n)return!1;let r=n[e==="end"?1:0];if(!r)return!1;if(i.user===!0&&(r.input.disabled||r.input.readOnly))return!1;let a=t||"",o=r.canonical;if(r.setCanonical(a,{format:i.format!==!1}),e==="end")this._range.end=a;else this._range.start=a;let c=o!==a;if(c){if(this._syncHighlight(),this._refreshRangeButtonLabel(),this._emitRangeChange(),i.emit)r.input.dispatchEvent(new Event("input",{bubbles:!0})),r.input.dispatchEvent(new Event("change",{bubbles:!0}))}return this._revalidateRange(e),c}_setRange(e,t,i={}){if(!this._range||!this._fields)return;if(this._range.start=e||"",this._range.end=t||"",this._fields[0].setCanonical(e||"",{format:i.format!==!1}),this._fields[1].setCanonical(t||"",{format:i.format!==!1}),this._syncHighlight(),this._refreshRangeButtonLabel(),this._revalidateRange("start"),this._revalidateRange("end"),i.emit!==!1)this._emitRangeChange()}_boundCanonical(e){return this._range?e==="end"?this._range.end:this._range.start:""}_emitRangeChange(){if(!this._range)return;this.dispatchEvent(new CustomEvent("rangechange",{detail:{...this._range.range},bubbles:!0}))}_displayRange(){let{start:e,end:t}=this._range?.range??{start:"",end:""};if(!e)return{start:"",end:""};if(t&&g(t,e)<0)return{start:e,end:""};return{start:e,end:t}}_syncHighlight(){if(!this._calendar||!this._range)return;this._previewDate="",this._calendar.removeAttribute("data-range-preview"),this._calendar.highlightedRange=this._displayRange(),this._syncDragAffordance()}_revalidateRange(e){if(!this._fields||!this._range)return;let{start:t,end:i}=this._range,n=Boolean(t&&i&&g(i,t)<0),s=["start","end"];for(let r of s){let a=r==="end"?1:0,o=this._fields[a].input,c=r==="end"?this._messages.rangeOrderEnd:this._messages.rangeOrderStart;if(n&&r===e)o.setCustomValidity(c),this._orderTags.add(a);else if(this._orderTags.has(a))o.setCustomValidity(""),this._orderTags.delete(a)}}_revalidateTimeOrder(e){let[t,i]=this._timeFields,n=["start","end"],s=[t,i],r=t&&!t.disabled?t.value.trim():"",a=i&&!i.disabled?i.value.trim():"",o=Boolean(t&&i&&r&&a)&&De(r)&&De(a)&&Xe(a,r)<0;for(let[c,l]of n.entries()){let h=s[c];if(!h)continue;let b=l==="end"?this._messages.rangeOrderEnd:this._messages.rangeOrderStart;if(o&&l===e)h.setCustomValidity(b),this._timeOrderOwned.add(h);else if(this._timeOrderOwned.has(h))h.setCustomValidity(""),this._timeOrderOwned.delete(h)}}_clearTimeOrderValidity(){for(let e of this._timeOrderOwned)e.setCustomValidity("");this._timeOrderOwned.clear()}_restoreDefault(){let e=this._field;if(!e)return;let t=e.restoreDefault();if(this._setValue(t,{emit:!1,format:!0}),this._calendar)if(this._value)this._calendar.display=f(this._value),this._calendar.focusedDate=this._value;else this._calendar.display=f(R()),this._calendar.focusedDate=R();this.validate()}_restoreRangeDefault(){if(!this._fields)return;let e=this._fields[0].restoreDefault(),t=this._fields[1].restoreDefault();if(this._setRange(e,t),this._calendar){let i=this._range?.start||R();this._calendar.display=f(i),this._calendar.focusedDate=i}this.validate()}_focusField(e){let t=e==="end"?1:0,i=this._fields?.[t]?.input;if(!i)return;this._suppressFocusOpen=!0,setTimeout(()=>{i.focus(),this._suppressFocusOpen=!1},0)}_restoreFocus(){let e=this._returnFocus;if(this._returnFocus=null,!(e instanceof HTMLElement)||!e.isConnected||e.matches(":disabled"))return;this._suppressFocusOpen=!0,setTimeout(()=>{e.focus(),this._suppressFocusOpen=!1},0)}_resolveRangeEndpoint(){if(!this._fields)return"";let e=this._lastFocusEndpoint||"start",t=e==="end"?1:0;if(!this._fields[t].input.disabled&&!this._fields[t].input.readOnly)return e;let i=e==="end"?"start":"end",n=i==="end"?1:0;if(!this._fields[n].input.disabled&&!this._fields[n].input.readOnly)return i;return""}async validate(){if(this._rangeMode()){let i=this._fields;if(!i)return!0;for(let[n,s]of i.entries()){let r=await s.commit({moveDisplay:!1});if(r.status==="ok"||r.status==="clear"){let a=n===1?"end":"start";this._setBound(a,r.value||"",{format:r.status==="ok"})}}return this._revalidateRange("start"),this._revalidateRange("end"),i.every((n)=>n.input.checkValidity())}let e=this._field?.input;if(!e)return!0;if(!e.value.trim())e.setCustomValidity("");else await this._commitText(!1,{force:!0,moveDisplay:!1});this._revalidateTimeOrder("start"),this._revalidateTimeOrder("end");let t=this._timeFields.every((i)=>i?.checkValidity()??!0);return e.checkValidity()&&t}show(e={}){let t=this._panel,i=this._calendar;if(!t||!i||!this._buttons.length||this._open)return;if(this._rangeMode()){let r=e.endpoint||this._resolveRangeEndpoint();if(!r)return;this._activateRangeEndpoint(r)}else{let r=this._input;if(!r||r.disabled||r.readOnly)return;let a=this._value||this._adapter().parse(r.value)||R();i.display=f(a),i.focusedDate=a,this._returnFocus=e.returnFocus instanceof HTMLElement?e.returnFocus:r}t.showPopover(),this._open=!0,this._setExpanded(!0);let n=this.coordinateSpace;t.style.position=n==="document"?"absolute":"fixed";let s=()=>Ke(this,t,{placement:"bottom-start",distance:4,shiftPadding:8,coordinateSpace:n});if(s(),this._stopTracking=We(this,t,s),e.moveFocus!==!1)queueMicrotask(()=>i.focusGrid());this.dispatchEvent(new Event("open",{bubbles:!0}))}_setExpanded(e){let t=e?"true":"false";this._input?.setAttribute("aria-expanded",t);for(let{button:i}of this._buttons)i.setAttribute("aria-expanded",t);for(let i of this._fields||[])i.input.setAttribute("aria-expanded",t)}hide(e=!1){if(!this._panel||!this._open)return;this._stopTracking?.(),this._stopTracking=null;try{this._panel.hidePopover()}catch{}if(this._open=!1,this._setExpanded(!1),this._rangeCommitId++,this._pendingIntents.clear(),this._suppressGridClick=!1,this._drag)this._releaseDragCapture(this._drag.pointerId),this._drag=null;if(this._syncHighlight(),e)if(this._rangeMode()){let t=this._restoreFocusEndpoint();if(t)this._focusField(t)}else this._restoreFocus();this.dispatchEvent(new Event("close",{bubbles:!0}))}_restoreFocusEndpoint(){let e=this._range?.activeEndpoint||"";if(e){let t=e==="end"?1:0,i=this._fields?.[t];if(i&&!i.input.disabled&&!i.input.readOnly)return e}return this._resolveRangeEndpoint()}}function Ee(){if(!customElements.get("date-calendar"))customElements.define("date-calendar",se);if(!customElements.get("date-picker"))customElements.define("date-picker",xe)}Ee();var Je="lekoala-date-picker-styles";if(!document.getElementById(Je)){let e=document.createElement("style");e.id=Je,e.textContent=Ce,document.head.append(e)}Ee();})();
510
+ </div>`,this._rendering=!1,this._paintedRange={...this._highlightedRange},this._paintedPreview=this.hasAttribute("data-range-preview"),q)queueMicrotask(()=>{let h=q;if(h.startsWith(".dp-day[data-date="))h=`.dp-day[data-date="${CSS.escape(this._model.focused)}"]`;let m=this.querySelector(h);if(m instanceof HTMLElement)m.focus()});if(this._renderDay)for(let h of this.querySelectorAll(".dp-day[data-date]")){if(!(h instanceof HTMLTableCellElement))continue;let m=h.dataset.date||"",w=h.querySelector(".dp-day-extra");if(!(w instanceof HTMLElement))continue;let p=this._renderDay(m,this._renderedStates.get(m)||{});if(p instanceof Node)w.append(p);else if(p!==void 0&&p!==null)w.textContent=String(p)}if(e)this._loadDisplay(s)}}function ye(e){return e==="top"||e==="bottom"?"x":"y"}var st={top:"bottom",bottom:"top",left:"right",right:"left"},Ot=new Set(Object.keys(st).flatMap((e)=>[e,`${e}-start`,`${e}-end`])),Rt=new Set(["viewport","document"]);function Pt(e){if(!Ot.has(e))throw TypeError(`Unknown placement: ${e}`);let[t,s=null]=e.split("-");return{side:t,align:s,crossAxis:ye(t)}}function zt(e,t,s,i,n,r){let a=ye(s),o=e.x+e.width/2-t.width/2,c=e.y+e.height/2-t.height/2,l=e[a==="x"?"width":"height"]/2-t[a==="x"?"width":"height"]/2,u;switch(s){case"top":u={x:o,y:e.y-t.height-r};break;case"bottom":u={x:o,y:e.y+e.height+r};break;case"right":u={x:e.x+e.width+r,y:c};break;case"left":u={x:e.x-t.width-r,y:c};break;default:u={x:e.x,y:e.y}}if(i==="start"||i==="end"){let b=(n&&a==="x"?-1:1)*(i==="end"?1:-1);u[a]+=l*b}return u}function Ht(e,t,s,i){return Math.max(s-e,0)+Math.max(e+t-i,0)}function Vt(e){let t=e.ownerDocument?.defaultView;if(t&&e instanceof t.Element)return t.getComputedStyle(e).direction==="rtl";return"dir"in e&&e.dir==="rtl"}var Bt=25;function Nt(e){let t=e.defaultView;if(!t)return null;let s=e.documentElement,i=t.visualViewport,n=i?.offsetLeft||0,r=i?.offsetTop||0,a=i?.width||s.clientWidth||t.innerWidth,o=i?.height||s.clientHeight||t.innerHeight,c=e.compatMode==="BackCompat"?a-s.clientWidth:s.clientWidth-s.getBoundingClientRect().width;if(c>0&&c<=Bt){let l=t.getComputedStyle?.(s).scrollbarGutter;if(l&&l!=="auto")a-=c}return{x:n,y:r,width:a,height:o,right:n+a,bottom:r+o}}function Ut(e,t){return t.scope?t.scope.getBoundingClientRect():Nt(e.ownerDocument)}function Ze(e,t,s,i,n){let r=s+n,a=i-t-n,o=a>=r,c=o?r:s,l=o?a:i-t;return Math.max(c,Math.min(e,l))}function Je(e,t,s){if(!s)return 50;let i=(e-t)/s*100;return Math.round(Math.min(100,Math.max(0,i))*1000)/1000}function jt(e,t){for(let s=0;s<e.length;s++){let i=e[s];if(i.right>=t.x&&i.left<=t.right&&i.bottom>=t.y&&i.top<=t.bottom)return!1}return!0}function Yt(e,t,s,i,n){if(t==="top")return Math.max(0,e.top-s.y-i-n);if(t==="bottom")return Math.max(0,s.bottom-e.bottom-i-n);return Math.max(0,s.height-n*2)}function Gt(e){if(e.hidden)return!1;if(typeof e.checkVisibility==="function")return e.checkVisibility();return e.getClientRects().length>0}function it(e){let{offsetWidth:t,offsetHeight:s}=e;if(t&&s)return{width:t,height:s};let i=e.getBoundingClientRect();return{width:t||i.width,height:s||i.height}}var Qe=new WeakMap,et={scroll:0,resize:1,"element-resize":2};function Wt(e){let t=e.defaultView;if(!t)throw TypeError("floating must belong to a document with a browsing context");let s=new Set,i=new Map,n=t.ResizeObserver,r=!1,a=!1,o=t.visualViewport;function c(y,v){let E=i.get(y);if(E===void 0||et[v]>et[E])i.set(y,v)}function l(){if(r)return;r=!0,t.requestAnimationFrame(()=>{let y=[...i];i.clear(),r=!1;for(let[v,E]of y){if(!s.has(v)||!v.floating.isConnected)continue;try{v.callback({type:E})}catch(C){u(C)}}})}function u(y){if(typeof t.reportError==="function")t.reportError(y);else t.setTimeout(()=>{throw y})}function b(y){for(let v of s)c(v,y);l()}function D(y){if(!n)return null;let v=new Set,E=new n((z)=>{let I=!1;for(let U of z)if(v.has(U.target))I=!0;else v.add(U.target);if(!I)return;c(y,"element-resize"),l()}),{reference:C,floating:k}=y;if(C)E.observe(C);if(k!==C)E.observe(k);return E}let x=()=>b("scroll"),T=()=>b("resize");function S(){if(a)return;e.addEventListener("scroll",x,{passive:!0,capture:!0}),t.addEventListener("resize",T,{passive:!0}),o?.addEventListener("scroll",x,{passive:!0}),o?.addEventListener("resize",T,{passive:!0}),a=!0}function M(){if(!a)return;e.removeEventListener("scroll",x,{capture:!0}),t.removeEventListener("resize",T),o?.removeEventListener("scroll",x),o?.removeEventListener("resize",T),a=!1}return{add(y,v,E){let C={reference:y,floating:v,callback:E};s.add(C),S();let k=D(C),z=!1;return()=>{if(z)return;if(z=!0,s.delete(C),i.delete(C),k?.disconnect(),s.size===0)M()}}}}function Kt(e){let t=e.ownerDocument,s=Qe.get(t);if(!s)s=Wt(t),Qe.set(t,s);return s}function nt(e,t,s){if(!t?.ownerDocument)throw TypeError("autoUpdate() expects a floating HTMLElement");if(e&&e.ownerDocument!==t.ownerDocument)throw TypeError("reference and floating must belong to the same document");if(typeof s!=="function")throw TypeError("callback must be a function");return Kt(t).add(e,t,s)}function tt(e,t,s){let i=s.placement===void 0?"bottom-start":s.placement,{side:n,align:r,crossAxis:a}=Pt(i),o=s.coordinateSpace===void 0?"viewport":s.coordinateSpace;if(!Rt.has(o))throw TypeError(`Unknown coordinateSpace: ${o}`);if(!Gt(t))return null;let c=s.distance||0,l=s.flip!==!1,u=s.shift!==!1,b=s.shiftPadding??4,D=r?Vt(e):!1,x=e.getClientRects();if(!x.length)return null;let T=(_)=>_==="bottom"?x[x.length-1]:x[0],S=Ut(e,s);if(!S||jt(x,S))return null;let M=it(t),y={x:{size:M.width,start:S.x,end:S.right},y:{size:M.height,start:S.y,end:S.bottom}},v=(_,h)=>zt(T(_),M,_,h,D,c),E=(_,h)=>{let{size:m,start:w,end:p}=y[h];return Ht(_,m,w+b,p-b)},C=(_,h)=>{let{size:m,start:w,end:p}=y[h];return E(u?Ze(_,m,w,p,b):_,h)},k=v(n,r),z=(_,h)=>{let m=ye(_),w=m==="x"?"y":"x",p=E(h[w],w);return{main:p,total:p+C(h[m],m)}};if(l){let _=z(n,k),h=(m)=>{let w=v(m,r),p=z(m,w);if(p.total<_.total)n=m,k=w,_=p};if(_.main>0)h(st[n]);if(a==="y"&&_.main>0)h("top"),h("bottom");a=ye(n)}if(a==="x"&&u&&r){let _=E(k.x,"x");if(_>0){let h=r==="end"?"start":"end",m=v(n,h);if(E(m.x,"x")<_)r=h,k=m}}if(u){let{size:_,start:h,end:m}=y[a];k[a]=Ze(k[a],_,h,m,b)}let I=T(n),U=Je(I.x+I.width/2,k.x,M.width),K=Je(I.y+I.height/2,k.y,M.height),q=`${Yt(I,n,S,c,b)}px`,{style:O}=t,X=O.getPropertyValue("--available-height")!==q,j=o==="document"?e.ownerDocument.defaultView:null,be=j?j.scrollX:0,le=j?j.scrollY:0;O.left=`${k.x+be}px`,O.top=`${k.y+le}px`,O.setProperty("--arrow-x",`${U}%`),O.setProperty("--arrow-y",`${K}%`),O.setProperty("--available-height",q);let Z=r?`${n}-${r}`:n;return t.dataset.placement=Z,{width:M.width,height:M.height,roomChanged:X,placement:Z}}function rt(e,t,s={}){let i=tt(e,t,s);if(!i)return!1;if(i.roomChanged){let n=it(t);if(n.width!==i.width||n.height!==i.height)tt(e,t,{...s,placement:i.placement,flip:!1})}return!0}class de{constructor(e,t={}){this.input=e,this.messages=t.messages||{},this.adapter=ae(t.locale||""),this.hidden=null,this.canonical="",this._dirty=!1,this._commitId=0,this._originalName=e.getAttribute("name")||"",this._attributeObserver=null,this.onAttributesChanged=null,this.confirm=null}setLocale(e){this.adapter=ae(e||"")}setMessages(e){this.messages=e||{}}format(e){return this.adapter.format(e)}parse(e){return this.adapter.parse(e)}get placeholder(){return this.adapter.placeholder}get isDisabled(){return this.input.disabled}get isReadOnly(){return this.input.readOnly}setupFormValue(){let e=this.input;this._originalName=e.getAttribute("name")||"",this._attributeObserver=new MutationObserver(()=>this.onAttributesChanged?.()),this._attributeObserver.observe(e,{attributes:!0,attributeFilter:["disabled","readonly","name","form"]}),this.syncInputState()}syncInputState(){let e=this.input,t=e.getAttribute("name")||"";if(t){if(!this.hidden){let s=document.createElement("input");s.type="hidden",s.value=this.canonical,e.insertAdjacentElement("afterend",s),this.hidden=s}if(this.hidden)this.hidden.name=t;e.removeAttribute("name")}if(this.hidden){if(e.hasAttribute("form"))this.hidden.setAttribute("form",e.getAttribute("form")||"");else this.hidden.removeAttribute("form");this.hidden.disabled=e.disabled}}dirty(){this._commitId++}get isDirty(){return this._dirty}handleInput(){let e=this.input,t=e.value.trim(),s=this.canonical?this.adapter.format(this.canonical):"";if(this.dirty(),t===s){if(this._dirty=!1,this.hidden)this.hidden.value=this.canonical;e.setCustomValidity("");return}if(this._dirty=!0,this.hidden)this.hidden.value="";if(!t){e.setCustomValidity("");return}e.setCustomValidity(this.messages.invalidDate)}async commit(e={}){let t=this.input,s=++this._commitId,i=t.value.trim();if(!i){if(s!==this._commitId)return{status:"stale"};return t.setCustomValidity(""),{status:"clear",value:""}}let n=this.adapter.parse(i);if(!n){if(s!==this._commitId)return{status:"stale"};if(this.hidden)this.hidden.value="";return t.setCustomValidity(this.messages.invalidDate),{status:"invalid"}}if(this.confirm){let r=await this.confirm(n,e);if(s!==this._commitId)return{status:"stale"};if(!r?.ok){if(this.hidden)this.hidden.value="";return t.setCustomValidity(r?.message||this.messages.unavailableDate),{status:"invalid"}}}return{status:"ok",value:n}}setCanonical(e,t={}){let s=e||"";if(s&&!d(s))throw TypeError(`Invalid date-picker value: ${s}`);if(this.dirty(),this.canonical=s,this._dirty=!1,this.hidden)this.hidden.value=s;if(t.format!==!1)this.input.value=s?this.adapter.format(s):"";this.input.setCustomValidity("")}restoreDefault(){let e=String(this.input.defaultValue??"").trim(),t=d(e)?e:this.adapter.parse(e);return t&&d(t)?t:""}teardown(){this._attributeObserver?.disconnect(),this._attributeObserver=null;let e=this.hidden?.getAttribute("name")||this._originalName;if(e)this.input.setAttribute("name",e);this.hidden?.remove(),this.hidden=null}}var qt=/^(\d{2}):(\d{2})(?::(\d{2})(?:\.(\d{1,3}))?)?$/;function Me(e){let t=qt.exec(String(e||""));if(!t)return null;let s=Number(t[1]),i=Number(t[2]),n=t[3]===void 0?0:Number(t[3]),r=t[4]===void 0?0:Number(t[4].padEnd(3,"0"));if(s>23||i>59||n>59||r>999)return null;return{hour:s,minute:i,second:n,millisecond:r}}function $e(e){return Me(e)!==null}function at(e){return((e.hour*60+e.minute)*60+e.second)*1000+e.millisecond}function ot(e,t){let s=Me(e),i=Me(t);if(!s||!i)throw TypeError("compareTimes() expects HH:MM values");let n=at(s)-at(i);return n===0?0:n<0?-1:1}var Xt=0,dt=4;class Fe extends HTMLElement{static observedAttributes=["value","locale","min","max","open-on-focus","month-format"];static setDefaultControlClasses(e){he(e)}static getDefaultControlClasses(){return se()}static setDefaultMessages(e){me(e)}static getDefaultMessages(){return B()}constructor(){super();this._id=`date-picker-${++Xt}`,this._connected=!1,this._reflecting=!1,this._value="",this._input=null,this._field=null,this._fields=null,this._range=null,this._orderTags=new Set,this._timeFields=[null,null],this._timeOrderOwned=new Set,this._lastFocusEndpoint="",this._rangeCommitId=0,this._pendingIntents=new Map,this._previewDate="",this._drag=null,this._suppressGridClick=!1,this._buttons=[],this._returnFocus=null,this._panel=null,this._calendar=null,this._originalDescribedBy="",this._rangeOriginalDescribedBy=["",""],this._formatHint=null,this._generatedPlaceholder=!1,this._controller=null,this._stopTracking=null,this._open=!1,this._suppressFocusOpen=!1,this._messages=null,this._controlClasses=null,this._stopDefaultMessages=null,this._source=null,this._dateState=null,this._renderDay=null,this._isDateDisabled=null,this._coordinateSpace="viewport"}_rangeMode(){return this.hasAttribute("range")&&Boolean(this._range)}connectedCallback(){if(this._connected)return;if(W(this,["locale","min","max","monthFormat","openOnFocus","coordinateSpace","controlClasses","messages","source","dateState","renderDay","isDateDisabled"]),this.hasAttribute("range"))this._connectRange();else this._connectSingle();if(this._connected)W(this,["value","range"]),this._stopDefaultMessages=ge(()=>{if(this._messages===null)this._refreshMessages()})}_connectSingle(){let e=this.querySelector(":scope > input:not([type=hidden]):not([type=time]):not([data-time-start]):not([data-time-end])");if(!(e instanceof HTMLInputElement)){console.warn("<date-picker> expects a direct child text input");return}this._connected=!0,this._input=e,this._discoverTimeFields(),this._field=new de(e,{messages:this.messages,locale:this.locale}),this._field.onAttributesChanged=()=>this._syncInputState(),this._field.confirm=(i,n)=>this._confirmDate(i,n),this._setupFormValue(),this._build(),this._syncInputState(),this._bind(),this._syncCalendarOptions();let t=this._adapter(),s=this.getAttribute("value")||(d(e.value)?e.value:t.parse(e.value));if(s&&d(s))this._setValue(s,{emit:!1,format:!0});else if(!e.value)this._setValue("",{emit:!1,format:!1});else e.setCustomValidity(this.messages.invalidDate);if(this._field.hidden)this._field.hidden.defaultValue=this._value;if(e.getAttribute("value")==null&&e.defaultValue==="")e.defaultValue=e.value}_discoverTimeFields(){this._timeFields=[null,null];let e=["data-time-start","data-time-end"];for(let[t,s]of e.entries()){let i=this.querySelectorAll(`:scope > input[${s}]`);if(i.length>1)console.warn(`<date-picker> expects at most one direct child input[${s}]; ignoring extras`);let n=i[0];if(n==null)continue;if(!(n instanceof HTMLInputElement)||n.type!=="time"){console.warn(`<date-picker> input[${s}] must be an <input type="time">; ignoring it`);continue}this._timeFields[t]=n}if(this.querySelector(":scope > input[type=time]:not([data-time-start]):not([data-time-end])"))console.warn("<date-picker> time inputs need [data-time-start] or [data-time-end]; ignoring it")}_connectRange(){if(this.querySelector(":scope > input[data-time-start], :scope > input[data-time-end]"))console.warn("<date-picker range> time companions are not supported yet; leaving them native");let e=this.querySelector(":scope > input[data-range-start]"),t=this.querySelector(":scope > input[data-range-end]");if(!(e instanceof HTMLInputElement)||!(t instanceof HTMLInputElement)){console.warn("<date-picker range> expects direct child inputs marked [data-range-start] and [data-range-end]");return}this._connected=!0,this._input=null,this._fields=[new de(e,{messages:this.messages,locale:this.locale}),new de(t,{messages:this.messages,locale:this.locale})],this._range=new Ce,this._rangeOriginalDescribedBy=[e.getAttribute("aria-describedby")||"",t.getAttribute("aria-describedby")||""];for(let r of this._fields)r.onAttributesChanged=()=>this._syncRangeFields(),r.confirm=(a,o)=>this._confirmDate(a,o),r.setupFormValue();this._build(),this._setRangeAria(),this._syncRangeFields(),this._bindRange(),this._syncCalendarOptions();let s=this._adapter(),i=d(e.value)?e.value:s.parse(e.value),n=d(t.value)?t.value:s.parse(t.value);if(this._setRange(i||"",n||"",{emit:!1}),e.value.trim()&&!d(i))e.setCustomValidity(this.messages.invalidDate);if(t.value.trim()&&!d(n))t.setCustomValidity(this.messages.invalidDate);if(this._fields[0].hidden)this._fields[0].hidden.defaultValue=this._range.start;if(this._fields[1].hidden)this._fields[1].hidden.defaultValue=this._range.end;if(e.getAttribute("value")==null&&e.defaultValue==="")e.defaultValue=e.value;if(t.getAttribute("value")==null&&t.defaultValue==="")t.defaultValue=t.value}disconnectedCallback(){if(this._stopDefaultMessages?.(),this._stopDefaultMessages=null,this._connected=!1,this.hide(!1),this._controller?.abort(),this._controller=null,this._clearTimeOrderValidity(),this._timeFields=[null,null],this._rangeMode()){for(let e of this._fields||[])this._teardownField(e);this._fields=null,this._range=null}else this._teardownField(this._field);this._field=null;for(let{button:e}of this._buttons)e.remove();this._buttons=[],this._returnFocus=null,this._panel?.remove(),this._formatHint?.remove(),this._panel=null,this._calendar=null,this._formatHint=null}_teardownField(e){if(!e)return;let t=e.input,s=this._fields?.includes(e)?this._rangeOriginalDescribedBy[this._fields?.indexOf(e)??0]||"":this._originalDescribedBy;if(e.teardown(),s)t.setAttribute("aria-describedby",s);else t.removeAttribute("aria-describedby");t.removeAttribute("role"),t.removeAttribute("aria-haspopup"),t.removeAttribute("aria-expanded"),t.removeAttribute("aria-controls")}attributeChangedCallback(e,t,s){if(!this._connected||this._reflecting||t===s)return;if(e==="value"){if(this._rangeMode())return;if(!s||d(s))this._setValue(s||"",{emit:!1,format:!0,reflect:!1});return}if(e==="locale")this._refreshLocale();if(e==="open-on-focus")return;this._syncCalendarOptions(),this.validate()}get input(){return this._rangeMode()?void 0:this._input}get calendar(){return this._calendar}get value(){return this._rangeMode()?void 0:this._value}set value(e){if(this._rangeMode())throw TypeError("value is not available in range mode; use range");if(e&&!d(e))throw TypeError(`Invalid date-picker value: ${e}`);this._setValue(e||"",{emit:!1,format:!0})}get range(){return this._rangeMode()&&this._range?{...this._range.range}:void 0}set range(e){if(!this._rangeMode())throw TypeError("range is only available on <date-picker range>");let{start:t,end:s}=fe(e);this._setRange(t,s)}get locale(){return P(this.getAttribute("locale")||"")}set locale(e){if(e)this.setAttribute("locale",e);else this.removeAttribute("locale")}get monthFormat(){return this.getAttribute("month-format")==="short"?"short":"long"}set monthFormat(e){if(e==="short")this.setAttribute("month-format","short");else this.removeAttribute("month-format")}get min(){let e=this.getAttribute("min")||"";return d(e)?e:""}set min(e){if(e)this.setAttribute("min",e);else this.removeAttribute("min")}get max(){let e=this.getAttribute("max")||"";return d(e)?e:""}set max(e){if(e)this.setAttribute("max",e);else this.removeAttribute("max")}get openOnFocus(){return this.getAttribute("open-on-focus")!=="false"}set openOnFocus(e){if(e===!1)this.setAttribute("open-on-focus","false");else this.removeAttribute("open-on-focus")}get open(){return this._open}get controlClasses(){return ne(this._controlClasses)}set controlClasses(e){if(this._controlClasses=ie(e),this._calendar)this._calendar.controlClasses=this._controlClasses}get messages(){return this._messages??B()}set messages(e){if(this._messages=e==null?null:{...B(),...e},this._calendar)this._calendar.messages=this._messages;this._refreshMessages()}_refreshMessages(){let e=this.messages;for(let s of this._fields||[])s.setMessages(e);this._field?.setMessages(e),this._panel?.setAttribute("aria-label",e.calendar);let t=this._field??this._fields?.[0];if(this._formatHint&&t)this._formatHint.textContent=`${e.formatHint}: ${t.placeholder}`;if(this._refreshButtonLabel(),this._connected)this.validate()}get source(){return this._source}set source(e){if(this._source=e||null,this._calendar)this._calendar.source=this._source;if(this._connected)this.validate()}get dateState(){return this._dateState}set dateState(e){if(this._dateState=typeof e==="function"?e:null,this._calendar)this._calendar.dateState=this._dateState;if(this._connected)this.validate()}get renderDay(){return this._renderDay}set renderDay(e){if(this._renderDay=typeof e==="function"?e:null,this._calendar)this._calendar.renderDay=this._renderDay}get isDateDisabled(){return this._isDateDisabled}set isDateDisabled(e){if(this._isDateDisabled=typeof e==="function"?e:null,this._calendar)this._calendar.isDateDisabled=this._isDateDisabled;if(this._connected)this.validate()}get coordinateSpace(){return this._coordinateSpace}set coordinateSpace(e){this._coordinateSpace=e==="document"?"document":"viewport"}_adapter(){return this._field?.adapter??this._fields?.[0]?.adapter??ae(this.locale)}_setupFormValue(){this._field?.setupFormValue()}_syncInputState(){let e=this._input;if(!e)return;this._field?.syncInputState();let t=this._buttons[0]?.button;if(t)t.disabled=e.disabled||e.readOnly;if(this._open&&(e.disabled||e.readOnly))this.hide(!1)}_syncRangeFields(){if(!this._fields)return;for(let t of this._fields)t.syncInputState();for(let{button:t,endpoint:s}of this._buttons){let i=s==="end"?1:0,n=this._fields[i];t.disabled=Boolean(n?.input.disabled||n?.input.readOnly)}this._syncDragAffordance();let e=this._range?.activeEndpoint==="end"?1:0;if(this._open&&(this._fields[e]?.input.disabled||this._fields[e]?.input.readOnly))this.hide(!1)}_setRangeAria(){if(!this._fields||!this._panel||!this._formatHint)return;for(let e of this._fields){let t=e.input,s=[this._rangeOriginalDescribedBy[this._fields.indexOf(e)],this._formatHint.id].filter(Boolean).join(" ");t.setAttribute("aria-describedby",s),t.setAttribute("role","combobox"),t.setAttribute("aria-haspopup","dialog"),t.setAttribute("aria-expanded","false"),t.setAttribute("aria-controls",this._panel.id)}}_createTrigger(e){let t=document.createElement("button");if(t.type="button",t.className="dp-picker-button",t.setAttribute("aria-haspopup","dialog"),t.setAttribute("aria-expanded","false"),t.setAttribute("aria-controls",`${this._id}-panel`),e)t.dataset.endpoint=e;return t.innerHTML='<span aria-hidden="true"><svg viewBox="0 0 16 16" width="1em" height="1em" fill="none" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"><rect x="1.75" y="3" width="12.5" height="11" rx="1.75"/><path d="M1.75 6.75h12.5"/><path d="M5.25 1.75v2.5M10.75 1.75v2.5"/></svg></span>',t}_build(){let e=this._rangeMode(),t=[];if(e)for(let[o,c]of(this._fields||[]).entries())t.push([c.input,o===1?"end":"start"]);else if(this._input)t.push([this._input,""]);if(!t.length)return;let s=`${this._id}-panel`,i=`${this._id}-format`;this._buttons=t.map(([o,c])=>{let l=this._createTrigger(c);return o.insertAdjacentElement("afterend",l),{button:l,endpoint:c}});let n=document.createElement("div");n.id=s,n.className="dp-picker-panel",n.setAttribute("popover","manual"),n.setAttribute("role","dialog"),n.setAttribute("aria-label",this.messages.calendar);let r=new oe;r.selection="none",r.fixedWeeks=!0,n.append(r);let a=document.createElement("span");if(a.id=i,a.className="dp-visually-hidden",this.append(n,a),this._panel=n,this._calendar=r,this._formatHint=a,!e&&this._input){this._originalDescribedBy=this._input.getAttribute("aria-describedby")||"";let o=[this._originalDescribedBy,i].filter(Boolean).join(" ");this._input.setAttribute("aria-describedby",o),this._input.setAttribute("role","combobox"),this._input.setAttribute("aria-haspopup","dialog"),this._input.setAttribute("aria-expanded","false"),this._input.setAttribute("aria-controls",s)}this._refreshLocale(),this._refreshButtonLabel()}_bindPopup(e,t,s){this.ownerDocument.addEventListener("pointerdown",(i)=>{if(!this._open||i.composedPath().includes(this))return;this.hide(!1)},{capture:!0,signal:e}),this.ownerDocument.addEventListener("reset",(i)=>{if(!(i.target instanceof HTMLFormElement)||!t||i.target!==t.form)return;this.hide(!1),queueMicrotask(()=>{if(!i.defaultPrevented)s()})},{capture:!0,signal:e}),this.addEventListener("keydown",(i)=>this._onEscape(i),{signal:e})}_bind(){let e=this._input,t=this._buttons[0]?.button,s=this._calendar;if(!e||!t||!s)return;let i=new AbortController;this._controller=i;let{signal:n}=i;e.addEventListener("input",()=>{this._field?.handleInput()},{signal:n}),e.addEventListener("change",()=>void this._commitText(!1),{signal:n}),e.addEventListener("blur",()=>void this._commitText(!1),{signal:n}),e.addEventListener("focus",(r)=>{if(!this.openOnFocus||this._suppressFocusOpen)return;let a=r.relatedTarget;if(a instanceof Node&&this.contains(a))return;if(!this._open)this.show({moveFocus:!1})},{signal:n}),e.addEventListener("keydown",(r)=>{this._onFieldKeyDown("",r)},{signal:n});for(let[r,a]of this._timeFields.entries()){if(!a)continue;let o=r===1?"end":"start";a.addEventListener("input",()=>this._revalidateTimeOrder(o),{signal:n}),a.addEventListener("change",()=>this._revalidateTimeOrder(o),{signal:n})}t.addEventListener("click",(r)=>{if(this._open){if(r.detail===0){setTimeout(()=>this._calendar?.focusGrid(),0);return}this.hide(!1);return}this.show({returnFocus:t})},{signal:n}),t.addEventListener("keydown",(r)=>this._onTriggerKeyDown("",r),{signal:n}),s.addEventListener("dateactivate",(r)=>{let a=r,o=a.detail?.date;if(!d(o))return;queueMicrotask(()=>{if(a.defaultPrevented||!this._connected)return;if(this._input?.disabled||this._input?.readOnly)return;this._field?.dirty(),this._setValue(o,{emit:!0,format:!0}),this.hide(!1),this._restoreFocus()})},{signal:n}),s.addEventListener("dateloadend",()=>void this.validate(),{signal:n}),this._bindPopup(n,this._input,()=>this._restoreDefault())}_bindRange(){let e=this._calendar;if(!this._fields||!this._buttons.length||!e)return;let t=new AbortController;this._controller=t;let{signal:s}=t;for(let[i,n]of this._fields.entries()){let r=i===1?"end":"start";n.input.addEventListener("input",()=>n.handleInput(),{signal:s}),n.input.addEventListener("change",()=>void this._commitFieldText(r),{signal:s}),n.input.addEventListener("blur",()=>void this._commitFieldText(r),{signal:s}),n.input.addEventListener("focus",(a)=>this._onFieldFocus(r,a),{signal:s}),n.input.addEventListener("keydown",(a)=>this._onFieldKeyDown(r,a),{signal:s})}for(let i of this._buttons){let n=i.endpoint;if(n==="")continue;i.button.addEventListener("click",(r)=>this._onRangeTriggerClick(n,r),{signal:s}),i.button.addEventListener("keydown",(r)=>this._onTriggerKeyDown(n,r),{signal:s})}e.addEventListener("click",(i)=>{if(this._suppressGridClick){this._suppressGridClick=!1,i.preventDefault(),i.stopImmediatePropagation();return}this._captureGridIntent(i)},{capture:!0,signal:s}),e.addEventListener("keydown",(i)=>this._captureGridIntent(i),{capture:!0,signal:s}),e.addEventListener("dateactivate",(i)=>{let n=i,r=n.detail?.date;if(!d(r))return;queueMicrotask(()=>{if(n.defaultPrevented||!this._connected||!this._range)return;let a=this._pendingIntents.get(r);if(a===void 0||a.id!==this._rangeCommitId)return;this._pendingIntents.delete(r);let o=(l)=>this._boundEditable(l),c=a.endpoint?this._range.moveEndpoint(r,a.endpoint,o):this._range.activate(r,o);if(c.status==="refused"){this._calendar?.dispatchEvent(new CustomEvent("dateinvalid",{detail:{date:r,state:this._calendar.getDateState(r)},bubbles:!0}));return}if(this._applyRangeTransition(c),a.endpoint)return;if(c.close||c.status==="complete")this.hide(!1),this._focusField(c.endpoint)})},{signal:s}),e.addEventListener("datefocus",(i)=>this._onGridDateFocus(i),{signal:s}),e.addEventListener("pointerover",(i)=>this._onGridPointerOver(i),{signal:s}),e.addEventListener("pointerleave",()=>this._onGridPointerLeave(),{signal:s}),e.addEventListener("pointerdown",(i)=>this._onGridPointerDown(i),{signal:s}),e.addEventListener("pointermove",(i)=>this._onGridPointerMove(i),{signal:s}),e.addEventListener("pointerup",(i)=>this._onGridPointerUp(i),{signal:s}),e.addEventListener("pointercancel",(i)=>this._onGridPointerCancel(i),{signal:s}),e.addEventListener("lostpointercapture",(i)=>this._onGridPointerCancel(i),{signal:s}),e.addEventListener("dateloadend",()=>void this.validate(),{signal:s}),this._bindPopup(s,this._fields?.[0]?.input,()=>this._restoreRangeDefault())}_activateRangeEndpoint(e){let t=this._calendar;if(!this._range||!t)return;this._range.focus(e),this._rangeCommitId++,this._pendingIntents.clear(),this._lastFocusEndpoint=e;let s=this._boundCanonical(e)||R();t.display=f(s),t.focusedDate=s,this._clearPreview()}_onRangeTriggerClick(e,t){if(!this._open){this.show({endpoint:e});return}if(t.detail===0){this._activateRangeEndpoint(e),setTimeout(()=>this._calendar?.focusGrid(),0);return}if(e!==this._range?.activeEndpoint){this._activateRangeEndpoint(e);return}this.hide(!1)}_onTriggerKeyDown(e,t){if(t.key!=="ArrowDown")return;if(t.preventDefault(),this._open){if(this._rangeMode()&&e)this._activateRangeEndpoint(e);setTimeout(()=>this._calendar?.focusGrid(),0);return}if(this._rangeMode())this.show({endpoint:e||void 0});else this.show({returnFocus:this._buttons[0]?.button})}_onFieldKeyDown(e,t){if(t.key==="ArrowDown"){if(t.preventDefault(),this._rangeMode()&&e)this._lastFocusEndpoint=e,this._range?.focus(e);if(this._open)setTimeout(()=>this._calendar?.focusGrid(),0);else this.show()}else if(t.key==="Escape"&&this._open)t.preventDefault(),this.hide(!1)}_onFieldFocus(e,t){if(!this._rangeMode()||!e)return;let s=e!==this._range?.activeEndpoint;if(this._lastFocusEndpoint=e,this._range?.focus(e),s)this._rangeCommitId++,this._pendingIntents.clear();if(!this.openOnFocus||this._suppressFocusOpen)return;let i=t.relatedTarget;if(i instanceof Node&&this.contains(i))return;if(!this._open)this.show({moveFocus:!1})}_captureGridIntent(e){if(!this._rangeMode()||!this._range)return;if(e.type==="keydown"){let i=e.key;if(i!=="Enter"&&i!==" ")return}if(!(e.target instanceof Element))return;let s=e.target.closest(".dp-day[data-date]")?.getAttribute("data-date")||"";if(!d(s))return;this._pendingIntents.clear(),this._pendingIntents.set(s,{id:++this._rangeCommitId,endpoint:""})}_boundEditable(e){let t=this._fields?.[e==="end"?1:0];return t!=null&&!t.input.disabled&&!t.input.readOnly}_applyRangeTransition(e){let t=this._fields;if(!t||!this._range||e.status==="refused")return;let s=[];for(let i of e.changedEndpoints){let n=t[i==="end"?1:0],r=i==="end"?e.range.end:e.range.start;if(!n||n.canonical===r)continue;n.setCanonical(r,{format:!0}),s.push(n)}if(this._syncHighlight(),this._refreshRangeButtonLabel(),this._revalidateRange(e.endpoint),!s.length)return;this._emitRangeChange();for(let i of s)i.input.dispatchEvent(new Event("input",{bubbles:!0})),i.input.dispatchEvent(new Event("change",{bubbles:!0}))}_setPreview(e,t=""){let s=this._calendar;if(!s||!this._range||!this._open)return;let i=d(e)&&!s.getDateState(e).disabled?e:"",n=i?this._range.previewRange(i,t,(r)=>this._boundEditable(r)):null;if(!n){this._clearPreview();return}this._previewDate=i,s.toggleAttribute("data-range-preview",!0),s.highlightedRange=n}_clearPreview(){if(!this._previewDate)return;this._syncHighlight()}_onGridDateFocus(e){if(this._drag)return;let t=e.detail?.date;if(d(t))this._setPreview(t)}_onGridPointerOver(e){let t=e;if(this._drag||t.pointerType==="touch")return;this._setPreview(this._cellDate(t.target))}_onGridPointerLeave(){if(this._drag?.active===!1)this._drag=null;if(this._drag)return;this._clearPreview()}_cellDate(e){let s=(e instanceof Element?e.closest(".dp-day[data-date]"):null)?.getAttribute("data-date")||"";return d(s)?s:""}_dateAtPoint(e,t){let s=this.ownerDocument.elementFromPoint(e,t);if(!(s instanceof Element)||!this._calendar?.contains(s))return"";return this._cellDate(s)}_onGridPointerDown(e){let t=e;if(this._suppressGridClick=!1,this._drag?.active===!1)this._drag=null;if(!this._open||!this._range||this._drag)return;if(!t.isPrimary||t.button!==0)return;if(t.pointerType!=="mouse"&&t.pointerType!=="pen")return;if(!this._range.complete)return;let s=t.target instanceof Element?t.target.closest(".dp-day[data-date]"):null;if(!(s instanceof HTMLElement))return;let i=s.hasAttribute("data-range-start"),n=s.hasAttribute("data-range-end");if(i===n)return;let r=i?"start":"end",a=this._cellDate(s);if(!a||!this._boundEditable(r))return;this._drag={pointerId:t.pointerId,endpoint:r,x:t.clientX,y:t.clientY,date:a,active:!1}}_onGridPointerMove(e){let t=e,s=this._drag;if(!s||t.pointerId!==s.pointerId)return;if(!s.active){if(!(Math.abs(t.clientX-s.x)>dt||Math.abs(t.clientY-s.y)>dt))return;s.active=!0;try{this._calendar?.setPointerCapture(s.pointerId)}catch{}this._syncDragAffordance()}let i=this._dateAtPoint(t.clientX,t.clientY);if(!i||this._calendar?.getDateState(i).disabled)return;s.date=i,this._setPreview(i,s.endpoint)}_onGridPointerUp(e){let t=e,s=this._drag;if(!s||t.pointerId!==s.pointerId)return;if(this._drag=null,this._releaseDragCapture(s.pointerId),!s.active){this._syncDragAffordance();return}this._suppressGridClick=!0;let i=this._range?.projectEndpoint(s.date,s.endpoint,(r)=>this._boundEditable(r));if(!i||i.status==="refused"||!i.changedEndpoints.length){this._syncHighlight();return}let n=s.endpoint==="start"?i.range.start:i.range.end;this._pendingIntents.clear(),this._pendingIntents.set(n,{id:++this._rangeCommitId,endpoint:s.endpoint}),this._calendar?.activateDate(n)}_onGridPointerCancel(e){let t=e,s=this._drag;if(!s||t.pointerId!==s.pointerId)return;this._drag=null,this._releaseDragCapture(s.pointerId),this._syncHighlight()}_releaseDragCapture(e){let t=this._calendar;if(t?.hasPointerCapture(e))t.releasePointerCapture(e)}_syncDragAffordance(){let e=this._calendar;if(!e||!this._range)return;if(this._drag?.active){e.setAttribute("data-range-drag","active");return}let{start:t,end:s}=this._range;if(this._range.complete&&t!==s&&(this._boundEditable("start")||this._boundEditable("end")))e.setAttribute("data-range-drag","ready");else e.removeAttribute("data-range-drag")}_onEscape(e){if(e.key==="Escape"&&this._open)e.preventDefault(),e.stopPropagation(),this.hide(!0)}_syncCalendarOptions(){let e=this._calendar,t=this._panel;if(!e)return;if(e.locale=this.locale,e.min=this.min,e.max=this.max,e.monthFormat=this.monthFormat,e.controlClasses=this._controlClasses,e.messages=this._messages,e.source=this._source,e.dateState=this._dateState,e.renderDay=this._renderDay,e.isDateDisabled=this._isDateDisabled,!this._rangeMode()&&this._value)e.value=this._value;if(t)t.setAttribute("aria-label",this.messages.calendar)}_refreshLocale(){let e=this._formatHint;if(!e)return;if(this._rangeMode()&&this._fields){this._fields[0].setLocale(this.locale),this._fields[1].setLocale(this.locale),e.textContent=`${this.messages.formatHint}: ${this._fields[0].placeholder}`;for(let[s,i]of this._fields.entries()){if(!i.input.hasAttribute("placeholder")||this._generatedPlaceholder)i.input.placeholder=i.placeholder,this._generatedPlaceholder=!0;let n=s===1?this._range?.end||"":this._range?.start||"";if(n)i.input.value=i.format(n)}this._refreshButtonLabel();return}let t=this._field;if(!t)return;if(t.setLocale(this.locale),e.textContent=`${this.messages.formatHint}: ${t.placeholder}`,!t.input.hasAttribute("placeholder")||this._generatedPlaceholder)t.input.placeholder=t.placeholder,this._generatedPlaceholder=!0;if(this._value)t.input.value=t.format(this._value);this._refreshButtonLabel()}_refreshButtonLabel(){let e=this._buttons[0]?.button;if(!e)return;if(this._rangeMode()){this._refreshRangeButtonLabel();return}let t=this._value?this.messages.changeDate:this.messages.chooseDate,s=this._value?`, ${re(this._value,this.locale)}`:"";e.setAttribute("aria-label",`${t}${s}`)}_refreshRangeButtonLabel(){if(!this._range)return;let{start:e,end:t}=this._range;for(let{button:s,endpoint:i}of this._buttons){let n=i==="end"?t:e,r=n?this.messages.changeDate:this.messages.chooseDate,a=n?`, ${re(n,this.locale)}`:"",o=i==="end"?this.messages.rangeEnd:this.messages.rangeStart;s.setAttribute("aria-label",`${r}${a}, ${o}`)}}_reflectValue(e){if(this._reflecting=!0,e)this.setAttribute("value",e);else this.removeAttribute("value");this._reflecting=!1}_setValue(e,t={}){if(e&&!d(e))throw TypeError(`Invalid date-picker value: ${e}`);let s=this._value;if(this._value=e||"",t.reflect!==!1)this._reflectValue(this._value);if(this._field?.setCanonical(this._value,{format:t.format!==!1}),this._calendar){if(this._calendar.value=this._value,this._value&&t.moveDisplay!==!1)this._calendar.focusedDate=this._value}if(this._refreshButtonLabel(),s!==this._value){if(this.dispatchEvent(new CustomEvent("valuechange",{detail:{value:this._value},bubbles:!0})),t.emit&&this._field){let i=this._field.input;i.dispatchEvent(new Event("input",{bubbles:!0})),i.dispatchEvent(new Event("change",{bubbles:!0}))}}}async _confirmDate(e,t={}){let s=this._calendar;if(!s)return{ok:!0};if(t.moveDisplay!==!1){let r=f(e);if(s.display!==r)s.display=r}let i=await s.ensureDate(e),n=s.getDateState(e);if(!i||n.disabled)return{ok:!1,message:this.messages.unavailableDate};return{ok:!0}}async _commitText(e,t={}){let s=this._field;if(!s)return!1;if(!t.force&&!s.isDirty)return!1;let i=await s.commit(t);if(i.status==="stale"||i.status==="invalid")return!1;return this._setValue(i.value||"",{emit:e,format:i.status==="ok",moveDisplay:t.moveDisplay}),!0}async _commitFieldText(e){let t=this._fields;if(!t)return!1;let s=e==="end"?1:0,i=t[s];if(!i?.isDirty)return!1;let n=await i.commit();if(n.status==="stale")return!1;if(n.status==="invalid")return this._orderTags.delete(s),!1;return this._setBound(e,n.value||"",{emit:!1,user:!0,format:n.status==="ok"}),!0}_setBound(e,t,s={}){if(!this._range)return!1;let i=this._fields;if(!i)return!1;let r=i[e==="end"?1:0];if(!r)return!1;if(s.user===!0&&(r.input.disabled||r.input.readOnly))return!1;let a=t||"",o=r.canonical;if(r.setCanonical(a,{format:s.format!==!1}),e==="end")this._range.end=a;else this._range.start=a;let c=o!==a;if(c){if(this._syncHighlight(),this._refreshRangeButtonLabel(),this._emitRangeChange(),s.emit)r.input.dispatchEvent(new Event("input",{bubbles:!0})),r.input.dispatchEvent(new Event("change",{bubbles:!0}))}return this._revalidateRange(e),c}_setRange(e,t,s={}){if(!this._range||!this._fields)return;if(this._range.start=e||"",this._range.end=t||"",this._fields[0].setCanonical(e||"",{format:s.format!==!1}),this._fields[1].setCanonical(t||"",{format:s.format!==!1}),this._syncHighlight(),this._refreshRangeButtonLabel(),this._revalidateRange("start"),this._revalidateRange("end"),s.emit!==!1)this._emitRangeChange()}_boundCanonical(e){return this._range?e==="end"?this._range.end:this._range.start:""}_emitRangeChange(){if(!this._range)return;this.dispatchEvent(new CustomEvent("rangechange",{detail:{...this._range.range},bubbles:!0}))}_displayRange(){let{start:e,end:t}=this._range?.range??{start:"",end:""};if(!e)return{start:"",end:""};if(t&&g(t,e)<0)return{start:e,end:""};return{start:e,end:t}}_syncHighlight(){if(!this._calendar||!this._range)return;this._previewDate="",this._calendar.removeAttribute("data-range-preview"),this._calendar.highlightedRange=this._displayRange(),this._syncDragAffordance()}_revalidateRange(e){if(!this._fields||!this._range)return;let{start:t,end:s}=this._range,i=Boolean(t&&s&&g(s,t)<0),n=["start","end"];for(let r of n){let a=r==="end"?1:0,o=this._fields[a].input,c=r==="end"?this.messages.rangeOrderEnd:this.messages.rangeOrderStart;if(i&&r===e)o.setCustomValidity(c),this._orderTags.add(a);else if(this._orderTags.has(a))o.setCustomValidity(""),this._orderTags.delete(a)}}_revalidateTimeOrder(e){let[t,s]=this._timeFields,i=["start","end"],n=[t,s],r=t&&!t.disabled?t.value.trim():"",a=s&&!s.disabled?s.value.trim():"",o=Boolean(t&&s&&r&&a)&&$e(r)&&$e(a)&&ot(a,r)<0;for(let[c,l]of i.entries()){let u=n[c];if(!u)continue;let b=l==="end"?this.messages.rangeOrderEnd:this.messages.rangeOrderStart;if(o&&l===e)u.setCustomValidity(b),this._timeOrderOwned.add(u);else if(this._timeOrderOwned.has(u))u.setCustomValidity(""),this._timeOrderOwned.delete(u)}}_clearTimeOrderValidity(){for(let e of this._timeOrderOwned)e.setCustomValidity("");this._timeOrderOwned.clear()}_restoreDefault(){let e=this._field;if(!e)return;let t=e.restoreDefault();if(this._setValue(t,{emit:!1,format:!0}),this._calendar)if(this._value)this._calendar.display=f(this._value),this._calendar.focusedDate=this._value;else this._calendar.display=f(R()),this._calendar.focusedDate=R();this.validate()}_restoreRangeDefault(){if(!this._fields)return;let e=this._fields[0].restoreDefault(),t=this._fields[1].restoreDefault();if(this._setRange(e,t),this._calendar){let s=this._range?.start||R();this._calendar.display=f(s),this._calendar.focusedDate=s}this.validate()}_focusField(e){let t=e==="end"?1:0,s=this._fields?.[t]?.input;if(!s)return;this._suppressFocusOpen=!0,setTimeout(()=>{s.focus(),this._suppressFocusOpen=!1},0)}_restoreFocus(){let e=this._returnFocus;if(this._returnFocus=null,!(e instanceof HTMLElement)||!e.isConnected||e.matches(":disabled"))return;this._suppressFocusOpen=!0,setTimeout(()=>{e.focus(),this._suppressFocusOpen=!1},0)}_resolveRangeEndpoint(){if(!this._fields)return"";let e=this._lastFocusEndpoint||"start",t=e==="end"?1:0;if(!this._fields[t].input.disabled&&!this._fields[t].input.readOnly)return e;let s=e==="end"?"start":"end",i=s==="end"?1:0;if(!this._fields[i].input.disabled&&!this._fields[i].input.readOnly)return s;return""}async validate(){if(this._rangeMode()){let s=this._fields;if(!s)return!0;for(let[i,n]of s.entries()){let r=await n.commit({moveDisplay:!1});if(r.status==="ok"||r.status==="clear"){let a=i===1?"end":"start";this._setBound(a,r.value||"",{format:r.status==="ok"})}}return this._revalidateRange("start"),this._revalidateRange("end"),s.every((i)=>i.input.checkValidity())}let e=this._field?.input;if(!e)return!0;if(!e.value.trim())e.setCustomValidity("");else await this._commitText(!1,{force:!0,moveDisplay:!1});this._revalidateTimeOrder("start"),this._revalidateTimeOrder("end");let t=this._timeFields.every((s)=>s?.checkValidity()??!0);return e.checkValidity()&&t}show(e={}){let t=this._panel,s=this._calendar;if(!t||!s||!this._buttons.length||this._open)return;if(this._rangeMode()){let r=e.endpoint||this._resolveRangeEndpoint();if(!r)return;this._activateRangeEndpoint(r)}else{let r=this._input;if(!r||r.disabled||r.readOnly)return;let a=this._value||this._adapter().parse(r.value)||R();s.display=f(a),s.focusedDate=a,this._returnFocus=e.returnFocus instanceof HTMLElement?e.returnFocus:r}t.showPopover(),this._open=!0,this._setExpanded(!0);let i=this.coordinateSpace;t.style.position=i==="document"?"absolute":"fixed";let n=()=>rt(this,t,{placement:"bottom-start",distance:4,shiftPadding:8,coordinateSpace:i});if(n(),this._stopTracking=nt(this,t,n),e.moveFocus!==!1)queueMicrotask(()=>s.focusGrid());this.dispatchEvent(new Event("open",{bubbles:!0}))}_setExpanded(e){let t=e?"true":"false";this._input?.setAttribute("aria-expanded",t);for(let{button:s}of this._buttons)s.setAttribute("aria-expanded",t);for(let s of this._fields||[])s.input.setAttribute("aria-expanded",t)}hide(e=!1){if(!this._panel||!this._open)return;this._stopTracking?.(),this._stopTracking=null;try{this._panel.hidePopover()}catch{}if(this._open=!1,this._setExpanded(!1),this._rangeCommitId++,this._pendingIntents.clear(),this._suppressGridClick=!1,this._drag)this._releaseDragCapture(this._drag.pointerId),this._drag=null;if(this._syncHighlight(),e)if(this._rangeMode()){let t=this._restoreFocusEndpoint();if(t)this._focusField(t)}else this._restoreFocus();this.dispatchEvent(new Event("close",{bubbles:!0}))}_restoreFocusEndpoint(){let e=this._range?.activeEndpoint||"";if(e){let t=e==="end"?1:0,s=this._fields?.[t];if(s&&!s.input.disabled&&!s.input.readOnly)return e}return this._resolveRangeEndpoint()}}function Le(){if(!customElements.get("date-calendar"))customElements.define("date-calendar",oe);if(!customElements.get("date-picker"))customElements.define("date-picker",Fe)}Le();var lt="lekoala-date-picker-styles";if(!document.getElementById(lt)){let e=document.createElement("style");e.id=lt,e.textContent=Oe,document.head.append(e)}Le();})();
@@ -16,6 +16,14 @@ export declare function getDefaultControlClasses(): {
16
16
  year: string;
17
17
  nav: string;
18
18
  };
19
+ /**
20
+ * Preserve omitted roles so they can inherit defaults when rendered.
21
+ * @param {Partial<ControlClasses> | null} classes
22
+ * @returns {Partial<ControlClasses> | null}
23
+ */
24
+ export declare function normalizeControlClasses(classes: Partial<ControlClasses> | null): Partial<ControlClasses> | null;
25
+ /** @param {Partial<ControlClasses> | null} classes */
26
+ export declare function usesDefaultControlClasses(classes: Partial<ControlClasses> | null): boolean;
19
27
  /** @param {Partial<ControlClasses> | null} classes */
20
28
  export declare function resolveControlClasses(classes: Partial<ControlClasses> | null): {
21
29
  month: string;
@@ -23,8 +31,10 @@ export declare function resolveControlClasses(classes: Partial<ControlClasses> |
23
31
  nav: string;
24
32
  };
25
33
  /**
26
- * Set defaults for subsequently created elements (existing elements are unchanged).
34
+ * Set defaults and refresh connected elements with inherited control roles.
27
35
  * @param {Partial<ControlClasses>} classes
28
36
  */
29
37
  export declare function setDefaultControlClasses(classes: Partial<ControlClasses>): void;
38
+ /** @param {() => void} listener */
39
+ export declare function subscribeDefaultControlClasses(listener: () => void): () => void;
30
40
  //# sourceMappingURL=control-classes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"control-classes.d.ts","sourceRoot":"","sources":["../../src/control-classes.js"],"names":[],"mappings":"AAAA,6EAA6E;AAAzE,YAAwD,cAAc,GAA5D;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAgB;AAE1E;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAFhC,OAEgC,UAc1C;AAED,0DAA0D;AAC1D,wBAAgB,kBAAkB,CAAC,CAAC,EADxB,cACwB,EAAE,CAAC,EADD,cACC,WAEtC;AAKD,wBAAgB,wBAAwB;WA9BjB,MAAM;UAAQ,MAAM;SAAO,MAAM;EAgCvD;AAED,sDAAsD;AACtD,wBAAgB,qBAAqB,CAAC,OAAO,EADjC,OAAO,CAAC,cAAc,CAAC,GAAG,IACO;WAnCtB,MAAM;UAAQ,MAAM;SAAO,MAAM;EAyCvD;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAFrC,OAAO,CAAC,cAAc,CAEe,QAE/C"}
1
+ {"version":3,"file":"control-classes.d.ts","sourceRoot":"","sources":["../../src/control-classes.js"],"names":[],"mappings":"AAAA,6EAA6E;AAAzE,YAAwD,cAAc,GAA5D;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAgB;AAE1E;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAFhC,OAEgC,UAc1C;AAED,0DAA0D;AAC1D,wBAAgB,kBAAkB,CAAC,CAAC,EADxB,cACwB,EAAE,CAAC,EADD,cACC,WAEtC;AAKD,wBAAgB,wBAAwB;WA9BjB,MAAM;UAAQ,MAAM;SAAO,MAAM;EAgCvD;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAHpC,OAAO,CAAC,cAAc,CAAC,GAAG,IAGU,GAFlC,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,CAU1C;AAED,sDAAsD;AACtD,wBAAgB,yBAAyB,CAAC,OAAO,EADrC,OAAO,CAAC,cAAc,CAAC,GAAG,IACW,WAEhD;AAED,sDAAsD;AACtD,wBAAgB,qBAAqB,CAAC,OAAO,EADjC,OAAO,CAAC,cAAc,CAAC,GAAG,IACO;WAvDtB,MAAM;UAAQ,MAAM;SAAO,MAAM;EAyDvD;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAFrC,OAAO,CAAC,cAAc,CAEe,QAK/C;AAKD,mCAAmC;AACnC,wBAAgB,8BAA8B,CAAC,QAAQ,EAD3C,MAAM,IACqC,cAKtD"}
@@ -59,7 +59,27 @@ export declare class DateCalendarElement extends HTMLElement {
59
59
  _paintedPreview: boolean;
60
60
  /** @type {Map<string, DateState>} States of the current rendered grid. */
61
61
  _renderedStates: Map<string, DateState>;
62
- _messages: {
62
+ /** @type {typeof import("./messages.js").DEFAULT_MESSAGES | null} */
63
+ _messages: typeof import("./messages.js").DEFAULT_MESSAGES | null;
64
+ /** @type {Partial<import("./control-classes.js").ControlClasses> | null} */
65
+ _controlClasses: Partial<import("./control-classes.js").ControlClasses> | null;
66
+ /** @type {(() => void) | null} */
67
+ _stopDefaultMessages: (() => void) | null;
68
+ /** @type {(() => void) | null} */
69
+ _stopDefaultControlClasses: (() => void) | null;
70
+ static observedAttributes: string[];
71
+ /** @public @param {Partial<import("./control-classes.js").ControlClasses>} classes */
72
+ static setDefaultControlClasses(classes: Partial<import("./control-classes.js").ControlClasses>): void;
73
+ /** @public */
74
+ static getDefaultControlClasses(): {
75
+ month: string;
76
+ year: string;
77
+ nav: string;
78
+ };
79
+ /** @public @param {Partial<typeof import("./messages.js").DEFAULT_MESSAGES>} messages */
80
+ static setDefaultMessages(messages: Partial<typeof import("./messages.js").DEFAULT_MESSAGES>): void;
81
+ /** @public */
82
+ static getDefaultMessages(): {
63
83
  chooseDate: string;
64
84
  changeDate: string;
65
85
  previousMonth: string;
@@ -79,12 +99,6 @@ export declare class DateCalendarElement extends HTMLElement {
79
99
  rangeOrderStart: string;
80
100
  rangeOrderEnd: string;
81
101
  };
82
- _controlClasses: {
83
- month: string;
84
- year: string;
85
- nav: string;
86
- };
87
- static observedAttributes: string[];
88
102
  constructor();
89
103
  connectedCallback(): void;
90
104
  disconnectedCallback(): void;
@@ -132,54 +146,17 @@ export declare class DateCalendarElement extends HTMLElement {
132
146
  get showWeekNumbers(): boolean;
133
147
  set showWeekNumbers(value: boolean);
134
148
  /**
135
- * Author classes for header controls; merged with global defaults.
149
+ * Author classes for header controls; omitted roles follow current global defaults.
136
150
  * @public
137
151
  * @returns {import("./control-classes.js").ControlClasses}
138
152
  */
139
153
  get controlClasses(): import("./control-classes.js").ControlClasses;
140
154
  /** @param {Partial<import("./control-classes.js").ControlClasses> | null} value */
141
155
  set controlClasses(value: Partial<import("./control-classes.js").ControlClasses> | null);
142
- /** @public */
143
- get messages(): {
144
- chooseDate: string;
145
- changeDate: string;
146
- previousMonth: string;
147
- nextMonth: string;
148
- month: string;
149
- year: string;
150
- calendar: string;
151
- unavailable: string;
152
- invalidDate: string;
153
- unavailableDate: string;
154
- formatHint: string;
155
- week: string;
156
- rangeStart: string;
157
- rangeInRange: string;
158
- rangeEnd: string;
159
- rangeSingle: string;
160
- rangeOrderStart: string;
161
- rangeOrderEnd: string;
162
- };
163
- set messages(value: {
164
- chooseDate: string;
165
- changeDate: string;
166
- previousMonth: string;
167
- nextMonth: string;
168
- month: string;
169
- year: string;
170
- calendar: string;
171
- unavailable: string;
172
- invalidDate: string;
173
- unavailableDate: string;
174
- formatHint: string;
175
- week: string;
176
- rangeStart: string;
177
- rangeInRange: string;
178
- rangeEnd: string;
179
- rangeSingle: string;
180
- rangeOrderStart: string;
181
- rangeOrderEnd: string;
182
- });
156
+ /** @public @returns {typeof import("./messages.js").DEFAULT_MESSAGES} */
157
+ get messages(): typeof import("./messages.js").DEFAULT_MESSAGES;
158
+ /** @param {Partial<typeof import("./messages.js").DEFAULT_MESSAGES> | null} value */
159
+ set messages(value: Partial<typeof import("./messages.js").DEFAULT_MESSAGES> | null);
183
160
  /** @public @returns {DateSource | null} */
184
161
  get source(): DateSource | null;
185
162
  set source(value: DateSource | null);
@@ -1 +1 @@
1
- {"version":3,"file":"date-calendar.d.ts","sourceRoot":"","sources":["../../src/date-calendar.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"date-calendar.d.ts","sourceRoot":"","sources":["../../src/date-calendar.js"],"names":[],"mappings":"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"}