@stacksjs/components 0.2.208 → 0.2.210
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{SidebarPinned-rq05nrtd.stx → SidebarPinned-48kyk193.stx} +18 -6
- package/dist/{SidebarSection-zd9z35ch.stx → SidebarSection-sqz49ary.stx} +18 -2
- package/dist/index.js +12 -12
- package/package.json +3 -3
- package/src/ui/sidebar/SidebarPinned.stx +18 -6
- package/src/ui/sidebar/SidebarSection.stx +18 -2
- package/src/ui/sidebar/themes.ts +7 -1
|
@@ -19,13 +19,25 @@ export const items = ($props.items || []).map(item => ({
|
|
|
19
19
|
|
|
20
20
|
export const columns = $props.columns || 4
|
|
21
21
|
|
|
22
|
-
//
|
|
23
|
-
//
|
|
22
|
+
// A tile separates itself from the panel by moving AWAY from it, which is not
|
|
23
|
+
// the same as being lighter.
|
|
24
|
+
//
|
|
25
|
+
// Measured against Dia at 2x: on a pale panel its tiles sit about 9 units
|
|
26
|
+
// DARKER than the surface behind them, and on a dark panel about 23 units
|
|
27
|
+
// lighter. A white overlay does the right thing in dark appearance and the
|
|
28
|
+
// wrong one in light, where it lifted the tile off a surface it is meant to be
|
|
29
|
+
// recessed into. Each appearance now overlays the colour that increases the
|
|
30
|
+
// separation, plus a hairline, which is what gives the well its edge.
|
|
31
|
+
//
|
|
32
|
+
// Height is 41px rather than 46: Dia's tiles measure 50pt wide by 41pt tall,
|
|
33
|
+
// so they are slightly landscape, and 46 made them read as too square against
|
|
34
|
+
// the row rhythm underneath.
|
|
24
35
|
export const tileClasses = [
|
|
25
|
-
'grid h-[
|
|
26
|
-
'bg-
|
|
36
|
+
'grid h-[41px] place-items-center rounded-[10px]',
|
|
37
|
+
'bg-black/[0.035] dark:bg-white/[0.09]',
|
|
38
|
+
'ring-1 ring-black/[0.05] dark:ring-white/[0.06]',
|
|
27
39
|
'transition-[background-color,transform] duration-150 ease-out',
|
|
28
|
-
'hover:bg-
|
|
40
|
+
'hover:bg-black/[0.07] dark:hover:bg-white/[0.15]',
|
|
29
41
|
'active:scale-[0.96]',
|
|
30
42
|
].join(' ')
|
|
31
43
|
</script>
|
|
@@ -43,7 +55,7 @@ function onPinnedClick(event) {
|
|
|
43
55
|
@if(items.length > 0)
|
|
44
56
|
<div
|
|
45
57
|
data-space-pinned
|
|
46
|
-
class="grid gap-[6px]
|
|
58
|
+
class="grid gap-[6px] pb-[10px] pt-[2px]"
|
|
47
59
|
style="grid-template-columns: repeat({{ columns }}, minmax(0, 1fr))"
|
|
48
60
|
role="list"
|
|
49
61
|
aria-label="Pinned"
|
|
@@ -13,6 +13,22 @@ export const headerClasses = themeStyle.sectionHeader + (collapsible ? ' cursor-
|
|
|
13
13
|
export const chevronClasses = themeStyle.sectionChevron
|
|
14
14
|
export const groupClasses = themeStyle.sectionGroup
|
|
15
15
|
|
|
16
|
+
// Precomputed rather than written as `{{ collapsed ? 'false' : 'true' }}` in
|
|
17
|
+
// the attribute itself.
|
|
18
|
+
//
|
|
19
|
+
// That inline form is served VERBATIM when this component is rendered inside a
|
|
20
|
+
// `<Sidebar>` — the marker reaches the browser unexpanded, so `data-expanded`
|
|
21
|
+
// carries a template string the controller cannot read and `aria-expanded`
|
|
22
|
+
// carries a value that is not `true` or `false`, which is an invalid ARIA
|
|
23
|
+
// state rather than a cosmetic problem. Rendering `<SidebarSection>` directly
|
|
24
|
+
// expands it correctly, and `{{ id }}` on the very same element expands in
|
|
25
|
+
// both cases, so the fault is in how a nested component's attributes are
|
|
26
|
+
// re-parsed, not in the expression.
|
|
27
|
+
//
|
|
28
|
+
// A bare identifier survives that path intact, and the component already
|
|
29
|
+
// precomputes everything else it interpolates.
|
|
30
|
+
export const expandedAttr = collapsed ? 'false' : 'true'
|
|
31
|
+
|
|
16
32
|
// Components can't render themselves recursively, so the item tree is
|
|
17
33
|
// flattened into ready-to-render rows here. Each row remembers its depth
|
|
18
34
|
// and ancestor ids — the Sidebar controller uses those to collapse whole
|
|
@@ -45,11 +61,11 @@ export const rows = flatten(items)
|
|
|
45
61
|
<section
|
|
46
62
|
data-sidebar-section
|
|
47
63
|
data-section-id="{{ id }}"
|
|
48
|
-
data-expanded="{{
|
|
64
|
+
data-expanded="{{ expandedAttr }}"
|
|
49
65
|
>
|
|
50
66
|
@if(label)
|
|
51
67
|
@if(collapsible)
|
|
52
|
-
<button type="button" data-sidebar-section-header class="{{ headerClasses }}" aria-expanded="{{
|
|
68
|
+
<button type="button" data-sidebar-section-header class="{{ headerClasses }}" aria-expanded="{{ expandedAttr }}">
|
|
53
69
|
<span class="truncate">{{ label }}</span>
|
|
54
70
|
<span data-sidebar-section-chevron class="{{ chevronClasses }}" aria-hidden="true"></span>
|
|
55
71
|
</button>
|
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:
|
|
3
|
-
`)}function I(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function li(e,t,s={}){let{enabled:
|
|
4
|
-
Prop: "${s.prop}"`;if(s.received!==void 0)
|
|
5
|
-
Received: ${JSON.stringify(s.received)}`;if(s.expected!==void 0){let
|
|
6
|
-
Expected: ${
|
|
7
|
-
Details: ${s.details}`;if(s.docsUrl)
|
|
8
|
-
Documentation: ${s.docsUrl}`;else if(e)
|
|
9
|
-
Documentation: ${Ve}/${e.toLowerCase()}`;return
|
|
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,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}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+=`
|
|
4
|
+
Prop: "${s.prop}"`;if(s.received!==void 0)a+=`
|
|
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
|
+
Expected: ${o}`}if(s.details)a+=`
|
|
7
|
+
Details: ${s.details}`;if(s.docsUrl)a+=`
|
|
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}\`:
|
|
10
10
|
${r.join(`
|
|
11
|
-
`)}`)}return{valid:r.length===0,errors:r}}function D(e,t,s){return(o)=>Ke(e,o,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 ot="./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 Kt="./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 os="./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 Fs="./RadioGroupOption-7pq7rw84.stx";var Gs="./Select-zt72gg1e.stx";var Ys="./Sidebar-ncrv4214.stx";var Xs="./SidebarFooter-s7skj92y.stx";var Qs="./SidebarHeader-vvxsehyn.stx";var to="./SidebarItem-5v8atp7p.stx";var oo="./SidebarPinned-rq05nrtd.stx";var io="./SidebarSection-zd9z35ch.stx";var no="./SidebarSpace-nmbvgrky.stx";var co="./SidebarSpaces-356h7qsc.stx";var uo="./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}},fo={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}},ho={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}},bo={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-[8px] 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}},go={...O,pane:"bg-stone-100 dark:bg-neutral-900 text-black dark:text-white select-none",layers:{}},xo={...O,pane:"bg-transparent text-black dark:text-white select-none",layers:{}},mo={...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:bo,workspace:fo,desktop:ho,solid:go,transparent:xo,vibrancy:mo};function Yl(e){return le[e||"macos"]||le.macos}function Jl(e){if(!e)return;return F[e]||e}var vo=F.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 wo(e){if(!e)return ce(vo);if(typeof e!=="string")return e;return ce(F[e]||e)}function yo(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,o){if(!e||!e.label)return null;return{id:e.id||`${t}-${s}`,label:e.label,icon:e.icon||o}}function Co(e){let t=wo(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:yo(t),deferred:e.deferred===!0,showTitle:e.showTitle??!0}}function ec(e){return(e||[]).map(Co)}function tc(e,t){if(!t)return 0;let s=e.findIndex((o)=>o.id===t);return s===-1?0:s}function sc(e){return e.map((t)=>t.tint)}var ko="./Skeleton-wtwb97xd.stx";var Io="./Spinner-ypya5tt2.stx";var To="./Stepper-rgbk76hd.stx";var Do="./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 o=e.oldValue?JSON.parse(e.oldValue).value:null,a=e.newValue?JSON.parse(e.newValue).value:null;s.forEach((i)=>i(a,o,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 o=0;o<t.length;o++)s+=String.fromCharCode(t.charCodeAt(o)^this.encryptionKey.charCodeAt(o%this.encryptionKey.length));return s}catch{return e}}compress(e){if(e.length<100)return e;let t={},s=256,o=[],a="";for(let i=0;i<e.length;i++){let r=e.charAt(i),n=a+r;if(t[n]!==void 0)a=n;else o.push(a.length>1?t[a]:a.charCodeAt(0)),t[n]=s++,a=r}if(a!=="")o.push(a.length>1?t[a]:a.charCodeAt(0));return JSON.stringify(o)}decompress(e){try{let t=JSON.parse(e);if(!Array.isArray(t))return e;let s={},o=256,a=String.fromCharCode(t[0]),i=a;for(let r=1;r<t.length;r++){let n=t[r],c;if(s[n]!==void 0)c=s[n];else if(n===o)c=a+a.charAt(0);else return e;i+=c,s[o++]=a+c.charAt(0),a=c}return i}catch{return e}}getKey(e){return this.namespace?`${this.namespace}:${e}`:e}set(e,t,s){let o=this.getKey(e),a=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(o,r),this.notifyWatchers(e,t,a)}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 o=JSON.parse(s);if(o.expire&&Date.now()-o.timestamp>o.expire)return this.remove(e),null;return o.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 o=this.watchers.get(e);if(o)o.forEach((a)=>a(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 o=this.storage.key(s);if(o){let a=this.storage.getItem(o)||"";e+=o.length+a.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,o])=>{this.set(s,o,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 K("local"),session:new K("session")};function Ac(e="local",t){return new K(e,t)}var zo="./Switch-hdta55a8.stx";var Eo="./Table-0mc3fdek.stx";var Mo="./TableBody-drxyz5jh.stx";var qo="./TableCell-8swtcq8s.stx";var jo="./TableHead-e9xvjx2j.stx";var Vo="./TableHeader-sxc77b4d.stx";var _o="./TableRow-xd542nvb.stx";var Ko="./TabPanel-5htevsq6.stx";var Uo="./Tabs-b4xsba1w.stx";var Jo="./Teleport-tsx4bt4n.stx";var Zo="./Textarea-xcdym703.stx";var ea="./Tooltip-y61h04gp.stx";var sa="./Transition-7smenaz8.stx";var aa="./Video-a0aeyexv.stx";var ra="./VirtualList-fa7v5a3h.stx";var la="./VirtualTable-jvm1784g.stx";var ca=0;function ue(e="a11y"){return`${e}-${++ca}-${Date.now()}`}function vd(e,t,s={}){let{visible:o=!1,id:a=ue("label")}=s,i=document.createElement(o?"label":"span");if(i.id=a,i.textContent=e,!o)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",a),t.parentElement)t.parentElement.insertBefore(i,t);else document.body.appendChild(i);return a}function wd(e,t){let s=ue("desc"),o=document.createElement("span");if(o.id=s,o.textContent=e,Object.assign(o.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(o,t);else document.body.appendChild(o);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:o,escapeDeactivates:a=!0,clickOutsideDeactivates:i=!0,allowOutsideClick:r=!1,onActivate:n,onDeactivate:c}=t,d=!1,f=!1,p=null,g=(m)=>{if(f)return;if(a&&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=o||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:o=0,orientation:a="both",loop:i=!0,onFocusChange:r}=t,n=o,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(a==="horizontal"||a==="both"){if(v=n+1,v>h)v=i?0:h;w=!0}break;case"ArrowLeft":if(a==="horizontal"||a==="both"){if(v=n-1,v<0)v=i?h:0;w=!0}break;case"ArrowDown":if(a==="vertical"||a==="both"){if(v=n+1,v>h)v=i?0:h;w=!0}break;case"ArrowUp":if(a==="vertical"||a==="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(o),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,o=ee(document.body),a=o.indexOf(s);if(a===-1)return;let i=e==="next"?a+1:a-1,r=o[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=(o)=>{let a=e.getAttribute(o);if(a){let i=a.split(" ");for(let r of i)if(!document.getElementById(r))t.push(`${o} references non-existent ID: ${r}`)}};return s("aria-labelledby"),s("aria-describedby"),s("aria-controls"),s("aria-owns"),s("aria-activedescendant"),t}var da=(e,t,s,o)=>{return s*e/o+t},pa=(e,t,s,o)=>{return e/=o,s*e*e+t},ua=(e,t,s,o)=>{return e/=o,-s*e*(e-2)+t},fa=(e,t,s,o)=>{if(e/=o/2,e<1)return s/2*e*e+t;return e--,-s/2*(e*(e-2)-1)+t},ha=(e,t,s,o)=>{return e/=o,s*e*e*e+t},ba=(e,t,s,o)=>{return e/=o,e--,s*(e*e*e+1)+t},ga=(e,t,s,o)=>{if(e/=o/2,e<1)return s/2*e*e*e+t;return e-=2,s/2*(e*e*e+2)+t},xa=(e,t,s,o)=>{return e/=o,s*e*e*e*e+t},ma=(e,t,s,o)=>{return e/=o,e--,-s*(e*e*e*e-1)+t},va=(e,t,s,o)=>{if(e/=o/2,e<1)return s/2*e*e*e*e+t;return e-=2,-s/2*(e*e*e*e-2)+t},wa=(e,t,s,o)=>{return e/=o,s*e*e*e*e*e+t},ya=(e,t,s,o)=>{return e/=o,e--,s*(e*e*e*e*e+1)+t},Ca=(e,t,s,o)=>{if(e/=o/2,e<1)return s/2*e*e*e*e*e+t;return e-=2,s/2*(e*e*e*e*e+2)+t},$a=(e,t,s,o)=>{return-s*Math.cos(e/o*(Math.PI/2))+s+t},ka=(e,t,s,o)=>{return s*Math.sin(e/o*(Math.PI/2))+t},Sa=(e,t,s,o)=>{return-s/2*(Math.cos(Math.PI*e/o)-1)+t},Ia=(e,t,s,o)=>{return e===0?t:s*2**(10*(e/o-1))+t},Na=(e,t,s,o)=>{return e===o?t+s:s*(-(2**(-10*e/o))+1)+t},Ta=(e,t,s,o)=>{if(e===0)return t;if(e===o)return t+s;if(e/=o/2,e<1)return s/2*2**(10*(e-1))+t;return e--,s/2*(-(2**(-10*e))+2)+t},Aa=(e,t,s,o)=>{return e/=o,-s*(Math.sqrt(1-e*e)-1)+t},Da=(e,t,s,o)=>{return e/=o,e--,s*Math.sqrt(1-e*e)+t},La=(e,t,s,o)=>{if(e/=o/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},za=(e,t,s,o)=>{let a=1.70158,i=0,r=s;if(e===0)return t;if(e/=o,e===1)return t+s;if(!i)i=o*0.3;if(r<Math.abs(s))r=s,a=i/4;else a=i/(2*Math.PI)*Math.asin(s/r);return e-=1,-(r*2**(10*e)*Math.sin((e*o-a)*(2*Math.PI)/i))+t},Pa=(e,t,s,o)=>{let a=1.70158,i=0,r=s;if(e===0)return t;if(e/=o,e===1)return t+s;if(!i)i=o*0.3;if(r<Math.abs(s))r=s,a=i/4;else a=i/(2*Math.PI)*Math.asin(s/r);return r*2**(-10*e)*Math.sin((e*o-a)*(2*Math.PI)/i)+s+t},Ea=(e,t,s,o)=>{let a=1.70158,i=0,r=s;if(e===0)return t;if(e/=o/2,e===2)return t+s;if(!i)i=o*0.44999999999999996;if(r<Math.abs(s))r=s,a=i/4;else a=i/(2*Math.PI)*Math.asin(s/r);if(e<1)return e-=1,-0.5*(r*2**(10*e)*Math.sin((e*o-a)*(2*Math.PI)/i))+t;return e-=1,r*2**(-10*e)*Math.sin((e*o-a)*(2*Math.PI)/i)*0.5+s+t},Oa=(e,t,s,o)=>{return e/=o,s*e*e*(2.70158*e-1.70158)+t},Ma=(e,t,s,o)=>{return e/=o,e--,s*(e*e*(2.70158*e+1.70158)+1)+t},Ra=(e,t,s,o)=>{let a=1.70158;if(e/=o/2,e<1)return a*=1.525,s/2*(e*e*((a+1)*e-a))+t;return e-=2,a*=1.525,s/2*(e*e*((a+1)*e+a)+2)+t},te=(e,t,s,o)=>{if(e/=o,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,o)=>{return s-te(o-e,0,s,o)+t},qa=(e,t,s,o)=>{if(e<o/2)return fe(e*2,0,s,o)*0.5+t;return te(e*2-o,0,s,o)*0.5+s*0.5+t},Md={linear:da,easeInQuad:pa,easeOutQuad:ua,easeInOutQuad:fa,easeInCubic:ha,easeOutCubic:ba,easeInOutCubic:ga,easeInQuart:xa,easeOutQuart:ma,easeInOutQuart:va,easeInQuint:wa,easeOutQuint:ya,easeInOutQuint:Ca,easeInSine:$a,easeOutSine:ka,easeInOutSine:Sa,easeInExpo:Ia,easeOutExpo:Na,easeInOutExpo:Ta,easeInCirc:Aa,easeOutCirc:Da,easeInOutCirc:La,easeInElastic:za,easeOutElastic:Pa,easeInOutElastic:Ea,easeInBack:Oa,easeOutBack:Ma,easeInOutBack:Ra,easeInBounce:fe,easeOutBounce:te,easeInOutBounce:qa};function Ba(e,t={}){let{duration:s="1s",timing:o="ease",delay:a="0s",iteration:i="1",direction:r="normal",fill:n="both",playState:c="running"}=t;return`${e} ${s} ${o} ${a} ${i} ${r} ${n} ${c}`}function he(e,t,s={}){e.style.animation=Ba(t,s)}function qd(e){e.style.animation=""}function ja(e){return new Promise((t)=>{let s=()=>{e.removeEventListener("animationend",s),t()};e.addEventListener("animationend",s)})}function Bd(e,t,s={}){let{stagger:o=100,...a}=s;e.forEach((i,r)=>{let n=`${r*o}ms`;he(i,t,{...a,delay:n})})}async function jd(e,t){for(let s of t)he(e,s.name,s.options),await ja(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((o)=>{e.classList.add(t),setTimeout(()=>{e.classList.remove(t),o()},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 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=`
|
|
12
12
|
@keyframes ${e} {
|
|
13
|
-
${Object.entries(t).map(([
|
|
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
|
-
`,o=document.createElement("style");o.textContent=s,document.head.appendChild(o)}function Ha(e,t,s={}){if(typeof e.animate!=="function")return console.warn("Web Animations API not supported"),null;let{duration:o=1000,easing:a="ease",delay:i=0,iterations:r=1,direction:n="normal",fill:c="both"}=s;return e.animate([...t],{duration:o,easing:a,delay:i,iterations:r,direction:n,fill:c})}var Va={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 Fd(e,t,s={}){return Ha(e,Va[t],s)}import{createHighlighter as Wa}from"ts-syntax-highlighter";var se=null;async function _a(){if(!se)se=await Wa({theme:"github-light"});return se}async function Ud(e,t={}){let{theme:s="auto",language:o="typescript",lineNumbers:a=!1,wrapLines:i=!0}=t,r=await _a(),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,o);return{html:typeof c==="string"?c:String(c),language:o,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,Fa=(e)=>{return e===1?0:1};function G(e,t){return t.split(".").reduce((s,o)=>s?.[o],e)}function oe(e,t={}){return e.replace(/\{(\w+)\}/g,(s,o)=>{return t[o]!==void 0?String(t[o]):s})}function Zd(e){let{locale:t,fallbackLocale:s="en",messages:o,pluralRules:a={},dateTimeFormats:i={},numberFormats:r={},missing:n,warnMissing:c=!0}=e;function d(x,m={}){let C=G(o[t],x);if(C===void 0&&s)C=G(o[s],x);if(C===void 0){if(n){let T=n(t,x);if(T)return oe(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 oe(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=(a[t]||Fa)(m,t),X=z[J]||z[z.length-1];return oe(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(o[t],x)!==void 0)return!0;if(s)return G(o[s],x)!==void 0;return!1}function w(x){if(!o[x]){console.warn(`[i18n] Locale "${x}" not found. Available locales: ${Object.keys(o).join(", ")}`);return}t=x}function v(x,m){if(!o[x])o[x]={};o[x]={...o[x],...m}}function k(x){delete o[x]}return{get locale(){return t},get availableLocales(){return Object.keys(o)},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 op(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 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:o,exclude:a,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(a){if(a instanceof RegExp&&a.test(u))return!1;if(Array.isArray(a)&&a.includes(u))return!1}if(o){if(o instanceof RegExp&&!o.test(u))return!1;if(Array.isArray(o)&&!o.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,o){if(t.has(s))t.delete(s);if(t.set(s,o),t.size>e){let a=t.keys().next().value;if(a)t.delete(a)}},get(s){if(!t.has(s))return;let o=t.get(s);return t.delete(s),t.set(s,o),o},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:o}=t,a=[];return{acquire(){if(a.length>0)return a.pop();return e()},release(i){if(a.length<s){if(o)o(i);a.push(i)}},clear(){a.length=0},get size(){return a.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 o=e();E.set(s,o);try{return await o}catch(a){throw E.delete(s),a}}function xp(e,t={}){let{retryAttempts:s=3,retryDelay:o=1000,onLoading:a,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",a?.();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,o*(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 Ka(e,t,s={}){if(!e)return console.warn("lazyLoad: element is null"),()=>{};let{root:o=null,rootMargin:a="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:o,rootMargin:a,threshold:i}),g.observe(e),()=>{g?.disconnect(),g=null}}function mp(e,t,s={}){let o=[],a=Array.from(e);for(let i of a){let r=typeof t==="function"&&t.length>0?()=>t(i):t,n=Ka(i,r,s);o.push(n)}return()=>{o.forEach((i)=>i())}}function Ga(e){return U(e)}function vp(e){return Promise.all(e.map((t)=>Ga(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 Ua(e,t,s={}){if(!e)return()=>{};let{root:o=null,rootMargin:a="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:o,rootMargin:a,threshold:i}),p.observe(e),()=>{p?.disconnect(),p=null}}function $p(e=document,t={}){let s=e.querySelectorAll("img[data-lazy-src]"),o=[];return s.forEach((a)=>{let i=a.getAttribute("data-lazy-src");if(i){let r=Ua(a,i,t);o.push(r)}}),()=>{o.forEach((a)=>a())}}var ae={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 o in t)if(t[o]instanceof Object&&o in e)s[o]=be(e[o],t[o]);else s[o]=t[o];return s}function j(e){return be(ae,e)}var Y=ae;function Sp(){return Y}function Ya(e){let t=[];if(e.colors)Object.entries(e.colors).forEach(([s,o])=>{if(o)t.push(`--color-${s}: ${o};`)});if(e.typography?.fontFamily)Object.entries(e.typography.fontFamily).forEach(([s,o])=>{if(o)t.push(`--font-${s}: ${o};`)});if(e.typography?.fontSize)Object.entries(e.typography.fontSize).forEach(([s,o])=>{if(o)t.push(`--text-${s}: ${o};`)});if(e.typography?.fontWeight)Object.entries(e.typography.fontWeight).forEach(([s,o])=>{if(o)t.push(`--font-weight-${s}: ${o};`)});if(e.typography?.lineHeight)Object.entries(e.typography.lineHeight).forEach(([s,o])=>{if(o)t.push(`--leading-${s}: ${o};`)});if(e.spacing)Object.entries(e.spacing).forEach(([s,o])=>{if(o)t.push(`--spacing-${s}: ${o};`)});if(e.borderRadius)Object.entries(e.borderRadius).forEach(([s,o])=>{if(o)t.push(`--radius-${s}: ${o};`)});if(e.shadows)Object.entries(e.shadows).forEach(([s,o])=>{if(o)t.push(`--shadow-${s}: ${o};`)});if(e.components?.button)Object.entries(e.components.button).forEach(([s,o])=>{if(o)t.push(`--button-${s.replace(/([A-Z])/g,"-$1").toLowerCase()}: ${o};`)});if(e.components?.input)Object.entries(e.components.input).forEach(([s,o])=>{if(o)t.push(`--input-${s.replace(/([A-Z])/g,"-$1").toLowerCase()}: ${o};`)});if(e.components?.card)Object.entries(e.components.card).forEach(([s,o])=>{if(o)t.push(`--card-${s.replace(/([A-Z])/g,"-$1").toLowerCase()}: ${o};`)});return`:root {
|
|
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 {
|
|
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(([o
|
|
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};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stacksjs/components",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.2.
|
|
4
|
+
"version": "0.2.210",
|
|
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.
|
|
68
|
-
"bun-plugin-stx": "0.2.
|
|
67
|
+
"@stacksjs/stx": "0.2.210",
|
|
68
|
+
"bun-plugin-stx": "0.2.210",
|
|
69
69
|
"ts-syntax-highlighter": "^0.2.1"
|
|
70
70
|
},
|
|
71
71
|
"devDependencies": {
|
|
@@ -19,13 +19,25 @@ export const items = ($props.items || []).map(item => ({
|
|
|
19
19
|
|
|
20
20
|
export const columns = $props.columns || 4
|
|
21
21
|
|
|
22
|
-
//
|
|
23
|
-
//
|
|
22
|
+
// A tile separates itself from the panel by moving AWAY from it, which is not
|
|
23
|
+
// the same as being lighter.
|
|
24
|
+
//
|
|
25
|
+
// Measured against Dia at 2x: on a pale panel its tiles sit about 9 units
|
|
26
|
+
// DARKER than the surface behind them, and on a dark panel about 23 units
|
|
27
|
+
// lighter. A white overlay does the right thing in dark appearance and the
|
|
28
|
+
// wrong one in light, where it lifted the tile off a surface it is meant to be
|
|
29
|
+
// recessed into. Each appearance now overlays the colour that increases the
|
|
30
|
+
// separation, plus a hairline, which is what gives the well its edge.
|
|
31
|
+
//
|
|
32
|
+
// Height is 41px rather than 46: Dia's tiles measure 50pt wide by 41pt tall,
|
|
33
|
+
// so they are slightly landscape, and 46 made them read as too square against
|
|
34
|
+
// the row rhythm underneath.
|
|
24
35
|
export const tileClasses = [
|
|
25
|
-
'grid h-[
|
|
26
|
-
'bg-
|
|
36
|
+
'grid h-[41px] place-items-center rounded-[10px]',
|
|
37
|
+
'bg-black/[0.035] dark:bg-white/[0.09]',
|
|
38
|
+
'ring-1 ring-black/[0.05] dark:ring-white/[0.06]',
|
|
27
39
|
'transition-[background-color,transform] duration-150 ease-out',
|
|
28
|
-
'hover:bg-
|
|
40
|
+
'hover:bg-black/[0.07] dark:hover:bg-white/[0.15]',
|
|
29
41
|
'active:scale-[0.96]',
|
|
30
42
|
].join(' ')
|
|
31
43
|
</script>
|
|
@@ -43,7 +55,7 @@ function onPinnedClick(event) {
|
|
|
43
55
|
@if(items.length > 0)
|
|
44
56
|
<div
|
|
45
57
|
data-space-pinned
|
|
46
|
-
class="grid gap-[6px]
|
|
58
|
+
class="grid gap-[6px] pb-[10px] pt-[2px]"
|
|
47
59
|
style="grid-template-columns: repeat({{ columns }}, minmax(0, 1fr))"
|
|
48
60
|
role="list"
|
|
49
61
|
aria-label="Pinned"
|
|
@@ -13,6 +13,22 @@ export const headerClasses = themeStyle.sectionHeader + (collapsible ? ' cursor-
|
|
|
13
13
|
export const chevronClasses = themeStyle.sectionChevron
|
|
14
14
|
export const groupClasses = themeStyle.sectionGroup
|
|
15
15
|
|
|
16
|
+
// Precomputed rather than written as `{{ collapsed ? 'false' : 'true' }}` in
|
|
17
|
+
// the attribute itself.
|
|
18
|
+
//
|
|
19
|
+
// That inline form is served VERBATIM when this component is rendered inside a
|
|
20
|
+
// `<Sidebar>` — the marker reaches the browser unexpanded, so `data-expanded`
|
|
21
|
+
// carries a template string the controller cannot read and `aria-expanded`
|
|
22
|
+
// carries a value that is not `true` or `false`, which is an invalid ARIA
|
|
23
|
+
// state rather than a cosmetic problem. Rendering `<SidebarSection>` directly
|
|
24
|
+
// expands it correctly, and `{{ id }}` on the very same element expands in
|
|
25
|
+
// both cases, so the fault is in how a nested component's attributes are
|
|
26
|
+
// re-parsed, not in the expression.
|
|
27
|
+
//
|
|
28
|
+
// A bare identifier survives that path intact, and the component already
|
|
29
|
+
// precomputes everything else it interpolates.
|
|
30
|
+
export const expandedAttr = collapsed ? 'false' : 'true'
|
|
31
|
+
|
|
16
32
|
// Components can't render themselves recursively, so the item tree is
|
|
17
33
|
// flattened into ready-to-render rows here. Each row remembers its depth
|
|
18
34
|
// and ancestor ids — the Sidebar controller uses those to collapse whole
|
|
@@ -45,11 +61,11 @@ export const rows = flatten(items)
|
|
|
45
61
|
<section
|
|
46
62
|
data-sidebar-section
|
|
47
63
|
data-section-id="{{ id }}"
|
|
48
|
-
data-expanded="{{
|
|
64
|
+
data-expanded="{{ expandedAttr }}"
|
|
49
65
|
>
|
|
50
66
|
@if(label)
|
|
51
67
|
@if(collapsible)
|
|
52
|
-
<button type="button" data-sidebar-section-header class="{{ headerClasses }}" aria-expanded="{{
|
|
68
|
+
<button type="button" data-sidebar-section-header class="{{ headerClasses }}" aria-expanded="{{ expandedAttr }}">
|
|
53
69
|
<span class="truncate">{{ label }}</span>
|
|
54
70
|
<span data-sidebar-section-chevron class="{{ chevronClasses }}" aria-hidden="true"></span>
|
|
55
71
|
</button>
|
package/src/ui/sidebar/themes.ts
CHANGED
|
@@ -276,7 +276,13 @@ const arc: SidebarTheme = {
|
|
|
276
276
|
'dark:bg-[linear-gradient(180deg,var(--stx-sidebar-tint,rgba(255,255,255,0.05))_0%,rgba(255,255,255,0)_42%)]',
|
|
277
277
|
].join(' '),
|
|
278
278
|
},
|
|
279
|
-
|
|
279
|
+
// 16px, not 8. Measured against Dia at 2x: its panel is 229pt wide and its
|
|
280
|
+
// selected row 196pt, inset 16pt on each side. At 8px the rows run almost to
|
|
281
|
+
// the panel edge and read as bursting out of it, which was the largest
|
|
282
|
+
// remaining structural difference between this theme and the thing it is
|
|
283
|
+
// named after. `SidebarPinned` drops its own padding to compensate, so the
|
|
284
|
+
// favourites grid stays near full-bleed the way Dia's is.
|
|
285
|
+
scrollArea: 'flex-1 overflow-y-auto overflow-x-hidden px-[16px] pb-[8px]',
|
|
280
286
|
// Text takes its color from the panel rather than declaring its own, and is
|
|
281
287
|
// muted with opacity instead. On the plain warm panel `currentColor` is the
|
|
282
288
|
// pane's own `#2c2a28`, so this renders identically to a hardcoded value —
|