@surdeddd/bottom-sheet 0.1.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +57 -21
- package/dist/BottomSheetEngine-CAymrH-P.d.cts +285 -0
- package/dist/BottomSheetEngine-DcqcuudN.d.ts +285 -0
- package/dist/element.cjs +775 -537
- package/dist/element.d.cts +9 -57
- package/dist/element.d.ts +9 -57
- package/dist/element.iife.global.js +2 -2
- package/dist/element.js +775 -537
- package/dist/index.cjs +760 -600
- package/dist/index.d.cts +18 -85
- package/dist/index.d.ts +18 -85
- package/dist/index.js +758 -601
- package/dist/integrations/formik.d.cts +2 -8
- package/dist/integrations/formik.d.ts +2 -8
- package/dist/integrations/react-hook-form.d.cts +2 -11
- package/dist/integrations/react-hook-form.d.ts +2 -11
- package/dist/overlay.cjs +168 -122
- package/dist/overlay.d.cts +14 -137
- package/dist/overlay.d.ts +14 -137
- package/dist/overlay.js +168 -122
- package/dist/preact.d.cts +2 -2
- package/dist/preact.d.ts +2 -2
- package/dist/preact.js +0 -1
- package/dist/qwik.cjs +667 -519
- package/dist/qwik.d.cts +3 -24
- package/dist/qwik.d.ts +3 -24
- package/dist/qwik.js +668 -520
- package/dist/react.cjs +873 -648
- package/dist/react.d.cts +34 -159
- package/dist/react.d.ts +34 -159
- package/dist/react.js +873 -648
- package/dist/solid.cjs +703 -560
- package/dist/solid.d.cts +264 -32
- package/dist/solid.d.ts +264 -32
- package/dist/solid.js +704 -561
- package/dist/solid.source.jsx +3215 -0
- package/dist/styles.css +37 -112
- package/dist/svelte-core.cjs +3149 -0
- package/dist/svelte-core.js +3147 -0
- package/dist/svelte-src/BottomSheet.svelte +210 -0
- package/dist/svelte-src/index.js +2 -0
- package/dist/svelte.cjs +718 -547
- package/dist/svelte.d.cts +100 -0
- package/dist/svelte.d.ts +15 -4
- package/dist/svelte.js +719 -548
- package/dist/themes/ios.css +0 -3
- package/dist/themes/material.css +0 -3
- package/dist/themes/vercel.css +0 -3
- package/dist/{transform-Brkf-wzo.d.cts → transform-jVfAikE9.d.cts} +0 -1
- package/dist/{transform-Brkf-wzo.d.ts → transform-jVfAikE9.d.ts} +0 -1
- package/dist/vue.cjs +677 -526
- package/dist/vue.d.cts +78 -0
- package/dist/vue.d.ts +12 -2
- package/dist/vue.js +678 -527
- package/package.json +105 -45
- package/dist/BottomSheetEngine-CvSVbo6c.d.cts +0 -704
- package/dist/BottomSheetEngine-DbO8rW_3.d.ts +0 -704
package/dist/element.d.cts
CHANGED
|
@@ -1,79 +1,31 @@
|
|
|
1
|
-
import { E as EngineState } from './BottomSheetEngine-
|
|
2
|
-
import './transform-
|
|
1
|
+
import { B as BottomSheetEngine, A as AnchorOptions, S as ScrimStagesOptions, E as EngineState } from './BottomSheetEngine-CAymrH-P.cjs';
|
|
2
|
+
import './transform-jVfAikE9.cjs';
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
* Angular, Svelte, plain HTML, WordPress, anything that accepts HTML.
|
|
7
|
-
*
|
|
8
|
-
* <bottom-sheet snap-points='[{"id":"min","size":80},{"id":"full","size":"80%"}]'
|
|
9
|
-
* initial="min">
|
|
10
|
-
* <div slot="header">Title</div>
|
|
11
|
-
* <p>Content</p>
|
|
12
|
-
* </bottom-sheet>
|
|
13
|
-
*
|
|
14
|
-
* ## Per-snap header limitation
|
|
15
|
-
*
|
|
16
|
-
* The framework adapters (React, Vue, Svelte) accept a function/scoped-slot
|
|
17
|
-
* `header` that re-renders on every snap transition — so the header can morph
|
|
18
|
-
* (e.g. minimized vs full) without imperative wiring. The Web Component
|
|
19
|
-
* deliberately does NOT replicate this: native `<slot>` in Shadow DOM has
|
|
20
|
-
* no concept of "render this slot with these props per state", and
|
|
21
|
-
* synthesizing that on top would either bloat the shadow tree or force
|
|
22
|
-
* Light DOM consumers into an opaque, framework-flavored API.
|
|
23
|
-
*
|
|
24
|
-
* If you need per-snap header content with the Web Component, listen to the
|
|
25
|
-
* `snap` CustomEvent and update the slotted node imperatively:
|
|
26
|
-
*
|
|
27
|
-
* const sheet = document.querySelector("bottom-sheet");
|
|
28
|
-
* const header = sheet.querySelector('[slot="header"]');
|
|
29
|
-
* sheet.addEventListener("snap", e => {
|
|
30
|
-
* const { id } = e.detail;
|
|
31
|
-
* header.textContent = id === "min" ? "Title" : "Full title";
|
|
32
|
-
* });
|
|
33
|
-
*
|
|
34
|
-
* `snap` fires after the animation settles, so the swap is jank-free.
|
|
35
|
-
*/
|
|
36
|
-
declare class BottomSheetElement extends HTMLElement {
|
|
4
|
+
declare const BaseHTMLElement: typeof HTMLElement;
|
|
5
|
+
declare class BottomSheetElement extends BaseHTMLElement {
|
|
37
6
|
static get observedAttributes(): string[];
|
|
38
7
|
private engine;
|
|
39
8
|
private root;
|
|
40
9
|
private offHandlers;
|
|
41
10
|
private refs;
|
|
42
11
|
private backdropClickHandler;
|
|
12
|
+
private stylesheetLinked;
|
|
13
|
+
private declarativeAnchors;
|
|
43
14
|
constructor();
|
|
44
15
|
connectedCallback(): void;
|
|
45
16
|
disconnectedCallback(): void;
|
|
46
17
|
attributeChangedCallback(): void;
|
|
18
|
+
getEngine(): BottomSheetEngine | null;
|
|
47
19
|
private teardownEngine;
|
|
48
20
|
private initEngine;
|
|
49
21
|
snapTo(id: string): Promise<void>;
|
|
50
22
|
open(id?: string): Promise<void>;
|
|
51
23
|
close(): Promise<void>;
|
|
52
24
|
setAllowed(ids: string[], snap?: string): void;
|
|
25
|
+
addAnchor(opts: AnchorOptions): () => void;
|
|
26
|
+
setScrimStages(opts: ScrimStagesOptions | null): () => void;
|
|
53
27
|
get sheetState(): EngineState | null;
|
|
54
28
|
}
|
|
55
|
-
/**
|
|
56
|
-
* Opt-in literal-id narrowing for the Web Component instance. The class
|
|
57
|
-
* itself stays `string`-typed — making `BottomSheetElement` generic would
|
|
58
|
-
* break `customElements.define`, which registers a 1:1 tag→class mapping
|
|
59
|
-
* (one runtime class per tag, regardless of TS generic instantiations).
|
|
60
|
-
*
|
|
61
|
-
* Consumers narrow at the call site by typing the `querySelector` result:
|
|
62
|
-
*
|
|
63
|
-
* ```ts
|
|
64
|
-
* import type { TypedBottomSheetElement } from "@surdeddd/bottom-sheet/element";
|
|
65
|
-
*
|
|
66
|
-
* const el = document.querySelector<
|
|
67
|
-
* TypedBottomSheetElement<"min" | "full">
|
|
68
|
-
* >("bottom-sheet");
|
|
69
|
-
* el?.snapTo("typo"); // ❌ TS2345
|
|
70
|
-
* el?.snapTo("full"); // ✓
|
|
71
|
-
* ```
|
|
72
|
-
*
|
|
73
|
-
* Defaults `TId = string` so untyped `querySelector("bottom-sheet")` keeps
|
|
74
|
-
* the existing string-loose behaviour. The runtime class is unchanged; this
|
|
75
|
-
* is purely a TS-level convenience layered on the HTMLElement instance.
|
|
76
|
-
*/
|
|
77
29
|
type TypedBottomSheetElement<TId extends string = string> = HTMLElement & {
|
|
78
30
|
snapTo: (id: TId) => Promise<void>;
|
|
79
31
|
open: (id?: TId) => Promise<void>;
|
package/dist/element.d.ts
CHANGED
|
@@ -1,79 +1,31 @@
|
|
|
1
|
-
import { E as EngineState } from './BottomSheetEngine-
|
|
2
|
-
import './transform-
|
|
1
|
+
import { B as BottomSheetEngine, A as AnchorOptions, S as ScrimStagesOptions, E as EngineState } from './BottomSheetEngine-DcqcuudN.js';
|
|
2
|
+
import './transform-jVfAikE9.js';
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
* Angular, Svelte, plain HTML, WordPress, anything that accepts HTML.
|
|
7
|
-
*
|
|
8
|
-
* <bottom-sheet snap-points='[{"id":"min","size":80},{"id":"full","size":"80%"}]'
|
|
9
|
-
* initial="min">
|
|
10
|
-
* <div slot="header">Title</div>
|
|
11
|
-
* <p>Content</p>
|
|
12
|
-
* </bottom-sheet>
|
|
13
|
-
*
|
|
14
|
-
* ## Per-snap header limitation
|
|
15
|
-
*
|
|
16
|
-
* The framework adapters (React, Vue, Svelte) accept a function/scoped-slot
|
|
17
|
-
* `header` that re-renders on every snap transition — so the header can morph
|
|
18
|
-
* (e.g. minimized vs full) without imperative wiring. The Web Component
|
|
19
|
-
* deliberately does NOT replicate this: native `<slot>` in Shadow DOM has
|
|
20
|
-
* no concept of "render this slot with these props per state", and
|
|
21
|
-
* synthesizing that on top would either bloat the shadow tree or force
|
|
22
|
-
* Light DOM consumers into an opaque, framework-flavored API.
|
|
23
|
-
*
|
|
24
|
-
* If you need per-snap header content with the Web Component, listen to the
|
|
25
|
-
* `snap` CustomEvent and update the slotted node imperatively:
|
|
26
|
-
*
|
|
27
|
-
* const sheet = document.querySelector("bottom-sheet");
|
|
28
|
-
* const header = sheet.querySelector('[slot="header"]');
|
|
29
|
-
* sheet.addEventListener("snap", e => {
|
|
30
|
-
* const { id } = e.detail;
|
|
31
|
-
* header.textContent = id === "min" ? "Title" : "Full title";
|
|
32
|
-
* });
|
|
33
|
-
*
|
|
34
|
-
* `snap` fires after the animation settles, so the swap is jank-free.
|
|
35
|
-
*/
|
|
36
|
-
declare class BottomSheetElement extends HTMLElement {
|
|
4
|
+
declare const BaseHTMLElement: typeof HTMLElement;
|
|
5
|
+
declare class BottomSheetElement extends BaseHTMLElement {
|
|
37
6
|
static get observedAttributes(): string[];
|
|
38
7
|
private engine;
|
|
39
8
|
private root;
|
|
40
9
|
private offHandlers;
|
|
41
10
|
private refs;
|
|
42
11
|
private backdropClickHandler;
|
|
12
|
+
private stylesheetLinked;
|
|
13
|
+
private declarativeAnchors;
|
|
43
14
|
constructor();
|
|
44
15
|
connectedCallback(): void;
|
|
45
16
|
disconnectedCallback(): void;
|
|
46
17
|
attributeChangedCallback(): void;
|
|
18
|
+
getEngine(): BottomSheetEngine | null;
|
|
47
19
|
private teardownEngine;
|
|
48
20
|
private initEngine;
|
|
49
21
|
snapTo(id: string): Promise<void>;
|
|
50
22
|
open(id?: string): Promise<void>;
|
|
51
23
|
close(): Promise<void>;
|
|
52
24
|
setAllowed(ids: string[], snap?: string): void;
|
|
25
|
+
addAnchor(opts: AnchorOptions): () => void;
|
|
26
|
+
setScrimStages(opts: ScrimStagesOptions | null): () => void;
|
|
53
27
|
get sheetState(): EngineState | null;
|
|
54
28
|
}
|
|
55
|
-
/**
|
|
56
|
-
* Opt-in literal-id narrowing for the Web Component instance. The class
|
|
57
|
-
* itself stays `string`-typed — making `BottomSheetElement` generic would
|
|
58
|
-
* break `customElements.define`, which registers a 1:1 tag→class mapping
|
|
59
|
-
* (one runtime class per tag, regardless of TS generic instantiations).
|
|
60
|
-
*
|
|
61
|
-
* Consumers narrow at the call site by typing the `querySelector` result:
|
|
62
|
-
*
|
|
63
|
-
* ```ts
|
|
64
|
-
* import type { TypedBottomSheetElement } from "@surdeddd/bottom-sheet/element";
|
|
65
|
-
*
|
|
66
|
-
* const el = document.querySelector<
|
|
67
|
-
* TypedBottomSheetElement<"min" | "full">
|
|
68
|
-
* >("bottom-sheet");
|
|
69
|
-
* el?.snapTo("typo"); // ❌ TS2345
|
|
70
|
-
* el?.snapTo("full"); // ✓
|
|
71
|
-
* ```
|
|
72
|
-
*
|
|
73
|
-
* Defaults `TId = string` so untyped `querySelector("bottom-sheet")` keeps
|
|
74
|
-
* the existing string-loose behaviour. The runtime class is unchanged; this
|
|
75
|
-
* is purely a TS-level convenience layered on the HTMLElement instance.
|
|
76
|
-
*/
|
|
77
29
|
type TypedBottomSheetElement<TId extends string = string> = HTMLElement & {
|
|
78
30
|
snapTo: (id: TId) => Promise<void>;
|
|
79
31
|
open: (id?: TId) => Promise<void>;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";var surdeddd_bottomSheet=(()=>{var C=Object.defineProperty;var Ct=Object.getOwnPropertyDescriptor;var It=Object.getOwnPropertyNames;var Rt=Object.prototype.hasOwnProperty;var Lt=(t,e,i)=>e in t?C(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i;var u=(t,e)=>()=>(t&&(e=t(t=0)),e);var ie=(t,e)=>{for(var i in e)C(t,i,{get:e[i],enumerable:!0})},Dt=(t,e,i,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of It(e))!Rt.call(t,s)&&s!==i&&C(t,s,{get:()=>e[s],enumerable:!(n=Ct(e,s))||n.enumerable});return t};var Pt=t=>Dt(C({},"__esModule",{value:!0}),t);var a=(t,e,i)=>Lt(t,typeof e!="symbol"?e+"":e,i);var K,ne,se=u(()=>{"use strict";K=class{constructor(){a(this,"entries",[])}push(e){return this.entries.push(e),this.recompute(),()=>this.remove(e.id)}remove(e){let i=this.entries.findIndex(n=>n.id===e);i!==-1&&(this.entries.splice(i,1),this.recompute())}size(){return this.entries.length}clear(){this.entries=[]}recompute(){this.entries.forEach((e,i)=>{e.setZIndex(100+i*10),e.setIsTop(i===this.entries.length-1)})}},ne=new K});function re(t){switch(t){case"bottom":return e=>`translate3d(0, ${e}px, 0)`;case"top":return e=>`translate3d(0, ${-e}px, 0)`;case"left":return e=>`translate3d(${-e}px, 0, 0)`;case"right":return e=>`translate3d(${e}px, 0, 0)`}}var oe,ae=u(()=>{"use strict";oe=t=>t==="left"||t==="right"?"width":"height"});function le(t){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?`${t}-${crypto.randomUUID()}`:(N[t]=(N[t]??0)+1,`${t}-${N[t]}`)}var N,de=u(()=>{"use strict";N={}});function ce(){let t=new Map;return{on(e,i){let n=t.get(e);return n||(n=new Set,t.set(e,n)),n.add(i),()=>{n.delete(i)}},emit(e,i){let n=t.get(e);if(n)for(let s of[...n])s(i)},listenerCount(e){return t.get(e)?.size??0},clear(){t.clear()}}}var pe=u(()=>{"use strict"});var f,ue,Ot,me,he,Bt,be,fe=u(()=>{"use strict";f=null,ue="data-bs-probe",Ot=t=>{if(typeof document>"u")return null;if(!f||!f.isConnected){let e=document.querySelector(`[${ue}]`);e?f=e:(f=document.createElement("div"),f.setAttribute("aria-hidden","true"),f.setAttribute(ue,""),f.style.cssText="position:absolute;visibility:hidden;pointer-events:none;contain:strict;left:0;top:0;width:0;height:0;",document.body.appendChild(f))}return t==="vertical"?(f.style.width="0",f.style.height=""):(f.style.height="0",f.style.width=""),f},me=t=>t==="bottom"||t==="top",he=t=>typeof window>"u"?0:me(t)?window.innerHeight:window.innerWidth,Bt=/^(-?\d+(?:\.\d+)?)%$/,be=(t,e,i)=>{if(typeof t=="number")return Math.max(0,t);if(t==="full")return he(e);if(t==="fit")return Math.max(0,i?.()??0);let n=t.match(Bt);if(n){let l=parseFloat(n[1])/100;return Math.max(0,he(e)*l)}let s=me(e)?"vertical":"horizontal",o=Ot(s);return o?s==="vertical"?(o.style.height=t,Math.max(0,o.getBoundingClientRect().height)):(o.style.width=t,Math.max(0,o.getBoundingClientRect().width)):0}});var ge,Ht,V,_t,ve,k,Ft,Kt,Nt,ye,I=u(()=>{"use strict";fe();ge=(t,e,i)=>t.map(n=>{let s=be(n.size,e,i);return!Number.isFinite(s)||s<0?(console.warn(`[BottomSheet] snap "${n.id}" resolved to invalid size (${String(n.size)} \u2192 ${s}); clamped to 0.`),{id:n.id,size:0}):{id:n.id,size:s}}).sort((n,s)=>n.size-s.size),Ht=/(^|[^a-z])vh\b/i,V=t=>{for(let e of t)typeof e.size=="string"&&Ht.test(e.size)&&console.warn(`[BottomSheet] snap "${e.id}" uses "vh" \u2014 prefer "dvh" on mobile (iOS Safari URL bar makes vh unstable). See https://web.dev/blog/viewport-units`)},_t=(t,e,i,n=0,s=0)=>{let o=e.filter(d=>i.includes(d.id));if(o.length===0)return null;let l=t+n*s,r=o[0],c=Math.abs(l-r.size);for(let d=1;d<o.length;d++){let p=o[d],h=Math.abs(l-p.size);h<c&&(r=p,c=h)}return r},ve=(t,e)=>{let i=t.filter(n=>e.includes(n.id));return i.length===0?{min:0,max:0}:{min:i[0].size,max:i[i.length-1].size}},k=(t,e)=>e.find(i=>i.id===t)??null,Ft=.4,Kt=12,Nt=.15,ye=t=>{let e=Math.abs(t.velocity),i=t.pointerKind==="mouse"?Ft:t.flickVelocity,n=t.pointerKind==="mouse"?Kt:t.dragThreshold,s=0;if((e>i||e>Nt)&&(s=t.velocity>0?1:-1),Math.abs(t.delta)<n&&s===0)return k(t.activeId,t.resolved);let o=e>i?Math.min(e*180,t.maxAxisSize):0;return _t(t.size,t.resolved,t.allowed,s,o)}});var R,Se=u(()=>{"use strict";I();R=class{constructor(e,i,n,s,o){a(this,"mode",n);a(this,"measureFit",s);a(this,"onMaxAxisSizeChange",o);a(this,"raw");a(this,"allowedIds");a(this,"resolved",[]);a(this,"maxAxisSize",0);a(this,"rangeCache",null);this.raw=e,this.allowedIds=i??e.map(l=>l.id),this.recompute()}recompute(){this.resolved=ge(this.raw,this.mode,this.measureFit),this.maxAxisSize=this.resolved.reduce((e,i)=>i.size>e?i.size:e,0),this.rangeCache=null,this.onMaxAxisSizeChange?.(this.maxAxisSize)}setRaw(e){this.raw=e,this.recompute()}setAllowedIds(e){this.allowedIds=e,this.rangeCache=null}findById(e){return k(e,this.resolved)}findDragSettleTarget(e){return ye({...e,resolved:this.resolved,allowed:this.allowedIds,maxAxisSize:this.maxAxisSize})}getAllowedRange(){return this.rangeCache??(this.rangeCache=ve(this.resolved,this.allowedIds))}getResolvedSnaps(){return this.resolved}getAllowedIds(){return this.allowedIds}getMaxAxisSize(){return this.maxAxisSize}setMaxAxisSize(e){this.maxAxisSize=e,this.onMaxAxisSizeChange?.(e)}}});function xe(t){if(!t||typeof window>"u"||typeof localStorage>"u")return null;try{return localStorage.getItem(t)}catch{return null}}function we(t,e){return t.on("snap",({id:n})=>{if(!(typeof window>"u")&&!(typeof localStorage>"u"))try{localStorage.setItem(e,n)}catch{}})}var U=u(()=>{"use strict"});function Te(t){let{ms:e}=t;if(e===void 0||e<=0)return()=>{};let i=null,n=()=>{i!==null&&(clearTimeout(i),i=null)},s=()=>{if(t.isDestroyed()||t.isDragging())return;let c=t.getAllowedIds().find(d=>{let p=t.resolveSnap(d);return p!==null&&p.size>0});c&&c!==t.getActiveId()&&t.snapTo(c)},o=()=>{n(),!t.isDestroyed()&&(i=setTimeout(()=>{i=null,s()},e))},l=t.on("snap",()=>o());return()=>{n(),l()}}var Ee=u(()=>{"use strict"});function Ae(t,e){if(t.length!==0){for(let i of t)if(i!==e)try{let s=i.getAllowedIds().find(o=>o!=="closed");s&&s!==i.state.activeId&&i.snapTo(s)}catch(n){queueMicrotask(()=>{throw n})}}}var ze=u(()=>{"use strict"});function ke(t){if(typeof window>"u")return()=>{};if(!t.routedTo&&!t.closeOnBack)return()=>{};let e=!1,i=!1,n=null,s=(d,p)=>{let h=history.state;if(h&&h[d]===p)try{history.back()}catch{}},o=()=>{if(t.routedTo&&!n){let d=t.routedTo;try{history.pushState({__bsRouted:d},"",d),e=!0}catch{}let p=h=>{if(t.isDestroyed())return;let b=h.state;b&&b.__bsRouted===d&&t.getSize()>0&&(e=!1,t.close())};window.addEventListener("popstate",p),n=()=>window.removeEventListener("popstate",p)}else if(t.closeOnBack&&!n){try{history.pushState({__bsSheet:t.sheetId},""),i=!0}catch{}let d=()=>{t.isDestroyed()||t.getSize()>0&&t.isTopSheet()&&(history.state?.__bsSheet!==t.sheetId&&(i=!1),t.close())};window.addEventListener("popstate",d),n=()=>window.removeEventListener("popstate",d)}},l=()=>{n?.(),n=null,e&&(e=!1,t.routedTo!==void 0&&s("__bsRouted",t.routedTo)),i&&(i=!1,s("__bsSheet",t.sheetId))},r=t.on("open",o),c=t.on("close",l);return t.getSize()>0&&o(),()=>{r(),c(),n?.(),n=null,e&&(e=!1,t.routedTo!==void 0&&s("__bsRouted",t.routedTo)),i&&(i=!1,s("__bsSheet",t.sheetId))}}var Me=u(()=>{"use strict"});function Ce(t){let{container:e}=t,i=0,n=!1,s=r=>{let c=r.touches[0];c&&(i=c.clientY,n=!1)},o=r=>{let c=r.touches[0];c&&Math.abs(c.clientY-i)>60&&(n=!0)},l=r=>{if(!n||t.isDragging()||t.isAnimating())return;let c=r.changedTouches[0];if(!c)return;let d=c.clientY-i,p=e.scrollTop<=0,h=t.getAllowedIds(),b=h.indexOf(t.getActiveId());b!==-1&&(p&&d>60&&b>0?t.snapTo(h[b-1]):d<-60&&b<h.length-1&&t.snapTo(h[b+1]))};return e.addEventListener("touchstart",s,{passive:!0}),e.addEventListener("touchmove",o,{passive:!0}),e.addEventListener("touchend",l,{passive:!0}),()=>{e.removeEventListener("touchstart",s),e.removeEventListener("touchmove",o),e.removeEventListener("touchend",l)}}var Ie=u(()=>{"use strict"});function Re(t){if(typeof window>"u"||!window.visualViewport)return()=>{};let e=window.visualViewport,i=null,n=()=>{i===null&&(i=requestAnimationFrame(()=>{if(i=null,t.isDestroyed())return;t.recomputeSnaps();let s=t.isVerticalAxis(),o=s?e.height:e.width,l=s?window.innerHeight:window.innerWidth,r=Math.max(0,Math.min(l,o)-8);r<t.getMaxAxisSize()&&t.setMaxAxisSize(r);let c=t.getMaxAxisSize();t.setSize(Math.min(t.getSize(),c));let d=t.resolveActiveSnap();d&&!t.isDragging()?t.applySize(Math.min(d.size,c)):t.applySize(t.getSize())}))};return e.addEventListener("resize",n),()=>{e.removeEventListener("resize",n),i!==null&&cancelAnimationFrame(i)}}var Le=u(()=>{"use strict"});function De(t){if(typeof window>"u")return()=>{};let e=()=>{if(t.isDestroyed())return;t.recomputeSnaps();let s=t.getMode(),l=s==="bottom"||s==="top"?window.innerHeight:window.innerWidth,r=t.getMaxAxisSize();l>0&&l<r&&t.setMaxAxisSize(l),t.cancelInFlight(),t.newCycle();let c=t.resolveActiveSnap(),d=t.getMaxAxisSize(),p=Math.min(c?c.size:t.getSize(),d);t.setSize(p),c&&!t.isDragging()&&t.applySize(p)},i=null;typeof ResizeObserver<"u"?(i=new ResizeObserver(e),i.observe(document.documentElement)):window.addEventListener("resize",e),window.addEventListener("orientationchange",e);let n=()=>{t.isDestroyed()||document.hidden&&t.cancelInFlight()};return document.addEventListener("visibilitychange",n),()=>{i?.disconnect(),window.removeEventListener("resize",e),window.removeEventListener("orientationchange",e),document.removeEventListener("visibilitychange",n)}}var Pe=u(()=>{"use strict"});function Oe(t){let e=t.mode==="bottom"||t.mode==="top",i=e?"ArrowUp":"ArrowRight",n=e?"ArrowDown":"ArrowLeft",s=t.mode==="top"?n:i,o=t.mode==="top"?i:n,l=r=>{if(t.isDestroyed())return;let c=t.getAllowedIds(),d=c.indexOf(t.getActiveId());d!==-1&&(r.key===s&&d<c.length-1?(r.preventDefault(),t.snapTo(c[d+1])):r.key===o&&d>0?(r.preventDefault(),t.snapTo(c[d-1])):r.key==="Home"?(r.preventDefault(),t.snapTo(c[0])):r.key==="End"&&(r.preventDefault(),t.snapTo(c[c.length-1])))};return t.handle.addEventListener("keydown",l),()=>t.handle.removeEventListener("keydown",l)}var Be=u(()=>{"use strict"});var Y,He=u(()=>{"use strict";Y=Object.freeze({subtle:{color:"rgba(0,0,0,0.2)",blur:void 0,range:[.3,1],interactive:!1},standard:{color:"rgba(0,0,0,0.4)",blur:void 0,range:[0,1],interactive:!1},monitoring:{color:"rgba(15,15,20,0.55)",blur:"4px",range:[0,1],interactive:!1},cinematic:{color:"rgba(0,0,0,0.7)",blur:"12px",range:[0,1],interactive:!1}})});var S,W=u(()=>{"use strict";S=class{constructor(){a(this,"last",-1)}shouldWrite(e,i){return Math.abs(e-this.last)<=i?!1:(this.last=e,!0)}invalidate(){this.last=-1}setLastWritten(e){this.last=e}get value(){return this.last}}});var L,Fe=u(()=>{"use strict";He();I();W();L=class{constructor(e,i){a(this,"screenComponent");a(this,"backdrop");a(this,"mode");a(this,"isDestroyed");a(this,"isTopSheet");a(this,"getAllowedIds");a(this,"getResolvedSnaps");a(this,"snapToFn");a(this,"scrimMode");a(this,"backdropRange");a(this,"screenRange");a(this,"scrimEnabled",!0);a(this,"savedScrimRanges",null);a(this,"scrimTapToCloseEnabled",!1);a(this,"detachScrimTap",null);a(this,"scrimOverlayTeardown",null);a(this,"backdropOpacitySentinel",new S);a(this,"screenOpacitySentinel",new S);a(this,"lastBackdropPointer","");a(this,"lastScreenDisplay","");this.screenComponent=e.screenComponent,this.backdrop=e.backdrop,this.mode=e.mode,this.isDestroyed=e.isDestroyed,this.isTopSheet=e.isTopSheet,this.getAllowedIds=e.getAllowedIds,this.getResolvedSnaps=e.getResolvedSnaps,this.snapToFn=e.snapTo,this.scrimMode=i.scrimMode??"full";let n=i.scrimPreset?Y[i.scrimPreset]:null;if(this.backdropRange=i.backdropRange??n?.range??[0,1],this.screenRange=i.screenRange??n?.range??[0,1],this.scrimTapToCloseEnabled=i.scrimTapToClose??!1,this.screenComponent){if(this.applyScrimStyles({color:i.scrimColor??n?.color,blur:i.scrimBlur??n?.blur,interactive:i.scrimInteractive??n?.interactive??!1}),this.scrimMode==="above-sheet")this.applyAboveSheetInset();else if(this.scrimMode==="off"){let s=this.screenComponent.style;s.opacity="0",s.display="none",this.screenOpacitySentinel.setLastWritten(0),this.lastScreenDisplay="none"}}}invalidateOpacityCache(){this.backdropOpacitySentinel.invalidate(),this.screenOpacitySentinel.invalidate()}attach(){this.scrimTapToCloseEnabled&&this.setScrimTapToClose(!0)}applyOpacity(e,i){if(!(!i&&this.backdropOpacitySentinel.value!==-1&&this.screenOpacitySentinel.value!==-1)){if(this.backdrop&&this.isTopSheet()){let[n,s]=this.backdropRange,o=Math.max(s-n,1e-4),l=Math.min(Math.max((e-n)/o,0),1);this.backdropOpacitySentinel.shouldWrite(l,.005)&&(this.backdrop.style.opacity=String(l));let r=l>.05?"auto":"none";r!==this.lastBackdropPointer&&(this.backdrop.style.pointerEvents=r,this.lastBackdropPointer=r)}if(this.screenComponent&&this.scrimMode!=="off"){let[n,s]=this.screenRange,o=Math.min(1,Math.max(0,(e-n)/Math.max(1e-4,s-n)));this.screenOpacitySentinel.shouldWrite(o,.005)&&(this.screenComponent.style.opacity=String(o));let l=o>0?"":"none";l!==this.lastScreenDisplay&&(this.screenComponent.style.display=l,this.lastScreenDisplay=l)}}}setBackdropRange(e,i){this.isDestroyed()||(this.backdropRange=e,this.invalidateOpacityCache(),i())}setScreenRange(e,i){this.isDestroyed()||(this.screenRange=e,this.invalidateOpacityCache(),i())}setScrimColor(e){this.isDestroyed()||this.applyScrimStyles({color:e===void 0?null:e})}setScrimBlur(e){this.isDestroyed()||this.applyScrimStyles({blur:e===void 0?null:e})}setScrimInteractive(e){this.isDestroyed()||this.applyScrimStyles({interactive:e})}setScrimMode(e,i){if(this.isDestroyed()||e===this.scrimMode)return;this.invalidateOpacityCache();let n=this.scrimMode;if(this.scrimMode=e,this.screenComponent){let s=this.screenComponent.style;n==="above-sheet"&&e!=="above-sheet"&&(s.position="",s.inset="",s.pointerEvents=""),e==="above-sheet"?this.applyAboveSheetInset():e==="off"?(s.opacity="0",s.display="none",this.screenOpacitySentinel.setLastWritten(0),this.lastScreenDisplay="none"):this.lastScreenDisplay==="none"&&(s.display="",this.lastScreenDisplay="")}i()}setScrimTapToClose(e){if(this.isDestroyed()||!this.screenComponent)return;let i=this.detachScrimTap!==null;if(e!==i)if(e){let n=this.screenComponent;n.style.pointerEvents==="none"&&(n.style.pointerEvents="auto");let s=()=>{if(this.isDestroyed())return;let o=this.getAllowedIds(),l=this.getResolvedSnaps(),r=o.find(c=>{let d=k(c,l);return d!==null&&d.size>0});r&&this.snapToFn(r)};n.addEventListener("click",s),this.detachScrimTap=()=>n.removeEventListener("click",s),this.scrimTapToCloseEnabled=!0}else this.detachScrimTap?.(),this.detachScrimTap=null,this.scrimTapToCloseEnabled=!1}setScrimEnabled(e,i){this.isDestroyed()||e!==this.scrimEnabled&&(this.scrimEnabled=e,e?(this.screenRange=this.savedScrimRanges?.screen??[0,1],this.backdropRange=this.savedScrimRanges?.backdrop??[0,1],this.savedScrimRanges=null):(this.savedScrimRanges={screen:this.screenRange,backdrop:this.backdropRange},this.screenRange=[1,1],this.backdropRange=[1,1]),i())}setScrim(e,i){if(this.isDestroyed())return;if(e.preset){let s=Y[e.preset];this.applyScrimStyles({color:s.color,blur:s.blur??null,interactive:s.interactive}),this.screenRange=s.range}let n=()=>{};e.mode!==void 0&&this.setScrimMode(e.mode,n),e.enabled!==void 0&&this.setScrimEnabled(e.enabled,n),e.tapToClose!==void 0&&this.setScrimTapToClose(e.tapToClose),this.applyScrimStyles({color:e.color,blur:e.blur,interactive:e.interactive}),e.range!==void 0&&(this.screenRange=e.range),this.invalidateOpacityCache(),i()}setScrimOverlay(e){if(this.isDestroyed())return()=>{};if(!this.screenComponent)return()=>{};this.scrimOverlayTeardown?.();let i=this.screenComponent,n=e.inset??"16px",s=e.position??"top-right",o=e.interactive??!0,l=i.ownerDocument.createElement("div");l.className="bs-scrim-overlay";let r=l.style;switch(r.position="absolute",s){case"top-left":r.top=n,r.left=n;break;case"top-center":r.top=n,r.left="50%",r.transform="translateX(-50%)";break;case"top-right":r.top=n,r.right=n;break;case"center-left":r.top="50%",r.left=n,r.transform="translateY(-50%)";break;case"center":r.top="50%",r.left="50%",r.transform="translate(-50%, -50%)";break;case"center-right":r.top="50%",r.right=n,r.transform="translateY(-50%)";break;case"bottom-left":r.bottom=n,r.left=n;break;case"bottom-center":r.bottom=n,r.left="50%",r.transform="translateX(-50%)";break;case"bottom-right":r.bottom=n,r.right=n;break}o&&(r.pointerEvents="auto"),l.appendChild(e.children),i.appendChild(l);let c=()=>{l.parentNode&&l.parentNode.removeChild(l),this.scrimOverlayTeardown===c&&(this.scrimOverlayTeardown=null)};return this.scrimOverlayTeardown=c,c}destroy(){if(this.detachScrimTap?.(),this.detachScrimTap=null,this.scrimOverlayTeardown?.(),this.scrimOverlayTeardown=null,this.screenComponent){let e=this.screenComponent.style;e.opacity="",e.display=""}this.backdrop&&(this.backdrop.style.opacity="",this.backdrop.style.pointerEvents=""),this.invalidateOpacityCache(),this.lastBackdropPointer="",this.lastScreenDisplay=""}applyScrimStyles(e){if(!this.screenComponent)return;let i=this.screenComponent.style;if(e.color!==void 0&&(i.background=e.color===null?"":e.color),e.blur!==void 0){let n=i;if(e.blur===null)i.backdropFilter="",n.webkitBackdropFilter="";else{let s=`blur(${e.blur})`;i.backdropFilter=s,n.webkitBackdropFilter=s}}e.interactive!==void 0&&(i.pointerEvents=e.interactive?"auto":"none")}applyAboveSheetInset(){if(!this.screenComponent)return;let e={bottom:"0 0 var(--bs-size) 0",top:"var(--bs-size) 0 0 0",left:"0 0 0 var(--bs-size)",right:"0 var(--bs-size) 0 0"},i=this.screenComponent.style;i.position="fixed",i.inset=e[this.mode],i.pointerEvents="none"}}});var Ke,Ut,Ne,Ve,Ue,$=u(()=>{"use strict";Ke=t=>1+2.40158*Math.pow(t-1,3)+1.40158*Math.pow(t-1,2),Ut=t=>1-Math.pow(1-t,3),Ne=t=>t,Ve=t=>1-Math.pow(1-t,5),Ue=({from:t,to:e,duration:i,easing:n=Ut,onUpdate:s})=>{let o=!1,l=0,r=null,c=performance.now(),d=new Promise(p=>{if(r=p,i<=0){s(e),p();return}let h=b=>{if(o)return;let g=b-c,y=Math.min(g/i,1),x=t+(e-t)*n(y);s(x),y<1?l=requestAnimationFrame(h):p()};l=requestAnimationFrame(h)});return{cancel:()=>{o=!0,cancelAnimationFrame(l),r?.()},promise:d}}});var Yt,Wt,Ye,We=u(()=>{"use strict";Yt={stiffness:220,damping:26,mass:1,restDelta:.5,restSpeed:.5},Wt=1/30,Ye=({from:t,to:e,velocity:i=0,config:n,onUpdate:s})=>{let o={...Yt,...n},l=!1,r=0,c=null,d=t,p=i,h=performance.now(),b=new Promise(g=>{c=g;let y=x=>{if(l)return;let E=Math.min((x-h)/1e3,Wt);h=x;let m=Math.min(E,1/240),w=Math.max(1,Math.ceil(E/m));for(;w-- >0;){let z=(-o.stiffness*(d-e)-o.damping*p)/o.mass;p+=z*m,d+=p*m}s(d,p),Math.abs(e-d)<(o.restDelta??.5)&&Math.abs(p)<(o.restSpeed??.5)?(s(e,0),g()):r=requestAnimationFrame(y)};r=requestAnimationFrame(y)});return{cancel:()=>{l=!0,cancelAnimationFrame(r),c?.()},promise:b}}});function $e(t){switch(t){case"ios-spring":return{kind:"spring",spring:{stiffness:300,damping:30,mass:1}};case"material-bounce":return{kind:"spring",spring:{stiffness:200,damping:22,mass:1}};case"linear":return{kind:"tween",duration:$t,easing:Ne};case"snappy":return{kind:"tween",duration:180,easing:Ve};case"tween":return{kind:"tween"};default:return{kind:"spring"}}}var $t,qe=u(()=>{"use strict";$();$t=220});var qt,Gt,D,Ge=u(()=>{"use strict";$();We();qe();qt=220,Gt=1e3,D=class{constructor(e,i){a(this,"element");a(this,"getRootEl");a(this,"applySizeFn");a(this,"getSize");a(this,"isDragging");a(this,"animationKind");a(this,"springConfig");a(this,"duration");a(this,"easing");a(this,"respectReducedMotion");a(this,"reducedMotion",!1);a(this,"detachReducedMotion",null);a(this,"viewTransitionsAvailable");a(this,"currentTween",null);a(this,"currentSpring",null);this.element=e.element,this.getRootEl=e.getRootEl,this.applySizeFn=e.applySize,this.getSize=e.getSize,this.isDragging=e.isDragging;let n=$e(i.animation);this.animationKind=n.kind,this.duration=i.duration??n.duration??qt,this.easing=i.easing??n.easing??Ke,this.springConfig={...n.spring??{},...i.spring??{}},this.respectReducedMotion=i.respectReducedMotion??!0;let s=i.viewTransitions??!1;if(this.viewTransitionsAvailable=s&&typeof document<"u"&&typeof document.startViewTransition=="function",this.respectReducedMotion&&typeof window<"u"&&typeof window.matchMedia=="function"){let o=window.matchMedia("(prefers-reduced-motion: reduce)");this.reducedMotion=o.matches;let l=r=>{this.reducedMotion=r.matches};typeof o.addEventListener=="function"?(o.addEventListener("change",l),this.detachReducedMotion=()=>o.removeEventListener("change",l)):typeof o.addListener=="function"&&(o.addListener(l),this.detachReducedMotion=()=>o.removeListener(l))}}get isAnimating(){return this.currentTween!==null||this.currentSpring!==null}cancel(){this.currentTween?.cancel(),this.currentSpring?.cancel()}async animateTo(e,i){if(e!==this.getSize()){if(this.currentTween?.cancel(),this.currentSpring?.cancel(),this.getRootEl()?.setAttribute("data-animating","true"),this.element.style.willChange="transform",this.reducedMotion){this.applySizeFn(e),this.getRootEl()?.removeAttribute("data-animating"),this.isDragging()||(this.element.style.willChange="auto");return}if(this.animationKind==="spring"){let n=Ye({from:this.getSize(),to:e,velocity:i*Gt,config:this.springConfig,onUpdate:s=>this.applySizeFn(s)});this.currentSpring=n,await n.promise,this.currentSpring===n&&(this.currentSpring=null)}else{let n=Ue({from:this.getSize(),to:e,duration:this.duration,easing:this.easing,onUpdate:s=>this.applySizeFn(s)});this.currentTween=n,await n.promise,this.currentTween===n&&(this.currentTween=null)}this.isAnimating||(this.getRootEl()?.removeAttribute("data-animating"),this.isDragging()||(this.element.style.willChange="auto"))}}destroy(){this.detachReducedMotion?.(),this.detachReducedMotion=null,this.currentTween=null,this.currentSpring=null}}});var Xt,jt,q,Xe,je=u(()=>{"use strict";Xt=["a[href]","area[href]","button:not([disabled])","input:not([disabled]):not([type='hidden'])","select:not([disabled])","textarea:not([disabled])","iframe","object","embed","[contenteditable='true']","[tabindex]:not([tabindex='-1'])"].join(","),jt=t=>typeof t.checkVisibility=="function"?t.checkVisibility({checkOpacity:!1,checkVisibilityCSS:!0}):t.offsetParent!==null,q=t=>Array.from(t.querySelectorAll(Xt)).filter(e=>!e.hasAttribute("inert")&&jt(e)&&!e.matches("[aria-hidden='true']")),Xe=(t,e={})=>{if(typeof document>"u")return()=>{};let i=document.activeElement;(typeof e.initialFocus=="string"?t.querySelector(e.initialFocus):e.initialFocus??q(t)[0]??t)?.focus({preventScroll:!0});let s=r=>{if(r.key==="Escape"&&e.onEscape){e.onEscape();return}if(r.key!=="Tab")return;let c=q(t);if(c.length===0){r.preventDefault();return}let d=c[0],p=c[c.length-1],h=document.activeElement;r.shiftKey&&h===d?(r.preventDefault(),p.focus()):!r.shiftKey&&h===p&&(r.preventDefault(),d.focus())},o=r=>{let c=r.target;c&&!t.contains(c)&&q(t)[0]?.focus({preventScroll:!0})};document.addEventListener("keydown",s,!0),document.addEventListener("focusin",o,!0);let l=!1;return()=>{l||(l=!0,document.removeEventListener("keydown",s,!0),document.removeEventListener("focusin",o,!0),i&&document.contains(i)?i.focus({preventScroll:!0}):document.querySelector("[data-bs-restore-fallback]")?.focus({preventScroll:!0}))}}});var M,v,Qe,Ze=u(()=>{"use strict";M=0,v=null,Qe=()=>{if(typeof document>"u")return()=>{};if(M===0){let e=document.body;v={overflow:e.style.overflow,position:e.style.position,top:e.style.top,width:e.style.width,scrollY:window.scrollY},e.style.overflow="hidden",e.style.position="fixed",e.style.top=`-${v.scrollY}px`,e.style.width="100%"}M++;let t=!1;return()=>{if(!t&&(t=!0,M=Math.max(0,M-1),M===0&&v)){let e=document.body;e.style.overflow=v.overflow,e.style.position=v.position,e.style.top=v.top,e.style.width=v.width,window.scrollTo(0,v.scrollY),v=null}}}});function Je(t){let e=[];return{apply(){if(typeof document>"u")return;let i=t(),n=i.parentElement??document.body;for(let s of Array.from(n.children))s!==i&&(s.hasAttribute("inert")||(s.setAttribute("inert",""),e.push(s)))},remove(){for(let i of e)i.removeAttribute("inert");e.length=0}}}var et=u(()=>{"use strict"});var P,tt=u(()=>{"use strict";je();Ze();et();P=class{constructor(e,i){a(this,"element");a(this,"closeFn");a(this,"focusTrapEnabled");a(this,"initialFocus");a(this,"closeOnEscape");a(this,"bodyScrollLockEnabled");a(this,"inertSiblingsEnabled");a(this,"inertSiblings");a(this,"shouldApplyInertSiblings");a(this,"returnFocus");a(this,"releaseFocusTrap",null);a(this,"releaseScrollLock",null);a(this,"installed",!1);a(this,"destroyed",!1);this.element=e.element,this.closeFn=e.close,this.focusTrapEnabled=i.focusTrap??!1,this.initialFocus=i.initialFocus,this.closeOnEscape=i.closeOnEscape??!0,this.bodyScrollLockEnabled=i.lockBodyScroll??!0,this.inertSiblingsEnabled=i.inertSiblings??!1,this.shouldApplyInertSiblings=i.shouldApplyInertSiblings??(()=>!0),this.returnFocus=i.returnFocus,this.inertSiblings=Je(()=>this.element)}install(){this.destroyed||(this.installed=!0,this.bodyScrollLockEnabled&&!this.releaseScrollLock&&(this.releaseScrollLock=Qe()),this.focusTrapEnabled&&!this.releaseFocusTrap&&(this.releaseFocusTrap=Xe(this.element,{initialFocus:this.initialFocus,onEscape:this.closeOnEscape?()=>{this.closeFn()}:void 0})),this.inertSiblingsEnabled&&this.shouldApplyInertSiblings()&&this.inertSiblings.apply())}setReturnFocus(e){this.destroyed||(this.returnFocus=e)}release(){this.installed&&(this.installed=!1,this.releaseFocusTrap?.(),this.releaseFocusTrap=null,this.releaseScrollLock?.(),this.releaseScrollLock=null,this.inertSiblings.remove(),this.returnFocus&&(typeof this.returnFocus=="function"?this.returnFocus():this.returnFocus)?.focus?.())}destroy(){this.release(),this.destroyed=!0}}});var it,G,nt,st=u(()=>{"use strict";it=t=>t==="bottom"||t==="top",G=class{constructor(e){a(this,"slots");a(this,"capacity");a(this,"head",0);a(this,"size",0);this.capacity=e,this.slots=new Array(e);for(let i=0;i<e;i++)this.slots[i]={t:0,v:0}}push(e,i){let n=this.slots[this.head];n.t=e,n.v=i,this.head=(this.head+1)%this.capacity,this.size<this.capacity&&this.size++}pruneBefore(e,i){for(;this.size>i;){let n=(this.head-this.size+this.capacity)%this.capacity;if(this.slots[n].t<e)this.size--;else break}}get length(){return this.size}oldest(){if(this.size!==0)return this.slots[(this.head-this.size+this.capacity)%this.capacity]}newest(){if(this.size!==0)return this.slots[(this.head-1+this.capacity)%this.capacity]}reset(){this.head=0,this.size=0}},nt=(t,e,i)=>{let n=null,s="touch",o=0,l=0,r=m=>m==="mouse"?160:120,c=32,d=new G(c),p=it(e)?"Y":"X",h=e==="bottom"||e==="right"?-1:1,b=m=>p==="Y"?m.clientY:m.clientX,g=m=>{if(n===null&&!(m.button!==void 0&&m.button!==0)){n=m.pointerId,s=m.pointerType||"touch",o=b(m),l=o,d.reset(),d.push(m.timeStamp,o);try{t.setPointerCapture(m.pointerId)}catch{}i.onStart(o,s)}},y=m=>{if(m.pointerId!==n)return;let w=b(m),A=(w-o)*h;l=w,d.push(m.timeStamp,w);let z=m.timeStamp-r(s);d.pruneBefore(z,2),i.onMove(A)},x=m=>{if(m.pointerId!==n)return;let F=(l-o)*h,A=0;if(d.length>=3){let J=d.oldest(),ee=d.newest(),te=ee.t-J.t;te>0&&(A=(ee.v-J.v)/te*h)}let z=s;n=null,d.reset();try{t.hasPointerCapture(m.pointerId)&&t.releasePointerCapture(m.pointerId)}catch{}i.onEnd(F,A,z)},E=m=>{m.pointerId===n&&(n=null,d.reset(),i.onCancel?.())};return t.addEventListener("pointerdown",g),t.addEventListener("pointermove",y),t.addEventListener("pointerup",x),t.addEventListener("pointercancel",E),t.style.touchAction=it(e)?"pan-x":"pan-y",()=>{t.removeEventListener("pointerdown",g),t.removeEventListener("pointermove",y),t.removeEventListener("pointerup",x),t.removeEventListener("pointercancel",E),n!==null&&t.hasPointerCapture(n)&&t.releasePointerCapture(n)}}});function X(t,e){let i=Math.min(e*.15,80);return Math.sign(t)*Math.pow(Math.abs(t),.55)*Math.min(6,i/Math.max(Math.abs(t),1))}var rt=u(()=>{"use strict"});function ot(t){if(typeof document>"u")return!1;let e=document.activeElement;if(!e||!t.contains(e))return!1;let i=e.tagName;if(!(i==="INPUT"||i==="TEXTAREA"||e.isContentEditable===!0))return!1;try{return e.blur(),!0}catch{return!1}}var at=u(()=>{"use strict"});var O,lt=u(()=>{"use strict";st();rt();at();O=class{constructor(e){a(this,"deps");a(this,"detach",null);a(this,"isDragging_",!1);a(this,"dragStartSize",0);a(this,"currentPointerKind","touch");a(this,"keyboardDismissed",!1);a(this,"dragPayload",{size:0,delta:0});this.deps=e}get isDragging(){return this.isDragging_}install(){return this.detach?this.detach:(this.detach=nt(this.deps.handle,this.deps.mode,{onStart:(e,i)=>{this.deps.cancelAnimation(),this.isDragging_=!0,this.dragStartSize=this.deps.getDragContext().size,this.currentPointerKind=i,this.keyboardDismissed=!1,this.deps.getRoot()?.setAttribute("data-dragging","true"),this.deps.element.style.willChange="transform",this.deps.emit("dragstart",{size:this.dragStartSize})},onMove:e=>{let i=this.deps.getDragContext(),{min:n,max:s}=i.range,o=i.maxAxisSize,l=i.rubberBandEnabled,r=this.dragStartSize+e;r>s?r=l?s+X(r-s,o):s:r<n&&(r=l?n-X(n-r,o):n),this.deps.applySize(r),!this.keyboardDismissed&&this.currentPointerKind==="touch"&&this.deps.mode==="bottom"&&r<this.dragStartSize&&ot(this.deps.element)&&(this.keyboardDismissed=!0),this.deps.listenerCount("drag")>0&&(this.dragPayload.size=r,this.dragPayload.delta=e,this.deps.emit("drag",this.dragPayload))},onEnd:(e,i,n)=>{this.isDragging_=!1,this.keyboardDismissed=!1,this.deps.getRoot()?.removeAttribute("data-dragging"),this.deps.emit("dragend",{size:this.deps.getDragContext().size,velocity:i}),this.deps.settleAfterDrag(e,i,n)},onCancel:()=>{this.isDragging_=!1,this.keyboardDismissed=!1,this.deps.getRoot()?.removeAttribute("data-dragging");let e=this.dragStartSize;this.deps.animateTo(e,0)}}),this.detach)}forceClearDragState(){this.isDragging_&&(this.isDragging_=!1,this.keyboardDismissed=!1,this.deps.getRoot()?.removeAttribute("data-dragging"),this.deps.element.style.willChange="auto")}}});var B,dt=u(()=>{"use strict";B=class{constructor(e,i){a(this,"handle",e);e.setAttribute("aria-orientation",i==="bottom"||i==="top"?"vertical":"horizontal")}setValue(e,i){if(e.length===0){this.handle.removeAttribute("aria-valuemin"),this.handle.removeAttribute("aria-valuemax"),this.handle.removeAttribute("aria-valuenow"),this.handle.removeAttribute("aria-valuetext");return}let n=Math.max(e.length-1,0),s=Math.max(e.indexOf(i),0);this.handle.setAttribute("aria-valuemin","0"),this.handle.setAttribute("aria-valuemax",String(n)),this.handle.setAttribute("aria-valuenow",String(s)),this.handle.setAttribute("aria-valuetext",i)}}});function ct(t){let e=new Map,i=n=>{let s=t.getMaxAxisSize();return s<=0?!1:n<s/2};return{cache(n,s,o){let l=t.scrollContainer;l&&(i(s)||i(o)&&e.set(n,l.scrollTop))},restore(n,s,o){let l=t.scrollContainer;if(!l||i(o)||!i(s))return;let r=e.get(n);r!==void 0&&(l.scrollTop=r,e.delete(n))},clear(){e.clear()}}}var pt=u(()=>{"use strict"});function ut(t,e){let i=t.allowed??t.snapPoints.map(s=>s.id),n=t.initial??i[0]??t.snapPoints[0]?.id??"default";if(t.persistKey){let s=xe(t.persistKey);s&&i.includes(s)&&(n=s)}return{mode:t.mode??"bottom",flickVelocity:t.flickVelocity??Qt,dragThreshold:t.dragThreshold??Zt,rubberBandEnabled:t.rubberBand??!0,closeOnBack:t.closeOnBack??!1,initialAllowed:i,initialId:n,scrim:{scrimMode:t.scrimMode,scrimColor:t.scrimColor,scrimBlur:t.scrimBlur,scrimInteractive:t.scrimInteractive??(t.scrimTapToClose?!0:void 0),scrimTapToClose:t.scrimTapToClose,scrimPreset:t.scrimPreset,screenRange:t.screenRange,backdropRange:t.backdropRange},animation:{animation:t.animation,duration:t.duration,easing:t.easing,spring:t.spring,respectReducedMotion:t.respectReducedMotion,viewTransitions:t.viewTransitions},lifecycle:{focusTrap:t.focusTrap,initialFocus:t.initialFocus,closeOnEscape:t.closeOnEscape,lockBodyScroll:t.lockBodyScroll,inertSiblings:t.inertSiblings,shouldApplyInertSiblings:e?.shouldApplyInertSiblings}}}var Qt,Zt,ht=u(()=>{"use strict";U();Qt=.65,Zt=18});var Jt,j,H,mt=u(()=>{"use strict";se();ae();de();pe();I();Se();U();Ee();ze();Me();Ie();Le();Pe();Be();Fe();Ge();tt();lt();dt();pt();ht();W();Jt=8,j=class{constructor(){a(this,"fns",[])}add(e){e&&this.fns.push(e)}drain(){for(;this.fns.length;)try{this.fns.pop()()}catch(e){queueMicrotask(()=>{throw e})}}},H=class{constructor(e){a(this,"id",le("bs"));a(this,"element");a(this,"handle");a(this,"scrollContainer");a(this,"backdrop");a(this,"screenComponent");a(this,"mode");a(this,"flickVelocity");a(this,"dragThreshold");a(this,"rubberBandEnabled");a(this,"scrim");a(this,"aria");a(this,"animation");a(this,"lifecycle");a(this,"closeOnBack");a(this,"routedTo");a(this,"snapPointsRaw");a(this,"snaps");a(this,"activeId");a(this,"size",0);a(this,"gesture");a(this,"rootEl",null);a(this,"destroyed",!1);a(this,"currentViewTransition",null);a(this,"currentAbort",new AbortController);a(this,"sizeWriteSentinel",new S);a(this,"progressWriteSentinel",new S);a(this,"isTopSheet",!0);a(this,"progressPayload",{value:0,size:0});a(this,"dragContextBuf",{size:0,maxAxisSize:0,range:{min:0,max:0},rubberBandEnabled:!1});a(this,"bus",ce());a(this,"persistKey");a(this,"linkedSheets",[]);a(this,"scrollCache");a(this,"teardowns",new j);a(this,"transformTemplate");let i=ut(e,{shouldApplyInertSiblings:()=>typeof document>"u"?!1:Array.from(document.body.children).some(o=>o===e.element||o.contains(e.element))});this.element=e.element,this.handle=e.handle??e.element,this.scrollContainer=e.scrollContainer,this.backdrop=e.backdrop,this.screenComponent=e.screenComponent,this.mode=i.mode,this.transformTemplate=re(this.mode),this.aria=new B(this.handle,this.mode),this.flickVelocity=i.flickVelocity,this.dragThreshold=i.dragThreshold,this.rubberBandEnabled=i.rubberBandEnabled,this.scrim=new L({mode:this.mode,screenComponent:this.screenComponent,backdrop:this.backdrop,isDestroyed:()=>this.destroyed,isTopSheet:()=>this.isTopSheet,getAllowedIds:()=>this.snaps.getAllowedIds().slice(),getResolvedSnaps:()=>this.snaps.getResolvedSnaps().slice(),snapTo:s=>{this.snapTo(s)}},i.scrim),this.animation=new D({element:this.element,getRootEl:()=>this.rootEl,applySize:s=>this.applySize(s),getSize:()=>this.size,isDragging:()=>this.gesture?.isDragging??!1},i.animation),this.lifecycle=new P({element:this.element,close:()=>this.close()},i.lifecycle),this.closeOnBack=i.closeOnBack,this.routedTo=e.routedTo,this.snapPointsRaw=e.snapPoints,this.persistKey=e.persistKey,e.linkedSheets&&(this.linkedSheets=e.linkedSheets),this.activeId=i.initialId,V(this.snapPointsRaw),this.rootEl=this.element.closest(".bs-root"),this.snaps=new R(this.snapPointsRaw,i.initialAllowed,this.mode,()=>this.handle.offsetHeight,s=>{this.element.style[oe(this.mode)]=`${s}px`});let n=this.snaps.findById(this.activeId);if(n&&(this.size=n.size),this.applySize(this.size),this.updateAriaSlider(),this.scrollCache=ct({scrollContainer:this.scrollContainer,getMaxAxisSize:()=>this.snaps.getMaxAxisSize()}),this.attach(),this.registerInStack(),this.snaps.getMaxAxisSize()===0&&typeof IntersectionObserver<"u"&&typeof document<"u"){let s=new IntersectionObserver(o=>{for(let l of o){if(!l.isIntersecting)continue;if(this.destroyed)return;this.snaps.recompute();let r=this.snaps.findById(this.activeId);r&&(this.size=r.size,this.applySize(this.size),this.updateAriaSlider()),s.disconnect();return}});s.observe(this.element),this.teardowns.add(()=>s.disconnect())}this.persistKey&&this.teardowns.add(we(this,this.persistKey)),this.teardowns.add(Te({ms:e.autoCollapseAfter,isDestroyed:()=>this.destroyed,isDragging:()=>this.gesture?.isDragging??!1,getAllowedIds:()=>this.snaps.getAllowedIds().slice(),getActiveId:()=>this.activeId,resolveSnap:s=>this.snaps.findById(s),snapTo:s=>{this.snapTo(s)},on:(s,o)=>this.on(s,o)})),this.teardowns.add(ke({routedTo:this.routedTo,closeOnBack:this.closeOnBack,isTopSheet:()=>this.isTopSheet,getSize:()=>this.size,isDestroyed:()=>this.destroyed,close:()=>this.close(),on:(s,o)=>this.on(s,o),sheetId:this.id})),this.size>0&&this.handleOpen()}get state(){return{size:this.size,activeId:this.activeId,isDragging:this.gesture?.isDragging??!1,isAnimating:this.animation.isAnimating,progress:this.computeProgress(this.size)}}on(e,i){return this.bus.on(e,i)}use(e){if(this.destroyed)return console.warn(`[BottomSheet] use("${e.name}") called on destroyed engine \u2014 ignored.`),this;let i=[],n={add:o=>{typeof o=="function"&&i.push(o)}},s;try{s=e.install(this,n)}catch(o){for(let l=i.length-1;l>=0;l--)try{i[l]()}catch(r){queueMicrotask(()=>{throw r})}return queueMicrotask(()=>{throw o}),this}for(let o of i)this.teardowns.add(o);return typeof s=="function"&&this.teardowns.add(s),this}setLinkedSheets(e){this.destroyed||(this.linkedSheets=e)}getAllowedIds(){return this.snaps.getAllowedIds().slice()}async snapTo(e,i=0,n=!1){if(this.destroyed)return;let s=typeof i=="object"?i:{velocity:i},o=s.velocity??0,l=s.signal;if(l?.aborted)return;let r=this.snaps.findById(e);if(!r){console.warn(`[BottomSheet] unknown snap id: ${e}`);return}if(!this.snaps.getAllowedIds().includes(e)){console.warn(`[BottomSheet] snap "${e}" is not in allowed list`);return}if(!n&&this.emitBeforeSnap(r,this.activeId))return;let c=this.newCycle(),d=()=>{this.animation.cancel(),this.newCycle()};l?.addEventListener("abort",d,{once:!0});let p=this.size===0,h=this.activeId,b=this.size;if(this.scrollCache.cache(h,b,r.size),this.activeId=e,this.animation.viewTransitionsAvailable){this.currentViewTransition?.skipTransition?.();let g=document.startViewTransition(()=>{this.applySize(r.size)});this.currentViewTransition=g;try{await g.finished}catch{}this.currentViewTransition===g&&(this.currentViewTransition=null)}else await this.animation.animateTo(r.size,o);l?.removeEventListener("abort",d),!c.aborted&&(this.scrollCache.restore(e,b,r.size),this.updateAriaSlider(),this.emit("snap",{id:e,size:r.size}),p&&r.size>0&&(this.emit("open",{id:e}),this.handleOpen(),Ae(this.linkedSheets,this)),r.size===0&&(this.emit("close",void 0),this.handleClose()))}async dragTo(e,i=0){if(this.destroyed)return;let n=typeof i=="object"?i:{velocity:i},s=n.velocity??0,o=n.signal;if(o?.aborted)return;this.newCycle();let l=()=>{this.animation.cancel(),this.newCycle()};o?.addEventListener("abort",l,{once:!0});let r=Math.max(0,Math.min(e,this.snaps.getMaxAxisSize()));await this.animation.animateTo(r,s),o?.removeEventListener("abort",l),this.destroyed||o?.aborted}open(e){if(this.destroyed)return Promise.resolve();let i=e??this.snaps.getAllowedIds().find(n=>n!=="closed")??this.activeId;return this.snapTo(i)}close(){if(this.destroyed)return Promise.resolve();let e=this.snapPointsRaw.find(i=>i.id==="closed")?.id??this.snaps.getAllowedIds()[0];return this.snapTo(e??this.activeId)}setAllowed(e,i){if(this.destroyed)return;if(i!==void 0&&e.includes(i)||!e.includes(this.activeId)&&e.length>0||(this.animation.cancel(),this.newCycle()),this.snaps.setAllowedIds(e),this.updateAriaSlider(),i&&e.includes(i))this.snapTo(i,0,!0);else if(!e.includes(this.activeId)){let s=e[0];s&&this.snapTo(s,0,!0)}}setBackdropRange(e){this.scrim.setBackdropRange(e,()=>this.applySize(this.size))}setScreenRange(e){this.scrim.setScreenRange(e,()=>this.applySize(this.size))}setScrimColor(e){this.scrim.setScrimColor(e)}setScrimBlur(e){this.scrim.setScrimBlur(e)}setScrimInteractive(e){this.scrim.setScrimInteractive(e)}setScrim(e){this.scrim.setScrim(e,()=>this.applySize(this.size))}setScrimMode(e){this.scrim.setScrimMode(e,()=>this.applySize(this.size))}setScrimTapToClose(e){this.scrim.setScrimTapToClose(e)}setScrimEnabled(e){this.scrim.setScrimEnabled(e,()=>this.applySize(this.size))}setScrimOverlay(e){return this.scrim.setScrimOverlay(e)}getScrimState(){return{mode:this.scrim.scrimMode,enabled:this.scrim.scrimEnabled}}setSnapPoints(e,i){if(this.destroyed)return;this.animation.cancel(),this.newCycle(),this.snapPointsRaw=e,V(e),this.snaps.setRaw(e),i&&this.snaps.setAllowedIds(i),this.scrollCache.clear(),this.scrim.invalidateOpacityCache();let n=this.snaps.findById(this.activeId);n&&this.applySize(n.size),this.updateAriaSlider()}destroy(){this.destroyed=!0,this.currentAbort.abort(),this.currentViewTransition?.skipTransition?.(),this.currentViewTransition=null,this.bus.clear(),this.animation.cancel(),this.gesture?.forceClearDragState(),this.teardowns.drain(),this.scrim.destroy(),this.animation.destroy(),this.lifecycle.destroy(),this.backdrop&&(this.backdrop.style.opacity="",this.backdrop.style.pointerEvents=""),this.screenComponent&&(this.screenComponent.style.opacity="",this.screenComponent.style.display=""),this.sizeWriteSentinel.invalidate(),this.progressWriteSentinel.invalidate()}emit(e,i){this.bus.emit(e,i)}newCycle(){return this.currentAbort.abort(),this.currentAbort=new AbortController,this.currentAbort.signal}emitBeforeSnap(e,i){let n=!1,s=!1;return this.emit("before-snap",{id:e.id,size:e.size,previousId:i,cancel:()=>{if(s){console.warn("[BottomSheet] before-snap.cancel() called asynchronously \u2014 ignored. cancel() must be invoked synchronously inside the listener.");return}n=!0}}),s=!0,n}recomputeSnaps(){let e=new Set;for(let i of this.snapPointsRaw)e.has(i.id)&&console.warn(`[BottomSheet] duplicate snap id "${i.id}" \u2014 only the first occurrence is reachable.`),e.add(i.id);this.snaps.setRaw(this.snapPointsRaw),this.scrim.invalidateOpacityCache()}getAllowedRange(){return this.snaps.getAllowedRange()}updateAriaSlider(){this.aria.setValue(this.snaps.getAllowedIds(),this.activeId)}registerInStack(){this.teardowns.add(ne.push({id:this.id,setZIndex:e=>{this.element.style.zIndex=String(e),this.backdrop&&(this.backdrop.style.zIndex=String(e-1))},setIsTop:e=>{this.isTopSheet=e,this.backdrop&&(this.backdrop.style.display=e?"":"none")}}))}attach(){this.gesture=new O({handle:this.handle,element:this.element,mode:this.mode,getRoot:()=>this.rootEl,getDragContext:()=>{let e=this.dragContextBuf,i=this.getAllowedRange();return e.size=this.size,e.maxAxisSize=this.snaps.getMaxAxisSize(),e.range.min=i.min,e.range.max=i.max,e.rubberBandEnabled=this.rubberBandEnabled,e},cancelAnimation:()=>this.animation.cancel(),applySize:e=>this.applySize(e),animateTo:(e,i)=>this.animation.animateTo(e,i),settleAfterDrag:(e,i,n)=>this.settleAfterDrag(e,i,n),emit:(e,i)=>this.emit(e,i),listenerCount:e=>this.bus.listenerCount(e)}),this.teardowns.add(this.gesture.install());try{this.attachFeatures()}catch(e){this.teardowns.drain();try{this.scrim.destroy()}catch(i){queueMicrotask(()=>{throw i})}try{this.animation.destroy()}catch(i){queueMicrotask(()=>{throw i})}try{this.lifecycle.destroy()}catch(i){queueMicrotask(()=>{throw i})}throw this.destroyed=!0,e}}attachFeatures(){if(this.scrollContainer&&this.teardowns.add(Ce({container:this.scrollContainer,isDragging:()=>this.gesture?.isDragging??!1,isAnimating:()=>this.animation.isAnimating,getAllowedIds:()=>this.snaps.getAllowedIds(),getActiveId:()=>this.activeId,snapTo:e=>{this.snapTo(e)}})),typeof window<"u"){if(this.teardowns.add(De({element:this.element,getMode:()=>this.mode,isDestroyed:()=>this.destroyed,isDragging:()=>this.gesture?.isDragging??!1,resolveActiveSnap:()=>this.snaps.findById(this.activeId),getMaxAxisSize:()=>this.snaps.getMaxAxisSize(),getSize:()=>this.size,setMaxAxisSize:e=>{this.snaps.setMaxAxisSize(e)},setSize:e=>{this.size=e},recomputeSnaps:()=>this.recomputeSnaps(),applySize:e=>this.applySize(e),cancelInFlight:()=>{this.animation.cancel()},newCycle:()=>{this.newCycle()}})),this.lifecycle.closeOnEscape){let e=i=>{this.destroyed||i.key==="Escape"&&this.isTopSheet&&this.size>0&&this.close()};document.addEventListener("keydown",e),this.teardowns.add(()=>document.removeEventListener("keydown",e))}this.teardowns.add(Re({element:this.element,isVerticalAxis:()=>this.mode==="bottom"||this.mode==="top",isDestroyed:()=>this.destroyed,isDragging:()=>this.gesture?.isDragging??!1,recomputeSnaps:()=>this.recomputeSnaps(),resolveActiveSnap:()=>this.snaps.findById(this.activeId),getMaxAxisSize:()=>this.snaps.getMaxAxisSize(),getSize:()=>this.size,setMaxAxisSize:e=>{this.snaps.setMaxAxisSize(e)},setSize:e=>{this.size=e},applySize:e=>this.applySize(e)}))}this.teardowns.add(Oe({handle:this.handle,mode:this.mode,isDestroyed:()=>this.destroyed,getAllowedIds:()=>this.snaps.getAllowedIds(),getActiveId:()=>this.activeId,snapTo:e=>{this.snapTo(e)}})),this.scrim.attach()}settleAfterDrag(e,i,n="touch"){let s=this.newCycle(),o=this.snaps.findDragSettleTarget({delta:e,velocity:i,pointerKind:n,size:this.size,activeId:this.activeId,flickVelocity:this.flickVelocity,dragThreshold:this.dragThreshold});if(!o)return;let l=this.activeId;if(this.emitBeforeSnap(o,l)){let c=this.snaps.findById(l);c&&this.animation.animateTo(c.size,0);return}let r=this.size;this.scrollCache.cache(l,r,o.size),this.activeId=o.id,this.animation.animateTo(o.size,i).then(()=>{s.aborted||(this.scrollCache.restore(o.id,r,o.size),this.updateAriaSlider(),this.emit("snap",{id:o.id,size:o.size}),this.haptic(),l==="closed"&&o.size>0&&(this.emit("open",{id:o.id}),this.handleOpen()),o.size===0&&(this.emit("close",void 0),this.handleClose()))})}haptic(){if(typeof navigator<"u"&&"vibrate"in navigator)try{navigator.vibrate(Jt)}catch{}}applySize(e){this.size=e;let i=this.snaps.getMaxAxisSize()-e,n=this.element.style;n.transform=this.transformTemplate(i),this.sizeWriteSentinel.shouldWrite(e,.5)&&n.setProperty("--bs-size",`${e}px`);let s=this.computeProgress(e),o=this.progressWriteSentinel.shouldWrite(s,.005);o&&n.setProperty("--bs-progress",String(s)),this.scrim.applyOpacity(s,o),o&&this.bus.listenerCount("progress")>0&&(this.progressPayload.value=s,this.progressPayload.size=e,this.emit("progress",this.progressPayload))}computeProgress(e){let{min:i,max:n}=this.getAllowedRange();return n<=i?0:Math.min(Math.max((e-i)/(n-i),0),1)}handleOpen(){try{this.lifecycle.install()}catch(e){this.destroyed||this.newCycle(),this.handleClose(),this.applySize(0),this.activeId=this.snapPointsRaw.find(i=>i.id==="closed")?.id??this.activeId,this.size=0,queueMicrotask(()=>{throw e})}}handleClose(){this.lifecycle.release()}}});var bt,ft=u(()=>{"use strict";bt=':where(.bs-root){--bs-surface:#ffffff;--bs-surface-border:rgba(225,227,237,1);--bs-shadow:0 -3px 12px rgba(0,0,0,0.12);--bs-radius:20px;--bs-handle-color:#b5b3a8;--bs-handle-width:40px;--bs-handle-height:5px;--bs-z-backdrop:90;--bs-z-sheet:100;--bs-header-min-height:80px;--bs-backdrop-color:rgba(0,0,0,0.5);--bs-scrim-color:rgba(0,0,0,0.4);--bs-scrim-blur:0px;--bs-z-scrim:calc(var(--bs-z-sheet) - 1);--bs-size:0px;--bs-progress:0}.bs-backdrop{position:fixed;inset:0;background:var(--bs-backdrop-color);opacity:0;pointer-events:none;z-index:var(--bs-z-backdrop);transition:opacity 0.15s linear;will-change:opacity}.bs-root[data-dragging="true"] .bs-backdrop,.bs-root[data-animating="true"] .bs-backdrop{transition:none}.bs-sheet{position:fixed;background:var(--bs-surface);box-shadow:var(--bs-shadow);z-index:var(--bs-z-sheet);overflow:hidden;display:flex;flex-direction:column;-webkit-tap-highlight-color:transparent;user-select:none;overscroll-behavior:contain}.bs-sheet[data-mode="bottom"]{left:0;right:0;bottom:0;width:100%;border-top-left-radius:var(--bs-radius);border-top-right-radius:var(--bs-radius);border-top:1px solid var(--bs-surface-border);padding-bottom:env(safe-area-inset-bottom);box-shadow:0 calc(var(--bs-progress,0) * -2px - 3px) calc(var(--bs-progress,0) * 18px + 12px) rgba(0,0,0,calc(var(--bs-progress,0) * 0.15 + 0.12))}.bs-sheet[data-mode="top"]{left:0;right:0;top:0;width:100%;border-bottom-left-radius:var(--bs-radius);border-bottom-right-radius:var(--bs-radius);border-bottom:1px solid var(--bs-surface-border);flex-direction:column-reverse;box-shadow:0 3px 12px rgba(0,0,0,0.12);padding-top:env(safe-area-inset-top)}.bs-sheet[data-mode="left"]{top:0;bottom:0;left:0;height:100%;border-top-right-radius:var(--bs-radius);border-bottom-right-radius:var(--bs-radius);border-right:1px solid var(--bs-surface-border);box-shadow:3px 0 12px rgba(0,0,0,0.12)}.bs-sheet[data-mode="right"]{top:0;bottom:0;right:0;height:100%;border-top-left-radius:var(--bs-radius);border-bottom-left-radius:var(--bs-radius);border-left:1px solid var(--bs-surface-border);box-shadow:-3px 0 12px rgba(0,0,0,0.12)}.bs-sheet[data-mode="left"] .bs-content{padding-right:36px}.bs-sheet[data-mode="right"] .bs-content{padding-left:36px}.bs-handle{flex-shrink:0;min-height:44px;display:flex;flex-direction:column;justify-content:center;padding:8px 16px 4px;cursor:grab;touch-action:none;user-select:none;background:var(--bs-surface);-webkit-tap-highlight-color:transparent;outline:none;position:relative}.bs-handle:active{cursor:grabbing}.bs-handle:focus-visible{outline:2px solid currentColor;outline-offset:-2px;border-radius:var(--bs-radius)}.bs-handle::before{content:"";display:block;width:var(--bs-handle-width);height:var(--bs-handle-height);background:var(--bs-handle-color);border-radius:calc(var(--bs-handle-height) / 2);margin:0 auto 8px;transition:width 0.15s ease,background 0.15s ease,transform 0.15s ease;pointer-events:none}.bs-sheet[data-mode="left"] .bs-handle,.bs-sheet[data-mode="right"] .bs-handle{position:absolute;top:0;bottom:0;width:28px;min-width:0;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0;background:var(--bs-surface);z-index:1;overflow:hidden}.bs-sheet[data-mode="left"] .bs-handle>*,.bs-sheet[data-mode="right"] .bs-handle>*{display:none}.bs-sheet[data-mode="left"] .bs-handle{right:0;border-left:1px solid var(--bs-surface-border)}.bs-sheet[data-mode="right"] .bs-handle{left:0;border-right:1px solid var(--bs-surface-border)}.bs-sheet[data-mode="left"] .bs-handle::before,.bs-sheet[data-mode="right"] .bs-handle::before{width:var(--bs-handle-height);height:var(--bs-handle-width);margin:0}.bs-sheet:hover .bs-handle::before{background:color-mix(in oklab,var(--bs-handle-color),#000 15%)}.bs-handle:active::before{background:color-mix(in oklab,var(--bs-handle-color),#000 35%);transform:scaleX(1.15)}.bs-handle.bs-handle--ticks::after{content:"";display:block;position:absolute;left:50%;bottom:6px;transform:translateX(-50%);width:calc(var(--bs-handle-width) * 2);height:3px;background-image:radial-gradient( circle,var(--bs-handle-color) 0 1.5px,transparent 1.6px );background-size:8px 3px;background-repeat:repeat-x;background-position:center;opacity:0;transition:opacity 0.18s ease-out;pointer-events:none}.bs-root[data-dragging="true"] .bs-handle.bs-handle--ticks::after{opacity:0.4}.bs-sheet[data-mode="top"] .bs-handle.bs-handle--ticks::after{bottom:auto;top:6px}.bs-sheet[data-mode="left"] .bs-handle.bs-handle--ticks::after,.bs-sheet[data-mode="right"] .bs-handle.bs-handle--ticks::after{left:50%;top:50%;bottom:auto;transform:translate(-50%,-50%);width:3px;height:calc(var(--bs-handle-width) * 2);background-size:3px 8px;background-repeat:repeat-y;margin-left:calc(var(--bs-handle-height) + 6px)}.bs-sheet[data-mode="right"] .bs-handle.bs-handle--ticks::after{margin-left:calc(-1 * (var(--bs-handle-height) + 6px))}.bs-content{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:0 16px 16px}.bs-screen{position:absolute;inset:0;pointer-events:none;display:none;z-index:var(--bs-z-scrim)}.bs-scrim{background:var(--bs-scrim-color);transition:opacity 0.15s linear;will-change:opacity}.bs-root[data-dragging="true"] .bs-scrim,.bs-root[data-animating="true"] .bs-scrim{transition:none}.bs-scrim{backdrop-filter:blur(var(--bs-scrim-blur));-webkit-backdrop-filter:blur(var(--bs-scrim-blur))}.bs-button-slot{position:absolute;z-index:calc(var(--bs-z-sheet) + 1);pointer-events:auto}.bs-button-slot[data-side="left"]{left:16px;bottom:calc(var(--bs-size,0px) + 12px);transition:bottom 0.15s ease}.bs-button-slot[data-side="right"]{right:16px;bottom:calc(var(--bs-size,0px) + 12px);transition:bottom 0.15s ease}@media (prefers-reduced-motion:reduce){.bs-backdrop,.bs-handle::before,.bs-button-slot[data-side="left"],.bs-button-slot[data-side="right"]{transition:none !important}}@media (prefers-color-scheme:dark){:where(.bs-root){--bs-surface:#1a1a1d;--bs-surface-border:rgba(255,255,255,0.08);--bs-handle-color:rgba(255,255,255,0.45);--bs-shadow:0 -3px 16px rgba(0,0,0,0.5)}}.bs-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:where(.ovl-root){--ovl-surface:var(--bs-surface,#ffffff);--ovl-surface-border:var(--bs-surface-border,rgba(0,0,0,0.08));--ovl-shadow:0 -8px 40px rgba(0,0,0,0.35);--ovl-radius:var(--bs-radius,20px);--ovl-backdrop-color:rgba(0,0,0,0.5);--ovl-z-backdrop:200;--ovl-z-panel:201}.ovl-backdrop{position:fixed;inset:0;background:var(--ovl-backdrop-color);opacity:0;pointer-events:none;z-index:var(--ovl-z-backdrop)}.ovl-panel{position:fixed;background:var(--ovl-surface);box-shadow:var(--ovl-shadow);z-index:var(--ovl-z-panel);-webkit-tap-highlight-color:transparent;outline:none;transition:transform 0.32s cubic-bezier(0.29,1.24,0.84,0.99),opacity 0.32s ease-out}.ovl-panel[data-state="open"]{transform:translate3d(0,0,0);opacity:1}@starting-style{.ovl-panel[data-edge="bottom"][data-state="open"]{transform:translate3d(0,100%,0);opacity:0}.ovl-panel[data-edge="top"][data-state="open"]{transform:translate3d(0,-100%,0);opacity:0}.ovl-panel[data-edge="left"][data-state="open"]{transform:translate3d(-100%,0,0);opacity:0}.ovl-panel[data-edge="right"][data-state="open"]{transform:translate3d(100%,0,0);opacity:0}}.ovl-panel[data-edge="bottom"]{left:0;right:0;bottom:0;width:100%;border-top-left-radius:var(--ovl-radius);border-top-right-radius:var(--ovl-radius);border-top:1px solid var(--ovl-surface-border);padding-bottom:env(safe-area-inset-bottom)}.ovl-panel[data-edge="top"]{left:0;right:0;top:0;width:100%;border-bottom-left-radius:var(--ovl-radius);border-bottom-right-radius:var(--ovl-radius);border-bottom:1px solid var(--ovl-surface-border);padding-top:env(safe-area-inset-top)}.ovl-panel[data-edge="left"]{top:0;bottom:0;left:0;height:100%;border-top-right-radius:var(--ovl-radius);border-bottom-right-radius:var(--ovl-radius);border-right:1px solid var(--ovl-surface-border)}.ovl-panel[data-edge="right"]{top:0;bottom:0;right:0;height:100%;border-top-left-radius:var(--ovl-radius);border-bottom-left-radius:var(--ovl-radius);border-left:1px solid var(--ovl-surface-border)}@media (prefers-reduced-motion:reduce){.ovl-panel,.ovl-backdrop{transition:none !important}}'});var Mt={};ie(Mt,{BottomSheetElement:()=>T,defineBottomSheet:()=>Q});var gt,vt,yt,St,xt,ei,wt,Tt,Et,At,ti,zt,ii,ni,si,ri,oi,ai,_,li,T,kt,Q,Z=u(()=>{"use strict";mt();ft();gt="snap-points",vt="allowed",yt="initial",St="mode",xt="backdrop",ei="stylesheet",wt="animation",Tt="focus-trap",Et="close-on-escape",At="lock-body-scroll",ti=t=>!!t&&typeof t=="object"&&typeof t.id=="string"&&(typeof t.size=="number"||typeof t.size=="string"),zt=[{id:"full",size:"full"}],ii=t=>{if(!t)return zt;try{let e=JSON.parse(t);if(Array.isArray(e)&&e.length>0&&e.every(ti))return e;if(Array.isArray(e))return zt}catch{}return t.split(",").map(e=>e.trim()).filter(Boolean).map(e=>{let[i,n]=e.split(":").map(l=>l.trim()),s=Number(n),o=Number.isFinite(s)?s:n;return{id:i??"default",size:o}})},ni=["bottom","top","left","right"],si=["spring","tween","ios-spring","material-bounce","linear","snappy"],ri=t=>t&&ni.includes(t)?t:"bottom",oi=t=>t&&si.includes(t)?t:void 0,ai=t=>t?t.split(",").map(e=>e.trim()).filter(Boolean):void 0,_=t=>{let e=document.createElement("slot");return e.name=t,e},li=()=>{let t=document.createElement("div");t.className="bs-root";let e=document.createElement("div");e.className="bs-backdrop",e.setAttribute("part","backdrop");let i=document.createElement("div");i.className="bs-screen",i.setAttribute("part","screen"),i.appendChild(_("screen"));let n=document.createElement("section");n.className="bs-sheet",n.setAttribute("part","sheet"),n.setAttribute("role","dialog"),n.setAttribute("aria-modal","false");let s=document.createElement("div");s.className="bs-button-slot",s.setAttribute("data-side","left"),s.setAttribute("part","left-button"),s.appendChild(_("leftButton"));let o=document.createElement("div");o.className="bs-button-slot",o.setAttribute("data-side","right"),o.setAttribute("part","right-button"),o.appendChild(_("rightButton"));let l=document.createElement("div");l.className="bs-handle",l.setAttribute("part","handle"),l.setAttribute("role","slider"),l.setAttribute("tabindex","0"),l.setAttribute("aria-label","Resize sheet"),l.appendChild(_("header"));let r=document.createElement("div");r.className="bs-content",r.setAttribute("part","content"),r.setAttribute("tabindex","0"),r.setAttribute("role","region"),r.setAttribute("aria-label","Sheet content");let c=document.createElement("slot");r.appendChild(c);let d=document.createElement("span");d.className="bs-sr-announce",d.setAttribute("role","status"),d.setAttribute("aria-live","polite"),d.setAttribute("aria-atomic","true"),d.style.cssText="position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);",n.append(s,o,l,r),t.append(e,i,n,d);let p=document.createDocumentFragment();return p.appendChild(t),{fragment:p,refs:{sheet:n,handle:l,content:r,backdrop:e,screen:i,leftButton:s,rightButton:o,announcer:d}}},T=class extends HTMLElement{constructor(){super();a(this,"engine",null);a(this,"root");a(this,"offHandlers",[]);a(this,"refs");a(this,"backdropClickHandler",null);this.root=this.attachShadow({mode:"open"});let i=document.createElement("style");i.textContent=bt,this.root.appendChild(i);let n=this.getAttribute(ei);if(n){let r=document.createElement("link");r.rel="stylesheet",r.href=n,this.root.appendChild(r)}let s=document.createElement("style");s.textContent=[":host { display: contents; }",".bs-handle:focus-visible {"," outline: 2px solid currentColor;"," outline-offset: -2px;"," border-radius: var(--bs-radius, 20px);","}","@media (forced-colors: active) {"," .bs-handle:focus-visible { outline: 2px solid CanvasText; }","}"].join(`
|
|
2
|
-
`),this.root.appendChild(
|
|
1
|
+
"use strict";var surdeddd_bottomSheet=(()=>{var D=Object.defineProperty;var Gt=Object.getOwnPropertyDescriptor;var jt=Object.getOwnPropertyNames;var Zt=Object.prototype.hasOwnProperty;var Xt=(t,e,i)=>e in t?D(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i;var u=(t,e)=>()=>(t&&(e=t(t=0)),e);var fe=(t,e)=>{for(var i in e)D(t,i,{get:e[i],enumerable:!0})},Qt=(t,e,i,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of jt(e))!Zt.call(t,s)&&s!==i&&D(t,s,{get:()=>e[s],enumerable:!(n=Gt(e,s))||n.enumerable});return t};var Jt=t=>Qt(D({},"__esModule",{value:!0}),t);var o=(t,e,i)=>Xt(t,typeof e!="symbol"?e+"":e,i);var Z,L,be=u(()=>{"use strict";Z=class{constructor(){o(this,"entries",[])}push(e){return this.entries.push(e),this.recompute(),()=>this.remove(e.id)}remove(e){let i=this.entries.findIndex(n=>n.id===e);i!==-1&&(this.entries.splice(i,1),this.recompute())}promote(e){let i=this.entries.findIndex(n=>n.id===e);if(i!==-1){if(i!==this.entries.length-1){let[n]=this.entries.splice(i,1);this.entries.push(n)}this.recompute()}}update(){this.recompute()}size(){return this.entries.length}clear(){this.entries=[]}recompute(){let e=null,i=[];for(let n of this.entries)(!n.isOpen||n.isOpen())&&(e=n,i.push(n));!e&&this.entries.length>0&&(e=this.entries[this.entries.length-1]),this.entries.forEach((n,s)=>{if(n.setZIndex(100+s*10),n.setIsTop(n===e),n.setDepth){let r=i.indexOf(n);n.setDepth(r===-1?0:i.length-1-r)}})}},L=new Z});function ge(t){switch(t){case"bottom":return e=>`translate3d(0, ${e}px, 0)`;case"top":return e=>`translate3d(0, ${-e}px, 0)`;case"left":return e=>`translate3d(${-e}px, 0, 0)`;case"right":return e=>`translate3d(${e}px, 0, 0)`}}var X,ve=u(()=>{"use strict";X=t=>t==="left"||t==="right"?"width":"height"});function ye(t){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?`${t}-${crypto.randomUUID()}`:(Q[t]=(Q[t]??0)+1,`${t}-${Q[t]}`)}var Q,Se=u(()=>{"use strict";Q={}});function xe(){let t=new Map;return{on(e,i){let n=t.get(e);return n||(n=new Set,t.set(e,n)),n.add(i),()=>{n.delete(i)}},emit(e,i){let n=t.get(e);if(n)for(let s of[...n])s(i)},listenerCount(e){return t.get(e)?.size??0},clear(){t.clear()}}}var Ee=u(()=>{"use strict"});var v,Te,ei,we,Ae,ti,ze,ke=u(()=>{"use strict";v=null,Te="data-bs-probe",ei=t=>{if(typeof document>"u")return null;if(!v||!v.isConnected){let e=document.querySelector(`[${Te}]`);e?v=e:(v=document.createElement("div"),v.setAttribute("aria-hidden","true"),v.setAttribute(Te,""),v.style.cssText="position:absolute;visibility:hidden;pointer-events:none;contain:strict;left:0;top:0;width:0;height:0;",document.body.appendChild(v))}return t==="vertical"?(v.style.width="0",v.style.height=""):(v.style.height="0",v.style.width=""),v},we=t=>t==="bottom"||t==="top",Ae=t=>typeof window>"u"?0:we(t)?window.innerHeight:window.innerWidth,ti=/^(-?\d+(?:\.\d+)?)%$/,ze=(t,e,i)=>{if(typeof t=="number")return Math.max(0,t);if(t==="full")return Ae(e);if(t==="fit")return Math.max(0,i?.()??0);let n=t.match(ti);if(n){let l=parseFloat(n[1])/100;return Math.max(0,Ae(e)*l)}let s=we(e)?"vertical":"horizontal",r=ei(s);return r?s==="vertical"?(r.style.height=t,Math.max(0,r.getBoundingClientRect().height)):(r.style.width=t,Math.max(0,r.getBoundingClientRect().width)):0}});var Me,ii,J,ni,Ce,M,si,ri,oi,Ie,H=u(()=>{"use strict";ke();Me=(t,e,i)=>t.map(n=>{let s=ze(n.size,e,i);return!Number.isFinite(s)||s<0?(console.warn(`[BottomSheet] snap "${n.id}" resolved to invalid size (${String(n.size)} \u2192 ${s}); clamped to 0.`),{id:n.id,size:0}):{id:n.id,size:s}}).sort((n,s)=>n.size-s.size),ii=/(^|[^a-z])vh\b/i,J=t=>{for(let e of t)typeof e.size=="string"&&ii.test(e.size)&&console.warn(`[BottomSheet] snap "${e.id}" uses "vh" \u2014 prefer "dvh" on mobile (iOS Safari URL bar makes vh unstable). See https://web.dev/blog/viewport-units`)},ni=(t,e,i,n=0,s=0)=>{let r=e.filter(d=>i.includes(d.id));if(r.length===0)return null;let l=t+n*s,a=r[0],h=Math.abs(l-a.size);for(let d=1;d<r.length;d++){let c=r[d],p=Math.abs(l-c.size);p<h&&(a=c,h=p)}return a},Ce=(t,e)=>{let i=t.filter(n=>e.includes(n.id));return i.length===0?{min:0,max:0}:{min:i[0].size,max:i[i.length-1].size}},M=(t,e)=>e.find(i=>i.id===t)??null,si=.4,ri=12,oi=.15,Ie=t=>{let e=Math.abs(t.velocity),i=t.pointerKind==="mouse"?si:t.flickVelocity,n=t.pointerKind==="mouse"?ri:t.dragThreshold,s=0;if((e>i||e>oi)&&(s=t.velocity>0?1:-1),Math.abs(t.delta)<n&&s===0)return M(t.activeId,t.resolved);let r=e>i?Math.min(e*180,t.maxAxisSize):0;return ni(t.size,t.resolved,t.allowed,s,r)}});var B,Re=u(()=>{"use strict";H();B=class{constructor(e,i,n,s,r){o(this,"mode",n);o(this,"measureFit",s);o(this,"onMaxAxisSizeChange",r);o(this,"raw");o(this,"allowedIds");o(this,"resolved",[]);o(this,"maxAxisSize",0);o(this,"rangeCache",null);this.raw=e,this.allowedIds=i??e.map(l=>l.id),this.recompute()}recompute(){this.resolved=Me(this.raw,this.mode,this.measureFit),this.maxAxisSize=this.resolved.reduce((e,i)=>i.size>e?i.size:e,0),this.rangeCache=null,this.onMaxAxisSizeChange?.(this.maxAxisSize)}setRaw(e){this.raw=e,this.recompute()}setAllowedIds(e){this.allowedIds=e,this.rangeCache=null}findById(e){return M(e,this.resolved)}findDragSettleTarget(e){return Ie({...e,resolved:this.resolved,allowed:this.allowedIds,maxAxisSize:this.maxAxisSize})}getAllowedRange(){return this.rangeCache??(this.rangeCache=Ce(this.resolved,this.allowedIds))}getResolvedSnaps(){return this.resolved}getAllowedIds(){return this.allowedIds}getMaxAxisSize(){return this.maxAxisSize}setMaxAxisSize(e){this.maxAxisSize=e,this.onMaxAxisSizeChange?.(e)}}});function Oe(t){if(!t||typeof window>"u"||typeof localStorage>"u")return null;try{return localStorage.getItem(t)}catch{return null}}function Pe(t,e){return t.on("snap",({id:n})=>{if(!(typeof window>"u")&&!(typeof localStorage>"u"))try{localStorage.setItem(e,n)}catch{}})}var ee=u(()=>{"use strict"});function De(t){let{ms:e}=t;if(e===void 0||e<=0)return()=>{};let i=null,n=()=>{i!==null&&(clearTimeout(i),i=null)},s=()=>{if(t.isDestroyed()||t.isDragging())return;let a=t.resolveSnap(t.getActiveId());if(!a||a.size===0)return;let h=null;for(let d of t.getAllowedIds()){let c=t.resolveSnap(d);!c||c.size<=0||(!h||c.size<h.size)&&(h=c)}h&&(h.id===a.id||h.size>=a.size||t.snapTo(h.id))},r=()=>{n(),!t.isDestroyed()&&(i=setTimeout(()=>{i=null,s()},e))},l=t.on("snap",()=>r());return(t.resolveSnap(t.getActiveId())?.size??0)>0&&r(),()=>{n(),l()}}var Le=u(()=>{"use strict"});function _(t,e){if(t.length!==0){for(let i of t)if(i!==e)try{if(i.state.size===0)continue;let s=i.getAllowedIds().find(r=>r!=="closed");s&&s!==i.state.activeId&&i.snapTo(s)}catch(n){queueMicrotask(()=>{throw n})}}}var He=u(()=>{"use strict"});function Be(t){if(typeof window>"u")return()=>{};if(!t.routedTo&&!t.closeOnBack)return()=>{};let e=!1,i=!1,n=null,s=(d,c)=>{let p=history.state;if(p&&p[d]===c)try{history.back()}catch{}},r=()=>{if(t.routedTo&&!n){let d=t.routedTo;try{history.pushState({__bsRouted:d},"",d),e=!0}catch{}let c=p=>{if(t.isDestroyed())return;let m=p.state;(!m||m.__bsRouted!==d)&&t.getSize()>0&&(e=!1,t.close())};window.addEventListener("popstate",c),n=()=>window.removeEventListener("popstate",c)}else if(t.closeOnBack&&!n){try{history.pushState({__bsSheet:t.sheetId},""),i=!0}catch{}let d=()=>{t.isDestroyed()||t.getSize()>0&&t.isTopSheet()&&(history.state?.__bsSheet!==t.sheetId&&(i=!1),t.close())};window.addEventListener("popstate",d),n=()=>window.removeEventListener("popstate",d)}},l=()=>{n?.(),n=null,e&&(e=!1,t.routedTo!==void 0&&s("__bsRouted",t.routedTo)),i&&(i=!1,s("__bsSheet",t.sheetId))},a=t.on("open",r),h=t.on("close",l);return t.getSize()>0&&r(),()=>{a(),h(),n?.(),n=null,e&&(e=!1,t.routedTo!==void 0&&s("__bsRouted",t.routedTo)),i&&(i=!1,s("__bsSheet",t.sheetId))}}var _e=u(()=>{"use strict"});function Fe(t){let{container:e}=t,i=0,n=!1,s=a=>{let h=a.touches[0];h&&(i=h.clientY,n=!1)},r=a=>{let h=a.touches[0];h&&Math.abs(h.clientY-i)>60&&(n=!0)},l=a=>{if(!n||t.isDragging()||t.isAnimating())return;let h=a.changedTouches[0];if(!h)return;let d=h.clientY-i,c=e.scrollTop<=0,p=t.getAllowedIds(),m=p.indexOf(t.getActiveId());m!==-1&&(c&&d>60&&m>0?t.snapTo(p[m-1]):d<-60&&m<p.length-1&&t.snapTo(p[m+1]))};return e.addEventListener("touchstart",s,{passive:!0}),e.addEventListener("touchmove",r,{passive:!0}),e.addEventListener("touchend",l,{passive:!0}),()=>{e.removeEventListener("touchstart",s),e.removeEventListener("touchmove",r),e.removeEventListener("touchend",l)}}var Ne=u(()=>{"use strict"});function Ke(t){if(typeof window>"u"||!window.visualViewport)return()=>{};let e=window.visualViewport,i=null,n=()=>{i===null&&(i=requestAnimationFrame(()=>{if(i=null,t.isDestroyed())return;t.recomputeSnaps();let s=t.isVerticalAxis(),r=s?e.height:e.width,l=s?window.innerHeight:window.innerWidth,a=Math.max(0,Math.min(l,r)-8);a<t.getMaxAxisSize()&&t.setMaxAxisSize(a);let h=t.getMaxAxisSize();t.setSize(Math.min(t.getSize(),h));let d=t.resolveActiveSnap();d&&!t.isDragging()?t.applySize(Math.min(d.size,h)):t.applySize(t.getSize())}))};return e.addEventListener("resize",n),()=>{e.removeEventListener("resize",n),i!==null&&cancelAnimationFrame(i)}}var Ve=u(()=>{"use strict"});function Ue(t){if(typeof window>"u")return()=>{};let e=()=>{if(t.isDestroyed())return;t.recomputeSnaps();let s=t.getMode(),l=s==="bottom"||s==="top"?window.innerHeight:window.innerWidth,a=t.getMaxAxisSize();l>0&&l<a&&t.setMaxAxisSize(l);let h=t.isAnimating?.()??!1;t.cancelInFlight(),t.newCycle();let d=t.resolveActiveSnap(),c=t.getMaxAxisSize(),p=Math.min(d?d.size:t.getSize(),c);t.setSize(p),d&&!t.isDragging()&&(t.applySize(p),h&&t.resyncAfterCancel?.())},i=null;typeof ResizeObserver<"u"?(i=new ResizeObserver(e),i.observe(document.documentElement)):window.addEventListener("resize",e),window.addEventListener("orientationchange",e);let n=()=>{t.isDestroyed()||document.hidden&&t.cancelInFlight()};return document.addEventListener("visibilitychange",n),()=>{i?.disconnect(),window.removeEventListener("resize",e),window.removeEventListener("orientationchange",e),document.removeEventListener("visibilitychange",n)}}var Ye=u(()=>{"use strict"});function $e(t){let e=t.mode==="bottom"||t.mode==="top",i=e?"ArrowUp":"ArrowRight",n=e?"ArrowDown":"ArrowLeft",s=t.mode==="top"?n:i,r=t.mode==="top"?i:n,l=a=>{if(t.isDestroyed())return;let h=t.getAllowedIds(),d=h.indexOf(t.getActiveId());d!==-1&&(a.key===s&&d<h.length-1?(a.preventDefault(),t.snapTo(h[d+1])):a.key===r&&d>0?(a.preventDefault(),t.snapTo(h[d-1])):a.key==="Home"?(a.preventDefault(),t.snapTo(h[0])):a.key==="End"&&(a.preventDefault(),t.snapTo(h[h.length-1])))};return t.handle.addEventListener("keydown",l),()=>t.handle.removeEventListener("keydown",l)}var We=u(()=>{"use strict"});var te,qe=u(()=>{"use strict";te=Object.freeze({subtle:{color:"rgba(0,0,0,0.2)",blur:void 0,range:[.3,1],interactive:!1},standard:{color:"rgba(0,0,0,0.4)",blur:void 0,range:[0,1],interactive:!1},monitoring:{color:"rgba(15,15,20,0.55)",blur:"4px",range:[0,1],interactive:!1},cinematic:{color:"rgba(0,0,0,0.7)",blur:"12px",range:[0,1],interactive:!1}})});var E,ie=u(()=>{"use strict";E=class{constructor(){o(this,"last",-1)}shouldWrite(e,i){return Math.abs(e-this.last)<=i?!1:(this.last=e,!0)}invalidate(){this.last=-1}setLastWritten(e){this.last=e}get value(){return this.last}}});function F(...t){typeof process<"u"&&process.env&&process.env.NODE_ENV!=="production"&&typeof console<"u"&&console.warn(...t)}var Ge=u(()=>{"use strict"});function ai(t,e,i){let n=`calc(var(--bs-size, 0px) + ${i})`;switch(t){case"bottom":return e==="sheet-top-left"?{bottom:n,left:i}:e==="sheet-top-right"?{bottom:n,right:i}:{bottom:n,left:"50%",transform:"translateX(-50%)"};case"top":return e==="sheet-top-left"?{top:n,left:i}:e==="sheet-top-right"?{top:n,right:i}:{top:n,left:"50%",transform:"translateX(-50%)"};case"left":return e==="sheet-top-left"?{left:n,top:i}:e==="sheet-top-right"?{left:n,bottom:i}:{left:n,top:"50%",transform:"translateY(-50%)"};case"right":return e==="sheet-top-left"?{right:n,top:i}:e==="sheet-top-right"?{right:n,bottom:i}:{right:n,top:"50%",transform:"translateY(-50%)"}}}function A(t,e,i,n){switch(i){case"top-left":t.top=n,t.left=n;break;case"top-center":t.top=n,t.left="50%",t.transform="translateX(-50%)";break;case"top-right":t.top=n,t.right=n;break;case"center-left":t.top="50%",t.left=n,t.transform="translateY(-50%)";break;case"center":t.top="50%",t.left="50%",t.transform="translate(-50%, -50%)";break;case"center-right":t.top="50%",t.right=n,t.transform="translateY(-50%)";break;case"bottom-left":t.bottom=n,t.left=n;break;case"bottom-center":t.bottom=n,t.left="50%",t.transform="translateX(-50%)";break;case"bottom-right":t.bottom=n,t.right=n;break;case"sheet-top-left":case"sheet-top-center":case"sheet-top-right":{let s=ai(e,i,n);s.top!==void 0&&(t.top=s.top),s.bottom!==void 0&&(t.bottom=s.bottom),s.left!==void 0&&(t.left=s.left),s.right!==void 0&&(t.right=s.right),s.transform!==void 0&&(t.transform=s.transform);break}}}var N=u(()=>{"use strict"});var di,K,Ze=u(()=>{"use strict";qe();H();ie();Ge();N();di=/^-?\d+(?:\.\d+)?(?:px|em|rem|%)$/,K=class{constructor(e,i){o(this,"screenComponent");o(this,"backdrop");o(this,"mode");o(this,"isDestroyed");o(this,"isTopSheet");o(this,"getAllowedIds");o(this,"getResolvedSnaps");o(this,"snapToFn");o(this,"closeFn");o(this,"scrimInteractive",!1);o(this,"scrimMode");o(this,"backdropRange");o(this,"screenRange");o(this,"scrimEnabled",!0);o(this,"savedScrimRanges",null);o(this,"scrimTapToCloseEnabled",!1);o(this,"detachScrimTap",null);o(this,"scrimOverlayTeardown",null);o(this,"backdropOpacitySentinel",new E);o(this,"screenOpacitySentinel",new E);o(this,"lastBackdropPointer","");o(this,"lastScreenDisplay","");this.screenComponent=e.screenComponent,this.backdrop=e.backdrop,this.mode=e.mode,this.isDestroyed=e.isDestroyed,this.isTopSheet=e.isTopSheet,this.getAllowedIds=e.getAllowedIds,this.getResolvedSnaps=e.getResolvedSnaps,this.snapToFn=e.snapTo,this.closeFn=e.close,this.scrimMode=i.scrimMode??"full";let n=i.scrimPreset?te[i.scrimPreset]:null;if(this.backdropRange=i.backdropRange??n?.range??[0,1],this.screenRange=i.screenRange??n?.range??[0,1],this.scrimTapToCloseEnabled=i.scrimTapToClose??!1,this.screenComponent){if(this.applyScrimStyles({color:i.scrimColor??n?.color,blur:i.scrimBlur??n?.blur,interactive:i.scrimInteractive??n?.interactive??!1}),this.scrimMode==="above-sheet")this.applyAboveSheetInset();else if(this.scrimMode==="off"){let s=this.screenComponent.style;s.opacity="0",s.display="none",this.screenOpacitySentinel.setLastWritten(0),this.lastScreenDisplay="none"}}}invalidateOpacityCache(){this.backdropOpacitySentinel.invalidate(),this.screenOpacitySentinel.invalidate()}attach(){this.scrimTapToCloseEnabled&&this.setScrimTapToClose(!0)}applyOpacity(e,i){if(!(!i&&this.backdropOpacitySentinel.value!==-1&&this.screenOpacitySentinel.value!==-1)){if(this.backdrop&&this.isTopSheet()){let[n,s]=this.backdropRange,r=Math.max(s-n,1e-4),l=Math.min(Math.max((e-n)/r,0),1);this.backdropOpacitySentinel.shouldWrite(l,.005)&&(this.backdrop.style.opacity=String(l));let a=l>.05?"auto":"none";a!==this.lastBackdropPointer&&(this.backdrop.style.pointerEvents=a,this.lastBackdropPointer=a)}if(this.screenComponent&&this.scrimMode!=="off"){let[n,s]=this.screenRange,r=Math.min(1,Math.max(0,(e-n)/Math.max(1e-4,s-n)));this.screenOpacitySentinel.shouldWrite(r,.005)&&(this.screenComponent.style.opacity=String(r));let l=r>0?"":"none";l!==this.lastScreenDisplay&&(this.screenComponent.style.display=l,this.lastScreenDisplay=l)}}}setBackdropRange(e,i){this.isDestroyed()||(this.backdropRange=e,this.invalidateOpacityCache(),i())}setScreenRange(e,i){this.isDestroyed()||(this.screenRange=e,this.invalidateOpacityCache(),i())}setScrimColor(e){this.isDestroyed()||this.applyScrimStyles({color:e===void 0?null:e})}setScrimBlur(e){this.isDestroyed()||this.applyScrimStyles({blur:e===void 0?null:e})}setScrimInteractive(e){this.isDestroyed()||this.applyScrimStyles({interactive:e})}setScrimMode(e,i){if(this.isDestroyed()||e===this.scrimMode)return;this.invalidateOpacityCache();let n=this.scrimMode;if(this.scrimMode=e,this.screenComponent){let s=this.screenComponent.style;n==="above-sheet"&&e!=="above-sheet"&&(s.position="",s.inset="",s.pointerEvents=""),e==="above-sheet"?this.applyAboveSheetInset():e==="off"?(s.opacity="0",s.display="none",this.screenOpacitySentinel.setLastWritten(0),this.lastScreenDisplay="none"):this.lastScreenDisplay==="none"&&(s.display="",this.lastScreenDisplay="")}i()}setScrimTapToClose(e){if(this.isDestroyed()||!this.screenComponent)return;let i=this.detachScrimTap!==null;if(e!==i)if(e){let n=this.screenComponent;n.style.pointerEvents==="none"&&(n.style.pointerEvents="auto");let s=()=>{if(this.isDestroyed())return;if(this.closeFn){this.closeFn();return}let r=this.getAllowedIds(),l=this.getResolvedSnaps(),a=r.find(h=>{let d=M(h,l);return d!==null&&d.size===0});a&&this.snapToFn(a)};n.addEventListener("click",s),this.detachScrimTap=()=>n.removeEventListener("click",s),this.scrimTapToCloseEnabled=!0}else this.detachScrimTap?.(),this.detachScrimTap=null,this.scrimTapToCloseEnabled=!1}setScrimEnabled(e,i){this.isDestroyed()||e!==this.scrimEnabled&&(this.scrimEnabled=e,this.invalidateOpacityCache(),e?(this.screenRange=this.savedScrimRanges?.screen??[0,1],this.backdropRange=this.savedScrimRanges?.backdrop??[0,1],this.savedScrimRanges=null):(this.savedScrimRanges={screen:this.screenRange,backdrop:this.backdropRange},this.screenRange=[1,1],this.backdropRange=[1,1]),i())}setScrim(e,i){if(this.isDestroyed())return;if(e.preset){let s=te[e.preset];this.applyScrimStyles({color:s.color,blur:s.blur??null,interactive:s.interactive}),!this.scrimEnabled&&this.savedScrimRanges?this.savedScrimRanges={screen:s.range,backdrop:s.range}:(this.screenRange=s.range,this.backdropRange=s.range)}let n=()=>{};e.mode!==void 0&&this.setScrimMode(e.mode,n),e.enabled!==void 0&&this.setScrimEnabled(e.enabled,n),e.tapToClose!==void 0&&this.setScrimTapToClose(e.tapToClose),this.applyScrimStyles({color:e.color,blur:e.blur,interactive:e.interactive}),e.range!==void 0&&(!this.scrimEnabled&&this.savedScrimRanges?this.savedScrimRanges={screen:e.range,backdrop:this.savedScrimRanges.backdrop}:this.screenRange=e.range),this.invalidateOpacityCache(),i()}setScrimOverlay(e){if(this.isDestroyed())return()=>{};if(!this.screenComponent)return()=>{};this.scrimOverlayTeardown?.();let i=this.screenComponent,n=e.inset??"16px",s=di.test(n)?n:"16px";s!==n&&F(`[bottom-sheet] setScrimOverlay: invalid inset ${JSON.stringify(n)}; expected a CSS length like "16px" / "1rem" / "5%". Falling back to "16px".`),e.children.ownerDocument&&e.children.ownerDocument!==i.ownerDocument&&F("[bottom-sheet] setScrimOverlay: children belong to a different document than the scrim. Cross-document adoption can drop event listeners; construct children via the same document as the sheet root.");let r=e.position??"top-right",l=e.interactive??!0,a=i.ownerDocument.createElement("div");a.className="bs-scrim-overlay";let h=a.style;h.position="absolute",A(h,this.mode,r,s),l&&(h.pointerEvents="auto"),a.appendChild(e.children);let d=i.parentElement;if(!d)return F("[bottom-sheet] setScrimOverlay: scrim element has no parent, skipping overlay injection. Mount the sheet root before calling setScrimOverlay."),()=>{};d.appendChild(a);let c=()=>{a.parentNode&&a.parentNode.removeChild(a),this.scrimOverlayTeardown===c&&(this.scrimOverlayTeardown=null)};return this.scrimOverlayTeardown=c,c}destroy(){if(this.detachScrimTap?.(),this.detachScrimTap=null,this.scrimOverlayTeardown?.(),this.scrimOverlayTeardown=null,this.screenComponent){let e=this.screenComponent.style;e.opacity="",e.display=""}this.backdrop&&(this.backdrop.style.opacity="",this.backdrop.style.pointerEvents=""),this.invalidateOpacityCache(),this.lastBackdropPointer="",this.lastScreenDisplay=""}applyScrimStyles(e){if(!this.screenComponent)return;let i=this.screenComponent.style;if(e.color!==void 0&&(i.background=e.color===null?"":e.color),e.blur!==void 0){let n=i;if(e.blur===null)i.backdropFilter="",n.webkitBackdropFilter="";else{let s=`blur(${e.blur})`;i.backdropFilter=s,n.webkitBackdropFilter=s}}e.interactive!==void 0&&(this.scrimInteractive=e.interactive,i.pointerEvents=e.interactive?"auto":"none")}applyAboveSheetInset(){if(!this.screenComponent)return;let e={bottom:"0 0 var(--bs-size) 0",top:"var(--bs-size) 0 0 0",left:"0 0 0 var(--bs-size)",right:"0 var(--bs-size) 0 0"},i=this.screenComponent.style;i.position="fixed",i.inset=e[this.mode],i.pointerEvents=this.scrimInteractive||this.scrimTapToCloseEnabled?"auto":"none"}}});var Xe,ci,Qe,Je,et,tt,V=u(()=>{"use strict";Xe=t=>1+2.40158*Math.pow(t-1,3)+1.40158*Math.pow(t-1,2),ci=t=>1-Math.pow(1-t,3),Qe=t=>t,Je=t=>1-Math.pow(1-t,5),et=({from:t,to:e,duration:i,easing:n=ci,onUpdate:s})=>{let r=!1,l=0,a=null,h=performance.now(),d=new Promise(c=>{if(a=c,i<=0){s(e),c();return}let p=m=>{if(r)return;let g=m-h,f=Math.min(g/i,1),y=t+(e-t)*n(f);s(y),f<1?l=requestAnimationFrame(p):c()};l=requestAnimationFrame(p)});return{cancel:()=>{r=!0,cancelAnimationFrame(l),a?.()},promise:d}},tt=()=>typeof window>"u"||!window.matchMedia?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches});var hi,pi,it,nt=u(()=>{"use strict";hi={stiffness:220,damping:26,mass:1,restDelta:.5,restSpeed:.5},pi=1/30,it=({from:t,to:e,velocity:i=0,config:n,onUpdate:s})=>{let r={...hi,...n},l=!1,a=0,h=null,d=t,c=i,p=performance.now(),m=new Promise(g=>{h=g;let f=y=>{if(l)return;let S=Math.min((y-p)/1e3,pi);p=y;let b=Math.max(1,Math.ceil(S*240)),T=S/b,R=b;for(;R-- >0;){let P=(-r.stiffness*(d-e)-r.damping*c)/r.mass;c+=P*T,d+=c*T}if(!Number.isFinite(d)||!Number.isFinite(c)){s(e,0),g();return}s(d,c),Math.abs(e-d)<(r.restDelta??.5)&&Math.abs(c)<(r.restSpeed??.5)?(s(e,0),g()):a=requestAnimationFrame(f)};a=requestAnimationFrame(f)});return{cancel:()=>{l=!0,cancelAnimationFrame(a),h?.()},promise:m}}});function st(t){switch(t){case"ios-spring":return{kind:"spring",spring:{stiffness:300,damping:30,mass:1}};case"material-bounce":return{kind:"spring",spring:{stiffness:200,damping:22,mass:1}};case"linear":return{kind:"tween",duration:ui,easing:Qe};case"snappy":return{kind:"tween",duration:180,easing:Je};case"tween":return{kind:"tween"};default:return{kind:"spring"}}}var ui,rt=u(()=>{"use strict";V();ui=220});var mi,fi,U,ot=u(()=>{"use strict";V();nt();rt();mi=220,fi=1e3,U=class{constructor(e,i){o(this,"element");o(this,"getRootEl");o(this,"applySizeFn");o(this,"getSize");o(this,"isDragging");o(this,"animationKind");o(this,"springConfig");o(this,"duration");o(this,"easing");o(this,"respectReducedMotion");o(this,"reducedMotion",!1);o(this,"detachReducedMotion",null);o(this,"viewTransitionsAvailable");o(this,"currentTween",null);o(this,"currentSpring",null);this.element=e.element,this.getRootEl=e.getRootEl,this.applySizeFn=e.applySize,this.getSize=e.getSize,this.isDragging=e.isDragging;let n=st(i.animation);this.animationKind=n.kind,this.duration=i.duration??n.duration??mi,this.easing=i.easing??n.easing??Xe,this.springConfig={...n.spring??{},...i.spring??{}},this.respectReducedMotion=i.respectReducedMotion??!0;let s=i.viewTransitions??!1;if(this.viewTransitionsAvailable=s&&typeof document<"u"&&typeof document.startViewTransition=="function",this.respectReducedMotion&&typeof window<"u"&&typeof window.matchMedia=="function"){let r=window.matchMedia("(prefers-reduced-motion: reduce)");this.reducedMotion=r.matches;let l=a=>{this.reducedMotion=a.matches};typeof r.addEventListener=="function"?(r.addEventListener("change",l),this.detachReducedMotion=()=>r.removeEventListener("change",l)):typeof r.addListener=="function"&&(r.addListener(l),this.detachReducedMotion=()=>r.removeListener(l))}}get isAnimating(){return this.currentTween!==null||this.currentSpring!==null}cancel(){this.currentTween?.cancel(),this.currentSpring?.cancel()}async animateTo(e,i){if(e!==this.getSize()){if(this.currentTween?.cancel(),this.currentSpring?.cancel(),this.getRootEl()?.setAttribute("data-animating","true"),this.element.style.willChange="transform",this.reducedMotion){this.applySizeFn(e),this.getRootEl()?.removeAttribute("data-animating"),this.isDragging()||(this.element.style.willChange="auto");return}if(this.animationKind==="spring"){let n=it({from:this.getSize(),to:e,velocity:i*fi,config:this.springConfig,onUpdate:s=>this.applySizeFn(s)});this.currentSpring=n,await n.promise,this.currentSpring===n&&(this.currentSpring=null)}else{let n=et({from:this.getSize(),to:e,duration:this.duration,easing:this.easing,onUpdate:s=>this.applySizeFn(s)});this.currentTween=n,await n.promise,this.currentTween===n&&(this.currentTween=null)}this.isAnimating||(this.getRootEl()?.removeAttribute("data-animating"),this.isDragging()||(this.element.style.willChange="auto"))}}destroy(){this.detachReducedMotion?.(),this.detachReducedMotion=null,this.currentTween=null,this.currentSpring=null}}});var bi,gi,ne,C,at,lt=u(()=>{"use strict";bi=["a[href]","area[href]","button:not([disabled])","input:not([disabled]):not([type='hidden'])","select:not([disabled])","textarea:not([disabled])","iframe","object","embed","[contenteditable='true']","[tabindex]:not([tabindex='-1'])"].join(","),gi=t=>typeof t.checkVisibility=="function"?t.checkVisibility({checkOpacity:!1,checkVisibilityCSS:!0}):t.offsetParent!==null,ne=t=>Array.from(t.querySelectorAll(bi)).filter(e=>!e.hasAttribute("inert")&&gi(e)&&!e.matches("[aria-hidden='true']")),C=[],at=(t,e={})=>{if(typeof document>"u")return()=>{};let i={};C.push(i);let n=()=>C[C.length-1]===i,s=document.activeElement;(typeof e.initialFocus=="string"?t.querySelector(e.initialFocus):e.initialFocus??ne(t)[0]??t)?.focus({preventScroll:!0});let l=d=>{if(!n())return;if(d.key==="Escape"&&e.onEscape){e.onEscape();return}if(d.key!=="Tab")return;let c=ne(t);if(c.length===0){d.preventDefault();return}let p=c[0],m=c[c.length-1],g=document.activeElement;d.shiftKey&&g===p?(d.preventDefault(),m.focus()):!d.shiftKey&&g===m&&(d.preventDefault(),p.focus())},a=d=>{if(!n())return;let c=d.target;c&&!t.contains(c)&&ne(t)[0]?.focus({preventScroll:!0})};document.addEventListener("keydown",l,!0),document.addEventListener("focusin",a,!0);let h=!1;return()=>{if(h)return;h=!0;let d=C.indexOf(i);d!==-1&&C.splice(d,1),document.removeEventListener("keydown",l,!0),document.removeEventListener("focusin",a,!0),s&&document.contains(s)?s.focus({preventScroll:!0}):document.querySelector("[data-bs-restore-fallback]")?.focus({preventScroll:!0})}}});var I,x,dt,ct=u(()=>{"use strict";I=0,x=null,dt=()=>{if(typeof document>"u")return()=>{};if(I===0){let e=document.body;x={overflow:e.style.overflow,position:e.style.position,top:e.style.top,width:e.style.width,scrollY:window.scrollY},e.style.overflow="hidden",e.style.position="fixed",e.style.top=`-${x.scrollY}px`,e.style.width="100%"}I++;let t=!1;return()=>{if(!t&&(t=!0,I=Math.max(0,I-1),I===0&&x)){let e=document.body;e.style.overflow=x.overflow,e.style.position=x.position,e.style.top=x.top,e.style.width=x.width,window.scrollTo(0,x.scrollY),x=null}}}});function ht(t){let e=[];return{apply(){if(typeof document>"u")return;let i=t();for(;i.parentElement&&i.parentElement!==document.body;)i=i.parentElement;let n=i.parentElement??document.body;for(let s of Array.from(n.children))s!==i&&(s.hasAttribute("inert")||s.classList.contains("bs-backdrop")||s.classList.contains("bs-screen")||s.classList.contains("bs-root")||(s.setAttribute("inert",""),e.push(s)))},remove(){for(let i of e)i.removeAttribute("inert");e.length=0}}}var pt=u(()=>{"use strict"});var Y,ut=u(()=>{"use strict";lt();ct();pt();Y=class{constructor(e,i){o(this,"element");o(this,"focusTrapEnabled");o(this,"initialFocus");o(this,"closeOnEscape");o(this,"bodyScrollLockEnabled");o(this,"inertSiblingsEnabled");o(this,"inertSiblings");o(this,"shouldApplyInertSiblings");o(this,"returnFocus");o(this,"releaseFocusTrap",null);o(this,"releaseScrollLock",null);o(this,"installed",!1);o(this,"destroyed",!1);this.element=e.element,this.focusTrapEnabled=i.focusTrap??!1,this.initialFocus=i.initialFocus,this.closeOnEscape=i.closeOnEscape??!0,this.bodyScrollLockEnabled=i.lockBodyScroll??!0,this.inertSiblingsEnabled=i.inertSiblings??!1,this.shouldApplyInertSiblings=i.shouldApplyInertSiblings??(()=>!0),this.returnFocus=i.returnFocus,this.inertSiblings=ht(()=>this.element)}get isInstalled(){return this.installed}install(){this.destroyed||(this.installed=!0,this.bodyScrollLockEnabled&&!this.releaseScrollLock&&(this.releaseScrollLock=dt()),this.focusTrapEnabled&&!this.releaseFocusTrap&&(this.releaseFocusTrap=at(this.element,{initialFocus:this.initialFocus})),this.inertSiblingsEnabled&&this.shouldApplyInertSiblings()&&this.inertSiblings.apply())}setReturnFocus(e){this.destroyed||(this.returnFocus=e)}release(){this.installed&&(this.installed=!1,this.releaseFocusTrap?.(),this.releaseFocusTrap=null,this.releaseScrollLock?.(),this.releaseScrollLock=null,this.inertSiblings.remove(),this.returnFocus&&(typeof this.returnFocus=="function"?this.returnFocus():this.returnFocus)?.focus?.())}destroy(){this.release(),this.destroyed=!0}}});var mt,se,ft,bt=u(()=>{"use strict";mt=t=>t==="bottom"||t==="top",se=class{constructor(e){o(this,"slots");o(this,"capacity");o(this,"head",0);o(this,"size",0);this.capacity=e,this.slots=new Array(e);for(let i=0;i<e;i++)this.slots[i]={t:0,v:0}}push(e,i){let n=this.slots[this.head];n.t=e,n.v=i,this.head=(this.head+1)%this.capacity,this.size<this.capacity&&this.size++}pruneBefore(e,i){for(;this.size>i;){let n=(this.head-this.size+this.capacity)%this.capacity;if(this.slots[n].t<e)this.size--;else break}}get length(){return this.size}oldest(){if(this.size!==0)return this.slots[(this.head-this.size+this.capacity)%this.capacity]}newest(){if(this.size!==0)return this.slots[(this.head-1+this.capacity)%this.capacity]}reset(){this.head=0,this.size=0}},ft=(t,e,i)=>{let n=null,s="touch",r=0,l=0,a=b=>b==="mouse"?160:120,h=32,d=new se(h),c=mt(e)?"Y":"X",p=e==="bottom"||e==="right"?-1:1,m=b=>c==="Y"?b.clientY:b.clientX,g=b=>{if(n===null&&!(b.button!==void 0&&b.button!==0)){n=b.pointerId,s=b.pointerType||"touch",r=m(b),l=r,d.reset(),d.push(b.timeStamp,r);try{t.setPointerCapture(b.pointerId)}catch{}i.onStart(r,s)}},f=b=>{if(b.pointerId!==n)return;let T=m(b),k=(T-r)*p;l=T,d.push(b.timeStamp,T);let O=b.timeStamp-a(s);d.pruneBefore(O,2),i.onMove(k)},y=b=>{if(b.pointerId!==n)return;let R=(l-r)*p,k=0;if(d.length>=3){let P=d.oldest(),ue=d.newest(),me=ue.t-P.t;me>0&&(k=(ue.v-P.v)/me*p)}let O=s;n=null,d.reset();try{t.hasPointerCapture(b.pointerId)&&t.releasePointerCapture(b.pointerId)}catch{}i.onEnd(R,k,O)},S=b=>{b.pointerId===n&&(n=null,d.reset(),i.onCancel?.())};return t.addEventListener("pointerdown",g),t.addEventListener("pointermove",f),t.addEventListener("pointerup",y),t.addEventListener("pointercancel",S),t.style.touchAction=mt(e)?"pan-x":"pan-y",()=>{t.removeEventListener("pointerdown",g),t.removeEventListener("pointermove",f),t.removeEventListener("pointerup",y),t.removeEventListener("pointercancel",S),n!==null&&t.hasPointerCapture(n)&&t.releasePointerCapture(n)}}});function re(t,e){let i=Math.min(e*.15,80);if(i<=0)return 0;let n=Math.abs(t);return Math.sign(t)*(i*n/(n+i))}var gt=u(()=>{"use strict"});function vt(t){if(typeof document>"u")return!1;let e=document.activeElement;if(!e||!t.contains(e))return!1;let i=e.tagName;if(!(i==="INPUT"||i==="TEXTAREA"||e.isContentEditable===!0))return!1;try{return e.blur(),!0}catch{return!1}}var yt=u(()=>{"use strict"});var $,St=u(()=>{"use strict";bt();gt();yt();$=class{constructor(e){o(this,"deps");o(this,"detach",null);o(this,"isDragging_",!1);o(this,"dragStartSize",0);o(this,"currentPointerKind","touch");o(this,"keyboardDismissed",!1);o(this,"dragPayload",{size:0,delta:0});this.deps=e}get isDragging(){return this.isDragging_}install(){return this.detach?this.detach:(this.detach=ft(this.deps.handle,this.deps.mode,{onStart:(e,i)=>{this.deps.cancelAnimation(),this.isDragging_=!0,this.dragStartSize=this.deps.getDragContext().size,this.currentPointerKind=i,this.keyboardDismissed=!1,this.deps.getRoot()?.setAttribute("data-dragging","true"),this.deps.element.style.willChange="transform",this.deps.emit("dragstart",{size:this.dragStartSize})},onMove:e=>{let i=this.deps.getDragContext(),{min:n,max:s}=i.range,r=i.maxAxisSize,l=i.rubberBandEnabled,a=this.dragStartSize+e;a>s?a=l?s+re(a-s,r):s:a<n&&(a=l?n-re(n-a,r):n),this.deps.applySize(a),!this.keyboardDismissed&&this.currentPointerKind==="touch"&&this.deps.mode==="bottom"&&a<this.dragStartSize&&vt(this.deps.element)&&(this.keyboardDismissed=!0),this.deps.listenerCount("drag")>0&&(this.dragPayload.size=a,this.dragPayload.delta=e,this.deps.emit("drag",this.dragPayload))},onEnd:(e,i,n)=>{this.isDragging_=!1,this.keyboardDismissed=!1,this.deps.getRoot()?.removeAttribute("data-dragging"),this.deps.emit("dragend",{size:this.deps.getDragContext().size,velocity:i}),this.deps.settleAfterDrag(e,i,n)},onCancel:()=>{this.isDragging_=!1,this.keyboardDismissed=!1,this.deps.getRoot()?.removeAttribute("data-dragging"),this.deps.emit("dragend",{size:this.deps.getDragContext().size,velocity:0});let e=this.dragStartSize;this.deps.animateTo(e,0)}}),this.detach)}forceClearDragState(){this.isDragging_&&(this.isDragging_=!1,this.keyboardDismissed=!1,this.deps.getRoot()?.removeAttribute("data-dragging"),this.deps.element.style.willChange="auto")}}});var W,xt=u(()=>{"use strict";W=class{constructor(e,i){o(this,"handle",e);e.setAttribute("aria-orientation",i==="bottom"||i==="top"?"vertical":"horizontal")}setValue(e,i){if(e.length===0){this.handle.removeAttribute("aria-valuemin"),this.handle.removeAttribute("aria-valuemax"),this.handle.removeAttribute("aria-valuenow"),this.handle.removeAttribute("aria-valuetext");return}let n=Math.max(e.length-1,0),s=Math.max(e.indexOf(i),0);this.handle.setAttribute("aria-valuemin","0"),this.handle.setAttribute("aria-valuemax",String(n)),this.handle.setAttribute("aria-valuenow",String(s)),this.handle.setAttribute("aria-valuetext",i)}}});function Et(t){let e=new Map,i=n=>{let s=t.getMaxAxisSize();return s<=0?!1:n<s/2};return{cache(n,s,r){let l=t.scrollContainer;l&&(i(s)||i(r)&&e.set(n,l.scrollTop))},restore(n,s,r){let l=t.scrollContainer;if(!l||i(r)||!i(s))return;let a=e.get(n);a!==void 0&&(l.scrollTop=a,e.delete(n))},clear(){e.clear()}}}var Tt=u(()=>{"use strict"});function vi(t,e){let i={frames:null,duration:0,easing:q};if(t==="none")return i;if(t===void 0||typeof t=="string")return{frames:At[t??"fade"][e],duration:oe,easing:q};let n=e==="enter"?t.enter:t.exit;return n?{frames:n,duration:t.duration??oe,easing:t.easing??q}:t.preset==="none"?i:{frames:At[t.preset??"fade"][e],duration:t.duration??oe,easing:t.easing??q}}function w(t,e,i){if((typeof e=="object"?e.respectReducedMotion!==!1:!0)&&tt())return ae;let{frames:s,duration:r,easing:l}=vi(e,i);if(!s||r<=0||typeof t.animate!="function")return ae;let a=t.animate(s,{duration:r,easing:l,fill:"both"});return{finished:a.finished.then(()=>{}).catch(()=>{}),cancel:()=>{try{a.cancel()}catch{return}}}}var oe,q,At,ae,le=u(()=>{"use strict";V();oe=200,q="cubic-bezier(0.22, 1, 0.36, 1)",At={fade:{enter:[{opacity:0},{opacity:1}],exit:[{opacity:1},{opacity:0}]},scale:{enter:[{opacity:0,transform:"scale(0.85)"},{opacity:1,transform:"scale(1)"}],exit:[{opacity:1,transform:"scale(1)"},{opacity:0,transform:"scale(0.85)"}]},slide:{enter:[{opacity:0,transform:"translateY(10px)"},{opacity:1,transform:"translateY(0)"}],exit:[{opacity:1,transform:"translateY(0)"},{opacity:0,transform:"translateY(10px)"}]},pop:{enter:[{opacity:0,transform:"scale(0.6)",offset:0},{opacity:1,transform:"scale(1.06)",offset:.7},{opacity:1,transform:"scale(1)",offset:1}],exit:[{opacity:1,transform:"scale(1)"},{opacity:0,transform:"scale(0.6)"}]}},ae={finished:Promise.resolve(),cancel:()=>{}}});function wt(t,e){let n=t.host.ownerDocument.createElement("div");n.className="bs-anchor";let s=e.interactive??!0,r=e.position??"sheet-top-right",l=r==="dock-bottom"||r==="dock-top",a=n.style;if(a.position="fixed",l?(a.left="0",a.right="0",r==="dock-bottom"?a.bottom="0":a.top="0"):A(a,t.mode,r,e.inset??"16px"),e.fadeRange){let[f,y]=e.fadeRange,S=Math.max(y-f,1e-4);a.opacity=`clamp(0, calc((var(--bs-progress, 0) - ${f}) / ${S}), 1)`}n.appendChild(e.element),t.host.appendChild(n);let h=null,d=null,c=f=>typeof e.showOn=="function"?e.showOn(f):Array.isArray(e.showOn)?e.showOn.includes(f.activeId):l||f.size>0,p=(f,y)=>{if(f===h)return;if(h=f,d?.cancel(),d=null,n.style.pointerEvents=f&&s?"auto":"none",f){n.style.visibility="",y&&(d=w(e.element,e.animation,"enter"));return}if(!y){n.style.visibility="hidden";return}let S=w(e.element,e.animation,"exit");d=S,S.finished.then(()=>{d===S&&h===!1&&(n.style.visibility="hidden")})},m=f=>{t.isDestroyed()||p(c(t.getState()),f)},g=[t.on("snap",()=>m(!0)),t.on("open",()=>m(!0)),t.on("close",()=>m(!0))];return m(!1),{wrapper:n,detach:()=>{g.forEach(f=>f()),d?.cancel(),d=null,n.parentNode&&n.parentNode.removeChild(n)},syncZ:f=>{n.style.zIndex=String(f)}}}var zt=u(()=>{"use strict";N();le()});function Mt(t,e){let i=t.host.ownerDocument,n=e.stages.map(c=>{let p=i.createElement("div");p.className="bs-scrim-stage";let m=p.style;return m.position="absolute",A(m,t.mode,c.position??e.position??"center",c.inset??e.inset??"16px"),m.visibility="hidden",m.pointerEvents="none",p.appendChild(c.element),t.host.appendChild(p),{def:c,wrapper:p,inFlight:null}}),s=null,r=()=>{let c=t.getState();return c.size===0?n.find(p=>kt(p.def,c.activeId))??null:n.find(p=>kt(p.def,c.activeId))??n.find(p=>yi(p.def,c.progress))??null},l=(c,p)=>{if(c.inFlight?.cancel(),c.wrapper.style.pointerEvents="none",!p){c.inFlight=null,c.wrapper.style.visibility="hidden";return}let m=w(c.def.element,c.def.animation??e.animation,"exit");c.inFlight=m,m.finished.then(()=>{c.inFlight===m&&s!==c&&(c.wrapper.style.visibility="hidden")})},a=(c,p)=>{c.inFlight?.cancel(),c.inFlight=null,c.wrapper.style.visibility="",c.wrapper.style.pointerEvents=c.def.interactive??e.interactive??!1?"auto":"none",p&&(c.inFlight=w(c.def.element,c.def.animation??e.animation,"enter"))},h=c=>{if(t.isDestroyed())return;let p=r();if(p===s)return;let m=s;s=p,m&&l(m,c),p&&a(p,c)},d=[t.on("snap",()=>h(!0)),t.on("open",()=>h(!0)),t.on("close",()=>h(!0))];return n.some(c=>c.def.forRange)&&d.push(t.on("progress",()=>h(!0))),h(!1),()=>{d.forEach(c=>c());for(let c of n)c.inFlight?.cancel(),c.inFlight=null,c.wrapper.parentNode&&c.wrapper.parentNode.removeChild(c.wrapper);s=null}}var kt,yi,Ct=u(()=>{"use strict";N();le();kt=(t,e)=>t.for===void 0?!1:Array.isArray(t.for)?t.for.includes(e):t.for===e,yi=(t,e)=>{if(!t.forRange)return!1;let[i,n]=t.forRange;return e>=i&&e<=n}});function It(t,e){let i=t.allowed??t.snapPoints.map(s=>s.id),n=t.initial??i[0]??t.snapPoints[0]?.id??"default";if(t.persistKey){let s=Oe(t.persistKey);s&&i.includes(s)&&(n=s)}return{mode:t.mode??"bottom",flickVelocity:t.flickVelocity??Si,dragThreshold:t.dragThreshold??xi,rubberBandEnabled:t.rubberBand??!0,closeOnBack:t.closeOnBack??!1,initialAllowed:i,initialId:n,scrim:{scrimMode:t.scrimMode,scrimColor:t.scrimColor,scrimBlur:t.scrimBlur,scrimInteractive:t.scrimInteractive??(t.scrimTapToClose?!0:void 0),scrimTapToClose:t.scrimTapToClose,scrimPreset:t.scrimPreset,screenRange:t.screenRange,backdropRange:t.backdropRange},animation:{animation:t.animation,duration:t.duration,easing:t.easing,spring:t.spring,respectReducedMotion:t.respectReducedMotion,viewTransitions:t.viewTransitions},lifecycle:{focusTrap:t.focusTrap,initialFocus:t.initialFocus,closeOnEscape:t.closeOnEscape,lockBodyScroll:t.lockBodyScroll,inertSiblings:t.inertSiblings,shouldApplyInertSiblings:e?.shouldApplyInertSiblings}}}var Si,xi,Rt=u(()=>{"use strict";ee();Si=.65,xi=18});var Ei,de,G,Ot=u(()=>{"use strict";be();ve();Se();Ee();H();Re();ee();Le();He();_e();Ne();Ve();Ye();We();Ze();ot();ut();St();xt();Tt();zt();Ct();Rt();ie();Ei=8,de=class{constructor(){o(this,"fns",[])}add(e){e&&this.fns.push(e)}drain(){for(;this.fns.length;)try{this.fns.pop()()}catch(e){queueMicrotask(()=>{throw e})}}},G=class{constructor(e){o(this,"id",ye("bs"));o(this,"element");o(this,"handle");o(this,"scrollContainer");o(this,"backdrop");o(this,"screenComponent");o(this,"scrimParent",null);o(this,"mode");o(this,"flickVelocity");o(this,"dragThreshold");o(this,"rubberBandEnabled");o(this,"scrim");o(this,"aria");o(this,"animation");o(this,"lifecycle");o(this,"closeOnBack");o(this,"routedTo");o(this,"snapPointsRaw");o(this,"snaps");o(this,"activeId");o(this,"size",0);o(this,"gesture");o(this,"rootEl",null);o(this,"destroyed",!1);o(this,"currentViewTransition",null);o(this,"currentAbort",new AbortController);o(this,"sizeWriteSentinel",new E);o(this,"progressWriteSentinel",new E);o(this,"isTopSheet",!0);o(this,"progressPayload",{value:0,size:0});o(this,"dragContextBuf",{size:0,maxAxisSize:0,range:{min:0,max:0},rubberBandEnabled:!1});o(this,"bus",xe());o(this,"persistKey");o(this,"linkedSheets",[]);o(this,"scrollCache");o(this,"teardowns",new de);o(this,"anchors",[]);o(this,"anchorHost",null);o(this,"stackZ",100);o(this,"detachScrimStages",null);o(this,"stackEffectEnabled",!1);o(this,"stackEffectPrimed",!1);o(this,"transformTemplate");let i=It(e,{shouldApplyInertSiblings:()=>typeof document>"u"?!1:Array.from(document.body.children).some(r=>r===e.element||r.contains(e.element))});this.element=e.element,this.handle=e.handle??e.element,this.scrollContainer=e.scrollContainer,this.backdrop=e.backdrop,this.screenComponent=e.scrim??e.screenComponent,this.scrimParent=this.screenComponent?.parentElement??null,this.mode=i.mode,this.transformTemplate=ge(this.mode),this.aria=new W(this.handle,this.mode),this.flickVelocity=i.flickVelocity,this.dragThreshold=i.dragThreshold,this.rubberBandEnabled=i.rubberBandEnabled,this.scrim=new K({mode:this.mode,screenComponent:this.screenComponent,backdrop:this.backdrop,isDestroyed:()=>this.destroyed,isTopSheet:()=>this.isTopSheet,getAllowedIds:()=>this.snaps.getAllowedIds().slice(),getResolvedSnaps:()=>this.snaps.getResolvedSnaps().slice(),snapTo:s=>{this.snapTo(s)},close:()=>{this.close()}},i.scrim),this.animation=new U({element:this.element,getRootEl:()=>this.rootEl,applySize:s=>this.applySize(s),getSize:()=>this.size,isDragging:()=>this.gesture?.isDragging??!1},i.animation),this.lifecycle=new Y({element:this.element,close:()=>this.close()},i.lifecycle),this.closeOnBack=i.closeOnBack,this.routedTo=e.routedTo,this.stackEffectEnabled=e.stackEffect??!1,this.snapPointsRaw=e.snapPoints,this.persistKey=e.persistKey,e.linkedSheets&&(this.linkedSheets=e.linkedSheets),this.activeId=i.initialId,J(this.snapPointsRaw),this.rootEl=this.element.closest(".bs-root"),this.snaps=new B(this.snapPointsRaw,i.initialAllowed,this.mode,()=>X(this.mode)==="width"?this.handle.offsetWidth:this.handle.offsetHeight,s=>{this.element.style[X(this.mode)]=`${s}px`});let n=this.snaps.findById(this.activeId);if(n&&(this.size=n.size),this.applySize(this.size),this.updateAriaSlider(),this.scrollCache=Et({scrollContainer:this.scrollContainer,getMaxAxisSize:()=>this.snaps.getMaxAxisSize()}),this.attach(),this.registerInStack(),this.snaps.getMaxAxisSize()===0&&typeof IntersectionObserver<"u"&&typeof document<"u"){let s=new IntersectionObserver(r=>{for(let l of r){if(!l.isIntersecting)continue;if(this.destroyed)return;this.snaps.recompute();let a=this.snaps.findById(this.activeId);a&&(this.size=a.size,this.applySize(this.size),this.updateAriaSlider()),s.disconnect();return}});s.observe(this.element),this.teardowns.add(()=>s.disconnect())}this.persistKey&&this.teardowns.add(Pe(this,this.persistKey)),this.teardowns.add(De({ms:e.autoCollapseAfter,isDestroyed:()=>this.destroyed,isDragging:()=>this.gesture?.isDragging??!1,getAllowedIds:()=>this.snaps.getAllowedIds().slice(),getActiveId:()=>this.activeId,resolveSnap:s=>this.snaps.findById(s),snapTo:s=>{this.snapTo(s)},on:(s,r)=>this.on(s,r)})),this.teardowns.add(Be({routedTo:this.routedTo,closeOnBack:this.closeOnBack,isTopSheet:()=>this.isTopSheet,getSize:()=>this.size,isDestroyed:()=>this.destroyed,close:()=>this.close(),on:(s,r)=>this.on(s,r),sheetId:this.id})),this.size>0&&this.handleOpen()}get state(){return{size:this.size,activeId:this.activeId,isDragging:this.gesture?.isDragging??!1,isAnimating:this.animation.isAnimating,progress:this.computeProgress(this.size)}}on(e,i){return this.bus.on(e,i)}use(e){if(this.destroyed)return console.warn(`[BottomSheet] use("${e.name}") called on destroyed engine \u2014 ignored.`),this;let i=[],n={add:r=>{typeof r=="function"&&i.push(r)}},s;try{s=e.install(this,n)}catch(r){for(let l=i.length-1;l>=0;l--)try{i[l]()}catch(a){queueMicrotask(()=>{throw a})}return queueMicrotask(()=>{throw r}),this}for(let r of i)this.teardowns.add(r);return typeof s=="function"&&this.teardowns.add(s),this}setLinkedSheets(e){this.destroyed||(this.linkedSheets=e)}getAllowedIds(){return this.snaps.getAllowedIds().slice()}async snapTo(e,i=0,n=!1){if(this.destroyed)return;let s=typeof i=="object"?i:{velocity:i},r=s.velocity??0,l=s.signal;if(l?.aborted)return;let a=this.snaps.findById(e);if(!a){console.warn(`[BottomSheet] unknown snap id: ${e}`);return}if(!this.snaps.getAllowedIds().includes(e)){console.warn(`[BottomSheet] snap "${e}" is not in allowed list`);return}if(!n&&this.emitBeforeSnap(a,this.activeId))return;let h=this.newCycle(),d=()=>{this.animation.cancel(),this.newCycle()};l?.addEventListener("abort",d,{once:!0});let c=this.size===0,p=this.activeId,m=this.size;if(this.scrollCache.cache(p,m,a.size),this.activeId=e,this.animation.viewTransitionsAvailable){this.currentViewTransition?.skipTransition?.();let g=document.startViewTransition(()=>{this.applySize(a.size)});this.currentViewTransition=g;try{await g.finished}catch{}this.currentViewTransition===g&&(this.currentViewTransition=null)}else await this.animation.animateTo(a.size,r);l?.removeEventListener("abort",d),!h.aborted&&(this.scrollCache.restore(e,m,a.size),this.updateAriaSlider(),this.emit("snap",{id:e,size:a.size}),c&&a.size>0&&(this.emit("open",{id:e}),this.handleOpen(),_(this.linkedSheets,this)),a.size===0&&(this.emit("close",void 0),this.handleClose()))}async dragTo(e,i=0){if(this.destroyed)return;let n=typeof i=="object"?i:{velocity:i},s=n.velocity??0,r=n.signal;if(r?.aborted)return;this.newCycle();let l=()=>{this.animation.cancel(),this.newCycle()};r?.addEventListener("abort",l,{once:!0});let a=Math.max(0,Math.min(e,this.snaps.getMaxAxisSize()));await this.animation.animateTo(a,s),r?.removeEventListener("abort",l),this.destroyed||r?.aborted}open(e){if(this.destroyed)return Promise.resolve();let i=e??this.snaps.getAllowedIds().find(n=>n!=="closed")??this.activeId;return this.snapTo(i)}close(){if(this.destroyed)return Promise.resolve();let e=this.snapPointsRaw.find(i=>i.id==="closed")?.id??this.snaps.getAllowedIds()[0];return this.snapTo(e??this.activeId)}setAllowed(e,i){if(!this.destroyed){if(this.snaps.setAllowedIds(e),this.updateAriaSlider(),i&&e.includes(i))this.snapTo(i,0,!0);else if(!e.includes(this.activeId)){let n=e[0];n&&this.snapTo(n,0,!0)}}}setBackdropRange(e){this.scrim.setBackdropRange(e,()=>this.applySize(this.size))}setScreenRange(e){this.scrim.setScreenRange(e,()=>this.applySize(this.size))}setScrimColor(e){this.scrim.setScrimColor(e)}setScrimBlur(e){this.scrim.setScrimBlur(e)}setScrimInteractive(e){this.scrim.setScrimInteractive(e)}setScrim(e){this.scrim.setScrim(e,()=>this.applySize(this.size))}setScrimMode(e){this.scrim.setScrimMode(e,()=>this.applySize(this.size))}setScrimTapToClose(e){this.scrim.setScrimTapToClose(e)}setScrimEnabled(e){this.scrim.setScrimEnabled(e,()=>this.applySize(this.size))}setScrimOverlay(e){return this.scrim.setScrimOverlay(e)}addAnchor(e){if(this.destroyed||typeof document>"u")return()=>{};this.anchorHost||(this.anchorHost=this.rootEl??this.element.parentElement??document.body,this.anchorHost.style.setProperty("--bs-size",`${this.size}px`),this.anchorHost.style.setProperty("--bs-progress",String(this.computeProgress(this.size))));let i=wt({mode:this.mode,host:this.anchorHost,getState:()=>({activeId:this.activeId,size:this.size,progress:this.computeProgress(this.size)}),on:(s,r)=>this.on(s,r),isDestroyed:()=>this.destroyed},e);i.syncZ(this.stackZ+1),this.anchors.push(i);let n=()=>{let s=this.anchors.indexOf(i);s!==-1&&(this.anchors.splice(s,1),i.detach())};return this.teardowns.add(n),n}setScrimStages(e){if(this.destroyed||typeof document>"u")return()=>{};if(this.detachScrimStages?.(),this.detachScrimStages=null,!e)return()=>{};let i=this.screenComponent?.parentElement;if(!i)return console.warn("[BottomSheet] setScrimStages: no scrim element mounted \u2014 pass `scrim` to the engine first."),()=>{};let n=Mt({mode:this.mode,host:i,getState:()=>({activeId:this.activeId,size:this.size,progress:this.computeProgress(this.size)}),on:(r,l)=>this.on(r,l),isDestroyed:()=>this.destroyed},e),s=()=>{this.detachScrimStages===s&&(this.detachScrimStages=null),n()};return this.detachScrimStages=s,this.teardowns.add(()=>this.detachScrimStages?.()),s}getScrimState(){return{mode:this.scrim.scrimMode,enabled:this.scrim.scrimEnabled}}setSnapPoints(e,i){if(this.destroyed)return;this.animation.cancel(),this.newCycle(),this.snapPointsRaw=e,J(e),this.snaps.setRaw(e),i&&this.snaps.setAllowedIds(i),this.scrollCache.clear(),this.scrim.invalidateOpacityCache();let n=this.snaps.findById(this.activeId);n&&this.applySize(n.size),this.updateAriaSlider()}destroy(){this.destroyed=!0,this.currentAbort.abort(),this.currentViewTransition?.skipTransition?.(),this.currentViewTransition=null,this.bus.clear(),this.animation.cancel(),this.gesture?.forceClearDragState(),this.teardowns.drain(),this.scrim.destroy(),this.animation.destroy(),this.lifecycle.destroy(),this.backdrop&&(this.backdrop.style.opacity="",this.backdrop.style.pointerEvents=""),this.screenComponent&&(this.screenComponent.style.opacity="",this.screenComponent.style.display=""),this.sizeWriteSentinel.invalidate(),this.progressWriteSentinel.invalidate()}emit(e,i){this.bus.emit(e,i)}newCycle(){return this.currentAbort.abort(),this.currentAbort=new AbortController,this.currentAbort.signal}emitBeforeSnap(e,i){let n=!1,s=!1;return this.emit("before-snap",{id:e.id,size:e.size,previousId:i,cancel:()=>{if(s){console.warn("[BottomSheet] before-snap.cancel() called asynchronously \u2014 ignored. cancel() must be invoked synchronously inside the listener.");return}n=!0}}),s=!0,n}recomputeSnaps(){let e=new Set;for(let i of this.snapPointsRaw)e.has(i.id)&&console.warn(`[BottomSheet] duplicate snap id "${i.id}" \u2014 only the first occurrence is reachable.`),e.add(i.id);this.snaps.setRaw(this.snapPointsRaw),this.scrim.invalidateOpacityCache()}getAllowedRange(){return this.snaps.getAllowedRange()}allowedIdsBySize(){return this.snaps.getAllowedIds().slice().sort((e,i)=>(this.snaps.findById(e)?.size??0)-(this.snaps.findById(i)?.size??0))}updateAriaSlider(){this.aria.setValue(this.allowedIdsBySize(),this.activeId)}registerInStack(){this.teardowns.add(L.push({id:this.id,setZIndex:e=>{this.stackZ=e,this.element.style.zIndex=String(e),this.backdrop&&(this.backdrop.style.zIndex=String(e-1));for(let i of this.anchors)i.syncZ(e+1)},setIsTop:e=>{this.isTopSheet=e,this.backdrop&&(this.backdrop.style.display=e?"":"none")},isOpen:()=>this.size>0,setDepth:e=>this.applyStackDepth(e)}))}applyStackDepth(e){if(!this.stackEffectEnabled)return;if(this.element.setAttribute("data-stack-depth",String(e)),!this.stackEffectPrimed){this.stackEffectPrimed=!0;let n=this.mode==="bottom"||this.mode==="top";this.element.style.transformOrigin=n?"50% 100%":"0% 50%",this.element.style.transition="scale 320ms cubic-bezier(0.29, 1.04, 0.84, 0.99)"}let i=Math.max(1-e*.04,.86);this.element.style.scale=i===1?"":String(i)}attach(){this.gesture=new $({handle:this.handle,element:this.element,mode:this.mode,getRoot:()=>this.rootEl,getDragContext:()=>{let e=this.dragContextBuf,i=this.getAllowedRange();return e.size=this.size,e.maxAxisSize=this.snaps.getMaxAxisSize(),e.range.min=i.min,e.range.max=i.max,e.rubberBandEnabled=this.rubberBandEnabled,e},cancelAnimation:()=>this.animation.cancel(),applySize:e=>this.applySize(e),animateTo:(e,i)=>this.animation.animateTo(e,i),settleAfterDrag:(e,i,n)=>this.settleAfterDrag(e,i,n),emit:(e,i)=>this.emit(e,i),listenerCount:e=>this.bus.listenerCount(e)}),this.teardowns.add(this.gesture.install());try{this.attachFeatures()}catch(e){this.teardowns.drain();try{this.scrim.destroy()}catch(i){queueMicrotask(()=>{throw i})}try{this.animation.destroy()}catch(i){queueMicrotask(()=>{throw i})}try{this.lifecycle.destroy()}catch(i){queueMicrotask(()=>{throw i})}throw this.destroyed=!0,e}}attachFeatures(){if(this.scrollContainer&&this.teardowns.add(Fe({container:this.scrollContainer,isDragging:()=>this.gesture?.isDragging??!1,isAnimating:()=>this.animation.isAnimating,getAllowedIds:()=>this.allowedIdsBySize(),getActiveId:()=>this.activeId,snapTo:e=>{this.snapTo(e)}})),typeof window<"u"){if(this.teardowns.add(Ue({element:this.element,getMode:()=>this.mode,isDestroyed:()=>this.destroyed,isDragging:()=>this.gesture?.isDragging??!1,resolveActiveSnap:()=>this.snaps.findById(this.activeId),getMaxAxisSize:()=>this.snaps.getMaxAxisSize(),getSize:()=>this.size,setMaxAxisSize:e=>{this.snaps.setMaxAxisSize(e)},setSize:e=>{this.size=e},recomputeSnaps:()=>this.recomputeSnaps(),applySize:e=>this.applySize(e),cancelInFlight:()=>{this.animation.cancel()},newCycle:()=>{this.newCycle()},isAnimating:()=>this.animation.isAnimating,resyncAfterCancel:()=>this.resyncAfterResize()})),this.lifecycle.closeOnEscape){let e=i=>{this.destroyed||i.defaultPrevented||i.key==="Escape"&&this.isTopSheet&&this.size>0&&this.close()};document.addEventListener("keydown",e),this.teardowns.add(()=>document.removeEventListener("keydown",e))}this.teardowns.add(Ke({element:this.element,isVerticalAxis:()=>this.mode==="bottom"||this.mode==="top",isDestroyed:()=>this.destroyed,isDragging:()=>this.gesture?.isDragging??!1,recomputeSnaps:()=>this.recomputeSnaps(),resolveActiveSnap:()=>this.snaps.findById(this.activeId),getMaxAxisSize:()=>this.snaps.getMaxAxisSize(),getSize:()=>this.size,setMaxAxisSize:e=>{this.snaps.setMaxAxisSize(e)},setSize:e=>{this.size=e},applySize:e=>this.applySize(e)}))}this.teardowns.add($e({handle:this.handle,mode:this.mode,isDestroyed:()=>this.destroyed,getAllowedIds:()=>this.allowedIdsBySize(),getActiveId:()=>this.activeId,snapTo:e=>{this.snapTo(e)}})),this.scrim.attach()}settleAfterDrag(e,i,n="touch"){let s=this.newCycle(),r=this.snaps.findDragSettleTarget({delta:e,velocity:i,pointerKind:n,size:this.size,activeId:this.activeId,flickVelocity:this.flickVelocity,dragThreshold:this.dragThreshold});if(!r)return;let l=this.activeId;if(r.id===l&&r.size===this.size)return;if(this.emitBeforeSnap(r,l)){let d=this.snaps.findById(l);d&&this.animation.animateTo(d.size,0);return}let a=this.size,h=this.snaps.findById(l)?.size;this.scrollCache.cache(l,a,r.size),this.activeId=r.id,this.animation.animateTo(r.size,i).then(()=>{s.aborted||(this.scrollCache.restore(r.id,a,r.size),this.updateAriaSlider(),this.emit("snap",{id:r.id,size:r.size}),this.haptic(),h===0&&r.size>0&&(this.emit("open",{id:r.id}),this.handleOpen(),_(this.linkedSheets,this)),r.size===0&&(this.emit("close",void 0),this.handleClose()))})}haptic(){if(typeof navigator<"u"&&"vibrate"in navigator)try{navigator.vibrate(Ei)}catch{}}applySize(e){this.size=e;let i=this.snaps.getMaxAxisSize()-e,n=this.element.style;n.transform=this.transformTemplate(i),this.sizeWriteSentinel.shouldWrite(e,.5)&&(n.setProperty("--bs-size",`${e}px`),this.scrimParent&&this.scrimParent.style.setProperty("--bs-size",`${e}px`),this.anchorHost&&this.anchorHost!==this.scrimParent&&this.anchorHost.style.setProperty("--bs-size",`${e}px`));let s=this.computeProgress(e),r=this.progressWriteSentinel.shouldWrite(s,.005);r&&(n.setProperty("--bs-progress",String(s)),this.anchorHost&&this.anchorHost.style.setProperty("--bs-progress",String(s))),this.scrim.applyOpacity(s,r),r&&this.bus.listenerCount("progress")>0&&(this.progressPayload.value=s,this.progressPayload.size=e,this.emit("progress",this.progressPayload))}computeProgress(e){let{min:i,max:n}=this.getAllowedRange();return n<=i?0:Math.min(Math.max((e-i)/(n-i),0),1)}handleOpen(){L.promote(this.id);try{this.lifecycle.install()}catch(e){this.destroyed||this.newCycle(),this.handleClose(),this.applySize(0),this.activeId=this.snapPointsRaw.find(i=>i.id==="closed")?.id??this.activeId,this.size=0,queueMicrotask(()=>{throw e})}}resyncAfterResize(){if(this.destroyed)return;let e=this.snaps.findById(this.activeId);e&&(this.updateAriaSlider(),this.emit("snap",{id:e.id,size:e.size}),e.size>0&&!this.lifecycle.isInstalled?(this.emit("open",{id:e.id}),this.handleOpen(),_(this.linkedSheets,this)):e.size===0&&this.lifecycle.isInstalled&&(this.emit("close",void 0),this.handleClose()))}handleClose(){this.lifecycle.release(),L.update()}}});var Pt,Dt=u(()=>{"use strict";Pt=':where(.bs-root){--bs-surface:#ffffff;--bs-surface-border:rgba(225,227,237,1);--bs-radius:20px;--bs-handle-color:#b5b3a8;--bs-handle-width:40px;--bs-handle-height:5px;--bs-z-backdrop:90;--bs-z-sheet:100;--bs-header-min-height:80px;--bs-backdrop-color:rgba(0,0,0,0.5);--bs-scrim-color:rgba(0,0,0,0.4);--bs-scrim-blur:0px;--bs-z-scrim:calc(var(--bs-z-sheet) - 1);--bs-size:0px;--bs-progress:0}.bs-backdrop{position:fixed;inset:0;background:var(--bs-backdrop-color);opacity:0;pointer-events:none;z-index:var(--bs-z-backdrop);transition:opacity 0.15s linear;will-change:opacity}.bs-root[data-dragging="true"] .bs-backdrop,.bs-root[data-animating="true"] .bs-backdrop{transition:none}.bs-sheet{position:fixed;background:var(--bs-surface);box-shadow:var(--bs-shadow,var(--bs-shadow-auto,none));z-index:var(--bs-z-sheet);overflow:hidden;display:flex;flex-direction:column;-webkit-tap-highlight-color:transparent;user-select:none;overscroll-behavior:contain}.bs-sheet[data-mode="bottom"]{left:0;right:0;bottom:0;width:100%;border-top-left-radius:var(--bs-radius);border-top-right-radius:var(--bs-radius);border-top:1px solid var(--bs-surface-border);padding-bottom:env(safe-area-inset-bottom);--bs-shadow-auto:0 calc(var(--bs-progress,0) * -2px - 3px) calc(var(--bs-progress,0) * 18px + 12px) rgba(0,0,0,calc(var(--bs-progress,0) * 0.15 + 0.12))}.bs-sheet[data-mode="top"]{left:0;right:0;top:0;width:100%;border-bottom-left-radius:var(--bs-radius);border-bottom-right-radius:var(--bs-radius);border-bottom:1px solid var(--bs-surface-border);flex-direction:column-reverse;--bs-shadow-auto:0 3px 12px rgba(0,0,0,0.12);padding-top:env(safe-area-inset-top)}.bs-sheet[data-mode="left"]{top:0;bottom:0;left:0;height:100%;border-top-right-radius:var(--bs-radius);border-bottom-right-radius:var(--bs-radius);border-right:1px solid var(--bs-surface-border);--bs-shadow-auto:3px 0 12px rgba(0,0,0,0.12)}.bs-sheet[data-mode="right"]{top:0;bottom:0;right:0;height:100%;border-top-left-radius:var(--bs-radius);border-bottom-left-radius:var(--bs-radius);border-left:1px solid var(--bs-surface-border);--bs-shadow-auto:-3px 0 12px rgba(0,0,0,0.12)}.bs-sheet[data-mode="left"] .bs-content{padding-right:36px}.bs-sheet[data-mode="right"] .bs-content{padding-left:36px}.bs-handle{flex-shrink:0;min-height:44px;display:flex;flex-direction:column;justify-content:center;padding:8px 16px 4px;cursor:grab;touch-action:none;user-select:none;background:var(--bs-surface);-webkit-tap-highlight-color:transparent;outline:none;position:relative}.bs-handle:active{cursor:grabbing}.bs-handle:focus-visible{outline:2px solid currentColor;outline-offset:-2px;border-radius:var(--bs-radius)}.bs-handle::before{content:"";display:block;width:var(--bs-handle-width);height:var(--bs-handle-height);background:var(--bs-handle-color);border-radius:calc(var(--bs-handle-height) / 2);margin:0 auto 8px;transition:width 0.15s ease,background 0.15s ease,transform 0.15s ease;pointer-events:none}.bs-sheet[data-mode="left"] .bs-handle,.bs-sheet[data-mode="right"] .bs-handle{position:absolute;top:0;bottom:0;width:28px;min-width:0;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0;background:var(--bs-surface);z-index:1;overflow:hidden}.bs-sheet[data-mode="left"] .bs-handle>*,.bs-sheet[data-mode="right"] .bs-handle>*{display:none}.bs-sheet[data-mode="left"] .bs-handle{right:0;border-left:1px solid var(--bs-surface-border)}.bs-sheet[data-mode="right"] .bs-handle{left:0;border-right:1px solid var(--bs-surface-border)}.bs-sheet[data-mode="left"] .bs-handle::before,.bs-sheet[data-mode="right"] .bs-handle::before{width:var(--bs-handle-height);height:var(--bs-handle-width);margin:0}.bs-sheet:hover .bs-handle::before{background:color-mix(in oklab,var(--bs-handle-color),#000 15%)}.bs-handle:active::before{background:color-mix(in oklab,var(--bs-handle-color),#000 35%);transform:scaleX(1.15)}.bs-handle.bs-handle--ticks::after{content:"";display:block;position:absolute;left:50%;bottom:6px;transform:translateX(-50%);width:calc(var(--bs-handle-width) * 2);height:3px;background-image:radial-gradient( circle,var(--bs-handle-color) 0 1.5px,transparent 1.6px );background-size:8px 3px;background-repeat:repeat-x;background-position:center;opacity:0;transition:opacity 0.18s ease-out;pointer-events:none}.bs-root[data-dragging="true"] .bs-handle.bs-handle--ticks::after{opacity:0.4}.bs-sheet[data-mode="top"] .bs-handle.bs-handle--ticks::after{bottom:auto;top:6px}.bs-sheet[data-mode="left"] .bs-handle.bs-handle--ticks::after,.bs-sheet[data-mode="right"] .bs-handle.bs-handle--ticks::after{left:50%;top:50%;bottom:auto;transform:translate(-50%,-50%);width:3px;height:calc(var(--bs-handle-width) * 2);background-size:3px 8px;background-repeat:repeat-y;margin-left:calc(var(--bs-handle-height) + 6px)}.bs-sheet[data-mode="right"] .bs-handle.bs-handle--ticks::after{margin-left:calc(-1 * (var(--bs-handle-height) + 6px))}.bs-content{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;user-select:text;padding:0 16px 16px}.bs-screen{position:absolute;inset:0;pointer-events:none;z-index:var(--bs-z-scrim)}.bs-scrim-overlay{z-index:calc(var(--bs-z-sheet) + 1);pointer-events:none}.bs-scrim{background:var(--bs-scrim-color);transition:opacity 0.15s linear;will-change:opacity}.bs-root[data-dragging="true"] .bs-scrim,.bs-root[data-animating="true"] .bs-scrim{transition:none}.bs-scrim{backdrop-filter:blur(var(--bs-scrim-blur));-webkit-backdrop-filter:blur(var(--bs-scrim-blur))}.bs-button-slot{position:absolute;z-index:calc(var(--bs-z-sheet) + 1);pointer-events:auto}.bs-button-slot[data-side="left"]{left:16px;bottom:calc(var(--bs-size,0px) + 12px);transition:bottom 0.15s ease}.bs-button-slot[data-side="right"]{right:16px;bottom:calc(var(--bs-size,0px) + 12px);transition:bottom 0.15s ease}@media (prefers-reduced-motion:reduce){.bs-backdrop,.bs-handle::before,.bs-button-slot[data-side="left"],.bs-button-slot[data-side="right"]{transition:none !important}}@media (prefers-color-scheme:dark){:where(.bs-root){--bs-surface:#1a1a1d;--bs-surface-border:rgba(255,255,255,0.08);--bs-handle-color:rgba(255,255,255,0.45);--bs-shadow-auto:0 -3px 16px rgba(0,0,0,0.5)}}.bs-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:where(.ovl-root){--ovl-surface:var(--bs-surface,#ffffff);--ovl-surface-border:var(--bs-surface-border,rgba(0,0,0,0.08));--ovl-shadow:0 -8px 40px rgba(0,0,0,0.35);--ovl-radius:var(--bs-radius,20px);--ovl-backdrop-color:rgba(0,0,0,0.5);--ovl-z-backdrop:200;--ovl-z-panel:201}.ovl-backdrop{position:fixed;inset:0;background:var(--ovl-backdrop-color);opacity:0;pointer-events:none;z-index:var(--ovl-z-backdrop)}.ovl-panel{position:fixed;background:var(--ovl-surface);box-shadow:var(--ovl-shadow);z-index:var(--ovl-z-panel);-webkit-tap-highlight-color:transparent;outline:none;transition:transform 0.32s cubic-bezier(0.29,1.24,0.84,0.99),opacity 0.32s ease-out}.ovl-panel[data-state="open"]{transform:translate3d(0,0,0);opacity:1}@starting-style{.ovl-panel[data-edge="bottom"][data-state="open"]{transform:translate3d(0,100%,0);opacity:0}.ovl-panel[data-edge="top"][data-state="open"]{transform:translate3d(0,-100%,0);opacity:0}.ovl-panel[data-edge="left"][data-state="open"]{transform:translate3d(-100%,0,0);opacity:0}.ovl-panel[data-edge="right"][data-state="open"]{transform:translate3d(100%,0,0);opacity:0}}.ovl-panel[data-edge="bottom"]{left:0;right:0;bottom:0;width:100%;border-top-left-radius:var(--ovl-radius);border-top-right-radius:var(--ovl-radius);border-top:1px solid var(--ovl-surface-border);padding-bottom:env(safe-area-inset-bottom)}.ovl-panel[data-edge="top"]{left:0;right:0;top:0;width:100%;border-bottom-left-radius:var(--ovl-radius);border-bottom-right-radius:var(--ovl-radius);border-bottom:1px solid var(--ovl-surface-border);padding-top:env(safe-area-inset-top)}.ovl-panel[data-edge="left"]{top:0;bottom:0;left:0;height:100%;border-top-right-radius:var(--ovl-radius);border-bottom-right-radius:var(--ovl-radius);border-right:1px solid var(--ovl-surface-border)}.ovl-panel[data-edge="right"]{top:0;bottom:0;right:0;height:100%;border-top-left-radius:var(--ovl-radius);border-bottom-left-radius:var(--ovl-radius);border-left:1px solid var(--ovl-surface-border)}@media (prefers-reduced-motion:reduce){.ovl-panel,.ovl-backdrop{transition:none !important}}'});var qt={};fe(qt,{BottomSheetElement:()=>z,defineBottomSheet:()=>he});var Lt,Ht,Bt,_t,Ft,Ti,Nt,Kt,Vt,Ut,Yt,$t,Ai,Wt,wi,zi,ki,Mi,Ci,ce,Ii,Ri,Oi,j,Pi,Di,z,he,pe=u(()=>{"use strict";Ot();Dt();Lt="snap-points",Ht="allowed",Bt="initial",_t="mode",Ft="backdrop",Ti="stylesheet",Nt="animation",Kt="focus-trap",Vt="close-on-escape",Ut="lock-body-scroll",Yt="sheet-label",$t="stack-effect",Ai=t=>!!t&&typeof t=="object"&&typeof t.id=="string"&&(typeof t.size=="number"||typeof t.size=="string"),Wt=[{id:"full",size:"full"}],wi=t=>{if(!t)return Wt;try{let e=JSON.parse(t);if(Array.isArray(e)&&e.length>0&&e.every(Ai))return e;if(Array.isArray(e))return Wt}catch{}return t.split(",").map(e=>e.trim()).filter(Boolean).map(e=>{let[i,n]=e.split(":").map(l=>l.trim()),s=Number(n),r=Number.isFinite(s)?s:n;return{id:i??"default",size:r}})},zi=["bottom","top","left","right"],ki=["spring","tween","ios-spring","material-bounce","linear","snappy"],Mi=t=>t&&zi.includes(t)?t:"bottom",Ci=t=>t&&ki.includes(t)?t:void 0,ce=t=>t?t.split(",").map(e=>e.trim()).filter(Boolean):void 0,Ii=["top-left","top-center","top-right","center-left","center","center-right","bottom-left","bottom-center","bottom-right","sheet-top-left","sheet-top-center","sheet-top-right","dock-bottom","dock-top"],Ri=["fade","scale","slide","pop","none"],Oi=t=>{let e=t.getAttribute("data-position"),i=t.getAttribute("data-animation"),n=ce(t.getAttribute("data-show-on")),s=ce(t.getAttribute("data-fade-range")),r=s?.length===2&&s.every(l=>Number.isFinite(Number(l)))?[Number(s[0]),Number(s[1])]:void 0;return{position:e&&Ii.includes(e)?e:void 0,inset:t.getAttribute("data-inset")??void 0,showOn:n,fadeRange:r,interactive:t.getAttribute("data-interactive")!=="false",animation:i&&Ri.includes(i)?i:void 0}},j=t=>{let e=document.createElement("slot");return e.name=t,e},Pi=()=>{let t=document.createElement("div");t.className="bs-root";let e=document.createElement("div");e.className="bs-backdrop",e.setAttribute("part","backdrop");let i=document.createElement("div");i.className="bs-screen",i.setAttribute("part","screen"),i.appendChild(j("screen"));let n=document.createElement("section");n.className="bs-sheet",n.setAttribute("part","sheet"),n.setAttribute("role","dialog"),n.setAttribute("aria-modal","false");let s=document.createElement("div");s.className="bs-button-slot",s.setAttribute("data-side","left"),s.setAttribute("part","left-button"),s.appendChild(j("leftButton"));let r=document.createElement("div");r.className="bs-button-slot",r.setAttribute("data-side","right"),r.setAttribute("part","right-button"),r.appendChild(j("rightButton"));let l=document.createElement("div");l.className="bs-handle",l.setAttribute("part","handle"),l.setAttribute("role","slider"),l.setAttribute("tabindex","0"),l.setAttribute("aria-label","Resize sheet"),l.appendChild(j("header"));let a=document.createElement("div");a.className="bs-content",a.setAttribute("part","content"),a.setAttribute("tabindex","0"),a.setAttribute("role","region"),a.setAttribute("aria-label","Sheet content");let h=document.createElement("slot");a.appendChild(h);let d=document.createElement("span");d.className="bs-sr-announce",d.setAttribute("role","status"),d.setAttribute("aria-live","polite"),d.setAttribute("aria-atomic","true"),d.style.cssText="position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);",n.append(s,r,l,a),t.append(e,i,n,d);let c=document.createDocumentFragment();return c.appendChild(t),{fragment:c,refs:{sheet:n,handle:l,content:a,backdrop:e,screen:i,leftButton:s,rightButton:r,announcer:d}}},Di=typeof HTMLElement<"u"?HTMLElement:class{},z=class extends Di{constructor(){super();o(this,"engine",null);o(this,"root");o(this,"offHandlers",[]);o(this,"refs");o(this,"backdropClickHandler",null);o(this,"stylesheetLinked",!1);o(this,"declarativeAnchors",[]);this.root=this.attachShadow({mode:"open"});let i=document.createElement("style");i.textContent=Pt,this.root.appendChild(i);let n=document.createElement("style");n.textContent=[":host { display: contents; }",".bs-handle:focus-visible {"," outline: 2px solid currentColor;"," outline-offset: -2px;"," border-radius: var(--bs-radius, 20px);","}","@media (forced-colors: active) {"," .bs-handle:focus-visible { outline: 2px solid CanvasText; }","}"].join(`
|
|
2
|
+
`),this.root.appendChild(n);let{fragment:s,refs:r}=Pi();this.refs=r,this.root.appendChild(s)}static get observedAttributes(){return[Lt,Ht,Bt,_t,Ft,Nt,Kt,Vt,Ut,Yt,$t]}connectedCallback(){if(!this.stylesheetLinked){this.stylesheetLinked=!0;let i=this.getAttribute(Ti);if(i){let n=document.createElement("link");n.rel="stylesheet",n.href=i,this.root.appendChild(n)}}this.initEngine()}disconnectedCallback(){this.teardownEngine()}attributeChangedCallback(){this.engine&&(this.teardownEngine(),this.initEngine())}getEngine(){return this.engine}teardownEngine(){this.offHandlers.forEach(i=>i()),this.offHandlers=[],this.backdropClickHandler&&(this.refs.backdrop.removeEventListener("click",this.backdropClickHandler),this.backdropClickHandler=null),this.engine?.destroy(),this.engine=null;for(let i of this.declarativeAnchors)this.appendChild(i);this.declarativeAnchors=[]}initEngine(){let{sheet:i,handle:n,content:s,backdrop:r,announcer:l}=this.refs,a=Mi(this.getAttribute(_t));i.setAttribute("data-mode",a);let h=this.getAttribute(Kt)==="true";h?i.setAttribute("aria-modal","true"):i.removeAttribute("aria-modal"),i.setAttribute("aria-label",this.getAttribute(Yt)??"Bottom sheet");let d=this.getAttribute(Ft)!=="false";r.style.display=d?"":"none",d&&(this.backdropClickHandler=()=>{this.engine?.close()},r.addEventListener("click",this.backdropClickHandler));let c={element:i,handle:n,scrollContainer:s,backdrop:d?r:void 0,scrim:this.refs.screen,mode:a,snapPoints:wi(this.getAttribute(Lt)),allowed:ce(this.getAttribute(Ht)),initial:this.getAttribute(Bt)??void 0,animation:Ci(this.getAttribute(Nt)),focusTrap:h,closeOnEscape:this.getAttribute(Vt)!=="false",lockBodyScroll:this.getAttribute(Ut)!=="false",stackEffect:this.getAttribute($t)==="true"};this.engine=new G(c),i.setAttribute("data-active",this.engine.state.activeId);for(let p of Array.from(this.querySelectorAll('[slot="anchor"]')))this.declarativeAnchors.push(p),this.engine.addAnchor({...Oi(p),element:p});this.offHandlers=[this.engine.on("snap",p=>{i.setAttribute("data-active",p.id),l.textContent=p.id,this.dispatchEvent(new CustomEvent("snap",{detail:p}))}),this.engine.on("open",p=>this.dispatchEvent(new CustomEvent("open",{detail:p}))),this.engine.on("close",()=>this.dispatchEvent(new CustomEvent("close"))),this.engine.on("progress",p=>this.dispatchEvent(new CustomEvent("progress",{detail:p})))]}snapTo(i){return this.engine?.snapTo(i)??Promise.resolve()}open(i){return this.engine?.open(i)??Promise.resolve()}close(){return this.engine?.close()??Promise.resolve()}setAllowed(i,n){this.engine?.setAllowed(i,n)}addAnchor(i){return this.engine?.addAnchor(i)??(()=>{})}setScrimStages(i){return this.engine?.setScrimStages(i)??(()=>{})}get sheetState(){return this.engine?.state??null}},he=(t="bottom-sheet")=>{typeof customElements>"u"||customElements.get(t)||customElements.define(t,class extends z{})}});var Li={};fe(Li,{BottomSheetElement:()=>z,defineBottomSheet:()=>he});pe();typeof window<"u"&&typeof customElements<"u"&&Promise.resolve().then(()=>(pe(),qt)).then(({defineBottomSheet:t})=>{t()});return Jt(Li);})();
|
|
3
3
|
//# sourceMappingURL=element.iife.global.js.map
|