@pglejzer/datepicker-ui 0.0.1 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,101 @@
1
+ import { A as SurfaceMode, F as formatHint, I as resolvePattern, L as DatePart, M as FormatPattern, N as HintLetters, P as formatDate, U as PlainDate, j as FormatOption, z as CalendarMode } from "./shared.cjs";
2
+ //#region src/managers/renderers/SurfaceHost.d.ts
3
+ interface SurfaceHost {
4
+ readonly root: HTMLElement;
5
+ readonly body: HTMLElement;
6
+ open(): Promise<void>;
7
+ close(): Promise<void>;
8
+ destroy(): void;
9
+ }
10
+ export declare function waitForExit(element: HTMLElement): Promise<void>;
11
+ //#endregion
12
+ //#region src/managers/renderers/DialogHost.d.ts
13
+ export declare class DialogHost implements SurfaceHost {
14
+ readonly root: HTMLElement;
15
+ readonly body: HTMLElement;
16
+ private readonly dialog;
17
+ private readonly controller;
18
+ private readonly allowPageScroll;
19
+ private releaseScroll;
20
+ private openPromise;
21
+ private closePromise;
22
+ private pointerStartedOnBackdrop;
23
+ private destroyed;
24
+ constructor(options: {
25
+ parent: HTMLElement;
26
+ label: string;
27
+ allowPageScroll: boolean;
28
+ onCancel(reason: "escape" | "outside"): void;
29
+ });
30
+ open(): Promise<void>;
31
+ close(): Promise<void>;
32
+ destroy(): void;
33
+ private unlock;
34
+ }
35
+ //#endregion
36
+ //#region src/managers/renderers/InlineHost.d.ts
37
+ export declare class InlineHost implements SurfaceHost {
38
+ readonly root: HTMLElement;
39
+ readonly body: HTMLElement;
40
+ constructor(options: {
41
+ container: HTMLElement;
42
+ label: string;
43
+ });
44
+ open(): Promise<void>;
45
+ close(): Promise<void>;
46
+ destroy(): void;
47
+ }
48
+ //#endregion
49
+ //#region src/managers/renderers/PopoverHost.d.ts
50
+ export declare class PopoverHost implements SurfaceHost {
51
+ readonly root: HTMLElement;
52
+ readonly body: HTMLElement;
53
+ private readonly anchor;
54
+ private readonly anchorName;
55
+ private readonly rtl;
56
+ private readonly fallback;
57
+ private readonly controller;
58
+ private stopTracking;
59
+ private restoreAnchor;
60
+ private hasPopover;
61
+ private anchored;
62
+ private openPromise;
63
+ private closePromise;
64
+ private destroyed;
65
+ constructor(options: {
66
+ host: HTMLElement;
67
+ anchor: HTMLElement;
68
+ instanceId: string;
69
+ rtl: boolean;
70
+ label: string;
71
+ inside: readonly HTMLElement[];
72
+ ignoreOutsideClick: boolean;
73
+ onOutside(): void;
74
+ onEscape(): void;
75
+ });
76
+ open(): Promise<void>;
77
+ close(): Promise<void>;
78
+ destroy(): void;
79
+ private endTracking;
80
+ private show;
81
+ private hide;
82
+ private enableFallback;
83
+ private update;
84
+ }
85
+ //#endregion
86
+ //#region src/utils/surface.d.ts
87
+ export declare const resolveSurfaceMode: (option: "auto" | "docked" | "modal", inlineEnabled: boolean, viewportWidth: number, viewportHeight: number) => SurfaceMode;
88
+ export declare const isFullscreenRange: (mode: CalendarMode, surface: SurfaceMode, viewportWidth: number, fullscreenBelow: number) => boolean;
89
+ //#endregion
90
+ //#region src/utils/colorScheme.d.ts
91
+ type Scheme = "light" | "dark";
92
+ export declare function detectColorScheme(from: HTMLElement): Scheme;
93
+ export declare function watchColorScheme(onChange: () => void): () => void;
94
+ //#endregion
95
+ //#region src/utils/date/mask.d.ts
96
+ export declare function maskDateText(text: string, pattern: FormatPattern): string;
97
+ //#endregion
98
+ //#region src/utils/date/parse.d.ts
99
+ export declare function parseDate(text: string, pattern: FormatPattern): PlainDate | null;
100
+ //#endregion
101
+ export { type DatePart, type FormatOption, type FormatPattern, type HintLetters, type PlainDate, type Scheme, type SurfaceHost, type SurfaceMode, formatDate, formatHint, resolvePattern };
@@ -0,0 +1 @@
1
+ const e=/^(\d{4})-(\d{2})-(\d{2})$/;function t(e){return e%4==0&&e%100!=0||e%400==0}function n(e,n){return n===2?t(e)?29:28:n===4||n===6||n===9||n===11?30:31}function r(e,t,n){let r=t<=2?e-1:e,i=Math.floor(r/400),a=r-i*400,o=t>2?t-3:t+9,s=Math.floor((153*o+2)/5)+n-1,c=a*365+Math.floor(a/4)-Math.floor(a/100)+s;return i*146097+c-719468}function i(e){let t=e+719468,n=Math.floor(t/146097),r=t-n*146097,i=Math.floor((r-Math.floor(r/1460)+Math.floor(r/36524)-Math.floor(r/146096))/365),a=r-(365*i+Math.floor(i/4)-Math.floor(i/100)),o=Math.floor((5*a+2)/153),s=a-Math.floor((153*o+2)/5)+1,c=o<10?o+3:o-9;return{year:i+n*400+ +(c<=2),month:c,day:s}}function a(e){switch((e%7+7)%7){case 0:return 0;case 1:return 1;case 2:return 2;case 3:return 3;case 4:return 4;case 5:return 5;default:return 6}}function o(e,t,r){return!Number.isInteger(e)||!Number.isInteger(t)||!Number.isInteger(r)||e<1||e>9999||t<1||t>12?!1:r>=1&&r<=n(e,t)}function s(e,t,n){return o(e,t,n)?{year:e,month:t,day:n}:null}function c(e){return{year:e.getFullYear(),month:e.getMonth()+1,day:e.getDate()}}function l(e){let t=new Date(2e3,0,1);return t.setFullYear(e.year,e.month-1,e.day),t.setHours(0,0,0,0),t}function u(t){let n=e.exec(t);return n?s(Number(n[1]),Number(n[2]),Number(n[3])):null}function d(e){return`${String(e.year).padStart(4,`0`)}-${String(e.month).padStart(2,`0`)}-${String(e.day).padStart(2,`0`)}`}function f(e,t){return e.year===t.year?e.month===t.month?e.day-t.day:e.month-t.month:e.year-t.year}function p(e,t){return e===null||t===null?!1:f(e,t)===0}function m(e,t){return i(r(e.year,e.month,e.day)+t)}function h(e,t){return r(t.year,t.month,t.day)-r(e.year,e.month,e.day)}function g(e,t){let n=e.year*12+(e.month-1)+t,r=Math.floor(n/12);return{year:r,month:n-r*12+1}}function _(e,t){return t.year*12+t.month-(e.year*12+e.month)}function v(e){return n(e.year,e.month)}function y(e){return a(r(e.year,e.month,e.day)+4)}function b(){return c(/* @__PURE__ */ new Date)}function x(e){return e===`today`?b():typeof e==`string`?u(e):Number.isNaN(e.getTime())?null:c(e)}function S(e){let t=r(e.year,e.month,e.day),n=(y(e)+6)%7+1,a=t+4-n,o=i(a).year,s=r(o,1,1);return Math.floor((a-s)/7)+1}const C=e=>{let t=e.mode===`range`&&e.presets>0;if(e.surface===`modal`||e.fullscreen||e.precision!==`day`)return{months:1,presets:t?`row`:`none`};let n=336+(e.weekNumbers&&e.mode!==`range`?48:0),r=(e,t)=>e*n+(e-1)*24+24+(t?168:0)+32,i=t&&r(1,!0)<=e.width,a=1;for(let t=2;t<=e.months;t+=1)r(t,i)<=e.width&&(a=t);let o=`none`;return i?o=`column`:t&&(o=`row`),{months:a,presets:o}},w=(e,t,n)=>{if(n!==`day`)return!1;switch(e){case`single`:return t===`modal`;case`range`:return!0;case`multiple`:return!1}},T=e=>{switch(e){case`day`:return`days`;case`month`:return`month-grid`;case`year`:return`year-grid`}},E=(e,t)=>{let n=t!==`modal`;switch(e){case`day`:return`days`;case`month`:return n?`month-menu`:`month-grid`;case`year`:return n?`year-menu`:`year-grid`}},D=(e,t,n,r)=>t?`inline`:e===`auto`?n<600||r<480?`modal`:`docked`:e,O=(e,t,n,r)=>e===`range`&&t===`modal`&&n<r,k=/* @__PURE__ */ new Set([`/`,`.`,`-`,` `]),ee=/[‎‏؜]/g,te=/^(d{1,2}|M{1,2}|yyyy|yy)([/. -])(d{1,2}|M{1,2}|yyyy|yy)\2(d{1,2}|M{1,2}|yyyy|yy)$/,ne=/^(M{1,2}|yyyy|yy)([/. -])(M{1,2}|yyyy|yy)$/,A=/* @__PURE__ */ new Map;function j(e){return e.startsWith(`d`)?`day`:e.startsWith(`M`)?`month`:`year`}function re(e){let t=te.exec(e);if(!t)return null;let n=[t[1],t[3],t[4]],r=n.map(j);return new Set(r).size===3?{order:r,separator:t.at(2)??`/`,padDay:n.includes(`dd`),padMonth:n.includes(`MM`),yearDigits:n.includes(`yy`)?2:4}:null}function ie(e){let t=ne.exec(e);if(!t)return null;let n=[t[1],t[3]],[r,i]=n.map(j);return r===i?null:{order:r===`month`?[`day`,`month`,`year`]:[`year`,`month`,`day`],separator:t.at(2)??`/`,padDay:!0,padMonth:n.includes(`MM`),yearDigits:n.includes(`yy`)?2:4}}function ae(e){return e!==`yyyy`&&e!==`yy`?null:{order:[`month`,`day`,`year`],separator:`/`,padDay:!0,padMonth:!0,yearDigits:e===`yy`?2:4}}function M(e,t){let n=re(e);if(n!==null||t===`day`)return n;let r=ie(e);return r!==null||t===`month`?r:ae(e)}function oe(e,t=`day`){return e===`auto`||M(e.trim(),t)!==null}function se(e){let t={day:`2-digit`,month:`2-digit`,year:`numeric`,numberingSystem:`latn`,timeZone:`UTC`};try{return new Intl.DateTimeFormat(e,t)}catch{return new Intl.DateTimeFormat(`en-US`,t)}}function ce(e){let t=se(e).formatToParts(new Date(Date.UTC(2024,10,22,12))),n=[],r=``;for(let e of t)e.type===`day`||e.type===`month`||e.type===`year`?n.push(e.type):e.type===`literal`&&r===``&&(r=e.value.replace(ee,``).trim());return{order:n.length===3?n:[`month`,`day`,`year`],separator:k.has(r)?r:`/`,padDay:!0,padMonth:!0,yearDigits:4}}function le(e,t,n=`day`){let r=`${e}|${t}|${n}`,i=A.get(r);if(i)return i;let a=(e===`auto`?null:M(e.trim(),n))??ce(t);return A.set(r,a),a}function ue(e,t,n){switch(t){case`day`:return n.padDay?String(e.day).padStart(2,`0`):String(e.day);case`month`:return n.padMonth?String(e.month).padStart(2,`0`):String(e.month);default:return n.yearDigits===2?String(e.year%100).padStart(2,`0`):String(e.year).padStart(4,`0`)}}const de={day:`dd`,month:`mm`,year:`yyyy`};function fe(e){return{day:e.hintDay,month:e.hintMonth,year:e.hintYear}}function pe(e,t=de){return e.order.map(n=>n===`day`?t.day:n===`month`?t.month:e.yearDigits===2?t.year.slice(0,2):t.year).join(e.separator)}function me(e,t){return t.order.map(n=>ue(e,n,t)).join(t.separator)}function N(){return typeof document<`u`}function P(){return typeof window>`u`}const he=/[٠-٩۰-۹]/g,ge=/[‎‏؜]/g,F=/[\s./-]+/,I=/^\d+$/,_e=/^\d{8}$/;function ve(e){let t=e.charCodeAt(0);return String(t-(t>=1776?1776:1632))}function L(e){return e.replace(ge,``).replace(he,ve).trim()}function ye(e,t){if(_e.test(e)){let n=[],r=0;for(let i of t){let t=i===`year`?4:2;n.push(e.slice(r,r+t)),r+=t}return n}let n=e.split(F).filter(e=>e!==``);return n.length!==3||!n.every(e=>I.test(e))?null:n}function be(e){let t=L(e).split(F).filter(e=>e!==``);return t.every(e=>I.test(e))?t:null}function R(e){if(e.length===4)return Number(e);if(e.length!==2)return null;let t=2e3+Number(e);return t<=b().year+20?t:1900+Number(e)}function xe(e,t){let n=ye(L(e),t.order);if(n===null)return null;let r=0,i=0,a=0;for(let[e,o]of t.order.entries()){let t=n[e]??``;if(o===`year`)a=R(t);else if(t.length>2)return null;else o===`day`?r=Number(t):i=Number(t)}return a===null?null:s(a,i,r)}function Se(e,t){return e===null?null:typeof e==`string`?N()?t?.querySelector(e)??document.querySelector(e):null:e}function z(e,t,n){let r=document.createElement(e);return t&&(r.className=t),n&&Object.entries(n).forEach(([e,t])=>{r.setAttribute(e,t)}),r}function Ce(e,t,n){let r=e.getBoundingClientRect(),i=t.getBoundingClientRect();n===`center`?e.scrollTop+=i.top-r.top-(r.height-i.height)/2:i.top<r.top?e.scrollTop+=i.top-r.top:i.bottom>r.bottom&&(e.scrollTop+=i.bottom-r.bottom)}function we(e,t,n){let r=z(`button`,e,{type:`button`});return n?(r.setAttribute(`aria-label`,t),r.innerHTML=n):r.textContent=t,r}const B=`(prefers-color-scheme: dark)`,Te=/^(rgba?|color|oklch|oklab|lab|lch)\(([^)]*)\)$/,Ee=/[\s,/]+/,De=[`class`,`style`,`data-theme`,`data-color-scheme`],V=e=>Math.min(1,Math.max(0,e)),H=e=>{let t=V(e);return t<=.04045?t/12.92:((t+.055)/1.055)**2.4},Oe=(e,t,n)=>.2126*H(e)+.7152*H(t)+.0722*H(n),U=(e,t)=>{if(e===`none`)return 0;let n=parseFloat(e);return e.endsWith(`%`)?n/100*t:n},ke=(e,t)=>{let n=+(e===`color`);if(e===`color`&&t[0]!==`srgb`)return null;let r=U(t[n]??``,e===`lab`||e===`lch`?100:1);switch(e){case`rgb`:case`rgba`:case`color`:{let r=e===`color`?1:255,[i=NaN,a=NaN,o=NaN]=[0,1,2].map(e=>U(t[n+e]??``,r)/r);return Oe(i,a,o)}case`oklab`:case`oklch`:return V(r)**3;default:return V((r+16)/116)**3}};function Ae(e){let t=e.trim().toLowerCase();if(t===`transparent`)return{luminance:0,alpha:0};let n=Te.exec(t),r=n?.[1],i=n?.[2];if(r===void 0||i===void 0)return null;let a=i.split(Ee).filter(e=>e!==``),o=r===`color`?4:3,s=a.length>o?U(a[o],1):1,c=ke(r,a);return c===null||Number.isNaN(c)||Number.isNaN(s)?null:{luminance:c,alpha:V(s)}}const je=()=>{let e=getComputedStyle(document.documentElement).getPropertyValue(`color-scheme`);return e.includes(`dark`)?e.includes(`light`)?window.matchMedia(B).matches?`dark`:`light`:`dark`:`light`};function Me(e){if(P()||!N())return`light`;let t=e;for(;t!==null;){let e=Ae(getComputedStyle(t).backgroundColor);if(e!==null&&e.alpha>=.5)return e.luminance<.179?`dark`:`light`;t=t.parentElement}return je()}function Ne(e){if(P()||!N())return()=>void 0;let t=()=>{e()},n=new MutationObserver(t),r={attributes:!0,attributeFilter:De};n.observe(document.documentElement,r),n.observe(document.body,r);let i=window.matchMedia(B);return i.addEventListener(`change`,t),()=>{n.disconnect(),i.removeEventListener(`change`,t)}}const W={PAGER_SETTLE:350,DOCKED_HEIGHT:300,SELECT_FILL:150,HEADLINE_FADE:50,RIPPLE:450,SURFACE_ENTER:300,SURFACE_ENTER_FADE:100,SURFACE_ACTIONS_DELAY:150,SURFACE_EXIT:150,SCRIM_ENTER:150,SCRIM_EXIT:200,PANEL_FADE_OUT:100,PANEL_FADE_IN:200,WHEEL_SETTLE:90,VIEW_SWITCH:300,VIEW_SWITCH_FADE_OUT:75,VIEW_SWITCH_FADE_IN:150,REDUCED_FADE:150,SNAP_SCROLL_FALLBACK:700},Pe={DRAG_START_PX:6,COMMIT_FRACTION:.25,FLICK_VELOCITY:.4,VELOCITY_SAMPLES:5,MIN_SAMPLE_SPAN_MS:1},Fe={EMPHASIZED:`cubic-bezier(0.2, 0, 0, 1)`,EMPHASIZED_DECELERATE:`cubic-bezier(0.05, 0.7, 0.1, 1)`,EMPHASIZED_ACCELERATE:`cubic-bezier(0.3, 0, 0.8, 0.15)`},G=`--dp-ui-scrollbar-gap`,Ie=[`auto`,`scroll`];let K=0,q=[],J=``;const Le=e=>Ie.includes(window.getComputedStyle(e).overflowY);function Y(e){let{style:t}=e,n=e.clientWidth,r=parseFloat(window.getComputedStyle(e).paddingRight)||0;q.push({element:e,overflow:t.overflow,paddingRight:t.paddingRight}),t.overflow=`hidden`;let i=Math.max(0,e.clientWidth-n);return i>0&&(t.paddingRight=`${String(r+i)}px`),i}function Re(){if(K===0){let{body:e,documentElement:t}=document,n=Le(e)?Y(e):0,r=Y(t);J=t.style.getPropertyValue(G),t.style.setProperty(G,`${String(Math.max(n,r))}px`)}K+=1}function ze(){if(K===0||(--K,K>0))return;q.forEach(({element:e,overflow:t,paddingRight:n})=>{e.style.overflow=t,e.style.paddingRight=n});let e=document.documentElement;J?e.style.setProperty(G,J):e.style.removeProperty(G),q=[],J=``}function Be(){if(!N())return()=>void 0;Re();let e=!1;return()=>{e||(e=!0,ze())}}const Ve=e=>{let t=getComputedStyle(e).getPropertyValue(`--dp-ui-motion-surface-exit`).trim();return t.endsWith(`ms`)&&parseFloat(t)===0};function X(e){if(Ve(e))return Promise.resolve();if(typeof e.getAnimations!=`function`)return new Promise(e=>{setTimeout(e,W.SURFACE_EXIT)});let t=e.getAnimations({subtree:!0});return Promise.allSettled(t.map(e=>e.finished)).then(()=>void 0)}var He=class{root;body;dialog;controller=new AbortController;allowPageScroll;releaseScroll=null;openPromise=null;closePromise=null;pointerStartedOnBackdrop=!1;destroyed=!1;constructor(e){this.allowPageScroll=e.allowPageScroll,this.dialog=z(`dialog`,`dp-ui__dialog`,{"aria-label":e.label}),this.body=z(`div`,`dp-ui__container dp-ui__container--modal`),this.root=this.dialog,this.dialog.appendChild(this.body),e.parent.appendChild(this.dialog);let{signal:t}=this.controller;this.dialog.addEventListener(`cancel`,t=>{t.preventDefault(),!this.closePromise&&e.onCancel(`escape`)},{signal:t}),this.dialog.addEventListener(`pointerdown`,e=>{this.pointerStartedOnBackdrop=e.target===this.dialog},{signal:t}),this.dialog.addEventListener(`click`,t=>{let n=this.pointerStartedOnBackdrop&&t.target===this.dialog;this.pointerStartedOnBackdrop=!1,n&&!this.closePromise&&e.onCancel(`outside`)},{signal:t})}open(){return this.openPromise||(this.openPromise=Promise.resolve(),this.destroyed)||(this.allowPageScroll||(this.releaseScroll=Be()),this.dialog.showModal()),this.openPromise}close(){return this.closePromise||=(this.dialog.open&&this.dialog.close(),X(this.dialog).then(()=>{this.unlock()})),this.closePromise}destroy(){this.destroyed||(this.destroyed=!0,this.controller.abort(),this.unlock(),this.dialog.remove())}unlock(){this.releaseScroll?.(),this.releaseScroll=null}},Ue=class{root;body;constructor(e){this.root=z(`div`,`dp-ui__container dp-ui__container--inline`,{role:`group`,"aria-label":e.label}),this.body=this.root,e.container.appendChild(this.root)}open(){return Promise.resolve()}close(){return Promise.resolve()}destroy(){this.root.remove()}};const Z=`anchor-name`,We=e=>typeof CSS<`u`&&typeof CSS.supports==`function`&&CSS.supports(`position-try-fallbacks`,`flip-block`)&&typeof e.showPopover==`function`,Ge=e=>`--dp-ui-anchor-${e.replace(/[^\w-]/g,`-`)}`,Ke=(e,t,n)=>{let{style:r}=t,i=r.getPropertyValue(Z);return r.setProperty(Z,n),e.style.setProperty(`--dp-ui-anchor-name`,n),e.setAttribute(`data-positioning`,`anchor`),()=>{i?r.setProperty(Z,i):r.removeProperty(Z)}},qe=(e,t,n)=>{let r=t.getBoundingClientRect(),i=e.offsetWidth;return n?r.right-i<0:r.left+i>e.ownerDocument.documentElement.clientWidth},Je=(e,t)=>{let n=e.getBoundingClientRect().top<t.getBoundingClientRect().top;e.setAttribute(`data-placement`,n?`top`:`bottom`)},Q=(e,t)=>Math.round(e*t)/t;function Ye({anchor:e,contentWidth:t,pickerHeight:n,minHeight:r,layoutWidth:i,viewport:a,tokens:o,request:s,rtl:c,pixelRatio:l}){let{gap:u,minWidth:d,maxWidth:f,edgeMargin:p}=o,{offsetLeft:m,offsetTop:h}=a,g=Q(Math.min(Math.max(e.width,d,t),f,i-2*p),l),_=h+p,v=e.top-u-_,y=h+a.height-p-e.bottom-u,b=(s===`auto`?n<=y||!(n<=v)&&y>=v?`bottom`:`top`:s)===`top`,x=b?v:y,S=x<Math.min(n,r)&&(b?y:v)>x?!b:b,C=S?`top`:`bottom`,w=S?v:y,T=n>w?Math.max(w,0):null,E=T??n,D=S?e.top-u-E:e.bottom+u,O=c?e.right-g:e.left,k=Math.max(Math.min(O,m+a.width-g-p),m+p);return{top:Q(Math.max(D,_),l),left:Q(k,l),width:g,placement:C,availableHeight:T}}const Xe=`--dp-ui-popover-top`,Ze=`--dp-ui-popover-left`,Qe=`--dp-ui-popover-available-height`,$=(e,t,n)=>{e.style.setProperty(`max-width`,`var(--dp-ui-${t})`);let r=getComputedStyle(e).getPropertyValue(`max-width`),i=r.endsWith(`px`)?parseFloat(r):NaN;return i>=0?i:n},$e=e=>{let t=z(`div`);t.style.cssText=`position:absolute;visibility:hidden;pointer-events:none`,e.appendChild(t);let n={gap:$(t,`popover-gap`,4),edgeMargin:$(t,`popover-edge-margin`,4),minHeight:$(t,`popover-min-height`,160)};return t.remove(),n},et=(e,t,n)=>{let r=null;return{enable:()=>{let{style:t}=e;t.setProperty(`position`,`fixed`),t.setProperty(`margin`,`0`),t.setProperty(`inset`,`auto`),t.setProperty(`top`,`var(${Xe})`),t.setProperty(`left`,`var(${Ze})`),e.setAttribute(`data-positioning`,`fallback`)},layout:()=>{r??=$e(e);let i=e.ownerDocument.documentElement;e.style.removeProperty(Qe);let a=t.getBoundingClientRect(),o=e.offsetWidth,{top:s,left:c,placement:l,availableHeight:u}=Ye({anchor:{top:a.top,bottom:a.bottom,left:a.left,right:a.right,width:0},contentWidth:o,pickerHeight:e.offsetHeight,minHeight:r.minHeight,layoutWidth:i.clientWidth,viewport:window.visualViewport??{width:i.clientWidth,height:i.clientHeight,offsetLeft:0,offsetTop:0},tokens:{gap:r.gap,edgeMargin:r.edgeMargin,minWidth:0,maxWidth:o},request:`auto`,rtl:n,pixelRatio:window.devicePixelRatio||1});e.style.setProperty(Xe,`${String(s)}px`),e.style.setProperty(Ze,`${String(c)}px`),u!==null&&e.style.setProperty(Qe,`${String(u)}px`),e.setAttribute(`data-placement`,l)}}},tt=e=>{document.addEventListener(`pointerdown`,t=>{if(e.isIgnored())return;let n=t.composedPath();e.inside.some(e=>n.includes(e))||e.onOutside()},{capture:!0,signal:e.signal})},nt=(e,t,n)=>{let r=new AbortController,{signal:i}=r,a=0,o=()=>{a===0&&(a=requestAnimationFrame(()=>{a=0,i.aborted||n()}))};if(window.addEventListener(`resize`,o,{signal:i}),window.addEventListener(`scroll`,t=>{let{target:n}=t;n instanceof Node&&e.contains(n)||o()},{capture:!0,signal:i}),window.visualViewport?.addEventListener(`resize`,o,{signal:i}),window.visualViewport?.addEventListener(`scroll`,o,{signal:i}),typeof ResizeObserver<`u`){let n=new ResizeObserver(o);n.observe(t),n.observe(e),i.addEventListener(`abort`,()=>{n.disconnect()})}return i.addEventListener(`abort`,()=>{cancelAnimationFrame(a),a=0}),()=>{r.abort()}};var rt=class{root;body;anchor;anchorName;rtl;fallback;controller=new AbortController;stopTracking=null;restoreAnchor=null;hasPopover;anchored=!1;openPromise=null;closePromise=null;destroyed=!1;constructor(e){this.anchor=e.anchor,this.rtl=e.rtl,this.anchorName=Ge(e.instanceId),this.root=z(`div`,`dp-ui__container dp-ui__container--docked`,{role:`dialog`,"aria-modal":`false`,"aria-label":e.label,"data-placement":`bottom`}),this.body=this.root,this.fallback=et(this.root,this.anchor,e.rtl),this.hasPopover=typeof this.root.showPopover==`function`,this.hasPopover?this.root.setAttribute(`popover`,`manual`):this.root.style.display=`none`,e.host.appendChild(this.root);let{signal:t}=this.controller;tt({inside:[this.root,this.anchor,...e.inside],signal:t,isIgnored:()=>e.ignoreOutsideClick||this.closePromise!==null,onOutside:()=>{e.onOutside()}}),this.root.addEventListener(`keydown`,t=>{t.key!==`Escape`||t.defaultPrevented||this.closePromise||e.onEscape()},{signal:t})}open(){return this.openPromise||(this.openPromise=Promise.resolve(),this.destroyed)||(this.show(),this.update(),this.stopTracking=nt(this.root,this.anchor,()=>{this.update()})),this.openPromise}close(){return this.closePromise||=(this.endTracking(),this.hide(),X(this.root)),this.closePromise}destroy(){this.destroyed||(this.destroyed=!0,this.endTracking(),this.controller.abort(),this.restoreAnchor?.(),this.restoreAnchor=null,this.root.remove())}endTracking(){this.stopTracking?.(),this.stopTracking=null}show(){if(!this.hasPopover)this.root.style.removeProperty(`display`),this.enableFallback();else{try{this.root.showPopover()}catch{this.hasPopover=!1,this.root.removeAttribute(`popover`),this.enableFallback();return}We(this.root)?(this.restoreAnchor=Ke(this.root,this.anchor,this.anchorName),this.anchored=!0):this.enableFallback()}}hide(){if(!this.hasPopover)this.root.style.display=`none`;else try{this.root.hidePopover()}catch{this.root.removeAttribute(`popover`),this.hasPopover=!1,this.root.style.display=`none`}}enableFallback(){this.fallback.enable(),this.anchored=!1}update(){this.anchored&&qe(this.root,this.anchor,this.rtl)&&this.enableFallback(),this.anchored?Je(this.root,this.anchor):this.fallback.layout()}};const it=/^\d$/,at=/* @__PURE__ */ new Set([`/`,`.`,`-`,` `]);function ot(e,t){return e===`year`?t.yearDigits:2}function st(e,t){let{order:n}=t,r=n.map(e=>ot(e,t)),i=[``];for(let t of L(e)){let e=i.length-1,a=r[e]??0,o=i[e]??``;if(it.test(t)){if(o.length>=a){if(i.length===n.length)break;i.push(t)}else i[e]=o+t}else at.has(t)&&o!==``&&(i[e]=o.padStart(a,`0`),i.length<n.length&&i.push(``))}return i.filter(e=>e!==``).join(t.separator)}Object.defineProperty(exports,"A",{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,"B",{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,"C",{enumerable:!0,get:function(){return oe}}),Object.defineProperty(exports,"D",{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,"E",{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,"F",{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,"G",{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,"H",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"I",{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,"K",{enumerable:!0,get:function(){return`dp-ui-`}}),Object.defineProperty(exports,"L",{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,"M",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"N",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"O",{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,"P",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"R",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"S",{enumerable:!0,get:function(){return fe}}),Object.defineProperty(exports,"T",{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,"U",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"V",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"W",{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return xe}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return X}}),Object.defineProperty(exports,"b",{enumerable:!0,get:function(){return me}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return we}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return be}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return He}}),Object.defineProperty(exports,"j",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"k",{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return Me}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return Ce}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return rt}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return Fe}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return Se}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return Ue}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return Pe}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return st}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return Ne}}),Object.defineProperty(exports,"v",{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,"w",{enumerable:!0,get:function(){return le}}),Object.defineProperty(exports,"x",{enumerable:!0,get:function(){return pe}}),Object.defineProperty(exports,"y",{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,"z",{enumerable:!0,get:function(){return p}});