@africode/core 5.0.0 → 5.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null,n)}var Q=(t,n)=>{for(var o in n)So(t,o,{get:n[o],enumerable:!0,configurable:!0,set:Go.bind(n,o)})};var x=(t,n)=>()=>(t&&(n=t(t=0)),n);class wn{constructor(t){this.content=t}toString(){return this.content}valueOf(){return this.content}}function yn(t){if(typeof t!=="string")return t;let n={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};return t.replace(/[&<>"']/g,(o)=>n[o])}function Zn(t){if(t instanceof wn)return t.toString();if(Array.isArray(t))return t.map((n)=>Zn(n)).join("");if(t===null||t===void 0||t===!1)return"";if(typeof t==="function")return yn(String(t));return yn(String(t))}function R(t,...n){let o="";for(let b=0;b<n.length;b++)o+=t[b],o+=Zn(n[b]);return o+=t[t.length-1],new wn(o)}var cn=()=>{};function _(t,n){if(!customElements.get(t))customElements.define(t,n)}var c;var S=x(()=>{cn();c=class c extends HTMLElement{constructor(){super();this.attachShadow({mode:"open"});let t=this.render;if(t&&typeof t==="function")this.render=()=>{try{t.call(this),this.removeAttribute("has-error")}catch(n){console.error(`[AfriCode] Rendering error in <${this.localName}>:`,n),this.setAttribute("has-error","true"),this.shadowRoot.innerHTML=`
1
+ var Q0=Object.defineProperty;var J0=(t)=>t;function G0(t,n){this[t]=J0.bind(null,n)}var k=(t,n)=>{for(var b in n)Q0(t,b,{get:n[b],enumerable:!0,configurable:!0,set:G0.bind(n,b)})};var x=(t,n)=>()=>(t&&(n=t(t=0)),n);class cn{constructor(t){this.value=t,this.__type="RawHtml",Object.freeze(this)}toString(){return this.value}valueOf(){return this.value}}function L0(t){return String(t).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}function yn(t){if(t instanceof cn)return t.toString();if(Array.isArray(t))return t.map(yn).join("");if(t===null||t===void 0||t===!1)return"";if(t===!0)return"true";return L0(t)}var B=(t,...n)=>{let b="";for(let o=0;o<t.length;o++)if(b+=t[o],o<n.length)b+=yn(n[o]);return new cn(b)};function _(t,n){if(typeof customElements>"u")return;if(!customElements.get(t))customElements.define(t,n)}var F0,en,c;var m=x(()=>{F0=globalThis.HTMLElement??class{},en=typeof CSSStyleSheet<"u";c=class c extends F0{constructor(){super();this.attachShadow({mode:"open"});let t=this.render;if(t&&typeof t==="function")this.render=()=>{try{t.call(this),this.removeAttribute("has-error")}catch(n){console.error(`[AfriCode] Rendering error in <${this.localName}>:`,n),this.setAttribute("has-error","true"),this.shadowRoot.innerHTML=`
2
2
  <style>
3
3
  .af-local-error {
4
4
  padding: 1rem;
@@ -17,7 +17,7 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
17
17
  <span aria-hidden="true">⚠️</span>
18
18
  <span>Failed to render</span>
19
19
  </div>
20
- `,this.emit("af-component-error",{component:this.localName,message:n.message,stack:n.stack})}}}connectedCallback(){}static styleCache=new Map;static globalSheets=[];static injectGlobalSheet(t){if(!(t instanceof CSSStyleSheet)){console.error("[AfriCode] injectGlobalSheet requires a CSSStyleSheet instance.");return}if(!c.globalSheets.includes(t))c.globalSheets.push(t)}async loadStyles(){if(c.styleCache.has("/styles/africanity.css")){this.shadowRoot.adoptedStyleSheets=[c.styleCache.get("/styles/africanity.css"),...c.globalSheets];return}try{let o=await(await fetch("/styles/africanity.css")).text(),b=new CSSStyleSheet;b.replaceSync(o),c.styleCache.set("/styles/africanity.css",b),this.shadowRoot.adoptedStyleSheets=[b,...c.globalSheets]}catch(n){console.warn("AfriCode: Failed to load core styles",n)}}spacing(t){return`var(--space-${t})`}createElement(t,{classes:n=[],attributes:o={},text:b=""}={}){let l=document.createElement(t);if(n.length)l.classList.add(...n);if(Object.entries(o).forEach(([a,f])=>l.setAttribute(a,f)),b)l.textContent=b;return l}emit(t,n){this.dispatchEvent(new CustomEvent(t,{detail:n,bubbles:!0,composed:!0}))}}});var en={};Q(en,{default:()=>Jo,AfriButton:()=>Lt});var Lt,Jo;var sn=x(()=>{S();Lt=class Lt extends c{static get observedAttributes(){return["variant","size","theme","disabled","loading","icon","aria-label"]}constructor(){super();this.render()}connectedCallback(){this.shadowRoot.querySelector("button")?.addEventListener("click",(n)=>{if(this.hasAttribute("disabled")||this.hasAttribute("loading")){n.preventDefault();return}this.emit("af-click",{originalEvent:n})})}attributeChangedCallback(){this.render()}render(){let t=this.getAttribute("variant")||"primary",n=this.getAttribute("size")||"md",o=this.getAttribute("theme")||"tanzania",b=this.hasAttribute("disabled"),l=this.hasAttribute("loading"),a=this.getAttribute("icon"),f=this.getAttribute("aria-label"),h={tanzania:{primary:"#1EB53A",accent:"#FCD116",text:"#FFFFFF"},maasai:{primary:"#FF0000",accent:"#8B0000",text:"#FFFFFF"},ndebele:{primary:"#4169E1",accent:"#FFD700",text:"#FFFFFF"},ocean:{primary:"#00A3DD",accent:"#0077BE",text:"#FFFFFF"}},r=h[o]||h.tanzania;this.shadowRoot.innerHTML=`
20
+ `,this.emit("af-component-error",{component:this.localName,message:n.message,stack:n.stack})}}}connectedCallback(){}static styleCache=new Map;static globalSheets=[];static injectGlobalSheet(t){if(!en)return;if(!(t instanceof CSSStyleSheet))return;if(!c.globalSheets.includes(t))c.globalSheets.push(t)}async loadStyles(t=""){if(!this.shadowRoot)return;let b=en&&"adoptedStyleSheets"in this.shadowRoot,o=typeof t==="string"&&t.length>0?t:"/styles/africanity.css",l=typeof t==="string"&&t.length>0?t:null;if(c.styleCache.has(o)){let a=c.styleCache.get(o);if(b)this.shadowRoot.adoptedStyleSheets=[a,...c.globalSheets];else this._applyFallbackStyle(a?.cssText||a?.text||a||"");return}try{let a=l;if(!a){let f=await fetch("/styles/africanity.css");if(!f.ok)throw Error(`Unable to load stylesheet: ${f.status}`);a=await f.text()}if(b){let f=new CSSStyleSheet;f.replaceSync(a),c.styleCache.set(o,f),this.shadowRoot.adoptedStyleSheets=[f,...c.globalSheets];return}this._applyFallbackStyle(a),c.styleCache.set(o,{text:a})}catch(a){this._applyFallbackStyle(l||"")}}_applyFallbackStyle(t){if(!this.shadowRoot)return;let n=this.shadowRoot.querySelector("style[data-africode-core-styles]");if(!n)n=document.createElement("style"),n.setAttribute("data-africode-core-styles",""),this.shadowRoot.prepend(n);n.textContent=t}spacing(t){return`var(--space-${t})`}createElement(t,{classes:n=[],attributes:b={},text:o=""}={}){let l=document.createElement(t);if(n.length)l.classList.add(...n);if(Object.entries(b).forEach(([a,f])=>l.setAttribute(a,f)),o)l.textContent=o;return l}emit(t,n){this.dispatchEvent(new CustomEvent(t,{detail:n,bubbles:!0,composed:!0}))}}});var Zn={};k(Zn,{default:()=>R0,AfriButton:()=>Gt});var Gt,R0;var sn=x(()=>{m();Gt=class Gt extends c{static get observedAttributes(){return["variant","size","theme","disabled","loading","icon","aria-label"]}constructor(){super();this.render()}connectedCallback(){this.shadowRoot.querySelector("button")?.addEventListener("click",(n)=>{if(this.hasAttribute("disabled")||this.hasAttribute("loading")){n.preventDefault();return}this.emit("af-click",{originalEvent:n})})}attributeChangedCallback(){this.render()}render(){let t=this.getAttribute("variant")||"primary",n=this.getAttribute("size")||"md",b=this.getAttribute("theme")||"tanzania",o=this.hasAttribute("disabled"),l=this.hasAttribute("loading"),a=this.getAttribute("icon"),f=this.getAttribute("aria-label"),r={tanzania:{primary:"#1EB53A",accent:"#FCD116",text:"#FFFFFF"},maasai:{primary:"#FF0000",accent:"#8B0000",text:"#FFFFFF"},ndebele:{primary:"#4169E1",accent:"#FFD700",text:"#FFFFFF"},ocean:{primary:"#00A3DD",accent:"#0077BE",text:"#FFFFFF"}},h=r[b]||r.tanzania;this.shadowRoot.innerHTML=`
21
21
  <style>
22
22
  :host {
23
23
  display: inline-block;
@@ -45,8 +45,8 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
45
45
 
46
46
  /* Variants */
47
47
  .variant-primary {
48
- background: ${r.primary};
49
- color: ${r.text};
48
+ background: ${h.primary};
49
+ color: ${h.text};
50
50
  }
51
51
  .variant-primary:hover:not(:disabled) {
52
52
  filter: brightness(1.1);
@@ -56,25 +56,25 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
56
56
 
57
57
  .variant-secondary {
58
58
  background: transparent;
59
- color: ${r.primary};
60
- border: 2px solid ${r.primary};
59
+ color: ${h.primary};
60
+ border: 2px solid ${h.primary};
61
61
  }
62
62
  .variant-secondary:hover:not(:disabled) {
63
- background: ${r.primary};
64
- color: ${r.text};
63
+ background: ${h.primary};
64
+ color: ${h.text};
65
65
  }
66
66
 
67
67
  .variant-ghost {
68
68
  background: transparent;
69
- color: ${r.primary};
69
+ color: ${h.primary};
70
70
  }
71
71
  .variant-ghost:hover:not(:disabled) {
72
72
  background: rgba(0,0,0,0.05);
73
73
  }
74
74
 
75
75
  .variant-gradient {
76
- background: linear-gradient(135deg, ${r.primary} 0%, ${r.accent} 100%);
77
- color: ${r.text};
76
+ background: linear-gradient(135deg, ${h.primary} 0%, ${h.accent} 100%);
77
+ color: ${h.text};
78
78
  }
79
79
  .variant-gradient:hover:not(:disabled) {
80
80
  transform: translateY(-2px);
@@ -113,7 +113,7 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
113
113
 
114
114
  <button
115
115
  class="variant-${t} size-${n}"
116
- ${b?"disabled":""}
116
+ ${o?"disabled":""}
117
117
  ${f?`aria-label="${f}"`:""}
118
118
  ${l?'aria-busy="true"':""}
119
119
  >
@@ -121,7 +121,7 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
121
121
  ${a&&!l?`<span class="icon">${a}</span>`:""}
122
122
  <slot></slot>
123
123
  </button>
124
- `}};_("af-button",Lt);Jo=Lt});var zn={};Q(zn,{default:()=>Lo,AfriCard:()=>Ft});var Ft,Lo;var t0=x(()=>{S();Ft=class Ft extends c{static get observedAttributes(){return["theme","variant","clickable","image"]}constructor(){super();this.render()}connectedCallback(){if(this.hasAttribute("clickable"))this.shadowRoot.querySelector(".card").addEventListener("click",()=>{this.emit("af-click")})}attributeChangedCallback(){this.render()}render(){let t=this.getAttribute("theme")||"default",n=this.getAttribute("variant")||"elevated",o=this.hasAttribute("clickable"),b=this.getAttribute("image"),l={default:{accent:"#333",border:"#eee"},tanzania:{accent:"#1EB53A",border:"#1EB53A"},maasai:{accent:"#FF0000",border:"#8B0000"},ndebele:{accent:"#4169E1",border:"#4169E1"}},f={elevated:"box-shadow: 0 2px 12px rgba(0,0,0,0.1);",outlined:`border: 2px solid ${(l[t]||l.default).border};`,flat:"background: #f8f9fa;"};this.shadowRoot.innerHTML=html`
124
+ `}};_("af-button",Gt);R0=Gt});var zn={};k(zn,{default:()=>B0,AfriCard:()=>Lt});var Lt,B0;var to=x(()=>{m();Lt=class Lt extends c{static get observedAttributes(){return["theme","variant","clickable","image"]}constructor(){super();this.render()}connectedCallback(){if(this.hasAttribute("clickable"))this.shadowRoot.querySelector(".card").addEventListener("click",()=>{this.emit("af-click")})}attributeChangedCallback(){this.render()}render(){let t=this.getAttribute("theme")||"default",n=this.getAttribute("variant")||"elevated",b=this.hasAttribute("clickable"),o=this.getAttribute("image"),l={default:{accent:"#333",border:"#eee"},tanzania:{accent:"#1EB53A",border:"#1EB53A"},maasai:{accent:"#FF0000",border:"#8B0000"},ndebele:{accent:"#4169E1",border:"#4169E1"}},f={elevated:"box-shadow: 0 2px 12px rgba(0,0,0,0.1);",outlined:`border: 2px solid ${(l[t]||l.default).border};`,flat:"background: #f8f9fa;"};this.shadowRoot.innerHTML=html`
125
125
  <style>
126
126
  :host {
127
127
  display: block;
@@ -136,7 +136,7 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
136
136
  overflow: hidden;
137
137
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
138
138
  position: relative;
139
- ${o?"cursor: pointer;":""}
139
+ ${b?"cursor: pointer;":""}
140
140
  }
141
141
 
142
142
  .card::before {
@@ -147,7 +147,7 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
147
147
  pointer-events: none;
148
148
  }
149
149
 
150
- ${o?`
150
+ ${b?`
151
151
  .card:hover {
152
152
  transform: translateY(-8px);
153
153
  border-color: rgba(252, 209, 22, 0.4);
@@ -189,7 +189,7 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
189
189
  </style>
190
190
 
191
191
  <article class="card">
192
- ${b?`<img class="card-image" src="${b}" alt="" />`:""}
192
+ ${o?`<img class="card-image" src="${o}" alt="" />`:""}
193
193
  <div class="card-body">
194
194
  <slot></slot>
195
195
  </div>
@@ -199,7 +199,7 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
199
199
  </div>
200
200
  `:""}
201
201
  </article>
202
- `}};_("af-card",Ft);Lo=Ft});function An(t){if(Bt.has(t))return Bt.get(t);let o=new Proxy(t,{get(b,l,a){let f=Reflect.get(b,l,a);if(f!==null&&typeof f==="object")return An(f);return f},set(b,l,a,f){let h=Reflect.get(b,l,f);if(h!==a){let r=Reflect.set(b,l,a,f);if(r)n0(f,a,h,l);return r}return!0},deleteProperty(b,l){let a=Reflect.get(b,l),f=Reflect.deleteProperty(b,l);if(f){let h=Bt.get(b);n0(h,void 0,a,l)}return f}});return Bt.set(t,o),o}function Rt(t,n){if(!mt.has(t))mt.set(t,new Set);let o=mt.get(t);return o.add(n),()=>{o.delete(n)}}function n0(t,n,o,b){let l=mt.get(t);if(!l)return;l.forEach((a)=>{try{a(n,o,b)}catch(f){console.error("[AfriCode State] Subscriber error:",f)}})}var mt,Bt;var Et=x(()=>{mt=new WeakMap,Bt=new WeakMap});var Fo,Ht;var Dt=x(()=>{Et();Fo={theme:"light",language:"en",ui:{sidebarCollapsed:!1,theme:"dark",activePage:"home"},user:{name:"Guest",permissions:[]},config:{animationsEnabled:!0,soundEnabled:!1}},Ht=An(Fo)});var o0={};Q(o0,{default:()=>Bo,AfriNavbar:()=>Ot});var Ot,Bo;var b0=x(()=>{S();Dt();Et();Ot=class Ot extends c{static get observedAttributes(){return["theme","logo","sticky"]}constructor(){super();this._isOpen=!1,this._unsubscribe=null,this.render()}connectedCallback(){super.connectedCallback(),this.shadowRoot.querySelector(".menu-toggle")?.addEventListener("click",()=>{this._isOpen=!this._isOpen;let t=this.shadowRoot.querySelector(".nav-links"),n=this.shadowRoot.querySelector(".menu-toggle");if(t)t.classList.toggle("open",this._isOpen);if(n)n.classList.toggle("open",this._isOpen),n.setAttribute("aria-expanded",String(this._isOpen))})}disconnectedCallback(){if(this._unsubscribe)this._unsubscribe()}attributeChangedCallback(){this.render()}render(){let t=this.getAttribute("theme")||"dark",n=this.getAttribute("logo")||"AfriCode",o=this.hasAttribute("sticky");this.shadowRoot.innerHTML=`
202
+ `}};_("af-card",Lt);B0=Lt});function An(t){if(Ft.has(t))return Ft.get(t);let b=new Proxy(t,{get(o,l,a){let f=Reflect.get(o,l,a);if(f!==null&&typeof f==="object")return An(f);return f},set(o,l,a,f){let r=Reflect.get(o,l,f);if(r!==a){let h=Reflect.set(o,l,a,f);if(h)no(f,a,r,l);return h}return!0},deleteProperty(o,l){let a=Reflect.get(o,l),f=Reflect.deleteProperty(o,l);if(f){let r=Ft.get(o);no(r,void 0,a,l)}return f}});return Ft.set(t,b),b}function Bt(t,n){if(!Rt.has(t))Rt.set(t,new Set);let b=Rt.get(t);return b.add(n),()=>{b.delete(n)}}function no(t,n,b,o){let l=Rt.get(t);if(!l)return;l.forEach((a)=>{try{a(n,b,o)}catch(f){console.error("[AfriCode State] Subscriber error:",f)}})}class oo{constructor(){this.store={}}get(t){return t.split("/").reduce((n,b)=>n?.[b],this.store)}set(t,n){let b=t.split("/"),o=this.store;while(b.length>1){let l=b.shift();if(!o[l]||typeof o[l]!=="object")o[l]={};o=o[l]}o[b[0]]=n}getAll(){return this.store}}var Rt,Ft,jl;var Ht=x(()=>{Rt=new WeakMap,Ft=new WeakMap;jl=new oo});var O0,Et;var Ot=x(()=>{Ht();O0={theme:"light",language:"en",ui:{sidebarCollapsed:!1,theme:"dark",activePage:"home"},user:{name:"Guest",permissions:[]},config:{animationsEnabled:!0,soundEnabled:!1}},Et=An(O0)});var bo={};k(bo,{default:()=>D0,AfriNavbar:()=>Dt});var Dt,D0;var lo=x(()=>{m();Ot();Ht();Dt=class Dt extends c{static get observedAttributes(){return["theme","logo","sticky"]}constructor(){super();this._isOpen=!1,this._unsubscribe=null,this.render()}connectedCallback(){super.connectedCallback(),this.shadowRoot.querySelector(".menu-toggle")?.addEventListener("click",()=>{this._isOpen=!this._isOpen;let t=this.shadowRoot.querySelector(".nav-links"),n=this.shadowRoot.querySelector(".menu-toggle");if(t)t.classList.toggle("open",this._isOpen);if(n)n.classList.toggle("open",this._isOpen),n.setAttribute("aria-expanded",String(this._isOpen))})}disconnectedCallback(){if(this._unsubscribe)this._unsubscribe()}attributeChangedCallback(){this.render()}render(){let t=this.getAttribute("theme")||"dark",n=this.getAttribute("logo")||"AfriCode",b=this.hasAttribute("sticky");this.shadowRoot.innerHTML=`
203
203
  <style>
204
204
  :host {
205
205
  display: block;
@@ -375,7 +375,7 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
375
375
  <slot></slot>
376
376
  </div>
377
377
  </nav>
378
- `}};_("af-navbar",Ot);Bo=Ot});var k,qn,$,V=(t)=>{switch(typeof t){case"undefined":return $.undefined;case"string":return $.string;case"number":return Number.isNaN(t)?$.nan:$.number;case"boolean":return $.boolean;case"function":return $.function;case"bigint":return $.bigint;case"symbol":return $.symbol;case"object":if(Array.isArray(t))return $.array;if(t===null)return $.null;if(t.then&&typeof t.then==="function"&&t.catch&&typeof t.catch==="function")return $.promise;if(typeof Map<"u"&&t instanceof Map)return $.map;if(typeof Set<"u"&&t instanceof Set)return $.set;if(typeof Date<"u"&&t instanceof Date)return $.date;return $.object;default:return $.unknown}};var xt=x(()=>{(function(t){t.assertEqual=(l)=>{};function n(l){}t.assertIs=n;function o(l){throw Error()}t.assertNever=o,t.arrayToEnum=(l)=>{let a={};for(let f of l)a[f]=f;return a},t.getValidEnumValues=(l)=>{let a=t.objectKeys(l).filter((h)=>typeof l[l[h]]!=="number"),f={};for(let h of a)f[h]=l[h];return t.objectValues(f)},t.objectValues=(l)=>{return t.objectKeys(l).map(function(a){return l[a]})},t.objectKeys=typeof Object.keys==="function"?(l)=>Object.keys(l):(l)=>{let a=[];for(let f in l)if(Object.prototype.hasOwnProperty.call(l,f))a.push(f);return a},t.find=(l,a)=>{for(let f of l)if(a(f))return f;return},t.isInteger=typeof Number.isInteger==="function"?(l)=>Number.isInteger(l):(l)=>typeof l==="number"&&Number.isFinite(l)&&Math.floor(l)===l;function b(l,a=" | "){return l.map((f)=>typeof f==="string"?`'${f}'`:f).join(a)}t.joinValues=b,t.jsonStringifyReplacer=(l,a)=>{if(typeof a==="bigint")return a.toString();return a}})(k||(k={}));(function(t){t.mergeShapes=(n,o)=>{return{...n,...o}}})(qn||(qn={}));$=k.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"])});var g,mo=(t)=>{return JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:")},m;var Wt=x(()=>{xt();g=k.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);m=class m extends Error{get errors(){return this.issues}constructor(t){super();this.issues=[],this.addIssue=(o)=>{this.issues=[...this.issues,o]},this.addIssues=(o=[])=>{this.issues=[...this.issues,...o]};let n=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,n);else this.__proto__=n;this.name="ZodError",this.issues=t}format(t){let n=t||function(l){return l.message},o={_errors:[]},b=(l)=>{for(let a of l.issues)if(a.code==="invalid_union")a.unionErrors.map(b);else if(a.code==="invalid_return_type")b(a.returnTypeError);else if(a.code==="invalid_arguments")b(a.argumentsError);else if(a.path.length===0)o._errors.push(n(a));else{let f=o,h=0;while(h<a.path.length){let r=a.path[h];if(h!==a.path.length-1)f[r]=f[r]||{_errors:[]};else f[r]=f[r]||{_errors:[]},f[r]._errors.push(n(a));f=f[r],h++}}};return b(this),o}static assert(t){if(!(t instanceof m))throw Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,k.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=(n)=>n.message){let n={},o=[];for(let b of this.issues)if(b.path.length>0){let l=b.path[0];n[l]=n[l]||[],n[l].push(t(b))}else o.push(t(b));return{formErrors:o,fieldErrors:n}}get formErrors(){return this.flatten()}};m.create=(t)=>{return new m(t)}});var Ro=(t,n)=>{let o;switch(t.code){case g.invalid_type:if(t.received===$.undefined)o="Required";else o=`Expected ${t.expected}, received ${t.received}`;break;case g.invalid_literal:o=`Invalid literal value, expected ${JSON.stringify(t.expected,k.jsonStringifyReplacer)}`;break;case g.unrecognized_keys:o=`Unrecognized key(s) in object: ${k.joinValues(t.keys,", ")}`;break;case g.invalid_union:o="Invalid input";break;case g.invalid_union_discriminator:o=`Invalid discriminator value. Expected ${k.joinValues(t.options)}`;break;case g.invalid_enum_value:o=`Invalid enum value. Expected ${k.joinValues(t.options)}, received '${t.received}'`;break;case g.invalid_arguments:o="Invalid function arguments";break;case g.invalid_return_type:o="Invalid function return type";break;case g.invalid_date:o="Invalid date";break;case g.invalid_string:if(typeof t.validation==="object")if("includes"in t.validation){if(o=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position==="number")o=`${o} at one or more positions greater than or equal to ${t.validation.position}`}else if("startsWith"in t.validation)o=`Invalid input: must start with "${t.validation.startsWith}"`;else if("endsWith"in t.validation)o=`Invalid input: must end with "${t.validation.endsWith}"`;else k.assertNever(t.validation);else if(t.validation!=="regex")o=`Invalid ${t.validation}`;else o="Invalid";break;case g.too_small:if(t.type==="array")o=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`;else if(t.type==="string")o=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`;else if(t.type==="number")o=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`;else if(t.type==="bigint")o=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`;else if(t.type==="date")o=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`;else o="Invalid input";break;case g.too_big:if(t.type==="array")o=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`;else if(t.type==="string")o=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`;else if(t.type==="number")o=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`;else if(t.type==="bigint")o=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`;else if(t.type==="date")o=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`;else o="Invalid input";break;case g.custom:o="Invalid input";break;case g.invalid_intersection_types:o="Intersection results could not be merged";break;case g.not_multiple_of:o=`Number must be a multiple of ${t.multipleOf}`;break;case g.not_finite:o="Number must be finite";break;default:o=n.defaultError,k.assertNever(t)}return{message:o}},p;var En=x(()=>{Wt();xt();p=Ro});function Do(t){l0=t}function ot(){return l0}var l0;var dt=x(()=>{En();l0=p});function v(t,n){let o=ot(),b=Yt({issueData:n,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,o,o===p?void 0:p].filter((l)=>!!l)});t.common.issues.push(b)}class F{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray(t,n){let o=[];for(let b of n){if(b.status==="aborted")return E;if(b.status==="dirty")t.dirty();o.push(b.value)}return{status:t.value,value:o}}static async mergeObjectAsync(t,n){let o=[];for(let b of n){let l=await b.key,a=await b.value;o.push({key:l,value:a})}return F.mergeObjectSync(t,o)}static mergeObjectSync(t,n){let o={};for(let b of n){let{key:l,value:a}=b;if(l.status==="aborted")return E;if(a.status==="aborted")return E;if(l.status==="dirty")t.dirty();if(a.status==="dirty")t.dirty();if(l.value!=="__proto__"&&(typeof a.value<"u"||b.alwaysSet))o[l.value]=a.value}return{status:t.value,value:o}}}var Yt=(t)=>{let{data:n,path:o,errorMaps:b,issueData:l}=t,a=[...o,...l.path||[]],f={...l,path:a};if(l.message!==void 0)return{...l,path:a,message:l.message};let h="",r=b.filter((A)=>!!A).slice().reverse();for(let A of r)h=A(f,{data:n,defaultError:h}).message;return{...l,path:a,message:h}},Oo,E,e=(t)=>({status:"dirty",value:t}),B=(t)=>({status:"valid",value:t}),Ut=(t)=>t.status==="aborted",jt=(t)=>t.status==="dirty",P=(t)=>t.status==="valid",bt=(t)=>typeof Promise<"u"&&t instanceof Promise;var Hn=x(()=>{dt();En();Oo=[];E=Object.freeze({status:"aborted"})});var a0=()=>{};var q;var f0=x(()=>{(function(t){t.errToObj=(n)=>typeof n==="string"?{message:n}:n||{},t.toString=(n)=>typeof n==="string"?n:n?.message})(q||(q={}))});class U{constructor(t,n,o,b){this._cachedPath=[],this.parent=t,this.data=n,this._path=o,this._key=b}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}function Y(t){if(!t)return{};let{errorMap:n,invalid_type_error:o,required_error:b,description:l}=t;if(n&&(o||b))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(n)return{errorMap:n,description:l};return{errorMap:(f,h)=>{let{message:r}=t;if(f.code==="invalid_enum_value")return{message:r??h.defaultError};if(typeof h.data>"u")return{message:r??b??h.defaultError};if(f.code!=="invalid_type")return{message:h.defaultError};return{message:r??o??h.defaultError}},description:l}}class M{get description(){return this._def.description}_getType(t){return V(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:V(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new F,ctx:{common:t.parent.common,data:t.data,parsedType:V(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){let n=this._parse(t);if(bt(n))throw Error("Synchronous parse encountered promise.");return n}_parseAsync(t){let n=this._parse(t);return Promise.resolve(n)}parse(t,n){let o=this.safeParse(t,n);if(o.success)return o.data;throw o.error}safeParse(t,n){let o={common:{issues:[],async:n?.async??!1,contextualErrorMap:n?.errorMap},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:V(t)},b=this._parseSync({data:t,path:o.path,parent:o});return h0(o,b)}"~validate"(t){let n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:V(t)};if(!this["~standard"].async)try{let o=this._parseSync({data:t,path:[],parent:n});return P(o)?{value:o.value}:{issues:n.common.issues}}catch(o){if(o?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;n.common={issues:[],async:!0}}return this._parseAsync({data:t,path:[],parent:n}).then((o)=>P(o)?{value:o.value}:{issues:n.common.issues})}async parseAsync(t,n){let o=await this.safeParseAsync(t,n);if(o.success)return o.data;throw o.error}async safeParseAsync(t,n){let o={common:{issues:[],contextualErrorMap:n?.errorMap,async:!0},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:V(t)},b=this._parse({data:t,path:o.path,parent:o}),l=await(bt(b)?b:Promise.resolve(b));return h0(o,l)}refine(t,n){let o=(b)=>{if(typeof n==="string"||typeof n>"u")return{message:n};else if(typeof n==="function")return n(b);else return n};return this._refinement((b,l)=>{let a=t(b),f=()=>l.addIssue({code:g.custom,...o(b)});if(typeof Promise<"u"&&a instanceof Promise)return a.then((h)=>{if(!h)return f(),!1;else return!0});if(!a)return f(),!1;else return!0})}refinement(t,n){return this._refinement((o,b)=>{if(!t(o))return b.addIssue(typeof n==="function"?n(o,b):n),!1;else return!0})}_refinement(t){return new j({schema:this,typeName:H.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:(n)=>this["~validate"](n)}}optional(){return d.create(this,this._def)}nullable(){return u.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return W.create(this)}promise(){return nt.create(this,this._def)}or(t){return gt.create([this,t],this._def)}and(t){return $t.create(this,t,this._def)}transform(t){return new j({...Y(this._def),schema:this,typeName:H.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let n=typeof t==="function"?t:()=>t;return new _t({...Y(this._def),innerType:this,defaultValue:n,typeName:H.ZodDefault})}brand(){return new Nt({typeName:H.ZodBranded,type:this,...Y(this._def)})}catch(t){let n=typeof t==="function"?t:()=>t;return new At({...Y(this._def),innerType:this,catchValue:n,typeName:H.ZodCatch})}describe(t){return new this.constructor({...this._def,description:t})}pipe(t){return Gt.create(this,t)}readonly(){return qt.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}function $0(t){let n="[0-5]\\d";if(t.precision)n=`${n}\\.\\d{${t.precision}}`;else if(t.precision==null)n=`${n}(\\.\\d+)?`;let o=t.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${n})${o}`}function so(t){return new RegExp(`^${$0(t)}$`)}function v0(t){let n=`${g0}T${$0(t)}`,o=[];if(o.push(t.local?"Z?":"Z"),t.offset)o.push("([+-]\\d{2}:?\\d{2})");return n=`${n}(${o.join("|")})`,new RegExp(`^${n}$`)}function zo(t,n){if((n==="v4"||!n)&&io.test(t))return!0;if((n==="v6"||!n)&&To.test(t))return!0;return!1}function tb(t,n){if(!Ko.test(t))return!1;try{let[o]=t.split(".");if(!o)return!1;let b=o.replace(/-/g,"+").replace(/_/g,"/").padEnd(o.length+(4-o.length%4)%4,"="),l=JSON.parse(atob(b));if(typeof l!=="object"||l===null)return!1;if("typ"in l&&l?.typ!=="JWT")return!1;if(!l.alg)return!1;if(n&&l.alg!==n)return!1;return!0}catch{return!1}}function nb(t,n){if((n==="v4"||!n)&&Po.test(t))return!0;if((n==="v6"||!n)&&Co.test(t))return!0;return!1}function ob(t,n){let o=(t.toString().split(".")[1]||"").length,b=(n.toString().split(".")[1]||"").length,l=o>b?o:b,a=Number.parseInt(t.toFixed(l).replace(".","")),f=Number.parseInt(n.toFixed(l).replace(".",""));return a%f/10**l}function lt(t){if(t instanceof G){let n={};for(let o in t.shape){let b=t.shape[o];n[o]=d.create(lt(b))}return new G({...t._def,shape:()=>n})}else if(t instanceof W)return new W({...t._def,type:lt(t.element)});else if(t instanceof d)return d.create(lt(t.unwrap()));else if(t instanceof u)return u.create(lt(t.unwrap()));else if(t instanceof K)return K.create(t.items.map((n)=>lt(n)));else return t}function Yn(t,n){let o=V(t),b=V(n);if(t===n)return{valid:!0,data:t};else if(o===$.object&&b===$.object){let l=k.objectKeys(n),a=k.objectKeys(t).filter((h)=>l.indexOf(h)!==-1),f={...t,...n};for(let h of a){let r=Yn(t[h],n[h]);if(!r.valid)return{valid:!1};f[h]=r.data}return{valid:!0,data:f}}else if(o===$.array&&b===$.array){if(t.length!==n.length)return{valid:!1};let l=[];for(let a=0;a<t.length;a++){let f=t[a],h=n[a],r=Yn(f,h);if(!r.valid)return{valid:!1};l.push(r.data)}return{valid:!0,data:l}}else if(o===$.date&&b===$.date&&+t===+n)return{valid:!0,data:t};else return{valid:!1}}function w0(t,n){return new Z({values:t,typeName:H.ZodEnum,...Y(n)})}function r0(t,n){let o=typeof t==="function"?t(n):typeof t==="string"?{message:t}:t;return typeof o==="string"?{message:o}:o}function c0(t,n={},o){if(t)return z.create().superRefine((b,l)=>{let a=t(b);if(a instanceof Promise)return a.then((f)=>{if(!f){let h=r0(n,b),r=h.fatal??o??!0;l.addIssue({code:"custom",...h,fatal:r})}});if(!a){let f=r0(n,b),h=f.fatal??o??!0;l.addIssue({code:"custom",...f,fatal:h})}return});return z.create()}var h0=(t,n)=>{if(P(n))return{success:!0,data:n.value};else{if(!t.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let o=new m(t.common.issues);return this._error=o,this._error}}}},Wo,Uo,jo,Vo,No,Ko,po,Io,uo="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",xn,io,Po,To,Co,yo,Zo,g0="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",eo,O,C,y,ft,s,Mt,ht,rt,z,T,N,kt,W,G,gt,I=(t)=>{if(t instanceof vt)return I(t.schema);else if(t instanceof j)return I(t.innerType());else if(t instanceof wt)return[t.value];else if(t instanceof Z)return t.options;else if(t instanceof ct)return k.objectValues(t.enum);else if(t instanceof _t)return I(t._def.innerType);else if(t instanceof ht)return[void 0];else if(t instanceof rt)return[null];else if(t instanceof d)return[void 0,...I(t.unwrap())];else if(t instanceof u)return[null,...I(t.unwrap())];else if(t instanceof Nt)return I(t.unwrap());else if(t instanceof qt)return I(t.unwrap());else if(t instanceof At)return I(t._def.innerType);else return[]},Vt,$t,K,Xt,St,tt,at,vt,wt,Z,ct,nt,j,d,u,_t,At,Qt,bb,Nt,Gt,qt,lb,H,ab=(t,n={message:`Input not instance of ${t.name}`})=>c0((o)=>o instanceof t,n),_0,A0,fb,hb,q0,rb,gb,$b,vb,wb,cb,_b,Ab,qb,Eb,Hb,xb,Yb,Mb,kb,Xb,Sb,Qb,Gb,Jb,Lb,Fb,Bb,mb,Rb,Db,Ob,Wb,db,Ub=()=>_0().optional(),jb=()=>A0().optional(),Vb=()=>q0().optional(),Nb,Kb;var E0=x(()=>{Wt();dt();f0();Hn();xt();Wo=/^c[^\s-]{8,}$/i,Uo=/^[0-9a-z]+$/,jo=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Vo=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,No=/^[a-z0-9_-]{21}$/i,Ko=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,po=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Io=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,io=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Po=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,To=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,Co=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,yo=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Zo=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,eo=new RegExp(`^${g0}$`);O=class O extends M{_parse(t){if(this._def.coerce)t.data=String(t.data);if(this._getType(t)!==$.string){let l=this._getOrReturnCtx(t);return v(l,{code:g.invalid_type,expected:$.string,received:l.parsedType}),E}let o=new F,b=void 0;for(let l of this._def.checks)if(l.kind==="min"){if(t.data.length<l.value)b=this._getOrReturnCtx(t,b),v(b,{code:g.too_small,minimum:l.value,type:"string",inclusive:!0,exact:!1,message:l.message}),o.dirty()}else if(l.kind==="max"){if(t.data.length>l.value)b=this._getOrReturnCtx(t,b),v(b,{code:g.too_big,maximum:l.value,type:"string",inclusive:!0,exact:!1,message:l.message}),o.dirty()}else if(l.kind==="length"){let a=t.data.length>l.value,f=t.data.length<l.value;if(a||f){if(b=this._getOrReturnCtx(t,b),a)v(b,{code:g.too_big,maximum:l.value,type:"string",inclusive:!0,exact:!0,message:l.message});else if(f)v(b,{code:g.too_small,minimum:l.value,type:"string",inclusive:!0,exact:!0,message:l.message});o.dirty()}}else if(l.kind==="email"){if(!Io.test(t.data))b=this._getOrReturnCtx(t,b),v(b,{validation:"email",code:g.invalid_string,message:l.message}),o.dirty()}else if(l.kind==="emoji"){if(!xn)xn=new RegExp(uo,"u");if(!xn.test(t.data))b=this._getOrReturnCtx(t,b),v(b,{validation:"emoji",code:g.invalid_string,message:l.message}),o.dirty()}else if(l.kind==="uuid"){if(!Vo.test(t.data))b=this._getOrReturnCtx(t,b),v(b,{validation:"uuid",code:g.invalid_string,message:l.message}),o.dirty()}else if(l.kind==="nanoid"){if(!No.test(t.data))b=this._getOrReturnCtx(t,b),v(b,{validation:"nanoid",code:g.invalid_string,message:l.message}),o.dirty()}else if(l.kind==="cuid"){if(!Wo.test(t.data))b=this._getOrReturnCtx(t,b),v(b,{validation:"cuid",code:g.invalid_string,message:l.message}),o.dirty()}else if(l.kind==="cuid2"){if(!Uo.test(t.data))b=this._getOrReturnCtx(t,b),v(b,{validation:"cuid2",code:g.invalid_string,message:l.message}),o.dirty()}else if(l.kind==="ulid"){if(!jo.test(t.data))b=this._getOrReturnCtx(t,b),v(b,{validation:"ulid",code:g.invalid_string,message:l.message}),o.dirty()}else if(l.kind==="url")try{new URL(t.data)}catch{b=this._getOrReturnCtx(t,b),v(b,{validation:"url",code:g.invalid_string,message:l.message}),o.dirty()}else if(l.kind==="regex"){if(l.regex.lastIndex=0,!l.regex.test(t.data))b=this._getOrReturnCtx(t,b),v(b,{validation:"regex",code:g.invalid_string,message:l.message}),o.dirty()}else if(l.kind==="trim")t.data=t.data.trim();else if(l.kind==="includes"){if(!t.data.includes(l.value,l.position))b=this._getOrReturnCtx(t,b),v(b,{code:g.invalid_string,validation:{includes:l.value,position:l.position},message:l.message}),o.dirty()}else if(l.kind==="toLowerCase")t.data=t.data.toLowerCase();else if(l.kind==="toUpperCase")t.data=t.data.toUpperCase();else if(l.kind==="startsWith"){if(!t.data.startsWith(l.value))b=this._getOrReturnCtx(t,b),v(b,{code:g.invalid_string,validation:{startsWith:l.value},message:l.message}),o.dirty()}else if(l.kind==="endsWith"){if(!t.data.endsWith(l.value))b=this._getOrReturnCtx(t,b),v(b,{code:g.invalid_string,validation:{endsWith:l.value},message:l.message}),o.dirty()}else if(l.kind==="datetime"){if(!v0(l).test(t.data))b=this._getOrReturnCtx(t,b),v(b,{code:g.invalid_string,validation:"datetime",message:l.message}),o.dirty()}else if(l.kind==="date"){if(!eo.test(t.data))b=this._getOrReturnCtx(t,b),v(b,{code:g.invalid_string,validation:"date",message:l.message}),o.dirty()}else if(l.kind==="time"){if(!so(l).test(t.data))b=this._getOrReturnCtx(t,b),v(b,{code:g.invalid_string,validation:"time",message:l.message}),o.dirty()}else if(l.kind==="duration"){if(!po.test(t.data))b=this._getOrReturnCtx(t,b),v(b,{validation:"duration",code:g.invalid_string,message:l.message}),o.dirty()}else if(l.kind==="ip"){if(!zo(t.data,l.version))b=this._getOrReturnCtx(t,b),v(b,{validation:"ip",code:g.invalid_string,message:l.message}),o.dirty()}else if(l.kind==="jwt"){if(!tb(t.data,l.alg))b=this._getOrReturnCtx(t,b),v(b,{validation:"jwt",code:g.invalid_string,message:l.message}),o.dirty()}else if(l.kind==="cidr"){if(!nb(t.data,l.version))b=this._getOrReturnCtx(t,b),v(b,{validation:"cidr",code:g.invalid_string,message:l.message}),o.dirty()}else if(l.kind==="base64"){if(!yo.test(t.data))b=this._getOrReturnCtx(t,b),v(b,{validation:"base64",code:g.invalid_string,message:l.message}),o.dirty()}else if(l.kind==="base64url"){if(!Zo.test(t.data))b=this._getOrReturnCtx(t,b),v(b,{validation:"base64url",code:g.invalid_string,message:l.message}),o.dirty()}else k.assertNever(l);return{status:o.value,value:t.data}}_regex(t,n,o){return this.refinement((b)=>t.test(b),{validation:n,code:g.invalid_string,...q.errToObj(o)})}_addCheck(t){return new O({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...q.errToObj(t)})}url(t){return this._addCheck({kind:"url",...q.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...q.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...q.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...q.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...q.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...q.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...q.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...q.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...q.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...q.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...q.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...q.errToObj(t)})}datetime(t){if(typeof t==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t});return this._addCheck({kind:"datetime",precision:typeof t?.precision>"u"?null:t?.precision,offset:t?.offset??!1,local:t?.local??!1,...q.errToObj(t?.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){if(typeof t==="string")return this._addCheck({kind:"time",precision:null,message:t});return this._addCheck({kind:"time",precision:typeof t?.precision>"u"?null:t?.precision,...q.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",...q.errToObj(t)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...q.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n?.position,...q.errToObj(n?.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...q.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...q.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...q.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...q.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...q.errToObj(n)})}nonempty(t){return this.min(1,q.errToObj(t))}trim(){return new O({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new O({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new O({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find((t)=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find((t)=>t.kind==="date")}get isTime(){return!!this._def.checks.find((t)=>t.kind==="time")}get isDuration(){return!!this._def.checks.find((t)=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find((t)=>t.kind==="email")}get isURL(){return!!this._def.checks.find((t)=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find((t)=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find((t)=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find((t)=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find((t)=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find((t)=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find((t)=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find((t)=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find((t)=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find((t)=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find((t)=>t.kind==="base64url")}get minLength(){let t=null;for(let n of this._def.checks)if(n.kind==="min"){if(t===null||n.value>t)t=n.value}return t}get maxLength(){let t=null;for(let n of this._def.checks)if(n.kind==="max"){if(t===null||n.value<t)t=n.value}return t}};O.create=(t)=>{return new O({checks:[],typeName:H.ZodString,coerce:t?.coerce??!1,...Y(t)})};C=class C extends M{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce)t.data=Number(t.data);if(this._getType(t)!==$.number){let l=this._getOrReturnCtx(t);return v(l,{code:g.invalid_type,expected:$.number,received:l.parsedType}),E}let o=void 0,b=new F;for(let l of this._def.checks)if(l.kind==="int"){if(!k.isInteger(t.data))o=this._getOrReturnCtx(t,o),v(o,{code:g.invalid_type,expected:"integer",received:"float",message:l.message}),b.dirty()}else if(l.kind==="min"){if(l.inclusive?t.data<l.value:t.data<=l.value)o=this._getOrReturnCtx(t,o),v(o,{code:g.too_small,minimum:l.value,type:"number",inclusive:l.inclusive,exact:!1,message:l.message}),b.dirty()}else if(l.kind==="max"){if(l.inclusive?t.data>l.value:t.data>=l.value)o=this._getOrReturnCtx(t,o),v(o,{code:g.too_big,maximum:l.value,type:"number",inclusive:l.inclusive,exact:!1,message:l.message}),b.dirty()}else if(l.kind==="multipleOf"){if(ob(t.data,l.value)!==0)o=this._getOrReturnCtx(t,o),v(o,{code:g.not_multiple_of,multipleOf:l.value,message:l.message}),b.dirty()}else if(l.kind==="finite"){if(!Number.isFinite(t.data))o=this._getOrReturnCtx(t,o),v(o,{code:g.not_finite,message:l.message}),b.dirty()}else k.assertNever(l);return{status:b.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,q.toString(n))}gt(t,n){return this.setLimit("min",t,!1,q.toString(n))}lte(t,n){return this.setLimit("max",t,!0,q.toString(n))}lt(t,n){return this.setLimit("max",t,!1,q.toString(n))}setLimit(t,n,o,b){return new C({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:o,message:q.toString(b)}]})}_addCheck(t){return new C({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:q.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:q.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:q.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:q.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:q.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:q.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:q.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:q.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:q.toString(t)})}get minValue(){let t=null;for(let n of this._def.checks)if(n.kind==="min"){if(t===null||n.value>t)t=n.value}return t}get maxValue(){let t=null;for(let n of this._def.checks)if(n.kind==="max"){if(t===null||n.value<t)t=n.value}return t}get isInt(){return!!this._def.checks.find((t)=>t.kind==="int"||t.kind==="multipleOf"&&k.isInteger(t.value))}get isFinite(){let t=null,n=null;for(let o of this._def.checks)if(o.kind==="finite"||o.kind==="int"||o.kind==="multipleOf")return!0;else if(o.kind==="min"){if(n===null||o.value>n)n=o.value}else if(o.kind==="max"){if(t===null||o.value<t)t=o.value}return Number.isFinite(n)&&Number.isFinite(t)}};C.create=(t)=>{return new C({checks:[],typeName:H.ZodNumber,coerce:t?.coerce||!1,...Y(t)})};y=class y extends M{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==$.bigint)return this._getInvalidInput(t);let o=void 0,b=new F;for(let l of this._def.checks)if(l.kind==="min"){if(l.inclusive?t.data<l.value:t.data<=l.value)o=this._getOrReturnCtx(t,o),v(o,{code:g.too_small,type:"bigint",minimum:l.value,inclusive:l.inclusive,message:l.message}),b.dirty()}else if(l.kind==="max"){if(l.inclusive?t.data>l.value:t.data>=l.value)o=this._getOrReturnCtx(t,o),v(o,{code:g.too_big,type:"bigint",maximum:l.value,inclusive:l.inclusive,message:l.message}),b.dirty()}else if(l.kind==="multipleOf"){if(t.data%l.value!==BigInt(0))o=this._getOrReturnCtx(t,o),v(o,{code:g.not_multiple_of,multipleOf:l.value,message:l.message}),b.dirty()}else k.assertNever(l);return{status:b.value,value:t.data}}_getInvalidInput(t){let n=this._getOrReturnCtx(t);return v(n,{code:g.invalid_type,expected:$.bigint,received:n.parsedType}),E}gte(t,n){return this.setLimit("min",t,!0,q.toString(n))}gt(t,n){return this.setLimit("min",t,!1,q.toString(n))}lte(t,n){return this.setLimit("max",t,!0,q.toString(n))}lt(t,n){return this.setLimit("max",t,!1,q.toString(n))}setLimit(t,n,o,b){return new y({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:o,message:q.toString(b)}]})}_addCheck(t){return new y({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:q.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:q.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:q.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:q.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:q.toString(n)})}get minValue(){let t=null;for(let n of this._def.checks)if(n.kind==="min"){if(t===null||n.value>t)t=n.value}return t}get maxValue(){let t=null;for(let n of this._def.checks)if(n.kind==="max"){if(t===null||n.value<t)t=n.value}return t}};y.create=(t)=>{return new y({checks:[],typeName:H.ZodBigInt,coerce:t?.coerce??!1,...Y(t)})};ft=class ft extends M{_parse(t){if(this._def.coerce)t.data=Boolean(t.data);if(this._getType(t)!==$.boolean){let o=this._getOrReturnCtx(t);return v(o,{code:g.invalid_type,expected:$.boolean,received:o.parsedType}),E}return B(t.data)}};ft.create=(t)=>{return new ft({typeName:H.ZodBoolean,coerce:t?.coerce||!1,...Y(t)})};s=class s extends M{_parse(t){if(this._def.coerce)t.data=new Date(t.data);if(this._getType(t)!==$.date){let l=this._getOrReturnCtx(t);return v(l,{code:g.invalid_type,expected:$.date,received:l.parsedType}),E}if(Number.isNaN(t.data.getTime())){let l=this._getOrReturnCtx(t);return v(l,{code:g.invalid_date}),E}let o=new F,b=void 0;for(let l of this._def.checks)if(l.kind==="min"){if(t.data.getTime()<l.value)b=this._getOrReturnCtx(t,b),v(b,{code:g.too_small,message:l.message,inclusive:!0,exact:!1,minimum:l.value,type:"date"}),o.dirty()}else if(l.kind==="max"){if(t.data.getTime()>l.value)b=this._getOrReturnCtx(t,b),v(b,{code:g.too_big,message:l.message,inclusive:!0,exact:!1,maximum:l.value,type:"date"}),o.dirty()}else k.assertNever(l);return{status:o.value,value:new Date(t.data.getTime())}}_addCheck(t){return new s({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:q.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:q.toString(n)})}get minDate(){let t=null;for(let n of this._def.checks)if(n.kind==="min"){if(t===null||n.value>t)t=n.value}return t!=null?new Date(t):null}get maxDate(){let t=null;for(let n of this._def.checks)if(n.kind==="max"){if(t===null||n.value<t)t=n.value}return t!=null?new Date(t):null}};s.create=(t)=>{return new s({checks:[],coerce:t?.coerce||!1,typeName:H.ZodDate,...Y(t)})};Mt=class Mt extends M{_parse(t){if(this._getType(t)!==$.symbol){let o=this._getOrReturnCtx(t);return v(o,{code:g.invalid_type,expected:$.symbol,received:o.parsedType}),E}return B(t.data)}};Mt.create=(t)=>{return new Mt({typeName:H.ZodSymbol,...Y(t)})};ht=class ht extends M{_parse(t){if(this._getType(t)!==$.undefined){let o=this._getOrReturnCtx(t);return v(o,{code:g.invalid_type,expected:$.undefined,received:o.parsedType}),E}return B(t.data)}};ht.create=(t)=>{return new ht({typeName:H.ZodUndefined,...Y(t)})};rt=class rt extends M{_parse(t){if(this._getType(t)!==$.null){let o=this._getOrReturnCtx(t);return v(o,{code:g.invalid_type,expected:$.null,received:o.parsedType}),E}return B(t.data)}};rt.create=(t)=>{return new rt({typeName:H.ZodNull,...Y(t)})};z=class z extends M{constructor(){super(...arguments);this._any=!0}_parse(t){return B(t.data)}};z.create=(t)=>{return new z({typeName:H.ZodAny,...Y(t)})};T=class T extends M{constructor(){super(...arguments);this._unknown=!0}_parse(t){return B(t.data)}};T.create=(t)=>{return new T({typeName:H.ZodUnknown,...Y(t)})};N=class N extends M{_parse(t){let n=this._getOrReturnCtx(t);return v(n,{code:g.invalid_type,expected:$.never,received:n.parsedType}),E}};N.create=(t)=>{return new N({typeName:H.ZodNever,...Y(t)})};kt=class kt extends M{_parse(t){if(this._getType(t)!==$.undefined){let o=this._getOrReturnCtx(t);return v(o,{code:g.invalid_type,expected:$.void,received:o.parsedType}),E}return B(t.data)}};kt.create=(t)=>{return new kt({typeName:H.ZodVoid,...Y(t)})};W=class W extends M{_parse(t){let{ctx:n,status:o}=this._processInputParams(t),b=this._def;if(n.parsedType!==$.array)return v(n,{code:g.invalid_type,expected:$.array,received:n.parsedType}),E;if(b.exactLength!==null){let a=n.data.length>b.exactLength.value,f=n.data.length<b.exactLength.value;if(a||f)v(n,{code:a?g.too_big:g.too_small,minimum:f?b.exactLength.value:void 0,maximum:a?b.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:b.exactLength.message}),o.dirty()}if(b.minLength!==null){if(n.data.length<b.minLength.value)v(n,{code:g.too_small,minimum:b.minLength.value,type:"array",inclusive:!0,exact:!1,message:b.minLength.message}),o.dirty()}if(b.maxLength!==null){if(n.data.length>b.maxLength.value)v(n,{code:g.too_big,maximum:b.maxLength.value,type:"array",inclusive:!0,exact:!1,message:b.maxLength.message}),o.dirty()}if(n.common.async)return Promise.all([...n.data].map((a,f)=>{return b.type._parseAsync(new U(n,a,n.path,f))})).then((a)=>{return F.mergeArray(o,a)});let l=[...n.data].map((a,f)=>{return b.type._parseSync(new U(n,a,n.path,f))});return F.mergeArray(o,l)}get element(){return this._def.type}min(t,n){return new W({...this._def,minLength:{value:t,message:q.toString(n)}})}max(t,n){return new W({...this._def,maxLength:{value:t,message:q.toString(n)}})}length(t,n){return new W({...this._def,exactLength:{value:t,message:q.toString(n)}})}nonempty(t){return this.min(1,t)}};W.create=(t,n)=>{return new W({type:t,minLength:null,maxLength:null,exactLength:null,typeName:H.ZodArray,...Y(n)})};G=class G extends M{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let t=this._def.shape(),n=k.objectKeys(t);return this._cached={shape:t,keys:n},this._cached}_parse(t){if(this._getType(t)!==$.object){let r=this._getOrReturnCtx(t);return v(r,{code:g.invalid_type,expected:$.object,received:r.parsedType}),E}let{status:o,ctx:b}=this._processInputParams(t),{shape:l,keys:a}=this._getCached(),f=[];if(!(this._def.catchall instanceof N&&this._def.unknownKeys==="strip")){for(let r in b.data)if(!a.includes(r))f.push(r)}let h=[];for(let r of a){let A=l[r],X=b.data[r];h.push({key:{status:"valid",value:r},value:A._parse(new U(b,X,b.path,r)),alwaysSet:r in b.data})}if(this._def.catchall instanceof N){let r=this._def.unknownKeys;if(r==="passthrough")for(let A of f)h.push({key:{status:"valid",value:A},value:{status:"valid",value:b.data[A]}});else if(r==="strict"){if(f.length>0)v(b,{code:g.unrecognized_keys,keys:f}),o.dirty()}else if(r==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let r=this._def.catchall;for(let A of f){let X=b.data[A];h.push({key:{status:"valid",value:A},value:r._parse(new U(b,X,b.path,A)),alwaysSet:A in b.data})}}if(b.common.async)return Promise.resolve().then(async()=>{let r=[];for(let A of h){let X=await A.key,L=await A.value;r.push({key:X,value:L,alwaysSet:A.alwaysSet})}return r}).then((r)=>{return F.mergeObjectSync(o,r)});else return F.mergeObjectSync(o,h)}get shape(){return this._def.shape()}strict(t){return q.errToObj,new G({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(n,o)=>{let b=this._def.errorMap?.(n,o).message??o.defaultError;if(n.code==="unrecognized_keys")return{message:q.errToObj(t).message??b};return{message:b}}}:{}})}strip(){return new G({...this._def,unknownKeys:"strip"})}passthrough(){return new G({...this._def,unknownKeys:"passthrough"})}extend(t){return new G({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new G({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:H.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new G({...this._def,catchall:t})}pick(t){let n={};for(let o of k.objectKeys(t))if(t[o]&&this.shape[o])n[o]=this.shape[o];return new G({...this._def,shape:()=>n})}omit(t){let n={};for(let o of k.objectKeys(this.shape))if(!t[o])n[o]=this.shape[o];return new G({...this._def,shape:()=>n})}deepPartial(){return lt(this)}partial(t){let n={};for(let o of k.objectKeys(this.shape)){let b=this.shape[o];if(t&&!t[o])n[o]=b;else n[o]=b.optional()}return new G({...this._def,shape:()=>n})}required(t){let n={};for(let o of k.objectKeys(this.shape))if(t&&!t[o])n[o]=this.shape[o];else{let l=this.shape[o];while(l instanceof d)l=l._def.innerType;n[o]=l}return new G({...this._def,shape:()=>n})}keyof(){return w0(k.objectKeys(this.shape))}};G.create=(t,n)=>{return new G({shape:()=>t,unknownKeys:"strip",catchall:N.create(),typeName:H.ZodObject,...Y(n)})};G.strictCreate=(t,n)=>{return new G({shape:()=>t,unknownKeys:"strict",catchall:N.create(),typeName:H.ZodObject,...Y(n)})};G.lazycreate=(t,n)=>{return new G({shape:t,unknownKeys:"strip",catchall:N.create(),typeName:H.ZodObject,...Y(n)})};gt=class gt extends M{_parse(t){let{ctx:n}=this._processInputParams(t),o=this._def.options;function b(l){for(let f of l)if(f.result.status==="valid")return f.result;for(let f of l)if(f.result.status==="dirty")return n.common.issues.push(...f.ctx.common.issues),f.result;let a=l.map((f)=>new m(f.ctx.common.issues));return v(n,{code:g.invalid_union,unionErrors:a}),E}if(n.common.async)return Promise.all(o.map(async(l)=>{let a={...n,common:{...n.common,issues:[]},parent:null};return{result:await l._parseAsync({data:n.data,path:n.path,parent:a}),ctx:a}})).then(b);else{let l=void 0,a=[];for(let h of o){let r={...n,common:{...n.common,issues:[]},parent:null},A=h._parseSync({data:n.data,path:n.path,parent:r});if(A.status==="valid")return A;else if(A.status==="dirty"&&!l)l={result:A,ctx:r};if(r.common.issues.length)a.push(r.common.issues)}if(l)return n.common.issues.push(...l.ctx.common.issues),l.result;let f=a.map((h)=>new m(h));return v(n,{code:g.invalid_union,unionErrors:f}),E}}get options(){return this._def.options}};gt.create=(t,n)=>{return new gt({options:t,typeName:H.ZodUnion,...Y(n)})};Vt=class Vt extends M{_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==$.object)return v(n,{code:g.invalid_type,expected:$.object,received:n.parsedType}),E;let o=this.discriminator,b=n.data[o],l=this.optionsMap.get(b);if(!l)return v(n,{code:g.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[o]}),E;if(n.common.async)return l._parseAsync({data:n.data,path:n.path,parent:n});else return l._parseSync({data:n.data,path:n.path,parent:n})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,o){let b=new Map;for(let l of n){let a=I(l.shape[t]);if(!a.length)throw Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(let f of a){if(b.has(f))throw Error(`Discriminator property ${String(t)} has duplicate value ${String(f)}`);b.set(f,l)}}return new Vt({typeName:H.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:b,...Y(o)})}};$t=class $t extends M{_parse(t){let{status:n,ctx:o}=this._processInputParams(t),b=(l,a)=>{if(Ut(l)||Ut(a))return E;let f=Yn(l.value,a.value);if(!f.valid)return v(o,{code:g.invalid_intersection_types}),E;if(jt(l)||jt(a))n.dirty();return{status:n.value,value:f.data}};if(o.common.async)return Promise.all([this._def.left._parseAsync({data:o.data,path:o.path,parent:o}),this._def.right._parseAsync({data:o.data,path:o.path,parent:o})]).then(([l,a])=>b(l,a));else return b(this._def.left._parseSync({data:o.data,path:o.path,parent:o}),this._def.right._parseSync({data:o.data,path:o.path,parent:o}))}};$t.create=(t,n,o)=>{return new $t({left:t,right:n,typeName:H.ZodIntersection,...Y(o)})};K=class K extends M{_parse(t){let{status:n,ctx:o}=this._processInputParams(t);if(o.parsedType!==$.array)return v(o,{code:g.invalid_type,expected:$.array,received:o.parsedType}),E;if(o.data.length<this._def.items.length)return v(o,{code:g.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),E;if(!this._def.rest&&o.data.length>this._def.items.length)v(o,{code:g.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty();let l=[...o.data].map((a,f)=>{let h=this._def.items[f]||this._def.rest;if(!h)return null;return h._parse(new U(o,a,o.path,f))}).filter((a)=>!!a);if(o.common.async)return Promise.all(l).then((a)=>{return F.mergeArray(n,a)});else return F.mergeArray(n,l)}get items(){return this._def.items}rest(t){return new K({...this._def,rest:t})}};K.create=(t,n)=>{if(!Array.isArray(t))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new K({items:t,typeName:H.ZodTuple,rest:null,...Y(n)})};Xt=class Xt extends M{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:n,ctx:o}=this._processInputParams(t);if(o.parsedType!==$.object)return v(o,{code:g.invalid_type,expected:$.object,received:o.parsedType}),E;let b=[],l=this._def.keyType,a=this._def.valueType;for(let f in o.data)b.push({key:l._parse(new U(o,f,o.path,f)),value:a._parse(new U(o,o.data[f],o.path,f)),alwaysSet:f in o.data});if(o.common.async)return F.mergeObjectAsync(n,b);else return F.mergeObjectSync(n,b)}get element(){return this._def.valueType}static create(t,n,o){if(n instanceof M)return new Xt({keyType:t,valueType:n,typeName:H.ZodRecord,...Y(o)});return new Xt({keyType:O.create(),valueType:t,typeName:H.ZodRecord,...Y(n)})}};St=class St extends M{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:n,ctx:o}=this._processInputParams(t);if(o.parsedType!==$.map)return v(o,{code:g.invalid_type,expected:$.map,received:o.parsedType}),E;let b=this._def.keyType,l=this._def.valueType,a=[...o.data.entries()].map(([f,h],r)=>{return{key:b._parse(new U(o,f,o.path,[r,"key"])),value:l._parse(new U(o,h,o.path,[r,"value"]))}});if(o.common.async){let f=new Map;return Promise.resolve().then(async()=>{for(let h of a){let r=await h.key,A=await h.value;if(r.status==="aborted"||A.status==="aborted")return E;if(r.status==="dirty"||A.status==="dirty")n.dirty();f.set(r.value,A.value)}return{status:n.value,value:f}})}else{let f=new Map;for(let h of a){let{key:r,value:A}=h;if(r.status==="aborted"||A.status==="aborted")return E;if(r.status==="dirty"||A.status==="dirty")n.dirty();f.set(r.value,A.value)}return{status:n.value,value:f}}}};St.create=(t,n,o)=>{return new St({valueType:n,keyType:t,typeName:H.ZodMap,...Y(o)})};tt=class tt extends M{_parse(t){let{status:n,ctx:o}=this._processInputParams(t);if(o.parsedType!==$.set)return v(o,{code:g.invalid_type,expected:$.set,received:o.parsedType}),E;let b=this._def;if(b.minSize!==null){if(o.data.size<b.minSize.value)v(o,{code:g.too_small,minimum:b.minSize.value,type:"set",inclusive:!0,exact:!1,message:b.minSize.message}),n.dirty()}if(b.maxSize!==null){if(o.data.size>b.maxSize.value)v(o,{code:g.too_big,maximum:b.maxSize.value,type:"set",inclusive:!0,exact:!1,message:b.maxSize.message}),n.dirty()}let l=this._def.valueType;function a(h){let r=new Set;for(let A of h){if(A.status==="aborted")return E;if(A.status==="dirty")n.dirty();r.add(A.value)}return{status:n.value,value:r}}let f=[...o.data.values()].map((h,r)=>l._parse(new U(o,h,o.path,r)));if(o.common.async)return Promise.all(f).then((h)=>a(h));else return a(f)}min(t,n){return new tt({...this._def,minSize:{value:t,message:q.toString(n)}})}max(t,n){return new tt({...this._def,maxSize:{value:t,message:q.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}};tt.create=(t,n)=>{return new tt({valueType:t,minSize:null,maxSize:null,typeName:H.ZodSet,...Y(n)})};at=class at extends M{constructor(){super(...arguments);this.validate=this.implement}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==$.function)return v(n,{code:g.invalid_type,expected:$.function,received:n.parsedType}),E;function o(f,h){return Yt({data:f,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,ot(),p].filter((r)=>!!r),issueData:{code:g.invalid_arguments,argumentsError:h}})}function b(f,h){return Yt({data:f,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,ot(),p].filter((r)=>!!r),issueData:{code:g.invalid_return_type,returnTypeError:h}})}let l={errorMap:n.common.contextualErrorMap},a=n.data;if(this._def.returns instanceof nt){let f=this;return B(async function(...h){let r=new m([]),A=await f._def.args.parseAsync(h,l).catch((J)=>{throw r.addIssue(o(h,J)),r}),X=await Reflect.apply(a,this,A);return await f._def.returns._def.type.parseAsync(X,l).catch((J)=>{throw r.addIssue(b(X,J)),r})})}else{let f=this;return B(function(...h){let r=f._def.args.safeParse(h,l);if(!r.success)throw new m([o(h,r.error)]);let A=Reflect.apply(a,this,r.data),X=f._def.returns.safeParse(A,l);if(!X.success)throw new m([b(A,X.error)]);return X.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new at({...this._def,args:K.create(t).rest(T.create())})}returns(t){return new at({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,n,o){return new at({args:t?t:K.create([]).rest(T.create()),returns:n||T.create(),typeName:H.ZodFunction,...Y(o)})}};vt=class vt extends M{get schema(){return this._def.getter()}_parse(t){let{ctx:n}=this._processInputParams(t);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}};vt.create=(t,n)=>{return new vt({getter:t,typeName:H.ZodLazy,...Y(n)})};wt=class wt extends M{_parse(t){if(t.data!==this._def.value){let n=this._getOrReturnCtx(t);return v(n,{received:n.data,code:g.invalid_literal,expected:this._def.value}),E}return{status:"valid",value:t.data}}get value(){return this._def.value}};wt.create=(t,n)=>{return new wt({value:t,typeName:H.ZodLiteral,...Y(n)})};Z=class Z extends M{_parse(t){if(typeof t.data!=="string"){let n=this._getOrReturnCtx(t),o=this._def.values;return v(n,{expected:k.joinValues(o),received:n.parsedType,code:g.invalid_type}),E}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has(t.data)){let n=this._getOrReturnCtx(t),o=this._def.values;return v(n,{received:n.data,code:g.invalid_enum_value,options:o}),E}return B(t.data)}get options(){return this._def.values}get enum(){let t={};for(let n of this._def.values)t[n]=n;return t}get Values(){let t={};for(let n of this._def.values)t[n]=n;return t}get Enum(){let t={};for(let n of this._def.values)t[n]=n;return t}extract(t,n=this._def){return Z.create(t,{...this._def,...n})}exclude(t,n=this._def){return Z.create(this.options.filter((o)=>!t.includes(o)),{...this._def,...n})}};Z.create=w0;ct=class ct extends M{_parse(t){let n=k.getValidEnumValues(this._def.values),o=this._getOrReturnCtx(t);if(o.parsedType!==$.string&&o.parsedType!==$.number){let b=k.objectValues(n);return v(o,{expected:k.joinValues(b),received:o.parsedType,code:g.invalid_type}),E}if(!this._cache)this._cache=new Set(k.getValidEnumValues(this._def.values));if(!this._cache.has(t.data)){let b=k.objectValues(n);return v(o,{received:o.data,code:g.invalid_enum_value,options:b}),E}return B(t.data)}get enum(){return this._def.values}};ct.create=(t,n)=>{return new ct({values:t,typeName:H.ZodNativeEnum,...Y(n)})};nt=class nt extends M{unwrap(){return this._def.type}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==$.promise&&n.common.async===!1)return v(n,{code:g.invalid_type,expected:$.promise,received:n.parsedType}),E;let o=n.parsedType===$.promise?n.data:Promise.resolve(n.data);return B(o.then((b)=>{return this._def.type.parseAsync(b,{path:n.path,errorMap:n.common.contextualErrorMap})}))}};nt.create=(t,n)=>{return new nt({type:t,typeName:H.ZodPromise,...Y(n)})};j=class j extends M{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===H.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){let{status:n,ctx:o}=this._processInputParams(t),b=this._def.effect||null,l={addIssue:(a)=>{if(v(o,a),a.fatal)n.abort();else n.dirty()},get path(){return o.path}};if(l.addIssue=l.addIssue.bind(l),b.type==="preprocess"){let a=b.transform(o.data,l);if(o.common.async)return Promise.resolve(a).then(async(f)=>{if(n.value==="aborted")return E;let h=await this._def.schema._parseAsync({data:f,path:o.path,parent:o});if(h.status==="aborted")return E;if(h.status==="dirty")return e(h.value);if(n.value==="dirty")return e(h.value);return h});else{if(n.value==="aborted")return E;let f=this._def.schema._parseSync({data:a,path:o.path,parent:o});if(f.status==="aborted")return E;if(f.status==="dirty")return e(f.value);if(n.value==="dirty")return e(f.value);return f}}if(b.type==="refinement"){let a=(f)=>{let h=b.refinement(f,l);if(o.common.async)return Promise.resolve(h);if(h instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return f};if(o.common.async===!1){let f=this._def.schema._parseSync({data:o.data,path:o.path,parent:o});if(f.status==="aborted")return E;if(f.status==="dirty")n.dirty();return a(f.value),{status:n.value,value:f.value}}else return this._def.schema._parseAsync({data:o.data,path:o.path,parent:o}).then((f)=>{if(f.status==="aborted")return E;if(f.status==="dirty")n.dirty();return a(f.value).then(()=>{return{status:n.value,value:f.value}})})}if(b.type==="transform")if(o.common.async===!1){let a=this._def.schema._parseSync({data:o.data,path:o.path,parent:o});if(!P(a))return E;let f=b.transform(a.value,l);if(f instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:f}}else return this._def.schema._parseAsync({data:o.data,path:o.path,parent:o}).then((a)=>{if(!P(a))return E;return Promise.resolve(b.transform(a.value,l)).then((f)=>({status:n.value,value:f}))});k.assertNever(b)}};j.create=(t,n,o)=>{return new j({schema:t,typeName:H.ZodEffects,effect:n,...Y(o)})};j.createWithPreprocess=(t,n,o)=>{return new j({schema:n,effect:{type:"preprocess",transform:t},typeName:H.ZodEffects,...Y(o)})};d=class d extends M{_parse(t){if(this._getType(t)===$.undefined)return B(void 0);return this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};d.create=(t,n)=>{return new d({innerType:t,typeName:H.ZodOptional,...Y(n)})};u=class u extends M{_parse(t){if(this._getType(t)===$.null)return B(null);return this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};u.create=(t,n)=>{return new u({innerType:t,typeName:H.ZodNullable,...Y(n)})};_t=class _t extends M{_parse(t){let{ctx:n}=this._processInputParams(t),o=n.data;if(n.parsedType===$.undefined)o=this._def.defaultValue();return this._def.innerType._parse({data:o,path:n.path,parent:n})}removeDefault(){return this._def.innerType}};_t.create=(t,n)=>{return new _t({innerType:t,typeName:H.ZodDefault,defaultValue:typeof n.default==="function"?n.default:()=>n.default,...Y(n)})};At=class At extends M{_parse(t){let{ctx:n}=this._processInputParams(t),o={...n,common:{...n.common,issues:[]}},b=this._def.innerType._parse({data:o.data,path:o.path,parent:{...o}});if(bt(b))return b.then((l)=>{return{status:"valid",value:l.status==="valid"?l.value:this._def.catchValue({get error(){return new m(o.common.issues)},input:o.data})}});else return{status:"valid",value:b.status==="valid"?b.value:this._def.catchValue({get error(){return new m(o.common.issues)},input:o.data})}}removeCatch(){return this._def.innerType}};At.create=(t,n)=>{return new At({innerType:t,typeName:H.ZodCatch,catchValue:typeof n.catch==="function"?n.catch:()=>n.catch,...Y(n)})};Qt=class Qt extends M{_parse(t){if(this._getType(t)!==$.nan){let o=this._getOrReturnCtx(t);return v(o,{code:g.invalid_type,expected:$.nan,received:o.parsedType}),E}return{status:"valid",value:t.data}}};Qt.create=(t)=>{return new Qt({typeName:H.ZodNaN,...Y(t)})};bb=Symbol("zod_brand");Nt=class Nt extends M{_parse(t){let{ctx:n}=this._processInputParams(t),o=n.data;return this._def.type._parse({data:o,path:n.path,parent:n})}unwrap(){return this._def.type}};Gt=class Gt extends M{_parse(t){let{status:n,ctx:o}=this._processInputParams(t);if(o.common.async)return(async()=>{let l=await this._def.in._parseAsync({data:o.data,path:o.path,parent:o});if(l.status==="aborted")return E;if(l.status==="dirty")return n.dirty(),e(l.value);else return this._def.out._parseAsync({data:l.value,path:o.path,parent:o})})();else{let b=this._def.in._parseSync({data:o.data,path:o.path,parent:o});if(b.status==="aborted")return E;if(b.status==="dirty")return n.dirty(),{status:"dirty",value:b.value};else return this._def.out._parseSync({data:b.value,path:o.path,parent:o})}}static create(t,n){return new Gt({in:t,out:n,typeName:H.ZodPipeline})}};qt=class qt extends M{_parse(t){let n=this._def.innerType._parse(t),o=(b)=>{if(P(b))b.value=Object.freeze(b.value);return b};return bt(n)?n.then((b)=>o(b)):o(n)}unwrap(){return this._def.innerType}};qt.create=(t,n)=>{return new qt({innerType:t,typeName:H.ZodReadonly,...Y(n)})};lb={object:G.lazycreate};(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(H||(H={}));_0=O.create,A0=C.create,fb=Qt.create,hb=y.create,q0=ft.create,rb=s.create,gb=Mt.create,$b=ht.create,vb=rt.create,wb=z.create,cb=T.create,_b=N.create,Ab=kt.create,qb=W.create,Eb=G.create,Hb=G.strictCreate,xb=gt.create,Yb=Vt.create,Mb=$t.create,kb=K.create,Xb=Xt.create,Sb=St.create,Qb=tt.create,Gb=at.create,Jb=vt.create,Lb=wt.create,Fb=Z.create,Bb=ct.create,mb=nt.create,Rb=j.create,Db=d.create,Ob=u.create,Wb=j.createWithPreprocess,db=Gt.create,Nb={string:(t)=>O.create({...t,coerce:!0}),number:(t)=>C.create({...t,coerce:!0}),boolean:(t)=>ft.create({...t,coerce:!0}),bigint:(t)=>y.create({...t,coerce:!0}),date:(t)=>s.create({...t,coerce:!0})},Kb=E});var w={};Q(w,{void:()=>Ab,util:()=>k,unknown:()=>cb,union:()=>xb,undefined:()=>$b,tuple:()=>kb,transformer:()=>Rb,symbol:()=>gb,string:()=>_0,strictObject:()=>Hb,setErrorMap:()=>Do,set:()=>Qb,record:()=>Xb,quotelessJson:()=>mo,promise:()=>mb,preprocess:()=>Wb,pipeline:()=>db,ostring:()=>Ub,optional:()=>Db,onumber:()=>jb,oboolean:()=>Vb,objectUtil:()=>qn,object:()=>Eb,number:()=>A0,nullable:()=>Ob,null:()=>vb,never:()=>_b,nativeEnum:()=>Bb,nan:()=>fb,map:()=>Sb,makeIssue:()=>Yt,literal:()=>Lb,lazy:()=>Jb,late:()=>lb,isValid:()=>P,isDirty:()=>jt,isAsync:()=>bt,isAborted:()=>Ut,intersection:()=>Mb,instanceof:()=>ab,getParsedType:()=>V,getErrorMap:()=>ot,function:()=>Gb,enum:()=>Fb,effect:()=>Rb,discriminatedUnion:()=>Yb,defaultErrorMap:()=>p,datetimeRegex:()=>v0,date:()=>rb,custom:()=>c0,coerce:()=>Nb,boolean:()=>q0,bigint:()=>hb,array:()=>qb,any:()=>wb,addIssueToContext:()=>v,ZodVoid:()=>kt,ZodUnknown:()=>T,ZodUnion:()=>gt,ZodUndefined:()=>ht,ZodType:()=>M,ZodTuple:()=>K,ZodTransformer:()=>j,ZodSymbol:()=>Mt,ZodString:()=>O,ZodSet:()=>tt,ZodSchema:()=>M,ZodRecord:()=>Xt,ZodReadonly:()=>qt,ZodPromise:()=>nt,ZodPipeline:()=>Gt,ZodParsedType:()=>$,ZodOptional:()=>d,ZodObject:()=>G,ZodNumber:()=>C,ZodNullable:()=>u,ZodNull:()=>rt,ZodNever:()=>N,ZodNativeEnum:()=>ct,ZodNaN:()=>Qt,ZodMap:()=>St,ZodLiteral:()=>wt,ZodLazy:()=>vt,ZodIssueCode:()=>g,ZodIntersection:()=>$t,ZodFunction:()=>at,ZodFirstPartyTypeKind:()=>H,ZodError:()=>m,ZodEnum:()=>Z,ZodEffects:()=>j,ZodDiscriminatedUnion:()=>Vt,ZodDefault:()=>_t,ZodDate:()=>s,ZodCatch:()=>At,ZodBranded:()=>Nt,ZodBoolean:()=>ft,ZodBigInt:()=>y,ZodArray:()=>W,ZodAny:()=>z,Schema:()=>M,ParseStatus:()=>F,OK:()=>B,NEVER:()=>Kb,INVALID:()=>E,EMPTY_PATH:()=>Oo,DIRTY:()=>e,BRAND:()=>bb});var Mn=x(()=>{dt();Hn();a0();xt();E0();Wt()});var H0=x(()=>{Mn();Mn()});function kn(t){if(t===null||typeof t!=="object")return t;if(Array.isArray(t))return t.map(kn);let n={};for(let o of Object.keys(t))n[o]=kn(t[o]);return n}var pb,wa;var x0=x(()=>{pb={validation:{trimStrings:!1,emptyAsNullDefault:!1},security:{csrf:{enabled:!0,excludePaths:[],sameSite:"Strict",secure:!1},rateLimit:{enabled:!0,windowMs:60000,maxRequests:60,excludePaths:[]}},hooks:{onValidationError:null,onSecurityViolation:null,onRateLimit:null,onDatabaseError:null,onRequest:null}},wa=kn(pb)});class Jt{static validate(t,n){try{return{success:!0,data:t.parse(n)}}catch(o){if(o instanceof w.ZodError){let b={};return o.errors.forEach((l)=>{let a=l.path.join(".");b[a]=l.message}),{success:!1,errors:b}}return{success:!1,errors:{general:"Validation failed"}}}}static validateField(t,n){try{return t.parse(n),{success:!0}}catch(o){if(o instanceof w.ZodError)return{success:!1,error:o.errors[0]?.message||"Invalid value"};return{success:!1,error:"Validation failed"}}}static getFieldError(t,n){if(t.success)return null;return t.errors?.[n]||null}static hasFieldError(t,n){return!!this.getFieldError(t,n)}}var Y0,i;var Xn=x(()=>{H0();x0();Y0={login:w.object({email:w.string().min(1,"Email is required").email("Please enter a valid email address"),password:w.string().min(8,"Password must be at least 8 characters").regex(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)/,"Password must contain at least one uppercase letter, one lowercase letter, and one number")}),register:w.object({name:w.string().min(2,"Name must be at least 2 characters").max(50,"Name must be less than 50 characters").regex(/^[a-zA-Z\s'-]+$/,"Name can only contain letters, spaces, hyphens, and apostrophes"),email:w.string().min(1,"Email is required").email("Please enter a valid email address"),password:w.string().min(8,"Password must be at least 8 characters").regex(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])/,"Password must contain uppercase, lowercase, number, and special character"),confirmPassword:w.string()}).refine((t)=>t.password===t.confirmPassword,{message:"Passwords don't match",path:["confirmPassword"]}),auth:{register:w.object({action:w.literal("register"),email:w.string().min(1,"Email is required").email("Please enter a valid email address"),username:w.string().min(3,"Username must be at least 3 characters").max(30,"Username must be less than 30 characters"),password:w.string().min(8,"Password must be at least 8 characters"),full_name:w.string().min(2,"Full name is required").max(100,"Full name is too long")}),login:w.object({action:w.literal("login"),email:w.string().min(1,"Email is required").email("Please enter a valid email address"),password:w.string().min(8,"Password must be at least 8 characters")}),logout:w.object({action:w.literal("logout")}),action:w.discriminatedUnion("action",[w.object({action:w.literal("register")}).merge(w.object({email:w.string().min(1,"Email is required").email("Please enter a valid email address"),username:w.string().min(3,"Username must be at least 3 characters").max(30,"Username must be less than 30 characters"),password:w.string().min(8,"Password must be at least 8 characters"),full_name:w.string().min(2,"Full name is required").max(100,"Full name is too long")})),w.object({action:w.literal("login")}).merge(w.object({email:w.string().min(1,"Email is required").email("Please enter a valid email address"),password:w.string().min(8,"Password must be at least 8 characters")})),w.object({action:w.literal("logout")})])},contact:w.object({name:w.string().min(2,"Name must be at least 2 characters").max(100,"Name is too long"),email:w.string().email("Please enter a valid email address"),message:w.string().min(10,"Message must be at least 10 characters").max(1000,"Message is too long")}),email:w.string().min(1,"Email is required").email("Please enter a valid email address"),password:w.string().min(8,"Password must be at least 8 characters").regex(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)/,"Password must contain uppercase, lowercase, and number"),phone:w.string().regex(/^[\+]?[1-9][\d]{0,15}$/,"Please enter a valid phone number"),url:w.string().min(1,"URL is required").url("Please enter a valid URL"),required:w.string().min(1,"This field is required"),positiveNumber:w.number().positive("Must be a positive number"),integer:w.number().int("Must be a whole number"),futureDate:w.date().min(new Date,"Date must be in the future"),imageFile:w.instanceof(File).refine((t)=>t.size<=5242880,"File size must be less than 5MB").refine((t)=>["image/jpeg","image/png","image/gif","image/webp"].includes(t.type),"File must be a JPEG, PNG, GIF, or WebP image"),userProfile:w.object({full_name:w.string().min(2,"Full name must be at least 2 characters").max(100,"Full name is too long").optional(),bio:w.string().max(500,"Bio must be less than 500 characters").nullable().optional(),avatar_url:w.string().url("Please enter a valid URL").nullable().optional(),theme:w.enum(["africanity","dark","light","system"]).optional(),language:w.string().min(2).max(10).optional()}),project:w.object({name:w.string().min(1,"Project name is required").max(100,"Project name is too long"),description:w.string().max(1000,"Description is too long").nullable().optional(),repository_url:w.string().url("Please enter a valid repository URL").nullable().optional(),demo_url:w.string().url("Please enter a valid demo URL").nullable().optional(),tags:w.array(w.string()).optional(),is_public:w.boolean().optional()})};i={required:(t="This field is required")=>w.string().min(1,t),email:(t="Please enter a valid email address")=>w.string().email(t),minLength:(t,n)=>w.string().min(t,n||`Must be at least ${t} characters`),maxLength:(t,n)=>w.string().max(t,n||`Must be less than ${t} characters`),pattern:(t,n)=>w.string().regex(t,n),numeric:(t="Must be a number")=>w.string().regex(/^\d+$/,t),phone:(t="Please enter a valid phone number")=>w.string().regex(/^[\+]?[1-9][\d]{0,15}$/,t),url:(t="Please enter a valid URL")=>w.string().min(1,"URL is required").url(t)}});var M0={};Q(M0,{default:()=>Ib,AfriInput:()=>Kt});var Kt,Ib;var k0=x(()=>{S();Xn();Kt=class Kt extends c{static get observedAttributes(){return["type","name","label","placeholder","error","helper","theme","icon","required","aria-label","aria-describedby","validation"]}constructor(){super();this._uniqueId=Math.random().toString(36).substr(2,9),this.render()}get value(){return this.shadowRoot.querySelector("input")?.value||""}set value(t){let n=this.shadowRoot.querySelector("input");if(n)n.value=t}connectedCallback(){this._attachInputListeners(),this.loadStyles()}attributeChangedCallback(){this.render(),this._attachInputListeners()}_attachInputListeners(){let t=this.shadowRoot.querySelector("input");if(!t)return;t.addEventListener("input",(n)=>{if(this.emit("af-input",{value:n.target.value}),this.hasAttribute("error"))this.removeAttribute("error")}),t.addEventListener("blur",()=>{this.emit("af-blur",{value:this.value}),this._validateInput()})}_setupValidation(){if(!this.getAttribute("validation"))return;let n=this.shadowRoot.querySelector("input");if(!n)return;n.addEventListener("input",()=>{if(this.hasAttribute("error"))this.removeAttribute("error")})}_validateInput(){let t=this.shadowRoot.querySelector("input");if(!t)return;let n=this.getAttribute("validation"),o=t.value;if(this.hasAttribute("required")&&!o.trim()){this.setAttribute("error","This field is required");return}if(n&&o.trim()){let l=this._getValidationSchema(n);if(l){let a=Jt.validateField(l,o);if(!a.success)this.setAttribute("error",a.error);else this.removeAttribute("error")}}}_getValidationSchema(t){let n={email:i.email(),password:i.password(),phone:i.phone(),url:i.url(),required:i.required()};if(t.includes(":")){let[o,b]=t.split(":"),l=parseInt(b);switch(o){case"minLength":return i.minLength(l);case"maxLength":return i.maxLength(l);case"pattern":return i.pattern(new RegExp(b),"Invalid format")}}return n[t]||null}attributeChangedCallback(){this.render()}render(){let t=this.getAttribute("type")||"text",n=this.getAttribute("name")||"",o=this.getAttribute("label")||"",b=this.getAttribute("placeholder")||"",l=this.getAttribute("error")||"",a=this.getAttribute("helper")||"",f=this.getAttribute("theme")||"tanzania",h=this.getAttribute("icon")||"",r=this.hasAttribute("required"),A=this.getAttribute("aria-label"),X=this.getAttribute("aria-describedby"),L={tanzania:{focus:"#1EB53A",error:"#DC3545"},maasai:{focus:"#FF0000",error:"#8B0000"},ndebele:{focus:"#4169E1",error:"#DC143C"}},J=L[f]||L.tanzania,D=[];if(l)D.push(`error-${this._uniqueId}`);else if(a)D.push(`helper-${this._uniqueId}`);if(X)D.push(...X.split(" "));let vn=D.length>0?`aria-describedby="${D.join(" ")}"`:"";this.shadowRoot.innerHTML=`
378
+ `}};_("af-navbar",Dt);D0=Dt});var X,qn,$,V=(t)=>{switch(typeof t){case"undefined":return $.undefined;case"string":return $.string;case"number":return Number.isNaN(t)?$.nan:$.number;case"boolean":return $.boolean;case"function":return $.function;case"bigint":return $.bigint;case"symbol":return $.symbol;case"object":if(Array.isArray(t))return $.array;if(t===null)return $.null;if(t.then&&typeof t.then==="function"&&t.catch&&typeof t.catch==="function")return $.promise;if(typeof Map<"u"&&t instanceof Map)return $.map;if(typeof Set<"u"&&t instanceof Set)return $.set;if(typeof Date<"u"&&t instanceof Date)return $.date;return $.object;default:return $.unknown}};var xt=x(()=>{(function(t){t.assertEqual=(l)=>{};function n(l){}t.assertIs=n;function b(l){throw Error()}t.assertNever=b,t.arrayToEnum=(l)=>{let a={};for(let f of l)a[f]=f;return a},t.getValidEnumValues=(l)=>{let a=t.objectKeys(l).filter((r)=>typeof l[l[r]]!=="number"),f={};for(let r of a)f[r]=l[r];return t.objectValues(f)},t.objectValues=(l)=>{return t.objectKeys(l).map(function(a){return l[a]})},t.objectKeys=typeof Object.keys==="function"?(l)=>Object.keys(l):(l)=>{let a=[];for(let f in l)if(Object.prototype.hasOwnProperty.call(l,f))a.push(f);return a},t.find=(l,a)=>{for(let f of l)if(a(f))return f;return},t.isInteger=typeof Number.isInteger==="function"?(l)=>Number.isInteger(l):(l)=>typeof l==="number"&&Number.isFinite(l)&&Math.floor(l)===l;function o(l,a=" | "){return l.map((f)=>typeof f==="string"?`'${f}'`:f).join(a)}t.joinValues=o,t.jsonStringifyReplacer=(l,a)=>{if(typeof a==="bigint")return a.toString();return a}})(X||(X={}));(function(t){t.mergeShapes=(n,b)=>{return{...n,...b}}})(qn||(qn={}));$=X.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"])});var g,W0=(t)=>{return JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:")},R;var Wt=x(()=>{xt();g=X.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);R=class R extends Error{get errors(){return this.issues}constructor(t){super();this.issues=[],this.addIssue=(b)=>{this.issues=[...this.issues,b]},this.addIssues=(b=[])=>{this.issues=[...this.issues,...b]};let n=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,n);else this.__proto__=n;this.name="ZodError",this.issues=t}format(t){let n=t||function(l){return l.message},b={_errors:[]},o=(l)=>{for(let a of l.issues)if(a.code==="invalid_union")a.unionErrors.map(o);else if(a.code==="invalid_return_type")o(a.returnTypeError);else if(a.code==="invalid_arguments")o(a.argumentsError);else if(a.path.length===0)b._errors.push(n(a));else{let f=b,r=0;while(r<a.path.length){let h=a.path[r];if(r!==a.path.length-1)f[h]=f[h]||{_errors:[]};else f[h]=f[h]||{_errors:[]},f[h]._errors.push(n(a));f=f[h],r++}}};return o(this),b}static assert(t){if(!(t instanceof R))throw Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,X.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=(n)=>n.message){let n={},b=[];for(let o of this.issues)if(o.path.length>0){let l=o.path[0];n[l]=n[l]||[],n[l].push(t(o))}else b.push(t(o));return{formErrors:b,fieldErrors:n}}get formErrors(){return this.flatten()}};R.create=(t)=>{return new R(t)}});var d0=(t,n)=>{let b;switch(t.code){case g.invalid_type:if(t.received===$.undefined)b="Required";else b=`Expected ${t.expected}, received ${t.received}`;break;case g.invalid_literal:b=`Invalid literal value, expected ${JSON.stringify(t.expected,X.jsonStringifyReplacer)}`;break;case g.unrecognized_keys:b=`Unrecognized key(s) in object: ${X.joinValues(t.keys,", ")}`;break;case g.invalid_union:b="Invalid input";break;case g.invalid_union_discriminator:b=`Invalid discriminator value. Expected ${X.joinValues(t.options)}`;break;case g.invalid_enum_value:b=`Invalid enum value. Expected ${X.joinValues(t.options)}, received '${t.received}'`;break;case g.invalid_arguments:b="Invalid function arguments";break;case g.invalid_return_type:b="Invalid function return type";break;case g.invalid_date:b="Invalid date";break;case g.invalid_string:if(typeof t.validation==="object")if("includes"in t.validation){if(b=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position==="number")b=`${b} at one or more positions greater than or equal to ${t.validation.position}`}else if("startsWith"in t.validation)b=`Invalid input: must start with "${t.validation.startsWith}"`;else if("endsWith"in t.validation)b=`Invalid input: must end with "${t.validation.endsWith}"`;else X.assertNever(t.validation);else if(t.validation!=="regex")b=`Invalid ${t.validation}`;else b="Invalid";break;case g.too_small:if(t.type==="array")b=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`;else if(t.type==="string")b=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`;else if(t.type==="number")b=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`;else if(t.type==="bigint")b=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`;else if(t.type==="date")b=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`;else b="Invalid input";break;case g.too_big:if(t.type==="array")b=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`;else if(t.type==="string")b=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`;else if(t.type==="number")b=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`;else if(t.type==="bigint")b=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`;else if(t.type==="date")b=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`;else b="Invalid input";break;case g.custom:b="Invalid input";break;case g.invalid_intersection_types:b="Intersection results could not be merged";break;case g.not_multiple_of:b=`Number must be a multiple of ${t.multipleOf}`;break;case g.not_finite:b="Number must be finite";break;default:b=n.defaultError,X.assertNever(t)}return{message:b}},K;var Hn=x(()=>{Wt();xt();K=d0});function U0(t){ao=t}function ot(){return ao}var ao;var dt=x(()=>{Hn();ao=K});function v(t,n){let b=ot(),o=Yt({issueData:n,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,b,b===K?void 0:K].filter((l)=>!!l)});t.common.issues.push(o)}class L{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray(t,n){let b=[];for(let o of n){if(o.status==="aborted")return H;if(o.status==="dirty")t.dirty();b.push(o.value)}return{status:t.value,value:b}}static async mergeObjectAsync(t,n){let b=[];for(let o of n){let l=await o.key,a=await o.value;b.push({key:l,value:a})}return L.mergeObjectSync(t,b)}static mergeObjectSync(t,n){let b={};for(let o of n){let{key:l,value:a}=o;if(l.status==="aborted")return H;if(a.status==="aborted")return H;if(l.status==="dirty")t.dirty();if(a.status==="dirty")t.dirty();if(l.value!=="__proto__"&&(typeof a.value<"u"||o.alwaysSet))b[l.value]=a.value}return{status:t.value,value:b}}}var Yt=(t)=>{let{data:n,path:b,errorMaps:o,issueData:l}=t,a=[...b,...l.path||[]],f={...l,path:a};if(l.message!==void 0)return{...l,path:a,message:l.message};let r="",h=o.filter((A)=>!!A).slice().reverse();for(let A of h)r=A(f,{data:n,defaultError:r}).message;return{...l,path:a,message:r}},j0,H,Z=(t)=>({status:"dirty",value:t}),F=(t)=>({status:"valid",value:t}),Ut=(t)=>t.status==="aborted",jt=(t)=>t.status==="dirty",P=(t)=>t.status==="valid",bt=(t)=>typeof Promise<"u"&&t instanceof Promise;var En=x(()=>{dt();Hn();j0=[];H=Object.freeze({status:"aborted"})});var fo=()=>{};var q;var ro=x(()=>{(function(t){t.errToObj=(n)=>typeof n==="string"?{message:n}:n||{},t.toString=(n)=>typeof n==="string"?n:n?.message})(q||(q={}))});class U{constructor(t,n,b,o){this._cachedPath=[],this.parent=t,this.data=n,this._path=b,this._key=o}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}function Y(t){if(!t)return{};let{errorMap:n,invalid_type_error:b,required_error:o,description:l}=t;if(n&&(b||o))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(n)return{errorMap:n,description:l};return{errorMap:(f,r)=>{let{message:h}=t;if(f.code==="invalid_enum_value")return{message:h??r.defaultError};if(typeof r.data>"u")return{message:h??o??r.defaultError};if(f.code!=="invalid_type")return{message:r.defaultError};return{message:h??b??r.defaultError}},description:l}}class M{get description(){return this._def.description}_getType(t){return V(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:V(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new L,ctx:{common:t.parent.common,data:t.data,parsedType:V(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){let n=this._parse(t);if(bt(n))throw Error("Synchronous parse encountered promise.");return n}_parseAsync(t){let n=this._parse(t);return Promise.resolve(n)}parse(t,n){let b=this.safeParse(t,n);if(b.success)return b.data;throw b.error}safeParse(t,n){let b={common:{issues:[],async:n?.async??!1,contextualErrorMap:n?.errorMap},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:V(t)},o=this._parseSync({data:t,path:b.path,parent:b});return ho(b,o)}"~validate"(t){let n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:V(t)};if(!this["~standard"].async)try{let b=this._parseSync({data:t,path:[],parent:n});return P(b)?{value:b.value}:{issues:n.common.issues}}catch(b){if(b?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;n.common={issues:[],async:!0}}return this._parseAsync({data:t,path:[],parent:n}).then((b)=>P(b)?{value:b.value}:{issues:n.common.issues})}async parseAsync(t,n){let b=await this.safeParseAsync(t,n);if(b.success)return b.data;throw b.error}async safeParseAsync(t,n){let b={common:{issues:[],contextualErrorMap:n?.errorMap,async:!0},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:V(t)},o=this._parse({data:t,path:b.path,parent:b}),l=await(bt(o)?o:Promise.resolve(o));return ho(b,l)}refine(t,n){let b=(o)=>{if(typeof n==="string"||typeof n>"u")return{message:n};else if(typeof n==="function")return n(o);else return n};return this._refinement((o,l)=>{let a=t(o),f=()=>l.addIssue({code:g.custom,...b(o)});if(typeof Promise<"u"&&a instanceof Promise)return a.then((r)=>{if(!r)return f(),!1;else return!0});if(!a)return f(),!1;else return!0})}refinement(t,n){return this._refinement((b,o)=>{if(!t(b))return o.addIssue(typeof n==="function"?n(b,o):n),!1;else return!0})}_refinement(t){return new j({schema:this,typeName:E.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:(n)=>this["~validate"](n)}}optional(){return d.create(this,this._def)}nullable(){return i.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return W.create(this)}promise(){return nt.create(this,this._def)}or(t){return gt.create([this,t],this._def)}and(t){return $t.create(this,t,this._def)}transform(t){return new j({...Y(this._def),schema:this,typeName:E.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let n=typeof t==="function"?t:()=>t;return new _t({...Y(this._def),innerType:this,defaultValue:n,typeName:E.ZodDefault})}brand(){return new pt({typeName:E.ZodBranded,type:this,...Y(this._def)})}catch(t){let n=typeof t==="function"?t:()=>t;return new At({...Y(this._def),innerType:this,catchValue:n,typeName:E.ZodCatch})}describe(t){return new this.constructor({...this._def,description:t})}pipe(t){return Qt.create(this,t)}readonly(){return qt.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}function vo(t){let n="[0-5]\\d";if(t.precision)n=`${n}\\.\\d{${t.precision}}`;else if(t.precision==null)n=`${n}(\\.\\d+)?`;let b=t.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${n})${b}`}function nb(t){return new RegExp(`^${vo(t)}$`)}function wo(t){let n=`${$o}T${vo(t)}`,b=[];if(b.push(t.local?"Z?":"Z"),t.offset)b.push("([+-]\\d{2}:?\\d{2})");return n=`${n}(${b.join("|")})`,new RegExp(`^${n}$`)}function ob(t,n){if((n==="v4"||!n)&&C0.test(t))return!0;if((n==="v6"||!n)&&e0.test(t))return!0;return!1}function bb(t,n){if(!i0.test(t))return!1;try{let[b]=t.split(".");if(!b)return!1;let o=b.replace(/-/g,"+").replace(/_/g,"/").padEnd(b.length+(4-b.length%4)%4,"="),l=JSON.parse(atob(o));if(typeof l!=="object"||l===null)return!1;if("typ"in l&&l?.typ!=="JWT")return!1;if(!l.alg)return!1;if(n&&l.alg!==n)return!1;return!0}catch{return!1}}function lb(t,n){if((n==="v4"||!n)&&y0.test(t))return!0;if((n==="v6"||!n)&&Z0.test(t))return!0;return!1}function ab(t,n){let b=(t.toString().split(".")[1]||"").length,o=(n.toString().split(".")[1]||"").length,l=b>o?b:o,a=Number.parseInt(t.toFixed(l).replace(".","")),f=Number.parseInt(n.toFixed(l).replace(".",""));return a%f/10**l}function lt(t){if(t instanceof Q){let n={};for(let b in t.shape){let o=t.shape[b];n[b]=d.create(lt(o))}return new Q({...t._def,shape:()=>n})}else if(t instanceof W)return new W({...t._def,type:lt(t.element)});else if(t instanceof d)return d.create(lt(t.unwrap()));else if(t instanceof i)return i.create(lt(t.unwrap()));else if(t instanceof N)return N.create(t.items.map((n)=>lt(n)));else return t}function Yn(t,n){let b=V(t),o=V(n);if(t===n)return{valid:!0,data:t};else if(b===$.object&&o===$.object){let l=X.objectKeys(n),a=X.objectKeys(t).filter((r)=>l.indexOf(r)!==-1),f={...t,...n};for(let r of a){let h=Yn(t[r],n[r]);if(!h.valid)return{valid:!1};f[r]=h.data}return{valid:!0,data:f}}else if(b===$.array&&o===$.array){if(t.length!==n.length)return{valid:!1};let l=[];for(let a=0;a<t.length;a++){let f=t[a],r=n[a],h=Yn(f,r);if(!h.valid)return{valid:!1};l.push(h.data)}return{valid:!0,data:l}}else if(b===$.date&&o===$.date&&+t===+n)return{valid:!0,data:t};else return{valid:!1}}function co(t,n){return new e({values:t,typeName:E.ZodEnum,...Y(n)})}function go(t,n){let b=typeof t==="function"?t(n):typeof t==="string"?{message:t}:t;return typeof b==="string"?{message:b}:b}function _o(t,n={},b){if(t)return z.create().superRefine((o,l)=>{let a=t(o);if(a instanceof Promise)return a.then((f)=>{if(!f){let r=go(n,o),h=r.fatal??b??!0;l.addIssue({code:"custom",...r,fatal:h})}});if(!a){let f=go(n,o),r=f.fatal??b??!0;l.addIssue({code:"custom",...f,fatal:r})}return});return z.create()}var ho=(t,n)=>{if(P(n))return{success:!0,data:n.value};else{if(!t.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let b=new R(t.common.issues);return this._error=b,this._error}}}},V0,p0,N0,K0,u0,i0,I0,P0,T0="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",xn,C0,y0,e0,Z0,s0,z0,$o="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",tb,D,C,y,ft,s,Mt,rt,ht,z,T,p,Xt,W,Q,gt,u=(t)=>{if(t instanceof vt)return u(t.schema);else if(t instanceof j)return u(t.innerType());else if(t instanceof wt)return[t.value];else if(t instanceof e)return t.options;else if(t instanceof ct)return X.objectValues(t.enum);else if(t instanceof _t)return u(t._def.innerType);else if(t instanceof rt)return[void 0];else if(t instanceof ht)return[null];else if(t instanceof d)return[void 0,...u(t.unwrap())];else if(t instanceof i)return[null,...u(t.unwrap())];else if(t instanceof pt)return u(t.unwrap());else if(t instanceof qt)return u(t.unwrap());else if(t instanceof At)return u(t._def.innerType);else return[]},Vt,$t,N,St,mt,tt,at,vt,wt,e,ct,nt,j,d,i,_t,At,kt,fb,pt,Qt,qt,rb,E,hb=(t,n={message:`Input not instance of ${t.name}`})=>_o((b)=>b instanceof t,n),Ao,qo,gb,$b,Ho,vb,wb,cb,_b,Ab,qb,Hb,Eb,xb,Yb,Mb,Xb,Sb,mb,kb,Qb,Jb,Gb,Lb,Fb,Rb,Bb,Ob,Db,Wb,db,Ub,jb,Vb,pb=()=>Ao().optional(),Nb=()=>qo().optional(),Kb=()=>Ho().optional(),ub,ib;var Eo=x(()=>{Wt();dt();ro();En();xt();V0=/^c[^\s-]{8,}$/i,p0=/^[0-9a-z]+$/,N0=/^[0-9A-HJKMNP-TV-Z]{26}$/i,K0=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,u0=/^[a-z0-9_-]{21}$/i,i0=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,I0=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,P0=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,C0=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,y0=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,e0=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,Z0=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,s0=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,z0=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,tb=new RegExp(`^${$o}$`);D=class D extends M{_parse(t){if(this._def.coerce)t.data=String(t.data);if(this._getType(t)!==$.string){let l=this._getOrReturnCtx(t);return v(l,{code:g.invalid_type,expected:$.string,received:l.parsedType}),H}let b=new L,o=void 0;for(let l of this._def.checks)if(l.kind==="min"){if(t.data.length<l.value)o=this._getOrReturnCtx(t,o),v(o,{code:g.too_small,minimum:l.value,type:"string",inclusive:!0,exact:!1,message:l.message}),b.dirty()}else if(l.kind==="max"){if(t.data.length>l.value)o=this._getOrReturnCtx(t,o),v(o,{code:g.too_big,maximum:l.value,type:"string",inclusive:!0,exact:!1,message:l.message}),b.dirty()}else if(l.kind==="length"){let a=t.data.length>l.value,f=t.data.length<l.value;if(a||f){if(o=this._getOrReturnCtx(t,o),a)v(o,{code:g.too_big,maximum:l.value,type:"string",inclusive:!0,exact:!0,message:l.message});else if(f)v(o,{code:g.too_small,minimum:l.value,type:"string",inclusive:!0,exact:!0,message:l.message});b.dirty()}}else if(l.kind==="email"){if(!P0.test(t.data))o=this._getOrReturnCtx(t,o),v(o,{validation:"email",code:g.invalid_string,message:l.message}),b.dirty()}else if(l.kind==="emoji"){if(!xn)xn=new RegExp(T0,"u");if(!xn.test(t.data))o=this._getOrReturnCtx(t,o),v(o,{validation:"emoji",code:g.invalid_string,message:l.message}),b.dirty()}else if(l.kind==="uuid"){if(!K0.test(t.data))o=this._getOrReturnCtx(t,o),v(o,{validation:"uuid",code:g.invalid_string,message:l.message}),b.dirty()}else if(l.kind==="nanoid"){if(!u0.test(t.data))o=this._getOrReturnCtx(t,o),v(o,{validation:"nanoid",code:g.invalid_string,message:l.message}),b.dirty()}else if(l.kind==="cuid"){if(!V0.test(t.data))o=this._getOrReturnCtx(t,o),v(o,{validation:"cuid",code:g.invalid_string,message:l.message}),b.dirty()}else if(l.kind==="cuid2"){if(!p0.test(t.data))o=this._getOrReturnCtx(t,o),v(o,{validation:"cuid2",code:g.invalid_string,message:l.message}),b.dirty()}else if(l.kind==="ulid"){if(!N0.test(t.data))o=this._getOrReturnCtx(t,o),v(o,{validation:"ulid",code:g.invalid_string,message:l.message}),b.dirty()}else if(l.kind==="url")try{new URL(t.data)}catch{o=this._getOrReturnCtx(t,o),v(o,{validation:"url",code:g.invalid_string,message:l.message}),b.dirty()}else if(l.kind==="regex"){if(l.regex.lastIndex=0,!l.regex.test(t.data))o=this._getOrReturnCtx(t,o),v(o,{validation:"regex",code:g.invalid_string,message:l.message}),b.dirty()}else if(l.kind==="trim")t.data=t.data.trim();else if(l.kind==="includes"){if(!t.data.includes(l.value,l.position))o=this._getOrReturnCtx(t,o),v(o,{code:g.invalid_string,validation:{includes:l.value,position:l.position},message:l.message}),b.dirty()}else if(l.kind==="toLowerCase")t.data=t.data.toLowerCase();else if(l.kind==="toUpperCase")t.data=t.data.toUpperCase();else if(l.kind==="startsWith"){if(!t.data.startsWith(l.value))o=this._getOrReturnCtx(t,o),v(o,{code:g.invalid_string,validation:{startsWith:l.value},message:l.message}),b.dirty()}else if(l.kind==="endsWith"){if(!t.data.endsWith(l.value))o=this._getOrReturnCtx(t,o),v(o,{code:g.invalid_string,validation:{endsWith:l.value},message:l.message}),b.dirty()}else if(l.kind==="datetime"){if(!wo(l).test(t.data))o=this._getOrReturnCtx(t,o),v(o,{code:g.invalid_string,validation:"datetime",message:l.message}),b.dirty()}else if(l.kind==="date"){if(!tb.test(t.data))o=this._getOrReturnCtx(t,o),v(o,{code:g.invalid_string,validation:"date",message:l.message}),b.dirty()}else if(l.kind==="time"){if(!nb(l).test(t.data))o=this._getOrReturnCtx(t,o),v(o,{code:g.invalid_string,validation:"time",message:l.message}),b.dirty()}else if(l.kind==="duration"){if(!I0.test(t.data))o=this._getOrReturnCtx(t,o),v(o,{validation:"duration",code:g.invalid_string,message:l.message}),b.dirty()}else if(l.kind==="ip"){if(!ob(t.data,l.version))o=this._getOrReturnCtx(t,o),v(o,{validation:"ip",code:g.invalid_string,message:l.message}),b.dirty()}else if(l.kind==="jwt"){if(!bb(t.data,l.alg))o=this._getOrReturnCtx(t,o),v(o,{validation:"jwt",code:g.invalid_string,message:l.message}),b.dirty()}else if(l.kind==="cidr"){if(!lb(t.data,l.version))o=this._getOrReturnCtx(t,o),v(o,{validation:"cidr",code:g.invalid_string,message:l.message}),b.dirty()}else if(l.kind==="base64"){if(!s0.test(t.data))o=this._getOrReturnCtx(t,o),v(o,{validation:"base64",code:g.invalid_string,message:l.message}),b.dirty()}else if(l.kind==="base64url"){if(!z0.test(t.data))o=this._getOrReturnCtx(t,o),v(o,{validation:"base64url",code:g.invalid_string,message:l.message}),b.dirty()}else X.assertNever(l);return{status:b.value,value:t.data}}_regex(t,n,b){return this.refinement((o)=>t.test(o),{validation:n,code:g.invalid_string,...q.errToObj(b)})}_addCheck(t){return new D({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...q.errToObj(t)})}url(t){return this._addCheck({kind:"url",...q.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...q.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...q.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...q.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...q.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...q.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...q.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...q.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...q.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...q.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...q.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...q.errToObj(t)})}datetime(t){if(typeof t==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t});return this._addCheck({kind:"datetime",precision:typeof t?.precision>"u"?null:t?.precision,offset:t?.offset??!1,local:t?.local??!1,...q.errToObj(t?.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){if(typeof t==="string")return this._addCheck({kind:"time",precision:null,message:t});return this._addCheck({kind:"time",precision:typeof t?.precision>"u"?null:t?.precision,...q.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",...q.errToObj(t)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...q.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n?.position,...q.errToObj(n?.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...q.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...q.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...q.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...q.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...q.errToObj(n)})}nonempty(t){return this.min(1,q.errToObj(t))}trim(){return new D({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new D({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new D({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find((t)=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find((t)=>t.kind==="date")}get isTime(){return!!this._def.checks.find((t)=>t.kind==="time")}get isDuration(){return!!this._def.checks.find((t)=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find((t)=>t.kind==="email")}get isURL(){return!!this._def.checks.find((t)=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find((t)=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find((t)=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find((t)=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find((t)=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find((t)=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find((t)=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find((t)=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find((t)=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find((t)=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find((t)=>t.kind==="base64url")}get minLength(){let t=null;for(let n of this._def.checks)if(n.kind==="min"){if(t===null||n.value>t)t=n.value}return t}get maxLength(){let t=null;for(let n of this._def.checks)if(n.kind==="max"){if(t===null||n.value<t)t=n.value}return t}};D.create=(t)=>{return new D({checks:[],typeName:E.ZodString,coerce:t?.coerce??!1,...Y(t)})};C=class C extends M{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce)t.data=Number(t.data);if(this._getType(t)!==$.number){let l=this._getOrReturnCtx(t);return v(l,{code:g.invalid_type,expected:$.number,received:l.parsedType}),H}let b=void 0,o=new L;for(let l of this._def.checks)if(l.kind==="int"){if(!X.isInteger(t.data))b=this._getOrReturnCtx(t,b),v(b,{code:g.invalid_type,expected:"integer",received:"float",message:l.message}),o.dirty()}else if(l.kind==="min"){if(l.inclusive?t.data<l.value:t.data<=l.value)b=this._getOrReturnCtx(t,b),v(b,{code:g.too_small,minimum:l.value,type:"number",inclusive:l.inclusive,exact:!1,message:l.message}),o.dirty()}else if(l.kind==="max"){if(l.inclusive?t.data>l.value:t.data>=l.value)b=this._getOrReturnCtx(t,b),v(b,{code:g.too_big,maximum:l.value,type:"number",inclusive:l.inclusive,exact:!1,message:l.message}),o.dirty()}else if(l.kind==="multipleOf"){if(ab(t.data,l.value)!==0)b=this._getOrReturnCtx(t,b),v(b,{code:g.not_multiple_of,multipleOf:l.value,message:l.message}),o.dirty()}else if(l.kind==="finite"){if(!Number.isFinite(t.data))b=this._getOrReturnCtx(t,b),v(b,{code:g.not_finite,message:l.message}),o.dirty()}else X.assertNever(l);return{status:o.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,q.toString(n))}gt(t,n){return this.setLimit("min",t,!1,q.toString(n))}lte(t,n){return this.setLimit("max",t,!0,q.toString(n))}lt(t,n){return this.setLimit("max",t,!1,q.toString(n))}setLimit(t,n,b,o){return new C({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:b,message:q.toString(o)}]})}_addCheck(t){return new C({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:q.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:q.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:q.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:q.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:q.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:q.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:q.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:q.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:q.toString(t)})}get minValue(){let t=null;for(let n of this._def.checks)if(n.kind==="min"){if(t===null||n.value>t)t=n.value}return t}get maxValue(){let t=null;for(let n of this._def.checks)if(n.kind==="max"){if(t===null||n.value<t)t=n.value}return t}get isInt(){return!!this._def.checks.find((t)=>t.kind==="int"||t.kind==="multipleOf"&&X.isInteger(t.value))}get isFinite(){let t=null,n=null;for(let b of this._def.checks)if(b.kind==="finite"||b.kind==="int"||b.kind==="multipleOf")return!0;else if(b.kind==="min"){if(n===null||b.value>n)n=b.value}else if(b.kind==="max"){if(t===null||b.value<t)t=b.value}return Number.isFinite(n)&&Number.isFinite(t)}};C.create=(t)=>{return new C({checks:[],typeName:E.ZodNumber,coerce:t?.coerce||!1,...Y(t)})};y=class y extends M{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==$.bigint)return this._getInvalidInput(t);let b=void 0,o=new L;for(let l of this._def.checks)if(l.kind==="min"){if(l.inclusive?t.data<l.value:t.data<=l.value)b=this._getOrReturnCtx(t,b),v(b,{code:g.too_small,type:"bigint",minimum:l.value,inclusive:l.inclusive,message:l.message}),o.dirty()}else if(l.kind==="max"){if(l.inclusive?t.data>l.value:t.data>=l.value)b=this._getOrReturnCtx(t,b),v(b,{code:g.too_big,type:"bigint",maximum:l.value,inclusive:l.inclusive,message:l.message}),o.dirty()}else if(l.kind==="multipleOf"){if(t.data%l.value!==BigInt(0))b=this._getOrReturnCtx(t,b),v(b,{code:g.not_multiple_of,multipleOf:l.value,message:l.message}),o.dirty()}else X.assertNever(l);return{status:o.value,value:t.data}}_getInvalidInput(t){let n=this._getOrReturnCtx(t);return v(n,{code:g.invalid_type,expected:$.bigint,received:n.parsedType}),H}gte(t,n){return this.setLimit("min",t,!0,q.toString(n))}gt(t,n){return this.setLimit("min",t,!1,q.toString(n))}lte(t,n){return this.setLimit("max",t,!0,q.toString(n))}lt(t,n){return this.setLimit("max",t,!1,q.toString(n))}setLimit(t,n,b,o){return new y({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:b,message:q.toString(o)}]})}_addCheck(t){return new y({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:q.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:q.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:q.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:q.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:q.toString(n)})}get minValue(){let t=null;for(let n of this._def.checks)if(n.kind==="min"){if(t===null||n.value>t)t=n.value}return t}get maxValue(){let t=null;for(let n of this._def.checks)if(n.kind==="max"){if(t===null||n.value<t)t=n.value}return t}};y.create=(t)=>{return new y({checks:[],typeName:E.ZodBigInt,coerce:t?.coerce??!1,...Y(t)})};ft=class ft extends M{_parse(t){if(this._def.coerce)t.data=Boolean(t.data);if(this._getType(t)!==$.boolean){let b=this._getOrReturnCtx(t);return v(b,{code:g.invalid_type,expected:$.boolean,received:b.parsedType}),H}return F(t.data)}};ft.create=(t)=>{return new ft({typeName:E.ZodBoolean,coerce:t?.coerce||!1,...Y(t)})};s=class s extends M{_parse(t){if(this._def.coerce)t.data=new Date(t.data);if(this._getType(t)!==$.date){let l=this._getOrReturnCtx(t);return v(l,{code:g.invalid_type,expected:$.date,received:l.parsedType}),H}if(Number.isNaN(t.data.getTime())){let l=this._getOrReturnCtx(t);return v(l,{code:g.invalid_date}),H}let b=new L,o=void 0;for(let l of this._def.checks)if(l.kind==="min"){if(t.data.getTime()<l.value)o=this._getOrReturnCtx(t,o),v(o,{code:g.too_small,message:l.message,inclusive:!0,exact:!1,minimum:l.value,type:"date"}),b.dirty()}else if(l.kind==="max"){if(t.data.getTime()>l.value)o=this._getOrReturnCtx(t,o),v(o,{code:g.too_big,message:l.message,inclusive:!0,exact:!1,maximum:l.value,type:"date"}),b.dirty()}else X.assertNever(l);return{status:b.value,value:new Date(t.data.getTime())}}_addCheck(t){return new s({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:q.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:q.toString(n)})}get minDate(){let t=null;for(let n of this._def.checks)if(n.kind==="min"){if(t===null||n.value>t)t=n.value}return t!=null?new Date(t):null}get maxDate(){let t=null;for(let n of this._def.checks)if(n.kind==="max"){if(t===null||n.value<t)t=n.value}return t!=null?new Date(t):null}};s.create=(t)=>{return new s({checks:[],coerce:t?.coerce||!1,typeName:E.ZodDate,...Y(t)})};Mt=class Mt extends M{_parse(t){if(this._getType(t)!==$.symbol){let b=this._getOrReturnCtx(t);return v(b,{code:g.invalid_type,expected:$.symbol,received:b.parsedType}),H}return F(t.data)}};Mt.create=(t)=>{return new Mt({typeName:E.ZodSymbol,...Y(t)})};rt=class rt extends M{_parse(t){if(this._getType(t)!==$.undefined){let b=this._getOrReturnCtx(t);return v(b,{code:g.invalid_type,expected:$.undefined,received:b.parsedType}),H}return F(t.data)}};rt.create=(t)=>{return new rt({typeName:E.ZodUndefined,...Y(t)})};ht=class ht extends M{_parse(t){if(this._getType(t)!==$.null){let b=this._getOrReturnCtx(t);return v(b,{code:g.invalid_type,expected:$.null,received:b.parsedType}),H}return F(t.data)}};ht.create=(t)=>{return new ht({typeName:E.ZodNull,...Y(t)})};z=class z extends M{constructor(){super(...arguments);this._any=!0}_parse(t){return F(t.data)}};z.create=(t)=>{return new z({typeName:E.ZodAny,...Y(t)})};T=class T extends M{constructor(){super(...arguments);this._unknown=!0}_parse(t){return F(t.data)}};T.create=(t)=>{return new T({typeName:E.ZodUnknown,...Y(t)})};p=class p extends M{_parse(t){let n=this._getOrReturnCtx(t);return v(n,{code:g.invalid_type,expected:$.never,received:n.parsedType}),H}};p.create=(t)=>{return new p({typeName:E.ZodNever,...Y(t)})};Xt=class Xt extends M{_parse(t){if(this._getType(t)!==$.undefined){let b=this._getOrReturnCtx(t);return v(b,{code:g.invalid_type,expected:$.void,received:b.parsedType}),H}return F(t.data)}};Xt.create=(t)=>{return new Xt({typeName:E.ZodVoid,...Y(t)})};W=class W extends M{_parse(t){let{ctx:n,status:b}=this._processInputParams(t),o=this._def;if(n.parsedType!==$.array)return v(n,{code:g.invalid_type,expected:$.array,received:n.parsedType}),H;if(o.exactLength!==null){let a=n.data.length>o.exactLength.value,f=n.data.length<o.exactLength.value;if(a||f)v(n,{code:a?g.too_big:g.too_small,minimum:f?o.exactLength.value:void 0,maximum:a?o.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:o.exactLength.message}),b.dirty()}if(o.minLength!==null){if(n.data.length<o.minLength.value)v(n,{code:g.too_small,minimum:o.minLength.value,type:"array",inclusive:!0,exact:!1,message:o.minLength.message}),b.dirty()}if(o.maxLength!==null){if(n.data.length>o.maxLength.value)v(n,{code:g.too_big,maximum:o.maxLength.value,type:"array",inclusive:!0,exact:!1,message:o.maxLength.message}),b.dirty()}if(n.common.async)return Promise.all([...n.data].map((a,f)=>{return o.type._parseAsync(new U(n,a,n.path,f))})).then((a)=>{return L.mergeArray(b,a)});let l=[...n.data].map((a,f)=>{return o.type._parseSync(new U(n,a,n.path,f))});return L.mergeArray(b,l)}get element(){return this._def.type}min(t,n){return new W({...this._def,minLength:{value:t,message:q.toString(n)}})}max(t,n){return new W({...this._def,maxLength:{value:t,message:q.toString(n)}})}length(t,n){return new W({...this._def,exactLength:{value:t,message:q.toString(n)}})}nonempty(t){return this.min(1,t)}};W.create=(t,n)=>{return new W({type:t,minLength:null,maxLength:null,exactLength:null,typeName:E.ZodArray,...Y(n)})};Q=class Q extends M{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let t=this._def.shape(),n=X.objectKeys(t);return this._cached={shape:t,keys:n},this._cached}_parse(t){if(this._getType(t)!==$.object){let h=this._getOrReturnCtx(t);return v(h,{code:g.invalid_type,expected:$.object,received:h.parsedType}),H}let{status:b,ctx:o}=this._processInputParams(t),{shape:l,keys:a}=this._getCached(),f=[];if(!(this._def.catchall instanceof p&&this._def.unknownKeys==="strip")){for(let h in o.data)if(!a.includes(h))f.push(h)}let r=[];for(let h of a){let A=l[h],S=o.data[h];r.push({key:{status:"valid",value:h},value:A._parse(new U(o,S,o.path,h)),alwaysSet:h in o.data})}if(this._def.catchall instanceof p){let h=this._def.unknownKeys;if(h==="passthrough")for(let A of f)r.push({key:{status:"valid",value:A},value:{status:"valid",value:o.data[A]}});else if(h==="strict"){if(f.length>0)v(o,{code:g.unrecognized_keys,keys:f}),b.dirty()}else if(h==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let h=this._def.catchall;for(let A of f){let S=o.data[A];r.push({key:{status:"valid",value:A},value:h._parse(new U(o,S,o.path,A)),alwaysSet:A in o.data})}}if(o.common.async)return Promise.resolve().then(async()=>{let h=[];for(let A of r){let S=await A.key,G=await A.value;h.push({key:S,value:G,alwaysSet:A.alwaysSet})}return h}).then((h)=>{return L.mergeObjectSync(b,h)});else return L.mergeObjectSync(b,r)}get shape(){return this._def.shape()}strict(t){return q.errToObj,new Q({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(n,b)=>{let o=this._def.errorMap?.(n,b).message??b.defaultError;if(n.code==="unrecognized_keys")return{message:q.errToObj(t).message??o};return{message:o}}}:{}})}strip(){return new Q({...this._def,unknownKeys:"strip"})}passthrough(){return new Q({...this._def,unknownKeys:"passthrough"})}extend(t){return new Q({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new Q({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:E.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new Q({...this._def,catchall:t})}pick(t){let n={};for(let b of X.objectKeys(t))if(t[b]&&this.shape[b])n[b]=this.shape[b];return new Q({...this._def,shape:()=>n})}omit(t){let n={};for(let b of X.objectKeys(this.shape))if(!t[b])n[b]=this.shape[b];return new Q({...this._def,shape:()=>n})}deepPartial(){return lt(this)}partial(t){let n={};for(let b of X.objectKeys(this.shape)){let o=this.shape[b];if(t&&!t[b])n[b]=o;else n[b]=o.optional()}return new Q({...this._def,shape:()=>n})}required(t){let n={};for(let b of X.objectKeys(this.shape))if(t&&!t[b])n[b]=this.shape[b];else{let l=this.shape[b];while(l instanceof d)l=l._def.innerType;n[b]=l}return new Q({...this._def,shape:()=>n})}keyof(){return co(X.objectKeys(this.shape))}};Q.create=(t,n)=>{return new Q({shape:()=>t,unknownKeys:"strip",catchall:p.create(),typeName:E.ZodObject,...Y(n)})};Q.strictCreate=(t,n)=>{return new Q({shape:()=>t,unknownKeys:"strict",catchall:p.create(),typeName:E.ZodObject,...Y(n)})};Q.lazycreate=(t,n)=>{return new Q({shape:t,unknownKeys:"strip",catchall:p.create(),typeName:E.ZodObject,...Y(n)})};gt=class gt extends M{_parse(t){let{ctx:n}=this._processInputParams(t),b=this._def.options;function o(l){for(let f of l)if(f.result.status==="valid")return f.result;for(let f of l)if(f.result.status==="dirty")return n.common.issues.push(...f.ctx.common.issues),f.result;let a=l.map((f)=>new R(f.ctx.common.issues));return v(n,{code:g.invalid_union,unionErrors:a}),H}if(n.common.async)return Promise.all(b.map(async(l)=>{let a={...n,common:{...n.common,issues:[]},parent:null};return{result:await l._parseAsync({data:n.data,path:n.path,parent:a}),ctx:a}})).then(o);else{let l=void 0,a=[];for(let r of b){let h={...n,common:{...n.common,issues:[]},parent:null},A=r._parseSync({data:n.data,path:n.path,parent:h});if(A.status==="valid")return A;else if(A.status==="dirty"&&!l)l={result:A,ctx:h};if(h.common.issues.length)a.push(h.common.issues)}if(l)return n.common.issues.push(...l.ctx.common.issues),l.result;let f=a.map((r)=>new R(r));return v(n,{code:g.invalid_union,unionErrors:f}),H}}get options(){return this._def.options}};gt.create=(t,n)=>{return new gt({options:t,typeName:E.ZodUnion,...Y(n)})};Vt=class Vt extends M{_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==$.object)return v(n,{code:g.invalid_type,expected:$.object,received:n.parsedType}),H;let b=this.discriminator,o=n.data[b],l=this.optionsMap.get(o);if(!l)return v(n,{code:g.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[b]}),H;if(n.common.async)return l._parseAsync({data:n.data,path:n.path,parent:n});else return l._parseSync({data:n.data,path:n.path,parent:n})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,b){let o=new Map;for(let l of n){let a=u(l.shape[t]);if(!a.length)throw Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(let f of a){if(o.has(f))throw Error(`Discriminator property ${String(t)} has duplicate value ${String(f)}`);o.set(f,l)}}return new Vt({typeName:E.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:o,...Y(b)})}};$t=class $t extends M{_parse(t){let{status:n,ctx:b}=this._processInputParams(t),o=(l,a)=>{if(Ut(l)||Ut(a))return H;let f=Yn(l.value,a.value);if(!f.valid)return v(b,{code:g.invalid_intersection_types}),H;if(jt(l)||jt(a))n.dirty();return{status:n.value,value:f.data}};if(b.common.async)return Promise.all([this._def.left._parseAsync({data:b.data,path:b.path,parent:b}),this._def.right._parseAsync({data:b.data,path:b.path,parent:b})]).then(([l,a])=>o(l,a));else return o(this._def.left._parseSync({data:b.data,path:b.path,parent:b}),this._def.right._parseSync({data:b.data,path:b.path,parent:b}))}};$t.create=(t,n,b)=>{return new $t({left:t,right:n,typeName:E.ZodIntersection,...Y(b)})};N=class N extends M{_parse(t){let{status:n,ctx:b}=this._processInputParams(t);if(b.parsedType!==$.array)return v(b,{code:g.invalid_type,expected:$.array,received:b.parsedType}),H;if(b.data.length<this._def.items.length)return v(b,{code:g.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),H;if(!this._def.rest&&b.data.length>this._def.items.length)v(b,{code:g.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty();let l=[...b.data].map((a,f)=>{let r=this._def.items[f]||this._def.rest;if(!r)return null;return r._parse(new U(b,a,b.path,f))}).filter((a)=>!!a);if(b.common.async)return Promise.all(l).then((a)=>{return L.mergeArray(n,a)});else return L.mergeArray(n,l)}get items(){return this._def.items}rest(t){return new N({...this._def,rest:t})}};N.create=(t,n)=>{if(!Array.isArray(t))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new N({items:t,typeName:E.ZodTuple,rest:null,...Y(n)})};St=class St extends M{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:n,ctx:b}=this._processInputParams(t);if(b.parsedType!==$.object)return v(b,{code:g.invalid_type,expected:$.object,received:b.parsedType}),H;let o=[],l=this._def.keyType,a=this._def.valueType;for(let f in b.data)o.push({key:l._parse(new U(b,f,b.path,f)),value:a._parse(new U(b,b.data[f],b.path,f)),alwaysSet:f in b.data});if(b.common.async)return L.mergeObjectAsync(n,o);else return L.mergeObjectSync(n,o)}get element(){return this._def.valueType}static create(t,n,b){if(n instanceof M)return new St({keyType:t,valueType:n,typeName:E.ZodRecord,...Y(b)});return new St({keyType:D.create(),valueType:t,typeName:E.ZodRecord,...Y(n)})}};mt=class mt extends M{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:n,ctx:b}=this._processInputParams(t);if(b.parsedType!==$.map)return v(b,{code:g.invalid_type,expected:$.map,received:b.parsedType}),H;let o=this._def.keyType,l=this._def.valueType,a=[...b.data.entries()].map(([f,r],h)=>{return{key:o._parse(new U(b,f,b.path,[h,"key"])),value:l._parse(new U(b,r,b.path,[h,"value"]))}});if(b.common.async){let f=new Map;return Promise.resolve().then(async()=>{for(let r of a){let h=await r.key,A=await r.value;if(h.status==="aborted"||A.status==="aborted")return H;if(h.status==="dirty"||A.status==="dirty")n.dirty();f.set(h.value,A.value)}return{status:n.value,value:f}})}else{let f=new Map;for(let r of a){let{key:h,value:A}=r;if(h.status==="aborted"||A.status==="aborted")return H;if(h.status==="dirty"||A.status==="dirty")n.dirty();f.set(h.value,A.value)}return{status:n.value,value:f}}}};mt.create=(t,n,b)=>{return new mt({valueType:n,keyType:t,typeName:E.ZodMap,...Y(b)})};tt=class tt extends M{_parse(t){let{status:n,ctx:b}=this._processInputParams(t);if(b.parsedType!==$.set)return v(b,{code:g.invalid_type,expected:$.set,received:b.parsedType}),H;let o=this._def;if(o.minSize!==null){if(b.data.size<o.minSize.value)v(b,{code:g.too_small,minimum:o.minSize.value,type:"set",inclusive:!0,exact:!1,message:o.minSize.message}),n.dirty()}if(o.maxSize!==null){if(b.data.size>o.maxSize.value)v(b,{code:g.too_big,maximum:o.maxSize.value,type:"set",inclusive:!0,exact:!1,message:o.maxSize.message}),n.dirty()}let l=this._def.valueType;function a(r){let h=new Set;for(let A of r){if(A.status==="aborted")return H;if(A.status==="dirty")n.dirty();h.add(A.value)}return{status:n.value,value:h}}let f=[...b.data.values()].map((r,h)=>l._parse(new U(b,r,b.path,h)));if(b.common.async)return Promise.all(f).then((r)=>a(r));else return a(f)}min(t,n){return new tt({...this._def,minSize:{value:t,message:q.toString(n)}})}max(t,n){return new tt({...this._def,maxSize:{value:t,message:q.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}};tt.create=(t,n)=>{return new tt({valueType:t,minSize:null,maxSize:null,typeName:E.ZodSet,...Y(n)})};at=class at extends M{constructor(){super(...arguments);this.validate=this.implement}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==$.function)return v(n,{code:g.invalid_type,expected:$.function,received:n.parsedType}),H;function b(f,r){return Yt({data:f,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,ot(),K].filter((h)=>!!h),issueData:{code:g.invalid_arguments,argumentsError:r}})}function o(f,r){return Yt({data:f,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,ot(),K].filter((h)=>!!h),issueData:{code:g.invalid_return_type,returnTypeError:r}})}let l={errorMap:n.common.contextualErrorMap},a=n.data;if(this._def.returns instanceof nt){let f=this;return F(async function(...r){let h=new R([]),A=await f._def.args.parseAsync(r,l).catch((J)=>{throw h.addIssue(b(r,J)),h}),S=await Reflect.apply(a,this,A);return await f._def.returns._def.type.parseAsync(S,l).catch((J)=>{throw h.addIssue(o(S,J)),h})})}else{let f=this;return F(function(...r){let h=f._def.args.safeParse(r,l);if(!h.success)throw new R([b(r,h.error)]);let A=Reflect.apply(a,this,h.data),S=f._def.returns.safeParse(A,l);if(!S.success)throw new R([o(A,S.error)]);return S.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new at({...this._def,args:N.create(t).rest(T.create())})}returns(t){return new at({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,n,b){return new at({args:t?t:N.create([]).rest(T.create()),returns:n||T.create(),typeName:E.ZodFunction,...Y(b)})}};vt=class vt extends M{get schema(){return this._def.getter()}_parse(t){let{ctx:n}=this._processInputParams(t);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}};vt.create=(t,n)=>{return new vt({getter:t,typeName:E.ZodLazy,...Y(n)})};wt=class wt extends M{_parse(t){if(t.data!==this._def.value){let n=this._getOrReturnCtx(t);return v(n,{received:n.data,code:g.invalid_literal,expected:this._def.value}),H}return{status:"valid",value:t.data}}get value(){return this._def.value}};wt.create=(t,n)=>{return new wt({value:t,typeName:E.ZodLiteral,...Y(n)})};e=class e extends M{_parse(t){if(typeof t.data!=="string"){let n=this._getOrReturnCtx(t),b=this._def.values;return v(n,{expected:X.joinValues(b),received:n.parsedType,code:g.invalid_type}),H}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has(t.data)){let n=this._getOrReturnCtx(t),b=this._def.values;return v(n,{received:n.data,code:g.invalid_enum_value,options:b}),H}return F(t.data)}get options(){return this._def.values}get enum(){let t={};for(let n of this._def.values)t[n]=n;return t}get Values(){let t={};for(let n of this._def.values)t[n]=n;return t}get Enum(){let t={};for(let n of this._def.values)t[n]=n;return t}extract(t,n=this._def){return e.create(t,{...this._def,...n})}exclude(t,n=this._def){return e.create(this.options.filter((b)=>!t.includes(b)),{...this._def,...n})}};e.create=co;ct=class ct extends M{_parse(t){let n=X.getValidEnumValues(this._def.values),b=this._getOrReturnCtx(t);if(b.parsedType!==$.string&&b.parsedType!==$.number){let o=X.objectValues(n);return v(b,{expected:X.joinValues(o),received:b.parsedType,code:g.invalid_type}),H}if(!this._cache)this._cache=new Set(X.getValidEnumValues(this._def.values));if(!this._cache.has(t.data)){let o=X.objectValues(n);return v(b,{received:b.data,code:g.invalid_enum_value,options:o}),H}return F(t.data)}get enum(){return this._def.values}};ct.create=(t,n)=>{return new ct({values:t,typeName:E.ZodNativeEnum,...Y(n)})};nt=class nt extends M{unwrap(){return this._def.type}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==$.promise&&n.common.async===!1)return v(n,{code:g.invalid_type,expected:$.promise,received:n.parsedType}),H;let b=n.parsedType===$.promise?n.data:Promise.resolve(n.data);return F(b.then((o)=>{return this._def.type.parseAsync(o,{path:n.path,errorMap:n.common.contextualErrorMap})}))}};nt.create=(t,n)=>{return new nt({type:t,typeName:E.ZodPromise,...Y(n)})};j=class j extends M{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===E.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){let{status:n,ctx:b}=this._processInputParams(t),o=this._def.effect||null,l={addIssue:(a)=>{if(v(b,a),a.fatal)n.abort();else n.dirty()},get path(){return b.path}};if(l.addIssue=l.addIssue.bind(l),o.type==="preprocess"){let a=o.transform(b.data,l);if(b.common.async)return Promise.resolve(a).then(async(f)=>{if(n.value==="aborted")return H;let r=await this._def.schema._parseAsync({data:f,path:b.path,parent:b});if(r.status==="aborted")return H;if(r.status==="dirty")return Z(r.value);if(n.value==="dirty")return Z(r.value);return r});else{if(n.value==="aborted")return H;let f=this._def.schema._parseSync({data:a,path:b.path,parent:b});if(f.status==="aborted")return H;if(f.status==="dirty")return Z(f.value);if(n.value==="dirty")return Z(f.value);return f}}if(o.type==="refinement"){let a=(f)=>{let r=o.refinement(f,l);if(b.common.async)return Promise.resolve(r);if(r instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return f};if(b.common.async===!1){let f=this._def.schema._parseSync({data:b.data,path:b.path,parent:b});if(f.status==="aborted")return H;if(f.status==="dirty")n.dirty();return a(f.value),{status:n.value,value:f.value}}else return this._def.schema._parseAsync({data:b.data,path:b.path,parent:b}).then((f)=>{if(f.status==="aborted")return H;if(f.status==="dirty")n.dirty();return a(f.value).then(()=>{return{status:n.value,value:f.value}})})}if(o.type==="transform")if(b.common.async===!1){let a=this._def.schema._parseSync({data:b.data,path:b.path,parent:b});if(!P(a))return H;let f=o.transform(a.value,l);if(f instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:f}}else return this._def.schema._parseAsync({data:b.data,path:b.path,parent:b}).then((a)=>{if(!P(a))return H;return Promise.resolve(o.transform(a.value,l)).then((f)=>({status:n.value,value:f}))});X.assertNever(o)}};j.create=(t,n,b)=>{return new j({schema:t,typeName:E.ZodEffects,effect:n,...Y(b)})};j.createWithPreprocess=(t,n,b)=>{return new j({schema:n,effect:{type:"preprocess",transform:t},typeName:E.ZodEffects,...Y(b)})};d=class d extends M{_parse(t){if(this._getType(t)===$.undefined)return F(void 0);return this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};d.create=(t,n)=>{return new d({innerType:t,typeName:E.ZodOptional,...Y(n)})};i=class i extends M{_parse(t){if(this._getType(t)===$.null)return F(null);return this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};i.create=(t,n)=>{return new i({innerType:t,typeName:E.ZodNullable,...Y(n)})};_t=class _t extends M{_parse(t){let{ctx:n}=this._processInputParams(t),b=n.data;if(n.parsedType===$.undefined)b=this._def.defaultValue();return this._def.innerType._parse({data:b,path:n.path,parent:n})}removeDefault(){return this._def.innerType}};_t.create=(t,n)=>{return new _t({innerType:t,typeName:E.ZodDefault,defaultValue:typeof n.default==="function"?n.default:()=>n.default,...Y(n)})};At=class At extends M{_parse(t){let{ctx:n}=this._processInputParams(t),b={...n,common:{...n.common,issues:[]}},o=this._def.innerType._parse({data:b.data,path:b.path,parent:{...b}});if(bt(o))return o.then((l)=>{return{status:"valid",value:l.status==="valid"?l.value:this._def.catchValue({get error(){return new R(b.common.issues)},input:b.data})}});else return{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new R(b.common.issues)},input:b.data})}}removeCatch(){return this._def.innerType}};At.create=(t,n)=>{return new At({innerType:t,typeName:E.ZodCatch,catchValue:typeof n.catch==="function"?n.catch:()=>n.catch,...Y(n)})};kt=class kt extends M{_parse(t){if(this._getType(t)!==$.nan){let b=this._getOrReturnCtx(t);return v(b,{code:g.invalid_type,expected:$.nan,received:b.parsedType}),H}return{status:"valid",value:t.data}}};kt.create=(t)=>{return new kt({typeName:E.ZodNaN,...Y(t)})};fb=Symbol("zod_brand");pt=class pt extends M{_parse(t){let{ctx:n}=this._processInputParams(t),b=n.data;return this._def.type._parse({data:b,path:n.path,parent:n})}unwrap(){return this._def.type}};Qt=class Qt extends M{_parse(t){let{status:n,ctx:b}=this._processInputParams(t);if(b.common.async)return(async()=>{let l=await this._def.in._parseAsync({data:b.data,path:b.path,parent:b});if(l.status==="aborted")return H;if(l.status==="dirty")return n.dirty(),Z(l.value);else return this._def.out._parseAsync({data:l.value,path:b.path,parent:b})})();else{let o=this._def.in._parseSync({data:b.data,path:b.path,parent:b});if(o.status==="aborted")return H;if(o.status==="dirty")return n.dirty(),{status:"dirty",value:o.value};else return this._def.out._parseSync({data:o.value,path:b.path,parent:b})}}static create(t,n){return new Qt({in:t,out:n,typeName:E.ZodPipeline})}};qt=class qt extends M{_parse(t){let n=this._def.innerType._parse(t),b=(o)=>{if(P(o))o.value=Object.freeze(o.value);return o};return bt(n)?n.then((o)=>b(o)):b(n)}unwrap(){return this._def.innerType}};qt.create=(t,n)=>{return new qt({innerType:t,typeName:E.ZodReadonly,...Y(n)})};rb={object:Q.lazycreate};(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(E||(E={}));Ao=D.create,qo=C.create,gb=kt.create,$b=y.create,Ho=ft.create,vb=s.create,wb=Mt.create,cb=rt.create,_b=ht.create,Ab=z.create,qb=T.create,Hb=p.create,Eb=Xt.create,xb=W.create,Yb=Q.create,Mb=Q.strictCreate,Xb=gt.create,Sb=Vt.create,mb=$t.create,kb=N.create,Qb=St.create,Jb=mt.create,Gb=tt.create,Lb=at.create,Fb=vt.create,Rb=wt.create,Bb=e.create,Ob=ct.create,Db=nt.create,Wb=j.create,db=d.create,Ub=i.create,jb=j.createWithPreprocess,Vb=Qt.create,ub={string:(t)=>D.create({...t,coerce:!0}),number:(t)=>C.create({...t,coerce:!0}),boolean:(t)=>ft.create({...t,coerce:!0}),bigint:(t)=>y.create({...t,coerce:!0}),date:(t)=>s.create({...t,coerce:!0})},ib=H});var w={};k(w,{void:()=>Eb,util:()=>X,unknown:()=>qb,union:()=>Xb,undefined:()=>cb,tuple:()=>kb,transformer:()=>Wb,symbol:()=>wb,string:()=>Ao,strictObject:()=>Mb,setErrorMap:()=>U0,set:()=>Gb,record:()=>Qb,quotelessJson:()=>W0,promise:()=>Db,preprocess:()=>jb,pipeline:()=>Vb,ostring:()=>pb,optional:()=>db,onumber:()=>Nb,oboolean:()=>Kb,objectUtil:()=>qn,object:()=>Yb,number:()=>qo,nullable:()=>Ub,null:()=>_b,never:()=>Hb,nativeEnum:()=>Ob,nan:()=>gb,map:()=>Jb,makeIssue:()=>Yt,literal:()=>Rb,lazy:()=>Fb,late:()=>rb,isValid:()=>P,isDirty:()=>jt,isAsync:()=>bt,isAborted:()=>Ut,intersection:()=>mb,instanceof:()=>hb,getParsedType:()=>V,getErrorMap:()=>ot,function:()=>Lb,enum:()=>Bb,effect:()=>Wb,discriminatedUnion:()=>Sb,defaultErrorMap:()=>K,datetimeRegex:()=>wo,date:()=>vb,custom:()=>_o,coerce:()=>ub,boolean:()=>Ho,bigint:()=>$b,array:()=>xb,any:()=>Ab,addIssueToContext:()=>v,ZodVoid:()=>Xt,ZodUnknown:()=>T,ZodUnion:()=>gt,ZodUndefined:()=>rt,ZodType:()=>M,ZodTuple:()=>N,ZodTransformer:()=>j,ZodSymbol:()=>Mt,ZodString:()=>D,ZodSet:()=>tt,ZodSchema:()=>M,ZodRecord:()=>St,ZodReadonly:()=>qt,ZodPromise:()=>nt,ZodPipeline:()=>Qt,ZodParsedType:()=>$,ZodOptional:()=>d,ZodObject:()=>Q,ZodNumber:()=>C,ZodNullable:()=>i,ZodNull:()=>ht,ZodNever:()=>p,ZodNativeEnum:()=>ct,ZodNaN:()=>kt,ZodMap:()=>mt,ZodLiteral:()=>wt,ZodLazy:()=>vt,ZodIssueCode:()=>g,ZodIntersection:()=>$t,ZodFunction:()=>at,ZodFirstPartyTypeKind:()=>E,ZodError:()=>R,ZodEnum:()=>e,ZodEffects:()=>j,ZodDiscriminatedUnion:()=>Vt,ZodDefault:()=>_t,ZodDate:()=>s,ZodCatch:()=>At,ZodBranded:()=>pt,ZodBoolean:()=>ft,ZodBigInt:()=>y,ZodArray:()=>W,ZodAny:()=>z,Schema:()=>M,ParseStatus:()=>L,OK:()=>F,NEVER:()=>ib,INVALID:()=>H,EMPTY_PATH:()=>j0,DIRTY:()=>Z,BRAND:()=>fb});var Mn=x(()=>{dt();En();fo();xt();Eo();Wt()});var xo=x(()=>{Mn();Mn()});function Xn(t){if(t===null||typeof t!=="object")return t;if(Array.isArray(t))return t.map(Xn);let n={};for(let b of Object.keys(t))n[b]=Xn(t[b]);return n}var Ib,Ya;var Yo=x(()=>{Ib={validation:{trimStrings:!1,emptyAsNullDefault:!1},security:{csrf:{enabled:!0,excludePaths:[],sameSite:"Strict",secure:!1},rateLimit:{enabled:!0,windowMs:60000,maxRequests:60,excludePaths:[]}},hooks:{onValidationError:null,onSecurityViolation:null,onRateLimit:null,onDatabaseError:null,onRequest:null}},Ya=Xn(Ib)});class Jt{static validate(t,n){try{return{success:!0,data:t.parse(n)}}catch(b){if(b instanceof w.ZodError){let o={};return b.errors.forEach((l)=>{let a=l.path.join(".");o[a]=l.message}),{success:!1,errors:o}}return{success:!1,errors:{general:"Validation failed"}}}}static validateField(t,n){try{return t.parse(n),{success:!0}}catch(b){if(b instanceof w.ZodError)return{success:!1,error:b.errors[0]?.message||"Invalid value"};return{success:!1,error:"Validation failed"}}}static getFieldError(t,n){if(t.success)return null;return t.errors?.[n]||null}static hasFieldError(t,n){return!!this.getFieldError(t,n)}}var Mo,I;var Sn=x(()=>{xo();Yo();Mo={login:w.object({email:w.string().min(1,"Email is required").email("Please enter a valid email address"),password:w.string().min(8,"Password must be at least 8 characters").regex(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)/,"Password must contain at least one uppercase letter, one lowercase letter, and one number")}),register:w.object({name:w.string().min(2,"Name must be at least 2 characters").max(50,"Name must be less than 50 characters").regex(/^[a-zA-Z\s'-]+$/,"Name can only contain letters, spaces, hyphens, and apostrophes"),email:w.string().min(1,"Email is required").email("Please enter a valid email address"),password:w.string().min(8,"Password must be at least 8 characters").regex(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])/,"Password must contain uppercase, lowercase, number, and special character"),confirmPassword:w.string()}).refine((t)=>t.password===t.confirmPassword,{message:"Passwords don't match",path:["confirmPassword"]}),auth:{register:w.object({action:w.literal("register"),email:w.string().min(1,"Email is required").email("Please enter a valid email address"),username:w.string().min(3,"Username must be at least 3 characters").max(30,"Username must be less than 30 characters"),password:w.string().min(8,"Password must be at least 8 characters"),full_name:w.string().min(2,"Full name is required").max(100,"Full name is too long")}),login:w.object({action:w.literal("login"),email:w.string().min(1,"Email is required").email("Please enter a valid email address"),password:w.string().min(8,"Password must be at least 8 characters")}),logout:w.object({action:w.literal("logout")}),action:w.discriminatedUnion("action",[w.object({action:w.literal("register")}).merge(w.object({email:w.string().min(1,"Email is required").email("Please enter a valid email address"),username:w.string().min(3,"Username must be at least 3 characters").max(30,"Username must be less than 30 characters"),password:w.string().min(8,"Password must be at least 8 characters"),full_name:w.string().min(2,"Full name is required").max(100,"Full name is too long")})),w.object({action:w.literal("login")}).merge(w.object({email:w.string().min(1,"Email is required").email("Please enter a valid email address"),password:w.string().min(8,"Password must be at least 8 characters")})),w.object({action:w.literal("logout")})])},contact:w.object({name:w.string().min(2,"Name must be at least 2 characters").max(100,"Name is too long"),email:w.string().email("Please enter a valid email address"),message:w.string().min(10,"Message must be at least 10 characters").max(1000,"Message is too long")}),email:w.string().min(1,"Email is required").email("Please enter a valid email address"),password:w.string().min(8,"Password must be at least 8 characters").regex(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)/,"Password must contain uppercase, lowercase, and number"),phone:w.string().regex(/^[\+]?[1-9][\d]{0,15}$/,"Please enter a valid phone number"),url:w.string().min(1,"URL is required").url("Please enter a valid URL"),required:w.string().min(1,"This field is required"),positiveNumber:w.number().positive("Must be a positive number"),integer:w.number().int("Must be a whole number"),futureDate:w.date().min(new Date,"Date must be in the future"),imageFile:w.instanceof(File).refine((t)=>t.size<=5242880,"File size must be less than 5MB").refine((t)=>["image/jpeg","image/png","image/gif","image/webp"].includes(t.type),"File must be a JPEG, PNG, GIF, or WebP image"),userProfile:w.object({full_name:w.string().min(2,"Full name must be at least 2 characters").max(100,"Full name is too long").optional(),bio:w.string().max(500,"Bio must be less than 500 characters").nullable().optional(),avatar_url:w.string().url("Please enter a valid URL").nullable().optional(),theme:w.enum(["africanity","dark","light","system"]).optional(),language:w.string().min(2).max(10).optional()}),project:w.object({name:w.string().min(1,"Project name is required").max(100,"Project name is too long"),description:w.string().max(1000,"Description is too long").nullable().optional(),repository_url:w.string().url("Please enter a valid repository URL").nullable().optional(),demo_url:w.string().url("Please enter a valid demo URL").nullable().optional(),tags:w.array(w.string()).optional(),is_public:w.boolean().optional()})};I={required:(t="This field is required")=>w.string().min(1,t),email:(t="Please enter a valid email address")=>w.string().email(t),minLength:(t,n)=>w.string().min(t,n||`Must be at least ${t} characters`),maxLength:(t,n)=>w.string().max(t,n||`Must be less than ${t} characters`),pattern:(t,n)=>w.string().regex(t,n),numeric:(t="Must be a number")=>w.string().regex(/^\d+$/,t),phone:(t="Please enter a valid phone number")=>w.string().regex(/^[\+]?[1-9][\d]{0,15}$/,t),url:(t="Please enter a valid URL")=>w.string().min(1,"URL is required").url(t)}});var Xo={};k(Xo,{default:()=>Pb,AfriInput:()=>Nt});var Nt,Pb;var So=x(()=>{m();Sn();Nt=class Nt extends c{static get observedAttributes(){return["type","name","label","placeholder","error","helper","theme","icon","required","aria-label","aria-describedby","validation"]}constructor(){super();this._uniqueId=Math.random().toString(36).substr(2,9),this.render()}get value(){return this.shadowRoot.querySelector("input")?.value||""}set value(t){let n=this.shadowRoot.querySelector("input");if(n)n.value=t}connectedCallback(){this._attachInputListeners(),this.loadStyles()}attributeChangedCallback(){this.render(),this._attachInputListeners()}_attachInputListeners(){let t=this.shadowRoot.querySelector("input");if(!t)return;t.addEventListener("input",(n)=>{if(this.emit("af-input",{value:n.target.value}),this.hasAttribute("error"))this.removeAttribute("error")}),t.addEventListener("blur",()=>{this.emit("af-blur",{value:this.value}),this._validateInput()})}_setupValidation(){if(!this.getAttribute("validation"))return;let n=this.shadowRoot.querySelector("input");if(!n)return;n.addEventListener("input",()=>{if(this.hasAttribute("error"))this.removeAttribute("error")})}_validateInput(){let t=this.shadowRoot.querySelector("input");if(!t)return;let n=this.getAttribute("validation"),b=t.value;if(this.hasAttribute("required")&&!b.trim()){this.setAttribute("error","This field is required");return}if(n&&b.trim()){let l=this._getValidationSchema(n);if(l){let a=Jt.validateField(l,b);if(!a.success)this.setAttribute("error",a.error);else this.removeAttribute("error")}}}_getValidationSchema(t){let n={email:I.email(),password:I.password(),phone:I.phone(),url:I.url(),required:I.required()};if(t.includes(":")){let[b,o]=t.split(":"),l=parseInt(o);switch(b){case"minLength":return I.minLength(l);case"maxLength":return I.maxLength(l);case"pattern":return I.pattern(new RegExp(o),"Invalid format")}}return n[t]||null}attributeChangedCallback(){this.render()}render(){let t=this.getAttribute("type")||"text",n=this.getAttribute("name")||"",b=this.getAttribute("label")||"",o=this.getAttribute("placeholder")||"",l=this.getAttribute("error")||"",a=this.getAttribute("helper")||"",f=this.getAttribute("theme")||"tanzania",r=this.getAttribute("icon")||"",h=this.hasAttribute("required"),A=this.getAttribute("aria-label"),S=this.getAttribute("aria-describedby"),G={tanzania:{focus:"#1EB53A",error:"#DC3545"},maasai:{focus:"#FF0000",error:"#8B0000"},ndebele:{focus:"#4169E1",error:"#DC143C"}},J=G[f]||G.tanzania,O=[];if(l)O.push(`error-${this._uniqueId}`);else if(a)O.push(`helper-${this._uniqueId}`);if(S)O.push(...S.split(" "));let vn=O.length>0?`aria-describedby="${O.join(" ")}"`:"";this.shadowRoot.innerHTML=`
379
379
  <style>
380
380
  :host {
381
381
  display: block;
@@ -408,7 +408,7 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
408
408
  input {
409
409
  width: 100%;
410
410
  padding: 10px 13px;
411
- ${h?"padding-left: 40px;":""}
411
+ ${r?"padding-left: 40px;":""}
412
412
  font-size: 15px;
413
413
  border: 2px solid #ddd;
414
414
  border-radius: 5px;
@@ -449,16 +449,16 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
449
449
  </style>
450
450
 
451
451
  <div class="input-wrapper">
452
- ${o?`<label for="input-${this._uniqueId}">${o}${r?'<span class="required-star">*</span>':""}</label>`:""}
452
+ ${b?`<label for="input-${this._uniqueId}">${b}${h?'<span class="required-star">*</span>':""}</label>`:""}
453
453
  <div class="input-container">
454
- ${h?`<span class="icon">${h}</span>`:""}
454
+ ${r?`<span class="icon">${r}</span>`:""}
455
455
  <input
456
456
  id="input-${this._uniqueId}"
457
457
  name="${n}"
458
458
  type="${t}"
459
- placeholder="${b}"
459
+ placeholder="${o}"
460
460
  class="${l?"has-error":""}"
461
- ${r?"required":""}
461
+ ${h?"required":""}
462
462
  ${A?`aria-label="${A}"`:""}
463
463
  ${l?'aria-invalid="true"':""}
464
464
  ${vn}
@@ -467,7 +467,7 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
467
467
  ${l?`<div id="error-${this._uniqueId}" class="error-text" role="alert">${l}</div>`:""}
468
468
  ${a&&!l?`<div id="helper-${this._uniqueId}" class="helper-text">${a}</div>`:""}
469
469
  </div>
470
- `}};_("af-input",Kt);Ib=Kt});var X0={};Q(X0,{default:()=>ub,AfriAlert:()=>pt});var pt,ub;var S0=x(()=>{S();pt=class pt extends c{static get observedAttributes(){return["type","title","dismissible"]}constructor(){super();this.render()}connectedCallback(){this.shadowRoot.querySelector(".close-btn")?.addEventListener("click",()=>{this.remove(),this.emit("af-dismiss")})}attributeChangedCallback(){this.render()}render(){let t=this.getAttribute("type")||"info",n=this.getAttribute("title")||"",o=this.hasAttribute("dismissible"),b={success:{bg:"#d4edda",border:"#1EB53A",text:"#155724",icon:"✓"},warning:{bg:"#fff3cd",border:"#FCD116",text:"#856404",icon:"⚠"},error:{bg:"#f8d7da",border:"#DC3545",text:"#721c24",icon:"✕"},info:{bg:"#d1ecf1",border:"#00A3DD",text:"#0c5460",icon:"ℹ"}},l=b[t]||b.info;this.shadowRoot.innerHTML=`
470
+ `}};_("af-input",Nt);Pb=Nt});var mo={};k(mo,{default:()=>Tb,AfriAlert:()=>Kt});var Kt,Tb;var ko=x(()=>{m();Kt=class Kt extends c{static get observedAttributes(){return["type","title","dismissible"]}constructor(){super();this.render()}connectedCallback(){this.shadowRoot.querySelector(".close-btn")?.addEventListener("click",()=>{this.remove(),this.emit("af-dismiss")})}attributeChangedCallback(){this.render()}render(){let t=this.getAttribute("type")||"info",n=this.getAttribute("title")||"",b=this.hasAttribute("dismissible"),o={success:{bg:"#d4edda",border:"#1EB53A",text:"#155724",icon:"✓"},warning:{bg:"#fff3cd",border:"#FCD116",text:"#856404",icon:"⚠"},error:{bg:"#f8d7da",border:"#DC3545",text:"#721c24",icon:"✕"},info:{bg:"#d1ecf1",border:"#00A3DD",text:"#0c5460",icon:"ℹ"}},l=o[t]||o.info;this.shadowRoot.innerHTML=`
471
471
  <style>
472
472
  :host {
473
473
  display: block;
@@ -545,36 +545,36 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
545
545
  ${n?`<div class="title">${n}</div>`:""}
546
546
  <slot></slot>
547
547
  </div>
548
- ${o?'<button class="close-btn" aria-label="Dismiss">×</button>':""}
548
+ ${b?'<button class="close-btn" aria-label="Dismiss">×</button>':""}
549
549
  </div>
550
- `}};_("af-alert",pt);ub=pt});var Q0={};Q(Q0,{AfriGrid:()=>Sn});function ib(t,n){let{sidebarSide:o="left",sidebarWidth:b="280px",minWidth:l="280px",gap:a="24px",columns:f,rows:h,align:r="stretch",justify:A="stretch",dense:X=!1}=n,L=X?"dense":"",J=`
551
- align-items: ${r};
550
+ `}};_("af-alert",Kt);Tb=Kt});var Qo={};k(Qo,{AfriGrid:()=>mn});function Cb(t,n){let{sidebarSide:b="left",sidebarWidth:o="280px",minWidth:l="280px",gap:a="24px",columns:f,rows:r,align:h="stretch",justify:A="stretch",dense:S=!1}=n,G=S?"dense":"",J=`
551
+ align-items: ${h};
552
552
  justify-items: ${A};
553
553
  gap: ${a};
554
- `;switch(t){case"sidebar":return o==="right"?`display: grid; grid-template-columns: 1fr ${b}; ${J}`:`display: grid; grid-template-columns: ${b} 1fr; ${J}`;case"holy-grail":return`
554
+ `;switch(t){case"sidebar":return b==="right"?`display: grid; grid-template-columns: 1fr ${o}; ${J}`:`display: grid; grid-template-columns: ${o} 1fr; ${J}`;case"holy-grail":return`
555
555
  display: grid;
556
- grid-template-columns: ${b} 1fr ${b};
556
+ grid-template-columns: ${o} 1fr ${o};
557
557
  grid-template-rows: auto 1fr auto;
558
558
  ${J}
559
559
  `;case"bento":return`
560
560
  display: grid;
561
561
  grid-template-columns: repeat(12, 1fr);
562
562
  grid-auto-rows: minmax(120px, auto);
563
- grid-auto-flow: row ${L};
563
+ grid-auto-flow: row ${G};
564
564
  ${J}
565
565
  `;case"masonry":return`
566
566
  display: grid;
567
567
  grid-template-columns: repeat(auto-fill, minmax(${l}, 1fr));
568
568
  grid-template-rows: masonry;
569
- grid-auto-flow: row ${L};
569
+ grid-auto-flow: row ${G};
570
570
  ${J}
571
- `;case"auto":default:{let D=f?`repeat(${f}, 1fr)`:`repeat(auto-fit, minmax(${l}, 1fr))`,vn=h?`repeat(${h}, 1fr)`:"auto";return`
571
+ `;case"auto":default:{let O=f?`repeat(${f}, 1fr)`:`repeat(auto-fit, minmax(${l}, 1fr))`,vn=r?`repeat(${r}, 1fr)`:"auto";return`
572
572
  display: grid;
573
- grid-template-columns: ${D};
574
- ${h?`grid-template-rows: ${vn};`:""}
575
- grid-auto-flow: row ${L};
573
+ grid-template-columns: ${O};
574
+ ${r?`grid-template-rows: ${vn};`:""}
575
+ grid-auto-flow: row ${G};
576
576
  ${J}
577
- `}}}var Sn;var G0=x(()=>{S();Sn=class Sn extends c{static get observedAttributes(){return["min-width","gap","columns","rows","layout","align","justify","dense","sidebar-side","sidebar-width"]}attributeChangedCallback(){if(this.isConnected)this.render()}_getAttrs(){return{minWidth:this.getAttribute("min-width")||"280px",gap:this.getAttribute("gap")||"24px",columns:this.getAttribute("columns")||null,rows:this.getAttribute("rows")||null,layout:this.getAttribute("layout")||"auto",align:this.getAttribute("align")||"stretch",justify:this.getAttribute("justify")||"stretch",dense:this.hasAttribute("dense"),sidebarSide:this.getAttribute("sidebar-side")||"left",sidebarWidth:this.getAttribute("sidebar-width")||"280px"}}_buildResponsiveBreakpoints(t){if(t.layout!=="auto"&&t.layout!=="masonry")return"";return`
577
+ `}}}var mn;var Jo=x(()=>{m();mn=class mn extends c{static get observedAttributes(){return["min-width","gap","columns","rows","layout","align","justify","dense","sidebar-side","sidebar-width"]}attributeChangedCallback(){if(this.isConnected)this.render()}_getAttrs(){return{minWidth:this.getAttribute("min-width")||"280px",gap:this.getAttribute("gap")||"24px",columns:this.getAttribute("columns")||null,rows:this.getAttribute("rows")||null,layout:this.getAttribute("layout")||"auto",align:this.getAttribute("align")||"stretch",justify:this.getAttribute("justify")||"stretch",dense:this.hasAttribute("dense"),sidebarSide:this.getAttribute("sidebar-side")||"left",sidebarWidth:this.getAttribute("sidebar-width")||"280px"}}_buildResponsiveBreakpoints(t){if(t.layout!=="auto"&&t.layout!=="masonry")return"";return`
578
578
  @media (max-width: 768px) {
579
579
  .grid {
580
580
  grid-template-columns: repeat(auto-fit, minmax(min(${t.minWidth}, 100%), 1fr));
@@ -591,7 +591,7 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
591
591
  grid-template-columns: 1fr;
592
592
  }
593
593
  }
594
- `}render(){let t=this._getAttrs(),n=ib(t.layout,t),o=this._buildResponsiveBreakpoints(t)+this._buildSidebarResponsive(t);this.shadowRoot.innerHTML=R`
594
+ `}render(){let t=this._getAttrs(),n=Cb(t.layout,t),b=this._buildResponsiveBreakpoints(t)+this._buildSidebarResponsive(t);this.shadowRoot.innerHTML=B`
595
595
  <style>
596
596
  :host {
597
597
  display: block;
@@ -610,7 +610,7 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
610
610
  min-width: 0; /* Prevent overflow in grid context */
611
611
  }
612
612
 
613
- ${o}
613
+ ${b}
614
614
  </style>
615
615
 
616
616
  <div
@@ -621,7 +621,7 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
621
621
  >
622
622
  <slot></slot>
623
623
  </div>
624
- `}connectedCallback(){this.render(),this._setupResizeObserver()}disconnectedCallback(){if(this._resizeObserver)this._resizeObserver.disconnect()}_setupResizeObserver(){if(typeof ResizeObserver>"u")return;let t=this.offsetWidth;this._resizeObserver=new ResizeObserver((n)=>{for(let o of n){let b=o.contentRect.width;if(Math.abs(b-t)>10)t=b,this.emit("af-grid-resize",{width:b,height:o.contentRect.height,layout:this.getAttribute("layout")||"auto"})}}),this._resizeObserver.observe(this)}setLayout(t){this.setAttribute("layout",t)}setColumns(t){this.setAttribute("columns",String(t))}setDense(t){if(t)this.setAttribute("dense","");else this.removeAttribute("dense")}};_("af-grid",Sn)});var J0={};Q(J0,{AfriSection:()=>Qn});var Qn;var L0=x(()=>{S();Qn=class Qn extends c{render(){let t=this.getAttribute("variant")||"default",n=this.getAttribute("title");this.shadowRoot.innerHTML=R`
624
+ `}connectedCallback(){this.render(),this._setupResizeObserver()}disconnectedCallback(){if(this._resizeObserver)this._resizeObserver.disconnect()}_setupResizeObserver(){if(typeof ResizeObserver>"u")return;let t=this.offsetWidth;this._resizeObserver=new ResizeObserver((n)=>{for(let b of n){let o=b.contentRect.width;if(Math.abs(o-t)>10)t=o,this.emit("af-grid-resize",{width:o,height:b.contentRect.height,layout:this.getAttribute("layout")||"auto"})}}),this._resizeObserver.observe(this)}setLayout(t){this.setAttribute("layout",t)}setColumns(t){this.setAttribute("columns",String(t))}setDense(t){if(t)this.setAttribute("dense","");else this.removeAttribute("dense")}};_("af-grid",mn)});var Go={};k(Go,{AfriSection:()=>kn});var kn;var Lo=x(()=>{m();kn=class kn extends c{render(){let t=this.getAttribute("variant")||"default",n=this.getAttribute("title");this.shadowRoot.innerHTML=B`
625
625
  <style>
626
626
  :host { display: block; width: 100%; }
627
627
  .section {
@@ -648,20 +648,20 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
648
648
  }
649
649
  </style>
650
650
  <section class="section">
651
- ${n?R`
651
+ ${n?B`
652
652
  <div class="section-header">
653
653
  <h2>${n}</h2>
654
654
  </div>
655
655
  `:""}
656
656
  <slot></slot>
657
657
  </section>
658
- `}connectedCallback(){this.render()}};_("af-section",Qn)});var F0={};Q(F0,{default:()=>Pb,AfriIcon:()=>It});var It,Pb;var B0=x(()=>{S();It=class It extends c{static get observedAttributes(){return["name","size"]}connectedCallback(){this.render()}render(){let t=this.getAttribute("name")||"circle",n=this.getAttribute("size")||"24",b={check:'<path d="M20 6L9 17l-5-5" />',x:'<path d="M18 6L6 18M6 6l12 12" />',"arrow-right":'<path d="M5 12h14M12 5l7 7-7 7" />',menu:'<path d="M3 12h18M3 6h18M3 18h18" />',search:'<circle cx="11" cy="11" r="8" /><path d="M21 21l-4.35-4.35" />'}[t]||"";this.shadowRoot.innerHTML=`
658
+ `}connectedCallback(){this.render()}};_("af-section",kn)});var Fo={};k(Fo,{default:()=>yb,AfriIcon:()=>ut});var ut,yb;var Ro=x(()=>{m();ut=class ut extends c{static get observedAttributes(){return["name","size"]}connectedCallback(){this.render()}render(){let t=this.getAttribute("name")||"circle",n=this.getAttribute("size")||"24",o={check:'<path d="M20 6L9 17l-5-5" />',x:'<path d="M18 6L6 18M6 6l12 12" />',"arrow-right":'<path d="M5 12h14M12 5l7 7-7 7" />',menu:'<path d="M3 12h18M3 6h18M3 18h18" />',search:'<circle cx="11" cy="11" r="8" /><path d="M21 21l-4.35-4.35" />'}[t]||"";this.shadowRoot.innerHTML=`
659
659
  <style>
660
660
  :host { display: inline-flex; vertical-align: middle; }
661
661
  svg { width: ${n}px; height: ${n}px; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
662
662
  </style>
663
- <svg viewBox="0 0 24 24">${b}</svg>
664
- `}};_("af-icon",It);Pb=It});var m0={};Q(m0,{default:()=>Tb,AfriAccordion:()=>ut});var ut,Tb;var R0=x(()=>{S();ut=class ut extends c{static get observedAttributes(){return["theme","multiple"]}constructor(){super();this._openItems=new Set,this._uniqueId=Math.random().toString(36).substr(2,9),this.render()}connectedCallback(){this._setupAccordion()}_setupAccordion(){this.shadowRoot.querySelectorAll(".accordion-header").forEach((n,o)=>{n.addEventListener("click",()=>{this._toggleItem(o)})})}_toggleItem(t){let n=this.hasAttribute("multiple");if(this._openItems.has(t))this._openItems.delete(t);else{if(!n)this._openItems.clear();this._openItems.add(t)}this.render(),this._setupAccordion(),this.emit("af-toggle",{index:t,open:this._openItems.has(t)})}attributeChangedCallback(){this.render(),this._setupAccordion()}render(){let t=this.getAttribute("theme")||"tanzania",n=this.querySelector('[slot="items"]'),o=n?Array.from(n.children):[],b={tanzania:{accent:"#1EB53A"},maasai:{accent:"#FF0000"},ndebele:{accent:"#4169E1"}},l=b[t]||b.tanzania;this.shadowRoot.innerHTML=`
663
+ <svg viewBox="0 0 24 24">${o}</svg>
664
+ `}};_("af-icon",ut);yb=ut});var Bo={};k(Bo,{default:()=>eb,AfriAccordion:()=>it});var it,eb;var Oo=x(()=>{m();it=class it extends c{static get observedAttributes(){return["theme","multiple"]}constructor(){super();this._openItems=new Set,this._uniqueId=Math.random().toString(36).substr(2,9),this.render()}connectedCallback(){this._setupAccordion()}_setupAccordion(){this.shadowRoot.querySelectorAll(".accordion-header").forEach((n,b)=>{n.addEventListener("click",()=>{this._toggleItem(b)})})}_toggleItem(t){let n=this.hasAttribute("multiple");if(this._openItems.has(t))this._openItems.delete(t);else{if(!n)this._openItems.clear();this._openItems.add(t)}this.render(),this._setupAccordion(),this.emit("af-toggle",{index:t,open:this._openItems.has(t)})}attributeChangedCallback(){this.render(),this._setupAccordion()}render(){let t=this.getAttribute("theme")||"tanzania",n=this.querySelector('[slot="items"]'),b=n?Array.from(n.children):[],o={tanzania:{accent:"#1EB53A"},maasai:{accent:"#FF0000"},ndebele:{accent:"#4169E1"}},l=o[t]||o.tanzania;this.shadowRoot.innerHTML=`
665
665
  <style>
666
666
  :host {
667
667
  display: block;
@@ -739,22 +739,22 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
739
739
  </style>
740
740
 
741
741
  <div class="accordion">
742
- ${o.map((a,f)=>{let h=this._openItems.has(f),r=`accordion-header-${this._uniqueId}-${f}`,A=`accordion-panel-${this._uniqueId}-${f}`;return`
742
+ ${b.map((a,f)=>{let r=this._openItems.has(f),h=`accordion-header-${this._uniqueId}-${f}`,A=`accordion-panel-${this._uniqueId}-${f}`;return`
743
743
  <div class="accordion-item">
744
744
  <button
745
- class="accordion-header ${h?"active":""}"
746
- aria-expanded="${h}"
745
+ class="accordion-header ${r?"active":""}"
746
+ aria-expanded="${r}"
747
747
  aria-controls="${A}"
748
- id="${r}"
748
+ id="${h}"
749
749
  >
750
750
  <span>${a.getAttribute("title")||`Item ${f+1}`}</span>
751
751
  <span class="accordion-icon">▼</span>
752
752
  </button>
753
753
  <div
754
- class="accordion-content ${h?"open":""}"
754
+ class="accordion-content ${r?"open":""}"
755
755
  id="${A}"
756
756
  role="region"
757
- aria-labelledby="${r}"
757
+ aria-labelledby="${h}"
758
758
  >
759
759
  <div class="accordion-body">
760
760
  ${a.innerHTML}
@@ -764,7 +764,7 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
764
764
  `}).join("")}
765
765
  </div>
766
766
  <slot name="items"></slot>
767
- `}};_("af-accordion",ut);Tb=ut});var D0={};Q(D0,{default:()=>Cb,AfriHero:()=>it});var it,Cb;var O0=x(()=>{S();cn();Dt();Et();it=class it extends c{static get observedAttributes(){return["title","subtitle","pattern","overlay"]}connectedCallback(){super.connectedCallback(),this.render(),this.loadStyles()}render(){let t=this.getAttribute("title")||"AfriCode",n=this.getAttribute("subtitle")||"",o=this.getAttribute("pattern")||"",b=this.getAttribute("variant")||"default";this.shadowRoot.innerHTML=`
767
+ `}};_("af-accordion",it);eb=it});var Do={};k(Do,{default:()=>Zb,AfriHero:()=>It});var It,Zb;var Wo=x(()=>{m();Ot();Ht();It=class It extends c{static get observedAttributes(){return["title","subtitle","pattern","overlay"]}connectedCallback(){super.connectedCallback(),this.render(),this.loadStyles()}render(){let t=this.getAttribute("title")||"AfriCode",n=this.getAttribute("subtitle")||"",b=this.getAttribute("pattern")||"",o=this.getAttribute("variant")||"default";this.shadowRoot.innerHTML=`
768
768
  <style>
769
769
  :host {
770
770
  display: flex;
@@ -832,11 +832,11 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
832
832
  z-index: 2;
833
833
  }
834
834
 
835
- ${o?`
835
+ ${b?`
836
836
  .pattern-bg {
837
837
  position: absolute;
838
838
  inset: 0;
839
- background-image: url('${o}');
839
+ background-image: url('${b}');
840
840
  background-size: cover;
841
841
  background-position: center;
842
842
  opacity: 0.15;
@@ -854,7 +854,7 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
854
854
 
855
855
  <div class="aura"></div>
856
856
  <div class="mesh"></div>
857
- ${o?'<div class="pattern-bg"></div>':""}
857
+ ${b?'<div class="pattern-bg"></div>':""}
858
858
 
859
859
  <div class="content">
860
860
  <h1>${t}</h1>
@@ -864,7 +864,7 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
864
864
  </div>
865
865
  <slot></slot>
866
866
  </div>
867
- `}};_("af-hero",it);Cb=it});var W0={};Q(W0,{default:()=>yb,AfriTable:()=>Pt});var Pt,yb;var d0=x(()=>{S();Pt=class Pt extends c{static get observedAttributes(){return["theme","striped","hoverable"]}constructor(){super();this._columns=[],this._data=[],this._sortColumn=null,this._sortDirection="asc",this.render()}set columns(t){this._columns=t,this.render()}set data(t){this._data=t,this.render()}attributeChangedCallback(){this.render()}_handleSort(t){if(this._sortColumn===t)this._sortDirection=this._sortDirection==="asc"?"desc":"asc";else this._sortColumn=t,this._sortDirection="asc";this.emit("af-sort",{column:t,direction:this._sortDirection}),this.render()}_getSortedData(){if(!this._sortColumn)return this._data;return[...this._data].sort((t,n)=>{let o=t[this._sortColumn],b=n[this._sortColumn],l=this._sortDirection==="asc"?1:-1;if(typeof o==="number")return(o-b)*l;return String(o).localeCompare(String(b))*l})}render(){let t=this.getAttribute("theme")||"tanzania",n=this.hasAttribute("striped"),o=this.hasAttribute("hoverable"),b={tanzania:{header:"#1EB53A",text:"#FFFFFF",accent:"#FCD116"},maasai:{header:"#8B0000",text:"#FFFFFF",accent:"#FF0000"},ndebele:{header:"#4169E1",text:"#FFFFFF",accent:"#FFD700"}},l=b[t]||b.tanzania,a=this._getSortedData();this.shadowRoot.innerHTML=`
867
+ `}};_("af-hero",It);Zb=It});var Uo={};k(Uo,{default:()=>sb,AfriTable:()=>Pt});var Pt,sb;var jo=x(()=>{m();Pt=class Pt extends c{static get observedAttributes(){return["theme","striped","hoverable"]}constructor(){super();this._columns=[],this._data=[],this._sortColumn=null,this._sortDirection="asc",this.render()}set columns(t){this._columns=t,this.render()}set data(t){this._data=t,this.render()}attributeChangedCallback(){this.render()}_handleSort(t){if(this._sortColumn===t)this._sortDirection=this._sortDirection==="asc"?"desc":"asc";else this._sortColumn=t,this._sortDirection="asc";this.emit("af-sort",{column:t,direction:this._sortDirection}),this.render()}_getSortedData(){if(!this._sortColumn)return this._data;return[...this._data].sort((t,n)=>{let b=t[this._sortColumn],o=n[this._sortColumn],l=this._sortDirection==="asc"?1:-1;if(typeof b==="number")return(b-o)*l;return String(b).localeCompare(String(o))*l})}render(){let t=this.getAttribute("theme")||"tanzania",n=this.hasAttribute("striped"),b=this.hasAttribute("hoverable"),o={tanzania:{header:"#1EB53A",text:"#FFFFFF",accent:"#FCD116"},maasai:{header:"#8B0000",text:"#FFFFFF",accent:"#FF0000"},ndebele:{header:"#4169E1",text:"#FFFFFF",accent:"#FFD700"}},l=o[t]||o.tanzania,a=this._getSortedData();this.shadowRoot.innerHTML=`
868
868
  <style>
869
869
  :host {
870
870
  display: block;
@@ -914,7 +914,7 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
914
914
  }
915
915
  `:""}
916
916
 
917
- ${o?`
917
+ ${b?`
918
918
  tbody tr:hover {
919
919
  background: ${l.accent}20;
920
920
  }
@@ -944,7 +944,7 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
944
944
  <tbody>
945
945
  ${a.length?a.map((f)=>`
946
946
  <tr>
947
- ${this._columns.map((h)=>`<td>${f[h.key]??""}</td>`).join("")}
947
+ ${this._columns.map((r)=>`<td>${f[r.key]??""}</td>`).join("")}
948
948
  </tr>
949
949
  `).join(""):`
950
950
  <tr>
@@ -954,7 +954,7 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
954
954
  </tbody>
955
955
  </table>
956
956
  </div>
957
- `,this.shadowRoot.querySelectorAll("th").forEach((f)=>{f.addEventListener("click",()=>{this._handleSort(f.dataset.column)})})}};_("af-table",Pt);yb=Pt});var U0={};Q(U0,{default:()=>Zb,AfriModal:()=>Tt});var Tt,Zb;var j0=x(()=>{S();Tt=class Tt extends c{static get observedAttributes(){return["open","theme","size","aria-label","aria-labelledby"]}constructor(){super();this.render()}connectedCallback(){this._setupListeners()}_setupListeners(){this.shadowRoot.querySelector(".backdrop")?.addEventListener("click",(t)=>{if(t.target.classList.contains("backdrop"))this.close()}),this.shadowRoot.querySelector(".close-btn")?.addEventListener("click",()=>{this.close()}),document.addEventListener("keydown",(t)=>{if(t.key==="Escape"&&this.hasAttribute("open"))this.close()}),this.shadowRoot.addEventListener("keydown",(t)=>{if(t.key==="Tab"&&this.hasAttribute("open"))this._handleTabKey(t)})}_getFocusableElements(){let t=this.shadowRoot.querySelector(".modal"),n='button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])',o=Array.from(t?.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])')||[]),b=Array.from(this.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'));return[...o,...b]}_focusFirstFocusableElement(){let t=this._getFocusableElements();if(t.length>0)t[0].focus();else this.shadowRoot.querySelector(".close-btn")?.focus()}_handleTabKey(t){let n=this._getFocusableElements();if(n.length===0){t.preventDefault();return}let o=n[0],b=n[n.length-1];if(t.shiftKey){if(document.activeElement===o)t.preventDefault(),b.focus()}else if(document.activeElement===b)t.preventDefault(),o.focus()}open(){this.setAttribute("open",""),document.body.style.overflow="hidden",this._previousFocus=document.activeElement,this._focusFirstFocusableElement(),this.emit("af-open")}close(){if(this.removeAttribute("open"),document.body.style.overflow="",this._previousFocus&&this._previousFocus.focus)this._previousFocus.focus();this.emit("af-close")}attributeChangedCallback(t,n,o){if(this.render(),t==="open")this._setupListeners()}render(){let t=this.hasAttribute("open"),n=this.getAttribute("theme")||"tanzania",o=this.getAttribute("size")||"md",b={tanzania:{accent:"#1EB53A"},maasai:{accent:"#FF0000"},ndebele:{accent:"#4169E1"}},l=b[n]||b.tanzania,a={sm:"400px",md:"560px",lg:"720px",full:"95vw"},f=this.getAttribute("aria-label"),h=this.getAttribute("aria-labelledby")||"modal-title";this.shadowRoot.innerHTML=`
957
+ `,this.shadowRoot.querySelectorAll("th").forEach((f)=>{f.addEventListener("click",()=>{this._handleSort(f.dataset.column)})})}};_("af-table",Pt);sb=Pt});var Vo={};k(Vo,{default:()=>zb,AfriModal:()=>Tt});var Tt,zb;var po=x(()=>{m();Tt=class Tt extends c{static get observedAttributes(){return["open","theme","size","aria-label","aria-labelledby"]}constructor(){super();this.render()}connectedCallback(){this._setupListeners()}_setupListeners(){this.shadowRoot.querySelector(".backdrop")?.addEventListener("click",(t)=>{if(t.target.classList.contains("backdrop"))this.close()}),this.shadowRoot.querySelector(".close-btn")?.addEventListener("click",()=>{this.close()}),document.addEventListener("keydown",(t)=>{if(t.key==="Escape"&&this.hasAttribute("open"))this.close()}),this.shadowRoot.addEventListener("keydown",(t)=>{if(t.key==="Tab"&&this.hasAttribute("open"))this._handleTabKey(t)})}_getFocusableElements(){let t=this.shadowRoot.querySelector(".modal"),n='button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])',b=Array.from(t?.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])')||[]),o=Array.from(this.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'));return[...b,...o]}_focusFirstFocusableElement(){let t=this._getFocusableElements();if(t.length>0)t[0].focus();else this.shadowRoot.querySelector(".close-btn")?.focus()}_handleTabKey(t){let n=this._getFocusableElements();if(n.length===0){t.preventDefault();return}let b=n[0],o=n[n.length-1];if(t.shiftKey){if(document.activeElement===b)t.preventDefault(),o.focus()}else if(document.activeElement===o)t.preventDefault(),b.focus()}open(){this.setAttribute("open",""),document.body.style.overflow="hidden",this._previousFocus=document.activeElement,this._focusFirstFocusableElement(),this.emit("af-open")}close(){if(this.removeAttribute("open"),document.body.style.overflow="",this._previousFocus&&this._previousFocus.focus)this._previousFocus.focus();this.emit("af-close")}attributeChangedCallback(t,n,b){if(this.render(),t==="open")this._setupListeners()}render(){let t=this.hasAttribute("open"),n=this.getAttribute("theme")||"tanzania",b=this.getAttribute("size")||"md",o={tanzania:{accent:"#1EB53A"},maasai:{accent:"#FF0000"},ndebele:{accent:"#4169E1"}},l=o[n]||o.tanzania,a={sm:"400px",md:"560px",lg:"720px",full:"95vw"},f=this.getAttribute("aria-label"),r=this.getAttribute("aria-labelledby")||"modal-title";this.shadowRoot.innerHTML=`
958
958
  <style>
959
959
  :host {
960
960
  font-family: 'Inter', system-ui, sans-serif;
@@ -981,7 +981,7 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
981
981
  background: white;
982
982
  border-radius: 8px;
983
983
  width: 100%;
984
- max-width: ${a[o]||a.md};
984
+ max-width: ${a[b]||a.md};
985
985
  max-height: 90vh;
986
986
  overflow: hidden;
987
987
  display: flex;
@@ -1045,7 +1045,7 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
1045
1045
  </style>
1046
1046
 
1047
1047
  <div class="backdrop">
1048
- <div class="modal" role="dialog" aria-modal="true" ${f?`aria-label="${f}"`:`aria-labelledby="${h}"`}>
1048
+ <div class="modal" role="dialog" aria-modal="true" ${f?`aria-label="${f}"`:`aria-labelledby="${r}"`}>
1049
1049
  <div class="modal-header">
1050
1050
  <slot name="header" id="modal-title"></slot>
1051
1051
  <button class="close-btn" aria-label="Close modal">×</button>
@@ -1058,7 +1058,7 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
1058
1058
  </div>
1059
1059
  </div>
1060
1060
  </div>
1061
- `}};_("af-modal",Tt);Zb=Tt});var V0={};Q(V0,{default:()=>eb,AfriTabs:()=>Ct});var Ct,eb;var N0=x(()=>{S();Ct=class Ct extends c{static get observedAttributes(){return["theme"]}constructor(){super();this._activeTab=0,this.render()}connectedCallback(){this._setupTabs(),this.addEventListener("keydown",this._handleKeydown.bind(this))}_handleKeydown(t){let n=this.querySelector('[slot="tabs"]'),o=n?Array.from(n.children):[];if(o.length===0)return;switch(t.key){case"ArrowLeft":t.preventDefault(),this._activeTab=this._activeTab>0?this._activeTab-1:o.length-1,this.render(),this._setupTabs(),this._focusActiveTab();break;case"ArrowRight":t.preventDefault(),this._activeTab=this._activeTab<o.length-1?this._activeTab+1:0,this.render(),this._setupTabs(),this._focusActiveTab();break;case"Home":t.preventDefault(),this._activeTab=0,this.render(),this._setupTabs(),this._focusActiveTab();break;case"End":t.preventDefault(),this._activeTab=o.length-1,this.render(),this._setupTabs(),this._focusActiveTab();break}}_focusActiveTab(){let t=this.shadowRoot.querySelectorAll(".tab-button");if(t[this._activeTab])t[this._activeTab].focus()}_setupTabs(){this.shadowRoot.querySelectorAll(".tab-button").forEach((n,o)=>{n.addEventListener("click",()=>{this._activeTab=o,this.render(),this._setupTabs(),this.emit("af-tab-change",{index:o,tab:n.textContent})})})}attributeChangedCallback(){this.render(),this._setupTabs()}render(){let t=this.getAttribute("theme")||"tanzania",n=this.querySelector('[slot="tabs"]'),o=n?Array.from(n.children):[],b={tanzania:{active:"#1EB53A",text:"#FFFFFF"},maasai:{active:"#FF0000",text:"#FFFFFF"},ndebele:{active:"#4169E1",text:"#FFFFFF"}},l=b[t]||b.tanzania;this.shadowRoot.innerHTML=`
1061
+ `}};_("af-modal",Tt);zb=Tt});var No={};k(No,{default:()=>tl,AfriTabs:()=>Ct});var Ct,tl;var Ko=x(()=>{m();Ct=class Ct extends c{static get observedAttributes(){return["theme"]}constructor(){super();this._activeTab=0,this.render()}connectedCallback(){this._setupTabs(),this.addEventListener("keydown",this._handleKeydown.bind(this))}_handleKeydown(t){let n=this.querySelector('[slot="tabs"]'),b=n?Array.from(n.children):[];if(b.length===0)return;switch(t.key){case"ArrowLeft":t.preventDefault(),this._activeTab=this._activeTab>0?this._activeTab-1:b.length-1,this.render(),this._setupTabs(),this._focusActiveTab();break;case"ArrowRight":t.preventDefault(),this._activeTab=this._activeTab<b.length-1?this._activeTab+1:0,this.render(),this._setupTabs(),this._focusActiveTab();break;case"Home":t.preventDefault(),this._activeTab=0,this.render(),this._setupTabs(),this._focusActiveTab();break;case"End":t.preventDefault(),this._activeTab=b.length-1,this.render(),this._setupTabs(),this._focusActiveTab();break}}_focusActiveTab(){let t=this.shadowRoot.querySelectorAll(".tab-button");if(t[this._activeTab])t[this._activeTab].focus()}_setupTabs(){this.shadowRoot.querySelectorAll(".tab-button").forEach((n,b)=>{n.addEventListener("click",()=>{this._activeTab=b,this.render(),this._setupTabs(),this.emit("af-tab-change",{index:b,tab:n.textContent})})})}attributeChangedCallback(){this.render(),this._setupTabs()}render(){let t=this.getAttribute("theme")||"tanzania",n=this.querySelector('[slot="tabs"]'),b=n?Array.from(n.children):[],o={tanzania:{active:"#1EB53A",text:"#FFFFFF"},maasai:{active:"#FF0000",text:"#FFFFFF"},ndebele:{active:"#4169E1",text:"#FFFFFF"}},l=o[t]||o.tanzania;this.shadowRoot.innerHTML=`
1062
1062
  <style>
1063
1063
  :host {
1064
1064
  display: block;
@@ -1130,7 +1130,7 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
1130
1130
 
1131
1131
  <div class="tabs-container">
1132
1132
  <div class="tab-list" role="tablist">
1133
- ${o.map((a,f)=>`
1133
+ ${b.map((a,f)=>`
1134
1134
  <button class="tab-button ${f===this._activeTab?"active":""}"
1135
1135
  role="tab"
1136
1136
  aria-selected="${f===this._activeTab}"
@@ -1142,7 +1142,7 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
1142
1142
  `).join("")}
1143
1143
  </div>
1144
1144
  <div class="tab-panels">
1145
- ${o.map((a,f)=>`
1145
+ ${b.map((a,f)=>`
1146
1146
  <div class="tab-panel ${f===this._activeTab?"active":""}"
1147
1147
  role="tabpanel"
1148
1148
  id="panel-${f}"
@@ -1153,7 +1153,7 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
1153
1153
  </div>
1154
1154
  </div>
1155
1155
  <slot name="tabs"></slot>
1156
- `}};_("af-tabs",Ct);eb=Ct});var K0={};Q(K0,{default:()=>sb,AfriSidebar:()=>yt});var yt,sb;var p0=x(()=>{S();Dt();Et();yt=class yt extends c{static get observedAttributes(){return["position"]}constructor(){super();this._unsubscribe=null}connectedCallback(){super.connectedCallback(),this._unsubscribe=Rt(()=>{this.updateUI()}),this.render()}disconnectedCallback(){if(this._unsubscribe)this._unsubscribe()}updateUI(){let t=Ht.ui.sidebarCollapsed,n=this.shadowRoot.querySelector(".sidebar"),o=this.shadowRoot.querySelector(".sidebar-title"),b=this.shadowRoot.getElementById("toggle"),l=this.shadowRoot.querySelector(".sidebar-content");if(n)n.style.width=t?"60px":"260px";if(o)o.style.opacity=t?"0":"1";if(l)l.style.padding=t?"12px":"20px";if(b)b.innerHTML=t?"→":"← Collapse"}render(){let t=this.getAttribute("position")||"left",n=Ht.ui.sidebarCollapsed;this.shadowRoot.innerHTML=`
1156
+ `}};_("af-tabs",Ct);tl=Ct});var uo={};k(uo,{default:()=>nl,AfriSidebar:()=>yt});var yt,nl;var io=x(()=>{m();Ot();Ht();yt=class yt extends c{static get observedAttributes(){return["position"]}constructor(){super();this._unsubscribe=null}connectedCallback(){super.connectedCallback(),this._unsubscribe=Bt(()=>{this.updateUI()}),this.render()}disconnectedCallback(){if(this._unsubscribe)this._unsubscribe()}updateUI(){let t=Et.ui.sidebarCollapsed,n=this.shadowRoot.querySelector(".sidebar"),b=this.shadowRoot.querySelector(".sidebar-title"),o=this.shadowRoot.getElementById("toggle"),l=this.shadowRoot.querySelector(".sidebar-content");if(n)n.style.width=t?"60px":"260px";if(b)b.style.opacity=t?"0":"1";if(l)l.style.padding=t?"12px":"20px";if(o)o.innerHTML=t?"→":"← Collapse"}render(){let t=this.getAttribute("position")||"left",n=Et.ui.sidebarCollapsed;this.shadowRoot.innerHTML=`
1157
1157
  <style>
1158
1158
  :host {
1159
1159
  display: block;
@@ -1262,7 +1262,7 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
1262
1262
  </button>
1263
1263
  </div>
1264
1264
  </aside>
1265
- `,this.shadowRoot.getElementById("toggle").addEventListener("click",()=>{actions.toggleSidebar()})}};_("af-sidebar",yt);sb=yt});var I0={};Q(I0,{default:()=>zb,AfriDropdown:()=>Zt});var Zt,zb;var u0=x(()=>{S();Zt=class Zt extends c{static get observedAttributes(){return["label","open"]}constructor(){super();this._open=!1,this.render()}toggle(){if(this._open=!this._open,this._open)this.setAttribute("open","");else this.removeAttribute("open");this.render()}close(){this._open=!1,this.removeAttribute("open"),this.render()}connectedCallback(){document.addEventListener("click",(t)=>{if(!this.contains(t.target))this.close()}),this.addEventListener("keydown",this._handleKeydown.bind(this))}_handleKeydown(t){let n=this.shadowRoot.getElementById("trigger");switch(t.key){case"Enter":case" ":t.preventDefault(),this.toggle();break;case"Escape":if(this._open)t.preventDefault(),this.close(),n.focus();break;case"ArrowDown":if(!this._open)t.preventDefault(),this.toggle();break}}render(){let t=this.getAttribute("label")||"Menu",n=this.hasAttribute("open");this.shadowRoot.innerHTML=`
1265
+ `,this.shadowRoot.getElementById("toggle").addEventListener("click",()=>{actions.toggleSidebar()})}};_("af-sidebar",yt);nl=yt});var Io={};k(Io,{default:()=>ol,AfriDropdown:()=>et});var et,ol;var Po=x(()=>{m();et=class et extends c{static get observedAttributes(){return["label","open"]}constructor(){super();this._open=!1,this.render()}toggle(){if(this._open=!this._open,this._open)this.setAttribute("open","");else this.removeAttribute("open");this.render()}close(){this._open=!1,this.removeAttribute("open"),this.render()}connectedCallback(){document.addEventListener("click",(t)=>{if(!this.contains(t.target))this.close()}),this.addEventListener("keydown",this._handleKeydown.bind(this))}_handleKeydown(t){let n=this.shadowRoot.getElementById("trigger");switch(t.key){case"Enter":case" ":t.preventDefault(),this.toggle();break;case"Escape":if(this._open)t.preventDefault(),this.close(),n.focus();break;case"ArrowDown":if(!this._open)t.preventDefault(),this.toggle();break}}render(){let t=this.getAttribute("label")||"Menu",n=this.hasAttribute("open");this.shadowRoot.innerHTML=`
1266
1266
  <style>
1267
1267
  :host {
1268
1268
  display: inline-block;
@@ -1344,7 +1344,7 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
1344
1344
  <div class="dropdown-menu" role="menu" ${n?"":'aria-hidden="true"'}>
1345
1345
  <slot></slot>
1346
1346
  </div>
1347
- `,this.shadowRoot.getElementById("trigger").addEventListener("click",(o)=>{o.stopPropagation(),this.toggle()})}};_("af-dropdown",Zt);zb=Zt});var i0={};Q(i0,{default:()=>tl,AfriSelect:()=>et});var et,tl;var P0=x(()=>{S();et=class et extends c{static get observedAttributes(){return["label","placeholder","theme","error","required","aria-label","aria-describedby"]}constructor(){super();this._uniqueId=Math.random().toString(36).substr(2,9),this._isOpen=!1,this._selectedIndex=-1,this._options=[],this.render()}get value(){return this._selectedIndex>=0?this._options[this._selectedIndex]?.value:""}connectedCallback(){this._options=Array.from(this.querySelectorAll("option")).map((t)=>({value:t.value,label:t.textContent})),this.render(),this._setupListeners()}_setupListeners(){let t=this.shadowRoot.querySelector(".select-trigger"),n=this.shadowRoot.querySelector(".select-dropdown");t?.addEventListener("click",()=>{this._toggleDropdown()}),t?.addEventListener("keydown",(o)=>{this._handleKeydown(o)}),this.shadowRoot.querySelectorAll(".select-option").forEach((o,b)=>{o.addEventListener("click",()=>{this._selectOption(b)})}),document.addEventListener("click",(o)=>{if(!this.contains(o.target)&&this._isOpen)this._closeDropdown()})}_toggleDropdown(){this._isOpen=!this._isOpen;let t=this.shadowRoot.querySelector(".select-trigger"),n=this.shadowRoot.querySelector(".select-dropdown");if(n?.classList.toggle("open",this._isOpen),t?.classList.toggle("open",this._isOpen),this._isOpen)t?.setAttribute("aria-expanded","true"),n?.setAttribute("aria-hidden","false");else t?.setAttribute("aria-expanded","false"),n?.setAttribute("aria-hidden","true")}_closeDropdown(){this._isOpen=!1;let t=this.shadowRoot.querySelector(".select-trigger"),n=this.shadowRoot.querySelector(".select-dropdown");n?.classList.remove("open"),t?.classList.remove("open"),t?.setAttribute("aria-expanded","false"),n?.setAttribute("aria-hidden","true")}_selectOption(t){this._selectedIndex=t,this._closeDropdown(),this.render(),this._setupListeners(),this.emit("af-change",{value:this.value,label:this._options[t].label})}_handleKeydown(t){let n=this.shadowRoot.querySelector(".select-trigger");switch(t.key){case"Enter":case" ":t.preventDefault(),this._toggleDropdown();break;case"Escape":if(this._isOpen)t.preventDefault(),this._closeDropdown(),n.focus();break;case"ArrowDown":if(!this._isOpen)t.preventDefault(),this._toggleDropdown();else t.preventDefault(),this._navigateOptions(1);break;case"ArrowUp":if(this._isOpen)t.preventDefault(),this._navigateOptions(-1);break}}_navigateOptions(t){let n=this.shadowRoot.querySelectorAll(".select-option");if(n.length===0)return;let o=this._selectedIndex+t;if(o<0)o=n.length-1;if(o>=n.length)o=0;this._selectedIndex=o,this.render(),this._setupListeners(),this.shadowRoot.querySelector(".select-option.selected")?.scrollIntoView({block:"nearest"})}attributeChangedCallback(){this.render(),this._setupListeners()}render(){let t=this.getAttribute("label")||"",n=this.getAttribute("placeholder")||"Select an option",o=this.getAttribute("theme")||"tanzania",b=this.getAttribute("error")||"",l=this.hasAttribute("required"),a=this.getAttribute("aria-label"),f=this.getAttribute("aria-describedby"),h={tanzania:{focus:"#1EB53A",error:"#DC3545"},maasai:{focus:"#FF0000",error:"#8B0000"},ndebele:{focus:"#4169E1",error:"#DC143C"}},r=h[o]||h.tanzania,A=[];if(b)A.push(`error-${this._uniqueId}`);if(f)A.push(...f.split(" "));let X=A.length>0?`aria-describedby="${A.join(" ")}"`:"",L=this._selectedIndex>=0?this._options[this._selectedIndex]?.label:n;this.shadowRoot.innerHTML=`
1347
+ `,this.shadowRoot.getElementById("trigger").addEventListener("click",(b)=>{b.stopPropagation(),this.toggle()})}};_("af-dropdown",et);ol=et});var To={};k(To,{default:()=>bl,AfriSelect:()=>Zt});var Zt,bl;var Co=x(()=>{m();Zt=class Zt extends c{static get observedAttributes(){return["label","placeholder","theme","error","required","aria-label","aria-describedby"]}constructor(){super();this._uniqueId=Math.random().toString(36).substr(2,9),this._isOpen=!1,this._selectedIndex=-1,this._options=[],this.render()}get value(){return this._selectedIndex>=0?this._options[this._selectedIndex]?.value:""}connectedCallback(){this._options=Array.from(this.querySelectorAll("option")).map((t)=>({value:t.value,label:t.textContent})),this.render(),this._setupListeners()}_setupListeners(){let t=this.shadowRoot.querySelector(".select-trigger"),n=this.shadowRoot.querySelector(".select-dropdown");t?.addEventListener("click",()=>{this._toggleDropdown()}),t?.addEventListener("keydown",(b)=>{this._handleKeydown(b)}),this.shadowRoot.querySelectorAll(".select-option").forEach((b,o)=>{b.addEventListener("click",()=>{this._selectOption(o)})}),document.addEventListener("click",(b)=>{if(!this.contains(b.target)&&this._isOpen)this._closeDropdown()})}_toggleDropdown(){this._isOpen=!this._isOpen;let t=this.shadowRoot.querySelector(".select-trigger"),n=this.shadowRoot.querySelector(".select-dropdown");if(n?.classList.toggle("open",this._isOpen),t?.classList.toggle("open",this._isOpen),this._isOpen)t?.setAttribute("aria-expanded","true"),n?.setAttribute("aria-hidden","false");else t?.setAttribute("aria-expanded","false"),n?.setAttribute("aria-hidden","true")}_closeDropdown(){this._isOpen=!1;let t=this.shadowRoot.querySelector(".select-trigger"),n=this.shadowRoot.querySelector(".select-dropdown");n?.classList.remove("open"),t?.classList.remove("open"),t?.setAttribute("aria-expanded","false"),n?.setAttribute("aria-hidden","true")}_selectOption(t){this._selectedIndex=t,this._closeDropdown(),this.render(),this._setupListeners(),this.emit("af-change",{value:this.value,label:this._options[t].label})}_handleKeydown(t){let n=this.shadowRoot.querySelector(".select-trigger");switch(t.key){case"Enter":case" ":t.preventDefault(),this._toggleDropdown();break;case"Escape":if(this._isOpen)t.preventDefault(),this._closeDropdown(),n.focus();break;case"ArrowDown":if(!this._isOpen)t.preventDefault(),this._toggleDropdown();else t.preventDefault(),this._navigateOptions(1);break;case"ArrowUp":if(this._isOpen)t.preventDefault(),this._navigateOptions(-1);break}}_navigateOptions(t){let n=this.shadowRoot.querySelectorAll(".select-option");if(n.length===0)return;let b=this._selectedIndex+t;if(b<0)b=n.length-1;if(b>=n.length)b=0;this._selectedIndex=b,this.render(),this._setupListeners(),this.shadowRoot.querySelector(".select-option.selected")?.scrollIntoView({block:"nearest"})}attributeChangedCallback(){this.render(),this._setupListeners()}render(){let t=this.getAttribute("label")||"",n=this.getAttribute("placeholder")||"Select an option",b=this.getAttribute("theme")||"tanzania",o=this.getAttribute("error")||"",l=this.hasAttribute("required"),a=this.getAttribute("aria-label"),f=this.getAttribute("aria-describedby"),r={tanzania:{focus:"#1EB53A",error:"#DC3545"},maasai:{focus:"#FF0000",error:"#8B0000"},ndebele:{focus:"#4169E1",error:"#DC143C"}},h=r[b]||r.tanzania,A=[];if(o)A.push(`error-${this._uniqueId}`);if(f)A.push(...f.split(" "));let S=A.length>0?`aria-describedby="${A.join(" ")}"`:"",G=this._selectedIndex>=0?this._options[this._selectedIndex]?.label:n;this.shadowRoot.innerHTML=`
1348
1348
  <style>
1349
1349
  :host {
1350
1350
  display: block;
@@ -1361,7 +1361,7 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
1361
1361
  }
1362
1362
 
1363
1363
  .required-star {
1364
- color: ${r.error};
1364
+ color: ${h.error};
1365
1365
  margin-left: 2px;
1366
1366
  }
1367
1367
 
@@ -1373,7 +1373,7 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
1373
1373
  width: 100%;
1374
1374
  padding: 10px 40px 10px 13px;
1375
1375
  font-size: 15px;
1376
- border: 2px solid ${b?r.error:"#ddd"};
1376
+ border: 2px solid ${o?h.error:"#ddd"};
1377
1377
  border-radius: 5px;
1378
1378
  background: white;
1379
1379
  cursor: pointer;
@@ -1386,8 +1386,8 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
1386
1386
  .select-trigger:focus,
1387
1387
  .select-trigger.open {
1388
1388
  outline: none;
1389
- border-color: ${b?r.error:r.focus};
1390
- box-shadow: 0 0 0 3px ${b?r.error+"20":r.focus+"20"};
1389
+ border-color: ${o?h.error:h.focus};
1390
+ box-shadow: 0 0 0 3px ${o?h.error+"20":h.focus+"20"};
1391
1391
  }
1392
1392
 
1393
1393
  .select-arrow {
@@ -1433,18 +1433,18 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
1433
1433
  }
1434
1434
 
1435
1435
  .select-option:hover {
1436
- background: ${r.focus}15;
1436
+ background: ${h.focus}15;
1437
1437
  }
1438
1438
 
1439
1439
  .select-option.selected {
1440
- background: ${r.focus};
1440
+ background: ${h.focus};
1441
1441
  color: white;
1442
1442
  }
1443
1443
 
1444
1444
  .error-text {
1445
1445
  font-size: 12px;
1446
1446
  margin-top: 4px;
1447
- color: ${r.error};
1447
+ color: ${h.error};
1448
1448
  }
1449
1449
 
1450
1450
  ::slotted(option) {
@@ -1460,27 +1460,27 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
1460
1460
  aria-expanded="${this._isOpen}"
1461
1461
  aria-haspopup="listbox"
1462
1462
  ${a?`aria-label="${a}"`:""}
1463
- ${b?'aria-invalid="true"':""}
1464
- ${X}>
1465
- ${L}
1463
+ ${o?'aria-invalid="true"':""}
1464
+ ${S}>
1465
+ ${G}
1466
1466
  </button>
1467
1467
  <span class="select-arrow" aria-hidden="true">▼</span>
1468
1468
  <div class="select-dropdown ${this._isOpen?"open":""}"
1469
1469
  role="listbox"
1470
1470
  aria-hidden="${!this._isOpen}">
1471
- ${this._options.map((J,D)=>`
1472
- <div class="select-option ${D===this._selectedIndex?"selected":""}"
1473
- data-index="${D}"
1471
+ ${this._options.map((J,O)=>`
1472
+ <div class="select-option ${O===this._selectedIndex?"selected":""}"
1473
+ data-index="${O}"
1474
1474
  role="option"
1475
- aria-selected="${D===this._selectedIndex}">
1475
+ aria-selected="${O===this._selectedIndex}">
1476
1476
  ${J.label}
1477
1477
  </div>
1478
1478
  `).join("")}
1479
1479
  </div>
1480
1480
  </div>
1481
- ${b?`<div id="error-${this._uniqueId}" class="error-text" role="alert">${b}</div>`:""}
1481
+ ${o?`<div id="error-${this._uniqueId}" class="error-text" role="alert">${o}</div>`:""}
1482
1482
  <slot></slot>
1483
- `}};_("af-select",et);tl=et});var T0={};Q(T0,{default:()=>nl,AfriForm:()=>st});var st,nl;var C0=x(()=>{S();Xn();st=class st extends c{static get observedAttributes(){return["action","method","error","success","schema"]}constructor(){super();this.handleSubmit=this.handleSubmit.bind(this)}connectedCallback(){this.render(),this.shadowRoot.querySelector("form").addEventListener("submit",this.handleSubmit),this.loadStyles()}async handleSubmit(t){t.preventDefault();let n=t.target,o=this.querySelector('[type="submit"]')||this.shadowRoot.querySelector('button[type="submit"]'),b=this.getAttribute("schema"),l=b?this._getSchema(b):null,a=this.getAttribute("action"),f=this.getAttribute("method")||"GET",h=new FormData(n),r=Object.fromEntries(h.entries());if(Array.from(this.querySelectorAll("af-input")).forEach((X)=>{let L=X.getAttribute("name");if(L)r[L]=X.value}),l){let X=Jt.validate(l,r);if(!X.success){this._showValidationErrors(X.errors),this.emit("af-validation-error",{errors:X.errors});return}}if(!a)return;if(o){var A=o.textContent;o.textContent="Wait...",o.disabled=!0}try{let X=await fetch(a,{method:f,headers:{"Content-Type":"application/json"},body:JSON.stringify(r)});if(X.ok)this.emit("success",await X.json()),this.setAttribute("success","Form submitted successfully!"),this.removeAttribute("error");else{let L=await X.text();this.emit("error",L),this.setAttribute("error",L),this.removeAttribute("success")}}catch(X){this.emit("error",X.message),this.setAttribute("error",X.message),this.removeAttribute("success")}finally{if(o)o.textContent=A,o.disabled=!1}}_getSchema(t){return Y0[t]||null}_showValidationErrors(t){this.shadowRoot.querySelectorAll(".field-error").forEach((n)=>n.remove()),Object.entries(t).forEach(([n,o])=>{let b=this.querySelector(`[name="${n}"]`);if(b)if(b.tagName==="AF-INPUT")b.setAttribute("error",o);else{let l=document.createElement("div");l.className="field-error",l.textContent=o,l.style.color="red",l.style.fontSize="12px",l.style.marginTop="4px",b.parentNode.insertBefore(l,b.nextSibling)}})}};_("af-form",st);nl=st});var y0={};Q(y0,{default:()=>ol,AfriTooltip:()=>zt});var zt,ol;var Z0=x(()=>{S();zt=class zt extends c{static get observedAttributes(){return["text","position"]}constructor(){super();this._tooltipId=`af-tooltip-${Math.random().toString(36).substr(2,9)}`,this.render()}connectedCallback(){this._setupTooltipListeners()}attributeChangedCallback(){this.render(),this._setupTooltipListeners()}_setupTooltipListeners(){let t=this.shadowRoot.querySelector(".tooltip-trigger"),n=this.shadowRoot.querySelector(".tooltip-content");if(!t||!n)return;t.addEventListener("focus",()=>{n.style.opacity="1",n.style.visibility="visible",n.setAttribute("aria-hidden","false")}),t.addEventListener("blur",()=>{n.style.opacity="0",n.style.visibility="hidden",n.setAttribute("aria-hidden","true")}),t.addEventListener("mouseenter",()=>{n.style.opacity="1",n.style.visibility="visible",n.setAttribute("aria-hidden","false")}),t.addEventListener("mouseleave",()=>{n.style.opacity="0",n.style.visibility="hidden",n.setAttribute("aria-hidden","true")})}render(){let t=this.getAttribute("text")||"Tooltip",n=this.getAttribute("position")||"top",o={top:`
1483
+ `}};_("af-select",Zt);bl=Zt});var yo={};k(yo,{default:()=>ll,AfriForm:()=>st});var st,ll;var eo=x(()=>{m();Sn();st=class st extends c{static get observedAttributes(){return["action","method","error","success","schema"]}constructor(){super();this.handleSubmit=this.handleSubmit.bind(this)}connectedCallback(){this.render(),this.shadowRoot.querySelector("form").addEventListener("submit",this.handleSubmit),this.loadStyles()}async handleSubmit(t){t.preventDefault();let n=t.target,b=this.querySelector('[type="submit"]')||this.shadowRoot.querySelector('button[type="submit"]'),o=this.getAttribute("schema"),l=o?this._getSchema(o):null,a=this.getAttribute("action"),f=this.getAttribute("method")||"GET",r=new FormData(n),h=Object.fromEntries(r.entries());if(Array.from(this.querySelectorAll("af-input")).forEach((S)=>{let G=S.getAttribute("name");if(G)h[G]=S.value}),l){let S=Jt.validate(l,h);if(!S.success){this._showValidationErrors(S.errors),this.emit("af-validation-error",{errors:S.errors});return}}if(!a)return;if(b){var A=b.textContent;b.textContent="Wait...",b.disabled=!0}try{let S=await fetch(a,{method:f,headers:{"Content-Type":"application/json"},body:JSON.stringify(h)});if(S.ok)this.emit("success",await S.json()),this.setAttribute("success","Form submitted successfully!"),this.removeAttribute("error");else{let G=await S.text();this.emit("error",G),this.setAttribute("error",G),this.removeAttribute("success")}}catch(S){this.emit("error",S.message),this.setAttribute("error",S.message),this.removeAttribute("success")}finally{if(b)b.textContent=A,b.disabled=!1}}_getSchema(t){return Mo[t]||null}_showValidationErrors(t){this.shadowRoot.querySelectorAll(".field-error").forEach((n)=>n.remove()),Object.entries(t).forEach(([n,b])=>{let o=this.querySelector(`[name="${n}"]`);if(o)if(o.tagName==="AF-INPUT")o.setAttribute("error",b);else{let l=document.createElement("div");l.className="field-error",l.textContent=b,l.style.color="red",l.style.fontSize="12px",l.style.marginTop="4px",o.parentNode.insertBefore(l,o.nextSibling)}})}};_("af-form",st);ll=st});var Zo={};k(Zo,{default:()=>al,AfriTooltip:()=>zt});var zt,al;var so=x(()=>{m();zt=class zt extends c{static get observedAttributes(){return["text","position"]}constructor(){super();this._tooltipId=`af-tooltip-${Math.random().toString(36).substr(2,9)}`,this.render()}connectedCallback(){this._setupTooltipListeners()}attributeChangedCallback(){this.render(),this._setupTooltipListeners()}_setupTooltipListeners(){let t=this.shadowRoot.querySelector(".tooltip-trigger"),n=this.shadowRoot.querySelector(".tooltip-content");if(!t||!n)return;t.addEventListener("focus",()=>{n.style.opacity="1",n.style.visibility="visible",n.setAttribute("aria-hidden","false")}),t.addEventListener("blur",()=>{n.style.opacity="0",n.style.visibility="hidden",n.setAttribute("aria-hidden","true")}),t.addEventListener("mouseenter",()=>{n.style.opacity="1",n.style.visibility="visible",n.setAttribute("aria-hidden","false")}),t.addEventListener("mouseleave",()=>{n.style.opacity="0",n.style.visibility="hidden",n.setAttribute("aria-hidden","true")})}render(){let t=this.getAttribute("text")||"Tooltip",n=this.getAttribute("position")||"top",b={top:`
1484
1484
  bottom: 100%;
1485
1485
  left: 50%;
1486
1486
  transform: translateX(-50%) translateY(-8px);
@@ -1511,7 +1511,7 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
1511
1511
 
1512
1512
  .tooltip-content {
1513
1513
  position: absolute;
1514
- ${o[n]}
1514
+ ${b[n]}
1515
1515
  padding: 8px 12px;
1516
1516
  background: #1e1e1e;
1517
1517
  border: 1px solid #2a2a2a;
@@ -1569,7 +1569,7 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
1569
1569
  <slot></slot>
1570
1570
  </span>
1571
1571
  <div class="tooltip-content" id="${this._tooltipId}" role="tooltip" aria-hidden="true">${t}</div>
1572
- `}};_("af-tooltip",zt);ol=zt});var e0={};Q(e0,{default:()=>bl,AfriToast:()=>tn});var tn,bl;var s0=x(()=>{S();tn=class tn extends c{static get observedAttributes(){return["type","message","duration"]}constructor(){super();this.render()}show(t,n="info",o=4000){if(this.setAttribute("message",t),this.setAttribute("type",n),this.render(),this.shadowRoot.querySelector(".toast").classList.add("show"),o>0)setTimeout(()=>this.hide(),o)}hide(){this.shadowRoot.querySelector(".toast").classList.remove("show"),setTimeout(()=>this.emit("af-toast-close"),300)}render(){let t=this.getAttribute("type")||"info",n=this.getAttribute("message")||"",o={success:"✓",error:"✗",warning:"⚠",info:"ℹ"},b={success:"#1EB53A",error:"#EF3340",warning:"#FCD116",info:"#00A3DD"};this.shadowRoot.innerHTML=`
1572
+ `}};_("af-tooltip",zt);al=zt});var zo={};k(zo,{default:()=>fl,AfriToast:()=>tn});var tn,fl;var t0=x(()=>{m();tn=class tn extends c{static get observedAttributes(){return["type","message","duration"]}constructor(){super();this.render()}show(t,n="info",b=4000){if(this.setAttribute("message",t),this.setAttribute("type",n),this.render(),this.shadowRoot.querySelector(".toast").classList.add("show"),b>0)setTimeout(()=>this.hide(),b)}hide(){this.shadowRoot.querySelector(".toast").classList.remove("show"),setTimeout(()=>this.emit("af-toast-close"),300)}render(){let t=this.getAttribute("type")||"info",n=this.getAttribute("message")||"",b={success:"✓",error:"✗",warning:"⚠",info:"ℹ"},o={success:"#1EB53A",error:"#EF3340",warning:"#FCD116",info:"#00A3DD"};this.shadowRoot.innerHTML=`
1573
1573
  <style>
1574
1574
  :host {
1575
1575
  position: fixed;
@@ -1586,7 +1586,7 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
1586
1586
  padding: 16px 20px;
1587
1587
  background: #121212;
1588
1588
  border: 1px solid #1e1e1e;
1589
- border-left: 4px solid ${b[t]};
1589
+ border-left: 4px solid ${o[t]};
1590
1590
  border-radius: 8px;
1591
1591
  box-shadow: 0 10px 40px rgba(0,0,0,0.5);
1592
1592
  transform: translateX(120%);
@@ -1603,8 +1603,8 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
1603
1603
  width: 28px;
1604
1604
  height: 28px;
1605
1605
  border-radius: 50%;
1606
- background: ${b[t]}20;
1607
- color: ${b[t]};
1606
+ background: ${o[t]}20;
1607
+ color: ${o[t]};
1608
1608
  display: flex;
1609
1609
  align-items: center;
1610
1610
  justify-content: center;
@@ -1637,13 +1637,13 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
1637
1637
  </style>
1638
1638
 
1639
1639
  <div class="toast">
1640
- <span class="toast-icon">${o[t]}</span>
1640
+ <span class="toast-icon">${b[t]}</span>
1641
1641
  <div class="toast-content">
1642
1642
  <div class="toast-message">${n}</div>
1643
1643
  </div>
1644
1644
  <button class="toast-close" id="close">×</button>
1645
1645
  </div>
1646
- `,this.shadowRoot.getElementById("close")?.addEventListener("click",()=>this.hide())}};_("af-toast",tn);bl=tn});var z0={};Q(z0,{default:()=>ll,AfriBadge:()=>nn});var nn,ll;var to=x(()=>{S();nn=class nn extends c{static get observedAttributes(){return["variant","size","removable"]}constructor(){super();this.render()}connectedCallback(){this.shadowRoot.querySelector(".remove-btn")?.addEventListener("click",()=>{this.emit("af-remove"),this.remove()})}attributeChangedCallback(){this.render()}render(){let t=this.getAttribute("variant")||"default",n=this.getAttribute("size")||"md",o=this.hasAttribute("removable"),b={default:{bg:"#e9ecef",text:"#495057"},success:{bg:"#d4edda",text:"#155724"},warning:{bg:"#fff3cd",text:"#856404"},error:{bg:"#f8d7da",text:"#721c24"},info:{bg:"#d1ecf1",text:"#0c5460"},tanzania:{bg:"#1EB53A",text:"#FFFFFF"},maasai:{bg:"#FF0000",text:"#FFFFFF"},ndebele:{bg:"#4169E1",text:"#FFFFFF"},gold:{bg:"#FCD116",text:"#000000"}},l=b[t]||b.default,a={sm:{padding:"2px 6px",fontSize:"11px"},md:{padding:"4px 10px",fontSize:"13px"},lg:{padding:"6px 14px",fontSize:"15px"}},f=a[n]||a.md;this.shadowRoot.innerHTML=`
1646
+ `,this.shadowRoot.getElementById("close")?.addEventListener("click",()=>this.hide())}};_("af-toast",tn);fl=tn});var n0={};k(n0,{default:()=>rl,AfriBadge:()=>nn});var nn,rl;var o0=x(()=>{m();nn=class nn extends c{static get observedAttributes(){return["variant","size","removable"]}constructor(){super();this.render()}connectedCallback(){this.shadowRoot.querySelector(".remove-btn")?.addEventListener("click",()=>{this.emit("af-remove"),this.remove()})}attributeChangedCallback(){this.render()}render(){let t=this.getAttribute("variant")||"default",n=this.getAttribute("size")||"md",b=this.hasAttribute("removable"),o={default:{bg:"#e9ecef",text:"#495057"},success:{bg:"#d4edda",text:"#155724"},warning:{bg:"#fff3cd",text:"#856404"},error:{bg:"#f8d7da",text:"#721c24"},info:{bg:"#d1ecf1",text:"#0c5460"},tanzania:{bg:"#1EB53A",text:"#FFFFFF"},maasai:{bg:"#FF0000",text:"#FFFFFF"},ndebele:{bg:"#4169E1",text:"#FFFFFF"},gold:{bg:"#FCD116",text:"#000000"}},l=o[t]||o.default,a={sm:{padding:"2px 6px",fontSize:"11px"},md:{padding:"4px 10px",fontSize:"13px"},lg:{padding:"6px 14px",fontSize:"15px"}},f=a[n]||a.md;this.shadowRoot.innerHTML=`
1647
1647
  <style>
1648
1648
  :host {
1649
1649
  display: inline-block;
@@ -1682,9 +1682,9 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
1682
1682
 
1683
1683
  <span class="badge">
1684
1684
  <slot></slot>
1685
- ${o?'<button class="remove-btn" aria-label="Remove">×</button>':""}
1685
+ ${b?'<button class="remove-btn" aria-label="Remove">×</button>':""}
1686
1686
  </span>
1687
- `}};_("af-badge",nn);ll=nn});var no={};Q(no,{default:()=>al,AfriAvatar:()=>on});var on,al;var oo=x(()=>{S();on=class on extends c{static get observedAttributes(){return["src","name","size","status","theme"]}constructor(){super();this.render()}attributeChangedCallback(){this.render()}_getInitials(t){if(!t)return"?";let n=t.trim().split(" ");if(n.length>=2)return(n[0][0]+n[n.length-1][0]).toUpperCase();return t.substring(0,2).toUpperCase()}render(){let t=this.getAttribute("src"),n=this.getAttribute("name")||"",o=this.getAttribute("size")||"md",b=this.getAttribute("status"),l=this.getAttribute("theme")||"tanzania",a={tanzania:"#1EB53A",maasai:"#FF0000",ndebele:"#4169E1",gold:"#FCD116"},f=a[l]||a.tanzania,h={sm:{size:"32px",font:"12px",status:"8px"},md:{size:"44px",font:"16px",status:"10px"},lg:{size:"64px",font:"22px",status:"14px"},xl:{size:"96px",font:"32px",status:"18px"}},r=h[o]||h.md,A={online:"#28a745",offline:"#6c757d",busy:"#dc3545",away:"#ffc107"};this.shadowRoot.innerHTML=`
1687
+ `}};_("af-badge",nn);rl=nn});var b0={};k(b0,{default:()=>hl,AfriAvatar:()=>on});var on,hl;var l0=x(()=>{m();on=class on extends c{static get observedAttributes(){return["src","name","size","status","theme"]}constructor(){super();this.render()}attributeChangedCallback(){this.render()}_getInitials(t){if(!t)return"?";let n=t.trim().split(" ");if(n.length>=2)return(n[0][0]+n[n.length-1][0]).toUpperCase();return t.substring(0,2).toUpperCase()}render(){let t=this.getAttribute("src"),n=this.getAttribute("name")||"",b=this.getAttribute("size")||"md",o=this.getAttribute("status"),l=this.getAttribute("theme")||"tanzania",a={tanzania:"#1EB53A",maasai:"#FF0000",ndebele:"#4169E1",gold:"#FCD116"},f=a[l]||a.tanzania,r={sm:{size:"32px",font:"12px",status:"8px"},md:{size:"44px",font:"16px",status:"10px"},lg:{size:"64px",font:"22px",status:"14px"},xl:{size:"96px",font:"32px",status:"18px"}},h=r[b]||r.md,A={online:"#28a745",offline:"#6c757d",busy:"#dc3545",away:"#ffc107"};this.shadowRoot.innerHTML=`
1688
1688
  <style>
1689
1689
  :host {
1690
1690
  display: inline-block;
@@ -1693,8 +1693,8 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
1693
1693
 
1694
1694
  .avatar {
1695
1695
  position: relative;
1696
- width: ${r.size};
1697
- height: ${r.size};
1696
+ width: ${h.size};
1697
+ height: ${h.size};
1698
1698
  border-radius: 50%;
1699
1699
  display: flex;
1700
1700
  align-items: center;
@@ -1702,7 +1702,7 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
1702
1702
  background: ${f};
1703
1703
  color: white;
1704
1704
  font-weight: 600;
1705
- font-size: ${r.font};
1705
+ font-size: ${h.font};
1706
1706
  overflow: hidden;
1707
1707
  }
1708
1708
 
@@ -1716,19 +1716,19 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
1716
1716
  position: absolute;
1717
1717
  bottom: 0;
1718
1718
  right: 0;
1719
- width: ${r.status};
1720
- height: ${r.status};
1719
+ width: ${h.status};
1720
+ height: ${h.status};
1721
1721
  border-radius: 50%;
1722
1722
  border: 2px solid white;
1723
- background: ${b?A[b]||A.offline:"transparent"};
1723
+ background: ${o?A[o]||A.offline:"transparent"};
1724
1724
  }
1725
1725
  </style>
1726
1726
 
1727
1727
  <div class="avatar" title="${n}">
1728
1728
  ${t?`<img src="${t}" alt="${n}" />`:this._getInitials(n)}
1729
- ${b?'<span class="status"></span>':""}
1729
+ ${o?'<span class="status"></span>':""}
1730
1730
  </div>
1731
- `}};_("af-avatar",on);al=on});var bo={};Q(bo,{default:()=>fl,AfriProgress:()=>bn});var bn,fl;var lo=x(()=>{S();bn=class bn extends c{static get observedAttributes(){return["value","max","theme","size","label","animated"]}constructor(){super();this.render()}attributeChangedCallback(){this.render()}render(){let t=parseFloat(this.getAttribute("value"))||0,n=parseFloat(this.getAttribute("max"))||100,o=this.getAttribute("theme")||"tanzania",b=this.getAttribute("size")||"md",l=this.getAttribute("label"),a=this.hasAttribute("animated"),f=Math.min(100,Math.max(0,t/n*100)),h={tanzania:{bar:"#1EB53A",track:"#e9ecef"},maasai:{bar:"#FF0000",track:"#e9ecef"},ndebele:{bar:"#4169E1",track:"#e9ecef"},gold:{bar:"#FCD116",track:"#e9ecef"},gradient:{bar:"linear-gradient(90deg, #1EB53A 0%, #FCD116 50%, #00A3DD 100%)",track:"#e9ecef"}},r=h[o]||h.tanzania,A={sm:"6px",md:"10px",lg:"16px"},X=A[b]||A.md;this.shadowRoot.innerHTML=`
1731
+ `}};_("af-avatar",on);hl=on});var a0={};k(a0,{default:()=>gl,AfriProgress:()=>bn});var bn,gl;var f0=x(()=>{m();bn=class bn extends c{static get observedAttributes(){return["value","max","theme","size","label","animated"]}constructor(){super();this.render()}attributeChangedCallback(){this.render()}render(){let t=parseFloat(this.getAttribute("value"))||0,n=parseFloat(this.getAttribute("max"))||100,b=this.getAttribute("theme")||"tanzania",o=this.getAttribute("size")||"md",l=this.getAttribute("label"),a=this.hasAttribute("animated"),f=Math.min(100,Math.max(0,t/n*100)),r={tanzania:{bar:"#1EB53A",track:"#e9ecef"},maasai:{bar:"#FF0000",track:"#e9ecef"},ndebele:{bar:"#4169E1",track:"#e9ecef"},gold:{bar:"#FCD116",track:"#e9ecef"},gradient:{bar:"linear-gradient(90deg, #1EB53A 0%, #FCD116 50%, #00A3DD 100%)",track:"#e9ecef"}},h=r[b]||r.tanzania,A={sm:"6px",md:"10px",lg:"16px"},S=A[o]||A.md;this.shadowRoot.innerHTML=`
1732
1732
  <style>
1733
1733
  :host {
1734
1734
  display: block;
@@ -1757,8 +1757,8 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
1757
1757
 
1758
1758
  .progress-track {
1759
1759
  width: 100%;
1760
- height: ${X};
1761
- background: ${r.track};
1760
+ height: ${S};
1761
+ background: ${h.track};
1762
1762
  border-radius: 100px;
1763
1763
  overflow: hidden;
1764
1764
  }
@@ -1766,7 +1766,7 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
1766
1766
  .progress-bar {
1767
1767
  height: 100%;
1768
1768
  width: ${f}%;
1769
- background: ${r.bar};
1769
+ background: ${h.bar};
1770
1770
  border-radius: 100px;
1771
1771
  transition: width 500ms ease-out;
1772
1772
  ${a?`
@@ -1805,7 +1805,7 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
1805
1805
  aria-valuemax="${n}"></div>
1806
1806
  </div>
1807
1807
  </div>
1808
- `}};_("af-progress",bn);fl=bn});var ao={};Q(ao,{default:()=>hl,AfriLoader:()=>ln});var ln,hl;var fo=x(()=>{S();ln=class ln extends c{static get observedAttributes(){return["size","color","type"]}constructor(){super();this.render()}attributeChangedCallback(){this.render()}render(){let t=this.getAttribute("size")||"40",n=this.getAttribute("color")||"currentColor",o=this.getAttribute("type")||"spiral",b={spiral:`M25,25 m0,-20 a20,20 0 1,1 0,40 a20,20 0 1,1 0,-40
1808
+ `}};_("af-progress",bn);gl=bn});var r0={};k(r0,{default:()=>$l,AfriLoader:()=>ln});var ln,$l;var h0=x(()=>{m();ln=class ln extends c{static get observedAttributes(){return["size","color","type"]}constructor(){super();this.render()}attributeChangedCallback(){this.render()}render(){let t=this.getAttribute("size")||"40",n=this.getAttribute("color")||"currentColor",b=this.getAttribute("type")||"spiral",o={spiral:`M25,25 m0,-20 a20,20 0 1,1 0,40 a20,20 0 1,1 0,-40
1809
1809
  M25,25 m0,-15 a15,15 0 1,0 0,30 a15,15 0 1,0 0,-30`,sun:"M25,5 L25,45 M5,25 L45,25 M11,11 L39,39 M39,11 L11,39",diamond:"M25,5 L45,25 L25,45 L5,25 Z"};this.shadowRoot.innerHTML=`
1810
1810
  <style>
1811
1811
  :host {
@@ -1833,10 +1833,10 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
1833
1833
  </style>
1834
1834
  <div class="loader">
1835
1835
  <svg viewBox="0 0 50 50">
1836
- ${o==="spiral"?`<path d="${b.spiral}" fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round" />`:o==="sun"?`<path d="${b.sun}" stroke="currentColor" stroke-width="4" stroke-linecap="round" />`:`<path d="${b.diamond}" fill="none" stroke="currentColor" stroke-width="4" />`}
1836
+ ${b==="spiral"?`<path d="${o.spiral}" fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round" />`:b==="sun"?`<path d="${o.sun}" stroke="currentColor" stroke-width="4" stroke-linecap="round" />`:`<path d="${o.diamond}" fill="none" stroke="currentColor" stroke-width="4" />`}
1837
1837
  </svg>
1838
1838
  </div>
1839
- `}};_("af-loader",ln);hl=ln});var ho={};Q(ho,{default:()=>rl,AfriSkeleton:()=>an});var an,rl;var ro=x(()=>{S();an=class an extends c{static get observedAttributes(){return["variant","width","height","lines"]}constructor(){super();this.render()}attributeChangedCallback(){this.render()}render(){let t=this.getAttribute("variant")||"text",n=this.getAttribute("width")||"100%",o=this.getAttribute("height")||"auto",b=parseInt(this.getAttribute("lines"))||1,l={text:{height:"16px",borderRadius:"4px"},title:{height:"28px",borderRadius:"4px"},avatar:{width:"48px",height:"48px",borderRadius:"50%"},card:{height:"200px",borderRadius:"12px"},button:{height:"40px",borderRadius:"6px",width:"120px"}},a=l[t]||l.text;this.shadowRoot.innerHTML=`
1839
+ `}};_("af-loader",ln);$l=ln});var g0={};k(g0,{default:()=>vl,AfriSkeleton:()=>an});var an,vl;var $0=x(()=>{m();an=class an extends c{static get observedAttributes(){return["variant","width","height","lines"]}constructor(){super();this.render()}attributeChangedCallback(){this.render()}render(){let t=this.getAttribute("variant")||"text",n=this.getAttribute("width")||"100%",b=this.getAttribute("height")||"auto",o=parseInt(this.getAttribute("lines"))||1,l={text:{height:"16px",borderRadius:"4px"},title:{height:"28px",borderRadius:"4px"},avatar:{width:"48px",height:"48px",borderRadius:"50%"},card:{height:"200px",borderRadius:"12px"},button:{height:"40px",borderRadius:"6px",width:"120px"}},a=l[t]||l.text;this.shadowRoot.innerHTML=`
1840
1840
  <style>
1841
1841
  :host {
1842
1842
  display: block;
@@ -1871,143 +1871,143 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
1871
1871
  }
1872
1872
  </style>
1873
1873
 
1874
- ${t==="text"||t==="title"?Array(b).fill(0).map(()=>'<div class="skeleton skeleton-line"></div>').join(""):`<div class="skeleton" style="width: ${a.width||n}; height: ${a.height||o};"></div>`}
1875
- `}};_("af-skeleton",an);rl=an});var go={};Q(go,{default:()=>gl,AfriDivider:()=>fn});var fn,gl;var $o=x(()=>{S();fn=class fn extends c{static get observedAttributes(){return["pattern","height","color","flip"]}constructor(){super();this.render()}attributeChangedCallback(){this.render()}_getPatternPath(t,n,o){switch(t||"zigzag"){case"zigzag":return`M0,${o} L${n/4},0 L${n/2},${o} L${n*0.75},0 L${n},${o} V${o+10} H0 Z`;case"waves":return`M0,${o/2} Q${n/4},0 ${n/2},${o/2} T${n},${o/2} V${o} H0 Z`;case"triangles":return`M0,${o} L${n/8},0 L${n/4},${o} L${n*0.375},0 L${n/2},${o}
1876
- L${n*0.625},0 L${n*0.75},${o} L${n*0.875},0 L${n},${o} V${o+10} H0 Z`;case"diamonds":return`M0,0 H${n} V${o/2}
1877
- L${n*0.9},${o} L${n*0.8},${o/2}
1878
- L${n*0.7},${o} L${n*0.6},${o/2}
1879
- L${n*0.5},${o} L${n*0.4},${o/2}
1880
- L${n*0.3},${o} L${n*0.2},${o/2}
1881
- L${n*0.1},${o} L0,${o/2} Z`;default:return`M0,0 H${n} V${o} H0 Z`}}render(){let t=this.getAttribute("pattern")||"zigzag",n=this.getAttribute("height")||"50",o=this.getAttribute("color")||"currentColor",b=this.hasAttribute("flip");this.shadowRoot.innerHTML=`
1874
+ ${t==="text"||t==="title"?Array(o).fill(0).map(()=>'<div class="skeleton skeleton-line"></div>').join(""):`<div class="skeleton" style="width: ${a.width||n}; height: ${a.height||b};"></div>`}
1875
+ `}};_("af-skeleton",an);vl=an});var v0={};k(v0,{default:()=>wl,AfriDivider:()=>fn});var fn,wl;var w0=x(()=>{m();fn=class fn extends c{static get observedAttributes(){return["pattern","height","color","flip"]}constructor(){super();this.render()}attributeChangedCallback(){this.render()}_getPatternPath(t,n,b){switch(t||"zigzag"){case"zigzag":return`M0,${b} L${n/4},0 L${n/2},${b} L${n*0.75},0 L${n},${b} V${b+10} H0 Z`;case"waves":return`M0,${b/2} Q${n/4},0 ${n/2},${b/2} T${n},${b/2} V${b} H0 Z`;case"triangles":return`M0,${b} L${n/8},0 L${n/4},${b} L${n*0.375},0 L${n/2},${b}
1876
+ L${n*0.625},0 L${n*0.75},${b} L${n*0.875},0 L${n},${b} V${b+10} H0 Z`;case"diamonds":return`M0,0 H${n} V${b/2}
1877
+ L${n*0.9},${b} L${n*0.8},${b/2}
1878
+ L${n*0.7},${b} L${n*0.6},${b/2}
1879
+ L${n*0.5},${b} L${n*0.4},${b/2}
1880
+ L${n*0.3},${b} L${n*0.2},${b/2}
1881
+ L${n*0.1},${b} L0,${b/2} Z`;default:return`M0,0 H${n} V${b} H0 Z`}}render(){let t=this.getAttribute("pattern")||"zigzag",n=this.getAttribute("height")||"50",b=this.getAttribute("color")||"currentColor",o=this.hasAttribute("flip");this.shadowRoot.innerHTML=`
1882
1882
  <style>
1883
1883
  :host {
1884
1884
  display: block;
1885
1885
  line-height: 0;
1886
1886
  width: 100%;
1887
1887
  overflow: hidden;
1888
- color: ${o};
1888
+ color: ${b};
1889
1889
  }
1890
1890
  svg {
1891
1891
  display: block;
1892
1892
  width: 100%;
1893
1893
  height: ${n}px;
1894
- ${b?"transform: rotate(180deg);":""}
1894
+ ${o?"transform: rotate(180deg);":""}
1895
1895
  }
1896
1896
  </style>
1897
1897
  <svg viewBox="0 0 100 ${n}" preserveAspectRatio="none">
1898
1898
  <path d="${this._getPatternPath(t,100,parseInt(n))}" fill="currentColor" />
1899
1899
  </svg>
1900
- `}};_("af-divider",fn);gl=fn});function $l(t,n,o=50,b=50){let l=[];for(let a=0;a<t;a++){let f=2*Math.PI*a/t-Math.PI/2,h=o+n*Math.cos(f),r=b+n*Math.sin(f);l.push(`${h.toFixed(2)},${r.toFixed(2)}`)}return l.join(" ")}function Gn({primaryColor:t="#FF0000",secondaryColor:n="#000000",backgroundColor:o="#8B0000",stripeWidth:b=4,size:l=40}={}){let a=`
1900
+ `}};_("af-divider",fn);wl=fn});function cl(t,n,b=50,o=50){let l=[];for(let a=0;a<t;a++){let f=2*Math.PI*a/t-Math.PI/2,r=b+n*Math.cos(f),h=o+n*Math.sin(f);l.push(`${r.toFixed(2)},${h.toFixed(2)}`)}return l.join(" ")}function Qn({primaryColor:t="#FF0000",secondaryColor:n="#000000",backgroundColor:b="#8B0000",stripeWidth:o=4,size:l=40}={}){let a=`
1901
1901
  <svg xmlns="http://www.w3.org/2000/svg" width="${l}" height="${l}" viewBox="0 0 ${l} ${l}">
1902
- <rect width="${l}" height="${l}" fill="${o}"/>
1903
- <rect x="0" y="0" width="${l}" height="${b}" fill="${t}" opacity="0.8"/>
1904
- <rect x="0" y="${l/2-b/2}" width="${l}" height="${b}" fill="${n}" opacity="0.6"/>
1905
- <rect x="0" y="${l-b}" width="${l}" height="${b}" fill="${t}" opacity="0.8"/>
1906
- <rect x="0" y="0" width="${b}" height="${l}" fill="${t}" opacity="0.5"/>
1907
- <rect x="${l/2-b/2}" y="0" width="${b}" height="${l}" fill="${n}" opacity="0.4"/>
1908
- <rect x="${l-b}" y="0" width="${b}" height="${l}" fill="${t}" opacity="0.5"/>
1902
+ <rect width="${l}" height="${l}" fill="${b}"/>
1903
+ <rect x="0" y="0" width="${l}" height="${o}" fill="${t}" opacity="0.8"/>
1904
+ <rect x="0" y="${l/2-o/2}" width="${l}" height="${o}" fill="${n}" opacity="0.6"/>
1905
+ <rect x="0" y="${l-o}" width="${l}" height="${o}" fill="${t}" opacity="0.8"/>
1906
+ <rect x="0" y="0" width="${o}" height="${l}" fill="${t}" opacity="0.5"/>
1907
+ <rect x="${l/2-o/2}" y="0" width="${o}" height="${l}" fill="${n}" opacity="0.4"/>
1908
+ <rect x="${l-o}" y="0" width="${o}" height="${l}" fill="${t}" opacity="0.5"/>
1909
1909
  </svg>
1910
- `;return`data:image/svg+xml,${encodeURIComponent(a.trim())}`}function Jn({earthColor:t="#8B4513",ochreColor:n="#CD853F",charcoalColor:o="#2F2F2F",size:b=50}={}){let l=`
1911
- <svg xmlns="http://www.w3.org/2000/svg" width="${b}" height="${b}" viewBox="0 0 ${b} ${b}">
1912
- <rect width="${b}" height="${b}" fill="${t}"/>
1910
+ `;return`data:image/svg+xml,${encodeURIComponent(a.trim())}`}function Jn({earthColor:t="#8B4513",ochreColor:n="#CD853F",charcoalColor:b="#2F2F2F",size:o=50}={}){let l=`
1911
+ <svg xmlns="http://www.w3.org/2000/svg" width="${o}" height="${o}" viewBox="0 0 ${o} ${o}">
1912
+ <rect width="${o}" height="${o}" fill="${t}"/>
1913
1913
  <!-- Cave art inspired figures -->
1914
- <circle cx="${b*0.3}" cy="${b*0.3}" r="${b*0.08}" fill="${n}"/>
1915
- <line x1="${b*0.3}" y1="${b*0.38}" x2="${b*0.3}" y2="${b*0.6}" stroke="${o}" stroke-width="2"/>
1916
- <line x1="${b*0.2}" y1="${b*0.45}" x2="${b*0.4}" y2="${b*0.45}" stroke="${o}" stroke-width="2"/>
1914
+ <circle cx="${o*0.3}" cy="${o*0.3}" r="${o*0.08}" fill="${n}"/>
1915
+ <line x1="${o*0.3}" y1="${o*0.38}" x2="${o*0.3}" y2="${o*0.6}" stroke="${b}" stroke-width="2"/>
1916
+ <line x1="${o*0.2}" y1="${o*0.45}" x2="${o*0.4}" y2="${o*0.45}" stroke="${b}" stroke-width="2"/>
1917
1917
  <!-- Animal figure -->
1918
- <ellipse cx="${b*0.7}" cy="${b*0.5}" rx="${b*0.15}" ry="${b*0.08}" fill="${n}"/>
1919
- <line x1="${b*0.6}" y1="${b*0.58}" x2="${b*0.6}" y2="${b*0.7}" stroke="${o}" stroke-width="2"/>
1920
- <line x1="${b*0.8}" y1="${b*0.58}" x2="${b*0.8}" y2="${b*0.7}" stroke="${o}" stroke-width="2"/>
1918
+ <ellipse cx="${o*0.7}" cy="${o*0.5}" rx="${o*0.15}" ry="${o*0.08}" fill="${n}"/>
1919
+ <line x1="${o*0.6}" y1="${o*0.58}" x2="${o*0.6}" y2="${o*0.7}" stroke="${b}" stroke-width="2"/>
1920
+ <line x1="${o*0.8}" y1="${o*0.58}" x2="${o*0.8}" y2="${o*0.7}" stroke="${b}" stroke-width="2"/>
1921
1921
  <!-- Dots like ancient markings -->
1922
- <circle cx="${b*0.15}" cy="${b*0.8}" r="3" fill="${n}"/>
1923
- <circle cx="${b*0.85}" cy="${b*0.2}" r="3" fill="${n}"/>
1922
+ <circle cx="${o*0.15}" cy="${o*0.8}" r="3" fill="${n}"/>
1923
+ <circle cx="${o*0.85}" cy="${o*0.2}" r="3" fill="${n}"/>
1924
1924
  </svg>
1925
- `;return`data:image/svg+xml,${encodeURIComponent(l.trim())}`}function Ln({primaryColor:t="#1EB53A",accentColor:n="#FCD116",size:o=30}={}){let b=`
1926
- <svg xmlns="http://www.w3.org/2000/svg" width="${o}" height="${o}" viewBox="0 0 ${o} ${o}">
1927
- <rect width="${o}" height="${o}" fill="${t}"/>
1925
+ `;return`data:image/svg+xml,${encodeURIComponent(l.trim())}`}function Gn({primaryColor:t="#1EB53A",accentColor:n="#FCD116",size:b=30}={}){let o=`
1926
+ <svg xmlns="http://www.w3.org/2000/svg" width="${b}" height="${b}" viewBox="0 0 ${b} ${b}">
1927
+ <rect width="${b}" height="${b}" fill="${t}"/>
1928
1928
  <!-- Pindo (Border) Motifs: Cashew/Triangle -->
1929
- <path d="M0,0 L${o/2},${o/2} L0,${o} Z" fill="${n}"/>
1930
- <path d="M${o},0 L${o/2},${o/2} L${o},${o} Z" fill="${n}"/>
1931
- <circle cx="${o/2}" cy="${o/2}" r="${o*0.15}" fill="none" stroke="${n}" stroke-width="2"/>
1929
+ <path d="M0,0 L${b/2},${b/2} L0,${b} Z" fill="${n}"/>
1930
+ <path d="M${b},0 L${b/2},${b/2} L${b},${b} Z" fill="${n}"/>
1931
+ <circle cx="${b/2}" cy="${b/2}" r="${b*0.15}" fill="none" stroke="${n}" stroke-width="2"/>
1932
1932
  </svg>
1933
- `;return`data:image/svg+xml,${encodeURIComponent(b.trim())}`}function vl({primaryColor:t="#FF6B00",secondaryColor:n="#002B5C",backgroundColor:o="#FFFFFF",size:b=40}={}){let l=`
1934
- <svg xmlns="http://www.w3.org/2000/svg" width="${b}" height="${b}" viewBox="0 0 ${b} ${b}">
1935
- <rect width="${b}" height="${b}" fill="${o}"/>
1933
+ `;return`data:image/svg+xml,${encodeURIComponent(o.trim())}`}function _l({primaryColor:t="#FF6B00",secondaryColor:n="#002B5C",backgroundColor:b="#FFFFFF",size:o=40}={}){let l=`
1934
+ <svg xmlns="http://www.w3.org/2000/svg" width="${o}" height="${o}" viewBox="0 0 ${o} ${o}">
1935
+ <rect width="${o}" height="${o}" fill="${b}"/>
1936
1936
  <!-- Border pattern -->
1937
- <rect x="0" y="0" width="${b}" height="${b*0.1}" fill="${t}"/>
1938
- <rect x="0" y="${b*0.9}" width="${b}" height="${b*0.1}" fill="${t}"/>
1939
- <rect x="0" y="0" width="${b*0.1}" height="${b}" fill="${t}"/>
1940
- <rect x="${b*0.9}" y="0" width="${b*0.1}" height="${b}" fill="${t}"/>
1937
+ <rect x="0" y="0" width="${o}" height="${o*0.1}" fill="${t}"/>
1938
+ <rect x="0" y="${o*0.9}" width="${o}" height="${o*0.1}" fill="${t}"/>
1939
+ <rect x="0" y="0" width="${o*0.1}" height="${o}" fill="${t}"/>
1940
+ <rect x="${o*0.9}" y="0" width="${o*0.1}" height="${o}" fill="${t}"/>
1941
1941
  <!-- Center motif -->
1942
- <circle cx="${b*0.5}" cy="${b*0.5}" r="${b*0.15}" fill="${n}"/>
1943
- <text x="${b*0.5}" y="${b*0.55}" text-anchor="middle" fill="${t}" font-size="${b*0.08}">KANGA</text>
1942
+ <circle cx="${o*0.5}" cy="${o*0.5}" r="${o*0.15}" fill="${n}"/>
1943
+ <text x="${o*0.5}" y="${o*0.55}" text-anchor="middle" fill="${t}" font-size="${o*0.08}">KANGA</text>
1944
1944
  </svg>
1945
- `;return`data:image/svg+xml,${encodeURIComponent(l.trim())}`}function wl({primaryColor:t="#8B4513",secondaryColor:n="#DAA520",backgroundColor:o="#F5F5DC",size:b=30}={}){let l=`
1946
- <svg xmlns="http://www.w3.org/2000/svg" width="${b}" height="${b}" viewBox="0 0 ${b} ${b}">
1947
- <rect width="${b}" height="${b}" fill="${o}"/>
1945
+ `;return`data:image/svg+xml,${encodeURIComponent(l.trim())}`}function Al({primaryColor:t="#8B4513",secondaryColor:n="#DAA520",backgroundColor:b="#F5F5DC",size:o=30}={}){let l=`
1946
+ <svg xmlns="http://www.w3.org/2000/svg" width="${o}" height="${o}" viewBox="0 0 ${o} ${o}">
1947
+ <rect width="${o}" height="${o}" fill="${b}"/>
1948
1948
  <!-- Kuba geometric border -->
1949
- <polygon points="0,0 ${b*0.3},0 0,${b*0.3}" fill="${t}"/>
1950
- <polygon points="${b},0 ${b*0.7},0 ${b},${b*0.3}" fill="${t}"/>
1951
- <polygon points="0,${b} ${b*0.3},${b} 0,${b*0.7}" fill="${t}"/>
1952
- <polygon points="${b},${b} ${b*0.7},${b} ${b},${b*0.7}" fill="${t}"/>
1949
+ <polygon points="0,0 ${o*0.3},0 0,${o*0.3}" fill="${t}"/>
1950
+ <polygon points="${o},0 ${o*0.7},0 ${o},${o*0.3}" fill="${t}"/>
1951
+ <polygon points="0,${o} ${o*0.3},${o} 0,${o*0.7}" fill="${t}"/>
1952
+ <polygon points="${o},${o} ${o*0.7},${o} ${o},${o*0.7}" fill="${t}"/>
1953
1953
  <!-- Center diamond -->
1954
- <polygon points="${b*0.5},${b*0.3} ${b*0.7},${b*0.5} ${b*0.5},${b*0.7} ${b*0.3},${b*0.5}" fill="${n}"/>
1954
+ <polygon points="${o*0.5},${o*0.3} ${o*0.7},${o*0.5} ${o*0.5},${o*0.7} ${o*0.3},${o*0.5}" fill="${n}"/>
1955
1955
  </svg>
1956
- `;return`data:image/svg+xml,${encodeURIComponent(l.trim())}`}function cl({primaryColor:t="#FF0000",secondaryColor:n="#000000",accentColor:o="#FFFFFF",size:b=40}={}){let l=`
1957
- <svg xmlns="http://www.w3.org/2000/svg" width="${b}" height="${b}" viewBox="0 0 ${b} ${b}">
1958
- <rect width="${b}" height="${b}" fill="${o}"/>
1956
+ `;return`data:image/svg+xml,${encodeURIComponent(l.trim())}`}function ql({primaryColor:t="#FF0000",secondaryColor:n="#000000",accentColor:b="#FFFFFF",size:o=40}={}){let l=`
1957
+ <svg xmlns="http://www.w3.org/2000/svg" width="${o}" height="${o}" viewBox="0 0 ${o} ${o}">
1958
+ <rect width="${o}" height="${o}" fill="${b}"/>
1959
1959
  <!-- Bead pattern -->
1960
- <circle cx="${b*0.2}" cy="${b*0.2}" r="${b*0.08}" fill="${t}"/>
1961
- <circle cx="${b*0.5}" cy="${b*0.2}" r="${b*0.08}" fill="${n}"/>
1962
- <circle cx="${b*0.8}" cy="${b*0.2}" r="${b*0.08}" fill="${t}"/>
1963
- <circle cx="${b*0.2}" cy="${b*0.5}" r="${b*0.08}" fill="${n}"/>
1964
- <circle cx="${b*0.5}" cy="${b*0.5}" r="${b*0.08}" fill="${t}"/>
1965
- <circle cx="${b*0.8}" cy="${b*0.5}" r="${b*0.08}" fill="${n}"/>
1966
- <circle cx="${b*0.2}" cy="${b*0.8}" r="${b*0.08}" fill="${t}"/>
1967
- <circle cx="${b*0.5}" cy="${b*0.8}" r="${b*0.08}" fill="${n}"/>
1968
- <circle cx="${b*0.8}" cy="${b*0.8}" r="${b*0.08}" fill="${t}"/>
1960
+ <circle cx="${o*0.2}" cy="${o*0.2}" r="${o*0.08}" fill="${t}"/>
1961
+ <circle cx="${o*0.5}" cy="${o*0.2}" r="${o*0.08}" fill="${n}"/>
1962
+ <circle cx="${o*0.8}" cy="${o*0.2}" r="${o*0.08}" fill="${t}"/>
1963
+ <circle cx="${o*0.2}" cy="${o*0.5}" r="${o*0.08}" fill="${n}"/>
1964
+ <circle cx="${o*0.5}" cy="${o*0.5}" r="${o*0.08}" fill="${t}"/>
1965
+ <circle cx="${o*0.8}" cy="${o*0.5}" r="${o*0.08}" fill="${n}"/>
1966
+ <circle cx="${o*0.2}" cy="${o*0.8}" r="${o*0.08}" fill="${t}"/>
1967
+ <circle cx="${o*0.5}" cy="${o*0.8}" r="${o*0.08}" fill="${n}"/>
1968
+ <circle cx="${o*0.8}" cy="${o*0.8}" r="${o*0.08}" fill="${t}"/>
1969
1969
  </svg>
1970
- `;return`data:image/svg+xml,${encodeURIComponent(l.trim())}`}function _l({primaryColor:t="#8B0000",secondaryColor:n="#FFD700",backgroundColor:o="#654321",size:b=50}={}){let l=`
1971
- <svg xmlns="http://www.w3.org/2000/svg" width="${b}" height="${b}" viewBox="0 0 ${b} ${b}">
1972
- <ellipse cx="${b*0.5}" cy="${b*0.5}" rx="${b*0.4}" ry="${b*0.45}" fill="${o}"/>
1970
+ `;return`data:image/svg+xml,${encodeURIComponent(l.trim())}`}function Hl({primaryColor:t="#8B0000",secondaryColor:n="#FFD700",backgroundColor:b="#654321",size:o=50}={}){let l=`
1971
+ <svg xmlns="http://www.w3.org/2000/svg" width="${o}" height="${o}" viewBox="0 0 ${o} ${o}">
1972
+ <ellipse cx="${o*0.5}" cy="${o*0.5}" rx="${o*0.4}" ry="${o*0.45}" fill="${b}"/>
1973
1973
  <!-- Shield patterns -->
1974
- <ellipse cx="${b*0.5}" cy="${b*0.3}" rx="${b*0.2}" ry="${b*0.15}" fill="${t}"/>
1975
- <rect x="${b*0.4}" y="${b*0.5}" width="${b*0.2}" height="${b*0.3}" fill="${n}"/>
1974
+ <ellipse cx="${o*0.5}" cy="${o*0.3}" rx="${o*0.2}" ry="${o*0.15}" fill="${t}"/>
1975
+ <rect x="${o*0.4}" y="${o*0.5}" width="${o*0.2}" height="${o*0.3}" fill="${n}"/>
1976
1976
  <!-- Decorative lines -->
1977
- <line x1="${b*0.3}" y1="${b*0.2}" x2="${b*0.7}" y2="${b*0.2}" stroke="${t}" stroke-width="3"/>
1978
- <line x1="${b*0.3}" y1="${b*0.8}" x2="${b*0.7}" y2="${b*0.8}" stroke="${t}" stroke-width="3"/>
1977
+ <line x1="${o*0.3}" y1="${o*0.2}" x2="${o*0.7}" y2="${o*0.2}" stroke="${t}" stroke-width="3"/>
1978
+ <line x1="${o*0.3}" y1="${o*0.8}" x2="${o*0.7}" y2="${o*0.8}" stroke="${t}" stroke-width="3"/>
1979
1979
  </svg>
1980
- `;return`data:image/svg+xml,${encodeURIComponent(l.trim())}`}function Al({primaryColor:t="#FF1493",secondaryColor:n="#00FF00",accentColor:o="#FFFF00",backgroundColor:b="#FFFFFF",size:l=50}={}){let a=`
1980
+ `;return`data:image/svg+xml,${encodeURIComponent(l.trim())}`}function El({primaryColor:t="#FF1493",secondaryColor:n="#00FF00",accentColor:b="#FFFF00",backgroundColor:o="#FFFFFF",size:l=50}={}){let a=`
1981
1981
  <svg xmlns="http://www.w3.org/2000/svg" width="${l}" height="${l}" viewBox="0 0 ${l} ${l}">
1982
- <rect width="${l}" height="${l}" fill="${b}"/>
1982
+ <rect width="${l}" height="${l}" fill="${o}"/>
1983
1983
  <!-- Ndebele geometric patterns -->
1984
1984
  <polygon points="${l*0.2},${l*0.2} ${l*0.4},${l*0.2} ${l*0.3},${l*0.4}" fill="${t}"/>
1985
1985
  <polygon points="${l*0.6},${l*0.2} ${l*0.8},${l*0.2} ${l*0.7},${l*0.4}" fill="${n}"/>
1986
- <polygon points="${l*0.2},${l*0.6} ${l*0.4},${l*0.6} ${l*0.3},${l*0.8}" fill="${o}"/>
1986
+ <polygon points="${l*0.2},${l*0.6} ${l*0.4},${l*0.6} ${l*0.3},${l*0.8}" fill="${b}"/>
1987
1987
  <polygon points="${l*0.6},${l*0.6} ${l*0.8},${l*0.6} ${l*0.7},${l*0.8}" fill="${t}"/>
1988
1988
  <!-- Center design -->
1989
1989
  <circle cx="${l*0.5}" cy="${l*0.5}" r="${l*0.15}" fill="${n}"/>
1990
- <rect x="${l*0.45}" y="${l*0.45}" width="${l*0.1}" height="${l*0.1}" fill="${o}"/>
1990
+ <rect x="${l*0.45}" y="${l*0.45}" width="${l*0.1}" height="${l*0.1}" fill="${b}"/>
1991
1991
  </svg>
1992
- `;return`data:image/svg+xml,${encodeURIComponent(a.trim())}`}function Fn({primaryColor:t="#00A3DD",secondaryColor:n="#FCD116",backgroundColor:o="#1EB53A",size:b=50}={}){let l=`
1993
- <svg xmlns="http://www.w3.org/2000/svg" width="${b}" height="${b}" viewBox="0 0 ${b} ${b}">
1994
- <rect width="${b}" height="${b}" fill="${o}"/>
1995
- <circle cx="${b*0.25}" cy="${b*0.25}" r="${b*0.2}" fill="${t}" opacity="0.8"/>
1996
- <circle cx="${b*0.75}" cy="${b*0.75}" r="${b*0.2}" fill="${t}" opacity="0.8"/>
1997
- <circle cx="${b*0.25}" cy="${b*0.25}" r="${b*0.1}" fill="${n}"/>
1998
- <circle cx="${b*0.75}" cy="${b*0.75}" r="${b*0.1}" fill="${n}"/>
1999
- <circle cx="${b*0.75}" cy="${b*0.25}" r="${b*0.08}" fill="${n}" opacity="0.6"/>
2000
- <circle cx="${b*0.25}" cy="${b*0.75}" r="${b*0.08}" fill="${n}" opacity="0.6"/>
1992
+ `;return`data:image/svg+xml,${encodeURIComponent(a.trim())}`}function Ln({primaryColor:t="#00A3DD",secondaryColor:n="#FCD116",backgroundColor:b="#1EB53A",size:o=50}={}){let l=`
1993
+ <svg xmlns="http://www.w3.org/2000/svg" width="${o}" height="${o}" viewBox="0 0 ${o} ${o}">
1994
+ <rect width="${o}" height="${o}" fill="${b}"/>
1995
+ <circle cx="${o*0.25}" cy="${o*0.25}" r="${o*0.2}" fill="${t}" opacity="0.8"/>
1996
+ <circle cx="${o*0.75}" cy="${o*0.75}" r="${o*0.2}" fill="${t}" opacity="0.8"/>
1997
+ <circle cx="${o*0.25}" cy="${o*0.25}" r="${o*0.1}" fill="${n}"/>
1998
+ <circle cx="${o*0.75}" cy="${o*0.75}" r="${o*0.1}" fill="${n}"/>
1999
+ <circle cx="${o*0.75}" cy="${o*0.25}" r="${o*0.08}" fill="${n}" opacity="0.6"/>
2000
+ <circle cx="${o*0.25}" cy="${o*0.75}" r="${o*0.08}" fill="${n}" opacity="0.6"/>
2001
2001
  </svg>
2002
- `;return`data:image/svg+xml,${encodeURIComponent(l.trim())}`}function Bn({colors:t=["#FFD700","#228B22","#DC143C","#000000"],size:n=60}={}){let[o,b,l,a]=t,f=n/6,h=`
2002
+ `;return`data:image/svg+xml,${encodeURIComponent(l.trim())}`}function Fn({colors:t=["#FFD700","#228B22","#DC143C","#000000"],size:n=60}={}){let[b,o,l,a]=t,f=n/6,r=`
2003
2003
  <svg xmlns="http://www.w3.org/2000/svg" width="${n}" height="${n}" viewBox="0 0 ${n} ${n}">
2004
2004
  <rect width="${n}" height="${n}" fill="${a}"/>
2005
2005
  <!-- Horizontal bands -->
2006
- <rect x="0" y="0" width="${n}" height="${f}" fill="${o}"/>
2007
- <rect x="0" y="${f}" width="${n}" height="${f}" fill="${b}"/>
2006
+ <rect x="0" y="0" width="${n}" height="${f}" fill="${b}"/>
2007
+ <rect x="0" y="${f}" width="${n}" height="${f}" fill="${o}"/>
2008
2008
  <rect x="0" y="${f*2}" width="${n}" height="${f}" fill="${l}"/>
2009
- <rect x="0" y="${f*3}" width="${n}" height="${f}" fill="${o}"/>
2010
- <rect x="0" y="${f*4}" width="${n}" height="${f}" fill="${b}"/>
2009
+ <rect x="0" y="${f*3}" width="${n}" height="${f}" fill="${b}"/>
2010
+ <rect x="0" y="${f*4}" width="${n}" height="${f}" fill="${o}"/>
2011
2011
  <rect x="0" y="${f*5}" width="${n}" height="${f}" fill="${l}"/>
2012
2012
  <!-- Vertical accents -->
2013
2013
  <rect x="${n*0.2}" y="0" width="3" height="${n}" fill="${a}" opacity="0.5"/>
@@ -2015,47 +2015,47 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
2015
2015
  <rect x="${n*0.6}" y="0" width="3" height="${n}" fill="${a}" opacity="0.5"/>
2016
2016
  <rect x="${n*0.8}" y="0" width="3" height="${n}" fill="${a}" opacity="0.5"/>
2017
2017
  <!-- Kente squares -->
2018
- <rect x="${n*0.1}" y="${n*0.1}" width="${n*0.15}" height="${n*0.15}" fill="${o}" stroke="${a}" stroke-width="1"/>
2018
+ <rect x="${n*0.1}" y="${n*0.1}" width="${n*0.15}" height="${n*0.15}" fill="${b}" stroke="${a}" stroke-width="1"/>
2019
2019
  <rect x="${n*0.75}" y="${n*0.75}" width="${n*0.15}" height="${n*0.15}" fill="${l}" stroke="${a}" stroke-width="1"/>
2020
2020
  </svg>
2021
- `;return`data:image/svg+xml,${encodeURIComponent(h.trim())}`}function mn({symbolColor:t="#000000",backgroundColor:n="#CD853F",size:o=50}={}){let b=`
2022
- <svg xmlns="http://www.w3.org/2000/svg" width="${o}" height="${o}" viewBox="0 0 ${o} ${o}">
2023
- <rect width="${o}" height="${o}" fill="${n}"/>
2021
+ `;return`data:image/svg+xml,${encodeURIComponent(r.trim())}`}function Rn({symbolColor:t="#000000",backgroundColor:n="#CD853F",size:b=50}={}){let o=`
2022
+ <svg xmlns="http://www.w3.org/2000/svg" width="${b}" height="${b}" viewBox="0 0 ${b} ${b}">
2023
+ <rect width="${b}" height="${b}" fill="${n}"/>
2024
2024
  <!-- Sankofa-inspired heart shape (go back and get it) -->
2025
- <path d="M${o*0.5} ${o*0.2}
2026
- C${o*0.3} ${o*0.1} ${o*0.15} ${o*0.3} ${o*0.25} ${o*0.5}
2027
- L${o*0.5} ${o*0.8}
2028
- L${o*0.75} ${o*0.5}
2029
- C${o*0.85} ${o*0.3} ${o*0.7} ${o*0.1} ${o*0.5} ${o*0.2}"
2025
+ <path d="M${b*0.5} ${b*0.2}
2026
+ C${b*0.3} ${b*0.1} ${b*0.15} ${b*0.3} ${b*0.25} ${b*0.5}
2027
+ L${b*0.5} ${b*0.8}
2028
+ L${b*0.75} ${b*0.5}
2029
+ C${b*0.85} ${b*0.3} ${b*0.7} ${b*0.1} ${b*0.5} ${b*0.2}"
2030
2030
  fill="none" stroke="${t}" stroke-width="3"/>
2031
2031
  <!-- Spiral detail -->
2032
- <circle cx="${o*0.35}" cy="${o*0.45}" r="${o*0.08}" fill="none" stroke="${t}" stroke-width="2"/>
2033
- <circle cx="${o*0.65}" cy="${o*0.45}" r="${o*0.08}" fill="none" stroke="${t}" stroke-width="2"/>
2032
+ <circle cx="${b*0.35}" cy="${b*0.45}" r="${b*0.08}" fill="none" stroke="${t}" stroke-width="2"/>
2033
+ <circle cx="${b*0.65}" cy="${b*0.45}" r="${b*0.08}" fill="none" stroke="${t}" stroke-width="2"/>
2034
2034
  </svg>
2035
- `;return`data:image/svg+xml,${encodeURIComponent(b.trim())}`}function Rn({colors:t=["#4B0082","#FFD700","#FFFFFF"],size:n=50}={}){let[o,b,l]=t,a=n/10,f=`
2035
+ `;return`data:image/svg+xml,${encodeURIComponent(o.trim())}`}function Bn({colors:t=["#4B0082","#FFD700","#FFFFFF"],size:n=50}={}){let[b,o,l]=t,a=n/10,f=`
2036
2036
  <svg xmlns="http://www.w3.org/2000/svg" width="${n}" height="${n}" viewBox="0 0 ${n} ${n}">
2037
- <rect width="${n}" height="${n}" fill="${o}"/>
2037
+ <rect width="${n}" height="${n}" fill="${b}"/>
2038
2038
  <!-- Horizontal stripes -->
2039
- <rect x="0" y="${a}" width="${n}" height="${a*0.5}" fill="${b}"/>
2039
+ <rect x="0" y="${a}" width="${n}" height="${a*0.5}" fill="${o}"/>
2040
2040
  <rect x="0" y="${a*3}" width="${n}" height="${a*0.5}" fill="${l}"/>
2041
- <rect x="0" y="${a*5}" width="${n}" height="${a*0.5}" fill="${b}"/>
2041
+ <rect x="0" y="${a*5}" width="${n}" height="${a*0.5}" fill="${o}"/>
2042
2042
  <rect x="0" y="${a*7}" width="${n}" height="${a*0.5}" fill="${l}"/>
2043
- <rect x="0" y="${a*9}" width="${n}" height="${a*0.5}" fill="${b}"/>
2043
+ <rect x="0" y="${a*9}" width="${n}" height="${a*0.5}" fill="${o}"/>
2044
2044
  <!-- Vertical accent lines -->
2045
- <rect x="${n*0.48}" y="0" width="${a*0.4}" height="${n}" fill="${b}" opacity="0.7"/>
2045
+ <rect x="${n*0.48}" y="0" width="${a*0.4}" height="${n}" fill="${o}" opacity="0.7"/>
2046
2046
  <!-- Diamond motifs -->
2047
2047
  <polygon points="${n*0.25},${n*0.3} ${n*0.35},${n*0.5} ${n*0.25},${n*0.7} ${n*0.15},${n*0.5}"
2048
- fill="${b}" stroke="${l}" stroke-width="1"/>
2048
+ fill="${o}" stroke="${l}" stroke-width="1"/>
2049
2049
  <polygon points="${n*0.75},${n*0.3} ${n*0.85},${n*0.5} ${n*0.75},${n*0.7} ${n*0.65},${n*0.5}"
2050
- fill="${b}" stroke="${l}" stroke-width="1"/>
2050
+ fill="${o}" stroke="${l}" stroke-width="1"/>
2051
2051
  </svg>
2052
- `;return`data:image/svg+xml,${encodeURIComponent(f.trim())}`}function Dn({primaryColor:t="#FF6B00",secondaryColor:n="#00A86B",accentColor:o="#FFD700",backgroundColor:b="#FFFFFF",size:l=60}={}){let a=`
2052
+ `;return`data:image/svg+xml,${encodeURIComponent(f.trim())}`}function On({primaryColor:t="#FF6B00",secondaryColor:n="#00A86B",accentColor:b="#FFD700",backgroundColor:o="#FFFFFF",size:l=60}={}){let a=`
2053
2053
  <svg xmlns="http://www.w3.org/2000/svg" width="${l}" height="${l}" viewBox="0 0 ${l} ${l}">
2054
- <rect width="${l}" height="${l}" fill="${b}"/>
2054
+ <rect width="${l}" height="${l}" fill="${o}"/>
2055
2055
  <!-- Bold circular motifs -->
2056
2056
  <circle cx="${l*0.3}" cy="${l*0.3}" r="${l*0.25}" fill="${t}"/>
2057
2057
  <circle cx="${l*0.3}" cy="${l*0.3}" r="${l*0.15}" fill="${n}"/>
2058
- <circle cx="${l*0.3}" cy="${l*0.3}" r="${l*0.08}" fill="${o}"/>
2058
+ <circle cx="${l*0.3}" cy="${l*0.3}" r="${l*0.08}" fill="${b}"/>
2059
2059
 
2060
2060
  <circle cx="${l*0.8}" cy="${l*0.8}" r="${l*0.2}" fill="${n}"/>
2061
2061
  <circle cx="${l*0.8}" cy="${l*0.8}" r="${l*0.1}" fill="${t}"/>
@@ -2065,108 +2065,108 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
2065
2065
  stroke="${t}" stroke-width="4"/>
2066
2066
 
2067
2067
  <!-- Small dots -->
2068
- <circle cx="${l*0.1}" cy="${l*0.8}" r="${l*0.05}" fill="${o}"/>
2069
- <circle cx="${l*0.9}" cy="${l*0.2}" r="${l*0.05}" fill="${o}"/>
2068
+ <circle cx="${l*0.1}" cy="${l*0.8}" r="${l*0.05}" fill="${b}"/>
2069
+ <circle cx="${l*0.9}" cy="${l*0.2}" r="${l*0.05}" fill="${b}"/>
2070
2070
  </svg>
2071
- `;return`data:image/svg+xml,${encodeURIComponent(a.trim())}`}function On({primaryColor:t="#000000",secondaryColor:n="#FFFFFF",accentColor:o="#8B4513",size:b=60}={}){let l=`
2072
- <svg xmlns="http://www.w3.org/2000/svg" width="${b}" height="${b}" viewBox="0 0 ${b} ${b}">
2073
- <rect width="${b}" height="${b}" fill="${t}"/>
2071
+ `;return`data:image/svg+xml,${encodeURIComponent(a.trim())}`}function Dn({primaryColor:t="#000000",secondaryColor:n="#FFFFFF",accentColor:b="#8B4513",size:o=60}={}){let l=`
2072
+ <svg xmlns="http://www.w3.org/2000/svg" width="${o}" height="${o}" viewBox="0 0 ${o} ${o}">
2073
+ <rect width="${o}" height="${o}" fill="${t}"/>
2074
2074
  <!-- Zigzags -->
2075
- <polyline points="0,${b*0.2} ${b*0.25},0 ${b*0.5},${b*0.2} ${b*0.75},0 ${b},${b*0.2}"
2075
+ <polyline points="0,${o*0.2} ${o*0.25},0 ${o*0.5},${o*0.2} ${o*0.75},0 ${o},${o*0.2}"
2076
2076
  fill="none" stroke="${n}" stroke-width="3"/>
2077
- <polyline points="0,${b*0.8} ${b*0.25},${b} ${b*0.5},${b*0.8} ${b*0.75},${b} ${b},${b*0.8}"
2077
+ <polyline points="0,${o*0.8} ${o*0.25},${o} ${o*0.5},${o*0.8} ${o*0.75},${o} ${o},${o*0.8}"
2078
2078
  fill="none" stroke="${n}" stroke-width="3"/>
2079
2079
  <!-- Crosses -->
2080
- <line x1="${b*0.25}" y1="${b*0.4}" x2="${b*0.25}" y2="${b*0.6}" stroke="${n}" stroke-width="2"/>
2081
- <line x1="${b*0.15}" y1="${b*0.5}" x2="${b*0.35}" y2="${b*0.5}" stroke="${n}" stroke-width="2"/>
2082
- <line x1="${b*0.75}" y1="${b*0.4}" x2="${b*0.75}" y2="${b*0.6}" stroke="${n}" stroke-width="2"/>
2083
- <line x1="${b*0.65}" y1="${b*0.5}" x2="${b*0.85}" y2="${b*0.5}" stroke="${n}" stroke-width="2"/>
2080
+ <line x1="${o*0.25}" y1="${o*0.4}" x2="${o*0.25}" y2="${o*0.6}" stroke="${n}" stroke-width="2"/>
2081
+ <line x1="${o*0.15}" y1="${o*0.5}" x2="${o*0.35}" y2="${o*0.5}" stroke="${n}" stroke-width="2"/>
2082
+ <line x1="${o*0.75}" y1="${o*0.4}" x2="${o*0.75}" y2="${o*0.6}" stroke="${n}" stroke-width="2"/>
2083
+ <line x1="${o*0.65}" y1="${o*0.5}" x2="${o*0.85}" y2="${o*0.5}" stroke="${n}" stroke-width="2"/>
2084
2084
  <!-- Dots -->
2085
- <circle cx="${b*0.5}" cy="${b*0.5}" r="${b*0.08}" fill="${o}"/>
2085
+ <circle cx="${o*0.5}" cy="${o*0.5}" r="${o*0.08}" fill="${b}"/>
2086
2086
  </svg>
2087
- `;return`data:image/svg+xml,${encodeURIComponent(l.trim())}`}function Wn({primaryColor:t="#D2B48C",secondaryColor:n="#3E2723",size:o=60}={}){let b=`
2088
- <svg xmlns="http://www.w3.org/2000/svg" width="${o}" height="${o}" viewBox="0 0 ${o} ${o}">
2089
- <rect width="${o}" height="${o}" fill="${t}"/>
2087
+ `;return`data:image/svg+xml,${encodeURIComponent(l.trim())}`}function Wn({primaryColor:t="#D2B48C",secondaryColor:n="#3E2723",size:b=60}={}){let o=`
2088
+ <svg xmlns="http://www.w3.org/2000/svg" width="${b}" height="${b}" viewBox="0 0 ${b} ${b}">
2089
+ <rect width="${b}" height="${b}" fill="${t}"/>
2090
2090
  <!-- Interlocking diamonds/rectangles -->
2091
- <rect x="${o*0.1}" y="${o*0.1}" width="${o*0.3}" height="${o*0.3}" fill="${n}"/>
2092
- <rect x="${o*0.6}" y="${o*0.6}" width="${o*0.3}" height="${o*0.3}" fill="${n}"/>
2093
- <rect x="${o*0.6}" y="${o*0.1}" width="${o*0.3}" height="${o*0.3}"
2091
+ <rect x="${b*0.1}" y="${b*0.1}" width="${b*0.3}" height="${b*0.3}" fill="${n}"/>
2092
+ <rect x="${b*0.6}" y="${b*0.6}" width="${b*0.3}" height="${b*0.3}" fill="${n}"/>
2093
+ <rect x="${b*0.6}" y="${b*0.1}" width="${b*0.3}" height="${b*0.3}"
2094
2094
  fill="none" stroke="${n}" stroke-width="4"/>
2095
- <rect x="${o*0.1}" y="${o*0.6}" width="${o*0.3}" height="${o*0.3}"
2095
+ <rect x="${b*0.1}" y="${b*0.6}" width="${b*0.3}" height="${b*0.3}"
2096
2096
  fill="none" stroke="${n}" stroke-width="4"/>
2097
2097
  <!-- Center lines -->
2098
- <line x1="${o*0.4}" y1="${o*0.5}" x2="${o*0.6}" y2="${o*0.5}" stroke="${n}" stroke-width="2"/>
2099
- <line x1="${o*0.5}" y1="${o*0.4}" x2="${o*0.5}" y2="${o*0.6}" stroke="${n}" stroke-width="2"/>
2098
+ <line x1="${b*0.4}" y1="${b*0.5}" x2="${b*0.6}" y2="${b*0.5}" stroke="${n}" stroke-width="2"/>
2099
+ <line x1="${b*0.5}" y1="${b*0.4}" x2="${b*0.5}" y2="${b*0.6}" stroke="${n}" stroke-width="2"/>
2100
2100
  </svg>
2101
- `;return`data:image/svg+xml,${encodeURIComponent(b.trim())}`}function dn({primaryColor:t="#000000",secondaryColor:n="#FFFFFF",accentColor:o="#B22222",size:b=60}={}){let l=`
2102
- <svg xmlns="http://www.w3.org/2000/svg" width="${b}" height="${b}" viewBox="0 0 ${b} ${b}">
2103
- <rect width="${b}" height="${b}" fill="${n}"/>
2101
+ `;return`data:image/svg+xml,${encodeURIComponent(o.trim())}`}function dn({primaryColor:t="#000000",secondaryColor:n="#FFFFFF",accentColor:b="#B22222",size:o=60}={}){let l=`
2102
+ <svg xmlns="http://www.w3.org/2000/svg" width="${o}" height="${o}" viewBox="0 0 ${o} ${o}">
2103
+ <rect width="${o}" height="${o}" fill="${n}"/>
2104
2104
  <!-- Spiral/Diamond Motif -->
2105
- <path d="M${b*0.5} ${b*0.1}
2106
- L${b*0.9} ${b*0.5}
2107
- L${b*0.5} ${b*0.9}
2108
- L${b*0.1} ${b*0.5} Z"
2105
+ <path d="M${o*0.5} ${o*0.1}
2106
+ L${o*0.9} ${o*0.5}
2107
+ L${o*0.5} ${o*0.9}
2108
+ L${o*0.1} ${o*0.5} Z"
2109
2109
  fill="${t}"/>
2110
- <path d="M${b*0.5} ${b*0.3}
2111
- L${b*0.7} ${b*0.5}
2112
- L${b*0.5} ${b*0.7}
2113
- L${b*0.3} ${b*0.5} Z"
2110
+ <path d="M${o*0.5} ${o*0.3}
2111
+ L${o*0.7} ${o*0.5}
2112
+ L${o*0.5} ${o*0.7}
2113
+ L${o*0.3} ${o*0.5} Z"
2114
2114
  fill="${n}"/>
2115
- <circle cx="${b*0.5}" cy="${b*0.5}" r="${b*0.1}" fill="${o}"/>
2115
+ <circle cx="${o*0.5}" cy="${o*0.5}" r="${o*0.1}" fill="${b}"/>
2116
2116
  </svg>
2117
- `;return`data:image/svg+xml,${encodeURIComponent(l.trim())}`}function Un({colors:t=["#009E60","#FCDD09","#EF3340"],backgroundColor:n="#FFFFFF",size:o=40}={}){let[b,l,a]=t,f=`
2118
- <svg xmlns="http://www.w3.org/2000/svg" width="${o}" height="${o}" viewBox="0 0 ${o} ${o}">
2119
- <rect width="${o}" height="${o}" fill="${n}"/>
2117
+ `;return`data:image/svg+xml,${encodeURIComponent(l.trim())}`}function Un({colors:t=["#009E60","#FCDD09","#EF3340"],backgroundColor:n="#FFFFFF",size:b=40}={}){let[o,l,a]=t,f=`
2118
+ <svg xmlns="http://www.w3.org/2000/svg" width="${b}" height="${b}" viewBox="0 0 ${b} ${b}">
2119
+ <rect width="${b}" height="${b}" fill="${n}"/>
2120
2120
  <!-- Diamond Chain -->
2121
- <polygon points="${o*0.5},0 ${o},${o*0.5} ${o*0.5},${o} 0,${o*0.5}"
2122
- fill="${b}" opacity="0.2"/>
2123
- <polygon points="${o*0.5},${o*0.2} ${o*0.8},${o*0.5} ${o*0.5},${o*0.8} ${o*0.2},${o*0.5}"
2121
+ <polygon points="${b*0.5},0 ${b},${b*0.5} ${b*0.5},${b} 0,${b*0.5}"
2122
+ fill="${o}" opacity="0.2"/>
2123
+ <polygon points="${b*0.5},${b*0.2} ${b*0.8},${b*0.5} ${b*0.5},${b*0.8} ${b*0.2},${b*0.5}"
2124
2124
  fill="${l}"/>
2125
- <rect x="${o*0.4}" y="${o*0.4}" width="${o*0.2}" height="${o*0.2}" fill="${a}"/>
2125
+ <rect x="${b*0.4}" y="${b*0.4}" width="${b*0.2}" height="${b*0.2}" fill="${a}"/>
2126
2126
  <!-- Side accents -->
2127
- <line x1="0" y1="0" x2="0" y2="${o}" stroke="${b}" stroke-width="4"/>
2128
- <line x1="${o}" y1="0" x2="${o}" y2="${o}" stroke="${b}" stroke-width="4"/>
2127
+ <line x1="0" y1="0" x2="0" y2="${b}" stroke="${o}" stroke-width="4"/>
2128
+ <line x1="${b}" y1="0" x2="${b}" y2="${b}" stroke="${o}" stroke-width="4"/>
2129
2129
  </svg>
2130
- `;return`data:image/svg+xml,${encodeURIComponent(f.trim())}`}function jn({colors:t=["#FFD700","#4169E1","#FF69B4","#228B22"],size:n=60,strokeWidth:o=2}={}){let[b,l,a,f]=t,h=`
2130
+ `;return`data:image/svg+xml,${encodeURIComponent(f.trim())}`}function jn({colors:t=["#FFD700","#4169E1","#FF69B4","#228B22"],size:n=60,strokeWidth:b=2}={}){let[o,l,a,f]=t,r=`
2131
2131
  <svg xmlns="http://www.w3.org/2000/svg" width="${n}" height="${n}" viewBox="0 0 ${n} ${n}">
2132
2132
  <rect width="${n}" height="${n}" fill="#FFFFFF"/>
2133
- <rect x="${o}" y="${o}"
2134
- width="${n-o*2}" height="${n-o*2}"
2135
- fill="none" stroke="#000000" stroke-width="${o}"/>
2133
+ <rect x="${b}" y="${b}"
2134
+ width="${n-b*2}" height="${n-b*2}"
2135
+ fill="none" stroke="#000000" stroke-width="${b}"/>
2136
2136
  <rect x="${n*0.15}" y="${n*0.15}" width="${n*0.35}" height="${n*0.35}"
2137
- fill="${b}" stroke="#000000" stroke-width="${o/2}"/>
2137
+ fill="${o}" stroke="#000000" stroke-width="${b/2}"/>
2138
2138
  <rect x="${n*0.5}" y="${n*0.15}" width="${n*0.35}" height="${n*0.35}"
2139
- fill="${l}" stroke="#000000" stroke-width="${o/2}"/>
2139
+ fill="${l}" stroke="#000000" stroke-width="${b/2}"/>
2140
2140
  <rect x="${n*0.15}" y="${n*0.5}" width="${n*0.35}" height="${n*0.35}"
2141
- fill="${a}" stroke="#000000" stroke-width="${o/2}"/>
2141
+ fill="${a}" stroke="#000000" stroke-width="${b/2}"/>
2142
2142
  <rect x="${n*0.5}" y="${n*0.5}" width="${n*0.35}" height="${n*0.35}"
2143
- fill="${f}" stroke="#000000" stroke-width="${o/2}"/>
2143
+ fill="${f}" stroke="#000000" stroke-width="${b/2}"/>
2144
2144
  <polygon points="${n/2},${n*0.3} ${n*0.7},${n/2} ${n/2},${n*0.7} ${n*0.3},${n/2}"
2145
- fill="#FFFFFF" stroke="#000000" stroke-width="${o}"/>
2145
+ fill="#FFFFFF" stroke="#000000" stroke-width="${b}"/>
2146
2146
  </svg>
2147
- `;return`data:image/svg+xml,${encodeURIComponent(h.trim())}`}function Vn({colors:t=["#FFFFFF","#000000","#FF0000","#00A86B","#FFD700"],size:n=50}={}){let[o,b,l,a,f]=t,h=n/10,r=`
2147
+ `;return`data:image/svg+xml,${encodeURIComponent(r.trim())}`}function Vn({colors:t=["#FFFFFF","#000000","#FF0000","#00A86B","#FFD700"],size:n=50}={}){let[b,o,l,a,f]=t,r=n/10,h=`
2148
2148
  <svg xmlns="http://www.w3.org/2000/svg" width="${n}" height="${n}" viewBox="0 0 ${n} ${n}">
2149
- <rect width="${n}" height="${n}" fill="${b}"/>
2149
+ <rect width="${n}" height="${n}" fill="${o}"/>
2150
2150
  <!-- Triangle pattern (isivivane - sacred cairn) -->
2151
2151
  <polygon points="${n*0.5},${n*0.1} ${n*0.9},${n*0.9} ${n*0.1},${n*0.9}"
2152
- fill="none" stroke="${o}" stroke-width="2"/>
2152
+ fill="none" stroke="${b}" stroke-width="2"/>
2153
2153
  <polygon points="${n*0.5},${n*0.25} ${n*0.75},${n*0.75} ${n*0.25},${n*0.75}"
2154
2154
  fill="${l}"/>
2155
2155
  <!-- Beadwork dots -->
2156
- <circle cx="${n*0.5}" cy="${n*0.35}" r="${h}" fill="${o}"/>
2157
- <circle cx="${n*0.35}" cy="${n*0.6}" r="${h}" fill="${a}"/>
2158
- <circle cx="${n*0.65}" cy="${n*0.6}" r="${h}" fill="${f}"/>
2159
- <circle cx="${n*0.5}" cy="${n*0.8}" r="${h}" fill="${o}"/>
2156
+ <circle cx="${n*0.5}" cy="${n*0.35}" r="${r}" fill="${b}"/>
2157
+ <circle cx="${n*0.35}" cy="${n*0.6}" r="${r}" fill="${a}"/>
2158
+ <circle cx="${n*0.65}" cy="${n*0.6}" r="${r}" fill="${f}"/>
2159
+ <circle cx="${n*0.5}" cy="${n*0.8}" r="${r}" fill="${b}"/>
2160
2160
  <!-- Border dots -->
2161
- <circle cx="${n*0.1}" cy="${n*0.1}" r="${h*0.7}" fill="${l}"/>
2162
- <circle cx="${n*0.9}" cy="${n*0.1}" r="${h*0.7}" fill="${a}"/>
2161
+ <circle cx="${n*0.1}" cy="${n*0.1}" r="${r*0.7}" fill="${l}"/>
2162
+ <circle cx="${n*0.9}" cy="${n*0.1}" r="${r*0.7}" fill="${a}"/>
2163
2163
  </svg>
2164
- `;return`data:image/svg+xml,${encodeURIComponent(r.trim())}`}function Nn({colors:t=["#3E5EB9","#FECD00","#B10C0C","#FFFFFF"],size:n=50}={}){let[o,b,l,a]=t,f=`
2164
+ `;return`data:image/svg+xml,${encodeURIComponent(h.trim())}`}function pn({colors:t=["#3E5EB9","#FECD00","#B10C0C","#FFFFFF"],size:n=50}={}){let[b,o,l,a]=t,f=`
2165
2165
  <svg xmlns="http://www.w3.org/2000/svg" width="${n}" height="${n}" viewBox="0 0 ${n} ${n}">
2166
- <rect width="${n}" height="${n}" fill="${o}"/>
2166
+ <rect width="${n}" height="${n}" fill="${b}"/>
2167
2167
  <!-- Shield shape (central to Eswatini culture) -->
2168
2168
  <ellipse cx="${n*0.5}" cy="${n*0.45}" rx="${n*0.35}" ry="${n*0.4}"
2169
- fill="${b}" stroke="${l}" stroke-width="3"/>
2169
+ fill="${o}" stroke="${l}" stroke-width="3"/>
2170
2170
  <!-- Inner pattern -->
2171
2171
  <ellipse cx="${n*0.5}" cy="${n*0.45}" rx="${n*0.2}" ry="${n*0.25}"
2172
2172
  fill="${l}"/>
@@ -2181,72 +2181,72 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
2181
2181
  <polygon points="${n*0.1},${n*0.3} ${n*0.05},${n*0.5} ${n*0.15},${n*0.5}" fill="${a}"/>
2182
2182
  <polygon points="${n*0.9},${n*0.3} ${n*0.85},${n*0.5} ${n*0.95},${n*0.5}" fill="${a}"/>
2183
2183
  </svg>
2184
- `;return`data:image/svg+xml,${encodeURIComponent(f.trim())}`}function Kn({primaryColor:t="#FFFFFF",accentColor:n="#00A86B",backgroundColor:o="#1a1a2e",size:b=50}={}){let l=`
2185
- <svg xmlns="http://www.w3.org/2000/svg" width="${b}" height="${b}" viewBox="0 0 ${b} ${b}">
2186
- <rect width="${b}" height="${b}" fill="${o}"/>
2184
+ `;return`data:image/svg+xml,${encodeURIComponent(f.trim())}`}function Nn({primaryColor:t="#FFFFFF",accentColor:n="#00A86B",backgroundColor:b="#1a1a2e",size:o=50}={}){let l=`
2185
+ <svg xmlns="http://www.w3.org/2000/svg" width="${o}" height="${o}" viewBox="0 0 ${o} ${o}">
2186
+ <rect width="${o}" height="${o}" fill="${b}"/>
2187
2187
  <!-- Horizontal bands -->
2188
- <rect x="0" y="${b*0.2}" width="${b}" height="${b*0.1}" fill="${t}"/>
2189
- <rect x="0" y="${b*0.7}" width="${b}" height="${b*0.1}" fill="${t}"/>
2188
+ <rect x="0" y="${o*0.2}" width="${o}" height="${o*0.1}" fill="${t}"/>
2189
+ <rect x="0" y="${o*0.7}" width="${o}" height="${o*0.1}" fill="${t}"/>
2190
2190
  <!-- Vertical bands -->
2191
- <rect x="${b*0.2}" y="0" width="${b*0.1}" height="${b}" fill="${n}"/>
2192
- <rect x="${b*0.7}" y="0" width="${b*0.1}" height="${b}" fill="${n}"/>
2191
+ <rect x="${o*0.2}" y="0" width="${o*0.1}" height="${o}" fill="${n}"/>
2192
+ <rect x="${o*0.7}" y="0" width="${o*0.1}" height="${o}" fill="${n}"/>
2193
2193
  <!-- Central diamond -->
2194
- <polygon points="${b*0.5},${b*0.35} ${b*0.65},${b*0.5} ${b*0.5},${b*0.65} ${b*0.35},${b*0.5}"
2194
+ <polygon points="${o*0.5},${o*0.35} ${o*0.65},${o*0.5} ${o*0.5},${o*0.65} ${o*0.35},${o*0.5}"
2195
2195
  fill="${n}" stroke="${t}" stroke-width="2"/>
2196
2196
  <!-- Corner triangles -->
2197
- <polygon points="0,0 ${b*0.15},0 0,${b*0.15}" fill="${n}"/>
2198
- <polygon points="${b},0 ${b*0.85},0 ${b},${b*0.15}" fill="${n}"/>
2199
- <polygon points="0,${b} ${b*0.15},${b} 0,${b*0.85}" fill="${n}"/>
2200
- <polygon points="${b},${b} ${b*0.85},${b} ${b},${b*0.85}" fill="${n}"/>
2197
+ <polygon points="0,0 ${o*0.15},0 0,${o*0.15}" fill="${n}"/>
2198
+ <polygon points="${o},0 ${o*0.85},0 ${o},${o*0.15}" fill="${n}"/>
2199
+ <polygon points="0,${o} ${o*0.15},${o} 0,${o*0.85}" fill="${n}"/>
2200
+ <polygon points="${o},${o} ${o*0.85},${o} ${o},${o*0.85}" fill="${n}"/>
2201
2201
  </svg>
2202
- `;return`data:image/svg+xml,${encodeURIComponent(l.trim())}`}function ql(t,n){t.style.backgroundImage=`url("${n}")`,t.style.backgroundRepeat="repeat"}function pn({primaryColor:t="#8B0000",secondaryColor:n="#000000",accentColor:o="#FFD700",backgroundColor:b="#F5F5DC",size:l=60}={}){let a=`
2202
+ `;return`data:image/svg+xml,${encodeURIComponent(l.trim())}`}function xl(t,n){t.style.backgroundImage=`url("${n}")`,t.style.backgroundRepeat="repeat"}function Kn({primaryColor:t="#8B0000",secondaryColor:n="#000000",accentColor:b="#FFD700",backgroundColor:o="#F5F5DC",size:l=60}={}){let a=`
2203
2203
  <svg xmlns="http://www.w3.org/2000/svg" width="${l}" height="${l}" viewBox="0 0 ${l} ${l}">
2204
- <rect width="${l}" height="${l}" fill="${b}"/>
2204
+ <rect width="${l}" height="${l}" fill="${o}"/>
2205
2205
  <!-- Lozenge (Diamond) - universal protective symbol -->
2206
2206
  <polygon points="${l*0.5},${l*0.1} ${l*0.9},${l*0.5} ${l*0.5},${l*0.9} ${l*0.1},${l*0.5}"
2207
2207
  fill="${t}" stroke="${n}" stroke-width="2"/>
2208
2208
  <!-- Inner geometric details -->
2209
- <line x1="${l*0.5}" y1="${l*0.1}" x2="${l*0.5}" y2="${l*0.9}" stroke="${o}" stroke-width="2"/>
2210
- <line x1="${l*0.1}" y1="${l*0.5}" x2="${l*0.9}" y2="${l*0.5}" stroke="${o}" stroke-width="2"/>
2209
+ <line x1="${l*0.5}" y1="${l*0.1}" x2="${l*0.5}" y2="${l*0.9}" stroke="${b}" stroke-width="2"/>
2210
+ <line x1="${l*0.1}" y1="${l*0.5}" x2="${l*0.9}" y2="${l*0.5}" stroke="${b}" stroke-width="2"/>
2211
2211
  <!-- X symbols (Fibula/Cross) -->
2212
2212
  <line x1="${l*0.4}" y1="${l*0.4}" x2="${l*0.6}" y2="${l*0.6}" stroke="${n}" stroke-width="2"/>
2213
2213
  <line x1="${l*0.6}" y1="${l*0.4}" x2="${l*0.4}" y2="${l*0.6}" stroke="${n}" stroke-width="2"/>
2214
2214
  </svg>
2215
- `;return`data:image/svg+xml,${encodeURIComponent(a.trim())}`}function In({primaryColor:t="#4B0082",secondaryColor:n="#8A2BE2",accentColor:o="#FFFFFF",size:b=50}={}){let l=`
2216
- <svg xmlns="http://www.w3.org/2000/svg" width="${b}" height="${b}" viewBox="0 0 ${b} ${b}">
2217
- <rect width="${b}" height="${b}" fill="${t}"/>
2215
+ `;return`data:image/svg+xml,${encodeURIComponent(a.trim())}`}function un({primaryColor:t="#4B0082",secondaryColor:n="#8A2BE2",accentColor:b="#FFFFFF",size:o=50}={}){let l=`
2216
+ <svg xmlns="http://www.w3.org/2000/svg" width="${o}" height="${o}" viewBox="0 0 ${o} ${o}">
2217
+ <rect width="${o}" height="${o}" fill="${t}"/>
2218
2218
  <!-- Resist circles (Oniko) -->
2219
- <circle cx="${b*0.5}" cy="${b*0.5}" r="${b*0.35}" fill="none" stroke="${n}" stroke-width="3"/>
2220
- <circle cx="${b*0.5}" cy="${b*0.5}" r="${b*0.25}" fill="none" stroke="${o}" stroke-width="2" stroke-dasharray="4 2"/>
2221
- <circle cx="${b*0.5}" cy="${b*0.5}" r="${b*0.1}" fill="${o}" opacity="0.8"/>
2219
+ <circle cx="${o*0.5}" cy="${o*0.5}" r="${o*0.35}" fill="none" stroke="${n}" stroke-width="3"/>
2220
+ <circle cx="${o*0.5}" cy="${o*0.5}" r="${o*0.25}" fill="none" stroke="${b}" stroke-width="2" stroke-dasharray="4 2"/>
2221
+ <circle cx="${o*0.5}" cy="${o*0.5}" r="${o*0.1}" fill="${b}" opacity="0.8"/>
2222
2222
  <!-- Corner ripples -->
2223
- <path d="M0,0 Q${b*0.2},0 ${b*0.2},${b*0.2} Q0,${b*0.2} 0,0" fill="${n}"/>
2224
- <path d="M${b},${b} Q${b*0.8},${b} ${b*0.8},${b*0.8} Q${b},${b*0.8} ${b},${b}" fill="${n}"/>
2223
+ <path d="M0,0 Q${o*0.2},0 ${o*0.2},${o*0.2} Q0,${o*0.2} 0,0" fill="${n}"/>
2224
+ <path d="M${o},${o} Q${o*0.8},${o} ${o*0.8},${o*0.8} Q${o},${o*0.8} ${o},${o}" fill="${n}"/>
2225
2225
  </svg>
2226
- `;return`data:image/svg+xml,${encodeURIComponent(l.trim())}`}function El({primaryColor:t="#2D3D6B",secondaryColor:n="#6B8CC7",accentColor:o="#FFFFFF",size:b=60}={}){let l=`
2227
- <svg xmlns="http://www.w3.org/2000/svg" width="${b}" height="${b}" viewBox="0 0 ${b} ${b}">
2228
- <rect width="${b}" height="${b}" fill="${t}"/>
2226
+ `;return`data:image/svg+xml,${encodeURIComponent(l.trim())}`}function Yl({primaryColor:t="#2D3D6B",secondaryColor:n="#6B8CC7",accentColor:b="#FFFFFF",size:o=60}={}){let l=`
2227
+ <svg xmlns="http://www.w3.org/2000/svg" width="${o}" height="${o}" viewBox="0 0 ${o} ${o}">
2228
+ <rect width="${o}" height="${o}" fill="${t}"/>
2229
2229
  <!-- Southern Cross / Tuareg Star -->
2230
- <path d="M${b*0.5} 0 L${b*0.6} ${b*0.4} L${b} ${b*0.5} L${b*0.6} ${b*0.6} L${b*0.5} ${b} L${b*0.4} ${b*0.6} L0 ${b*0.5} L${b*0.4} ${b*0.4} Z"
2231
- fill="none" stroke="${o}" stroke-width="2"/>
2232
- <circle cx="${b*0.5}" cy="${b*0.5}" r="${b*0.1}" fill="${n}"/>
2230
+ <path d="M${o*0.5} 0 L${o*0.6} ${o*0.4} L${o} ${o*0.5} L${o*0.6} ${o*0.6} L${o*0.5} ${o} L${o*0.4} ${o*0.6} L0 ${o*0.5} L${o*0.4} ${o*0.4} Z"
2231
+ fill="none" stroke="${b}" stroke-width="2"/>
2232
+ <circle cx="${o*0.5}" cy="${o*0.5}" r="${o*0.1}" fill="${n}"/>
2233
2233
  </svg>
2234
- `;return`data:image/svg+xml,${encodeURIComponent(l.trim())}`}function Hl({inkColor:t="#3A2E2C",parchmentColor:n="#F4E4BC",size:o=50}={}){let b=`
2235
- <svg xmlns="http://www.w3.org/2000/svg" width="${o}" height="${o}" viewBox="0 0 ${o} ${o}">
2236
- <rect width="${o}" height="${o}" fill="${n}"/>
2237
- <path d="M${o*0.2} ${o*0.2} L${o*0.4} ${o*0.2} M${o*0.3} ${o*0.2} L${o*0.3} ${o*0.5} Q${o*0.4} ${o*0.6} ${o*0.2} ${o*0.7}"
2234
+ `;return`data:image/svg+xml,${encodeURIComponent(l.trim())}`}function Ml({inkColor:t="#3A2E2C",parchmentColor:n="#F4E4BC",size:b=50}={}){let o=`
2235
+ <svg xmlns="http://www.w3.org/2000/svg" width="${b}" height="${b}" viewBox="0 0 ${b} ${b}">
2236
+ <rect width="${b}" height="${b}" fill="${n}"/>
2237
+ <path d="M${b*0.2} ${b*0.2} L${b*0.4} ${b*0.2} M${b*0.3} ${b*0.2} L${b*0.3} ${b*0.5} Q${b*0.4} ${b*0.6} ${b*0.2} ${b*0.7}"
2238
2238
  fill="none" stroke="${t}" stroke-width="3" stroke-linecap="round"/>
2239
- <path d="M${o*0.6} ${o*0.3} C${o*0.8} ${o*0.3} ${o*0.8} ${o*0.6} ${o*0.6} ${o*0.6} L${o*0.8} ${o*0.8}"
2239
+ <path d="M${b*0.6} ${b*0.3} C${b*0.8} ${b*0.3} ${b*0.8} ${b*0.6} ${b*0.6} ${b*0.6} L${b*0.8} ${b*0.8}"
2240
2240
  fill="none" stroke="${t}" stroke-width="3" stroke-linecap="round"/>
2241
2241
  </svg>
2242
- `;return`data:image/svg+xml,${encodeURIComponent(b.trim())}`}function xl({clayColor:t="#4E342E",earthColor:n="#3E2723",accentColor:o="#BCAAA4",size:b=60}={}){let l=`
2243
- <svg xmlns="http://www.w3.org/2000/svg" width="${b}" height="${b}" viewBox="0 0 ${b} ${b}">
2244
- <rect width="${b}" height="${b}" fill="${n}"/>
2245
- <path d="M${b*0.2} ${b*0.5} Q${b*0.3} ${b*0.2} ${b*0.5} ${b*0.3} T${b*0.8} ${b*0.5} Q${b*0.7} ${b*0.8} ${b*0.5} ${b*0.7} T${b*0.2} ${b*0.5}"
2246
- fill="${t}" stroke="${o}" stroke-width="2"/>
2242
+ `;return`data:image/svg+xml,${encodeURIComponent(o.trim())}`}function Xl({clayColor:t="#4E342E",earthColor:n="#3E2723",accentColor:b="#BCAAA4",size:o=60}={}){let l=`
2243
+ <svg xmlns="http://www.w3.org/2000/svg" width="${o}" height="${o}" viewBox="0 0 ${o} ${o}">
2244
+ <rect width="${o}" height="${o}" fill="${n}"/>
2245
+ <path d="M${o*0.2} ${o*0.5} Q${o*0.3} ${o*0.2} ${o*0.5} ${o*0.3} T${o*0.8} ${o*0.5} Q${o*0.7} ${o*0.8} ${o*0.5} ${o*0.7} T${o*0.2} ${o*0.5}"
2246
+ fill="${t}" stroke="${b}" stroke-width="2"/>
2247
2247
  </svg>
2248
- `;return`data:image/svg+xml,${encodeURIComponent(l.trim())}`}function vo({primaryColor:t="#334155",secondaryColor:n="#1e293b",size:o=100}={}){let b=`
2249
- <svg xmlns="http://www.w3.org/2000/svg" width="${o}" height="${o}" viewBox="0 0 100 100">
2248
+ `;return`data:image/svg+xml,${encodeURIComponent(l.trim())}`}function c0({primaryColor:t="#334155",secondaryColor:n="#1e293b",size:b=100}={}){let o=`
2249
+ <svg xmlns="http://www.w3.org/2000/svg" width="${b}" height="${b}" viewBox="0 0 100 100">
2250
2250
  <rect width="100" height="100" fill="${n}"/>
2251
2251
  <path d="M10 10 H90 V90 H10 Z" fill="none" stroke="${t}" stroke-width="0.5" opacity="0.3"/>
2252
2252
  <path d="M20 20 V50 H50 V80 H80" fill="none" stroke="${t}" stroke-width="1"/>
@@ -2254,7 +2254,7 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
2254
2254
  <circle cx="80" cy="80" r="2" fill="${t}"/>
2255
2255
  <circle cx="50" cy="50" r="1.5" fill="${t}"/>
2256
2256
  </svg>
2257
- `;return`data:image/svg+xml,${encodeURIComponent(b.trim())}`}var un;var hn=x(()=>{un={generatePolygon:$l,generateShuka:Gn,generateHadzabe:Jn,generateKanga:vl,generateKangaBorder:Ln,generateKitenge:Fn,generateMasaiShield:_l,generateTibeb:Un,generateImigongo:dn,generateKente:Bn,generateAdinkra:mn,generateAsoOke:Rn,generateAnkara:Dn,generateBogolan:On,generateAdire:In,generateKuba:Wn,generateKubaBorder:wl,generateBerber:pn,generateNdebele:jn,generateNdebelePaint:Al,generateZulu:Vn,generateZuluBeads:cl,generateSwazi:Nn,generateXhosa:Kn,applyPattern:ql,generateTuareg:El,generateGeez:Hl,generateBoli:xl,generateCircuit:vo,circuit:vo}});var wo={};Q(wo,{default:()=>Ml,KangaCard:()=>rn});var rn,Ml;var co=x(()=>{S();hn();rn=class rn extends c{static get observedAttributes(){return["theme","proverb","proverb-translation"]}constructor(){super();this.render()}connectedCallback(){this.loadStyles(),this.applyTheme()}attributeChangedCallback(t,n,o){if(n!==o)if(t==="theme")this.applyTheme();else this.render()}getThemeColors(){let t=this.getAttribute("theme")||"tanzania",n={tanzania:{primary:"#1EB53A",accent:"#FCD116",border:"#00A3DD",text:"#000000"},maasai:{primary:"#8B0000",accent:"#FF0000",border:"#000000",text:"#FFFFFF"},ndebele:{primary:"#4169E1",accent:"#FFD700",border:"#FF69B4",text:"#000000"}};return n[t]||n.tanzania}applyTheme(){let t=this.getThemeColors(),n=this.shadowRoot.querySelector(".pindo");if(n){let o=generateKangaBorder({primaryColor:t.primary,accentColor:t.accent});n.style.backgroundImage=`url("${o}")`,n.style.backgroundRepeat="repeat"}}render(){let t=this.getAttribute("proverb")||"",n=this.getAttribute("proverb-translation")||"",o=this.getThemeColors();this.shadowRoot.innerHTML=`
2257
+ `;return`data:image/svg+xml,${encodeURIComponent(o.trim())}`}var In;var rn=x(()=>{In={generatePolygon:cl,generateShuka:Qn,generateHadzabe:Jn,generateKanga:_l,generateKangaBorder:Gn,generateKitenge:Ln,generateMasaiShield:Hl,generateTibeb:Un,generateImigongo:dn,generateKente:Fn,generateAdinkra:Rn,generateAsoOke:Bn,generateAnkara:On,generateBogolan:Dn,generateAdire:un,generateKuba:Wn,generateKubaBorder:Al,generateBerber:Kn,generateNdebele:jn,generateNdebelePaint:El,generateZulu:Vn,generateZuluBeads:ql,generateSwazi:pn,generateXhosa:Nn,applyPattern:xl,generateTuareg:Yl,generateGeez:Ml,generateBoli:Xl,generateCircuit:c0,circuit:c0}});var _0={};k(_0,{default:()=>ml,KangaCard:()=>hn});var hn,ml;var A0=x(()=>{m();rn();hn=class hn extends c{static get observedAttributes(){return["theme","proverb","proverb-translation"]}constructor(){super();this.render()}connectedCallback(){this.loadStyles(),this.applyTheme()}attributeChangedCallback(t,n,b){if(n!==b)if(t==="theme")this.applyTheme();else this.render()}getThemeColors(){let t=this.getAttribute("theme")||"tanzania",n={tanzania:{primary:"#1EB53A",accent:"#FCD116",border:"#00A3DD",text:"#000000"},maasai:{primary:"#8B0000",accent:"#FF0000",border:"#000000",text:"#FFFFFF"},ndebele:{primary:"#4169E1",accent:"#FFD700",border:"#FF69B4",text:"#000000"}};return n[t]||n.tanzania}applyTheme(){let t=this.getThemeColors(),n=this.shadowRoot.querySelector(".pindo");if(n){let b=generateKangaBorder({primaryColor:t.primary,accentColor:t.accent});n.style.backgroundImage=`url("${b}")`,n.style.backgroundRepeat="repeat"}}render(){let t=this.getAttribute("proverb")||"",n=this.getAttribute("proverb-translation")||"",b=this.getThemeColors();this.shadowRoot.innerHTML=`
2258
2258
  <style>
2259
2259
  :host {
2260
2260
  display: block;
@@ -2277,7 +2277,7 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
2277
2277
  /* Pindo - Decorative Border */
2278
2278
  .pindo {
2279
2279
  padding: var(--space-13, 13px);
2280
- background-color: ${o.primary};
2280
+ background-color: ${b.primary};
2281
2281
  }
2282
2282
 
2283
2283
  /* Mji - Central Content Area */
@@ -2289,8 +2289,8 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
2289
2289
 
2290
2290
  /* Jina - Proverb Inscription */
2291
2291
  .jina {
2292
- background-color: ${o.border};
2293
- color: ${o.text};
2292
+ background-color: ${b.border};
2293
+ color: ${b.text};
2294
2294
  padding: var(--space-8, 8px) var(--space-13, 13px);
2295
2295
  text-align: center;
2296
2296
  font-style: italic;
@@ -2317,7 +2317,7 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
2317
2317
  }
2318
2318
 
2319
2319
  ::slotted(h1), ::slotted(h2), ::slotted(h3) {
2320
- color: ${o.primary};
2320
+ color: ${b.primary};
2321
2321
  margin-bottom: var(--space-8, 8px);
2322
2322
  }
2323
2323
  </style>
@@ -2336,7 +2336,7 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
2336
2336
  </div>
2337
2337
  `:'<div class="jina"><slot name="proverb"></slot></div>'}
2338
2338
  </article>
2339
- `,this.applyTheme()}};_("af-kanga-card",rn);Ml=rn});var _o={};Q(_o,{default:()=>kl,CulturalCard:()=>gn});var gn,kl;var Ao=x(()=>{S();hn();gn=class gn extends c{static get observedAttributes(){return["culture","interactive"]}constructor(){super();this._cultures={maasai:{name:"Maasai",region:"Tanzania/Kenya",pattern:"generateShuka",colors:{primary:"#FF0000",accent:"#000000"}},hadzabe:{name:"Hadzabe",region:"Tanzania",pattern:"generateHadzabe",colors:{primary:"#8B4513",accent:"#CD853F"}},swahili:{name:"Swahili",region:"East Africa",pattern:"generateKangaBorder",colors:{primary:"#1EB53A",accent:"#FCD116"}},kitenge:{name:"Kitenge",region:"East Africa",pattern:"generateKitenge",colors:{primary:"#00A3DD",accent:"#1EB53A"}},tibeb:{name:"Tibeb",region:"Ethiopia",pattern:"generateTibeb",colors:{primary:"#009E60",accent:"#FCDD09"}},ashanti:{name:"Ashanti/Akan",region:"Ghana",pattern:"generateKente",colors:{primary:"#FFD700",accent:"#228B22"}},adinkra:{name:"Adinkra",region:"Ghana",pattern:"generateAdinkra",colors:{primary:"#000000",accent:"#CD853F"}},bogolan:{name:"Bogolan",region:"Mali",pattern:"generateBogolan",colors:{primary:"#3E2723",accent:"#D7CCC8"}},yoruba:{name:"Yoruba",region:"Nigeria",pattern:"generateAsoOke",colors:{primary:"#4B0082",accent:"#FFD700"}},ankara:{name:"Ankara",region:"West Africa",pattern:"generateAnkara",colors:{primary:"#FF6B00",accent:"#00A86B"}},kuba:{name:"Kuba Shoowa",region:"DRC",pattern:"generateKuba",colors:{primary:"#D2B48C",accent:"#3E2723"}},imigongo:{name:"Imigongo",region:"Rwanda",pattern:"generateImigongo",colors:{primary:"#000000",accent:"#B22222"}},ndebele:{name:"Ndebele",region:"South Africa",pattern:"generateNdebele",colors:{primary:"#4169E1",accent:"#FFD700"}},zulu:{name:"Zulu",region:"South Africa",pattern:"generateZulu",colors:{primary:"#FF0000",accent:"#000000"}},swazi:{name:"Swazi",region:"Eswatini",pattern:"generateSwazi",colors:{primary:"#3E5EB9",accent:"#FECD00"}},xhosa:{name:"Xhosa",region:"South Africa",pattern:"generateXhosa",colors:{primary:"#00A86B",accent:"#1a1a2e"}}},this.render()}connectedCallback(){this._setupInteraction()}_setupInteraction(){if(!this.hasAttribute("interactive"))return;this.shadowRoot.querySelector(".culture-selector")?.addEventListener("change",(n)=>{this.setAttribute("culture",n.target.value),this.emit("af-culture-change",{culture:n.target.value})})}attributeChangedCallback(){this.render(),this._setupInteraction()}render(){let t=this.getAttribute("culture")||"maasai",n=this.hasAttribute("interactive"),o=this._cultures[t]||this._cultures.maasai,b=un[o.pattern],l=b?b():"";this.shadowRoot.innerHTML=`
2339
+ `,this.applyTheme()}};_("af-kanga-card",hn);ml=hn});var q0={};k(q0,{default:()=>kl,CulturalCard:()=>gn});var gn,kl;var H0=x(()=>{m();rn();gn=class gn extends c{static get observedAttributes(){return["culture","interactive"]}constructor(){super();this._cultures={maasai:{name:"Maasai",region:"Tanzania/Kenya",pattern:"generateShuka",colors:{primary:"#FF0000",accent:"#000000"}},hadzabe:{name:"Hadzabe",region:"Tanzania",pattern:"generateHadzabe",colors:{primary:"#8B4513",accent:"#CD853F"}},swahili:{name:"Swahili",region:"East Africa",pattern:"generateKangaBorder",colors:{primary:"#1EB53A",accent:"#FCD116"}},kitenge:{name:"Kitenge",region:"East Africa",pattern:"generateKitenge",colors:{primary:"#00A3DD",accent:"#1EB53A"}},tibeb:{name:"Tibeb",region:"Ethiopia",pattern:"generateTibeb",colors:{primary:"#009E60",accent:"#FCDD09"}},ashanti:{name:"Ashanti/Akan",region:"Ghana",pattern:"generateKente",colors:{primary:"#FFD700",accent:"#228B22"}},adinkra:{name:"Adinkra",region:"Ghana",pattern:"generateAdinkra",colors:{primary:"#000000",accent:"#CD853F"}},bogolan:{name:"Bogolan",region:"Mali",pattern:"generateBogolan",colors:{primary:"#3E2723",accent:"#D7CCC8"}},yoruba:{name:"Yoruba",region:"Nigeria",pattern:"generateAsoOke",colors:{primary:"#4B0082",accent:"#FFD700"}},ankara:{name:"Ankara",region:"West Africa",pattern:"generateAnkara",colors:{primary:"#FF6B00",accent:"#00A86B"}},kuba:{name:"Kuba Shoowa",region:"DRC",pattern:"generateKuba",colors:{primary:"#D2B48C",accent:"#3E2723"}},imigongo:{name:"Imigongo",region:"Rwanda",pattern:"generateImigongo",colors:{primary:"#000000",accent:"#B22222"}},ndebele:{name:"Ndebele",region:"South Africa",pattern:"generateNdebele",colors:{primary:"#4169E1",accent:"#FFD700"}},zulu:{name:"Zulu",region:"South Africa",pattern:"generateZulu",colors:{primary:"#FF0000",accent:"#000000"}},swazi:{name:"Swazi",region:"Eswatini",pattern:"generateSwazi",colors:{primary:"#3E5EB9",accent:"#FECD00"}},xhosa:{name:"Xhosa",region:"South Africa",pattern:"generateXhosa",colors:{primary:"#00A86B",accent:"#1a1a2e"}}},this.render()}connectedCallback(){this._setupInteraction()}_setupInteraction(){if(!this.hasAttribute("interactive"))return;this.shadowRoot.querySelector(".culture-selector")?.addEventListener("change",(n)=>{this.setAttribute("culture",n.target.value),this.emit("af-culture-change",{culture:n.target.value})})}attributeChangedCallback(){this.render(),this._setupInteraction()}render(){let t=this.getAttribute("culture")||"maasai",n=this.hasAttribute("interactive"),b=this._cultures[t]||this._cultures.maasai,o=In[b.pattern],l=o?o():"";this.shadowRoot.innerHTML=`
2340
2340
  <style>
2341
2341
  :host {
2342
2342
  display: block;
@@ -2378,7 +2378,7 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
2378
2378
  position: absolute;
2379
2379
  bottom: 10px;
2380
2380
  left: 10px;
2381
- background: ${o.colors.primary};
2381
+ background: ${b.colors.primary};
2382
2382
  color: white;
2383
2383
  padding: 4px 12px;
2384
2384
  border-radius: 20px;
@@ -2413,7 +2413,7 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
2413
2413
  .card-title h3 {
2414
2414
  margin: 0;
2415
2415
  font-size: 18px;
2416
- color: ${o.colors.primary};
2416
+ color: ${b.colors.primary};
2417
2417
  }
2418
2418
 
2419
2419
  .culture-icon {
@@ -2422,7 +2422,7 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
2422
2422
  border-radius: 50%;
2423
2423
  background-image: url("${l}");
2424
2424
  background-size: cover;
2425
- border: 2px solid ${o.colors.accent};
2425
+ border: 2px solid ${b.colors.accent};
2426
2426
  }
2427
2427
 
2428
2428
  .card-content {
@@ -2434,7 +2434,7 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
2434
2434
  width: 100%;
2435
2435
  padding: 10px;
2436
2436
  margin-top: 15px;
2437
- border: 2px solid ${o.colors.primary};
2437
+ border: 2px solid ${b.colors.primary};
2438
2438
  border-radius: 6px;
2439
2439
  font-family: inherit;
2440
2440
  font-size: 14px;
@@ -2444,7 +2444,7 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
2444
2444
 
2445
2445
  .culture-selector:focus {
2446
2446
  outline: none;
2447
- box-shadow: 0 0 0 3px ${o.colors.primary}30;
2447
+ box-shadow: 0 0 0 3px ${b.colors.primary}30;
2448
2448
  }
2449
2449
 
2450
2450
  select option {
@@ -2460,13 +2460,13 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
2460
2460
  <article class="cultural-card">
2461
2461
  <div class="pattern-header">
2462
2462
  <div class="pattern-overlay"></div>
2463
- <span class="culture-badge">${o.name}</span>
2464
- <span class="region-badge">\uD83D\uDCCD ${o.region}</span>
2463
+ <span class="culture-badge">${b.name}</span>
2464
+ <span class="region-badge">\uD83D\uDCCD ${b.region}</span>
2465
2465
  </div>
2466
2466
  <div class="card-body">
2467
2467
  <div class="card-title">
2468
2468
  <div class="culture-icon"></div>
2469
- <h3>${o.name} Pattern</h3>
2469
+ <h3>${b.name} Pattern</h3>
2470
2470
  </div>
2471
2471
  <div class="card-content">
2472
2472
  <slot></slot>
@@ -2501,7 +2501,7 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
2501
2501
  `:""}
2502
2502
  </div>
2503
2503
  </article>
2504
- `}};_("af-cultural-card",gn);kl=gn});var qo={};Q(qo,{default:()=>Xl,PatternShowcase:()=>$n});var $n,Xl;var Eo=x(()=>{S();hn();$n=class $n extends c{static get observedAttributes(){return["region","size"]}constructor(){super();this._allPatterns=[{key:"shuka",name:"Maasai Shuka",region:"east",country:"Tanzania/Kenya",fn:Gn,meaning:"Bravery, Unity, Identity"},{key:"hadzabe",name:"Hadzabe",region:"east",country:"Tanzania",fn:Jn,meaning:"Ancient traditions, Hunter-gatherer heritage"},{key:"kanga",name:"Kanga",region:"east",country:"Tanzania/Kenya",fn:Ln,meaning:"Communication, Proverbs, Femininity"},{key:"kitenge",name:"Kitenge",region:"east",country:"East Africa",fn:Fn,meaning:"Celebration, African identity"},{key:"tibeb",name:"Tibeb",region:"east",country:"Ethiopia",fn:Un,meaning:"Faith, Tradition, Celebration"},{key:"kente",name:"Kente",region:"west",country:"Ghana",fn:Bn,meaning:"Royalty, Wisdom, Celebration"},{key:"adinkra",name:"Adinkra",region:"west",country:"Ghana",fn:mn,meaning:"Philosophy, Proverbs, Wisdom"},{key:"bogolan",name:"Bogolan",region:"west",country:"Mali",fn:On,meaning:"Earth energy, Protection, Healing"},{key:"asooke",name:"Aso-Oke",region:"west",country:"Nigeria",fn:Rn,meaning:"Prestige, Celebration, Heritage"},{key:"adire",name:"Adire (Indigo)",region:"west",country:"Nigeria",fn:In,meaning:"Creativity, Uniqueness, Depth"},{key:"ankara",name:"Ankara",region:"west",country:"West Africa",fn:Dn,meaning:"Boldness, Pan-African pride"},{key:"kuba",name:"Kuba Shoowa",region:"central",country:"DRC",fn:Wn,meaning:"Status, Mathematics, Eternity"},{key:"imigongo",name:"Imigongo",region:"central",country:"Rwanda",fn:dn,meaning:"Resilience, Strength, Artistry"},{key:"berber",name:"Berber",region:"north",country:"North Africa",fn:pn,meaning:"Protection, Nature, Identity"},{key:"ndebele",name:"Ndebele",region:"south",country:"South Africa",fn:jn,meaning:"Artistry, Marriage, Status"},{key:"zulu",name:"Zulu Beadwork",region:"south",country:"South Africa",fn:Vn,meaning:"Love letters, Community"},{key:"swazi",name:"Swazi",region:"south",country:"Eswatini",fn:Nn,meaning:"Monarchy, Warriors, Pride"},{key:"xhosa",name:"Xhosa",region:"south",country:"South Africa",fn:Kn,meaning:"Dignity, Coming of age"}],this.render()}connectedCallback(){this._setupHovers()}_setupHovers(){this.shadowRoot.querySelectorAll(".pattern-item").forEach((t)=>{t.addEventListener("click",()=>{let n=t.dataset.key,o=this._allPatterns.find((b)=>b.key===n);if(o)this.emit("af-pattern-select",{pattern:o})})})}attributeChangedCallback(){this.render(),this._setupHovers()}render(){let t=this.getAttribute("region")||"all",n=this.getAttribute("size")||"md",o=t==="all"?this._allPatterns:this._allPatterns.filter((a)=>a.region===t),b={sm:80,md:120,lg:160},l=b[n]||b.md;this.shadowRoot.innerHTML=`
2504
+ `}};_("af-cultural-card",gn);kl=gn});var E0={};k(E0,{default:()=>Ql,PatternShowcase:()=>$n});var $n,Ql;var x0=x(()=>{m();rn();$n=class $n extends c{static get observedAttributes(){return["region","size"]}constructor(){super();this._allPatterns=[{key:"shuka",name:"Maasai Shuka",region:"east",country:"Tanzania/Kenya",fn:Qn,meaning:"Bravery, Unity, Identity"},{key:"hadzabe",name:"Hadzabe",region:"east",country:"Tanzania",fn:Jn,meaning:"Ancient traditions, Hunter-gatherer heritage"},{key:"kanga",name:"Kanga",region:"east",country:"Tanzania/Kenya",fn:Gn,meaning:"Communication, Proverbs, Femininity"},{key:"kitenge",name:"Kitenge",region:"east",country:"East Africa",fn:Ln,meaning:"Celebration, African identity"},{key:"tibeb",name:"Tibeb",region:"east",country:"Ethiopia",fn:Un,meaning:"Faith, Tradition, Celebration"},{key:"kente",name:"Kente",region:"west",country:"Ghana",fn:Fn,meaning:"Royalty, Wisdom, Celebration"},{key:"adinkra",name:"Adinkra",region:"west",country:"Ghana",fn:Rn,meaning:"Philosophy, Proverbs, Wisdom"},{key:"bogolan",name:"Bogolan",region:"west",country:"Mali",fn:Dn,meaning:"Earth energy, Protection, Healing"},{key:"asooke",name:"Aso-Oke",region:"west",country:"Nigeria",fn:Bn,meaning:"Prestige, Celebration, Heritage"},{key:"adire",name:"Adire (Indigo)",region:"west",country:"Nigeria",fn:un,meaning:"Creativity, Uniqueness, Depth"},{key:"ankara",name:"Ankara",region:"west",country:"West Africa",fn:On,meaning:"Boldness, Pan-African pride"},{key:"kuba",name:"Kuba Shoowa",region:"central",country:"DRC",fn:Wn,meaning:"Status, Mathematics, Eternity"},{key:"imigongo",name:"Imigongo",region:"central",country:"Rwanda",fn:dn,meaning:"Resilience, Strength, Artistry"},{key:"berber",name:"Berber",region:"north",country:"North Africa",fn:Kn,meaning:"Protection, Nature, Identity"},{key:"ndebele",name:"Ndebele",region:"south",country:"South Africa",fn:jn,meaning:"Artistry, Marriage, Status"},{key:"zulu",name:"Zulu Beadwork",region:"south",country:"South Africa",fn:Vn,meaning:"Love letters, Community"},{key:"swazi",name:"Swazi",region:"south",country:"Eswatini",fn:pn,meaning:"Monarchy, Warriors, Pride"},{key:"xhosa",name:"Xhosa",region:"south",country:"South Africa",fn:Nn,meaning:"Dignity, Coming of age"}],this.render()}connectedCallback(){this._setupHovers()}_setupHovers(){this.shadowRoot.querySelectorAll(".pattern-item").forEach((t)=>{t.addEventListener("click",()=>{let n=t.dataset.key,b=this._allPatterns.find((o)=>o.key===n);if(b)this.emit("af-pattern-select",{pattern:b})})})}attributeChangedCallback(){this.render(),this._setupHovers()}render(){let t=this.getAttribute("region")||"all",n=this.getAttribute("size")||"md",b=t==="all"?this._allPatterns:this._allPatterns.filter((a)=>a.region===t),o={sm:80,md:120,lg:160},l=o[n]||o.md;this.shadowRoot.innerHTML=`
2505
2505
  <style>
2506
2506
  :host {
2507
2507
  display: block;
@@ -2621,7 +2621,7 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
2621
2621
  </div>
2622
2622
 
2623
2623
  <div class="pattern-grid">
2624
- ${o.map((a)=>`
2624
+ ${b.map((a)=>`
2625
2625
  <div class="pattern-item" data-key="${a.key}">
2626
2626
  <div class="pattern-preview" style="background-image: url('${a.fn()}')"></div>
2627
2627
  <div class="pattern-info">
@@ -2634,7 +2634,7 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
2634
2634
  `).join("")}
2635
2635
  </div>
2636
2636
  </div>
2637
- `,this.shadowRoot.querySelectorAll(".region-tab").forEach((a)=>{a.addEventListener("click",()=>{this.setAttribute("region",a.dataset.region)})})}};_("af-pattern-showcase",$n);Xl=$n});var Ho={};Q(Ho,{AfriLanguageSwitcher:()=>Pn});var Pn;var xo=x(()=>{S();Pn=class Pn extends c{static get observedAttributes(){return["current"]}render(){let t=[{code:"en",name:"English"},{code:"sw",name:"Kiswahili"},{code:"fr",name:"Français"},{code:"ar",name:"العربية",dir:"rtl"},{code:"am",name:"አማርኛ"},{code:"yo",name:"Yorùbá"}],n=this.getAttribute("current")||"en",o=t.find((b)=>b.code===n)||t[0];this.shadowRoot.innerHTML=R`
2637
+ `,this.shadowRoot.querySelectorAll(".region-tab").forEach((a)=>{a.addEventListener("click",()=>{this.setAttribute("region",a.dataset.region)})})}};_("af-pattern-showcase",$n);Ql=$n});var Y0={};k(Y0,{AfriLanguageSwitcher:()=>Pn});var Pn;var M0=x(()=>{m();Pn=class Pn extends c{static get observedAttributes(){return["current"]}render(){let t=[{code:"en",name:"English"},{code:"sw",name:"Kiswahili"},{code:"fr",name:"Français"},{code:"ar",name:"العربية",dir:"rtl"},{code:"am",name:"አማርኛ"},{code:"yo",name:"Yorùbá"}],n=this.getAttribute("current")||"en",b=t.find((o)=>o.code===n)||t[0];this.shadowRoot.innerHTML=B`
2638
2638
  <style>
2639
2639
  :host { display: inline-block; position: relative; font-family: var(--font-body); }
2640
2640
  .switcher-btn {
@@ -2675,17 +2675,17 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
2675
2675
 
2676
2676
  <button class="switcher-btn">
2677
2677
  <span>🌍</span>
2678
- <span>${o.name}</span>
2678
+ <span>${b.name}</span>
2679
2679
  </button>
2680
2680
 
2681
2681
  <div class="dropdown">
2682
- ${t.map((b)=>R`
2683
- <div class="lang-option" data-code="${b.code}" dir="${b.dir||"ltr"}">
2684
- ${b.name}
2682
+ ${t.map((o)=>B`
2683
+ <div class="lang-option" data-code="${o.code}" dir="${o.dir||"ltr"}">
2684
+ ${o.name}
2685
2685
  </div>
2686
2686
  `)}
2687
2687
  </div>
2688
- `,this.shadowRoot.querySelector(".switcher-btn").onclick=()=>{this.toggleAttribute("open")},this.shadowRoot.querySelectorAll(".lang-option").forEach((b)=>{b.onclick=()=>{let l=b.dataset.code;if(this.setAttribute("current",l),this.removeAttribute("open"),this.emit("lang-change",{code:l}),l==="ar")document.documentElement.dir="rtl";else document.documentElement.dir="ltr"}})}connectedCallback(){this.render()}attributeChangedCallback(){this.render()}};_("af-language-switcher",Pn)});var Yo={};Q(Yo,{AfriAuth:()=>Tn});var Tn;var Mo=x(()=>{S();Tn=class Tn extends c{constructor(){super();this.mode="login"}connectedCallback(){this.render(),this.setupEvents()}setupEvents(){let t=this.shadowRoot.querySelector("form"),n=this.shadowRoot.querySelector(".toggle-mode");if(n)n.addEventListener("click",(o)=>{o.preventDefault(),this.mode=this.mode==="login"?"register":"login",this.render(),this.setupEvents()});if(t)t.addEventListener("submit",async(o)=>{o.preventDefault();let b=this.shadowRoot.querySelector("#email").value,l=this.shadowRoot.querySelector("#password").value,a=this.shadowRoot.querySelector(".feedback");a.textContent="Processing...";try{let h=await(await fetch("/api/auth",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:this.mode,email:b,password:l})})).json();if(h.error)a.textContent=h.error,a.style.color="#ef4444";else a.textContent="Success! Redirecting...",a.style.color="#22c55e",setTimeout(()=>window.location.href="/",1000)}catch(f){a.textContent="Network Error"}})}render(){let t=this.mode==="login";this.shadowRoot.innerHTML=`
2688
+ `,this.shadowRoot.querySelector(".switcher-btn").onclick=()=>{this.toggleAttribute("open")},this.shadowRoot.querySelectorAll(".lang-option").forEach((o)=>{o.onclick=()=>{let l=o.dataset.code;if(this.setAttribute("current",l),this.removeAttribute("open"),this.emit("lang-change",{code:l}),l==="ar")document.documentElement.dir="rtl";else document.documentElement.dir="ltr"}})}connectedCallback(){this.render()}attributeChangedCallback(){this.render()}};_("af-language-switcher",Pn)});var X0={};k(X0,{AfriAuth:()=>Tn});var Tn;var S0=x(()=>{m();Tn=class Tn extends c{constructor(){super();this.mode="login"}connectedCallback(){this.render(),this.setupEvents()}setupEvents(){let t=this.shadowRoot.querySelector("form"),n=this.shadowRoot.querySelector(".toggle-mode");if(n)n.addEventListener("click",(b)=>{b.preventDefault(),this.mode=this.mode==="login"?"register":"login",this.render(),this.setupEvents()});if(t)t.addEventListener("submit",async(b)=>{b.preventDefault();let o=this.shadowRoot.querySelector("#email").value,l=this.shadowRoot.querySelector("#password").value,a=this.shadowRoot.querySelector(".feedback");a.textContent="Processing...";try{let r=await(await fetch("/api/auth",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:this.mode,email:o,password:l})})).json();if(r.error)a.textContent=r.error,a.style.color="#ef4444";else a.textContent="Success! Redirecting...",a.style.color="#22c55e",setTimeout(()=>window.location.href="/",1000)}catch(f){a.textContent="Network Error"}})}render(){let t=this.mode==="login";this.shadowRoot.innerHTML=`
2689
2689
  <style>
2690
2690
  :host {
2691
2691
  display: block;
@@ -2783,7 +2783,7 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
2783
2783
  <span class="toggle-mode">${t?"Create an account":"Sign in"}</span>
2784
2784
  </div>
2785
2785
  </div>
2786
- `}};_("af-auth",Tn)});var ko={};Q(ko,{default:()=>Sl});var Cn,Sl;var Xo=x(()=>{S();Cn=class Cn extends c{constructor(){super();this.currentTheme="dark"}connectedCallback(){this.loadStyles();let t=localStorage.getItem("africode-theme");if(t)this.currentTheme=t,document.documentElement.setAttribute("data-theme",t);else{let n=window.matchMedia("(prefers-color-scheme: light)").matches;this.currentTheme=n?"light":"dark",document.documentElement.setAttribute("data-theme",this.currentTheme)}this.render()}toggleTheme(){this.currentTheme=this.currentTheme==="dark"?"light":"dark",document.documentElement.setAttribute("data-theme",this.currentTheme),localStorage.setItem("africode-theme",this.currentTheme),window.dispatchEvent(new CustomEvent("theme-changed",{detail:{theme:this.currentTheme}})),this.render()}render(){let t=this.currentTheme==="dark";this.shadowRoot.innerHTML=R`
2786
+ `}};_("af-auth",Tn)});var m0={};k(m0,{default:()=>Jl});var Cn,Jl;var k0=x(()=>{m();Cn=class Cn extends c{constructor(){super();this.currentTheme="dark"}connectedCallback(){this.loadStyles();let t=localStorage.getItem("africode-theme");if(t)this.currentTheme=t,document.documentElement.setAttribute("data-theme",t);else{let n=window.matchMedia("(prefers-color-scheme: light)").matches;this.currentTheme=n?"light":"dark",document.documentElement.setAttribute("data-theme",this.currentTheme)}this.render()}toggleTheme(){this.currentTheme=this.currentTheme==="dark"?"light":"dark",document.documentElement.setAttribute("data-theme",this.currentTheme),localStorage.setItem("africode-theme",this.currentTheme),window.dispatchEvent(new CustomEvent("theme-changed",{detail:{theme:this.currentTheme}})),this.render()}render(){let t=this.currentTheme==="dark";this.shadowRoot.innerHTML=B`
2787
2787
  <style>
2788
2788
  .toggle-btn {
2789
2789
  background: var(--bg-surface-elevated, var(--afri-obsidian));
@@ -2812,13 +2812,13 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
2812
2812
  <span class="icon">\${isDark ? '🌙' : '☀️'}</span>
2813
2813
  <span>\${isDark ? 'Dark Mode' : 'Light Mode'}</span>
2814
2814
  </button>
2815
- `;let n=this.shadowRoot.querySelector(".toggle-btn");if(n)n.addEventListener("click",()=>this.toggleTheme())}};_("af-theme-toggle",Cn);Sl=Cn});S();S();class _n extends c{static get observedAttributes(){return["theme","fallback-message"]}constructor(){super();this._hasError=!1,this._errorDetail=null,this.render()}connectedCallback(){this.addEventListener("af-component-error",this._handleError.bind(this))}disconnectedCallback(){this.removeEventListener("af-component-error",this._handleError.bind(this))}_handleError(t){t.stopPropagation(),this._hasError=!0,this._errorDetail=t.detail,console.warn("[AfriCode Boundary] Caught error:",this._errorDetail),this.render()}reset(){this._hasError=!1,this._errorDetail=null,this.render()}attributeChangedCallback(){this.render()}render(){let t=this.getAttribute("theme")||"tanzania",n=this.getAttribute("fallback-message")||"A part of this page failed to load.",o={tanzania:{bg:"#FFF9E6",border:"#FCD116",text:"#5A4A00"},maasai:{bg:"#FFEEEE",border:"#FF0000",text:"#8B0000"},ndebele:{bg:"#EBF0FF",border:"#4169E1",text:"#002B5C"},ocean:{bg:"#E6FAFF",border:"#00A3DD",text:"#004A66"}},b=o[t]||o.tanzania;if(this._hasError){this.shadowRoot.innerHTML=`
2815
+ `;let n=this.shadowRoot.querySelector(".toggle-btn");if(n)n.addEventListener("click",()=>this.toggleTheme())}};_("af-theme-toggle",Cn);Jl=Cn});m();m();class _n extends c{static get observedAttributes(){return["theme","fallback-message"]}constructor(){super();this._hasError=!1,this._errorDetail=null,this.render()}connectedCallback(){this.addEventListener("af-component-error",this._handleError.bind(this))}disconnectedCallback(){this.removeEventListener("af-component-error",this._handleError.bind(this))}_handleError(t){t.stopPropagation(),this._hasError=!0,this._errorDetail=t.detail,console.warn("[AfriCode Boundary] Caught error:",this._errorDetail),this.render()}reset(){this._hasError=!1,this._errorDetail=null,this.render()}attributeChangedCallback(){this.render()}render(){let t=this.getAttribute("theme")||"tanzania",n=this.getAttribute("fallback-message")||"A part of this page failed to load.",b={tanzania:{bg:"#FFF9E6",border:"#FCD116",text:"#5A4A00"},maasai:{bg:"#FFEEEE",border:"#FF0000",text:"#8B0000"},ndebele:{bg:"#EBF0FF",border:"#4169E1",text:"#002B5C"},ocean:{bg:"#E6FAFF",border:"#00A3DD",text:"#004A66"}},o=b[t]||b.tanzania;if(this._hasError){this.shadowRoot.innerHTML=`
2816
2816
  <style>
2817
2817
  :host { display: block; width: 100%; font-family: 'Inter', system-ui, sans-serif; }
2818
2818
  .boundary-error {
2819
- background: ${b.bg};
2820
- border-left: 4px solid ${b.border};
2821
- color: ${b.text};
2819
+ background: ${o.bg};
2820
+ border-left: 4px solid ${o.border};
2821
+ color: ${o.text};
2822
2822
  padding: 16px 20px;
2823
2823
  border-radius: 4px;
2824
2824
  margin: 12px 0;
@@ -2851,8 +2851,8 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
2851
2851
  }
2852
2852
  button {
2853
2853
  background: transparent;
2854
- border: 1px solid ${b.border};
2855
- color: ${b.text};
2854
+ border: 1px solid ${o.border};
2855
+ color: ${o.text};
2856
2856
  padding: 6px 12px;
2857
2857
  border-radius: 4px;
2858
2858
  cursor: pointer;
@@ -2883,6 +2883,6 @@ var So=Object.defineProperty;var Qo=(t)=>t;function Go(t,n){this[t]=Qo.bind(null
2883
2883
  `,this.shadowRoot.getElementById("retry-btn").addEventListener("click",()=>{this.reset()});return}this.shadowRoot.innerHTML=`
2884
2884
  <style>:host { display: block; }</style>
2885
2885
  <slot></slot>
2886
- `}}_("af-error-boundary",_n);var Ql={"af-button":()=>Promise.resolve().then(() => (sn(),en)),"af-card":()=>Promise.resolve().then(() => (t0(),zn)),"af-navbar":()=>Promise.resolve().then(() => (b0(),o0)),"af-input":()=>Promise.resolve().then(() => (k0(),M0)),"af-alert":()=>Promise.resolve().then(() => (S0(),X0)),"af-grid":()=>Promise.resolve().then(() => (G0(),Q0)),"af-section":()=>Promise.resolve().then(() => (L0(),J0)),"af-icon":()=>Promise.resolve().then(() => (B0(),F0)),"af-accordion":()=>Promise.resolve().then(() => (R0(),m0)),"af-hero":()=>Promise.resolve().then(() => (O0(),D0)),"af-table":()=>Promise.resolve().then(() => (d0(),W0)),"af-modal":()=>Promise.resolve().then(() => (j0(),U0)),"af-tabs":()=>Promise.resolve().then(() => (N0(),V0)),"af-sidebar":()=>Promise.resolve().then(() => (p0(),K0)),"af-dropdown":()=>Promise.resolve().then(() => (u0(),I0)),"af-select":()=>Promise.resolve().then(() => (P0(),i0)),"af-form":()=>Promise.resolve().then(() => (C0(),T0)),"af-tooltip":()=>Promise.resolve().then(() => (Z0(),y0)),"af-toast":()=>Promise.resolve().then(() => (s0(),e0)),"af-badge":()=>Promise.resolve().then(() => (to(),z0)),"af-avatar":()=>Promise.resolve().then(() => (oo(),no)),"af-progress":()=>Promise.resolve().then(() => (lo(),bo)),"af-loader":()=>Promise.resolve().then(() => (fo(),ao)),"af-skeleton":()=>Promise.resolve().then(() => (ro(),ho)),"af-divider":()=>Promise.resolve().then(() => ($o(),go)),"af-kanga-card":()=>Promise.resolve().then(() => (co(),wo)),"af-cultural-card":()=>Promise.resolve().then(() => (Ao(),_o)),"af-pattern-showcase":()=>Promise.resolve().then(() => (Eo(),qo)),"af-language-switcher":()=>Promise.resolve().then(() => (xo(),Ho)),"af-auth":()=>Promise.resolve().then(() => (Mo(),Yo)),"af-theme-toggle":()=>Promise.resolve().then(() => (Xo(),ko))},lf=Ql;export{lf as default,Ql as componentMap,_n as AfriErrorBoundary,c as AfriCodeComponent};
2886
+ `}}_("af-error-boundary",_n);var Gl={"af-button":()=>Promise.resolve().then(() => (sn(),Zn)),"af-card":()=>Promise.resolve().then(() => (to(),zn)),"af-navbar":()=>Promise.resolve().then(() => (lo(),bo)),"af-input":()=>Promise.resolve().then(() => (So(),Xo)),"af-alert":()=>Promise.resolve().then(() => (ko(),mo)),"af-grid":()=>Promise.resolve().then(() => (Jo(),Qo)),"af-section":()=>Promise.resolve().then(() => (Lo(),Go)),"af-icon":()=>Promise.resolve().then(() => (Ro(),Fo)),"af-accordion":()=>Promise.resolve().then(() => (Oo(),Bo)),"af-hero":()=>Promise.resolve().then(() => (Wo(),Do)),"af-table":()=>Promise.resolve().then(() => (jo(),Uo)),"af-modal":()=>Promise.resolve().then(() => (po(),Vo)),"af-tabs":()=>Promise.resolve().then(() => (Ko(),No)),"af-sidebar":()=>Promise.resolve().then(() => (io(),uo)),"af-dropdown":()=>Promise.resolve().then(() => (Po(),Io)),"af-select":()=>Promise.resolve().then(() => (Co(),To)),"af-form":()=>Promise.resolve().then(() => (eo(),yo)),"af-tooltip":()=>Promise.resolve().then(() => (so(),Zo)),"af-toast":()=>Promise.resolve().then(() => (t0(),zo)),"af-badge":()=>Promise.resolve().then(() => (o0(),n0)),"af-avatar":()=>Promise.resolve().then(() => (l0(),b0)),"af-progress":()=>Promise.resolve().then(() => (f0(),a0)),"af-loader":()=>Promise.resolve().then(() => (h0(),r0)),"af-skeleton":()=>Promise.resolve().then(() => ($0(),g0)),"af-divider":()=>Promise.resolve().then(() => (w0(),v0)),"af-kanga-card":()=>Promise.resolve().then(() => (A0(),_0)),"af-cultural-card":()=>Promise.resolve().then(() => (H0(),q0)),"af-pattern-showcase":()=>Promise.resolve().then(() => (x0(),E0)),"af-language-switcher":()=>Promise.resolve().then(() => (M0(),Y0)),"af-auth":()=>Promise.resolve().then(() => (S0(),X0)),"af-theme-toggle":()=>Promise.resolve().then(() => (k0(),m0))},wf=Gl;export{wf as default,Gl as componentMap,_n as AfriErrorBoundary,c as AfriCodeComponent};
2887
2887
 
2888
- //# debugId=73A699B3533FABD264756E2164756E21
2888
+ //# debugId=692BCE78711C5C6464756E2164756E21