@stacksjs/components 0.2.6 → 0.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -253,7 +253,7 @@ module.exports = { isDark, toggle }
253
253
  The components use headwind for utility classes. You can customize the design system by creating a `headwind.config.ts` file:
254
254
 
255
255
  ```typescript
256
- import type { HeadwindConfig } from '@stacksjs/headwind'
256
+ import type { HeadwindConfig } from '@cwcss/crosswind'
257
257
 
258
258
  export default {
259
259
  theme: {
@@ -472,6 +472,6 @@ MIT © [Chris Breuer](https://github.com/chrisbbreuer)
472
472
  ## Credits
473
473
 
474
474
  - Built with [STX](https://github.com/stacksjs/stx)
475
- - Styled with [Headwind](https://github.com/stacksjs/headwind)
475
+ - Styled with [Headwind](https://github.com/cwcss/crosswind)
476
476
  - Syntax highlighting by [ts-syntax-highlighter](https://github.com/stacksjs/ts-syntax-highlighter)
477
477
  - Inspired by [Headless UI](https://headlessui.com)
package/dist/index.js CHANGED
@@ -1,19 +1,19 @@
1
1
  // @bun
2
- var de="./CodeBlock-mwex82cm.stx";var pe="./Footer-xdaf02nr.stx";var ue="./Hero-9vvp7pxf.stx";var xe="./Installation-33bj4rm7.stx";function zo(e){let{code:s,onSuccess:t,onError:r,timeout:o=2000}=e,a=!1,i=null;return{copied:a,copy:async()=>{try{if(!navigator.clipboard)throw Error("Clipboard API not available");await navigator.clipboard.writeText(s),a=!0,t?.(),i=setTimeout(()=>{a=!1,i=null},o)}catch(c){let u=c instanceof Error?c:Error("Failed to copy code");r?.(u),console.error("Failed to copy code:",u)}},reset:()=>{if(a=!1,i)clearTimeout(i),i=null}}}async function Mo(e){try{return await navigator.clipboard.writeText(e),!0}catch(s){return console.error("Failed to copy to clipboard:",s),!1}}function be(){if(typeof window>"u")return"light";return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function X(e){return e==="system"?be():e}function Lo(e={}){let{storageKey:s="theme",defaultTheme:t="system"}=e,r=t;if(typeof window<"u"&&typeof localStorage<"u"){let d=localStorage.getItem(s);if(d)r=d}let o=X(r)==="dark",a=(d)=>{let c=X(d);if(typeof document<"u")if(c==="dark")document.documentElement.classList.add("dark");else document.documentElement.classList.remove("dark");if(typeof localStorage<"u")localStorage.setItem(s,d)},i=(d)=>{r=d,a(d)},n=()=>{let c=X(r)==="dark"?"light":"dark";i(c)};if(a(r),typeof window<"u"&&r==="system")window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",(d)=>{if(r==="system")a("system")});return{isDark:o,theme:r,toggle:n,setTheme:i}}function me(e,s){if(typeof document>"u")return;document.title=s?s.replace("%s",e):e}function S(e,s,t=!1){if(typeof document>"u")return;let r=t?"property":"name",o=document.querySelector(`meta[${r}="${e}"]`);if(!o)o=document.createElement("meta"),o.setAttribute(r,e),document.head.appendChild(o);o.setAttribute("content",s)}function he(e,s){if(typeof document>"u")return;let t=document.querySelector(`link[rel="${e}"]`);if(!t)t=document.createElement("link"),t.setAttribute("rel",e),document.head.appendChild(t);t.setAttribute("href",s)}function To(e){let{title:s,description:t,author:r,keywords:o,ogImage:a,ogImageWidth:i,ogImageHeight:n,twitterCard:d="summary_large_image",twitterSite:c,twitterCreator:u,canonical:p}=e;if(s)me(s),S("og:title",s,!0),S("twitter:title",s);if(t)S("description",t),S("og:description",t,!0),S("twitter:description",t);if(r)S("author",r);if(o&&o.length>0)S("keywords",o.join(", "));if(a)S("og:image",a,!0),S("twitter:image",a);if(i)S("og:image:width",i,!0);if(n)S("og:image:height",n,!0);if(S("twitter:card",d),c)S("twitter:site",c);if(u)S("twitter:creator",u);if(p)he("canonical",p);if(S("og:type","website",!0),typeof window<"u")S("og:url",window.location.href,!0)}function Bo(e){let s=[],{title:t,description:r,author:o,keywords:a,ogImage:i,ogImageWidth:n,ogImageHeight:d,twitterCard:c="summary_large_image",twitterSite:u,twitterCreator:p,canonical:b}=e;if(t)s.push(`<title>${N(t)}</title>`),s.push(`<meta property="og:title" content="${N(t)}" />`),s.push(`<meta name="twitter:title" content="${N(t)}" />`);if(r)s.push(`<meta name="description" content="${N(r)}" />`),s.push(`<meta property="og:description" content="${N(r)}" />`),s.push(`<meta name="twitter:description" content="${N(r)}" />`);if(o)s.push(`<meta name="author" content="${N(o)}" />`);if(a&&a.length>0)s.push(`<meta name="keywords" content="${N(a.join(", "))}" />`);if(i)s.push(`<meta property="og:image" content="${N(i)}" />`),s.push(`<meta name="twitter:image" content="${N(i)}" />`);if(n)s.push(`<meta property="og:image:width" content="${N(n)}" />`);if(d)s.push(`<meta property="og:image:height" content="${N(d)}" />`);if(s.push(`<meta name="twitter:card" content="${N(c)}" />`),u)s.push(`<meta name="twitter:site" content="${N(u)}" />`);if(p)s.push(`<meta name="twitter:creator" content="${N(p)}" />`);if(b)s.push(`<link rel="canonical" href="${N(b)}" />`);return s.push('<meta property="og:type" content="website" />'),s.join(`
3
- `)}function N(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}function jo(e,s,t={}){let{enabled:r=!0,ignore:o=[]}=t,a=(i)=>{if(!r||!e)return;let n=i.target;if(!e.contains(n)){if(!o.some((c)=>{let u=document.querySelectorAll(c);return Array.from(u).some((p)=>p.contains(n))}))s(i)}};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 Ho(e,s={}){let{enabled:t=!0,initialFocus:r=null,returnFocus:o=!0,fallbackFocus:a=null}=s,i=null,n=!1;function d(){if(!e)return[];let f=["a[href]","button:not([disabled])","textarea:not([disabled])","input:not([disabled])","select:not([disabled])",'[tabindex]:not([tabindex="-1"])'].join(",");return Array.from(e.querySelectorAll(f))}function c(f){if(!t||!n||!e)return;let C=d();if(C.length===0){f.preventDefault();return}let v=C[0],k=C[C.length-1];if(f.shiftKey){if(document.activeElement===v||document.activeElement===e)f.preventDefault(),k.focus()}else if(document.activeElement===k)f.preventDefault(),v.focus()}function u(f){if(f.key==="Escape"&&t&&n)b()}function p(){if(!t||!e||n)return;if(i=document.activeElement,r)r.focus();else{let f=d();if(f.length>0)f[0].focus();else if(a)a.focus();else e.focus()}document.addEventListener("keydown",c),document.addEventListener("keydown",u),n=!0}function b(){if(!n)return;if(document.removeEventListener("keydown",c),document.removeEventListener("keydown",u),o&&i)i.focus();n=!1}return{activate:p,deactivate:b}}function Eo(e,s={}){let{enabled:t=!0,preventDefault:r=!0,stopPropagation:o=!1,target:a=typeof document<"u"?document:null}=s,i=Array.isArray(e)?e:[e],n=(d)=>{if(!t)return;i.forEach((c)=>{if(!(Array.isArray(c.key)?c.key:[c.key]).some((b)=>b.toLowerCase()===d.key.toLowerCase()))return;if(c.ctrl!==void 0&&c.ctrl!==d.ctrlKey)return;if(c.shift!==void 0&&c.shift!==d.shiftKey)return;if(c.alt!==void 0&&c.alt!==d.altKey)return;if(c.meta!==void 0&&c.meta!==d.metaKey)return;if(r)d.preventDefault();if(o)d.stopPropagation();c.handler(d)})};if(a)a.addEventListener("keydown",n);return()=>{if(a)a.removeEventListener("keydown",n)}}var Ao={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 Fo(e,s,t={}){let{serializer:r=JSON.stringify,deserializer:o=JSON.parse,onError:a=console.error}=t,i=s;try{if(typeof window<"u"){let p=window.localStorage.getItem(e);if(p!==null)i=o(p)}}catch(p){a(p)}let n=i,d=new Set;function c(p){try{let b=typeof p==="function"?p(n):p;if(n=b,typeof window<"u")window.localStorage.setItem(e,r(b));d.forEach((f)=>f(b))}catch(b){a(b)}}function u(){try{if(n=s,typeof window<"u")window.localStorage.removeItem(e);d.forEach((p)=>p(s))}catch(p){a(p)}}if(typeof window<"u"){let p=(b)=>{if(b.key===e&&b.newValue!==null)try{let f=o(b.newValue);n=f,d.forEach((C)=>C(f))}catch(f){a(f)}else if(b.key===e&&b.newValue===null)n=s,d.forEach((f)=>f(s))};window.addEventListener("storage",p)}return{value:n,setValue:c,removeValue:u}}function j(e,s={}){let{defaultValue:t=!1}=s,r=t,o=null;if(typeof window<"u"&&"matchMedia"in window){o=window.matchMedia(e),r=o.matches;let i=(n)=>{r=n.matches};if(o.addEventListener)o.addEventListener("change",i);else o.addListener(i)}function a(){if(o)r=o.matches}return{matches:r,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 Go(e){return j(q[e])}function Yo(){return j(q.mobile)}function Wo(){return j(q.desktop)}function _o(){return j(q.dark)}function Vo(){return j(q.reducedMotion)}var Ce="./Accordion-x2gjedap.stx";var we="./Audio-0fk6p9tn.stx";var ke="./Login-s2jkvd9y.stx";var Ne="./Signup-3nxq5zag.stx";var Me="./TwoFactorChallenge-2q4gg89m.stx";var Le="./Avatar-5m0v0s4x.stx";var Te="./Badge-ynes82vv.stx";var Pe="./Breadcrumb-h9n427sk.stx";import H from"process";var je="https://stacksjs.com/components";class z extends Error{component;context;constructor(e,s,t={}){let r=z.formatMessage(e,s,t);super(r);if(this.name="ComponentError",this.component=e,this.context={component:e,...t},Error.captureStackTrace)Error.captureStackTrace(this,z)}static formatMessage(e,s,t){let r=`[${e}] ${s}`;if(t.prop)r+=`
2
+ function bo(e){let{code:s,onSuccess:t,onError:r,timeout:o=2000}=e,a=!1,i=null;return{copied:a,copy:async()=>{try{if(!navigator.clipboard)throw Error("Clipboard API not available");await navigator.clipboard.writeText(s),a=!0,t?.(),i=setTimeout(()=>{a=!1,i=null},o)}catch(c){let u=c instanceof Error?c:Error("Failed to copy code");r?.(u),console.error("Failed to copy code:",u)}},reset:()=>{if(a=!1,i)clearTimeout(i),i=null}}}async function xo(e){try{return await navigator.clipboard.writeText(e),!0}catch(s){return console.error("Failed to copy to clipboard:",s),!1}}function le(){if(typeof window>"u")return"light";return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function X(e){return e==="system"?le():e}function ho(e={}){let{storageKey:s="theme",defaultTheme:t="system"}=e,r=t;if(typeof window<"u"&&typeof localStorage<"u"){let d=localStorage.getItem(s);if(d)r=d}let o=X(r)==="dark",a=(d)=>{let c=X(d);if(typeof document<"u")if(c==="dark")document.documentElement.classList.add("dark");else document.documentElement.classList.remove("dark");if(typeof localStorage<"u")localStorage.setItem(s,d)},i=(d)=>{r=d,a(d)},n=()=>{let c=X(r)==="dark"?"light":"dark";i(c)};if(a(r),typeof window<"u"&&r==="system")window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",(d)=>{if(r==="system")a("system")});return{isDark:o,theme:r,toggle:n,setTheme:i}}function de(e,s){if(typeof document>"u")return;document.title=s?s.replace("%s",e):e}function S(e,s,t=!1){if(typeof document>"u")return;let r=t?"property":"name",o=document.querySelector(`meta[${r}="${e}"]`);if(!o)o=document.createElement("meta"),o.setAttribute(r,e),document.head.appendChild(o);o.setAttribute("content",s)}function ce(e,s){if(typeof document>"u")return;let t=document.querySelector(`link[rel="${e}"]`);if(!t)t=document.createElement("link"),t.setAttribute("rel",e),document.head.appendChild(t);t.setAttribute("href",s)}function Co(e){let{title:s,description:t,author:r,keywords:o,ogImage:a,ogImageWidth:i,ogImageHeight:n,twitterCard:d="summary_large_image",twitterSite:c,twitterCreator:u,canonical:p}=e;if(s)de(s),S("og:title",s,!0),S("twitter:title",s);if(t)S("description",t),S("og:description",t,!0),S("twitter:description",t);if(r)S("author",r);if(o&&o.length>0)S("keywords",o.join(", "));if(a)S("og:image",a,!0),S("twitter:image",a);if(i)S("og:image:width",i,!0);if(n)S("og:image:height",n,!0);if(S("twitter:card",d),c)S("twitter:site",c);if(u)S("twitter:creator",u);if(p)ce("canonical",p);if(S("og:type","website",!0),typeof window<"u")S("og:url",window.location.href,!0)}function yo(e){let s=[],{title:t,description:r,author:o,keywords:a,ogImage:i,ogImageWidth:n,ogImageHeight:d,twitterCard:c="summary_large_image",twitterSite:u,twitterCreator:p,canonical:x}=e;if(t)s.push(`<title>${N(t)}</title>`),s.push(`<meta property="og:title" content="${N(t)}" />`),s.push(`<meta name="twitter:title" content="${N(t)}" />`);if(r)s.push(`<meta name="description" content="${N(r)}" />`),s.push(`<meta property="og:description" content="${N(r)}" />`),s.push(`<meta name="twitter:description" content="${N(r)}" />`);if(o)s.push(`<meta name="author" content="${N(o)}" />`);if(a&&a.length>0)s.push(`<meta name="keywords" content="${N(a.join(", "))}" />`);if(i)s.push(`<meta property="og:image" content="${N(i)}" />`),s.push(`<meta name="twitter:image" content="${N(i)}" />`);if(n)s.push(`<meta property="og:image:width" content="${N(n)}" />`);if(d)s.push(`<meta property="og:image:height" content="${N(d)}" />`);if(s.push(`<meta name="twitter:card" content="${N(c)}" />`),u)s.push(`<meta name="twitter:site" content="${N(u)}" />`);if(p)s.push(`<meta name="twitter:creator" content="${N(p)}" />`);if(x)s.push(`<link rel="canonical" href="${N(x)}" />`);return s.push('<meta property="og:type" content="website" />'),s.join(`
3
+ `)}function N(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}function $o(e,s,t={}){let{enabled:r=!0,ignore:o=[]}=t,a=(i)=>{if(!r||!e)return;let n=i.target;if(!e.contains(n)){if(!o.some((c)=>{let u=document.querySelectorAll(c);return Array.from(u).some((p)=>p.contains(n))}))s(i)}};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 So(e,s={}){let{enabled:t=!0,initialFocus:r=null,returnFocus:o=!0,fallbackFocus:a=null}=s,i=null,n=!1;function d(){if(!e)return[];let f=["a[href]","button:not([disabled])","textarea:not([disabled])","input:not([disabled])","select:not([disabled])",'[tabindex]:not([tabindex="-1"])'].join(",");return Array.from(e.querySelectorAll(f))}function c(f){if(!t||!n||!e)return;let C=d();if(C.length===0){f.preventDefault();return}let v=C[0],k=C[C.length-1];if(f.shiftKey){if(document.activeElement===v||document.activeElement===e)f.preventDefault(),k.focus()}else if(document.activeElement===k)f.preventDefault(),v.focus()}function u(f){if(f.key==="Escape"&&t&&n)x()}function p(){if(!t||!e||n)return;if(i=document.activeElement,r)r.focus();else{let f=d();if(f.length>0)f[0].focus();else if(a)a.focus();else e.focus()}document.addEventListener("keydown",c),document.addEventListener("keydown",u),n=!0}function x(){if(!n)return;if(document.removeEventListener("keydown",c),document.removeEventListener("keydown",u),o&&i)i.focus();n=!1}return{activate:p,deactivate:x}}function zo(e,s={}){let{enabled:t=!0,preventDefault:r=!0,stopPropagation:o=!1,target:a=typeof document<"u"?document:null}=s,i=Array.isArray(e)?e:[e],n=(d)=>{if(!t)return;i.forEach((c)=>{if(!(Array.isArray(c.key)?c.key:[c.key]).some((x)=>x.toLowerCase()===d.key.toLowerCase()))return;if(c.ctrl!==void 0&&c.ctrl!==d.ctrlKey)return;if(c.shift!==void 0&&c.shift!==d.shiftKey)return;if(c.alt!==void 0&&c.alt!==d.altKey)return;if(c.meta!==void 0&&c.meta!==d.metaKey)return;if(r)d.preventDefault();if(o)d.stopPropagation();c.handler(d)})};if(a)a.addEventListener("keydown",n);return()=>{if(a)a.removeEventListener("keydown",n)}}var Do={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 Mo(e,s,t={}){let{serializer:r=JSON.stringify,deserializer:o=JSON.parse,onError:a=console.error}=t,i=s;try{if(typeof window<"u"){let p=window.localStorage.getItem(e);if(p!==null)i=o(p)}}catch(p){a(p)}let n=i,d=new Set;function c(p){try{let x=typeof p==="function"?p(n):p;if(n=x,typeof window<"u")window.localStorage.setItem(e,r(x));d.forEach((f)=>f(x))}catch(x){a(x)}}function u(){try{if(n=s,typeof window<"u")window.localStorage.removeItem(e);d.forEach((p)=>p(s))}catch(p){a(p)}}if(typeof window<"u"){let p=(x)=>{if(x.key===e&&x.newValue!==null)try{let f=o(x.newValue);n=f,d.forEach((C)=>C(f))}catch(f){a(f)}else if(x.key===e&&x.newValue===null)n=s,d.forEach((f)=>f(s))};window.addEventListener("storage",p)}return{value:n,setValue:c,removeValue:u}}function j(e,s={}){let{defaultValue:t=!1}=s,r=t,o=null;if(typeof window<"u"&&"matchMedia"in window){o=window.matchMedia(e),r=o.matches;let i=(n)=>{r=n.matches};if(o.addEventListener)o.addEventListener("change",i);else o.addListener(i)}function a(){if(o)r=o.matches}return{matches:r,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 To(e){return j(q[e])}function Po(){return j(q.mobile)}function Bo(){return j(q.desktop)}function jo(){return j(q.dark)}function qo(){return j(q.reducedMotion)}var ge="./Accordion-x2gjedap.stx";var fe="./Audio-0fk6p9tn.stx";var xe="./Login-s2jkvd9y.stx";var he="./Signup-3nxq5zag.stx";var Ce="./TwoFactorChallenge-2q4gg89m.stx";var we="./Avatar-5m0v0s4x.stx";var ke="./Badge-ynes82vv.stx";var Ne="./Breadcrumb-h9n427sk.stx";import R from"process";var ze="https://stacksjs.com/components";class z extends Error{component;context;constructor(e,s,t={}){let r=z.formatMessage(e,s,t);super(r);if(this.name="ComponentError",this.component=e,this.context={component:e,...t},Error.captureStackTrace)Error.captureStackTrace(this,z)}static formatMessage(e,s,t){let r=`[${e}] ${s}`;if(t.prop)r+=`
4
4
  Prop: "${t.prop}"`;if(t.received!==void 0)r+=`
5
5
  Received: ${JSON.stringify(t.received)}`;if(t.expected!==void 0){let o=Array.isArray(t.expected)?t.expected.map((a)=>JSON.stringify(a)).join(", "):JSON.stringify(t.expected);r+=`
6
6
  Expected: ${o}`}if(t.details)r+=`
7
7
  Details: ${t.details}`;if(t.docsUrl)r+=`
8
8
  Documentation: ${t.docsUrl}`;else if(e)r+=`
9
- Documentation: ${je}/${e.toLowerCase()}`;return r}toJSON(){return{name:this.name,message:this.message,component:this.component,context:this.context,stack:this.stack}}}var P={invalidProp(e,s,t,r){return new z(e,`Invalid prop value for "${s}"`,{prop:s,received:t,expected:r,details:Array.isArray(r)?`The "${s}" prop must be one of the allowed values`:`The "${s}" prop does not match the expected type`})},requiredProp(e,s){return new z(e,`Required prop "${s}" is missing`,{prop:s,details:`The "${s}" prop is required for ${e} to function correctly`})},invalidType(e,s,t,r){return new z(e,`Invalid type for prop "${s}"`,{prop:s,received:typeof t,expected:r,details:`Expected "${s}" to be of type ${r}, but received ${typeof t}`})},componentNotFound(e){return new z("ComponentLoader",`Component "${e}" not found`,{component:e,details:"Make sure the component is properly imported and registered"})},invalidChildren(e,s,t){return new z(e,"Invalid children",{received:typeof s,expected:t,details:`${e} expects ${t} as children`})},stateUpdate(e,s,t){return new z(e,`Failed to update state "${s}"`,{details:t.message})},eventHandler(e,s,t){return new z(e,`Error in "${s}" event handler`,{details:t.message})},render(e,s){return new z(e,"Failed to render component",{details:s.message})}},A=null;function va(e){A=e}function Ca(){A=null}function O(e,s={}){let{throwError:t=!0,logError:r=!0}=s;if(r&&H.env.NODE_ENV!=="production"){if(console.error("Component Error:",e),e instanceof z)console.group("Error Details"),console.log("Component:",e.component),console.log("Context:",e.context),console.groupEnd()}if(A)try{A(e)}catch(o){console.error("Error in error handler:",o)}if(t)throw e}function re(e,s,t){return(...r)=>{try{let o=e(...r);if(o instanceof Promise)return o.catch((a)=>{let i=P.eventHandler(s,t,a);throw O(i,{throwError:!1}),i});return o}catch(o){let a=P.eventHandler(s,t,o);throw O(a,{throwError:!1}),a}}}function qe(e,s){if(!e)throw s}function He(e,s,t={}){if(H.env.NODE_ENV==="production")return;let r=z.formatMessage(e,s,t);console.warn(`\u26A0\uFE0F ${r}`)}function ya(e,s){if(H.env.NODE_ENV==="production")return;qe(e,s)}function wa(e){let s=typeof H<"u"&&H.env.DEBUG==="true";return{log(...t){if(s)console.log(`[${e}]`,...t)},warn(t,r){He(e,t,r)},error(t,r){let o=new z(e,t,r);O(o,{throwError:!1})}}}function $a(e,s,t){try{return s()}catch(r){let o=P.render(e,r);return O(o,{throwError:!1}),t}}import Re from"process";var F=Re.env.NODE_ENV!=="production";class ${validate;message;isRequired;constructor(e,s,t=!1){this.validate=e;this.message=s;this.isRequired=t}get required(){return new $(this.validate,this.message,!0)}}var l={string:new $((e)=>typeof e==="string",(e,s,t)=>`Invalid prop \`${s}\` of type \`${typeof e}\` supplied to \`${t}\`, expected \`string\`.`),number:new $((e)=>typeof e==="number"&&!Number.isNaN(e),(e,s,t)=>`Invalid prop \`${s}\` of type \`${typeof e}\` supplied to \`${t}\`, expected \`number\`.`),boolean:new $((e)=>typeof e==="boolean",(e,s,t)=>`Invalid prop \`${s}\` of type \`${typeof e}\` supplied to \`${t}\`, expected \`boolean\`.`),func:new $((e)=>typeof e==="function",(e,s,t)=>`Invalid prop \`${s}\` of type \`${typeof e}\` supplied to \`${t}\`, expected \`function\`.`),object:new $((e)=>typeof e==="object"&&e!==null&&!Array.isArray(e),(e,s,t)=>`Invalid prop \`${s}\` of type \`${typeof e}\` supplied to \`${t}\`, expected \`object\`.`),array:new $((e)=>Array.isArray(e),(e,s,t)=>`Invalid prop \`${s}\` of type \`${typeof e}\` supplied to \`${t}\`, expected \`array\`.`),any:new $(()=>!0,()=>""),oneOf(e){return new $((s)=>e.includes(s),(s,t,r)=>`Invalid prop \`${t}\` of value \`${s}\` supplied to \`${r}\`, expected one of [${e.map((o)=>JSON.stringify(o)).join(", ")}].`)},oneOfType(e){return new $((s,t,r)=>e.some((o)=>o.validate(s,t,r)),(s,t,r)=>`Invalid prop \`${t}\` supplied to \`${r}\`, expected one of the specified types.`)},arrayOf(e){return new $((s,t,r)=>{if(!Array.isArray(s))return!1;return s.every((o,a)=>e.validate(o,`${t}[${a}]`,r))},(s,t,r)=>`Invalid prop \`${t}\` supplied to \`${r}\`, expected array of specified type.`)},shape(e){return new $((s,t,r)=>{if(typeof s!=="object"||s===null||Array.isArray(s))return!1;for(let[o,a]of Object.entries(e)){if(a.isRequired&&!(o in s))return!1;if(o in s&&!a.validate(s[o],`${t}.${o}`,r))return!1}return!0},(s,t,r)=>`Invalid prop \`${t}\` supplied to \`${r}\`, expected object matching specified shape.`)},instanceOf(e){return new $((s)=>s instanceof e,(s,t,r)=>`Invalid prop \`${t}\` supplied to \`${r}\`, expected instance of \`${e.name}\`.`)},custom(e,s){return new $(e,typeof s==="string"?()=>s:s)},min(e){return new $((s)=>typeof s==="number"&&s>=e,(s,t,r)=>`Invalid prop \`${t}\` of value \`${s}\` supplied to \`${r}\`, expected value >= ${e}.`)},max(e){return new $((s)=>typeof s==="number"&&s<=e,(s,t,r)=>`Invalid prop \`${t}\` of value \`${s}\` supplied to \`${r}\`, expected value <= ${e}.`)},range(e,s){return new $((t)=>typeof t==="number"&&t>=e&&t<=s,(t,r,o)=>`Invalid prop \`${r}\` of value \`${t}\` supplied to \`${o}\`, expected value between ${e} and ${s}.`)},pattern(e){return new $((s)=>typeof s==="string"&&e.test(s),(s,t,r)=>`Invalid prop \`${t}\` of value \`${s}\` supplied to \`${r}\`, expected value matching pattern ${e}.`)},email:new $((e)=>typeof e==="string"&&/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e),(e,s,t)=>`Invalid prop \`${s}\` of value \`${e}\` supplied to \`${t}\`, expected valid email address.`),url:new $((e)=>{if(typeof e!=="string")return!1;try{let s=new URL(e);return!0}catch{return!1}},(e,s,t)=>`Invalid prop \`${s}\` of value \`${e}\` supplied to \`${t}\`, expected valid URL.`)};function Ee(e,s,t,r={}){let{throwOnError:o=!1,logWarnings:a=F}=r,i=[];if(!F)return{valid:!0,errors:[]};for(let[n,d]of Object.entries(t)){let c=s[n],u=c===void 0;if(d.isRequired&&u){let p=`Required prop \`${n}\` was not specified in \`${e}\`.`;i.push(p);continue}if(u)continue;if(!d.validate(c,n,e)){let p=d.message(c,n,e);i.push(p)}}if(i.length>0){if(a)console.group(`\u26A0\uFE0F Prop validation failed for \`${e}\``),i.forEach((n)=>console.warn(n)),console.groupEnd();if(o)throw Error(`Prop validation failed for \`${e}\`:
9
+ Documentation: ${ze}/${e.toLowerCase()}`;return r}toJSON(){return{name:this.name,message:this.message,component:this.component,context:this.context,stack:this.stack}}}var B={invalidProp(e,s,t,r){return new z(e,`Invalid prop value for "${s}"`,{prop:s,received:t,expected:r,details:Array.isArray(r)?`The "${s}" prop must be one of the allowed values`:`The "${s}" prop does not match the expected type`})},requiredProp(e,s){return new z(e,`Required prop "${s}" is missing`,{prop:s,details:`The "${s}" prop is required for ${e} to function correctly`})},invalidType(e,s,t,r){return new z(e,`Invalid type for prop "${s}"`,{prop:s,received:typeof t,expected:r,details:`Expected "${s}" to be of type ${r}, but received ${typeof t}`})},componentNotFound(e){return new z("ComponentLoader",`Component "${e}" not found`,{component:e,details:"Make sure the component is properly imported and registered"})},invalidChildren(e,s,t){return new z(e,"Invalid children",{received:typeof s,expected:t,details:`${e} expects ${t} as children`})},stateUpdate(e,s,t){return new z(e,`Failed to update state "${s}"`,{details:t.message})},eventHandler(e,s,t){return new z(e,`Error in "${s}" event handler`,{details:t.message})},render(e,s){return new z(e,"Failed to render component",{details:s.message})}},A=null;function na(e){A=e}function la(){A=null}function O(e,s={}){let{throwError:t=!0,logError:r=!0}=s;if(r&&R.env.NODE_ENV!=="production"){if(console.error("Component Error:",e),e instanceof z)console.group("Error Details"),console.log("Component:",e.component),console.log("Context:",e.context),console.groupEnd()}if(A)try{A(e)}catch(o){console.error("Error in error handler:",o)}if(t)throw e}function re(e,s,t){return(...r)=>{try{let o=e(...r);if(o instanceof Promise)return o.catch((a)=>{let i=B.eventHandler(s,t,a);throw O(i,{throwError:!1}),i});return o}catch(o){let a=B.eventHandler(s,t,o);throw O(a,{throwError:!1}),a}}}function De(e,s){if(!e)throw s}function Le(e,s,t={}){if(R.env.NODE_ENV==="production")return;let r=z.formatMessage(e,s,t);console.warn(`\u26A0\uFE0F ${r}`)}function da(e,s){if(R.env.NODE_ENV==="production")return;De(e,s)}function ca(e){let s=typeof R<"u"&&R.env.DEBUG==="true";return{log(...t){if(s)console.log(`[${e}]`,...t)},warn(t,r){Le(e,t,r)},error(t,r){let o=new z(e,t,r);O(o,{throwError:!1})}}}function pa(e,s,t){try{return s()}catch(r){let o=B.render(e,r);return O(o,{throwError:!1}),t}}import Me from"process";var F=Me.env.NODE_ENV!=="production";class ${validate;message;isRequired;constructor(e,s,t=!1){this.validate=e;this.message=s;this.isRequired=t}get required(){return new $(this.validate,this.message,!0)}}var l={string:new $((e)=>typeof e==="string",(e,s,t)=>`Invalid prop \`${s}\` of type \`${typeof e}\` supplied to \`${t}\`, expected \`string\`.`),number:new $((e)=>typeof e==="number"&&!Number.isNaN(e),(e,s,t)=>`Invalid prop \`${s}\` of type \`${typeof e}\` supplied to \`${t}\`, expected \`number\`.`),boolean:new $((e)=>typeof e==="boolean",(e,s,t)=>`Invalid prop \`${s}\` of type \`${typeof e}\` supplied to \`${t}\`, expected \`boolean\`.`),func:new $((e)=>typeof e==="function",(e,s,t)=>`Invalid prop \`${s}\` of type \`${typeof e}\` supplied to \`${t}\`, expected \`function\`.`),object:new $((e)=>typeof e==="object"&&e!==null&&!Array.isArray(e),(e,s,t)=>`Invalid prop \`${s}\` of type \`${typeof e}\` supplied to \`${t}\`, expected \`object\`.`),array:new $((e)=>Array.isArray(e),(e,s,t)=>`Invalid prop \`${s}\` of type \`${typeof e}\` supplied to \`${t}\`, expected \`array\`.`),any:new $(()=>!0,()=>""),oneOf(e){return new $((s)=>e.includes(s),(s,t,r)=>`Invalid prop \`${t}\` of value \`${s}\` supplied to \`${r}\`, expected one of [${e.map((o)=>JSON.stringify(o)).join(", ")}].`)},oneOfType(e){return new $((s,t,r)=>e.some((o)=>o.validate(s,t,r)),(s,t,r)=>`Invalid prop \`${t}\` supplied to \`${r}\`, expected one of the specified types.`)},arrayOf(e){return new $((s,t,r)=>{if(!Array.isArray(s))return!1;return s.every((o,a)=>e.validate(o,`${t}[${a}]`,r))},(s,t,r)=>`Invalid prop \`${t}\` supplied to \`${r}\`, expected array of specified type.`)},shape(e){return new $((s,t,r)=>{if(typeof s!=="object"||s===null||Array.isArray(s))return!1;for(let[o,a]of Object.entries(e)){if(a.isRequired&&!(o in s))return!1;if(o in s&&!a.validate(s[o],`${t}.${o}`,r))return!1}return!0},(s,t,r)=>`Invalid prop \`${t}\` supplied to \`${r}\`, expected object matching specified shape.`)},instanceOf(e){return new $((s)=>s instanceof e,(s,t,r)=>`Invalid prop \`${t}\` supplied to \`${r}\`, expected instance of \`${e.name}\`.`)},custom(e,s){return new $(e,typeof s==="string"?()=>s:s)},min(e){return new $((s)=>typeof s==="number"&&s>=e,(s,t,r)=>`Invalid prop \`${t}\` of value \`${s}\` supplied to \`${r}\`, expected value >= ${e}.`)},max(e){return new $((s)=>typeof s==="number"&&s<=e,(s,t,r)=>`Invalid prop \`${t}\` of value \`${s}\` supplied to \`${r}\`, expected value <= ${e}.`)},range(e,s){return new $((t)=>typeof t==="number"&&t>=e&&t<=s,(t,r,o)=>`Invalid prop \`${r}\` of value \`${t}\` supplied to \`${o}\`, expected value between ${e} and ${s}.`)},pattern(e){return new $((s)=>typeof s==="string"&&e.test(s),(s,t,r)=>`Invalid prop \`${t}\` of value \`${s}\` supplied to \`${r}\`, expected value matching pattern ${e}.`)},email:new $((e)=>typeof e==="string"&&/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e),(e,s,t)=>`Invalid prop \`${s}\` of value \`${e}\` supplied to \`${t}\`, expected valid email address.`),url:new $((e)=>{if(typeof e!=="string")return!1;try{let s=new URL(e);return!0}catch{return!1}},(e,s,t)=>`Invalid prop \`${s}\` of value \`${e}\` supplied to \`${t}\`, expected valid URL.`)};function Ie(e,s,t,r={}){let{throwOnError:o=!1,logWarnings:a=F}=r,i=[];if(!F)return{valid:!0,errors:[]};for(let[n,d]of Object.entries(t)){let c=s[n],u=c===void 0;if(d.isRequired&&u){let p=`Required prop \`${n}\` was not specified in \`${e}\`.`;i.push(p);continue}if(u)continue;if(!d.validate(c,n,e)){let p=d.message(c,n,e);i.push(p)}}if(i.length>0){if(a)console.group(`\u26A0\uFE0F Prop validation failed for \`${e}\``),i.forEach((n)=>console.warn(n)),console.groupEnd();if(o)throw Error(`Prop validation failed for \`${e}\`:
10
10
  ${i.join(`
11
- `)}`)}return{valid:i.length===0,errors:i}}function L(e,s,t){return(r)=>Ee(e,r,s,t)}function Na(e,s,t="value"){if(!F)return;if(!s.validate(e,t,"assertion"))throw Error(s.message(e,t,"assertion"))}function za(e,s,t="value"){if(!F)return;if(!s.validate(e,t,"warning"))console.warn(s.message(e,t,"warning"))}var Oe="./Button-7xtrzn14.stx";var Fe={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},Ta=L("Button",Fe);function Ba(e){return re(e,"Button","onClick")}function Pa(e){if(e&&!["primary","secondary","outline","ghost","danger"].includes(e))throw P.invalidProp("Button","variant",e,["primary","secondary","outline","ghost","danger"])}function ja(e){if(e&&!["xs","sm","md","lg","xl"].includes(e))throw P.invalidProp("Button","size",e,["xs","sm","md","lg","xl"])}var Ge="./Calendar-egvx1pma.stx";var We="./Card-r9w7vy1a.stx";var Ve="./Checkbox-m8v46pmx.stx";var Xe="./Combobox-npb08vkp.stx";var Ke="./ComboboxButton-vcdyq4zw.stx";var es="./ComboboxInput-c9d2p02m.stx";var ts="./ComboboxOption-7d0h9ash.stx";var os="./ComboboxOptions-4dtqc0qa.stx";var is="./CommandPalette-ah00bf8v.stx";var ls="./CommandPaletteItem-2yx0gvtj.stx";var cs="./Dialog-1w4rz7x0.stx";var gs="./DialogBackdrop-qbm3y5ab.stx";var fs="./DialogDescription-01w5j74b.stx";var bs="./DialogPanel-brsszrrs.stx";var hs="./DialogTitle-3rxhwg21.stx";var Cs="./Drawer-yfaz8q7f.stx";var ws="./Dropdown-ng7nx556.stx";var ks="./DropdownButton-vc4zpyrb.stx";var Ns="./DropdownItem-z491y23c.stx";var Ms="./DropdownItems-7ykf29sj.stx";var Ls="./Form-z4f7w6r1.stx";var Is={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},Pi=L("Form",Is);var Bs="./Image-ktk0451c.stx";var js="./EmailInput-bfshpj92.stx";var Hs="./NumberInput-zm93ddfw.stx";var Es="./PasswordInput-4xnndp5y.stx";var Os="./SearchInput-g240e2nq.stx";var Us="./TextInput-zx9kgr79.stx";var Gs={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},Ys={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},Ws={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},_s={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},Vs={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},Wi=L("TextInput",Ys),_i=L("EmailInput",Gs),Vi=L("PasswordInput",_s),Zi=L("NumberInput",Ws),Xi=L("SearchInput",Vs);var Xs="./Listbox-xcejcmyc.stx";var Ks="./ListboxButton-nx5kmw19.stx";var et="./ListboxLabel-aky8a73n.stx";var tt="./ListboxOption-6h4hsdz5.stx";var ot="./ListboxOptions-2sacdtm5.stx";var it="./Navigator-tqqdgdkw.stx";var lt="./Notification-sry8egea.stx";var ct="./Pagination-yza9v4qw.stx";var gt="./Checkout-vcnnr176.stx";var ft="./DefaultPaymentMethod-emw5fg8s.stx";var bt="./PaymentMethods-jxba6kek.stx";var ht="./SubscriptionCheckout-4cbxdg7w.stx";var Ct="./Popover-scbqatjq.stx";var wt="./PopoverButton-rbxhzj4k.stx";var kt="./PopoverPanel-9ng1rm6e.stx";var Nt="./Portal-j111yvqp.stx";var Mt="./Progress-gbmw3akr.stx";var Lt="./Radio-1n9qamv1.stx";var Tt="./RadioGroup-12dw2vhk.stx";var Pt="./RadioGroupDescription-bjm3mdht.stx";var qt="./RadioGroupLabel-aky8a73n.stx";var Rt="./RadioGroupOption-9pcxgwmd.stx";var At="./Select-p9f94b20.stx";var Ft="./Sidebar-gwxw8q38.stx";var Gt="./SidebarSection-kh92fk4m.stx";var Wt="./SidebarItem-4dpwtmb4.stx";var Vt="./SidebarHeader-qjeyx0hv.stx";var Xt="./SidebarFooter-887kxret.stx";var Kt="./Skeleton-g0nx1njm.stx";var er="./Spinner-w4zj58xp.stx";var tr="./Stepper-rwc5actp.stx";var or="./StepperStep-h0k657nm.stx";class U{storage;namespace;watchers=new Map;encryptionKey="stx-storage-key";constructor(e="local",s=""){if(this.storage=e==="local"?globalThis.localStorage:globalThis.sessionStorage,this.namespace=s,typeof window<"u")window.addEventListener("storage",this.handleStorageEvent.bind(this))}handleStorageEvent(e){if(!e.key)return;let s=this.namespace&&e.key.startsWith(`${this.namespace}:`)?e.key.slice(this.namespace.length+1):e.key,t=this.watchers.get(s);if(t){let r=e.oldValue?JSON.parse(e.oldValue).value:null,o=e.newValue?JSON.parse(e.newValue).value:null;t.forEach((a)=>a(o,r,s))}}encrypt(e){let s="";for(let t=0;t<e.length;t++)s+=String.fromCharCode(e.charCodeAt(t)^this.encryptionKey.charCodeAt(t%this.encryptionKey.length));return btoa(s)}decrypt(e){try{let s=atob(e),t="";for(let r=0;r<s.length;r++)t+=String.fromCharCode(s.charCodeAt(r)^this.encryptionKey.charCodeAt(r%this.encryptionKey.length));return t}catch{return e}}compress(e){if(e.length<100)return e;let s={},t=256,r=[],o="";for(let a=0;a<e.length;a++){let i=e.charAt(a),n=o+i;if(s[n]!==void 0)o=n;else r.push(o.length>1?s[o]:o.charCodeAt(0)),s[n]=t++,o=i}if(o!=="")r.push(o.length>1?s[o]:o.charCodeAt(0));return JSON.stringify(r)}decompress(e){try{let s=JSON.parse(e);if(!Array.isArray(s))return e;let t={},r=256,o=String.fromCharCode(s[0]),a=o;for(let i=1;i<s.length;i++){let n=s[i],d;if(t[n]!==void 0)d=t[n];else if(n===r)d=o+o.charAt(0);else return e;a+=d,t[r++]=o+d.charAt(0),o=d}return a}catch{return e}}getKey(e){return this.namespace?`${this.namespace}:${e}`:e}set(e,s,t){let r=this.getKey(e),o=this.get(e),a={value:s,timestamp:Date.now(),expire:t?.expire,encrypted:t?.encrypt||!1,compressed:t?.compress||!1};try{let i=JSON.stringify(a);if(t?.compress)i=this.compress(i);if(t?.encrypt)i=this.encrypt(i);this.storage.setItem(r,i),this.notifyWatchers(e,s,o)}catch(i){console.error("Storage set error:",i)}}get(e){let s=this.getKey(e);try{let t=this.storage.getItem(s);if(!t)return null;if(t.match(/^[A-Z0-9+/]+=*$/i))try{t=this.decrypt(t)}catch{}if(t.startsWith("["))try{t=this.decompress(t)}catch{}let r=JSON.parse(t);if(r.expire&&Date.now()-r.timestamp>r.expire)return this.remove(e),null;return r.value}catch(t){return console.error("Storage get error:",t),null}}watch(e,s){if(!this.watchers.has(e))this.watchers.set(e,new Set);return this.watchers.get(e).add(s),()=>{let t=this.watchers.get(e);if(t){if(t.delete(s),t.size===0)this.watchers.delete(e)}}}notifyWatchers(e,s,t){let r=this.watchers.get(e);if(r)r.forEach((o)=>o(s,t,e))}remove(e){let s=this.getKey(e),t=this.get(e);this.storage.removeItem(s),this.notifyWatchers(e,null,t)}clear(){if(this.namespace)this.keys().forEach((s)=>this.remove(s));else this.storage.clear()}has(e){return this.get(e)!==null}keys(){let e=Object.keys(this.storage);if(this.namespace){let s=`${this.namespace}:`;return e.filter((t)=>t.startsWith(s)).map((t)=>t.slice(s.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 t=0;t<this.storage.length;t++){let r=this.storage.key(t);if(r){let o=this.storage.getItem(r)||"";e+=r.length+o.length}}let s=5242880;return{usage:e*2,quota:s,percentage:e*2/s*100}}catch{return null}}setMany(e,s){Object.entries(e).forEach(([t,r])=>{this.set(t,r,s)})}getMany(e){let s={};return e.forEach((t)=>{s[t]=this.get(t)}),s}removeMany(e){e.forEach((s)=>this.remove(s))}}var Dl={local:new U("local"),session:new U("session")};function Ll(e="local",s){return new U(e,s)}var ir="./Switch-kjq8qd2p.stx";var lr="./Table-59j9qwp0.stx";var cr="./TableBody-reka2gwv.stx";var gr="./TableCell-j7nh4sgr.stx";var fr="./TableHead-ecbrwpqm.stx";var br="./TableHeader-jn2shwsv.stx";var hr="./TableRow-xz8rrxhc.stx";var Cr="./Tabs-kb6ex6m7.stx";var wr="./Teleport-819cg9zm.stx";var kr="./Textarea-5xvmrb0z.stx";var Nr="./Tooltip-5ehqsy49.stx";var Mr="./Transition-2j39s044.stx";var Lr="./Video-6aq4shh4.stx";var Tr="./VirtualList-weh5qtm1.stx";var Pr="./VirtualTable-59a1eskc.stx";var jr=0;function oe(e="a11y"){return`${e}-${++jr}-${Date.now()}`}function hd(e,s,t={}){let{visible:r=!1,id:o=oe("label")}=t,a=document.createElement(r?"label":"span");if(a.id=o,a.textContent=e,!r)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(s)if(s.setAttribute("aria-labelledby",o),s.parentElement)s.parentElement.insertBefore(a,s);else document.body.appendChild(a);return o}function vd(e,s){let t=oe("desc"),r=document.createElement("span");if(r.id=t,r.textContent=e,Object.assign(r.style,{position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",border:"0"}),s)if(s.setAttribute("aria-describedby",t),s.parentElement)s.parentElement.insertBefore(r,s);else document.body.appendChild(r);return t}function Cd(e,s="polite"){let t=document.createElement("div");t.setAttribute("role","status"),t.setAttribute("aria-live",s),t.setAttribute("aria-atomic","true"),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"}),document.body.appendChild(t),setTimeout(()=>{t.textContent=e},100),setTimeout(()=>{document.body.removeChild(t)},1000)}function J(e){let s=["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(s)).filter((t)=>t.offsetParent!==null)}function yd(e,s={}){let{initialFocus:t,returnFocus:r,escapeDeactivates:o=!0,clickOutsideDeactivates:a=!0,allowOutsideClick:i=!1,onActivate:n,onDeactivate:d}=s,c=!1,u=!1,p=null,b=(h)=>{if(u)return;if(o&&h.key==="Escape"){h.preventDefault(),v();return}if(h.key==="Tab"){let w=J(e);if(w.length===0){h.preventDefault();return}let M=w[0],T=w[w.length-1];if(h.shiftKey){if(document.activeElement===M)h.preventDefault(),T.focus()}else if(document.activeElement===T)h.preventDefault(),M.focus()}},f=(h)=>{if(u)return;if(!e.contains(h.target)){if(typeof i==="function"){if(!i(h)&&a)v()}else if(!i&&a)v()}};function C(){if(c)return;c=!0,p=document.activeElement;let h=t||J(e)[0];if(h&&typeof h.focus==="function")h.focus();document.addEventListener("keydown",b),document.addEventListener("click",f),n?.()}function v(){if(!c)return;c=!1;let h=r||p;if(h&&typeof h.focus==="function")h.focus();document.removeEventListener("keydown",b),document.removeEventListener("click",f),d?.()}function k(){u=!0}function m(){u=!1}return{activate:C,deactivate:v,pause:k,unpause:m}}function wd(e,s={}){let{selector:t='[role="option"], [role="menuitem"], [role="tab"], button',initialIndex:r=0,orientation:o="both",loop:a=!0,onFocusChange:i}=s,n=r,d=()=>{return Array.from(e.querySelectorAll(t))},c=(p)=>{let b=d();if(p<0||p>=b.length)return;b.forEach((f,C)=>{if(C===p){if(f.setAttribute("tabindex","0"),typeof f.focus==="function")f.focus()}else f.setAttribute("tabindex","-1")}),n=p,i?.(p,b[p])},u=(p)=>{let f=d().length-1,C=!1,v=n;switch(p.key){case"ArrowRight":if(o==="horizontal"||o==="both"){if(v=n+1,v>f)v=a?0:f;C=!0}break;case"ArrowLeft":if(o==="horizontal"||o==="both"){if(v=n-1,v<0)v=a?f:0;C=!0}break;case"ArrowDown":if(o==="vertical"||o==="both"){if(v=n+1,v>f)v=a?0:f;C=!0}break;case"ArrowUp":if(o==="vertical"||o==="both"){if(v=n-1,v<0)v=a?f:0;C=!0}break;case"Home":v=0,C=!0;break;case"End":v=f,C=!0;break}if(C)p.preventDefault(),c(v)};return c(r),e.addEventListener("keydown",u),()=>{e.removeEventListener("keydown",u)}}var $d={Enter:"Enter",Space:" ",Escape:"Escape",ArrowUp:"ArrowUp",ArrowDown:"ArrowDown",ArrowLeft:"ArrowLeft",ArrowRight:"ArrowRight",Tab:"Tab",Home:"Home",End:"End",PageUp:"PageUp",PageDown:"PageDown"};function kd(e){return document.activeElement===e}function Sd(e,s){let t=s||document.activeElement,r=J(document.body),o=r.indexOf(t);if(o===-1)return;let a=e==="next"?o+1:o-1,i=r[a];if(i)i.focus()}function Nd(e){if(e.getAttribute("aria-hidden")==="true")return!1;let s=window.getComputedStyle(e);if(s.display==="none"||s.visibility==="hidden")return!1;return!0}var zd={setExpanded(e,s){e.setAttribute("aria-expanded",String(s))},setSelected(e,s){e.setAttribute("aria-selected",String(s))},setChecked(e,s){e.setAttribute("aria-checked",String(s))},setDisabled(e,s){if(e.setAttribute("aria-disabled",String(s)),s)e.setAttribute("tabindex","-1");else e.removeAttribute("tabindex")},setHidden(e,s){if(s)e.setAttribute("aria-hidden","true");else e.removeAttribute("aria-hidden")},setPressed(e,s){e.setAttribute("aria-pressed",String(s))},setInvalid(e,s){e.setAttribute("aria-invalid",String(s))},setRequired(e,s){e.setAttribute("aria-required",String(s))},setLive(e,s){e.setAttribute("aria-live",s)},setBusy(e,s){e.setAttribute("aria-busy",String(s))}};function Md(e){let s=document.createElement("span");return s.textContent=e,s.className="sr-only",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"}),s}function Dd(){if(typeof window.matchMedia==="function")return window.matchMedia("(prefers-reduced-motion: reduce)").matches;return!1}function Ld(){if(typeof window.matchMedia==="function")return window.matchMedia("(prefers-contrast: high)").matches;return!1}function Id(){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 Td(e,s="Skip to main content"){let t=document.createElement("a");return t.href=`#${e}`,t.textContent=s,t.className="skip-link",Object.assign(t.style,{position:"absolute",top:"-40px",left:"0",background:"#000",color:"#fff",padding:"8px",textDecoration:"none",zIndex:"100"}),t.addEventListener("focus",()=>{t.style.top="0"}),t.addEventListener("blur",()=>{t.style.top="-40px"}),t}function Bd(e){let s=[],t=(r)=>{let o=e.getAttribute(r);if(o){let a=o.split(" ");for(let i of a)if(!document.getElementById(i))s.push(`${r} references non-existent ID: ${i}`)}};return t("aria-labelledby"),t("aria-describedby"),t("aria-controls"),t("aria-owns"),t("aria-activedescendant"),s}var qr=(e,s,t,r)=>{return t*e/r+s},Hr=(e,s,t,r)=>{return e/=r,t*e*e+s},Rr=(e,s,t,r)=>{return e/=r,-t*e*(e-2)+s},Er=(e,s,t,r)=>{if(e/=r/2,e<1)return t/2*e*e+s;return e--,-t/2*(e*(e-2)-1)+s},Ar=(e,s,t,r)=>{return e/=r,t*e*e*e+s},Or=(e,s,t,r)=>{return e/=r,e--,t*(e*e*e+1)+s},Fr=(e,s,t,r)=>{if(e/=r/2,e<1)return t/2*e*e*e+s;return e-=2,t/2*(e*e*e+2)+s},Ur=(e,s,t,r)=>{return e/=r,t*e*e*e*e+s},Gr=(e,s,t,r)=>{return e/=r,e--,-t*(e*e*e*e-1)+s},Yr=(e,s,t,r)=>{if(e/=r/2,e<1)return t/2*e*e*e*e+s;return e-=2,-t/2*(e*e*e*e-2)+s},Wr=(e,s,t,r)=>{return e/=r,t*e*e*e*e*e+s},_r=(e,s,t,r)=>{return e/=r,e--,t*(e*e*e*e*e+1)+s},Vr=(e,s,t,r)=>{if(e/=r/2,e<1)return t/2*e*e*e*e*e+s;return e-=2,t/2*(e*e*e*e*e+2)+s},Zr=(e,s,t,r)=>{return-t*Math.cos(e/r*(Math.PI/2))+t+s},Xr=(e,s,t,r)=>{return t*Math.sin(e/r*(Math.PI/2))+s},Jr=(e,s,t,r)=>{return-t/2*(Math.cos(Math.PI*e/r)-1)+s},Kr=(e,s,t,r)=>{return e===0?s:t*2**(10*(e/r-1))+s},Qr=(e,s,t,r)=>{return e===r?s+t:t*(-(2**(-10*e/r))+1)+s},eo=(e,s,t,r)=>{if(e===0)return s;if(e===r)return s+t;if(e/=r/2,e<1)return t/2*2**(10*(e-1))+s;return e--,t/2*(-(2**(-10*e))+2)+s},so=(e,s,t,r)=>{return e/=r,-t*(Math.sqrt(1-e*e)-1)+s},to=(e,s,t,r)=>{return e/=r,e--,t*Math.sqrt(1-e*e)+s},ro=(e,s,t,r)=>{if(e/=r/2,e<1)return-t/2*(Math.sqrt(1-e*e)-1)+s;return e-=2,t/2*(Math.sqrt(1-e*e)+1)+s},oo=(e,s,t,r)=>{let o=1.70158,a=0,i=t;if(e===0)return s;if(e/=r,e===1)return s+t;if(!a)a=r*0.3;if(i<Math.abs(t))i=t,o=a/4;else o=a/(2*Math.PI)*Math.asin(t/i);return e-=1,-(i*2**(10*e)*Math.sin((e*r-o)*(2*Math.PI)/a))+s},ao=(e,s,t,r)=>{let o=1.70158,a=0,i=t;if(e===0)return s;if(e/=r,e===1)return s+t;if(!a)a=r*0.3;if(i<Math.abs(t))i=t,o=a/4;else o=a/(2*Math.PI)*Math.asin(t/i);return i*2**(-10*e)*Math.sin((e*r-o)*(2*Math.PI)/a)+t+s},io=(e,s,t,r)=>{let o=1.70158,a=0,i=t;if(e===0)return s;if(e/=r/2,e===2)return s+t;if(!a)a=r*0.44999999999999996;if(i<Math.abs(t))i=t,o=a/4;else o=a/(2*Math.PI)*Math.asin(t/i);if(e<1)return e-=1,-0.5*(i*2**(10*e)*Math.sin((e*r-o)*(2*Math.PI)/a))+s;return e-=1,i*2**(-10*e)*Math.sin((e*r-o)*(2*Math.PI)/a)*0.5+t+s},no=(e,s,t,r)=>{return e/=r,t*e*e*(2.70158*e-1.70158)+s},lo=(e,s,t,r)=>{return e/=r,e--,t*(e*e*(2.70158*e+1.70158)+1)+s},co=(e,s,t,r)=>{let o=1.70158;if(e/=r/2,e<1)return o*=1.525,t/2*(e*e*((o+1)*e-o))+s;return e-=2,o*=1.525,t/2*(e*e*((o+1)*e+o)+2)+s},K=(e,s,t,r)=>{if(e/=r,e<0.36363636363636365)return t*(7.5625*e*e)+s;else if(e<0.7272727272727273)return e-=0.5454545454545454,t*(7.5625*e*e+0.75)+s;else if(e<0.9090909090909091)return e-=0.8181818181818182,t*(7.5625*e*e+0.9375)+s;else return e-=0.9545454545454546,t*(7.5625*e*e+0.984375)+s},ae=(e,s,t,r)=>{return t-K(r-e,0,t,r)+s},po=(e,s,t,r)=>{if(e<r/2)return ae(e*2,0,t,r)*0.5+s;return K(e*2-r,0,t,r)*0.5+t*0.5+s},jd={linear:qr,easeInQuad:Hr,easeOutQuad:Rr,easeInOutQuad:Er,easeInCubic:Ar,easeOutCubic:Or,easeInOutCubic:Fr,easeInQuart:Ur,easeOutQuart:Gr,easeInOutQuart:Yr,easeInQuint:Wr,easeOutQuint:_r,easeInOutQuint:Vr,easeInSine:Zr,easeOutSine:Xr,easeInOutSine:Jr,easeInExpo:Kr,easeOutExpo:Qr,easeInOutExpo:eo,easeInCirc:so,easeOutCirc:to,easeInOutCirc:ro,easeInElastic:oo,easeOutElastic:ao,easeInOutElastic:io,easeInBack:no,easeOutBack:lo,easeInOutBack:co,easeInBounce:ae,easeOutBounce:K,easeInOutBounce:po};function go(e,s={}){let{duration:t="1s",timing:r="ease",delay:o="0s",iteration:a="1",direction:i="normal",fill:n="both",playState:d="running"}=s;return`${e} ${t} ${r} ${o} ${a} ${i} ${n} ${d}`}function ie(e,s,t={}){e.style.animation=go(s,t)}function Hd(e){e.style.animation=""}function uo(e){return new Promise((s)=>{let t=()=>{e.removeEventListener("animationend",t),s()};e.addEventListener("animationend",t)})}function Rd(e,s,t={}){let{stagger:r=100,...o}=t;e.forEach((a,i)=>{let n=`${i*r}ms`;ie(a,s,{...o,delay:n})})}async function Ed(e,s){for(let t of s)ie(e,t.name,t.options),await uo(e)}var Ad={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 Od(e,s,t=1000){return new Promise((r)=>{e.classList.add(s),setTimeout(()=>{e.classList.remove(s),r()},t)})}function Fd(e,s){let t=`
11
+ `)}`)}return{valid:i.length===0,errors:i}}function M(e,s,t){return(r)=>Ie(e,r,s,t)}function fa(e,s,t="value"){if(!F)return;if(!s.validate(e,t,"assertion"))throw Error(s.message(e,t,"assertion"))}function ba(e,s,t="value"){if(!F)return;if(!s.validate(e,t,"warning"))console.warn(s.message(e,t,"warning"))}var Pe="./Button-7xtrzn14.stx";var Be={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},Ca=M("Button",Be);function ya(e){return re(e,"Button","onClick")}function wa(e){if(e&&!["primary","secondary","outline","ghost","danger"].includes(e))throw B.invalidProp("Button","variant",e,["primary","secondary","outline","ghost","danger"])}function $a(e){if(e&&!["xs","sm","md","lg","xl"].includes(e))throw B.invalidProp("Button","size",e,["xs","sm","md","lg","xl"])}var qe="./Calendar-egvx1pma.stx";var He="./Card-r9w7vy1a.stx";var Ae="./Checkbox-m8v46pmx.stx";var Fe="./Combobox-npb08vkp.stx";var Ue="./ComboboxButton-vcdyq4zw.stx";var Ye="./ComboboxInput-c9d2p02m.stx";var Ve="./ComboboxOption-7d0h9ash.stx";var Xe="./ComboboxOptions-4dtqc0qa.stx";var Ke="./CommandPalette-ah00bf8v.stx";var es="./CommandPaletteItem-2yx0gvtj.stx";var ts="./Dialog-1w4rz7x0.stx";var os="./DialogBackdrop-qbm3y5ab.stx";var is="./DialogDescription-01w5j74b.stx";var ls="./DialogPanel-brsszrrs.stx";var cs="./DialogTitle-3rxhwg21.stx";var gs="./Drawer-yfaz8q7f.stx";var fs="./Dropdown-ng7nx556.stx";var xs="./DropdownButton-vc4zpyrb.stx";var hs="./DropdownItem-z491y23c.stx";var Cs="./DropdownItems-7ykf29sj.stx";var ws="./Form-z4f7w6r1.stx";var $s={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},wi=M("Form",$s);var Ss="./Image-ktk0451c.stx";var zs="./EmailInput-bfshpj92.stx";var Ls="./NumberInput-zm93ddfw.stx";var Is="./PasswordInput-4xnndp5y.stx";var Ps="./SearchInput-g240e2nq.stx";var js="./TextInput-zx9kgr79.stx";var qs={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},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,leftIcon:l.string,rightIcon:l.string,clearable:l.boolean,maxLength:l.number,showCount: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,min:l.number,max:l.number,step:l.number,showControls:l.boolean},Es={value:l.string,onChange:l.func,placeholder:l.string,disabled:l.boolean,readonly:l.boolean,size:l.oneOf(["sm","md","lg"]),error:l.boolean,label:l.string,helperText:l.string,required:l.boolean,className:l.string,inputClassName:l.string,showStrength:l.boolean},As={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},Bi=M("TextInput",Rs),ji=M("EmailInput",qs),qi=M("PasswordInput",Es),Ri=M("NumberInput",Hs),Hi=M("SearchInput",As);var Fs="./Listbox-xcejcmyc.stx";var Us="./ListboxButton-nx5kmw19.stx";var Ys="./ListboxLabel-aky8a73n.stx";var Vs="./ListboxOption-6h4hsdz5.stx";var Xs="./ListboxOptions-2sacdtm5.stx";var Ks="./Navigator-tqqdgdkw.stx";var et="./Notification-sry8egea.stx";var tt="./Pagination-yza9v4qw.stx";var ot="./Checkout-vcnnr176.stx";var it="./DefaultPaymentMethod-emw5fg8s.stx";var lt="./PaymentMethods-jxba6kek.stx";var ct="./SubscriptionCheckout-4cbxdg7w.stx";var gt="./Popover-scbqatjq.stx";var ft="./PopoverButton-rbxhzj4k.stx";var xt="./PopoverPanel-9ng1rm6e.stx";var ht="./Portal-j111yvqp.stx";var Ct="./Progress-gbmw3akr.stx";var wt="./Radio-1n9qamv1.stx";var kt="./RadioGroup-12dw2vhk.stx";var Nt="./RadioGroupDescription-bjm3mdht.stx";var Dt="./RadioGroupLabel-aky8a73n.stx";var Mt="./RadioGroupOption-9pcxgwmd.stx";var Tt="./Select-p9f94b20.stx";var Bt="./Sidebar-gwxw8q38.stx";var qt="./SidebarSection-kh92fk4m.stx";var Ht="./SidebarItem-4dpwtmb4.stx";var At="./SidebarHeader-qjeyx0hv.stx";var Ft="./SidebarFooter-887kxret.stx";var Ut="./Skeleton-g0nx1njm.stx";var Yt="./Spinner-w4zj58xp.stx";var Vt="./Stepper-rwc5actp.stx";var Xt="./StepperStep-h0k657nm.stx";class G{storage;namespace;watchers=new Map;encryptionKey="stx-storage-key";constructor(e="local",s=""){if(this.storage=e==="local"?globalThis.localStorage:globalThis.sessionStorage,this.namespace=s,typeof window<"u")window.addEventListener("storage",this.handleStorageEvent.bind(this))}handleStorageEvent(e){if(!e.key)return;let s=this.namespace&&e.key.startsWith(`${this.namespace}:`)?e.key.slice(this.namespace.length+1):e.key,t=this.watchers.get(s);if(t){let r=e.oldValue?JSON.parse(e.oldValue).value:null,o=e.newValue?JSON.parse(e.newValue).value:null;t.forEach((a)=>a(o,r,s))}}encrypt(e){let s="";for(let t=0;t<e.length;t++)s+=String.fromCharCode(e.charCodeAt(t)^this.encryptionKey.charCodeAt(t%this.encryptionKey.length));return btoa(s)}decrypt(e){try{let s=atob(e),t="";for(let r=0;r<s.length;r++)t+=String.fromCharCode(s.charCodeAt(r)^this.encryptionKey.charCodeAt(r%this.encryptionKey.length));return t}catch{return e}}compress(e){if(e.length<100)return e;let s={},t=256,r=[],o="";for(let a=0;a<e.length;a++){let i=e.charAt(a),n=o+i;if(s[n]!==void 0)o=n;else r.push(o.length>1?s[o]:o.charCodeAt(0)),s[n]=t++,o=i}if(o!=="")r.push(o.length>1?s[o]:o.charCodeAt(0));return JSON.stringify(r)}decompress(e){try{let s=JSON.parse(e);if(!Array.isArray(s))return e;let t={},r=256,o=String.fromCharCode(s[0]),a=o;for(let i=1;i<s.length;i++){let n=s[i],d;if(t[n]!==void 0)d=t[n];else if(n===r)d=o+o.charAt(0);else return e;a+=d,t[r++]=o+d.charAt(0),o=d}return a}catch{return e}}getKey(e){return this.namespace?`${this.namespace}:${e}`:e}set(e,s,t){let r=this.getKey(e),o=this.get(e),a={value:s,timestamp:Date.now(),expire:t?.expire,encrypted:t?.encrypt||!1,compressed:t?.compress||!1};try{let i=JSON.stringify(a);if(t?.compress)i=this.compress(i);if(t?.encrypt)i=this.encrypt(i);this.storage.setItem(r,i),this.notifyWatchers(e,s,o)}catch(i){console.error("Storage set error:",i)}}get(e){let s=this.getKey(e);try{let t=this.storage.getItem(s);if(!t)return null;if(t.match(/^[A-Z0-9+/]+=*$/i))try{t=this.decrypt(t)}catch{}if(t.startsWith("["))try{t=this.decompress(t)}catch{}let r=JSON.parse(t);if(r.expire&&Date.now()-r.timestamp>r.expire)return this.remove(e),null;return r.value}catch(t){return console.error("Storage get error:",t),null}}watch(e,s){if(!this.watchers.has(e))this.watchers.set(e,new Set);return this.watchers.get(e).add(s),()=>{let t=this.watchers.get(e);if(t){if(t.delete(s),t.size===0)this.watchers.delete(e)}}}notifyWatchers(e,s,t){let r=this.watchers.get(e);if(r)r.forEach((o)=>o(s,t,e))}remove(e){let s=this.getKey(e),t=this.get(e);this.storage.removeItem(s),this.notifyWatchers(e,null,t)}clear(){if(this.namespace)this.keys().forEach((s)=>this.remove(s));else this.storage.clear()}has(e){return this.get(e)!==null}keys(){let e=Object.keys(this.storage);if(this.namespace){let s=`${this.namespace}:`;return e.filter((t)=>t.startsWith(s)).map((t)=>t.slice(s.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 t=0;t<this.storage.length;t++){let r=this.storage.key(t);if(r){let o=this.storage.getItem(r)||"";e+=r.length+o.length}}let s=5242880;return{usage:e*2,quota:s,percentage:e*2/s*100}}catch{return null}}setMany(e,s){Object.entries(e).forEach(([t,r])=>{this.set(t,r,s)})}getMany(e){let s={};return e.forEach((t)=>{s[t]=this.get(t)}),s}removeMany(e){e.forEach((s)=>this.remove(s))}}var ml={local:new G("local"),session:new G("session")};function hl(e="local",s){return new G(e,s)}var Kt="./Switch-kjq8qd2p.stx";var er="./Table-59j9qwp0.stx";var tr="./TableBody-reka2gwv.stx";var or="./TableCell-j7nh4sgr.stx";var ir="./TableHead-ecbrwpqm.stx";var lr="./TableHeader-jn2shwsv.stx";var cr="./TableRow-xz8rrxhc.stx";var gr="./Tabs-kb6ex6m7.stx";var fr="./Teleport-819cg9zm.stx";var xr="./Textarea-5xvmrb0z.stx";var hr="./Tooltip-5ehqsy49.stx";var Cr="./Transition-2j39s044.stx";var wr="./Video-6aq4shh4.stx";var kr="./VirtualList-weh5qtm1.stx";var Nr="./VirtualTable-59a1eskc.stx";var zr=0;function oe(e="a11y"){return`${e}-${++zr}-${Date.now()}`}function id(e,s,t={}){let{visible:r=!1,id:o=oe("label")}=t,a=document.createElement(r?"label":"span");if(a.id=o,a.textContent=e,!r)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(s)if(s.setAttribute("aria-labelledby",o),s.parentElement)s.parentElement.insertBefore(a,s);else document.body.appendChild(a);return o}function nd(e,s){let t=oe("desc"),r=document.createElement("span");if(r.id=t,r.textContent=e,Object.assign(r.style,{position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",border:"0"}),s)if(s.setAttribute("aria-describedby",t),s.parentElement)s.parentElement.insertBefore(r,s);else document.body.appendChild(r);return t}function ld(e,s="polite"){let t=document.createElement("div");t.setAttribute("role","status"),t.setAttribute("aria-live",s),t.setAttribute("aria-atomic","true"),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"}),document.body.appendChild(t),setTimeout(()=>{t.textContent=e},100),setTimeout(()=>{document.body.removeChild(t)},1000)}function J(e){let s=["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(s)).filter((t)=>t.offsetParent!==null)}function dd(e,s={}){let{initialFocus:t,returnFocus:r,escapeDeactivates:o=!0,clickOutsideDeactivates:a=!0,allowOutsideClick:i=!1,onActivate:n,onDeactivate:d}=s,c=!1,u=!1,p=null,x=(h)=>{if(u)return;if(o&&h.key==="Escape"){h.preventDefault(),v();return}if(h.key==="Tab"){let w=J(e);if(w.length===0){h.preventDefault();return}let D=w[0],T=w[w.length-1];if(h.shiftKey){if(document.activeElement===D)h.preventDefault(),T.focus()}else if(document.activeElement===T)h.preventDefault(),D.focus()}},f=(h)=>{if(u)return;if(!e.contains(h.target)){if(typeof i==="function"){if(!i(h)&&a)v()}else if(!i&&a)v()}};function C(){if(c)return;c=!0,p=document.activeElement;let h=t||J(e)[0];if(h&&typeof h.focus==="function")h.focus();document.addEventListener("keydown",x),document.addEventListener("click",f),n?.()}function v(){if(!c)return;c=!1;let h=r||p;if(h&&typeof h.focus==="function")h.focus();document.removeEventListener("keydown",x),document.removeEventListener("click",f),d?.()}function k(){u=!0}function m(){u=!1}return{activate:C,deactivate:v,pause:k,unpause:m}}function cd(e,s={}){let{selector:t='[role="option"], [role="menuitem"], [role="tab"], button',initialIndex:r=0,orientation:o="both",loop:a=!0,onFocusChange:i}=s,n=r,d=()=>{return Array.from(e.querySelectorAll(t))},c=(p)=>{let x=d();if(p<0||p>=x.length)return;x.forEach((f,C)=>{if(C===p){if(f.setAttribute("tabindex","0"),typeof f.focus==="function")f.focus()}else f.setAttribute("tabindex","-1")}),n=p,i?.(p,x[p])},u=(p)=>{let f=d().length-1,C=!1,v=n;switch(p.key){case"ArrowRight":if(o==="horizontal"||o==="both"){if(v=n+1,v>f)v=a?0:f;C=!0}break;case"ArrowLeft":if(o==="horizontal"||o==="both"){if(v=n-1,v<0)v=a?f:0;C=!0}break;case"ArrowDown":if(o==="vertical"||o==="both"){if(v=n+1,v>f)v=a?0:f;C=!0}break;case"ArrowUp":if(o==="vertical"||o==="both"){if(v=n-1,v<0)v=a?f:0;C=!0}break;case"Home":v=0,C=!0;break;case"End":v=f,C=!0;break}if(C)p.preventDefault(),c(v)};return c(r),e.addEventListener("keydown",u),()=>{e.removeEventListener("keydown",u)}}var pd={Enter:"Enter",Space:" ",Escape:"Escape",ArrowUp:"ArrowUp",ArrowDown:"ArrowDown",ArrowLeft:"ArrowLeft",ArrowRight:"ArrowRight",Tab:"Tab",Home:"Home",End:"End",PageUp:"PageUp",PageDown:"PageDown"};function gd(e){return document.activeElement===e}function ud(e,s){let t=s||document.activeElement,r=J(document.body),o=r.indexOf(t);if(o===-1)return;let a=e==="next"?o+1:o-1,i=r[a];if(i)i.focus()}function fd(e){if(e.getAttribute("aria-hidden")==="true")return!1;let s=window.getComputedStyle(e);if(s.display==="none"||s.visibility==="hidden")return!1;return!0}var bd={setExpanded(e,s){e.setAttribute("aria-expanded",String(s))},setSelected(e,s){e.setAttribute("aria-selected",String(s))},setChecked(e,s){e.setAttribute("aria-checked",String(s))},setDisabled(e,s){if(e.setAttribute("aria-disabled",String(s)),s)e.setAttribute("tabindex","-1");else e.removeAttribute("tabindex")},setHidden(e,s){if(s)e.setAttribute("aria-hidden","true");else e.removeAttribute("aria-hidden")},setPressed(e,s){e.setAttribute("aria-pressed",String(s))},setInvalid(e,s){e.setAttribute("aria-invalid",String(s))},setRequired(e,s){e.setAttribute("aria-required",String(s))},setLive(e,s){e.setAttribute("aria-live",s)},setBusy(e,s){e.setAttribute("aria-busy",String(s))}};function xd(e){let s=document.createElement("span");return s.textContent=e,s.className="sr-only",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"}),s}function md(){if(typeof window.matchMedia==="function")return window.matchMedia("(prefers-reduced-motion: reduce)").matches;return!1}function hd(){if(typeof window.matchMedia==="function")return window.matchMedia("(prefers-contrast: high)").matches;return!1}function vd(){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 Cd(e,s="Skip to main content"){let t=document.createElement("a");return t.href=`#${e}`,t.textContent=s,t.className="skip-link",Object.assign(t.style,{position:"absolute",top:"-40px",left:"0",background:"#000",color:"#fff",padding:"8px",textDecoration:"none",zIndex:"100"}),t.addEventListener("focus",()=>{t.style.top="0"}),t.addEventListener("blur",()=>{t.style.top="-40px"}),t}function yd(e){let s=[],t=(r)=>{let o=e.getAttribute(r);if(o){let a=o.split(" ");for(let i of a)if(!document.getElementById(i))s.push(`${r} references non-existent ID: ${i}`)}};return t("aria-labelledby"),t("aria-describedby"),t("aria-controls"),t("aria-owns"),t("aria-activedescendant"),s}var Dr=(e,s,t,r)=>{return t*e/r+s},Lr=(e,s,t,r)=>{return e/=r,t*e*e+s},Mr=(e,s,t,r)=>{return e/=r,-t*e*(e-2)+s},Ir=(e,s,t,r)=>{if(e/=r/2,e<1)return t/2*e*e+s;return e--,-t/2*(e*(e-2)-1)+s},Tr=(e,s,t,r)=>{return e/=r,t*e*e*e+s},Pr=(e,s,t,r)=>{return e/=r,e--,t*(e*e*e+1)+s},Br=(e,s,t,r)=>{if(e/=r/2,e<1)return t/2*e*e*e+s;return e-=2,t/2*(e*e*e+2)+s},jr=(e,s,t,r)=>{return e/=r,t*e*e*e*e+s},qr=(e,s,t,r)=>{return e/=r,e--,-t*(e*e*e*e-1)+s},Rr=(e,s,t,r)=>{if(e/=r/2,e<1)return t/2*e*e*e*e+s;return e-=2,-t/2*(e*e*e*e-2)+s},Hr=(e,s,t,r)=>{return e/=r,t*e*e*e*e*e+s},Er=(e,s,t,r)=>{return e/=r,e--,t*(e*e*e*e*e+1)+s},Ar=(e,s,t,r)=>{if(e/=r/2,e<1)return t/2*e*e*e*e*e+s;return e-=2,t/2*(e*e*e*e*e+2)+s},Or=(e,s,t,r)=>{return-t*Math.cos(e/r*(Math.PI/2))+t+s},Fr=(e,s,t,r)=>{return t*Math.sin(e/r*(Math.PI/2))+s},Gr=(e,s,t,r)=>{return-t/2*(Math.cos(Math.PI*e/r)-1)+s},Ur=(e,s,t,r)=>{return e===0?s:t*2**(10*(e/r-1))+s},Wr=(e,s,t,r)=>{return e===r?s+t:t*(-(2**(-10*e/r))+1)+s},Yr=(e,s,t,r)=>{if(e===0)return s;if(e===r)return s+t;if(e/=r/2,e<1)return t/2*2**(10*(e-1))+s;return e--,t/2*(-(2**(-10*e))+2)+s},_r=(e,s,t,r)=>{return e/=r,-t*(Math.sqrt(1-e*e)-1)+s},Vr=(e,s,t,r)=>{return e/=r,e--,t*Math.sqrt(1-e*e)+s},Zr=(e,s,t,r)=>{if(e/=r/2,e<1)return-t/2*(Math.sqrt(1-e*e)-1)+s;return e-=2,t/2*(Math.sqrt(1-e*e)+1)+s},Xr=(e,s,t,r)=>{let o=1.70158,a=0,i=t;if(e===0)return s;if(e/=r,e===1)return s+t;if(!a)a=r*0.3;if(i<Math.abs(t))i=t,o=a/4;else o=a/(2*Math.PI)*Math.asin(t/i);return e-=1,-(i*2**(10*e)*Math.sin((e*r-o)*(2*Math.PI)/a))+s},Jr=(e,s,t,r)=>{let o=1.70158,a=0,i=t;if(e===0)return s;if(e/=r,e===1)return s+t;if(!a)a=r*0.3;if(i<Math.abs(t))i=t,o=a/4;else o=a/(2*Math.PI)*Math.asin(t/i);return i*2**(-10*e)*Math.sin((e*r-o)*(2*Math.PI)/a)+t+s},Kr=(e,s,t,r)=>{let o=1.70158,a=0,i=t;if(e===0)return s;if(e/=r/2,e===2)return s+t;if(!a)a=r*0.44999999999999996;if(i<Math.abs(t))i=t,o=a/4;else o=a/(2*Math.PI)*Math.asin(t/i);if(e<1)return e-=1,-0.5*(i*2**(10*e)*Math.sin((e*r-o)*(2*Math.PI)/a))+s;return e-=1,i*2**(-10*e)*Math.sin((e*r-o)*(2*Math.PI)/a)*0.5+t+s},Qr=(e,s,t,r)=>{return e/=r,t*e*e*(2.70158*e-1.70158)+s},eo=(e,s,t,r)=>{return e/=r,e--,t*(e*e*(2.70158*e+1.70158)+1)+s},so=(e,s,t,r)=>{let o=1.70158;if(e/=r/2,e<1)return o*=1.525,t/2*(e*e*((o+1)*e-o))+s;return e-=2,o*=1.525,t/2*(e*e*((o+1)*e+o)+2)+s},K=(e,s,t,r)=>{if(e/=r,e<0.36363636363636365)return t*(7.5625*e*e)+s;else if(e<0.7272727272727273)return e-=0.5454545454545454,t*(7.5625*e*e+0.75)+s;else if(e<0.9090909090909091)return e-=0.8181818181818182,t*(7.5625*e*e+0.9375)+s;else return e-=0.9545454545454546,t*(7.5625*e*e+0.984375)+s},ae=(e,s,t,r)=>{return t-K(r-e,0,t,r)+s},to=(e,s,t,r)=>{if(e<r/2)return ae(e*2,0,t,r)*0.5+s;return K(e*2-r,0,t,r)*0.5+t*0.5+s},$d={linear:Dr,easeInQuad:Lr,easeOutQuad:Mr,easeInOutQuad:Ir,easeInCubic:Tr,easeOutCubic:Pr,easeInOutCubic:Br,easeInQuart:jr,easeOutQuart:qr,easeInOutQuart:Rr,easeInQuint:Hr,easeOutQuint:Er,easeInOutQuint:Ar,easeInSine:Or,easeOutSine:Fr,easeInOutSine:Gr,easeInExpo:Ur,easeOutExpo:Wr,easeInOutExpo:Yr,easeInCirc:_r,easeOutCirc:Vr,easeInOutCirc:Zr,easeInElastic:Xr,easeOutElastic:Jr,easeInOutElastic:Kr,easeInBack:Qr,easeOutBack:eo,easeInOutBack:so,easeInBounce:ae,easeOutBounce:K,easeInOutBounce:to};function ro(e,s={}){let{duration:t="1s",timing:r="ease",delay:o="0s",iteration:a="1",direction:i="normal",fill:n="both",playState:d="running"}=s;return`${e} ${t} ${r} ${o} ${a} ${i} ${n} ${d}`}function ie(e,s,t={}){e.style.animation=ro(s,t)}function Sd(e){e.style.animation=""}function oo(e){return new Promise((s)=>{let t=()=>{e.removeEventListener("animationend",t),s()};e.addEventListener("animationend",t)})}function Nd(e,s,t={}){let{stagger:r=100,...o}=t;e.forEach((a,i)=>{let n=`${i*r}ms`;ie(a,s,{...o,delay:n})})}async function zd(e,s){for(let t of s)ie(e,t.name,t.options),await oo(e)}var Dd={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 Ld(e,s,t=1000){return new Promise((r)=>{e.classList.add(s),setTimeout(()=>{e.classList.remove(s),r()},t)})}function Md(e,s){let t=`
12
12
  @keyframes ${e} {
13
13
  ${Object.entries(s).map(([o,a])=>{let i=Object.entries(a).map(([n,d])=>`${n}: ${d};`).join(" ");return`${o} { ${i} }`}).join(`
14
14
  `)}
15
15
  }
16
- `,r=document.createElement("style");r.textContent=t,document.head.appendChild(r)}function fo(e,s,t={}){if(typeof e.animate!=="function")return console.warn("Web Animations API not supported"),null;let{duration:r=1000,easing:o="ease",delay:a=0,iterations:i=1,direction:n="normal",fill:d="both"}=t;return e.animate([...s],{duration:r,easing:o,delay:a,iterations:i,direction:n,fill:d})}var xo={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 Gd(e,s,t={}){return fo(e,xo[s],t)}import{createHighlighter as bo}from"ts-syntax-highlighter";var Q=null;async function mo(){if(!Q)Q=await bo({theme:"github-light"});return Q}async function _d(e,s={}){let{theme:t="auto",language:r="typescript",lineNumbers:o=!1,wrapLines:a=!0}=s,i=await mo(),n=t==="auto"?globalThis.matchMedia?.("(prefers-color-scheme: dark)").matches?"github-dark":"github-light":t==="dark"?"github-dark":"github-light",d=await i.highlight(e,r);return{html:typeof d==="string"?d:String(d),language:r,theme:n}}function Vd(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 Zd(e,s){return`<div class="${s?`rounded-md overflow-auto text-sm leading-relaxed font-mono ${s}`:"rounded-md overflow-auto text-sm leading-relaxed font-mono"}">${e}</div>`}var I=null,ho=(e)=>{return e===1?0:1};function G(e,s){return s.split(".").reduce((t,r)=>t?.[r],e)}function ee(e,s={}){return e.replace(/\{(\w+)\}/g,(t,r)=>{return s[r]!==void 0?String(s[r]):t})}function Jd(e){let{locale:s,fallbackLocale:t="en",messages:r,pluralRules:o={},dateTimeFormats:a={},numberFormats:i={},missing:n,warnMissing:d=!0}=e;function c(m,h={}){let w=G(r[s],m);if(w===void 0&&t)w=G(r[t],m);if(w===void 0){if(n){let M=n(s,m);if(M)return ee(M,h)}if(d&&typeof console<"u")console.warn(`[i18n] Missing translation for key "${m}" in locale "${s}"`);return m}if(typeof w==="string")return ee(w,h);return String(w)}function u(m,h,w={}){let M=c(m,{...w,count:h});if(M.includes("|")){let T=M.split("|").map((Z)=>Z.trim()),_=(o[s]||ho)(h,s),V=T[_]||T[T.length-1];return ee(V,{...w,count:h})}return M}function p(m,h="default"){let w=typeof m==="number"?new Date(m):m,M=a[h]||a.default||{};return new Intl.DateTimeFormat(s,M).format(w)}function b(m,h="default"){let w=i[h]||i.default||{};return new Intl.NumberFormat(s,w).format(m)}function f(m){if(G(r[s],m)!==void 0)return!0;if(t)return G(r[t],m)!==void 0;return!1}function C(m){if(!r[m]){console.warn(`[i18n] Locale "${m}" not found. Available locales: ${Object.keys(r).join(", ")}`);return}s=m}function v(m,h){if(!r[m])r[m]={};r[m]={...r[m],...h}}function k(m){delete r[m]}return{get locale(){return s},get availableLocales(){return Object.keys(r)},setLocale:C,t:c,tc:u,d:p,n:b,te:f,addMessages:v,removeLocale:k}}function Kd(e){I=e}function Qd(){return I}function ec(e,s){if(!I)return console.warn("[i18n] No global i18n instance set. Call setI18n() first."),e;return I.t(e,s)}function sc(e,s,t){if(!I)return console.warn("[i18n] No global i18n instance set. Call setI18n() first."),e;return I.tc(e,s,t)}function tc(e,s){if(!I)return console.warn("[i18n] No global i18n instance set. Call setI18n() first."),String(e);return I.d(e,s)}function rc(e,s){if(!I)return console.warn("[i18n] No global i18n instance set. Call setI18n() first."),String(e);return I.n(e,s)}var oc={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},ac={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"}},ic={decimal:{style:"decimal",minimumFractionDigits:2,maximumFractionDigits:2},currency:{style:"currency",currency:"USD"},percent:{style:"percent",minimumFractionDigits:0,maximumFractionDigits:2},compact:{notation:"compact"}};function nc(e){let s=["ar","he","fa","ur","yi"],t=e.split("-")[0].toLowerCase();return s.includes(t)}async function lc(e,s){try{return await s()}catch(t){return console.error(`[i18n] Failed to load messages for locale "${e}":`,t),{}}}var dc={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 pc(e={}){let{max:s=10,ttl:t=0,include:r,exclude:o,hooks:a,debug:i=!1}=e,n=new Map,d=0,c=0;function u(...g){if(i)console.log("[KeepAlive]",...g)}function p(g){if(o){if(o instanceof RegExp&&o.test(g))return!1;if(Array.isArray(o)&&o.includes(g))return!1}if(r){if(r instanceof RegExp&&!r.test(g))return!1;if(Array.isArray(r)&&!r.includes(g))return!1}return!0}function b(g){if(!t||!g.expiresAt)return!1;return Date.now()>g.expiresAt}function f(g){let x=n.get(g);if(x)x.lastAccessedAt=Date.now(),x.accessCount++,x.instance.lastAccessedAt=x.lastAccessedAt,n.delete(g),n.set(g,x),u(`Touched: ${g} (access count: ${x.accessCount})`)}function C(){if(n.size===0)return!1;let g=n.keys().next().value;if(!g)return!1;let x=n.get(g);if(x){u(`Evicting LRU: ${g}`);let y=x.instance.hooks;if(y?.onDeactivate)y.onDeactivate(x.instance);if(a?.onDeactivate)a.onDeactivate(x.instance);return n.delete(g),!0}return!1}function v(g,x,y){if(!p(x.type))return u(`Type not cacheable: ${x.type}`),x;if(n.size>=s)C();let D=Date.now(),E={instance:{...x,hooks:y||x.hooks,createdAt:x.createdAt||D,lastAccessedAt:D},accessCount:0,createdAt:D,lastAccessedAt:D,expiresAt:t?D+t:void 0};if(n.set(g,E),u(`Cached: ${g} (size: ${n.size}/${s})`),y?.onMount)y.onMount(E.instance);if(a?.onMount)a.onMount(E.instance);return E.instance}function k(g){let x=n.get(g);if(!x)return c++,u(`Miss: ${g}`),null;if(b(x))return u(`Expired: ${g}`),n.delete(g),c++,null;return d++,f(g),u(`Hit: ${g}`),x.instance}function m(g){let x=n.get(g);if(!x)return!1;if(b(x))return n.delete(g),!1;return!0}function h(g){let x=n.get(g);if(!x)return!1;u(`Removing: ${g}`);let y=x.instance.hooks;if(y?.onUnmount)y.onUnmount(x.instance);if(a?.onUnmount)a.onUnmount(x.instance);return n.delete(g)}function w(){u("Clearing cache"),n.forEach((g)=>{let x=g.instance.hooks;if(x?.onUnmount)x.onUnmount(g.instance);if(a?.onUnmount)a.onUnmount(g.instance)}),n.clear(),d=0,c=0}function M(){let g=0,x=Date.now();for(let[y,D]of n.entries())if(b(D))u(`Pruning expired: ${y}`),h(y),g++;while(n.size>s)if(C())g++;else break;if(g>0)u(`Pruned ${g} entries`);return g}function T(g){let x=k(g);if(!x)return null;u(`Activating: ${g}`);let y=x.hooks;if(y?.onActivate)y.onActivate(x);if(a?.onActivate)a.onActivate(x);if(x.state&&y?.onRestore)y.onRestore(x,x.state);return x}function te(g){let x=n.get(g);if(!x)return!1;u(`Deactivating: ${g}`);let y=x.instance,D=y.hooks;if(D?.onSave)y.state=D.onSave(y);if(D?.onDeactivate)D.onDeactivate(y);if(a?.onDeactivate)a.onDeactivate(y);return!0}function _(){let g=d+c;return{hits:d,misses:c,size:n.size,max:s,hitRate:g>0?d/g:0,keys:Array.from(n.keys())}}function V(){return Array.from(n.keys())}function Z(){return n.size}return{cache:v,get:k,has:m,remove:h,clear:w,prune:M,activate:T,deactivate:te,getStats:_,keys:V,size:Z}}function gc(e){let s=new Map;return{set(t,r){if(s.has(t))s.delete(t);if(s.set(t,r),s.size>e){let o=s.keys().next().value;if(o)s.delete(o)}},get(t){if(!s.has(t))return;let r=s.get(t);return s.delete(t),s.set(t,r),r},has(t){return s.has(t)},delete(t){return s.delete(t)},clear(){s.clear()},get size(){return s.size},keys(){return Array.from(s.keys())},values(){return Array.from(s.values())},forEach(t){s.forEach(t)}}}function uc(){let e=new Map;return{save(s,t){e.set(s,JSON.parse(JSON.stringify(t)))},restore(s){let t=e.get(s);return t?JSON.parse(JSON.stringify(t)):null},has(s){return e.has(s)},remove(s){return e.delete(s)},clear(){e.clear()},keys(){return Array.from(e.keys())},get size(){return e.size}}}function fc(e,s={}){let{maxSize:t=100,reset:r}=s,o=[];return{acquire(){if(o.length>0)return o.pop();return e()},release(a){if(o.length<t){if(r)r(a);o.push(a)}},clear(){o.length=0},get size(){return o.length},get maxSize(){return t}}}var B=new Map;async function Y(e,s){let t=s||e.toString();if(B.has(t))return B.get(t);let r=e();B.set(t,r);try{return await r}catch(o){throw B.delete(t),o}}function bc(e,s={}){let{retryAttempts:t=3,retryDelay:r=1000,onLoading:o,onLoaded:a,onError:i}=s,n="idle",d,c,u=async(p=0)=>{try{if(n==="loading"||n==="loaded"){if(d)return d}n="loading",o?.();let b=await Y(e);return d=b,n="loaded",a?.(b),b}catch(b){let f=b;if(p<t)return await new Promise((C)=>setTimeout(C,r*(p+1))),u(p+1);throw n="error",c=f,i?.(f),f}};return{get state(){return n},get module(){return d},get error(){return c},load:()=>u(),preload:()=>u()}}function vo(e,s,t={}){if(!e)return console.warn("lazyLoad: element is null"),()=>{};let{root:r=null,rootMargin:o="0px",threshold:a=0.01,placeholder:i,errorContent:n,onLoading:d,onLoaded:c,onError:u}=t,p=!1,b=null;if(i)if(typeof i==="string")e.innerHTML=i;else e.innerHTML="",e.appendChild(i);return b=new IntersectionObserver(async(C)=>{for(let v of C)if(v.isIntersecting&&!p){p=!0,b?.disconnect();try{d?.();let k=await Y(s);if(c?.(k),k&&typeof k.default?.render==="function"){let m=await k.default.render();e.innerHTML=m}}catch(k){let m=k;if(u?.(m),n)if(typeof n==="string")e.innerHTML=n;else e.innerHTML="",e.appendChild(n);else e.innerHTML=`<div style="color: red;">Failed to load component: ${m.message}</div>`}}},{root:r,rootMargin:o,threshold:a}),b.observe(e),()=>{b?.disconnect(),b=null}}function mc(e,s,t={}){let r=[],o=Array.from(e);for(let a of o){let i=typeof s==="function"&&s.length>0?()=>s(a):s,n=vo(a,i,t);r.push(n)}return()=>{r.forEach((a)=>a())}}function Co(e){return Y(e)}function hc(e){return Promise.all(e.map((s)=>Co(s)))}function vc(e){if(e)B.delete(e);else B.clear()}function Cc(){return{size:B.size,keys:Array.from(B.keys())}}function yc(e){return{async load(s){let t=e[s];if(!t)throw Error(`No route found for path: ${s}`);return Y(t,`route:${s}`)},async preload(s){return this.load(s)},async preloadRoutes(s){return Promise.all(s.map((t)=>this.preload(t)))}}}function yo(e,s,t={}){if(!e)return()=>{};let{root:r=null,rootMargin:o="50px",threshold:a=0.01,placeholder:i,onLoading:n,onLoaded:d,onError:c}=t;if(i&&typeof i==="string")e.src=i;let u=!1,p=null;return p=new IntersectionObserver((f)=>{for(let C of f)if(C.isIntersecting&&!u)u=!0,p?.disconnect(),n?.(),e.src=s,e.addEventListener("load",()=>{d?.(e),e.classList.add("loaded")},{once:!0}),e.addEventListener("error",(v)=>{let k=Error(`Failed to load image: ${s}`);c?.(k),e.classList.add("error")},{once:!0})},{root:r,rootMargin:o,threshold:a}),p.observe(e),()=>{p?.disconnect(),p=null}}function wc(e=document,s={}){let t=e.querySelectorAll("img[data-lazy-src]"),r=[];return t.forEach((o)=>{let a=o.getAttribute("data-lazy-src");if(a){let i=yo(o,a,s);r.push(i)}}),()=>{r.forEach((o)=>o())}}var se={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 ne(e,s){let t={...e};for(let r in s)if(s[r]instanceof Object&&r in e)t[r]=ne(e[r],s[r]);else t[r]=s[r];return t}function R(e){return ne(se,e)}var W=se;function kc(){return W}function wo(e){let s=[];if(e.colors)Object.entries(e.colors).forEach(([t,r])=>{if(r)s.push(`--color-${t}: ${r};`)});if(e.typography?.fontFamily)Object.entries(e.typography.fontFamily).forEach(([t,r])=>{if(r)s.push(`--font-${t}: ${r};`)});if(e.typography?.fontSize)Object.entries(e.typography.fontSize).forEach(([t,r])=>{if(r)s.push(`--text-${t}: ${r};`)});if(e.typography?.fontWeight)Object.entries(e.typography.fontWeight).forEach(([t,r])=>{if(r)s.push(`--font-weight-${t}: ${r};`)});if(e.typography?.lineHeight)Object.entries(e.typography.lineHeight).forEach(([t,r])=>{if(r)s.push(`--leading-${t}: ${r};`)});if(e.spacing)Object.entries(e.spacing).forEach(([t,r])=>{if(r)s.push(`--spacing-${t}: ${r};`)});if(e.borderRadius)Object.entries(e.borderRadius).forEach(([t,r])=>{if(r)s.push(`--radius-${t}: ${r};`)});if(e.shadows)Object.entries(e.shadows).forEach(([t,r])=>{if(r)s.push(`--shadow-${t}: ${r};`)});if(e.components?.button)Object.entries(e.components.button).forEach(([t,r])=>{if(r)s.push(`--button-${t.replace(/([A-Z])/g,"-$1").toLowerCase()}: ${r};`)});if(e.components?.input)Object.entries(e.components.input).forEach(([t,r])=>{if(r)s.push(`--input-${t.replace(/([A-Z])/g,"-$1").toLowerCase()}: ${r};`)});if(e.components?.card)Object.entries(e.components.card).forEach(([t,r])=>{if(r)s.push(`--card-${t.replace(/([A-Z])/g,"-$1").toLowerCase()}: ${r};`)});return`:root {
16
+ `,r=document.createElement("style");r.textContent=t,document.head.appendChild(r)}function ao(e,s,t={}){if(typeof e.animate!=="function")return console.warn("Web Animations API not supported"),null;let{duration:r=1000,easing:o="ease",delay:a=0,iterations:i=1,direction:n="normal",fill:d="both"}=t;return e.animate([...s],{duration:r,easing:o,delay:a,iterations:i,direction:n,fill:d})}var io={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 Td(e,s,t={}){return ao(e,io[s],t)}import{createHighlighter as no}from"ts-syntax-highlighter";var Q=null;async function lo(){if(!Q)Q=await no({theme:"github-light"});return Q}async function jd(e,s={}){let{theme:t="auto",language:r="typescript",lineNumbers:o=!1,wrapLines:a=!0}=s,i=await lo(),n=t==="auto"?globalThis.matchMedia?.("(prefers-color-scheme: dark)").matches?"github-dark":"github-light":t==="dark"?"github-dark":"github-light",d=await i.highlight(e,r);return{html:typeof d==="string"?d:String(d),language:r,theme:n}}function qd(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 Rd(e,s){return`<div class="${s?`rounded-md overflow-auto text-sm leading-relaxed font-mono ${s}`:"rounded-md overflow-auto text-sm leading-relaxed font-mono"}">${e}</div>`}var I=null,co=(e)=>{return e===1?0:1};function U(e,s){return s.split(".").reduce((t,r)=>t?.[r],e)}function ee(e,s={}){return e.replace(/\{(\w+)\}/g,(t,r)=>{return s[r]!==void 0?String(s[r]):t})}function Ed(e){let{locale:s,fallbackLocale:t="en",messages:r,pluralRules:o={},dateTimeFormats:a={},numberFormats:i={},missing:n,warnMissing:d=!0}=e;function c(m,h={}){let w=U(r[s],m);if(w===void 0&&t)w=U(r[t],m);if(w===void 0){if(n){let D=n(s,m);if(D)return ee(D,h)}if(d&&typeof console<"u")console.warn(`[i18n] Missing translation for key "${m}" in locale "${s}"`);return m}if(typeof w==="string")return ee(w,h);return String(w)}function u(m,h,w={}){let D=c(m,{...w,count:h});if(D.includes("|")){let T=D.split("|").map((Z)=>Z.trim()),_=(o[s]||co)(h,s),V=T[_]||T[T.length-1];return ee(V,{...w,count:h})}return D}function p(m,h="default"){let w=typeof m==="number"?new Date(m):m,D=a[h]||a.default||{};return new Intl.DateTimeFormat(s,D).format(w)}function x(m,h="default"){let w=i[h]||i.default||{};return new Intl.NumberFormat(s,w).format(m)}function f(m){if(U(r[s],m)!==void 0)return!0;if(t)return U(r[t],m)!==void 0;return!1}function C(m){if(!r[m]){console.warn(`[i18n] Locale "${m}" not found. Available locales: ${Object.keys(r).join(", ")}`);return}s=m}function v(m,h){if(!r[m])r[m]={};r[m]={...r[m],...h}}function k(m){delete r[m]}return{get locale(){return s},get availableLocales(){return Object.keys(r)},setLocale:C,t:c,tc:u,d:p,n:x,te:f,addMessages:v,removeLocale:k}}function Ad(e){I=e}function Od(){return I}function Fd(e,s){if(!I)return console.warn("[i18n] No global i18n instance set. Call setI18n() first."),e;return I.t(e,s)}function Gd(e,s,t){if(!I)return console.warn("[i18n] No global i18n instance set. Call setI18n() first."),e;return I.tc(e,s,t)}function Ud(e,s){if(!I)return console.warn("[i18n] No global i18n instance set. Call setI18n() first."),String(e);return I.d(e,s)}function Wd(e,s){if(!I)return console.warn("[i18n] No global i18n instance set. Call setI18n() first."),String(e);return I.n(e,s)}var Yd={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},_d={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"}},Vd={decimal:{style:"decimal",minimumFractionDigits:2,maximumFractionDigits:2},currency:{style:"currency",currency:"USD"},percent:{style:"percent",minimumFractionDigits:0,maximumFractionDigits:2},compact:{notation:"compact"}};function Zd(e){let s=["ar","he","fa","ur","yi"],t=e.split("-")[0].toLowerCase();return s.includes(t)}async function Xd(e,s){try{return await s()}catch(t){return console.error(`[i18n] Failed to load messages for locale "${e}":`,t),{}}}var Jd={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 Qd(e={}){let{max:s=10,ttl:t=0,include:r,exclude:o,hooks:a,debug:i=!1}=e,n=new Map,d=0,c=0;function u(...g){if(i)console.log("[KeepAlive]",...g)}function p(g){if(o){if(o instanceof RegExp&&o.test(g))return!1;if(Array.isArray(o)&&o.includes(g))return!1}if(r){if(r instanceof RegExp&&!r.test(g))return!1;if(Array.isArray(r)&&!r.includes(g))return!1}return!0}function x(g){if(!t||!g.expiresAt)return!1;return Date.now()>g.expiresAt}function f(g){let b=n.get(g);if(b)b.lastAccessedAt=Date.now(),b.accessCount++,b.instance.lastAccessedAt=b.lastAccessedAt,n.delete(g),n.set(g,b),u(`Touched: ${g} (access count: ${b.accessCount})`)}function C(){if(n.size===0)return!1;let g=n.keys().next().value;if(!g)return!1;let b=n.get(g);if(b){u(`Evicting LRU: ${g}`);let y=b.instance.hooks;if(y?.onDeactivate)y.onDeactivate(b.instance);if(a?.onDeactivate)a.onDeactivate(b.instance);return n.delete(g),!0}return!1}function v(g,b,y){if(!p(b.type))return u(`Type not cacheable: ${b.type}`),b;if(n.size>=s)C();let L=Date.now(),E={instance:{...b,hooks:y||b.hooks,createdAt:b.createdAt||L,lastAccessedAt:L},accessCount:0,createdAt:L,lastAccessedAt:L,expiresAt:t?L+t:void 0};if(n.set(g,E),u(`Cached: ${g} (size: ${n.size}/${s})`),y?.onMount)y.onMount(E.instance);if(a?.onMount)a.onMount(E.instance);return E.instance}function k(g){let b=n.get(g);if(!b)return c++,u(`Miss: ${g}`),null;if(x(b))return u(`Expired: ${g}`),n.delete(g),c++,null;return d++,f(g),u(`Hit: ${g}`),b.instance}function m(g){let b=n.get(g);if(!b)return!1;if(x(b))return n.delete(g),!1;return!0}function h(g){let b=n.get(g);if(!b)return!1;u(`Removing: ${g}`);let y=b.instance.hooks;if(y?.onUnmount)y.onUnmount(b.instance);if(a?.onUnmount)a.onUnmount(b.instance);return n.delete(g)}function w(){u("Clearing cache"),n.forEach((g)=>{let b=g.instance.hooks;if(b?.onUnmount)b.onUnmount(g.instance);if(a?.onUnmount)a.onUnmount(g.instance)}),n.clear(),d=0,c=0}function D(){let g=0,b=Date.now();for(let[y,L]of n.entries())if(x(L))u(`Pruning expired: ${y}`),h(y),g++;while(n.size>s)if(C())g++;else break;if(g>0)u(`Pruned ${g} entries`);return g}function T(g){let b=k(g);if(!b)return null;u(`Activating: ${g}`);let y=b.hooks;if(y?.onActivate)y.onActivate(b);if(a?.onActivate)a.onActivate(b);if(b.state&&y?.onRestore)y.onRestore(b,b.state);return b}function te(g){let b=n.get(g);if(!b)return!1;u(`Deactivating: ${g}`);let y=b.instance,L=y.hooks;if(L?.onSave)y.state=L.onSave(y);if(L?.onDeactivate)L.onDeactivate(y);if(a?.onDeactivate)a.onDeactivate(y);return!0}function _(){let g=d+c;return{hits:d,misses:c,size:n.size,max:s,hitRate:g>0?d/g:0,keys:Array.from(n.keys())}}function V(){return Array.from(n.keys())}function Z(){return n.size}return{cache:v,get:k,has:m,remove:h,clear:w,prune:D,activate:T,deactivate:te,getStats:_,keys:V,size:Z}}function ec(e){let s=new Map;return{set(t,r){if(s.has(t))s.delete(t);if(s.set(t,r),s.size>e){let o=s.keys().next().value;if(o)s.delete(o)}},get(t){if(!s.has(t))return;let r=s.get(t);return s.delete(t),s.set(t,r),r},has(t){return s.has(t)},delete(t){return s.delete(t)},clear(){s.clear()},get size(){return s.size},keys(){return Array.from(s.keys())},values(){return Array.from(s.values())},forEach(t){s.forEach(t)}}}function sc(){let e=new Map;return{save(s,t){e.set(s,JSON.parse(JSON.stringify(t)))},restore(s){let t=e.get(s);return t?JSON.parse(JSON.stringify(t)):null},has(s){return e.has(s)},remove(s){return e.delete(s)},clear(){e.clear()},keys(){return Array.from(e.keys())},get size(){return e.size}}}function tc(e,s={}){let{maxSize:t=100,reset:r}=s,o=[];return{acquire(){if(o.length>0)return o.pop();return e()},release(a){if(o.length<t){if(r)r(a);o.push(a)}},clear(){o.length=0},get size(){return o.length},get maxSize(){return t}}}var P=new Map;async function W(e,s){let t=s||e.toString();if(P.has(t))return P.get(t);let r=e();P.set(t,r);try{return await r}catch(o){throw P.delete(t),o}}function oc(e,s={}){let{retryAttempts:t=3,retryDelay:r=1000,onLoading:o,onLoaded:a,onError:i}=s,n="idle",d,c,u=async(p=0)=>{try{if(n==="loading"||n==="loaded"){if(d)return d}n="loading",o?.();let x=await W(e);return d=x,n="loaded",a?.(x),x}catch(x){let f=x;if(p<t)return await new Promise((C)=>setTimeout(C,r*(p+1))),u(p+1);throw n="error",c=f,i?.(f),f}};return{get state(){return n},get module(){return d},get error(){return c},load:()=>u(),preload:()=>u()}}function po(e,s,t={}){if(!e)return console.warn("lazyLoad: element is null"),()=>{};let{root:r=null,rootMargin:o="0px",threshold:a=0.01,placeholder:i,errorContent:n,onLoading:d,onLoaded:c,onError:u}=t,p=!1,x=null;if(i)if(typeof i==="string")e.innerHTML=i;else e.innerHTML="",e.appendChild(i);return x=new IntersectionObserver(async(C)=>{for(let v of C)if(v.isIntersecting&&!p){p=!0,x?.disconnect();try{d?.();let k=await W(s);if(c?.(k),k&&typeof k.default?.render==="function"){let m=await k.default.render();e.innerHTML=m}}catch(k){let m=k;if(u?.(m),n)if(typeof n==="string")e.innerHTML=n;else e.innerHTML="",e.appendChild(n);else e.innerHTML=`<div style="color: red;">Failed to load component: ${m.message}</div>`}}},{root:r,rootMargin:o,threshold:a}),x.observe(e),()=>{x?.disconnect(),x=null}}function ac(e,s,t={}){let r=[],o=Array.from(e);for(let a of o){let i=typeof s==="function"&&s.length>0?()=>s(a):s,n=po(a,i,t);r.push(n)}return()=>{r.forEach((a)=>a())}}function go(e){return W(e)}function ic(e){return Promise.all(e.map((s)=>go(s)))}function nc(e){if(e)P.delete(e);else P.clear()}function lc(){return{size:P.size,keys:Array.from(P.keys())}}function dc(e){return{async load(s){let t=e[s];if(!t)throw Error(`No route found for path: ${s}`);return W(t,`route:${s}`)},async preload(s){return this.load(s)},async preloadRoutes(s){return Promise.all(s.map((t)=>this.preload(t)))}}}function uo(e,s,t={}){if(!e)return()=>{};let{root:r=null,rootMargin:o="50px",threshold:a=0.01,placeholder:i,onLoading:n,onLoaded:d,onError:c}=t;if(i&&typeof i==="string")e.src=i;let u=!1,p=null;return p=new IntersectionObserver((f)=>{for(let C of f)if(C.isIntersecting&&!u)u=!0,p?.disconnect(),n?.(),e.src=s,e.addEventListener("load",()=>{d?.(e),e.classList.add("loaded")},{once:!0}),e.addEventListener("error",(v)=>{let k=Error(`Failed to load image: ${s}`);c?.(k),e.classList.add("error")},{once:!0})},{root:r,rootMargin:o,threshold:a}),p.observe(e),()=>{p?.disconnect(),p=null}}function cc(e=document,s={}){let t=e.querySelectorAll("img[data-lazy-src]"),r=[];return t.forEach((o)=>{let a=o.getAttribute("data-lazy-src");if(a){let i=uo(o,a,s);r.push(i)}}),()=>{r.forEach((o)=>o())}}var se={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 ne(e,s){let t={...e};for(let r in s)if(s[r]instanceof Object&&r in e)t[r]=ne(e[r],s[r]);else t[r]=s[r];return t}function H(e){return ne(se,e)}var Y=se;function gc(){return Y}function fo(e){let s=[];if(e.colors)Object.entries(e.colors).forEach(([t,r])=>{if(r)s.push(`--color-${t}: ${r};`)});if(e.typography?.fontFamily)Object.entries(e.typography.fontFamily).forEach(([t,r])=>{if(r)s.push(`--font-${t}: ${r};`)});if(e.typography?.fontSize)Object.entries(e.typography.fontSize).forEach(([t,r])=>{if(r)s.push(`--text-${t}: ${r};`)});if(e.typography?.fontWeight)Object.entries(e.typography.fontWeight).forEach(([t,r])=>{if(r)s.push(`--font-weight-${t}: ${r};`)});if(e.typography?.lineHeight)Object.entries(e.typography.lineHeight).forEach(([t,r])=>{if(r)s.push(`--leading-${t}: ${r};`)});if(e.spacing)Object.entries(e.spacing).forEach(([t,r])=>{if(r)s.push(`--spacing-${t}: ${r};`)});if(e.borderRadius)Object.entries(e.borderRadius).forEach(([t,r])=>{if(r)s.push(`--radius-${t}: ${r};`)});if(e.shadows)Object.entries(e.shadows).forEach(([t,r])=>{if(r)s.push(`--shadow-${t}: ${r};`)});if(e.components?.button)Object.entries(e.components.button).forEach(([t,r])=>{if(r)s.push(`--button-${t.replace(/([A-Z])/g,"-$1").toLowerCase()}: ${r};`)});if(e.components?.input)Object.entries(e.components.input).forEach(([t,r])=>{if(r)s.push(`--input-${t.replace(/([A-Z])/g,"-$1").toLowerCase()}: ${r};`)});if(e.components?.card)Object.entries(e.components.card).forEach(([t,r])=>{if(r)s.push(`--card-${t.replace(/([A-Z])/g,"-$1").toLowerCase()}: ${r};`)});return`:root {
17
17
  ${s.join(`
18
18
  `)}
19
- }`}function Sc(e,s){if(W=e,typeof document>"u")return;let t=s||document.documentElement;if(e.colors)Object.entries(e.colors).forEach(([r,o])=>{if(o)t.style.setProperty(`--color-${r}`,o)});if(e.typography?.fontFamily)Object.entries(e.typography.fontFamily).forEach(([r,o])=>{if(o)t.style.setProperty(`--font-${r}`,o)});if(e.typography?.fontSize)Object.entries(e.typography.fontSize).forEach(([r,o])=>{if(o)t.style.setProperty(`--text-${r}`,o)});if(e.typography?.fontWeight)Object.entries(e.typography.fontWeight).forEach(([r,o])=>{if(o)t.style.setProperty(`--font-weight-${r}`,o)});if(e.typography?.lineHeight)Object.entries(e.typography.lineHeight).forEach(([r,o])=>{if(o)t.style.setProperty(`--leading-${r}`,o)});if(e.spacing)Object.entries(e.spacing).forEach(([r,o])=>{if(o)t.style.setProperty(`--spacing-${r}`,o)});if(e.borderRadius)Object.entries(e.borderRadius).forEach(([r,o])=>{if(o)t.style.setProperty(`--radius-${r}`,o)});if(e.shadows)Object.entries(e.shadows).forEach(([r,o])=>{if(o)t.style.setProperty(`--shadow-${r}`,o)});if(e.components?.button)Object.entries(e.components.button).forEach(([r,o])=>{if(o)t.style.setProperty(`--button-${r.replace(/([A-Z])/g,"-$1").toLowerCase()}`,o)});if(e.components?.input)Object.entries(e.components.input).forEach(([r,o])=>{if(o)t.style.setProperty(`--input-${r.replace(/([A-Z])/g,"-$1").toLowerCase()}`,o)});if(e.components?.card)Object.entries(e.components.card).forEach(([r,o])=>{if(o)t.style.setProperty(`--card-${r.replace(/([A-Z])/g,"-$1").toLowerCase()}`,o)})}function Nc(){return W}function zc(e){let s=e.split("."),t=W;for(let r of s)if(t&&typeof t==="object"&&r in t)t=t[r];else return;return t}var Mc={default:se,purple:R({colors:{primary:"#8b5cf6",secondary:"#a78bfa"}}),green:R({colors:{primary:"#10b981",secondary:"#34d399"}}),orange:R({colors:{primary:"#f97316",secondary:"#fb923c"}}),dark:R({colors:{primary:"#60a5fa",secondary:"#a78bfa",gray:"#9ca3af",white:"#1f2937",black:"#f9fafb"}}),minimal:R({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 Dc(e){return wo(e)}export{re as wrapErrorHandler,za as warnProp,He as warn,uo as waitForAnimation,Pa as validateVariant,Wi as validateTextInputProps,ja as validateSize,Xi as validateSearchInputProps,Ee as validateProps,Vi as validatePasswordInputProps,Zi as validateNumberInputProps,Pi as validateFormProps,_i as validateEmailInputProps,Ta as validateButtonProps,Bd as validateAriaRelationships,Nc as useTheme,To as useSEO,Vo as usePrefersReducedMotion,j as useMediaQuery,Fo as useLocalStorage,Eo as useKeyboard,Yo as useIsMobile,Wo as useIsDesktop,_o as useIsDarkMode,Ho as useFocusTrap,Lo as useDarkMode,zo as useCopyCode,jo as useClickOutside,Go as useBreakpoint,wo as themeToCSSProperties,Mc as themePresets,Ys as textInputPropSchema,sc as tc,ec as t,Dl as storage,Rd as staggerAnimation,me as setTitle,S as setMeta,he as setLink,Kd as setI18n,va as setErrorHandler,Ed as sequenceAnimations,Hd as removeAnimation,hc as preloadModules,Co as preloadModule,Dd as prefersReducedMotion,Ld as prefersHighContrast,oc as pluralRules,Ws as numberInputPropSchema,ic as numberFormats,rc as n,Sd as moveFocus,lc as loadLocaleMessages,qr as linear,Y as lazyLoadModule,wc as lazyLoadImages,yo as lazyLoadImage,bc as lazyLoadComponent,mc as lazyLoadAll,vo as lazyLoad,Nd as isVisibleToScreenReader,nc as isRTL,_d as highlight,kd as hasFocus,O as handleError,zc as getThemeValue,kc as getTheme,be as getSystemTheme,Qd as getI18n,mo as getHighlighter,J as getFocusableElements,X as getEffectiveTheme,Id as getColorSchemePreference,Cc as getCacheStats,Dc as generateThemeCSS,Bo as generateSEOTags,oe as generateId,Is as formPropSchema,$a as errorBoundary,Xr as easeOutSine,_r as easeOutQuint,Gr as easeOutQuart,Rr as easeOutQuad,Qr as easeOutExpo,ao as easeOutElastic,Or as easeOutCubic,to as easeOutCirc,K as easeOutBounce,lo as easeOutBack,Zr as easeInSine,Wr as easeInQuint,Ur as easeInQuart,Hr as easeInQuad,Jr as easeInOutSine,Vr as easeInOutQuint,Yr as easeInOutQuart,Er as easeInOutQuad,eo as easeInOutExpo,io as easeInOutElastic,Fr as easeInOutCubic,ro as easeInOutCirc,po as easeInOutBounce,co as easeInOutBack,Kr as easeInExpo,oo as easeInElastic,Ar as easeInCubic,so as easeInCirc,ae as easeInBounce,no as easeInBack,ya as devAssert,Vd as detectLanguage,se as defaultTheme,ac as dateTimeFormats,tc as d,go as cssAnimation,R as createTheme,Ll as createStorage,uc as createStateManager,Td as createSkipLink,Md as createScreenReaderText,Ba as createSafeClickHandler,wd as createRovingTabindex,yc as createRouteLoader,L as createPropValidator,gc as createLRUCache,Fd as createKeyframes,fo as createKeyframeAnimation,pc as createKeepAlive,Jd as createI18n,yd as createFocusTrap,wa as createDebugger,fc as createComponentPool,hd as createAriaLabel,vd as createAriaDescription,Mo as copyToClipboard,dc as componentMessages,vc as clearModuleCache,Ca as clearErrorHandler,Fe as buttonPropSchema,Na as assertProp,qe as assert,zd as aria,Sc as applyTheme,Zd as applyHeadwindClasses,ie as applyAnimation,Cd as announceToScreenReader,Od as animateWithClass,Gd as animate,Pr as VirtualTable,Tr as VirtualList,Lr as Video,Me as TwoFactorChallenge,Mr as Transition,Nr as Tooltip,kr as Textarea,Us as TextInput,wr as Teleport,Cr as Tabs,hr as TableRow,br as TableHeader,fr as TableHead,gr as TableCell,cr as TableBody,lr as Table,ir as Switch,ht as SubscriptionCheckout,U as StorageManager,or as StepperStep,tr as Stepper,er as Spinner,Kt as Skeleton,Ne as Signup,Gt as SidebarSection,Wt as SidebarItem,Vt as SidebarHeader,Xt as SidebarFooter,Ft as Sidebar,At as Select,Os as SearchInput,Rt as RadioGroupOption,qt as RadioGroupLabel,Pt as RadioGroupDescription,Tt as RadioGroup,Lt as Radio,l as PropTypes,Mt as Progress,Nt as Portal,kt as PopoverPanel,wt as PopoverButton,Ct as Popover,bt as PaymentMethods,Es as PasswordInput,ct as Pagination,Hs as NumberInput,lt as Notification,it as Navigator,ke as Login,ot as ListboxOptions,tt as ListboxOption,et as ListboxLabel,Ks as ListboxButton,Xs as Listbox,xo as KeyframeAnimations,Ao as KeyboardShortcuts,$d as KeyboardKeys,xe as Installation,Bs as Image,ue as Hero,Ls as Form,pe as Footer,P as ErrorTypes,js as EmailInput,jd as Easing,Ms as DropdownItems,Ns as DropdownItem,ks as DropdownButton,ws as Dropdown,Cs as Drawer,hs as DialogTitle,bs as DialogPanel,fs as DialogDescription,gs as DialogBackdrop,cs as Dialog,ft as DefaultPaymentMethod,z as ComponentError,ls as CommandPaletteItem,is as CommandPalette,os as ComboboxOptions,ts as ComboboxOption,es as ComboboxInput,Ke as ComboboxButton,Xe as Combobox,de as CodeBlock,gt as Checkout,Ve as Checkbox,We as Card,Ge as Calendar,Oe as Button,q as Breakpoints,Pe as Breadcrumb,Te as Badge,Le as Avatar,we as Audio,Ad as AnimationClasses,Ce as Accordion};
19
+ }`}function uc(e,s){if(Y=e,typeof document>"u")return;let t=s||document.documentElement;if(e.colors)Object.entries(e.colors).forEach(([r,o])=>{if(o)t.style.setProperty(`--color-${r}`,o)});if(e.typography?.fontFamily)Object.entries(e.typography.fontFamily).forEach(([r,o])=>{if(o)t.style.setProperty(`--font-${r}`,o)});if(e.typography?.fontSize)Object.entries(e.typography.fontSize).forEach(([r,o])=>{if(o)t.style.setProperty(`--text-${r}`,o)});if(e.typography?.fontWeight)Object.entries(e.typography.fontWeight).forEach(([r,o])=>{if(o)t.style.setProperty(`--font-weight-${r}`,o)});if(e.typography?.lineHeight)Object.entries(e.typography.lineHeight).forEach(([r,o])=>{if(o)t.style.setProperty(`--leading-${r}`,o)});if(e.spacing)Object.entries(e.spacing).forEach(([r,o])=>{if(o)t.style.setProperty(`--spacing-${r}`,o)});if(e.borderRadius)Object.entries(e.borderRadius).forEach(([r,o])=>{if(o)t.style.setProperty(`--radius-${r}`,o)});if(e.shadows)Object.entries(e.shadows).forEach(([r,o])=>{if(o)t.style.setProperty(`--shadow-${r}`,o)});if(e.components?.button)Object.entries(e.components.button).forEach(([r,o])=>{if(o)t.style.setProperty(`--button-${r.replace(/([A-Z])/g,"-$1").toLowerCase()}`,o)});if(e.components?.input)Object.entries(e.components.input).forEach(([r,o])=>{if(o)t.style.setProperty(`--input-${r.replace(/([A-Z])/g,"-$1").toLowerCase()}`,o)});if(e.components?.card)Object.entries(e.components.card).forEach(([r,o])=>{if(o)t.style.setProperty(`--card-${r.replace(/([A-Z])/g,"-$1").toLowerCase()}`,o)})}function fc(){return Y}function bc(e){let s=e.split("."),t=Y;for(let r of s)if(t&&typeof t==="object"&&r in t)t=t[r];else return;return t}var xc={default:se,purple:H({colors:{primary:"#8b5cf6",secondary:"#a78bfa"}}),green:H({colors:{primary:"#10b981",secondary:"#34d399"}}),orange:H({colors:{primary:"#f97316",secondary:"#fb923c"}}),dark:H({colors:{primary:"#60a5fa",secondary:"#a78bfa",gray:"#9ca3af",white:"#1f2937",black:"#f9fafb"}}),minimal:H({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 mc(e){return fo(e)}export{re as wrapErrorHandler,ba as warnProp,Le as warn,oo as waitForAnimation,wa as validateVariant,Bi as validateTextInputProps,$a as validateSize,Hi as validateSearchInputProps,Ie as validateProps,qi as validatePasswordInputProps,Ri as validateNumberInputProps,wi as validateFormProps,ji as validateEmailInputProps,Ca as validateButtonProps,yd as validateAriaRelationships,fc as useTheme,Co as useSEO,qo as usePrefersReducedMotion,j as useMediaQuery,Mo as useLocalStorage,zo as useKeyboard,Po as useIsMobile,Bo as useIsDesktop,jo as useIsDarkMode,So as useFocusTrap,ho as useDarkMode,bo as useCopyCode,$o as useClickOutside,To as useBreakpoint,fo as themeToCSSProperties,xc as themePresets,Rs as textInputPropSchema,Gd as tc,Fd as t,ml as storage,Nd as staggerAnimation,de as setTitle,S as setMeta,ce as setLink,Ad as setI18n,na as setErrorHandler,zd as sequenceAnimations,Sd as removeAnimation,ic as preloadModules,go as preloadModule,md as prefersReducedMotion,hd as prefersHighContrast,Yd as pluralRules,Hs as numberInputPropSchema,Vd as numberFormats,Wd as n,ud as moveFocus,Xd as loadLocaleMessages,Dr as linear,W as lazyLoadModule,cc as lazyLoadImages,uo as lazyLoadImage,oc as lazyLoadComponent,ac as lazyLoadAll,po as lazyLoad,fd as isVisibleToScreenReader,Zd as isRTL,jd as highlight,gd as hasFocus,O as handleError,bc as getThemeValue,gc as getTheme,le as getSystemTheme,Od as getI18n,lo as getHighlighter,J as getFocusableElements,X as getEffectiveTheme,vd as getColorSchemePreference,lc as getCacheStats,mc as generateThemeCSS,yo as generateSEOTags,oe as generateId,$s as formPropSchema,pa as errorBoundary,Fr as easeOutSine,Er as easeOutQuint,qr as easeOutQuart,Mr as easeOutQuad,Wr as easeOutExpo,Jr as easeOutElastic,Pr as easeOutCubic,Vr as easeOutCirc,K as easeOutBounce,eo as easeOutBack,Or as easeInSine,Hr as easeInQuint,jr as easeInQuart,Lr as easeInQuad,Gr as easeInOutSine,Ar as easeInOutQuint,Rr as easeInOutQuart,Ir as easeInOutQuad,Yr as easeInOutExpo,Kr as easeInOutElastic,Br as easeInOutCubic,Zr as easeInOutCirc,to as easeInOutBounce,so as easeInOutBack,Ur as easeInExpo,Xr as easeInElastic,Tr as easeInCubic,_r as easeInCirc,ae as easeInBounce,Qr as easeInBack,da as devAssert,qd as detectLanguage,se as defaultTheme,_d as dateTimeFormats,Ud as d,ro as cssAnimation,H as createTheme,hl as createStorage,sc as createStateManager,Cd as createSkipLink,xd as createScreenReaderText,ya as createSafeClickHandler,cd as createRovingTabindex,dc as createRouteLoader,M as createPropValidator,ec as createLRUCache,Md as createKeyframes,ao as createKeyframeAnimation,Qd as createKeepAlive,Ed as createI18n,dd as createFocusTrap,ca as createDebugger,tc as createComponentPool,id as createAriaLabel,nd as createAriaDescription,xo as copyToClipboard,Jd as componentMessages,nc as clearModuleCache,la as clearErrorHandler,Be as buttonPropSchema,fa as assertProp,De as assert,bd as aria,uc as applyTheme,Rd as applyHeadwindClasses,ie as applyAnimation,ld as announceToScreenReader,Ld as animateWithClass,Td as animate,Nr as VirtualTable,kr as VirtualList,wr as Video,Ce as TwoFactorChallenge,Cr as Transition,hr as Tooltip,xr as Textarea,js as TextInput,fr as Teleport,gr as Tabs,cr as TableRow,lr as TableHeader,ir as TableHead,or as TableCell,tr as TableBody,er as Table,Kt as Switch,ct as SubscriptionCheckout,G as StorageManager,Xt as StepperStep,Vt as Stepper,Yt as Spinner,Ut as Skeleton,he as Signup,qt as SidebarSection,Ht as SidebarItem,At as SidebarHeader,Ft as SidebarFooter,Bt as Sidebar,Tt as Select,Ps as SearchInput,Mt as RadioGroupOption,Dt as RadioGroupLabel,Nt as RadioGroupDescription,kt as RadioGroup,wt as Radio,l as PropTypes,Ct as Progress,ht as Portal,xt as PopoverPanel,ft as PopoverButton,gt as Popover,lt as PaymentMethods,Is as PasswordInput,tt as Pagination,Ls as NumberInput,et as Notification,Ks as Navigator,xe as Login,Xs as ListboxOptions,Vs as ListboxOption,Ys as ListboxLabel,Us as ListboxButton,Fs as Listbox,io as KeyframeAnimations,Do as KeyboardShortcuts,pd as KeyboardKeys,zc as Installation,Ss as Image,Sc as Hero,ws as Form,$c as Footer,B as ErrorTypes,zs as EmailInput,$d as Easing,Cs as DropdownItems,hs as DropdownItem,xs as DropdownButton,fs as Dropdown,gs as Drawer,cs as DialogTitle,ls as DialogPanel,is as DialogDescription,os as DialogBackdrop,ts as Dialog,it as DefaultPaymentMethod,z as ComponentError,es as CommandPaletteItem,Ke as CommandPalette,Xe as ComboboxOptions,Ve as ComboboxOption,Ye as ComboboxInput,Ue as ComboboxButton,Fe as Combobox,yc as CodeBlock,ot as Checkout,Ae as Checkbox,He as Card,qe as Calendar,Pe as Button,q as Breakpoints,Ne as Breadcrumb,ke as Badge,we as Avatar,fe as Audio,Dd as AnimationClasses,ge as Accordion};
@@ -70,32 +70,30 @@ export declare function d(date: Date | number, format?: string): string;
70
70
  */
71
71
  export declare function n(value: number, format?: string): string;
72
72
  /**
73
- * RTL (Right-to-Left) language detection
74
- *
75
- * @param locale - Locale code
76
- * @returns Whether locale is RTL
77
- */
78
- export declare function isRTL(locale: string): boolean;
79
- /**
80
- * Load locale messages dynamically
81
- *
82
- * @param locale - Locale code
83
- * @param loadFn - Function to load messages
84
- * @returns Promise of messages
85
- *
86
- * @example
87
- * ```ts
88
- * const messages = await loadLocaleMessages('es', async () => {
89
- * const module = await import('./locales/es.json')
90
- * return module.default
91
- * })
92
- * ```
73
+ * Predefined pluralization rules for common languages
93
74
  */
94
- export declare function loadLocaleMessages(locale: string, loadFn: () => Promise<Messages>): Promise<Messages>;
75
+ export declare const pluralRules: {
76
+ en: (count) => unknown;
77
+ de: (count) => unknown;
78
+ nl: (count) => unknown;
79
+ sv: (count) => unknown;
80
+ fr: (count) => unknown;
81
+ pt_BR: (count) => unknown;
82
+ ru: (count) => unknown;
83
+ pl: (count) => unknown;
84
+ cs: (count) => unknown;
85
+ ar: (count) => unknown;
86
+ ja: () => unknown;
87
+ ko: () => unknown;
88
+ zh: () => unknown;
89
+ th: () => unknown;
90
+ vi: () => unknown;
91
+ }
92
+
95
93
  /**
96
94
  * Common date/time format presets
97
95
  */
98
- export declare const dateTimeFormats: {
96
+ export const dateTimeFormats: Record<string, Intl.DateTimeFormatOptions> = {
99
97
  short: {
100
98
  year: 'numeric';
101
99
  month: 'numeric';
@@ -122,12 +120,13 @@ export declare const dateTimeFormats: {
122
120
  day: 'numeric';
123
121
  hour: 'numeric';
124
122
  minute: 'numeric'
125
- }
126
123
  };
124
+ }
125
+
127
126
  /**
128
127
  * Common number format presets
129
128
  */
130
- export declare const numberFormats: {
129
+ export const numberFormats: Record<string, Intl.NumberFormatOptions> = {
131
130
  decimal: {
132
131
  style: 'decimal';
133
132
  minimumFractionDigits: 2;
@@ -144,14 +143,85 @@ export declare const numberFormats: {
144
143
  };
145
144
  compact: {
146
145
  notation: 'compact'
147
- }
148
146
  };
147
+ }
148
+
149
149
  /**
150
- * Component-specific i18n messages
150
+ * RTL (Right-to-Left) language detection
151
151
  *
152
- * Provides default translations for component library
152
+ * @param locale - Locale code
153
+ * @returns Whether locale is RTL
153
154
  */
154
- export declare const componentMessages: LocaleMessages;
155
+ export function isRTL(locale: () => unknown;
156
+ loadFn: () => unknown;
157
+ ): Promise<Messages> {
158
+ try {
159
+ return await loadFn()
160
+ }
161
+ catch: (error) => unknown;
162
+ es: {
163
+ common: {
164
+ loading: 'Cargando...';
165
+ error: 'Error';
166
+ retry: 'Reintentar';
167
+ cancel: 'Cancelar';
168
+ confirm: 'Confirmar';
169
+ close: 'Cerrar';
170
+ save: 'Guardar';
171
+ delete: 'Eliminar';
172
+ edit: 'Editar';
173
+ search: 'Buscar';
174
+ clear: 'Limpiar';
175
+ submit: 'Enviar';
176
+ reset: 'Restablecer'
177
+ };
178
+ form: {
179
+ required: 'Este campo es obligatorio';
180
+ invalid: 'Valor inválido';
181
+ tooShort: 'El valor es demasiado corto (mínimo {min} caracteres)';
182
+ tooLong: 'El valor es demasiado largo (máximo {max} caracteres)';
183
+ invalidEmail: 'Dirección de correo electrónico inválida';
184
+ invalidUrl: 'URL inválida'
185
+ };
186
+ pagination: {
187
+ previous: 'Anterior';
188
+ next: 'Siguiente';
189
+ page: 'Página {page}';
190
+ of: 'de {total}'
191
+ }
192
+ };
193
+ fr: {
194
+ common: {
195
+ loading: 'Chargement...';
196
+ error: 'Erreur';
197
+ retry: 'Réessayer';
198
+ cancel: 'Annuler';
199
+ confirm: 'Confirmer';
200
+ close: 'Fermer';
201
+ save: 'Enregistrer';
202
+ delete: 'Supprimer';
203
+ edit: 'Modifier';
204
+ search: 'Rechercher';
205
+ clear: 'Effacer';
206
+ submit: 'Soumettre';
207
+ reset: 'Réinitialiser'
208
+ };
209
+ form: {
210
+ required: 'Ce champ est obligatoire';
211
+ invalid: 'Valeur invalide';
212
+ tooShort: 'La valeur est trop courte (minimum {min} caractères)';
213
+ tooLong: 'La valeur est trop longue (maximum {max} caractères)';
214
+ invalidEmail: 'Adresse e-mail invalide';
215
+ invalidUrl: 'URL invalide'
216
+ };
217
+ pagination: {
218
+ previous: 'Précédent';
219
+ next: 'Suivant';
220
+ page: 'Page {page}';
221
+ of: 'sur {total}'
222
+ }
223
+ }
224
+ };
155
225
  /**
156
226
  * I18n configuration
157
227
  */
@@ -55,7 +55,27 @@ export declare function warnProp(value: any, validator: Validator, name?: string
55
55
  /**
56
56
  * PropTypes - collection of common validators
57
57
  */
58
- export declare const max: unknown;
58
+ export declare const PropTypes: {
59
+ string: Validator<string>
60
+ number: Validator<number>
61
+ boolean: Validator<boolean>
62
+ func: Validator<(...args: any[]) => any>
63
+ object: Validator<object>
64
+ array: Validator<any[]>
65
+ any: Validator<any>
66
+ email: Validator<string>
67
+ url: Validator<string>
68
+ oneOf: <T>(validValues: T[]) => Validator<T>
69
+ oneOfType: (validators: Validator[]) => Validator
70
+ arrayOf: (validator: Validator) => Validator
71
+ shape: (shape: Record<string, Validator>) => Validator
72
+ instanceOf: <T>(expectedClass: new (...args: any[]) => T) => Validator<T>
73
+ custom: (validatorFn: (value: any, propName: string, componentName: string) => boolean, errorMessage: string | ((value: any, propName: string, componentName: string) => string)) => Validator
74
+ min: (min: number) => Validator<number>
75
+ max: (max: number) => Validator<number>
76
+ range: (min: number, max: number) => Validator<number>
77
+ pattern: (pattern: RegExp) => Validator<string>
78
+ };
59
79
  /**
60
80
  * Prop validator function type
61
81
  */
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/components",
3
3
  "type": "module",
4
- "version": "0.2.6",
4
+ "version": "0.2.8",
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",
@@ -55,15 +55,15 @@
55
55
  "prepublishOnly": "bun run build"
56
56
  },
57
57
  "dependencies": {
58
- "@stacksjs/headwind": "^0.1.3",
59
- "@stacksjs/stx": "0.2.6",
60
- "bun-plugin-stx": "0.2.6",
58
+ "@cwcss/crosswind": "^0.1.3",
59
+ "@stacksjs/stx": "0.2.8",
60
+ "bun-plugin-stx": "0.2.8",
61
61
  "ts-syntax-highlighter": "^0.2.1"
62
62
  },
63
63
  "devDependencies": {
64
64
  "@types/bun": "^1.3.9",
65
65
  "bun-plugin-dtsx": "^0.9.9",
66
- "pickier": "^0.1.19",
66
+ "pickier": "^0.1.20",
67
67
  "typescript": "^5.9.3"
68
68
  }
69
69
  }
@@ -1,57 +0,0 @@
1
- <script>
2
- import { highlight, applyHeadwindClasses } from '../utils/highlighter'
3
-
4
- export const code = $props.code || ''
5
- export const language = $props.language || 'typescript'
6
- export const theme = $props.theme || 'auto'
7
- export const lineNumbers = $props.lineNumbers !== false
8
- export const copyable = $props.copyable !== false
9
- export const className = $props.className || ''
10
-
11
- export let highlightedCode = ''
12
- export let copied = false
13
-
14
- // Highlight the code
15
- const result = await highlight(code, { language, theme, lineNumbers })
16
- highlightedCode = applyHeadwindClasses(result.html, className)
17
-
18
- export async function copyToClipboard() {
19
- try {
20
- await navigator.clipboard.writeText(code)
21
- copied = true
22
- setTimeout(() => {
23
- copied = false
24
- }, 2000)
25
- } catch (err) {
26
- console.error('Failed to copy code:', err)
27
- }
28
- }
29
- </script>
30
-
31
- <div class="relative group">
32
- {!! highlightedCode !!}
33
-
34
- @if(copyable)
35
- <button
36
- @click="copyToClipboard"
37
- class="absolute top-2 right-2 opacity-0 group-hover:opacity-100 transition-opacity duration-200 px-3 py-1.5 bg-neutral-800 hover:bg-neutral-700 text-white text-xs rounded-md font-medium"
38
- aria-label="Copy code"
39
- >
40
- @if(copied)
41
- <span class="flex items-center gap-1.5">
42
- <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
43
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7" />
44
- </svg>
45
- Copied!
46
- </span>
47
- @else
48
- <span class="flex items-center gap-1.5">
49
- <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
50
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z" />
51
- </svg>
52
- Copy
53
- </span>
54
- @endif
55
- </button>
56
- @endif
57
- </div>
@@ -1,66 +0,0 @@
1
- <script>
2
- export const author = $props.author || '@chrisbbreuer'
3
- export const authorUrl = $props.authorUrl || 'https://github.com/chrisbbreuer'
4
- export const project = $props.project || '@stacksjs'
5
- export const projectUrl = $props.projectUrl || 'https://github.com/stacksjs/stacks'
6
- export const twitterUrl = $props.twitterUrl || 'https://twitter.com/chrisbbreuer'
7
- export const sponsorUrl = $props.sponsorUrl || 'https://github.com/sponsors/chrisbbreuer'
8
- export const coffeeUrl = $props.coffeeUrl || 'https://www.buymeacoffee.com/xlbd'
9
-
10
- export const currentYear = new Date().getFullYear()
11
- </script>
12
-
13
- <footer class="flex items-center justify-center mt-16 w-full pb-4 text-neutral-600 dark:text-neutral-400 opacity-60">
14
- <div class="flex flex-col items-center justify-center">
15
- <p class="text-sm">
16
- With 💙 by
17
- <a href="{{ authorUrl }}" class="text-blue-500 hover:text-blue-600 dark:text-blue-400 dark:hover:text-blue-300 transition-colors">
18
- {{ author }}
19
- </a>
20
- &
21
- <a href="{{ projectUrl }}" class="text-blue-500 hover:text-blue-600 dark:text-blue-400 dark:hover:text-blue-300 transition-colors">
22
- {{ project }}
23
- </a>
24
- <span> © {{ currentYear }}</span>
25
- </p>
26
-
27
- <div class="mt-2 flex flex-col items-center sm:flex-row space-x-1 space-y-2 sm:space-y-0">
28
- <div class="flex items-center space-x-1">
29
- <svg class="w-4 h-4 text-blue-500" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true">
30
- <path d="M8.29 20.251c7.547 0 11.675-6.253 11.675-11.675 0-.178 0-.355-.012-.53A8.348 8.348 0 0022 5.92a8.19 8.19 0 01-2.357.646 4.118 4.118 0 001.804-2.27 8.224 8.224 0 01-2.605.996 4.107 4.107 0 00-6.993 3.743 11.65 11.65 0 01-8.457-4.287 4.106 4.106 0 001.27 5.477A4.072 4.072 0 012.8 9.713v.052a4.105 4.105 0 003.292 4.022 4.095 4.095 0 01-1.853.07 4.108 4.108 0 003.834 2.85A8.233 8.233 0 012 18.407a11.616 11.616 0 006.29 1.84" />
31
- </svg>
32
- <span class="text-sm">
33
- <a href="{{ twitterUrl }}" target="_blank" rel="noopener noreferrer" class="text-blue-500 hover:text-blue-600 dark:text-blue-400 dark:hover:text-blue-300 transition-colors">
34
- Follow me on Twitter
35
- </a>
36
- </span>
37
- </div>
38
-
39
- <span class="hidden px-2 text-neutral-400 sm:block">|</span>
40
-
41
- <div class="flex items-center space-x-1">
42
- <svg class="w-4 h-4 text-blue-500" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true">
43
- <path d="M20.216 6.415l-.132-.666c-.119-.598-.388-1.163-1.001-1.379-.197-.069-.42-.098-.57-.241-.152-.143-.196-.366-.231-.572-.065-.378-.125-.756-.192-1.133-.057-.325-.102-.69-.25-.987-.195-.4-.597-.634-.996-.788a5.723 5.723 0 00-.626-.194c-1-.263-2.05-.36-3.077-.416a25.834 25.834 0 00-3.7.062c-.915.083-1.88.184-2.75.5-.318.116-.646.256-.888.501-.297.302-.393.77-.177 1.146.154.267.415.456.692.58.36.162.737.284 1.123.366 1.075.238 2.189.331 3.287.37 1.218.05 2.437.01 3.65-.118.299-.033.598-.073.896-.119.352-.054.578-.513.474-.834-.124-.383-.457-.531-.834-.473-.466.074-.96.108-1.382.146-1.177.08-2.358.082-3.536.006a22.228 22.228 0 01-1.157-.107c-.086-.01-.18-.025-.258-.036-.243-.036-.484-.08-.724-.13-.111-.027-.111-.185 0-.212h.005c.277-.06.557-.108.838-.147h.002c.131-.009.263-.032.394-.048a25.076 25.076 0 013.426-.12c.674.019 1.347.067 2.017.144l.228.031c.267.04.533.088.798.145.392.085.895.113 1.07.542.055.137.08.288.111.431l.319 1.484a.237.237 0 01-.199.284h-.003c-.037.006-.075.01-.112.015a36.704 36.704 0 01-4.743.295 37.059 37.059 0 01-4.699-.304c-.14-.017-.293-.042-.417-.06-.326-.048-.649-.108-.973-.161-.393-.065-.768-.032-1.123.161-.29.16-.527.404-.675.701-.154.316-.199.66-.267 1-.069.34-.176.707-.135 1.056.087.753.613 1.365 1.37 1.502a39.69 39.69 0 0011.343.376.483.483 0 01.535.53l-.071.697-1.018 9.907c-.041.41-.047.832-.125 1.237-.122.637-.553 1.028-1.182 1.171-.577.131-1.165.2-1.756.205-.656.004-1.31-.025-1.966-.022-.699.004-1.556-.06-2.095-.58-.475-.458-.54-1.174-.605-1.793l-.731-7.013-.322-3.094c-.037-.351-.286-.695-.678-.678-.336.015-.718.3-.678.679l.228 2.185.949 9.112c.147 1.344 1.174 2.068 2.446 2.272.742.12 1.503.144 2.257.156.966.016 1.942.053 2.892-.122 1.408-.258 2.465-1.198 2.616-2.657.34-3.332.683-6.663 1.024-9.995l.215-2.087a.484.484 0 01.39-.426c.402-.078.787-.212 1.074-.518.455-.488.546-1.124.385-1.766zm-1.478.772c-.145.137-.363.201-.578.233-2.416.359-4.866.54-7.308.46-1.748-.06-3.477-.254-5.207-.498-.17-.024-.353-.055-.47-.18-.22-.236-.111-.71-.054-.995.052-.26.152-.609.463-.646.484-.057 1.046.148 1.526.22.577.088 1.156.16 1.737.212 2.48.226 5.002.19 7.472-.14.45-.06.899-.13 1.345-.21.399-.072.84-.206 1.08.206.166.281.188.657.162.974a.544.544 0 01-.169.364zm-6.159 3.9c-.862.37-1.84.788-3.109.788a5.884 5.884 0 01-1.569-.217l.877 9.004c.065.78.717 1.38 1.5 1.38 0 0 1.243.065 1.658.065.447 0 1.786-.065 1.786-.065.783 0 1.434-.6 1.499-1.38l.94-9.95a3.996 3.996 0 00-1.322-.238c-.826 0-1.491.284-2.26.613z" />
44
- </svg>
45
- <span class="text-sm">
46
- <a href="{{ coffeeUrl }}" target="_blank" rel="noopener noreferrer" class="text-blue-500 hover:text-blue-600 dark:text-blue-400 dark:hover:text-blue-300 transition-colors">
47
- Buy me a coffee
48
- </a>
49
- </span>
50
- </div>
51
-
52
- <span class="hidden px-2 text-neutral-400 sm:block">|</span>
53
-
54
- <div class="flex items-center space-x-1">
55
- <svg class="w-4 h-4 text-blue-500" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true">
56
- <path d="m11.645 20.91-.007-.003-.022-.012a15.247 15.247 0 0 1-.383-.218 25.18 25.18 0 0 1-4.244-3.17C4.688 15.36 2.25 12.174 2.25 8.25 2.25 5.322 4.714 3 7.688 3A5.5 5.5 0 0 1 12 5.052 5.5 5.5 0 0 1 16.313 3c2.973 0 5.437 2.322 5.437 5.25 0 3.925-2.438 7.111-4.739 9.256a25.175 25.175 0 0 1-4.244 3.17 15.247 15.247 0 0 1-.383.219l-.022.012-.007.004-.003.001a.752.752 0 0 1-.704 0l-.003-.001Z" />
57
- </svg>
58
- <span class="text-sm">
59
- <a href="{{ sponsorUrl }}" target="_blank" rel="noopener noreferrer" class="text-blue-500 hover:text-blue-600 dark:text-blue-400 dark:hover:text-blue-300 transition-colors">
60
- Sponsor me on GitHub
61
- </a>
62
- </span>
63
- </div>
64
- </div>
65
- </div>
66
- </footer>
@@ -1,25 +0,0 @@
1
- <script>
2
- export const title = $props.title || 'Component'
3
- export const description = $props.description || 'A modern component built with STX'
4
- export const githubUrl = $props.githubUrl || '#'
5
- </script>
6
-
7
- <div class="flex flex-col items-center gap-3">
8
- <h1 class="text-5xl font-bold mb-3 -mt-5 bg-gradient-to-r from-blue-500 to-purple-600 bg-clip-text text-transparent">
9
- {{ title }}
10
- </h1>
11
- <p class="mb-3 mt-0 text-lg text-neutral-600 dark:text-neutral-400">
12
- {{ description }}
13
- </p>
14
- <div class="flex gap-2">
15
- <slot name="demo" />
16
- <a
17
- href="{{ githubUrl }}"
18
- target="_blank"
19
- rel="noopener noreferrer"
20
- class="inline-flex items-center justify-center h-10 px-8 rounded-md text-sm font-semibold bg-gradient-to-b from-white to-neutral-100 dark:from-neutral-800 dark:to-neutral-900 text-neutral-900 dark:text-white shadow-md hover:shadow-lg transition-all duration-200"
21
- >
22
- GitHub
23
- </a>
24
- </div>
25
- </div>
@@ -1,39 +0,0 @@
1
- <script>
2
- import { CodeBlock } from './CodeBlock.stx'
3
-
4
- export const packageName = $props.packageName || '@stacksjs/component'
5
- export const installCode = `bun add ${packageName}`
6
- export const npmCode = `npm install ${packageName}`
7
- export const pnpmCode = `pnpm add ${packageName}`
8
- export const yarnCode = `yarn add ${packageName}`
9
- </script>
10
-
11
- <div class="installation">
12
- <h2 class="my-2 text-lg font-semibold">Installation</h2>
13
-
14
- <p class="my-3 text-base">
15
- Install the component using your preferred package manager:
16
- </p>
17
-
18
- <div class="space-y-4">
19
- <div>
20
- <h3 class="text-sm font-medium mb-2 text-neutral-700 dark:text-neutral-300">Bun (recommended)</h3>
21
- @component('CodeBlock', { code: installCode, language: 'bash' })
22
- </div>
23
-
24
- <div>
25
- <h3 class="text-sm font-medium mb-2 text-neutral-700 dark:text-neutral-300">npm</h3>
26
- @component('CodeBlock', { code: npmCode, language: 'bash' })
27
- </div>
28
-
29
- <div>
30
- <h3 class="text-sm font-medium mb-2 text-neutral-700 dark:text-neutral-300">pnpm</h3>
31
- @component('CodeBlock', { code: pnpmCode, language: 'bash' })
32
- </div>
33
-
34
- <div>
35
- <h3 class="text-sm font-medium mb-2 text-neutral-700 dark:text-neutral-300">Yarn</h3>
36
- @component('CodeBlock', { code: yarnCode, language: 'bash' })
37
- </div>
38
- </div>
39
- </div>