@getforma/core 0.9.0 → 0.9.1

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,2 +1,2 @@
1
- "use strict";var FormaJS=(()=>{var ke=Object.defineProperty;var Yn=Object.getOwnPropertyDescriptor;var Xn=Object.getOwnPropertyNames;var Zn=Object.prototype.hasOwnProperty;var Qn=(e,t)=>{for(var n in t)ke(e,n,{get:t[n],enumerable:!0})},eo=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Xn(t))!Zn.call(e,r)&&r!==n&&ke(e,r,{get:()=>t[r],enumerable:!(o=Yn(t,r))||o.enumerable});return e};var to=e=>eo(ke({},"__esModule",{value:!0}),e);var Ko={};Qn(Ko,{$:()=>Dt,$$:()=>Ht,$$serverFunction:()=>dn,Fragment:()=>ce,activateIslands:()=>mt,addClass:()=>_t,applyRevalidation:()=>we,batch:()=>_,children:()=>Vt,cleanup:()=>st,closest:()=>$t,createAction:()=>sn,createBus:()=>Lt,createComputed:()=>ee,createContext:()=>bt,createEffect:()=>Q,createErrorBoundary:()=>dt,createFetch:()=>tn,createHistory:()=>kt,createIndexedDB:()=>en,createList:()=>te,createLocalStorage:()=>Xt,createMemo:()=>ze,createPortal:()=>ft,createRPCMiddleware:()=>hn,createReducer:()=>Ye,createRef:()=>Je,createResource:()=>Xe,createRoot:()=>H,createSSE:()=>on,createSessionStorage:()=>Zt,createShow:()=>ne,createSignal:()=>w,createStore:()=>Rt,createSuspense:()=>pt,createSwitch:()=>ut,createText:()=>ct,createWebSocket:()=>rn,deactivateAllIslands:()=>gt,deactivateIsland:()=>be,defineComponent:()=>Tt,delegate:()=>At,disposeComponent:()=>St,enableAutoRevalidation:()=>un,fetchJSON:()=>nn,fragment:()=>at,getBatchDepth:()=>Ae,getRegisteredEndpoints:()=>gn,getServerFunction:()=>mn,h:()=>se,handleRPC:()=>Ee,hydrateIsland:()=>V,inject:()=>wt,isComputed:()=>De,isEffect:()=>He,isEffectScope:()=>_e,isSignal:()=>Ne,mount:()=>lt,nextSibling:()=>Gt,on:()=>qe,onCleanup:()=>je,onError:()=>Ue,onIntersect:()=>Jt,onKey:()=>Nt,onMount:()=>ht,onMutation:()=>Yt,onResize:()=>qt,onUnmount:()=>yt,parent:()=>Wt,persist:()=>Mt,prevSibling:()=>zt,provide:()=>vt,reconcileList:()=>G,registerResource:()=>cn,registerServerFunction:()=>pn,removeClass:()=>It,setAttr:()=>Ft,setHTML:()=>Kt,setHTMLUnsafe:()=>jt,setStyle:()=>Ot,setText:()=>Bt,siblings:()=>Ut,toggleClass:()=>Pt,trackDisposer:()=>xt,trigger:()=>Pe,unprovide:()=>Ct,unregisterResource:()=>ln,untrack:()=>L,withRevalidation:()=>fn});function yn({update:e,notify:t,unwatched:n}){return{link:o,unlink:r,propagate:s,checkDirty:i,shallowPropagate:c};function o(u,a,d){let g=a.depsTail;if(g!==void 0&&g.dep===u)return;let p=g!==void 0?g.nextDep:a.deps;if(p!==void 0&&p.dep===u){p.version=d,a.depsTail=p;return}let h=u.subsTail;if(h!==void 0&&h.version===d&&h.sub===a)return;let T=a.depsTail=u.subsTail={version:d,dep:u,sub:a,prevDep:g,nextDep:p,prevSub:h,nextSub:void 0};p!==void 0&&(p.prevDep=T),g!==void 0?g.nextDep=T:a.deps=T,h!==void 0?h.nextSub=T:u.subs=T}function r(u,a=u.sub){let d=u.dep,g=u.prevDep,p=u.nextDep,h=u.nextSub,T=u.prevSub;return p!==void 0?p.prevDep=g:a.depsTail=g,g!==void 0?g.nextDep=p:a.deps=p,h!==void 0?h.prevSub=T:d.subsTail=T,T!==void 0?T.nextSub=h:(d.subs=h)===void 0&&n(d),p}function s(u){let a=u.nextSub,d;e:do{let g=u.sub,p=g.flags;if(p&60?p&12?p&4?!(p&48)&&f(u,g)?(g.flags=p|40,p&=1):p=0:g.flags=p&-9|32:p=0:g.flags=p|32,p&2&&t(g),p&1){let h=g.subs;if(h!==void 0){let T=(u=h).nextSub;T!==void 0&&(d={value:a,prev:d},a=T);continue}}if((u=a)!==void 0){a=u.nextSub;continue}for(;d!==void 0;)if(u=d.value,d=d.prev,u!==void 0){a=u.nextSub;continue e}break}while(!0)}function i(u,a){let d,g=0,p=!1;e:do{let h=u.dep,T=h.flags;if(a.flags&16)p=!0;else if((T&17)===17){if(e(h)){let b=h.subs;b.nextSub!==void 0&&c(b),p=!0}}else if((T&33)===33){(u.nextSub!==void 0||u.prevSub!==void 0)&&(d={value:u,prev:d}),u=h.deps,a=h,++g;continue}if(!p){let b=u.nextDep;if(b!==void 0){u=b;continue}}for(;g--;){let b=a.subs,y=b.nextSub!==void 0;if(y?(u=d.value,d=d.prev):u=b,p){if(e(a)){y&&c(b),a=u.sub;continue}p=!1}else a.flags&=-33;a=u.sub;let v=u.nextDep;if(v!==void 0){u=v;continue e}}return p}while(!0)}function c(u){do{let a=u.sub,d=a.flags;(d&48)===32&&(a.flags=d|16,(d&6)===2&&t(a))}while((u=u.nextSub)!==void 0)}function f(u,a){let d=a.depsTail;for(;d!==void 0;){if(d===u)return!0;d=d.prevDep}return!1}}var de=0,Z=0,$=0,X=0,O,B=[],{link:pe,unlink:Me,propagate:Tn,checkDirty:Sn,shallowPropagate:Le}=yn({update(e){return e.depsTail!==void 0?En(e):Rn(e)},notify(e){let t=X,n=t;do if(B[t++]=e,e.flags&=-3,e=e.subs?.sub,e===void 0||!(e.flags&2))break;while(!0);for(X=t;n<--t;){let o=B[n];B[n++]=B[t],B[t]=o}},unwatched(e){e.flags&1?e.depsTail!==void 0&&(e.depsTail=void 0,e.flags=17,ge(e)):me.call(e)}});function D(e){let t=O;return O=e,t}function Ae(){return Z}function xn(){++Z}function bn(){--Z||Oe()}function Ne(e){return e.name==="bound "+Mn.name}function De(e){return e.name==="bound "+kn.name}function He(e){return e.name==="bound "+Ln.name}function _e(e){return e.name==="bound "+me.name}function vn(e){return Mn.bind({currentValue:e,pendingValue:e,subs:void 0,subsTail:void 0,flags:1})}function wn(e){return kn.bind({value:void 0,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:0,getter:e})}function Ie(e){let t={fn:e,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:6},n=D(t);n!==void 0&&pe(t,n,0);try{t.fn()}finally{O=n,t.flags&=-5}return Ln.bind(t)}function Cn(e){let t={deps:void 0,depsTail:void 0,subs:void 0,subsTail:void 0,flags:0},n=D(t);n!==void 0&&pe(t,n,0);try{e()}finally{O=n}return me.bind(t)}function Pe(e){let t={deps:void 0,depsTail:void 0,flags:2},n=D(t);try{e()}finally{O=n;let o=t.deps;for(;o!==void 0;){let r=o.dep;o=Me(o,t);let s=r.subs;s!==void 0&&(t.flags=0,Tn(s),Le(s))}Z||Oe()}}function En(e){++de,e.depsTail=void 0,e.flags=5;let t=D(e);try{let n=e.value;return n!==(e.value=e.getter(n))}finally{O=t,e.flags&=-5,ge(e)}}function Rn(e){return e.flags=1,e.currentValue!==(e.currentValue=e.pendingValue)}function no(e){let t=e.flags;if(t&16||t&32&&Sn(e.deps,e)){++de,e.depsTail=void 0,e.flags=6;let n=D(e);try{e.fn()}finally{O=n,e.flags&=-5,ge(e)}}else e.flags=2}function Oe(){try{for(;$<X;){let e=B[$];B[$++]=void 0,no(e)}}finally{for(;$<X;){let e=B[$];B[$++]=void 0,e.flags|=10}$=0,X=0}}function kn(){let e=this.flags;if(e&16||e&32&&(Sn(this.deps,this)||(this.flags=e&-33,!1))){if(En(this)){let n=this.subs;n!==void 0&&Le(n)}}else if(!e){this.flags=5;let n=D(this);try{this.value=this.getter()}finally{O=n,this.flags&=-5}}let t=O;return t!==void 0&&pe(this,t,de),this.value}function Mn(...e){if(e.length){if(this.pendingValue!==(this.pendingValue=e[0])){this.flags=17;let t=this.subs;t!==void 0&&(Tn(t),Z||Oe())}}else{if(this.flags&16&&Rn(this)){let n=this.subs;n!==void 0&&Le(n)}let t=O;for(;t!==void 0;){if(t.flags&3){pe(this,t,de);break}t=t.subs?.sub}return this.currentValue}}function Ln(){me.call(this)}function me(){this.depsTail=void 0,this.flags=0,ge(this);let e=this.subs;e!==void 0&&Me(e)}function ge(e){let t=e.depsTail,n=t!==void 0?t.nextDep:e.deps;for(;n!==void 0;)n=Me(n,e)}function oo(e,t,n){if(typeof t!="function"){if(n){let i=D(void 0),c=e();if(D(i),n(c,t))return}e(t);return}let o=D(void 0),r=e();D(o);let s=t(r);n&&n(r,s)||e(s)}function w(e,t){let n=vn(e),o=n,r=t?.equals;return[o,i=>oo(n,i,r)]}var W=null,An=[];function H(e){let t={disposers:[],scopeDispose:null};An.push(W),W=t;let n=()=>{if(t.scopeDispose){try{t.scopeDispose()}catch{}t.scopeDispose=null}for(let r of t.disposers)try{r()}catch{}t.disposers.length=0},o;try{t.scopeDispose=Cn(()=>{o=e(n)})}finally{W=An.pop()??null}return o}function Fe(e){W&&W.disposers.push(e)}function Be(){return W!==null}var Ke=null;function je(e){Ke?.(e)}function $e(e){let t=Ke;return Ke=e,t}var A=typeof process<"u"?process.env?.NODE_ENV!=="production":!0,Ve=null;function Ue(e){Ve=e}function F(e,t){if(Ve)try{Ve(e,t?{source:t}:{})}catch{}A&&console.error(`[forma] ${t??"Unknown"} error:`,e)}var We=32,Nn=100,Ge=[];for(let e=0;e<We;e++)Ge.push([]);var he=We;function ro(){if(he>0){let e=Ge[--he];return e.length=0,e}return[]}function Dn(e){e.length=0,he<We&&(Ge[he++]=e)}function Hn(e){if(e!==void 0)try{e()}catch(t){F(t,"effect cleanup")}}function _n(e){if(e!==void 0)for(let t=0;t<e.length;t++)try{e[t]()}catch(n){F(n,"effect cleanup")}}function C(e){let t=Ie(e);return Be()&&Fe(t),t}function Q(e){let t=Be(),n,o,r,s,i=b=>{if(s!==void 0){s.push(b);return}if(r!==void 0){let y=ro();y.push(r,b),r=void 0,s=y;return}r=b},c=!1,f=!0,u=!1,a=!1,d=()=>{if(n!==void 0&&(Hn(n),n=void 0),o!==void 0&&(_n(o),Dn(o),o=void 0),c){try{e()}catch(y){F(y,"effect")}return}r=void 0,s=void 0;let b=$e(i);try{let y=e();if(typeof y=="function"&&i(y),r===void 0&&s===void 0){f&&(c=!0);return}s!==void 0?o=s:n=r}catch(y){F(y,"effect"),s!==void 0?o=s:n=r}finally{$e(b),f=!1}},p=Ie(()=>{if(u){a=!0;return}u=!0;try{let b=0;do a=!1,d(),a&&(b++,b>=Nn&&(F(new Error(`createEffect exceeded ${Nn} re-entrant runs`),"effect"),a=!1));while(a)}finally{u=!1}}),h=!1,T=()=>{h||(h=!0,p(),n!==void 0&&(Hn(n),n=void 0),o!==void 0&&(_n(o),Dn(o),o=void 0))};return t&&Fe(T),T}function ee(e){return wn(e)}var ze=ee;function _(e){xn();try{e()}finally{bn()}}function L(e){let t=D(void 0);try{return e()}finally{D(t)}}function qe(e,t,n){let o,r=!0;return()=>{let s=e();if(n?.defer&&r){r=!1,o=s;return}let i=L(()=>t(s,o));return o=s,i}}function Je(e){return{current:e}}function Ye(e,t){let[n,o]=w(t);return[n,s=>{o(i=>e(i,s))}]}var ye=null,In=[];function Pn(e){In.push(ye),ye=e}function On(){ye=In.pop()??null}function Fn(){return ye}function Xe(e,t,n){let[o,r]=w(n?.initialValue),[s,i]=w(!1),[c,f]=w(void 0),u=Fn(),a=null,d=0,g=()=>{let h=L(e);a&&a.abort();let T=new AbortController;a=T;let b=++d,y=()=>b===d,v=!1;u&&(u.increment(),v=!0),i(!0),f(void 0),Promise.resolve(t(h)).then(S=>{y()&&!T.signal.aborted&&r(()=>S)}).catch(S=>{y()&&!T.signal.aborted&&S?.name!=="AbortError"&&f(S)}).finally(()=>{v&&u?.decrement(),y()&&(i(!1),a===T&&(a=null))})};C(()=>{e(),g()});let p=(()=>o());return p.loading=s,p.error=c,p.refetch=g,p.mutate=h=>r(()=>h),p}function tt(e){let t=e.length;if(t===0)return[];let n=new Int32Array(t),o=new Int32Array(t),r=new Int32Array(t).fill(-1),s=0;for(let f=0;f<t;f++){let u=e[f],a=0,d=s;for(;a<d;){let g=a+d>>1;n[g]<u?a=g+1:d=g}n[a]=u,o[a]=f,a>0&&(r[f]=o[a-1]),a>=s&&s++}let i=new Array(s),c=o[s-1];for(let f=s-1;f>=0;f--)i[f]=c,c=r[c];return i}var so=32,Ze=Symbol.for("forma-abort"),Qe=Symbol.for("forma-attr-cache"),et=Symbol.for("forma-dynamic-child");function io(e,t){return e instanceof HTMLElement&&t instanceof HTMLElement&&e.tagName===t.tagName&&!e[Ze]&&!e[Qe]&&!e[et]&&!t[Ze]&&!t[Qe]&&!t[et]}function ao(e,t){let n=new Set;for(let o of Array.from(t.attributes))n.add(o.name),e.getAttribute(o.name)!==o.value&&e.setAttribute(o.name,o.value);for(let o of Array.from(e.attributes))n.has(o.name)||e.removeAttribute(o.name);e.replaceChildren(...Array.from(t.childNodes))}function co(e,t,n,o,r,s,i,c,f){let u=t.length,a=n.length,d=new Array(u);for(let l=0;l<u;l++)d[l]=r(t[l]);let g=new Array(a),p=new Uint8Array(u);for(let l=0;l<a;l++){let m=r(n[l]),x=-1;for(let E=0;E<u;E++)if(!p[E]&&d[E]===m){x=E,p[E]=1;break}g[l]=x}for(let l=0;l<u;l++)if(!p[l])if(f?.onBeforeRemove){let m=o[l];f.onBeforeRemove(m,()=>{m.parentNode&&m.parentNode.removeChild(m)})}else e.removeChild(o[l]);if(u===a){let l=!0;for(let m=0;m<a;m++)if(g[m]!==m){l=!1;break}if(l){let m=new Array(a);for(let x=0;x<a;x++){let E=o[x];i(E,n[x]),m[x]=E}return{nodes:m,items:n}}}let h=[],T=[];for(let l=0;l<a;l++)g[l]!==-1&&(h.push(g[l]),T.push(l));let b=tt(h),y=new Uint8Array(a);for(let l of b)y[T[l]]=1;let v=new Array(a),S=c??null;for(let l=a-1;l>=0;l--){let m,x=!1;if(g[l]===-1)m=s(n[l]),x=!0;else if(m=o[g[l]],i(m,n[l]),y[l]){v[l]=m,S=m;continue}S?e.insertBefore(m,S):e.appendChild(m),x&&f?.onInsert?.(m),v[l]=m,S=m}return{nodes:v,items:n}}function G(e,t,n,o,r,s,i,c,f){let u=t.length,a=n.length;if(a===0){for(let l=0;l<u;l++)if(f?.onBeforeRemove){let m=o[l];f.onBeforeRemove(m,()=>{m.parentNode&&m.parentNode.removeChild(m)})}else e.removeChild(o[l]);return{nodes:[],items:[]}}if(u===0){let l=new Array(a);for(let m=0;m<a;m++){let x=s(n[m]);c?e.insertBefore(x,c):e.appendChild(x),f?.onInsert?.(x),l[m]=x}return{nodes:l,items:n}}if(u<so)return co(e,t,n,o,r,s,i,c,f);let d=new Map;for(let l=0;l<u;l++)d.set(r(t[l]),l);let g=new Array(a),p=new Uint8Array(u);for(let l=0;l<a;l++){let m=r(n[l]),x=d.get(m);x!==void 0?(g[l]=x,p[x]=1):g[l]=-1}for(let l=0;l<u;l++)if(!p[l])if(f?.onBeforeRemove){let m=o[l];f.onBeforeRemove(m,()=>{m.parentNode&&m.parentNode.removeChild(m)})}else e.removeChild(o[l]);if(u===a){let l=!0;for(let m=0;m<a;m++)if(g[m]!==m){l=!1;break}if(l){let m=new Array(a);for(let x=0;x<a;x++){let E=o[x];i(E,n[x]),m[x]=E}return{nodes:m,items:n}}}let h=[],T=[];for(let l=0;l<a;l++)g[l]!==-1&&(h.push(g[l]),T.push(l));let b=tt(h),y=new Uint8Array(a);for(let l of b)y[T[l]]=1;let v=new Array(a),S=c??null;for(let l=a-1;l>=0;l--){let m,x=!1;if(g[l]===-1)m=s(n[l]),x=!0;else if(m=o[g[l]],i(m,n[l]),y[l]){v[l]=m,S=m;continue}S?e.insertBefore(m,S):e.appendChild(m),x&&f?.onInsert?.(m),v[l]=m,S=m}return{nodes:v,items:n}}function te(e,t,n,o){if(k)return{type:"list",items:e,keyFn:t,renderFn:n,options:o};let r=document.createComment("forma-list-start"),s=document.createComment("forma-list-end"),i=document.createDocumentFragment();i.appendChild(r),i.appendChild(s);let c=new Map,f=[],u=[],a=o?.updateOnItemChange??"none";return C(()=>{let d=e(),g=r.parentNode;if(!g)return;if(!Array.isArray(d)){A&&console.warn("[forma] createList: value is not an array, treating as empty");for(let y of f)y.parentNode===g&&g.removeChild(y);c=new Map,f=[],u=[];return}let p=d;for(let y=0;y<d.length;y++)if(d[y]==null){p=d.filter(v=>v!=null);break}if(A){let y=new Set;for(let v of p){let S=t(v);y.has(S)&&console.warn("[forma] createList: duplicate key detected:",S),y.add(S)}}let T=G(g,u,p,f,t,y=>{let v=t(y),[S,l]=w(0),m=L(()=>n(y,S));return c.set(v,{element:m,item:y,getIndex:S,setIndex:l}),m},a==="rerender"?(y,v)=>{let S=t(v),l=c.get(S);if(!l||l.item===v||(l.item=v,!(y instanceof HTMLElement))||y[Ze]||y[Qe]||y[et])return;let m=L(()=>n(v,l.getIndex));io(y,m)&&(ao(y,m),l.element=y)}:(y,v)=>{let S=t(v),l=c.get(S);l&&(l.item=v)},s),b=new Map;for(let y=0;y<p.length;y++){let v=t(p[y]),S=c.get(v);S&&(S.setIndex(y),b.set(v,S))}c=b,f=T.nodes,u=T.items}),i}function ne(e,t,n){if(k){let a=e()?t():n?.()??null;return{type:"show",condition:e,whenTrue:t,whenFalse:n,initialBranch:a}}let o=document.createComment("forma-show"),r=document.createComment("/forma-show"),s=document.createDocumentFragment();s.appendChild(o),s.appendChild(r);let i=null,c=null,f=null,u=C(()=>{let a=!!e(),d=typeof globalThis.__FORMA_DEBUG__<"u",g=d?t.toString().slice(0,60):"";if(a===c){d&&console.log("[forma:show] skip (same)",a,g);return}d&&console.log("[forma:show]",c,"\u2192",a,g),c=a;let p=o.parentNode;if(!p){d&&console.warn("[forma:show] parentNode is null! skipping.",g);return}if(d&&console.log("[forma:show] parent:",p.nodeName,"inDoc:",document.contains(p)),f&&(f(),f=null),i)if(i.parentNode===p)p.removeChild(i);else for(;o.nextSibling&&o.nextSibling!==r;)p.removeChild(o.nextSibling);let h=a?t:n;if(h){let T;i=H(b=>(T=b,L(()=>h()))),f=T}else i=null;i&&p.insertBefore(i,r)});return s.__showDispose=()=>{u(),f&&(f(),f=null)},s}var Bn=Symbol.for("forma-abort"),k=!1;function Kn(e){k=e}function J(e){return e!=null&&typeof e=="object"&&"type"in e&&e.type==="element"}function Te(e){return e!=null&&typeof e=="object"&&"type"in e&&e.type==="show"}function ot(e){return e!=null&&typeof e=="object"&&"type"in e&&e.type==="list"}function lo(e,t){if(t)for(let n in t){let o=t[n];if(typeof o!="function")continue;if(n.charCodeAt(0)===111&&n.charCodeAt(1)===110&&n.length>2){let i=e[Bn];i||(i=new AbortController,e[Bn]=i),e.addEventListener(n.slice(2).toLowerCase(),o,{signal:i.signal});continue}let r=o,s=n;C(()=>{let i=r();i===!1||i==null?e.removeAttribute(s):i===!0?e.setAttribute(s,""):e.setAttribute(s,String(i))})}}function oe(e){if(e instanceof Node)return e;if(e==null||e===!1||e===!0)return null;if(typeof e=="string")return new Text(e);if(typeof e=="number")return new Text(String(e));if(J(e))return q(e);if(Te(e)){let t=k;k=!1;try{return ne(e.condition,()=>oe(e.whenTrue())??document.createComment("empty"),e.whenFalse?()=>oe(e.whenFalse())??document.createComment("empty"):void 0)}finally{k=t}}if(ot(e)){let t=k;k=!1;try{return te(e.items,e.keyFn,e.renderFn,e.options)}finally{k=t}}return null}function q(e){let t=k;k=!1;try{let n=e.children.map(o=>J(o)?q(o):Te(o)||ot(o)?oe(o):o);return se(e.tag,e.props,...n)}finally{k=t}}function uo(e){return e.length>=4&&e.charCodeAt(0)===102&&e.charCodeAt(1)===58&&e.charCodeAt(2)===105}function nt(e){return e.length>=4&&e.charCodeAt(0)===102&&e.charCodeAt(1)===58&&e.charCodeAt(2)===115}function fo(e){return e.length>=4&&e.charCodeAt(0)===102&&e.charCodeAt(1)===58&&e.charCodeAt(2)===116}function po(e){return e.length>=4&&e.charCodeAt(0)===102&&e.charCodeAt(1)===58&&e.charCodeAt(2)===108}function z(e){let t="/"+e.data,n=e.nextSibling;for(;n;){if(n.nodeType===8&&n.data===t)return n;n=n.nextSibling}return null}function mo(e,t){let n=e.nextSibling;for(;n&&n!==t;){if(n.nodeType===3)return n;n=n.nextSibling}return null}function go(e,t){let n=e.nextSibling;for(;n&&n!==t;){if(n.nodeType===1)return n;n=n.nextSibling}}function ho(e,t){let n=document.createDocumentFragment(),o=e.nextSibling;for(;o&&o!==t;){let r=o.nextSibling;n.appendChild(o),o=r}return n}function jn(e,t){let n=!!e.condition(),o=null,r=null;if(!(t.start.nextSibling!==t.end)&&n){A&&console.warn("[forma] Hydration: show condition mismatch \u2014 SSR empty but client condition is true");let i=e.whenTrue();i instanceof Node&&t.start.parentNode.insertBefore(i,t.end)}C(()=>{let i=!!e.condition();if(i===n)return;n=i;let c=t.start.parentNode;if(!c)return;let f=ho(t.start,t.end);i?r=f:o=f;let u=i?o??e.whenTrue():e.whenFalse?r??e.whenFalse():null;i&&o&&(o=null),!i&&r&&(r=null),u!=null&&!(u instanceof Node)&&(u=oe(u)),u instanceof Node&&c.insertBefore(u,t.end)})}function $n(e,t,n){if(J(e)){let o=go(t,n);o&&re(e,o)}else if(Te(e)){let o=t.nextSibling;for(;o&&o!==n;){if(o.nodeType===8&&nt(o.data)){let r=o,s=z(r);s&&(e.initialBranch&&$n(e.initialBranch,r,s),jn(e,{start:r,end:s,cachedContent:null}));break}o=o.nextSibling}}}function re(e,t){if(!t||t.tagName!==e.tag.toUpperCase()){A&&console.warn(`Hydration mismatch: expected <${e.tag}>, got <${t?.tagName?.toLowerCase()??"nothing"}>`);let o=q(e);t&&t.replaceWith(o);return}lo(t,e.props);let n=t.firstChild;for(let o of e.children)if(!(o===!1||o==null))if(J(o)){for(;n&&n.nodeType===3&&!n.data.trim();)n=n.nextSibling;for(;n&&n.nodeType===1&&n.hasAttribute("data-forma-island");)n=n.nextSibling;if(!n){t.appendChild(q(o));continue}if(n.nodeType===1){let r=n;n=n.nextSibling,re(o,r)}else if(n.nodeType===8&&uo(n.data)){let r=z(n),s=q(o);r?(r.parentNode.insertBefore(s,r),n=r.nextSibling):(t.appendChild(s),n=null)}else t.appendChild(q(o))}else if(Te(o)){for(;n&&!(n.nodeType===8&&nt(n.data));)n=n.nextSibling;if(n){let r=n,s=z(r);s&&(o.initialBranch&&$n(o.initialBranch,r,s),jn(o,{start:r,end:s,cachedContent:null}),n=s.nextSibling)}}else if(ot(o)){for(;n&&!(n.nodeType===8&&po(n.data));)n=n.nextSibling;if(n){let r=n,s=z(r);if(s){let i=new Map,c=[],f=r.nextSibling;for(;f&&f!==s;){if(f.nodeType===1){let l=f;c.push(l);let m=l.getAttribute("data-forma-key");m!=null&&i.set(m,l)}f=f.nextSibling}let u=L(()=>o.items()),a=o.keyFn,d=o.renderFn,g=i.size===0&&c.length>0,p=[],h=[],T=new Set;for(let l=0;l<u.length;l++){let m=u[l],x=a(m),E;if(g?l<c.length&&(E=c[l],T.add(l)):(E=i.get(String(x)),E&&i.delete(String(x))),E)p.push(E),h.push(m);else{A&&console.warn(`[FormaJS] Hydration: list item key "${x}" not found in SSR \u2014 rendering fresh`);let R=k;k=!1;try{let[M]=w(l),N=d(m,M);s.parentNode.insertBefore(N,s),p.push(N),h.push(m)}finally{k=R}}}if(g)for(let l=0;l<c.length;l++)!T.has(l)&&c[l].parentNode&&c[l].parentNode.removeChild(c[l]);else for(let[l,m]of i)A&&console.warn(`[FormaJS] Hydration: removing extra SSR list item with key "${l}"`),m.parentNode&&m.parentNode.removeChild(m);let b=r.parentNode;for(let l of p)b.insertBefore(l,s);let y=new Map;for(let l=0;l<h.length;l++){let m=h[l],x=a(m),[E,R]=w(l);y.set(x,{element:p[l],item:m,getIndex:E,setIndex:R})}let v=p.slice(),S=h.slice();C(()=>{let l=o.items(),m=r.parentNode;if(!m)return;let x=G(m,S,l,v,a,R=>{let M=k;k=!1;try{let N=a(R),[I,Re]=w(0),fe=L(()=>d(R,I));return y.set(N,{element:fe,item:R,getIndex:I,setIndex:Re}),fe}finally{k=M}},(R,M)=>{let N=a(M),I=y.get(N);I&&(I.item=M)},s),E=new Map;for(let R=0;R<l.length;R++){let M=a(l[R]),N=y.get(M);N&&(N.setIndex(R),E.set(M,N))}y=E,v=x.nodes,S=x.items}),n=s.nextSibling}}}else if(typeof o=="function"){for(;n&&n.nodeType===3&&!n.data.trim();)n=n.nextSibling;if(n&&n.nodeType===1){let r=o();if(J(r)){let s=n;n=n.nextSibling,re(r,s);continue}}if(n&&n.nodeType===8){let r=n.data;if(fo(r)){let s=z(n),i=n.nextSibling;if(!i||i.nodeType!==3){A&&console.warn(`[FormaJS] Hydration: created text node for marker ${r} \u2014 SSR walker should emit content between markers`);let c=document.createTextNode("");n.parentNode.insertBefore(c,s||n.nextSibling),i=c}C(()=>{i.data=String(o())}),n=s?s.nextSibling:i.nextSibling}else if(nt(r)){let s=n,i=z(s);if(i){let c=mo(s,i);c||(A&&console.warn(`[FormaJS] Hydration: created text node for show marker ${s.data} \u2014 SSR walker should emit content between markers`),c=document.createTextNode(""),s.parentNode.insertBefore(c,i)),C(()=>{c.data=String(o())}),n=i.nextSibling}else n=n.nextSibling}else n=n.nextSibling}else if(n&&n.nodeType===3){let r=n;n=n.nextSibling,C(()=>{r.data=String(o())})}else{A&&console.warn(`[FormaJS] Hydration: created text node in empty <${t.tagName.toLowerCase()}> \u2014 IR may not cover this component`);let r=document.createTextNode("");t.appendChild(r),C(()=>{r.data=String(o())})}}else(typeof o=="string"||typeof o=="number")&&n&&n.nodeType===3&&(n=n.nextSibling)}function V(e,t){if(!(t.childElementCount>0||t.childNodes.length>0&&Array.from(t.childNodes).some(r=>r.nodeType===1||r.nodeType===3&&r.data.trim()))){if(A){let s=t.getAttribute("data-forma-component")||"unknown";console.warn(`[forma] Island "${s}" has no SSR content \u2014 falling back to CSR. This means the IR walker did not render content between ISLAND_START and ISLAND_END.`)}let r=e();if(r instanceof Element){for(let s of Array.from(t.attributes))s.name.startsWith("data-forma-")&&r.setAttribute(s.name,s.value);return t.replaceWith(r),r}else r instanceof Node&&t.appendChild(r);return t}Kn(!0);let o;try{o=e()}finally{Kn(!1)}return!o||!J(o)?(t.removeAttribute("data-forma-ssr"),t):(t.hasAttribute("data-forma-island")?re(o,t):re(o,t.children[0]),t.removeAttribute("data-forma-ssr"),t)}var ce=Symbol.for("forma.fragment"),yo="http://www.w3.org/2000/svg",ie="http://www.w3.org/1999/xlink",To=new Set(["svg","path","circle","rect","line","polyline","polygon","ellipse","g","text","tspan","textPath","defs","use","symbol","clipPath","mask","pattern","marker","linearGradient","radialGradient","stop","filter","feGaussianBlur","feColorMatrix","feOffset","feBlend","feMerge","feMergeNode","feComposite","feFlood","feMorphology","feTurbulence","feDisplacementMap","feImage","foreignObject","animate","animateTransform","animateMotion","set","image","switch","desc","title","metadata"]),Un=new Set(["disabled","checked","readonly","required","autofocus","autoplay","controls","default","defer","formnovalidate","hidden","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","reversed","selected","async"]),j=null;function So(e){if(!j){j=Object.create(null);for(let t of["div","span","p","a","li","ul","ol","button","input","label","h1","h2","h3","h4","h5","h6","section","header","footer","main","nav","table","tr","td","th","tbody","img","form","select","option","textarea","i","b","strong","em","small","article","aside","details","summary"])j[t]=document.createElement(t)}return j[e]??(j[e]=document.createElement(e))}var Vn=Object.create(null);function xo(e){return Vn[e]??(Vn[e]=e.slice(2).toLowerCase())}var Se=Symbol.for("forma-abort");function bo(e){let t=e[Se];return t||(t=new AbortController,e[Se]=t),t}function st(e){let t=e[Se];t&&(t.abort(),delete e[Se])}var rt=Symbol.for("forma-attr-cache"),vo=Symbol.for("forma-dynamic-child");function P(e){return e[rt]??(e[rt]=Object.create(null))}function it(e,t,n){if(typeof n=="function")C(()=>{let o=n(),r=P(e);r.class!==o&&(r.class=o,e instanceof HTMLElement?e.className=o:e.setAttribute("class",o))});else{let o=P(e);if(o.class===n)return;o.class=n,e instanceof HTMLElement?e.className=n:e.setAttribute("class",n)}}function wo(e,t,n){if(typeof n=="function"){let o=[];C(()=>{let r=n();if(typeof r=="string"){let s=P(e);if(s.style===r)return;s.style=r,o=[],e.style.cssText=r}else if(r&&typeof r=="object"){let s=e.style,i=Object.keys(r);for(let c of o)c in r||s.removeProperty(c.replace(/[A-Z]/g,f=>"-"+f.toLowerCase()));Object.assign(s,r),o=i}})}else if(typeof n=="string"){let o=P(e);if(o.style===n)return;o.style=n,e.style.cssText=n}else n&&typeof n=="object"&&Object.assign(e.style,n)}function Wn(e,t,n){let o=bo(e);e.addEventListener(xo(t),n,{signal:o.signal})}function Co(e,t,n){if(typeof n=="function")C(()=>{let o=n();if(o==null){e.innerHTML="";return}if(typeof o!="object"||!("__html"in o))throw new TypeError("dangerouslySetInnerHTML: expected { __html: string }, got "+typeof o);let r=o.__html;if(typeof r!="string")throw new TypeError("dangerouslySetInnerHTML: __html must be a string, got "+typeof r);let s=P(e);s.innerHTML!==r&&(s.innerHTML=r,e.innerHTML=r)});else{if(n==null){e.innerHTML="";return}if(typeof n!="object"||!("__html"in n))throw new TypeError("dangerouslySetInnerHTML: expected { __html: string }, got "+typeof n);let o=n.__html;if(typeof o!="string")throw new TypeError("dangerouslySetInnerHTML: __html must be a string, got "+typeof o);e.innerHTML=o}}function Eo(e,t,n){let o=t.slice(6);typeof n=="function"?C(()=>{let r=n();r==null||r===!1?e.removeAttributeNS(ie,o):e.setAttributeNS(ie,t,String(r))}):n==null||n===!1?e.removeAttributeNS(ie,o):e.setAttributeNS(ie,t,String(n))}function Ro(e,t,n){if(typeof n=="function")C(()=>{let o=n(),r=P(e);r[t]!==o&&(r[t]=o,o?e.setAttribute(t,""):e.removeAttribute(t))});else{let o=P(e);if(o[t]===n)return;o[t]=n,n?e.setAttribute(t,""):e.removeAttribute(t)}}function ko(e,t,n){if(typeof n=="function")C(()=>{let o=n();if(o==null||o===!1){let r=P(e);if(r[t]===null)return;r[t]=null,e.removeAttribute(t)}else{let r=String(o),s=P(e);if(s[t]===r)return;s[t]=r,e.setAttribute(t,r)}});else if(n==null||n===!1){let o=P(e);if(o[t]===null)return;o[t]=null,e.removeAttribute(t)}else{let o=String(n),r=P(e);if(r[t]===o)return;r[t]=o,e.setAttribute(t,o)}}var U=new Map;U.set("class",it);U.set("className",it);U.set("style",wo);U.set("ref",()=>{});U.set("dangerouslySetInnerHTML",Co);for(let e of Un)U.set(e,Ro);function Mo(e,t,n){if(t==="class"){it(e,t,n);return}if(t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&t.length>2){Wn(e,t,n);return}let o=U.get(t);if(o){o(e,t,n);return}if(t.charCodeAt(0)===120&&t.startsWith("xlink:")){Eo(e,t,n);return}ko(e,t,n)}function Lo(e,t,n){if(!(n==null||n===!1)){if(t==="class"||t==="className"){e.className=n;return}if(t==="style"){typeof n=="string"?e.style.cssText=n:n&&typeof n=="object"&&Object.assign(e.style,n);return}if(t==="dangerouslySetInnerHTML"){if(typeof n!="object"||!("__html"in n))throw new TypeError("dangerouslySetInnerHTML: expected { __html: string }, got "+typeof n);let o=n.__html;if(typeof o!="string")throw new TypeError("dangerouslySetInnerHTML: __html must be a string, got "+typeof o);e.innerHTML=o;return}if(t.charCodeAt(0)===120&&t.startsWith("xlink:")){e.setAttributeNS(ie,t,String(n));return}if(Un.has(t)){n&&e.setAttribute(t,"");return}n===!0?e.setAttribute(t,""):e.setAttribute(t,String(n))}}function ae(e,t){if(t instanceof Node){e.appendChild(t);return}if(typeof t=="string"){e.appendChild(new Text(t));return}if(!(t==null||t===!1||t===!0)){if(typeof t=="number"){e.appendChild(new Text(String(t)));return}if(typeof t=="function"){e instanceof Element&&(e[vo]=!0);let n=null;C(()=>{let o=t();if(o instanceof Node)n?e.replaceChild(o,n):e.appendChild(o),n=o;else{let r=String(typeof o=="symbol"?o:o??"");if(!n)n=new Text(r),e.appendChild(n);else if(n.nodeType===3)n.data=r;else{let s=new Text(r);e.replaceChild(s,n),n=s}}});return}if(Array.isArray(t)){for(let n of t)ae(e,n);return}}}function se(e,t,...n){if(typeof e=="function"&&e!==ce){let i={...t??{},children:n};return e(i)}if(e===ce){let i=document.createDocumentFragment();for(let c of n)ae(i,c);return i}let o=e;if(k)return{type:"element",tag:o,props:t??null,children:n};let r;if(j&&j[o]?r=j[o].cloneNode(!1):To.has(o)?r=document.createElementNS(yo,o):r=So(o).cloneNode(!1),t){let i=!1;for(let c in t){if(c==="ref")continue;let f=t[c];if(c.charCodeAt(0)===111&&c.charCodeAt(1)===110&&c.length>2){Wn(r,c,f);continue}if(typeof f=="function"){i||(r[rt]=Object.create(null),i=!0),Mo(r,c,f);continue}Lo(r,c,f)}}let s=n.length;if(s===1){let i=n[0];typeof i=="string"?r.textContent=i:typeof i=="number"?r.textContent=String(i):ae(r,i)}else if(s>1)for(let i of n)ae(r,i);return t&&typeof t.ref=="function"&&t.ref(r),r}function at(...e){let t=document.createDocumentFragment();for(let n of e)ae(t,n);return t}function ct(e){if(typeof e=="function"){let t=new Text("");return C(()=>{t.data=e()}),t}return new Text(e)}function lt(e,t){let n=typeof t=="string"?document.querySelector(t):t;if(!n)throw new Error(`mount: container not found \u2014 "${t}"`);let o;if(n.hasAttribute("data-forma-ssr"))H(s=>{o=s,V(e,n)});else{let s=H(i=>(o=i,e()));n.innerHTML="",n.appendChild(s)}let r=!1;return()=>{r||(r=!0,o(),n.innerHTML="")}}function ut(e,t,n){let o=document.createComment("forma-switch"),r=document.createComment("/forma-switch"),s=document.createDocumentFragment();s.appendChild(o),s.appendChild(r);let i=new Map,c=null,f=Ao,u=C(()=>{let a=e();if(a===f)return;let d=typeof globalThis.__FORMA_DEBUG__<"u";d&&console.log("[forma:switch] transition",String(f),"\u2192",String(a)),f=a;let g=o.parentNode;if(!g){d&&console.warn("[forma:switch] markers not in DOM yet, skipping");return}if(c)if(c.parentNode===g)d&&console.log("[forma:switch] removing single node"),g.removeChild(c);else if(c.nodeType===11){d&&console.log("[forma:switch] scooping nodes back into fragment");let h=0;for(;o.nextSibling&&o.nextSibling!==r;)c.appendChild(o.nextSibling),h++;d&&console.log("[forma:switch] scooped",h,"nodes back into fragment")}else for(d&&console.log("[forma:switch] clearing detached node between markers");o.nextSibling&&o.nextSibling!==r;)g.removeChild(o.nextSibling);let p=t.find(h=>h.match===a);if(p){let h=i.get(a);if(h)d&&console.log("[forma:switch] reusing cached branch for",String(a),"\u2192",h.node.nodeName,"type",h.node.nodeType,"childNodes",h.node.childNodes?.length);else{let T,b=H(y=>(T=y,L(()=>p.render())));h={node:b,dispose:T},i.set(a,h),d&&console.log("[forma:switch] rendered new branch for",String(a),"\u2192",b.nodeName,"type",b.nodeType)}c=h.node}else c=n?.()??null,d&&console.log("[forma:switch] no match, using fallback");c&&(g.insertBefore(c,r),d&&console.log("[forma:switch] inserted",c.nodeName,"before end marker"))});return s.__switchDispose=()=>{u();for(let a of i.values())a.dispose();i.clear()},s}var Ao=Symbol("unset");function ft(e,t){let n=document.createComment("forma-portal"),o=typeof t=="string"?document.querySelector(t):t??document.body;if(!o)throw new Error(`createPortal: target not found: ${t}`);let r=null,s=()=>{r&&r.parentNode===o&&o.removeChild(r),r=null};return Q(()=>{let i=e();return s(),r=i,o.appendChild(i),()=>{s()}}),n}function dt(e,t){let n=document.createComment("forma-error-boundary"),o=document.createComment("/forma-error-boundary"),r=document.createDocumentFragment();r.appendChild(n),r.appendChild(o);let[s,i]=w(0),c=null;return C(()=>{s();let f=n.parentNode;if(f){c&&c.parentNode===f&&f.removeChild(c);try{c=e()}catch(u){let a=u instanceof Error?u:new Error(String(u));c=t(a,()=>i(g=>g+1))}c&&f.insertBefore(c,o)}}),r}function pt(e,t){let n=document.createComment("forma-suspense"),o=document.createComment("/forma-suspense"),r=document.createDocumentFragment();r.appendChild(n),r.appendChild(o);let[s,i]=w(0),c=null,f=null,u=null;Pn({increment(){i(d=>d+1)},decrement(){i(d=>Math.max(0,d-1))}});try{f=t()}finally{On()}return C(()=>{let d=n.parentNode;if(!d)return;let p=s()>0?u??=e():f;p!==c&&(c&&c.parentNode===d&&d.removeChild(c),p&&d.insertBefore(p,o),c=p)}),r}var No=new Set(["__proto__","constructor","prototype"]);function Gn(e){for(let t of No)t in e&&delete e[t];return e}function Do(e,t,n){let o=e.getAttribute("data-forma-props");return o?Gn(JSON.parse(o)):n&&String(t)in n?Gn(n[String(t)]):null}function mt(e){let t=document.getElementById("__forma_islands"),n=t?JSON.parse(t.textContent):null,o=document.querySelectorAll("[data-forma-island]");for(let r of o){let s=parseInt(r.getAttribute("data-forma-island"),10),i=r.getAttribute("data-forma-component"),c=e[i];if(!c){A&&console.warn(`[forma] No hydrate function for island "${i}" (id=${s})`),r.setAttribute("data-forma-status","error");continue}let f=r.getAttribute("data-forma-hydrate")||"load";if(f==="visible"){let u=new IntersectionObserver(a=>{for(let d of a)d.isIntersecting&&(u.disconnect(),xe(r,s,i,c,n))},{rootMargin:"200px"});u.observe(r)}else if(f==="idle"){let u=()=>xe(r,s,i,c,n);typeof requestIdleCallback=="function"?requestIdleCallback(u):setTimeout(u,200)}else if(f==="interaction"){let u=()=>{r.removeEventListener("pointerdown",u,!0),r.removeEventListener("focusin",u,!0),xe(r,s,i,c,n)};r.addEventListener("pointerdown",u,{capture:!0,once:!0}),r.addEventListener("focusin",u,{capture:!0,once:!0})}else xe(r,s,i,c,n)}}function be(e){let t=e.__formaDispose;typeof t=="function"&&(t(),delete e.__formaDispose,e.setAttribute("data-forma-status","disposed"))}function gt(e=document){let t=e.querySelectorAll('[data-forma-status="active"]');for(let n of t)be(n)}function xe(e,t,n,o,r){try{let s=Do(e,t,r);e.setAttribute("data-forma-status","hydrating");let i=e;H(c=>{i=V(()=>o(e,s),e),i.__formaDispose=c}),i.setAttribute("data-forma-status","active")}catch(s){A&&console.error(`[forma] Island "${n}" (id=${t}) failed:`,s),e.setAttribute("data-forma-status","error")}}var K=null,zn=[];function Ho(e){zn.push(K),K=e}function _o(){K=zn.pop()??null}function ht(e){if(K===null)throw new Error("onMount() must be called inside a component setup function");K.mountCallbacks.push(e)}function yt(e){if(K===null)throw new Error("onUnmount() must be called inside a component setup function");K.unmountCallbacks.push(e)}var ve=Symbol("forma:component:dispose");function Tt(e){let t=typeof e=="function"?e:e.setup,n=typeof e=="function"?void 0:e.name;return function(){let r={disposers:[],mountCallbacks:[],unmountCallbacks:[]};Ho(r);let s;try{s=t()}finally{_o()}let i=()=>{for(let c of r.unmountCallbacks)try{c()}catch(f){F(f,"onUnmount")}for(let c of r.disposers)try{c()}catch(f){F(f,"component disposer")}r.disposers.length=0,r.mountCallbacks.length=0,r.unmountCallbacks.length=0};s[ve]=i;for(let c of r.mountCallbacks)try{let f=c();typeof f=="function"&&r.unmountCallbacks.push(f)}catch(f){F(f,"onMount")}return s}}function St(e){let t=e;typeof t[ve]=="function"&&(t[ve](),delete t[ve])}function xt(e){K!==null&&K.disposers.push(e)}var le=new Map;function bt(e){return{id:Symbol("forma:context"),defaultValue:e}}function vt(e,t){let n=le.get(e.id);n===void 0&&(n=[],le.set(e.id,n)),n.push(t)}function wt(e){let t=le.get(e.id);return t===void 0||t.length===0?e.defaultValue:t[t.length-1]}function Ct(e){let t=le.get(e.id);t!==void 0&&t.length>0&&(t.pop(),t.length===0&&le.delete(e.id))}var ue=Symbol("forma-raw"),Jn=Symbol("forma-proxy"),Io=new Set(["push","pop","shift","unshift","splice","sort","reverse","fill","copyWithin"]);function qn(e){return!(e==null||typeof e!="object"||e instanceof Date||e instanceof RegExp||e instanceof Map||e instanceof Set||e instanceof WeakMap||e instanceof WeakSet||e instanceof Error||e instanceof Promise||e[Jn])}function Et(e,t){if(e===null||typeof e!="object"||(t||(t=new WeakSet),t.has(e)))return e;if(t.add(e),Array.isArray(e))return e.map(o=>Et(o,t));let n={};for(let o of Object.keys(e))n[o]=Et(e[o],t);return n}function Rt(e){let t=new Map,n=new Map;function o(d){let g=d.lastIndexOf(".");if(g===-1)return;let p=d.substring(0,g),h=n.get(p);h||(h=new Set,n.set(p,h)),h.add(d)}function r(d,g){let p=t.get(d);return p||(p=w(g),t.set(d,p),o(d)),p}let s=new WeakMap;function i(d){let g=n.get(d);if(g){for(let p of g)i(p),t.delete(p),n.delete(p);g.clear()}}function c(d,g){if(!qn(d))return d;let p=s.get(d);if(p)return p;let h=Array.isArray(d),T=g?g+".":"",b="",y,v=new Proxy(d,{get(S,l,m){if(l===ue)return S;if(l===Jn)return!0;if(typeof l=="symbol")return Reflect.get(S,l,m);let x=String(l),E=T+x;if(h&&Io.has(x))return(...N)=>{let I;return _(()=>{let Re=N.map(Y=>Y!=null&&typeof Y=="object"&&Y[ue]?Y[ue]:Y);I=S[x].apply(S,Re),i(g);let[,fe]=r(T+"length",S.length);fe(S.length)}),I};if(h&&x==="length"){let[N]=r(E,S.length);return N(),S.length}let R=Reflect.get(S,l),M;return x===b&&y?M=y:(M=r(E,R),b=x,y=M),M[0](),qn(R)?c(R,E):R},set(S,l,m){if(typeof l=="symbol")return Reflect.set(S,l,m);let x=String(l),E=T+x,R=m!=null&&typeof m=="object"&&m[ue]?m[ue]:m;if(Reflect.set(S,l,R),R!=null&&typeof R=="object"&&i(E),h&&x!=="length"){let N=T+"length",I=t.get(N);I&&I[1](S.length)}let[,M]=r(E,R);return M(R),!0},has(S,l){if(typeof l=="symbol")return Reflect.has(S,l);let m=String(l),x=T+m,[E]=r(x,Reflect.get(S,l));return E(),Reflect.has(S,l)},ownKeys(S){return Reflect.ownKeys(S)},getOwnPropertyDescriptor(S,l){return Object.getOwnPropertyDescriptor(S,l)},deleteProperty(S,l){if(typeof l=="symbol")return Reflect.deleteProperty(S,l);let m=String(l),x=T+m,E=Reflect.deleteProperty(S,l);i(x),t.delete(x);let R=g;if(R!==void 0){let M=n.get(R);M&&(M.delete(x),M.size===0&&n.delete(R))}return n.delete(x),E}});return s.set(d,v),v}let f=c(e,"");function u(){return L(()=>Et(e))}return[f,d=>{let g=typeof d=="function"?d(u()):d;_(()=>{for(let p of Object.keys(g))f[p]=g[p]})}]}function kt(e,t){let[n,o]=e,r=t?.maxLength??100,s=[n()],i=0,[c,f]=w([...s]),[u,a]=w(i),[d,g]=w(s.length);function p(){_(()=>{f([...s]),a(i),g(s.length)})}let h=!1,T=!0;return C(()=>{let m=n();if(T){T=!1;return}if(h){h=!1;return}s=s.slice(0,i+1),s.push(m),s.length>r&&s.splice(0,s.length-r),i=s.length-1,p()}),{undo:()=>{i<=0||(i--,h=!0,o(s[i]),p())},redo:()=>{i>=s.length-1||(i++,h=!0,o(s[i]),p())},canUndo:()=>u()>0,canRedo:()=>u()<d()-1,history:()=>c(),cursor:()=>u(),clear:()=>{s=[n()],i=0,p()}}}function Mt(e,t,n){let[o,r]=e,s=n?.storage??globalThis.localStorage,i=n?.serialize??JSON.stringify,c=n?.deserialize??JSON.parse,f=n?.validate;try{let u=s.getItem(t);if(u!==null){let a=c(u);(!f||f(a))&&r(a)}}catch{}C(()=>{let u=o();try{let a=i(u);s.setItem(t,a)}catch{}})}function Lt(){let e=new Map;function t(c){let f=e.get(c);return f||(f=new Set,e.set(c,f)),f}function n(c,f){let u=t(c);return u.add(f),()=>{u.delete(f)}}function o(c,f){let u=a=>{s(c,u),f(a)};return n(c,u)}function r(c,f){let u=e.get(c);if(u)for(let a of[...u])try{a(f)}catch(d){console.error(`[forma] Bus handler error on "${String(c)}":`,d)}}function s(c,f){let u=e.get(c);u&&u.delete(f)}function i(){e.clear()}return{on:n,once:o,emit:r,off:s,clear:i}}function At(e,t,n,o,r){let s=i=>{let c=i.target;if(!(c instanceof HTMLElement))return;let f=e instanceof Document?e.documentElement:e,u=c.closest(t);u instanceof HTMLElement&&f.contains(u)&&o(i,u)};return e.addEventListener(n,s,r),()=>{e.removeEventListener(n,s,r)}}function Po(e){let t=e.toLowerCase().split("+").map(o=>o.trim()),n={ctrl:!1,shift:!1,alt:!1,meta:!1,key:""};for(let o of t)switch(o){case"ctrl":case"control":n.ctrl=!0;break;case"shift":n.shift=!0;break;case"alt":n.alt=!0;break;case"meta":case"cmd":case"command":n.meta=!0;break;default:n.key=o}return n}function Oo(e,t){return e.ctrlKey!==t.ctrl||e.shiftKey!==t.shift||e.altKey!==t.alt||e.metaKey!==t.meta?!1:e.key.toLowerCase()===t.key}function Nt(e,t,n){let o=n?.target??document,r=n?.preventDefault??!0,s=Po(e),i=c=>{c instanceof KeyboardEvent&&Oo(c,s)&&(r&&c.preventDefault(),t(c))};return o.addEventListener("keydown",i),()=>{o.removeEventListener("keydown",i)}}function Dt(e,t){return(t??document).querySelector(e)}function Ht(e,t){return Array.from((t??document).querySelectorAll(e))}function _t(e,...t){e.classList.add(...t)}function It(e,...t){e.classList.remove(...t)}function Pt(e,t,n){return e.classList.toggle(t,n)}function Ot(e,t){for(let[n,o]of Object.entries(t))o!==void 0&&(e.style[n]=o)}function Ft(e,t){for(let[n,o]of Object.entries(t))o===!1||o===null?e.removeAttribute(n):o===!0?e.setAttribute(n,""):e.setAttribute(n,o)}function Bt(e,t){e.textContent=t}function Kt(e,t){e.innerHTML=t}function jt(e,t){e.innerHTML=t}function $t(e,t){return e.closest(t)}function Vt(e,t){let n=Array.from(e.children);return t?n.filter(o=>o.matches(t)):n}function Ut(e,t){let n=e.parentElement;if(!n)return[];let r=Array.from(n.children).filter(s=>s!==e);return t?r.filter(s=>s.matches(t)):r}function Wt(e){return e.parentElement}function Gt(e,t){let n=e.nextElementSibling;for(;n;){if(n instanceof HTMLElement&&(!t||n.matches(t)))return n;n=n.nextElementSibling}return null}function zt(e,t){let n=e.previousElementSibling;for(;n;){if(n instanceof HTMLElement&&(!t||n.matches(t)))return n;n=n.previousElementSibling}return null}function qt(e,t){let n=new ResizeObserver(o=>{for(let r of o)t(r)});return n.observe(e),()=>{n.disconnect()}}function Jt(e,t,n){let o=new IntersectionObserver(r=>{for(let s of r)t(s)},n);return o.observe(e),()=>{o.disconnect()}}function Yt(e,t,n){let o=new MutationObserver(r=>{t(r)});return o.observe(e,n??{childList:!0,subtree:!0}),()=>{o.disconnect()}}function Xt(e,t){let n=t?.serialize??JSON.stringify,o=t?.deserialize??JSON.parse,r=t?.validate;return{key:e,get(){try{let s=localStorage.getItem(e);if(s===null)return null;let i=o(s);return r&&!r(i)?null:i}catch{return null}},set(s){try{let i=n(s);localStorage.setItem(e,i)}catch{}},remove(){localStorage.removeItem(e)}}}function Zt(e,t){let n=t?.serialize??JSON.stringify,o=t?.deserialize??JSON.parse,r=t?.validate;return{key:e,get(){try{let s=sessionStorage.getItem(e);if(s===null)return null;let i=o(s);return r&&!r(i)?null:i}catch{return null}},set(s){try{let i=n(s);sessionStorage.setItem(e,i)}catch{}},remove(){sessionStorage.removeItem(e)}}}var Qt=new Map;function Fo(e,t){let n=`${e}::${t}`,o=Qt.get(n);if(o)return o;let r=new Promise((s,i)=>{let c=indexedDB.open(e);c.onerror=()=>i(c.error),c.onsuccess=()=>{let f=c.result;if(f.objectStoreNames.contains(t)){s(f);return}let u=f.version+1;f.close();let a=indexedDB.open(e,u);a.onerror=()=>i(a.error),a.onupgradeneeded=()=>{let d=a.result;d.objectStoreNames.contains(t)||d.createObjectStore(t)},a.onsuccess=()=>s(a.result)},c.onupgradeneeded=()=>{let f=c.result;f.objectStoreNames.contains(t)||f.createObjectStore(t)}});return Qt.set(n,r),r.catch(()=>{Qt.delete(n)}),r}function en(e,t="default"){function n(o,r){return Fo(e,t).then(s=>new Promise((i,c)=>{let u=s.transaction(t,o).objectStore(t),a=r(u);a.onsuccess=()=>i(a.result),a.onerror=()=>c(a.error)}))}return{get(o){return n("readonly",r=>r.get(o))},set(o,r){return n("readwrite",s=>s.put(r,o)).then(()=>{})},delete(o){return n("readwrite",r=>r.delete(o)).then(()=>{})},getAll(){return n("readonly",o=>o.getAll())},keys(){return n("readonly",o=>o.getAllKeys()).then(o=>o.map(String))},clear(){return n("readwrite",o=>o.clear()).then(()=>{})}}}function tn(e,t){let[n,o]=w(null),[r,s]=w(null),[i,c]=w(!1),f=null;function u(){let d=typeof e=="function"?e():e,g=t?.base??"",p=new URL(d,g||void 0);if(t?.params)for(let[h,T]of Object.entries(t.params))p.searchParams.set(h,T);return p.toString()}async function a(){f&&f.abort(),f=new AbortController;let d=f,g=t?.timeout??3e4,p=setTimeout(()=>d.abort(),g);c(!0),s(null);try{let h=u(),{base:T,params:b,timeout:y,transform:v,...S}=t??{},l=await fetch(h,{...S,signal:d.signal});if(!l.ok)throw new Error(`HTTP ${l.status}: ${l.statusText}`);let m=await l.json(),x=v?v(m):m;o(x)}catch(h){if(h instanceof Error&&h.name==="AbortError")return;s(h instanceof Error?h:new Error(String(h)))}finally{clearTimeout(p),f===d&&(f=null,c(!1))}}return typeof e=="function"?C(()=>{e(),a()}):a(),{data:n,error:r,loading:i,refetch:a,abort(){f&&f.abort()}}}async function nn(e,t){let n=await fetch(e,t);if(!n.ok)throw new Error(`HTTP ${n.status}: ${n.statusText}`);return await n.json()}function on(e,t){let[n,o]=w(null),[r,s]=w(null),[i,c]=w(!1),f=new EventSource(e,{withCredentials:t?.withCredentials??!1});f.onopen=()=>{c(!0),s(null)};let u=t?.parse??(a=>{try{return JSON.parse(a)}catch{return a}});return f.onmessage=a=>{o(u(a.data))},f.onerror=a=>{s(a),c(!1)},{data:n,error:r,connected:i,close(){f.close(),c(!1)},on(a,d){let g=t?.parse??(h=>{try{return JSON.parse(h)}catch{return h}}),p=h=>{d(g(h.data))};return f.addEventListener(a,p),()=>{f.removeEventListener(a,p)}}}}function rn(e,t){let n=t?.reconnect??!0,o=t?.reconnectInterval??1e3,r=t?.maxReconnects??5,[s,i]=w(null),[c,f]=w("connecting"),u=new Set,a=null,d=0,g=null,p=!1;function h(){if(p)return;f("connecting"),a=new WebSocket(e,t?.protocols),a.onopen=()=>{f("open"),d=0};let T=t?.parse??(b=>{try{return JSON.parse(b)}catch{return b}});a.onmessage=b=>{let y=T(b.data);i(y);for(let v of u)v(y)},a.onerror=()=>{f("error")},a.onclose=()=>{if(p){f("closed");return}if(f("closed"),n&&d<r){let b=o*Math.pow(2,d);d++,g=setTimeout(h,b)}}}return h(),{data:s,status:c,send(T){a&&a.readyState===WebSocket.OPEN&&a.send(JSON.stringify(T))},close(){p=!0,g!==null&&(clearTimeout(g),g=null),a&&(a.close(),a=null),f("closed")},on(T){return u.add(T),()=>{u.delete(T)}}}}function sn(e,t){let[n,o]=w(!1),[r,s]=w(void 0),c=async(...f)=>{if(o(!0),s(void 0),t?.optimistic)try{_(()=>t.optimistic(...f))}catch{}try{let u=await e(...f);if(t?.onSuccess&&_(()=>t.onSuccess(u,...f)),t?.invalidates)for(let a of t.invalidates)a.refetch();return o(!1),u}catch(u){if(t?.onError)try{_(()=>t.onError(u,...f))}catch{}throw s(u),o(!1),u}};return c.pending=n,c.error=r,c.clearError=()=>s(void 0),c}var an=new Map;function cn(e,t){an.set(e,t)}function ln(e){an.delete(e)}function we(e){for(let[t,n]of Object.entries(e)){let o=an.get(t);o&&o.mutate(n)}}function un(){if(typeof window>"u")return()=>{};let e=t=>{let n=t.detail;n&&typeof n=="object"&&we(n)};return window.addEventListener("forma:revalidate",e),()=>window.removeEventListener("forma:revalidate",e)}function fn(e,t){return{data:e,__revalidate:t}}function dn(e){return async(...n)=>{let o=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json","X-Forma-RPC":"1"},body:JSON.stringify({args:n})});if(!o.ok){let s=await o.text();throw new Error(`Server function failed (${o.status}): ${s}`)}let r=await o.json();return r&&typeof r=="object"&&"__revalidate"in r?(typeof window<"u"&&window.dispatchEvent(new CustomEvent("forma:revalidate",{detail:r.__revalidate})),r.data):r}}var Ce=new Map;function pn(e,t){Ce.set(e,t)}function mn(e){return Ce.get(e)}function gn(){return[...Ce.keys()]}var Bo=new Set(["__proto__","constructor","prototype"]);async function Ee(e,t,n){let o=e.split("/").pop()??"";if(Bo.has(o))return{error:"Forbidden endpoint name"};let r=Ce.get(e);if(!r)return{error:`Unknown server function: ${e}`};try{let s=await r(...t.args);return n?{data:s,__revalidate:n}:{data:s}}catch(s){return{error:typeof process<"u"&&process.env?.NODE_ENV==="development"&&s instanceof Error?s.message:"Internal server error"}}}function hn(){return async(e,t)=>{if(e.method!=="POST"){t.status(405).json({error:"Method not allowed"});return}let n=e.body;if(!n||!Array.isArray(n.args)){t.status(400).json({error:"Invalid RPC request: missing args array"});return}let o=await Ee(e.url,n);o.error?t.status(500).json(o):t.json(o)}}return to(Ko);})();
1
+ "use strict";var FormaJS=(()=>{var ke=Object.defineProperty;var Yn=Object.getOwnPropertyDescriptor;var Xn=Object.getOwnPropertyNames;var Zn=Object.prototype.hasOwnProperty;var Qn=(e,t)=>{for(var n in t)ke(e,n,{get:t[n],enumerable:!0})},eo=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Xn(t))!Zn.call(e,r)&&r!==n&&ke(e,r,{get:()=>t[r],enumerable:!(o=Yn(t,r))||o.enumerable});return e};var to=e=>eo(ke({},"__esModule",{value:!0}),e);var Ko={};Qn(Ko,{$:()=>Dt,$$:()=>Ht,$$serverFunction:()=>dn,Fragment:()=>ce,activateIslands:()=>mt,addClass:()=>_t,applyRevalidation:()=>we,batch:()=>_,children:()=>Vt,cleanup:()=>st,closest:()=>$t,createAction:()=>sn,createBus:()=>Lt,createComputed:()=>ee,createContext:()=>bt,createEffect:()=>Q,createErrorBoundary:()=>dt,createFetch:()=>tn,createHistory:()=>kt,createIndexedDB:()=>en,createList:()=>te,createLocalStorage:()=>Xt,createMemo:()=>ze,createPortal:()=>ft,createRPCMiddleware:()=>hn,createReducer:()=>Ye,createRef:()=>Je,createResource:()=>Xe,createRoot:()=>H,createSSE:()=>on,createSessionStorage:()=>Zt,createShow:()=>ne,createSignal:()=>w,createStore:()=>Rt,createSuspense:()=>pt,createSwitch:()=>ut,createText:()=>ct,createWebSocket:()=>rn,deactivateAllIslands:()=>gt,deactivateIsland:()=>be,defineComponent:()=>Tt,delegate:()=>At,disposeComponent:()=>St,enableAutoRevalidation:()=>un,fetchJSON:()=>nn,fragment:()=>at,getBatchDepth:()=>Ae,getRegisteredEndpoints:()=>gn,getServerFunction:()=>mn,h:()=>se,handleRPC:()=>Ee,hydrateIsland:()=>V,inject:()=>wt,isComputed:()=>De,isEffect:()=>He,isEffectScope:()=>_e,isSignal:()=>Ne,mount:()=>lt,nextSibling:()=>Gt,on:()=>qe,onCleanup:()=>je,onError:()=>Ue,onIntersect:()=>Jt,onKey:()=>Nt,onMount:()=>ht,onMutation:()=>Yt,onResize:()=>qt,onUnmount:()=>yt,parent:()=>Wt,persist:()=>Mt,prevSibling:()=>zt,provide:()=>vt,reconcileList:()=>G,registerResource:()=>cn,registerServerFunction:()=>pn,removeClass:()=>Ot,setAttr:()=>Ft,setHTML:()=>Kt,setHTMLUnsafe:()=>jt,setStyle:()=>It,setText:()=>Bt,siblings:()=>Ut,toggleClass:()=>Pt,trackDisposer:()=>xt,trigger:()=>Pe,unprovide:()=>Ct,unregisterResource:()=>ln,untrack:()=>L,withRevalidation:()=>fn});function yn({update:e,notify:t,unwatched:n}){return{link:o,unlink:r,propagate:s,checkDirty:i,shallowPropagate:c};function o(u,a,d){let g=a.depsTail;if(g!==void 0&&g.dep===u)return;let p=g!==void 0?g.nextDep:a.deps;if(p!==void 0&&p.dep===u){p.version=d,a.depsTail=p;return}let h=u.subsTail;if(h!==void 0&&h.version===d&&h.sub===a)return;let T=a.depsTail=u.subsTail={version:d,dep:u,sub:a,prevDep:g,nextDep:p,prevSub:h,nextSub:void 0};p!==void 0&&(p.prevDep=T),g!==void 0?g.nextDep=T:a.deps=T,h!==void 0?h.nextSub=T:u.subs=T}function r(u,a=u.sub){let d=u.dep,g=u.prevDep,p=u.nextDep,h=u.nextSub,T=u.prevSub;return p!==void 0?p.prevDep=g:a.depsTail=g,g!==void 0?g.nextDep=p:a.deps=p,h!==void 0?h.prevSub=T:d.subsTail=T,T!==void 0?T.nextSub=h:(d.subs=h)===void 0&&n(d),p}function s(u){let a=u.nextSub,d;e:do{let g=u.sub,p=g.flags;if(p&60?p&12?p&4?!(p&48)&&f(u,g)?(g.flags=p|40,p&=1):p=0:g.flags=p&-9|32:p=0:g.flags=p|32,p&2&&t(g),p&1){let h=g.subs;if(h!==void 0){let T=(u=h).nextSub;T!==void 0&&(d={value:a,prev:d},a=T);continue}}if((u=a)!==void 0){a=u.nextSub;continue}for(;d!==void 0;)if(u=d.value,d=d.prev,u!==void 0){a=u.nextSub;continue e}break}while(!0)}function i(u,a){let d,g=0,p=!1;e:do{let h=u.dep,T=h.flags;if(a.flags&16)p=!0;else if((T&17)===17){if(e(h)){let b=h.subs;b.nextSub!==void 0&&c(b),p=!0}}else if((T&33)===33){(u.nextSub!==void 0||u.prevSub!==void 0)&&(d={value:u,prev:d}),u=h.deps,a=h,++g;continue}if(!p){let b=u.nextDep;if(b!==void 0){u=b;continue}}for(;g--;){let b=a.subs,y=b.nextSub!==void 0;if(y?(u=d.value,d=d.prev):u=b,p){if(e(a)){y&&c(b),a=u.sub;continue}p=!1}else a.flags&=-33;a=u.sub;let v=u.nextDep;if(v!==void 0){u=v;continue e}}return p}while(!0)}function c(u){do{let a=u.sub,d=a.flags;(d&48)===32&&(a.flags=d|16,(d&6)===2&&t(a))}while((u=u.nextSub)!==void 0)}function f(u,a){let d=a.depsTail;for(;d!==void 0;){if(d===u)return!0;d=d.prevDep}return!1}}var de=0,Z=0,$=0,X=0,I,B=[],{link:pe,unlink:Me,propagate:Tn,checkDirty:Sn,shallowPropagate:Le}=yn({update(e){return e.depsTail!==void 0?En(e):Rn(e)},notify(e){let t=X,n=t;do if(B[t++]=e,e.flags&=-3,e=e.subs?.sub,e===void 0||!(e.flags&2))break;while(!0);for(X=t;n<--t;){let o=B[n];B[n++]=B[t],B[t]=o}},unwatched(e){e.flags&1?e.depsTail!==void 0&&(e.depsTail=void 0,e.flags=17,ge(e)):me.call(e)}});function D(e){let t=I;return I=e,t}function Ae(){return Z}function xn(){++Z}function bn(){--Z||Ie()}function Ne(e){return e.name==="bound "+Mn.name}function De(e){return e.name==="bound "+kn.name}function He(e){return e.name==="bound "+Ln.name}function _e(e){return e.name==="bound "+me.name}function vn(e){return Mn.bind({currentValue:e,pendingValue:e,subs:void 0,subsTail:void 0,flags:1})}function wn(e){return kn.bind({value:void 0,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:0,getter:e})}function Oe(e){let t={fn:e,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:6},n=D(t);n!==void 0&&pe(t,n,0);try{t.fn()}finally{I=n,t.flags&=-5}return Ln.bind(t)}function Cn(e){let t={deps:void 0,depsTail:void 0,subs:void 0,subsTail:void 0,flags:0},n=D(t);n!==void 0&&pe(t,n,0);try{e()}finally{I=n}return me.bind(t)}function Pe(e){let t={deps:void 0,depsTail:void 0,flags:2},n=D(t);try{e()}finally{I=n;let o=t.deps;for(;o!==void 0;){let r=o.dep;o=Me(o,t);let s=r.subs;s!==void 0&&(t.flags=0,Tn(s),Le(s))}Z||Ie()}}function En(e){++de,e.depsTail=void 0,e.flags=5;let t=D(e);try{let n=e.value;return n!==(e.value=e.getter(n))}finally{I=t,e.flags&=-5,ge(e)}}function Rn(e){return e.flags=1,e.currentValue!==(e.currentValue=e.pendingValue)}function no(e){let t=e.flags;if(t&16||t&32&&Sn(e.deps,e)){++de,e.depsTail=void 0,e.flags=6;let n=D(e);try{e.fn()}finally{I=n,e.flags&=-5,ge(e)}}else e.flags=2}function Ie(){try{for(;$<X;){let e=B[$];B[$++]=void 0,no(e)}}finally{for(;$<X;){let e=B[$];B[$++]=void 0,e.flags|=10}$=0,X=0}}function kn(){let e=this.flags;if(e&16||e&32&&(Sn(this.deps,this)||(this.flags=e&-33,!1))){if(En(this)){let n=this.subs;n!==void 0&&Le(n)}}else if(!e){this.flags=5;let n=D(this);try{this.value=this.getter()}finally{I=n,this.flags&=-5}}let t=I;return t!==void 0&&pe(this,t,de),this.value}function Mn(...e){if(e.length){if(this.pendingValue!==(this.pendingValue=e[0])){this.flags=17;let t=this.subs;t!==void 0&&(Tn(t),Z||Ie())}}else{if(this.flags&16&&Rn(this)){let n=this.subs;n!==void 0&&Le(n)}let t=I;for(;t!==void 0;){if(t.flags&3){pe(this,t,de);break}t=t.subs?.sub}return this.currentValue}}function Ln(){me.call(this)}function me(){this.depsTail=void 0,this.flags=0,ge(this);let e=this.subs;e!==void 0&&Me(e)}function ge(e){let t=e.depsTail,n=t!==void 0?t.nextDep:e.deps;for(;n!==void 0;)n=Me(n,e)}function oo(e,t,n){if(typeof t!="function"){if(n){let i=D(void 0),c=e();if(D(i),n(c,t))return}e(t);return}let o=D(void 0),r=e();D(o);let s=t(r);n&&n(r,s)||e(s)}function w(e,t){let n=vn(e),o=n,r=t?.equals;return[o,i=>oo(n,i,r)]}var W=null,An=[];function H(e){let t={disposers:[],scopeDispose:null};An.push(W),W=t;let n=()=>{if(t.scopeDispose){try{t.scopeDispose()}catch{}t.scopeDispose=null}for(let r of t.disposers)try{r()}catch{}t.disposers.length=0},o;try{t.scopeDispose=Cn(()=>{o=e(n)})}finally{W=An.pop()??null}return o}function Fe(e){W&&W.disposers.push(e)}function Be(){return W!==null}var Ke=null;function je(e){Ke?.(e)}function $e(e){let t=Ke;return Ke=e,t}var A=typeof process<"u"?process.env?.NODE_ENV!=="production":!0,Ve=null;function Ue(e){Ve=e}function F(e,t){if(Ve)try{Ve(e,t?{source:t}:{})}catch{}A&&console.error(`[forma] ${t??"Unknown"} error:`,e)}var We=32,Nn=100,Ge=[];for(let e=0;e<We;e++)Ge.push([]);var he=We;function ro(){if(he>0){let e=Ge[--he];return e.length=0,e}return[]}function Dn(e){e.length=0,he<We&&(Ge[he++]=e)}function Hn(e){if(e!==void 0)try{e()}catch(t){F(t,"effect cleanup")}}function _n(e){if(e!==void 0)for(let t=0;t<e.length;t++)try{e[t]()}catch(n){F(n,"effect cleanup")}}function C(e){let t=Oe(e);return Be()&&Fe(t),t}function Q(e){let t=Be(),n,o,r,s,i=b=>{if(s!==void 0){s.push(b);return}if(r!==void 0){let y=ro();y.push(r,b),r=void 0,s=y;return}r=b},c=!1,f=!0,u=!1,a=!1,d=()=>{if(n!==void 0&&(Hn(n),n=void 0),o!==void 0&&(_n(o),Dn(o),o=void 0),c){try{e()}catch(y){F(y,"effect")}return}r=void 0,s=void 0;let b=$e(i);try{let y=e();if(typeof y=="function"&&i(y),r===void 0&&s===void 0){f&&(c=!0);return}s!==void 0?o=s:n=r}catch(y){F(y,"effect"),s!==void 0?o=s:n=r}finally{$e(b),f=!1}},p=Oe(()=>{if(u){a=!0;return}u=!0;try{let b=0;do a=!1,d(),a&&(b++,b>=Nn&&(F(new Error(`createEffect exceeded ${Nn} re-entrant runs`),"effect"),a=!1));while(a)}finally{u=!1}}),h=!1,T=()=>{h||(h=!0,p(),n!==void 0&&(Hn(n),n=void 0),o!==void 0&&(_n(o),Dn(o),o=void 0))};return t&&Fe(T),T}function ee(e){return wn(e)}var ze=ee;function _(e){xn();try{e()}finally{bn()}}function L(e){let t=D(void 0);try{return e()}finally{D(t)}}function qe(e,t,n){let o,r=!0;return()=>{let s=e();if(n?.defer&&r){r=!1,o=s;return}let i=L(()=>t(s,o));return o=s,i}}function Je(e){return{current:e}}function Ye(e,t){let[n,o]=w(t);return[n,s=>{o(i=>e(i,s))}]}var ye=null,On=[];function Pn(e){On.push(ye),ye=e}function In(){ye=On.pop()??null}function Fn(){return ye}function Xe(e,t,n){let[o,r]=w(n?.initialValue),[s,i]=w(!1),[c,f]=w(void 0),u=Fn(),a=null,d=0,g=()=>{let h=L(e);a&&a.abort();let T=new AbortController;a=T;let b=++d,y=()=>b===d,v=!1;u&&(u.increment(),v=!0),i(!0),f(void 0),Promise.resolve(t(h)).then(S=>{y()&&!T.signal.aborted&&r(()=>S)}).catch(S=>{y()&&!T.signal.aborted&&S?.name!=="AbortError"&&f(S)}).finally(()=>{v&&u?.decrement(),y()&&(i(!1),a===T&&(a=null))})};C(()=>{e(),g()});let p=(()=>o());return p.loading=s,p.error=c,p.refetch=g,p.mutate=h=>r(()=>h),p}function tt(e){let t=e.length;if(t===0)return[];let n=new Int32Array(t),o=new Int32Array(t),r=new Int32Array(t).fill(-1),s=0;for(let f=0;f<t;f++){let u=e[f],a=0,d=s;for(;a<d;){let g=a+d>>1;n[g]<u?a=g+1:d=g}n[a]=u,o[a]=f,a>0&&(r[f]=o[a-1]),a>=s&&s++}let i=new Array(s),c=o[s-1];for(let f=s-1;f>=0;f--)i[f]=c,c=r[c];return i}var so=32,Ze=Symbol.for("forma-abort"),Qe=Symbol.for("forma-attr-cache"),et=Symbol.for("forma-dynamic-child");function io(e,t){return e instanceof HTMLElement&&t instanceof HTMLElement&&e.tagName===t.tagName&&!e[Ze]&&!e[Qe]&&!e[et]&&!t[Ze]&&!t[Qe]&&!t[et]}function ao(e,t){let n=new Set;for(let o of Array.from(t.attributes))n.add(o.name),e.getAttribute(o.name)!==o.value&&e.setAttribute(o.name,o.value);for(let o of Array.from(e.attributes))n.has(o.name)||e.removeAttribute(o.name);e.replaceChildren(...Array.from(t.childNodes))}function co(e,t,n,o,r,s,i,c,f){let u=t.length,a=n.length,d=new Array(u);for(let l=0;l<u;l++)d[l]=r(t[l]);let g=new Array(a),p=new Uint8Array(u);for(let l=0;l<a;l++){let m=r(n[l]),x=-1;for(let E=0;E<u;E++)if(!p[E]&&d[E]===m){x=E,p[E]=1;break}g[l]=x}for(let l=0;l<u;l++)if(!p[l])if(f?.onBeforeRemove){let m=o[l];f.onBeforeRemove(m,()=>{m.parentNode&&m.parentNode.removeChild(m)})}else e.removeChild(o[l]);if(u===a){let l=!0;for(let m=0;m<a;m++)if(g[m]!==m){l=!1;break}if(l){let m=new Array(a);for(let x=0;x<a;x++){let E=o[x];i(E,n[x]),m[x]=E}return{nodes:m,items:n}}}let h=[],T=[];for(let l=0;l<a;l++)g[l]!==-1&&(h.push(g[l]),T.push(l));let b=tt(h),y=new Uint8Array(a);for(let l of b)y[T[l]]=1;let v=new Array(a),S=c??null;for(let l=a-1;l>=0;l--){let m,x=!1;if(g[l]===-1)m=s(n[l]),x=!0;else if(m=o[g[l]],i(m,n[l]),y[l]){v[l]=m,S=m;continue}S?e.insertBefore(m,S):e.appendChild(m),x&&f?.onInsert?.(m),v[l]=m,S=m}return{nodes:v,items:n}}function G(e,t,n,o,r,s,i,c,f){let u=t.length,a=n.length;if(a===0){for(let l=0;l<u;l++)if(f?.onBeforeRemove){let m=o[l];f.onBeforeRemove(m,()=>{m.parentNode&&m.parentNode.removeChild(m)})}else e.removeChild(o[l]);return{nodes:[],items:[]}}if(u===0){let l=new Array(a);for(let m=0;m<a;m++){let x=s(n[m]);c?e.insertBefore(x,c):e.appendChild(x),f?.onInsert?.(x),l[m]=x}return{nodes:l,items:n}}if(u<so)return co(e,t,n,o,r,s,i,c,f);let d=new Map;for(let l=0;l<u;l++)d.set(r(t[l]),l);let g=new Array(a),p=new Uint8Array(u);for(let l=0;l<a;l++){let m=r(n[l]),x=d.get(m);x!==void 0?(g[l]=x,p[x]=1):g[l]=-1}for(let l=0;l<u;l++)if(!p[l])if(f?.onBeforeRemove){let m=o[l];f.onBeforeRemove(m,()=>{m.parentNode&&m.parentNode.removeChild(m)})}else e.removeChild(o[l]);if(u===a){let l=!0;for(let m=0;m<a;m++)if(g[m]!==m){l=!1;break}if(l){let m=new Array(a);for(let x=0;x<a;x++){let E=o[x];i(E,n[x]),m[x]=E}return{nodes:m,items:n}}}let h=[],T=[];for(let l=0;l<a;l++)g[l]!==-1&&(h.push(g[l]),T.push(l));let b=tt(h),y=new Uint8Array(a);for(let l of b)y[T[l]]=1;let v=new Array(a),S=c??null;for(let l=a-1;l>=0;l--){let m,x=!1;if(g[l]===-1)m=s(n[l]),x=!0;else if(m=o[g[l]],i(m,n[l]),y[l]){v[l]=m,S=m;continue}S?e.insertBefore(m,S):e.appendChild(m),x&&f?.onInsert?.(m),v[l]=m,S=m}return{nodes:v,items:n}}function te(e,t,n,o){if(k)return{type:"list",items:e,keyFn:t,renderFn:n,options:o};let r=document.createComment("forma-list-start"),s=document.createComment("forma-list-end"),i=document.createDocumentFragment();i.appendChild(r),i.appendChild(s);let c=new Map,f=[],u=[],a=o?.updateOnItemChange??"none";return C(()=>{let d=e(),g=r.parentNode;if(!g)return;if(!Array.isArray(d)){A&&console.warn("[forma] createList: value is not an array, treating as empty");for(let y of f)y.parentNode===g&&g.removeChild(y);c=new Map,f=[],u=[];return}let p=d;for(let y=0;y<d.length;y++)if(d[y]==null){p=d.filter(v=>v!=null);break}if(A){let y=new Set;for(let v of p){let S=t(v);y.has(S)&&console.warn("[forma] createList: duplicate key detected:",S),y.add(S)}}let T=G(g,u,p,f,t,y=>{let v=t(y),[S,l]=w(0),m=L(()=>n(y,S));return c.set(v,{element:m,item:y,getIndex:S,setIndex:l}),m},a==="rerender"?(y,v)=>{let S=t(v),l=c.get(S);if(!l||l.item===v||(l.item=v,!(y instanceof HTMLElement))||y[Ze]||y[Qe]||y[et])return;let m=L(()=>n(v,l.getIndex));io(y,m)&&(ao(y,m),l.element=y)}:(y,v)=>{let S=t(v),l=c.get(S);l&&(l.item=v)},s),b=new Map;for(let y=0;y<p.length;y++){let v=t(p[y]),S=c.get(v);S&&(S.setIndex(y),b.set(v,S))}c=b,f=T.nodes,u=T.items}),i}function ne(e,t,n){if(k){let a=e()?t():n?.()??null;return{type:"show",condition:e,whenTrue:t,whenFalse:n,initialBranch:a}}let o=document.createComment("forma-show"),r=document.createComment("/forma-show"),s=document.createDocumentFragment();s.appendChild(o),s.appendChild(r);let i=null,c=null,f=null,u=C(()=>{let a=!!e(),d=typeof globalThis.__FORMA_DEBUG__<"u",g=d?t.toString().slice(0,60):"";if(a===c){d&&console.log("[forma:show] skip (same)",a,g);return}d&&console.log("[forma:show]",c,"\u2192",a,g),c=a;let p=o.parentNode;if(!p){d&&console.warn("[forma:show] parentNode is null! skipping.",g);return}if(d&&console.log("[forma:show] parent:",p.nodeName,"inDoc:",document.contains(p)),f&&(f(),f=null),i)if(i.parentNode===p)p.removeChild(i);else for(;o.nextSibling&&o.nextSibling!==r;)p.removeChild(o.nextSibling);let h=a?t:n;if(h){let T;i=H(b=>(T=b,L(()=>h()))),f=T}else i=null;i&&p.insertBefore(i,r)});return s.__showDispose=()=>{u(),f&&(f(),f=null)},s}var Bn=Symbol.for("forma-abort"),k=!1;function Kn(e){k=e}function J(e){return e!=null&&typeof e=="object"&&"type"in e&&e.type==="element"}function Te(e){return e!=null&&typeof e=="object"&&"type"in e&&e.type==="show"}function ot(e){return e!=null&&typeof e=="object"&&"type"in e&&e.type==="list"}function lo(e,t){if(t)for(let n in t){let o=t[n];if(typeof o!="function")continue;if(n.charCodeAt(0)===111&&n.charCodeAt(1)===110&&n.length>2){let i=e[Bn];i||(i=new AbortController,e[Bn]=i),e.addEventListener(n.slice(2).toLowerCase(),o,{signal:i.signal});continue}let r=o,s=n;C(()=>{let i=r();i===!1||i==null?e.removeAttribute(s):i===!0?e.setAttribute(s,""):e.setAttribute(s,String(i))})}}function oe(e){if(e instanceof Node)return e;if(e==null||e===!1||e===!0)return null;if(typeof e=="string")return new Text(e);if(typeof e=="number")return new Text(String(e));if(J(e))return q(e);if(Te(e)){let t=k;k=!1;try{return ne(e.condition,()=>oe(e.whenTrue())??document.createComment("empty"),e.whenFalse?()=>oe(e.whenFalse())??document.createComment("empty"):void 0)}finally{k=t}}if(ot(e)){let t=k;k=!1;try{return te(e.items,e.keyFn,e.renderFn,e.options)}finally{k=t}}return null}function q(e){let t=k;k=!1;try{let n=e.children.map(o=>J(o)?q(o):Te(o)||ot(o)?oe(o):o);return se(e.tag,e.props,...n)}finally{k=t}}function uo(e){return e.length>=4&&e.charCodeAt(0)===102&&e.charCodeAt(1)===58&&e.charCodeAt(2)===105}function nt(e){return e.length>=4&&e.charCodeAt(0)===102&&e.charCodeAt(1)===58&&e.charCodeAt(2)===115}function fo(e){return e.length>=4&&e.charCodeAt(0)===102&&e.charCodeAt(1)===58&&e.charCodeAt(2)===116}function po(e){return e.length>=4&&e.charCodeAt(0)===102&&e.charCodeAt(1)===58&&e.charCodeAt(2)===108}function z(e){let t="/"+e.data,n=e.nextSibling;for(;n;){if(n.nodeType===8&&n.data===t)return n;n=n.nextSibling}return null}function mo(e,t){let n=e.nextSibling;for(;n&&n!==t;){if(n.nodeType===3)return n;n=n.nextSibling}return null}function go(e,t){let n=e.nextSibling;for(;n&&n!==t;){if(n.nodeType===1)return n;n=n.nextSibling}}function ho(e,t){let n=document.createDocumentFragment(),o=e.nextSibling;for(;o&&o!==t;){let r=o.nextSibling;n.appendChild(o),o=r}return n}function jn(e,t){let n=!!e.condition(),o=null,r=null;if(!(t.start.nextSibling!==t.end)&&n){A&&console.warn("[forma] Hydration: show condition mismatch \u2014 SSR empty but client condition is true");let i=e.whenTrue();i instanceof Node&&t.start.parentNode.insertBefore(i,t.end)}C(()=>{let i=!!e.condition();if(i===n)return;n=i;let c=t.start.parentNode;if(!c)return;let f=ho(t.start,t.end);i?r=f:o=f;let u=i?o??e.whenTrue():e.whenFalse?r??e.whenFalse():null;i&&o&&(o=null),!i&&r&&(r=null),u!=null&&!(u instanceof Node)&&(u=oe(u)),u instanceof Node&&c.insertBefore(u,t.end)})}function $n(e,t,n){if(J(e)){let o=go(t,n);o&&re(e,o)}else if(Te(e)){let o=t.nextSibling;for(;o&&o!==n;){if(o.nodeType===8&&nt(o.data)){let r=o,s=z(r);s&&(e.initialBranch&&$n(e.initialBranch,r,s),jn(e,{start:r,end:s,cachedContent:null}));break}o=o.nextSibling}}}function re(e,t){if(!t||t.tagName!==e.tag.toUpperCase()){A&&console.warn(`Hydration mismatch: expected <${e.tag}>, got <${t?.tagName?.toLowerCase()??"nothing"}>`);let o=q(e);t&&t.replaceWith(o);return}lo(t,e.props);let n=t.firstChild;for(let o of e.children)if(!(o===!1||o==null))if(J(o)){for(;n&&n.nodeType===3&&!n.data.trim();)n=n.nextSibling;for(;n&&n.nodeType===1&&n.hasAttribute("data-forma-island");)n=n.nextSibling;if(!n){t.appendChild(q(o));continue}if(n.nodeType===1){let r=n;n=n.nextSibling,re(o,r)}else if(n.nodeType===8&&uo(n.data)){let r=z(n),s=q(o);r?(r.parentNode.insertBefore(s,r),n=r.nextSibling):(t.appendChild(s),n=null)}else t.appendChild(q(o))}else if(Te(o)){for(;n&&!(n.nodeType===8&&nt(n.data));)n=n.nextSibling;if(n){let r=n,s=z(r);s&&(o.initialBranch&&$n(o.initialBranch,r,s),jn(o,{start:r,end:s,cachedContent:null}),n=s.nextSibling)}}else if(ot(o)){for(;n&&!(n.nodeType===8&&po(n.data));)n=n.nextSibling;if(n){let r=n,s=z(r);if(s){let i=new Map,c=[],f=r.nextSibling;for(;f&&f!==s;){if(f.nodeType===1){let l=f;c.push(l);let m=l.getAttribute("data-forma-key");m!=null&&i.set(m,l)}f=f.nextSibling}let u=L(()=>o.items()),a=o.keyFn,d=o.renderFn,g=i.size===0&&c.length>0,p=[],h=[],T=new Set;for(let l=0;l<u.length;l++){let m=u[l],x=a(m),E;if(g?l<c.length&&(E=c[l],T.add(l)):(E=i.get(String(x)),E&&i.delete(String(x))),E)p.push(E),h.push(m);else{A&&console.warn(`[FormaJS] Hydration: list item key "${x}" not found in SSR \u2014 rendering fresh`);let R=k;k=!1;try{let[M]=w(l),N=d(m,M);s.parentNode.insertBefore(N,s),p.push(N),h.push(m)}finally{k=R}}}if(g)for(let l=0;l<c.length;l++)!T.has(l)&&c[l].parentNode&&c[l].parentNode.removeChild(c[l]);else for(let[l,m]of i)A&&console.warn(`[FormaJS] Hydration: removing extra SSR list item with key "${l}"`),m.parentNode&&m.parentNode.removeChild(m);let b=r.parentNode;for(let l of p)b.insertBefore(l,s);let y=new Map;for(let l=0;l<h.length;l++){let m=h[l],x=a(m),[E,R]=w(l);y.set(x,{element:p[l],item:m,getIndex:E,setIndex:R})}let v=p.slice(),S=h.slice();C(()=>{let l=o.items(),m=r.parentNode;if(!m)return;let x=G(m,S,l,v,a,R=>{let M=k;k=!1;try{let N=a(R),[O,Re]=w(0),fe=L(()=>d(R,O));return y.set(N,{element:fe,item:R,getIndex:O,setIndex:Re}),fe}finally{k=M}},(R,M)=>{let N=a(M),O=y.get(N);O&&(O.item=M)},s),E=new Map;for(let R=0;R<l.length;R++){let M=a(l[R]),N=y.get(M);N&&(N.setIndex(R),E.set(M,N))}y=E,v=x.nodes,S=x.items}),n=s.nextSibling}}}else if(typeof o=="function"){for(;n&&n.nodeType===3&&!n.data.trim();)n=n.nextSibling;if(n&&n.nodeType===1){let r=o();if(J(r)){let s=n;n=n.nextSibling,re(r,s);continue}}if(n&&n.nodeType===8){let r=n.data;if(fo(r)){let s=z(n),i=n.nextSibling;if(!i||i.nodeType!==3){A&&console.warn(`[FormaJS] Hydration: created text node for marker ${r} \u2014 SSR walker should emit content between markers`);let c=document.createTextNode("");n.parentNode.insertBefore(c,s||n.nextSibling),i=c}C(()=>{i.data=String(o())}),n=s?s.nextSibling:i.nextSibling}else if(nt(r)){let s=n,i=z(s);if(i){let c=mo(s,i);c||(A&&console.warn(`[FormaJS] Hydration: created text node for show marker ${s.data} \u2014 SSR walker should emit content between markers`),c=document.createTextNode(""),s.parentNode.insertBefore(c,i)),C(()=>{c.data=String(o())}),n=i.nextSibling}else n=n.nextSibling}else n=n.nextSibling}else if(n&&n.nodeType===3){let r=n;n=n.nextSibling,C(()=>{r.data=String(o())})}else{A&&console.warn(`[FormaJS] Hydration: created text node in empty <${t.tagName.toLowerCase()}> \u2014 IR may not cover this component`);let r=document.createTextNode("");t.appendChild(r),C(()=>{r.data=String(o())})}}else(typeof o=="string"||typeof o=="number")&&n&&n.nodeType===3&&(n=n.nextSibling)}function V(e,t){if(!(t.childElementCount>0||t.childNodes.length>0&&Array.from(t.childNodes).some(r=>r.nodeType===1||r.nodeType===3&&r.data.trim()))){if(A){let s=t.getAttribute("data-forma-component")||"unknown";console.warn(`[forma] Island "${s}" has no SSR content \u2014 falling back to CSR. This means the IR walker did not render content between ISLAND_START and ISLAND_END.`)}let r=e();if(r instanceof Element){for(let s of Array.from(t.attributes))s.name.startsWith("data-forma-")&&r.setAttribute(s.name,s.value);return t.replaceWith(r),r}else r instanceof Node&&t.appendChild(r);return t}Kn(!0);let o;try{o=e()}finally{Kn(!1)}return!o||!J(o)?(t.removeAttribute("data-forma-ssr"),t):(t.hasAttribute("data-forma-island")?re(o,t):re(o,t.children[0]),t.removeAttribute("data-forma-ssr"),t)}var ce=Symbol.for("forma.fragment"),yo="http://www.w3.org/2000/svg",ie="http://www.w3.org/1999/xlink",To=new Set(["svg","path","circle","rect","line","polyline","polygon","ellipse","g","text","tspan","textPath","defs","use","symbol","clipPath","mask","pattern","marker","linearGradient","radialGradient","stop","filter","feGaussianBlur","feColorMatrix","feOffset","feBlend","feMerge","feMergeNode","feComposite","feFlood","feMorphology","feTurbulence","feDisplacementMap","feImage","foreignObject","animate","animateTransform","animateMotion","set","image","switch","desc","title","metadata"]),Un=new Set(["disabled","checked","readonly","required","autofocus","autoplay","controls","default","defer","formnovalidate","hidden","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","reversed","selected","async"]),j=null;function So(e){if(!j){j=Object.create(null);for(let t of["div","span","p","a","li","ul","ol","button","input","label","h1","h2","h3","h4","h5","h6","section","header","footer","main","nav","table","tr","td","th","tbody","img","form","select","option","textarea","i","b","strong","em","small","article","aside","details","summary"])j[t]=document.createElement(t)}return j[e]??(j[e]=document.createElement(e))}var Vn=Object.create(null);function xo(e){return Vn[e]??(Vn[e]=e.slice(2).toLowerCase())}var Se=Symbol.for("forma-abort");function bo(e){let t=e[Se];return t||(t=new AbortController,e[Se]=t),t}function st(e){let t=e[Se];t&&(t.abort(),delete e[Se])}var rt=Symbol.for("forma-attr-cache"),vo=Symbol.for("forma-dynamic-child");function P(e){return e[rt]??(e[rt]=Object.create(null))}function it(e,t,n){if(typeof n=="function")C(()=>{let o=n(),r=P(e);r.class!==o&&(r.class=o,e instanceof HTMLElement?e.className=o:e.setAttribute("class",o))});else{let o=P(e);if(o.class===n)return;o.class=n,e instanceof HTMLElement?e.className=n:e.setAttribute("class",n)}}function wo(e,t,n){if(typeof n=="function"){let o=[];C(()=>{let r=n();if(typeof r=="string"){let s=P(e);if(s.style===r)return;s.style=r,o=[],e.style.cssText=r}else if(r&&typeof r=="object"){let s=e.style,i=Object.keys(r);for(let c of o)c in r||s.removeProperty(c.replace(/[A-Z]/g,f=>"-"+f.toLowerCase()));Object.assign(s,r),o=i}})}else if(typeof n=="string"){let o=P(e);if(o.style===n)return;o.style=n,e.style.cssText=n}else n&&typeof n=="object"&&Object.assign(e.style,n)}function Wn(e,t,n){let o=bo(e);e.addEventListener(xo(t),n,{signal:o.signal})}function Co(e,t,n){if(typeof n=="function")C(()=>{let o=n();if(o==null){e.innerHTML="";return}if(typeof o!="object"||!("__html"in o))throw new TypeError("dangerouslySetInnerHTML: expected { __html: string }, got "+typeof o);let r=o.__html;if(typeof r!="string")throw new TypeError("dangerouslySetInnerHTML: __html must be a string, got "+typeof r);let s=P(e);s.innerHTML!==r&&(s.innerHTML=r,e.innerHTML=r)});else{if(n==null){e.innerHTML="";return}if(typeof n!="object"||!("__html"in n))throw new TypeError("dangerouslySetInnerHTML: expected { __html: string }, got "+typeof n);let o=n.__html;if(typeof o!="string")throw new TypeError("dangerouslySetInnerHTML: __html must be a string, got "+typeof o);e.innerHTML=o}}function Eo(e,t,n){let o=t.slice(6);typeof n=="function"?C(()=>{let r=n();r==null||r===!1?e.removeAttributeNS(ie,o):e.setAttributeNS(ie,t,String(r))}):n==null||n===!1?e.removeAttributeNS(ie,o):e.setAttributeNS(ie,t,String(n))}function Ro(e,t,n){if(typeof n=="function")C(()=>{let o=n(),r=P(e);r[t]!==o&&(r[t]=o,o?e.setAttribute(t,""):e.removeAttribute(t))});else{let o=P(e);if(o[t]===n)return;o[t]=n,n?e.setAttribute(t,""):e.removeAttribute(t)}}function ko(e,t,n){if(typeof n=="function")C(()=>{let o=n();if(o==null||o===!1){let r=P(e);if(r[t]===null)return;r[t]=null,e.removeAttribute(t)}else{let r=String(o),s=P(e);if(s[t]===r)return;s[t]=r,e.setAttribute(t,r)}});else if(n==null||n===!1){let o=P(e);if(o[t]===null)return;o[t]=null,e.removeAttribute(t)}else{let o=String(n),r=P(e);if(r[t]===o)return;r[t]=o,e.setAttribute(t,o)}}var U=new Map;U.set("class",it);U.set("className",it);U.set("style",wo);U.set("ref",()=>{});U.set("dangerouslySetInnerHTML",Co);for(let e of Un)U.set(e,Ro);function Mo(e,t,n){if(t==="class"){it(e,t,n);return}if(t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&t.length>2){Wn(e,t,n);return}let o=U.get(t);if(o){o(e,t,n);return}if(t.charCodeAt(0)===120&&t.startsWith("xlink:")){Eo(e,t,n);return}ko(e,t,n)}function Lo(e,t,n){if(!(n==null||n===!1)){if(t==="class"||t==="className"){e.className=n;return}if(t==="style"){typeof n=="string"?e.style.cssText=n:n&&typeof n=="object"&&Object.assign(e.style,n);return}if(t==="dangerouslySetInnerHTML"){if(typeof n!="object"||!("__html"in n))throw new TypeError("dangerouslySetInnerHTML: expected { __html: string }, got "+typeof n);let o=n.__html;if(typeof o!="string")throw new TypeError("dangerouslySetInnerHTML: __html must be a string, got "+typeof o);e.innerHTML=o;return}if(t.charCodeAt(0)===120&&t.startsWith("xlink:")){e.setAttributeNS(ie,t,String(n));return}if(Un.has(t)){n&&e.setAttribute(t,"");return}n===!0?e.setAttribute(t,""):e.setAttribute(t,String(n))}}function ae(e,t){if(t instanceof Node){e.appendChild(t);return}if(typeof t=="string"){e.appendChild(new Text(t));return}if(!(t==null||t===!1||t===!0)){if(typeof t=="number"){e.appendChild(new Text(String(t)));return}if(typeof t=="function"){e instanceof Element&&(e[vo]=!0);let n=null;C(()=>{let o=t();if(o instanceof Node)n?e.replaceChild(o,n):e.appendChild(o),n=o;else{let r=String(typeof o=="symbol"?o:o??"");if(!n)n=new Text(r),e.appendChild(n);else if(n.nodeType===3)n.data=r;else{let s=new Text(r);e.replaceChild(s,n),n=s}}});return}if(Array.isArray(t)){for(let n of t)ae(e,n);return}}}function se(e,t,...n){if(typeof e=="function"&&e!==ce){let i={...t??{},children:n};return e(i)}if(e===ce){let i=document.createDocumentFragment();for(let c of n)ae(i,c);return i}let o=e;if(k)return{type:"element",tag:o,props:t??null,children:n};let r;if(j&&j[o]?r=j[o].cloneNode(!1):To.has(o)?r=document.createElementNS(yo,o):r=So(o).cloneNode(!1),t){let i=!1;for(let c in t){if(c==="ref")continue;let f=t[c];if(c.charCodeAt(0)===111&&c.charCodeAt(1)===110&&c.length>2){Wn(r,c,f);continue}if(typeof f=="function"){i||(r[rt]=Object.create(null),i=!0),Mo(r,c,f);continue}Lo(r,c,f)}}let s=n.length;if(s===1){let i=n[0];typeof i=="string"?r.textContent=i:typeof i=="number"?r.textContent=String(i):ae(r,i)}else if(s>1)for(let i of n)ae(r,i);return t&&typeof t.ref=="function"&&t.ref(r),r}function at(...e){let t=document.createDocumentFragment();for(let n of e)ae(t,n);return t}function ct(e){if(typeof e=="function"){let t=new Text("");return C(()=>{t.data=e()}),t}return new Text(e)}function lt(e,t){let n=typeof t=="string"?document.querySelector(t):t;if(!n)throw new Error(`mount: container not found \u2014 "${t}"`);let o;if(n.hasAttribute("data-forma-ssr"))H(s=>{o=s,V(e,n)});else{let s=H(i=>(o=i,e()));n.innerHTML="",n.appendChild(s)}let r=!1;return()=>{r||(r=!0,o(),n.innerHTML="")}}function ut(e,t,n){let o=document.createComment("forma-switch"),r=document.createComment("/forma-switch"),s=document.createDocumentFragment();s.appendChild(o),s.appendChild(r);let i=new Map,c=null,f=Ao,u=C(()=>{let a=e();if(a===f)return;let d=typeof globalThis.__FORMA_DEBUG__<"u";d&&console.log("[forma:switch] transition",String(f),"\u2192",String(a)),f=a;let g=o.parentNode;if(!g){d&&console.warn("[forma:switch] markers not in DOM yet, skipping");return}if(c)if(c.parentNode===g)d&&console.log("[forma:switch] removing single node"),g.removeChild(c);else if(c.nodeType===11){d&&console.log("[forma:switch] scooping nodes back into fragment");let h=0;for(;o.nextSibling&&o.nextSibling!==r;)c.appendChild(o.nextSibling),h++;d&&console.log("[forma:switch] scooped",h,"nodes back into fragment")}else for(d&&console.log("[forma:switch] clearing detached node between markers");o.nextSibling&&o.nextSibling!==r;)g.removeChild(o.nextSibling);let p=t.find(h=>h.match===a);if(p){let h=i.get(a);if(h)d&&console.log("[forma:switch] reusing cached branch for",String(a),"\u2192",h.node.nodeName,"type",h.node.nodeType,"childNodes",h.node.childNodes?.length);else{let T,b=H(y=>(T=y,L(()=>p.render())));h={node:b,dispose:T},i.set(a,h),d&&console.log("[forma:switch] rendered new branch for",String(a),"\u2192",b.nodeName,"type",b.nodeType)}c=h.node}else c=n?.()??null,d&&console.log("[forma:switch] no match, using fallback");c&&(g.insertBefore(c,r),d&&console.log("[forma:switch] inserted",c.nodeName,"before end marker"))});return s.__switchDispose=()=>{u();for(let a of i.values())a.dispose();i.clear()},s}var Ao=Symbol("unset");function ft(e,t){let n=document.createComment("forma-portal"),o=typeof t=="string"?document.querySelector(t):t??document.body;if(!o)throw new Error(`createPortal: target not found: ${t}`);let r=null,s=()=>{r&&r.parentNode===o&&o.removeChild(r),r=null};return Q(()=>{let i=e();return s(),r=i,o.appendChild(i),()=>{s()}}),n}function dt(e,t){let n=document.createComment("forma-error-boundary"),o=document.createComment("/forma-error-boundary"),r=document.createDocumentFragment();r.appendChild(n),r.appendChild(o);let[s,i]=w(0),c=null;return C(()=>{s();let f=n.parentNode;if(f){c&&c.parentNode===f&&f.removeChild(c);try{c=e()}catch(u){let a=u instanceof Error?u:new Error(String(u));c=t(a,()=>i(g=>g+1))}c&&f.insertBefore(c,o)}}),r}function pt(e,t){let n=document.createComment("forma-suspense"),o=document.createComment("/forma-suspense"),r=document.createDocumentFragment();r.appendChild(n),r.appendChild(o);let[s,i]=w(0),c=null,f=null,u=null;Pn({increment(){i(d=>d+1)},decrement(){i(d=>Math.max(0,d-1))}});try{f=t()}finally{In()}return C(()=>{let d=n.parentNode;if(!d)return;let p=s()>0?u??=e():f;p!==c&&(c&&c.parentNode===d&&d.removeChild(c),p&&d.insertBefore(p,o),c=p)}),r}var No=new Set(["__proto__","constructor","prototype"]);function Gn(e){for(let t of No)t in e&&delete e[t];return e}function Do(e,t,n){let o=e.getAttribute("data-forma-props");return o?Gn(JSON.parse(o)):n&&String(t)in n?Gn(n[String(t)]):null}function mt(e){let t=document.getElementById("__forma_islands"),n=t?JSON.parse(t.textContent):null,o=document.querySelectorAll("[data-forma-island]");for(let r of o){let s=parseInt(r.getAttribute("data-forma-island"),10),i=r.getAttribute("data-forma-component"),c=e[i];if(!c){A&&console.warn(`[forma] No hydrate function for island "${i}" (id=${s})`),r.setAttribute("data-forma-status","error");continue}let f=r.getAttribute("data-forma-hydrate")||"load";if(f==="visible"){let u=new IntersectionObserver(a=>{for(let d of a)d.isIntersecting&&(u.disconnect(),xe(r,s,i,c,n))},{rootMargin:"200px"});u.observe(r)}else if(f==="idle"){let u=()=>xe(r,s,i,c,n);typeof requestIdleCallback=="function"?requestIdleCallback(u):setTimeout(u,200)}else if(f==="interaction"){let u=()=>{r.removeEventListener("pointerdown",u,!0),r.removeEventListener("focusin",u,!0),xe(r,s,i,c,n)};r.addEventListener("pointerdown",u,{capture:!0,once:!0}),r.addEventListener("focusin",u,{capture:!0,once:!0})}else xe(r,s,i,c,n)}}function be(e){let t=e.__formaDispose;typeof t=="function"&&(t(),delete e.__formaDispose,e.setAttribute("data-forma-status","disposed"))}function gt(e=document){let t=e.querySelectorAll('[data-forma-status="active"]');for(let n of t)be(n)}function xe(e,t,n,o,r){try{let s=Do(e,t,r);e.setAttribute("data-forma-status","hydrating");let i=e;H(c=>{i=V(()=>o(e,s),e),i.__formaDispose=c}),i.setAttribute("data-forma-status","active")}catch(s){A&&console.error(`[forma] Island "${n}" (id=${t}) failed:`,s),e.setAttribute("data-forma-status","error")}}var K=null,zn=[];function Ho(e){zn.push(K),K=e}function _o(){K=zn.pop()??null}function ht(e){if(K===null)throw new Error("onMount() must be called inside a component setup function");K.mountCallbacks.push(e)}function yt(e){if(K===null)throw new Error("onUnmount() must be called inside a component setup function");K.unmountCallbacks.push(e)}var ve=Symbol("forma:component:dispose");function Tt(e){let t=typeof e=="function"?e:e.setup,n=typeof e=="function"?void 0:e.name;return function(){let r={disposers:[],mountCallbacks:[],unmountCallbacks:[]};Ho(r);let s;try{s=t()}finally{_o()}let i=()=>{for(let c of r.unmountCallbacks)try{c()}catch(f){F(f,"onUnmount")}for(let c of r.disposers)try{c()}catch(f){F(f,"component disposer")}r.disposers.length=0,r.mountCallbacks.length=0,r.unmountCallbacks.length=0};s[ve]=i;for(let c of r.mountCallbacks)try{let f=c();typeof f=="function"&&r.unmountCallbacks.push(f)}catch(f){F(f,"onMount")}return s}}function St(e){let t=e;typeof t[ve]=="function"&&(t[ve](),delete t[ve])}function xt(e){K!==null&&K.disposers.push(e)}var le=new Map;function bt(e){return{id:Symbol("forma:context"),defaultValue:e}}function vt(e,t){let n=le.get(e.id);n===void 0&&(n=[],le.set(e.id,n)),n.push(t)}function wt(e){let t=le.get(e.id);return t===void 0||t.length===0?e.defaultValue:t[t.length-1]}function Ct(e){let t=le.get(e.id);t!==void 0&&t.length>0&&(t.pop(),t.length===0&&le.delete(e.id))}var ue=Symbol("forma-raw"),Jn=Symbol("forma-proxy"),Oo=new Set(["push","pop","shift","unshift","splice","sort","reverse","fill","copyWithin"]);function qn(e){return!(e==null||typeof e!="object"||e instanceof Date||e instanceof RegExp||e instanceof Map||e instanceof Set||e instanceof WeakMap||e instanceof WeakSet||e instanceof Error||e instanceof Promise||e[Jn])}function Et(e,t){if(e===null||typeof e!="object"||(t||(t=new WeakSet),t.has(e)))return e;if(t.add(e),Array.isArray(e))return e.map(o=>Et(o,t));let n={};for(let o of Object.keys(e))n[o]=Et(e[o],t);return n}function Rt(e){let t=new Map,n=new Map;function o(d){let g=d.lastIndexOf(".");if(g===-1)return;let p=d.substring(0,g),h=n.get(p);h||(h=new Set,n.set(p,h)),h.add(d)}function r(d,g){let p=t.get(d);return p||(p=w(g),t.set(d,p),o(d)),p}let s=new WeakMap;function i(d){let g=n.get(d);if(g){for(let p of g)i(p),t.delete(p),n.delete(p);g.clear()}}function c(d,g){if(!qn(d))return d;let p=s.get(d);if(p)return p;let h=Array.isArray(d),T=g?g+".":"",b="",y,v=new Proxy(d,{get(S,l,m){if(l===ue)return S;if(l===Jn)return!0;if(typeof l=="symbol")return Reflect.get(S,l,m);let x=String(l),E=T+x;if(h&&Oo.has(x))return(...N)=>{let O;return _(()=>{let Re=N.map(Y=>Y!=null&&typeof Y=="object"&&Y[ue]?Y[ue]:Y);O=S[x].apply(S,Re),i(g);let[,fe]=r(T+"length",S.length);fe(S.length)}),O};if(h&&x==="length"){let[N]=r(E,S.length);return N(),S.length}let R=Reflect.get(S,l),M;return x===b&&y?M=y:(M=r(E,R),b=x,y=M),M[0](),qn(R)?c(R,E):R},set(S,l,m){if(typeof l=="symbol")return Reflect.set(S,l,m);let x=String(l),E=T+x,R=m!=null&&typeof m=="object"&&m[ue]?m[ue]:m;if(Reflect.set(S,l,R),R!=null&&typeof R=="object"&&i(E),h&&x!=="length"){let N=T+"length",O=t.get(N);O&&O[1](S.length)}let[,M]=r(E,R);return M(R),!0},has(S,l){if(typeof l=="symbol")return Reflect.has(S,l);let m=String(l),x=T+m,[E]=r(x,Reflect.get(S,l));return E(),Reflect.has(S,l)},ownKeys(S){return Reflect.ownKeys(S)},getOwnPropertyDescriptor(S,l){return Object.getOwnPropertyDescriptor(S,l)},deleteProperty(S,l){if(typeof l=="symbol")return Reflect.deleteProperty(S,l);let m=String(l),x=T+m,E=Reflect.deleteProperty(S,l);i(x),t.delete(x);let R=g;if(R!==void 0){let M=n.get(R);M&&(M.delete(x),M.size===0&&n.delete(R))}return n.delete(x),E}});return s.set(d,v),v}let f=c(e,"");function u(){return L(()=>Et(e))}return[f,d=>{let g=typeof d=="function"?d(u()):d;_(()=>{for(let p of Object.keys(g))f[p]=g[p]})}]}function kt(e,t){let[n,o]=e,r=t?.maxLength??100,s=[n()],i=0,[c,f]=w([...s]),[u,a]=w(i),[d,g]=w(s.length);function p(){_(()=>{f([...s]),a(i),g(s.length)})}let h=!1,T=!0;return C(()=>{let m=n();if(T){T=!1;return}if(h){h=!1;return}s=s.slice(0,i+1),s.push(m),s.length>r&&s.splice(0,s.length-r),i=s.length-1,p()}),{undo:()=>{i<=0||(i--,h=!0,o(s[i]),p())},redo:()=>{i>=s.length-1||(i++,h=!0,o(s[i]),p())},canUndo:()=>u()>0,canRedo:()=>u()<d()-1,history:()=>c(),cursor:()=>u(),clear:()=>{s=[n()],i=0,p()}}}function Mt(e,t,n){let[o,r]=e,s=n?.storage??globalThis.localStorage,i=n?.serialize??JSON.stringify,c=n?.deserialize??JSON.parse,f=n?.validate;try{let u=s.getItem(t);if(u!==null){let a=c(u);(!f||f(a))&&r(a)}}catch{}C(()=>{let u=o();try{let a=i(u);s.setItem(t,a)}catch{}})}function Lt(){let e=new Map;function t(c){let f=e.get(c);return f||(f=new Set,e.set(c,f)),f}function n(c,f){let u=t(c);return u.add(f),()=>{u.delete(f)}}function o(c,f){let u=a=>{s(c,u),f(a)};return n(c,u)}function r(c,f){let u=e.get(c);if(u)for(let a of[...u])try{a(f)}catch(d){console.error(`[forma] Bus handler error on "${String(c)}":`,d)}}function s(c,f){let u=e.get(c);u&&u.delete(f)}function i(){e.clear()}return{on:n,once:o,emit:r,off:s,clear:i}}function At(e,t,n,o,r){let s=i=>{let c=i.target;if(!(c instanceof HTMLElement))return;let f=e instanceof Document?e.documentElement:e,u=c.closest(t);u instanceof HTMLElement&&f.contains(u)&&o(i,u)};return e.addEventListener(n,s,r),()=>{e.removeEventListener(n,s,r)}}function Po(e){let t=e.toLowerCase().split("+").map(o=>o.trim()),n={ctrl:!1,shift:!1,alt:!1,meta:!1,key:""};for(let o of t)switch(o){case"ctrl":case"control":n.ctrl=!0;break;case"shift":n.shift=!0;break;case"alt":n.alt=!0;break;case"meta":case"cmd":case"command":n.meta=!0;break;default:n.key=o}return n}function Io(e,t){return e.ctrlKey!==t.ctrl||e.shiftKey!==t.shift||e.altKey!==t.alt||e.metaKey!==t.meta?!1:e.key.toLowerCase()===t.key}function Nt(e,t,n){let o=n?.target??document,r=n?.preventDefault??!0,s=Po(e),i=c=>{c instanceof KeyboardEvent&&Io(c,s)&&(r&&c.preventDefault(),t(c))};return o.addEventListener("keydown",i),()=>{o.removeEventListener("keydown",i)}}function Dt(e,t){return(t??document).querySelector(e)}function Ht(e,t){return Array.from((t??document).querySelectorAll(e))}function _t(e,...t){e.classList.add(...t)}function Ot(e,...t){e.classList.remove(...t)}function Pt(e,t,n){return e.classList.toggle(t,n)}function It(e,t){for(let[n,o]of Object.entries(t))o!==void 0&&(e.style[n]=o)}function Ft(e,t){for(let[n,o]of Object.entries(t))o===!1||o===null?e.removeAttribute(n):o===!0?e.setAttribute(n,""):e.setAttribute(n,o)}function Bt(e,t){e.textContent=t}function Kt(e,t){e.innerHTML=t}function jt(e,t){e.innerHTML=t}function $t(e,t){return e.closest(t)}function Vt(e,t){let n=Array.from(e.children);return t?n.filter(o=>o.matches(t)):n}function Ut(e,t){let n=e.parentElement;if(!n)return[];let r=Array.from(n.children).filter(s=>s!==e);return t?r.filter(s=>s.matches(t)):r}function Wt(e){return e.parentElement}function Gt(e,t){let n=e.nextElementSibling;for(;n;){if(n instanceof HTMLElement&&(!t||n.matches(t)))return n;n=n.nextElementSibling}return null}function zt(e,t){let n=e.previousElementSibling;for(;n;){if(n instanceof HTMLElement&&(!t||n.matches(t)))return n;n=n.previousElementSibling}return null}function qt(e,t){let n=new ResizeObserver(o=>{for(let r of o)t(r)});return n.observe(e),()=>{n.disconnect()}}function Jt(e,t,n){let o=new IntersectionObserver(r=>{for(let s of r)t(s)},n);return o.observe(e),()=>{o.disconnect()}}function Yt(e,t,n){let o=new MutationObserver(r=>{t(r)});return o.observe(e,n??{childList:!0,subtree:!0}),()=>{o.disconnect()}}function Xt(e,t){let n=t?.serialize??JSON.stringify,o=t?.deserialize??JSON.parse,r=t?.validate;return{key:e,get(){try{let s=localStorage.getItem(e);if(s===null)return null;let i=o(s);return r&&!r(i)?null:i}catch{return null}},set(s){try{let i=n(s);localStorage.setItem(e,i)}catch{}},remove(){localStorage.removeItem(e)}}}function Zt(e,t){let n=t?.serialize??JSON.stringify,o=t?.deserialize??JSON.parse,r=t?.validate;return{key:e,get(){try{let s=sessionStorage.getItem(e);if(s===null)return null;let i=o(s);return r&&!r(i)?null:i}catch{return null}},set(s){try{let i=n(s);sessionStorage.setItem(e,i)}catch{}},remove(){sessionStorage.removeItem(e)}}}var Qt=new Map;function Fo(e,t){let n=`${e}::${t}`,o=Qt.get(n);if(o)return o;let r=new Promise((s,i)=>{let c=indexedDB.open(e);c.onerror=()=>i(c.error),c.onsuccess=()=>{let f=c.result;if(f.objectStoreNames.contains(t)){s(f);return}let u=f.version+1;f.close();let a=indexedDB.open(e,u);a.onerror=()=>i(a.error),a.onupgradeneeded=()=>{let d=a.result;d.objectStoreNames.contains(t)||d.createObjectStore(t)},a.onsuccess=()=>s(a.result)},c.onupgradeneeded=()=>{let f=c.result;f.objectStoreNames.contains(t)||f.createObjectStore(t)}});return Qt.set(n,r),r.catch(()=>{Qt.delete(n)}),r}function en(e,t="default"){function n(o,r){return Fo(e,t).then(s=>new Promise((i,c)=>{let u=s.transaction(t,o).objectStore(t),a=r(u);a.onsuccess=()=>i(a.result),a.onerror=()=>c(a.error)}))}return{get(o){return n("readonly",r=>r.get(o))},set(o,r){return n("readwrite",s=>s.put(r,o)).then(()=>{})},delete(o){return n("readwrite",r=>r.delete(o)).then(()=>{})},getAll(){return n("readonly",o=>o.getAll())},keys(){return n("readonly",o=>o.getAllKeys()).then(o=>o.map(String))},clear(){return n("readwrite",o=>o.clear()).then(()=>{})}}}function tn(e,t){let[n,o]=w(null),[r,s]=w(null),[i,c]=w(!1),f=null;function u(){let d=typeof e=="function"?e():e,g=t?.base??"",p=new URL(d,g||void 0);if(t?.params)for(let[h,T]of Object.entries(t.params))p.searchParams.set(h,T);return p.toString()}async function a(){f&&f.abort(),f=new AbortController;let d=f,g=t?.timeout??3e4,p=setTimeout(()=>d.abort(),g);c(!0),s(null);try{let h=u(),{base:T,params:b,timeout:y,transform:v,...S}=t??{},l=await fetch(h,{...S,signal:d.signal});if(!l.ok)throw new Error(`HTTP ${l.status}: ${l.statusText}`);let m=await l.json(),x=v?v(m):m;o(x)}catch(h){if(h instanceof Error&&h.name==="AbortError")return;s(h instanceof Error?h:new Error(String(h)))}finally{clearTimeout(p),f===d&&(f=null,c(!1))}}return typeof e=="function"?C(()=>{e(),a()}):a(),{data:n,error:r,loading:i,refetch:a,abort(){f&&f.abort()}}}async function nn(e,t){let n=await fetch(e,t);if(!n.ok)throw new Error(`HTTP ${n.status}: ${n.statusText}`);return await n.json()}function on(e,t){let[n,o]=w(null),[r,s]=w(null),[i,c]=w(!1),f=new EventSource(e,{withCredentials:t?.withCredentials??!1});f.onopen=()=>{c(!0),s(null)};let u=t?.parse??(a=>{try{return JSON.parse(a)}catch{return a}});return f.onmessage=a=>{o(u(a.data))},f.onerror=a=>{s(a),c(!1)},{data:n,error:r,connected:i,close(){f.close(),c(!1)},on(a,d){let g=t?.parse??(h=>{try{return JSON.parse(h)}catch{return h}}),p=h=>{d(g(h.data))};return f.addEventListener(a,p),()=>{f.removeEventListener(a,p)}}}}function rn(e,t){let n=t?.reconnect??!0,o=t?.reconnectInterval??1e3,r=t?.maxReconnects??5,[s,i]=w(null),[c,f]=w("connecting"),u=new Set,a=null,d=0,g=null,p=!1;function h(){if(p)return;f("connecting"),a=new WebSocket(e,t?.protocols),a.onopen=()=>{f("open"),d=0};let T=t?.parse??(b=>{try{return JSON.parse(b)}catch{return b}});a.onmessage=b=>{let y=T(b.data);i(y);for(let v of u)v(y)},a.onerror=()=>{f("error")},a.onclose=()=>{if(p){f("closed");return}if(f("closed"),n&&d<r){let b=o*Math.pow(2,d);d++,g=setTimeout(h,b)}}}return h(),{data:s,status:c,send(T){a&&a.readyState===WebSocket.OPEN&&a.send(JSON.stringify(T))},close(){p=!0,g!==null&&(clearTimeout(g),g=null),a&&(a.close(),a=null),f("closed")},on(T){return u.add(T),()=>{u.delete(T)}}}}function sn(e,t){let[n,o]=w(!1),[r,s]=w(void 0),c=async(...f)=>{if(o(!0),s(void 0),t?.optimistic)try{_(()=>t.optimistic(...f))}catch{}try{let u=await e(...f);if(t?.onSuccess&&_(()=>t.onSuccess(u,...f)),t?.invalidates)for(let a of t.invalidates)a.refetch();return o(!1),u}catch(u){if(t?.onError)try{_(()=>t.onError(u,...f))}catch{}throw s(u),o(!1),u}};return c.pending=n,c.error=r,c.clearError=()=>s(void 0),c}var an=new Map;function cn(e,t){an.set(e,t)}function ln(e){an.delete(e)}function we(e){for(let[t,n]of Object.entries(e)){let o=an.get(t);o&&o.mutate(n)}}function un(){if(typeof window>"u")return()=>{};let e=t=>{let n=t.detail;n&&typeof n=="object"&&we(n)};return window.addEventListener("forma:revalidate",e),()=>window.removeEventListener("forma:revalidate",e)}function fn(e,t){return{data:e,__revalidate:t}}function dn(e){return async(...n)=>{let o=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json","X-Forma-RPC":"1"},body:JSON.stringify({args:n})});if(!o.ok){let s=await o.text();throw new Error(`Server function failed (${o.status}): ${s}`)}let r=await o.json();return r&&typeof r=="object"&&"__revalidate"in r?(typeof window<"u"&&window.dispatchEvent(new CustomEvent("forma:revalidate",{detail:r.__revalidate})),r.data):r}}var Ce=new Map;function pn(e,t){Ce.set(e,t)}function mn(e){return Ce.get(e)}function gn(){return[...Ce.keys()]}var Bo=new Set(["__proto__","constructor","prototype"]);async function Ee(e,t,n){let o=e.split("/").pop()??"";if(Bo.has(o))return{error:"Forbidden endpoint name"};let r=Ce.get(e);if(!r)return{error:`Unknown server function: ${e}`};try{let s=await r(...t.args);return n?{data:s,__revalidate:n}:{data:s}}catch(s){return{error:typeof process<"u"&&process.env?.NODE_ENV==="development"&&s instanceof Error?s.message:"Internal server error"}}}function hn(){return async(e,t)=>{if(e.method!=="POST"){t.status(405).json({error:"Method not allowed"});return}let n=e.body;if(!n||!Array.isArray(n.args)){t.status(400).json({error:"Invalid RPC request: missing args array"});return}let o=await Ee(e.url,n);o.error?t.status(500).json(o):t.json(o)}}return to(Ko);})();
2
2
  //# sourceMappingURL=formajs.global.js.map