@stacksjs/components 0.2.212 → 0.2.213

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.
@@ -638,14 +638,14 @@ defineExpose({ collapsed, toggle: toggleCollapse, syncRouteSelection })
638
638
  lightest at the very top, darkest around a third of the way down, then
639
639
  lightening again — a bulge rather than a fade.
640
640
 
641
- The stops are not evenly spaced, and that is the point. A two-stop
642
- gradient fades linearly; Dia's panel reaches half strength 35% of the way
643
- down and has flattened onto its final value by 85%. `35%` is a colour
644
- interpolation hint, which exists to say where a transition's midpoint
645
- falls, and the last stop sits at 85% so the bottom sixth holds steady.
646
- See `spaceWash` in `spaces.ts` for the measurement these come from — and
647
- keep the two in step, which `sidebar-space-tint.test.ts` enforces. */
648
- background: linear-gradient(180deg, var(--stx-space-from) 0%, 35%, var(--stx-space-to) 85%);
641
+ Two stops, evenly interpolated. An eased version shipped briefly — a
642
+ colour hint at 35% with the final stop at 85% — fitted to a capture of Dia
643
+ whose bottom third was contaminated by another window behind its
644
+ translucent panel. Four clean captures agree the wash is linear: half
645
+ strength at 50.2% of the way down, mean deviation from a straight line
646
+ 0.018. See `spaceWashGradient` in `spaces.ts`, which this must match and
647
+ which `sidebar-space-tint.test.ts` enforces. */
648
+ background: linear-gradient(180deg, var(--stx-space-from) 0%, var(--stx-space-to) 100%);
649
649
  color: var(--stx-space-ink);
650
650
  /* Width is listed here because this rule outranks the pane's
651
651
  `transition-[width]` utility class and would otherwise drop it. */
@@ -670,7 +670,7 @@ defineExpose({ collapsed, toggle: toggleCollapse, syncRouteSelection })
670
670
  before the light palette was flipped to agree with it. The two
671
671
  appearances share the wash shape for the same reason they share its
672
672
  strength — a space that fades differently by appearance is two designs. */
673
- background: linear-gradient(180deg, var(--stx-space-from) 0%, 35%, var(--stx-space-to) 85%);
673
+ background: linear-gradient(180deg, var(--stx-space-from) 0%, var(--stx-space-to) 100%);
674
674
  }
675
675
  }
676
676
 
