@stacksjs/components 0.2.575 → 0.2.577
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/chat/controller.js +29 -3
- package/dist/index.js +8 -8
- package/package.json +3 -3
- package/src/ui/chat/controller.ts +31 -3
package/dist/chat/controller.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// src/ui/chat/controller.ts
|
|
2
2
|
import { derived, effect, sharedRequest, state } from "@stacksjs/stx";
|
|
3
3
|
import { useBroadcastStream } from "@stacksjs/stx/composables/use-broadcast-stream";
|
|
4
|
+
var CHAT_LISTEN_WAIT_MS = 1500;
|
|
4
5
|
function createChat(options) {
|
|
5
6
|
const endpoint = options.endpoint ?? "/messages";
|
|
6
7
|
const contacts = state([]);
|
|
@@ -88,9 +89,30 @@ function createChat(options) {
|
|
|
88
89
|
}
|
|
89
90
|
}
|
|
90
91
|
const list = sharedRequest();
|
|
92
|
+
const listening = new Set;
|
|
93
|
+
function whenListening() {
|
|
94
|
+
if (!options.broadcastEndpoint || !options.selfId() || connected())
|
|
95
|
+
return Promise.resolve();
|
|
96
|
+
return new Promise((resolve) => {
|
|
97
|
+
const done = () => {
|
|
98
|
+
clearTimeout(timer);
|
|
99
|
+
listening.delete(done);
|
|
100
|
+
resolve();
|
|
101
|
+
};
|
|
102
|
+
const timer = setTimeout(done, CHAT_LISTEN_WAIT_MS);
|
|
103
|
+
listening.add(done);
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
function release() {
|
|
107
|
+
if (!listening.size)
|
|
108
|
+
return false;
|
|
109
|
+
for (const done of [...listening])
|
|
110
|
+
done();
|
|
111
|
+
return true;
|
|
112
|
+
}
|
|
91
113
|
function load() {
|
|
92
114
|
checkScope();
|
|
93
|
-
return list.run(version, () =>
|
|
115
|
+
return list.run(version, () => whenListening().then(loadList)).finally(flushInvalidation);
|
|
94
116
|
}
|
|
95
117
|
async function loadFresh() {
|
|
96
118
|
checkScope();
|
|
@@ -252,9 +274,13 @@ function createChat(options) {
|
|
|
252
274
|
stream = useBroadcastStream({
|
|
253
275
|
endpoint: options.broadcastEndpoint,
|
|
254
276
|
request: options.request,
|
|
255
|
-
onStatus: (value) =>
|
|
277
|
+
onStatus: (value) => {
|
|
278
|
+
connected.set(value);
|
|
279
|
+
if (!value)
|
|
280
|
+
release();
|
|
281
|
+
},
|
|
256
282
|
onConnected: () => {
|
|
257
|
-
if (accountScope === options.scopeKey())
|
|
283
|
+
if (!release() && accountScope === options.scopeKey())
|
|
258
284
|
reconcile();
|
|
259
285
|
},
|
|
260
286
|
onMessage: (frame) => {
|
package/dist/index.js
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
var
|
|
3
|
-
`)}function N(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function
|
|
2
|
+
var Xe={__stx:!0,src:"./components/CodeBlock.stx"};var Qe={__stx:!0,src:"./components/Footer.stx"};var Ze={__stx:!0,src:"./components/Hero.stx"};var et={__stx:!0,src:"./components/Installation.stx"};function Cr(e){let{code:t,onSuccess:s,onError:o,timeout:n=2000}=e,a=!1,r=null;return{copied:a,copy:async()=>{try{if(!navigator.clipboard)throw Error("Clipboard API not available");await navigator.clipboard.writeText(t),a=!0,s?.(),r=setTimeout(()=>{a=!1,r=null},n)}catch(p){let u=p instanceof Error?p:Error("Failed to copy code");o?.(u),console.error("Failed to copy code:",u)}},reset:()=>{if(a=!1,r)clearTimeout(r),r=null}}}async function $r(e){try{return await navigator.clipboard.writeText(e),!0}catch(t){return console.error("Failed to copy to clipboard:",t),!1}}function tt(){if(typeof window>"u")return"light";return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function xe(e){return e==="system"?tt():e}function Tr(e={}){let{storageKey:t="theme",defaultTheme:s="system"}=e,o=s;if(typeof window<"u"&&typeof localStorage<"u"){let c=localStorage.getItem(t);if(c)o=c}let n=xe(o)==="dark",a=(c)=>{let p=xe(c);if(typeof document<"u")if(p==="dark")document.documentElement.classList.add("dark");else document.documentElement.classList.remove("dark");if(typeof localStorage<"u")localStorage.setItem(t,c)},r=(c)=>{o=c,a(c)},i=()=>{let p=xe(o)==="dark"?"light":"dark";r(p)};if(a(o),typeof window<"u"&&o==="system")window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",(c)=>{if(o==="system")a("system")});return{isDark:n,theme:o,toggle:i,setTheme:r}}function st(e,t){if(typeof document>"u")return;document.title=t?t.replace("%s",e):e}function O(e,t,s=!1){if(typeof document>"u")return;let o=s?"property":"name",n=document.querySelector(`meta[${o}="${e}"]`);if(!n)n=document.createElement("meta"),n.setAttribute(o,e),document.head.appendChild(n);n.setAttribute("content",t)}function ot(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 Ir(e){let{title:t,description:s,author:o,keywords:n,ogImage:a,ogImageWidth:r,ogImageHeight:i,twitterCard:c="summary_large_image",twitterSite:p,twitterCreator:u,canonical:d}=e;if(t)st(t),O("og:title",t,!0),O("twitter:title",t);if(s)O("description",s),O("og:description",s,!0),O("twitter:description",s);if(o)O("author",o);if(n&&n.length>0)O("keywords",n.join(", "));if(a)O("og:image",a,!0),O("twitter:image",a);if(r)O("og:image:width",r,!0);if(i)O("og:image:height",i,!0);if(O("twitter:card",c),p)O("twitter:site",p);if(u)O("twitter:creator",u);if(d)ot("canonical",d);if(O("og:type","website",!0),typeof window<"u")O("og:url",window.location.href,!0)}function Ar(e){let t=[],{title:s,description:o,author:n,keywords:a,ogImage:r,ogImageWidth:i,ogImageHeight:c,twitterCard:p="summary_large_image",twitterSite:u,twitterCreator:d,canonical:g}=e;if(s)t.push(`<title>${N(s)}</title>`),t.push(`<meta property="og:title" content="${N(s)}" />`),t.push(`<meta name="twitter:title" content="${N(s)}" />`);if(o)t.push(`<meta name="description" content="${N(o)}" />`),t.push(`<meta property="og:description" content="${N(o)}" />`),t.push(`<meta name="twitter:description" content="${N(o)}" />`);if(n)t.push(`<meta name="author" content="${N(n)}" />`);if(a&&a.length>0)t.push(`<meta name="keywords" content="${N(a.join(", "))}" />`);if(r)t.push(`<meta property="og:image" content="${N(r)}" />`),t.push(`<meta name="twitter:image" content="${N(r)}" />`);if(i)t.push(`<meta property="og:image:width" content="${N(i)}" />`);if(c)t.push(`<meta property="og:image:height" content="${N(c)}" />`);if(t.push(`<meta name="twitter:card" content="${N(p)}" />`),u)t.push(`<meta name="twitter:site" content="${N(u)}" />`);if(d)t.push(`<meta name="twitter:creator" content="${N(d)}" />`);if(g)t.push(`<link rel="canonical" href="${N(g)}" />`);return t.push('<meta property="og:type" content="website" />'),t.join(`
|
|
3
|
+
`)}function N(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function Lr(e,t,s={}){let{enabled:o=!0,ignore:n=[]}=s,a=(r)=>{if(!o||!e)return;let i=r.target;if(!e.contains(i)){if(!n.some((p)=>{let u=document.querySelectorAll(p);return Array.from(u).some((d)=>d.contains(i))}))t(r)}};if(typeof document<"u")document.addEventListener("mousedown",a),document.addEventListener("touchstart",a);return()=>{if(typeof document<"u")document.removeEventListener("mousedown",a),document.removeEventListener("touchstart",a)}}function Nr(e,t={}){let{enabled:s=!0,initialFocus:o=null,returnFocus:n=!0,fallbackFocus:a=null}=t,r=null,i=!1;function c(){if(!e)return[];let m=["a[href]","button:not([disabled])","textarea:not([disabled])","input:not([disabled])","select:not([disabled])",'[tabindex]:not([tabindex="-1"])'].join(",");return Array.from(e.querySelectorAll(m))}function p(m){if(!s||!i||!e)return;let k=c();if(k.length===0){m.preventDefault();return}let C=k[0],y=k[k.length-1];if(m.shiftKey){if(document.activeElement===C||document.activeElement===e)m.preventDefault(),y.focus()}else if(document.activeElement===y)m.preventDefault(),C.focus()}function u(m){if(m.key==="Escape"&&s&&i)g()}function d(){if(!s||!e||i)return;if(r=document.activeElement,o)o.focus();else{let m=c();if(m.length>0)m[0].focus();else if(a)a.focus();else e.focus()}document.addEventListener("keydown",p),document.addEventListener("keydown",u),i=!0}function g(){if(!i)return;if(document.removeEventListener("keydown",p),document.removeEventListener("keydown",u),n&&r)r.focus();i=!1}return{activate:d,deactivate:g}}function Mr(e,t={}){let{enabled:s=!0,preventDefault:o=!0,stopPropagation:n=!1,target:a=typeof document<"u"?document:null}=t,r=Array.isArray(e)?e:[e],i=(c)=>{if(!s)return;r.forEach((p)=>{if(!(Array.isArray(p.key)?p.key:[p.key]).some((g)=>g.toLowerCase()===c.key.toLowerCase()))return;if(p.ctrl!==void 0&&p.ctrl!==c.ctrlKey)return;if(p.shift!==void 0&&p.shift!==c.shiftKey)return;if(p.alt!==void 0&&p.alt!==c.altKey)return;if(p.meta!==void 0&&p.meta!==c.metaKey)return;if(o)c.preventDefault();if(n)c.stopPropagation();p.handler(c)})};if(a)a.addEventListener("keydown",i);return()=>{if(a)a.removeEventListener("keydown",i)}}var Rr={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 jr(e,t,s={}){let{serializer:o=JSON.stringify,deserializer:n=JSON.parse,onError:a=console.error}=s,r=t;try{if(typeof window<"u"){let d=window.localStorage.getItem(e);if(d!==null)r=n(d)}}catch(d){a(d)}let i=r,c=new Set;function p(d){try{let g=typeof d==="function"?d(i):d;if(i=g,typeof window<"u")window.localStorage.setItem(e,o(g));c.forEach((m)=>m(g))}catch(g){a(g)}}function u(){try{if(i=t,typeof window<"u")window.localStorage.removeItem(e);c.forEach((d)=>d(t))}catch(d){a(d)}}if(typeof window<"u"){let d=(g)=>{if(g.key===e&&g.newValue!==null)try{let m=n(g.newValue);i=m,c.forEach((k)=>k(m))}catch(m){a(m)}else if(g.key===e&&g.newValue===null)i=t,c.forEach((m)=>m(t))};window.addEventListener("storage",d)}return{value:i,setValue:p,removeValue:u}}function X(e,t={}){let{defaultValue:s=!1}=t,o=s,n=null;if(typeof window<"u"&&"matchMedia"in window){n=window.matchMedia(e),o=n.matches;let r=(i)=>{o=i.matches};if(n.addEventListener)n.addEventListener("change",r);else n.addListener(r)}function a(){if(n)o=n.matches}return{matches:o,updateMatches:a}}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 Fr(e){return X(Q[e])}function Vr(){return X(Q.mobile)}function Br(){return X(Q.desktop)}function qr(){return X(Q.dark)}function Wr(){return X(Q.reducedMotion)}function se(){return globalThis.stx?.overlays}function _r(e,t){se()?.open(e,t)}function Ur(e){se()?.close(e)}function Jr(e){return se()?.isTop(e)??!1}function Gr(){return se()?.list()??[]}var Le=["gray","neutral","slate","zinc","red","green","yellow","blue","indigo"],Xr="--stx-color";function nt(e,t){return t===void 0?`var(${e})`:`var(${e}, ${t})`}function Qr(e={}){let t={};for(let s of Le){let o=e[s];if(!o||typeof o==="string")continue;let n={};for(let[a,r]of Object.entries(o))n[a]=nt(`--stx-color-${s}-${a}`,r);t[s]=n}return t}function Zr(e={}){let t=[];for(let s of Le){let o=e[s];if(!o||typeof o==="string")continue;for(let n of Object.keys(o))t.push(`--stx-color-${s}-${n}`)}return t}var rt="./Accordion-ehpymjam.stx";var lt="./AccordionItem-fc4ekdqf.stx";var dt="./Audio-ay34sh1f.stx";var ut="./Login-4666t7j4.stx";var ft="./Signup-pm2r0f2m.stx";var gt="./TwoFactorChallenge-3tsbfdsd.stx";var xt="./Avatar-6gexb2xv.stx";var wt="./Badge-33phrqza.stx";var kt="./Breadcrumb-cgw1bb6s.stx";class R extends Error{component;context;constructor(e,t,s={}){let o=R.formatMessage(e,t,s);super(o);if(this.name="ComponentError",this.component=e,this.context={component:e,...s},Error.captureStackTrace)Error.captureStackTrace(this,R)}static formatMessage(e,t,s){let o=`[${e}] ${t}`;if(s.prop)o+=`
|
|
4
4
|
Prop: "${s.prop}"`;if(s.received!==void 0)o+=`
|
|
5
5
|
Received: ${JSON.stringify(s.received)}`;if(s.expected!==void 0){let n=Array.isArray(s.expected)?s.expected.map((a)=>JSON.stringify(a)).join(", "):JSON.stringify(s.expected);o+=`
|
|
6
6
|
Expected: ${n}`}if(s.details)o+=`
|
|
7
7
|
Details: ${s.details}`;if(s.docsUrl)o+=`
|
|
8
8
|
Documentation: ${s.docsUrl}`;else if(e)o+=`
|
|
9
|
-
Documentation: https://stacksjs.com/components/${e.toLowerCase()}`;return o}toJSON(){return{name:this.name,message:this.message,component:this.component,context:this.context,stack:this.stack}}}var G={invalidProp(e,t,s,o){return new R(e,`Invalid prop value for "${t}"`,{prop:t,received:s,expected:o,details:Array.isArray(o)?`The "${t}" prop must be one of the allowed values`:`The "${t}" prop does not match the expected type`})},requiredProp(e,t){return new R(e,`Required prop "${t}" is missing`,{prop:t,details:`The "${t}" prop is required for ${e} to function correctly`})},invalidType(e,t,s,o){return new R(e,`Invalid type for prop "${t}"`,{prop:t,received:typeof s,expected:o,details:`Expected "${t}" to be of type ${o}, but received ${typeof s}`})},componentNotFound(e){return new R("ComponentLoader",`Component "${e}" not found`,{component:e,details:"Make sure the component is properly imported and registered"})},invalidChildren(e,t,s){return new R(e,"Invalid children",{received:typeof t,expected:s,details:`${e} expects ${s} as children`})},stateUpdate(e,t,s){return new R(e,`Failed to update state "${t}"`,{details:s.message})},eventHandler(e,t,s){return new R(e,`Error in "${t}" event handler`,{details:s.message})},render(e,t){return new R(e,"Failed to render component",{details:t.message})}},
|
|
9
|
+
Documentation: https://stacksjs.com/components/${e.toLowerCase()}`;return o}toJSON(){return{name:this.name,message:this.message,component:this.component,context:this.context,stack:this.stack}}}var G={invalidProp(e,t,s,o){return new R(e,`Invalid prop value for "${t}"`,{prop:t,received:s,expected:o,details:Array.isArray(o)?`The "${t}" prop must be one of the allowed values`:`The "${t}" prop does not match the expected type`})},requiredProp(e,t){return new R(e,`Required prop "${t}" is missing`,{prop:t,details:`The "${t}" prop is required for ${e} to function correctly`})},invalidType(e,t,s,o){return new R(e,`Invalid type for prop "${t}"`,{prop:t,received:typeof s,expected:o,details:`Expected "${t}" to be of type ${o}, but received ${typeof s}`})},componentNotFound(e){return new R("ComponentLoader",`Component "${e}" not found`,{component:e,details:"Make sure the component is properly imported and registered"})},invalidChildren(e,t,s){return new R(e,"Invalid children",{received:typeof t,expected:s,details:`${e} expects ${s} as children`})},stateUpdate(e,t,s){return new R(e,`Failed to update state "${t}"`,{details:s.message})},eventHandler(e,t,s){return new R(e,`Error in "${t}" event handler`,{details:s.message})},render(e,t){return new R(e,"Failed to render component",{details:t.message})}},oe=null;function Si(e){oe=e}function Ti(){oe=null}function ne(e,t={}){let{throwError:s=!0,logError:o=!0}=t;if(o){if(console.error("Component Error:",e),e instanceof R)console.group("Error Details"),console.log("Component:",e.component),console.log("Context:",e.context),console.groupEnd()}if(oe)try{oe(e)}catch(n){console.error("Error in error handler:",n)}if(s)throw e}function Oe(e,t,s){return(...o)=>{try{let n=e(...o);if(n instanceof Promise)return n.catch((a)=>{let r=G.eventHandler(t,s,a);throw ne(r,{throwError:!1}),r});return n}catch(n){let a=G.eventHandler(t,s,n);throw ne(a,{throwError:!1}),a}}}function Ct(e,t){if(!e)throw t}function $t(e,t,s={}){let o=R.formatMessage(e,t,s);console.warn(`\u26A0\uFE0F ${o}`)}function Ei(e,t){Ct(e,t)}function Ii(e){let t=typeof process<"u"&&process.env.DEBUG==="true";return{log(...s){if(t)console.log(`[${e}]`,...s)},warn(s,o){$t(e,s,o)},error(s,o){let n=new R(e,s,o);ne(n,{throwError:!1})}}}function Ai(e,t,s){try{return t()}catch(o){let n=G.render(e,o);return ne(n,{throwError:!1}),s}}class L{validate;message;isRequired;constructor(e,t,s=!1){this.validate=e;this.message=t;this.isRequired=s}get required(){return new L(this.validate,this.message,!0)}}var l={string:new L((e)=>typeof e==="string",(e,t,s)=>`Invalid prop \`${t}\` of type \`${typeof e}\` supplied to \`${s}\`, expected \`string\`.`),number:new L((e)=>typeof e==="number"&&!Number.isNaN(e),(e,t,s)=>`Invalid prop \`${t}\` of type \`${typeof e}\` supplied to \`${s}\`, expected \`number\`.`),boolean:new L((e)=>typeof e==="boolean",(e,t,s)=>`Invalid prop \`${t}\` of type \`${typeof e}\` supplied to \`${s}\`, expected \`boolean\`.`),func:new L((e)=>typeof e==="function",(e,t,s)=>`Invalid prop \`${t}\` of type \`${typeof e}\` supplied to \`${s}\`, expected \`function\`.`),object:new L((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 L((e)=>Array.isArray(e),(e,t,s)=>`Invalid prop \`${t}\` of type \`${typeof e}\` supplied to \`${s}\`, expected \`array\`.`),any:new L(()=>!0,()=>""),oneOf(e){return new L((t)=>e.includes(t),(t,s,o)=>`Invalid prop \`${s}\` of value \`${t}\` supplied to \`${o}\`, expected one of [${e.map((n)=>JSON.stringify(n)).join(", ")}].`)},oneOfType(e){return new L((t,s,o)=>e.some((n)=>n.validate(t,s,o)),(t,s,o)=>`Invalid prop \`${s}\` supplied to \`${o}\`, expected one of the specified types.`)},arrayOf(e){return new L((t,s,o)=>{if(!Array.isArray(t))return!1;return t.every((n,a)=>e.validate(n,`${s}[${a}]`,o))},(t,s,o)=>`Invalid prop \`${s}\` supplied to \`${o}\`, expected array of specified type.`)},shape(e){return new L((t,s,o)=>{if(typeof t!=="object"||t===null||Array.isArray(t))return!1;for(let[n,a]of Object.entries(e)){if(a.isRequired&&!(n in t))return!1;if(n in t&&!a.validate(t[n],`${s}.${n}`,o))return!1}return!0},(t,s,o)=>`Invalid prop \`${s}\` supplied to \`${o}\`, expected object matching specified shape.`)},instanceOf(e){return new L((t)=>t instanceof e,(t,s,o)=>`Invalid prop \`${s}\` supplied to \`${o}\`, expected instance of \`${e.name}\`.`)},custom(e,t){return new L(e,typeof t==="string"?()=>t:t)},min(e){return new L((t)=>typeof t==="number"&&t>=e,(t,s,o)=>`Invalid prop \`${s}\` of value \`${t}\` supplied to \`${o}\`, expected value >= ${e}.`)},max(e){return new L((t)=>typeof t==="number"&&t<=e,(t,s,o)=>`Invalid prop \`${s}\` of value \`${t}\` supplied to \`${o}\`, expected value <= ${e}.`)},range(e,t){return new L((s)=>typeof s==="number"&&s>=e&&s<=t,(s,o,n)=>`Invalid prop \`${o}\` of value \`${s}\` supplied to \`${n}\`, expected value between ${e} and ${t}.`)},pattern(e){return new L((t)=>typeof t==="string"&&e.test(t),(t,s,o)=>`Invalid prop \`${s}\` of value \`${t}\` supplied to \`${o}\`, expected value matching pattern ${e}.`)},email:new L((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 L((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 St(e,t,s,o={}){let{throwOnError:n=!1,logWarnings:a=!0}=o,r=[];for(let[i,c]of Object.entries(s)){let p=t[i],u=p===void 0;if(c.isRequired&&u){let d=`Required prop \`${i}\` was not specified in \`${e}\`.`;r.push(d);continue}if(u)continue;if(!c.validate(p,i,e)){let d=c.message(p,i,e);r.push(d)}}if(r.length>0){if(a)console.group(`\u26A0\uFE0F Prop validation failed for \`${e}\``),r.forEach((i)=>console.warn(i)),console.groupEnd();if(n)throw Error(`Prop validation failed for \`${e}\`:
|
|
10
10
|
${r.join(`
|
|
11
|
-
`)}`)}return{valid:r.length===0,errors:r}}function H(e,t,s){return(o)=>kt(e,o,t,s)}function Ei(e,t,s="value"){if(!t.validate(e,s,"assertion"))throw Error(t.message(e,s,"assertion"))}function Ii(e,t,s="value"){if(!t.validate(e,s,"warning"))console.warn(t.message(e,s,"warning"))}var $t="./Button-bpjmfkq6.stx";var St={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},Ni=H("Button",St);function Di(e){return Pe(e,"Button","onClick")}function Mi(e){if(e&&!["primary","secondary","outline","ghost","danger"].includes(e))throw G.invalidProp("Button","variant",e,["primary","secondary","outline","ghost","danger"])}function Ri(e){if(e&&!["xs","sm","md","lg","xl"].includes(e))throw G.invalidProp("Button","size",e,["xs","sm","md","lg","xl"])}var Et="./Calendar-5vs6x7gj.stx";var At="./DateRangePicker-4zmf34e4.stx";var Lt="./EmptyState-s790dbym.stx";var Nt="./ThemeToggle-4wm9zare.stx";var Mt="./Card-r55zpjqh.stx";var zt="./Checkbox-kepzk3h5.stx";var Ht="./Combobox-9n04ec5w.stx";var Vt="./ComboboxButton-4r6a45s1.stx";var qt="./ComboboxInput-1gyfpnca.stx";var Kt="./ComboboxOption-wkw70js7.stx";var Ut="./ComboboxOptions-zhr9b6rx.stx";var Gt="./CommandPalette-qqjdbcyg.stx";var Xt="./CommandPaletteItem-7290ce1z.stx";var Zt="./Dialog-pdq8rxvy.stx";var ts="./DialogBackdrop-de5m5m4w.stx";var os="./DialogDescription-gth4c2kx.stx";var as="./DialogPanel-vhdqymc2.stx";var is="./DialogTitle-ke58hh68.stx";var cs="./Drawer-nmq100vy.stx";var ps="./Dropdown-hb8ks69x.stx";var hs="./DropdownButton-wxc25hsy.stx";var ms="./DropdownItem-af0vzc8a.stx";var bs="./DropdownItems-bkz7jkyz.stx";var vs="./Form-ewzy10ye.stx";var ws={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},Wl=H("Form",ws);var ks="./Image-16s7e6m2.stx";var $s="./EmailInput-57626391.stx";var Ts="./NumberInput-pq4k2k4k.stx";var Is="./PasswordInput-dg41ktgd.stx";var Ps="./SearchInput-w15r5t95.stx";var Os="./TextInput-nknmz9md.stx";var Ns={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},Ds={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,type:l.oneOf(["text","date","time","datetime-local","month","week","url","tel","color","search","email","number","password"]),pattern:l.string,list:l.string,minLength:l.number,htmlSize:l.number,autofocus:l.boolean},Ms={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},Rs={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},zs={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},sc=H("TextInput",Ds),oc=H("EmailInput",Ns),nc=H("PasswordInput",Rs),ac=H("NumberInput",Ms),rc=H("SearchInput",zs);var Hs="./Listbox-83j2q4x6.stx";var Vs="./ListboxButton-gan8e3nw.stx";var qs="./ListboxLabel-ka0hfm7b.stx";var Ks="./ListboxOption-gpaqvk3s.stx";var Us="./ListboxOptions-2928864k.stx";var Gs="./FilterChip-00ja5jhz.stx";var Xs="./FilterChips-7pnzycfd.stx";var Zs="./ListRow-8d3e1yxh.stx";var to="./NavBar-qqrrhdnk.stx";var oo="./SectionCard-8ctdacjr.stx";var ao="./TabBar-8143650x.stx";var io="./TabBarItem-kddfnhk3.stx";var co="./Navigator-1yk1c3pp.stx";var uo="./Notification-b3cz24f0.stx";var fo="./Pager-kh6s65t2.stx";var go="./PagerDots-076w890y.stx";var xo="./Pagination-8bhbkpcp.stx";var wo="./Checkout-crbegxyv.stx";var ko="./DefaultPaymentMethod-ss3x61tr.stx";var $o="./PaymentMethods-z4hhr0kv.stx";var To="./SubscriptionCheckout-rdcv32n1.stx";var Io="./Popover-khtvagcs.stx";var Po="./PopoverButton-3w6550hv.stx";var Oo="./PopoverPanel-d84gk1w1.stx";var Do="./Portal-m73vz879.stx";var Ro="./Progress-2qzb77kc.stx";var jo="./Radio-8153x74w.stx";var Fo="./RadioGroup-smqcqgds.stx";var Bo="./RadioGroupDescription-z34r9avr.stx";var Wo="./RadioGroupLabel-ka0hfm7b.stx";var _o="./RadioGroupOption-twcw1b2a.stx";var Jo="./Select-61zv5tr7.stx";var Yo="./Sidebar-8dygywjv.stx";var Qo="./SidebarFooter-s7skj92y.stx";var en="./SidebarHeader-x7jdhmyr.stx";var sn="./SidebarItem-r4f2pref.stx";var nn="./SidebarPinned-48kyk193.stx";var rn="./SidebarSection-5sqza2j6.stx";var cn="./SidebarSpace-bwv98azf.stx";var pn="./SidebarSpaces-mdtrynr2.stx";var hn="./SidebarSpaceSwitcher-1mycft2g.stx";var ne={blue:"#0088ff",red:"#ff383c",pink:"#ff2d55",orange:"#ff8d28",yellow:"#ffcc00",green:"#34c759",teal:"#00c3d0",cyan:"#00c0e8",indigo:"#6155f5",purple:"#cb30e0",brown:"#ac7f5e",gray:"#8e8e93"},_={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}},fn={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}},mn={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}},gn={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}},bn={..._,pane:"bg-stone-100 dark:bg-neutral-900 text-black dark:text-white select-none",layers:{}},xn={..._,pane:"bg-transparent text-black dark:text-white select-none",layers:{}},vn={..._,pane:"bg-white/50 dark:bg-black/40 backdrop-blur-3xl backdrop-saturate-200 text-black dark:text-white select-none",layers:{}},Le={macos:_,tahoe:_,"macos-tahoe":_,"macos-latest":_,arc:gn,workspace:fn,desktop:mn,solid:bn,transparent:xn,vibrancy:vn};function Kd(e){return Le[e||"macos"]||Le.macos}function _d(e){if(!e)return;return ne[e]||e}var wn=ne.gray;function q(e,t,s){return`color-mix(in oklab, ${e} ${t}%, ${s})`}function Oe(e){return{light:{from:q(e,35,"#ffffff"),to:q(e,12.5,"#ffffff"),ink:q(e,22,"#17171b"),accent:q(e,88,"#2a2a30")},dark:{from:q(e,27,"#101014"),to:q(e,10,"#08080b"),ink:q(e,12,"#f4f4f7"),accent:q(e,74,"#ffffff")}}}function Gd(e,t){return`linear-gradient(180deg, ${e} 0%, ${t} 100%)`}function yn(e){if(!e)return Oe(wn);if(typeof e!=="string")return e;return Oe(ne[e]||e)}function kn(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 Ne(e,t,s,o){if(!e||!e.label)return null;return{id:e.id||`${t}-${s}`,label:e.label,icon:e.icon||o}}function Cn(e){let t=yn(e.tint);return{id:e.id,label:e.label||"",icon:e.icon||"",pinned:e.pinned||[],sections:e.sections||[],action:Ne(e.action,e.id,"action","i-f7-plus"),clear:Ne(e.clear,e.id,"clear","i-f7-arrow-down"),tint:t,style:kn(t),deferred:e.deferred===!0,showTitle:e.showTitle??!0}}function Yd(e){return(e||[]).map(Cn)}function Xd(e,t){if(!t)return 0;let s=e.findIndex((o)=>o.id===t);return s===-1?0:s}function Qd(e){return e.map((t)=>t.tint)}var Sn="./Skeleton-m4p66zcs.stx";var En="./Spinner-vhnc3y03.stx";var An="./Stepper-68gxcmej.stx";var Ln="./StepperStep-zf4pq1s0.stx";class ae{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,n=e.newValue?JSON.parse(e.newValue).value:null;s.forEach((a)=>a(n,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=[],n="";for(let a=0;a<e.length;a++){let r=e.charAt(a),i=n+r;if(t[i]!==void 0)n=i;else o.push(n.length>1?t[n]:n.charCodeAt(0)),t[i]=s++,n=r}if(n!=="")o.push(n.length>1?t[n]:n.charCodeAt(0));return JSON.stringify(o)}decompress(e){try{let t=JSON.parse(e);if(!Array.isArray(t))return e;let s={},o=256,n=String.fromCharCode(t[0]),a=n;for(let r=1;r<t.length;r++){let i=t[r],c;if(s[i]!==void 0)c=s[i];else if(i===o)c=n+n.charAt(0);else return e;a+=c,s[o++]=n+c.charAt(0),n=c}return a}catch{return e}}getKey(e){return this.namespace?`${this.namespace}:${e}`:e}set(e,t,s){let o=this.getKey(e),n=this.get(e),a={value:t,timestamp:Date.now(),expire:s?.expire,encrypted:s?.encrypt||!1,compressed:s?.compress||!1};try{let r=JSON.stringify(a);if(s?.compress)r=this.compress(r);if(s?.encrypt)r=this.encrypt(r);this.storage.setItem(o,r),this.notifyWatchers(e,t,n)}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((n)=>n(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 n=this.storage.getItem(o)||"";e+=o.length+n.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 $p={local:new ae("local"),session:new ae("session")};function Sp(e="local",t){return new ae(e,t)}var Nn="./Switch-acwd7n07.stx";var Mn="./Table-0a4y46vd.stx";var zn="./TableBody-y49bqb1p.stx";var Hn="./TableCell-jhvsxw8b.stx";var Vn="./TableHead-e9xvjx2j.stx";var qn="./TableHeader-krzcx4sv.stx";var Kn="./TableRow-dt8e11aj.stx";var Un="./Tab-46mxm7f8.stx";var Gn="./TabList-76bpx5fp.stx";var Xn="./TabPanel-5htevsq6.stx";var Zn="./Tabs-1swcxmfb.stx";var ta="./Teleport-vqs75x36.stx";var oa="./Textarea-9xmhjqp8.stx";var aa="./Tooltip-rg1c2zrc.stx";var ia="./Transition-7m0mk45s.stx";var ca="./Video-sc26cz9v.stx";var pa="./VirtualList-fa7v5a3h.stx";var ha="./VirtualTable-kp7b3wyv.stx";var fa=0;function De(e="a11y"){return`${e}-${++fa}-${Date.now()}`}function vu(e,t,s={}){let{visible:o=!1,id:n=De("label")}=s,a=document.createElement(o?"label":"span");if(a.id=n,a.textContent=e,!o)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"});if(t)if(t.setAttribute("aria-labelledby",n),t.parentElement)t.parentElement.insertBefore(a,t);else document.body.appendChild(a);return n}function wu(e,t){let s=De("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 yu(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 xe(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 ku(e,t={}){let{initialFocus:s,returnFocus:o,escapeDeactivates:n=!0,clickOutsideDeactivates:a=!0,allowOutsideClick:r=!1,onActivate:i,onDeactivate:c}=t,p=!1,u=!1,d=null,g=(x)=>{if(u)return;if(n&&x.key==="Escape"){x.preventDefault(),C();return}if(x.key==="Tab"){let E=xe(e);if(E.length===0){x.preventDefault();return}let A=E[0],S=E[E.length-1];if(x.shiftKey){if(document.activeElement===A)x.preventDefault(),S.focus()}else if(document.activeElement===S)x.preventDefault(),A.focus()}},m=(x)=>{if(u)return;if(!e.contains(x.target)){if(typeof r==="function"){if(!r(x)&&a)C()}else if(!r&&a)C()}};function y(){if(p)return;p=!0,d=document.activeElement;let x=s||xe(e)[0];if(x&&typeof x.focus==="function")x.focus();document.addEventListener("keydown",g),document.addEventListener("click",m),i?.()}function C(){if(!p)return;p=!1;let x=o||d;if(x&&typeof x.focus==="function")x.focus();document.removeEventListener("keydown",g),document.removeEventListener("click",m),c?.()}function k(){u=!0}function b(){u=!1}return{activate:y,deactivate:C,pause:k,unpause:b}}function Cu(e,t={}){let{selector:s='[role="option"], [role="menuitem"], [role="tab"], button',initialIndex:o=0,orientation:n="both",loop:a=!0,onFocusChange:r}=t,i=o,c=()=>Array.from(e.querySelectorAll(s)),p=(d)=>{let g=c();if(d<0||d>=g.length)return;g.forEach((m,y)=>{if(y===d){if(m.setAttribute("tabindex","0"),typeof m.focus==="function")m.focus()}else m.setAttribute("tabindex","-1")}),i=d,r?.(d,g[d])},u=(d)=>{let m=c().length-1,y=!1,C=i;switch(d.key){case"ArrowRight":if(n==="horizontal"||n==="both"){if(C=i+1,C>m)C=a?0:m;y=!0}break;case"ArrowLeft":if(n==="horizontal"||n==="both"){if(C=i-1,C<0)C=a?m:0;y=!0}break;case"ArrowDown":if(n==="vertical"||n==="both"){if(C=i+1,C>m)C=a?0:m;y=!0}break;case"ArrowUp":if(n==="vertical"||n==="both"){if(C=i-1,C<0)C=a?m:0;y=!0}break;case"Home":C=0,y=!0;break;case"End":C=m,y=!0;break}if(y)d.preventDefault(),p(C)};return p(o),e.addEventListener("keydown",u),()=>{e.removeEventListener("keydown",u)}}var $u={Enter:"Enter",Space:" ",Escape:"Escape",ArrowUp:"ArrowUp",ArrowDown:"ArrowDown",ArrowLeft:"ArrowLeft",ArrowRight:"ArrowRight",Tab:"Tab",Home:"Home",End:"End",PageUp:"PageUp",PageDown:"PageDown"};function Su(e){return document.activeElement===e}function Tu(e,t){let s=t||document.activeElement,o=xe(document.body),n=o.indexOf(s);if(n===-1)return;let a=e==="next"?n+1:n-1,r=o[a];if(r)r.focus()}function Eu(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 Iu={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 Au(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 Pu(){if(typeof window.matchMedia==="function")return window.matchMedia("(prefers-reduced-motion: reduce)").matches;return!1}function Lu(){if(typeof window.matchMedia==="function")return window.matchMedia("(prefers-contrast: high)").matches;return!1}function Ou(){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 Nu(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 Du(e){let t=[],s=(o)=>{let n=e.getAttribute(o);if(n){let a=n.split(" ");for(let r of a)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 ma=(e,t,s,o)=>s*e/o+t,ga=(e,t,s,o)=>(e/=o,s*e*e+t),ba=(e,t,s,o)=>(e/=o,-s*e*(e-2)+t),xa=(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},va=(e,t,s,o)=>(e/=o,s*e*e*e+t),wa=(e,t,s,o)=>(e/=o,e--,s*(e*e*e+1)+t),ya=(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},ka=(e,t,s,o)=>(e/=o,s*e*e*e*e+t),Ca=(e,t,s,o)=>(e/=o,e--,-s*(e*e*e*e-1)+t),$a=(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},Sa=(e,t,s,o)=>(e/=o,s*e*e*e*e*e+t),Ta=(e,t,s,o)=>(e/=o,e--,s*(e*e*e*e*e+1)+t),Ea=(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},Ia=(e,t,s,o)=>-s*Math.cos(e/o*(Math.PI/2))+s+t,Aa=(e,t,s,o)=>s*Math.sin(e/o*(Math.PI/2))+t,Pa=(e,t,s,o)=>-s/2*(Math.cos(Math.PI*e/o)-1)+t,La=(e,t,s,o)=>e===0?t:s*2**(10*(e/o-1))+t,Oa=(e,t,s,o)=>e===o?t+s:s*(-(2**(-10*e/o))+1)+t,Na=(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},Da=(e,t,s,o)=>(e/=o,-s*(Math.sqrt(1-e*e)-1)+t),Ma=(e,t,s,o)=>(e/=o,e--,s*Math.sqrt(1-e*e)+t),Ra=(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 n=1.70158,a=0,r=s;if(e===0)return t;if(e/=o,e===1)return t+s;if(!a)a=o*0.3;if(r<Math.abs(s))r=s,n=a/4;else n=a/(2*Math.PI)*Math.asin(s/r);return e-=1,-(r*2**(10*e)*Math.sin((e*o-n)*(2*Math.PI)/a))+t},ja=(e,t,s,o)=>{let n=1.70158,a=0,r=s;if(e===0)return t;if(e/=o,e===1)return t+s;if(!a)a=o*0.3;if(r<Math.abs(s))r=s,n=a/4;else n=a/(2*Math.PI)*Math.asin(s/r);return r*2**(-10*e)*Math.sin((e*o-n)*(2*Math.PI)/a)+s+t},Ha=(e,t,s,o)=>{let n=1.70158,a=0,r=s;if(e===0)return t;if(e/=o/2,e===2)return t+s;if(!a)a=o*0.44999999999999996;if(r<Math.abs(s))r=s,n=a/4;else n=a/(2*Math.PI)*Math.asin(s/r);if(e<1)return e-=1,-0.5*(r*2**(10*e)*Math.sin((e*o-n)*(2*Math.PI)/a))+t;return e-=1,r*2**(-10*e)*Math.sin((e*o-n)*(2*Math.PI)/a)*0.5+s+t},Fa=(e,t,s,o)=>(e/=o,s*e*e*(2.70158*e-1.70158)+t),Va=(e,t,s,o)=>(e/=o,e--,s*(e*e*(2.70158*e+1.70158)+1)+t),Ba=(e,t,s,o)=>{let n=1.70158;if(e/=o/2,e<1)return n*=1.525,s/2*(e*e*((n+1)*e-n))+t;return e-=2,n*=1.525,s/2*(e*e*((n+1)*e+n)+2)+t},ve=(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},Me=(e,t,s,o)=>s-ve(o-e,0,s,o)+t,qa=(e,t,s,o)=>{if(e<o/2)return Me(e*2,0,s,o)*0.5+t;return ve(e*2-o,0,s,o)*0.5+s*0.5+t},Ru={linear:ma,easeInQuad:ga,easeOutQuad:ba,easeInOutQuad:xa,easeInCubic:va,easeOutCubic:wa,easeInOutCubic:ya,easeInQuart:ka,easeOutQuart:Ca,easeInOutQuart:$a,easeInQuint:Sa,easeOutQuint:Ta,easeInOutQuint:Ea,easeInSine:Ia,easeOutSine:Aa,easeInOutSine:Pa,easeInExpo:La,easeOutExpo:Oa,easeInOutExpo:Na,easeInCirc:Da,easeOutCirc:Ma,easeInOutCirc:Ra,easeInElastic:za,easeOutElastic:ja,easeInOutElastic:Ha,easeInBack:Fa,easeOutBack:Va,easeInOutBack:Ba,easeInBounce:Me,easeOutBounce:ve,easeInOutBounce:qa};function Wa(e,t={}){let{duration:s="1s",timing:o="ease",delay:n="0s",iteration:a="1",direction:r="normal",fill:i="both",playState:c="running"}=t;return`${e} ${s} ${o} ${n} ${a} ${r} ${i} ${c}`}function Re(e,t,s={}){e.style.animation=Wa(t,s)}function ju(e){e.style.animation=""}function Ka(e){return new Promise((t)=>{let s=()=>{e.removeEventListener("animationend",s),t()};e.addEventListener("animationend",s)})}function Hu(e,t,s={}){let{stagger:o=100,...n}=s;e.forEach((a,r)=>{let i=`${r*o}ms`;Re(a,t,{...n,delay:i})})}async function Fu(e,t){for(let s of t)Re(e,s.name,s.options),await Ka(e)}var Vu={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 Bu(e,t,s=1000){return new Promise((o)=>{e.classList.add(t),setTimeout(()=>{e.classList.remove(t),o()},s)})}function qu(e,t){let s=`
|
|
11
|
+
`)}`)}return{valid:r.length===0,errors:r}}function H(e,t,s){return(o)=>St(e,o,t,s)}function Li(e,t,s="value"){if(!t.validate(e,s,"assertion"))throw Error(t.message(e,s,"assertion"))}function Oi(e,t,s="value"){if(!t.validate(e,s,"warning"))console.warn(t.message(e,s,"warning"))}var Et="./Button-bpjmfkq6.stx";var It={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},zi=H("Button",It);function ji(e){return Oe(e,"Button","onClick")}function Hi(e){if(e&&!["primary","secondary","outline","ghost","danger"].includes(e))throw G.invalidProp("Button","variant",e,["primary","secondary","outline","ghost","danger"])}function Fi(e){if(e&&!["xs","sm","md","lg","xl"].includes(e))throw G.invalidProp("Button","size",e,["xs","sm","md","lg","xl"])}var Pt="./Calendar-5vs6x7gj.stx";var Ot="./DateRangePicker-4zmf34e4.stx";var Dt="./EmptyState-s790dbym.stx";var Rt="./ThemeToggle-4wm9zare.stx";var jt="./Card-r55zpjqh.stx";var Ft="./Checkbox-kepzk3h5.stx";var Bt="./Combobox-9n04ec5w.stx";var Wt="./ComboboxButton-4r6a45s1.stx";var _t="./ComboboxInput-1gyfpnca.stx";var Jt="./ComboboxOption-wkw70js7.stx";var Yt="./ComboboxOptions-zhr9b6rx.stx";var Qt="./CommandPalette-qqjdbcyg.stx";var es="./CommandPaletteItem-7290ce1z.stx";var ss="./Dialog-pdq8rxvy.stx";var ns="./DialogBackdrop-de5m5m4w.stx";var rs="./DialogDescription-gth4c2kx.stx";var ls="./DialogPanel-vhdqymc2.stx";var ds="./DialogTitle-ke58hh68.stx";var us="./Drawer-nmq100vy.stx";var fs="./Dropdown-hb8ks69x.stx";var gs="./DropdownButton-wxc25hsy.stx";var xs="./DropdownItem-af0vzc8a.stx";var ws="./DropdownItems-bkz7jkyz.stx";var ks="./Form-ewzy10ye.stx";var Cs={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},Jl=H("Form",Cs);var Ss="./Image-16s7e6m2.stx";var Es="./EmailInput-57626391.stx";var As="./NumberInput-pq4k2k4k.stx";var Ls="./PasswordInput-dg41ktgd.stx";var Ns="./SearchInput-w15r5t95.stx";var Ms="./TextInput-nknmz9md.stx";var Rs={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},zs={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,type:l.oneOf(["text","date","time","datetime-local","month","week","url","tel","color","search","email","number","password"]),pattern:l.string,list:l.string,minLength:l.number,htmlSize:l.number,autofocus:l.boolean},js={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},Hs={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},Fs={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},rc=H("TextInput",zs),ic=H("EmailInput",Rs),lc=H("PasswordInput",Hs),cc=H("NumberInput",js),dc=H("SearchInput",Fs);var Bs="./Listbox-83j2q4x6.stx";var Ws="./ListboxButton-gan8e3nw.stx";var _s="./ListboxLabel-ka0hfm7b.stx";var Js="./ListboxOption-gpaqvk3s.stx";var Ys="./ListboxOptions-2928864k.stx";var Qs="./FilterChip-00ja5jhz.stx";var eo="./FilterChips-7pnzycfd.stx";var so="./ListRow-8d3e1yxh.stx";var no="./NavBar-qqrrhdnk.stx";var ro="./SectionCard-8ctdacjr.stx";var lo="./TabBar-8143650x.stx";var po="./TabBarItem-kddfnhk3.stx";var ho="./Navigator-1yk1c3pp.stx";var mo="./Notification-b3cz24f0.stx";var bo="./Pager-kh6s65t2.stx";var vo="./PagerDots-076w890y.stx";var yo="./Pagination-8bhbkpcp.stx";var Co="./Checkout-crbegxyv.stx";var So="./DefaultPaymentMethod-ss3x61tr.stx";var Eo="./PaymentMethods-z4hhr0kv.stx";var Ao="./SubscriptionCheckout-rdcv32n1.stx";var Lo="./Popover-khtvagcs.stx";var No="./PopoverButton-3w6550hv.stx";var Mo="./PopoverPanel-d84gk1w1.stx";var zo="./Portal-m73vz879.stx";var Ho="./Progress-2qzb77kc.stx";var Vo="./Radio-8153x74w.stx";var qo="./RadioGroup-smqcqgds.stx";var Ko="./RadioGroupDescription-z34r9avr.stx";var Uo="./RadioGroupLabel-ka0hfm7b.stx";var Go="./RadioGroupOption-twcw1b2a.stx";var Xo="./Select-61zv5tr7.stx";var Zo="./Sidebar-8dygywjv.stx";var tn="./SidebarFooter-s7skj92y.stx";var on="./SidebarHeader-x7jdhmyr.stx";var an="./SidebarItem-r4f2pref.stx";var ln="./SidebarPinned-48kyk193.stx";var dn="./SidebarSection-5sqza2j6.stx";var un="./SidebarSpace-bwv98azf.stx";var fn="./SidebarSpaces-mdtrynr2.stx";var gn="./SidebarSpaceSwitcher-1mycft2g.stx";var ae={blue:"#0088ff",red:"#ff383c",pink:"#ff2d55",orange:"#ff8d28",yellow:"#ffcc00",green:"#34c759",teal:"#00c3d0",cyan:"#00c0e8",indigo:"#6155f5",purple:"#cb30e0",brown:"#ac7f5e",gray:"#8e8e93"},_={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}},bn={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}},xn={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}},vn={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}},wn={..._,pane:"bg-stone-100 dark:bg-neutral-900 text-black dark:text-white select-none",layers:{}},yn={..._,pane:"bg-transparent text-black dark:text-white select-none",layers:{}},kn={..._,pane:"bg-white/50 dark:bg-black/40 backdrop-blur-3xl backdrop-saturate-200 text-black dark:text-white select-none",layers:{}},Ne={macos:_,tahoe:_,"macos-tahoe":_,"macos-latest":_,arc:vn,workspace:bn,desktop:xn,solid:wn,transparent:yn,vibrancy:kn};function Gd(e){return Ne[e||"macos"]||Ne.macos}function Yd(e){if(!e)return;return ae[e]||e}var Cn=ae.gray;function q(e,t,s){return`color-mix(in oklab, ${e} ${t}%, ${s})`}function De(e){return{light:{from:q(e,35,"#ffffff"),to:q(e,12.5,"#ffffff"),ink:q(e,22,"#17171b"),accent:q(e,88,"#2a2a30")},dark:{from:q(e,27,"#101014"),to:q(e,10,"#08080b"),ink:q(e,12,"#f4f4f7"),accent:q(e,74,"#ffffff")}}}function Zd(e,t){return`linear-gradient(180deg, ${e} 0%, ${t} 100%)`}function $n(e){if(!e)return De(Cn);if(typeof e!=="string")return e;return De(ae[e]||e)}function Sn(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 Me(e,t,s,o){if(!e||!e.label)return null;return{id:e.id||`${t}-${s}`,label:e.label,icon:e.icon||o}}function Tn(e){let t=$n(e.tint);return{id:e.id,label:e.label||"",icon:e.icon||"",pinned:e.pinned||[],sections:e.sections||[],action:Me(e.action,e.id,"action","i-f7-plus"),clear:Me(e.clear,e.id,"clear","i-f7-arrow-down"),tint:t,style:Sn(t),deferred:e.deferred===!0,showTitle:e.showTitle??!0}}function ep(e){return(e||[]).map(Tn)}function tp(e,t){if(!t)return 0;let s=e.findIndex((o)=>o.id===t);return s===-1?0:s}function sp(e){return e.map((t)=>t.tint)}var In="./Skeleton-m4p66zcs.stx";var Pn="./Spinner-vhnc3y03.stx";var On="./Stepper-68gxcmej.stx";var Dn="./StepperStep-zf4pq1s0.stx";class re{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,n=e.newValue?JSON.parse(e.newValue).value:null;s.forEach((a)=>a(n,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=[],n="";for(let a=0;a<e.length;a++){let r=e.charAt(a),i=n+r;if(t[i]!==void 0)n=i;else o.push(n.length>1?t[n]:n.charCodeAt(0)),t[i]=s++,n=r}if(n!=="")o.push(n.length>1?t[n]:n.charCodeAt(0));return JSON.stringify(o)}decompress(e){try{let t=JSON.parse(e);if(!Array.isArray(t))return e;let s={},o=256,n=String.fromCharCode(t[0]),a=n;for(let r=1;r<t.length;r++){let i=t[r],c;if(s[i]!==void 0)c=s[i];else if(i===o)c=n+n.charAt(0);else return e;a+=c,s[o++]=n+c.charAt(0),n=c}return a}catch{return e}}getKey(e){return this.namespace?`${this.namespace}:${e}`:e}set(e,t,s){let o=this.getKey(e),n=this.get(e),a={value:t,timestamp:Date.now(),expire:s?.expire,encrypted:s?.encrypt||!1,compressed:s?.compress||!1};try{let r=JSON.stringify(a);if(s?.compress)r=this.compress(r);if(s?.encrypt)r=this.encrypt(r);this.storage.setItem(o,r),this.notifyWatchers(e,t,n)}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((n)=>n(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 n=this.storage.getItem(o)||"";e+=o.length+n.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 Ip={local:new re("local"),session:new re("session")};function Ap(e="local",t){return new re(e,t)}var Rn="./Switch-acwd7n07.stx";var jn="./Table-0a4y46vd.stx";var Fn="./TableBody-y49bqb1p.stx";var Bn="./TableCell-jhvsxw8b.stx";var Wn="./TableHead-e9xvjx2j.stx";var _n="./TableHeader-krzcx4sv.stx";var Jn="./TableRow-dt8e11aj.stx";var Yn="./Tab-46mxm7f8.stx";var Qn="./TabList-76bpx5fp.stx";var ea="./TabPanel-5htevsq6.stx";var sa="./Tabs-1swcxmfb.stx";var na="./Teleport-vqs75x36.stx";var ra="./Textarea-9xmhjqp8.stx";var la="./Tooltip-rg1c2zrc.stx";var da="./Transition-7m0mk45s.stx";var ua="./Video-sc26cz9v.stx";var fa="./VirtualList-fa7v5a3h.stx";var ga="./VirtualTable-kp7b3wyv.stx";var ba=0;function Re(e="a11y"){return`${e}-${++ba}-${Date.now()}`}function Cu(e,t,s={}){let{visible:o=!1,id:n=Re("label")}=s,a=document.createElement(o?"label":"span");if(a.id=n,a.textContent=e,!o)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"});if(t)if(t.setAttribute("aria-labelledby",n),t.parentElement)t.parentElement.insertBefore(a,t);else document.body.appendChild(a);return n}function $u(e,t){let s=Re("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 Su(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 ve(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 Tu(e,t={}){let{initialFocus:s,returnFocus:o,escapeDeactivates:n=!0,clickOutsideDeactivates:a=!0,allowOutsideClick:r=!1,onActivate:i,onDeactivate:c}=t,p=!1,u=!1,d=null,g=(v)=>{if(u)return;if(n&&v.key==="Escape"){v.preventDefault(),C();return}if(v.key==="Tab"){let E=ve(e);if(E.length===0){v.preventDefault();return}let A=E[0],S=E[E.length-1];if(v.shiftKey){if(document.activeElement===A)v.preventDefault(),S.focus()}else if(document.activeElement===S)v.preventDefault(),A.focus()}},m=(v)=>{if(u)return;if(!e.contains(v.target)){if(typeof r==="function"){if(!r(v)&&a)C()}else if(!r&&a)C()}};function k(){if(p)return;p=!0,d=document.activeElement;let v=s||ve(e)[0];if(v&&typeof v.focus==="function")v.focus();document.addEventListener("keydown",g),document.addEventListener("click",m),i?.()}function C(){if(!p)return;p=!1;let v=o||d;if(v&&typeof v.focus==="function")v.focus();document.removeEventListener("keydown",g),document.removeEventListener("click",m),c?.()}function y(){u=!0}function b(){u=!1}return{activate:k,deactivate:C,pause:y,unpause:b}}function Eu(e,t={}){let{selector:s='[role="option"], [role="menuitem"], [role="tab"], button',initialIndex:o=0,orientation:n="both",loop:a=!0,onFocusChange:r}=t,i=o,c=()=>Array.from(e.querySelectorAll(s)),p=(d)=>{let g=c();if(d<0||d>=g.length)return;g.forEach((m,k)=>{if(k===d){if(m.setAttribute("tabindex","0"),typeof m.focus==="function")m.focus()}else m.setAttribute("tabindex","-1")}),i=d,r?.(d,g[d])},u=(d)=>{let m=c().length-1,k=!1,C=i;switch(d.key){case"ArrowRight":if(n==="horizontal"||n==="both"){if(C=i+1,C>m)C=a?0:m;k=!0}break;case"ArrowLeft":if(n==="horizontal"||n==="both"){if(C=i-1,C<0)C=a?m:0;k=!0}break;case"ArrowDown":if(n==="vertical"||n==="both"){if(C=i+1,C>m)C=a?0:m;k=!0}break;case"ArrowUp":if(n==="vertical"||n==="both"){if(C=i-1,C<0)C=a?m:0;k=!0}break;case"Home":C=0,k=!0;break;case"End":C=m,k=!0;break}if(k)d.preventDefault(),p(C)};return p(o),e.addEventListener("keydown",u),()=>{e.removeEventListener("keydown",u)}}var Iu={Enter:"Enter",Space:" ",Escape:"Escape",ArrowUp:"ArrowUp",ArrowDown:"ArrowDown",ArrowLeft:"ArrowLeft",ArrowRight:"ArrowRight",Tab:"Tab",Home:"Home",End:"End",PageUp:"PageUp",PageDown:"PageDown"};function Au(e){return document.activeElement===e}function Pu(e,t){let s=t||document.activeElement,o=ve(document.body),n=o.indexOf(s);if(n===-1)return;let a=e==="next"?n+1:n-1,r=o[a];if(r)r.focus()}function Lu(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 Ou={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 Nu(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 Du(){if(typeof window.matchMedia==="function")return window.matchMedia("(prefers-reduced-motion: reduce)").matches;return!1}function Mu(){if(typeof window.matchMedia==="function")return window.matchMedia("(prefers-contrast: high)").matches;return!1}function Ru(){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 zu(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 ju(e){let t=[],s=(o)=>{let n=e.getAttribute(o);if(n){let a=n.split(" ");for(let r of a)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 xa=(e,t,s,o)=>s*e/o+t,va=(e,t,s,o)=>(e/=o,s*e*e+t),wa=(e,t,s,o)=>(e/=o,-s*e*(e-2)+t),ya=(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},ka=(e,t,s,o)=>(e/=o,s*e*e*e+t),Ca=(e,t,s,o)=>(e/=o,e--,s*(e*e*e+1)+t),$a=(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},Sa=(e,t,s,o)=>(e/=o,s*e*e*e*e+t),Ta=(e,t,s,o)=>(e/=o,e--,-s*(e*e*e*e-1)+t),Ea=(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},Ia=(e,t,s,o)=>(e/=o,s*e*e*e*e*e+t),Aa=(e,t,s,o)=>(e/=o,e--,s*(e*e*e*e*e+1)+t),Pa=(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},La=(e,t,s,o)=>-s*Math.cos(e/o*(Math.PI/2))+s+t,Oa=(e,t,s,o)=>s*Math.sin(e/o*(Math.PI/2))+t,Na=(e,t,s,o)=>-s/2*(Math.cos(Math.PI*e/o)-1)+t,Da=(e,t,s,o)=>e===0?t:s*2**(10*(e/o-1))+t,Ma=(e,t,s,o)=>e===o?t+s:s*(-(2**(-10*e/o))+1)+t,Ra=(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},za=(e,t,s,o)=>(e/=o,-s*(Math.sqrt(1-e*e)-1)+t),ja=(e,t,s,o)=>(e/=o,e--,s*Math.sqrt(1-e*e)+t),Ha=(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},Fa=(e,t,s,o)=>{let n=1.70158,a=0,r=s;if(e===0)return t;if(e/=o,e===1)return t+s;if(!a)a=o*0.3;if(r<Math.abs(s))r=s,n=a/4;else n=a/(2*Math.PI)*Math.asin(s/r);return e-=1,-(r*2**(10*e)*Math.sin((e*o-n)*(2*Math.PI)/a))+t},Va=(e,t,s,o)=>{let n=1.70158,a=0,r=s;if(e===0)return t;if(e/=o,e===1)return t+s;if(!a)a=o*0.3;if(r<Math.abs(s))r=s,n=a/4;else n=a/(2*Math.PI)*Math.asin(s/r);return r*2**(-10*e)*Math.sin((e*o-n)*(2*Math.PI)/a)+s+t},Ba=(e,t,s,o)=>{let n=1.70158,a=0,r=s;if(e===0)return t;if(e/=o/2,e===2)return t+s;if(!a)a=o*0.44999999999999996;if(r<Math.abs(s))r=s,n=a/4;else n=a/(2*Math.PI)*Math.asin(s/r);if(e<1)return e-=1,-0.5*(r*2**(10*e)*Math.sin((e*o-n)*(2*Math.PI)/a))+t;return e-=1,r*2**(-10*e)*Math.sin((e*o-n)*(2*Math.PI)/a)*0.5+s+t},qa=(e,t,s,o)=>(e/=o,s*e*e*(2.70158*e-1.70158)+t),Wa=(e,t,s,o)=>(e/=o,e--,s*(e*e*(2.70158*e+1.70158)+1)+t),Ka=(e,t,s,o)=>{let n=1.70158;if(e/=o/2,e<1)return n*=1.525,s/2*(e*e*((n+1)*e-n))+t;return e-=2,n*=1.525,s/2*(e*e*((n+1)*e+n)+2)+t},we=(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},ze=(e,t,s,o)=>s-we(o-e,0,s,o)+t,_a=(e,t,s,o)=>{if(e<o/2)return ze(e*2,0,s,o)*0.5+t;return we(e*2-o,0,s,o)*0.5+s*0.5+t},Fu={linear:xa,easeInQuad:va,easeOutQuad:wa,easeInOutQuad:ya,easeInCubic:ka,easeOutCubic:Ca,easeInOutCubic:$a,easeInQuart:Sa,easeOutQuart:Ta,easeInOutQuart:Ea,easeInQuint:Ia,easeOutQuint:Aa,easeInOutQuint:Pa,easeInSine:La,easeOutSine:Oa,easeInOutSine:Na,easeInExpo:Da,easeOutExpo:Ma,easeInOutExpo:Ra,easeInCirc:za,easeOutCirc:ja,easeInOutCirc:Ha,easeInElastic:Fa,easeOutElastic:Va,easeInOutElastic:Ba,easeInBack:qa,easeOutBack:Wa,easeInOutBack:Ka,easeInBounce:ze,easeOutBounce:we,easeInOutBounce:_a};function Ua(e,t={}){let{duration:s="1s",timing:o="ease",delay:n="0s",iteration:a="1",direction:r="normal",fill:i="both",playState:c="running"}=t;return`${e} ${s} ${o} ${n} ${a} ${r} ${i} ${c}`}function je(e,t,s={}){e.style.animation=Ua(t,s)}function Bu(e){e.style.animation=""}function Ja(e){return new Promise((t)=>{let s=()=>{e.removeEventListener("animationend",s),t()};e.addEventListener("animationend",s)})}function qu(e,t,s={}){let{stagger:o=100,...n}=s;e.forEach((a,r)=>{let i=`${r*o}ms`;je(a,t,{...n,delay:i})})}async function Wu(e,t){for(let s of t)je(e,s.name,s.options),await Ja(e)}var Ku={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 _u(e,t,s=1000){return new Promise((o)=>{e.classList.add(t),setTimeout(()=>{e.classList.remove(t),o()},s)})}function Uu(e,t){let s=`
|
|
12
12
|
@keyframes ${e} {
|
|
13
13
|
${Object.entries(t).map(([n,a])=>{let r=Object.entries(a).map(([i,c])=>`${i}: ${c};`).join(" ");return`${n} { ${r} }`}).join(`
|
|
14
14
|
`)}
|
|
15
15
|
}
|
|
16
|
-
`,o=document.createElement("style");o.textContent=s,document.head.appendChild(o)}function
|
|
16
|
+
`,o=document.createElement("style");o.textContent=s,document.head.appendChild(o)}function Ga(e,t,s={}){if(typeof e.animate!=="function")return console.warn("Web Animations API not supported"),null;let{duration:o=1000,easing:n="ease",delay:a=0,iterations:r=1,direction:i="normal",fill:c="both"}=s;return e.animate([...t],{duration:o,easing:n,delay:a,iterations:r,direction:i,fill:c})}var Ya={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 Gu(e,t,s={}){return Ga(e,Ya[t],s)}async function Xa(){try{let e=await import("ts-syntax-highlighter");return e.createHighlighter}catch{return null}}var ye=null,Fe="github-light",Ve="github-dark";function ke(e){return`<pre class="syntax"><code>${e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}</code></pre>`}async function Qa(){if(!ye){let e=await Xa();if(!e)throw Error("ts-syntax-highlighter could not be loaded");ye=await e({theme:"github-light"})}return ye}var Za=/<span class="([^"]*)"[^>]*style="([^"]*)"/g,Be=/^token\s+(\S.*)$/;function He(e){let t=[];for(let s of e.matchAll(Za)){let o=Be.exec(s[1]??"");if(o)t.push([o[1].trim(),s[2]??""])}return t}function er(e){return/^[\w-]+$/.test(e)}async function tr(e,t,s){let o,n;try{o=await e.highlight(t,s,{theme:Fe}),n=await e.highlight(t,s,{theme:Ve})}catch{return null}let a=o?.html,r=n?.html;if(!a||!r)return null;let i=He(a),c=He(r);if(i.length===0||i.length!==c.length)return null;let p=new Map;for(let y=0;y<i.length;y++){let[b,v]=i[y],E=c[y][1];if(!b||!v||!E||p.has(b)||!er(b))continue;p.set(b,{light:v,dark:E})}if(p.size===0)return null;let u=[],d=[];for(let[y,{light:b,dark:v}]of p)u.push(`.syntax .token.${y} { ${b} }`),d.push(`.syntax .token.${y} { ${v} }`);let g=/\.syntax\s*\{([^}]*)\}/.exec(n.css??"")?.[1],m=g?g.split(";").map((y)=>y.trim()).filter((y)=>/^(?:background-color|color)\s*:/.test(y)).join("; "):"";if(m)d.unshift(`.syntax { ${m} }`);let k=[o.css??"",u.join(`
|
|
17
17
|
`),`@media (prefers-color-scheme: dark) {
|
|
18
18
|
:root:not(.light) ${d.join(`
|
|
19
19
|
:root:not(.light) `)}
|
|
20
|
-
}`,d.map((
|
|
20
|
+
}`,d.map((y)=>`.dark ${y}`).join(`
|
|
21
21
|
`)].filter(Boolean).join(`
|
|
22
|
-
`);return{html:a.replace(/(<span class="[^"]*")[^>]*?\s+style="[^"]*"/g,(k,b)=>Fe.test(/class="([^"]*)"/.exec(b)?.[1]??"")?b:k),css:y}}async function Uu(e,t={}){let{theme:s="auto",language:o="typescript",lineNumbers:n=!1,wrapLines:a=!0}=t,r=s==="auto"?globalThis.matchMedia?.("(prefers-color-scheme: dark)").matches?"github-dark":"github-light":s==="dark"?He:je,i;try{i=await Ga()}catch{return{html:ye(e),css:"",language:o,theme:r}}if(s==="auto"){let d=await Qa(i,e,o);if(d)return{html:d.html,css:d.css,language:o,theme:"auto"}}let c;try{c=await i.highlight(e,o,{theme:r})}catch{return{html:ye(e),css:"",language:o,theme:r}}let p=c,u=typeof p==="string"?{html:p,css:""}:{html:p?.html??ye(e),css:p?.css??""};return{html:u.html,css:u.css,language:o,theme:r}}function Ju(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 Gu(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 F=null,Za=(e)=>e===1?0:1;function re(e,t){return t.split(".").reduce((s,o)=>s?.[o],e)}function ke(e,t={}){return e.replace(/\{(\w+)\}/g,(s,o)=>t[o]!==void 0?String(t[o]):s)}function Xu(e){let{locale:t,fallbackLocale:s="en",messages:o,pluralRules:n={},dateTimeFormats:a={},numberFormats:r={},missing:i,warnMissing:c=!0}=e;function p(b,x={}){let E=re(o[t],b);if(E===void 0&&s)E=re(o[s],b);if(E===void 0){if(i){let A=i(t,b);if(A)return ke(A,x)}if(c&&typeof console<"u")console.warn(`[i18n] Missing translation for key "${b}" in locale "${t}"`);return b}if(typeof E==="string")return ke(E,x);return String(E)}function u(b,x,E={}){let A=p(b,{...E,count:x});if(A.includes("|")){let S=A.split("|").map((K)=>K.trim()),z=(n[t]||Za)(x,t),B=S[z]||S[S.length-1];return ke(B,{...E,count:x})}return A}function d(b,x="default"){let E=typeof b==="number"?new Date(b):b,A=a[x]||a.default||{};return new Intl.DateTimeFormat(t,A).format(E)}function g(b,x="default"){let E=r[x]||r.default||{};return new Intl.NumberFormat(t,E).format(b)}function m(b){if(re(o[t],b)!==void 0)return!0;if(s)return re(o[s],b)!==void 0;return!1}function y(b){if(!o[b]){console.warn(`[i18n] Locale "${b}" not found. Available locales: ${Object.keys(o).join(", ")}`);return}t=b}function C(b,x){if(!o[b])o[b]={};o[b]={...o[b],...x}}function k(b){delete o[b]}return{get locale(){return t},get availableLocales(){return Object.keys(o)},setLocale:y,t:p,tc:u,d,n:g,te:m,addMessages:C,removeLocale:k}}function Qu(e){F=e}function Zu(){return F}function eh(e,t){if(!F)return console.warn("[i18n] No global i18n instance set. Call setI18n() first."),e;return F.t(e,t)}function th(e,t,s){if(!F)return console.warn("[i18n] No global i18n instance set. Call setI18n() first."),e;return F.tc(e,t,s)}function sh(e,t){if(!F)return console.warn("[i18n] No global i18n instance set. Call setI18n() first."),String(e);return F.d(e,t)}function oh(e,t){if(!F)return console.warn("[i18n] No global i18n instance set. Call setI18n() first."),String(e);return F.n(e,t)}var nh={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},ah={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"}},rh={decimal:{style:"decimal",minimumFractionDigits:2,maximumFractionDigits:2},currency:{style:"currency",currency:"USD"},percent:{style:"percent",minimumFractionDigits:0,maximumFractionDigits:2},compact:{notation:"compact"}};function ih(e){let t=["ar","he","fa","ur","yi"],s=e.split("-")[0].toLowerCase();return t.includes(s)}async function lh(e,t){try{return await t()}catch(s){return console.error(`[i18n] Failed to load messages for locale "${e}":`,s),{}}}var ch={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 ph(e={}){let{max:t=10,ttl:s=0,include:o,exclude:n,hooks:a,debug:r=!1}=e,i=new Map,c=0,p=0;function u(...h){if(r)console.log("[KeepAlive]",...h)}function d(h){if(n){if(n instanceof RegExp&&n.test(h))return!1;if(Array.isArray(n)&&n.includes(h))return!1}if(o){if(o instanceof RegExp&&!o.test(h))return!1;if(Array.isArray(o)&&!o.includes(h))return!1}return!0}function g(h){if(!s||!h.expiresAt)return!1;return Date.now()>h.expiresAt}function m(h){let f=i.get(h);if(f)f.lastAccessedAt=Date.now(),f.accessCount++,f.instance.lastAccessedAt=f.lastAccessedAt,i.delete(h),i.set(h,f),u(`Touched: ${h} (access count: ${f.accessCount})`)}function y(){if(i.size===0)return!1;let h=i.keys().next().value;if(!h)return!1;let f=i.get(h);if(f){u(`Evicting LRU: ${h}`);let T=f.instance.hooks;if(T?.onDeactivate)T.onDeactivate(f.instance);if(a?.onDeactivate)a.onDeactivate(f.instance);return i.delete(h),!0}return!1}function C(h,f,T){if(!d(f.type))return u(`Type not cacheable: ${f.type}`),f;if(i.size>=t)y();let M=Date.now(),U={instance:{...f,hooks:T||f.hooks,createdAt:f.createdAt||M,lastAccessedAt:M},accessCount:0,createdAt:M,lastAccessedAt:M,expiresAt:s?M+s:void 0};if(i.set(h,U),u(`Cached: ${h} (size: ${i.size}/${t})`),T?.onMount)T.onMount(U.instance);if(a?.onMount)a.onMount(U.instance);return U.instance}function k(h){let f=i.get(h);if(!f)return p++,u(`Miss: ${h}`),null;if(g(f))return u(`Expired: ${h}`),i.delete(h),p++,null;return c++,m(h),u(`Hit: ${h}`),f.instance}function b(h){let f=i.get(h);if(!f)return!1;if(g(f))return i.delete(h),!1;return!0}function x(h){let f=i.get(h);if(!f)return!1;u(`Removing: ${h}`);let T=f.instance.hooks;if(T?.onUnmount)T.onUnmount(f.instance);if(a?.onUnmount)a.onUnmount(f.instance);return i.delete(h)}function E(){u("Clearing cache"),i.forEach((h)=>{let f=h.instance.hooks;if(f?.onUnmount)f.onUnmount(h.instance);if(a?.onUnmount)a.onUnmount(h.instance)}),i.clear(),c=0,p=0}function A(){let h=0,f=Date.now();for(let[T,M]of i.entries())if(g(M))u(`Pruning expired: ${T}`),x(T),h++;while(i.size>t)if(y())h++;else break;if(h>0)u(`Pruned ${h} entries`);return h}function S(h){let f=k(h);if(!f)return null;u(`Activating: ${h}`);let T=f.hooks;if(T?.onActivate)T.onActivate(f);if(a?.onActivate)a.onActivate(f);if(f.state&&T?.onRestore)T.onRestore(f,f.state);return f}function V(h){let f=i.get(h);if(!f)return!1;u(`Deactivating: ${h}`);let T=f.instance,M=T.hooks;if(M?.onSave)T.state=M.onSave(T);if(M?.onDeactivate)M.onDeactivate(T);if(a?.onDeactivate)a.onDeactivate(T);return!0}function z(){let h=c+p;return{hits:c,misses:p,size:i.size,max:t,hitRate:h>0?c/h:0,keys:Array.from(i.keys())}}function B(){return Array.from(i.keys())}function K(){return i.size}return{cache:C,get:k,has:b,remove:x,clear:E,prune:A,activate:S,deactivate:V,getStats:z,keys:B,size:K}}function uh(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 n=t.keys().next().value;if(n)t.delete(n)}},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 hh(){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 fh(e,t={}){let{maxSize:s=100,reset:o}=t,n=[];return{acquire(){if(n.length>0)return n.pop();return e()},release(a){if(n.length<s){if(o)o(a);n.push(a)}},clear(){n.length=0},get size(){return n.length},get maxSize(){return s}}}var W=new Map;async function ie(e,t){let s=t||e.toString();if(W.has(s))return W.get(s);let o=e();W.set(s,o);try{return await o}catch(n){throw W.delete(s),n}}function gh(e,t={}){let{retryAttempts:s=3,retryDelay:o=1000,onLoading:n,onLoaded:a,onError:r}=t,i="idle",c,p,u=async(d=0)=>{try{if(i==="loading"||i==="loaded"){if(c)return c}i="loading",n?.();let g=await ie(e);return c=g,i="loaded",a?.(g),g}catch(g){let m=g;if(d<s)return await new Promise((y)=>setTimeout(y,o*(d+1))),u(d+1);throw i="error",p=m,r?.(m),m}};return{get state(){return i},get module(){return c},get error(){return p},load:()=>u(),preload:()=>u()}}function er(e,t,s={}){if(!e)return console.warn("lazyLoad: element is null"),()=>{};let{root:o=null,rootMargin:n="0px",threshold:a=0.01,placeholder:r,errorContent:i,onLoading:c,onLoaded:p,onError:u}=s,d=!1,g=null;if(r)if(typeof r==="string")e.innerHTML=r;else e.innerHTML="",e.appendChild(r);return g=new IntersectionObserver(async(y)=>{for(let C of y)if(C.isIntersecting&&!d){d=!0,g?.disconnect();try{c?.();let k=await ie(t);if(p?.(k),k&&typeof k.default?.render==="function"){let b=await k.default.render();e.innerHTML=b}}catch(k){let b=k;if(u?.(b),i)if(typeof i==="string")e.innerHTML=i;else e.innerHTML="",e.appendChild(i);else e.innerHTML=`<div style="color: red;">Failed to load component: ${b.message}</div>`}}},{root:o,rootMargin:n,threshold:a}),g.observe(e),()=>{g?.disconnect(),g=null}}function bh(e,t,s={}){let o=[],n=Array.from(e);for(let a of n){let r=typeof t==="function"&&t.length>0?()=>t(a):t,i=er(a,r,s);o.push(i)}return()=>{o.forEach((a)=>a())}}function tr(e){return ie(e)}function xh(e){return Promise.all(e.map((t)=>tr(t)))}function vh(e){if(e)W.delete(e);else W.clear()}function wh(){return{size:W.size,keys:Array.from(W.keys())}}function yh(e){return{async load(t){let s=e[t];if(!s)throw Error(`No route found for path: ${t}`);return ie(s,`route:${t}`)},async preload(t){return this.load(t)},async preloadRoutes(t){return Promise.all(t.map((s)=>this.preload(s)))}}}function sr(e,t,s={}){if(!e)return()=>{};let{root:o=null,rootMargin:n="50px",threshold:a=0.01,placeholder:r,onLoading:i,onLoaded:c,onError:p}=s;if(r&&typeof r==="string")e.src=r;let u=!1,d=null;return d=new IntersectionObserver((m)=>{for(let y of m)if(y.isIntersecting&&!u)u=!0,d?.disconnect(),i?.(),e.src=t,e.addEventListener("load",()=>{c?.(e),e.classList.add("loaded")},{once:!0}),e.addEventListener("error",(C)=>{let k=Error(`Failed to load image: ${t}`);p?.(k),e.classList.add("error")},{once:!0})},{root:o,rootMargin:n,threshold:a}),d.observe(e),()=>{d?.disconnect(),d=null}}function kh(e=document,t={}){let s=e.querySelectorAll("img[data-lazy-src]"),o=[];return s.forEach((n)=>{let a=n.getAttribute("data-lazy-src");if(a){let r=sr(n,a,t);o.push(r)}}),()=>{o.forEach((n)=>n())}}var Ce={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 Ve(e,t){let s={...e};for(let o in t)if(t[o]instanceof Object&&o in e)s[o]=Ve(e[o],t[o]);else s[o]=t[o];return s}function Z(e){return Ve(Ce,e)}var le=Ce;function $h(){return le}function or(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 {
|
|
22
|
+
`);return{html:a.replace(/(<span class="[^"]*")[^>]*?\s+style="[^"]*"/g,(y,b)=>Be.test(/class="([^"]*)"/.exec(b)?.[1]??"")?b:y),css:k}}async function Xu(e,t={}){let{theme:s="auto",language:o="typescript",lineNumbers:n=!1,wrapLines:a=!0}=t,r=s==="auto"?globalThis.matchMedia?.("(prefers-color-scheme: dark)").matches?"github-dark":"github-light":s==="dark"?Ve:Fe,i;try{i=await Qa()}catch{return{html:ke(e),css:"",language:o,theme:r}}if(s==="auto"){let d=await tr(i,e,o);if(d)return{html:d.html,css:d.css,language:o,theme:"auto"}}let c;try{c=await i.highlight(e,o,{theme:r})}catch{return{html:ke(e),css:"",language:o,theme:r}}let p=c,u=typeof p==="string"?{html:p,css:""}:{html:p?.html??ke(e),css:p?.css??""};return{html:u.html,css:u.css,language:o,theme:r}}function Qu(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 Zu(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 F=null,sr=(e)=>e===1?0:1;function ie(e,t){return t.split(".").reduce((s,o)=>s?.[o],e)}function Ce(e,t={}){return e.replace(/\{(\w+)\}/g,(s,o)=>t[o]!==void 0?String(t[o]):s)}function th(e){let{locale:t,fallbackLocale:s="en",messages:o,pluralRules:n={},dateTimeFormats:a={},numberFormats:r={},missing:i,warnMissing:c=!0}=e;function p(b,v={}){let E=ie(o[t],b);if(E===void 0&&s)E=ie(o[s],b);if(E===void 0){if(i){let A=i(t,b);if(A)return Ce(A,v)}if(c&&typeof console<"u")console.warn(`[i18n] Missing translation for key "${b}" in locale "${t}"`);return b}if(typeof E==="string")return Ce(E,v);return String(E)}function u(b,v,E={}){let A=p(b,{...E,count:v});if(A.includes("|")){let S=A.split("|").map((K)=>K.trim()),z=(n[t]||sr)(v,t),B=S[z]||S[S.length-1];return Ce(B,{...E,count:v})}return A}function d(b,v="default"){let E=typeof b==="number"?new Date(b):b,A=a[v]||a.default||{};return new Intl.DateTimeFormat(t,A).format(E)}function g(b,v="default"){let E=r[v]||r.default||{};return new Intl.NumberFormat(t,E).format(b)}function m(b){if(ie(o[t],b)!==void 0)return!0;if(s)return ie(o[s],b)!==void 0;return!1}function k(b){if(!o[b]){console.warn(`[i18n] Locale "${b}" not found. Available locales: ${Object.keys(o).join(", ")}`);return}t=b}function C(b,v){if(!o[b])o[b]={};o[b]={...o[b],...v}}function y(b){delete o[b]}return{get locale(){return t},get availableLocales(){return Object.keys(o)},setLocale:k,t:p,tc:u,d,n:g,te:m,addMessages:C,removeLocale:y}}function sh(e){F=e}function oh(){return F}function nh(e,t){if(!F)return console.warn("[i18n] No global i18n instance set. Call setI18n() first."),e;return F.t(e,t)}function ah(e,t,s){if(!F)return console.warn("[i18n] No global i18n instance set. Call setI18n() first."),e;return F.tc(e,t,s)}function rh(e,t){if(!F)return console.warn("[i18n] No global i18n instance set. Call setI18n() first."),String(e);return F.d(e,t)}function ih(e,t){if(!F)return console.warn("[i18n] No global i18n instance set. Call setI18n() first."),String(e);return F.n(e,t)}var lh={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},ch={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"}},dh={decimal:{style:"decimal",minimumFractionDigits:2,maximumFractionDigits:2},currency:{style:"currency",currency:"USD"},percent:{style:"percent",minimumFractionDigits:0,maximumFractionDigits:2},compact:{notation:"compact"}};function ph(e){let t=["ar","he","fa","ur","yi"],s=e.split("-")[0].toLowerCase();return t.includes(s)}async function uh(e,t){try{return await t()}catch(s){return console.error(`[i18n] Failed to load messages for locale "${e}":`,s),{}}}var hh={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 mh(e={}){let{max:t=10,ttl:s=0,include:o,exclude:n,hooks:a,debug:r=!1}=e,i=new Map,c=0,p=0;function u(...h){if(r)console.log("[KeepAlive]",...h)}function d(h){if(n){if(n instanceof RegExp&&n.test(h))return!1;if(Array.isArray(n)&&n.includes(h))return!1}if(o){if(o instanceof RegExp&&!o.test(h))return!1;if(Array.isArray(o)&&!o.includes(h))return!1}return!0}function g(h){if(!s||!h.expiresAt)return!1;return Date.now()>h.expiresAt}function m(h){let f=i.get(h);if(f)f.lastAccessedAt=Date.now(),f.accessCount++,f.instance.lastAccessedAt=f.lastAccessedAt,i.delete(h),i.set(h,f),u(`Touched: ${h} (access count: ${f.accessCount})`)}function k(){if(i.size===0)return!1;let h=i.keys().next().value;if(!h)return!1;let f=i.get(h);if(f){u(`Evicting LRU: ${h}`);let T=f.instance.hooks;if(T?.onDeactivate)T.onDeactivate(f.instance);if(a?.onDeactivate)a.onDeactivate(f.instance);return i.delete(h),!0}return!1}function C(h,f,T){if(!d(f.type))return u(`Type not cacheable: ${f.type}`),f;if(i.size>=t)k();let M=Date.now(),U={instance:{...f,hooks:T||f.hooks,createdAt:f.createdAt||M,lastAccessedAt:M},accessCount:0,createdAt:M,lastAccessedAt:M,expiresAt:s?M+s:void 0};if(i.set(h,U),u(`Cached: ${h} (size: ${i.size}/${t})`),T?.onMount)T.onMount(U.instance);if(a?.onMount)a.onMount(U.instance);return U.instance}function y(h){let f=i.get(h);if(!f)return p++,u(`Miss: ${h}`),null;if(g(f))return u(`Expired: ${h}`),i.delete(h),p++,null;return c++,m(h),u(`Hit: ${h}`),f.instance}function b(h){let f=i.get(h);if(!f)return!1;if(g(f))return i.delete(h),!1;return!0}function v(h){let f=i.get(h);if(!f)return!1;u(`Removing: ${h}`);let T=f.instance.hooks;if(T?.onUnmount)T.onUnmount(f.instance);if(a?.onUnmount)a.onUnmount(f.instance);return i.delete(h)}function E(){u("Clearing cache"),i.forEach((h)=>{let f=h.instance.hooks;if(f?.onUnmount)f.onUnmount(h.instance);if(a?.onUnmount)a.onUnmount(h.instance)}),i.clear(),c=0,p=0}function A(){let h=0,f=Date.now();for(let[T,M]of i.entries())if(g(M))u(`Pruning expired: ${T}`),v(T),h++;while(i.size>t)if(k())h++;else break;if(h>0)u(`Pruned ${h} entries`);return h}function S(h){let f=y(h);if(!f)return null;u(`Activating: ${h}`);let T=f.hooks;if(T?.onActivate)T.onActivate(f);if(a?.onActivate)a.onActivate(f);if(f.state&&T?.onRestore)T.onRestore(f,f.state);return f}function V(h){let f=i.get(h);if(!f)return!1;u(`Deactivating: ${h}`);let T=f.instance,M=T.hooks;if(M?.onSave)T.state=M.onSave(T);if(M?.onDeactivate)M.onDeactivate(T);if(a?.onDeactivate)a.onDeactivate(T);return!0}function z(){let h=c+p;return{hits:c,misses:p,size:i.size,max:t,hitRate:h>0?c/h:0,keys:Array.from(i.keys())}}function B(){return Array.from(i.keys())}function K(){return i.size}return{cache:C,get:y,has:b,remove:v,clear:E,prune:A,activate:S,deactivate:V,getStats:z,keys:B,size:K}}function gh(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 n=t.keys().next().value;if(n)t.delete(n)}},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 bh(){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 xh(e,t={}){let{maxSize:s=100,reset:o}=t,n=[];return{acquire(){if(n.length>0)return n.pop();return e()},release(a){if(n.length<s){if(o)o(a);n.push(a)}},clear(){n.length=0},get size(){return n.length},get maxSize(){return s}}}var W=new Map;async function le(e,t){let s=t||e.toString();if(W.has(s))return W.get(s);let o=e();W.set(s,o);try{return await o}catch(n){throw W.delete(s),n}}function wh(e,t={}){let{retryAttempts:s=3,retryDelay:o=1000,onLoading:n,onLoaded:a,onError:r}=t,i="idle",c,p,u=async(d=0)=>{try{if(i==="loading"||i==="loaded"){if(c)return c}i="loading",n?.();let g=await le(e);return c=g,i="loaded",a?.(g),g}catch(g){let m=g;if(d<s)return await new Promise((k)=>setTimeout(k,o*(d+1))),u(d+1);throw i="error",p=m,r?.(m),m}};return{get state(){return i},get module(){return c},get error(){return p},load:()=>u(),preload:()=>u()}}function or(e,t,s={}){if(!e)return console.warn("lazyLoad: element is null"),()=>{};let{root:o=null,rootMargin:n="0px",threshold:a=0.01,placeholder:r,errorContent:i,onLoading:c,onLoaded:p,onError:u}=s,d=!1,g=null;if(r)if(typeof r==="string")e.innerHTML=r;else e.innerHTML="",e.appendChild(r);return g=new IntersectionObserver(async(k)=>{for(let C of k)if(C.isIntersecting&&!d){d=!0,g?.disconnect();try{c?.();let y=await le(t);if(p?.(y),y&&typeof y.default?.render==="function"){let b=await y.default.render();e.innerHTML=b}}catch(y){let b=y;if(u?.(b),i)if(typeof i==="string")e.innerHTML=i;else e.innerHTML="",e.appendChild(i);else e.innerHTML=`<div style="color: red;">Failed to load component: ${b.message}</div>`}}},{root:o,rootMargin:n,threshold:a}),g.observe(e),()=>{g?.disconnect(),g=null}}function yh(e,t,s={}){let o=[],n=Array.from(e);for(let a of n){let r=typeof t==="function"&&t.length>0?()=>t(a):t,i=or(a,r,s);o.push(i)}return()=>{o.forEach((a)=>a())}}function nr(e){return le(e)}function kh(e){return Promise.all(e.map((t)=>nr(t)))}function Ch(e){if(e)W.delete(e);else W.clear()}function $h(){return{size:W.size,keys:Array.from(W.keys())}}function Sh(e){return{async load(t){let s=e[t];if(!s)throw Error(`No route found for path: ${t}`);return le(s,`route:${t}`)},async preload(t){return this.load(t)},async preloadRoutes(t){return Promise.all(t.map((s)=>this.preload(s)))}}}function ar(e,t,s={}){if(!e)return()=>{};let{root:o=null,rootMargin:n="50px",threshold:a=0.01,placeholder:r,onLoading:i,onLoaded:c,onError:p}=s;if(r&&typeof r==="string")e.src=r;let u=!1,d=null;return d=new IntersectionObserver((m)=>{for(let k of m)if(k.isIntersecting&&!u)u=!0,d?.disconnect(),i?.(),e.src=t,e.addEventListener("load",()=>{c?.(e),e.classList.add("loaded")},{once:!0}),e.addEventListener("error",(C)=>{let y=Error(`Failed to load image: ${t}`);p?.(y),e.classList.add("error")},{once:!0})},{root:o,rootMargin:n,threshold:a}),d.observe(e),()=>{d?.disconnect(),d=null}}function Th(e=document,t={}){let s=e.querySelectorAll("img[data-lazy-src]"),o=[];return s.forEach((n)=>{let a=n.getAttribute("data-lazy-src");if(a){let r=ar(n,a,t);o.push(r)}}),()=>{o.forEach((n)=>n())}}var $e={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 qe(e,t){let s={...e};for(let o in t)if(t[o]instanceof Object&&o in e)s[o]=qe(e[o],t[o]);else s[o]=t[o];return s}function Z(e){return qe($e,e)}var ce=$e;function Ih(){return ce}function rr(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 {
|
|
23
23
|
${t.join(`
|
|
24
24
|
`)}
|
|
25
|
-
}`}function Sh(e,t){if(le=e,typeof document>"u")return;let s=t||document.documentElement;if(e.colors)Object.entries(e.colors).forEach(([o,n])=>{if(n)s.style.setProperty(`--color-${o}`,n)});if(e.typography?.fontFamily)Object.entries(e.typography.fontFamily).forEach(([o,n])=>{if(n)s.style.setProperty(`--font-${o}`,n)});if(e.typography?.fontSize)Object.entries(e.typography.fontSize).forEach(([o,n])=>{if(n)s.style.setProperty(`--text-${o}`,n)});if(e.typography?.fontWeight)Object.entries(e.typography.fontWeight).forEach(([o,n])=>{if(n)s.style.setProperty(`--font-weight-${o}`,n)});if(e.typography?.lineHeight)Object.entries(e.typography.lineHeight).forEach(([o,n])=>{if(n)s.style.setProperty(`--leading-${o}`,n)});if(e.spacing)Object.entries(e.spacing).forEach(([o,n])=>{if(n)s.style.setProperty(`--spacing-${o}`,n)});if(e.borderRadius)Object.entries(e.borderRadius).forEach(([o,n])=>{if(n)s.style.setProperty(`--radius-${o}`,n)});if(e.shadows)Object.entries(e.shadows).forEach(([o,n])=>{if(n)s.style.setProperty(`--shadow-${o}`,n)});if(e.components?.button)Object.entries(e.components.button).forEach(([o,n])=>{if(n)s.style.setProperty(`--button-${o.replace(/([A-Z])/g,"-$1").toLowerCase()}`,n)});if(e.components?.input)Object.entries(e.components.input).forEach(([o,n])=>{if(n)s.style.setProperty(`--input-${o.replace(/([A-Z])/g,"-$1").toLowerCase()}`,n)});if(e.components?.card)Object.entries(e.components.card).forEach(([o,n])=>{if(n)s.style.setProperty(`--card-${o.replace(/([A-Z])/g,"-$1").toLowerCase()}`,n)})}function Th(){return le}function Eh(e){let t=e.split("."),s=le;for(let o of t)if(s&&typeof s==="object"&&o in s)s=s[o];else return;return s}var Ih={default:Ce,purple:Z({colors:{primary:"#8b5cf6",secondary:"#a78bfa"}}),green:Z({colors:{primary:"#10b981",secondary:"#34d399"}}),orange:Z({colors:{primary:"#f97316",secondary:"#fb923c"}}),dark:Z({colors:{primary:"#60a5fa",secondary:"#a78bfa",gray:"#9ca3af",white:"#1f2937",black:"#f9fafb"}}),minimal:Z({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 Ah(e){return or(e)}var ar="./ChatInbox-cbbb5x1n.stx";var ir="./ChatMessage-rj37tdgn.stx";function Nh(e,t=""){if(!e)return"";let s=e;if(typeof s.href==="string"&&s.href)return s.href;if(!t)return"";let o=!1,n=t.replace(/\{(\w+)\}/g,(a,r)=>{let i=s[r];if(i==null||i==="")return o=!0,"";return encodeURIComponent(String(i))});return o?"":n}import{derived as ce,effect as lr,sharedRequest as cr,state as D}from"@stacksjs/stx";import{useBroadcastStream as dr}from"@stacksjs/stx/composables/use-broadcast-stream";function zh(e){let t=e.endpoint??"/messages",s=D([]),o=D([]),n=D(null),a=D(""),r=D([]),i=D(!1),c=D(!1),p=D(!1),u=D(""),d=D(""),g=D(""),m=D(!1),y=D(!1),C=D(4000),k=D(!1),b=new Set,x=null,E=null,A="",S=0,V=new Map,z=null,B=!1,K=0;function h(){S++,s.set([]),o.set([]),n.set(null),a.set(""),r.set([]),d.set(""),u.set(""),i.set(!1),c.set(!1),p.set(!1),V=new Map,z=null,K=0,y.set(!1),x?.close(),x=null}function f(){let w=e.scopeKey();if(w!==A)h(),A=w;return _e(),S}async function T(w,v){let I=await e.request(`${t}${w}`,{...v,cache:"no-store"}),P=await I.json().catch(()=>({}));if(!I.ok)throw Error(P.error||"Could not load messages. Try again.");return P}let M=ce(()=>{let w=g().toLowerCase().trim();return s().map((v)=>({...v,conversation:o().find((I)=>I.recipient_id===v.id)})).filter((v)=>(!w||`${v.name} ${v.role}`.toLowerCase().includes(w))&&(!m()||(v.conversation?.unread??0)>0)).sort((v,I)=>(I.conversation?.last_message?.id??0)-(v.conversation?.last_message?.id??0)||v.name.localeCompare(I.name))}),U=ce(()=>o().reduce((w,v)=>w+v.unread,0)),$e=ce(()=>!!a()&&!!d().trim()&&d().trim().length<=C()&&!p()&&!c()),Be=ce(e.selfId);function Y(w){u.set(w instanceof Error?w.message:"Could not load messages. Try again.")}async function de(w,v,I=!0){let P=await T(`/conversations/${v}`);if(w!==S||v!==a()||e.scopeKey()!==A)return;let j=P.messages[0]?.id;if(r.set([...r().filter((me)=>j&&me.id<j),...P.messages]),r().length===P.messages.length)y.set(P.has_more);let ee=P.messages.at(-1);if(I&&ee){if(await T(`/conversations/${v}/read`,{method:"POST",body:JSON.stringify({through_id:ee.id})}),w===S&&v===a())o.update((me)=>me.map((ge)=>ge.id===v?{...ge,unread:0}:ge))}}let pe=cr();function Se(){return f(),pe.run(S,()=>Te()).finally(J)}async function qe(){f(),await pe.fresh(S,()=>Te()).finally(J)}async function Te(){let w=f();i.set(!0),u.set("");try{let v=await T("");if(w!==S||e.scopeKey()!==A)return;s.set(v.contacts),o.set(v.conversations),C.set(v.max_length),i.set(!1);let I=n()?v.contacts.find((j)=>j.id===n().id):null;if(n()&&!I){let j=n().id;Ee(),V.delete(j),d.set(""),z=null}else if(I)n.set(I);let P=e.initialRecipient?.()??0;if(P>0&&P!==K){let j=v.contacts.find((ee)=>ee.id===P);if(j)K=P,await ue(j)}}catch(v){if(w===S)Y(v)}finally{if(w===S)i.set(!1)}}async function ue(w){if(f(),n())V.set(n().id,d());let v=++S;p.set(!1),n.set(w),d.set(V.get(w.id)??""),a.set(""),r.set([]),y.set(!1),u.set(""),c.set(!0);try{let I=await T("/conversations",{method:"POST",body:JSON.stringify({recipient_id:w.id})});if(v!==S||e.scopeKey()!==A)return;a.set(I.id),await de(v,I.id)}catch(I){if(v===S)Y(I)}finally{if(v===S)c.set(!1);J()}}function Ee(){if(n())V.set(n().id,d());S++,p.set(!1),c.set(!1),n.set(null),a.set(""),r.set([]),u.set("")}async function We(){if(f(),!$e())return;let w=a(),v=d().trim(),I=S,P=z?.body===v&&z.thread===w?z.key:crypto.randomUUID();z={body:v,key:P,thread:w},p.set(!0),u.set("");try{if(await T(`/conversations/${w}/messages`,{method:"POST",body:JSON.stringify({body:v,client_key:P})}),I!==S||e.scopeKey()!==A)return;if(d().trim()===v)d.set("");V.delete(n().id),z=null,await de(I,w),await qe()}catch(j){if(I===S)Y(j)}finally{if(I===S)p.set(!1);J()}}async function Ke(){let w=a(),v=r()[0]?.id,I=S;if(!w||!v||c())return;c.set(!0);try{let P=await T(`/conversations/${w}?before=${v}`);if(I===S&&w===a())r.set([...P.messages,...r()]),y.set(P.has_more)}catch(P){if(I===S)Y(P)}finally{if(I===S)c.set(!1);J()}}async function Ie(w=!1){if(B||p()||c())return;B=!0;try{if(await Se(),w&&n()&&!a())await ue(n());else if(w&&a())await de(S,a())}catch(v){Y(v)}finally{B=!1,J()}}let he=!1;async function fe(){if(B||pe.busy||p()||c()){he=!0;return}await Ie([...b].some((w)=>w()))}function _e(){if(x||!b.size||!e.selfId()||!e.broadcastEndpoint)return;let w=A;x=dr({endpoint:e.broadcastEndpoint,request:e.request,onStatus:(v)=>k.set(v),onConnected:()=>{if(w===e.scopeKey())fe()},onMessage:(v)=>{if(w===e.scopeKey()&&v.event.startsWith("messaging."))fe()}})}function Ue(w=()=>!1){if(b.add(w),f(),!E)E=lr(()=>{f()});return()=>{if(b.delete(w),!b.size)x?.close(),x=null,E?.(),E=null}}function J(){if(he)he=!1,fe()}return{contacts:s,conversations:o,selected:n,threadId:a,messages:r,loading:i,threadLoading:c,sending:p,error:u,draft:d,search:g,unreadOnly:m,hasMore:y,maxLength:C,rows:M,unread:U,canSend:$e,selfId:Be,load:Se,open:ue,back:Ee,send:We,older:Ke,refresh:Ie,reset:h,observe:Ue,connected:k}}var ur="./ChatUnreadBadge-3vq0t8d2.stx";var fr="./ChatLauncher-3zph4trh.stx";export{ot as Accordion,at as AccordionItem,Vu as AnimationClasses,it as Audio,mt as Avatar,bt as Badge,vt as Breadcrumb,Q as Breakpoints,$t as Button,Et as Calendar,Mt as Card,ar as ChatInbox,fr as ChatLauncher,ir as ChatMessage,ur as ChatUnreadBadge,zt as Checkbox,wo as Checkout,Je as CodeBlock,Ht as Combobox,Vt as ComboboxButton,qt as ComboboxInput,Kt as ComboboxOption,Ut as ComboboxOptions,Gt as CommandPalette,Xt as CommandPaletteItem,R as ComponentError,At as DateRangePicker,ko as DefaultPaymentMethod,Zt as Dialog,ts as DialogBackdrop,os as DialogDescription,as as DialogPanel,is as DialogTitle,cs as Drawer,ps as Dropdown,hs as DropdownButton,ms as DropdownItem,bs as DropdownItems,Ru as Easing,$s as EmailInput,Lt as EmptyState,G as ErrorTypes,Gs as FilterChip,Xs as FilterChips,Ge as Footer,vs as Form,Ye as Hero,ks as Image,Xe as Installation,$u as KeyboardKeys,Or as KeyboardShortcuts,Ua as KeyframeAnimations,Zs as ListRow,Hs as Listbox,Vs as ListboxButton,qs as ListboxLabel,Ks as ListboxOption,Us as ListboxOptions,ct as Login,to as NavBar,co as Navigator,uo as Notification,Ts as NumberInput,fo as Pager,go as PagerDots,xo as Pagination,Is as PasswordInput,$o as PaymentMethods,Io as Popover,Po as PopoverButton,Oo as PopoverPanel,Do as Portal,Ro as Progress,l as PropTypes,jo as Radio,Fo as RadioGroup,Bo as RadioGroupDescription,Wo as RadioGroupLabel,_o as RadioGroupOption,Ur as SHADE_VAR_PREFIX,Ps as SearchInput,oo as SectionCard,Jo as Select,Yo as Sidebar,Qo as SidebarFooter,en as SidebarHeader,sn as SidebarItem,nn as SidebarPinned,rn as SidebarSection,cn as SidebarSpace,hn as SidebarSpaceSwitcher,pn as SidebarSpaces,pt as Signup,Sn as Skeleton,En as Spinner,An as Stepper,Ln as StepperStep,ae as StorageManager,To as SubscriptionCheckout,Nn as Switch,Ae as THEMED_FAMILIES,Un as Tab,ao as TabBar,io as TabBarItem,Gn as TabList,Xn as TabPanel,Mn as Table,zn as TableBody,Hn as TableCell,Vn as TableHead,qn as TableHeader,Kn as TableRow,Zn as Tabs,ta as Teleport,Os as TextInput,oa as Textarea,Nt as ThemeToggle,aa as Tooltip,ia as Transition,ht as TwoFactorChallenge,ca as Video,pa as VirtualList,ha as VirtualTable,Ku as animate,Bu as animateWithClass,yu as announceToScreenReader,Re as applyAnimation,Gu as applyHeadwindClasses,Sh as applyTheme,Iu as aria,wt as assert,Ei as assertProp,St as buttonPropSchema,ki as clearErrorHandler,vh as clearModuleCache,qr as closeOverlay,ch as componentMessages,Nh as contactLink,wr as copyToClipboard,wu as createAriaDescription,vu as createAriaLabel,zh as createChat,fh as createComponentPool,$i as createDebugger,ku as createFocusTrap,Xu as createI18n,ph as createKeepAlive,_a as createKeyframeAnimation,qu as createKeyframes,uh as createLRUCache,H as createPropValidator,yh as createRouteLoader,Cu as createRovingTabindex,Di as createSafeClickHandler,Au as createScreenReaderText,Nu as createSkipLink,hh as createStateManager,Sp as createStorage,Z as createTheme,Wa as cssAnimation,sh as d,ah as dateTimeFormats,Ce as defaultTheme,Oe as deriveSpaceTint,Ju as detectLanguage,Ci as devAssert,Fa as easeInBack,Me as easeInBounce,Da as easeInCirc,va as easeInCubic,za as easeInElastic,La as easeInExpo,Ba as easeInOutBack,qa as easeInOutBounce,Ra as easeInOutCirc,ya as easeInOutCubic,Ha as easeInOutElastic,Na as easeInOutExpo,xa as easeInOutQuad,$a as easeInOutQuart,Ea as easeInOutQuint,Pa as easeInOutSine,ga as easeInQuad,ka as easeInQuart,Sa as easeInQuint,Ia as easeInSine,Va as easeOutBack,ve as easeOutBounce,Ma as easeOutCirc,wa as easeOutCubic,ja as easeOutElastic,Oa as easeOutExpo,ba as easeOutQuad,Ca as easeOutQuart,Ta as easeOutQuint,Aa as easeOutSine,Si as errorBoundary,ws as formPropSchema,De as generateId,Sr as generateSEOTags,Ah as generateThemeCSS,wh as getCacheStats,Ou as getColorSchemePreference,be as getEffectiveTheme,xe as getFocusableElements,Ga as getHighlighter,Zu as getI18n,Qe as getSystemTheme,$h as getTheme,Eh as getThemeValue,oe as handleError,Su as hasFocus,Uu as highlight,ih as isRTL,Wr as isTopOverlay,Eu as isVisibleToScreenReader,er as lazyLoad,bh as lazyLoadAll,gh as lazyLoadComponent,sr as lazyLoadImage,kh as lazyLoadImages,ie as lazyLoadModule,ma as linear,lh as loadLocaleMessages,ne as macosColors,Tu as moveFocus,oh as n,Cn as normalizeSpace,Yd as normalizeSpaces,rh as numberFormats,Ms as numberInputPropSchema,Br as openOverlay,Kr as openOverlays,nh as pluralRules,Lu as prefersHighContrast,Pu as prefersReducedMotion,tr as preloadModule,xh as preloadModules,ju as removeAnimation,_d as resolveIconColor,Kd as resolveSidebarTheme,yn as resolveSpaceTint,Fu as sequenceAnimations,yi as setErrorHandler,Qu as setI18n,et as setLink,O as setMeta,Ze as setTitle,Le as sidebarThemes,Xd as spaceIndexOf,Qd as spaceTintPayload,kn as spaceTintVars,Gd as spaceWashGradient,Hu as staggerAnimation,$p as storage,Jr as stxThemePreset,eh as t,th as tc,Ds as textInputPropSchema,Ih as themePresets,or as themeToCSSProperties,Gr as themeVariableNames,Rr as useBreakpoint,Er as useClickOutside,vr as useCopyCode,kr as useDarkMode,Ar as useFocusTrap,Hr as useIsDarkMode,jr as useIsDesktop,zr as useIsMobile,Lr as useKeyboard,Dr as useLocalStorage,X as useMediaQuery,Fr as usePrefersReducedMotion,$r as useSEO,Th as useTheme,Du as validateAriaRelationships,Ni as validateButtonProps,oc as validateEmailInputProps,Wl as validateFormProps,ac as validateNumberInputProps,nc as validatePasswordInputProps,kt as validateProps,rc as validateSearchInputProps,Ri as validateSize,sc as validateTextInputProps,Mi as validateVariant,Ka as waitForAnimation,yt as warn,Ii as warnProp,Pe as wrapErrorHandler};
|
|
25
|
+
}`}function Ah(e,t){if(ce=e,typeof document>"u")return;let s=t||document.documentElement;if(e.colors)Object.entries(e.colors).forEach(([o,n])=>{if(n)s.style.setProperty(`--color-${o}`,n)});if(e.typography?.fontFamily)Object.entries(e.typography.fontFamily).forEach(([o,n])=>{if(n)s.style.setProperty(`--font-${o}`,n)});if(e.typography?.fontSize)Object.entries(e.typography.fontSize).forEach(([o,n])=>{if(n)s.style.setProperty(`--text-${o}`,n)});if(e.typography?.fontWeight)Object.entries(e.typography.fontWeight).forEach(([o,n])=>{if(n)s.style.setProperty(`--font-weight-${o}`,n)});if(e.typography?.lineHeight)Object.entries(e.typography.lineHeight).forEach(([o,n])=>{if(n)s.style.setProperty(`--leading-${o}`,n)});if(e.spacing)Object.entries(e.spacing).forEach(([o,n])=>{if(n)s.style.setProperty(`--spacing-${o}`,n)});if(e.borderRadius)Object.entries(e.borderRadius).forEach(([o,n])=>{if(n)s.style.setProperty(`--radius-${o}`,n)});if(e.shadows)Object.entries(e.shadows).forEach(([o,n])=>{if(n)s.style.setProperty(`--shadow-${o}`,n)});if(e.components?.button)Object.entries(e.components.button).forEach(([o,n])=>{if(n)s.style.setProperty(`--button-${o.replace(/([A-Z])/g,"-$1").toLowerCase()}`,n)});if(e.components?.input)Object.entries(e.components.input).forEach(([o,n])=>{if(n)s.style.setProperty(`--input-${o.replace(/([A-Z])/g,"-$1").toLowerCase()}`,n)});if(e.components?.card)Object.entries(e.components.card).forEach(([o,n])=>{if(n)s.style.setProperty(`--card-${o.replace(/([A-Z])/g,"-$1").toLowerCase()}`,n)})}function Ph(){return ce}function Lh(e){let t=e.split("."),s=ce;for(let o of t)if(s&&typeof s==="object"&&o in s)s=s[o];else return;return s}var Oh={default:$e,purple:Z({colors:{primary:"#8b5cf6",secondary:"#a78bfa"}}),green:Z({colors:{primary:"#10b981",secondary:"#34d399"}}),orange:Z({colors:{primary:"#f97316",secondary:"#fb923c"}}),dark:Z({colors:{primary:"#60a5fa",secondary:"#a78bfa",gray:"#9ca3af",white:"#1f2937",black:"#f9fafb"}}),minimal:Z({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 Nh(e){return rr(e)}var lr="./ChatInbox-cbbb5x1n.stx";var dr="./ChatMessage-rj37tdgn.stx";function zh(e,t=""){if(!e)return"";let s=e;if(typeof s.href==="string"&&s.href)return s.href;if(!t)return"";let o=!1,n=t.replace(/\{(\w+)\}/g,(a,r)=>{let i=s[r];if(i==null||i==="")return o=!0,"";return encodeURIComponent(String(i))});return o?"":n}import{derived as de,effect as pr,sharedRequest as ur,state as D}from"@stacksjs/stx";import{useBroadcastStream as hr}from"@stacksjs/stx/composables/use-broadcast-stream";var fr=1500;function Vh(e){let t=e.endpoint??"/messages",s=D([]),o=D([]),n=D(null),a=D(""),r=D([]),i=D(!1),c=D(!1),p=D(!1),u=D(""),d=D(""),g=D(""),m=D(!1),k=D(!1),C=D(4000),y=D(!1),b=new Set,v=null,E=null,A="",S=0,V=new Map,z=null,B=!1,K=0;function h(){S++,s.set([]),o.set([]),n.set(null),a.set(""),r.set([]),d.set(""),u.set(""),i.set(!1),c.set(!1),p.set(!1),V=new Map,z=null,K=0,k.set(!1),v?.close(),v=null}function f(){let w=e.scopeKey();if(w!==A)h(),A=w;return Ge(),S}async function T(w,x){let I=await e.request(`${t}${w}`,{...x,cache:"no-store"}),P=await I.json().catch(()=>({}));if(!I.ok)throw Error(P.error||"Could not load messages. Try again.");return P}let M=de(()=>{let w=g().toLowerCase().trim();return s().map((x)=>({...x,conversation:o().find((I)=>I.recipient_id===x.id)})).filter((x)=>(!w||`${x.name} ${x.role}`.toLowerCase().includes(w))&&(!m()||(x.conversation?.unread??0)>0)).sort((x,I)=>(I.conversation?.last_message?.id??0)-(x.conversation?.last_message?.id??0)||x.name.localeCompare(I.name))}),U=de(()=>o().reduce((w,x)=>w+x.unread,0)),Se=de(()=>!!a()&&!!d().trim()&&d().trim().length<=C()&&!p()&&!c()),We=de(e.selfId);function Y(w){u.set(w instanceof Error?w.message:"Could not load messages. Try again.")}async function pe(w,x,I=!0){let P=await T(`/conversations/${x}`);if(w!==S||x!==a()||e.scopeKey()!==A)return;let j=P.messages[0]?.id;if(r.set([...r().filter((ge)=>j&&ge.id<j),...P.messages]),r().length===P.messages.length)k.set(P.has_more);let te=P.messages.at(-1);if(I&&te){if(await T(`/conversations/${x}/read`,{method:"POST",body:JSON.stringify({through_id:te.id})}),w===S&&x===a())o.update((ge)=>ge.map((be)=>be.id===x?{...be,unread:0}:be))}}let ue=ur(),ee=new Set;function Ke(){if(!e.broadcastEndpoint||!e.selfId()||y())return Promise.resolve();return new Promise((w)=>{let x=()=>{clearTimeout(I),ee.delete(x),w()},I=setTimeout(x,fr);ee.add(x)})}function Te(){if(!ee.size)return!1;for(let w of[...ee])w();return!0}function Ee(){return f(),ue.run(S,()=>Ke().then(Ie)).finally(J)}async function _e(){f(),await ue.fresh(S,()=>Ie()).finally(J)}async function Ie(){let w=f();i.set(!0),u.set("");try{let x=await T("");if(w!==S||e.scopeKey()!==A)return;s.set(x.contacts),o.set(x.conversations),C.set(x.max_length),i.set(!1);let I=n()?x.contacts.find((j)=>j.id===n().id):null;if(n()&&!I){let j=n().id;Ae(),V.delete(j),d.set(""),z=null}else if(I)n.set(I);let P=e.initialRecipient?.()??0;if(P>0&&P!==K){let j=x.contacts.find((te)=>te.id===P);if(j)K=P,await he(j)}}catch(x){if(w===S)Y(x)}finally{if(w===S)i.set(!1)}}async function he(w){if(f(),n())V.set(n().id,d());let x=++S;p.set(!1),n.set(w),d.set(V.get(w.id)??""),a.set(""),r.set([]),k.set(!1),u.set(""),c.set(!0);try{let I=await T("/conversations",{method:"POST",body:JSON.stringify({recipient_id:w.id})});if(x!==S||e.scopeKey()!==A)return;a.set(I.id),await pe(x,I.id)}catch(I){if(x===S)Y(I)}finally{if(x===S)c.set(!1);J()}}function Ae(){if(n())V.set(n().id,d());S++,p.set(!1),c.set(!1),n.set(null),a.set(""),r.set([]),u.set("")}async function Ue(){if(f(),!Se())return;let w=a(),x=d().trim(),I=S,P=z?.body===x&&z.thread===w?z.key:crypto.randomUUID();z={body:x,key:P,thread:w},p.set(!0),u.set("");try{if(await T(`/conversations/${w}/messages`,{method:"POST",body:JSON.stringify({body:x,client_key:P})}),I!==S||e.scopeKey()!==A)return;if(d().trim()===x)d.set("");V.delete(n().id),z=null,await pe(I,w),await _e()}catch(j){if(I===S)Y(j)}finally{if(I===S)p.set(!1);J()}}async function Je(){let w=a(),x=r()[0]?.id,I=S;if(!w||!x||c())return;c.set(!0);try{let P=await T(`/conversations/${w}?before=${x}`);if(I===S&&w===a())r.set([...P.messages,...r()]),k.set(P.has_more)}catch(P){if(I===S)Y(P)}finally{if(I===S)c.set(!1);J()}}async function Pe(w=!1){if(B||p()||c())return;B=!0;try{if(await Ee(),w&&n()&&!a())await he(n());else if(w&&a())await pe(S,a())}catch(x){Y(x)}finally{B=!1,J()}}let fe=!1;async function me(){if(B||ue.busy||p()||c()){fe=!0;return}await Pe([...b].some((w)=>w()))}function Ge(){if(v||!b.size||!e.selfId()||!e.broadcastEndpoint)return;let w=A;v=hr({endpoint:e.broadcastEndpoint,request:e.request,onStatus:(x)=>{if(y.set(x),!x)Te()},onConnected:()=>{if(!Te()&&w===e.scopeKey())me()},onMessage:(x)=>{if(w===e.scopeKey()&&x.event.startsWith("messaging."))me()}})}function Ye(w=()=>!1){if(b.add(w),f(),!E)E=pr(()=>{f()});return()=>{if(b.delete(w),!b.size)v?.close(),v=null,E?.(),E=null}}function J(){if(fe)fe=!1,me()}return{contacts:s,conversations:o,selected:n,threadId:a,messages:r,loading:i,threadLoading:c,sending:p,error:u,draft:d,search:g,unreadOnly:m,hasMore:k,maxLength:C,rows:M,unread:U,canSend:Se,selfId:We,load:Ee,open:he,back:Ae,send:Ue,older:Je,refresh:Pe,reset:h,observe:Ye,connected:y}}var gr="./ChatUnreadBadge-3vq0t8d2.stx";var xr="./ChatLauncher-3zph4trh.stx";export{rt as Accordion,lt as AccordionItem,Ku as AnimationClasses,dt as Audio,xt as Avatar,wt as Badge,kt as Breadcrumb,Q as Breakpoints,Et as Button,Pt as Calendar,jt as Card,lr as ChatInbox,xr as ChatLauncher,dr as ChatMessage,gr as ChatUnreadBadge,Ft as Checkbox,Co as Checkout,Xe as CodeBlock,Bt as Combobox,Wt as ComboboxButton,_t as ComboboxInput,Jt as ComboboxOption,Yt as ComboboxOptions,Qt as CommandPalette,es as CommandPaletteItem,R as ComponentError,Ot as DateRangePicker,So as DefaultPaymentMethod,ss as Dialog,ns as DialogBackdrop,rs as DialogDescription,ls as DialogPanel,ds as DialogTitle,us as Drawer,fs as Dropdown,gs as DropdownButton,xs as DropdownItem,ws as DropdownItems,Fu as Easing,Es as EmailInput,Dt as EmptyState,G as ErrorTypes,Qs as FilterChip,eo as FilterChips,Qe as Footer,ks as Form,Ze as Hero,Ss as Image,et as Installation,Iu as KeyboardKeys,Rr as KeyboardShortcuts,Ya as KeyframeAnimations,so as ListRow,Bs as Listbox,Ws as ListboxButton,_s as ListboxLabel,Js as ListboxOption,Ys as ListboxOptions,ut as Login,no as NavBar,ho as Navigator,mo as Notification,As as NumberInput,bo as Pager,vo as PagerDots,yo as Pagination,Ls as PasswordInput,Eo as PaymentMethods,Lo as Popover,No as PopoverButton,Mo as PopoverPanel,zo as Portal,Ho as Progress,l as PropTypes,Vo as Radio,qo as RadioGroup,Ko as RadioGroupDescription,Uo as RadioGroupLabel,Go as RadioGroupOption,Xr as SHADE_VAR_PREFIX,Ns as SearchInput,ro as SectionCard,Xo as Select,Zo as Sidebar,tn as SidebarFooter,on as SidebarHeader,an as SidebarItem,ln as SidebarPinned,dn as SidebarSection,un as SidebarSpace,gn as SidebarSpaceSwitcher,fn as SidebarSpaces,ft as Signup,In as Skeleton,Pn as Spinner,On as Stepper,Dn as StepperStep,re as StorageManager,Ao as SubscriptionCheckout,Rn as Switch,Le as THEMED_FAMILIES,Yn as Tab,lo as TabBar,po as TabBarItem,Qn as TabList,ea as TabPanel,jn as Table,Fn as TableBody,Bn as TableCell,Wn as TableHead,_n as TableHeader,Jn as TableRow,sa as Tabs,na as Teleport,Ms as TextInput,ra as Textarea,Rt as ThemeToggle,la as Tooltip,da as Transition,gt as TwoFactorChallenge,ua as Video,fa as VirtualList,ga as VirtualTable,Gu as animate,_u as animateWithClass,Su as announceToScreenReader,je as applyAnimation,Zu as applyHeadwindClasses,Ah as applyTheme,Ou as aria,Ct as assert,Li as assertProp,It as buttonPropSchema,Ti as clearErrorHandler,Ch as clearModuleCache,Ur as closeOverlay,hh as componentMessages,zh as contactLink,$r as copyToClipboard,$u as createAriaDescription,Cu as createAriaLabel,Vh as createChat,xh as createComponentPool,Ii as createDebugger,Tu as createFocusTrap,th as createI18n,mh as createKeepAlive,Ga as createKeyframeAnimation,Uu as createKeyframes,gh as createLRUCache,H as createPropValidator,Sh as createRouteLoader,Eu as createRovingTabindex,ji as createSafeClickHandler,Nu as createScreenReaderText,zu as createSkipLink,bh as createStateManager,Ap as createStorage,Z as createTheme,Ua as cssAnimation,rh as d,ch as dateTimeFormats,$e as defaultTheme,De as deriveSpaceTint,Qu as detectLanguage,Ei as devAssert,qa as easeInBack,ze as easeInBounce,za as easeInCirc,ka as easeInCubic,Fa as easeInElastic,Da as easeInExpo,Ka as easeInOutBack,_a as easeInOutBounce,Ha as easeInOutCirc,$a as easeInOutCubic,Ba as easeInOutElastic,Ra as easeInOutExpo,ya as easeInOutQuad,Ea as easeInOutQuart,Pa as easeInOutQuint,Na as easeInOutSine,va as easeInQuad,Sa as easeInQuart,Ia as easeInQuint,La as easeInSine,Wa as easeOutBack,we as easeOutBounce,ja as easeOutCirc,Ca as easeOutCubic,Va as easeOutElastic,Ma as easeOutExpo,wa as easeOutQuad,Ta as easeOutQuart,Aa as easeOutQuint,Oa as easeOutSine,Ai as errorBoundary,Cs as formPropSchema,Re as generateId,Ar as generateSEOTags,Nh as generateThemeCSS,$h as getCacheStats,Ru as getColorSchemePreference,xe as getEffectiveTheme,ve as getFocusableElements,Qa as getHighlighter,oh as getI18n,tt as getSystemTheme,Ih as getTheme,Lh as getThemeValue,ne as handleError,Au as hasFocus,Xu as highlight,ph as isRTL,Jr as isTopOverlay,Lu as isVisibleToScreenReader,or as lazyLoad,yh as lazyLoadAll,wh as lazyLoadComponent,ar as lazyLoadImage,Th as lazyLoadImages,le as lazyLoadModule,xa as linear,uh as loadLocaleMessages,ae as macosColors,Pu as moveFocus,ih as n,Tn as normalizeSpace,ep as normalizeSpaces,dh as numberFormats,js as numberInputPropSchema,_r as openOverlay,Gr as openOverlays,lh as pluralRules,Mu as prefersHighContrast,Du as prefersReducedMotion,nr as preloadModule,kh as preloadModules,Bu as removeAnimation,Yd as resolveIconColor,Gd as resolveSidebarTheme,$n as resolveSpaceTint,Wu as sequenceAnimations,Si as setErrorHandler,sh as setI18n,ot as setLink,O as setMeta,st as setTitle,Ne as sidebarThemes,tp as spaceIndexOf,sp as spaceTintPayload,Sn as spaceTintVars,Zd as spaceWashGradient,qu as staggerAnimation,Ip as storage,Qr as stxThemePreset,nh as t,ah as tc,zs as textInputPropSchema,Oh as themePresets,rr as themeToCSSProperties,Zr as themeVariableNames,Fr as useBreakpoint,Lr as useClickOutside,Cr as useCopyCode,Tr as useDarkMode,Nr as useFocusTrap,qr as useIsDarkMode,Br as useIsDesktop,Vr as useIsMobile,Mr as useKeyboard,jr as useLocalStorage,X as useMediaQuery,Wr as usePrefersReducedMotion,Ir as useSEO,Ph as useTheme,ju as validateAriaRelationships,zi as validateButtonProps,ic as validateEmailInputProps,Jl as validateFormProps,cc as validateNumberInputProps,lc as validatePasswordInputProps,St as validateProps,dc as validateSearchInputProps,Fi as validateSize,rc as validateTextInputProps,Hi as validateVariant,Ja as waitForAnimation,$t as warn,Oi as warnProp,Oe as wrapErrorHandler};
|
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.577",
|
|
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",
|
|
@@ -77,8 +77,8 @@
|
|
|
77
77
|
"dependencies": {
|
|
78
78
|
"@iconify-json/f7": "^1.2.2",
|
|
79
79
|
"@stacksjs/ts-css": "^0.3.11",
|
|
80
|
-
"@stacksjs/stx": "0.2.
|
|
81
|
-
"bun-plugin-stx": "0.2.
|
|
80
|
+
"@stacksjs/stx": "0.2.577",
|
|
81
|
+
"bun-plugin-stx": "0.2.577",
|
|
82
82
|
"ts-syntax-highlighter": "^0.2.17",
|
|
83
83
|
"ts-video-player": "^0.1.9"
|
|
84
84
|
},
|
|
@@ -46,6 +46,9 @@ export interface ChatController {
|
|
|
46
46
|
connected: Signal<boolean>
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
+
/** How long a mount's list read waits for the stream to start listening before reading anyway. */
|
|
50
|
+
const CHAT_LISTEN_WAIT_MS = 1500
|
|
51
|
+
|
|
49
52
|
/** Transport-injected messaging state shared by any STX app. */
|
|
50
53
|
export function createChat(options: ChatOptions): ChatController {
|
|
51
54
|
const endpoint = options.endpoint ?? '/messages'
|
|
@@ -123,10 +126,34 @@ export function createChat(options: ChatOptions): ChatController {
|
|
|
123
126
|
* share one request instead of each sending its own.
|
|
124
127
|
*/
|
|
125
128
|
const list = sharedRequest<number, void>()
|
|
129
|
+
/*
|
|
130
|
+
* Reads waiting for the stream to listen. A list read after that misses
|
|
131
|
+
* nothing, so the stream's first connect need not read it again: the mount
|
|
132
|
+
* used to read the list, and the connect read it a second time to catch up.
|
|
133
|
+
* A refused stream, a dropped one or CHAT_LISTEN_WAIT_MS lets them go.
|
|
134
|
+
*/
|
|
135
|
+
const listening = new Set<() => void>()
|
|
136
|
+
function whenListening(): Promise<void> {
|
|
137
|
+
// With a stream to have, wait for it whoever opens it: the components that
|
|
138
|
+
// show the chat observe on mount, and an inbox asks during its setup,
|
|
139
|
+
// before any of them has.
|
|
140
|
+
if (!options.broadcastEndpoint || !options.selfId() || connected()) return Promise.resolve()
|
|
141
|
+
return new Promise<void>((resolve) => {
|
|
142
|
+
const done = () => { clearTimeout(timer); listening.delete(done); resolve() }
|
|
143
|
+
const timer = setTimeout(done, CHAT_LISTEN_WAIT_MS)
|
|
144
|
+
listening.add(done)
|
|
145
|
+
})
|
|
146
|
+
}
|
|
147
|
+
/** Let the waiting reads go; whether there were any. */
|
|
148
|
+
function release(): boolean {
|
|
149
|
+
if (!listening.size) return false
|
|
150
|
+
for (const done of [...listening]) done()
|
|
151
|
+
return true
|
|
152
|
+
}
|
|
126
153
|
function load(): Promise<void> {
|
|
127
154
|
checkScope()
|
|
128
155
|
// flushInvalidation runs once the request is off the list (list.busy false).
|
|
129
|
-
return list.run(version, () =>
|
|
156
|
+
return list.run(version, () => whenListening().then(loadList)).finally(flushInvalidation)
|
|
130
157
|
}
|
|
131
158
|
/** A list read after now: waits out one already in flight, which may predate the change. */
|
|
132
159
|
async function loadFresh() {
|
|
@@ -228,8 +255,9 @@ export function createChat(options: ChatOptions): ChatController {
|
|
|
228
255
|
const accountScope = scope
|
|
229
256
|
stream = useBroadcastStream({
|
|
230
257
|
endpoint: options.broadcastEndpoint, request: options.request,
|
|
231
|
-
onStatus: value => connected.set(value),
|
|
232
|
-
|
|
258
|
+
onStatus: (value) => { connected.set(value); if (!value) release() },
|
|
259
|
+
// A read waiting for this connect is the catch-up; with none, read again.
|
|
260
|
+
onConnected: () => { if (!release() && accountScope === options.scopeKey()) void reconcile() },
|
|
233
261
|
onMessage: frame => { if (accountScope === options.scopeKey() && frame.event.startsWith('messaging.')) void reconcile() },
|
|
234
262
|
})
|
|
235
263
|
}
|