@getforma/core 0.3.1 → 0.6.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.
- package/README.md +190 -16
- package/dist/{chunk-KX5WRZH7.js → chunk-DPSAVBCP.js} +3 -4
- package/dist/chunk-DPSAVBCP.js.map +1 -0
- package/dist/{chunk-FPSLC62A.cjs → chunk-KH3F5NRU.cjs} +2 -4
- package/dist/chunk-KH3F5NRU.cjs.map +1 -0
- package/dist/{chunk-5H52PKGF.js → chunk-TKGUHASG.js} +20 -10
- package/dist/chunk-TKGUHASG.js.map +1 -0
- package/dist/{chunk-TSQ7AKFT.cjs → chunk-YSKF3VRA.cjs} +27 -17
- package/dist/chunk-YSKF3VRA.cjs.map +1 -0
- package/dist/forma-runtime-csp.js +1 -1
- package/dist/forma-runtime.js +1 -1
- package/dist/formajs-runtime-hardened.global.js +1 -1
- package/dist/formajs-runtime-hardened.global.js.map +1 -1
- package/dist/formajs-runtime.global.js +1 -1
- package/dist/formajs-runtime.global.js.map +1 -1
- package/dist/formajs.global.js +1 -1
- package/dist/formajs.global.js.map +1 -1
- package/dist/index.cjs +102 -75
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +41 -9
- package/dist/index.d.ts +41 -9
- package/dist/index.js +46 -17
- package/dist/index.js.map +1 -1
- package/dist/runtime-hardened.cjs +61 -13
- package/dist/runtime-hardened.cjs.map +1 -1
- package/dist/runtime-hardened.js +62 -14
- package/dist/runtime-hardened.js.map +1 -1
- package/dist/runtime.cjs +85 -36
- package/dist/runtime.cjs.map +1 -1
- package/dist/runtime.js +63 -14
- package/dist/runtime.js.map +1 -1
- package/dist/ssr/index.cjs +18 -10
- package/dist/ssr/index.cjs.map +1 -1
- package/dist/ssr/index.js +18 -10
- package/dist/ssr/index.js.map +1 -1
- package/dist/tc39-compat.cjs +3 -3
- package/dist/tc39-compat.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-5H52PKGF.js.map +0 -1
- package/dist/chunk-FPSLC62A.cjs.map +0 -1
- package/dist/chunk-KX5WRZH7.js.map +0 -1
- package/dist/chunk-TSQ7AKFT.cjs.map +0 -1
package/dist/formajs.global.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var FormaJS=(()=>{var Ce=Object.defineProperty;var In=Object.getOwnPropertyDescriptor;var On=Object.getOwnPropertyNames;var Fn=Object.prototype.hasOwnProperty;var Bn=(e,t)=>{for(var n in t)Ce(e,n,{get:t[n],enumerable:!0})},Kn=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of On(t))!Fn.call(e,r)&&r!==n&&Ce(e,r,{get:()=>t[r],enumerable:!(o=In(t,r))||o.enumerable});return e};var jn=e=>Kn(Ce({},"__esModule",{value:!0}),e);var Ho={};Bn(Ho,{$:()=>vt,$$:()=>wt,$$serverFunction:()=>en,Fragment:()=>he,activateIslands:()=>rt,addClass:()=>bt,applyRevalidation:()=>Se,batch:()=>H,children:()=>_t,cleanup:()=>qe,closest:()=>Lt,createAction:()=>Jt,createBus:()=>Tt,createComputed:()=>X,createContext:()=>ft,createEffect:()=>Y,createErrorBoundary:()=>nt,createFetch:()=>Ut,createHistory:()=>yt,createIndexedDB:()=>$t,createList:()=>Q,createLocalStorage:()=>Kt,createMemo:()=>Fe,createPortal:()=>tt,createRPCMiddleware:()=>rn,createReducer:()=>je,createRef:()=>Ke,createResource:()=>Ve,createRoot:()=>D,createSSE:()=>Gt,createSessionStorage:()=>jt,createShow:()=>ee,createSignal:()=>R,createStore:()=>gt,createSuspense:()=>ot,createSwitch:()=>et,createText:()=>Ze,createWebSocket:()=>zt,defineComponent:()=>at,delegate:()=>St,disposeComponent:()=>ct,enableAutoRevalidation:()=>Zt,fetchJSON:()=>Wt,fragment:()=>Xe,getRegisteredEndpoints:()=>on,getServerFunction:()=>nn,h:()=>oe,handleRPC:()=>ve,hydrateIsland:()=>K,inject:()=>dt,longestIncreasingSubsequence:()=>Z,mount:()=>Qe,nextSibling:()=>Pt,on:()=>Be,onCleanup:()=>_e,onError:()=>Pe,onIntersect:()=>Ft,onKey:()=>xt,onMount:()=>it,onMutation:()=>Bt,onResize:()=>Ot,onUnmount:()=>st,parent:()=>Ht,persist:()=>ht,prevSibling:()=>It,provide:()=>ut,reconcileList:()=>U,registerResource:()=>Yt,registerServerFunction:()=>tn,removeClass:()=>Ct,renderIsland:()=>Pn,renderLocal:()=>Hn,setAttr:()=>kt,setHTML:()=>At,setHTMLUnsafe:()=>Nt,setStyle:()=>Rt,setText:()=>Mt,siblings:()=>Dt,toggleClass:()=>Et,trackDisposer:()=>lt,unprovide:()=>pt,unregisterResource:()=>Xt,untrack:()=>N,withRevalidation:()=>Qt});var Vn=(e=>(e[e.Computed=1]="Computed",e[e.Effect=2]="Effect",e[e.Tracking=4]="Tracking",e[e.Notified=8]="Notified",e[e.Recursed=16]="Recursed",e[e.Dirty=32]="Dirty",e[e.PendingComputed=64]="PendingComputed",e[e.PendingEffect=128]="PendingEffect",e[e.Propagated=224]="Propagated",e))(Vn||{});function $n({updateComputed:e,notifyEffect:t}){let n=[],o=0,r=0;return{link:i,propagate:a,updateDirtyFlag:m,startTracking:c,endTracking:f,processEffectNotifications:T,processComputedUpdate:u,processPendingInnerEffects:g};function i(d,p){let s=p.depsTail;if(s!==void 0&&s.dep===d)return;let l=s!==void 0?s.nextDep:p.deps;if(l!==void 0&&l.dep===d){p.depsTail=l;return}let y=d.subsTail;if(!(y!==void 0&&y.sub===p&&C(y,p)))return h(d,p,l,s)}function a(d){let p=d.nextSub,s,l=0,y=32;e:do{let v=d.sub,w=v.flags,k=!1;if(w&244?w&16&&!(w&4)?(v.flags=w&-17|y|8,k=!0):!(w&224)&&C(d,v)&&(v.flags=w|16|y|8,k=v.subs!==void 0):(v.flags=w|y|8,k=!0),k){let A=v.subs;if(A!==void 0){d=A,A.nextSub!==void 0?(s={target:p,linked:s},++l,p=d.nextSub,y=64):y=w&2?128:64;continue}w&2&&(n[r++]=v)}else w&(4|y)?!(w&y)&&w&224&&C(d,v)&&(v.flags=w|y):(v.flags=w|y|8,(w&10)===2&&(n[r++]=v));if((d=p)!==void 0){p=d.nextSub,y=l?64:32;continue}for(;l--;)if(d=s.target,s=s.linked,d!==void 0){p=d.nextSub,y=l?64:32;continue e}break}while(!0)}function c(d){d.depsTail=void 0,d.flags=d.flags&-249|4}function f(d){let p=d.depsTail;if(p!==void 0){let s=p.nextDep;s!==void 0&&(x(s),p.nextDep=void 0)}else d.deps!==void 0&&(x(d.deps),d.deps=void 0);d.flags&=-5}function m(d,p){return S(d.deps)?(d.flags=p|32,!0):(d.flags=p&-65,!1)}function u(d,p){if(p&32||S(d.deps)){if(e(d)){let s=d.subs;s!==void 0&&b(s)}}else d.flags=p&-65}function g(d,p){if(p&128){d.flags=p&-129;let s=d.deps;do{let l=s.dep;"flags"in l&&l.flags&2&&l.flags&224&&t(l),s=s.nextDep}while(s!==void 0)}}function T(){for(;o<r;){let d=n[o];n[o++]=void 0,t(d)||(d.flags&=-9)}o=0,r=0}function h(d,p,s,l){let y={dep:d,sub:p,nextDep:s,prevSub:void 0,nextSub:void 0};if(l===void 0?p.deps=y:l.nextDep=y,d.subs===void 0)d.subs=y;else{let v=d.subsTail;y.prevSub=v,v.nextSub=y}return p.depsTail=y,d.subsTail=y,y}function S(d){let p,s=0,l;e:do{l=!1;let y=d.dep;if(d.sub.flags&32)l=!0;else if("flags"in y){let v=y.flags;if((v&33)===33){if(e(y)){let w=y.subs;w.nextSub!==void 0&&b(w),l=!0}}else if((v&65)===65){(d.nextSub!==void 0||d.prevSub!==void 0)&&(p={target:d,linked:p}),d=y.deps,++s;continue}}if(!l&&d.nextDep!==void 0){d=d.nextDep;continue}for(;s;){--s;let v=d.sub,w=v.subs;if(l){if(e(v)){w.nextSub!==void 0?(d=p.target,p=p.linked,b(w)):d=w;continue}}else v.flags&=-65;if(w.nextSub!==void 0?(d=p.target,p=p.linked):d=w,d.nextDep!==void 0){d=d.nextDep;continue e}l=!1}return l}while(!0)}function b(d){do{let p=d.sub,s=p.flags;(s&96)===64&&(p.flags=s|32|8,(s&10)===2&&(n[r++]=p)),d=d.nextSub}while(d!==void 0)}function C(d,p){let s=p.depsTail;if(s!==void 0){let l=p.deps;do{if(l===d)return!0;if(l===s)break;l=l.nextDep}while(l!==void 0)}return!1}function x(d){do{let p=d.dep,s=d.nextDep,l=d.nextSub,y=d.prevSub;if(l!==void 0?l.prevSub=y:p.subsTail=y,y!==void 0?y.nextSub=l:p.subs=l,p.subs===void 0&&"deps"in p){let v=p.flags;v&32||(p.flags=v|32);let w=p.deps;if(w!==void 0){d=w,p.depsTail.nextDep=s,p.deps=void 0,p.depsTail=void 0;continue}}d=s}while(d!==void 0)}}var{link:q,propagate:Un,updateDirtyFlag:Wn,startTracking:Ee,endTracking:Re,processEffectNotifications:sn,processComputedUpdate:Gn,processPendingInnerEffects:an}=$n({updateComputed(e){let t=L;L=e,Ee(e);try{let n=e.currentValue,o=e.getter(n);return n!==o?(e.currentValue=o,!0):!1}finally{L=t,Re(e)}},notifyEffect(e){return"isScope"in e?Jn(e):zn(e)}}),cn=[],ke=0,L,le;function ln(){++ke}function fn(){--ke||sn()}function fe(){cn.push(L),L=void 0}function ue(){L=cn.pop()}function un(e){return Yn.bind({currentValue:e,subs:void 0,subsTail:void 0})}function dn(e){return qn.bind({currentValue:void 0,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:33,getter:e})}function Me(e){let t={fn:e,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:2};L!==void 0?q(t,L):le!==void 0&&q(t,le);let n=L;L=t;try{t.fn()}finally{L=n}return Xn.bind(t)}function zn(e){let t=e.flags;if(t&32||t&64&&Wn(e,t)){let n=L;L=e,Ee(e);try{e.fn()}finally{L=n,Re(e)}}else an(e,e.flags);return!0}function Jn(e){return e.flags&128?(an(e,e.flags),!0):!1}function qn(){let e=this.flags;return e&96&&Gn(this,e),L!==void 0?q(this,L):le!==void 0&&q(this,le),this.currentValue}function Yn(...e){if(e.length){if(this.currentValue!==(this.currentValue=e[0])){let t=this.subs;t!==void 0&&(Un(t),ke||sn())}}else return L!==void 0&&q(this,L),this.currentValue}function Xn(){Ee(this),Re(this)}function Zn(e,t){if(typeof t!="function"){e(t);return}fe();let n=e();ue(),e(t(n))}function R(e){let t=un(e);return[t,r=>Zn(t,r)]}var I=R;var V=null,de=[];function D(e){let t={disposers:[]};de.push(V),V=t;let n=()=>{for(let o of t.disposers)try{o()}catch{}t.disposers.length=0};try{return e(n)}finally{V=de.pop()??null,de.length===0&&(de.length=0)}}function Ae(e){V&&V.disposers.push(e)}function Ne(){return V!==null}var Le=null;function _e(e){Le?.(e)}function De(e){let t=Le;return Le=e,t}var _=typeof process<"u"?process.env?.NODE_ENV!=="production":!0,He=null;function Pe(e){He=e}function $(e,t){if(He)try{He(e,t?{source:t}:{})}catch{}_&&console.error(`[forma] ${t??"Unknown"} error:`,e)}var Ie=32,pn=100,Oe=[];for(let e=0;e<Ie;e++)Oe.push([]);var pe=Ie;function Qn(){if(pe>0){let e=Oe[--pe];return e.length=0,e}return[]}function mn(e){e.length=0,pe<Ie&&(Oe[pe++]=e)}function gn(e){if(e!==void 0)try{e()}catch(t){$(t,"effect cleanup")}}function yn(e){if(e!==void 0)for(let t=0;t<e.length;t++)try{e[t]()}catch(n){$(n,"effect cleanup")}}function E(e){let t=Me(e);return Ne()&&Ae(t),t}function Y(e){let t=Ne(),n,o,r,i,a=C=>{if(i!==void 0){i.push(C);return}if(r!==void 0){let x=Qn();x.push(r,C),r=void 0,i=x;return}r=C},c=!1,f=!0,m=!1,u=!1,g=()=>{if(n!==void 0&&(gn(n),n=void 0),o!==void 0&&(yn(o),mn(o),o=void 0),c){try{e()}catch(x){$(x,"effect")}return}r=void 0,i=void 0;let C=De(a);try{let x=e();if(typeof x=="function"&&a(x),r===void 0&&i===void 0){f&&(c=!0);return}i!==void 0?o=i:n=r}catch(x){$(x,"effect"),i!==void 0?o=i:n=r}finally{De(C),f=!1}},h=Me(()=>{if(m){u=!0;return}m=!0;try{let C=0;do u=!1,g(),u&&(C++,C>=pn&&($(new Error(`createEffect exceeded ${pn} re-entrant runs`),"effect"),u=!1));while(u)}finally{m=!1}}),S=!1,b=()=>{S||(S=!0,h(),n!==void 0&&(gn(n),n=void 0),o!==void 0&&(yn(o),mn(o),o=void 0))};return t&&Ae(b),b}function X(e){return dn(e)}var Fe=X;function H(e){ln();try{e()}finally{fn()}}function N(e){fe();try{return e()}finally{ue()}}function Be(e,t,n){let o,r=!0;return()=>{let i=e();if(n?.defer&&r){r=!1,o=i;return}let a=N(()=>t(i,o));return o=i,a}}function Ke(e){return{current:e}}function je(e,t){let[n,o]=R(t);return[n,i=>{o(a=>e(a,i))}]}var me=null,hn=[];function Tn(e){hn.push(me),me=e}function Sn(){me=hn.pop()??null}function xn(){return me}function Ve(e,t,n){let[o,r]=R(n?.initialValue),[i,a]=I(!1),[c,f]=I(void 0),m=xn(),u=null,g=0,T=()=>{let S=N(e);u&&u.abort();let b=new AbortController;u=b;let C=++g,x=()=>C===g,d=!1;m&&(m.increment(),d=!0),a(!0),f(void 0),Promise.resolve(t(S)).then(p=>{x()&&!b.signal.aborted&&r(()=>p)}).catch(p=>{x()&&!b.signal.aborted&&p?.name!=="AbortError"&&f(p)}).finally(()=>{d&&m?.decrement(),x()&&(a(!1),u===b&&(u=null))})};E(()=>{e(),T()});let h=(()=>o());return h.loading=i,h.error=c,h.refetch=T,h.mutate=S=>r(()=>S),h}function Z(e){let t=e.length;if(t===0)return[];let n=new Int32Array(t),o=new Int32Array(t),r=new Int32Array(t).fill(-1),i=0;for(let f=0;f<t;f++){let m=e[f],u=0,g=i;for(;u<g;){let T=u+g>>1;n[T]<m?u=T+1:g=T}n[u]=m,o[u]=f,u>0&&(r[f]=o[u-1]),u>=i&&i++}let a=new Array(i),c=o[i-1];for(let f=i-1;f>=0;f--)a[f]=c,c=r[c];return a}var eo=32,$e=Symbol.for("forma-abort"),Ue=Symbol.for("forma-attr-cache"),We=Symbol.for("forma-dynamic-child");function to(e,t){return e instanceof HTMLElement&&t instanceof HTMLElement&&e.tagName===t.tagName&&!e[$e]&&!e[Ue]&&!e[We]&&!t[$e]&&!t[Ue]&&!t[We]}function no(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 oo(e,t,n,o,r,i,a,c,f){let m=t.length,u=n.length,g=new Array(m);for(let s=0;s<m;s++)g[s]=r(t[s]);let T=new Array(u),h=new Uint8Array(m);for(let s=0;s<u;s++){let l=r(n[s]),y=-1;for(let v=0;v<m;v++)if(!h[v]&&g[v]===l){y=v,h[v]=1;break}T[s]=y}for(let s=0;s<m;s++)if(!h[s])if(f?.onBeforeRemove){let l=o[s];f.onBeforeRemove(l,()=>{l.parentNode&&l.parentNode.removeChild(l)})}else e.removeChild(o[s]);if(m===u){let s=!0;for(let l=0;l<u;l++)if(T[l]!==l){s=!1;break}if(s){let l=new Array(u);for(let y=0;y<u;y++){let v=o[y];a(v,n[y]),l[y]=v}return{nodes:l,items:n}}}let S=[],b=[];for(let s=0;s<u;s++)T[s]!==-1&&(S.push(T[s]),b.push(s));let C=Z(S),x=new Uint8Array(u);for(let s of C)x[b[s]]=1;let d=new Array(u),p=c??null;for(let s=u-1;s>=0;s--){let l,y=!1;if(T[s]===-1)l=i(n[s]),y=!0;else if(l=o[T[s]],a(l,n[s]),x[s]){d[s]=l,p=l;continue}p?e.insertBefore(l,p):e.appendChild(l),y&&f?.onInsert?.(l),d[s]=l,p=l}return{nodes:d,items:n}}function U(e,t,n,o,r,i,a,c,f){let m=t.length,u=n.length;if(u===0){for(let s=0;s<m;s++)if(f?.onBeforeRemove){let l=o[s];f.onBeforeRemove(l,()=>{l.parentNode&&l.parentNode.removeChild(l)})}else e.removeChild(o[s]);return{nodes:[],items:[]}}if(m===0){let s=new Array(u);for(let l=0;l<u;l++){let y=i(n[l]);c?e.insertBefore(y,c):e.appendChild(y),f?.onInsert?.(y),s[l]=y}return{nodes:s,items:n}}if(m<eo)return oo(e,t,n,o,r,i,a,c,f);let g=new Map;for(let s=0;s<m;s++)g.set(r(t[s]),s);let T=new Array(u),h=new Uint8Array(m);for(let s=0;s<u;s++){let l=r(n[s]),y=g.get(l);y!==void 0?(T[s]=y,h[y]=1):T[s]=-1}for(let s=0;s<m;s++)if(!h[s])if(f?.onBeforeRemove){let l=o[s];f.onBeforeRemove(l,()=>{l.parentNode&&l.parentNode.removeChild(l)})}else e.removeChild(o[s]);if(m===u){let s=!0;for(let l=0;l<u;l++)if(T[l]!==l){s=!1;break}if(s){let l=new Array(u);for(let y=0;y<u;y++){let v=o[y];a(v,n[y]),l[y]=v}return{nodes:l,items:n}}}let S=[],b=[];for(let s=0;s<u;s++)T[s]!==-1&&(S.push(T[s]),b.push(s));let C=Z(S),x=new Uint8Array(u);for(let s of C)x[b[s]]=1;let d=new Array(u),p=c??null;for(let s=u-1;s>=0;s--){let l,y=!1;if(T[s]===-1)l=i(n[s]),y=!0;else if(l=o[T[s]],a(l,n[s]),x[s]){d[s]=l,p=l;continue}p?e.insertBefore(l,p):e.appendChild(l),y&&f?.onInsert?.(l),d[s]=l,p=l}return{nodes:d,items:n}}function Q(e,t,n,o){if(M)return{type:"list",items:e,keyFn:t,renderFn:n,options:o};let r=document.createComment("forma-list-start"),i=document.createComment("forma-list-end"),a=document.createDocumentFragment();a.appendChild(r),a.appendChild(i);let c=new Map,f=[],m=[],u=o?.updateOnItemChange??"none";return E(()=>{let g=e(),T=r.parentNode;if(!T)return;if(!Array.isArray(g)){_&&console.warn("[forma] createList: value is not an array, treating as empty");for(let x of f)x.parentNode===T&&T.removeChild(x);c=new Map,f=[],m=[];return}let h=g;for(let x=0;x<g.length;x++)if(g[x]==null){h=g.filter(d=>d!=null);break}if(_){let x=new Set;for(let d of h){let p=t(d);x.has(p)&&console.warn("[forma] createList: duplicate key detected:",p),x.add(p)}}let b=U(T,m,h,f,t,x=>{let d=t(x),[p,s]=R(0),l=N(()=>n(x,p));return c.set(d,{element:l,item:x,getIndex:p,setIndex:s}),l},u==="rerender"?(x,d)=>{let p=t(d),s=c.get(p);if(!s||s.item===d||(s.item=d,!(x instanceof HTMLElement))||x[$e]||x[Ue]||x[We])return;let l=N(()=>n(d,s.getIndex));to(x,l)&&(no(x,l),s.element=x)}:(x,d)=>{let p=t(d),s=c.get(p);s&&(s.item=d)},i),C=new Map;for(let x=0;x<h.length;x++){let d=t(h[x]),p=c.get(d);p&&(p.setIndex(x),C.set(d,p))}c=C,f=b.nodes,m=b.items}),a}function ee(e,t,n){if(M){let u=e()?t():n?.()??null;return{type:"show",condition:e,whenTrue:t,whenFalse:n,initialBranch:u}}let o=document.createComment("forma-show"),r=document.createComment("/forma-show"),i=document.createDocumentFragment();i.appendChild(o),i.appendChild(r);let a=null,c=null,f=null,m=E(()=>{let u=!!e(),g=typeof globalThis.__FORMA_DEBUG__<"u",T=g?t.toString().slice(0,60):"";if(u===c){g&&console.log("[forma:show] skip (same)",u,T);return}g&&console.log("[forma:show]",c,"\u2192",u,T),c=u;let h=o.parentNode;if(!h){g&&console.warn("[forma:show] parentNode is null! skipping.",T);return}if(g&&console.log("[forma:show] parent:",h.nodeName,"inDoc:",document.contains(h)),f&&(f(),f=null),a)if(a.parentNode===h)h.removeChild(a);else for(;o.nextSibling&&o.nextSibling!==r;)h.removeChild(o.nextSibling);let S=u?t:n;if(S){let b;a=D(C=>(b=C,N(()=>S()))),f=b}else a=null;a&&h.insertBefore(a,r)});return i.__showDispose=()=>{m(),f&&(f(),f=null)},i}var M=!1;function vn(e){M=e}function z(e){return e!=null&&typeof e=="object"&&"type"in e&&e.type==="element"}function ge(e){return e!=null&&typeof e=="object"&&"type"in e&&e.type==="show"}function ze(e){return e!=null&&typeof e=="object"&&"type"in e&&e.type==="list"}function ro(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){e.addEventListener(n.slice(2).toLowerCase(),o);continue}let r=o,i=n;E(()=>{let a=r();a===!1||a==null?e.removeAttribute(i):a===!0?e.setAttribute(i,""):e.setAttribute(i,String(a))})}}function te(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(z(e))return G(e);if(ge(e)){let t=M;M=!1;try{return ee(e.condition,()=>te(e.whenTrue())??document.createComment("empty"),e.whenFalse?()=>te(e.whenFalse())??document.createComment("empty"):void 0)}finally{M=t}}if(ze(e)){let t=M;M=!1;try{return Q(e.items,e.keyFn,e.renderFn,e.options)}finally{M=t}}return null}function G(e){let t=M;M=!1;try{let n=e.children.map(o=>z(o)?G(o):ge(o)||ze(o)?te(o):o);return oe(e.tag,e.props,...n)}finally{M=t}}function io(e){return e.length>=4&&e.charCodeAt(0)===102&&e.charCodeAt(1)===58&&e.charCodeAt(2)===105}function Ge(e){return e.length>=4&&e.charCodeAt(0)===102&&e.charCodeAt(1)===58&&e.charCodeAt(2)===115}function so(e){return e.length>=4&&e.charCodeAt(0)===102&&e.charCodeAt(1)===58&&e.charCodeAt(2)===116}function ao(e){return e.length>=4&&e.charCodeAt(0)===102&&e.charCodeAt(1)===58&&e.charCodeAt(2)===108}function W(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 co(e,t){let n=e.nextSibling;for(;n&&n!==t;){if(n.nodeType===3)return n;n=n.nextSibling}return null}function lo(e,t){let n=e.nextSibling;for(;n&&n!==t;){if(n.nodeType===1)return n;n=n.nextSibling}}function fo(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 wn(e,t){let n=!!e.condition(),o=null,r=null;if(!(t.start.nextSibling!==t.end)&&n){_&&console.warn("[forma] Hydration: show condition mismatch \u2014 SSR empty but client condition is true");let a=e.whenTrue();a instanceof Node&&t.start.parentNode.insertBefore(a,t.end)}E(()=>{let a=!!e.condition();if(a===n)return;n=a;let c=t.start.parentNode;if(!c)return;let f=fo(t.start,t.end);a?r=f:o=f;let m=a?o??e.whenTrue():e.whenFalse?r??e.whenFalse():null;a&&o&&(o=null),!a&&r&&(r=null),m!=null&&!(m instanceof Node)&&(m=te(m)),m instanceof Node&&c.insertBefore(m,t.end)})}function bn(e,t,n){if(z(e)){let o=lo(t,n);o&&ne(e,o)}else if(ge(e)){let o=t.nextSibling;for(;o&&o!==n;){if(o.nodeType===8&&Ge(o.data)){let r=o,i=W(r);i&&(e.initialBranch&&bn(e.initialBranch,r,i),wn(e,{start:r,end:i,cachedContent:null}));break}o=o.nextSibling}}}function ne(e,t){if(!t||t.tagName!==e.tag.toUpperCase()){_&&console.warn(`Hydration mismatch: expected <${e.tag}>, got <${t?.tagName?.toLowerCase()??"nothing"}>`);let o=G(e);t&&t.replaceWith(o);return}ro(t,e.props);let n=t.firstChild;for(let o of e.children)if(!(o===!1||o==null))if(z(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(G(o));continue}if(n.nodeType===1){let r=n;n=n.nextSibling,ne(o,r)}else if(n.nodeType===8&&io(n.data)){let r=W(n),i=G(o);r?(r.parentNode.insertBefore(i,r),n=r.nextSibling):(t.appendChild(i),n=null)}else t.appendChild(G(o))}else if(ge(o)){for(;n&&!(n.nodeType===8&&Ge(n.data));)n=n.nextSibling;if(n){let r=n,i=W(r);i&&(o.initialBranch&&bn(o.initialBranch,r,i),wn(o,{start:r,end:i,cachedContent:null}),n=i.nextSibling)}}else if(ze(o)){for(;n&&!(n.nodeType===8&&ao(n.data));)n=n.nextSibling;if(n){let r=n,i=W(r);if(i){let a=new Map,c=[],f=r.nextSibling;for(;f&&f!==i;){if(f.nodeType===1){let s=f;c.push(s);let l=s.getAttribute("data-forma-key");l!=null&&a.set(l,s)}f=f.nextSibling}let m=N(()=>o.items()),u=o.keyFn,g=o.renderFn,T=a.size===0&&c.length>0,h=[],S=[],b=new Set;for(let s=0;s<m.length;s++){let l=m[s],y=u(l),v;if(T?s<c.length&&(v=c[s],b.add(s)):(v=a.get(String(y)),v&&a.delete(String(y))),v)h.push(v),S.push(l);else{_&&console.warn(`[FormaJS] Hydration: list item key "${y}" not found in SSR \u2014 rendering fresh`);let w=M;M=!1;try{let[k]=R(s),A=g(l,k);i.parentNode.insertBefore(A,i),h.push(A),S.push(l)}finally{M=w}}}if(T)for(let s=0;s<c.length;s++)!b.has(s)&&c[s].parentNode&&c[s].parentNode.removeChild(c[s]);else for(let[s,l]of a)_&&console.warn(`[FormaJS] Hydration: removing extra SSR list item with key "${s}"`),l.parentNode&&l.parentNode.removeChild(l);let C=r.parentNode;for(let s of h)C.insertBefore(s,i);let x=new Map;for(let s=0;s<S.length;s++){let l=S[s],y=u(l),[v,w]=R(s);x.set(y,{element:h[s],item:l,getIndex:v,setIndex:w})}let d=h.slice(),p=S.slice();E(()=>{let s=o.items(),l=r.parentNode;if(!l)return;let y=U(l,p,s,d,u,w=>{let k=M;M=!1;try{let A=u(w),[P,be]=R(0),ce=N(()=>g(w,P));return x.set(A,{element:ce,item:w,getIndex:P,setIndex:be}),ce}finally{M=k}},(w,k)=>{let A=u(k),P=x.get(A);P&&(P.item=k)},i),v=new Map;for(let w=0;w<s.length;w++){let k=u(s[w]),A=x.get(k);A&&(A.setIndex(w),v.set(k,A))}x=v,d=y.nodes,p=y.items}),n=i.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(z(r)){let i=n;n=n.nextSibling,ne(r,i);continue}}if(n&&n.nodeType===8){let r=n.data;if(so(r)){let i=W(n),a=n.nextSibling;if(!a||a.nodeType!==3){_&&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,i||n.nextSibling),a=c}E(()=>{a.data=String(o())}),n=i?i.nextSibling:a.nextSibling}else if(Ge(r)){let i=n,a=W(i);if(a){let c=co(i,a);c||(_&&console.warn(`[FormaJS] Hydration: created text node for show marker ${i.data} \u2014 SSR walker should emit content between markers`),c=document.createTextNode(""),i.parentNode.insertBefore(c,a)),E(()=>{c.data=String(o())}),n=a.nextSibling}else n=n.nextSibling}else n=n.nextSibling}else if(n&&n.nodeType===3){let r=n;n=n.nextSibling,E(()=>{r.data=String(o())})}else{_&&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),E(()=>{r.data=String(o())})}}else(typeof o=="string"||typeof o=="number")&&n&&n.nodeType===3&&(n=n.nextSibling)}function K(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(_){let i=t.getAttribute("data-forma-component")||"unknown";console.warn(`[forma] Island "${i}" 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 i of Array.from(t.attributes))i.name.startsWith("data-forma-")&&r.setAttribute(i.name,i.value);return t.replaceWith(r),r}else r instanceof Node&&t.appendChild(r);return t}vn(!0);let o;try{o=e()}finally{vn(!1)}return!o||!z(o)?(t.removeAttribute("data-forma-ssr"),t):(t.hasAttribute("data-forma-island")?ne(o,t):ne(o,t.children[0]),t.removeAttribute("data-forma-ssr"),t)}var he=Symbol.for("forma.fragment"),uo="http://www.w3.org/2000/svg",re="http://www.w3.org/1999/xlink",po=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"]),En=new Set(["disabled","checked","readonly","required","autofocus","autoplay","controls","default","defer","formnovalidate","hidden","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","reversed","selected","async"]),B=null;function mo(e){if(!B){B=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"])B[t]=document.createElement(t)}return B[e]??(B[e]=document.createElement(e))}var Cn=Object.create(null);function go(e){return Cn[e]??(Cn[e]=e.slice(2).toLowerCase())}var ye=Symbol.for("forma-abort");function yo(e){let t=e[ye];return t||(t=new AbortController,e[ye]=t),t}function qe(e){let t=e[ye];t&&(t.abort(),delete e[ye])}var Je=Symbol.for("forma-attr-cache"),ho=Symbol.for("forma-dynamic-child");function O(e){return e[Je]??(e[Je]=Object.create(null))}function Ye(e,t,n){if(typeof n=="function")E(()=>{let o=n(),r=O(e);r.class!==o&&(r.class=o,e instanceof HTMLElement?e.className=o:e.setAttribute("class",o))});else{let o=O(e);if(o.class===n)return;o.class=n,e instanceof HTMLElement?e.className=n:e.setAttribute("class",n)}}function To(e,t,n){if(typeof n=="function"){let o=[];E(()=>{let r=n();if(typeof r=="string"){let i=O(e);if(i.style===r)return;i.style=r,o=[],e.style.cssText=r}else if(r&&typeof r=="object"){let i=e.style,a=Object.keys(r);for(let c of o)c in r||i.removeProperty(c.replace(/[A-Z]/g,f=>"-"+f.toLowerCase()));Object.assign(i,r),o=a}})}else if(typeof n=="string"){let o=O(e);if(o.style===n)return;o.style=n,e.style.cssText=n}else n&&typeof n=="object"&&Object.assign(e.style,n)}function Rn(e,t,n){let o=yo(e);e.addEventListener(go(t),n,{signal:o.signal})}function So(e,t,n){if(typeof n=="function")E(()=>{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 i=O(e);i.innerHTML!==r&&(i.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 xo(e,t,n){let o=t.slice(6);typeof n=="function"?E(()=>{let r=n();r==null||r===!1?e.removeAttributeNS(re,o):e.setAttributeNS(re,t,String(r))}):n==null||n===!1?e.removeAttributeNS(re,o):e.setAttributeNS(re,t,String(n))}function vo(e,t,n){if(typeof n=="function")E(()=>{let o=n(),r=O(e);r[t]!==o&&(r[t]=o,o?e.setAttribute(t,""):e.removeAttribute(t))});else{let o=O(e);if(o[t]===n)return;o[t]=n,n?e.setAttribute(t,""):e.removeAttribute(t)}}function wo(e,t,n){if(typeof n=="function")E(()=>{let o=n();if(o==null||o===!1){let r=O(e);if(r[t]===null)return;r[t]=null,e.removeAttribute(t)}else{let r=String(o),i=O(e);if(i[t]===r)return;i[t]=r,e.setAttribute(t,r)}});else if(n==null||n===!1){let o=O(e);if(o[t]===null)return;o[t]=null,e.removeAttribute(t)}else{let o=String(n),r=O(e);if(r[t]===o)return;r[t]=o,e.setAttribute(t,o)}}var j=new Map;j.set("class",Ye);j.set("className",Ye);j.set("style",To);j.set("ref",()=>{});j.set("dangerouslySetInnerHTML",So);for(let e of En)j.set(e,vo);function bo(e,t,n){if(t==="class"){Ye(e,t,n);return}if(t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&t.length>2){Rn(e,t,n);return}let o=j.get(t);if(o){o(e,t,n);return}if(t.charCodeAt(0)===120&&t.startsWith("xlink:")){xo(e,t,n);return}wo(e,t,n)}function Co(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(re,t,String(n));return}if(En.has(t)){n&&e.setAttribute(t,"");return}n===!0?e.setAttribute(t,""):e.setAttribute(t,String(n))}}function ie(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[ho]=!0);let n=null;E(()=>{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 i=new Text(r);e.replaceChild(i,n),n=i}}});return}if(Array.isArray(t)){for(let n of t)ie(e,n);return}}}function oe(e,t,...n){if(e===he){let a=document.createDocumentFragment();for(let c of n)ie(a,c);return a}let o=e;if(M)return{type:"element",tag:o,props:t??null,children:n};let r;if(B&&B[o]?r=B[o].cloneNode(!1):po.has(o)?r=document.createElementNS(uo,o):r=mo(o).cloneNode(!1),t){let a=!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){Rn(r,c,f);continue}if(typeof f=="function"){a||(r[Je]=Object.create(null),a=!0),bo(r,c,f);continue}Co(r,c,f)}}let i=n.length;if(i===1){let a=n[0];typeof a=="string"?r.textContent=a:typeof a=="number"?r.textContent=String(a):ie(r,a)}else if(i>1)for(let a of n)ie(r,a);return t&&typeof t.ref=="function"&&t.ref(r),r}function Xe(...e){let t=document.createDocumentFragment();for(let n of e)ie(t,n);return t}function Ze(e){if(typeof e=="function"){let t=new Text("");return E(()=>{t.data=e()}),t}return new Text(e)}function Qe(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"))D(i=>{o=i,K(e,n)});else{let i=D(a=>(o=a,e()));n.innerHTML="",n.appendChild(i)}let r=!1;return()=>{r||(r=!0,o(),n.innerHTML="")}}function et(e,t,n){let o=document.createComment("forma-switch"),r=document.createComment("/forma-switch"),i=document.createDocumentFragment();i.appendChild(o),i.appendChild(r);let a=new Map,c=null,f=Eo,m=E(()=>{let u=e();if(u===f)return;let g=typeof globalThis.__FORMA_DEBUG__<"u";g&&console.log("[forma:switch] transition",String(f),"\u2192",String(u)),f=u;let T=o.parentNode;if(!T){g&&console.warn("[forma:switch] markers not in DOM yet, skipping");return}if(c)if(c.parentNode===T)g&&console.log("[forma:switch] removing single node"),T.removeChild(c);else if(c.nodeType===11){g&&console.log("[forma:switch] scooping nodes back into fragment");let S=0;for(;o.nextSibling&&o.nextSibling!==r;)c.appendChild(o.nextSibling),S++;g&&console.log("[forma:switch] scooped",S,"nodes back into fragment")}else for(g&&console.log("[forma:switch] clearing detached node between markers");o.nextSibling&&o.nextSibling!==r;)T.removeChild(o.nextSibling);let h=t.find(S=>S.match===u);if(h){let S=a.get(u);if(S)g&&console.log("[forma:switch] reusing cached branch for",String(u),"\u2192",S.node.nodeName,"type",S.node.nodeType,"childNodes",S.node.childNodes?.length);else{let b,C=D(x=>(b=x,N(()=>h.render())));S={node:C,dispose:b},a.set(u,S),g&&console.log("[forma:switch] rendered new branch for",String(u),"\u2192",C.nodeName,"type",C.nodeType)}c=S.node}else c=n?.()??null,g&&console.log("[forma:switch] no match, using fallback");c&&(T.insertBefore(c,r),g&&console.log("[forma:switch] inserted",c.nodeName,"before end marker"))});return i.__switchDispose=()=>{m();for(let u of a.values())u.dispose();a.clear()},i}var Eo=Symbol("unset");function tt(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,i=()=>{r&&r.parentNode===o&&o.removeChild(r),r=null};return Y(()=>{let a=e();return i(),r=a,o.appendChild(a),()=>{i()}}),n}function nt(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[i,a]=R(0),c=null;return E(()=>{i();let f=n.parentNode;if(f){c&&c.parentNode===f&&f.removeChild(c);try{c=e()}catch(m){let u=m instanceof Error?m:new Error(String(m));c=t(u,()=>a(T=>T+1))}c&&f.insertBefore(c,o)}}),r}function ot(e,t){let n=document.createComment("forma-suspense"),o=document.createComment("/forma-suspense"),r=document.createDocumentFragment();r.appendChild(n),r.appendChild(o);let[i,a]=R(0),c=null,f=null,m=null;Tn({increment(){a(g=>g+1)},decrement(){a(g=>Math.max(0,g-1))}});try{f=t()}finally{Sn()}return E(()=>{let g=n.parentNode;if(!g)return;let h=i()>0?m??=e():f;h!==c&&(c&&c.parentNode===g&&g.removeChild(c),h&&g.insertBefore(h,o),c=h)}),r}function Ro(e,t,n){let o=e.getAttribute("data-forma-props");return o?JSON.parse(o):n&&String(t)in n?n[String(t)]:null}function rt(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 i=parseInt(r.getAttribute("data-forma-island"),10),a=r.getAttribute("data-forma-component"),c=e[a];if(!c){_&&console.warn(`[forma] No hydrate function for island "${a}" (id=${i})`),r.setAttribute("data-forma-status","error");continue}let f=r.getAttribute("data-forma-hydrate")||"load";if((f==="interaction"||f==="idle")&&_&&console.warn(`[forma] Trigger "${f}" not yet implemented for island "${a}" (id=${i}), falling back to load`),f==="visible"){let m=new IntersectionObserver(u=>{for(let g of u)g.isIntersecting&&(m.disconnect(),kn(r,i,a,c,n))},{rootMargin:"200px"});m.observe(r)}else kn(r,i,a,c,n)}}function kn(e,t,n,o,r){try{let i=Ro(e,t,r);e.setAttribute("data-forma-status","hydrating");let a=e;D(c=>{a=K(()=>o(i),e),a.__formaDispose=c}),a.setAttribute("data-forma-status","active")}catch(i){_&&console.error(`[forma] Island "${n}" (id=${t}) failed:`,i),e.setAttribute("data-forma-status","error")}}var F=null,Mn=[];function ko(e){Mn.push(F),F=e}function Mo(){F=Mn.pop()??null}function it(e){if(F===null)throw new Error("onMount() must be called inside a component setup function");F.mountCallbacks.push(e)}function st(e){if(F===null)throw new Error("onUnmount() must be called inside a component setup function");F.unmountCallbacks.push(e)}var Te=Symbol("forma:component:dispose");function at(e){let t=typeof e=="function"?e:e.setup,n=typeof e=="function"?void 0:e.name;return function(){let r={disposers:[],mountCallbacks:[],unmountCallbacks:[]};ko(r);let i;try{i=t()}finally{Mo()}let a=()=>{for(let c of r.unmountCallbacks)try{c()}catch{}for(let c of r.disposers)try{c()}catch{}r.disposers.length=0,r.mountCallbacks.length=0,r.unmountCallbacks.length=0};i[Te]=a;for(let c of r.mountCallbacks)try{let f=c();typeof f=="function"&&r.unmountCallbacks.push(f)}catch{}return i}}function ct(e){let t=e;typeof t[Te]=="function"&&(t[Te](),delete t[Te])}function lt(e){F!==null&&F.disposers.push(e)}var se=new Map;function ft(e){return{id:Symbol("forma:context"),defaultValue:e}}function ut(e,t){let n=se.get(e.id);n===void 0&&(n=[],se.set(e.id,n)),n.push(t)}function dt(e){let t=se.get(e.id);return t===void 0||t.length===0?e.defaultValue:t[t.length-1]}function pt(e){let t=se.get(e.id);t!==void 0&&t.length>0&&(t.pop(),t.length===0&&se.delete(e.id))}var ae=Symbol("forma-raw"),Nn=Symbol("forma-proxy"),Ao=new Set(["push","pop","shift","unshift","splice","sort","reverse","fill","copyWithin"]);function An(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[Nn])}function mt(e){if(e==null||typeof e!="object")return e;if(Array.isArray(e))return e.map(mt);if(e instanceof Date)return new Date(e.getTime());let t={};for(let n of Object.keys(e))t[n]=mt(e[n]);return t}function gt(e){let t=new Map,n=new Map;function o(g){let T=g.lastIndexOf(".");if(T===-1)return;let h=g.substring(0,T),S=n.get(h);S||(S=new Set,n.set(h,S)),S.add(g)}function r(g,T){let h=t.get(g);return h||(h=R(T),t.set(g,h),o(g)),h}let i=new WeakMap;function a(g){let T=n.get(g);if(T){for(let h of T)a(h),t.delete(h),n.delete(h);T.clear()}}function c(g,T){if(!An(g))return g;let h=i.get(g);if(h)return h;let S=Array.isArray(g),b=T?T+".":"",C="",x,d=new Proxy(g,{get(p,s,l){if(s===ae)return p;if(s===Nn)return!0;if(typeof s=="symbol")return Reflect.get(p,s,l);let y=String(s),v=b+y;if(S&&Ao.has(y))return(...A)=>{let P;return H(()=>{let be=A.map(J=>J!=null&&typeof J=="object"&&J[ae]?J[ae]:J);P=p[y].apply(p,be),a(T);let[,ce]=r(b+"length",p.length);ce(p.length)}),P};if(S&&y==="length"){let[A]=r(v,p.length);return A(),p.length}let w=Reflect.get(p,s),k;return y===C&&x?k=x:(k=r(v,w),C=y,x=k),k[0](),An(w)?c(w,v):w},set(p,s,l){if(typeof s=="symbol")return Reflect.set(p,s,l);let y=String(s),v=b+y,w=l!=null&&typeof l=="object"&&l[ae]?l[ae]:l;if(Reflect.set(p,s,w),w!=null&&typeof w=="object"&&a(v),S&&y!=="length"){let A=b+"length",P=t.get(A);P&&P[1](p.length)}let[,k]=r(v,w);return k(w),!0},has(p,s){if(typeof s=="symbol")return Reflect.has(p,s);let l=String(s),y=b+l,[v]=r(y,Reflect.get(p,s));return v(),Reflect.has(p,s)},ownKeys(p){return Reflect.ownKeys(p)},getOwnPropertyDescriptor(p,s){return Object.getOwnPropertyDescriptor(p,s)},deleteProperty(p,s){if(typeof s=="symbol")return Reflect.deleteProperty(p,s);let l=String(s),y=b+l,v=Reflect.deleteProperty(p,s);a(y),t.delete(y);let w=T;if(w!==void 0){let k=n.get(w);k&&(k.delete(y),k.size===0&&n.delete(w))}return n.delete(y),v}});return i.set(g,d),d}let f=c(e,"");function m(){return N(()=>mt(e))}return[f,g=>{let T=typeof g=="function"?g(m()):g;H(()=>{for(let h of Object.keys(T))f[h]=T[h]})}]}function yt(e,t){let[n,o]=e,r=t?.maxLength??100,i=[n()],a=0,[c,f]=I([...i]),[m,u]=I(a),[g,T]=I(i.length);function h(){H(()=>{f([...i]),u(a),T(i.length)})}let S=!1,b=!0;return E(()=>{let l=n();if(b){b=!1;return}if(S){S=!1;return}i=i.slice(0,a+1),i.push(l),i.length>r&&i.splice(0,i.length-r),a=i.length-1,h()}),{undo:()=>{a<=0||(a--,S=!0,o(i[a]),h())},redo:()=>{a>=i.length-1||(a++,S=!0,o(i[a]),h())},canUndo:()=>m()>0,canRedo:()=>m()<g()-1,history:()=>c(),cursor:()=>m(),clear:()=>{i=[n()],a=0,h()}}}function ht(e,t,n){let[o,r]=e,i=n?.storage??globalThis.localStorage,a=n?.serialize??JSON.stringify,c=n?.deserialize??JSON.parse,f=n?.validate;try{let m=i.getItem(t);if(m!==null){let u=c(m);(!f||f(u))&&r(u)}}catch{}E(()=>{let m=o();try{let u=a(m);i.setItem(t,u)}catch{}})}function Tt(){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 m=t(c);return m.add(f),()=>{m.delete(f)}}function o(c,f){let m=u=>{i(c,m),f(u)};return n(c,m)}function r(c,f){let m=e.get(c);if(m)for(let u of[...m])try{u(f)}catch(g){console.error(`[forma] Bus handler error on "${String(c)}":`,g)}}function i(c,f){let m=e.get(c);m&&m.delete(f)}function a(){e.clear()}return{on:n,once:o,emit:r,off:i,clear:a}}function St(e,t,n,o,r){let i=a=>{let c=a.target;if(!(c instanceof HTMLElement))return;let f=e instanceof Document?e.documentElement:e,m=c.closest(t);m instanceof HTMLElement&&f.contains(m)&&o(a,m)};return e.addEventListener(n,i,r),()=>{e.removeEventListener(n,i,r)}}function No(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 Lo(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 xt(e,t,n){let o=n?.target??document,r=n?.preventDefault??!0,i=No(e),a=c=>{c instanceof KeyboardEvent&&Lo(c,i)&&(r&&c.preventDefault(),t(c))};return o.addEventListener("keydown",a),()=>{o.removeEventListener("keydown",a)}}function vt(e,t){return(t??document).querySelector(e)}function wt(e,t){return Array.from((t??document).querySelectorAll(e))}function bt(e,...t){e.classList.add(...t)}function Ct(e,...t){e.classList.remove(...t)}function Et(e,t,n){return e.classList.toggle(t,n)}function Rt(e,t){for(let[n,o]of Object.entries(t))o!==void 0&&(e.style[n]=o)}function kt(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 Mt(e,t){e.textContent=t}function At(e,t){e.innerHTML=t}function Nt(e,t){e.innerHTML=t}function Lt(e,t){return e.closest(t)}function _t(e,t){let n=Array.from(e.children);return t?n.filter(o=>o.matches(t)):n}function Dt(e,t){let n=e.parentElement;if(!n)return[];let r=Array.from(n.children).filter(i=>i!==e);return t?r.filter(i=>i.matches(t)):r}function Ht(e){return e.parentElement}function Pt(e,t){let n=e.nextElementSibling;for(;n;){if(n instanceof HTMLElement&&(!t||n.matches(t)))return n;n=n.nextElementSibling}return null}function It(e,t){let n=e.previousElementSibling;for(;n;){if(n instanceof HTMLElement&&(!t||n.matches(t)))return n;n=n.previousElementSibling}return null}function Ot(e,t){let n=new ResizeObserver(o=>{for(let r of o)t(r)});return n.observe(e),()=>{n.disconnect()}}function Ft(e,t,n){let o=new IntersectionObserver(r=>{for(let i of r)t(i)},n);return o.observe(e),()=>{o.disconnect()}}function Bt(e,t,n){let o=new MutationObserver(r=>{t(r)});return o.observe(e,n??{childList:!0,subtree:!0}),()=>{o.disconnect()}}function Kt(e,t){let n=t?.serialize??JSON.stringify,o=t?.deserialize??JSON.parse,r=t?.validate;return{key:e,get(){try{let i=localStorage.getItem(e);if(i===null)return null;let a=o(i);return r&&!r(a)?null:a}catch{return null}},set(i){try{let a=n(i);localStorage.setItem(e,a)}catch{}},remove(){localStorage.removeItem(e)}}}function jt(e,t){let n=t?.serialize??JSON.stringify,o=t?.deserialize??JSON.parse,r=t?.validate;return{key:e,get(){try{let i=sessionStorage.getItem(e);if(i===null)return null;let a=o(i);return r&&!r(a)?null:a}catch{return null}},set(i){try{let a=n(i);sessionStorage.setItem(e,a)}catch{}},remove(){sessionStorage.removeItem(e)}}}var Vt=new Map;function _o(e,t){let n=`${e}::${t}`,o=Vt.get(n);if(o)return o;let r=new Promise((i,a)=>{let c=indexedDB.open(e);c.onerror=()=>a(c.error),c.onsuccess=()=>{let f=c.result;if(f.objectStoreNames.contains(t)){i(f);return}let m=f.version+1;f.close();let u=indexedDB.open(e,m);u.onerror=()=>a(u.error),u.onupgradeneeded=()=>{let g=u.result;g.objectStoreNames.contains(t)||g.createObjectStore(t)},u.onsuccess=()=>i(u.result)},c.onupgradeneeded=()=>{let f=c.result;f.objectStoreNames.contains(t)||f.createObjectStore(t)}});return Vt.set(n,r),r.catch(()=>{Vt.delete(n)}),r}function $t(e,t="default"){function n(o,r){return _o(e,t).then(i=>new Promise((a,c)=>{let m=i.transaction(t,o).objectStore(t),u=r(m);u.onsuccess=()=>a(u.result),u.onerror=()=>c(u.error)}))}return{get(o){return n("readonly",r=>r.get(o))},set(o,r){return n("readwrite",i=>i.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 Ut(e,t){let[n,o]=R(null),[r,i]=R(null),[a,c]=R(!1),f=null;function m(){let g=typeof e=="function"?e():e,T=t?.base??"",h=new URL(g,T||void 0);if(t?.params)for(let[S,b]of Object.entries(t.params))h.searchParams.set(S,b);return h.toString()}async function u(){f&&f.abort(),f=new AbortController;let g=f,T=t?.timeout??3e4,h=setTimeout(()=>g.abort(),T);c(!0),i(null);try{let S=m(),{base:b,params:C,timeout:x,transform:d,...p}=t??{},s=await fetch(S,{...p,signal:g.signal});if(!s.ok)throw new Error(`HTTP ${s.status}: ${s.statusText}`);let l=await s.json(),y=d?d(l):l;o(y)}catch(S){if(S instanceof Error&&S.name==="AbortError")return;i(S instanceof Error?S:new Error(String(S)))}finally{clearTimeout(h),f===g&&(f=null,c(!1))}}return typeof e=="function"?E(()=>{e(),u()}):u(),{data:n,error:r,loading:a,refetch:u,abort(){f&&f.abort()}}}async function Wt(e,t){let n=await fetch(e,t);if(!n.ok)throw new Error(`HTTP ${n.status}: ${n.statusText}`);return await n.json()}function Gt(e,t){let[n,o]=R(null),[r,i]=R(null),[a,c]=R(!1),f=new EventSource(e,{withCredentials:t?.withCredentials??!1});f.onopen=()=>{c(!0),i(null)};let m=t?.parse??(u=>{try{return JSON.parse(u)}catch{return u}});return f.onmessage=u=>{o(m(u.data))},f.onerror=u=>{i(u),c(!1)},{data:n,error:r,connected:a,close(){f.close(),c(!1)},on(u,g){let T=t?.parse??(S=>{try{return JSON.parse(S)}catch{return S}}),h=S=>{g(T(S.data))};return f.addEventListener(u,h),()=>{f.removeEventListener(u,h)}}}}function zt(e,t){let n=t?.reconnect??!0,o=t?.reconnectInterval??1e3,r=t?.maxReconnects??5,[i,a]=R(null),[c,f]=R("connecting"),m=new Set,u=null,g=0,T=null,h=!1;function S(){if(h)return;f("connecting"),u=new WebSocket(e,t?.protocols),u.onopen=()=>{f("open"),g=0};let b=t?.parse??(C=>{try{return JSON.parse(C)}catch{return C}});u.onmessage=C=>{let x=b(C.data);a(x);for(let d of m)d(x)},u.onerror=()=>{f("error")},u.onclose=()=>{if(h){f("closed");return}if(f("closed"),n&&g<r){let C=o*Math.pow(2,g);g++,T=setTimeout(S,C)}}}return S(),{data:i,status:c,send(b){u&&u.readyState===WebSocket.OPEN&&u.send(JSON.stringify(b))},close(){h=!0,T!==null&&(clearTimeout(T),T=null),u&&(u.close(),u=null),f("closed")},on(b){return m.add(b),()=>{m.delete(b)}}}}function Jt(e,t){let[n,o]=I(!1),[r,i]=I(void 0),c=async(...f)=>{if(o(!0),i(void 0),t?.optimistic)try{H(()=>t.optimistic(...f))}catch{}try{let m=await e(...f);if(t?.onSuccess&&H(()=>t.onSuccess(m,...f)),t?.invalidates)for(let u of t.invalidates)u.refetch();return o(!1),m}catch(m){if(t?.onError)try{H(()=>t.onError(m,...f))}catch{}throw i(m),o(!1),m}};return c.pending=n,c.error=r,c.clearError=()=>i(void 0),c}var qt=new Map;function Yt(e,t){qt.set(e,t)}function Xt(e){qt.delete(e)}function Se(e){for(let[t,n]of Object.entries(e)){let o=qt.get(t);o&&o.mutate(n)}}function Zt(){if(typeof window>"u")return()=>{};let e=t=>{let n=t.detail;n&&typeof n=="object"&&Se(n)};return window.addEventListener("forma:revalidate",e),()=>window.removeEventListener("forma:revalidate",e)}function Qt(e,t){return{data:e,__revalidate:t}}function en(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 i=await o.text();throw new Error(`Server function failed (${o.status}): ${i}`)}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 xe=new Map;function tn(e,t){xe.set(e,t)}function nn(e){return xe.get(e)}function on(){return[...xe.keys()]}var Do=new Set(["__proto__","constructor","prototype"]);async function ve(e,t,n){let o=e.split("/").pop()??"";if(Do.has(o))return{error:"Forbidden endpoint name"};let r=xe.get(e);if(!r)return{error:`Unknown server function: ${e}`};try{let i=await r(...t.args);return n?{data:i,__revalidate:n}:{data:i}}catch(i){return{error:typeof process<"u"&&process.env?.NODE_ENV==="development"&&i instanceof Error?i.message:"Internal server error"}}}function rn(){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 ve(e.url,n);o.error?t.status(500).json(o):t.json(o)}}var we=null,Ln=new Map;async function _n(){if(we)return we;let e=window.__FORMA_WASM__;if(!e)throw new Error("No __FORMA_WASM__ config");let t=await import(e.loader);return await t.default(e.binary),we=t,we}async function Dn(){let e=window.__FORMA_WASM__;if(!e)throw new Error("No __FORMA_WASM__ config");let t=Ln.get(e.ir);if(t)return t;let n=await fetch(e.ir),o=new Uint8Array(await n.arrayBuffer());return Ln.set(e.ir,o),o}async function Hn(e){let[t,n]=await Promise.all([_n(),Dn()]);return t.render(n,e)}async function Pn(e,t){let[n,o]=await Promise.all([_n(),Dn()]);return n.render_island(o,e,t)}return jn(Ho);})();
|
|
1
|
+
"use strict";var FormaJS=(()=>{var Ce=Object.defineProperty;var Fn=Object.getOwnPropertyDescriptor;var Bn=Object.getOwnPropertyNames;var Kn=Object.prototype.hasOwnProperty;var jn=(e,t)=>{for(var n in t)Ce(e,n,{get:t[n],enumerable:!0})},Un=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Bn(t))!Kn.call(e,r)&&r!==n&&Ce(e,r,{get:()=>t[r],enumerable:!(o=Fn(t,r))||o.enumerable});return e};var Vn=e=>Un(Ce({},"__esModule",{value:!0}),e);var Io={};jn(Io,{$:()=>bt,$$:()=>Ct,$$serverFunction:()=>nn,Fragment:()=>re,activateIslands:()=>it,addClass:()=>Et,applyRevalidation:()=>Se,batch:()=>H,children:()=>Ht,cleanup:()=>Ye,closest:()=>Dt,createAction:()=>Yt,createBus:()=>xt,createComputed:()=>Y,createContext:()=>dt,createEffect:()=>J,createErrorBoundary:()=>ot,createFetch:()=>Gt,createHistory:()=>Tt,createIndexedDB:()=>Wt,createList:()=>X,createLocalStorage:()=>Ut,createMemo:()=>Fe,createPortal:()=>nt,createRPCMiddleware:()=>an,createReducer:()=>je,createRef:()=>Ke,createResource:()=>Ue,createRoot:()=>D,createSSE:()=>qt,createSessionStorage:()=>Vt,createShow:()=>Z,createSignal:()=>E,createStore:()=>ht,createSuspense:()=>rt,createSwitch:()=>tt,createText:()=>Qe,createWebSocket:()=>Jt,deactivateAllIslands:()=>st,deactivateIsland:()=>he,defineComponent:()=>lt,delegate:()=>vt,disposeComponent:()=>ft,enableAutoRevalidation:()=>en,fetchJSON:()=>zt,fragment:()=>Ze,getRegisteredEndpoints:()=>sn,getServerFunction:()=>rn,h:()=>te,handleRPC:()=>ve,hydrateIsland:()=>K,inject:()=>mt,mount:()=>et,nextSibling:()=>Ot,on:()=>Be,onCleanup:()=>_e,onError:()=>Pe,onIntersect:()=>Kt,onKey:()=>wt,onMount:()=>at,onMutation:()=>jt,onResize:()=>Bt,onUnmount:()=>ct,parent:()=>It,persist:()=>St,prevSibling:()=>Ft,provide:()=>pt,reconcileList:()=>V,registerResource:()=>Zt,registerServerFunction:()=>on,removeClass:()=>Rt,renderIsland:()=>On,renderLocal:()=>In,setAttr:()=>At,setHTML:()=>Nt,setHTMLUnsafe:()=>_t,setStyle:()=>Mt,setText:()=>Lt,siblings:()=>Pt,toggleClass:()=>kt,trackDisposer:()=>ut,unprovide:()=>gt,unregisterResource:()=>Qt,untrack:()=>L,withRevalidation:()=>tn});var $n=(e=>(e[e.Computed=1]="Computed",e[e.Effect=2]="Effect",e[e.Tracking=4]="Tracking",e[e.Notified=8]="Notified",e[e.Recursed=16]="Recursed",e[e.Dirty=32]="Dirty",e[e.PendingComputed=64]="PendingComputed",e[e.PendingEffect=128]="PendingEffect",e[e.Propagated=224]="Propagated",e))($n||{});function Wn({updateComputed:e,notifyEffect:t}){let n=[],o=0,r=0;return{link:i,propagate:a,updateDirtyFlag:m,startTracking:c,endTracking:l,processEffectNotifications:T,processComputedUpdate:u,processPendingInnerEffects:g};function i(d,p){let s=p.depsTail;if(s!==void 0&&s.dep===d)return;let f=s!==void 0?s.nextDep:p.deps;if(f!==void 0&&f.dep===d){p.depsTail=f;return}let y=d.subsTail;if(!(y!==void 0&&y.sub===p&&C(y,p)))return h(d,p,f,s)}function a(d){let p=d.nextSub,s,f=0,y=32;e:do{let v=d.sub,w=v.flags,k=!1;if(w&244?w&16&&!(w&4)?(v.flags=w&-17|y|8,k=!0):!(w&224)&&C(d,v)&&(v.flags=w|16|y|8,k=v.subs!==void 0):(v.flags=w|y|8,k=!0),k){let A=v.subs;if(A!==void 0){d=A,A.nextSub!==void 0?(s={target:p,linked:s},++f,p=d.nextSub,y=64):y=w&2?128:64;continue}w&2&&(n[r++]=v)}else w&(4|y)?!(w&y)&&w&224&&C(d,v)&&(v.flags=w|y):(v.flags=w|y|8,(w&10)===2&&(n[r++]=v));if((d=p)!==void 0){p=d.nextSub,y=f?64:32;continue}for(;f--;)if(d=s.target,s=s.linked,d!==void 0){p=d.nextSub,y=f?64:32;continue e}break}while(!0)}function c(d){d.depsTail=void 0,d.flags=d.flags&-249|4}function l(d){let p=d.depsTail;if(p!==void 0){let s=p.nextDep;s!==void 0&&(x(s),p.nextDep=void 0)}else d.deps!==void 0&&(x(d.deps),d.deps=void 0);d.flags&=-5}function m(d,p){return S(d.deps)?(d.flags=p|32,!0):(d.flags=p&-65,!1)}function u(d,p){if(p&32||S(d.deps)){if(e(d)){let s=d.subs;s!==void 0&&b(s)}}else d.flags=p&-65}function g(d,p){if(p&128){d.flags=p&-129;let s=d.deps;do{let f=s.dep;"flags"in f&&f.flags&2&&f.flags&224&&t(f),s=s.nextDep}while(s!==void 0)}}function T(){for(;o<r;){let d=n[o];n[o++]=void 0,t(d)||(d.flags&=-9)}o=0,r=0}function h(d,p,s,f){let y={dep:d,sub:p,nextDep:s,prevSub:void 0,nextSub:void 0};if(f===void 0?p.deps=y:f.nextDep=y,d.subs===void 0)d.subs=y;else{let v=d.subsTail;y.prevSub=v,v.nextSub=y}return p.depsTail=y,d.subsTail=y,y}function S(d){let p,s=0,f;e:do{f=!1;let y=d.dep;if(d.sub.flags&32)f=!0;else if("flags"in y){let v=y.flags;if((v&33)===33){if(e(y)){let w=y.subs;w.nextSub!==void 0&&b(w),f=!0}}else if((v&65)===65){(d.nextSub!==void 0||d.prevSub!==void 0)&&(p={target:d,linked:p}),d=y.deps,++s;continue}}if(!f&&d.nextDep!==void 0){d=d.nextDep;continue}for(;s;){--s;let v=d.sub,w=v.subs;if(f){if(e(v)){w.nextSub!==void 0?(d=p.target,p=p.linked,b(w)):d=w;continue}}else v.flags&=-65;if(w.nextSub!==void 0?(d=p.target,p=p.linked):d=w,d.nextDep!==void 0){d=d.nextDep;continue e}f=!1}return f}while(!0)}function b(d){do{let p=d.sub,s=p.flags;(s&96)===64&&(p.flags=s|32|8,(s&10)===2&&(n[r++]=p)),d=d.nextSub}while(d!==void 0)}function C(d,p){let s=p.depsTail;if(s!==void 0){let f=p.deps;do{if(f===d)return!0;if(f===s)break;f=f.nextDep}while(f!==void 0)}return!1}function x(d){do{let p=d.dep,s=d.nextDep,f=d.nextSub,y=d.prevSub;if(f!==void 0?f.prevSub=y:p.subsTail=y,y!==void 0?y.nextSub=f:p.subs=f,p.subs===void 0&&"deps"in p){let v=p.flags;v&32||(p.flags=v|32);let w=p.deps;if(w!==void 0){d=w,p.depsTail.nextDep=s,p.deps=void 0,p.depsTail=void 0;continue}}d=s}while(d!==void 0)}}var{link:q,propagate:Gn,updateDirtyFlag:zn,startTracking:Ee,endTracking:Re,processEffectNotifications:cn,processComputedUpdate:qn,processPendingInnerEffects:ln}=Wn({updateComputed(e){let t=N;N=e,Ee(e);try{let n=e.currentValue,o=e.getter(n);return n!==o?(e.currentValue=o,!0):!1}finally{N=t,Re(e)}},notifyEffect(e){return"isScope"in e?Yn(e):Jn(e)}}),fn=[],ke=0,N,ce;function un(){++ke}function dn(){--ke||cn()}function le(){fn.push(N),N=void 0}function fe(){N=fn.pop()}function pn(e){return Zn.bind({currentValue:e,subs:void 0,subsTail:void 0})}function mn(e){return Xn.bind({currentValue:void 0,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:33,getter:e})}function Me(e){let t={fn:e,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:2};N!==void 0?q(t,N):ce!==void 0&&q(t,ce);let n=N;N=t;try{t.fn()}finally{N=n}return Qn.bind(t)}function Jn(e){let t=e.flags;if(t&32||t&64&&zn(e,t)){let n=N;N=e,Ee(e);try{e.fn()}finally{N=n,Re(e)}}else ln(e,e.flags);return!0}function Yn(e){return e.flags&128?(ln(e,e.flags),!0):!1}function Xn(){let e=this.flags;return e&96&&qn(this,e),N!==void 0?q(this,N):ce!==void 0&&q(this,ce),this.currentValue}function Zn(...e){if(e.length){if(this.currentValue!==(this.currentValue=e[0])){let t=this.subs;t!==void 0&&(Gn(t),ke||cn())}}else return N!==void 0&&q(this,N),this.currentValue}function Qn(){Ee(this),Re(this)}function eo(e,t){if(typeof t!="function"){e(t);return}le();let n=e();fe(),e(t(n))}function E(e){let t=pn(e);return[t,r=>eo(t,r)]}var U=null,ue=[];function D(e){let t={disposers:[]};ue.push(U),U=t;let n=()=>{for(let o of t.disposers)try{o()}catch{}t.disposers.length=0};try{return e(n)}finally{U=ue.pop()??null,ue.length===0&&(ue.length=0)}}function Ae(e){U&&U.disposers.push(e)}function Le(){return U!==null}var Ne=null;function _e(e){Ne?.(e)}function De(e){let t=Ne;return Ne=e,t}var _=typeof process<"u"?process.env?.NODE_ENV!=="production":!0,He=null;function Pe(e){He=e}function O(e,t){if(He)try{He(e,t?{source:t}:{})}catch{}_&&console.error(`[forma] ${t??"Unknown"} error:`,e)}var Ie=32,gn=100,Oe=[];for(let e=0;e<Ie;e++)Oe.push([]);var de=Ie;function to(){if(de>0){let e=Oe[--de];return e.length=0,e}return[]}function yn(e){e.length=0,de<Ie&&(Oe[de++]=e)}function hn(e){if(e!==void 0)try{e()}catch(t){O(t,"effect cleanup")}}function Tn(e){if(e!==void 0)for(let t=0;t<e.length;t++)try{e[t]()}catch(n){O(n,"effect cleanup")}}function R(e){let t=Me(e);return Le()&&Ae(t),t}function J(e){let t=Le(),n,o,r,i,a=C=>{if(i!==void 0){i.push(C);return}if(r!==void 0){let x=to();x.push(r,C),r=void 0,i=x;return}r=C},c=!1,l=!0,m=!1,u=!1,g=()=>{if(n!==void 0&&(hn(n),n=void 0),o!==void 0&&(Tn(o),yn(o),o=void 0),c){try{e()}catch(x){O(x,"effect")}return}r=void 0,i=void 0;let C=De(a);try{let x=e();if(typeof x=="function"&&a(x),r===void 0&&i===void 0){l&&(c=!0);return}i!==void 0?o=i:n=r}catch(x){O(x,"effect"),i!==void 0?o=i:n=r}finally{De(C),l=!1}},h=Me(()=>{if(m){u=!0;return}m=!0;try{let C=0;do u=!1,g(),u&&(C++,C>=gn&&(O(new Error(`createEffect exceeded ${gn} re-entrant runs`),"effect"),u=!1));while(u)}finally{m=!1}}),S=!1,b=()=>{S||(S=!0,h(),n!==void 0&&(hn(n),n=void 0),o!==void 0&&(Tn(o),yn(o),o=void 0))};return t&&Ae(b),b}function Y(e){return mn(e)}var Fe=Y;function H(e){un();try{e()}finally{dn()}}function L(e){le();try{return e()}finally{fe()}}function Be(e,t,n){let o,r=!0;return()=>{let i=e();if(n?.defer&&r){r=!1,o=i;return}let a=L(()=>t(i,o));return o=i,a}}function Ke(e){return{current:e}}function je(e,t){let[n,o]=E(t);return[n,i=>{o(a=>e(a,i))}]}var pe=null,Sn=[];function xn(e){Sn.push(pe),pe=e}function vn(){pe=Sn.pop()??null}function wn(){return pe}function Ue(e,t,n){let[o,r]=E(n?.initialValue),[i,a]=E(!1),[c,l]=E(void 0),m=wn(),u=null,g=0,T=()=>{let S=L(e);u&&u.abort();let b=new AbortController;u=b;let C=++g,x=()=>C===g,d=!1;m&&(m.increment(),d=!0),a(!0),l(void 0),Promise.resolve(t(S)).then(p=>{x()&&!b.signal.aborted&&r(()=>p)}).catch(p=>{x()&&!b.signal.aborted&&p?.name!=="AbortError"&&l(p)}).finally(()=>{d&&m?.decrement(),x()&&(a(!1),u===b&&(u=null))})};R(()=>{e(),T()});let h=(()=>o());return h.loading=i,h.error=c,h.refetch=T,h.mutate=S=>r(()=>S),h}function Ge(e){let t=e.length;if(t===0)return[];let n=new Int32Array(t),o=new Int32Array(t),r=new Int32Array(t).fill(-1),i=0;for(let l=0;l<t;l++){let m=e[l],u=0,g=i;for(;u<g;){let T=u+g>>1;n[T]<m?u=T+1:g=T}n[u]=m,o[u]=l,u>0&&(r[l]=o[u-1]),u>=i&&i++}let a=new Array(i),c=o[i-1];for(let l=i-1;l>=0;l--)a[l]=c,c=r[c];return a}var no=32,Ve=Symbol.for("forma-abort"),$e=Symbol.for("forma-attr-cache"),We=Symbol.for("forma-dynamic-child");function oo(e,t){return e instanceof HTMLElement&&t instanceof HTMLElement&&e.tagName===t.tagName&&!e[Ve]&&!e[$e]&&!e[We]&&!t[Ve]&&!t[$e]&&!t[We]}function ro(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 io(e,t,n,o,r,i,a,c,l){let m=t.length,u=n.length,g=new Array(m);for(let s=0;s<m;s++)g[s]=r(t[s]);let T=new Array(u),h=new Uint8Array(m);for(let s=0;s<u;s++){let f=r(n[s]),y=-1;for(let v=0;v<m;v++)if(!h[v]&&g[v]===f){y=v,h[v]=1;break}T[s]=y}for(let s=0;s<m;s++)if(!h[s])if(l?.onBeforeRemove){let f=o[s];l.onBeforeRemove(f,()=>{f.parentNode&&f.parentNode.removeChild(f)})}else e.removeChild(o[s]);if(m===u){let s=!0;for(let f=0;f<u;f++)if(T[f]!==f){s=!1;break}if(s){let f=new Array(u);for(let y=0;y<u;y++){let v=o[y];a(v,n[y]),f[y]=v}return{nodes:f,items:n}}}let S=[],b=[];for(let s=0;s<u;s++)T[s]!==-1&&(S.push(T[s]),b.push(s));let C=Ge(S),x=new Uint8Array(u);for(let s of C)x[b[s]]=1;let d=new Array(u),p=c??null;for(let s=u-1;s>=0;s--){let f,y=!1;if(T[s]===-1)f=i(n[s]),y=!0;else if(f=o[T[s]],a(f,n[s]),x[s]){d[s]=f,p=f;continue}p?e.insertBefore(f,p):e.appendChild(f),y&&l?.onInsert?.(f),d[s]=f,p=f}return{nodes:d,items:n}}function V(e,t,n,o,r,i,a,c,l){let m=t.length,u=n.length;if(u===0){for(let s=0;s<m;s++)if(l?.onBeforeRemove){let f=o[s];l.onBeforeRemove(f,()=>{f.parentNode&&f.parentNode.removeChild(f)})}else e.removeChild(o[s]);return{nodes:[],items:[]}}if(m===0){let s=new Array(u);for(let f=0;f<u;f++){let y=i(n[f]);c?e.insertBefore(y,c):e.appendChild(y),l?.onInsert?.(y),s[f]=y}return{nodes:s,items:n}}if(m<no)return io(e,t,n,o,r,i,a,c,l);let g=new Map;for(let s=0;s<m;s++)g.set(r(t[s]),s);let T=new Array(u),h=new Uint8Array(m);for(let s=0;s<u;s++){let f=r(n[s]),y=g.get(f);y!==void 0?(T[s]=y,h[y]=1):T[s]=-1}for(let s=0;s<m;s++)if(!h[s])if(l?.onBeforeRemove){let f=o[s];l.onBeforeRemove(f,()=>{f.parentNode&&f.parentNode.removeChild(f)})}else e.removeChild(o[s]);if(m===u){let s=!0;for(let f=0;f<u;f++)if(T[f]!==f){s=!1;break}if(s){let f=new Array(u);for(let y=0;y<u;y++){let v=o[y];a(v,n[y]),f[y]=v}return{nodes:f,items:n}}}let S=[],b=[];for(let s=0;s<u;s++)T[s]!==-1&&(S.push(T[s]),b.push(s));let C=Ge(S),x=new Uint8Array(u);for(let s of C)x[b[s]]=1;let d=new Array(u),p=c??null;for(let s=u-1;s>=0;s--){let f,y=!1;if(T[s]===-1)f=i(n[s]),y=!0;else if(f=o[T[s]],a(f,n[s]),x[s]){d[s]=f,p=f;continue}p?e.insertBefore(f,p):e.appendChild(f),y&&l?.onInsert?.(f),d[s]=f,p=f}return{nodes:d,items:n}}function X(e,t,n,o){if(M)return{type:"list",items:e,keyFn:t,renderFn:n,options:o};let r=document.createComment("forma-list-start"),i=document.createComment("forma-list-end"),a=document.createDocumentFragment();a.appendChild(r),a.appendChild(i);let c=new Map,l=[],m=[],u=o?.updateOnItemChange??"none";return R(()=>{let g=e(),T=r.parentNode;if(!T)return;if(!Array.isArray(g)){_&&console.warn("[forma] createList: value is not an array, treating as empty");for(let x of l)x.parentNode===T&&T.removeChild(x);c=new Map,l=[],m=[];return}let h=g;for(let x=0;x<g.length;x++)if(g[x]==null){h=g.filter(d=>d!=null);break}if(_){let x=new Set;for(let d of h){let p=t(d);x.has(p)&&console.warn("[forma] createList: duplicate key detected:",p),x.add(p)}}let b=V(T,m,h,l,t,x=>{let d=t(x),[p,s]=E(0),f=L(()=>n(x,p));return c.set(d,{element:f,item:x,getIndex:p,setIndex:s}),f},u==="rerender"?(x,d)=>{let p=t(d),s=c.get(p);if(!s||s.item===d||(s.item=d,!(x instanceof HTMLElement))||x[Ve]||x[$e]||x[We])return;let f=L(()=>n(d,s.getIndex));oo(x,f)&&(ro(x,f),s.element=x)}:(x,d)=>{let p=t(d),s=c.get(p);s&&(s.item=d)},i),C=new Map;for(let x=0;x<h.length;x++){let d=t(h[x]),p=c.get(d);p&&(p.setIndex(x),C.set(d,p))}c=C,l=b.nodes,m=b.items}),a}function Z(e,t,n){if(M){let u=e()?t():n?.()??null;return{type:"show",condition:e,whenTrue:t,whenFalse:n,initialBranch:u}}let o=document.createComment("forma-show"),r=document.createComment("/forma-show"),i=document.createDocumentFragment();i.appendChild(o),i.appendChild(r);let a=null,c=null,l=null,m=R(()=>{let u=!!e(),g=typeof globalThis.__FORMA_DEBUG__<"u",T=g?t.toString().slice(0,60):"";if(u===c){g&&console.log("[forma:show] skip (same)",u,T);return}g&&console.log("[forma:show]",c,"\u2192",u,T),c=u;let h=o.parentNode;if(!h){g&&console.warn("[forma:show] parentNode is null! skipping.",T);return}if(g&&console.log("[forma:show] parent:",h.nodeName,"inDoc:",document.contains(h)),l&&(l(),l=null),a)if(a.parentNode===h)h.removeChild(a);else for(;o.nextSibling&&o.nextSibling!==r;)h.removeChild(o.nextSibling);let S=u?t:n;if(S){let b;a=D(C=>(b=C,L(()=>S()))),l=b}else a=null;a&&h.insertBefore(a,r)});return i.__showDispose=()=>{m(),l&&(l(),l=null)},i}var bn=Symbol.for("forma-abort"),M=!1;function Cn(e){M=e}function G(e){return e!=null&&typeof e=="object"&&"type"in e&&e.type==="element"}function me(e){return e!=null&&typeof e=="object"&&"type"in e&&e.type==="show"}function qe(e){return e!=null&&typeof e=="object"&&"type"in e&&e.type==="list"}function so(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 a=e[bn];a||(a=new AbortController,e[bn]=a),e.addEventListener(n.slice(2).toLowerCase(),o,{signal:a.signal});continue}let r=o,i=n;R(()=>{let a=r();a===!1||a==null?e.removeAttribute(i):a===!0?e.setAttribute(i,""):e.setAttribute(i,String(a))})}}function Q(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(G(e))return W(e);if(me(e)){let t=M;M=!1;try{return Z(e.condition,()=>Q(e.whenTrue())??document.createComment("empty"),e.whenFalse?()=>Q(e.whenFalse())??document.createComment("empty"):void 0)}finally{M=t}}if(qe(e)){let t=M;M=!1;try{return X(e.items,e.keyFn,e.renderFn,e.options)}finally{M=t}}return null}function W(e){let t=M;M=!1;try{let n=e.children.map(o=>G(o)?W(o):me(o)||qe(o)?Q(o):o);return te(e.tag,e.props,...n)}finally{M=t}}function ao(e){return e.length>=4&&e.charCodeAt(0)===102&&e.charCodeAt(1)===58&&e.charCodeAt(2)===105}function ze(e){return e.length>=4&&e.charCodeAt(0)===102&&e.charCodeAt(1)===58&&e.charCodeAt(2)===115}function co(e){return e.length>=4&&e.charCodeAt(0)===102&&e.charCodeAt(1)===58&&e.charCodeAt(2)===116}function lo(e){return e.length>=4&&e.charCodeAt(0)===102&&e.charCodeAt(1)===58&&e.charCodeAt(2)===108}function $(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 fo(e,t){let n=e.nextSibling;for(;n&&n!==t;){if(n.nodeType===3)return n;n=n.nextSibling}return null}function uo(e,t){let n=e.nextSibling;for(;n&&n!==t;){if(n.nodeType===1)return n;n=n.nextSibling}}function po(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 En(e,t){let n=!!e.condition(),o=null,r=null;if(!(t.start.nextSibling!==t.end)&&n){_&&console.warn("[forma] Hydration: show condition mismatch \u2014 SSR empty but client condition is true");let a=e.whenTrue();a instanceof Node&&t.start.parentNode.insertBefore(a,t.end)}R(()=>{let a=!!e.condition();if(a===n)return;n=a;let c=t.start.parentNode;if(!c)return;let l=po(t.start,t.end);a?r=l:o=l;let m=a?o??e.whenTrue():e.whenFalse?r??e.whenFalse():null;a&&o&&(o=null),!a&&r&&(r=null),m!=null&&!(m instanceof Node)&&(m=Q(m)),m instanceof Node&&c.insertBefore(m,t.end)})}function Rn(e,t,n){if(G(e)){let o=uo(t,n);o&&ee(e,o)}else if(me(e)){let o=t.nextSibling;for(;o&&o!==n;){if(o.nodeType===8&&ze(o.data)){let r=o,i=$(r);i&&(e.initialBranch&&Rn(e.initialBranch,r,i),En(e,{start:r,end:i,cachedContent:null}));break}o=o.nextSibling}}}function ee(e,t){if(!t||t.tagName!==e.tag.toUpperCase()){_&&console.warn(`Hydration mismatch: expected <${e.tag}>, got <${t?.tagName?.toLowerCase()??"nothing"}>`);let o=W(e);t&&t.replaceWith(o);return}so(t,e.props);let n=t.firstChild;for(let o of e.children)if(!(o===!1||o==null))if(G(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(W(o));continue}if(n.nodeType===1){let r=n;n=n.nextSibling,ee(o,r)}else if(n.nodeType===8&&ao(n.data)){let r=$(n),i=W(o);r?(r.parentNode.insertBefore(i,r),n=r.nextSibling):(t.appendChild(i),n=null)}else t.appendChild(W(o))}else if(me(o)){for(;n&&!(n.nodeType===8&&ze(n.data));)n=n.nextSibling;if(n){let r=n,i=$(r);i&&(o.initialBranch&&Rn(o.initialBranch,r,i),En(o,{start:r,end:i,cachedContent:null}),n=i.nextSibling)}}else if(qe(o)){for(;n&&!(n.nodeType===8&&lo(n.data));)n=n.nextSibling;if(n){let r=n,i=$(r);if(i){let a=new Map,c=[],l=r.nextSibling;for(;l&&l!==i;){if(l.nodeType===1){let s=l;c.push(s);let f=s.getAttribute("data-forma-key");f!=null&&a.set(f,s)}l=l.nextSibling}let m=L(()=>o.items()),u=o.keyFn,g=o.renderFn,T=a.size===0&&c.length>0,h=[],S=[],b=new Set;for(let s=0;s<m.length;s++){let f=m[s],y=u(f),v;if(T?s<c.length&&(v=c[s],b.add(s)):(v=a.get(String(y)),v&&a.delete(String(y))),v)h.push(v),S.push(f);else{_&&console.warn(`[FormaJS] Hydration: list item key "${y}" not found in SSR \u2014 rendering fresh`);let w=M;M=!1;try{let[k]=E(s),A=g(f,k);i.parentNode.insertBefore(A,i),h.push(A),S.push(f)}finally{M=w}}}if(T)for(let s=0;s<c.length;s++)!b.has(s)&&c[s].parentNode&&c[s].parentNode.removeChild(c[s]);else for(let[s,f]of a)_&&console.warn(`[FormaJS] Hydration: removing extra SSR list item with key "${s}"`),f.parentNode&&f.parentNode.removeChild(f);let C=r.parentNode;for(let s of h)C.insertBefore(s,i);let x=new Map;for(let s=0;s<S.length;s++){let f=S[s],y=u(f),[v,w]=E(s);x.set(y,{element:h[s],item:f,getIndex:v,setIndex:w})}let d=h.slice(),p=S.slice();R(()=>{let s=o.items(),f=r.parentNode;if(!f)return;let y=V(f,p,s,d,u,w=>{let k=M;M=!1;try{let A=u(w),[P,be]=E(0),ae=L(()=>g(w,P));return x.set(A,{element:ae,item:w,getIndex:P,setIndex:be}),ae}finally{M=k}},(w,k)=>{let A=u(k),P=x.get(A);P&&(P.item=k)},i),v=new Map;for(let w=0;w<s.length;w++){let k=u(s[w]),A=x.get(k);A&&(A.setIndex(w),v.set(k,A))}x=v,d=y.nodes,p=y.items}),n=i.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(G(r)){let i=n;n=n.nextSibling,ee(r,i);continue}}if(n&&n.nodeType===8){let r=n.data;if(co(r)){let i=$(n),a=n.nextSibling;if(!a||a.nodeType!==3){_&&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,i||n.nextSibling),a=c}R(()=>{a.data=String(o())}),n=i?i.nextSibling:a.nextSibling}else if(ze(r)){let i=n,a=$(i);if(a){let c=fo(i,a);c||(_&&console.warn(`[FormaJS] Hydration: created text node for show marker ${i.data} \u2014 SSR walker should emit content between markers`),c=document.createTextNode(""),i.parentNode.insertBefore(c,a)),R(()=>{c.data=String(o())}),n=a.nextSibling}else n=n.nextSibling}else n=n.nextSibling}else if(n&&n.nodeType===3){let r=n;n=n.nextSibling,R(()=>{r.data=String(o())})}else{_&&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),R(()=>{r.data=String(o())})}}else(typeof o=="string"||typeof o=="number")&&n&&n.nodeType===3&&(n=n.nextSibling)}function K(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(_){let i=t.getAttribute("data-forma-component")||"unknown";console.warn(`[forma] Island "${i}" 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 i of Array.from(t.attributes))i.name.startsWith("data-forma-")&&r.setAttribute(i.name,i.value);return t.replaceWith(r),r}else r instanceof Node&&t.appendChild(r);return t}Cn(!0);let o;try{o=e()}finally{Cn(!1)}return!o||!G(o)?(t.removeAttribute("data-forma-ssr"),t):(t.hasAttribute("data-forma-island")?ee(o,t):ee(o,t.children[0]),t.removeAttribute("data-forma-ssr"),t)}var re=Symbol.for("forma.fragment"),mo="http://www.w3.org/2000/svg",ne="http://www.w3.org/1999/xlink",go=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"]),Mn=new Set(["disabled","checked","readonly","required","autofocus","autoplay","controls","default","defer","formnovalidate","hidden","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","reversed","selected","async"]),B=null;function yo(e){if(!B){B=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"])B[t]=document.createElement(t)}return B[e]??(B[e]=document.createElement(e))}var kn=Object.create(null);function ho(e){return kn[e]??(kn[e]=e.slice(2).toLowerCase())}var ge=Symbol.for("forma-abort");function To(e){let t=e[ge];return t||(t=new AbortController,e[ge]=t),t}function Ye(e){let t=e[ge];t&&(t.abort(),delete e[ge])}var Je=Symbol.for("forma-attr-cache"),So=Symbol.for("forma-dynamic-child");function I(e){return e[Je]??(e[Je]=Object.create(null))}function Xe(e,t,n){if(typeof n=="function")R(()=>{let o=n(),r=I(e);r.class!==o&&(r.class=o,e instanceof HTMLElement?e.className=o:e.setAttribute("class",o))});else{let o=I(e);if(o.class===n)return;o.class=n,e instanceof HTMLElement?e.className=n:e.setAttribute("class",n)}}function xo(e,t,n){if(typeof n=="function"){let o=[];R(()=>{let r=n();if(typeof r=="string"){let i=I(e);if(i.style===r)return;i.style=r,o=[],e.style.cssText=r}else if(r&&typeof r=="object"){let i=e.style,a=Object.keys(r);for(let c of o)c in r||i.removeProperty(c.replace(/[A-Z]/g,l=>"-"+l.toLowerCase()));Object.assign(i,r),o=a}})}else if(typeof n=="string"){let o=I(e);if(o.style===n)return;o.style=n,e.style.cssText=n}else n&&typeof n=="object"&&Object.assign(e.style,n)}function An(e,t,n){let o=To(e);e.addEventListener(ho(t),n,{signal:o.signal})}function vo(e,t,n){if(typeof n=="function")R(()=>{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 i=I(e);i.innerHTML!==r&&(i.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 wo(e,t,n){let o=t.slice(6);typeof n=="function"?R(()=>{let r=n();r==null||r===!1?e.removeAttributeNS(ne,o):e.setAttributeNS(ne,t,String(r))}):n==null||n===!1?e.removeAttributeNS(ne,o):e.setAttributeNS(ne,t,String(n))}function bo(e,t,n){if(typeof n=="function")R(()=>{let o=n(),r=I(e);r[t]!==o&&(r[t]=o,o?e.setAttribute(t,""):e.removeAttribute(t))});else{let o=I(e);if(o[t]===n)return;o[t]=n,n?e.setAttribute(t,""):e.removeAttribute(t)}}function Co(e,t,n){if(typeof n=="function")R(()=>{let o=n();if(o==null||o===!1){let r=I(e);if(r[t]===null)return;r[t]=null,e.removeAttribute(t)}else{let r=String(o),i=I(e);if(i[t]===r)return;i[t]=r,e.setAttribute(t,r)}});else if(n==null||n===!1){let o=I(e);if(o[t]===null)return;o[t]=null,e.removeAttribute(t)}else{let o=String(n),r=I(e);if(r[t]===o)return;r[t]=o,e.setAttribute(t,o)}}var j=new Map;j.set("class",Xe);j.set("className",Xe);j.set("style",xo);j.set("ref",()=>{});j.set("dangerouslySetInnerHTML",vo);for(let e of Mn)j.set(e,bo);function Eo(e,t,n){if(t==="class"){Xe(e,t,n);return}if(t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&t.length>2){An(e,t,n);return}let o=j.get(t);if(o){o(e,t,n);return}if(t.charCodeAt(0)===120&&t.startsWith("xlink:")){wo(e,t,n);return}Co(e,t,n)}function Ro(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(ne,t,String(n));return}if(Mn.has(t)){n&&e.setAttribute(t,"");return}n===!0?e.setAttribute(t,""):e.setAttribute(t,String(n))}}function oe(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[So]=!0);let n=null;R(()=>{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 i=new Text(r);e.replaceChild(i,n),n=i}}});return}if(Array.isArray(t)){for(let n of t)oe(e,n);return}}}function te(e,t,...n){if(typeof e=="function"&&e!==re){let a={...t??{},children:n};return e(a)}if(e===re){let a=document.createDocumentFragment();for(let c of n)oe(a,c);return a}let o=e;if(M)return{type:"element",tag:o,props:t??null,children:n};let r;if(B&&B[o]?r=B[o].cloneNode(!1):go.has(o)?r=document.createElementNS(mo,o):r=yo(o).cloneNode(!1),t){let a=!1;for(let c in t){if(c==="ref")continue;let l=t[c];if(c.charCodeAt(0)===111&&c.charCodeAt(1)===110&&c.length>2){An(r,c,l);continue}if(typeof l=="function"){a||(r[Je]=Object.create(null),a=!0),Eo(r,c,l);continue}Ro(r,c,l)}}let i=n.length;if(i===1){let a=n[0];typeof a=="string"?r.textContent=a:typeof a=="number"?r.textContent=String(a):oe(r,a)}else if(i>1)for(let a of n)oe(r,a);return t&&typeof t.ref=="function"&&t.ref(r),r}function Ze(...e){let t=document.createDocumentFragment();for(let n of e)oe(t,n);return t}function Qe(e){if(typeof e=="function"){let t=new Text("");return R(()=>{t.data=e()}),t}return new Text(e)}function et(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"))D(i=>{o=i,K(e,n)});else{let i=D(a=>(o=a,e()));n.innerHTML="",n.appendChild(i)}let r=!1;return()=>{r||(r=!0,o(),n.innerHTML="")}}function tt(e,t,n){let o=document.createComment("forma-switch"),r=document.createComment("/forma-switch"),i=document.createDocumentFragment();i.appendChild(o),i.appendChild(r);let a=new Map,c=null,l=ko,m=R(()=>{let u=e();if(u===l)return;let g=typeof globalThis.__FORMA_DEBUG__<"u";g&&console.log("[forma:switch] transition",String(l),"\u2192",String(u)),l=u;let T=o.parentNode;if(!T){g&&console.warn("[forma:switch] markers not in DOM yet, skipping");return}if(c)if(c.parentNode===T)g&&console.log("[forma:switch] removing single node"),T.removeChild(c);else if(c.nodeType===11){g&&console.log("[forma:switch] scooping nodes back into fragment");let S=0;for(;o.nextSibling&&o.nextSibling!==r;)c.appendChild(o.nextSibling),S++;g&&console.log("[forma:switch] scooped",S,"nodes back into fragment")}else for(g&&console.log("[forma:switch] clearing detached node between markers");o.nextSibling&&o.nextSibling!==r;)T.removeChild(o.nextSibling);let h=t.find(S=>S.match===u);if(h){let S=a.get(u);if(S)g&&console.log("[forma:switch] reusing cached branch for",String(u),"\u2192",S.node.nodeName,"type",S.node.nodeType,"childNodes",S.node.childNodes?.length);else{let b,C=D(x=>(b=x,L(()=>h.render())));S={node:C,dispose:b},a.set(u,S),g&&console.log("[forma:switch] rendered new branch for",String(u),"\u2192",C.nodeName,"type",C.nodeType)}c=S.node}else c=n?.()??null,g&&console.log("[forma:switch] no match, using fallback");c&&(T.insertBefore(c,r),g&&console.log("[forma:switch] inserted",c.nodeName,"before end marker"))});return i.__switchDispose=()=>{m();for(let u of a.values())u.dispose();a.clear()},i}var ko=Symbol("unset");function nt(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,i=()=>{r&&r.parentNode===o&&o.removeChild(r),r=null};return J(()=>{let a=e();return i(),r=a,o.appendChild(a),()=>{i()}}),n}function ot(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[i,a]=E(0),c=null;return R(()=>{i();let l=n.parentNode;if(l){c&&c.parentNode===l&&l.removeChild(c);try{c=e()}catch(m){let u=m instanceof Error?m:new Error(String(m));c=t(u,()=>a(T=>T+1))}c&&l.insertBefore(c,o)}}),r}function rt(e,t){let n=document.createComment("forma-suspense"),o=document.createComment("/forma-suspense"),r=document.createDocumentFragment();r.appendChild(n),r.appendChild(o);let[i,a]=E(0),c=null,l=null,m=null;xn({increment(){a(g=>g+1)},decrement(){a(g=>Math.max(0,g-1))}});try{l=t()}finally{vn()}return R(()=>{let g=n.parentNode;if(!g)return;let h=i()>0?m??=e():l;h!==c&&(c&&c.parentNode===g&&g.removeChild(c),h&&g.insertBefore(h,o),c=h)}),r}function Mo(e,t,n){let o=e.getAttribute("data-forma-props");return o?JSON.parse(o):n&&String(t)in n?n[String(t)]:null}function it(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 i=parseInt(r.getAttribute("data-forma-island"),10),a=r.getAttribute("data-forma-component"),c=e[a];if(!c){_&&console.warn(`[forma] No hydrate function for island "${a}" (id=${i})`),r.setAttribute("data-forma-status","error");continue}let l=r.getAttribute("data-forma-hydrate")||"load";if(l==="visible"){let m=new IntersectionObserver(u=>{for(let g of u)g.isIntersecting&&(m.disconnect(),ye(r,i,a,c,n))},{rootMargin:"200px"});m.observe(r)}else if(l==="idle"){let m=()=>ye(r,i,a,c,n);typeof requestIdleCallback=="function"?requestIdleCallback(m):setTimeout(m,200)}else if(l==="interaction"){let m=()=>{r.removeEventListener("pointerdown",m,!0),r.removeEventListener("focusin",m,!0),ye(r,i,a,c,n)};r.addEventListener("pointerdown",m,{capture:!0,once:!0}),r.addEventListener("focusin",m,{capture:!0,once:!0})}else ye(r,i,a,c,n)}}function he(e){let t=e.__formaDispose;typeof t=="function"&&(t(),delete e.__formaDispose,e.setAttribute("data-forma-status","disposed"))}function st(e=document){let t=e.querySelectorAll('[data-forma-status="active"]');for(let n of t)he(n)}function ye(e,t,n,o,r){try{let i=Mo(e,t,r);e.setAttribute("data-forma-status","hydrating");let a=e;D(c=>{a=K(()=>o(e,i),e),a.__formaDispose=c}),a.setAttribute("data-forma-status","active")}catch(i){_&&console.error(`[forma] Island "${n}" (id=${t}) failed:`,i),e.setAttribute("data-forma-status","error")}}var F=null,Ln=[];function Ao(e){Ln.push(F),F=e}function Lo(){F=Ln.pop()??null}function at(e){if(F===null)throw new Error("onMount() must be called inside a component setup function");F.mountCallbacks.push(e)}function ct(e){if(F===null)throw new Error("onUnmount() must be called inside a component setup function");F.unmountCallbacks.push(e)}var Te=Symbol("forma:component:dispose");function lt(e){let t=typeof e=="function"?e:e.setup,n=typeof e=="function"?void 0:e.name;return function(){let r={disposers:[],mountCallbacks:[],unmountCallbacks:[]};Ao(r);let i;try{i=t()}finally{Lo()}let a=()=>{for(let c of r.unmountCallbacks)try{c()}catch(l){O(l,"onUnmount")}for(let c of r.disposers)try{c()}catch(l){O(l,"component disposer")}r.disposers.length=0,r.mountCallbacks.length=0,r.unmountCallbacks.length=0};i[Te]=a;for(let c of r.mountCallbacks)try{let l=c();typeof l=="function"&&r.unmountCallbacks.push(l)}catch(l){O(l,"onMount")}return i}}function ft(e){let t=e;typeof t[Te]=="function"&&(t[Te](),delete t[Te])}function ut(e){F!==null&&F.disposers.push(e)}var ie=new Map;function dt(e){return{id:Symbol("forma:context"),defaultValue:e}}function pt(e,t){let n=ie.get(e.id);n===void 0&&(n=[],ie.set(e.id,n)),n.push(t)}function mt(e){let t=ie.get(e.id);return t===void 0||t.length===0?e.defaultValue:t[t.length-1]}function gt(e){let t=ie.get(e.id);t!==void 0&&t.length>0&&(t.pop(),t.length===0&&ie.delete(e.id))}var se=Symbol("forma-raw"),_n=Symbol("forma-proxy"),No=new Set(["push","pop","shift","unshift","splice","sort","reverse","fill","copyWithin"]);function Nn(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[_n])}function yt(e){if(e==null||typeof e!="object")return e;if(Array.isArray(e))return e.map(yt);if(e instanceof Date)return new Date(e.getTime());let t={};for(let n of Object.keys(e))t[n]=yt(e[n]);return t}function ht(e){let t=new Map,n=new Map;function o(g){let T=g.lastIndexOf(".");if(T===-1)return;let h=g.substring(0,T),S=n.get(h);S||(S=new Set,n.set(h,S)),S.add(g)}function r(g,T){let h=t.get(g);return h||(h=E(T),t.set(g,h),o(g)),h}let i=new WeakMap;function a(g){let T=n.get(g);if(T){for(let h of T)a(h),t.delete(h),n.delete(h);T.clear()}}function c(g,T){if(!Nn(g))return g;let h=i.get(g);if(h)return h;let S=Array.isArray(g),b=T?T+".":"",C="",x,d=new Proxy(g,{get(p,s,f){if(s===se)return p;if(s===_n)return!0;if(typeof s=="symbol")return Reflect.get(p,s,f);let y=String(s),v=b+y;if(S&&No.has(y))return(...A)=>{let P;return H(()=>{let be=A.map(z=>z!=null&&typeof z=="object"&&z[se]?z[se]:z);P=p[y].apply(p,be),a(T);let[,ae]=r(b+"length",p.length);ae(p.length)}),P};if(S&&y==="length"){let[A]=r(v,p.length);return A(),p.length}let w=Reflect.get(p,s),k;return y===C&&x?k=x:(k=r(v,w),C=y,x=k),k[0](),Nn(w)?c(w,v):w},set(p,s,f){if(typeof s=="symbol")return Reflect.set(p,s,f);let y=String(s),v=b+y,w=f!=null&&typeof f=="object"&&f[se]?f[se]:f;if(Reflect.set(p,s,w),w!=null&&typeof w=="object"&&a(v),S&&y!=="length"){let A=b+"length",P=t.get(A);P&&P[1](p.length)}let[,k]=r(v,w);return k(w),!0},has(p,s){if(typeof s=="symbol")return Reflect.has(p,s);let f=String(s),y=b+f,[v]=r(y,Reflect.get(p,s));return v(),Reflect.has(p,s)},ownKeys(p){return Reflect.ownKeys(p)},getOwnPropertyDescriptor(p,s){return Object.getOwnPropertyDescriptor(p,s)},deleteProperty(p,s){if(typeof s=="symbol")return Reflect.deleteProperty(p,s);let f=String(s),y=b+f,v=Reflect.deleteProperty(p,s);a(y),t.delete(y);let w=T;if(w!==void 0){let k=n.get(w);k&&(k.delete(y),k.size===0&&n.delete(w))}return n.delete(y),v}});return i.set(g,d),d}let l=c(e,"");function m(){return L(()=>yt(e))}return[l,g=>{let T=typeof g=="function"?g(m()):g;H(()=>{for(let h of Object.keys(T))l[h]=T[h]})}]}function Tt(e,t){let[n,o]=e,r=t?.maxLength??100,i=[n()],a=0,[c,l]=E([...i]),[m,u]=E(a),[g,T]=E(i.length);function h(){H(()=>{l([...i]),u(a),T(i.length)})}let S=!1,b=!0;return R(()=>{let f=n();if(b){b=!1;return}if(S){S=!1;return}i=i.slice(0,a+1),i.push(f),i.length>r&&i.splice(0,i.length-r),a=i.length-1,h()}),{undo:()=>{a<=0||(a--,S=!0,o(i[a]),h())},redo:()=>{a>=i.length-1||(a++,S=!0,o(i[a]),h())},canUndo:()=>m()>0,canRedo:()=>m()<g()-1,history:()=>c(),cursor:()=>m(),clear:()=>{i=[n()],a=0,h()}}}function St(e,t,n){let[o,r]=e,i=n?.storage??globalThis.localStorage,a=n?.serialize??JSON.stringify,c=n?.deserialize??JSON.parse,l=n?.validate;try{let m=i.getItem(t);if(m!==null){let u=c(m);(!l||l(u))&&r(u)}}catch{}R(()=>{let m=o();try{let u=a(m);i.setItem(t,u)}catch{}})}function xt(){let e=new Map;function t(c){let l=e.get(c);return l||(l=new Set,e.set(c,l)),l}function n(c,l){let m=t(c);return m.add(l),()=>{m.delete(l)}}function o(c,l){let m=u=>{i(c,m),l(u)};return n(c,m)}function r(c,l){let m=e.get(c);if(m)for(let u of[...m])try{u(l)}catch(g){console.error(`[forma] Bus handler error on "${String(c)}":`,g)}}function i(c,l){let m=e.get(c);m&&m.delete(l)}function a(){e.clear()}return{on:n,once:o,emit:r,off:i,clear:a}}function vt(e,t,n,o,r){let i=a=>{let c=a.target;if(!(c instanceof HTMLElement))return;let l=e instanceof Document?e.documentElement:e,m=c.closest(t);m instanceof HTMLElement&&l.contains(m)&&o(a,m)};return e.addEventListener(n,i,r),()=>{e.removeEventListener(n,i,r)}}function _o(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 Do(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 wt(e,t,n){let o=n?.target??document,r=n?.preventDefault??!0,i=_o(e),a=c=>{c instanceof KeyboardEvent&&Do(c,i)&&(r&&c.preventDefault(),t(c))};return o.addEventListener("keydown",a),()=>{o.removeEventListener("keydown",a)}}function bt(e,t){return(t??document).querySelector(e)}function Ct(e,t){return Array.from((t??document).querySelectorAll(e))}function Et(e,...t){e.classList.add(...t)}function Rt(e,...t){e.classList.remove(...t)}function kt(e,t,n){return e.classList.toggle(t,n)}function Mt(e,t){for(let[n,o]of Object.entries(t))o!==void 0&&(e.style[n]=o)}function At(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 Lt(e,t){e.textContent=t}function Nt(e,t){e.innerHTML=t}function _t(e,t){e.innerHTML=t}function Dt(e,t){return e.closest(t)}function Ht(e,t){let n=Array.from(e.children);return t?n.filter(o=>o.matches(t)):n}function Pt(e,t){let n=e.parentElement;if(!n)return[];let r=Array.from(n.children).filter(i=>i!==e);return t?r.filter(i=>i.matches(t)):r}function It(e){return e.parentElement}function Ot(e,t){let n=e.nextElementSibling;for(;n;){if(n instanceof HTMLElement&&(!t||n.matches(t)))return n;n=n.nextElementSibling}return null}function Ft(e,t){let n=e.previousElementSibling;for(;n;){if(n instanceof HTMLElement&&(!t||n.matches(t)))return n;n=n.previousElementSibling}return null}function Bt(e,t){let n=new ResizeObserver(o=>{for(let r of o)t(r)});return n.observe(e),()=>{n.disconnect()}}function Kt(e,t,n){let o=new IntersectionObserver(r=>{for(let i of r)t(i)},n);return o.observe(e),()=>{o.disconnect()}}function jt(e,t,n){let o=new MutationObserver(r=>{t(r)});return o.observe(e,n??{childList:!0,subtree:!0}),()=>{o.disconnect()}}function Ut(e,t){let n=t?.serialize??JSON.stringify,o=t?.deserialize??JSON.parse,r=t?.validate;return{key:e,get(){try{let i=localStorage.getItem(e);if(i===null)return null;let a=o(i);return r&&!r(a)?null:a}catch{return null}},set(i){try{let a=n(i);localStorage.setItem(e,a)}catch{}},remove(){localStorage.removeItem(e)}}}function Vt(e,t){let n=t?.serialize??JSON.stringify,o=t?.deserialize??JSON.parse,r=t?.validate;return{key:e,get(){try{let i=sessionStorage.getItem(e);if(i===null)return null;let a=o(i);return r&&!r(a)?null:a}catch{return null}},set(i){try{let a=n(i);sessionStorage.setItem(e,a)}catch{}},remove(){sessionStorage.removeItem(e)}}}var $t=new Map;function Ho(e,t){let n=`${e}::${t}`,o=$t.get(n);if(o)return o;let r=new Promise((i,a)=>{let c=indexedDB.open(e);c.onerror=()=>a(c.error),c.onsuccess=()=>{let l=c.result;if(l.objectStoreNames.contains(t)){i(l);return}let m=l.version+1;l.close();let u=indexedDB.open(e,m);u.onerror=()=>a(u.error),u.onupgradeneeded=()=>{let g=u.result;g.objectStoreNames.contains(t)||g.createObjectStore(t)},u.onsuccess=()=>i(u.result)},c.onupgradeneeded=()=>{let l=c.result;l.objectStoreNames.contains(t)||l.createObjectStore(t)}});return $t.set(n,r),r.catch(()=>{$t.delete(n)}),r}function Wt(e,t="default"){function n(o,r){return Ho(e,t).then(i=>new Promise((a,c)=>{let m=i.transaction(t,o).objectStore(t),u=r(m);u.onsuccess=()=>a(u.result),u.onerror=()=>c(u.error)}))}return{get(o){return n("readonly",r=>r.get(o))},set(o,r){return n("readwrite",i=>i.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 Gt(e,t){let[n,o]=E(null),[r,i]=E(null),[a,c]=E(!1),l=null;function m(){let g=typeof e=="function"?e():e,T=t?.base??"",h=new URL(g,T||void 0);if(t?.params)for(let[S,b]of Object.entries(t.params))h.searchParams.set(S,b);return h.toString()}async function u(){l&&l.abort(),l=new AbortController;let g=l,T=t?.timeout??3e4,h=setTimeout(()=>g.abort(),T);c(!0),i(null);try{let S=m(),{base:b,params:C,timeout:x,transform:d,...p}=t??{},s=await fetch(S,{...p,signal:g.signal});if(!s.ok)throw new Error(`HTTP ${s.status}: ${s.statusText}`);let f=await s.json(),y=d?d(f):f;o(y)}catch(S){if(S instanceof Error&&S.name==="AbortError")return;i(S instanceof Error?S:new Error(String(S)))}finally{clearTimeout(h),l===g&&(l=null,c(!1))}}return typeof e=="function"?R(()=>{e(),u()}):u(),{data:n,error:r,loading:a,refetch:u,abort(){l&&l.abort()}}}async function zt(e,t){let n=await fetch(e,t);if(!n.ok)throw new Error(`HTTP ${n.status}: ${n.statusText}`);return await n.json()}function qt(e,t){let[n,o]=E(null),[r,i]=E(null),[a,c]=E(!1),l=new EventSource(e,{withCredentials:t?.withCredentials??!1});l.onopen=()=>{c(!0),i(null)};let m=t?.parse??(u=>{try{return JSON.parse(u)}catch{return u}});return l.onmessage=u=>{o(m(u.data))},l.onerror=u=>{i(u),c(!1)},{data:n,error:r,connected:a,close(){l.close(),c(!1)},on(u,g){let T=t?.parse??(S=>{try{return JSON.parse(S)}catch{return S}}),h=S=>{g(T(S.data))};return l.addEventListener(u,h),()=>{l.removeEventListener(u,h)}}}}function Jt(e,t){let n=t?.reconnect??!0,o=t?.reconnectInterval??1e3,r=t?.maxReconnects??5,[i,a]=E(null),[c,l]=E("connecting"),m=new Set,u=null,g=0,T=null,h=!1;function S(){if(h)return;l("connecting"),u=new WebSocket(e,t?.protocols),u.onopen=()=>{l("open"),g=0};let b=t?.parse??(C=>{try{return JSON.parse(C)}catch{return C}});u.onmessage=C=>{let x=b(C.data);a(x);for(let d of m)d(x)},u.onerror=()=>{l("error")},u.onclose=()=>{if(h){l("closed");return}if(l("closed"),n&&g<r){let C=o*Math.pow(2,g);g++,T=setTimeout(S,C)}}}return S(),{data:i,status:c,send(b){u&&u.readyState===WebSocket.OPEN&&u.send(JSON.stringify(b))},close(){h=!0,T!==null&&(clearTimeout(T),T=null),u&&(u.close(),u=null),l("closed")},on(b){return m.add(b),()=>{m.delete(b)}}}}function Yt(e,t){let[n,o]=E(!1),[r,i]=E(void 0),c=async(...l)=>{if(o(!0),i(void 0),t?.optimistic)try{H(()=>t.optimistic(...l))}catch{}try{let m=await e(...l);if(t?.onSuccess&&H(()=>t.onSuccess(m,...l)),t?.invalidates)for(let u of t.invalidates)u.refetch();return o(!1),m}catch(m){if(t?.onError)try{H(()=>t.onError(m,...l))}catch{}throw i(m),o(!1),m}};return c.pending=n,c.error=r,c.clearError=()=>i(void 0),c}var Xt=new Map;function Zt(e,t){Xt.set(e,t)}function Qt(e){Xt.delete(e)}function Se(e){for(let[t,n]of Object.entries(e)){let o=Xt.get(t);o&&o.mutate(n)}}function en(){if(typeof window>"u")return()=>{};let e=t=>{let n=t.detail;n&&typeof n=="object"&&Se(n)};return window.addEventListener("forma:revalidate",e),()=>window.removeEventListener("forma:revalidate",e)}function tn(e,t){return{data:e,__revalidate:t}}function nn(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 i=await o.text();throw new Error(`Server function failed (${o.status}): ${i}`)}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 xe=new Map;function on(e,t){xe.set(e,t)}function rn(e){return xe.get(e)}function sn(){return[...xe.keys()]}var Po=new Set(["__proto__","constructor","prototype"]);async function ve(e,t,n){let o=e.split("/").pop()??"";if(Po.has(o))return{error:"Forbidden endpoint name"};let r=xe.get(e);if(!r)return{error:`Unknown server function: ${e}`};try{let i=await r(...t.args);return n?{data:i,__revalidate:n}:{data:i}}catch(i){return{error:typeof process<"u"&&process.env?.NODE_ENV==="development"&&i instanceof Error?i.message:"Internal server error"}}}function an(){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 ve(e.url,n);o.error?t.status(500).json(o):t.json(o)}}var we=null,Dn=new Map;async function Hn(){if(we)return we;let e=window.__FORMA_WASM__;if(!e)throw new Error("No __FORMA_WASM__ config");let t=await import(e.loader);return await t.default(e.binary),we=t,we}async function Pn(){let e=window.__FORMA_WASM__;if(!e)throw new Error("No __FORMA_WASM__ config");let t=Dn.get(e.ir);if(t)return t;let n=await fetch(e.ir),o=new Uint8Array(await n.arrayBuffer());return Dn.set(e.ir,o),o}async function In(e){let[t,n]=await Promise.all([Hn(),Pn()]);return t.render(n,e)}async function On(e,t){let[n,o]=await Promise.all([Hn(),Pn()]);return n.render_island(o,e,t)}return Vn(Io);})();
|
|
2
2
|
//# sourceMappingURL=formajs.global.js.map
|