actual-css 0.9.1 → 0.9.2
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/CHANGELOG.md +20 -0
- package/README.md +2 -1
- package/dist/actual.css +16 -3
- package/dist/actual.full.css +22 -3
- package/dist/actual.full.js +1 -1
- package/dist/actual.full.min.css +1 -1
- package/dist/actual.min.css +1 -1
- package/docs/pages/components/table.md +3 -2
- package/docs/pages/examples/overview.md +1 -0
- package/docs/pages/forms/input-policy.md +59 -0
- package/docs/pages/forms/validation.md +37 -1
- package/docs/pages/foundations/tokens.md +22 -3
- package/docs/pages/foundations/typography.md +10 -0
- package/docs/pages/guides/introduction.md +2 -1
- package/docs/pages/guides/progressive-enhancement.md +3 -2
- package/package.json +2 -1
- package/src/css/core/base.css +2 -0
- package/src/css/core/tokens.css +2 -0
- package/src/css/core/variants.css +12 -3
- package/src/css/forms/form.css +6 -0
- package/src/js/validation.js +31 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,26 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
### Documentation and tooling
|
|
6
|
+
|
|
7
|
+
- Pushing a version tag publishes the GitHub release: `.npmrc` keeps `npm version` on the bare tag format, `bun run release:notes` extracts (and validates) the dated changelog section, and the CI `release` job attaches `dist/`.
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
## [0.9.2] - 2026-09-22
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- `--font-width` and `--font-width-dense` typography hooks: `.compact` applies the denser width through `font-stretch` (variable `wdth` axis when available, width-face matching otherwise), `.spacious` restores the normal width. Themes without a useful width axis opt out with `--font-width-dense: 100%`.
|
|
15
|
+
- `starts-with` and `ends-with` built-in `data-validation-rules` rules: the trimmed value must begin or end with one of the literal tokens, case-sensitive.
|
|
16
|
+
- `tel-prefix` built-in `data-validation-rules` rule: dialing digits are required, local numbers pass, explicit international numbers (`+`, `00`) must match an allowed prefix, and no prefix means local-only. It is an origin policy, not phone validation, and never rewrites the value.
|
|
17
|
+
|
|
18
|
+
### Fixed
|
|
19
|
+
|
|
20
|
+
- `.field` packs its rows to the start (`align-content: start`), so a field stretched by a taller grid row — a neighbour revealing its `.field-error` — no longer inflates its own control.
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
## [0.9.1] - 2026-09-16
|
|
24
|
+
|
|
5
25
|
### Fixed
|
|
6
26
|
|
|
7
27
|
- `.modal.scrollable` and `.drawer` body scrollports reserve inline focus-ring space without changing header, body, or footer alignment, so full-width controls no longer clip their focus indicator.
|
package/README.md
CHANGED
|
@@ -69,7 +69,8 @@ Variants such as `.solid`, `.soft`, `.outline`, and `.surface` are shared by com
|
|
|
69
69
|
|
|
70
70
|
Size variants `.sm` and `.lg` scale typography and participating component
|
|
71
71
|
geometry consistently. Density contexts `.compact` and `.spacious` change
|
|
72
|
-
spacing and geometry without changing
|
|
72
|
+
spacing and geometry without changing font size or icons; `.compact` may
|
|
73
|
+
slightly narrow typefaces that support a width axis.
|
|
73
74
|
|
|
74
75
|
## Public Class Grammar
|
|
75
76
|
|
package/dist/actual.css
CHANGED
|
@@ -67,6 +67,8 @@ select {
|
|
|
67
67
|
/* Typography */
|
|
68
68
|
--font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
69
69
|
--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
|
|
70
|
+
--font-width: 100%;
|
|
71
|
+
--font-width-dense: 95%;
|
|
70
72
|
--line-height: 1.5;
|
|
71
73
|
--line-height-tight: 1.25;
|
|
72
74
|
--line-height-relaxed: 1.75;
|
|
@@ -515,12 +517,14 @@ select {
|
|
|
515
517
|
* Public hooks:
|
|
516
518
|
* --link
|
|
517
519
|
* --hr-space
|
|
520
|
+
* --font-width / --font-width-dense (see variants.css for the dense application)
|
|
518
521
|
*/
|
|
519
522
|
|
|
520
523
|
body {
|
|
521
524
|
background: var(--surface);
|
|
522
525
|
color: var(--text);
|
|
523
526
|
font-family: var(--font-sans);
|
|
527
|
+
font-stretch: var(--font-width);
|
|
524
528
|
line-height: var(--line-height);
|
|
525
529
|
}
|
|
526
530
|
|
|
@@ -668,9 +672,16 @@ small {
|
|
|
668
672
|
* components/alert.css — .alert default soft behind explicit --ui-*
|
|
669
673
|
*
|
|
670
674
|
* .compact/.spacious set inherited density tokens: spacing rhythm and geometry
|
|
671
|
-
* only. Density never changes
|
|
672
|
-
* --control-size; non-control components may
|
|
673
|
-
* context should affect their local rhythm.
|
|
675
|
+
* only, plus a slight typographic width bonus. Density never changes font size
|
|
676
|
+
* or icon size. Controls consume --control-size; non-control components may
|
|
677
|
+
* consume --density-* when the context should affect their local rhythm.
|
|
678
|
+
* .compact applies --font-width-dense through font-stretch (a variable wdth
|
|
679
|
+
* axis when available, otherwise normal width-face matching); layout must
|
|
680
|
+
* never depend on the narrowing being available. .spacious restores
|
|
681
|
+
* --font-width, so a spacious island inside a compact context returns to the
|
|
682
|
+
* normal width exactly as it restores its own gap, spacing, and control size.
|
|
683
|
+
* Themes whose typeface has no useful width axis opt out with
|
|
684
|
+
* --font-width-dense: 100%.
|
|
674
685
|
*
|
|
675
686
|
* .sm/.lg are local size roles, not shared measurements. Shared control
|
|
676
687
|
* participants below map both typography and geometry; components with
|
|
@@ -735,12 +746,14 @@ small {
|
|
|
735
746
|
--gap: var(--space-20);
|
|
736
747
|
--density-space: var(--space-20);
|
|
737
748
|
--control-size: var(--control-size-sm);
|
|
749
|
+
font-stretch: var(--font-width-dense);
|
|
738
750
|
}
|
|
739
751
|
|
|
740
752
|
.spacious {
|
|
741
753
|
--gap: var(--space-50);
|
|
742
754
|
--density-space: var(--space-50);
|
|
743
755
|
--control-size: var(--control-size-lg);
|
|
756
|
+
font-stretch: var(--font-width);
|
|
744
757
|
}
|
|
745
758
|
|
|
746
759
|
/* Shared control scale. Wrappers are listed when their descendants form one
|
package/dist/actual.full.css
CHANGED
|
@@ -71,6 +71,8 @@ select {
|
|
|
71
71
|
/* Typography */
|
|
72
72
|
--font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
73
73
|
--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
|
|
74
|
+
--font-width: 100%;
|
|
75
|
+
--font-width-dense: 95%;
|
|
74
76
|
--line-height: 1.5;
|
|
75
77
|
--line-height-tight: 1.25;
|
|
76
78
|
--line-height-relaxed: 1.75;
|
|
@@ -519,12 +521,14 @@ select {
|
|
|
519
521
|
* Public hooks:
|
|
520
522
|
* --link
|
|
521
523
|
* --hr-space
|
|
524
|
+
* --font-width / --font-width-dense (see variants.css for the dense application)
|
|
522
525
|
*/
|
|
523
526
|
|
|
524
527
|
body {
|
|
525
528
|
background: var(--surface);
|
|
526
529
|
color: var(--text);
|
|
527
530
|
font-family: var(--font-sans);
|
|
531
|
+
font-stretch: var(--font-width);
|
|
528
532
|
line-height: var(--line-height);
|
|
529
533
|
}
|
|
530
534
|
|
|
@@ -672,9 +676,16 @@ small {
|
|
|
672
676
|
* components/alert.css — .alert default soft behind explicit --ui-*
|
|
673
677
|
*
|
|
674
678
|
* .compact/.spacious set inherited density tokens: spacing rhythm and geometry
|
|
675
|
-
* only. Density never changes
|
|
676
|
-
* --control-size; non-control components may
|
|
677
|
-
* context should affect their local rhythm.
|
|
679
|
+
* only, plus a slight typographic width bonus. Density never changes font size
|
|
680
|
+
* or icon size. Controls consume --control-size; non-control components may
|
|
681
|
+
* consume --density-* when the context should affect their local rhythm.
|
|
682
|
+
* .compact applies --font-width-dense through font-stretch (a variable wdth
|
|
683
|
+
* axis when available, otherwise normal width-face matching); layout must
|
|
684
|
+
* never depend on the narrowing being available. .spacious restores
|
|
685
|
+
* --font-width, so a spacious island inside a compact context returns to the
|
|
686
|
+
* normal width exactly as it restores its own gap, spacing, and control size.
|
|
687
|
+
* Themes whose typeface has no useful width axis opt out with
|
|
688
|
+
* --font-width-dense: 100%.
|
|
678
689
|
*
|
|
679
690
|
* .sm/.lg are local size roles, not shared measurements. Shared control
|
|
680
691
|
* participants below map both typography and geometry; components with
|
|
@@ -739,12 +750,14 @@ small {
|
|
|
739
750
|
--gap: var(--space-20);
|
|
740
751
|
--density-space: var(--space-20);
|
|
741
752
|
--control-size: var(--control-size-sm);
|
|
753
|
+
font-stretch: var(--font-width-dense);
|
|
742
754
|
}
|
|
743
755
|
|
|
744
756
|
.spacious {
|
|
745
757
|
--gap: var(--space-50);
|
|
746
758
|
--density-space: var(--space-50);
|
|
747
759
|
--control-size: var(--control-size-lg);
|
|
760
|
+
font-stretch: var(--font-width);
|
|
748
761
|
}
|
|
749
762
|
|
|
750
763
|
/* Shared control scale. Wrappers are listed when their descendants form one
|
|
@@ -2049,6 +2062,12 @@ small {
|
|
|
2049
2062
|
*/
|
|
2050
2063
|
.field {
|
|
2051
2064
|
display: grid;
|
|
2065
|
+
|
|
2066
|
+
/* why: a field stretched by a taller row sibling — the classic case is a
|
|
2067
|
+
neighbour revealing its .field-error — would otherwise hand the extra
|
|
2068
|
+
block size to its auto rows and inflate the control. Rows keep their
|
|
2069
|
+
natural height; the slack stays at the end. */
|
|
2070
|
+
align-content: start;
|
|
2052
2071
|
gap: var(--space-10);
|
|
2053
2072
|
color: var(--text);
|
|
2054
2073
|
font-size: var(--control-font-size);
|
package/dist/actual.full.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var Pe=new WeakMap,_e=new WeakMap;function $e(){return{refresh(){},disconnect(){}}}function St(e){return e?.nodeType===1||e?.nodeType===9||e?.nodeType===11}function Xn(e){let t=new Set,n="";function r(a){try{if(e.querySelector?.(a),e.nodeType===1)e.matches(a);return!0}catch(f){return console.error(`Invalid enhancer selector "${a}"`,f),!1}}function o(){n=[...t].flatMap((a)=>a.selectors).join(",")}function i(a,f){if(f?.nodeType!==1)return;let p=a.instances.get(f);for(let m of a.selectors){if(!f.matches(m))continue;if(p?.has(m))continue;let h;try{h=a.enhancers[m](f)}catch(w){console.error(`Enhancer failed for selector "${m}"`,w);continue}if(!p)p=new Map,a.instances.set(f,p);p.set(m,typeof h==="function"?h:null)}}function s(a,f){let p=a.instances.get(f);if(!p)return;for(let m of p.values())try{m?.()}catch(h){console.error("Enhancer cleanup failed",h)}a.instances.delete(f)}function c(a,f){if(!St(f))return;if(f.nodeType===1)i(a,f);if(a.selectorString)f.querySelectorAll?.(a.selectorString).forEach((p)=>{i(a,p)})}function u(a){if(!St(a)||!n)return;if(a.nodeType===1)for(let f of t)i(f,a);a.querySelectorAll?.(n).forEach((f)=>{for(let p of t)i(p,f)})}function d(){for(let a of t)for(let f of Array.from(a.instances.keys()))if(!f.isConnected||!e.contains(f))s(a,f)}let l=new MutationObserver((a)=>{let f=!1;for(let p of a){for(let m of p.addedNodes)u(m);if(p.removedNodes.length>0)f=!0}if(f)d()});return{add(a){let f=Object.keys(a).filter(r);if(!f.length)return null;let m={disconnected:!1,enhancers:Object.fromEntries(f.map((h)=>[h,a[h]])),instances:new Map,selectors:f,selectorString:f.join(",")};if(t.add(m),t.size===1)l.observe(e,{childList:!0,subtree:!0});return o(),c(m,e),m},refresh(a,f){if(a.disconnected)return;c(a,f)},remove(a){if(a.disconnected)return;a.disconnected=!0;for(let f of Array.from(a.instances.keys()))s(a,f);if(t.delete(a),o(),t.size===0)l.disconnect(),Pe.delete(e)}}}var Yn=/^[a-z][a-z0-9-]*$/;function se(e){if(!Yn.test(e))throw TypeError(`Invalid enhancement name: ${e}`);return`[data-enhance~="${e}"]`}function F(e,t,n){if(typeof document>"u")return $e();if(se(e),typeof t!=="function")throw TypeError("registerEnhancement() requires a function init.");n??=document.documentElement;let r=_e.get(n);if(!r)r=new Map,_e.set(n,r);if(r.has(e))throw Error(`Enhancement "${e}" is already registered on this root.`);let o=S({[se(e)]:t},n);return r.set(e,o),{refresh:(i)=>o.refresh(i),disconnect:()=>{if(o.disconnect(),r.get(e)===o)r.delete(e);if(r.size===0)_e.delete(n)}}}function Gn(e){let t=Pe.get(e);if(!t)t=Xn(e),Pe.set(e,t);return t}function S(e,t){if(typeof document>"u")return $e();t??=document.documentElement;let n=Gn(t),r=n.add(e);if(!r)return $e();return{refresh:(o)=>n.refresh(r,o),disconnect:()=>{n.remove(r)}}}var Jn=["a[href]","button","input","select","textarea","summary","[contenteditable]:not([contenteditable='false'])","[tabindex]"].join(",");function Ue(e){if(!e||e.hidden)return!1;if(typeof e.checkVisibility==="function")return e.checkVisibility({visibilityProperty:!0,checkVisibilityCSS:!0});if(e.getClientRects().length===0)return!1;let t=e.ownerDocument?.defaultView?.getComputedStyle?.(e);if(!t)return!0;return t.visibility!=="hidden"&&t.visibility!=="collapse"}function Zn(e){return e.tabIndex>=0&&!e.matches(":disabled")&&Ue(e)&&!e.closest('[inert], [aria-hidden="true"]')}function Qn(e){return[...e.querySelectorAll(Jn)].filter(Zn)}function We(e){let t=Qn(e)[0];return t?.focus(),!!t}function ae(e){return e[0]||null}function ue(e){return e[e.length-1]||null}function ce(e,t,n,r={}){if(!e.length)return null;let o=r.wrap!==!1,i=e.indexOf(t);if(i===-1)return n>0?ae(e):ue(e);let s=i+n;if(!o)return e[s]||null;let c=(s%e.length+e.length)%e.length;return e[c]}function U(e,t,n,r={}){let o=r.orientation||"horizontal",i=r.wrap===!0,s=r.direction||"ltr";switch(n){case"Home":return ae(e);case"End":return ue(e);case"ArrowRight":if(o!=="horizontal")return null;return ce(e,t,s==="rtl"?-1:1,{wrap:i});case"ArrowLeft":if(o!=="horizontal")return null;return ce(e,t,s==="rtl"?1:-1,{wrap:i});case"ArrowDown":if(o!=="vertical")return null;return ce(e,t,1,{wrap:i});case"ArrowUp":if(o!=="vertical")return null;return ce(e,t,-1,{wrap:i});default:return null}}var er=new Set(["horizontal","vertical"]);function tr(e,t){if(t==null)e.removeAttribute("tabindex");else e.setAttribute("tabindex",t)}function At(e,t={}){if(!e?.addEventListener||!e?.contains)throw TypeError("connectFocusGroup() requires a root element.");if(typeof t.getItems!=="function")throw TypeError("connectFocusGroup() requires getItems().");let n=t.orientation||"horizontal";if(!er.has(n))throw TypeError(`Invalid focus-group orientation: ${n}`);let r=new AbortController,o=t.signal||null,i=new Map,s=null,c=!1;function u(){let m=new Set;return[...t.getItems()||[]].filter((h)=>{if(typeof h?.focus!=="function"||!e.contains(h)||m.has(h))return!1;return m.add(h),!0})}function d(m){if(!i.has(m))return;tr(m,i.get(m)),i.delete(m)}function l(m=s){if(c)return[];let h=u(),w=new Set(h);for(let b of i.keys())if(!w.has(b))d(b);let E=e.ownerDocument.activeElement,g=w.has(m)&&m||w.has(E)&&E||h.find((b)=>b.tabIndex===0)||h[0]||null;for(let b of h){if(!i.has(b))i.set(b,b.getAttribute("tabindex"));let T=b===g?0:-1;b.tabIndex=T}return s=g,h}function a(m){if(u().includes(m.target))l(m.target)}function f(m){let h=l(),w=e.ownerDocument.activeElement;if(!h.includes(w))return;let g=e.ownerDocument.defaultView?.getComputedStyle?.(e)?.direction==="rtl"?"rtl":"ltr",b=U(h,w,m.key,{orientation:n,wrap:t.wrap===!0,direction:g});if(!b)return;m.preventDefault(),l(b),b.focus()}e.addEventListener("focusin",a,{signal:r.signal}),e.addEventListener("keydown",f,{signal:r.signal}),l();function p(){if(c)return;c=!0,o?.removeEventListener("abort",p),r.abort();for(let m of i.keys())d(m);s=null}if(o)if(o.aborted)p();else o.addEventListener("abort",p,{once:!0});return{sync:l,disconnect:p}}var nr=":scope > li > .menu-item",rr=new Set(["menuitem","menuitemcheckbox","menuitemradio"]);function or(e){return!e.disabled&&e.getAttribute("aria-disabled")!=="true"&&Ue(e)&&!e.closest("[hidden], [inert], [aria-hidden='true']")}function Y(e){return[...e.querySelectorAll(nr)].filter(or)}function xt(e){return rr.has(e.getAttribute("role"))}function ir(e){let t=e.ownerDocument.activeElement;if(!e.contains(t)||!xt(t))return!1;return t.click(),!0}function Ct(e){return Y(e).length>0}function sr(e,t){let n=t?.closest?.(".menu-item");return n?.parentElement?.parentElement===e?n:null}function G(e){ae(Y(e))?.focus()}function Lt(e){ue(Y(e))?.focus()}function cr(e,{close:t,navigate:n=!0}){let r=e.currentTarget;if(n){let o=Y(r),i=U(o,r.ownerDocument.activeElement,e.key,{orientation:"vertical",wrap:!0});if(i){e.preventDefault(),i.focus();return}}switch(e.key){case"Tab":t(r);break;case"Enter":case" ":if(ir(r))e.preventDefault();break}}var Be=new WeakMap;function le(e,{close:t}){let n=Be.get(e);if(!n){let o=new AbortController,i=e.matches('[role="menu"]')?At(e,{getItems:()=>Y(e).filter(xt),orientation:"vertical",wrap:!0,signal:o.signal}):null;e.addEventListener("keydown",(s)=>cr(s,{close:()=>t(e),navigate:!i}),{signal:o.signal}),e.addEventListener("click",(s)=>{let c=sr(e,s.target);if(!c)return;if(c.matches(":disabled, [aria-disabled='true']")){s.preventDefault(),s.stopPropagation();return}},{signal:o.signal}),n={count:0,controller:o,focusGroup:i},Be.set(e,n)}n.count++;let r=!1;return()=>{if(r)return;if(r=!0,n.count--,n.count<=0)n.controller.abort(),Be.delete(e)}}function Rt(e){return e==="top"||e==="bottom"?"x":"y"}function ar(e){let[t,n=null]=e.split("-");return{side:t,align:n,crossAxis:Rt(t)}}function ur(e){return{top:"bottom",bottom:"top",left:"right",right:"left"}[e]||e}function lr(e,t,n,r,o,i){let s=Rt(n),c=e.x+e.width/2-t.width/2,u=e.y+e.height/2-t.height/2,d=e[s==="x"?"width":"height"]/2-t[s==="x"?"width":"height"]/2,l;switch(n){case"top":l={x:c,y:e.y-t.height-i};break;case"bottom":l={x:c,y:e.y+e.height+i};break;case"right":l={x:e.x+e.width+i,y:u};break;case"left":l={x:e.x-t.width-i,y:u};break;default:l={x:e.x,y:e.y}}if(r==="start"||r==="end"){let a=(o&&s==="x"?-1:1)*(r==="end"?1:-1);l[s]+=d*a}return l}function fr(e,t,n,r){return Math.max(n-e,0)+Math.max(e+t-r,0)}function dr(e){let t="dir"in e?e.dir:"";if(t==="rtl")return!0;if(t==="ltr")return!1;let n=e.ownerDocument?.defaultView;if(n?.CSS?.supports?.("selector(:dir(rtl))")&&typeof e.matches==="function")return e.matches(":dir(rtl)");return Boolean(n?.Element&&e instanceof n.Element&&n.getComputedStyle(e).direction==="rtl")}var pr=25;function mr(e){let t=e.defaultView;if(!t)return null;let n=e.documentElement,r=t.visualViewport,o=r?.offsetLeft||0,i=r?.offsetTop||0,s=r?.width||n.clientWidth||t.innerWidth,c=r?.height||n.clientHeight||t.innerHeight,u=e.compatMode==="BackCompat"?s-n.clientWidth:n.clientWidth-n.getBoundingClientRect().width;if(u>0&&u<=pr){let d=t.getComputedStyle?.(n).scrollbarGutter;if(d&&d!=="auto")s-=u}return{x:o,y:i,width:s,height:c,right:o+s,bottom:i+c}}function hr(e,t){return t.scope?t.scope.getBoundingClientRect():mr(e.ownerDocument)}function Dt(e,t,n,r,o){let i=n+o,s=r-t-o,c=s>=i,u=c?i:n,d=c?s:r-t;return Math.max(u,Math.min(e,d))}function Mt(e,t,n){if(!n)return 50;let r=(e-t)/n*100;return Math.round(Math.min(100,Math.max(0,r))*1000)/1000}function gr(e,t){return e.right<t.x||e.left>t.right||e.bottom<t.y||e.top>t.bottom}function wr(e,t,n,r,o){if(t==="top")return Math.max(0,e.top-n.y-r-o);if(t==="bottom")return Math.max(0,n.bottom-e.bottom-r-o);return Math.max(0,n.height-o*2)}function Er(e){if(e.hidden)return!1;if(typeof e.checkVisibility==="function")return e.checkVisibility();return e.getClientRects().length>0}function Ft(e){let{offsetWidth:t,offsetHeight:n}=e;if(t&&n)return{width:t,height:n};let r=e.getBoundingClientRect();return{width:t||r.width,height:n||r.height}}var kt=new WeakMap,Ot={scroll:0,resize:1,"element-resize":2};function br(e){let t=e.defaultView;if(!t)throw TypeError("floating must belong to a document with a browsing context");let n=new Set,r=new Map,o=t.ResizeObserver,i=!1,s=!1,c=t.visualViewport;function u(w,E){let g=r.get(w);if(g===void 0||Ot[E]>Ot[g])r.set(w,E)}function d(){if(i)return;i=!0,t.requestAnimationFrame(()=>{let w=[...r];r.clear(),i=!1;for(let[E,g]of w){if(!n.has(E)||!E.floating.isConnected)continue;E.callback({type:g})}})}function l(w){for(let E of n)u(E,w);d()}function a(w){if(!o)return null;let E=new Set,g=new o((_)=>{let oe=!1;for(let X of _)if(E.has(X.target))oe=!0;else E.add(X.target);if(!oe)return;u(w,"element-resize"),d()}),{reference:b,floating:T}=w;if(b)g.observe(b);if(T!==b)g.observe(T);return g}let f=()=>l("scroll"),p=()=>l("resize");function m(){if(s)return;e.addEventListener("scroll",f,{passive:!0,capture:!0}),t.addEventListener("resize",p,{passive:!0}),c?.addEventListener("scroll",f,{passive:!0}),c?.addEventListener("resize",p,{passive:!0}),s=!0}function h(){if(!s)return;e.removeEventListener("scroll",f,{capture:!0}),t.removeEventListener("resize",p),c?.removeEventListener("scroll",f),c?.removeEventListener("resize",p),s=!1}return{add(w,E,g){let b={reference:w,floating:E,callback:g};n.add(b),m();let T=a(b),_=!1;return()=>{if(_)return;if(_=!0,n.delete(b),r.delete(b),T?.disconnect(),n.size===0)h()}}}}function yr(e){let t=e.ownerDocument,n=kt.get(t);if(!n)n=br(t),kt.set(t,n);return n}function fe(e,t,n){if(!t?.ownerDocument)throw TypeError("autoUpdate() expects a floating HTMLElement");if(e&&e.ownerDocument!==t.ownerDocument)throw TypeError("reference and floating must belong to the same document");if(typeof n!=="function")throw TypeError("callback must be a function");return yr(t).add(e,t,n)}function It(e,t,n){if(!Er(t))return null;let r=n.placement||"bottom-start",o=n.distance||0,i=n.flip!==!1,s=n.shift!==!1,c=n.shiftPadding??4,{side:u,align:d,crossAxis:l}=ar(r),a=d?dr(e):!1,f=e.getClientRects(),p=u==="bottom"?f[f.length-1]:f[0];if(!p)return null;let m=hr(e,n);if(!m||gr(p,m))return null;let h=Ft(t),w={x:{size:h.width,start:m.x,end:m.right},y:{size:h.height,start:m.y,end:m.bottom}},E=(A,x)=>lr(p,h,A,x,a,o),g=(A,x)=>{let{size:D,start:O,end:I}=w[x];return fr(A,D,O+c,I-c)},b=(A,x)=>{let{size:D,start:O,end:I}=w[x];return g(s?Dt(A,D,O,I,c):A,x)},T=E(u,d);if(i){let A=l==="x"?"y":"x",x=g(T[A],A);if(x>0){let D=ur(u),O=E(D,d),I=g(O[A],A);if(I<x)u=D,T=O,x=I}if(A==="x"&&x>0){let D=E("top",d),O=E("bottom",d),I=g(O.y,"y")<g(D.y,"y"),Ve=I?O:D;if(g(Ve.y,"y")+b(Ve.x,"x")<x+b(T.y,"y"))u=I?"bottom":"top",l="x",T=Ve}}if(l==="x"&&s&&d){let A=g(T.x,"x");if(A>0){let x=d==="end"?"start":"end",D=E(u,x);if(g(D.x,"x")<A)d=x,T=D}}if(s){let{size:A,start:x,end:D}=w[l];T[l]=Dt(T[l],A,x,D,c)}let _=Mt(p.x+p.width/2,T.x,h.width),oe=Mt(p.y+p.height/2,T.y,h.height),X=`${wr(p,u,m,o,c)}px`,{style:P}=t,Hn=P.getPropertyValue("--available-height")!==X,ie=n.coordinateSpace==="document"?e.ownerDocument.defaultView:null,jn=ie?ie.scrollX:0,Kn=ie?ie.scrollY:0;P.left=`${T.x+jn}px`,P.top=`${T.y+Kn}px`,P.setProperty("--arrow-x",`${_}%`),P.setProperty("--arrow-y",`${oe}%`),P.setProperty("--available-height",X);let Tt=d?`${u}-${d}`:u;return t.dataset.placement=Tt,{width:h.width,height:h.height,roomChanged:Hn,placement:Tt}}function J(e,t,n={}){let r=It(e,t,n);if(!r)return!1;if(r.roomChanged){let o=Ft(t);if(o.width!==r.width||o.height!==r.height)It(e,t,{...n,placement:r.placement,flip:!1})}return!0}function Nt(e,t,n,r={}){let o=n.ownerDocument,{documentElement:i,defaultView:s}=o;if(!s)return!1;let c=o.dir||i?.dir||s.getComputedStyle?.(i).direction||"",u=new s.DOMRect(e,t,0,0);return J({ownerDocument:o,dir:c,matches:(l)=>l===":dir(rtl)"&&c==="rtl",getClientRects:()=>[u]},n,r)}var ze=new WeakMap;function de(e,t){let n=e.ownerDocument,r=ze.get(n);if(!r)r=[],ze.set(n,r),n.addEventListener("keydown",vr);let o={element:e,dismiss:t};return r.push(o),()=>{let i=r.indexOf(o);if(i>=0)r.splice(i,1)}}function vr(e){if(e.defaultPrevented||e.key!=="Escape"||e.ctrlKey||e.altKey||e.shiftKey||e.metaKey)return;let n=ze.get(e.currentTarget).at(-1);if(!n)return;e.preventDefault(),n.dismiss({restoreFocus:!0})}var C={surfaceOpen:"actual:surface-open",contextMenu:"actual:context-menu",status:"actual:status",invalid:"actual:invalid",dialogCancel:"actual:dialog-cancel",dismiss:"actual:dismiss"};function Tr(e){let t=e?.ownerDocument?.defaultView;if(!t)return!0;try{if(e.closest("dialog:modal, :popover-open"))return!0}catch{}for(let n=e;n;n=n.parentElement){let{position:r}=t.getComputedStyle(n);if(r==="fixed"||r==="sticky")return!0}return!1}function pe(e){let t=Tr(e)?"viewport":"document";return{space:t,position:t==="document"?"absolute":"fixed"}}var y={wasValidated:"was-validated",danger:"danger",fieldError:"field-error",field:"field",open:"is-open",static:"is-static",modalOpen:"has-modal-open",hadScrollbar:"had-scrollbar",tooltip:"tooltip"};var me=new Set,N=new WeakMap,qe=new WeakMap,Vt=new WeakSet,Pt="data-actual-surface",Sr=new Set(["true","inside","outside","false"]),Ar=new Set(["ArrowDown","ArrowLeft","ArrowRight","ArrowUp","End","Home","PageDown","PageUp"," "]),_t=new WeakMap;function xr(e){let t=String(e??"outside");return Sr.has(t)?t:"true"}function Cr(e){let t=e.ownerDocument?.documentElement;if(!t)return null;let n=_t.get(t);if(!n)n=S({[`[${Pt}]`]:(r)=>()=>Bt(r)},t),_t.set(t,n);return n}function Lr(e){try{return e.showPopover(),!0}catch{return!1}}function Dr(e){try{e.hidePopover()}catch{}}function Mr(e){if(!e.id)return[];return[...e.ownerDocument.querySelectorAll(`[aria-controls="${CSS.escape(e.id)}"]`)]}function He(e,t){for(let n of Mr(e))n.setAttribute("aria-expanded",t?"true":"false")}function $t(e){let t=N.get(e);if(!t)return!0;if(t.trigger){let o=t.trigger.getBoundingClientRect().width;e.style.setProperty("--surface-anchor-width",`${o}px`)}else e.style.removeProperty("--surface-anchor-width");let n={placement:t.placement||"bottom-start",distance:t.distance??4,flip:t.flip!==!1,shift:t.shift!==!1,shiftPadding:t.shiftPadding??4,scope:t.scope,coordinateSpace:t.coordinateSpace};if(t.point)return Nt(t.point.x,t.point.y,e,n);let r=t.trigger||t.source;if(r)return J(r,e,n);return!0}function kr(e){if(N.has(e))return N.get(e);Rr(e);let t={stopTracking:null,stopScrollIntent:null,unregisterEscape:null,trigger:null,source:null,point:null,placement:"bottom-start",distance:4,flip:!0,shift:!0,shiftPadding:4,autoClose:"outside",dismissOnScroll:!1,scrollIntentAt:null,coordinateSpace:"viewport"};return N.set(e,t),e.addEventListener(C.dismiss,Ut),t}function Ut(e){if(e.target!==e.currentTarget)return;let t=e.currentTarget,n=e.detail?.trigger;v(t,{restoreFocus:n?t.contains(n):void 0}),t.removeAttribute("hidden")}function Or(e,t){if(t.unregisterEscape=de(e,(r)=>v(e,r)),t.dismissOnScroll){let r=new AbortController,o=(a)=>{t.scrollIntentAt=a.timeStamp},i=(a)=>{if(!e.contains(a.target))o(a)},s=(a)=>{if(!a.defaultPrevented&&Ar.has(a.key))o(a)},c=(a)=>{if(t.scrollIntentAt==null||e.contains(a.target))return;v(e)},d={...{signal:r.signal,capture:!0},passive:!0},l=e.ownerDocument;l.addEventListener("pointerdown",i,d),l.addEventListener("touchmove",o,d),l.addEventListener("wheel",o,d),l.addEventListener("keydown",s,{signal:r.signal}),l.addEventListener("scroll",c,d),t.stopScrollIntent=()=>r.abort()}let n=t.point?null:t.trigger||t.source;t.stopTracking=fe(n,e,({type:r})=>{if(!L(e))return;if(r==="scroll"&&t.dismissOnScroll)return;if(!$t(e))v(e)})}function L(e){return e.classList.contains(y.open)}function Wt(e){if(!e)return;e.style.position="fixed",e.removeAttribute("hidden"),e.setAttribute("popover","manual"),He(e,!1),e.setAttribute(Pt,""),Cr(e)?.refresh(e)}function he(e){if(!e)return()=>{};let t=qe.get(e);if(!t)Wt(e),t={count:0},qe.set(e,t);t.count++;let n=!1;return()=>{if(n)return;if(n=!0,t.count--,t.count<=0)Bt(e),qe.delete(e)}}function ge(e,t={}){if(!e?.isConnected)return!1;if(L(e))return!1;let n=new CustomEvent(C.surfaceOpen,{bubbles:!0,cancelable:!0,detail:{surface:e,options:t}});if(!e.dispatchEvent(n))return!1;Wt(e);let r=kr(e);r.trigger=t.trigger||null,r.source=t.source||null,r.point=Number.isFinite(t.x)&&Number.isFinite(t.y)?{x:t.x,y:t.y}:null,r.autoClose=xr(t.autoClose),r.dismissOnScroll=t.dismissOnScroll===!0,r.scrollIntentAt=null,r.placement=t.placement||"bottom-start",r.distance=t.distance??4,r.flip=t.flip!==!1,r.shift=t.shift!==!1,r.shiftPadding=t.shiftPadding??4,r.scope=t.scope,r.restoreFocusTo=t.restoreFocusTo||t.trigger||t.source||null;let o=r.point?null:r.trigger||r.source,i=pe(o);if(r.coordinateSpace=i.space,e.style.position=i.position,!Lr(e))return!1;if(e.classList.add(y.open),He(e,!0),!$t(e))return v(e,{restoreFocus:!1}),!1;for(let s of me)if(s!==e&&s.ownerDocument===e.ownerDocument)v(s,{restoreFocus:!1});return me.add(e),Or(e,r),!0}function v(e,t={}){if(!e||!L(e))return;let n=N.get(e),r=e.ownerDocument.activeElement,o=t.restoreFocus??e.contains(r);if(e.classList.remove(y.open),Dr(e),me.delete(e),He(e,!1),n?.unregisterEscape?.(),n?.stopScrollIntent?.(),n?.stopTracking?.(),o&&n?.restoreFocusTo?.isConnected)n.restoreFocusTo.focus({preventScroll:!0})}function Bt(e){if(!e)return;v(e),e.removeEventListener(C.dismiss,Ut);let t=N.get(e);if(t)t.unregisterEscape?.(),t.stopScrollIntent?.(),t.stopTracking?.(),N.delete(e)}function Ir(e){let t=e.composedPath();for(let n of me){if(n.ownerDocument!==e.currentTarget)continue;let r=N.get(n);if(!r)continue;let o=t.indexOf(n),i=o>=0;if(i&&t.slice(0,o).some((d)=>d instanceof Element&&d.hasAttribute("data-flyout-close"))){v(n);continue}let c=r.autoClose==="true"||r.autoClose==="inside",u=r.autoClose==="true"||r.autoClose==="outside";if(i&&c||!i&&u)v(n)}}function Rr(e){let t=e.ownerDocument;if(!t||Vt.has(t))return;Vt.add(t),t.addEventListener("click",Ir)}var W=new WeakMap;function Fr(e){let t={autoClose:"true"},n=e.dataset;if(n.flyoutPlacement)t.placement=n.flyoutPlacement;if(n.flyoutDistance!=null){let r=Number.parseFloat(n.flyoutDistance);if(Number.isFinite(r))t.distance=r}if(n.flyoutAutoClose)t.autoClose=n.flyoutAutoClose;return t}function Nr(e){let t=e.getAttribute("aria-controls");return t?e.ownerDocument.getElementById(t):null}function je(e){return e.matches("menu")||e.classList.contains("menu")}function Z(e,t){return ge(e,{trigger:t,source:t,...Fr(e)})}function zt(e,t){if(!L(e)&&!Z(e,t))return!1;return We(e)}function Vr(e){let t=e.currentTarget,n=W.get(t);if(!n)return;let r=Ke(t,n);if(!r)return;if(e.preventDefault(),e.stopPropagation(),L(r))v(r);else Z(r,t)}function _r(e){let t=e.currentTarget,n=W.get(t);if(!n)return;let r=Ke(t,n);if(!r)return;if(!je(r)){switch(e.key){case"ArrowDown":e.preventDefault(),zt(r,t);break;case"Enter":case" ":if(e.preventDefault(),L(r))v(r);else zt(r,t);break;case"Tab":if(L(r)&&!e.shiftKey&&We(r))e.preventDefault();break}return}switch(e.key){case"ArrowDown":case"Home":if(e.preventDefault(),!L(r)&&!Z(r,t))break;G(r);break;case"ArrowUp":case"End":if(e.preventDefault(),!L(r)&&!Z(r,t))break;Lt(r);break;case"Enter":case" ":if(e.preventDefault(),!L(r)){if(Z(r,t))G(r)}else v(r);break;case"Tab":if(L(r))v(r);break}}function Pr(e){if(W.has(e))return;let t=new AbortController,n={panel:null,controller:t,releaseMenu:null,releaseSurface:null};if(W.set(e,n),Ke(e,n),!e.hasAttribute("aria-expanded"))e.setAttribute("aria-expanded","false");e.addEventListener("click",Vr,{signal:t.signal}),e.addEventListener("keydown",_r,{signal:t.signal})}function qt(e){e.releaseMenu?.(),e.releaseMenu=null,e.releaseSurface?.(),e.releaseSurface=null,e.panel=null}function Ke(e,t){let n=Nr(e);if(t.panel===n&&n?.isConnected)return n;if(qt(t),!n)return null;if(t.releaseSurface=he(n),t.panel=n,je(n))t.releaseMenu=le(n,{close:(r)=>v(r)});if(!e.hasAttribute("aria-haspopup")&&je(n))e.setAttribute("aria-haspopup","menu");return n}function $r(e){let t=W.get(e);if(!t)return;if(t.controller.abort(),t.panel?.isConnected&&L(t.panel))v(t.panel,{restoreFocus:!1});qt(t),W.delete(e)}F("flyout",(e)=>(Pr(e),()=>$r(e)));var Ht=450,Ur=750,jt=10,Wr='menu, [role="menu"]',Br="[data-context-menu]",be=new WeakMap,Ye=new WeakMap;function Kt(e){return Ye.get(e)||null}function Xt(e){let t=e.getAttribute("data-context-menu"),n=t?e.ownerDocument.getElementById(t):null;return n?.matches(Wr)?n:null}function Xe(e){return!!e.closest?.("a, button, input, textarea, select, option, [contenteditable], [role='button'], [role='link'], [data-context-menu-ignore]")}function zr(e){if(!e.hasAttribute("data-context-menu-scope"))return null;let t=e.getAttribute("data-context-menu-scope").trim();if(!t||t==="self")return e;if(t==="parent")return e.parentElement;try{return e.closest(t)||e.ownerDocument.querySelector(t)}catch{return null}}function qr(e,t){let n=e.dataset.contextMenuLongPress??t?.dataset.contextMenuLongPress;if(n==null||n==="false"||n==="none")return null;if(n==="")return Ht;let r=Number.parseInt(n,10);return Number.isFinite(r)?Math.max(0,r):Ht}function Hr(e){let t={autoClose:"true"},n=e.dataset;if(n.flyoutAutoClose)t.autoClose=n.flyoutAutoClose;return t}function jr(e){if(!e.hasAttribute("tabindex"))e.tabIndex=-1;e.focus({preventScroll:!0})}function Kr(e,t){if(t==="first-item"){if(Ct(e))G(e)}else jr(e)}function Xr(e,t,n={}){let r={menu:t,context:e,origin:n.origin||e,trigger:n.trigger},o=new CustomEvent(C.contextMenu,{bubbles:!0,cancelable:!0,detail:r});if(!e.dispatchEvent(o))return null;return Ye.set(t,r),r}function we(e,t,n={}){if(!Xr(e,t,n))return;if(L(t))v(t);let{x:r,y:o}=n;if(r==null||o==null){let i=(n.origin||e).getBoundingClientRect();r??=i.left,o??=i.bottom}if(ge(t,{source:e,x:r,y:o,placement:n.placement||"bottom-start",distance:n.distance??2,dismissOnScroll:!0,scope:n.scope||zr(e),restoreFocusTo:n.restoreFocusTo,...Hr(t)}))Kr(t,n.focus)}function Yr(e,t,n=e,r){we(e,t,{placement:"bottom-start",distance:4,focus:"first-item",origin:n,trigger:"keyboard",restoreFocusTo:r})}function Ee(e){if(e.timer)clearTimeout(e.timer),e.timer=null;e.pointerId=null}function Yt(e,t){let n=t.menu;if(n&&Kt(n)?.context===e)Ye.delete(n);t.releaseMenu?.(),t.releaseMenu=null,t.release?.(),t.release=null,t.menu=null}function Q(e,t){let n=Xt(e);if(t.menu===n&&n?.isConnected)return n;if(Yt(e,t),!n)return null;return t.release=he(n),t.menu=n,t.releaseMenu=le(n,{close:(r)=>v(r)}),n}function Gr(e){if(be.has(e))return;let t=new AbortController,n={controller:t,releaseMenu:null,menu:null,release:null,timer:null,pointerId:null,startX:0,startY:0,suppressClickUntil:0};Q(e,n),e.addEventListener("contextmenu",(r)=>{if(Xe(r.target))return;let o=Q(e,n);if(!o)return;r.preventDefault(),r.stopPropagation(),we(e,o,{x:r.clientX,y:r.clientY,origin:r.target,trigger:"pointer"})},{signal:t.signal}),e.addEventListener("keydown",(r)=>{if(r.key!=="ContextMenu"&&!(r.shiftKey&&r.key==="F10"))return;if(Xe(r.target))return;let o=Q(e,n);if(!o)return;r.preventDefault(),Yr(e,o,r.target,e)},{signal:t.signal}),e.addEventListener("pointerdown",(r)=>{let o=qr(e,Xt(e));if(r.pointerType!=="touch"||o==null||Xe(r.target))return;Ee(n),n.pointerId=r.pointerId,n.startX=r.clientX,n.startY=r.clientY,n.timer=setTimeout(()=>{n.timer=null;let i=Q(e,n);if(!i)return;n.suppressClickUntil=Date.now()+Ur,we(e,i,{x:n.startX,y:n.startY,origin:r.target,trigger:"touch"})},o)},{signal:t.signal,passive:!0}),e.addEventListener("pointermove",(r)=>{if(r.pointerId!==n.pointerId||!n.timer)return;if(Math.abs(r.clientX-n.startX)>jt||Math.abs(r.clientY-n.startY)>jt)Ee(n)},{signal:t.signal,passive:!0});for(let r of["pointerup","pointercancel","pointerleave"])e.addEventListener(r,(o)=>{if(o.pointerId===n.pointerId)Ee(n)},{signal:t.signal,passive:!0});e.addEventListener("click",(r)=>{if(Date.now()<=n.suppressClickUntil)r.preventDefault(),r.stopPropagation(),n.suppressClickUntil=0},{signal:t.signal,capture:!0}),e.addEventListener("click",(r)=>{let o=r.target.closest("[data-context-menu-trigger]");if(!o||o.getAttribute("aria-controls")!==e.getAttribute("data-context-menu"))return;let i=Q(e,n);if(!i)return;if(r.preventDefault(),r.stopPropagation(),L(i)){v(i);return}we(e,i,{distance:4,origin:o,trigger:"button",restoreFocusTo:o})},{signal:t.signal}),be.set(e,n)}function Jr(e){let t=be.get(e);if(!t)return;if(Ee(t),t.controller.abort(),t.menu&&Kt(t.menu)?.context===e)v(t.menu,{restoreFocus:!1});Yt(e,t),be.delete(e)}S({[Br]:(e)=>(Gr(e),()=>Jr(e))});var Ge=new WeakMap;function Gt(e,t){let n=Array.isArray(e)?e:[e];if(!n.length||n.some((r)=>typeof r!=="string"||!r))throw TypeError(`${t} requires one or more command names.`);return[...new Set(n)]}function Jt(e){return e.startsWith("--")?e:e.toLowerCase()}function V(e){let t=e.getAttribute("commandfor");if(!t)return null;return e.getRootNode().getElementById?.(t)??null}function Zt(e){return`button[commandfor]:is(${Gt(e,"commandSelector()").map((n)=>`[command="${n.replaceAll("\\","\\\\").replaceAll('"',"\\\"")}"]`).join(", ")})`}function Zr(e,t){let n=t.defaultView?.Element;if(!n)return null;for(let r of e.composedPath?.()??[e.target]){if(r instanceof n&&r.matches("button[commandfor][command]"))return r;if(r===t)break}return null}function Qr(e){let t=new Map;function n(r){if(r.defaultPrevented)return;let o=Zr(r,e);if(!o||o.disabled)return;let i=Jt(o.getAttribute("command")),s=t.get(i);if(!s)return;let c=s.resolve(o);if(!c)return;s.prepare?.(o,c,i),s.handle(r,o,c,i)}return e.addEventListener("click",n),{commands:t,route:n}}function R(e,{resolve:t=V,prepare:n,handle:r}={}){let o=[...new Set(Gt(e,"registerCommands()").map((l)=>Jt(l)))];if(typeof t!=="function"||n!==void 0&&typeof n!=="function"||typeof r!=="function")throw TypeError("registerCommands() requires function callbacks.");if(typeof document>"u")return{disconnect(){}};let i=document,s=Ge.get(i);if(!s)s=Qr(i),Ge.set(i,s);let c=o.find((l)=>s.commands.has(l));if(c)throw Error(`Command "${c}" is already registered in this document.`);let u={resolve:t,prepare:n,handle:r};for(let l of o)s.commands.set(l,u);let d=!0;return{disconnect(){if(!d)return;d=!1;for(let l of o)if(s.commands.get(l)===u)s.commands.delete(l);if(!s.commands.size)i.removeEventListener("click",s.route),Ge.delete(i)}}}var M=new WeakMap,Je=new Set,eo=["show-modal","show","request-close","close"],to="dialog",no="[data-title], h1, h2, h3, h4, h5, h6",ro=250,Qt=0;function B(e){return e?.nodeType===1&&e.localName==="dialog"}function nn(e,t){return e.hasAttribute(t)&&e.getAttribute(t)!=="false"}function oo(e,t){if(!e.id)Qt++,e.id=`${t}-${Qt}`;return e.id}function rn(e,t=Ze(e)){if(t)e.setAttribute("aria-modal","true");else e.removeAttribute("aria-modal");if(e.hasAttribute("aria-label")||e.hasAttribute("aria-labelledby"))return;let n=e.getAttribute("data-title")?.trim();if(n){e.setAttribute("aria-label",n);return}let r=e.querySelector(no);if(r)e.setAttribute("aria-labelledby",oo(r,"dialog-title"))}function Ze(e){return e.getAttribute("data-dialog-modal")!=="false"}function io(e,t=null){return t==null?Ze(e):t}function en(e){if(!e.open)return!1;try{return e.matches(":modal")}catch{return!1}}function Te(e=document){let t=!1;for(let o of Je){let i=M.get(o);if(o.ownerDocument===e&&o.isConnected&&o.open&&i?.modalOpen===!0){t=!0;break}}let n=e.documentElement,r=n.classList.contains(y.modalOpen);if(t&&!r){let o=e.defaultView?.innerWidth;n.classList.toggle(y.hadScrollbar,Number.isFinite(o)&&o>n.clientWidth)}else if(!t)n.classList.remove(y.hadScrollbar);n.classList.toggle(y.modalOpen,t)}function on(e){return nn(e,"data-dialog-dismissible")}function so(e){return nn(e,"data-dialog-view-transition")}var ye="actual-dialog";function co(e=document){return typeof e.startViewTransition==="function"}function ao(e=document){return!e.defaultView?.matchMedia?.("(prefers-reduced-motion: reduce)").matches}function ve(e,t){if(e)e.style.viewTransitionName=t}function ee(...e){for(let t of e)if(t)t.style.viewTransitionName=""}function Qe(e,t){let n=e.ownerDocument;return so(e)&&co(n)&&ao(n)&&t?.isConnected===!0}function uo(e,t,n=null){if(!Qe(e,t)){tn(e,t,n);return}ve(t,ye),e.ownerDocument.startViewTransition(()=>{ee(t),ve(e,ye),tn(e,t,n)}).finished.finally(()=>ee(e,t)).catch(()=>{})}function lo(e,t){let n=e.getBoundingClientRect();return t.clientX<n.left||t.clientX>n.right||t.clientY<n.top||t.clientY>n.bottom}function fo(e){let t=z(e),n=e.ownerDocument.defaultView;if(t.staticTimer)n?.clearTimeout(t.staticTimer);e.classList.remove(y.static),e.offsetWidth,e.classList.add(y.static),t.staticTimer=n?.setTimeout(()=>{e.classList.remove(y.static),t.staticTimer=null},ro)}function po(e,t=""){let n=M.get(e);if(n)n.closing=!1,n.returnValue="";if(e.open)e.close(t)}function Se(e,t=""){if(!B(e)||!e.open)return;let n=z(e);if(n.closing)return;let r=n.restoreFocusTo;if(Qe(e,r)){n.closing=!0,ve(e,ye),e.ownerDocument.startViewTransition(()=>{ee(e),ve(r,ye),e.close(t)}).finished.finally(()=>{n.closing=!1,ee(r)}).catch(()=>{});return}po(e,t)}function sn(e,t=""){if(!B(e)||!e.open)return;if(typeof e.requestClose==="function"){z(e).returnValue=t,e.requestClose(t);return}Se(e,t)}function tn(e,t=null,n=null){if(!B(e)||e.open||!e.isConnected)return;let r=z(e),o=io(e,n);rn(e,o),r.closing=!1,r.restoreFocusTo=t||e.ownerDocument.activeElement;let i=e.ownerDocument.defaultView,s=i?.scrollY??0;if(o)e.showModal(),r.modalOpen=!0;else e.show(),r.modalOpen=!1;if(s>0)i?.scrollTo(0,s);Te(e.ownerDocument)}function mo(e){let t=e.currentTarget;if(e.target!==t||!lo(t,e))return;if(!on(t)){if(("closedBy"in t?t.closedBy:"")==="any")return;e.preventDefault(),fo(t);return}e.preventDefault(),sn(t)}function ho(e){let{currentTarget:t,target:n}=e;if(!(n instanceof HTMLFormElement))return;if(n.method.toLowerCase()!=="dialog")return;if(!Qe(t,M.get(t)?.restoreFocusTo))return;e.preventDefault(),Se(t,e.submitter?.value||"")}function go(e){let t=e.currentTarget,n=M.get(t),r=new CustomEvent(C.dialogCancel,{bubbles:!0,cancelable:!0,detail:{dialog:t,sourceEvent:e}});if(!t.dispatchEvent(r)){if(e.preventDefault(),n)n.returnValue="";return}e.preventDefault(),Se(t,n?.returnValue||"")}function wo(e){let t=e.currentTarget,n=M.get(t);if(ee(t),!n)return;if(n.staticTimer)t.ownerDocument.defaultView?.clearTimeout(n.staticTimer),n.staticTimer=null;t.classList.remove(y.static),n.closing=!1,n.returnValue="",n.modalOpen=!1,Te(t.ownerDocument);let r=n.restoreFocusTo;if(n.restoreFocusTo=null,r?.isConnected&&t.ownerDocument.activeElement!==r)r.focus({preventScroll:!0})}function z(e){if(M.has(e))return M.get(e);let t=new AbortController,n={controller:t,closing:!1,modalOpen:en(e),restoreFocusTo:null,returnValue:"",staticTimer:null};if(rn(e,e.open?en(e):Ze(e)),e.addEventListener("click",mo,{signal:t.signal}),e.addEventListener("submit",ho,{signal:t.signal}),e.addEventListener("cancel",go,{signal:t.signal}),e.addEventListener("close",wo,{signal:t.signal}),on(e)&&"closedBy"in e&&e.closedBy==="any")e.closedBy="closerequest";return M.set(e,n),Je.add(e),Te(e.ownerDocument),n}function Eo(e){z(e)}function bo(e){let t=M.get(e);if(!t)return;if(t.staticTimer)e.ownerDocument.defaultView?.clearTimeout(t.staticTimer);t.controller.abort(),e.classList.remove(y.static),t.modalOpen=!1,M.delete(e),Je.delete(e),Te(e.ownerDocument)}R(eo,{resolve:(e)=>{let t=V(e);return B(t)?t:null},prepare:(e,t,n)=>{if(B(t))z(t);if(e.setAttribute("aria-controls",t.id),!e.hasAttribute("aria-haspopup")&&(n==="show-modal"||n==="show"))e.setAttribute("aria-haspopup","dialog")},handle:(e,t,n,r)=>{if(e.preventDefault(),!B(n))return;if(r==="show-modal"||r==="show"){uo(n,t,r==="show-modal");return}if(r==="request-close"){sn(n,t.value||"");return}if(r==="close")Se(n,t.value||"")}});S({[to]:(e)=>(Eo(e),()=>bo(e))});R("--dismiss",{handle(e,t,n){e.preventDefault(),n.hidden=!0,n.dispatchEvent(new CustomEvent(C.dismiss,{bubbles:!0,detail:{trigger:t}}))}});var Ae='[data-enhance~="tabs"]';function cn(e){return[...e.querySelectorAll('[role="tab"]')].filter((t)=>t.closest(Ae)===e)}function yo(e){let t=new Map;for(let n of e){let r=xe(n);if(r)t.set(n,r)}return t}function xe(e){let t=e.getAttribute("aria-controls");return t?e.ownerDocument.getElementById(t):null}function et(e){return e.disabled||e.getAttribute("aria-disabled")==="true"}function an(e){return cn(e).filter((t)=>!t.hidden&&!et(t)&&xe(t))}function un(e){if(!e.hasAttribute("tabindex"))e.tabIndex=-1}function Ce(e){if(!e||et(e)||!xe(e))return;let t=e.closest(Ae);if(!t)return;let n=cn(t),r=yo(n);for(let i of n)i.setAttribute("aria-selected","false"),i.tabIndex=-1;for(let[,i]of r)i.hidden=!0;e.setAttribute("aria-selected","true"),e.tabIndex=0;let o=r.get(e);if(o)un(o),o.hidden=!1}function vo(e){if(!e)return;Ce(e),e.focus()}function To(e){let t=an(e);if(!t.length)return;let n=t.find((r)=>r.getAttribute("aria-selected")==="true")||t[0];Ce(n)}function So(e){let t=e.currentTarget,n=e.target.closest('[role="tab"]');if(!n||n.closest(Ae)!==t)return;let r=an(t);if(!r.length||!r.includes(n))return;let o=t.getAttribute("aria-orientation")==="vertical";if(e.key==="ArrowDown"&&!o){let c=xe(n);if(c)e.preventDefault(),un(c),c.focus();return}if(e.key==="Enter"||e.key===" "){e.preventDefault(),Ce(n);return}let i=t.ownerDocument.defaultView?.getComputedStyle(t).direction||"ltr",s=U(r,n,e.key,{orientation:o?"vertical":"horizontal",wrap:!0,direction:i});if(!s)return;e.preventDefault(),vo(s)}function Ao(e){let t=e.currentTarget,n=e.target.closest('[role="tab"]');if(!n||n.closest(Ae)!==t)return;if(et(n)){e.preventDefault();return}if(e.preventDefault(),n.getAttribute("aria-selected")==="true")return;Ce(n),n.focus()}F("tabs",(e)=>{let t=new AbortController;return To(e),e.addEventListener("click",Ao,{signal:t.signal}),e.addEventListener("keydown",So,{signal:t.signal}),()=>t.abort()});var xo=150,Co=100,ln=0,Le=new WeakMap,k=new WeakMap;function Lo(e){try{return e.showPopover(),!0}catch{return!1}}function pn(e){try{e.hidePopover()}catch{}}function fn(e){e.style.position="fixed",e.removeAttribute("hidden"),e.setAttribute("popover","manual")}function Do(e){return k.get(e)?.visible===!0}function Mo(e){return e?.getAttribute("data-tooltip-placement")||"top"}function mn(e,t){let n=e?.getAttribute(t);return n!==null&&n.toLowerCase()!=="false"}function nt(e){return mn(e,"data-tooltip-click")}function q(e){return mn(e,"data-tooltip-visible")}function rt(e){return(e.getAttribute("aria-describedby")||"").split(/\s+/).filter(Boolean)}function ko(e,t){let n=rt(e);if(n.includes(t))return!1;return e.setAttribute("aria-describedby",[...n,t].join(" ")),!0}function Oo(e,t){let n=rt(e).filter((r)=>r!==t);if(n.length)e.setAttribute("aria-describedby",n.join(" "));else e.removeAttribute("aria-describedby")}function Io(e){let t=e.ownerDocument;for(let n of rt(e)){let r=t.getElementById(n);if(r?.getAttribute("role")==="tooltip")return r}return null}function Ro(e){let t;do ln++,t=`tooltip-${ln}`;while(e.getElementById(t));return t}function Fo(e,t,n){return J(e,t,{placement:Mo(e),distance:6,flip:!0,shift:!0,coordinateSpace:n})}function hn(e,t){let n=t.activeRef;if(!n||!t.wanted)return;if(!t.visible){if(!Lo(e))return;t.visible=!0}if(!Fo(n,e,t.space))t.visible=!1,pn(e);gn(e,t)}function No(e,t){if(t.stopTracking){if(t.trackedRef===t.activeRef)return;ot(t)}t.trackedRef=t.activeRef,t.stopTracking=fe(t.activeRef,e,()=>hn(e,t))}function ot(e){if(e?.stopTracking?.(),e)e.stopTracking=null,e.trackedRef=null}function gn(e,t){let n=t.activeRef,r=t.visible&&!q(n);if(r&&t.unregisterEscape&&t.escapeRef===n)return;if(t.unregisterEscape?.(),t.unregisterEscape=null,t.escapeRef=null,!r)return;t.unregisterEscape=de(e,()=>te(e,!0)),t.escapeRef=n}function te(e,t=!1){let n=k.get(e);if(!t&&q(n?.activeRef))return;if(n?.timer)clearTimeout(n.timer),n.timer=null;if(n?.hideTimer)clearTimeout(n.hideTimer),n.hideTimer=null;if(n)n.wanted=!1,n.visible=!1;if(pn(e),n?.unregisterEscape?.(),n)n.unregisterEscape=null,n.escapeRef=null;ot(n)}function wn(e){let t=k.get(e);if(!t?.hideTimer)return;clearTimeout(t.hideTimer),t.hideTimer=null}function tt(e){let t=k.get(e);if(!t)return;if(nt(t.activeRef)||q(t.activeRef))return;if(t.hovered||t.focused||t.overTip)return;if(t.hideTimer)clearTimeout(t.hideTimer);t.hideTimer=setTimeout(()=>{if(t.hideTimer=null,!t.hovered&&!t.focused&&!t.overTip)te(e)},Co)}function Vo(e,t={}){let n=k.get(e);if(n)return n;let r=new AbortController;return n={refs:new Set,activeRef:null,controller:r,stopTracking:null,trackedRef:null,unregisterEscape:null,escapeRef:null,generated:t.generated===!0,wanted:!1,visible:!1,space:"viewport",timer:null,hideTimer:null,hovered:!1,focused:!1,overTip:!1},e.addEventListener("mouseenter",()=>{n.overTip=!0,wn(e)},{signal:r.signal}),e.addEventListener("mouseleave",()=>{n.overTip=!1,tt(e)},{signal:r.signal}),k.set(e,n),n}function it(e){let t=Le.get(e);if(t)return t.tip;let n,r=!1,o=!1,i=e.getAttribute("data-tooltip"),s=e.ownerDocument;if(i)n=s.createElement("div"),n.className=y.tooltip,n.role="tooltip",n.id=Ro(s),n.textContent=i,r=!0,(e.closest("dialog")||s.body).appendChild(n),fn(n),o=ko(e,n.id);if(!n){if(n=Io(e),!n)return null;if(!k.has(n))fn(n)}let c=Vo(n,{generated:r});c.refs.add(e);let u=new AbortController;e.addEventListener("mouseleave",()=>{c.hovered=!1,tt(n)},{signal:u.signal}),e.addEventListener("focusout",(l)=>{if(l.relatedTarget&&e.contains(l.relatedTarget))return;c.focused=!1,tt(n)},{signal:u.signal});let d=()=>{if(u.abort(),Le.delete(e),o)Oo(e,n.id);if(c.refs.delete(e),c.activeRef===e)te(n,!0),c.activeRef=null;if(c.refs.size>0)return;if(te(n,!0),c.controller.abort(),ot(c),k.delete(n),c.generated)n.remove()};return Le.set(e,{tip:n,cleanup:d}),n}function _o(e){Le.get(e)?.cleanup?.()}function st(e,t,n=!1){let r=k.get(e);if(!r)return;r.activeRef=t;let o=pe(t);if(r.space=o.space,e.style.position=o.position,gn(e,r),wn(e),r.timer)clearTimeout(r.timer);let i=()=>{r.timer=null,r.wanted=!0,No(e,r),hn(e,r)};if(n)i();else r.timer=setTimeout(i,xo)}var ct="[data-tooltip]";function dn(e){let t=e.target.closest?.(ct);if(!t)return;if(nt(t)||q(t))return;if((e.type==="mouseover"||e.type==="focusin")&&e.relatedTarget instanceof Node&&t.contains(e.relatedTarget))return;let n=it(t);if(!n)return;let r=k.get(n);if(e.type==="focusin")r.focused=!0;else r.hovered=!0;st(n,t)}function Po(e){let t=e.target.closest?.(ct);if(!t||!nt(t)||q(t))return;let n=it(t);if(!n)return;if(e.preventDefault(),Do(n))te(n,!0);else st(n,t,!0)}if(typeof document<"u")document.addEventListener("mouseover",dn),document.addEventListener("focusin",dn),document.addEventListener("click",Po),S({[ct]:(e)=>{if(q(e)){let t=it(e);if(t)st(t,e,!0)}return()=>_o(e)}});var En=0.2,bn=new WeakMap;function yn(e){let t=e.getAttribute("data-scrollspy-root");if(!t)return null;try{return e.ownerDocument.querySelector(t)}catch{return null}}function $o(e){let t=[...e.querySelectorAll("a[href^='#']")],n=[];for(let r of t){let o=r.getAttribute("href").slice(1),i=o?e.ownerDocument.getElementById(o):null;if(i)n.push({link:r,section:i})}return n}function Uo(e,t){if(t)return{top:t.getBoundingClientRect().top,height:t.clientHeight,scrollTop:t.scrollTop,scrollHeight:t.scrollHeight};let n=e.ownerDocument,r=n.scrollingElement||n.documentElement;return{top:0,height:r.clientHeight,scrollTop:r.scrollTop,scrollHeight:r.scrollHeight}}function Wo(e,t){let n=(e.getAttribute("data-scrollspy-offset")??"").trim();if(!n)return t*En;let r=Number.parseFloat(n);if(!Number.isFinite(r))return t*En;return Math.max(0,n.endsWith("%")?t*r/100:r)}function Bo(e){let t=new AbortController,n=[],r=0,o;function i(a){if(a===o)return;o=a;for(let f of n)if(f.section===a)f.link.setAttribute("aria-current","location");else f.link.removeAttribute("aria-current")}function s(){if(r=0,!n.length)return;let a=yn(e),{top:f,height:p,scrollTop:m,scrollHeight:h}=Uo(e,a);if(h>p&&m+p>=h-1){i(n.at(-1).section);return}let w=f+Wo(e,p),E=null;for(let{section:g}of n)if(g.getBoundingClientRect().top<=w)E=g;i(E)}function c(a=s){if(r)cancelAnimationFrame(r);r=requestAnimationFrame(a)}function u(){n=$o(e),o=void 0,s()}(yn(e)??e.ownerDocument.defaultView)?.addEventListener("scroll",()=>c(),{passive:!0,signal:t.signal}),e.ownerDocument.defaultView?.addEventListener("resize",()=>c(),{passive:!0,signal:t.signal});let l=new MutationObserver(()=>c(u));return l.observe(e,{childList:!0,subtree:!0}),bn.set(e,{rebuild:u}),u(),()=>{if(t.abort(),r)cancelAnimationFrame(r);l.disconnect(),bn.delete(e)}}F("scrollspy",Bo);function De(e){return typeof e.selectionStart==="number"?e.selectionStart:e.value.length}function Me(e,t){if(e.ownerDocument.activeElement!==e)return;if(typeof e.setSelectionRange!=="function")return;try{e.setSelectionRange(t,t)}catch{}}function ke(e){e.dispatchEvent(new Event("input",{bubbles:!0}))}function Oe(e,t,n){let r=!1;function o(i){if(r||i.isComposing)return;t(i)}e.addEventListener("compositionstart",()=>{r=!0},{signal:n}),e.addEventListener("compositionend",(i)=>{r=!1,o(i)},{signal:n}),e.addEventListener("input",o,{signal:n})}var zo="input[data-filter]",Tn=new Map([["numeric",qo],["decimal",Ho],["lower",jo],["upper",Ko],["letters",Xo],["slug",Go]]);function qo(e){return e.replace(/\D/gu,"")}function Ho(e){let t=e.replace(/,/g,"."),n="",r=!1;for(let o of t)if(/^\d$/u.test(o))n+=o;else if(o==="."&&!r)n+=".",r=!0;return n}function jo(e){return e.toLocaleLowerCase()}function Ko(e){return e.toLocaleUpperCase()}function Xo(e){return e.replace(/[^\p{L}]/gu,"")}function Yo(e){return e.normalize("NFKD").replace(/\p{M}/gu,"")}function Go(e,t){let n=t?.inputType==="insertText"&&/[^\p{L}\p{N}]$/u.test(e),r=Yo(e).toLowerCase().replace(/[^\p{L}\p{N}]+/gu,"-").replace(/^-+/,"");return n?r:r.replace(/-+$/,"")}function vn(e,t,n){return t.reduce((r,o)=>Tn.get(o)(r,n),e)}function Jo(e){return e.split("|").map((t)=>t.trim().toLowerCase()).filter((t)=>Tn.has(t))}function Zo(e){let t=e.getAttribute("data-filter")?.trim().toLowerCase();return t?Jo(t):[]}function Qo(e){let t=Zo(e);if(!t.length)return;let n=new AbortController,r=!1;return Oe(e,(o)=>{if(r)return;let i=De(e),s=e.value,c=vn(s,t,o);if(c===s)return;e.value=c,Me(e,vn(s.slice(0,i),t,o).length);try{r=!0,ke(e)}finally{r=!1}},n.signal),()=>n.abort()}S({[zo]:Qo});var ei="input[data-mask]",at={9:(e)=>/^\d$/u.test(e),a:(e)=>/^\p{L}$/u.test(e),"*":()=>!0};function re(e){return Object.hasOwn(at,e)}function Sn(e,t){let n=[...t],r=[],o=[],i=0,s=0;e:for(let c of e){s+=c.length;while(i<n.length){let u=n[i];if(!re(u)){if(i++,c===u)continue e;continue}if(at[u](c))r.push(c),o.push(s),i++;continue e}break}return{positions:o,raw:r}}function ne(e,t){return Sn(e,t).raw}function ti(e,t){let n="";for(let r=t;r<e.length&&!re(e[r]);r++)n+=e[r];return n}function An(e,t,n=""){let r=n.startsWith("insert"),o=[...t],i=0,s="";for(let c=0;c<o.length;c++){let u=o[c];if(!re(u)){if(i<e.length)s+=u;continue}let d=!1;while(i<e.length){let l=e[i];if(i++,!at[u](l))continue;s+=l,d=!0;break}if(!d)break;if(r&&i>=e.length){s+=ti(o,c+1);break}}return s}function ni(e,t,n=""){if(!t)return e;return An(ne(e,t),t,n)}function ri(e,t,n){if(n<=0)return 0;let r=Sn(e,t).positions[n-1];if(r==null)return e.length;let o=[...t],i=0,s=0;for(;s<o.length;s++){if(!re(o[s]))continue;if(i++,i===n)break}let c=r;for(s++;s<o.length;s++){let u=o[s];if(re(u)||!e.startsWith(u,c))break;c+=u.length}return c}function oi(e){let t=e.dataset.mask||"";if(!t)return;let n=new AbortController,r=!1,o=e.value;return Oe(e,(i)=>{if(r)return;let s=i.inputType||"",c=De(e),u=ne(e.value.slice(0,c),t).length,d=e.value,l=ni(d,t,s),a=ne(d,t).length===ne(o,t).length;if(s.startsWith("delete")&&a&&l.length>d.length){let f=ne(d,t),p=s==="deleteContentForward"?u:u-1;if(p>=0&&p<f.length)f.splice(p,1),u=Math.max(0,p),l=An(f,t,s)}if(o=l,l===d)return;e.value=l,Me(e,ri(l,t,u));try{r=!0,ke(e)}finally{r=!1}},n.signal),()=>n.abort()}S({[ei]:oi});var xn=["--password-toggle"],ii=Zt(xn),H=new Set,ut=new WeakSet;function si(e){let t=V(e);return t?.localName==="input"&&(t.type==="password"||H.has(t))?t:null}function ci(e){if(!e.id)return[];return e.getRootNode().querySelectorAll(`${ii}[commandfor="${CSS.escape(e.id)}"]`)}function lt(e,t){if(e.type=t?"text":"password",t)H.add(e);else H.delete(e);for(let n of ci(e))n.setAttribute("aria-pressed",String(t))}function Cn(e){if(e.defaultPrevented)return;for(let t of e.target.elements??[])if(H.has(t))lt(t,!1)}function ai(e){let t=e.getRootNode();if(ut.has(t))return;ut.add(t),t.addEventListener("submit",Cn)}R(xn,{resolve:si,prepare:(e,t)=>{if(e.setAttribute("aria-controls",t.id),!e.hasAttribute("aria-pressed"))e.setAttribute("aria-pressed","false")},handle:(e,t,n)=>{e.preventDefault();let r=n.type==="password";if(r)ai(n);lt(n,r)}});if(typeof document<"u")ut.add(document),document.addEventListener("submit",Cn),document.defaultView?.addEventListener("pagehide",()=>{for(let e of H){if(!e.isConnected){H.delete(e);continue}lt(e,!1)}});var pt="novalidate",Ln=y.wasValidated,ui=se("validation"),li=y.field,mt=y.danger,ht="validationManagedNovalidate",ft=new WeakMap,Dn=new WeakMap;function dt(e,t,n){if(t<1||t>12||n<1)return!1;let r=new Date(Date.UTC(e,t,0)).getUTCDate();return n<=r}function fi(e){let t=e.trim(),n=/^(\d{4})-(\d{2})-(\d{2})$/.exec(t);if(n)return dt(Number(n[1]),Number(n[2]),Number(n[3]));let r=/^(\d{1,2})([/.-])(\d{1,2})\2(\d{4})$/.exec(t);if(!r)return!1;let o=Number(r[1]),i=Number(r[3]),s=Number(r[4]);return dt(s,i,o)||dt(s,o,i)}function di(e,t){let n=Dn.get(e);if(!n)n=new Set,Dn.set(e,n);if(n.has(t))return;n.add(t),console.warn(`Unknown validation rule "${t}" on ${e.name||e.id||"field"}`)}var pi={same(e,t,n){if(!n)return!1;try{let r=t.form?.querySelector(n);if(!r)return!1;return e===r.value}catch{return!1}},number(e){return/^[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?$/.test(e)},digits(e){return/^\d+$/.test(e)},alnum(e){return/^[a-z0-9]+$/i.test(e)},date(e){return fi(e)}};function Ie(e){return!e||e.disabled||e.willValidate===!1||typeof e.checkValidity!=="function"||typeof e.setCustomValidity!=="function"}function kn(e){return e.closest?.(`.${li}`)||null}var gt=new WeakSet;function On(e){if(!e.classList.contains(mt))gt.add(e);e.classList.add(mt)}function In(e){let t=kn(e);if(!t)return;if(t.querySelector('[aria-invalid="true"], [data-validation-errors]'))On(t);else if(gt.has(t))t.classList.remove(mt),gt.delete(t)}function Rn(e){if(e.dataset.validationErrors==="server")return!1;e.setCustomValidity(""),delete e.dataset.validationErrors;let t=e.checkValidity(),n=e.dataset.validationRules;if(n){let r=e.value.trim().length>0,o=[];for(let i of n.split(",")){if(!r)continue;let s=i.trim();if(!s)continue;let[c,...u]=s.split(/\s+/),d=pi[c];if(!d){di(e,c),o.push(c);continue}let l=!1;try{l=d(e.value,e,...u)}catch(a){console.warn(`Validation rule "${c}" failed on ${e.name||e.id||"field"}`,a)}if(!l)o.push(c)}if(o.length>0)t=!1,e.setCustomValidity(o.join(", ")),e.dataset.validationErrors=o.join(",")}return t}function Fn(e){e.setAttribute("aria-invalid","true");let t=kn(e);if(t)On(t)}function wt(e){e.removeAttribute("aria-invalid"),delete e.dataset.validationErrors,In(e)}function mi(e){for(let t of e.elements){if(Ie(t))continue;if(t.getAttribute("aria-invalid")==="true"&&!t.dataset.validationErrors)t.dataset.validationErrors="server";In(t)}}function hi(e){if(e.dataset[ht]===void 0)return;e.removeAttribute(pt),delete e.dataset[ht]}function Mn(e,t){if(Ie(e))return;if(t==="input"&&e.dataset.validationErrors==="server")delete e.dataset.validationErrors,e.setCustomValidity("");let n=e.dataset.validationTrigger||"",r=e.getAttribute("aria-invalid")==="true"||e.dataset.validationErrors;if(!(t==="blur"||n.includes(t)&&e.value.length>0)&&!r)return;if(Rn(e))wt(e);else Fn(e)}function gi(e){let t=ft.get(e);if(t)return t;let n=new AbortController;if(!e.hasAttribute(pt))e.setAttribute(pt,""),e.dataset[ht]="";mi(e),e.addEventListener("focusout",(o)=>{let i=o.target;if(i instanceof Element&&i.form===e)Mn(i,"blur")},{signal:n.signal}),e.addEventListener("input",(o)=>{let i=o.target;if(i instanceof Element&&i.form===e)Mn(i,"input")},{signal:n.signal}),e.addEventListener("reset",()=>{e.classList.remove(Ln);for(let o of e.elements){if(Ie(o))continue;o.setCustomValidity(""),wt(o)}},{signal:n.signal}),e.addEventListener("submit",(o)=>{if(o.submitter?.formNoValidate)return;let i=null;for(let s of e.elements){if(Ie(s))continue;if(Rn(s)){wt(s);continue}if(Fn(s),!i)i=s}if(e.classList.add(Ln),!i)return;o.preventDefault(),o.stopPropagation();try{i.focus()}catch{}e.dispatchEvent(new CustomEvent(C.invalid,{bubbles:!0,detail:{form:e,firstInvalid:i,message:e.dataset.validationMessage??""}}))},{signal:n.signal});let r=()=>{n.abort(),hi(e),ft.delete(e)};return ft.set(e,r),r}if(typeof document<"u")S({[`form${ui}`]:(e)=>gi(e)});function Nn(...e){let t=e.filter(Boolean).flatMap((n)=>typeof n.getAnimations==="function"?n.getAnimations({subtree:!0}):[]).filter((n)=>typeof n.transitionProperty==="string");return Promise.allSettled(t.map((n)=>n.finished))}var wi='[data-status][role="status"]',Et="statusClasses",$n="--status-viewport-offset",Ei=3000,bt,yt=0,j=null,Re=new WeakMap;function vt(){if(typeof document>"u")return null;return document.querySelector(wi)}function Un(e){let t=Re.get(e);if(!t)return;let n=t.parent?.isConnected?t.parent:e.ownerDocument?.body;if(n){let r=t.nextSibling?.parentNode===n?t.nextSibling:null;n.insertBefore(e,r)}Re.delete(e)}function bi(e,t){let n=t?.closest?.("dialog[open]");if(!n||n.ownerDocument!==e.ownerDocument){Un(e);return}if(n.contains(e))return;if(!Re.has(e))Re.set(e,{parent:e.parentNode,nextSibling:e.nextSibling});n.append(e)}function yi(e){if(j?.target===e)return;Fe();let t=e.ownerDocument?.defaultView,n=t?.visualViewport;if(!n)return;let r=new AbortController,o=()=>{if(!e.isConnected){Fe();return}let i=Math.max(0,t.innerHeight-n.height-n.offsetTop);e.style.setProperty($n,`${i}px`)};n.addEventListener("resize",o,{signal:r.signal}),n.addEventListener("scroll",o,{signal:r.signal}),o(),j={target:e,stop:()=>r.abort()}}function Fe(){if(!j)return;j.stop(),j.target.style.removeProperty($n),j=null}function vi(e){return typeof e==="string"?e.trim().split(/\s+/).filter(Boolean):[]}function Wn(e){let t=e.dataset[Et];if(t)e.classList.remove(...t.split(" "));delete e.dataset[Et]}function K(e,t={}){let n=vt();if(!n||e==null)return;if(e===""){K.clear();return}clearTimeout(bt),yt++,bi(n,t.source),Wn(n);let r=vi(t.intent);if(r.length)n.classList.add(...r),n.dataset[Et]=r.join(" ");if(n.textContent=e,n.classList.add(y.open),yi(n),t.duration!==!1)bt=setTimeout(()=>K.clear(),t.duration??Ei)}K.clear=function(){clearTimeout(bt);let t=vt();if(!t){Fe();return}let n=++yt;t.classList.remove(y.open),Nn(t).then(()=>{if(n!==yt)return;t.textContent="",Wn(t),Fe(),Un(t)})};var Ti=["--status"],Si=["--status-clear"];function Vn(e,t){e.dispatchEvent(new CustomEvent(C.status,{bubbles:!0,detail:t}))}function Ai(e){let t=e.getAttribute("data-status-duration");if(t===null)return;if(t==="false")return!1;let n=Number(t);return Number.isFinite(n)?n:void 0}function _n(e){let t=V(e);return t&&t===vt()?t:null}function Pn(e,t){e.setAttribute("aria-controls",t.id)}if(typeof document<"u")document.addEventListener(C.invalid,(e)=>{let t=e.detail?.message;if(t)K(t,{intent:"danger",source:e.target})}),document.addEventListener(C.status,(e)=>{let{message:t,intent:n,duration:r}=e.detail??{};if(t!=null)K(t,{intent:n,duration:r,source:e.target});else K.clear()}),R(Ti,{resolve:_n,prepare:Pn,handle:(e,t)=>{e.preventDefault(),Vn(t,{message:t.getAttribute("data-status-message"),intent:t.getAttribute("data-status-intent")??void 0,duration:Ai(t)})}}),R(Si,{resolve:_n,prepare:Pn,handle:(e,t)=>{e.preventDefault(),Vn(t,{})}});function xi(e){return e.replace(/([a-zA-Z_$][\w$-]*)\s*:|'((?:\\'|[^'])*)'/g,(t,n,r)=>{if(n)return`"${n}":`;return`"${r.replace(/\\'/g,"'").replace(/"/g,"\\\"")}"`})}function Bn(e){if(e==null||typeof e!=="string")return{};let t=e.trim();if(t==="")return{};let n=t,r;try{r=JSON.parse(n)}catch{let o=xi(n);n=o.startsWith("{")?o:`{${o}}`,r=JSON.parse(n)}if(r===null||typeof r!=="object"||Array.isArray(r))throw TypeError("Enhancement config must be an object");return r}var Ci='script[type="application/json"][data-enhance-modules]',Ne=new Map,Li=new Map,Di=new Map,Mi=(e)=>import(e);function zn(e,t,n){let r=new URL(e,document.baseURI).href;if(!t.has(r)){let o=new Promise((i,s)=>{let c=document.createElement(n==="script"?"script":"link");if(n==="script")c.src=r;else c.rel="stylesheet",c.href=r;c.onload=i,c.onerror=()=>{c.remove(),s(Error(`Unable to load ${n}: ${r}`))},document.head.append(c)});t.set(r,o),o.catch(()=>{if(t.get(r)===o)t.delete(r)})}return t.get(r)}function ki(e){return zn(e,Li,"script")}function Oi(e){return zn(e,Di,"style")}function Ii(e,t){return(n)=>{let r=new AbortController,o=n.getAttribute("data-enhance-config"),i=Bn(o??""),s=(u,d,l={})=>n.dispatchEvent(new CustomEvent(`actual:${e}:${u}`,{bubbles:!0,detail:d,...l})),c;try{c=t(n,{config:i,signal:r.signal,emit:s})}catch(u){throw r.abort(),u}if(c?.then)throw r.abort(),TypeError(`Enhancement "${e}" returned a Promise. connect() must be synchronous; use prepare() for asynchronous setup.`);if(c!==void 0&&typeof c!=="function")throw r.abort(),TypeError(`Enhancement "${e}" must return a cleanup function or undefined.`);return()=>{r.abort(),c?.()}}}function Ri(e,t){if(typeof t!=="string"||t.trim()==="")throw TypeError(`Enhancement "${e}" must declare a non-empty module URL.`)}function Fi(e,t){Ri(e,t);let n=new URL(t,document.baseURI).href,r=Ne.get(e);if(r){if(r.url!==n)throw Error(`Enhancement "${e}" is already declared from ${r.url} and cannot be replaced by ${n}.`);return r.promise.then(()=>({name:e,status:"skipped"}))}let o=Mi(n).then(async(i)=>{if(typeof i.default!=="function")throw TypeError(`Enhancement "${e}" must export a default function.`);if(i.prepare!==void 0){if(typeof i.prepare!=="function")throw TypeError(`Enhancement "${e}" exports an invalid prepare().`);await i.prepare({resolve:(s)=>new URL(s,n).href,loadScript:ki,loadStyle:Oi})}return F(e,Ii(e,i.default)),{name:e,status:"loaded"}}).catch((i)=>{if(Ne.get(e)?.promise===o)Ne.delete(e);throw i});return Ne.set(e,{url:n,promise:o}),o}async function Ni(e){let t=await Promise.allSettled(e.map(([r,o])=>Fi(r,o))),n={names:[],failed:[],skipped:[]};return t.forEach((r,o)=>{let i=e[o][0];if(r.status==="rejected")n.failed.push({name:i,error:r.reason});else if(r.value.status==="skipped")n.skipped.push(i);else n.names.push(i)}),n}function Vi(e){let t=JSON.parse(e);if(typeof t!=="object"||t===null||Array.isArray(t))throw TypeError("Manifest must be a JSON object.");return Object.entries(t)}async function _i(e){let t=Vi(e.textContent),n=await Ni(t);for(let r of n.failed)console.error(`Enhancement "${r.name}" failed to load:`,r.error);if(n.failed.length===0)e.remove();return n}function qn(){return S({[Ci]:(e)=>{_i(e).catch((t)=>{console.error("Failed to parse enhancement manifest:",t)})}})}qn();
|
|
1
|
+
var $e=new WeakMap,Ve=new WeakMap;function Pe(){return{refresh(){},disconnect(){}}}function St(e){return e?.nodeType===1||e?.nodeType===9||e?.nodeType===11}function Xn(e){let t=new Set,n="";function r(a){try{if(e.querySelector?.(a),e.nodeType===1)e.matches(a);return!0}catch(f){return console.error(`Invalid enhancer selector "${a}"`,f),!1}}function o(){n=[...t].flatMap((a)=>a.selectors).join(",")}function i(a,f){if(f?.nodeType!==1)return;let p=a.instances.get(f);for(let m of a.selectors){if(!f.matches(m))continue;if(p?.has(m))continue;let h;try{h=a.enhancers[m](f)}catch(w){console.error(`Enhancer failed for selector "${m}"`,w);continue}if(!p)p=new Map,a.instances.set(f,p);p.set(m,typeof h==="function"?h:null)}}function s(a,f){let p=a.instances.get(f);if(!p)return;for(let m of p.values())try{m?.()}catch(h){console.error("Enhancer cleanup failed",h)}a.instances.delete(f)}function c(a,f){if(!St(f))return;if(f.nodeType===1)i(a,f);if(a.selectorString)f.querySelectorAll?.(a.selectorString).forEach((p)=>{i(a,p)})}function u(a){if(!St(a)||!n)return;if(a.nodeType===1)for(let f of t)i(f,a);a.querySelectorAll?.(n).forEach((f)=>{for(let p of t)i(p,f)})}function d(){for(let a of t)for(let f of Array.from(a.instances.keys()))if(!f.isConnected||!e.contains(f))s(a,f)}let l=new MutationObserver((a)=>{let f=!1;for(let p of a){for(let m of p.addedNodes)u(m);if(p.removedNodes.length>0)f=!0}if(f)d()});return{add(a){let f=Object.keys(a).filter(r);if(!f.length)return null;let m={disconnected:!1,enhancers:Object.fromEntries(f.map((h)=>[h,a[h]])),instances:new Map,selectors:f,selectorString:f.join(",")};if(t.add(m),t.size===1)l.observe(e,{childList:!0,subtree:!0});return o(),c(m,e),m},refresh(a,f){if(a.disconnected)return;c(a,f)},remove(a){if(a.disconnected)return;a.disconnected=!0;for(let f of Array.from(a.instances.keys()))s(a,f);if(t.delete(a),o(),t.size===0)l.disconnect(),$e.delete(e)}}}var Yn=/^[a-z][a-z0-9-]*$/;function se(e){if(!Yn.test(e))throw TypeError(`Invalid enhancement name: ${e}`);return`[data-enhance~="${e}"]`}function F(e,t,n){if(typeof document>"u")return Pe();if(se(e),typeof t!=="function")throw TypeError("registerEnhancement() requires a function init.");n??=document.documentElement;let r=Ve.get(n);if(!r)r=new Map,Ve.set(n,r);if(r.has(e))throw Error(`Enhancement "${e}" is already registered on this root.`);let o=S({[se(e)]:t},n);return r.set(e,o),{refresh:(i)=>o.refresh(i),disconnect:()=>{if(o.disconnect(),r.get(e)===o)r.delete(e);if(r.size===0)Ve.delete(n)}}}function Gn(e){let t=$e.get(e);if(!t)t=Xn(e),$e.set(e,t);return t}function S(e,t){if(typeof document>"u")return Pe();t??=document.documentElement;let n=Gn(t),r=n.add(e);if(!r)return Pe();return{refresh:(o)=>n.refresh(r,o),disconnect:()=>{n.remove(r)}}}var Jn=["a[href]","button","input","select","textarea","summary","[contenteditable]:not([contenteditable='false'])","[tabindex]"].join(",");function Ue(e){if(!e||e.hidden)return!1;if(typeof e.checkVisibility==="function")return e.checkVisibility({visibilityProperty:!0,checkVisibilityCSS:!0});if(e.getClientRects().length===0)return!1;let t=e.ownerDocument?.defaultView?.getComputedStyle?.(e);if(!t)return!0;return t.visibility!=="hidden"&&t.visibility!=="collapse"}function Zn(e){return e.tabIndex>=0&&!e.matches(":disabled")&&Ue(e)&&!e.closest('[inert], [aria-hidden="true"]')}function Qn(e){return[...e.querySelectorAll(Jn)].filter(Zn)}function We(e){let t=Qn(e)[0];return t?.focus(),!!t}function ae(e){return e[0]||null}function ue(e){return e[e.length-1]||null}function ce(e,t,n,r={}){if(!e.length)return null;let o=r.wrap!==!1,i=e.indexOf(t);if(i===-1)return n>0?ae(e):ue(e);let s=i+n;if(!o)return e[s]||null;let c=(s%e.length+e.length)%e.length;return e[c]}function U(e,t,n,r={}){let o=r.orientation||"horizontal",i=r.wrap===!0,s=r.direction||"ltr";switch(n){case"Home":return ae(e);case"End":return ue(e);case"ArrowRight":if(o!=="horizontal")return null;return ce(e,t,s==="rtl"?-1:1,{wrap:i});case"ArrowLeft":if(o!=="horizontal")return null;return ce(e,t,s==="rtl"?1:-1,{wrap:i});case"ArrowDown":if(o!=="vertical")return null;return ce(e,t,1,{wrap:i});case"ArrowUp":if(o!=="vertical")return null;return ce(e,t,-1,{wrap:i});default:return null}}var er=new Set(["horizontal","vertical"]);function tr(e,t){if(t==null)e.removeAttribute("tabindex");else e.setAttribute("tabindex",t)}function At(e,t={}){if(!e?.addEventListener||!e?.contains)throw TypeError("connectFocusGroup() requires a root element.");if(typeof t.getItems!=="function")throw TypeError("connectFocusGroup() requires getItems().");let n=t.orientation||"horizontal";if(!er.has(n))throw TypeError(`Invalid focus-group orientation: ${n}`);let r=new AbortController,o=t.signal||null,i=new Map,s=null,c=!1;function u(){let m=new Set;return[...t.getItems()||[]].filter((h)=>{if(typeof h?.focus!=="function"||!e.contains(h)||m.has(h))return!1;return m.add(h),!0})}function d(m){if(!i.has(m))return;tr(m,i.get(m)),i.delete(m)}function l(m=s){if(c)return[];let h=u(),w=new Set(h);for(let b of i.keys())if(!w.has(b))d(b);let E=e.ownerDocument.activeElement,g=w.has(m)&&m||w.has(E)&&E||h.find((b)=>b.tabIndex===0)||h[0]||null;for(let b of h){if(!i.has(b))i.set(b,b.getAttribute("tabindex"));let T=b===g?0:-1;b.tabIndex=T}return s=g,h}function a(m){if(u().includes(m.target))l(m.target)}function f(m){let h=l(),w=e.ownerDocument.activeElement;if(!h.includes(w))return;let g=e.ownerDocument.defaultView?.getComputedStyle?.(e)?.direction==="rtl"?"rtl":"ltr",b=U(h,w,m.key,{orientation:n,wrap:t.wrap===!0,direction:g});if(!b)return;m.preventDefault(),l(b),b.focus()}e.addEventListener("focusin",a,{signal:r.signal}),e.addEventListener("keydown",f,{signal:r.signal}),l();function p(){if(c)return;c=!0,o?.removeEventListener("abort",p),r.abort();for(let m of i.keys())d(m);s=null}if(o)if(o.aborted)p();else o.addEventListener("abort",p,{once:!0});return{sync:l,disconnect:p}}var nr=":scope > li > .menu-item",rr=new Set(["menuitem","menuitemcheckbox","menuitemradio"]);function or(e){return!e.disabled&&e.getAttribute("aria-disabled")!=="true"&&Ue(e)&&!e.closest("[hidden], [inert], [aria-hidden='true']")}function Y(e){return[...e.querySelectorAll(nr)].filter(or)}function xt(e){return rr.has(e.getAttribute("role"))}function ir(e){let t=e.ownerDocument.activeElement;if(!e.contains(t)||!xt(t))return!1;return t.click(),!0}function Ct(e){return Y(e).length>0}function sr(e,t){let n=t?.closest?.(".menu-item");return n?.parentElement?.parentElement===e?n:null}function G(e){ae(Y(e))?.focus()}function Lt(e){ue(Y(e))?.focus()}function cr(e,{close:t,navigate:n=!0}){let r=e.currentTarget;if(n){let o=Y(r),i=U(o,r.ownerDocument.activeElement,e.key,{orientation:"vertical",wrap:!0});if(i){e.preventDefault(),i.focus();return}}switch(e.key){case"Tab":t(r);break;case"Enter":case" ":if(ir(r))e.preventDefault();break}}var Be=new WeakMap;function le(e,{close:t}){let n=Be.get(e);if(!n){let o=new AbortController,i=e.matches('[role="menu"]')?At(e,{getItems:()=>Y(e).filter(xt),orientation:"vertical",wrap:!0,signal:o.signal}):null;e.addEventListener("keydown",(s)=>cr(s,{close:()=>t(e),navigate:!i}),{signal:o.signal}),e.addEventListener("click",(s)=>{let c=sr(e,s.target);if(!c)return;if(c.matches(":disabled, [aria-disabled='true']")){s.preventDefault(),s.stopPropagation();return}},{signal:o.signal}),n={count:0,controller:o,focusGroup:i},Be.set(e,n)}n.count++;let r=!1;return()=>{if(r)return;if(r=!0,n.count--,n.count<=0)n.controller.abort(),Be.delete(e)}}function Rt(e){return e==="top"||e==="bottom"?"x":"y"}function ar(e){let[t,n=null]=e.split("-");return{side:t,align:n,crossAxis:Rt(t)}}function ur(e){return{top:"bottom",bottom:"top",left:"right",right:"left"}[e]||e}function lr(e,t,n,r,o,i){let s=Rt(n),c=e.x+e.width/2-t.width/2,u=e.y+e.height/2-t.height/2,d=e[s==="x"?"width":"height"]/2-t[s==="x"?"width":"height"]/2,l;switch(n){case"top":l={x:c,y:e.y-t.height-i};break;case"bottom":l={x:c,y:e.y+e.height+i};break;case"right":l={x:e.x+e.width+i,y:u};break;case"left":l={x:e.x-t.width-i,y:u};break;default:l={x:e.x,y:e.y}}if(r==="start"||r==="end"){let a=(o&&s==="x"?-1:1)*(r==="end"?1:-1);l[s]+=d*a}return l}function fr(e,t,n,r){return Math.max(n-e,0)+Math.max(e+t-r,0)}function dr(e){let t="dir"in e?e.dir:"";if(t==="rtl")return!0;if(t==="ltr")return!1;let n=e.ownerDocument?.defaultView;if(n?.CSS?.supports?.("selector(:dir(rtl))")&&typeof e.matches==="function")return e.matches(":dir(rtl)");return Boolean(n?.Element&&e instanceof n.Element&&n.getComputedStyle(e).direction==="rtl")}var pr=25;function mr(e){let t=e.defaultView;if(!t)return null;let n=e.documentElement,r=t.visualViewport,o=r?.offsetLeft||0,i=r?.offsetTop||0,s=r?.width||n.clientWidth||t.innerWidth,c=r?.height||n.clientHeight||t.innerHeight,u=e.compatMode==="BackCompat"?s-n.clientWidth:n.clientWidth-n.getBoundingClientRect().width;if(u>0&&u<=pr){let d=t.getComputedStyle?.(n).scrollbarGutter;if(d&&d!=="auto")s-=u}return{x:o,y:i,width:s,height:c,right:o+s,bottom:i+c}}function hr(e,t){return t.scope?t.scope.getBoundingClientRect():mr(e.ownerDocument)}function Dt(e,t,n,r,o){let i=n+o,s=r-t-o,c=s>=i,u=c?i:n,d=c?s:r-t;return Math.max(u,Math.min(e,d))}function Mt(e,t,n){if(!n)return 50;let r=(e-t)/n*100;return Math.round(Math.min(100,Math.max(0,r))*1000)/1000}function gr(e,t){return e.right<t.x||e.left>t.right||e.bottom<t.y||e.top>t.bottom}function wr(e,t,n,r,o){if(t==="top")return Math.max(0,e.top-n.y-r-o);if(t==="bottom")return Math.max(0,n.bottom-e.bottom-r-o);return Math.max(0,n.height-o*2)}function Er(e){if(e.hidden)return!1;if(typeof e.checkVisibility==="function")return e.checkVisibility();return e.getClientRects().length>0}function Ft(e){let{offsetWidth:t,offsetHeight:n}=e;if(t&&n)return{width:t,height:n};let r=e.getBoundingClientRect();return{width:t||r.width,height:n||r.height}}var kt=new WeakMap,Ot={scroll:0,resize:1,"element-resize":2};function br(e){let t=e.defaultView;if(!t)throw TypeError("floating must belong to a document with a browsing context");let n=new Set,r=new Map,o=t.ResizeObserver,i=!1,s=!1,c=t.visualViewport;function u(w,E){let g=r.get(w);if(g===void 0||Ot[E]>Ot[g])r.set(w,E)}function d(){if(i)return;i=!0,t.requestAnimationFrame(()=>{let w=[...r];r.clear(),i=!1;for(let[E,g]of w){if(!n.has(E)||!E.floating.isConnected)continue;E.callback({type:g})}})}function l(w){for(let E of n)u(E,w);d()}function a(w){if(!o)return null;let E=new Set,g=new o((V)=>{let oe=!1;for(let X of V)if(E.has(X.target))oe=!0;else E.add(X.target);if(!oe)return;u(w,"element-resize"),d()}),{reference:b,floating:T}=w;if(b)g.observe(b);if(T!==b)g.observe(T);return g}let f=()=>l("scroll"),p=()=>l("resize");function m(){if(s)return;e.addEventListener("scroll",f,{passive:!0,capture:!0}),t.addEventListener("resize",p,{passive:!0}),c?.addEventListener("scroll",f,{passive:!0}),c?.addEventListener("resize",p,{passive:!0}),s=!0}function h(){if(!s)return;e.removeEventListener("scroll",f,{capture:!0}),t.removeEventListener("resize",p),c?.removeEventListener("scroll",f),c?.removeEventListener("resize",p),s=!1}return{add(w,E,g){let b={reference:w,floating:E,callback:g};n.add(b),m();let T=a(b),V=!1;return()=>{if(V)return;if(V=!0,n.delete(b),r.delete(b),T?.disconnect(),n.size===0)h()}}}}function yr(e){let t=e.ownerDocument,n=kt.get(t);if(!n)n=br(t),kt.set(t,n);return n}function fe(e,t,n){if(!t?.ownerDocument)throw TypeError("autoUpdate() expects a floating HTMLElement");if(e&&e.ownerDocument!==t.ownerDocument)throw TypeError("reference and floating must belong to the same document");if(typeof n!=="function")throw TypeError("callback must be a function");return yr(t).add(e,t,n)}function It(e,t,n){if(!Er(t))return null;let r=n.placement||"bottom-start",o=n.distance||0,i=n.flip!==!1,s=n.shift!==!1,c=n.shiftPadding??4,{side:u,align:d,crossAxis:l}=ar(r),a=d?dr(e):!1,f=e.getClientRects(),p=u==="bottom"?f[f.length-1]:f[0];if(!p)return null;let m=hr(e,n);if(!m||gr(p,m))return null;let h=Ft(t),w={x:{size:h.width,start:m.x,end:m.right},y:{size:h.height,start:m.y,end:m.bottom}},E=(A,x)=>lr(p,h,A,x,a,o),g=(A,x)=>{let{size:D,start:O,end:I}=w[x];return fr(A,D,O+c,I-c)},b=(A,x)=>{let{size:D,start:O,end:I}=w[x];return g(s?Dt(A,D,O,I,c):A,x)},T=E(u,d);if(i){let A=l==="x"?"y":"x",x=g(T[A],A);if(x>0){let D=ur(u),O=E(D,d),I=g(O[A],A);if(I<x)u=D,T=O,x=I}if(A==="x"&&x>0){let D=E("top",d),O=E("bottom",d),I=g(O.y,"y")<g(D.y,"y"),_e=I?O:D;if(g(_e.y,"y")+b(_e.x,"x")<x+b(T.y,"y"))u=I?"bottom":"top",l="x",T=_e}}if(l==="x"&&s&&d){let A=g(T.x,"x");if(A>0){let x=d==="end"?"start":"end",D=E(u,x);if(g(D.x,"x")<A)d=x,T=D}}if(s){let{size:A,start:x,end:D}=w[l];T[l]=Dt(T[l],A,x,D,c)}let V=Mt(p.x+p.width/2,T.x,h.width),oe=Mt(p.y+p.height/2,T.y,h.height),X=`${wr(p,u,m,o,c)}px`,{style:P}=t,Hn=P.getPropertyValue("--available-height")!==X,ie=n.coordinateSpace==="document"?e.ownerDocument.defaultView:null,jn=ie?ie.scrollX:0,Kn=ie?ie.scrollY:0;P.left=`${T.x+jn}px`,P.top=`${T.y+Kn}px`,P.setProperty("--arrow-x",`${V}%`),P.setProperty("--arrow-y",`${oe}%`),P.setProperty("--available-height",X);let Tt=d?`${u}-${d}`:u;return t.dataset.placement=Tt,{width:h.width,height:h.height,roomChanged:Hn,placement:Tt}}function J(e,t,n={}){let r=It(e,t,n);if(!r)return!1;if(r.roomChanged){let o=Ft(t);if(o.width!==r.width||o.height!==r.height)It(e,t,{...n,placement:r.placement,flip:!1})}return!0}function Nt(e,t,n,r={}){let o=n.ownerDocument,{documentElement:i,defaultView:s}=o;if(!s)return!1;let c=o.dir||i?.dir||s.getComputedStyle?.(i).direction||"",u=new s.DOMRect(e,t,0,0);return J({ownerDocument:o,dir:c,matches:(l)=>l===":dir(rtl)"&&c==="rtl",getClientRects:()=>[u]},n,r)}var ze=new WeakMap;function de(e,t){let n=e.ownerDocument,r=ze.get(n);if(!r)r=[],ze.set(n,r),n.addEventListener("keydown",vr);let o={element:e,dismiss:t};return r.push(o),()=>{let i=r.indexOf(o);if(i>=0)r.splice(i,1)}}function vr(e){if(e.defaultPrevented||e.key!=="Escape"||e.ctrlKey||e.altKey||e.shiftKey||e.metaKey)return;let n=ze.get(e.currentTarget).at(-1);if(!n)return;e.preventDefault(),n.dismiss({restoreFocus:!0})}var C={surfaceOpen:"actual:surface-open",contextMenu:"actual:context-menu",status:"actual:status",invalid:"actual:invalid",dialogCancel:"actual:dialog-cancel",dismiss:"actual:dismiss"};function Tr(e){let t=e?.ownerDocument?.defaultView;if(!t)return!0;try{if(e.closest("dialog:modal, :popover-open"))return!0}catch{}for(let n=e;n;n=n.parentElement){let{position:r}=t.getComputedStyle(n);if(r==="fixed"||r==="sticky")return!0}return!1}function pe(e){let t=Tr(e)?"viewport":"document";return{space:t,position:t==="document"?"absolute":"fixed"}}var y={wasValidated:"was-validated",danger:"danger",fieldError:"field-error",field:"field",open:"is-open",static:"is-static",modalOpen:"has-modal-open",hadScrollbar:"had-scrollbar",tooltip:"tooltip"};var me=new Set,N=new WeakMap,qe=new WeakMap,_t=new WeakSet,$t="data-actual-surface",Sr=new Set(["true","inside","outside","false"]),Ar=new Set(["ArrowDown","ArrowLeft","ArrowRight","ArrowUp","End","Home","PageDown","PageUp"," "]),Vt=new WeakMap;function xr(e){let t=String(e??"outside");return Sr.has(t)?t:"true"}function Cr(e){let t=e.ownerDocument?.documentElement;if(!t)return null;let n=Vt.get(t);if(!n)n=S({[`[${$t}]`]:(r)=>()=>Bt(r)},t),Vt.set(t,n);return n}function Lr(e){try{return e.showPopover(),!0}catch{return!1}}function Dr(e){try{e.hidePopover()}catch{}}function Mr(e){if(!e.id)return[];return[...e.ownerDocument.querySelectorAll(`[aria-controls="${CSS.escape(e.id)}"]`)]}function He(e,t){for(let n of Mr(e))n.setAttribute("aria-expanded",t?"true":"false")}function Pt(e){let t=N.get(e);if(!t)return!0;if(t.trigger){let o=t.trigger.getBoundingClientRect().width;e.style.setProperty("--surface-anchor-width",`${o}px`)}else e.style.removeProperty("--surface-anchor-width");let n={placement:t.placement||"bottom-start",distance:t.distance??4,flip:t.flip!==!1,shift:t.shift!==!1,shiftPadding:t.shiftPadding??4,scope:t.scope,coordinateSpace:t.coordinateSpace};if(t.point)return Nt(t.point.x,t.point.y,e,n);let r=t.trigger||t.source;if(r)return J(r,e,n);return!0}function kr(e){if(N.has(e))return N.get(e);Rr(e);let t={stopTracking:null,stopScrollIntent:null,unregisterEscape:null,trigger:null,source:null,point:null,placement:"bottom-start",distance:4,flip:!0,shift:!0,shiftPadding:4,autoClose:"outside",dismissOnScroll:!1,scrollIntentAt:null,coordinateSpace:"viewport"};return N.set(e,t),e.addEventListener(C.dismiss,Ut),t}function Ut(e){if(e.target!==e.currentTarget)return;let t=e.currentTarget,n=e.detail?.trigger;v(t,{restoreFocus:n?t.contains(n):void 0}),t.removeAttribute("hidden")}function Or(e,t){if(t.unregisterEscape=de(e,(r)=>v(e,r)),t.dismissOnScroll){let r=new AbortController,o=(a)=>{t.scrollIntentAt=a.timeStamp},i=(a)=>{if(!e.contains(a.target))o(a)},s=(a)=>{if(!a.defaultPrevented&&Ar.has(a.key))o(a)},c=(a)=>{if(t.scrollIntentAt==null||e.contains(a.target))return;v(e)},d={...{signal:r.signal,capture:!0},passive:!0},l=e.ownerDocument;l.addEventListener("pointerdown",i,d),l.addEventListener("touchmove",o,d),l.addEventListener("wheel",o,d),l.addEventListener("keydown",s,{signal:r.signal}),l.addEventListener("scroll",c,d),t.stopScrollIntent=()=>r.abort()}let n=t.point?null:t.trigger||t.source;t.stopTracking=fe(n,e,({type:r})=>{if(!L(e))return;if(r==="scroll"&&t.dismissOnScroll)return;if(!Pt(e))v(e)})}function L(e){return e.classList.contains(y.open)}function Wt(e){if(!e)return;e.style.position="fixed",e.removeAttribute("hidden"),e.setAttribute("popover","manual"),He(e,!1),e.setAttribute($t,""),Cr(e)?.refresh(e)}function he(e){if(!e)return()=>{};let t=qe.get(e);if(!t)Wt(e),t={count:0},qe.set(e,t);t.count++;let n=!1;return()=>{if(n)return;if(n=!0,t.count--,t.count<=0)Bt(e),qe.delete(e)}}function ge(e,t={}){if(!e?.isConnected)return!1;if(L(e))return!1;let n=new CustomEvent(C.surfaceOpen,{bubbles:!0,cancelable:!0,detail:{surface:e,options:t}});if(!e.dispatchEvent(n))return!1;Wt(e);let r=kr(e);r.trigger=t.trigger||null,r.source=t.source||null,r.point=Number.isFinite(t.x)&&Number.isFinite(t.y)?{x:t.x,y:t.y}:null,r.autoClose=xr(t.autoClose),r.dismissOnScroll=t.dismissOnScroll===!0,r.scrollIntentAt=null,r.placement=t.placement||"bottom-start",r.distance=t.distance??4,r.flip=t.flip!==!1,r.shift=t.shift!==!1,r.shiftPadding=t.shiftPadding??4,r.scope=t.scope,r.restoreFocusTo=t.restoreFocusTo||t.trigger||t.source||null;let o=r.point?null:r.trigger||r.source,i=pe(o);if(r.coordinateSpace=i.space,e.style.position=i.position,!Lr(e))return!1;if(e.classList.add(y.open),He(e,!0),!Pt(e))return v(e,{restoreFocus:!1}),!1;for(let s of me)if(s!==e&&s.ownerDocument===e.ownerDocument)v(s,{restoreFocus:!1});return me.add(e),Or(e,r),!0}function v(e,t={}){if(!e||!L(e))return;let n=N.get(e),r=e.ownerDocument.activeElement,o=t.restoreFocus??e.contains(r);if(e.classList.remove(y.open),Dr(e),me.delete(e),He(e,!1),n?.unregisterEscape?.(),n?.stopScrollIntent?.(),n?.stopTracking?.(),o&&n?.restoreFocusTo?.isConnected)n.restoreFocusTo.focus({preventScroll:!0})}function Bt(e){if(!e)return;v(e),e.removeEventListener(C.dismiss,Ut);let t=N.get(e);if(t)t.unregisterEscape?.(),t.stopScrollIntent?.(),t.stopTracking?.(),N.delete(e)}function Ir(e){let t=e.composedPath();for(let n of me){if(n.ownerDocument!==e.currentTarget)continue;let r=N.get(n);if(!r)continue;let o=t.indexOf(n),i=o>=0;if(i&&t.slice(0,o).some((d)=>d instanceof Element&&d.hasAttribute("data-flyout-close"))){v(n);continue}let c=r.autoClose==="true"||r.autoClose==="inside",u=r.autoClose==="true"||r.autoClose==="outside";if(i&&c||!i&&u)v(n)}}function Rr(e){let t=e.ownerDocument;if(!t||_t.has(t))return;_t.add(t),t.addEventListener("click",Ir)}var W=new WeakMap;function Fr(e){let t={autoClose:"true"},n=e.dataset;if(n.flyoutPlacement)t.placement=n.flyoutPlacement;if(n.flyoutDistance!=null){let r=Number.parseFloat(n.flyoutDistance);if(Number.isFinite(r))t.distance=r}if(n.flyoutAutoClose)t.autoClose=n.flyoutAutoClose;return t}function Nr(e){let t=e.getAttribute("aria-controls");return t?e.ownerDocument.getElementById(t):null}function je(e){return e.matches("menu")||e.classList.contains("menu")}function Z(e,t){return ge(e,{trigger:t,source:t,...Fr(e)})}function zt(e,t){if(!L(e)&&!Z(e,t))return!1;return We(e)}function _r(e){let t=e.currentTarget,n=W.get(t);if(!n)return;let r=Ke(t,n);if(!r)return;if(e.preventDefault(),e.stopPropagation(),L(r))v(r);else Z(r,t)}function Vr(e){let t=e.currentTarget,n=W.get(t);if(!n)return;let r=Ke(t,n);if(!r)return;if(!je(r)){switch(e.key){case"ArrowDown":e.preventDefault(),zt(r,t);break;case"Enter":case" ":if(e.preventDefault(),L(r))v(r);else zt(r,t);break;case"Tab":if(L(r)&&!e.shiftKey&&We(r))e.preventDefault();break}return}switch(e.key){case"ArrowDown":case"Home":if(e.preventDefault(),!L(r)&&!Z(r,t))break;G(r);break;case"ArrowUp":case"End":if(e.preventDefault(),!L(r)&&!Z(r,t))break;Lt(r);break;case"Enter":case" ":if(e.preventDefault(),!L(r)){if(Z(r,t))G(r)}else v(r);break;case"Tab":if(L(r))v(r);break}}function $r(e){if(W.has(e))return;let t=new AbortController,n={panel:null,controller:t,releaseMenu:null,releaseSurface:null};if(W.set(e,n),Ke(e,n),!e.hasAttribute("aria-expanded"))e.setAttribute("aria-expanded","false");e.addEventListener("click",_r,{signal:t.signal}),e.addEventListener("keydown",Vr,{signal:t.signal})}function qt(e){e.releaseMenu?.(),e.releaseMenu=null,e.releaseSurface?.(),e.releaseSurface=null,e.panel=null}function Ke(e,t){let n=Nr(e);if(t.panel===n&&n?.isConnected)return n;if(qt(t),!n)return null;if(t.releaseSurface=he(n),t.panel=n,je(n))t.releaseMenu=le(n,{close:(r)=>v(r)});if(!e.hasAttribute("aria-haspopup")&&je(n))e.setAttribute("aria-haspopup","menu");return n}function Pr(e){let t=W.get(e);if(!t)return;if(t.controller.abort(),t.panel?.isConnected&&L(t.panel))v(t.panel,{restoreFocus:!1});qt(t),W.delete(e)}F("flyout",(e)=>($r(e),()=>Pr(e)));var Ht=450,Ur=750,jt=10,Wr='menu, [role="menu"]',Br="[data-context-menu]",be=new WeakMap,Ye=new WeakMap;function Kt(e){return Ye.get(e)||null}function Xt(e){let t=e.getAttribute("data-context-menu"),n=t?e.ownerDocument.getElementById(t):null;return n?.matches(Wr)?n:null}function Xe(e){return!!e.closest?.("a, button, input, textarea, select, option, [contenteditable], [role='button'], [role='link'], [data-context-menu-ignore]")}function zr(e){if(!e.hasAttribute("data-context-menu-scope"))return null;let t=e.getAttribute("data-context-menu-scope").trim();if(!t||t==="self")return e;if(t==="parent")return e.parentElement;try{return e.closest(t)||e.ownerDocument.querySelector(t)}catch{return null}}function qr(e,t){let n=e.dataset.contextMenuLongPress??t?.dataset.contextMenuLongPress;if(n==null||n==="false"||n==="none")return null;if(n==="")return Ht;let r=Number.parseInt(n,10);return Number.isFinite(r)?Math.max(0,r):Ht}function Hr(e){let t={autoClose:"true"},n=e.dataset;if(n.flyoutAutoClose)t.autoClose=n.flyoutAutoClose;return t}function jr(e){if(!e.hasAttribute("tabindex"))e.tabIndex=-1;e.focus({preventScroll:!0})}function Kr(e,t){if(t==="first-item"){if(Ct(e))G(e)}else jr(e)}function Xr(e,t,n={}){let r={menu:t,context:e,origin:n.origin||e,trigger:n.trigger},o=new CustomEvent(C.contextMenu,{bubbles:!0,cancelable:!0,detail:r});if(!e.dispatchEvent(o))return null;return Ye.set(t,r),r}function we(e,t,n={}){if(!Xr(e,t,n))return;if(L(t))v(t);let{x:r,y:o}=n;if(r==null||o==null){let i=(n.origin||e).getBoundingClientRect();r??=i.left,o??=i.bottom}if(ge(t,{source:e,x:r,y:o,placement:n.placement||"bottom-start",distance:n.distance??2,dismissOnScroll:!0,scope:n.scope||zr(e),restoreFocusTo:n.restoreFocusTo,...Hr(t)}))Kr(t,n.focus)}function Yr(e,t,n=e,r){we(e,t,{placement:"bottom-start",distance:4,focus:"first-item",origin:n,trigger:"keyboard",restoreFocusTo:r})}function Ee(e){if(e.timer)clearTimeout(e.timer),e.timer=null;e.pointerId=null}function Yt(e,t){let n=t.menu;if(n&&Kt(n)?.context===e)Ye.delete(n);t.releaseMenu?.(),t.releaseMenu=null,t.release?.(),t.release=null,t.menu=null}function Q(e,t){let n=Xt(e);if(t.menu===n&&n?.isConnected)return n;if(Yt(e,t),!n)return null;return t.release=he(n),t.menu=n,t.releaseMenu=le(n,{close:(r)=>v(r)}),n}function Gr(e){if(be.has(e))return;let t=new AbortController,n={controller:t,releaseMenu:null,menu:null,release:null,timer:null,pointerId:null,startX:0,startY:0,suppressClickUntil:0};Q(e,n),e.addEventListener("contextmenu",(r)=>{if(Xe(r.target))return;let o=Q(e,n);if(!o)return;r.preventDefault(),r.stopPropagation(),we(e,o,{x:r.clientX,y:r.clientY,origin:r.target,trigger:"pointer"})},{signal:t.signal}),e.addEventListener("keydown",(r)=>{if(r.key!=="ContextMenu"&&!(r.shiftKey&&r.key==="F10"))return;if(Xe(r.target))return;let o=Q(e,n);if(!o)return;r.preventDefault(),Yr(e,o,r.target,e)},{signal:t.signal}),e.addEventListener("pointerdown",(r)=>{let o=qr(e,Xt(e));if(r.pointerType!=="touch"||o==null||Xe(r.target))return;Ee(n),n.pointerId=r.pointerId,n.startX=r.clientX,n.startY=r.clientY,n.timer=setTimeout(()=>{n.timer=null;let i=Q(e,n);if(!i)return;n.suppressClickUntil=Date.now()+Ur,we(e,i,{x:n.startX,y:n.startY,origin:r.target,trigger:"touch"})},o)},{signal:t.signal,passive:!0}),e.addEventListener("pointermove",(r)=>{if(r.pointerId!==n.pointerId||!n.timer)return;if(Math.abs(r.clientX-n.startX)>jt||Math.abs(r.clientY-n.startY)>jt)Ee(n)},{signal:t.signal,passive:!0});for(let r of["pointerup","pointercancel","pointerleave"])e.addEventListener(r,(o)=>{if(o.pointerId===n.pointerId)Ee(n)},{signal:t.signal,passive:!0});e.addEventListener("click",(r)=>{if(Date.now()<=n.suppressClickUntil)r.preventDefault(),r.stopPropagation(),n.suppressClickUntil=0},{signal:t.signal,capture:!0}),e.addEventListener("click",(r)=>{let o=r.target.closest("[data-context-menu-trigger]");if(!o||o.getAttribute("aria-controls")!==e.getAttribute("data-context-menu"))return;let i=Q(e,n);if(!i)return;if(r.preventDefault(),r.stopPropagation(),L(i)){v(i);return}we(e,i,{distance:4,origin:o,trigger:"button",restoreFocusTo:o})},{signal:t.signal}),be.set(e,n)}function Jr(e){let t=be.get(e);if(!t)return;if(Ee(t),t.controller.abort(),t.menu&&Kt(t.menu)?.context===e)v(t.menu,{restoreFocus:!1});Yt(e,t),be.delete(e)}S({[Br]:(e)=>(Gr(e),()=>Jr(e))});var Ge=new WeakMap;function Gt(e,t){let n=Array.isArray(e)?e:[e];if(!n.length||n.some((r)=>typeof r!=="string"||!r))throw TypeError(`${t} requires one or more command names.`);return[...new Set(n)]}function Jt(e){return e.startsWith("--")?e:e.toLowerCase()}function _(e){let t=e.getAttribute("commandfor");if(!t)return null;return e.getRootNode().getElementById?.(t)??null}function Zt(e){return`button[commandfor]:is(${Gt(e,"commandSelector()").map((n)=>`[command="${n.replaceAll("\\","\\\\").replaceAll('"',"\\\"")}"]`).join(", ")})`}function Zr(e,t){let n=t.defaultView?.Element;if(!n)return null;for(let r of e.composedPath?.()??[e.target]){if(r instanceof n&&r.matches("button[commandfor][command]"))return r;if(r===t)break}return null}function Qr(e){let t=new Map;function n(r){if(r.defaultPrevented)return;let o=Zr(r,e);if(!o||o.disabled)return;let i=Jt(o.getAttribute("command")),s=t.get(i);if(!s)return;let c=s.resolve(o);if(!c)return;s.prepare?.(o,c,i),s.handle(r,o,c,i)}return e.addEventListener("click",n),{commands:t,route:n}}function R(e,{resolve:t=_,prepare:n,handle:r}={}){let o=[...new Set(Gt(e,"registerCommands()").map((l)=>Jt(l)))];if(typeof t!=="function"||n!==void 0&&typeof n!=="function"||typeof r!=="function")throw TypeError("registerCommands() requires function callbacks.");if(typeof document>"u")return{disconnect(){}};let i=document,s=Ge.get(i);if(!s)s=Qr(i),Ge.set(i,s);let c=o.find((l)=>s.commands.has(l));if(c)throw Error(`Command "${c}" is already registered in this document.`);let u={resolve:t,prepare:n,handle:r};for(let l of o)s.commands.set(l,u);let d=!0;return{disconnect(){if(!d)return;d=!1;for(let l of o)if(s.commands.get(l)===u)s.commands.delete(l);if(!s.commands.size)i.removeEventListener("click",s.route),Ge.delete(i)}}}var M=new WeakMap,Je=new Set,eo=["show-modal","show","request-close","close"],to="dialog",no="[data-title], h1, h2, h3, h4, h5, h6",ro=250,Qt=0;function B(e){return e?.nodeType===1&&e.localName==="dialog"}function nn(e,t){return e.hasAttribute(t)&&e.getAttribute(t)!=="false"}function oo(e,t){if(!e.id)Qt++,e.id=`${t}-${Qt}`;return e.id}function rn(e,t=Ze(e)){if(t)e.setAttribute("aria-modal","true");else e.removeAttribute("aria-modal");if(e.hasAttribute("aria-label")||e.hasAttribute("aria-labelledby"))return;let n=e.getAttribute("data-title")?.trim();if(n){e.setAttribute("aria-label",n);return}let r=e.querySelector(no);if(r)e.setAttribute("aria-labelledby",oo(r,"dialog-title"))}function Ze(e){return e.getAttribute("data-dialog-modal")!=="false"}function io(e,t=null){return t==null?Ze(e):t}function en(e){if(!e.open)return!1;try{return e.matches(":modal")}catch{return!1}}function Te(e=document){let t=!1;for(let o of Je){let i=M.get(o);if(o.ownerDocument===e&&o.isConnected&&o.open&&i?.modalOpen===!0){t=!0;break}}let n=e.documentElement,r=n.classList.contains(y.modalOpen);if(t&&!r){let o=e.defaultView?.innerWidth;n.classList.toggle(y.hadScrollbar,Number.isFinite(o)&&o>n.clientWidth)}else if(!t)n.classList.remove(y.hadScrollbar);n.classList.toggle(y.modalOpen,t)}function on(e){return nn(e,"data-dialog-dismissible")}function so(e){return nn(e,"data-dialog-view-transition")}var ye="actual-dialog";function co(e=document){return typeof e.startViewTransition==="function"}function ao(e=document){return!e.defaultView?.matchMedia?.("(prefers-reduced-motion: reduce)").matches}function ve(e,t){if(e)e.style.viewTransitionName=t}function ee(...e){for(let t of e)if(t)t.style.viewTransitionName=""}function Qe(e,t){let n=e.ownerDocument;return so(e)&&co(n)&&ao(n)&&t?.isConnected===!0}function uo(e,t,n=null){if(!Qe(e,t)){tn(e,t,n);return}ve(t,ye),e.ownerDocument.startViewTransition(()=>{ee(t),ve(e,ye),tn(e,t,n)}).finished.finally(()=>ee(e,t)).catch(()=>{})}function lo(e,t){let n=e.getBoundingClientRect();return t.clientX<n.left||t.clientX>n.right||t.clientY<n.top||t.clientY>n.bottom}function fo(e){let t=z(e),n=e.ownerDocument.defaultView;if(t.staticTimer)n?.clearTimeout(t.staticTimer);e.classList.remove(y.static),e.offsetWidth,e.classList.add(y.static),t.staticTimer=n?.setTimeout(()=>{e.classList.remove(y.static),t.staticTimer=null},ro)}function po(e,t=""){let n=M.get(e);if(n)n.closing=!1,n.returnValue="";if(e.open)e.close(t)}function Se(e,t=""){if(!B(e)||!e.open)return;let n=z(e);if(n.closing)return;let r=n.restoreFocusTo;if(Qe(e,r)){n.closing=!0,ve(e,ye),e.ownerDocument.startViewTransition(()=>{ee(e),ve(r,ye),e.close(t)}).finished.finally(()=>{n.closing=!1,ee(r)}).catch(()=>{});return}po(e,t)}function sn(e,t=""){if(!B(e)||!e.open)return;if(typeof e.requestClose==="function"){z(e).returnValue=t,e.requestClose(t);return}Se(e,t)}function tn(e,t=null,n=null){if(!B(e)||e.open||!e.isConnected)return;let r=z(e),o=io(e,n);rn(e,o),r.closing=!1,r.restoreFocusTo=t||e.ownerDocument.activeElement;let i=e.ownerDocument.defaultView,s=i?.scrollY??0;if(o)e.showModal(),r.modalOpen=!0;else e.show(),r.modalOpen=!1;if(s>0)i?.scrollTo(0,s);Te(e.ownerDocument)}function mo(e){let t=e.currentTarget;if(e.target!==t||!lo(t,e))return;if(!on(t)){if(("closedBy"in t?t.closedBy:"")==="any")return;e.preventDefault(),fo(t);return}e.preventDefault(),sn(t)}function ho(e){let{currentTarget:t,target:n}=e;if(!(n instanceof HTMLFormElement))return;if(n.method.toLowerCase()!=="dialog")return;if(!Qe(t,M.get(t)?.restoreFocusTo))return;e.preventDefault(),Se(t,e.submitter?.value||"")}function go(e){let t=e.currentTarget,n=M.get(t),r=new CustomEvent(C.dialogCancel,{bubbles:!0,cancelable:!0,detail:{dialog:t,sourceEvent:e}});if(!t.dispatchEvent(r)){if(e.preventDefault(),n)n.returnValue="";return}e.preventDefault(),Se(t,n?.returnValue||"")}function wo(e){let t=e.currentTarget,n=M.get(t);if(ee(t),!n)return;if(n.staticTimer)t.ownerDocument.defaultView?.clearTimeout(n.staticTimer),n.staticTimer=null;t.classList.remove(y.static),n.closing=!1,n.returnValue="",n.modalOpen=!1,Te(t.ownerDocument);let r=n.restoreFocusTo;if(n.restoreFocusTo=null,r?.isConnected&&t.ownerDocument.activeElement!==r)r.focus({preventScroll:!0})}function z(e){if(M.has(e))return M.get(e);let t=new AbortController,n={controller:t,closing:!1,modalOpen:en(e),restoreFocusTo:null,returnValue:"",staticTimer:null};if(rn(e,e.open?en(e):Ze(e)),e.addEventListener("click",mo,{signal:t.signal}),e.addEventListener("submit",ho,{signal:t.signal}),e.addEventListener("cancel",go,{signal:t.signal}),e.addEventListener("close",wo,{signal:t.signal}),on(e)&&"closedBy"in e&&e.closedBy==="any")e.closedBy="closerequest";return M.set(e,n),Je.add(e),Te(e.ownerDocument),n}function Eo(e){z(e)}function bo(e){let t=M.get(e);if(!t)return;if(t.staticTimer)e.ownerDocument.defaultView?.clearTimeout(t.staticTimer);t.controller.abort(),e.classList.remove(y.static),t.modalOpen=!1,M.delete(e),Je.delete(e),Te(e.ownerDocument)}R(eo,{resolve:(e)=>{let t=_(e);return B(t)?t:null},prepare:(e,t,n)=>{if(B(t))z(t);if(e.setAttribute("aria-controls",t.id),!e.hasAttribute("aria-haspopup")&&(n==="show-modal"||n==="show"))e.setAttribute("aria-haspopup","dialog")},handle:(e,t,n,r)=>{if(e.preventDefault(),!B(n))return;if(r==="show-modal"||r==="show"){uo(n,t,r==="show-modal");return}if(r==="request-close"){sn(n,t.value||"");return}if(r==="close")Se(n,t.value||"")}});S({[to]:(e)=>(Eo(e),()=>bo(e))});R("--dismiss",{handle(e,t,n){e.preventDefault(),n.hidden=!0,n.dispatchEvent(new CustomEvent(C.dismiss,{bubbles:!0,detail:{trigger:t}}))}});var Ae='[data-enhance~="tabs"]';function cn(e){return[...e.querySelectorAll('[role="tab"]')].filter((t)=>t.closest(Ae)===e)}function yo(e){let t=new Map;for(let n of e){let r=xe(n);if(r)t.set(n,r)}return t}function xe(e){let t=e.getAttribute("aria-controls");return t?e.ownerDocument.getElementById(t):null}function et(e){return e.disabled||e.getAttribute("aria-disabled")==="true"}function an(e){return cn(e).filter((t)=>!t.hidden&&!et(t)&&xe(t))}function un(e){if(!e.hasAttribute("tabindex"))e.tabIndex=-1}function Ce(e){if(!e||et(e)||!xe(e))return;let t=e.closest(Ae);if(!t)return;let n=cn(t),r=yo(n);for(let i of n)i.setAttribute("aria-selected","false"),i.tabIndex=-1;for(let[,i]of r)i.hidden=!0;e.setAttribute("aria-selected","true"),e.tabIndex=0;let o=r.get(e);if(o)un(o),o.hidden=!1}function vo(e){if(!e)return;Ce(e),e.focus()}function To(e){let t=an(e);if(!t.length)return;let n=t.find((r)=>r.getAttribute("aria-selected")==="true")||t[0];Ce(n)}function So(e){let t=e.currentTarget,n=e.target.closest('[role="tab"]');if(!n||n.closest(Ae)!==t)return;let r=an(t);if(!r.length||!r.includes(n))return;let o=t.getAttribute("aria-orientation")==="vertical";if(e.key==="ArrowDown"&&!o){let c=xe(n);if(c)e.preventDefault(),un(c),c.focus();return}if(e.key==="Enter"||e.key===" "){e.preventDefault(),Ce(n);return}let i=t.ownerDocument.defaultView?.getComputedStyle(t).direction||"ltr",s=U(r,n,e.key,{orientation:o?"vertical":"horizontal",wrap:!0,direction:i});if(!s)return;e.preventDefault(),vo(s)}function Ao(e){let t=e.currentTarget,n=e.target.closest('[role="tab"]');if(!n||n.closest(Ae)!==t)return;if(et(n)){e.preventDefault();return}if(e.preventDefault(),n.getAttribute("aria-selected")==="true")return;Ce(n),n.focus()}F("tabs",(e)=>{let t=new AbortController;return To(e),e.addEventListener("click",Ao,{signal:t.signal}),e.addEventListener("keydown",So,{signal:t.signal}),()=>t.abort()});var xo=150,Co=100,ln=0,Le=new WeakMap,k=new WeakMap;function Lo(e){try{return e.showPopover(),!0}catch{return!1}}function pn(e){try{e.hidePopover()}catch{}}function fn(e){e.style.position="fixed",e.removeAttribute("hidden"),e.setAttribute("popover","manual")}function Do(e){return k.get(e)?.visible===!0}function Mo(e){return e?.getAttribute("data-tooltip-placement")||"top"}function mn(e,t){let n=e?.getAttribute(t);return n!==null&&n.toLowerCase()!=="false"}function nt(e){return mn(e,"data-tooltip-click")}function q(e){return mn(e,"data-tooltip-visible")}function rt(e){return(e.getAttribute("aria-describedby")||"").split(/\s+/).filter(Boolean)}function ko(e,t){let n=rt(e);if(n.includes(t))return!1;return e.setAttribute("aria-describedby",[...n,t].join(" ")),!0}function Oo(e,t){let n=rt(e).filter((r)=>r!==t);if(n.length)e.setAttribute("aria-describedby",n.join(" "));else e.removeAttribute("aria-describedby")}function Io(e){let t=e.ownerDocument;for(let n of rt(e)){let r=t.getElementById(n);if(r?.getAttribute("role")==="tooltip")return r}return null}function Ro(e){let t;do ln++,t=`tooltip-${ln}`;while(e.getElementById(t));return t}function Fo(e,t,n){return J(e,t,{placement:Mo(e),distance:6,flip:!0,shift:!0,coordinateSpace:n})}function hn(e,t){let n=t.activeRef;if(!n||!t.wanted)return;if(!t.visible){if(!Lo(e))return;t.visible=!0}if(!Fo(n,e,t.space))t.visible=!1,pn(e);gn(e,t)}function No(e,t){if(t.stopTracking){if(t.trackedRef===t.activeRef)return;ot(t)}t.trackedRef=t.activeRef,t.stopTracking=fe(t.activeRef,e,()=>hn(e,t))}function ot(e){if(e?.stopTracking?.(),e)e.stopTracking=null,e.trackedRef=null}function gn(e,t){let n=t.activeRef,r=t.visible&&!q(n);if(r&&t.unregisterEscape&&t.escapeRef===n)return;if(t.unregisterEscape?.(),t.unregisterEscape=null,t.escapeRef=null,!r)return;t.unregisterEscape=de(e,()=>te(e,!0)),t.escapeRef=n}function te(e,t=!1){let n=k.get(e);if(!t&&q(n?.activeRef))return;if(n?.timer)clearTimeout(n.timer),n.timer=null;if(n?.hideTimer)clearTimeout(n.hideTimer),n.hideTimer=null;if(n)n.wanted=!1,n.visible=!1;if(pn(e),n?.unregisterEscape?.(),n)n.unregisterEscape=null,n.escapeRef=null;ot(n)}function wn(e){let t=k.get(e);if(!t?.hideTimer)return;clearTimeout(t.hideTimer),t.hideTimer=null}function tt(e){let t=k.get(e);if(!t)return;if(nt(t.activeRef)||q(t.activeRef))return;if(t.hovered||t.focused||t.overTip)return;if(t.hideTimer)clearTimeout(t.hideTimer);t.hideTimer=setTimeout(()=>{if(t.hideTimer=null,!t.hovered&&!t.focused&&!t.overTip)te(e)},Co)}function _o(e,t={}){let n=k.get(e);if(n)return n;let r=new AbortController;return n={refs:new Set,activeRef:null,controller:r,stopTracking:null,trackedRef:null,unregisterEscape:null,escapeRef:null,generated:t.generated===!0,wanted:!1,visible:!1,space:"viewport",timer:null,hideTimer:null,hovered:!1,focused:!1,overTip:!1},e.addEventListener("mouseenter",()=>{n.overTip=!0,wn(e)},{signal:r.signal}),e.addEventListener("mouseleave",()=>{n.overTip=!1,tt(e)},{signal:r.signal}),k.set(e,n),n}function it(e){let t=Le.get(e);if(t)return t.tip;let n,r=!1,o=!1,i=e.getAttribute("data-tooltip"),s=e.ownerDocument;if(i)n=s.createElement("div"),n.className=y.tooltip,n.role="tooltip",n.id=Ro(s),n.textContent=i,r=!0,(e.closest("dialog")||s.body).appendChild(n),fn(n),o=ko(e,n.id);if(!n){if(n=Io(e),!n)return null;if(!k.has(n))fn(n)}let c=_o(n,{generated:r});c.refs.add(e);let u=new AbortController;e.addEventListener("mouseleave",()=>{c.hovered=!1,tt(n)},{signal:u.signal}),e.addEventListener("focusout",(l)=>{if(l.relatedTarget&&e.contains(l.relatedTarget))return;c.focused=!1,tt(n)},{signal:u.signal});let d=()=>{if(u.abort(),Le.delete(e),o)Oo(e,n.id);if(c.refs.delete(e),c.activeRef===e)te(n,!0),c.activeRef=null;if(c.refs.size>0)return;if(te(n,!0),c.controller.abort(),ot(c),k.delete(n),c.generated)n.remove()};return Le.set(e,{tip:n,cleanup:d}),n}function Vo(e){Le.get(e)?.cleanup?.()}function st(e,t,n=!1){let r=k.get(e);if(!r)return;r.activeRef=t;let o=pe(t);if(r.space=o.space,e.style.position=o.position,gn(e,r),wn(e),r.timer)clearTimeout(r.timer);let i=()=>{r.timer=null,r.wanted=!0,No(e,r),hn(e,r)};if(n)i();else r.timer=setTimeout(i,xo)}var ct="[data-tooltip]";function dn(e){let t=e.target.closest?.(ct);if(!t)return;if(nt(t)||q(t))return;if((e.type==="mouseover"||e.type==="focusin")&&e.relatedTarget instanceof Node&&t.contains(e.relatedTarget))return;let n=it(t);if(!n)return;let r=k.get(n);if(e.type==="focusin")r.focused=!0;else r.hovered=!0;st(n,t)}function $o(e){let t=e.target.closest?.(ct);if(!t||!nt(t)||q(t))return;let n=it(t);if(!n)return;if(e.preventDefault(),Do(n))te(n,!0);else st(n,t,!0)}if(typeof document<"u")document.addEventListener("mouseover",dn),document.addEventListener("focusin",dn),document.addEventListener("click",$o),S({[ct]:(e)=>{if(q(e)){let t=it(e);if(t)st(t,e,!0)}return()=>Vo(e)}});var En=0.2,bn=new WeakMap;function yn(e){let t=e.getAttribute("data-scrollspy-root");if(!t)return null;try{return e.ownerDocument.querySelector(t)}catch{return null}}function Po(e){let t=[...e.querySelectorAll("a[href^='#']")],n=[];for(let r of t){let o=r.getAttribute("href").slice(1),i=o?e.ownerDocument.getElementById(o):null;if(i)n.push({link:r,section:i})}return n}function Uo(e,t){if(t)return{top:t.getBoundingClientRect().top,height:t.clientHeight,scrollTop:t.scrollTop,scrollHeight:t.scrollHeight};let n=e.ownerDocument,r=n.scrollingElement||n.documentElement;return{top:0,height:r.clientHeight,scrollTop:r.scrollTop,scrollHeight:r.scrollHeight}}function Wo(e,t){let n=(e.getAttribute("data-scrollspy-offset")??"").trim();if(!n)return t*En;let r=Number.parseFloat(n);if(!Number.isFinite(r))return t*En;return Math.max(0,n.endsWith("%")?t*r/100:r)}function Bo(e){let t=new AbortController,n=[],r=0,o;function i(a){if(a===o)return;o=a;for(let f of n)if(f.section===a)f.link.setAttribute("aria-current","location");else f.link.removeAttribute("aria-current")}function s(){if(r=0,!n.length)return;let a=yn(e),{top:f,height:p,scrollTop:m,scrollHeight:h}=Uo(e,a);if(h>p&&m+p>=h-1){i(n.at(-1).section);return}let w=f+Wo(e,p),E=null;for(let{section:g}of n)if(g.getBoundingClientRect().top<=w)E=g;i(E)}function c(a=s){if(r)cancelAnimationFrame(r);r=requestAnimationFrame(a)}function u(){n=Po(e),o=void 0,s()}(yn(e)??e.ownerDocument.defaultView)?.addEventListener("scroll",()=>c(),{passive:!0,signal:t.signal}),e.ownerDocument.defaultView?.addEventListener("resize",()=>c(),{passive:!0,signal:t.signal});let l=new MutationObserver(()=>c(u));return l.observe(e,{childList:!0,subtree:!0}),bn.set(e,{rebuild:u}),u(),()=>{if(t.abort(),r)cancelAnimationFrame(r);l.disconnect(),bn.delete(e)}}F("scrollspy",Bo);function De(e){return typeof e.selectionStart==="number"?e.selectionStart:e.value.length}function Me(e,t){if(e.ownerDocument.activeElement!==e)return;if(typeof e.setSelectionRange!=="function")return;try{e.setSelectionRange(t,t)}catch{}}function ke(e){e.dispatchEvent(new Event("input",{bubbles:!0}))}function Oe(e,t,n){let r=!1;function o(i){if(r||i.isComposing)return;t(i)}e.addEventListener("compositionstart",()=>{r=!0},{signal:n}),e.addEventListener("compositionend",(i)=>{r=!1,o(i)},{signal:n}),e.addEventListener("input",o,{signal:n})}var zo="input[data-filter]",Tn=new Map([["numeric",qo],["decimal",Ho],["lower",jo],["upper",Ko],["letters",Xo],["slug",Go]]);function qo(e){return e.replace(/\D/gu,"")}function Ho(e){let t=e.replace(/,/g,"."),n="",r=!1;for(let o of t)if(/^\d$/u.test(o))n+=o;else if(o==="."&&!r)n+=".",r=!0;return n}function jo(e){return e.toLocaleLowerCase()}function Ko(e){return e.toLocaleUpperCase()}function Xo(e){return e.replace(/[^\p{L}]/gu,"")}function Yo(e){return e.normalize("NFKD").replace(/\p{M}/gu,"")}function Go(e,t){let n=t?.inputType==="insertText"&&/[^\p{L}\p{N}]$/u.test(e),r=Yo(e).toLowerCase().replace(/[^\p{L}\p{N}]+/gu,"-").replace(/^-+/,"");return n?r:r.replace(/-+$/,"")}function vn(e,t,n){return t.reduce((r,o)=>Tn.get(o)(r,n),e)}function Jo(e){return e.split("|").map((t)=>t.trim().toLowerCase()).filter((t)=>Tn.has(t))}function Zo(e){let t=e.getAttribute("data-filter")?.trim().toLowerCase();return t?Jo(t):[]}function Qo(e){let t=Zo(e);if(!t.length)return;let n=new AbortController,r=!1;return Oe(e,(o)=>{if(r)return;let i=De(e),s=e.value,c=vn(s,t,o);if(c===s)return;e.value=c,Me(e,vn(s.slice(0,i),t,o).length);try{r=!0,ke(e)}finally{r=!1}},n.signal),()=>n.abort()}S({[zo]:Qo});var ei="input[data-mask]",at={9:(e)=>/^\d$/u.test(e),a:(e)=>/^\p{L}$/u.test(e),"*":()=>!0};function re(e){return Object.hasOwn(at,e)}function Sn(e,t){let n=[...t],r=[],o=[],i=0,s=0;e:for(let c of e){s+=c.length;while(i<n.length){let u=n[i];if(!re(u)){if(i++,c===u)continue e;continue}if(at[u](c))r.push(c),o.push(s),i++;continue e}break}return{positions:o,raw:r}}function ne(e,t){return Sn(e,t).raw}function ti(e,t){let n="";for(let r=t;r<e.length&&!re(e[r]);r++)n+=e[r];return n}function An(e,t,n=""){let r=n.startsWith("insert"),o=[...t],i=0,s="";for(let c=0;c<o.length;c++){let u=o[c];if(!re(u)){if(i<e.length)s+=u;continue}let d=!1;while(i<e.length){let l=e[i];if(i++,!at[u](l))continue;s+=l,d=!0;break}if(!d)break;if(r&&i>=e.length){s+=ti(o,c+1);break}}return s}function ni(e,t,n=""){if(!t)return e;return An(ne(e,t),t,n)}function ri(e,t,n){if(n<=0)return 0;let r=Sn(e,t).positions[n-1];if(r==null)return e.length;let o=[...t],i=0,s=0;for(;s<o.length;s++){if(!re(o[s]))continue;if(i++,i===n)break}let c=r;for(s++;s<o.length;s++){let u=o[s];if(re(u)||!e.startsWith(u,c))break;c+=u.length}return c}function oi(e){let t=e.dataset.mask||"";if(!t)return;let n=new AbortController,r=!1,o=e.value;return Oe(e,(i)=>{if(r)return;let s=i.inputType||"",c=De(e),u=ne(e.value.slice(0,c),t).length,d=e.value,l=ni(d,t,s),a=ne(d,t).length===ne(o,t).length;if(s.startsWith("delete")&&a&&l.length>d.length){let f=ne(d,t),p=s==="deleteContentForward"?u:u-1;if(p>=0&&p<f.length)f.splice(p,1),u=Math.max(0,p),l=An(f,t,s)}if(o=l,l===d)return;e.value=l,Me(e,ri(l,t,u));try{r=!0,ke(e)}finally{r=!1}},n.signal),()=>n.abort()}S({[ei]:oi});var xn=["--password-toggle"],ii=Zt(xn),H=new Set,ut=new WeakSet;function si(e){let t=_(e);return t?.localName==="input"&&(t.type==="password"||H.has(t))?t:null}function ci(e){if(!e.id)return[];return e.getRootNode().querySelectorAll(`${ii}[commandfor="${CSS.escape(e.id)}"]`)}function lt(e,t){if(e.type=t?"text":"password",t)H.add(e);else H.delete(e);for(let n of ci(e))n.setAttribute("aria-pressed",String(t))}function Cn(e){if(e.defaultPrevented)return;for(let t of e.target.elements??[])if(H.has(t))lt(t,!1)}function ai(e){let t=e.getRootNode();if(ut.has(t))return;ut.add(t),t.addEventListener("submit",Cn)}R(xn,{resolve:si,prepare:(e,t)=>{if(e.setAttribute("aria-controls",t.id),!e.hasAttribute("aria-pressed"))e.setAttribute("aria-pressed","false")},handle:(e,t,n)=>{e.preventDefault();let r=n.type==="password";if(r)ai(n);lt(n,r)}});if(typeof document<"u")ut.add(document),document.addEventListener("submit",Cn),document.defaultView?.addEventListener("pagehide",()=>{for(let e of H){if(!e.isConnected){H.delete(e);continue}lt(e,!1)}});var pt="novalidate",Ln=y.wasValidated,ui=se("validation"),li=y.field,mt=y.danger,ht="validationManagedNovalidate",ft=new WeakMap,Dn=new WeakMap;function dt(e,t,n){if(t<1||t>12||n<1)return!1;let r=new Date(Date.UTC(e,t,0)).getUTCDate();return n<=r}function fi(e){let t=e.trim(),n=/^(\d{4})-(\d{2})-(\d{2})$/.exec(t);if(n)return dt(Number(n[1]),Number(n[2]),Number(n[3]));let r=/^(\d{1,2})([/.-])(\d{1,2})\2(\d{4})$/.exec(t);if(!r)return!1;let o=Number(r[1]),i=Number(r[3]),s=Number(r[4]);return dt(s,i,o)||dt(s,o,i)}function di(e,t){let n=Dn.get(e);if(!n)n=new Set,Dn.set(e,n);if(n.has(t))return;n.add(t),console.warn(`Unknown validation rule "${t}" on ${e.name||e.id||"field"}`)}var pi={same(e,t,n){if(!n)return!1;try{let r=t.form?.querySelector(n);if(!r)return!1;return e===r.value}catch{return!1}},number(e){return/^[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?$/.test(e)},digits(e){return/^\d+$/.test(e)},alnum(e){return/^[a-z0-9]+$/i.test(e)},"starts-with"(e,t,...n){let r=e.trim();return n.length>0&&n.some((o)=>r.startsWith(o))},"ends-with"(e,t,...n){let r=e.trim();return n.length>0&&n.some((o)=>r.endsWith(o))},date(e){return fi(e)},"tel-prefix"(e,t,...n){let r=e.trim().replace(/[\s()./-]+/g,"");if(r.startsWith("00"))r=`+${r.slice(2)}`;if(!/^\+?\d+$/.test(r))return!1;if(!r.startsWith("+"))return!0;return n.some((o)=>r.startsWith(o))}};function Ie(e){return!e||e.disabled||e.willValidate===!1||typeof e.checkValidity!=="function"||typeof e.setCustomValidity!=="function"}function kn(e){return e.closest?.(`.${li}`)||null}var gt=new WeakSet;function On(e){if(!e.classList.contains(mt))gt.add(e);e.classList.add(mt)}function In(e){let t=kn(e);if(!t)return;if(t.querySelector('[aria-invalid="true"], [data-validation-errors]'))On(t);else if(gt.has(t))t.classList.remove(mt),gt.delete(t)}function Rn(e){if(e.dataset.validationErrors==="server")return!1;e.setCustomValidity(""),delete e.dataset.validationErrors;let t=e.checkValidity(),n=e.dataset.validationRules;if(n){let r=e.value.trim().length>0,o=[];for(let i of n.split(",")){if(!r)continue;let s=i.trim();if(!s)continue;let[c,...u]=s.split(/\s+/),d=pi[c];if(!d){di(e,c),o.push(c);continue}let l=!1;try{l=d(e.value,e,...u)}catch(a){console.warn(`Validation rule "${c}" failed on ${e.name||e.id||"field"}`,a)}if(!l)o.push(c)}if(o.length>0)t=!1,e.setCustomValidity(o.join(", ")),e.dataset.validationErrors=o.join(",")}return t}function Fn(e){e.setAttribute("aria-invalid","true");let t=kn(e);if(t)On(t)}function wt(e){e.removeAttribute("aria-invalid"),delete e.dataset.validationErrors,In(e)}function mi(e){for(let t of e.elements){if(Ie(t))continue;if(t.getAttribute("aria-invalid")==="true"&&!t.dataset.validationErrors)t.dataset.validationErrors="server";In(t)}}function hi(e){if(e.dataset[ht]===void 0)return;e.removeAttribute(pt),delete e.dataset[ht]}function Mn(e,t){if(Ie(e))return;if(t==="input"&&e.dataset.validationErrors==="server")delete e.dataset.validationErrors,e.setCustomValidity("");let n=e.dataset.validationTrigger||"",r=e.getAttribute("aria-invalid")==="true"||e.dataset.validationErrors;if(!(t==="blur"||n.includes(t)&&e.value.length>0)&&!r)return;if(Rn(e))wt(e);else Fn(e)}function gi(e){let t=ft.get(e);if(t)return t;let n=new AbortController;if(!e.hasAttribute(pt))e.setAttribute(pt,""),e.dataset[ht]="";mi(e),e.addEventListener("focusout",(o)=>{let i=o.target;if(i instanceof Element&&i.form===e)Mn(i,"blur")},{signal:n.signal}),e.addEventListener("input",(o)=>{let i=o.target;if(i instanceof Element&&i.form===e)Mn(i,"input")},{signal:n.signal}),e.addEventListener("reset",()=>{e.classList.remove(Ln);for(let o of e.elements){if(Ie(o))continue;o.setCustomValidity(""),wt(o)}},{signal:n.signal}),e.addEventListener("submit",(o)=>{if(o.submitter?.formNoValidate)return;let i=null;for(let s of e.elements){if(Ie(s))continue;if(Rn(s)){wt(s);continue}if(Fn(s),!i)i=s}if(e.classList.add(Ln),!i)return;o.preventDefault(),o.stopPropagation();try{i.focus()}catch{}e.dispatchEvent(new CustomEvent(C.invalid,{bubbles:!0,detail:{form:e,firstInvalid:i,message:e.dataset.validationMessage??""}}))},{signal:n.signal});let r=()=>{n.abort(),hi(e),ft.delete(e)};return ft.set(e,r),r}if(typeof document<"u")S({[`form${ui}`]:(e)=>gi(e)});function Nn(...e){let t=e.filter(Boolean).flatMap((n)=>typeof n.getAnimations==="function"?n.getAnimations({subtree:!0}):[]).filter((n)=>typeof n.transitionProperty==="string");return Promise.allSettled(t.map((n)=>n.finished))}var wi='[data-status][role="status"]',Et="statusClasses",Pn="--status-viewport-offset",Ei=3000,bt,yt=0,j=null,Re=new WeakMap;function vt(){if(typeof document>"u")return null;return document.querySelector(wi)}function Un(e){let t=Re.get(e);if(!t)return;let n=t.parent?.isConnected?t.parent:e.ownerDocument?.body;if(n){let r=t.nextSibling?.parentNode===n?t.nextSibling:null;n.insertBefore(e,r)}Re.delete(e)}function bi(e,t){let n=t?.closest?.("dialog[open]");if(!n||n.ownerDocument!==e.ownerDocument){Un(e);return}if(n.contains(e))return;if(!Re.has(e))Re.set(e,{parent:e.parentNode,nextSibling:e.nextSibling});n.append(e)}function yi(e){if(j?.target===e)return;Fe();let t=e.ownerDocument?.defaultView,n=t?.visualViewport;if(!n)return;let r=new AbortController,o=()=>{if(!e.isConnected){Fe();return}let i=Math.max(0,t.innerHeight-n.height-n.offsetTop);e.style.setProperty(Pn,`${i}px`)};n.addEventListener("resize",o,{signal:r.signal}),n.addEventListener("scroll",o,{signal:r.signal}),o(),j={target:e,stop:()=>r.abort()}}function Fe(){if(!j)return;j.stop(),j.target.style.removeProperty(Pn),j=null}function vi(e){return typeof e==="string"?e.trim().split(/\s+/).filter(Boolean):[]}function Wn(e){let t=e.dataset[Et];if(t)e.classList.remove(...t.split(" "));delete e.dataset[Et]}function K(e,t={}){let n=vt();if(!n||e==null)return;if(e===""){K.clear();return}clearTimeout(bt),yt++,bi(n,t.source),Wn(n);let r=vi(t.intent);if(r.length)n.classList.add(...r),n.dataset[Et]=r.join(" ");if(n.textContent=e,n.classList.add(y.open),yi(n),t.duration!==!1)bt=setTimeout(()=>K.clear(),t.duration??Ei)}K.clear=function(){clearTimeout(bt);let t=vt();if(!t){Fe();return}let n=++yt;t.classList.remove(y.open),Nn(t).then(()=>{if(n!==yt)return;t.textContent="",Wn(t),Fe(),Un(t)})};var Ti=["--status"],Si=["--status-clear"];function _n(e,t){e.dispatchEvent(new CustomEvent(C.status,{bubbles:!0,detail:t}))}function Ai(e){let t=e.getAttribute("data-status-duration");if(t===null)return;if(t==="false")return!1;let n=Number(t);return Number.isFinite(n)?n:void 0}function Vn(e){let t=_(e);return t&&t===vt()?t:null}function $n(e,t){e.setAttribute("aria-controls",t.id)}if(typeof document<"u")document.addEventListener(C.invalid,(e)=>{let t=e.detail?.message;if(t)K(t,{intent:"danger",source:e.target})}),document.addEventListener(C.status,(e)=>{let{message:t,intent:n,duration:r}=e.detail??{};if(t!=null)K(t,{intent:n,duration:r,source:e.target});else K.clear()}),R(Ti,{resolve:Vn,prepare:$n,handle:(e,t)=>{e.preventDefault(),_n(t,{message:t.getAttribute("data-status-message"),intent:t.getAttribute("data-status-intent")??void 0,duration:Ai(t)})}}),R(Si,{resolve:Vn,prepare:$n,handle:(e,t)=>{e.preventDefault(),_n(t,{})}});function xi(e){return e.replace(/([a-zA-Z_$][\w$-]*)\s*:|'((?:\\'|[^'])*)'/g,(t,n,r)=>{if(n)return`"${n}":`;return`"${r.replace(/\\'/g,"'").replace(/"/g,"\\\"")}"`})}function Bn(e){if(e==null||typeof e!=="string")return{};let t=e.trim();if(t==="")return{};let n=t,r;try{r=JSON.parse(n)}catch{let o=xi(n);n=o.startsWith("{")?o:`{${o}}`,r=JSON.parse(n)}if(r===null||typeof r!=="object"||Array.isArray(r))throw TypeError("Enhancement config must be an object");return r}var Ci='script[type="application/json"][data-enhance-modules]',Ne=new Map,Li=new Map,Di=new Map,Mi=(e)=>import(e);function zn(e,t,n){let r=new URL(e,document.baseURI).href;if(!t.has(r)){let o=new Promise((i,s)=>{let c=document.createElement(n==="script"?"script":"link");if(n==="script")c.src=r;else c.rel="stylesheet",c.href=r;c.onload=i,c.onerror=()=>{c.remove(),s(Error(`Unable to load ${n}: ${r}`))},document.head.append(c)});t.set(r,o),o.catch(()=>{if(t.get(r)===o)t.delete(r)})}return t.get(r)}function ki(e){return zn(e,Li,"script")}function Oi(e){return zn(e,Di,"style")}function Ii(e,t){return(n)=>{let r=new AbortController,o=n.getAttribute("data-enhance-config"),i=Bn(o??""),s=(u,d,l={})=>n.dispatchEvent(new CustomEvent(`actual:${e}:${u}`,{bubbles:!0,detail:d,...l})),c;try{c=t(n,{config:i,signal:r.signal,emit:s})}catch(u){throw r.abort(),u}if(c?.then)throw r.abort(),TypeError(`Enhancement "${e}" returned a Promise. connect() must be synchronous; use prepare() for asynchronous setup.`);if(c!==void 0&&typeof c!=="function")throw r.abort(),TypeError(`Enhancement "${e}" must return a cleanup function or undefined.`);return()=>{r.abort(),c?.()}}}function Ri(e,t){if(typeof t!=="string"||t.trim()==="")throw TypeError(`Enhancement "${e}" must declare a non-empty module URL.`)}function Fi(e,t){Ri(e,t);let n=new URL(t,document.baseURI).href,r=Ne.get(e);if(r){if(r.url!==n)throw Error(`Enhancement "${e}" is already declared from ${r.url} and cannot be replaced by ${n}.`);return r.promise.then(()=>({name:e,status:"skipped"}))}let o=Mi(n).then(async(i)=>{if(typeof i.default!=="function")throw TypeError(`Enhancement "${e}" must export a default function.`);if(i.prepare!==void 0){if(typeof i.prepare!=="function")throw TypeError(`Enhancement "${e}" exports an invalid prepare().`);await i.prepare({resolve:(s)=>new URL(s,n).href,loadScript:ki,loadStyle:Oi})}return F(e,Ii(e,i.default)),{name:e,status:"loaded"}}).catch((i)=>{if(Ne.get(e)?.promise===o)Ne.delete(e);throw i});return Ne.set(e,{url:n,promise:o}),o}async function Ni(e){let t=await Promise.allSettled(e.map(([r,o])=>Fi(r,o))),n={names:[],failed:[],skipped:[]};return t.forEach((r,o)=>{let i=e[o][0];if(r.status==="rejected")n.failed.push({name:i,error:r.reason});else if(r.value.status==="skipped")n.skipped.push(i);else n.names.push(i)}),n}function _i(e){let t=JSON.parse(e);if(typeof t!=="object"||t===null||Array.isArray(t))throw TypeError("Manifest must be a JSON object.");return Object.entries(t)}async function Vi(e){let t=_i(e.textContent),n=await Ni(t);for(let r of n.failed)console.error(`Enhancement "${r.name}" failed to load:`,r.error);if(n.failed.length===0)e.remove();return n}function qn(){return S({[Ci]:(e)=>{Vi(e).catch((t)=>{console.error("Failed to parse enhancement manifest:",t)})}})}qn();
|