@@ -610,9 +610,9 @@ defineExpose({
610
610
  --stx-space-ink: var(--stx-space-light-ink, #2c2a28);
611
611
  --stx-space-accent: var(--stx-space-light-accent, #5b5b63);
612
612
  /* Kept identical to Sidebar.stx's rule, character for character — see
613
- `spaceWash` in spaces.ts for what the stops mean, and the drift test that
614
- compares every copy of this declaration against the exported helper. */
615
- background: linear-gradient(180deg, var(--stx-space-from) 0%, 35%, var(--stx-space-to) 85%);
613
+ `spaceWashGradient` in spaces.ts, and the drift test that compares every
614
+ copy of this declaration against the exported helper. */
615
+ background: linear-gradient(180deg, var(--stx-space-from) 0%, var(--stx-space-to) 100%);
616
616
  color: var(--stx-space-ink);
617
617
  /* One duration and one curve for everything a space change moves.
618
618
  This used to be four timings and three easings across the track, the
@@ -635,7 +635,7 @@ defineExpose({
635
635
  --stx-space-to: var(--stx-space-dark-to, #0e0e11);
636
636
  --stx-space-ink: var(--stx-space-dark-ink, #ededf0);
637
637
  --stx-space-accent: var(--stx-space-dark-accent, #b9b9c2);
638
- background: linear-gradient(180deg, var(--stx-space-from) 0%, 35%, var(--stx-space-to) 85%);
638
+ background: linear-gradient(180deg, var(--stx-space-from) 0%, var(--stx-space-to) 100%);
639
639
  }
640
640
  }
641
641
 
package/dist/index.js CHANGED
@@ -1,19 +1,19 @@
1
1
  // @bun
2
- var ge={__stx:!0,src:"./components/CodeBlock.stx"};var xe={__stx:!0,src:"./components/Footer.stx"};var me={__stx:!0,src:"./components/Hero.stx"};var ve={__stx:!0,src:"./components/Installation.stx"};function ei(e){let{code:t,onSuccess:s,onError:a,timeout:o=2000}=e,i=!1,r=null;return{copied:i,copy:async()=>{try{if(!navigator.clipboard)throw Error("Clipboard API not available");await navigator.clipboard.writeText(t),i=!0,s?.(),r=setTimeout(()=>{i=!1,r=null},o)}catch(d){let f=d instanceof Error?d:Error("Failed to copy code");a?.(f),console.error("Failed to copy code:",f)}},reset:()=>{if(i=!1,r)clearTimeout(r),r=null}}}async function ti(e){try{return await navigator.clipboard.writeText(e),!0}catch(t){return console.error("Failed to copy to clipboard:",t),!1}}function we(){if(typeof window>"u")return"light";return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function Q(e){return e==="system"?we():e}function ai(e={}){let{storageKey:t="theme",defaultTheme:s="system"}=e,a=s;if(typeof window<"u"&&typeof localStorage<"u"){let c=localStorage.getItem(t);if(c)a=c}let o=Q(a)==="dark",i=(c)=>{let d=Q(c);if(typeof document<"u")if(d==="dark")document.documentElement.classList.add("dark");else document.documentElement.classList.remove("dark");if(typeof localStorage<"u")localStorage.setItem(t,c)},r=(c)=>{a=c,i(c)},n=()=>{let d=Q(a)==="dark"?"light":"dark";r(d)};if(i(a),typeof window<"u"&&a==="system")window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",(c)=>{if(a==="system")i("system")});return{isDark:o,theme:a,toggle:n,setTheme:r}}function ye(e,t){if(typeof document>"u")return;document.title=t?t.replace("%s",e):e}function S(e,t,s=!1){if(typeof document>"u")return;let a=s?"property":"name",o=document.querySelector(`meta[${a}="${e}"]`);if(!o)o=document.createElement("meta"),o.setAttribute(a,e),document.head.appendChild(o);o.setAttribute("content",t)}function Ce(e,t){if(typeof document>"u")return;let s=document.querySelector(`link[rel="${e}"]`);if(!s)s=document.createElement("link"),s.setAttribute("rel",e),document.head.appendChild(s);s.setAttribute("href",t)}function ii(e){let{title:t,description:s,author:a,keywords:o,ogImage:i,ogImageWidth:r,ogImageHeight:n,twitterCard:c="summary_large_image",twitterSite:d,twitterCreator:f,canonical:p}=e;if(t)ye(t),S("og:title",t,!0),S("twitter:title",t);if(s)S("description",s),S("og:description",s,!0),S("twitter:description",s);if(a)S("author",a);if(o&&o.length>0)S("keywords",o.join(", "));if(i)S("og:image",i,!0),S("twitter:image",i);if(r)S("og:image:width",r,!0);if(n)S("og:image:height",n,!0);if(S("twitter:card",c),d)S("twitter:site",d);if(f)S("twitter:creator",f);if(p)Ce("canonical",p);if(S("og:type","website",!0),typeof window<"u")S("og:url",window.location.href,!0)}function ri(e){let t=[],{title:s,description:a,author:o,keywords:i,ogImage:r,ogImageWidth:n,ogImageHeight:c,twitterCard:d="summary_large_image",twitterSite:f,twitterCreator:p,canonical:g}=e;if(s)t.push(`<title>${I(s)}</title>`),t.push(`<meta property="og:title" content="${I(s)}" />`),t.push(`<meta name="twitter:title" content="${I(s)}" />`);if(a)t.push(`<meta name="description" content="${I(a)}" />`),t.push(`<meta property="og:description" content="${I(a)}" />`),t.push(`<meta name="twitter:description" content="${I(a)}" />`);if(o)t.push(`<meta name="author" content="${I(o)}" />`);if(i&&i.length>0)t.push(`<meta name="keywords" content="${I(i.join(", "))}" />`);if(r)t.push(`<meta property="og:image" content="${I(r)}" />`),t.push(`<meta name="twitter:image" content="${I(r)}" />`);if(n)t.push(`<meta property="og:image:width" content="${I(n)}" />`);if(c)t.push(`<meta property="og:image:height" content="${I(c)}" />`);if(t.push(`<meta name="twitter:card" content="${I(d)}" />`),f)t.push(`<meta name="twitter:site" content="${I(f)}" />`);if(p)t.push(`<meta name="twitter:creator" content="${I(p)}" />`);if(g)t.push(`<link rel="canonical" href="${I(g)}" />`);return t.push('<meta property="og:type" content="website" />'),t.join(`
3
- `)}function I(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}function li(e,t,s={}){let{enabled:a=!0,ignore:o=[]}=s,i=(r)=>{if(!a||!e)return;let n=r.target;if(!e.contains(n)){if(!o.some((d)=>{let f=document.querySelectorAll(d);return Array.from(f).some((p)=>p.contains(n))}))t(r)}};if(typeof document<"u")document.addEventListener("mousedown",i),document.addEventListener("touchstart",i);return()=>{if(typeof document<"u")document.removeEventListener("mousedown",i),document.removeEventListener("touchstart",i)}}function di(e,t={}){let{enabled:s=!0,initialFocus:a=null,returnFocus:o=!0,fallbackFocus:i=null}=t,r=null,n=!1;function c(){if(!e)return[];let h=["a[href]","button:not([disabled])","textarea:not([disabled])","input:not([disabled])","select:not([disabled])",'[tabindex]:not([tabindex="-1"])'].join(",");return Array.from(e.querySelectorAll(h))}function d(h){if(!s||!n||!e)return;let w=c();if(w.length===0){h.preventDefault();return}let v=w[0],k=w[w.length-1];if(h.shiftKey){if(document.activeElement===v||document.activeElement===e)h.preventDefault(),k.focus()}else if(document.activeElement===k)h.preventDefault(),v.focus()}function f(h){if(h.key==="Escape"&&s&&n)g()}function p(){if(!s||!e||n)return;if(r=document.activeElement,a)a.focus();else{let h=c();if(h.length>0)h[0].focus();else if(i)i.focus();else e.focus()}document.addEventListener("keydown",d),document.addEventListener("keydown",f),n=!0}function g(){if(!n)return;if(document.removeEventListener("keydown",d),document.removeEventListener("keydown",f),o&&r)r.focus();n=!1}return{activate:p,deactivate:g}}function ui(e,t={}){let{enabled:s=!0,preventDefault:a=!0,stopPropagation:o=!1,target:i=typeof document<"u"?document:null}=t,r=Array.isArray(e)?e:[e],n=(c)=>{if(!s)return;r.forEach((d)=>{if(!(Array.isArray(d.key)?d.key:[d.key]).some((g)=>g.toLowerCase()===c.key.toLowerCase()))return;if(d.ctrl!==void 0&&d.ctrl!==c.ctrlKey)return;if(d.shift!==void 0&&d.shift!==c.shiftKey)return;if(d.alt!==void 0&&d.alt!==c.altKey)return;if(d.meta!==void 0&&d.meta!==c.metaKey)return;if(a)c.preventDefault();if(o)c.stopPropagation();d.handler(c)})};if(i)i.addEventListener("keydown",n);return()=>{if(i)i.removeEventListener("keydown",n)}}var fi={ESCAPE:"Escape",ENTER:"Enter",SPACE:" ",TAB:"Tab",ARROW_UP:"ArrowUp",ARROW_DOWN:"ArrowDown",ARROW_LEFT:"ArrowLeft",ARROW_RIGHT:"ArrowRight",HOME:"Home",END:"End",PAGE_UP:"PageUp",PAGE_DOWN:"PageDown"};function bi(e,t,s={}){let{serializer:a=JSON.stringify,deserializer:o=JSON.parse,onError:i=console.error}=s,r=t;try{if(typeof window<"u"){let p=window.localStorage.getItem(e);if(p!==null)r=o(p)}}catch(p){i(p)}let n=r,c=new Set;function d(p){try{let g=typeof p==="function"?p(n):p;if(n=g,typeof window<"u")window.localStorage.setItem(e,a(g));c.forEach((h)=>h(g))}catch(g){i(g)}}function f(){try{if(n=t,typeof window<"u")window.localStorage.removeItem(e);c.forEach((p)=>p(t))}catch(p){i(p)}}if(typeof window<"u"){let p=(g)=>{if(g.key===e&&g.newValue!==null)try{let h=o(g.newValue);n=h,c.forEach((w)=>w(h))}catch(h){i(h)}else if(g.key===e&&g.newValue===null)n=t,c.forEach((h)=>h(t))};window.addEventListener("storage",p)}return{value:n,setValue:d,removeValue:f}}function R(e,t={}){let{defaultValue:s=!1}=t,a=s,o=null;if(typeof window<"u"&&"matchMedia"in window){o=window.matchMedia(e),a=o.matches;let r=(n)=>{a=n.matches};if(o.addEventListener)o.addEventListener("change",r);else o.addListener(r)}function i(){if(o)a=o.matches}return{matches:a,updateMatches:i}}var q={xs:"(min-width: 320px)",sm:"(min-width: 640px)",md:"(min-width: 768px)",lg:"(min-width: 1024px)",xl:"(min-width: 1280px)","2xl":"(min-width: 1536px)",mobile:"(max-width: 767px)",tablet:"(min-width: 768px) and (max-width: 1023px)",desktop:"(min-width: 1024px)",dark:"(prefers-color-scheme: dark)",light:"(prefers-color-scheme: light)",reducedMotion:"(prefers-reduced-motion: reduce)",portrait:"(orientation: portrait)",landscape:"(orientation: landscape)"};function xi(e){return R(q[e])}function mi(){return R(q.mobile)}function vi(){return R(q.desktop)}function wi(){return R(q.dark)}function yi(){return R(q.reducedMotion)}var re=["gray","neutral","slate","zinc","red","green","yellow","blue","indigo"],$i="--stx-color";function $e(e,t){return t===void 0?`var(${e})`:`var(${e}, ${t})`}function ki(e={}){let t={};for(let s of re){let a=e[s];if(!a||typeof a==="string")continue;let o={};for(let[i,r]of Object.entries(a))o[i]=$e(`--stx-color-${s}-${i}`,r);t[s]=o}return t}function Si(e={}){let t=[];for(let s of re){let a=e[s];if(!a||typeof a==="string")continue;for(let o of Object.keys(a))t.push(`--stx-color-${s}-${o}`)}return t}var Se="./Accordion-8tv78bh9.stx";var Ne="./AccordionItem-7bd3ga36.stx";var Ae="./Audio-y0sgq50z.stx";var Le="./Login-2cp65d41.stx";var Pe="./Signup-cbncrtvd.stx";var Oe="./TwoFactorChallenge-y7n4yrk9.stx";var Re="./Avatar-rjvwnskf.stx";var Be="./Badge-k52qmxcm.stx";var He="./Breadcrumb-sy5taqsn.stx";import B from"process";var Ve="https://stacksjs.com/components";class N extends Error{component;context;constructor(e,t,s={}){let a=N.formatMessage(e,t,s);super(a);if(this.name="ComponentError",this.component=e,this.context={component:e,...s},Error.captureStackTrace)Error.captureStackTrace(this,N)}static formatMessage(e,t,s){let a=`[${e}] ${t}`;if(s.prop)a+=`
2
+ var be={__stx:!0,src:"./components/CodeBlock.stx"};var ge={__stx:!0,src:"./components/Footer.stx"};var xe={__stx:!0,src:"./components/Hero.stx"};var me={__stx:!0,src:"./components/Installation.stx"};function Qo(e){let{code:t,onSuccess:s,onError:a,timeout:o=2000}=e,i=!1,r=null;return{copied:i,copy:async()=>{try{if(!navigator.clipboard)throw Error("Clipboard API not available");await navigator.clipboard.writeText(t),i=!0,s?.(),r=setTimeout(()=>{i=!1,r=null},o)}catch(d){let f=d instanceof Error?d:Error("Failed to copy code");a?.(f),console.error("Failed to copy code:",f)}},reset:()=>{if(i=!1,r)clearTimeout(r),r=null}}}async function ei(e){try{return await navigator.clipboard.writeText(e),!0}catch(t){return console.error("Failed to copy to clipboard:",t),!1}}function ve(){if(typeof window>"u")return"light";return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function Q(e){return e==="system"?ve():e}function si(e={}){let{storageKey:t="theme",defaultTheme:s="system"}=e,a=s;if(typeof window<"u"&&typeof localStorage<"u"){let c=localStorage.getItem(t);if(c)a=c}let o=Q(a)==="dark",i=(c)=>{let d=Q(c);if(typeof document<"u")if(d==="dark")document.documentElement.classList.add("dark");else document.documentElement.classList.remove("dark");if(typeof localStorage<"u")localStorage.setItem(t,c)},r=(c)=>{a=c,i(c)},n=()=>{let d=Q(a)==="dark"?"light":"dark";r(d)};if(i(a),typeof window<"u"&&a==="system")window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",(c)=>{if(a==="system")i("system")});return{isDark:o,theme:a,toggle:n,setTheme:r}}function we(e,t){if(typeof document>"u")return;document.title=t?t.replace("%s",e):e}function S(e,t,s=!1){if(typeof document>"u")return;let a=s?"property":"name",o=document.querySelector(`meta[${a}="${e}"]`);if(!o)o=document.createElement("meta"),o.setAttribute(a,e),document.head.appendChild(o);o.setAttribute("content",t)}function ye(e,t){if(typeof document>"u")return;let s=document.querySelector(`link[rel="${e}"]`);if(!s)s=document.createElement("link"),s.setAttribute("rel",e),document.head.appendChild(s);s.setAttribute("href",t)}function oi(e){let{title:t,description:s,author:a,keywords:o,ogImage:i,ogImageWidth:r,ogImageHeight:n,twitterCard:c="summary_large_image",twitterSite:d,twitterCreator:f,canonical:p}=e;if(t)we(t),S("og:title",t,!0),S("twitter:title",t);if(s)S("description",s),S("og:description",s,!0),S("twitter:description",s);if(a)S("author",a);if(o&&o.length>0)S("keywords",o.join(", "));if(i)S("og:image",i,!0),S("twitter:image",i);if(r)S("og:image:width",r,!0);if(n)S("og:image:height",n,!0);if(S("twitter:card",c),d)S("twitter:site",d);if(f)S("twitter:creator",f);if(p)ye("canonical",p);if(S("og:type","website",!0),typeof window<"u")S("og:url",window.location.href,!0)}function ii(e){let t=[],{title:s,description:a,author:o,keywords:i,ogImage:r,ogImageWidth:n,ogImageHeight:c,twitterCard:d="summary_large_image",twitterSite:f,twitterCreator:p,canonical:g}=e;if(s)t.push(`<title>${I(s)}</title>`),t.push(`<meta property="og:title" content="${I(s)}" />`),t.push(`<meta name="twitter:title" content="${I(s)}" />`);if(a)t.push(`<meta name="description" content="${I(a)}" />`),t.push(`<meta property="og:description" content="${I(a)}" />`),t.push(`<meta name="twitter:description" content="${I(a)}" />`);if(o)t.push(`<meta name="author" content="${I(o)}" />`);if(i&&i.length>0)t.push(`<meta name="keywords" content="${I(i.join(", "))}" />`);if(r)t.push(`<meta property="og:image" content="${I(r)}" />`),t.push(`<meta name="twitter:image" content="${I(r)}" />`);if(n)t.push(`<meta property="og:image:width" content="${I(n)}" />`);if(c)t.push(`<meta property="og:image:height" content="${I(c)}" />`);if(t.push(`<meta name="twitter:card" content="${I(d)}" />`),f)t.push(`<meta name="twitter:site" content="${I(f)}" />`);if(p)t.push(`<meta name="twitter:creator" content="${I(p)}" />`);if(g)t.push(`<link rel="canonical" href="${I(g)}" />`);return t.push('<meta property="og:type" content="website" />'),t.join(`
3
+ `)}function I(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}function ni(e,t,s={}){let{enabled:a=!0,ignore:o=[]}=s,i=(r)=>{if(!a||!e)return;let n=r.target;if(!e.contains(n)){if(!o.some((d)=>{let f=document.querySelectorAll(d);return Array.from(f).some((p)=>p.contains(n))}))t(r)}};if(typeof document<"u")document.addEventListener("mousedown",i),document.addEventListener("touchstart",i);return()=>{if(typeof document<"u")document.removeEventListener("mousedown",i),document.removeEventListener("touchstart",i)}}function ci(e,t={}){let{enabled:s=!0,initialFocus:a=null,returnFocus:o=!0,fallbackFocus:i=null}=t,r=null,n=!1;function c(){if(!e)return[];let h=["a[href]","button:not([disabled])","textarea:not([disabled])","input:not([disabled])","select:not([disabled])",'[tabindex]:not([tabindex="-1"])'].join(",");return Array.from(e.querySelectorAll(h))}function d(h){if(!s||!n||!e)return;let w=c();if(w.length===0){h.preventDefault();return}let v=w[0],k=w[w.length-1];if(h.shiftKey){if(document.activeElement===v||document.activeElement===e)h.preventDefault(),k.focus()}else if(document.activeElement===k)h.preventDefault(),v.focus()}function f(h){if(h.key==="Escape"&&s&&n)g()}function p(){if(!s||!e||n)return;if(r=document.activeElement,a)a.focus();else{let h=c();if(h.length>0)h[0].focus();else if(i)i.focus();else e.focus()}document.addEventListener("keydown",d),document.addEventListener("keydown",f),n=!0}function g(){if(!n)return;if(document.removeEventListener("keydown",d),document.removeEventListener("keydown",f),o&&r)r.focus();n=!1}return{activate:p,deactivate:g}}function pi(e,t={}){let{enabled:s=!0,preventDefault:a=!0,stopPropagation:o=!1,target:i=typeof document<"u"?document:null}=t,r=Array.isArray(e)?e:[e],n=(c)=>{if(!s)return;r.forEach((d)=>{if(!(Array.isArray(d.key)?d.key:[d.key]).some((g)=>g.toLowerCase()===c.key.toLowerCase()))return;if(d.ctrl!==void 0&&d.ctrl!==c.ctrlKey)return;if(d.shift!==void 0&&d.shift!==c.shiftKey)return;if(d.alt!==void 0&&d.alt!==c.altKey)return;if(d.meta!==void 0&&d.meta!==c.metaKey)return;if(a)c.preventDefault();if(o)c.stopPropagation();d.handler(c)})};if(i)i.addEventListener("keydown",n);return()=>{if(i)i.removeEventListener("keydown",n)}}var ui={ESCAPE:"Escape",ENTER:"Enter",SPACE:" ",TAB:"Tab",ARROW_UP:"ArrowUp",ARROW_DOWN:"ArrowDown",ARROW_LEFT:"ArrowLeft",ARROW_RIGHT:"ArrowRight",HOME:"Home",END:"End",PAGE_UP:"PageUp",PAGE_DOWN:"PageDown"};function hi(e,t,s={}){let{serializer:a=JSON.stringify,deserializer:o=JSON.parse,onError:i=console.error}=s,r=t;try{if(typeof window<"u"){let p=window.localStorage.getItem(e);if(p!==null)r=o(p)}}catch(p){i(p)}let n=r,c=new Set;function d(p){try{let g=typeof p==="function"?p(n):p;if(n=g,typeof window<"u")window.localStorage.setItem(e,a(g));c.forEach((h)=>h(g))}catch(g){i(g)}}function f(){try{if(n=t,typeof window<"u")window.localStorage.removeItem(e);c.forEach((p)=>p(t))}catch(p){i(p)}}if(typeof window<"u"){let p=(g)=>{if(g.key===e&&g.newValue!==null)try{let h=o(g.newValue);n=h,c.forEach((w)=>w(h))}catch(h){i(h)}else if(g.key===e&&g.newValue===null)n=t,c.forEach((h)=>h(t))};window.addEventListener("storage",p)}return{value:n,setValue:d,removeValue:f}}function R(e,t={}){let{defaultValue:s=!1}=t,a=s,o=null;if(typeof window<"u"&&"matchMedia"in window){o=window.matchMedia(e),a=o.matches;let r=(n)=>{a=n.matches};if(o.addEventListener)o.addEventListener("change",r);else o.addListener(r)}function i(){if(o)a=o.matches}return{matches:a,updateMatches:i}}var q={xs:"(min-width: 320px)",sm:"(min-width: 640px)",md:"(min-width: 768px)",lg:"(min-width: 1024px)",xl:"(min-width: 1280px)","2xl":"(min-width: 1536px)",mobile:"(max-width: 767px)",tablet:"(min-width: 768px) and (max-width: 1023px)",desktop:"(min-width: 1024px)",dark:"(prefers-color-scheme: dark)",light:"(prefers-color-scheme: light)",reducedMotion:"(prefers-reduced-motion: reduce)",portrait:"(orientation: portrait)",landscape:"(orientation: landscape)"};function gi(e){return R(q[e])}function xi(){return R(q.mobile)}function mi(){return R(q.desktop)}function vi(){return R(q.dark)}function wi(){return R(q.reducedMotion)}var re=["gray","neutral","slate","zinc","red","green","yellow","blue","indigo"],Ci="--stx-color";function Ce(e,t){return t===void 0?`var(${e})`:`var(${e}, ${t})`}function $i(e={}){let t={};for(let s of re){let a=e[s];if(!a||typeof a==="string")continue;let o={};for(let[i,r]of Object.entries(a))o[i]=Ce(`--stx-color-${s}-${i}`,r);t[s]=o}return t}function ki(e={}){let t=[];for(let s of re){let a=e[s];if(!a||typeof a==="string")continue;for(let o of Object.keys(a))t.push(`--stx-color-${s}-${o}`)}return t}var ke="./Accordion-8tv78bh9.stx";var Ie="./AccordionItem-7bd3ga36.stx";var Te="./Audio-y0sgq50z.stx";var De="./Login-2cp65d41.stx";var ze="./Signup-cbncrtvd.stx";var Ee="./TwoFactorChallenge-y7n4yrk9.stx";var Me="./Avatar-rjvwnskf.stx";var qe="./Badge-k52qmxcm.stx";var je="./Breadcrumb-sy5taqsn.stx";import B from"process";var He="https://stacksjs.com/components";class N extends Error{component;context;constructor(e,t,s={}){let a=N.formatMessage(e,t,s);super(a);if(this.name="ComponentError",this.component=e,this.context={component:e,...s},Error.captureStackTrace)Error.captureStackTrace(this,N)}static formatMessage(e,t,s){let a=`[${e}] ${t}`;if(s.prop)a+=`
4
4
  Prop: "${s.prop}"`;if(s.received!==void 0)a+=`
5
5
  Received: ${JSON.stringify(s.received)}`;if(s.expected!==void 0){let o=Array.isArray(s.expected)?s.expected.map((i)=>JSON.stringify(i)).join(", "):JSON.stringify(s.expected);a+=`
6
6
  Expected: ${o}`}if(s.details)a+=`
7
7
  Details: ${s.details}`;if(s.docsUrl)a+=`
8
8
  Documentation: ${s.docsUrl}`;else if(e)a+=`
9
- Documentation: ${Ve}/${e.toLowerCase()}`;return a}toJSON(){return{name:this.name,message:this.message,component:this.component,context:this.context,stack:this.stack}}}var M={invalidProp(e,t,s,a){return new N(e,`Invalid prop value for "${t}"`,{prop:t,received:s,expected:a,details:Array.isArray(a)?`The "${t}" prop must be one of the allowed values`:`The "${t}" prop does not match the expected type`})},requiredProp(e,t){return new N(e,`Required prop "${t}" is missing`,{prop:t,details:`The "${t}" prop is required for ${e} to function correctly`})},invalidType(e,t,s,a){return new N(e,`Invalid type for prop "${t}"`,{prop:t,received:typeof s,expected:a,details:`Expected "${t}" to be of type ${a}, but received ${typeof s}`})},componentNotFound(e){return new N("ComponentLoader",`Component "${e}" not found`,{component:e,details:"Make sure the component is properly imported and registered"})},invalidChildren(e,t,s){return new N(e,"Invalid children",{received:typeof t,expected:s,details:`${e} expects ${s} as children`})},stateUpdate(e,t,s){return new N(e,`Failed to update state "${t}"`,{details:s.message})},eventHandler(e,t,s){return new N(e,`Error in "${t}" event handler`,{details:s.message})},render(e,t){return new N(e,"Failed to render component",{details:t.message})}},V=null;function Zi(e){V=e}function Qi(){V=null}function W(e,t={}){let{throwError:s=!0,logError:a=!0}=t;if(a&&B.env.NODE_ENV!=="production"){if(console.error("Component Error:",e),e instanceof N)console.group("Error Details"),console.log("Component:",e.component),console.log("Context:",e.context),console.groupEnd()}if(V)try{V(e)}catch(o){console.error("Error in error handler:",o)}if(s)throw e}function ne(e,t,s){return(...a)=>{try{let o=e(...a);if(o instanceof Promise)return o.catch((i)=>{let r=M.eventHandler(t,s,i);throw W(r,{throwError:!1}),r});return o}catch(o){let i=M.eventHandler(t,s,o);throw W(i,{throwError:!1}),i}}}function We(e,t){if(!e)throw t}function _e(e,t,s={}){if(B.env.NODE_ENV==="production")return;let a=N.formatMessage(e,t,s);console.warn(`\u26A0\uFE0F ${a}`)}function er(e,t){if(B.env.NODE_ENV==="production")return;We(e,t)}function tr(e){let t=typeof B<"u"&&B.env.DEBUG==="true";return{log(...s){if(t)console.log(`[${e}]`,...s)},warn(s,a){_e(e,s,a)},error(s,a){let o=new N(e,s,a);W(o,{throwError:!1})}}}function sr(e,t,s){try{return t()}catch(a){let o=M.render(e,a);return W(o,{throwError:!1}),s}}import Ke from"process";var _=Ke.env.NODE_ENV!=="production";class ${validate;message;isRequired;constructor(e,t,s=!1){this.validate=e;this.message=t;this.isRequired=s}get required(){return new $(this.validate,this.message,!0)}}var l={string:new $((e)=>typeof e==="string",(e,t,s)=>`Invalid prop \`${t}\` of type \`${typeof e}\` supplied to \`${s}\`, expected \`string\`.`),number:new $((e)=>typeof e==="number"&&!Number.isNaN(e),(e,t,s)=>`Invalid prop \`${t}\` of type \`${typeof e}\` supplied to \`${s}\`, expected \`number\`.`),boolean:new $((e)=>typeof e==="boolean",(e,t,s)=>`Invalid prop \`${t}\` of type \`${typeof e}\` supplied to \`${s}\`, expected \`boolean\`.`),func:new $((e)=>typeof e==="function",(e,t,s)=>`Invalid prop \`${t}\` of type \`${typeof e}\` supplied to \`${s}\`, expected \`function\`.`),object:new $((e)=>typeof e==="object"&&e!==null&&!Array.isArray(e),(e,t,s)=>`Invalid prop \`${t}\` of type \`${typeof e}\` supplied to \`${s}\`, expected \`object\`.`),array:new $((e)=>Array.isArray(e),(e,t,s)=>`Invalid prop \`${t}\` of type \`${typeof e}\` supplied to \`${s}\`, expected \`array\`.`),any:new $(()=>!0,()=>""),oneOf(e){return new $((t)=>e.includes(t),(t,s,a)=>`Invalid prop \`${s}\` of value \`${t}\` supplied to \`${a}\`, expected one of [${e.map((o)=>JSON.stringify(o)).join(", ")}].`)},oneOfType(e){return new $((t,s,a)=>e.some((o)=>o.validate(t,s,a)),(t,s,a)=>`Invalid prop \`${s}\` supplied to \`${a}\`, expected one of the specified types.`)},arrayOf(e){return new $((t,s,a)=>{if(!Array.isArray(t))return!1;return t.every((o,i)=>e.validate(o,`${s}[${i}]`,a))},(t,s,a)=>`Invalid prop \`${s}\` supplied to \`${a}\`, expected array of specified type.`)},shape(e){return new $((t,s,a)=>{if(typeof t!=="object"||t===null||Array.isArray(t))return!1;for(let[o,i]of Object.entries(e)){if(i.isRequired&&!(o in t))return!1;if(o in t&&!i.validate(t[o],`${s}.${o}`,a))return!1}return!0},(t,s,a)=>`Invalid prop \`${s}\` supplied to \`${a}\`, expected object matching specified shape.`)},instanceOf(e){return new $((t)=>t instanceof e,(t,s,a)=>`Invalid prop \`${s}\` supplied to \`${a}\`, expected instance of \`${e.name}\`.`)},custom(e,t){return new $(e,typeof t==="string"?()=>t:t)},min(e){return new $((t)=>typeof t==="number"&&t>=e,(t,s,a)=>`Invalid prop \`${s}\` of value \`${t}\` supplied to \`${a}\`, expected value >= ${e}.`)},max(e){return new $((t)=>typeof t==="number"&&t<=e,(t,s,a)=>`Invalid prop \`${s}\` of value \`${t}\` supplied to \`${a}\`, expected value <= ${e}.`)},range(e,t){return new $((s)=>typeof s==="number"&&s>=e&&s<=t,(s,a,o)=>`Invalid prop \`${a}\` of value \`${s}\` supplied to \`${o}\`, expected value between ${e} and ${t}.`)},pattern(e){return new $((t)=>typeof t==="string"&&e.test(t),(t,s,a)=>`Invalid prop \`${s}\` of value \`${t}\` supplied to \`${a}\`, expected value matching pattern ${e}.`)},email:new $((e)=>typeof e==="string"&&/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e),(e,t,s)=>`Invalid prop \`${t}\` of value \`${e}\` supplied to \`${s}\`, expected valid email address.`),url:new $((e)=>{if(typeof e!=="string")return!1;try{let t=new URL(e);return!0}catch{return!1}},(e,t,s)=>`Invalid prop \`${t}\` of value \`${e}\` supplied to \`${s}\`, expected valid URL.`)};function Fe(e,t,s,a={}){let{throwOnError:o=!1,logWarnings:i=_}=a,r=[];if(!_)return{valid:!0,errors:[]};for(let[n,c]of Object.entries(s)){let d=t[n],f=d===void 0;if(c.isRequired&&f){let p=`Required prop \`${n}\` was not specified in \`${e}\`.`;r.push(p);continue}if(f)continue;if(!c.validate(d,n,e)){let p=c.message(d,n,e);r.push(p)}}if(r.length>0){if(i)console.group(`\u26A0\uFE0F Prop validation failed for \`${e}\``),r.forEach((n)=>console.warn(n)),console.groupEnd();if(o)throw Error(`Prop validation failed for \`${e}\`:
9
+ Documentation: ${He}/${e.toLowerCase()}`;return a}toJSON(){return{name:this.name,message:this.message,component:this.component,context:this.context,stack:this.stack}}}var M={invalidProp(e,t,s,a){return new N(e,`Invalid prop value for "${t}"`,{prop:t,received:s,expected:a,details:Array.isArray(a)?`The "${t}" prop must be one of the allowed values`:`The "${t}" prop does not match the expected type`})},requiredProp(e,t){return new N(e,`Required prop "${t}" is missing`,{prop:t,details:`The "${t}" prop is required for ${e} to function correctly`})},invalidType(e,t,s,a){return new N(e,`Invalid type for prop "${t}"`,{prop:t,received:typeof s,expected:a,details:`Expected "${t}" to be of type ${a}, but received ${typeof s}`})},componentNotFound(e){return new N("ComponentLoader",`Component "${e}" not found`,{component:e,details:"Make sure the component is properly imported and registered"})},invalidChildren(e,t,s){return new N(e,"Invalid children",{received:typeof t,expected:s,details:`${e} expects ${s} as children`})},stateUpdate(e,t,s){return new N(e,`Failed to update state "${t}"`,{details:s.message})},eventHandler(e,t,s){return new N(e,`Error in "${t}" event handler`,{details:s.message})},render(e,t){return new N(e,"Failed to render component",{details:t.message})}},V=null;function Xi(e){V=e}function Zi(){V=null}function W(e,t={}){let{throwError:s=!0,logError:a=!0}=t;if(a&&B.env.NODE_ENV!=="production"){if(console.error("Component Error:",e),e instanceof N)console.group("Error Details"),console.log("Component:",e.component),console.log("Context:",e.context),console.groupEnd()}if(V)try{V(e)}catch(o){console.error("Error in error handler:",o)}if(s)throw e}function ne(e,t,s){return(...a)=>{try{let o=e(...a);if(o instanceof Promise)return o.catch((i)=>{let r=M.eventHandler(t,s,i);throw W(r,{throwError:!1}),r});return o}catch(o){let i=M.eventHandler(t,s,o);throw W(i,{throwError:!1}),i}}}function Ve(e,t){if(!e)throw t}function We(e,t,s={}){if(B.env.NODE_ENV==="production")return;let a=N.formatMessage(e,t,s);console.warn(`\u26A0\uFE0F ${a}`)}function Qi(e,t){if(B.env.NODE_ENV==="production")return;Ve(e,t)}function er(e){let t=typeof B<"u"&&B.env.DEBUG==="true";return{log(...s){if(t)console.log(`[${e}]`,...s)},warn(s,a){We(e,s,a)},error(s,a){let o=new N(e,s,a);W(o,{throwError:!1})}}}function tr(e,t,s){try{return t()}catch(a){let o=M.render(e,a);return W(o,{throwError:!1}),s}}import _e from"process";var _=_e.env.NODE_ENV!=="production";class ${validate;message;isRequired;constructor(e,t,s=!1){this.validate=e;this.message=t;this.isRequired=s}get required(){return new $(this.validate,this.message,!0)}}var l={string:new $((e)=>typeof e==="string",(e,t,s)=>`Invalid prop \`${t}\` of type \`${typeof e}\` supplied to \`${s}\`, expected \`string\`.`),number:new $((e)=>typeof e==="number"&&!Number.isNaN(e),(e,t,s)=>`Invalid prop \`${t}\` of type \`${typeof e}\` supplied to \`${s}\`, expected \`number\`.`),boolean:new $((e)=>typeof e==="boolean",(e,t,s)=>`Invalid prop \`${t}\` of type \`${typeof e}\` supplied to \`${s}\`, expected \`boolean\`.`),func:new $((e)=>typeof e==="function",(e,t,s)=>`Invalid prop \`${t}\` of type \`${typeof e}\` supplied to \`${s}\`, expected \`function\`.`),object:new $((e)=>typeof e==="object"&&e!==null&&!Array.isArray(e),(e,t,s)=>`Invalid prop \`${t}\` of type \`${typeof e}\` supplied to \`${s}\`, expected \`object\`.`),array:new $((e)=>Array.isArray(e),(e,t,s)=>`Invalid prop \`${t}\` of type \`${typeof e}\` supplied to \`${s}\`, expected \`array\`.`),any:new $(()=>!0,()=>""),oneOf(e){return new $((t)=>e.includes(t),(t,s,a)=>`Invalid prop \`${s}\` of value \`${t}\` supplied to \`${a}\`, expected one of [${e.map((o)=>JSON.stringify(o)).join(", ")}].`)},oneOfType(e){return new $((t,s,a)=>e.some((o)=>o.validate(t,s,a)),(t,s,a)=>`Invalid prop \`${s}\` supplied to \`${a}\`, expected one of the specified types.`)},arrayOf(e){return new $((t,s,a)=>{if(!Array.isArray(t))return!1;return t.every((o,i)=>e.validate(o,`${s}[${i}]`,a))},(t,s,a)=>`Invalid prop \`${s}\` supplied to \`${a}\`, expected array of specified type.`)},shape(e){return new $((t,s,a)=>{if(typeof t!=="object"||t===null||Array.isArray(t))return!1;for(let[o,i]of Object.entries(e)){if(i.isRequired&&!(o in t))return!1;if(o in t&&!i.validate(t[o],`${s}.${o}`,a))return!1}return!0},(t,s,a)=>`Invalid prop \`${s}\` supplied to \`${a}\`, expected object matching specified shape.`)},instanceOf(e){return new $((t)=>t instanceof e,(t,s,a)=>`Invalid prop \`${s}\` supplied to \`${a}\`, expected instance of \`${e.name}\`.`)},custom(e,t){return new $(e,typeof t==="string"?()=>t:t)},min(e){return new $((t)=>typeof t==="number"&&t>=e,(t,s,a)=>`Invalid prop \`${s}\` of value \`${t}\` supplied to \`${a}\`, expected value >= ${e}.`)},max(e){return new $((t)=>typeof t==="number"&&t<=e,(t,s,a)=>`Invalid prop \`${s}\` of value \`${t}\` supplied to \`${a}\`, expected value <= ${e}.`)},range(e,t){return new $((s)=>typeof s==="number"&&s>=e&&s<=t,(s,a,o)=>`Invalid prop \`${a}\` of value \`${s}\` supplied to \`${o}\`, expected value between ${e} and ${t}.`)},pattern(e){return new $((t)=>typeof t==="string"&&e.test(t),(t,s,a)=>`Invalid prop \`${s}\` of value \`${t}\` supplied to \`${a}\`, expected value matching pattern ${e}.`)},email:new $((e)=>typeof e==="string"&&/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e),(e,t,s)=>`Invalid prop \`${t}\` of value \`${e}\` supplied to \`${s}\`, expected valid email address.`),url:new $((e)=>{if(typeof e!=="string")return!1;try{let t=new URL(e);return!0}catch{return!1}},(e,t,s)=>`Invalid prop \`${t}\` of value \`${e}\` supplied to \`${s}\`, expected valid URL.`)};function Fe(e,t,s,a={}){let{throwOnError:o=!1,logWarnings:i=_}=a,r=[];if(!_)return{valid:!0,errors:[]};for(let[n,c]of Object.entries(s)){let d=t[n],f=d===void 0;if(c.isRequired&&f){let p=`Required prop \`${n}\` was not specified in \`${e}\`.`;r.push(p);continue}if(f)continue;if(!c.validate(d,n,e)){let p=c.message(d,n,e);r.push(p)}}if(r.length>0){if(i)console.group(`\u26A0\uFE0F Prop validation failed for \`${e}\``),r.forEach((n)=>console.warn(n)),console.groupEnd();if(o)throw Error(`Prop validation failed for \`${e}\`:
10
10
  ${r.join(`
11
- `)}`)}return{valid:r.length===0,errors:r}}function D(e,t,s){return(a)=>Fe(e,a,t,s)}function ir(e,t,s="value"){if(!_)return;if(!t.validate(e,s,"assertion"))throw Error(t.message(e,s,"assertion"))}function rr(e,t,s="value"){if(!_)return;if(!t.validate(e,s,"warning"))console.warn(t.message(e,s,"warning"))}var Ue="./Button-wrwmnfpf.stx";var Ye={variant:l.oneOf(["primary","secondary","outline","ghost","danger"]),size:l.oneOf(["xs","sm","md","lg","xl"]),disabled:l.boolean,loading:l.boolean,type:l.oneOf(["button","submit","reset"]),fullWidth:l.boolean,leftIcon:l.string,rightIcon:l.string,className:l.string,onClick:l.func},pr=D("Button",Ye);function ur(e){return ne(e,"Button","onClick")}function fr(e){if(e&&!["primary","secondary","outline","ghost","danger"].includes(e))throw M.invalidProp("Button","variant",e,["primary","secondary","outline","ghost","danger"])}function hr(e){if(e&&!["xs","sm","md","lg","xl"].includes(e))throw M.invalidProp("Button","size",e,["xs","sm","md","lg","xl"])}var Xe="./Calendar-gjjhhfnt.stx";var Qe="./Card-473a02fy.stx";var tt="./Checkbox-2s2a7n4h.stx";var at="./Combobox-fdkr6cdq.stx";var it="./ComboboxButton-g76stp1e.stx";var nt="./ComboboxInput-z1293bbh.stx";var ct="./ComboboxOption-6yh7xk7q.stx";var pt="./ComboboxOptions-sq5360ae.stx";var ft="./CommandPalette-36mxf05w.stx";var bt="./CommandPaletteItem-chdw0070.stx";var xt="./Dialog-y5rz2vrq.stx";var vt="./DialogBackdrop-rxax3sec.stx";var yt="./DialogDescription-gth4c2kx.stx";var $t="./DialogPanel-44d8jeqy.stx";var St="./DialogTitle-x0r6k8x9.stx";var Nt="./Drawer-jgepqr9j.stx";var At="./Dropdown-vvhemtc0.stx";var Lt="./DropdownButton-wcz67dxy.stx";var Pt="./DropdownItem-d8ht2bp5.stx";var Ot="./DropdownItems-1sxnd5qn.stx";var Rt="./Form-vbag14t1.stx";var qt={action:l.string,method:l.oneOf(["GET","POST","PUT","DELETE","PATCH"]),validationSchema:l.object,initialValues:l.object,validateOnChange:l.boolean,validateOnBlur:l.boolean,onSubmit:l.func,onError:l.func,className:l.string},hn=D("Form",qt);var jt="./Image-yhxcvgzs.stx";var Vt="./EmailInput-vak3kkmk.stx";var _t="./NumberInput-j9p5bm5y.stx";var Ft="./PasswordInput-4qykq1dz.stx";var Ut="./SearchInput-pdx7agn0.stx";var Jt="./TextInput-cefyyprt.stx";var Xt={value:l.string,onChange:l.func,placeholder:l.string,disabled:l.boolean,readonly:l.boolean,size:l.oneOf(["sm","md","lg"]),error:l.boolean,label:l.string,helperText:l.string,required:l.boolean,className:l.string,inputClassName:l.string},Zt={value:l.string,onChange:l.func,placeholder:l.string,disabled:l.boolean,readonly:l.boolean,size:l.oneOf(["sm","md","lg"]),error:l.boolean,label:l.string,helperText:l.string,required:l.boolean,className:l.string,inputClassName:l.string,leftIcon:l.string,rightIcon:l.string,clearable:l.boolean,maxLength:l.number,showCount:l.boolean},Qt={value:l.string,onChange:l.func,placeholder:l.string,disabled:l.boolean,readonly:l.boolean,size:l.oneOf(["sm","md","lg"]),error:l.boolean,label:l.string,helperText:l.string,required:l.boolean,className:l.string,inputClassName:l.string,min:l.number,max:l.number,step:l.number,showControls:l.boolean},es={value:l.string,onChange:l.func,placeholder:l.string,disabled:l.boolean,readonly:l.boolean,size:l.oneOf(["sm","md","lg"]),error:l.boolean,label:l.string,helperText:l.string,required:l.boolean,className:l.string,inputClassName:l.string,showStrength:l.boolean},ts={value:l.string,onChange:l.func,placeholder:l.string,disabled:l.boolean,readonly:l.boolean,size:l.oneOf(["sm","md","lg"]),error:l.boolean,label:l.string,helperText:l.string,required:l.boolean,className:l.string,inputClassName:l.string,onSearch:l.func,loading:l.boolean},In=D("TextInput",Zt),Nn=D("EmailInput",Xt),Tn=D("PasswordInput",es),An=D("NumberInput",Qt),Dn=D("SearchInput",ts);var as="./Listbox-q49tnr90.stx";var is="./ListboxButton-keb8gm0q.stx";var ns="./ListboxLabel-7mymt1b8.stx";var cs="./ListboxOption-4j070101.stx";var ps="./ListboxOptions-ejkatcfg.stx";var fs="./Navigator-smpa7my4.stx";var bs="./Notification-03vfh3k6.stx";var xs="./Pagination-jbcjrfcs.stx";var vs="./Checkout-22wh3s22.stx";var ys="./DefaultPaymentMethod-6qrem3sg.stx";var $s="./PaymentMethods-2xy66bwk.stx";var Ss="./SubscriptionCheckout-7fdkwf04.stx";var Ns="./Popover-et2q44m7.stx";var As="./PopoverButton-mffzc9pr.stx";var Ls="./PopoverPanel-054yh38h.stx";var Ps="./Portal-1vf14s4x.stx";var Os="./Progress-4h7dytq5.stx";var Rs="./Radio-ccm07b2m.stx";var Bs="./RadioGroup-eerw9gq7.stx";var Hs="./RadioGroupDescription-z34r9avr.stx";var Ws="./RadioGroupLabel-7mymt1b8.stx";var Ks="./RadioGroupOption-7pq7rw84.stx";var Gs="./Select-zt72gg1e.stx";var Ys="./Sidebar-ncrv4214.stx";var Xs="./SidebarFooter-s7skj92y.stx";var Qs="./SidebarHeader-vvxsehyn.stx";var ta="./SidebarItem-5v8atp7p.stx";var aa="./SidebarPinned-48kyk193.stx";var ia="./SidebarSection-sqz49ary.stx";var na="./SidebarSpace-nmbvgrky.stx";var ca="./SidebarSpaces-356h7qsc.stx";var pa="./SidebarSpaceSwitcher-az9wqm87.stx";var K={blue:"#0088ff",red:"#ff383c",pink:"#ff2d55",orange:"#ff8d28",yellow:"#ffcc00",green:"#34c759",teal:"#00c3d0",cyan:"#00c0e8",indigo:"#6155f5",purple:"#cb30e0",brown:"#ac7f5e",gray:"#8e8e93"},O={pane:["bg-[#f2f2f4]/90 dark:bg-[#1c1c1e]/88","backdrop-blur-[50px] backdrop-saturate-[180%]","text-black dark:text-white","select-none"].join(" "),selection:"accent",layers:{shimmerRim:!0},scrollArea:"flex-1 overflow-y-auto overflow-x-hidden px-[10px] pb-[10px]",sectionHeader:["group/section flex w-full items-center","pl-[8px] pr-[6px] pt-[16px] pb-[5px]","text-[11px] font-semibold leading-[13px]","text-[#3c3c43]/60 dark:text-[#ebebf5]/60"].join(" "),sectionChevron:["i-f7-chevron-down h-[11px] w-[11px] ml-auto","text-[#3c3c43]/45 dark:text-[#ebebf5]/45","opacity-0 group-hover/section:opacity-100 transition-opacity duration-150","transition-transform duration-200"].join(" "),sectionGroup:"flex flex-col",item:{base:["flex w-full items-center","h-[32px] rounded-[8px] pl-[4px] pr-[8px]","text-[13px] leading-[16px] font-normal","text-black dark:text-white","transition-colors duration-150 ease-out","cursor-default"].join(" "),hover:"hover:bg-black/4 dark:hover:bg-white/6",active:"",pressed:"active:bg-black/10 dark:active:bg-white/18",disabled:"opacity-40 pointer-events-none",disclosure:"flex h-[16px] w-[18px] shrink-0 items-center justify-center",chevron:["i-f7-chevron-right h-[11px] w-[11px]","text-[#3c3c43]/55 dark:text-[#ebebf5]/55","transition-transform duration-200 ease-out"].join(" "),iconSlot:"flex h-[20px] w-[22px] shrink-0 items-center justify-center mr-[7px]",icon:"h-[17px] w-[17px]",image:"h-[20px] w-[20px] rounded-[4px] object-cover shadow-sm",label:"flex-1 truncate text-left",count:["ml-[8px] shrink-0 tabular-nums","text-[13px] leading-[16px]","text-[#3c3c43]/60 dark:text-[#ebebf5]/60"].join(" "),indentPerLevel:16}},ua={selection:"classes",pane:"bg-[#f4f4f3] dark:bg-neutral-950 text-zinc-950 dark:text-white select-none",layers:{},scrollArea:"flex-1 overflow-y-auto overflow-x-hidden px-5 py-5",sectionHeader:"group/section flex w-full items-center gap-2.5 px-4 pb-2 pt-5 text-[13px] font-semibold uppercase tracking-[0.12em] text-zinc-400 dark:text-zinc-500",sectionChevron:"i-f7-chevron-down h-3 w-3 ml-auto opacity-0 group-hover/section:opacity-100 transition-opacity duration-150 transition-transform duration-200",sectionGroup:"flex flex-col space-y-1",item:{base:"flex w-full items-center gap-3 rounded-[16px] px-3.5 py-2 text-[14px] leading-tight transition-colors duration-150",hover:"hover:bg-[#ececea] hover:text-zinc-950 dark:hover:bg-white/10",active:"bg-[#e7e7e5] text-zinc-950 dark:bg-white/12 dark:text-white",pressed:"active:bg-[#e2e2e0] dark:active:bg-white/15",disabled:"opacity-50 pointer-events-none",disclosure:"flex h-4 w-4 shrink-0 items-center justify-center",chevron:"i-f7-chevron-right h-3 w-3 opacity-50 transition-transform duration-200",iconSlot:"flex h-5 w-5 shrink-0 items-center justify-center",icon:"h-[18px] w-[18px] text-zinc-500 dark:text-zinc-500",image:"h-5 w-5 rounded object-cover",label:"flex-1 truncate text-left text-zinc-700 dark:text-zinc-300",count:"ml-auto grid h-5 min-w-5 place-items-center rounded-full bg-white/70 px-1.5 text-[11px] font-medium text-zinc-500 shadow-sm dark:bg-white/10 dark:text-zinc-400",indentPerLevel:12}},fa={selection:"classes",pane:"bg-[#f3f3f1]/48 dark:bg-neutral-950/32 backdrop-blur-3xl backdrop-saturate-150 text-zinc-950 dark:text-white select-none",layers:{tint:"bg-[linear-gradient(112deg,rgba(255,255,255,0.20)_0%,rgba(255,255,255,0.04)_45%,rgba(226,226,222,0.16)_100%)] dark:bg-[linear-gradient(112deg,rgba(255,255,255,0.08)_0%,rgba(255,255,255,0.02)_46%,rgba(255,255,255,0.06)_100%)]"},scrollArea:"flex-1 overflow-y-auto overflow-x-hidden px-5 py-2",sectionHeader:"group/section flex w-full items-center gap-2.5 px-3 pb-1.5 pt-3 rounded-[14px] text-[12px] font-semibold uppercase tracking-[0.10em] text-zinc-500/80 dark:text-zinc-400/80",sectionChevron:"i-f7-chevron-down h-3 w-3 ml-auto opacity-0 group-hover/section:opacity-100 transition-opacity duration-150 transition-transform duration-200",sectionGroup:"flex flex-col space-y-1",item:{base:"flex w-full items-center gap-3 rounded-[14px] px-3 py-1.5 text-[13.5px] leading-tight transition-colors duration-150",hover:"hover:bg-white/38 hover:text-zinc-950 dark:hover:bg-white/10",active:"bg-[#e8e8e6]/90 text-zinc-950 dark:bg-white/12 dark:text-white",pressed:"active:bg-white/50 dark:active:bg-white/15",disabled:"opacity-50 pointer-events-none",disclosure:"flex h-4 w-4 shrink-0 items-center justify-center",chevron:"i-f7-chevron-right h-3 w-3 opacity-50 transition-transform duration-200",iconSlot:"flex h-5 w-5 shrink-0 items-center justify-center",icon:"h-[18px] w-[18px] text-zinc-600 dark:text-zinc-400",image:"h-5 w-5 rounded object-cover",label:"flex-1 truncate text-left text-zinc-700 dark:text-zinc-300",count:"ml-auto grid h-5 min-w-5 place-items-center rounded-full bg-white/72 px-1.5 text-[11px] font-medium text-zinc-500 shadow-sm dark:bg-white/10 dark:text-zinc-400",indentPerLevel:12}},ha={selection:"classes",pane:["bg-[#f7f5f1]/92 dark:bg-[#1a1a1c]/92","backdrop-blur-[40px] backdrop-saturate-[160%]","text-[#2c2a28] dark:text-[#ededf0]","select-none"].join(" "),layers:{tint:["bg-[linear-gradient(180deg,var(--stx-sidebar-tint,rgba(255,251,242,0.55))_0%,rgba(255,255,255,0)_38%)]","dark:bg-[linear-gradient(180deg,var(--stx-sidebar-tint,rgba(255,255,255,0.05))_0%,rgba(255,255,255,0)_42%)]"].join(" ")},scrollArea:"flex-1 overflow-y-auto overflow-x-hidden px-[16px] pb-[8px]",sectionHeader:["group/section flex w-full items-center","px-[8px] pt-[14px] pb-[4px]","text-[11px] font-medium leading-[13px]","opacity-55"].join(" "),sectionChevron:["i-f7-chevron-down h-[10px] w-[10px] ml-auto","opacity-0 group-hover/section:opacity-100 transition-opacity duration-150","transition-transform duration-200"].join(" "),sectionGroup:"flex flex-col space-y-[2px]",item:{base:["flex w-full items-center","h-[30px] rounded-[8px] pl-[6px] pr-[8px]","text-[13px] leading-[16px] font-normal","text-current","transition-[background-color,box-shadow,color] duration-150 ease-out","cursor-default"].join(" "),hover:"hover:bg-white/55 dark:hover:bg-white/8",active:["bg-white dark:bg-white/14","font-medium","shadow-[0_1px_2px_rgba(0,0,0,0.08)] dark:shadow-[0_1px_2px_rgba(0,0,0,0.35)]","ring-1 ring-black/5 dark:ring-white/8"].join(" "),pressed:"active:bg-white/80 dark:active:bg-white/18",disabled:"opacity-40 pointer-events-none",disclosure:"flex h-[16px] w-[16px] shrink-0 items-center justify-center",chevron:["i-f7-chevron-right h-[10px] w-[10px] opacity-45","transition-transform duration-200 ease-out"].join(" "),iconSlot:"flex h-[18px] w-[18px] shrink-0 items-center justify-center mr-[8px]",icon:"h-[16px] w-[16px]",image:"h-[18px] w-[18px] rounded-[5px] object-cover shadow-sm",label:"flex-1 truncate text-left",count:["ml-[8px] shrink-0 tabular-nums","text-[12px] leading-[16px] opacity-45"].join(" "),indentPerLevel:14}},ba={...O,pane:"bg-stone-100 dark:bg-neutral-900 text-black dark:text-white select-none",layers:{}},ga={...O,pane:"bg-transparent text-black dark:text-white select-none",layers:{}},xa={...O,pane:"bg-white/50 dark:bg-black/40 backdrop-blur-3xl backdrop-saturate-200 text-black dark:text-white select-none",layers:{}},le={macos:O,tahoe:O,"macos-tahoe":O,"macos-latest":O,arc:ha,workspace:ua,desktop:fa,solid:ba,transparent:ga,vibrancy:xa};function Yl(e){return le[e||"macos"]||le.macos}function Jl(e){if(!e)return;return K[e]||e}var ma=K.gray;function P(e,t,s){return`color-mix(in oklab, ${e} ${t}%, ${s})`}function ce(e){return{light:{from:P(e,44,"#ffffff"),to:P(e,15,"#ffffff"),ink:P(e,22,"#17171b"),accent:P(e,88,"#2a2a30")},dark:{from:P(e,34,"#101014"),to:P(e,12,"#08080b"),ink:P(e,12,"#f4f4f7"),accent:P(e,74,"#ffffff")}}}var de={hint:35,end:85};function Ql(e,t){return`linear-gradient(180deg, ${e} 0%, ${de.hint}%, ${t} ${de.end}%)`}function va(e){if(!e)return ce(ma);if(typeof e!=="string")return e;return ce(K[e]||e)}function wa(e){return[`--stx-space-light-from: ${e.light.from}`,`--stx-space-light-to: ${e.light.to}`,`--stx-space-light-ink: ${e.light.ink}`,`--stx-space-light-accent: ${e.light.accent}`,`--stx-space-dark-from: ${e.dark.from}`,`--stx-space-dark-to: ${e.dark.to}`,`--stx-space-dark-ink: ${e.dark.ink}`,`--stx-space-dark-accent: ${e.dark.accent}`].join("; ")}function pe(e,t,s,a){if(!e||!e.label)return null;return{id:e.id||`${t}-${s}`,label:e.label,icon:e.icon||a}}function ya(e){let t=va(e.tint);return{id:e.id,label:e.label||"",icon:e.icon||"",pinned:e.pinned||[],sections:e.sections||[],action:pe(e.action,e.id,"action","i-f7-plus"),clear:pe(e.clear,e.id,"clear","i-f7-arrow-down"),tint:t,style:wa(t),deferred:e.deferred===!0,showTitle:e.showTitle??!0}}function ec(e){return(e||[]).map(ya)}function tc(e,t){if(!t)return 0;let s=e.findIndex((a)=>a.id===t);return s===-1?0:s}function sc(e){return e.map((t)=>t.tint)}var $a="./Skeleton-wtwb97xd.stx";var Sa="./Spinner-ypya5tt2.stx";var Na="./Stepper-rgbk76hd.stx";var Aa="./StepperStep-3ahq4d9m.stx";class F{storage;namespace;watchers=new Map;encryptionKey="stx-storage-key";constructor(e="local",t=""){if(this.storage=e==="local"?globalThis.localStorage:globalThis.sessionStorage,this.namespace=t,typeof window<"u")window.addEventListener("storage",this.handleStorageEvent.bind(this))}handleStorageEvent(e){if(!e.key)return;let t=this.namespace&&e.key.startsWith(`${this.namespace}:`)?e.key.slice(this.namespace.length+1):e.key,s=this.watchers.get(t);if(s){let a=e.oldValue?JSON.parse(e.oldValue).value:null,o=e.newValue?JSON.parse(e.newValue).value:null;s.forEach((i)=>i(o,a,t))}}encrypt(e){let t="";for(let s=0;s<e.length;s++)t+=String.fromCharCode(e.charCodeAt(s)^this.encryptionKey.charCodeAt(s%this.encryptionKey.length));return btoa(t)}decrypt(e){try{let t=atob(e),s="";for(let a=0;a<t.length;a++)s+=String.fromCharCode(t.charCodeAt(a)^this.encryptionKey.charCodeAt(a%this.encryptionKey.length));return s}catch{return e}}compress(e){if(e.length<100)return e;let t={},s=256,a=[],o="";for(let i=0;i<e.length;i++){let r=e.charAt(i),n=o+r;if(t[n]!==void 0)o=n;else a.push(o.length>1?t[o]:o.charCodeAt(0)),t[n]=s++,o=r}if(o!=="")a.push(o.length>1?t[o]:o.charCodeAt(0));return JSON.stringify(a)}decompress(e){try{let t=JSON.parse(e);if(!Array.isArray(t))return e;let s={},a=256,o=String.fromCharCode(t[0]),i=o;for(let r=1;r<t.length;r++){let n=t[r],c;if(s[n]!==void 0)c=s[n];else if(n===a)c=o+o.charAt(0);else return e;i+=c,s[a++]=o+c.charAt(0),o=c}return i}catch{return e}}getKey(e){return this.namespace?`${this.namespace}:${e}`:e}set(e,t,s){let a=this.getKey(e),o=this.get(e),i={value:t,timestamp:Date.now(),expire:s?.expire,encrypted:s?.encrypt||!1,compressed:s?.compress||!1};try{let r=JSON.stringify(i);if(s?.compress)r=this.compress(r);if(s?.encrypt)r=this.encrypt(r);this.storage.setItem(a,r),this.notifyWatchers(e,t,o)}catch(r){console.error("Storage set error:",r)}}get(e){let t=this.getKey(e);try{let s=this.storage.getItem(t);if(!s)return null;if(s.match(/^[A-Z0-9+/]+=*$/i))try{s=this.decrypt(s)}catch{}if(s.startsWith("["))try{s=this.decompress(s)}catch{}let a=JSON.parse(s);if(a.expire&&Date.now()-a.timestamp>a.expire)return this.remove(e),null;return a.value}catch(s){return console.error("Storage get error:",s),null}}watch(e,t){if(!this.watchers.has(e))this.watchers.set(e,new Set);return this.watchers.get(e).add(t),()=>{let s=this.watchers.get(e);if(s){if(s.delete(t),s.size===0)this.watchers.delete(e)}}}notifyWatchers(e,t,s){let a=this.watchers.get(e);if(a)a.forEach((o)=>o(t,s,e))}remove(e){let t=this.getKey(e),s=this.get(e);this.storage.removeItem(t),this.notifyWatchers(e,null,s)}clear(){if(this.namespace)this.keys().forEach((t)=>this.remove(t));else this.storage.clear()}has(e){return this.get(e)!==null}keys(){let e=Object.keys(this.storage);if(this.namespace){let t=`${this.namespace}:`;return e.filter((s)=>s.startsWith(t)).map((s)=>s.slice(t.length))}return e}size(){return this.keys().length}getQuota(){if("storage"in navigator&&"estimate"in navigator.storage)return null;try{let e=0;for(let s=0;s<this.storage.length;s++){let a=this.storage.key(s);if(a){let o=this.storage.getItem(a)||"";e+=a.length+o.length}}let t=5242880;return{usage:e*2,quota:t,percentage:e*2/t*100}}catch{return null}}setMany(e,t){Object.entries(e).forEach(([s,a])=>{this.set(s,a,t)})}getMany(e){let t={};return e.forEach((s)=>{t[s]=this.get(s)}),t}removeMany(e){e.forEach((t)=>this.remove(t))}}var Tc={local:new F("local"),session:new F("session")};function Ac(e="local",t){return new F(e,t)}var La="./Switch-hdta55a8.stx";var Pa="./Table-0mc3fdek.stx";var Oa="./TableBody-drxyz5jh.stx";var Ra="./TableCell-8swtcq8s.stx";var Ba="./TableHead-e9xvjx2j.stx";var Ha="./TableHeader-sxc77b4d.stx";var Wa="./TableRow-xd542nvb.stx";var Ka="./TabPanel-5htevsq6.stx";var Ga="./Tabs-b4xsba1w.stx";var Ya="./Teleport-tsx4bt4n.stx";var Xa="./Textarea-xcdym703.stx";var Qa="./Tooltip-y61h04gp.stx";var to="./Transition-7smenaz8.stx";var ao="./Video-a0aeyexv.stx";var io="./VirtualList-fa7v5a3h.stx";var no="./VirtualTable-jvm1784g.stx";var lo=0;function ue(e="a11y"){return`${e}-${++lo}-${Date.now()}`}function vd(e,t,s={}){let{visible:a=!1,id:o=ue("label")}=s,i=document.createElement(a?"label":"span");if(i.id=o,i.textContent=e,!a)Object.assign(i.style,{position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",border:"0"});if(t)if(t.setAttribute("aria-labelledby",o),t.parentElement)t.parentElement.insertBefore(i,t);else document.body.appendChild(i);return o}function wd(e,t){let s=ue("desc"),a=document.createElement("span");if(a.id=s,a.textContent=e,Object.assign(a.style,{position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",border:"0"}),t)if(t.setAttribute("aria-describedby",s),t.parentElement)t.parentElement.insertBefore(a,t);else document.body.appendChild(a);return s}function yd(e,t="polite"){let s=document.createElement("div");s.setAttribute("role","status"),s.setAttribute("aria-live",t),s.setAttribute("aria-atomic","true"),Object.assign(s.style,{position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",border:"0"}),document.body.appendChild(s),setTimeout(()=>{s.textContent=e},100),setTimeout(()=>{s.parentNode?.removeChild(s)},1000)}function ee(e){let t=["a[href]","area[href]",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])","button:not([disabled])","iframe","object","embed","[contenteditable]",'[tabindex]:not([tabindex="-1"])'].join(",");return Array.from(e.querySelectorAll(t)).filter((s)=>s.offsetParent!==null)}function Cd(e,t={}){let{initialFocus:s,returnFocus:a,escapeDeactivates:o=!0,clickOutsideDeactivates:i=!0,allowOutsideClick:r=!1,onActivate:n,onDeactivate:c}=t,d=!1,f=!1,p=null,g=(m)=>{if(f)return;if(o&&m.key==="Escape"){m.preventDefault(),v();return}if(m.key==="Tab"){let C=ee(e);if(C.length===0){m.preventDefault();return}let T=C[0],z=C[C.length-1];if(m.shiftKey){if(document.activeElement===T)m.preventDefault(),z.focus()}else if(document.activeElement===z)m.preventDefault(),T.focus()}},h=(m)=>{if(f)return;if(!e.contains(m.target)){if(typeof r==="function"){if(!r(m)&&i)v()}else if(!r&&i)v()}};function w(){if(d)return;d=!0,p=document.activeElement;let m=s||ee(e)[0];if(m&&typeof m.focus==="function")m.focus();document.addEventListener("keydown",g),document.addEventListener("click",h),n?.()}function v(){if(!d)return;d=!1;let m=a||p;if(m&&typeof m.focus==="function")m.focus();document.removeEventListener("keydown",g),document.removeEventListener("click",h),c?.()}function k(){f=!0}function x(){f=!1}return{activate:w,deactivate:v,pause:k,unpause:x}}function $d(e,t={}){let{selector:s='[role="option"], [role="menuitem"], [role="tab"], button',initialIndex:a=0,orientation:o="both",loop:i=!0,onFocusChange:r}=t,n=a,c=()=>{return Array.from(e.querySelectorAll(s))},d=(p)=>{let g=c();if(p<0||p>=g.length)return;g.forEach((h,w)=>{if(w===p){if(h.setAttribute("tabindex","0"),typeof h.focus==="function")h.focus()}else h.setAttribute("tabindex","-1")}),n=p,r?.(p,g[p])},f=(p)=>{let h=c().length-1,w=!1,v=n;switch(p.key){case"ArrowRight":if(o==="horizontal"||o==="both"){if(v=n+1,v>h)v=i?0:h;w=!0}break;case"ArrowLeft":if(o==="horizontal"||o==="both"){if(v=n-1,v<0)v=i?h:0;w=!0}break;case"ArrowDown":if(o==="vertical"||o==="both"){if(v=n+1,v>h)v=i?0:h;w=!0}break;case"ArrowUp":if(o==="vertical"||o==="both"){if(v=n-1,v<0)v=i?h:0;w=!0}break;case"Home":v=0,w=!0;break;case"End":v=h,w=!0;break}if(w)p.preventDefault(),d(v)};return d(a),e.addEventListener("keydown",f),()=>{e.removeEventListener("keydown",f)}}var kd={Enter:"Enter",Space:" ",Escape:"Escape",ArrowUp:"ArrowUp",ArrowDown:"ArrowDown",ArrowLeft:"ArrowLeft",ArrowRight:"ArrowRight",Tab:"Tab",Home:"Home",End:"End",PageUp:"PageUp",PageDown:"PageDown"};function Sd(e){return document.activeElement===e}function Id(e,t){let s=t||document.activeElement,a=ee(document.body),o=a.indexOf(s);if(o===-1)return;let i=e==="next"?o+1:o-1,r=a[i];if(r)r.focus()}function Nd(e){if(e.getAttribute("aria-hidden")==="true")return!1;let t=window.getComputedStyle(e);if(t.display==="none"||t.visibility==="hidden")return!1;return!0}var Td={setExpanded(e,t){e.setAttribute("aria-expanded",String(t))},setSelected(e,t){e.setAttribute("aria-selected",String(t))},setChecked(e,t){e.setAttribute("aria-checked",String(t))},setDisabled(e,t){if(e.setAttribute("aria-disabled",String(t)),t)e.setAttribute("tabindex","-1");else e.removeAttribute("tabindex")},setHidden(e,t){if(t)e.setAttribute("aria-hidden","true");else e.removeAttribute("aria-hidden")},setPressed(e,t){e.setAttribute("aria-pressed",String(t))},setInvalid(e,t){e.setAttribute("aria-invalid",String(t))},setRequired(e,t){e.setAttribute("aria-required",String(t))},setLive(e,t){e.setAttribute("aria-live",t)},setBusy(e,t){e.setAttribute("aria-busy",String(t))}};function Ad(e){let t=document.createElement("span");return t.textContent=e,t.className="sr-only",Object.assign(t.style,{position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",border:"0"}),t}function Dd(){if(typeof window.matchMedia==="function")return window.matchMedia("(prefers-reduced-motion: reduce)").matches;return!1}function Ld(){if(typeof window.matchMedia==="function")return window.matchMedia("(prefers-contrast: high)").matches;return!1}function zd(){if(typeof window.matchMedia==="function"){if(window.matchMedia("(prefers-color-scheme: dark)").matches)return"dark";if(window.matchMedia("(prefers-color-scheme: light)").matches)return"light"}return null}function Pd(e,t="Skip to main content"){let s=document.createElement("a");return s.href=`#${e}`,s.textContent=t,s.className="skip-link",Object.assign(s.style,{position:"absolute",top:"-40px",left:"0",background:"#000",color:"#fff",padding:"8px",textDecoration:"none",zIndex:"100"}),s.addEventListener("focus",()=>{s.style.top="0"}),s.addEventListener("blur",()=>{s.style.top="-40px"}),s}function Ed(e){let t=[],s=(a)=>{let o=e.getAttribute(a);if(o){let i=o.split(" ");for(let r of i)if(!document.getElementById(r))t.push(`${a} references non-existent ID: ${r}`)}};return s("aria-labelledby"),s("aria-describedby"),s("aria-controls"),s("aria-owns"),s("aria-activedescendant"),t}var co=(e,t,s,a)=>{return s*e/a+t},po=(e,t,s,a)=>{return e/=a,s*e*e+t},uo=(e,t,s,a)=>{return e/=a,-s*e*(e-2)+t},fo=(e,t,s,a)=>{if(e/=a/2,e<1)return s/2*e*e+t;return e--,-s/2*(e*(e-2)-1)+t},ho=(e,t,s,a)=>{return e/=a,s*e*e*e+t},bo=(e,t,s,a)=>{return e/=a,e--,s*(e*e*e+1)+t},go=(e,t,s,a)=>{if(e/=a/2,e<1)return s/2*e*e*e+t;return e-=2,s/2*(e*e*e+2)+t},xo=(e,t,s,a)=>{return e/=a,s*e*e*e*e+t},mo=(e,t,s,a)=>{return e/=a,e--,-s*(e*e*e*e-1)+t},vo=(e,t,s,a)=>{if(e/=a/2,e<1)return s/2*e*e*e*e+t;return e-=2,-s/2*(e*e*e*e-2)+t},wo=(e,t,s,a)=>{return e/=a,s*e*e*e*e*e+t},yo=(e,t,s,a)=>{return e/=a,e--,s*(e*e*e*e*e+1)+t},Co=(e,t,s,a)=>{if(e/=a/2,e<1)return s/2*e*e*e*e*e+t;return e-=2,s/2*(e*e*e*e*e+2)+t},$o=(e,t,s,a)=>{return-s*Math.cos(e/a*(Math.PI/2))+s+t},ko=(e,t,s,a)=>{return s*Math.sin(e/a*(Math.PI/2))+t},So=(e,t,s,a)=>{return-s/2*(Math.cos(Math.PI*e/a)-1)+t},Io=(e,t,s,a)=>{return e===0?t:s*2**(10*(e/a-1))+t},No=(e,t,s,a)=>{return e===a?t+s:s*(-(2**(-10*e/a))+1)+t},To=(e,t,s,a)=>{if(e===0)return t;if(e===a)return t+s;if(e/=a/2,e<1)return s/2*2**(10*(e-1))+t;return e--,s/2*(-(2**(-10*e))+2)+t},Ao=(e,t,s,a)=>{return e/=a,-s*(Math.sqrt(1-e*e)-1)+t},Do=(e,t,s,a)=>{return e/=a,e--,s*Math.sqrt(1-e*e)+t},Lo=(e,t,s,a)=>{if(e/=a/2,e<1)return-s/2*(Math.sqrt(1-e*e)-1)+t;return e-=2,s/2*(Math.sqrt(1-e*e)+1)+t},zo=(e,t,s,a)=>{let o=1.70158,i=0,r=s;if(e===0)return t;if(e/=a,e===1)return t+s;if(!i)i=a*0.3;if(r<Math.abs(s))r=s,o=i/4;else o=i/(2*Math.PI)*Math.asin(s/r);return e-=1,-(r*2**(10*e)*Math.sin((e*a-o)*(2*Math.PI)/i))+t},Po=(e,t,s,a)=>{let o=1.70158,i=0,r=s;if(e===0)return t;if(e/=a,e===1)return t+s;if(!i)i=a*0.3;if(r<Math.abs(s))r=s,o=i/4;else o=i/(2*Math.PI)*Math.asin(s/r);return r*2**(-10*e)*Math.sin((e*a-o)*(2*Math.PI)/i)+s+t},Eo=(e,t,s,a)=>{let o=1.70158,i=0,r=s;if(e===0)return t;if(e/=a/2,e===2)return t+s;if(!i)i=a*0.44999999999999996;if(r<Math.abs(s))r=s,o=i/4;else o=i/(2*Math.PI)*Math.asin(s/r);if(e<1)return e-=1,-0.5*(r*2**(10*e)*Math.sin((e*a-o)*(2*Math.PI)/i))+t;return e-=1,r*2**(-10*e)*Math.sin((e*a-o)*(2*Math.PI)/i)*0.5+s+t},Oo=(e,t,s,a)=>{return e/=a,s*e*e*(2.70158*e-1.70158)+t},Mo=(e,t,s,a)=>{return e/=a,e--,s*(e*e*(2.70158*e+1.70158)+1)+t},Ro=(e,t,s,a)=>{let o=1.70158;if(e/=a/2,e<1)return o*=1.525,s/2*(e*e*((o+1)*e-o))+t;return e-=2,o*=1.525,s/2*(e*e*((o+1)*e+o)+2)+t},te=(e,t,s,a)=>{if(e/=a,e<0.36363636363636365)return s*(7.5625*e*e)+t;else if(e<0.7272727272727273)return e-=0.5454545454545454,s*(7.5625*e*e+0.75)+t;else if(e<0.9090909090909091)return e-=0.8181818181818182,s*(7.5625*e*e+0.9375)+t;else return e-=0.9545454545454546,s*(7.5625*e*e+0.984375)+t},fe=(e,t,s,a)=>{return s-te(a-e,0,s,a)+t},qo=(e,t,s,a)=>{if(e<a/2)return fe(e*2,0,s,a)*0.5+t;return te(e*2-a,0,s,a)*0.5+s*0.5+t},Md={linear:co,easeInQuad:po,easeOutQuad:uo,easeInOutQuad:fo,easeInCubic:ho,easeOutCubic:bo,easeInOutCubic:go,easeInQuart:xo,easeOutQuart:mo,easeInOutQuart:vo,easeInQuint:wo,easeOutQuint:yo,easeInOutQuint:Co,easeInSine:$o,easeOutSine:ko,easeInOutSine:So,easeInExpo:Io,easeOutExpo:No,easeInOutExpo:To,easeInCirc:Ao,easeOutCirc:Do,easeInOutCirc:Lo,easeInElastic:zo,easeOutElastic:Po,easeInOutElastic:Eo,easeInBack:Oo,easeOutBack:Mo,easeInOutBack:Ro,easeInBounce:fe,easeOutBounce:te,easeInOutBounce:qo};function Bo(e,t={}){let{duration:s="1s",timing:a="ease",delay:o="0s",iteration:i="1",direction:r="normal",fill:n="both",playState:c="running"}=t;return`${e} ${s} ${a} ${o} ${i} ${r} ${n} ${c}`}function he(e,t,s={}){e.style.animation=Bo(t,s)}function qd(e){e.style.animation=""}function jo(e){return new Promise((t)=>{let s=()=>{e.removeEventListener("animationend",s),t()};e.addEventListener("animationend",s)})}function Bd(e,t,s={}){let{stagger:a=100,...o}=s;e.forEach((i,r)=>{let n=`${r*a}ms`;he(i,t,{...o,delay:n})})}async function jd(e,t){for(let s of t)he(e,s.name,s.options),await jo(e)}var Hd={fadeIn:"animate-fade-in",fadeOut:"animate-fade-out",slideInUp:"animate-slide-in-up",slideInDown:"animate-slide-in-down",slideInLeft:"animate-slide-in-left",slideInRight:"animate-slide-in-right",zoomIn:"animate-zoom-in",zoomOut:"animate-zoom-out",bounce:"animate-bounce",spin:"animate-spin",ping:"animate-ping",pulse:"animate-pulse"};function Vd(e,t,s=1000){return new Promise((a)=>{e.classList.add(t),setTimeout(()=>{e.classList.remove(t),a()},s)})}function Wd(e,t){let s=`
11
+ `)}`)}return{valid:r.length===0,errors:r}}function D(e,t,s){return(a)=>Fe(e,a,t,s)}function or(e,t,s="value"){if(!_)return;if(!t.validate(e,s,"assertion"))throw Error(t.message(e,s,"assertion"))}function ir(e,t,s="value"){if(!_)return;if(!t.validate(e,s,"warning"))console.warn(t.message(e,s,"warning"))}var Ge="./Button-wrwmnfpf.stx";var Ue={variant:l.oneOf(["primary","secondary","outline","ghost","danger"]),size:l.oneOf(["xs","sm","md","lg","xl"]),disabled:l.boolean,loading:l.boolean,type:l.oneOf(["button","submit","reset"]),fullWidth:l.boolean,leftIcon:l.string,rightIcon:l.string,className:l.string,onClick:l.func},dr=D("Button",Ue);function pr(e){return ne(e,"Button","onClick")}function ur(e){if(e&&!["primary","secondary","outline","ghost","danger"].includes(e))throw M.invalidProp("Button","variant",e,["primary","secondary","outline","ghost","danger"])}function fr(e){if(e&&!["xs","sm","md","lg","xl"].includes(e))throw M.invalidProp("Button","size",e,["xs","sm","md","lg","xl"])}var Je="./Calendar-gjjhhfnt.stx";var Ze="./Card-473a02fy.stx";var et="./Checkbox-2s2a7n4h.stx";var st="./Combobox-fdkr6cdq.stx";var ot="./ComboboxButton-g76stp1e.stx";var rt="./ComboboxInput-z1293bbh.stx";var lt="./ComboboxOption-6yh7xk7q.stx";var dt="./ComboboxOptions-sq5360ae.stx";var ut="./CommandPalette-36mxf05w.stx";var ht="./CommandPaletteItem-chdw0070.stx";var gt="./Dialog-y5rz2vrq.stx";var mt="./DialogBackdrop-rxax3sec.stx";var wt="./DialogDescription-gth4c2kx.stx";var Ct="./DialogPanel-44d8jeqy.stx";var kt="./DialogTitle-x0r6k8x9.stx";var It="./Drawer-jgepqr9j.stx";var Tt="./Dropdown-vvhemtc0.stx";var Dt="./DropdownButton-wcz67dxy.stx";var zt="./DropdownItem-d8ht2bp5.stx";var Et="./DropdownItems-1sxnd5qn.stx";var Mt="./Form-vbag14t1.stx";var Rt={action:l.string,method:l.oneOf(["GET","POST","PUT","DELETE","PATCH"]),validationSchema:l.object,initialValues:l.object,validateOnChange:l.boolean,validateOnBlur:l.boolean,onSubmit:l.func,onError:l.func,className:l.string},fn=D("Form",Rt);var Bt="./Image-yhxcvgzs.stx";var Ht="./EmailInput-vak3kkmk.stx";var Wt="./NumberInput-j9p5bm5y.stx";var Ft="./PasswordInput-4qykq1dz.stx";var Gt="./SearchInput-pdx7agn0.stx";var Yt="./TextInput-cefyyprt.stx";var Jt={value:l.string,onChange:l.func,placeholder:l.string,disabled:l.boolean,readonly:l.boolean,size:l.oneOf(["sm","md","lg"]),error:l.boolean,label:l.string,helperText:l.string,required:l.boolean,className:l.string,inputClassName:l.string},Xt={value:l.string,onChange:l.func,placeholder:l.string,disabled:l.boolean,readonly:l.boolean,size:l.oneOf(["sm","md","lg"]),error:l.boolean,label:l.string,helperText:l.string,required:l.boolean,className:l.string,inputClassName:l.string,leftIcon:l.string,rightIcon:l.string,clearable:l.boolean,maxLength:l.number,showCount:l.boolean},Zt={value:l.string,onChange:l.func,placeholder:l.string,disabled:l.boolean,readonly:l.boolean,size:l.oneOf(["sm","md","lg"]),error:l.boolean,label:l.string,helperText:l.string,required:l.boolean,className:l.string,inputClassName:l.string,min:l.number,max:l.number,step:l.number,showControls:l.boolean},Qt={value:l.string,onChange:l.func,placeholder:l.string,disabled:l.boolean,readonly:l.boolean,size:l.oneOf(["sm","md","lg"]),error:l.boolean,label:l.string,helperText:l.string,required:l.boolean,className:l.string,inputClassName:l.string,showStrength:l.boolean},es={value:l.string,onChange:l.func,placeholder:l.string,disabled:l.boolean,readonly:l.boolean,size:l.oneOf(["sm","md","lg"]),error:l.boolean,label:l.string,helperText:l.string,required:l.boolean,className:l.string,inputClassName:l.string,onSearch:l.func,loading:l.boolean},Sn=D("TextInput",Xt),In=D("EmailInput",Jt),Nn=D("PasswordInput",Qt),Tn=D("NumberInput",Zt),An=D("SearchInput",es);var ss="./Listbox-q49tnr90.stx";var os="./ListboxButton-keb8gm0q.stx";var rs="./ListboxLabel-7mymt1b8.stx";var ls="./ListboxOption-4j070101.stx";var ds="./ListboxOptions-ejkatcfg.stx";var us="./Navigator-smpa7my4.stx";var hs="./Notification-03vfh3k6.stx";var gs="./Pagination-jbcjrfcs.stx";var ms="./Checkout-22wh3s22.stx";var ws="./DefaultPaymentMethod-6qrem3sg.stx";var Cs="./PaymentMethods-2xy66bwk.stx";var ks="./SubscriptionCheckout-7fdkwf04.stx";var Is="./Popover-et2q44m7.stx";var Ts="./PopoverButton-mffzc9pr.stx";var Ds="./PopoverPanel-054yh38h.stx";var zs="./Portal-1vf14s4x.stx";var Es="./Progress-4h7dytq5.stx";var Ms="./Radio-ccm07b2m.stx";var qs="./RadioGroup-eerw9gq7.stx";var js="./RadioGroupDescription-z34r9avr.stx";var Vs="./RadioGroupLabel-7mymt1b8.stx";var _s="./RadioGroupOption-7pq7rw84.stx";var Ks="./Select-zt72gg1e.stx";var Us="./Sidebar-dbwp6rnk.stx";var Js="./SidebarFooter-s7skj92y.stx";var Zs="./SidebarHeader-vvxsehyn.stx";var ea="./SidebarItem-5v8atp7p.stx";var sa="./SidebarPinned-48kyk193.stx";var oa="./SidebarSection-sqz49ary.stx";var ra="./SidebarSpace-nmbvgrky.stx";var la="./SidebarSpaces-h1564zm6.stx";var da="./SidebarSpaceSwitcher-az9wqm87.stx";var F={blue:"#0088ff",red:"#ff383c",pink:"#ff2d55",orange:"#ff8d28",yellow:"#ffcc00",green:"#34c759",teal:"#00c3d0",cyan:"#00c0e8",indigo:"#6155f5",purple:"#cb30e0",brown:"#ac7f5e",gray:"#8e8e93"},O={pane:["bg-[#f2f2f4]/90 dark:bg-[#1c1c1e]/88","backdrop-blur-[50px] backdrop-saturate-[180%]","text-black dark:text-white","select-none"].join(" "),selection:"accent",layers:{shimmerRim:!0},scrollArea:"flex-1 overflow-y-auto overflow-x-hidden px-[10px] pb-[10px]",sectionHeader:["group/section flex w-full items-center","pl-[8px] pr-[6px] pt-[16px] pb-[5px]","text-[11px] font-semibold leading-[13px]","text-[#3c3c43]/60 dark:text-[#ebebf5]/60"].join(" "),sectionChevron:["i-f7-chevron-down h-[11px] w-[11px] ml-auto","text-[#3c3c43]/45 dark:text-[#ebebf5]/45","opacity-0 group-hover/section:opacity-100 transition-opacity duration-150","transition-transform duration-200"].join(" "),sectionGroup:"flex flex-col",item:{base:["flex w-full items-center","h-[32px] rounded-[8px] pl-[4px] pr-[8px]","text-[13px] leading-[16px] font-normal","text-black dark:text-white","transition-colors duration-150 ease-out","cursor-default"].join(" "),hover:"hover:bg-black/4 dark:hover:bg-white/6",active:"",pressed:"active:bg-black/10 dark:active:bg-white/18",disabled:"opacity-40 pointer-events-none",disclosure:"flex h-[16px] w-[18px] shrink-0 items-center justify-center",chevron:["i-f7-chevron-right h-[11px] w-[11px]","text-[#3c3c43]/55 dark:text-[#ebebf5]/55","transition-transform duration-200 ease-out"].join(" "),iconSlot:"flex h-[20px] w-[22px] shrink-0 items-center justify-center mr-[7px]",icon:"h-[17px] w-[17px]",image:"h-[20px] w-[20px] rounded-[4px] object-cover shadow-sm",label:"flex-1 truncate text-left",count:["ml-[8px] shrink-0 tabular-nums","text-[13px] leading-[16px]","text-[#3c3c43]/60 dark:text-[#ebebf5]/60"].join(" "),indentPerLevel:16}},pa={selection:"classes",pane:"bg-[#f4f4f3] dark:bg-neutral-950 text-zinc-950 dark:text-white select-none",layers:{},scrollArea:"flex-1 overflow-y-auto overflow-x-hidden px-5 py-5",sectionHeader:"group/section flex w-full items-center gap-2.5 px-4 pb-2 pt-5 text-[13px] font-semibold uppercase tracking-[0.12em] text-zinc-400 dark:text-zinc-500",sectionChevron:"i-f7-chevron-down h-3 w-3 ml-auto opacity-0 group-hover/section:opacity-100 transition-opacity duration-150 transition-transform duration-200",sectionGroup:"flex flex-col space-y-1",item:{base:"flex w-full items-center gap-3 rounded-[16px] px-3.5 py-2 text-[14px] leading-tight transition-colors duration-150",hover:"hover:bg-[#ececea] hover:text-zinc-950 dark:hover:bg-white/10",active:"bg-[#e7e7e5] text-zinc-950 dark:bg-white/12 dark:text-white",pressed:"active:bg-[#e2e2e0] dark:active:bg-white/15",disabled:"opacity-50 pointer-events-none",disclosure:"flex h-4 w-4 shrink-0 items-center justify-center",chevron:"i-f7-chevron-right h-3 w-3 opacity-50 transition-transform duration-200",iconSlot:"flex h-5 w-5 shrink-0 items-center justify-center",icon:"h-[18px] w-[18px] text-zinc-500 dark:text-zinc-500",image:"h-5 w-5 rounded object-cover",label:"flex-1 truncate text-left text-zinc-700 dark:text-zinc-300",count:"ml-auto grid h-5 min-w-5 place-items-center rounded-full bg-white/70 px-1.5 text-[11px] font-medium text-zinc-500 shadow-sm dark:bg-white/10 dark:text-zinc-400",indentPerLevel:12}},ua={selection:"classes",pane:"bg-[#f3f3f1]/48 dark:bg-neutral-950/32 backdrop-blur-3xl backdrop-saturate-150 text-zinc-950 dark:text-white select-none",layers:{tint:"bg-[linear-gradient(112deg,rgba(255,255,255,0.20)_0%,rgba(255,255,255,0.04)_45%,rgba(226,226,222,0.16)_100%)] dark:bg-[linear-gradient(112deg,rgba(255,255,255,0.08)_0%,rgba(255,255,255,0.02)_46%,rgba(255,255,255,0.06)_100%)]"},scrollArea:"flex-1 overflow-y-auto overflow-x-hidden px-5 py-2",sectionHeader:"group/section flex w-full items-center gap-2.5 px-3 pb-1.5 pt-3 rounded-[14px] text-[12px] font-semibold uppercase tracking-[0.10em] text-zinc-500/80 dark:text-zinc-400/80",sectionChevron:"i-f7-chevron-down h-3 w-3 ml-auto opacity-0 group-hover/section:opacity-100 transition-opacity duration-150 transition-transform duration-200",sectionGroup:"flex flex-col space-y-1",item:{base:"flex w-full items-center gap-3 rounded-[14px] px-3 py-1.5 text-[13.5px] leading-tight transition-colors duration-150",hover:"hover:bg-white/38 hover:text-zinc-950 dark:hover:bg-white/10",active:"bg-[#e8e8e6]/90 text-zinc-950 dark:bg-white/12 dark:text-white",pressed:"active:bg-white/50 dark:active:bg-white/15",disabled:"opacity-50 pointer-events-none",disclosure:"flex h-4 w-4 shrink-0 items-center justify-center",chevron:"i-f7-chevron-right h-3 w-3 opacity-50 transition-transform duration-200",iconSlot:"flex h-5 w-5 shrink-0 items-center justify-center",icon:"h-[18px] w-[18px] text-zinc-600 dark:text-zinc-400",image:"h-5 w-5 rounded object-cover",label:"flex-1 truncate text-left text-zinc-700 dark:text-zinc-300",count:"ml-auto grid h-5 min-w-5 place-items-center rounded-full bg-white/72 px-1.5 text-[11px] font-medium text-zinc-500 shadow-sm dark:bg-white/10 dark:text-zinc-400",indentPerLevel:12}},fa={selection:"classes",pane:["bg-[#f7f5f1]/92 dark:bg-[#1a1a1c]/92","backdrop-blur-[40px] backdrop-saturate-[160%]","text-[#2c2a28] dark:text-[#ededf0]","select-none"].join(" "),layers:{tint:["bg-[linear-gradient(180deg,var(--stx-sidebar-tint,rgba(255,251,242,0.55))_0%,rgba(255,255,255,0)_38%)]","dark:bg-[linear-gradient(180deg,var(--stx-sidebar-tint,rgba(255,255,255,0.05))_0%,rgba(255,255,255,0)_42%)]"].join(" ")},scrollArea:"flex-1 overflow-y-auto overflow-x-hidden px-[16px] pb-[8px]",sectionHeader:["group/section flex w-full items-center","px-[8px] pt-[14px] pb-[4px]","text-[11px] font-medium leading-[13px]","opacity-55"].join(" "),sectionChevron:["i-f7-chevron-down h-[10px] w-[10px] ml-auto","opacity-0 group-hover/section:opacity-100 transition-opacity duration-150","transition-transform duration-200"].join(" "),sectionGroup:"flex flex-col space-y-[2px]",item:{base:["flex w-full items-center","h-[30px] rounded-[8px] pl-[6px] pr-[8px]","text-[13px] leading-[16px] font-normal","text-current","transition-[background-color,box-shadow,color] duration-150 ease-out","cursor-default"].join(" "),hover:"hover:bg-white/55 dark:hover:bg-white/8",active:["bg-white dark:bg-white/14","font-medium","shadow-[0_1px_2px_rgba(0,0,0,0.08)] dark:shadow-[0_1px_2px_rgba(0,0,0,0.35)]","ring-1 ring-black/5 dark:ring-white/8"].join(" "),pressed:"active:bg-white/80 dark:active:bg-white/18",disabled:"opacity-40 pointer-events-none",disclosure:"flex h-[16px] w-[16px] shrink-0 items-center justify-center",chevron:["i-f7-chevron-right h-[10px] w-[10px] opacity-45","transition-transform duration-200 ease-out"].join(" "),iconSlot:"flex h-[18px] w-[18px] shrink-0 items-center justify-center mr-[8px]",icon:"h-[16px] w-[16px]",image:"h-[18px] w-[18px] rounded-[5px] object-cover shadow-sm",label:"flex-1 truncate text-left",count:["ml-[8px] shrink-0 tabular-nums","text-[12px] leading-[16px] opacity-45"].join(" "),indentPerLevel:14}},ha={...O,pane:"bg-stone-100 dark:bg-neutral-900 text-black dark:text-white select-none",layers:{}},ba={...O,pane:"bg-transparent text-black dark:text-white select-none",layers:{}},ga={...O,pane:"bg-white/50 dark:bg-black/40 backdrop-blur-3xl backdrop-saturate-200 text-black dark:text-white select-none",layers:{}},le={macos:O,tahoe:O,"macos-tahoe":O,"macos-latest":O,arc:fa,workspace:pa,desktop:ua,solid:ha,transparent:ba,vibrancy:ga};function Ul(e){return le[e||"macos"]||le.macos}function Yl(e){if(!e)return;return F[e]||e}var xa=F.gray;function P(e,t,s){return`color-mix(in oklab, ${e} ${t}%, ${s})`}function ce(e){return{light:{from:P(e,35,"#ffffff"),to:P(e,12.5,"#ffffff"),ink:P(e,22,"#17171b"),accent:P(e,88,"#2a2a30")},dark:{from:P(e,27,"#101014"),to:P(e,10,"#08080b"),ink:P(e,12,"#f4f4f7"),accent:P(e,74,"#ffffff")}}}function Zl(e,t){return`linear-gradient(180deg, ${e} 0%, ${t} 100%)`}function ma(e){if(!e)return ce(xa);if(typeof e!=="string")return e;return ce(F[e]||e)}function va(e){return[`--stx-space-light-from: ${e.light.from}`,`--stx-space-light-to: ${e.light.to}`,`--stx-space-light-ink: ${e.light.ink}`,`--stx-space-light-accent: ${e.light.accent}`,`--stx-space-dark-from: ${e.dark.from}`,`--stx-space-dark-to: ${e.dark.to}`,`--stx-space-dark-ink: ${e.dark.ink}`,`--stx-space-dark-accent: ${e.dark.accent}`].join("; ")}function de(e,t,s,a){if(!e||!e.label)return null;return{id:e.id||`${t}-${s}`,label:e.label,icon:e.icon||a}}function wa(e){let t=ma(e.tint);return{id:e.id,label:e.label||"",icon:e.icon||"",pinned:e.pinned||[],sections:e.sections||[],action:de(e.action,e.id,"action","i-f7-plus"),clear:de(e.clear,e.id,"clear","i-f7-arrow-down"),tint:t,style:va(t),deferred:e.deferred===!0,showTitle:e.showTitle??!0}}function Ql(e){return(e||[]).map(wa)}function ec(e,t){if(!t)return 0;let s=e.findIndex((a)=>a.id===t);return s===-1?0:s}function tc(e){return e.map((t)=>t.tint)}var Ca="./Skeleton-wtwb97xd.stx";var ka="./Spinner-ypya5tt2.stx";var Ia="./Stepper-rgbk76hd.stx";var Ta="./StepperStep-3ahq4d9m.stx";class K{storage;namespace;watchers=new Map;encryptionKey="stx-storage-key";constructor(e="local",t=""){if(this.storage=e==="local"?globalThis.localStorage:globalThis.sessionStorage,this.namespace=t,typeof window<"u")window.addEventListener("storage",this.handleStorageEvent.bind(this))}handleStorageEvent(e){if(!e.key)return;let t=this.namespace&&e.key.startsWith(`${this.namespace}:`)?e.key.slice(this.namespace.length+1):e.key,s=this.watchers.get(t);if(s){let a=e.oldValue?JSON.parse(e.oldValue).value:null,o=e.newValue?JSON.parse(e.newValue).value:null;s.forEach((i)=>i(o,a,t))}}encrypt(e){let t="";for(let s=0;s<e.length;s++)t+=String.fromCharCode(e.charCodeAt(s)^this.encryptionKey.charCodeAt(s%this.encryptionKey.length));return btoa(t)}decrypt(e){try{let t=atob(e),s="";for(let a=0;a<t.length;a++)s+=String.fromCharCode(t.charCodeAt(a)^this.encryptionKey.charCodeAt(a%this.encryptionKey.length));return s}catch{return e}}compress(e){if(e.length<100)return e;let t={},s=256,a=[],o="";for(let i=0;i<e.length;i++){let r=e.charAt(i),n=o+r;if(t[n]!==void 0)o=n;else a.push(o.length>1?t[o]:o.charCodeAt(0)),t[n]=s++,o=r}if(o!=="")a.push(o.length>1?t[o]:o.charCodeAt(0));return JSON.stringify(a)}decompress(e){try{let t=JSON.parse(e);if(!Array.isArray(t))return e;let s={},a=256,o=String.fromCharCode(t[0]),i=o;for(let r=1;r<t.length;r++){let n=t[r],c;if(s[n]!==void 0)c=s[n];else if(n===a)c=o+o.charAt(0);else return e;i+=c,s[a++]=o+c.charAt(0),o=c}return i}catch{return e}}getKey(e){return this.namespace?`${this.namespace}:${e}`:e}set(e,t,s){let a=this.getKey(e),o=this.get(e),i={value:t,timestamp:Date.now(),expire:s?.expire,encrypted:s?.encrypt||!1,compressed:s?.compress||!1};try{let r=JSON.stringify(i);if(s?.compress)r=this.compress(r);if(s?.encrypt)r=this.encrypt(r);this.storage.setItem(a,r),this.notifyWatchers(e,t,o)}catch(r){console.error("Storage set error:",r)}}get(e){let t=this.getKey(e);try{let s=this.storage.getItem(t);if(!s)return null;if(s.match(/^[A-Z0-9+/]+=*$/i))try{s=this.decrypt(s)}catch{}if(s.startsWith("["))try{s=this.decompress(s)}catch{}let a=JSON.parse(s);if(a.expire&&Date.now()-a.timestamp>a.expire)return this.remove(e),null;return a.value}catch(s){return console.error("Storage get error:",s),null}}watch(e,t){if(!this.watchers.has(e))this.watchers.set(e,new Set);return this.watchers.get(e).add(t),()=>{let s=this.watchers.get(e);if(s){if(s.delete(t),s.size===0)this.watchers.delete(e)}}}notifyWatchers(e,t,s){let a=this.watchers.get(e);if(a)a.forEach((o)=>o(t,s,e))}remove(e){let t=this.getKey(e),s=this.get(e);this.storage.removeItem(t),this.notifyWatchers(e,null,s)}clear(){if(this.namespace)this.keys().forEach((t)=>this.remove(t));else this.storage.clear()}has(e){return this.get(e)!==null}keys(){let e=Object.keys(this.storage);if(this.namespace){let t=`${this.namespace}:`;return e.filter((s)=>s.startsWith(t)).map((s)=>s.slice(t.length))}return e}size(){return this.keys().length}getQuota(){if("storage"in navigator&&"estimate"in navigator.storage)return null;try{let e=0;for(let s=0;s<this.storage.length;s++){let a=this.storage.key(s);if(a){let o=this.storage.getItem(a)||"";e+=a.length+o.length}}let t=5242880;return{usage:e*2,quota:t,percentage:e*2/t*100}}catch{return null}}setMany(e,t){Object.entries(e).forEach(([s,a])=>{this.set(s,a,t)})}getMany(e){let t={};return e.forEach((s)=>{t[s]=this.get(s)}),t}removeMany(e){e.forEach((t)=>this.remove(t))}}var Nc={local:new K("local"),session:new K("session")};function Tc(e="local",t){return new K(e,t)}var Da="./Switch-hdta55a8.stx";var za="./Table-0mc3fdek.stx";var Ea="./TableBody-drxyz5jh.stx";var Ma="./TableCell-8swtcq8s.stx";var qa="./TableHead-e9xvjx2j.stx";var ja="./TableHeader-sxc77b4d.stx";var Va="./TableRow-xd542nvb.stx";var _a="./TabPanel-5htevsq6.stx";var Ka="./Tabs-b4xsba1w.stx";var Ua="./Teleport-tsx4bt4n.stx";var Ja="./Textarea-xcdym703.stx";var Za="./Tooltip-y61h04gp.stx";var eo="./Transition-7smenaz8.stx";var so="./Video-a0aeyexv.stx";var oo="./VirtualList-fa7v5a3h.stx";var ro="./VirtualTable-jvm1784g.stx";var no=0;function pe(e="a11y"){return`${e}-${++no}-${Date.now()}`}function md(e,t,s={}){let{visible:a=!1,id:o=pe("label")}=s,i=document.createElement(a?"label":"span");if(i.id=o,i.textContent=e,!a)Object.assign(i.style,{position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",border:"0"});if(t)if(t.setAttribute("aria-labelledby",o),t.parentElement)t.parentElement.insertBefore(i,t);else document.body.appendChild(i);return o}function vd(e,t){let s=pe("desc"),a=document.createElement("span");if(a.id=s,a.textContent=e,Object.assign(a.style,{position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",border:"0"}),t)if(t.setAttribute("aria-describedby",s),t.parentElement)t.parentElement.insertBefore(a,t);else document.body.appendChild(a);return s}function wd(e,t="polite"){let s=document.createElement("div");s.setAttribute("role","status"),s.setAttribute("aria-live",t),s.setAttribute("aria-atomic","true"),Object.assign(s.style,{position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",border:"0"}),document.body.appendChild(s),setTimeout(()=>{s.textContent=e},100),setTimeout(()=>{s.parentNode?.removeChild(s)},1000)}function ee(e){let t=["a[href]","area[href]",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])","button:not([disabled])","iframe","object","embed","[contenteditable]",'[tabindex]:not([tabindex="-1"])'].join(",");return Array.from(e.querySelectorAll(t)).filter((s)=>s.offsetParent!==null)}function yd(e,t={}){let{initialFocus:s,returnFocus:a,escapeDeactivates:o=!0,clickOutsideDeactivates:i=!0,allowOutsideClick:r=!1,onActivate:n,onDeactivate:c}=t,d=!1,f=!1,p=null,g=(m)=>{if(f)return;if(o&&m.key==="Escape"){m.preventDefault(),v();return}if(m.key==="Tab"){let C=ee(e);if(C.length===0){m.preventDefault();return}let T=C[0],z=C[C.length-1];if(m.shiftKey){if(document.activeElement===T)m.preventDefault(),z.focus()}else if(document.activeElement===z)m.preventDefault(),T.focus()}},h=(m)=>{if(f)return;if(!e.contains(m.target)){if(typeof r==="function"){if(!r(m)&&i)v()}else if(!r&&i)v()}};function w(){if(d)return;d=!0,p=document.activeElement;let m=s||ee(e)[0];if(m&&typeof m.focus==="function")m.focus();document.addEventListener("keydown",g),document.addEventListener("click",h),n?.()}function v(){if(!d)return;d=!1;let m=a||p;if(m&&typeof m.focus==="function")m.focus();document.removeEventListener("keydown",g),document.removeEventListener("click",h),c?.()}function k(){f=!0}function x(){f=!1}return{activate:w,deactivate:v,pause:k,unpause:x}}function Cd(e,t={}){let{selector:s='[role="option"], [role="menuitem"], [role="tab"], button',initialIndex:a=0,orientation:o="both",loop:i=!0,onFocusChange:r}=t,n=a,c=()=>{return Array.from(e.querySelectorAll(s))},d=(p)=>{let g=c();if(p<0||p>=g.length)return;g.forEach((h,w)=>{if(w===p){if(h.setAttribute("tabindex","0"),typeof h.focus==="function")h.focus()}else h.setAttribute("tabindex","-1")}),n=p,r?.(p,g[p])},f=(p)=>{let h=c().length-1,w=!1,v=n;switch(p.key){case"ArrowRight":if(o==="horizontal"||o==="both"){if(v=n+1,v>h)v=i?0:h;w=!0}break;case"ArrowLeft":if(o==="horizontal"||o==="both"){if(v=n-1,v<0)v=i?h:0;w=!0}break;case"ArrowDown":if(o==="vertical"||o==="both"){if(v=n+1,v>h)v=i?0:h;w=!0}break;case"ArrowUp":if(o==="vertical"||o==="both"){if(v=n-1,v<0)v=i?h:0;w=!0}break;case"Home":v=0,w=!0;break;case"End":v=h,w=!0;break}if(w)p.preventDefault(),d(v)};return d(a),e.addEventListener("keydown",f),()=>{e.removeEventListener("keydown",f)}}var $d={Enter:"Enter",Space:" ",Escape:"Escape",ArrowUp:"ArrowUp",ArrowDown:"ArrowDown",ArrowLeft:"ArrowLeft",ArrowRight:"ArrowRight",Tab:"Tab",Home:"Home",End:"End",PageUp:"PageUp",PageDown:"PageDown"};function kd(e){return document.activeElement===e}function Sd(e,t){let s=t||document.activeElement,a=ee(document.body),o=a.indexOf(s);if(o===-1)return;let i=e==="next"?o+1:o-1,r=a[i];if(r)r.focus()}function Id(e){if(e.getAttribute("aria-hidden")==="true")return!1;let t=window.getComputedStyle(e);if(t.display==="none"||t.visibility==="hidden")return!1;return!0}var Nd={setExpanded(e,t){e.setAttribute("aria-expanded",String(t))},setSelected(e,t){e.setAttribute("aria-selected",String(t))},setChecked(e,t){e.setAttribute("aria-checked",String(t))},setDisabled(e,t){if(e.setAttribute("aria-disabled",String(t)),t)e.setAttribute("tabindex","-1");else e.removeAttribute("tabindex")},setHidden(e,t){if(t)e.setAttribute("aria-hidden","true");else e.removeAttribute("aria-hidden")},setPressed(e,t){e.setAttribute("aria-pressed",String(t))},setInvalid(e,t){e.setAttribute("aria-invalid",String(t))},setRequired(e,t){e.setAttribute("aria-required",String(t))},setLive(e,t){e.setAttribute("aria-live",t)},setBusy(e,t){e.setAttribute("aria-busy",String(t))}};function Td(e){let t=document.createElement("span");return t.textContent=e,t.className="sr-only",Object.assign(t.style,{position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",border:"0"}),t}function Ad(){if(typeof window.matchMedia==="function")return window.matchMedia("(prefers-reduced-motion: reduce)").matches;return!1}function Dd(){if(typeof window.matchMedia==="function")return window.matchMedia("(prefers-contrast: high)").matches;return!1}function Ld(){if(typeof window.matchMedia==="function"){if(window.matchMedia("(prefers-color-scheme: dark)").matches)return"dark";if(window.matchMedia("(prefers-color-scheme: light)").matches)return"light"}return null}function zd(e,t="Skip to main content"){let s=document.createElement("a");return s.href=`#${e}`,s.textContent=t,s.className="skip-link",Object.assign(s.style,{position:"absolute",top:"-40px",left:"0",background:"#000",color:"#fff",padding:"8px",textDecoration:"none",zIndex:"100"}),s.addEventListener("focus",()=>{s.style.top="0"}),s.addEventListener("blur",()=>{s.style.top="-40px"}),s}function Pd(e){let t=[],s=(a)=>{let o=e.getAttribute(a);if(o){let i=o.split(" ");for(let r of i)if(!document.getElementById(r))t.push(`${a} references non-existent ID: ${r}`)}};return s("aria-labelledby"),s("aria-describedby"),s("aria-controls"),s("aria-owns"),s("aria-activedescendant"),t}var lo=(e,t,s,a)=>{return s*e/a+t},co=(e,t,s,a)=>{return e/=a,s*e*e+t},po=(e,t,s,a)=>{return e/=a,-s*e*(e-2)+t},uo=(e,t,s,a)=>{if(e/=a/2,e<1)return s/2*e*e+t;return e--,-s/2*(e*(e-2)-1)+t},fo=(e,t,s,a)=>{return e/=a,s*e*e*e+t},ho=(e,t,s,a)=>{return e/=a,e--,s*(e*e*e+1)+t},bo=(e,t,s,a)=>{if(e/=a/2,e<1)return s/2*e*e*e+t;return e-=2,s/2*(e*e*e+2)+t},go=(e,t,s,a)=>{return e/=a,s*e*e*e*e+t},xo=(e,t,s,a)=>{return e/=a,e--,-s*(e*e*e*e-1)+t},mo=(e,t,s,a)=>{if(e/=a/2,e<1)return s/2*e*e*e*e+t;return e-=2,-s/2*(e*e*e*e-2)+t},vo=(e,t,s,a)=>{return e/=a,s*e*e*e*e*e+t},wo=(e,t,s,a)=>{return e/=a,e--,s*(e*e*e*e*e+1)+t},yo=(e,t,s,a)=>{if(e/=a/2,e<1)return s/2*e*e*e*e*e+t;return e-=2,s/2*(e*e*e*e*e+2)+t},Co=(e,t,s,a)=>{return-s*Math.cos(e/a*(Math.PI/2))+s+t},$o=(e,t,s,a)=>{return s*Math.sin(e/a*(Math.PI/2))+t},ko=(e,t,s,a)=>{return-s/2*(Math.cos(Math.PI*e/a)-1)+t},So=(e,t,s,a)=>{return e===0?t:s*2**(10*(e/a-1))+t},Io=(e,t,s,a)=>{return e===a?t+s:s*(-(2**(-10*e/a))+1)+t},No=(e,t,s,a)=>{if(e===0)return t;if(e===a)return t+s;if(e/=a/2,e<1)return s/2*2**(10*(e-1))+t;return e--,s/2*(-(2**(-10*e))+2)+t},To=(e,t,s,a)=>{return e/=a,-s*(Math.sqrt(1-e*e)-1)+t},Ao=(e,t,s,a)=>{return e/=a,e--,s*Math.sqrt(1-e*e)+t},Do=(e,t,s,a)=>{if(e/=a/2,e<1)return-s/2*(Math.sqrt(1-e*e)-1)+t;return e-=2,s/2*(Math.sqrt(1-e*e)+1)+t},Lo=(e,t,s,a)=>{let o=1.70158,i=0,r=s;if(e===0)return t;if(e/=a,e===1)return t+s;if(!i)i=a*0.3;if(r<Math.abs(s))r=s,o=i/4;else o=i/(2*Math.PI)*Math.asin(s/r);return e-=1,-(r*2**(10*e)*Math.sin((e*a-o)*(2*Math.PI)/i))+t},zo=(e,t,s,a)=>{let o=1.70158,i=0,r=s;if(e===0)return t;if(e/=a,e===1)return t+s;if(!i)i=a*0.3;if(r<Math.abs(s))r=s,o=i/4;else o=i/(2*Math.PI)*Math.asin(s/r);return r*2**(-10*e)*Math.sin((e*a-o)*(2*Math.PI)/i)+s+t},Po=(e,t,s,a)=>{let o=1.70158,i=0,r=s;if(e===0)return t;if(e/=a/2,e===2)return t+s;if(!i)i=a*0.44999999999999996;if(r<Math.abs(s))r=s,o=i/4;else o=i/(2*Math.PI)*Math.asin(s/r);if(e<1)return e-=1,-0.5*(r*2**(10*e)*Math.sin((e*a-o)*(2*Math.PI)/i))+t;return e-=1,r*2**(-10*e)*Math.sin((e*a-o)*(2*Math.PI)/i)*0.5+s+t},Eo=(e,t,s,a)=>{return e/=a,s*e*e*(2.70158*e-1.70158)+t},Oo=(e,t,s,a)=>{return e/=a,e--,s*(e*e*(2.70158*e+1.70158)+1)+t},Mo=(e,t,s,a)=>{let o=1.70158;if(e/=a/2,e<1)return o*=1.525,s/2*(e*e*((o+1)*e-o))+t;return e-=2,o*=1.525,s/2*(e*e*((o+1)*e+o)+2)+t},te=(e,t,s,a)=>{if(e/=a,e<0.36363636363636365)return s*(7.5625*e*e)+t;else if(e<0.7272727272727273)return e-=0.5454545454545454,s*(7.5625*e*e+0.75)+t;else if(e<0.9090909090909091)return e-=0.8181818181818182,s*(7.5625*e*e+0.9375)+t;else return e-=0.9545454545454546,s*(7.5625*e*e+0.984375)+t},ue=(e,t,s,a)=>{return s-te(a-e,0,s,a)+t},Ro=(e,t,s,a)=>{if(e<a/2)return ue(e*2,0,s,a)*0.5+t;return te(e*2-a,0,s,a)*0.5+s*0.5+t},Od={linear:lo,easeInQuad:co,easeOutQuad:po,easeInOutQuad:uo,easeInCubic:fo,easeOutCubic:ho,easeInOutCubic:bo,easeInQuart:go,easeOutQuart:xo,easeInOutQuart:mo,easeInQuint:vo,easeOutQuint:wo,easeInOutQuint:yo,easeInSine:Co,easeOutSine:$o,easeInOutSine:ko,easeInExpo:So,easeOutExpo:Io,easeInOutExpo:No,easeInCirc:To,easeOutCirc:Ao,easeInOutCirc:Do,easeInElastic:Lo,easeOutElastic:zo,easeInOutElastic:Po,easeInBack:Eo,easeOutBack:Oo,easeInOutBack:Mo,easeInBounce:ue,easeOutBounce:te,easeInOutBounce:Ro};function qo(e,t={}){let{duration:s="1s",timing:a="ease",delay:o="0s",iteration:i="1",direction:r="normal",fill:n="both",playState:c="running"}=t;return`${e} ${s} ${a} ${o} ${i} ${r} ${n} ${c}`}function fe(e,t,s={}){e.style.animation=qo(t,s)}function Rd(e){e.style.animation=""}function Bo(e){return new Promise((t)=>{let s=()=>{e.removeEventListener("animationend",s),t()};e.addEventListener("animationend",s)})}function qd(e,t,s={}){let{stagger:a=100,...o}=s;e.forEach((i,r)=>{let n=`${r*a}ms`;fe(i,t,{...o,delay:n})})}async function Bd(e,t){for(let s of t)fe(e,s.name,s.options),await Bo(e)}var jd={fadeIn:"animate-fade-in",fadeOut:"animate-fade-out",slideInUp:"animate-slide-in-up",slideInDown:"animate-slide-in-down",slideInLeft:"animate-slide-in-left",slideInRight:"animate-slide-in-right",zoomIn:"animate-zoom-in",zoomOut:"animate-zoom-out",bounce:"animate-bounce",spin:"animate-spin",ping:"animate-ping",pulse:"animate-pulse"};function Hd(e,t,s=1000){return new Promise((a)=>{e.classList.add(t),setTimeout(()=>{e.classList.remove(t),a()},s)})}function Vd(e,t){let s=`
12
12
  @keyframes ${e} {
13
13
  ${Object.entries(t).map(([o,i])=>{let r=Object.entries(i).map(([n,c])=>`${n}: ${c};`).join(" ");return`${o} { ${r} }`}).join(`
14
14
  `)}
15
15
  }
16
- `,a=document.createElement("style");a.textContent=s,document.head.appendChild(a)}function Ho(e,t,s={}){if(typeof e.animate!=="function")return console.warn("Web Animations API not supported"),null;let{duration:a=1000,easing:o="ease",delay:i=0,iterations:r=1,direction:n="normal",fill:c="both"}=s;return e.animate([...t],{duration:a,easing:o,delay:i,iterations:r,direction:n,fill:c})}var Vo={fadeIn:[{offset:0,opacity:0},{offset:1,opacity:1}],fadeOut:[{offset:0,opacity:1},{offset:1,opacity:0}],slideInUp:[{offset:0,transform:"translateY(100%)",opacity:0},{offset:1,transform:"translateY(0)",opacity:1}],slideInDown:[{offset:0,transform:"translateY(-100%)",opacity:0},{offset:1,transform:"translateY(0)",opacity:1}],slideInLeft:[{offset:0,transform:"translateX(-100%)",opacity:0},{offset:1,transform:"translateX(0)",opacity:1}],slideInRight:[{offset:0,transform:"translateX(100%)",opacity:0},{offset:1,transform:"translateX(0)",opacity:1}],slideOutUp:[{offset:0,transform:"translateY(0)",opacity:1},{offset:1,transform:"translateY(-100%)",opacity:0}],slideOutDown:[{offset:0,transform:"translateY(0)",opacity:1},{offset:1,transform:"translateY(100%)",opacity:0}],slideOutLeft:[{offset:0,transform:"translateX(0)",opacity:1},{offset:1,transform:"translateX(-100%)",opacity:0}],slideOutRight:[{offset:0,transform:"translateX(0)",opacity:1},{offset:1,transform:"translateX(100%)",opacity:0}],zoomIn:[{offset:0,transform:"scale(0)",opacity:0},{offset:0.5,opacity:1},{offset:1,transform:"scale(1)"}],zoomOut:[{offset:0,transform:"scale(1)",opacity:1},{offset:0.5,opacity:1},{offset:1,transform:"scale(0)",opacity:0}],rotate:[{offset:0,transform:"rotate(0deg)"},{offset:1,transform:"rotate(360deg)"}],bounce:[{offset:0,transform:"translateY(0)"},{offset:0.2,transform:"translateY(0)"},{offset:0.4,transform:"translateY(-30px)"},{offset:0.43,transform:"translateY(-30px)"},{offset:0.53,transform:"translateY(0)"},{offset:0.7,transform:"translateY(-15px)"},{offset:0.8,transform:"translateY(0)"},{offset:0.9,transform:"translateY(-4px)"},{offset:1,transform:"translateY(0)"}],pulse:[{offset:0,transform:"scale(1)"},{offset:0.5,transform:"scale(1.05)"},{offset:1,transform:"scale(1)"}],shake:[{offset:0,transform:"translateX(0)"},{offset:0.1,transform:"translateX(-10px)"},{offset:0.2,transform:"translateX(10px)"},{offset:0.3,transform:"translateX(-10px)"},{offset:0.4,transform:"translateX(10px)"},{offset:0.5,transform:"translateX(-10px)"},{offset:0.6,transform:"translateX(10px)"},{offset:0.7,transform:"translateX(-10px)"},{offset:0.8,transform:"translateX(10px)"},{offset:0.9,transform:"translateX(-10px)"},{offset:1,transform:"translateX(0)"}],swing:[{offset:0,transform:"rotate(0deg)"},{offset:0.2,transform:"rotate(15deg)"},{offset:0.4,transform:"rotate(-10deg)"},{offset:0.6,transform:"rotate(5deg)"},{offset:0.8,transform:"rotate(-5deg)"},{offset:1,transform:"rotate(0deg)"}],flip:[{offset:0,transform:"perspective(400px) rotateY(0)",animationTimingFunction:"ease-out"},{offset:0.4,transform:"perspective(400px) translateZ(150px) rotateY(170deg)",animationTimingFunction:"ease-out"},{offset:0.5,transform:"perspective(400px) translateZ(150px) rotateY(190deg)",animationTimingFunction:"ease-in"},{offset:0.8,transform:"perspective(400px) rotateY(360deg)",animationTimingFunction:"ease-in"},{offset:1,transform:"perspective(400px)",animationTimingFunction:"ease-in"}],rubberBand:[{offset:0,transform:"scale(1)"},{offset:0.3,transform:"scaleX(1.25) scaleY(0.75)"},{offset:0.4,transform:"scaleX(0.75) scaleY(1.25)"},{offset:0.5,transform:"scaleX(1.15) scaleY(0.85)"},{offset:0.65,transform:"scaleX(0.95) scaleY(1.05)"},{offset:0.75,transform:"scaleX(1.05) scaleY(0.95)"},{offset:1,transform:"scale(1)"}],heartbeat:[{offset:0,transform:"scale(1)"},{offset:0.14,transform:"scale(1.3)"},{offset:0.28,transform:"scale(1)"},{offset:0.42,transform:"scale(1.3)"},{offset:0.7,transform:"scale(1)"}]};function Kd(e,t,s={}){return Ho(e,Vo[t],s)}import{createHighlighter as Wo}from"ts-syntax-highlighter";var se=null;async function _o(){if(!se)se=await Wo({theme:"github-light"});return se}async function Ud(e,t={}){let{theme:s="auto",language:a="typescript",lineNumbers:o=!1,wrapLines:i=!0}=t,r=await _o(),n=s==="auto"?globalThis.matchMedia?.("(prefers-color-scheme: dark)").matches?"github-dark":"github-light":s==="dark"?"github-dark":"github-light",c=await r.highlight(e,a);return{html:typeof c==="string"?c:String(c),language:a,theme:n}}function Yd(e){if(e.includes("<!DOCTYPE")||e.includes("<html"))return"html";if(e.includes("<?php"))return"php";if(e.includes("import")&&e.includes("from"))return"typescript";if(e.includes("function")||e.includes("const"))return"javascript";if(e.includes("{")&&e.includes("}"))return"json";if(e.includes("$")&&e.includes("|"))return"bash";if(e.includes("#")&&e.includes("##"))return"markdown";return"typescript"}function Jd(e,t){return`<div class="${t?`rounded-md overflow-auto text-sm leading-relaxed font-mono ${t}`:"rounded-md overflow-auto text-sm leading-relaxed font-mono"}">${e}</div>`}var L=null,Ko=(e)=>{return e===1?0:1};function G(e,t){return t.split(".").reduce((s,a)=>s?.[a],e)}function ae(e,t={}){return e.replace(/\{(\w+)\}/g,(s,a)=>{return t[a]!==void 0?String(t[a]):s})}function Zd(e){let{locale:t,fallbackLocale:s="en",messages:a,pluralRules:o={},dateTimeFormats:i={},numberFormats:r={},missing:n,warnMissing:c=!0}=e;function d(x,m={}){let C=G(a[t],x);if(C===void 0&&s)C=G(a[s],x);if(C===void 0){if(n){let T=n(t,x);if(T)return ae(T,m)}if(c&&typeof console<"u")console.warn(`[i18n] Missing translation for key "${x}" in locale "${t}"`);return x}if(typeof C==="string")return ae(C,m);return String(C)}function f(x,m,C={}){let T=d(x,{...C,count:m});if(T.includes("|")){let z=T.split("|").map((Z)=>Z.trim()),J=(o[t]||Ko)(m,t),X=z[J]||z[z.length-1];return ae(X,{...C,count:m})}return T}function p(x,m="default"){let C=typeof x==="number"?new Date(x):x,T=i[m]||i.default||{};return new Intl.DateTimeFormat(t,T).format(C)}function g(x,m="default"){let C=r[m]||r.default||{};return new Intl.NumberFormat(t,C).format(x)}function h(x){if(G(a[t],x)!==void 0)return!0;if(s)return G(a[s],x)!==void 0;return!1}function w(x){if(!a[x]){console.warn(`[i18n] Locale "${x}" not found. Available locales: ${Object.keys(a).join(", ")}`);return}t=x}function v(x,m){if(!a[x])a[x]={};a[x]={...a[x],...m}}function k(x){delete a[x]}return{get locale(){return t},get availableLocales(){return Object.keys(a)},setLocale:w,t:d,tc:f,d:p,n:g,te:h,addMessages:v,removeLocale:k}}function Qd(e){L=e}function ep(){return L}function tp(e,t){if(!L)return console.warn("[i18n] No global i18n instance set. Call setI18n() first."),e;return L.t(e,t)}function sp(e,t,s){if(!L)return console.warn("[i18n] No global i18n instance set. Call setI18n() first."),e;return L.tc(e,t,s)}function ap(e,t){if(!L)return console.warn("[i18n] No global i18n instance set. Call setI18n() first."),String(e);return L.d(e,t)}function op(e,t){if(!L)return console.warn("[i18n] No global i18n instance set. Call setI18n() first."),String(e);return L.n(e,t)}var ip={en:(e)=>e===1?0:1,de:(e)=>e===1?0:1,nl:(e)=>e===1?0:1,sv:(e)=>e===1?0:1,fr:(e)=>e===0||e===1?0:1,pt_BR:(e)=>e===0||e===1?0:1,ru:(e)=>{if(e%10===1&&e%100!==11)return 0;if(e%10>=2&&e%10<=4&&(e%100<10||e%100>=20))return 1;return 2},pl:(e)=>{if(e===1)return 0;if(e%10>=2&&e%10<=4&&(e%100<10||e%100>=20))return 1;return 2},cs:(e)=>{if(e===1)return 0;if(e>=2&&e<=4)return 1;return 2},ar:(e)=>{if(e===0)return 0;if(e===1)return 1;if(e===2)return 2;if(e%100>=3&&e%100<=10)return 3;if(e%100>=11)return 4;return 5},ja:()=>0,ko:()=>0,zh:()=>0,th:()=>0,vi:()=>0},rp={short:{year:"numeric",month:"numeric",day:"numeric"},long:{year:"numeric",month:"long",day:"numeric"},full:{weekday:"long",year:"numeric",month:"long",day:"numeric"},time:{hour:"numeric",minute:"numeric"},datetime:{year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric"}},np={decimal:{style:"decimal",minimumFractionDigits:2,maximumFractionDigits:2},currency:{style:"currency",currency:"USD"},percent:{style:"percent",minimumFractionDigits:0,maximumFractionDigits:2},compact:{notation:"compact"}};function lp(e){let t=["ar","he","fa","ur","yi"],s=e.split("-")[0].toLowerCase();return t.includes(s)}async function cp(e,t){try{return await t()}catch(s){return console.error(`[i18n] Failed to load messages for locale "${e}":`,s),{}}}var dp={en:{common:{loading:"Loading...",error:"Error",retry:"Retry",cancel:"Cancel",confirm:"Confirm",close:"Close",save:"Save",delete:"Delete",edit:"Edit",search:"Search",clear:"Clear",submit:"Submit",reset:"Reset"},form:{required:"This field is required",invalid:"Invalid value",tooShort:"Value is too short (minimum {min} characters)",tooLong:"Value is too long (maximum {max} characters)",invalidEmail:"Invalid email address",invalidUrl:"Invalid URL"},pagination:{previous:"Previous",next:"Next",page:"Page {page}",of:"of {total}"}},es:{common:{loading:"Cargando...",error:"Error",retry:"Reintentar",cancel:"Cancelar",confirm:"Confirmar",close:"Cerrar",save:"Guardar",delete:"Eliminar",edit:"Editar",search:"Buscar",clear:"Limpiar",submit:"Enviar",reset:"Restablecer"},form:{required:"Este campo es obligatorio",invalid:"Valor inv\xE1lido",tooShort:"El valor es demasiado corto (m\xEDnimo {min} caracteres)",tooLong:"El valor es demasiado largo (m\xE1ximo {max} caracteres)",invalidEmail:"Direcci\xF3n de correo electr\xF3nico inv\xE1lida",invalidUrl:"URL inv\xE1lida"},pagination:{previous:"Anterior",next:"Siguiente",page:"P\xE1gina {page}",of:"de {total}"}},fr:{common:{loading:"Chargement...",error:"Erreur",retry:"R\xE9essayer",cancel:"Annuler",confirm:"Confirmer",close:"Fermer",save:"Enregistrer",delete:"Supprimer",edit:"Modifier",search:"Rechercher",clear:"Effacer",submit:"Soumettre",reset:"R\xE9initialiser"},form:{required:"Ce champ est obligatoire",invalid:"Valeur invalide",tooShort:"La valeur est trop courte (minimum {min} caract\xE8res)",tooLong:"La valeur est trop longue (maximum {max} caract\xE8res)",invalidEmail:"Adresse e-mail invalide",invalidUrl:"URL invalide"},pagination:{previous:"Pr\xE9c\xE9dent",next:"Suivant",page:"Page {page}",of:"sur {total}"}}};function up(e={}){let{max:t=10,ttl:s=0,include:a,exclude:o,hooks:i,debug:r=!1}=e,n=new Map,c=0,d=0;function f(...u){if(r)console.log("[KeepAlive]",...u)}function p(u){if(o){if(o instanceof RegExp&&o.test(u))return!1;if(Array.isArray(o)&&o.includes(u))return!1}if(a){if(a instanceof RegExp&&!a.test(u))return!1;if(Array.isArray(a)&&!a.includes(u))return!1}return!0}function g(u){if(!s||!u.expiresAt)return!1;return Date.now()>u.expiresAt}function h(u){let b=n.get(u);if(b)b.lastAccessedAt=Date.now(),b.accessCount++,b.instance.lastAccessedAt=b.lastAccessedAt,n.delete(u),n.set(u,b),f(`Touched: ${u} (access count: ${b.accessCount})`)}function w(){if(n.size===0)return!1;let u=n.keys().next().value;if(!u)return!1;let b=n.get(u);if(b){f(`Evicting LRU: ${u}`);let y=b.instance.hooks;if(y?.onDeactivate)y.onDeactivate(b.instance);if(i?.onDeactivate)i.onDeactivate(b.instance);return n.delete(u),!0}return!1}function v(u,b,y){if(!p(b.type))return f(`Type not cacheable: ${b.type}`),b;if(n.size>=t)w();let A=Date.now(),H={instance:{...b,hooks:y||b.hooks,createdAt:b.createdAt||A,lastAccessedAt:A},accessCount:0,createdAt:A,lastAccessedAt:A,expiresAt:s?A+s:void 0};if(n.set(u,H),f(`Cached: ${u} (size: ${n.size}/${t})`),y?.onMount)y.onMount(H.instance);if(i?.onMount)i.onMount(H.instance);return H.instance}function k(u){let b=n.get(u);if(!b)return d++,f(`Miss: ${u}`),null;if(g(b))return f(`Expired: ${u}`),n.delete(u),d++,null;return c++,h(u),f(`Hit: ${u}`),b.instance}function x(u){let b=n.get(u);if(!b)return!1;if(g(b))return n.delete(u),!1;return!0}function m(u){let b=n.get(u);if(!b)return!1;f(`Removing: ${u}`);let y=b.instance.hooks;if(y?.onUnmount)y.onUnmount(b.instance);if(i?.onUnmount)i.onUnmount(b.instance);return n.delete(u)}function C(){f("Clearing cache"),n.forEach((u)=>{let b=u.instance.hooks;if(b?.onUnmount)b.onUnmount(u.instance);if(i?.onUnmount)i.onUnmount(u.instance)}),n.clear(),c=0,d=0}function T(){let u=0,b=Date.now();for(let[y,A]of n.entries())if(g(A))f(`Pruning expired: ${y}`),m(y),u++;while(n.size>t)if(w())u++;else break;if(u>0)f(`Pruned ${u} entries`);return u}function z(u){let b=k(u);if(!b)return null;f(`Activating: ${u}`);let y=b.hooks;if(y?.onActivate)y.onActivate(b);if(i?.onActivate)i.onActivate(b);if(b.state&&y?.onRestore)y.onRestore(b,b.state);return b}function ie(u){let b=n.get(u);if(!b)return!1;f(`Deactivating: ${u}`);let y=b.instance,A=y.hooks;if(A?.onSave)y.state=A.onSave(y);if(A?.onDeactivate)A.onDeactivate(y);if(i?.onDeactivate)i.onDeactivate(y);return!0}function J(){let u=c+d;return{hits:c,misses:d,size:n.size,max:t,hitRate:u>0?c/u:0,keys:Array.from(n.keys())}}function X(){return Array.from(n.keys())}function Z(){return n.size}return{cache:v,get:k,has:x,remove:m,clear:C,prune:T,activate:z,deactivate:ie,getStats:J,keys:X,size:Z}}function fp(e){let t=new Map;return{set(s,a){if(t.has(s))t.delete(s);if(t.set(s,a),t.size>e){let o=t.keys().next().value;if(o)t.delete(o)}},get(s){if(!t.has(s))return;let a=t.get(s);return t.delete(s),t.set(s,a),a},has(s){return t.has(s)},delete(s){return t.delete(s)},clear(){t.clear()},get size(){return t.size},keys(){return Array.from(t.keys())},values(){return Array.from(t.values())},forEach(s){t.forEach(s)}}}function hp(){let e=new Map;return{save(t,s){e.set(t,JSON.parse(JSON.stringify(s)))},restore(t){let s=e.get(t);return s?JSON.parse(JSON.stringify(s)):null},has(t){return e.has(t)},remove(t){return e.delete(t)},clear(){e.clear()},keys(){return Array.from(e.keys())},get size(){return e.size}}}function bp(e,t={}){let{maxSize:s=100,reset:a}=t,o=[];return{acquire(){if(o.length>0)return o.pop();return e()},release(i){if(o.length<s){if(a)a(i);o.push(i)}},clear(){o.length=0},get size(){return o.length},get maxSize(){return s}}}var E=new Map;async function U(e,t){let s=t||e.toString();if(E.has(s))return E.get(s);let a=e();E.set(s,a);try{return await a}catch(o){throw E.delete(s),o}}function xp(e,t={}){let{retryAttempts:s=3,retryDelay:a=1000,onLoading:o,onLoaded:i,onError:r}=t,n="idle",c,d,f=async(p=0)=>{try{if(n==="loading"||n==="loaded"){if(c)return c}n="loading",o?.();let g=await U(e);return c=g,n="loaded",i?.(g),g}catch(g){let h=g;if(p<s)return await new Promise((w)=>setTimeout(w,a*(p+1))),f(p+1);throw n="error",d=h,r?.(h),h}};return{get state(){return n},get module(){return c},get error(){return d},load:()=>f(),preload:()=>f()}}function Fo(e,t,s={}){if(!e)return console.warn("lazyLoad: element is null"),()=>{};let{root:a=null,rootMargin:o="0px",threshold:i=0.01,placeholder:r,errorContent:n,onLoading:c,onLoaded:d,onError:f}=s,p=!1,g=null;if(r)if(typeof r==="string")e.innerHTML=r;else e.innerHTML="",e.appendChild(r);return g=new IntersectionObserver(async(w)=>{for(let v of w)if(v.isIntersecting&&!p){p=!0,g?.disconnect();try{c?.();let k=await U(t);if(d?.(k),k&&typeof k.default?.render==="function"){let x=await k.default.render();e.innerHTML=x}}catch(k){let x=k;if(f?.(x),n)if(typeof n==="string")e.innerHTML=n;else e.innerHTML="",e.appendChild(n);else e.innerHTML=`<div style="color: red;">Failed to load component: ${x.message}</div>`}}},{root:a,rootMargin:o,threshold:i}),g.observe(e),()=>{g?.disconnect(),g=null}}function mp(e,t,s={}){let a=[],o=Array.from(e);for(let i of o){let r=typeof t==="function"&&t.length>0?()=>t(i):t,n=Fo(i,r,s);a.push(n)}return()=>{a.forEach((i)=>i())}}function Go(e){return U(e)}function vp(e){return Promise.all(e.map((t)=>Go(t)))}function wp(e){if(e)E.delete(e);else E.clear()}function yp(){return{size:E.size,keys:Array.from(E.keys())}}function Cp(e){return{async load(t){let s=e[t];if(!s)throw Error(`No route found for path: ${t}`);return U(s,`route:${t}`)},async preload(t){return this.load(t)},async preloadRoutes(t){return Promise.all(t.map((s)=>this.preload(s)))}}}function Uo(e,t,s={}){if(!e)return()=>{};let{root:a=null,rootMargin:o="50px",threshold:i=0.01,placeholder:r,onLoading:n,onLoaded:c,onError:d}=s;if(r&&typeof r==="string")e.src=r;let f=!1,p=null;return p=new IntersectionObserver((h)=>{for(let w of h)if(w.isIntersecting&&!f)f=!0,p?.disconnect(),n?.(),e.src=t,e.addEventListener("load",()=>{c?.(e),e.classList.add("loaded")},{once:!0}),e.addEventListener("error",(v)=>{let k=Error(`Failed to load image: ${t}`);d?.(k),e.classList.add("error")},{once:!0})},{root:a,rootMargin:o,threshold:i}),p.observe(e),()=>{p?.disconnect(),p=null}}function $p(e=document,t={}){let s=e.querySelectorAll("img[data-lazy-src]"),a=[];return s.forEach((o)=>{let i=o.getAttribute("data-lazy-src");if(i){let r=Uo(o,i,t);a.push(r)}}),()=>{a.forEach((o)=>o())}}var oe={colors:{primary:"#3b82f6",secondary:"#8b5cf6",success:"#10b981",warning:"#f59e0b",danger:"#ef4444",info:"#06b6d4",gray:"#6b7280",white:"#ffffff",black:"#000000"},typography:{fontFamily:{sans:'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',serif:'Georgia, Cambria, "Times New Roman", Times, serif',mono:'Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace'},fontSize:{xs:"0.75rem",sm:"0.875rem",base:"1rem",lg:"1.125rem",xl:"1.25rem","2xl":"1.5rem","3xl":"1.875rem","4xl":"2.25rem"},fontWeight:{light:"300",normal:"400",medium:"500",semibold:"600",bold:"700"},lineHeight:{tight:"1.25",normal:"1.5",relaxed:"1.75"}},spacing:{xs:"0.25rem",sm:"0.5rem",md:"1rem",lg:"1.5rem",xl:"2rem","2xl":"3rem","3xl":"4rem","4xl":"6rem"},borderRadius:{none:"0",sm:"0.125rem",md:"0.375rem",lg:"0.5rem",full:"9999px"},shadows:{sm:"0 1px 2px 0 rgba(0, 0, 0, 0.05)",md:"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",lg:"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)",xl:"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)","2xl":"0 25px 50px -12px rgba(0, 0, 0, 0.25)",none:"none"},components:{button:{borderRadius:"0.375rem",padding:"0.5rem 1rem",fontSize:"0.875rem",fontWeight:"500"},input:{borderRadius:"0.375rem",padding:"0.5rem 0.75rem",fontSize:"0.875rem",borderWidth:"1px"},card:{borderRadius:"0.5rem",padding:"1.5rem",shadow:"0 1px 3px 0 rgba(0, 0, 0, 0.1)"}}};function be(e,t){let s={...e};for(let a in t)if(t[a]instanceof Object&&a in e)s[a]=be(e[a],t[a]);else s[a]=t[a];return s}function j(e){return be(oe,e)}var Y=oe;function Sp(){return Y}function Yo(e){let t=[];if(e.colors)Object.entries(e.colors).forEach(([s,a])=>{if(a)t.push(`--color-${s}: ${a};`)});if(e.typography?.fontFamily)Object.entries(e.typography.fontFamily).forEach(([s,a])=>{if(a)t.push(`--font-${s}: ${a};`)});if(e.typography?.fontSize)Object.entries(e.typography.fontSize).forEach(([s,a])=>{if(a)t.push(`--text-${s}: ${a};`)});if(e.typography?.fontWeight)Object.entries(e.typography.fontWeight).forEach(([s,a])=>{if(a)t.push(`--font-weight-${s}: ${a};`)});if(e.typography?.lineHeight)Object.entries(e.typography.lineHeight).forEach(([s,a])=>{if(a)t.push(`--leading-${s}: ${a};`)});if(e.spacing)Object.entries(e.spacing).forEach(([s,a])=>{if(a)t.push(`--spacing-${s}: ${a};`)});if(e.borderRadius)Object.entries(e.borderRadius).forEach(([s,a])=>{if(a)t.push(`--radius-${s}: ${a};`)});if(e.shadows)Object.entries(e.shadows).forEach(([s,a])=>{if(a)t.push(`--shadow-${s}: ${a};`)});if(e.components?.button)Object.entries(e.components.button).forEach(([s,a])=>{if(a)t.push(`--button-${s.replace(/([A-Z])/g,"-$1").toLowerCase()}: ${a};`)});if(e.components?.input)Object.entries(e.components.input).forEach(([s,a])=>{if(a)t.push(`--input-${s.replace(/([A-Z])/g,"-$1").toLowerCase()}: ${a};`)});if(e.components?.card)Object.entries(e.components.card).forEach(([s,a])=>{if(a)t.push(`--card-${s.replace(/([A-Z])/g,"-$1").toLowerCase()}: ${a};`)});return`:root {
16
+ `,a=document.createElement("style");a.textContent=s,document.head.appendChild(a)}function jo(e,t,s={}){if(typeof e.animate!=="function")return console.warn("Web Animations API not supported"),null;let{duration:a=1000,easing:o="ease",delay:i=0,iterations:r=1,direction:n="normal",fill:c="both"}=s;return e.animate([...t],{duration:a,easing:o,delay:i,iterations:r,direction:n,fill:c})}var Ho={fadeIn:[{offset:0,opacity:0},{offset:1,opacity:1}],fadeOut:[{offset:0,opacity:1},{offset:1,opacity:0}],slideInUp:[{offset:0,transform:"translateY(100%)",opacity:0},{offset:1,transform:"translateY(0)",opacity:1}],slideInDown:[{offset:0,transform:"translateY(-100%)",opacity:0},{offset:1,transform:"translateY(0)",opacity:1}],slideInLeft:[{offset:0,transform:"translateX(-100%)",opacity:0},{offset:1,transform:"translateX(0)",opacity:1}],slideInRight:[{offset:0,transform:"translateX(100%)",opacity:0},{offset:1,transform:"translateX(0)",opacity:1}],slideOutUp:[{offset:0,transform:"translateY(0)",opacity:1},{offset:1,transform:"translateY(-100%)",opacity:0}],slideOutDown:[{offset:0,transform:"translateY(0)",opacity:1},{offset:1,transform:"translateY(100%)",opacity:0}],slideOutLeft:[{offset:0,transform:"translateX(0)",opacity:1},{offset:1,transform:"translateX(-100%)",opacity:0}],slideOutRight:[{offset:0,transform:"translateX(0)",opacity:1},{offset:1,transform:"translateX(100%)",opacity:0}],zoomIn:[{offset:0,transform:"scale(0)",opacity:0},{offset:0.5,opacity:1},{offset:1,transform:"scale(1)"}],zoomOut:[{offset:0,transform:"scale(1)",opacity:1},{offset:0.5,opacity:1},{offset:1,transform:"scale(0)",opacity:0}],rotate:[{offset:0,transform:"rotate(0deg)"},{offset:1,transform:"rotate(360deg)"}],bounce:[{offset:0,transform:"translateY(0)"},{offset:0.2,transform:"translateY(0)"},{offset:0.4,transform:"translateY(-30px)"},{offset:0.43,transform:"translateY(-30px)"},{offset:0.53,transform:"translateY(0)"},{offset:0.7,transform:"translateY(-15px)"},{offset:0.8,transform:"translateY(0)"},{offset:0.9,transform:"translateY(-4px)"},{offset:1,transform:"translateY(0)"}],pulse:[{offset:0,transform:"scale(1)"},{offset:0.5,transform:"scale(1.05)"},{offset:1,transform:"scale(1)"}],shake:[{offset:0,transform:"translateX(0)"},{offset:0.1,transform:"translateX(-10px)"},{offset:0.2,transform:"translateX(10px)"},{offset:0.3,transform:"translateX(-10px)"},{offset:0.4,transform:"translateX(10px)"},{offset:0.5,transform:"translateX(-10px)"},{offset:0.6,transform:"translateX(10px)"},{offset:0.7,transform:"translateX(-10px)"},{offset:0.8,transform:"translateX(10px)"},{offset:0.9,transform:"translateX(-10px)"},{offset:1,transform:"translateX(0)"}],swing:[{offset:0,transform:"rotate(0deg)"},{offset:0.2,transform:"rotate(15deg)"},{offset:0.4,transform:"rotate(-10deg)"},{offset:0.6,transform:"rotate(5deg)"},{offset:0.8,transform:"rotate(-5deg)"},{offset:1,transform:"rotate(0deg)"}],flip:[{offset:0,transform:"perspective(400px) rotateY(0)",animationTimingFunction:"ease-out"},{offset:0.4,transform:"perspective(400px) translateZ(150px) rotateY(170deg)",animationTimingFunction:"ease-out"},{offset:0.5,transform:"perspective(400px) translateZ(150px) rotateY(190deg)",animationTimingFunction:"ease-in"},{offset:0.8,transform:"perspective(400px) rotateY(360deg)",animationTimingFunction:"ease-in"},{offset:1,transform:"perspective(400px)",animationTimingFunction:"ease-in"}],rubberBand:[{offset:0,transform:"scale(1)"},{offset:0.3,transform:"scaleX(1.25) scaleY(0.75)"},{offset:0.4,transform:"scaleX(0.75) scaleY(1.25)"},{offset:0.5,transform:"scaleX(1.15) scaleY(0.85)"},{offset:0.65,transform:"scaleX(0.95) scaleY(1.05)"},{offset:0.75,transform:"scaleX(1.05) scaleY(0.95)"},{offset:1,transform:"scale(1)"}],heartbeat:[{offset:0,transform:"scale(1)"},{offset:0.14,transform:"scale(1.3)"},{offset:0.28,transform:"scale(1)"},{offset:0.42,transform:"scale(1.3)"},{offset:0.7,transform:"scale(1)"}]};function _d(e,t,s={}){return jo(e,Ho[t],s)}import{createHighlighter as Vo}from"ts-syntax-highlighter";var se=null;async function Wo(){if(!se)se=await Vo({theme:"github-light"});return se}async function Gd(e,t={}){let{theme:s="auto",language:a="typescript",lineNumbers:o=!1,wrapLines:i=!0}=t,r=await Wo(),n=s==="auto"?globalThis.matchMedia?.("(prefers-color-scheme: dark)").matches?"github-dark":"github-light":s==="dark"?"github-dark":"github-light",c=await r.highlight(e,a);return{html:typeof c==="string"?c:String(c),language:a,theme:n}}function Ud(e){if(e.includes("<!DOCTYPE")||e.includes("<html"))return"html";if(e.includes("<?php"))return"php";if(e.includes("import")&&e.includes("from"))return"typescript";if(e.includes("function")||e.includes("const"))return"javascript";if(e.includes("{")&&e.includes("}"))return"json";if(e.includes("$")&&e.includes("|"))return"bash";if(e.includes("#")&&e.includes("##"))return"markdown";return"typescript"}function Yd(e,t){return`<div class="${t?`rounded-md overflow-auto text-sm leading-relaxed font-mono ${t}`:"rounded-md overflow-auto text-sm leading-relaxed font-mono"}">${e}</div>`}var L=null,_o=(e)=>{return e===1?0:1};function G(e,t){return t.split(".").reduce((s,a)=>s?.[a],e)}function ae(e,t={}){return e.replace(/\{(\w+)\}/g,(s,a)=>{return t[a]!==void 0?String(t[a]):s})}function Xd(e){let{locale:t,fallbackLocale:s="en",messages:a,pluralRules:o={},dateTimeFormats:i={},numberFormats:r={},missing:n,warnMissing:c=!0}=e;function d(x,m={}){let C=G(a[t],x);if(C===void 0&&s)C=G(a[s],x);if(C===void 0){if(n){let T=n(t,x);if(T)return ae(T,m)}if(c&&typeof console<"u")console.warn(`[i18n] Missing translation for key "${x}" in locale "${t}"`);return x}if(typeof C==="string")return ae(C,m);return String(C)}function f(x,m,C={}){let T=d(x,{...C,count:m});if(T.includes("|")){let z=T.split("|").map((Z)=>Z.trim()),J=(o[t]||_o)(m,t),X=z[J]||z[z.length-1];return ae(X,{...C,count:m})}return T}function p(x,m="default"){let C=typeof x==="number"?new Date(x):x,T=i[m]||i.default||{};return new Intl.DateTimeFormat(t,T).format(C)}function g(x,m="default"){let C=r[m]||r.default||{};return new Intl.NumberFormat(t,C).format(x)}function h(x){if(G(a[t],x)!==void 0)return!0;if(s)return G(a[s],x)!==void 0;return!1}function w(x){if(!a[x]){console.warn(`[i18n] Locale "${x}" not found. Available locales: ${Object.keys(a).join(", ")}`);return}t=x}function v(x,m){if(!a[x])a[x]={};a[x]={...a[x],...m}}function k(x){delete a[x]}return{get locale(){return t},get availableLocales(){return Object.keys(a)},setLocale:w,t:d,tc:f,d:p,n:g,te:h,addMessages:v,removeLocale:k}}function Zd(e){L=e}function Qd(){return L}function ep(e,t){if(!L)return console.warn("[i18n] No global i18n instance set. Call setI18n() first."),e;return L.t(e,t)}function tp(e,t,s){if(!L)return console.warn("[i18n] No global i18n instance set. Call setI18n() first."),e;return L.tc(e,t,s)}function sp(e,t){if(!L)return console.warn("[i18n] No global i18n instance set. Call setI18n() first."),String(e);return L.d(e,t)}function ap(e,t){if(!L)return console.warn("[i18n] No global i18n instance set. Call setI18n() first."),String(e);return L.n(e,t)}var op={en:(e)=>e===1?0:1,de:(e)=>e===1?0:1,nl:(e)=>e===1?0:1,sv:(e)=>e===1?0:1,fr:(e)=>e===0||e===1?0:1,pt_BR:(e)=>e===0||e===1?0:1,ru:(e)=>{if(e%10===1&&e%100!==11)return 0;if(e%10>=2&&e%10<=4&&(e%100<10||e%100>=20))return 1;return 2},pl:(e)=>{if(e===1)return 0;if(e%10>=2&&e%10<=4&&(e%100<10||e%100>=20))return 1;return 2},cs:(e)=>{if(e===1)return 0;if(e>=2&&e<=4)return 1;return 2},ar:(e)=>{if(e===0)return 0;if(e===1)return 1;if(e===2)return 2;if(e%100>=3&&e%100<=10)return 3;if(e%100>=11)return 4;return 5},ja:()=>0,ko:()=>0,zh:()=>0,th:()=>0,vi:()=>0},ip={short:{year:"numeric",month:"numeric",day:"numeric"},long:{year:"numeric",month:"long",day:"numeric"},full:{weekday:"long",year:"numeric",month:"long",day:"numeric"},time:{hour:"numeric",minute:"numeric"},datetime:{year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric"}},rp={decimal:{style:"decimal",minimumFractionDigits:2,maximumFractionDigits:2},currency:{style:"currency",currency:"USD"},percent:{style:"percent",minimumFractionDigits:0,maximumFractionDigits:2},compact:{notation:"compact"}};function np(e){let t=["ar","he","fa","ur","yi"],s=e.split("-")[0].toLowerCase();return t.includes(s)}async function lp(e,t){try{return await t()}catch(s){return console.error(`[i18n] Failed to load messages for locale "${e}":`,s),{}}}var cp={en:{common:{loading:"Loading...",error:"Error",retry:"Retry",cancel:"Cancel",confirm:"Confirm",close:"Close",save:"Save",delete:"Delete",edit:"Edit",search:"Search",clear:"Clear",submit:"Submit",reset:"Reset"},form:{required:"This field is required",invalid:"Invalid value",tooShort:"Value is too short (minimum {min} characters)",tooLong:"Value is too long (maximum {max} characters)",invalidEmail:"Invalid email address",invalidUrl:"Invalid URL"},pagination:{previous:"Previous",next:"Next",page:"Page {page}",of:"of {total}"}},es:{common:{loading:"Cargando...",error:"Error",retry:"Reintentar",cancel:"Cancelar",confirm:"Confirmar",close:"Cerrar",save:"Guardar",delete:"Eliminar",edit:"Editar",search:"Buscar",clear:"Limpiar",submit:"Enviar",reset:"Restablecer"},form:{required:"Este campo es obligatorio",invalid:"Valor inv\xE1lido",tooShort:"El valor es demasiado corto (m\xEDnimo {min} caracteres)",tooLong:"El valor es demasiado largo (m\xE1ximo {max} caracteres)",invalidEmail:"Direcci\xF3n de correo electr\xF3nico inv\xE1lida",invalidUrl:"URL inv\xE1lida"},pagination:{previous:"Anterior",next:"Siguiente",page:"P\xE1gina {page}",of:"de {total}"}},fr:{common:{loading:"Chargement...",error:"Erreur",retry:"R\xE9essayer",cancel:"Annuler",confirm:"Confirmer",close:"Fermer",save:"Enregistrer",delete:"Supprimer",edit:"Modifier",search:"Rechercher",clear:"Effacer",submit:"Soumettre",reset:"R\xE9initialiser"},form:{required:"Ce champ est obligatoire",invalid:"Valeur invalide",tooShort:"La valeur est trop courte (minimum {min} caract\xE8res)",tooLong:"La valeur est trop longue (maximum {max} caract\xE8res)",invalidEmail:"Adresse e-mail invalide",invalidUrl:"URL invalide"},pagination:{previous:"Pr\xE9c\xE9dent",next:"Suivant",page:"Page {page}",of:"sur {total}"}}};function pp(e={}){let{max:t=10,ttl:s=0,include:a,exclude:o,hooks:i,debug:r=!1}=e,n=new Map,c=0,d=0;function f(...u){if(r)console.log("[KeepAlive]",...u)}function p(u){if(o){if(o instanceof RegExp&&o.test(u))return!1;if(Array.isArray(o)&&o.includes(u))return!1}if(a){if(a instanceof RegExp&&!a.test(u))return!1;if(Array.isArray(a)&&!a.includes(u))return!1}return!0}function g(u){if(!s||!u.expiresAt)return!1;return Date.now()>u.expiresAt}function h(u){let b=n.get(u);if(b)b.lastAccessedAt=Date.now(),b.accessCount++,b.instance.lastAccessedAt=b.lastAccessedAt,n.delete(u),n.set(u,b),f(`Touched: ${u} (access count: ${b.accessCount})`)}function w(){if(n.size===0)return!1;let u=n.keys().next().value;if(!u)return!1;let b=n.get(u);if(b){f(`Evicting LRU: ${u}`);let y=b.instance.hooks;if(y?.onDeactivate)y.onDeactivate(b.instance);if(i?.onDeactivate)i.onDeactivate(b.instance);return n.delete(u),!0}return!1}function v(u,b,y){if(!p(b.type))return f(`Type not cacheable: ${b.type}`),b;if(n.size>=t)w();let A=Date.now(),H={instance:{...b,hooks:y||b.hooks,createdAt:b.createdAt||A,lastAccessedAt:A},accessCount:0,createdAt:A,lastAccessedAt:A,expiresAt:s?A+s:void 0};if(n.set(u,H),f(`Cached: ${u} (size: ${n.size}/${t})`),y?.onMount)y.onMount(H.instance);if(i?.onMount)i.onMount(H.instance);return H.instance}function k(u){let b=n.get(u);if(!b)return d++,f(`Miss: ${u}`),null;if(g(b))return f(`Expired: ${u}`),n.delete(u),d++,null;return c++,h(u),f(`Hit: ${u}`),b.instance}function x(u){let b=n.get(u);if(!b)return!1;if(g(b))return n.delete(u),!1;return!0}function m(u){let b=n.get(u);if(!b)return!1;f(`Removing: ${u}`);let y=b.instance.hooks;if(y?.onUnmount)y.onUnmount(b.instance);if(i?.onUnmount)i.onUnmount(b.instance);return n.delete(u)}function C(){f("Clearing cache"),n.forEach((u)=>{let b=u.instance.hooks;if(b?.onUnmount)b.onUnmount(u.instance);if(i?.onUnmount)i.onUnmount(u.instance)}),n.clear(),c=0,d=0}function T(){let u=0,b=Date.now();for(let[y,A]of n.entries())if(g(A))f(`Pruning expired: ${y}`),m(y),u++;while(n.size>t)if(w())u++;else break;if(u>0)f(`Pruned ${u} entries`);return u}function z(u){let b=k(u);if(!b)return null;f(`Activating: ${u}`);let y=b.hooks;if(y?.onActivate)y.onActivate(b);if(i?.onActivate)i.onActivate(b);if(b.state&&y?.onRestore)y.onRestore(b,b.state);return b}function ie(u){let b=n.get(u);if(!b)return!1;f(`Deactivating: ${u}`);let y=b.instance,A=y.hooks;if(A?.onSave)y.state=A.onSave(y);if(A?.onDeactivate)A.onDeactivate(y);if(i?.onDeactivate)i.onDeactivate(y);return!0}function J(){let u=c+d;return{hits:c,misses:d,size:n.size,max:t,hitRate:u>0?c/u:0,keys:Array.from(n.keys())}}function X(){return Array.from(n.keys())}function Z(){return n.size}return{cache:v,get:k,has:x,remove:m,clear:C,prune:T,activate:z,deactivate:ie,getStats:J,keys:X,size:Z}}function up(e){let t=new Map;return{set(s,a){if(t.has(s))t.delete(s);if(t.set(s,a),t.size>e){let o=t.keys().next().value;if(o)t.delete(o)}},get(s){if(!t.has(s))return;let a=t.get(s);return t.delete(s),t.set(s,a),a},has(s){return t.has(s)},delete(s){return t.delete(s)},clear(){t.clear()},get size(){return t.size},keys(){return Array.from(t.keys())},values(){return Array.from(t.values())},forEach(s){t.forEach(s)}}}function fp(){let e=new Map;return{save(t,s){e.set(t,JSON.parse(JSON.stringify(s)))},restore(t){let s=e.get(t);return s?JSON.parse(JSON.stringify(s)):null},has(t){return e.has(t)},remove(t){return e.delete(t)},clear(){e.clear()},keys(){return Array.from(e.keys())},get size(){return e.size}}}function hp(e,t={}){let{maxSize:s=100,reset:a}=t,o=[];return{acquire(){if(o.length>0)return o.pop();return e()},release(i){if(o.length<s){if(a)a(i);o.push(i)}},clear(){o.length=0},get size(){return o.length},get maxSize(){return s}}}var E=new Map;async function U(e,t){let s=t||e.toString();if(E.has(s))return E.get(s);let a=e();E.set(s,a);try{return await a}catch(o){throw E.delete(s),o}}function gp(e,t={}){let{retryAttempts:s=3,retryDelay:a=1000,onLoading:o,onLoaded:i,onError:r}=t,n="idle",c,d,f=async(p=0)=>{try{if(n==="loading"||n==="loaded"){if(c)return c}n="loading",o?.();let g=await U(e);return c=g,n="loaded",i?.(g),g}catch(g){let h=g;if(p<s)return await new Promise((w)=>setTimeout(w,a*(p+1))),f(p+1);throw n="error",d=h,r?.(h),h}};return{get state(){return n},get module(){return c},get error(){return d},load:()=>f(),preload:()=>f()}}function Fo(e,t,s={}){if(!e)return console.warn("lazyLoad: element is null"),()=>{};let{root:a=null,rootMargin:o="0px",threshold:i=0.01,placeholder:r,errorContent:n,onLoading:c,onLoaded:d,onError:f}=s,p=!1,g=null;if(r)if(typeof r==="string")e.innerHTML=r;else e.innerHTML="",e.appendChild(r);return g=new IntersectionObserver(async(w)=>{for(let v of w)if(v.isIntersecting&&!p){p=!0,g?.disconnect();try{c?.();let k=await U(t);if(d?.(k),k&&typeof k.default?.render==="function"){let x=await k.default.render();e.innerHTML=x}}catch(k){let x=k;if(f?.(x),n)if(typeof n==="string")e.innerHTML=n;else e.innerHTML="",e.appendChild(n);else e.innerHTML=`<div style="color: red;">Failed to load component: ${x.message}</div>`}}},{root:a,rootMargin:o,threshold:i}),g.observe(e),()=>{g?.disconnect(),g=null}}function xp(e,t,s={}){let a=[],o=Array.from(e);for(let i of o){let r=typeof t==="function"&&t.length>0?()=>t(i):t,n=Fo(i,r,s);a.push(n)}return()=>{a.forEach((i)=>i())}}function Ko(e){return U(e)}function mp(e){return Promise.all(e.map((t)=>Ko(t)))}function vp(e){if(e)E.delete(e);else E.clear()}function wp(){return{size:E.size,keys:Array.from(E.keys())}}function yp(e){return{async load(t){let s=e[t];if(!s)throw Error(`No route found for path: ${t}`);return U(s,`route:${t}`)},async preload(t){return this.load(t)},async preloadRoutes(t){return Promise.all(t.map((s)=>this.preload(s)))}}}function Go(e,t,s={}){if(!e)return()=>{};let{root:a=null,rootMargin:o="50px",threshold:i=0.01,placeholder:r,onLoading:n,onLoaded:c,onError:d}=s;if(r&&typeof r==="string")e.src=r;let f=!1,p=null;return p=new IntersectionObserver((h)=>{for(let w of h)if(w.isIntersecting&&!f)f=!0,p?.disconnect(),n?.(),e.src=t,e.addEventListener("load",()=>{c?.(e),e.classList.add("loaded")},{once:!0}),e.addEventListener("error",(v)=>{let k=Error(`Failed to load image: ${t}`);d?.(k),e.classList.add("error")},{once:!0})},{root:a,rootMargin:o,threshold:i}),p.observe(e),()=>{p?.disconnect(),p=null}}function Cp(e=document,t={}){let s=e.querySelectorAll("img[data-lazy-src]"),a=[];return s.forEach((o)=>{let i=o.getAttribute("data-lazy-src");if(i){let r=Go(o,i,t);a.push(r)}}),()=>{a.forEach((o)=>o())}}var oe={colors:{primary:"#3b82f6",secondary:"#8b5cf6",success:"#10b981",warning:"#f59e0b",danger:"#ef4444",info:"#06b6d4",gray:"#6b7280",white:"#ffffff",black:"#000000"},typography:{fontFamily:{sans:'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',serif:'Georgia, Cambria, "Times New Roman", Times, serif',mono:'Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace'},fontSize:{xs:"0.75rem",sm:"0.875rem",base:"1rem",lg:"1.125rem",xl:"1.25rem","2xl":"1.5rem","3xl":"1.875rem","4xl":"2.25rem"},fontWeight:{light:"300",normal:"400",medium:"500",semibold:"600",bold:"700"},lineHeight:{tight:"1.25",normal:"1.5",relaxed:"1.75"}},spacing:{xs:"0.25rem",sm:"0.5rem",md:"1rem",lg:"1.5rem",xl:"2rem","2xl":"3rem","3xl":"4rem","4xl":"6rem"},borderRadius:{none:"0",sm:"0.125rem",md:"0.375rem",lg:"0.5rem",full:"9999px"},shadows:{sm:"0 1px 2px 0 rgba(0, 0, 0, 0.05)",md:"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",lg:"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)",xl:"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)","2xl":"0 25px 50px -12px rgba(0, 0, 0, 0.25)",none:"none"},components:{button:{borderRadius:"0.375rem",padding:"0.5rem 1rem",fontSize:"0.875rem",fontWeight:"500"},input:{borderRadius:"0.375rem",padding:"0.5rem 0.75rem",fontSize:"0.875rem",borderWidth:"1px"},card:{borderRadius:"0.5rem",padding:"1.5rem",shadow:"0 1px 3px 0 rgba(0, 0, 0, 0.1)"}}};function he(e,t){let s={...e};for(let a in t)if(t[a]instanceof Object&&a in e)s[a]=he(e[a],t[a]);else s[a]=t[a];return s}function j(e){return he(oe,e)}var Y=oe;function kp(){return Y}function Uo(e){let t=[];if(e.colors)Object.entries(e.colors).forEach(([s,a])=>{if(a)t.push(`--color-${s}: ${a};`)});if(e.typography?.fontFamily)Object.entries(e.typography.fontFamily).forEach(([s,a])=>{if(a)t.push(`--font-${s}: ${a};`)});if(e.typography?.fontSize)Object.entries(e.typography.fontSize).forEach(([s,a])=>{if(a)t.push(`--text-${s}: ${a};`)});if(e.typography?.fontWeight)Object.entries(e.typography.fontWeight).forEach(([s,a])=>{if(a)t.push(`--font-weight-${s}: ${a};`)});if(e.typography?.lineHeight)Object.entries(e.typography.lineHeight).forEach(([s,a])=>{if(a)t.push(`--leading-${s}: ${a};`)});if(e.spacing)Object.entries(e.spacing).forEach(([s,a])=>{if(a)t.push(`--spacing-${s}: ${a};`)});if(e.borderRadius)Object.entries(e.borderRadius).forEach(([s,a])=>{if(a)t.push(`--radius-${s}: ${a};`)});if(e.shadows)Object.entries(e.shadows).forEach(([s,a])=>{if(a)t.push(`--shadow-${s}: ${a};`)});if(e.components?.button)Object.entries(e.components.button).forEach(([s,a])=>{if(a)t.push(`--button-${s.replace(/([A-Z])/g,"-$1").toLowerCase()}: ${a};`)});if(e.components?.input)Object.entries(e.components.input).forEach(([s,a])=>{if(a)t.push(`--input-${s.replace(/([A-Z])/g,"-$1").toLowerCase()}: ${a};`)});if(e.components?.card)Object.entries(e.components.card).forEach(([s,a])=>{if(a)t.push(`--card-${s.replace(/([A-Z])/g,"-$1").toLowerCase()}: ${a};`)});return`:root {
17
17
  ${t.join(`
18
18
  `)}
19
- }`}function Ip(e,t){if(Y=e,typeof document>"u")return;let s=t||document.documentElement;if(e.colors)Object.entries(e.colors).forEach(([a,o])=>{if(o)s.style.setProperty(`--color-${a}`,o)});if(e.typography?.fontFamily)Object.entries(e.typography.fontFamily).forEach(([a,o])=>{if(o)s.style.setProperty(`--font-${a}`,o)});if(e.typography?.fontSize)Object.entries(e.typography.fontSize).forEach(([a,o])=>{if(o)s.style.setProperty(`--text-${a}`,o)});if(e.typography?.fontWeight)Object.entries(e.typography.fontWeight).forEach(([a,o])=>{if(o)s.style.setProperty(`--font-weight-${a}`,o)});if(e.typography?.lineHeight)Object.entries(e.typography.lineHeight).forEach(([a,o])=>{if(o)s.style.setProperty(`--leading-${a}`,o)});if(e.spacing)Object.entries(e.spacing).forEach(([a,o])=>{if(o)s.style.setProperty(`--spacing-${a}`,o)});if(e.borderRadius)Object.entries(e.borderRadius).forEach(([a,o])=>{if(o)s.style.setProperty(`--radius-${a}`,o)});if(e.shadows)Object.entries(e.shadows).forEach(([a,o])=>{if(o)s.style.setProperty(`--shadow-${a}`,o)});if(e.components?.button)Object.entries(e.components.button).forEach(([a,o])=>{if(o)s.style.setProperty(`--button-${a.replace(/([A-Z])/g,"-$1").toLowerCase()}`,o)});if(e.components?.input)Object.entries(e.components.input).forEach(([a,o])=>{if(o)s.style.setProperty(`--input-${a.replace(/([A-Z])/g,"-$1").toLowerCase()}`,o)});if(e.components?.card)Object.entries(e.components.card).forEach(([a,o])=>{if(o)s.style.setProperty(`--card-${a.replace(/([A-Z])/g,"-$1").toLowerCase()}`,o)})}function Np(){return Y}function Tp(e){let t=e.split("."),s=Y;for(let a of t)if(s&&typeof s==="object"&&a in s)s=s[a];else return;return s}var Ap={default:oe,purple:j({colors:{primary:"#8b5cf6",secondary:"#a78bfa"}}),green:j({colors:{primary:"#10b981",secondary:"#34d399"}}),orange:j({colors:{primary:"#f97316",secondary:"#fb923c"}}),dark:j({colors:{primary:"#60a5fa",secondary:"#a78bfa",gray:"#9ca3af",white:"#1f2937",black:"#f9fafb"}}),minimal:j({borderRadius:{none:"0",sm:"0",md:"0.125rem",lg:"0.25rem",full:"0.25rem"},shadows:{sm:"none",md:"0 1px 2px 0 rgba(0, 0, 0, 0.05)",lg:"0 1px 3px 0 rgba(0, 0, 0, 0.1)",xl:"0 4px 6px -1px rgba(0, 0, 0, 0.1)","2xl":"0 10px 15px -3px rgba(0, 0, 0, 0.1)",none:"none"}})};function Dp(e){return Yo(e)}export{ne as wrapErrorHandler,rr as warnProp,_e as warn,jo as waitForAnimation,fr as validateVariant,In as validateTextInputProps,hr as validateSize,Dn as validateSearchInputProps,Fe as validateProps,Tn as validatePasswordInputProps,An as validateNumberInputProps,hn as validateFormProps,Nn as validateEmailInputProps,pr as validateButtonProps,Ed as validateAriaRelationships,Np as useTheme,ii as useSEO,yi as usePrefersReducedMotion,R as useMediaQuery,bi as useLocalStorage,ui as useKeyboard,mi as useIsMobile,vi as useIsDesktop,wi as useIsDarkMode,di as useFocusTrap,ai as useDarkMode,ei as useCopyCode,li as useClickOutside,xi as useBreakpoint,Si as themeVariableNames,Yo as themeToCSSProperties,Ap as themePresets,Zt as textInputPropSchema,sp as tc,tp as t,ki as stxThemePreset,Tc as storage,Bd as staggerAnimation,Ql as spaceWashGradient,de as spaceWash,wa as spaceTintVars,sc as spaceTintPayload,tc as spaceIndexOf,le as sidebarThemes,ye as setTitle,S as setMeta,Ce as setLink,Qd as setI18n,Zi as setErrorHandler,jd as sequenceAnimations,va as resolveSpaceTint,Yl as resolveSidebarTheme,Jl as resolveIconColor,qd as removeAnimation,vp as preloadModules,Go as preloadModule,Dd as prefersReducedMotion,Ld as prefersHighContrast,ip as pluralRules,Qt as numberInputPropSchema,np as numberFormats,ec as normalizeSpaces,ya as normalizeSpace,op as n,Id as moveFocus,K as macosColors,cp as loadLocaleMessages,co as linear,U as lazyLoadModule,$p as lazyLoadImages,Uo as lazyLoadImage,xp as lazyLoadComponent,mp as lazyLoadAll,Fo as lazyLoad,Nd as isVisibleToScreenReader,lp as isRTL,Ud as highlight,Sd as hasFocus,W as handleError,Tp as getThemeValue,Sp as getTheme,we as getSystemTheme,ep as getI18n,_o as getHighlighter,ee as getFocusableElements,Q as getEffectiveTheme,zd as getColorSchemePreference,yp as getCacheStats,Dp as generateThemeCSS,ri as generateSEOTags,ue as generateId,qt as formPropSchema,sr as errorBoundary,ko as easeOutSine,yo as easeOutQuint,mo as easeOutQuart,uo as easeOutQuad,No as easeOutExpo,Po as easeOutElastic,bo as easeOutCubic,Do as easeOutCirc,te as easeOutBounce,Mo as easeOutBack,$o as easeInSine,wo as easeInQuint,xo as easeInQuart,po as easeInQuad,So as easeInOutSine,Co as easeInOutQuint,vo as easeInOutQuart,fo as easeInOutQuad,To as easeInOutExpo,Eo as easeInOutElastic,go as easeInOutCubic,Lo as easeInOutCirc,qo as easeInOutBounce,Ro as easeInOutBack,Io as easeInExpo,zo as easeInElastic,ho as easeInCubic,Ao as easeInCirc,fe as easeInBounce,Oo as easeInBack,er as devAssert,Yd as detectLanguage,ce as deriveSpaceTint,oe as defaultTheme,rp as dateTimeFormats,ap as d,Bo as cssAnimation,j as createTheme,Ac as createStorage,hp as createStateManager,Pd as createSkipLink,Ad as createScreenReaderText,ur as createSafeClickHandler,$d as createRovingTabindex,Cp as createRouteLoader,D as createPropValidator,fp as createLRUCache,Wd as createKeyframes,Ho as createKeyframeAnimation,up as createKeepAlive,Zd as createI18n,Cd as createFocusTrap,tr as createDebugger,bp as createComponentPool,vd as createAriaLabel,wd as createAriaDescription,ti as copyToClipboard,dp as componentMessages,wp as clearModuleCache,Qi as clearErrorHandler,Ye as buttonPropSchema,ir as assertProp,We as assert,Td as aria,Ip as applyTheme,Jd as applyHeadwindClasses,he as applyAnimation,yd as announceToScreenReader,Vd as animateWithClass,Kd as animate,no as VirtualTable,io as VirtualList,ao as Video,Oe as TwoFactorChallenge,to as Transition,Qa as Tooltip,Xa as Textarea,Jt as TextInput,Ya as Teleport,Ga as Tabs,Wa as TableRow,Ha as TableHeader,Ba as TableHead,Ra as TableCell,Oa as TableBody,Pa as Table,Ka as TabPanel,re as THEMED_FAMILIES,La as Switch,Ss as SubscriptionCheckout,F as StorageManager,Aa as StepperStep,Na as Stepper,Sa as Spinner,$a as Skeleton,Pe as Signup,ca as SidebarSpaces,pa as SidebarSpaceSwitcher,na as SidebarSpace,ia as SidebarSection,aa as SidebarPinned,ta as SidebarItem,Qs as SidebarHeader,Xs as SidebarFooter,Ys as Sidebar,Gs as Select,Ut as SearchInput,$i as SHADE_VAR_PREFIX,Ks as RadioGroupOption,Ws as RadioGroupLabel,Hs as RadioGroupDescription,Bs as RadioGroup,Rs as Radio,l as PropTypes,Os as Progress,Ps as Portal,Ls as PopoverPanel,As as PopoverButton,Ns as Popover,$s as PaymentMethods,Ft as PasswordInput,xs as Pagination,_t as NumberInput,bs as Notification,fs as Navigator,Le as Login,ps as ListboxOptions,cs as ListboxOption,ns as ListboxLabel,is as ListboxButton,as as Listbox,Vo as KeyframeAnimations,fi as KeyboardShortcuts,kd as KeyboardKeys,ve as Installation,jt as Image,me as Hero,Rt as Form,xe as Footer,M as ErrorTypes,Vt as EmailInput,Md as Easing,Ot as DropdownItems,Pt as DropdownItem,Lt as DropdownButton,At as Dropdown,Nt as Drawer,St as DialogTitle,$t as DialogPanel,yt as DialogDescription,vt as DialogBackdrop,xt as Dialog,ys as DefaultPaymentMethod,N as ComponentError,bt as CommandPaletteItem,ft as CommandPalette,pt as ComboboxOptions,ct as ComboboxOption,nt as ComboboxInput,it as ComboboxButton,at as Combobox,ge as CodeBlock,vs as Checkout,tt as Checkbox,Qe as Card,Xe as Calendar,Ue as Button,q as Breakpoints,He as Breadcrumb,Be as Badge,Re as Avatar,Ae as Audio,Hd as AnimationClasses,Ne as AccordionItem,Se as Accordion};
19
+ }`}function Sp(e,t){if(Y=e,typeof document>"u")return;let s=t||document.documentElement;if(e.colors)Object.entries(e.colors).forEach(([a,o])=>{if(o)s.style.setProperty(`--color-${a}`,o)});if(e.typography?.fontFamily)Object.entries(e.typography.fontFamily).forEach(([a,o])=>{if(o)s.style.setProperty(`--font-${a}`,o)});if(e.typography?.fontSize)Object.entries(e.typography.fontSize).forEach(([a,o])=>{if(o)s.style.setProperty(`--text-${a}`,o)});if(e.typography?.fontWeight)Object.entries(e.typography.fontWeight).forEach(([a,o])=>{if(o)s.style.setProperty(`--font-weight-${a}`,o)});if(e.typography?.lineHeight)Object.entries(e.typography.lineHeight).forEach(([a,o])=>{if(o)s.style.setProperty(`--leading-${a}`,o)});if(e.spacing)Object.entries(e.spacing).forEach(([a,o])=>{if(o)s.style.setProperty(`--spacing-${a}`,o)});if(e.borderRadius)Object.entries(e.borderRadius).forEach(([a,o])=>{if(o)s.style.setProperty(`--radius-${a}`,o)});if(e.shadows)Object.entries(e.shadows).forEach(([a,o])=>{if(o)s.style.setProperty(`--shadow-${a}`,o)});if(e.components?.button)Object.entries(e.components.button).forEach(([a,o])=>{if(o)s.style.setProperty(`--button-${a.replace(/([A-Z])/g,"-$1").toLowerCase()}`,o)});if(e.components?.input)Object.entries(e.components.input).forEach(([a,o])=>{if(o)s.style.setProperty(`--input-${a.replace(/([A-Z])/g,"-$1").toLowerCase()}`,o)});if(e.components?.card)Object.entries(e.components.card).forEach(([a,o])=>{if(o)s.style.setProperty(`--card-${a.replace(/([A-Z])/g,"-$1").toLowerCase()}`,o)})}function Ip(){return Y}function Np(e){let t=e.split("."),s=Y;for(let a of t)if(s&&typeof s==="object"&&a in s)s=s[a];else return;return s}var Tp={default:oe,purple:j({colors:{primary:"#8b5cf6",secondary:"#a78bfa"}}),green:j({colors:{primary:"#10b981",secondary:"#34d399"}}),orange:j({colors:{primary:"#f97316",secondary:"#fb923c"}}),dark:j({colors:{primary:"#60a5fa",secondary:"#a78bfa",gray:"#9ca3af",white:"#1f2937",black:"#f9fafb"}}),minimal:j({borderRadius:{none:"0",sm:"0",md:"0.125rem",lg:"0.25rem",full:"0.25rem"},shadows:{sm:"none",md:"0 1px 2px 0 rgba(0, 0, 0, 0.05)",lg:"0 1px 3px 0 rgba(0, 0, 0, 0.1)",xl:"0 4px 6px -1px rgba(0, 0, 0, 0.1)","2xl":"0 10px 15px -3px rgba(0, 0, 0, 0.1)",none:"none"}})};function Ap(e){return Uo(e)}export{ne as wrapErrorHandler,ir as warnProp,We as warn,Bo as waitForAnimation,ur as validateVariant,Sn as validateTextInputProps,fr as validateSize,An as validateSearchInputProps,Fe as validateProps,Nn as validatePasswordInputProps,Tn as validateNumberInputProps,fn as validateFormProps,In as validateEmailInputProps,dr as validateButtonProps,Pd as validateAriaRelationships,Ip as useTheme,oi as useSEO,wi as usePrefersReducedMotion,R as useMediaQuery,hi as useLocalStorage,pi as useKeyboard,xi as useIsMobile,mi as useIsDesktop,vi as useIsDarkMode,ci as useFocusTrap,si as useDarkMode,Qo as useCopyCode,ni as useClickOutside,gi as useBreakpoint,ki as themeVariableNames,Uo as themeToCSSProperties,Tp as themePresets,Xt as textInputPropSchema,tp as tc,ep as t,$i as stxThemePreset,Nc as storage,qd as staggerAnimation,Zl as spaceWashGradient,va as spaceTintVars,tc as spaceTintPayload,ec as spaceIndexOf,le as sidebarThemes,we as setTitle,S as setMeta,ye as setLink,Zd as setI18n,Xi as setErrorHandler,Bd as sequenceAnimations,ma as resolveSpaceTint,Ul as resolveSidebarTheme,Yl as resolveIconColor,Rd as removeAnimation,mp as preloadModules,Ko as preloadModule,Ad as prefersReducedMotion,Dd as prefersHighContrast,op as pluralRules,Zt as numberInputPropSchema,rp as numberFormats,Ql as normalizeSpaces,wa as normalizeSpace,ap as n,Sd as moveFocus,F as macosColors,lp as loadLocaleMessages,lo as linear,U as lazyLoadModule,Cp as lazyLoadImages,Go as lazyLoadImage,gp as lazyLoadComponent,xp as lazyLoadAll,Fo as lazyLoad,Id as isVisibleToScreenReader,np as isRTL,Gd as highlight,kd as hasFocus,W as handleError,Np as getThemeValue,kp as getTheme,ve as getSystemTheme,Qd as getI18n,Wo as getHighlighter,ee as getFocusableElements,Q as getEffectiveTheme,Ld as getColorSchemePreference,wp as getCacheStats,Ap as generateThemeCSS,ii as generateSEOTags,pe as generateId,Rt as formPropSchema,tr as errorBoundary,$o as easeOutSine,wo as easeOutQuint,xo as easeOutQuart,po as easeOutQuad,Io as easeOutExpo,zo as easeOutElastic,ho as easeOutCubic,Ao as easeOutCirc,te as easeOutBounce,Oo as easeOutBack,Co as easeInSine,vo as easeInQuint,go as easeInQuart,co as easeInQuad,ko as easeInOutSine,yo as easeInOutQuint,mo as easeInOutQuart,uo as easeInOutQuad,No as easeInOutExpo,Po as easeInOutElastic,bo as easeInOutCubic,Do as easeInOutCirc,Ro as easeInOutBounce,Mo as easeInOutBack,So as easeInExpo,Lo as easeInElastic,fo as easeInCubic,To as easeInCirc,ue as easeInBounce,Eo as easeInBack,Qi as devAssert,Ud as detectLanguage,ce as deriveSpaceTint,oe as defaultTheme,ip as dateTimeFormats,sp as d,qo as cssAnimation,j as createTheme,Tc as createStorage,fp as createStateManager,zd as createSkipLink,Td as createScreenReaderText,pr as createSafeClickHandler,Cd as createRovingTabindex,yp as createRouteLoader,D as createPropValidator,up as createLRUCache,Vd as createKeyframes,jo as createKeyframeAnimation,pp as createKeepAlive,Xd as createI18n,yd as createFocusTrap,er as createDebugger,hp as createComponentPool,md as createAriaLabel,vd as createAriaDescription,ei as copyToClipboard,cp as componentMessages,vp as clearModuleCache,Zi as clearErrorHandler,Ue as buttonPropSchema,or as assertProp,Ve as assert,Nd as aria,Sp as applyTheme,Yd as applyHeadwindClasses,fe as applyAnimation,wd as announceToScreenReader,Hd as animateWithClass,_d as animate,ro as VirtualTable,oo as VirtualList,so as Video,Ee as TwoFactorChallenge,eo as Transition,Za as Tooltip,Ja as Textarea,Yt as TextInput,Ua as Teleport,Ka as Tabs,Va as TableRow,ja as TableHeader,qa as TableHead,Ma as TableCell,Ea as TableBody,za as Table,_a as TabPanel,re as THEMED_FAMILIES,Da as Switch,ks as SubscriptionCheckout,K as StorageManager,Ta as StepperStep,Ia as Stepper,ka as Spinner,Ca as Skeleton,ze as Signup,la as SidebarSpaces,da as SidebarSpaceSwitcher,ra as SidebarSpace,oa as SidebarSection,sa as SidebarPinned,ea as SidebarItem,Zs as SidebarHeader,Js as SidebarFooter,Us as Sidebar,Ks as Select,Gt as SearchInput,Ci as SHADE_VAR_PREFIX,_s as RadioGroupOption,Vs as RadioGroupLabel,js as RadioGroupDescription,qs as RadioGroup,Ms as Radio,l as PropTypes,Es as Progress,zs as Portal,Ds as PopoverPanel,Ts as PopoverButton,Is as Popover,Cs as PaymentMethods,Ft as PasswordInput,gs as Pagination,Wt as NumberInput,hs as Notification,us as Navigator,De as Login,ds as ListboxOptions,ls as ListboxOption,rs as ListboxLabel,os as ListboxButton,ss as Listbox,Ho as KeyframeAnimations,ui as KeyboardShortcuts,$d as KeyboardKeys,me as Installation,Bt as Image,xe as Hero,Mt as Form,ge as Footer,M as ErrorTypes,Ht as EmailInput,Od as Easing,Et as DropdownItems,zt as DropdownItem,Dt as DropdownButton,Tt as Dropdown,It as Drawer,kt as DialogTitle,Ct as DialogPanel,wt as DialogDescription,mt as DialogBackdrop,gt as Dialog,ws as DefaultPaymentMethod,N as ComponentError,ht as CommandPaletteItem,ut as CommandPalette,dt as ComboboxOptions,lt as ComboboxOption,rt as ComboboxInput,ot as ComboboxButton,st as Combobox,be as CodeBlock,ms as Checkout,et as Checkbox,Ze as Card,Je as Calendar,Ge as Button,q as Breakpoints,je as Breadcrumb,qe as Badge,Me as Avatar,Te as Audio,jd as AnimationClasses,Ie as AccordionItem,ke as Accordion};
@@ -3,24 +3,25 @@ import type { SidebarSectionData } from './rows';
3
3
  * Build a full light/dark palette from one seed color.
4
4
  *
5
5
  * The percentages are the tuning surface of the whole feature, so they are
6
- * worth stating plainly, and they are measured rather than guessed. Sampling
7
- * Dia's sidebar at @2x, clear of its tiles and rows, the panel reads:
6
+ * worth stating plainly, and they are measured rather than guessed — with one
7
+ * caveat that took several captures to learn. Dia's sidebar is a translucent
8
+ * macOS material, so a screenshot reads the composite of its tint and whatever
9
+ * sits behind the window, not the tint itself. Sample it once and you can
10
+ * measure the wallpaper.
8
11
  *
9
- * near the top #c9ddd5 — 43 from white, averaged over RGB
10
- * a third down #cee0da — 39
11
- * two thirds down #e2f1ed — 20
12
- * near the bottom #e9f4f4 — 15
12
+ * Five captures settle it. Four agree to the digit — 35.1 from white at the
13
+ * top, 12.5 at the bottom, averaged over RGB across a band of clean columns —
14
+ * and one, taken with another window behind Dia, reads 38.2/18.5 and is
15
+ * non-monotonic near the bottom, which a gradient cannot be. The four are the
16
+ * measurement; the outlier is the wallpaper showing through.
13
17
  *
14
18
  * For a mix into white the distance from white tracks the percentage almost
15
- * one-to-one, so those readings are the percentages: 44% at the top falling to
16
- * 15% at the bottom, a ratio of ~2.9 against Dia's measured 2.95.
19
+ * one-to-one, so those readings are the percentages: 35% at the top falling to
20
+ * 12.5% at the bottom, a ratio of 2.8 against Dia's measured 2.81.
17
21
  *
18
- * This is deliberately stronger than the 34%/16% it replaced, which produced a
19
- * visibly paler panel than the thing it was imitating — 34 from white at the
20
- * top where Dia is 43, and a ratio of 2.0 where Dia is 2.9, so it was both too
21
- * faint and too flat. The old note claimed anything stronger would stop the
22
- * white selection cards reading as raised; Dia disproves that at 43, and the
23
- * cards still read here (see the contrast assertion in the tests).
22
+ * A previous pass set 44%/15% from the outlier capture, which made the panel
23
+ * about a fifth stronger than the thing it imitates. The ratio was right then
24
+ * and is right now; only the magnitude moved.
24
25
  *
25
26
  * The ink is the seed pulled almost to black (22% seed) so text keeps a hint of
26
27
  * the space's hue without losing contrast. In dark appearance the relationship
@@ -40,8 +41,18 @@ export declare function deriveSpaceTint(seed: string): SidebarSpaceTint;
40
41
  /**
41
42
  * Build the panel gradient from two colour values.
42
43
  *
44
+ * Two stops and nothing else: the wash is linear. That is worth stating,
45
+ * because a previous pass shipped an eased version — a colour interpolation
46
+ * hint at 35% and a final stop at 85% — fitted to a capture of Dia whose
47
+ * bottom third was contaminated by another window behind its translucent
48
+ * panel. That capture put half strength at 37% of the way down and appeared to
49
+ * flatten near the bottom. Four uncontaminated captures agree instead that
50
+ * half strength falls at 50.2% and the fade runs all the way to the last
51
+ * pixel: mean deviation from a straight line is 0.018, and the one outlier's
52
+ * was 0.140.
53
+ *
43
54
  * Exported so anything painting the same surface — a window behind a floating
44
- * card, say — draws the identical curve rather than approximating it with a
55
+ * card, say — draws the identical wash rather than approximating it with a
45
56
  * second set of stops that drifts the first time either is tuned.
46
57
  */
47
58
  export declare function spaceWashGradient(from: string, to: string): string;
@@ -79,30 +90,6 @@ export declare function spaceIndexOf(spaces: NormalizedSidebarSpace[], id?: stri
79
90
  * DOM, so re-serializing them would just bloat the attribute.
80
91
  */
81
92
  export declare function spaceTintPayload(spaces: NormalizedSidebarSpace[]): SidebarSpaceTint[];
82
- /**
83
- * The shape of the wash down the panel, as opposed to its strength.
84
- *
85
- * A plain two-stop gradient fades linearly, and Dia's does not. Sampling its
86
- * panel down a clean column (no rows, no tiles) and normalising the result to
87
- * 1 at the top and 0 at the bottom, the wash reaches half strength at 35% of
88
- * the way down — not 50% — and has flattened onto its final value by 85%,
89
- * holding it through the last sixth.
90
- *
91
- * Both facts are expressible as ordinary gradient syntax. `hint` is a CSS
92
- * colour interpolation hint, whose whole purpose is to say where the midpoint
93
- * of a transition falls; `end` is simply where the final stop sits, after
94
- * which the colour is constant.
95
- *
96
- * Fitted against 19 sampled points, this halves the mid-panel error nearly
97
- * seven times over: RMS 0.020 in normalised units against a straight line's
98
- * 0.137, worst case 0.046 — about one 8-bit step on the span being measured.
99
- */
100
- export declare const spaceWash: {
101
- /** Where the wash reaches half strength, in percent down the panel. */
102
- hint: 35;
103
- /** Where it flattens onto its final value, in percent. */
104
- end: 85
105
- };
106
93
  /** The four surfaces a space paints, in one appearance. */
107
94
  export declare interface SidebarSpaceTintColors {
108
95
  from: string
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/components",
3
3
  "type": "module",
4
- "version": "0.2.212",
4
+ "version": "0.2.213",
5
5
  "description": "A modern component library built with STX, featuring headwind utility classes and TypeScript syntax highlighting.",
6
6
  "author": "Chris Breuer <chris@stacksjs.org>",
7
7
  "license": "MIT",
@@ -64,8 +64,8 @@
64
64
  "dependencies": {
65
65
  "@iconify-json/f7": "^1.2.2",
66
66
  "@cwcss/crosswind": "^0.2.14",
67
- "@stacksjs/stx": "0.2.212",
68
- "bun-plugin-stx": "0.2.212",
67
+ "@stacksjs/stx": "0.2.213",
68
+ "bun-plugin-stx": "0.2.213",
69
69
  "ts-syntax-highlighter": "^0.2.1"
70
70
  },
71
71
  "devDependencies": {
@@ -638,14 +638,14 @@ defineExpose({ collapsed, toggle: toggleCollapse, syncRouteSelection })
638
638
  lightest at the very top, darkest around a third of the way down, then
639
639
  lightening again — a bulge rather than a fade.
640
640
 
641
- The stops are not evenly spaced, and that is the point. A two-stop
642
- gradient fades linearly; Dia's panel reaches half strength 35% of the way
643
- down and has flattened onto its final value by 85%. `35%` is a colour
644
- interpolation hint, which exists to say where a transition's midpoint
645
- falls, and the last stop sits at 85% so the bottom sixth holds steady.
646
- See `spaceWash` in `spaces.ts` for the measurement these come from — and
647
- keep the two in step, which `sidebar-space-tint.test.ts` enforces. */
648
- background: linear-gradient(180deg, var(--stx-space-from) 0%, 35%, var(--stx-space-to) 85%);
641
+ Two stops, evenly interpolated. An eased version shipped briefly — a
642
+ colour hint at 35% with the final stop at 85% — fitted to a capture of Dia
643
+ whose bottom third was contaminated by another window behind its
644
+ translucent panel. Four clean captures agree the wash is linear: half
645
+ strength at 50.2% of the way down, mean deviation from a straight line
646
+ 0.018. See `spaceWashGradient` in `spaces.ts`, which this must match and
647
+ which `sidebar-space-tint.test.ts` enforces. */
648
+ background: linear-gradient(180deg, var(--stx-space-from) 0%, var(--stx-space-to) 100%);
649
649
  color: var(--stx-space-ink);
650
650
  /* Width is listed here because this rule outranks the pane's
651
651
  `transition-[width]` utility class and would otherwise drop it. */
@@ -670,7 +670,7 @@ defineExpose({ collapsed, toggle: toggleCollapse, syncRouteSelection })
670
670
  before the light palette was flipped to agree with it. The two
671
671
  appearances share the wash shape for the same reason they share its
672
672
  strength — a space that fades differently by appearance is two designs. */
673
- background: linear-gradient(180deg, var(--stx-space-from) 0%, 35%, var(--stx-space-to) 85%);
673
+ background: linear-gradient(180deg, var(--stx-space-from) 0%, var(--stx-space-to) 100%);
674
674
  }
675
675
  }
676
676
 
@@ -610,9 +610,9 @@ defineExpose({
610
610
  --stx-space-ink: var(--stx-space-light-ink, #2c2a28);
611
611
  --stx-space-accent: var(--stx-space-light-accent, #5b5b63);
612
612
  /* Kept identical to Sidebar.stx's rule, character for character — see
613
- `spaceWash` in spaces.ts for what the stops mean, and the drift test that
614
- compares every copy of this declaration against the exported helper. */
615
- background: linear-gradient(180deg, var(--stx-space-from) 0%, 35%, var(--stx-space-to) 85%);
613
+ `spaceWashGradient` in spaces.ts, and the drift test that compares every
614
+ copy of this declaration against the exported helper. */
615
+ background: linear-gradient(180deg, var(--stx-space-from) 0%, var(--stx-space-to) 100%);
616
616
  color: var(--stx-space-ink);
617
617
  /* One duration and one curve for everything a space change moves.
618
618
  This used to be four timings and three easings across the track, the
@@ -635,7 +635,7 @@ defineExpose({
635
635
  --stx-space-to: var(--stx-space-dark-to, #0e0e11);
636
636
  --stx-space-ink: var(--stx-space-dark-ink, #ededf0);
637
637
  --stx-space-accent: var(--stx-space-dark-accent, #b9b9c2);
638
- background: linear-gradient(180deg, var(--stx-space-from) 0%, 35%, var(--stx-space-to) 85%);
638
+ background: linear-gradient(180deg, var(--stx-space-from) 0%, var(--stx-space-to) 100%);
639
639
  }
640
640
  }
641
641
 
@@ -173,24 +173,25 @@ function mix(color: string, percent: number, into: string): string {
173
173
  * Build a full light/dark palette from one seed color.
174
174
  *
175
175
  * The percentages are the tuning surface of the whole feature, so they are
176
- * worth stating plainly, and they are measured rather than guessed. Sampling
177
- * Dia's sidebar at @2x, clear of its tiles and rows, the panel reads:
176
+ * worth stating plainly, and they are measured rather than guessed — with one
177
+ * caveat that took several captures to learn. Dia's sidebar is a translucent
178
+ * macOS material, so a screenshot reads the composite of its tint and whatever
179
+ * sits behind the window, not the tint itself. Sample it once and you can
180
+ * measure the wallpaper.
178
181
  *
179
- * near the top #c9ddd5 — 43 from white, averaged over RGB
180
- * a third down #cee0da — 39
181
- * two thirds down #e2f1ed — 20
182
- * near the bottom #e9f4f4 — 15
182
+ * Five captures settle it. Four agree to the digit — 35.1 from white at the
183
+ * top, 12.5 at the bottom, averaged over RGB across a band of clean columns —
184
+ * and one, taken with another window behind Dia, reads 38.2/18.5 and is
185
+ * non-monotonic near the bottom, which a gradient cannot be. The four are the
186
+ * measurement; the outlier is the wallpaper showing through.
183
187
  *
184
188
  * For a mix into white the distance from white tracks the percentage almost
185
- * one-to-one, so those readings are the percentages: 44% at the top falling to
186
- * 15% at the bottom, a ratio of ~2.9 against Dia's measured 2.95.
189
+ * one-to-one, so those readings are the percentages: 35% at the top falling to
190
+ * 12.5% at the bottom, a ratio of 2.8 against Dia's measured 2.81.
187
191
  *
188
- * This is deliberately stronger than the 34%/16% it replaced, which produced a
189
- * visibly paler panel than the thing it was imitating — 34 from white at the
190
- * top where Dia is 43, and a ratio of 2.0 where Dia is 2.9, so it was both too
191
- * faint and too flat. The old note claimed anything stronger would stop the
192
- * white selection cards reading as raised; Dia disproves that at 43, and the
193
- * cards still read here (see the contrast assertion in the tests).
192
+ * A previous pass set 44%/15% from the outlier capture, which made the panel
193
+ * about a fifth stronger than the thing it imitates. The ratio was right then
194
+ * and is right now; only the magnitude moved.
194
195
  *
195
196
  * The ink is the seed pulled almost to black (22% seed) so text keeps a hint of
196
197
  * the space's hue without losing contrast. In dark appearance the relationship
@@ -209,54 +210,39 @@ function mix(color: string, percent: number, into: string): string {
209
210
  export function deriveSpaceTint(seed: string): SidebarSpaceTint {
210
211
  return {
211
212
  light: {
212
- from: mix(seed, 44, '#ffffff'),
213
- to: mix(seed, 15, '#ffffff'),
213
+ from: mix(seed, 35, '#ffffff'),
214
+ to: mix(seed, 12.5, '#ffffff'),
214
215
  ink: mix(seed, 22, '#17171b'),
215
216
  accent: mix(seed, 88, '#2a2a30'),
216
217
  },
217
218
  dark: {
218
- from: mix(seed, 34, '#101014'),
219
- to: mix(seed, 12, '#08080b'),
219
+ from: mix(seed, 27, '#101014'),
220
+ to: mix(seed, 10, '#08080b'),
220
221
  ink: mix(seed, 12, '#f4f4f7'),
221
222
  accent: mix(seed, 74, '#ffffff'),
222
223
  },
223
224
  }
224
225
  }
225
226
 
226
- /**
227
- * The shape of the wash down the panel, as opposed to its strength.
228
- *
229
- * A plain two-stop gradient fades linearly, and Dia's does not. Sampling its
230
- * panel down a clean column (no rows, no tiles) and normalising the result to
231
- * 1 at the top and 0 at the bottom, the wash reaches half strength at 35% of
232
- * the way down — not 50% — and has flattened onto its final value by 85%,
233
- * holding it through the last sixth.
234
- *
235
- * Both facts are expressible as ordinary gradient syntax. `hint` is a CSS
236
- * colour interpolation hint, whose whole purpose is to say where the midpoint
237
- * of a transition falls; `end` is simply where the final stop sits, after
238
- * which the colour is constant.
239
- *
240
- * Fitted against 19 sampled points, this halves the mid-panel error nearly
241
- * seven times over: RMS 0.020 in normalised units against a straight line's
242
- * 0.137, worst case 0.046 — about one 8-bit step on the span being measured.
243
- */
244
- export const spaceWash = {
245
- /** Where the wash reaches half strength, in percent down the panel. */
246
- hint: 35,
247
- /** Where it flattens onto its final value, in percent. */
248
- end: 85,
249
- } as const
250
-
251
227
  /**
252
228
  * Build the panel gradient from two colour values.
253
229
  *
230
+ * Two stops and nothing else: the wash is linear. That is worth stating,
231
+ * because a previous pass shipped an eased version — a colour interpolation
232
+ * hint at 35% and a final stop at 85% — fitted to a capture of Dia whose
233
+ * bottom third was contaminated by another window behind its translucent
234
+ * panel. That capture put half strength at 37% of the way down and appeared to
235
+ * flatten near the bottom. Four uncontaminated captures agree instead that
236
+ * half strength falls at 50.2% and the fade runs all the way to the last
237
+ * pixel: mean deviation from a straight line is 0.018, and the one outlier's
238
+ * was 0.140.
239
+ *
254
240
  * Exported so anything painting the same surface — a window behind a floating
255
- * card, say — draws the identical curve rather than approximating it with a
241
+ * card, say — draws the identical wash rather than approximating it with a
256
242
  * second set of stops that drifts the first time either is tuned.
257
243
  */
258
244
  export function spaceWashGradient(from: string, to: string): string {
259
- return `linear-gradient(180deg, ${from} 0%, ${spaceWash.hint}%, ${to} ${spaceWash.end}%)`
245
+ return `linear-gradient(180deg, ${from} 0%, ${to} 100%)`
260
246
  }
261
247
 
262
248
  /**