@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.
Files changed (42) hide show
  1. package/README.md +190 -16
  2. package/dist/{chunk-KX5WRZH7.js → chunk-DPSAVBCP.js} +3 -4
  3. package/dist/chunk-DPSAVBCP.js.map +1 -0
  4. package/dist/{chunk-FPSLC62A.cjs → chunk-KH3F5NRU.cjs} +2 -4
  5. package/dist/chunk-KH3F5NRU.cjs.map +1 -0
  6. package/dist/{chunk-5H52PKGF.js → chunk-TKGUHASG.js} +20 -10
  7. package/dist/chunk-TKGUHASG.js.map +1 -0
  8. package/dist/{chunk-TSQ7AKFT.cjs → chunk-YSKF3VRA.cjs} +27 -17
  9. package/dist/chunk-YSKF3VRA.cjs.map +1 -0
  10. package/dist/forma-runtime-csp.js +1 -1
  11. package/dist/forma-runtime.js +1 -1
  12. package/dist/formajs-runtime-hardened.global.js +1 -1
  13. package/dist/formajs-runtime-hardened.global.js.map +1 -1
  14. package/dist/formajs-runtime.global.js +1 -1
  15. package/dist/formajs-runtime.global.js.map +1 -1
  16. package/dist/formajs.global.js +1 -1
  17. package/dist/formajs.global.js.map +1 -1
  18. package/dist/index.cjs +102 -75
  19. package/dist/index.cjs.map +1 -1
  20. package/dist/index.d.cts +41 -9
  21. package/dist/index.d.ts +41 -9
  22. package/dist/index.js +46 -17
  23. package/dist/index.js.map +1 -1
  24. package/dist/runtime-hardened.cjs +61 -13
  25. package/dist/runtime-hardened.cjs.map +1 -1
  26. package/dist/runtime-hardened.js +62 -14
  27. package/dist/runtime-hardened.js.map +1 -1
  28. package/dist/runtime.cjs +85 -36
  29. package/dist/runtime.cjs.map +1 -1
  30. package/dist/runtime.js +63 -14
  31. package/dist/runtime.js.map +1 -1
  32. package/dist/ssr/index.cjs +18 -10
  33. package/dist/ssr/index.cjs.map +1 -1
  34. package/dist/ssr/index.js +18 -10
  35. package/dist/ssr/index.js.map +1 -1
  36. package/dist/tc39-compat.cjs +3 -3
  37. package/dist/tc39-compat.js +1 -1
  38. package/package.json +1 -1
  39. package/dist/chunk-5H52PKGF.js.map +0 -1
  40. package/dist/chunk-FPSLC62A.cjs.map +0 -1
  41. package/dist/chunk-KX5WRZH7.js.map +0 -1
  42. package/dist/chunk-TSQ7AKFT.cjs.map +0 -1
@@ -1,2 +1,2 @@
1
- "use strict";var FormaRuntime=(()=>{var Se=Object.defineProperty;var Ct=Object.getOwnPropertyDescriptor;var xt=Object.getOwnPropertyNames;var Nt=Object.prototype.hasOwnProperty;var Dt=(e,t)=>{for(var n in t)Se(e,n,{get:t[n],enumerable:!0})},Lt=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of xt(t))!Nt.call(e,i)&&i!==n&&Se(e,i,{get:()=>t[i],enumerable:!(o=Ct(t,i))||o.enumerable});return e};var It=e=>Lt(Se({},"__esModule",{value:!0}),e);var Co={};Dt(Co,{applyContainmentHints:()=>vt,clearDiagnostics:()=>Ao,destroyRuntime:()=>po,getDiagnostics:()=>To,getScopes:()=>_o,getUnsafeEvalMode:()=>yo,initRuntime:()=>Ue,mount:()=>go,reconcile:()=>Mo,resetScope:()=>ko,setDebug:()=>vo,setDiagnostics:()=>So,setDirectiveMap:()=>io,setScopeValue:()=>wo,setUnsafeEval:()=>Eo,setUnsafeEvalMode:()=>bo,unmount:()=>ho,yieldToMain:()=>ht});var Ot=(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))(Ot||{});function $t({updateComputed:e,notifyEffect:t}){let n=[],o=0,i=0;return{link:a,propagate:s,updateDirtyFlag:u,startTracking:c,endTracking:m,processEffectNotifications:v,processComputedUpdate:d,processPendingInnerEffects:b};function a(l,p){let r=p.depsTail;if(r!==void 0&&r.dep===l)return;let f=r!==void 0?r.nextDep:p.deps;if(f!==void 0&&f.dep===l){p.depsTail=f;return}let h=l.subsTail;if(!(h!==void 0&&h.sub===p&&A(h,p)))return g(l,p,f,r)}function s(l){let p=l.nextSub,r,f=0,h=32;e:do{let y=l.sub,T=y.flags,C=!1;if(T&244?T&16&&!(T&4)?(y.flags=T&-17|h|8,C=!0):!(T&224)&&A(l,y)&&(y.flags=T|16|h|8,C=y.subs!==void 0):(y.flags=T|h|8,C=!0),C){let P=y.subs;if(P!==void 0){l=P,P.nextSub!==void 0?(r={target:p,linked:r},++f,p=l.nextSub,h=64):h=T&2?128:64;continue}T&2&&(n[i++]=y)}else T&(4|h)?!(T&h)&&T&224&&A(l,y)&&(y.flags=T|h):(y.flags=T|h|8,(T&10)===2&&(n[i++]=y));if((l=p)!==void 0){p=l.nextSub,h=f?64:32;continue}for(;f--;)if(l=r.target,r=r.linked,l!==void 0){p=l.nextSub,h=f?64:32;continue e}break}while(!0)}function c(l){l.depsTail=void 0,l.flags=l.flags&-249|4}function m(l){let p=l.depsTail;if(p!==void 0){let r=p.nextDep;r!==void 0&&(S(r),p.nextDep=void 0)}else l.deps!==void 0&&(S(l.deps),l.deps=void 0);l.flags&=-5}function u(l,p){return E(l.deps)?(l.flags=p|32,!0):(l.flags=p&-65,!1)}function d(l,p){if(p&32||E(l.deps)){if(e(l)){let r=l.subs;r!==void 0&&_(r)}}else l.flags=p&-65}function b(l,p){if(p&128){l.flags=p&-129;let r=l.deps;do{let f=r.dep;"flags"in f&&f.flags&2&&f.flags&224&&t(f),r=r.nextDep}while(r!==void 0)}}function v(){for(;o<i;){let l=n[o];n[o++]=void 0,t(l)||(l.flags&=-9)}o=0,i=0}function g(l,p,r,f){let h={dep:l,sub:p,nextDep:r,prevSub:void 0,nextSub:void 0};if(f===void 0?p.deps=h:f.nextDep=h,l.subs===void 0)l.subs=h;else{let y=l.subsTail;h.prevSub=y,y.nextSub=h}return p.depsTail=h,l.subsTail=h,h}function E(l){let p,r=0,f;e:do{f=!1;let h=l.dep;if(l.sub.flags&32)f=!0;else if("flags"in h){let y=h.flags;if((y&33)===33){if(e(h)){let T=h.subs;T.nextSub!==void 0&&_(T),f=!0}}else if((y&65)===65){(l.nextSub!==void 0||l.prevSub!==void 0)&&(p={target:l,linked:p}),l=h.deps,++r;continue}}if(!f&&l.nextDep!==void 0){l=l.nextDep;continue}for(;r;){--r;let y=l.sub,T=y.subs;if(f){if(e(y)){T.nextSub!==void 0?(l=p.target,p=p.linked,_(T)):l=T;continue}}else y.flags&=-65;if(T.nextSub!==void 0?(l=p.target,p=p.linked):l=T,l.nextDep!==void 0){l=l.nextDep;continue e}f=!1}return f}while(!0)}function _(l){do{let p=l.sub,r=p.flags;(r&96)===64&&(p.flags=r|32|8,(r&10)===2&&(n[i++]=p)),l=l.nextSub}while(l!==void 0)}function A(l,p){let r=p.depsTail;if(r!==void 0){let f=p.deps;do{if(f===l)return!0;if(f===r)break;f=f.nextDep}while(f!==void 0)}return!1}function S(l){do{let p=l.dep,r=l.nextDep,f=l.nextSub,h=l.prevSub;if(f!==void 0?f.prevSub=h:p.subsTail=h,h!==void 0?h.nextSub=f:p.subs=f,p.subs===void 0&&"deps"in p){let y=p.flags;y&32||(p.flags=y|32);let T=p.deps;if(T!==void 0){l=T,p.depsTail.nextDep=r,p.deps=void 0,p.depsTail=void 0;continue}}l=r}while(l!==void 0)}}var{link:oe,propagate:Ht,updateDirtyFlag:Ut,startTracking:Te,endTracking:Ae,processEffectNotifications:qe,processComputedUpdate:Pt,processPendingInnerEffects:Ge}=$t({updateComputed(e){let t=I;I=e,Te(e);try{let n=e.currentValue,o=e.getter(n);return n!==o?(e.currentValue=o,!0):!1}finally{I=t,Ae(e)}},notifyEffect(e){return"isScope"in e?Ft(e):Bt(e)}}),je=[],_e=0,I,me;function ze(){++_e}function Je(){--_e||qe()}function Ke(){je.push(I),I=void 0}function Xe(){I=je.pop()}function Ye(e){return Vt.bind({currentValue:e,subs:void 0,subsTail:void 0})}function Ze(e){return Wt.bind({currentValue:void 0,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:33,getter:e})}function Qe(e){let t={fn:e,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:2};I!==void 0?oe(t,I):me!==void 0&&oe(t,me);let n=I;I=t;try{t.fn()}finally{I=n}return qt.bind(t)}function Bt(e){let t=e.flags;if(t&32||t&64&&Ut(e,t)){let n=I;I=e,Te(e);try{e.fn()}finally{I=n,Ae(e)}}else Ge(e,e.flags);return!0}function Ft(e){return e.flags&128?(Ge(e,e.flags),!0):!1}function Wt(){let e=this.flags;return e&96&&Pt(this,e),I!==void 0?oe(this,I):me!==void 0&&oe(this,me),this.currentValue}function Vt(...e){if(e.length){if(this.currentValue!==(this.currentValue=e[0])){let t=this.subs;t!==void 0&&(Ht(t),_e||qe())}}else return I!==void 0&&oe(this,I),this.currentValue}function qt(){Te(this),Ae(this)}function Gt(e,t){if(typeof t!="function"){e(t);return}Ke();let n=e();Xe(),e(t(n))}function et(e){let t=Ye(e);return[t,i=>Gt(t,i)]}var Y=et;var we=null;function tt(e){we&&we.disposers.push(e)}function nt(){return we!==null}var jt=32;var zt=[];for(let e=0;e<jt;e++)zt.push([]);function F(e){let t=Qe(e);return nt()&&tt(t),t}function ke(e){return Ze(e)}function $(e){ze();try{e()}finally{Je()}}function ot(e){let t=e.length;if(t===0)return[];let n=new Int32Array(t),o=new Int32Array(t),i=new Int32Array(t).fill(-1),a=0;for(let m=0;m<t;m++){let u=e[m],d=0,b=a;for(;d<b;){let v=d+b>>1;n[v]<u?d=v+1:b=v}n[d]=u,o[d]=m,d>0&&(i[m]=o[d-1]),d>=a&&a++}let s=new Array(a),c=o[a-1];for(let m=a-1;m>=0;m--)s[m]=c,c=i[c];return s}var Jt=32;function Kt(e,t,n,o,i,a,s,c,m){let u=t.length,d=n.length,b=new Array(u);for(let r=0;r<u;r++)b[r]=i(t[r]);let v=new Array(d),g=new Uint8Array(u);for(let r=0;r<d;r++){let f=i(n[r]),h=-1;for(let y=0;y<u;y++)if(!g[y]&&b[y]===f){h=y,g[y]=1;break}v[r]=h}for(let r=0;r<u;r++)if(!g[r])if(m?.onBeforeRemove){let f=o[r];m.onBeforeRemove(f,()=>{f.parentNode&&f.parentNode.removeChild(f)})}else e.removeChild(o[r]);if(u===d){let r=!0;for(let f=0;f<d;f++)if(v[f]!==f){r=!1;break}if(r){let f=new Array(d);for(let h=0;h<d;h++){let y=o[h];s(y,n[h]),f[h]=y}return{nodes:f,items:n}}}let E=[],_=[];for(let r=0;r<d;r++)v[r]!==-1&&(E.push(v[r]),_.push(r));let A=ot(E),S=new Uint8Array(d);for(let r of A)S[_[r]]=1;let l=new Array(d),p=c??null;for(let r=d-1;r>=0;r--){let f,h=!1;if(v[r]===-1)f=a(n[r]),h=!0;else if(f=o[v[r]],s(f,n[r]),S[r]){l[r]=f,p=f;continue}p?e.insertBefore(f,p):e.appendChild(f),h&&m?.onInsert?.(f),l[r]=f,p=f}return{nodes:l,items:n}}function Re(e,t,n,o,i,a,s,c,m){let u=t.length,d=n.length;if(d===0){for(let r=0;r<u;r++)if(m?.onBeforeRemove){let f=o[r];m.onBeforeRemove(f,()=>{f.parentNode&&f.parentNode.removeChild(f)})}else e.removeChild(o[r]);return{nodes:[],items:[]}}if(u===0){let r=new Array(d);for(let f=0;f<d;f++){let h=a(n[f]);c?e.insertBefore(h,c):e.appendChild(h),m?.onInsert?.(h),r[f]=h}return{nodes:r,items:n}}if(u<Jt)return Kt(e,t,n,o,i,a,s,c,m);let b=new Map;for(let r=0;r<u;r++)b.set(i(t[r]),r);let v=new Array(d),g=new Uint8Array(u);for(let r=0;r<d;r++){let f=i(n[r]),h=b.get(f);h!==void 0?(v[r]=h,g[h]=1):v[r]=-1}for(let r=0;r<u;r++)if(!g[r])if(m?.onBeforeRemove){let f=o[r];m.onBeforeRemove(f,()=>{f.parentNode&&f.parentNode.removeChild(f)})}else e.removeChild(o[r]);if(u===d){let r=!0;for(let f=0;f<d;f++)if(v[f]!==f){r=!1;break}if(r){let f=new Array(d);for(let h=0;h<d;h++){let y=o[h];s(y,n[h]),f[h]=y}return{nodes:f,items:n}}}let E=[],_=[];for(let r=0;r<d;r++)v[r]!==-1&&(E.push(v[r]),_.push(r));let A=ot(E),S=new Uint8Array(d);for(let r of A)S[_[r]]=1;let l=new Array(d),p=c??null;for(let r=d-1;r>=0;r--){let f,h=!1;if(v[r]===-1)f=a(n[r]),h=!0;else if(f=o[v[r]],s(f,n[r]),S[r]){l[r]=f,p=f;continue}p?e.insertBefore(f,p):e.appendChild(f),h&&m?.onInsert?.(f),l[r]=f,p=f}return{nodes:l,items:n}}function Xt(e){let t=new Set,n=e.attributes;for(let o=0;o<n.length;o++){let i=n[o].name;i.startsWith("data-bind:")&&t.add(i.slice(10))}return t}function Yt(e){return e.hasAttribute("data-list")||e.hasAttribute("data-if")}function it(e){try{let t=JSON.parse(e);return Object.keys(t).sort()}catch{return[]}}function Zt(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function Qt(e,t){let n=e.getAttribute("data-module"),o=t.getAttribute("data-module");if(n!==o)return"REPLACE";let a=e.__formaInitialState??e.getAttribute("data-forma-state")??"{}",s=t.getAttribute("data-forma-state")??"{}",c=it(a),m=it(s);return Zt(c,m)?"PRESERVE":"RESET"}var pe=null;function en(e){return pe||(pe=document.createElement("template")),pe.innerHTML=e,pe.content}function Me(e,t){let n=Xt(e),o=e.hasAttribute("data-show"),i=e.hasAttribute("data-model"),a=!1,s=e.attributes;for(let m=0;m<s.length;m++)if(s[m].name.startsWith("data-class:")){a=!0;break}let c=t.attributes;for(let m=0;m<c.length;m++){let u=c[m];if(u.name==="style"&&o||u.name==="class"&&a||(u.name==="value"||u.name==="checked")&&i||n.has(u.name))continue;e.getAttribute(u.name)!==u.value&&e.setAttribute(u.name,u.value)}for(let m=s.length-1;m>=0;m--){let u=s[m];if(!t.hasAttribute(u.name)){if(u.name==="style"&&o||u.name==="class"&&a||(u.name==="value"||u.name==="checked")&&i||n.has(u.name))continue;e.removeAttribute(u.name)}}}function tn(e,t){if(e.hasAttribute("data-text"))return;let n=[],o=[];for(let s of Array.from(e.childNodes))s.nodeType===Node.TEXT_NODE&&n.push(s);for(let s=0;s<t.childNodes.length;s++){let c=t.childNodes[s];c.nodeType===Node.TEXT_NODE&&o.push({node:c,index:s})}if(n.length===o.length){for(let s=0;s<n.length;s++)n[s].textContent!==o[s].node.textContent&&(n[s].textContent=o[s].node.textContent);return}let i=new Set,a=0;for(let{node:s,index:c}of o)if(a<n.length){let m=n[a];a++,i.add(m),m.textContent!==s.textContent&&(m.textContent=s.textContent)}else{let m=nn(e,t,c);e.insertBefore(document.createTextNode(s.textContent??""),m)}for(let s of n)!i.has(s)&&s.parentNode===e&&e.removeChild(s)}function nn(e,t,n){for(let o=n+1;o<t.childNodes.length;o++){let i=t.childNodes[o];if(i.nodeType===Node.ELEMENT_NODE){let a=i.getAttribute("data-forma-id");if(a){let s=e.querySelector(`[data-forma-id="${CSS.escape(a)}"]`);if(s&&s.parentElement===e)return s}}}return null}function Ce(e,t,n){if(Yt(e))return;tn(e,t);let o=Array.from(e.children),i=Array.from(t.children),a=new Map,s=[];for(let u of o){if(u.hasAttribute("data-forma-leaving"))continue;let d=u.getAttribute("data-forma-id");d?a.set(d,u):s.push(u)}let c=0,m=new Set;for(let u of i){let d=u.getAttribute("data-forma-id"),b;if(d)b=a.get(d);else for(;c<s.length;){let v=s[c];if(c++,v.tagName===u.tagName&&!m.has(v)){b=v;break}}if(b){if(m.add(b),b.hasAttribute("data-forma-state")&&u.hasAttribute("data-forma-state"))switch(Qt(b,u)){case"PRESERVE":Me(b,u),Ce(b,u,n);break;case"RESET":n.unmountScope(b),Me(b,u),on(b,u),n.mountScope(b);break;case"REPLACE":{n.unmountScope(b);let g=u.cloneNode(!0);e.replaceChild(g,b),n.mountScope(g),m.delete(b),b=g,m.add(g);break}}else Me(b,u),Ce(b,u,n);rn(e,b,u,i)}else{let v=u.cloneNode(!0),g=sn(e,u,i);e.insertBefore(v,g),m.add(v),v.hasAttribute("data-forma-state")&&n.mountScope(v);let E=v.querySelectorAll("[data-forma-state]");for(let _ of Array.from(E))n.mountScope(_)}}for(let u of o)if(!m.has(u)){if(u.parentElement!==e||u.hasAttribute("data-forma-leaving"))continue;u.hasAttribute("data-forma-state")&&n.unmountScope(u);let d=u.querySelectorAll("[data-forma-state]");for(let b of Array.from(d))n.unmountScope(b);e.removeChild(u)}}function on(e,t){for(;e.firstChild;)e.removeChild(e.firstChild);for(let n of Array.from(t.childNodes))e.appendChild(n.cloneNode(!0))}function rn(e,t,n,o){let i=o.indexOf(n);if(Array.from(e.children).indexOf(t)!==i){let c=o[i+1];if(c){let m=c.getAttribute("data-forma-id");if(m){let u=e.querySelector(`[data-forma-id="${CSS.escape(m)}"]`);if(u&&u.parentElement===e){e.insertBefore(t,u);return}}}e.appendChild(t)}}function sn(e,t,n){let o=n.indexOf(t);for(let i=o+1;i<n.length;i++){let a=n[i].getAttribute("data-forma-id");if(a){let s=e.querySelector(`[data-forma-id="${CSS.escape(a)}"]`);if(s&&s.parentElement===e)return s}}return null}function rt(e){let t="";return function(o,i){let a=i.trim();if(a&&!(a===t&&o.hasChildNodes())){t=a,e.disconnectObserver();try{if(!o.hasChildNodes()||o.children.length===0){o.innerHTML=a,e.batch(()=>{let d=o.querySelectorAll("[data-forma-state]");for(let b of Array.from(d))e.mountScope(b)});return}let s=en(a),c=document.createElement("div");c.appendChild(s);let m=new Set;for(let d of Array.from(o.children)){if(d.hasAttribute("data-forma-leaving"))continue;let b=d.getAttribute("data-forma-id");b&&m.add(b)}let u=!1;if(m.size>0)for(let d of Array.from(c.children)){let b=d.getAttribute("data-forma-id");if(b&&m.has(b)){u=!0;break}}if(m.size>0&&!u){e.batch(()=>{let d=o.querySelectorAll("[data-forma-state]");for(let v of Array.from(d))e.unmountScope(v);o.innerHTML=a;let b=o.querySelectorAll("[data-forma-state]");for(let v of Array.from(b))e.mountScope(v)});return}e.batch(()=>{Ce(o,c,e)})}finally{e.reconnectObserver()}}}}var Ie=new Map;function gt(e){let t=Ie.get(e);t?t():L&&N(`$refetch: no data-fetch with id "${e}" found`)}function st(e,t){let n=Object.create(null);for(let o of Object.keys(t))n[o]=()=>t[o];return{getters:new Proxy(e.getters,{get(o,i){return i in n?n[i]:o[i]},has(o,i){return i in n||i in o}}),setters:e.setters}}var L=!1,H="mutable",U=!1,Pe=!0;function N(...e){(L||typeof window<"u"&&window.__FORMA_DEBUG)&&console.log("[FormaJS]",...e)}var le=new Map;function ge(e){if(e==null)return;let t=e.trim().toLowerCase();if(t==="1"||t==="true"||t==="on"||t==="yes")return!0;if(t==="0"||t==="false"||t==="off"||t==="no")return!1}function Oe(e){if(e==null)return;let t=e.trim().toLowerCase();if(t==="mutable")return"mutable";if(t==="locked-off"||t==="off"||t==="disabled")return"locked-off";if(t==="locked-on"||t==="on"||t==="enabled")return"locked-on"}function an(){let e={};if(typeof window<"u"){let t=window.__FORMA_RUNTIME_CONFIG;if(t){if(typeof t.allowUnsafeEval=="boolean"&&(e.allowUnsafeEval=t.allowUnsafeEval),typeof t.unsafeEvalMode=="string"){let n=Oe(t.unsafeEvalMode);n&&(e.unsafeEvalMode=n)}typeof t.lockUnsafeEval=="boolean"&&(e.lockUnsafeEval=t.lockUnsafeEval),typeof t.diagnostics=="boolean"&&(e.diagnostics=t.diagnostics),typeof t.autoContainment=="boolean"&&(e.autoContainment=t.autoContainment)}}if(typeof document<"u"){let t=document.currentScript;if(t){let n=ge(t.getAttribute("data-forma-unsafe-eval"));n!==void 0&&(e.allowUnsafeEval=n);let o=Oe(t.getAttribute("data-forma-unsafe-eval-mode"));o!==void 0&&(e.unsafeEvalMode=o);let i=ge(t.getAttribute("data-forma-lock-unsafe-eval"));i!==void 0&&(e.lockUnsafeEval=i);let a=ge(t.getAttribute("data-forma-diagnostics"));a!==void 0&&(e.diagnostics=a);let s=ge(t.getAttribute("data-forma-auto-containment"));s!==void 0&&(e.autoContainment=s)}}return e}function Z(e,t,n){if(!Pe)return;let o=`${e}|${n}|${t}`,i=Date.now(),a=le.get(o);a?(a.count+=1,a.lastSeenAt=i):(le.set(o,{kind:e,expr:t,reason:n,count:1,firstSeenAt:i,lastSeenAt:i}),console.warn(`[FormaJS] ${n}: ${t}`));try{if(typeof window<"u"){let s={kind:e,expr:t,reason:n,count:le.get(o)?.count??1};window.dispatchEvent(new CustomEvent("formajs:diagnostic",{detail:s}))}}catch{}}var at=Oe("locked-off");at&&(H=at,H==="locked-off"&&(U=!1),H==="locked-on"&&(U=!0),H==="mutable"&&(U=!0));var X=an(),lt=X.lockUnsafeEval?"locked-off":X.unsafeEvalMode;lt&&(H=lt,H==="locked-off"&&(U=!1),H==="locked-on"&&(U=!0));H==="mutable"&&typeof X.allowUnsafeEval=="boolean"&&(U=X.allowUnsafeEval);typeof X.diagnostics=="boolean"&&(Pe=X.diagnostics);var ln=X.autoContainment===!0;function cn(){let e=globalThis?.scheduler;if(e&&(typeof e.yield=="function"||typeof e.postTask=="function"))return e}async function ht(){let e=cn();if(e?.yield){await e.yield();return}if(e?.postTask){await e.postTask(()=>{},{priority:"background"});return}await new Promise(t=>setTimeout(t,0))}function vt(e=document,t={}){let n=t.selector??"[data-forma-contain]";if(!n||typeof e.querySelectorAll!="function")return 0;let o=e.querySelectorAll(n),i=0;for(let a=0;a<o.length;a++){let s=o[a];if(!s?.style)continue;let c=s.getAttribute("data-forma-contain")??t.contain??"layout style paint",m=s.getAttribute("data-forma-content-visibility")??t.contentVisibility??"auto",u=s.getAttribute("data-forma-contain-intrinsic-size")??t.containIntrinsicSize??"auto 800px",d=t.skipIfAlreadySet===!0,b=!1,v=s.style.getPropertyValue("contain"),g=s.style.getPropertyValue("content-visibility"),E=s.style.getPropertyValue("contain-intrinsic-size");c!=="off"&&(!d||!v)&&(s.style.setProperty("contain",c),b=!0),m!=="off"&&(!d||!g)&&(s.style.setProperty("content-visibility",m),b=!0),u!=="off"&&(!d||!E)&&(s.style.setProperty("contain-intrinsic-size",u),b=!0),b&&i++}return L&&i>0&&N("applyContainmentHints: applied to",i,"element(s)"),i}var bt=/^'[^']*'$/,Et=/^"[^"]*"$/,yt=/^-?\d+(\.\d+)?$/,St=/^[a-zA-Z_$]\w*$/,fn=/^(\w+)\.(\w+)$/;var un=/^(\w+)\[(\d+|'[^']*'|"[^"]*")\]$/,dn=/^(.+?)\s*\?\s*(.+?)\s*:\s*(.+)$/,mn=/^(.+?)\s*\?\?\s*(.+)$/,pn=/^(.+?)\s*&&\s*(.+)$/,gn=/^(.+?)\s*\|\|\s*(.+)$/,hn=/^(.+?)\s*(===|!==|==|!=|>=|<=|>|<)\s*(.+)$/,vn=/^(.+?)\s*([*/%])\s*(.+)$/,bn=/^(.+?)\s*([+-])\s*(.+)$/,En=/^`([^`]*)`$/,yn=/\$\{([^}]+)\}/g;var Sn=/^\((.+)\)\.(\w+)\((.*)\)$/,$e=/^\{|\}$/g;var Tn=/^\d+$/,An=/^(\w+)(\+\+|--)$/,_n=/^(\+\+|--)(\w+)$/,wn=/^(\w+)\s*=\s*!(\w+)$/,kn=/^(\w+)\s*=\s*(.+)$/,Rn=/^(\w+)\s*(\+=|-=|\*=|\/=)\s*(.+)$/,Mn=/^if\b/,Cn=/(\w+)\s*:/g,xn=/^(\w+)\s*=\s*(.+)$/,Nn=/^(.+?)(?:→|->)\s*(\S+)(.*)$/,Dn=/^(GET|POST|PUT|PATCH|DELETE)\s+(.+)$/i,Ln=/^\{item\.?|\}$/g,In=/\bevent\b|\$event\b/,On=/^\$refetch\(\s*['"]([^'"]+)['"]\s*\)$/,Ee=Symbol.for("forma-transition-state"),$n=2048,re=new Map;function ie(e,t){if(re.size>=$n){let n=re.keys().next().value;n!==void 0&&re.delete(n)}re.set(e,t)}var Be=new WeakMap,Fe=new WeakMap,ct=new Map,We=new Set(["constructor","__proto__","prototype","__defineGetter__","__defineSetter__","__lookupGetter__","__lookupSetter__","eval"]),Hn=(()=>{let e=[];for(let t of We){let n=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");e.push({name:t,dotRe:new RegExp(`(?:^|\\.)${n}(?:\\s*\\(|\\s*$|[^\\w$])`,"m"),bracketRe:new RegExp(`\\[\\s*(?:'${n}'|"${n}"|\``+n+"`)\\s*\\]")})}return e})();function Tt(e){let t=e.replace(/\/\*[\s\S]*?\*\//g,"");t=t.replace(/\/\/[^\n]*/g,""),t=t.replace(/\s*\.\s*/g,".");for(let{name:n,dotRe:o,bracketRe:i}of Hn)if(o.test(t)||i.test(t))return n;return null}var ft=Symbol.for("forma-text-binding-cache");function Un(e){return e==null?"":typeof e=="string"?e:typeof e=="symbol"?e.toString():String(e)}function Pn(e,t){let n=e[ft];if(n||(n={initialized:!1,last:"",node:null},e[ft]=n),n.initialized&&n.last===t)return;let o=n.node;if(!o||o.parentNode!==e||e.childNodes.length!==1||e.firstChild!==o)if(e.childNodes.length===1&&e.firstChild?.nodeType===Node.TEXT_NODE)o=e.firstChild,n.node=o;else{e.textContent=t;let i=e.firstChild;n.node=i&&i.nodeType===Node.TEXT_NODE&&e.childNodes.length===1?i:null,n.last=t,n.initialized=!0;return}o.data=t,n.last=t,n.initialized=!0}function He(e){let t=[];if(e.trim()==="")return t;let n=0,o=!1,i=!1,a=!1,s=0;for(let c=0;c<e.length;c++){let m=e[c];if(a){a=!1;continue}if(m==="\\"){a=!0;continue}if(o){m==="'"&&(o=!1);continue}if(i){m==='"'&&(i=!1);continue}if(m==="'"){o=!0;continue}if(m==='"'){i=!0;continue}if(m==="("){n++;continue}if(m===")"){n>0&&n--;continue}m===","&&n===0&&(t.push(e.slice(s,c).trim()),s=c+1)}return t.push(e.slice(s).trim()),t.filter(Boolean)}function Q(e,t,n,o){if(e[t]!==n)return null;let i=0,a=!1,s=!1,c=!1,m=!1;for(let u=t;u<e.length;u++){let d=e[u];if(m){m=!1;continue}if(d==="\\"&&(a||s||c)){m=!0;continue}if(a){d==="'"&&(a=!1);continue}if(s){d==='"'&&(s=!1);continue}if(c){d==="`"&&(c=!1);continue}if(d==="'"){a=!0;continue}if(d==='"'){s=!0;continue}if(d==="`"){c=!0;continue}if(d===n){i++;continue}if(d===o&&(i--,i===0))return{inner:e.slice(t+1,u),end:u}}return null}function Bn(e){let t=e.trim();if(!t)return[];let n=[],o=0,i=0,a=0,s=!1,c=!1,m=!1,u=!1,d=0;for(let v=0;v<t.length;v++){let g=t[v];if(u){u=!1;continue}if(g==="\\"&&(s||c||m)){u=!0;continue}if(s){g==="'"&&(s=!1);continue}if(c){g==='"'&&(c=!1);continue}if(m){g==="`"&&(m=!1);continue}if(g==="'"){s=!0;continue}if(g==='"'){c=!0;continue}if(g==="`"){m=!0;continue}if(g==="("?o++:g===")"&&o>0?o--:g==="{"?i++:g==="}"&&i>0?i--:g==="["?a++:g==="]"&&a>0&&a--,g===";"&&o===0&&i===0&&a===0){let E=t.slice(d,v).trim();E&&n.push(E),d=v+1}}let b=t.slice(d).trim();return b&&n.push(b),n}function ut(e){let t=e.trim();if(!t)return null;if(t.startsWith("{")){let u=Q(t,0,"{","}");if(!u)return null;let d=u.inner.trim(),b=t.slice(u.end+1).trim();return b.startsWith(";")&&(b=b.slice(1).trim()),{body:d,rest:b}}let n=0,o=0,i=0,a=!1,s=!1,c=!1,m=!1;for(let u=0;u<t.length;u++){let d=t[u];if(m){m=!1;continue}if(d==="\\"&&(a||s||c)){m=!0;continue}if(a){d==="'"&&(a=!1);continue}if(s){d==='"'&&(s=!1);continue}if(c){d==="`"&&(c=!1);continue}if(d==="'"){a=!0;continue}if(d==='"'){s=!0;continue}if(d==="`"){c=!0;continue}if(d==="("?n++:d===")"&&n>0?n--:d==="{"?o++:d==="}"&&o>0?o--:d==="["?i++:d==="]"&&i>0&&i--,d===";"&&n===0&&o===0&&i===0)return{body:t.slice(0,u).trim(),rest:t.slice(u+1).trim()}}return{body:t,rest:""}}function Fn(e,t){let n=e.trim();if(!Mn.test(n)||In.test(n))return null;let o=2;for(;o<n.length&&/\s/.test(n[o]);)o++;if(n[o]!=="(")return null;let i=Q(n,o,"(",")");if(!i)return null;let a=M(i.inner.trim(),t);if(!a)return null;let s=n.slice(i.end+1).trim(),c=ut(s);if(!c||!c.body)return null;let m=ye(c.body,t);if(!m)return null;s=c.rest.trim();let u=null;if(s.startsWith("else")){s=s.slice(4).trim();let d=ut(s);if(!d||!d.body||(u=ye(d.body,t),!u))return null;s=d.rest.trim()}return s.length>0?null:d=>{$(()=>{a()?m(d):u?.(d)})}}function Wn(e){let t=e.trim();for(;t.startsWith("(");){let n=Q(t,0,"(",")");if(!n||n.end!==t.length-1)break;let o=n.inner.trim();if(!o)break;t=o}return t}function At(e){let t=ct.get(e);if(t)return t;let n=[],o=[],i=0,a=/\{item\.?(\w*)\}/g,s;for(;(s=a.exec(e))!==null;)n.push(e.slice(i,s.index)),o.push(s[1]),i=a.lastIndex;n.push(e.slice(i));let c={statics:n,dynamics:o,hasItemRef:o.length>0};return ct.set(e,c),c}var _t=new WeakMap;function Ve(e,t){if(!e.hasItemRef)return e.statics[0];let n=e.statics[0];for(let o=0;o<e.dynamics.length;o++){let i=e.dynamics[o];i?n+=String(t?.[i]??""):n+=typeof t=="object"?JSON.stringify(t):String(t??""),n+=e.statics[o+1]??""}return n}function Vn(e,t){let n=e.cloneNode(!0),o=document.createTreeWalker(n,NodeFilter.SHOW_TEXT);for(;o.nextNode();){let i=o.currentNode,a=i.textContent??"";if(a.includes("{item")){let s=At(a);_t.set(i,s),i.textContent=Ve(s,t)}}return Yn(n,t),n}function qn(e,t){let n=document.createTreeWalker(e,NodeFilter.SHOW_TEXT);for(;n.nextNode();){let o=n.currentNode,i=_t.get(o);i&&(o.textContent=Ve(i,t))}}var Gn=new WeakMap,jn=["data-list","data-show","data-text","data-if","data-model","data-on:","data-class:","data-bind:","data-computed","data-persist","data-fetch","data-transition","data-transition:"];function zn(e){for(let t of jn)if(e===t||e.startsWith(t))return!0;return!1}function se(e){return e?e.trim().split(/\s+/).map(t=>t.trim()).filter(Boolean):[]}function ce(e){let t=e.trim().toLowerCase();if(t.endsWith("ms")){let n=Number(t.slice(0,-2));return Number.isFinite(n)&&n>=0?n:null}if(t.endsWith("s")){let n=Number(t.slice(0,-1));return Number.isFinite(n)&&n>=0?n*1e3:null}return null}function xe(e){let t=[],n;for(let o of se(e)){let i=ce(o);i!=null?n=i:t.push(o)}return{classes:t,durationMs:n}}function G(e){return Array.from(new Set(e.filter(Boolean)))}function he(e){return e?e.split(",").map(t=>ce(t.trim())).filter(t=>t!=null):[]}function dt(e,t){if(e.length===0&&t.length===0)return 0;if(e.length===0)return Math.max(...t,0);if(t.length===0)return Math.max(...e,0);let n=Math.max(e.length,t.length),o=0;for(let i=0;i<n;i++){let a=e[i%e.length]??0,s=t[i%t.length]??0;a+s>o&&(o=a+s)}return o}function Jn(e,t){if(typeof t=="number")return t;let n=window.getComputedStyle(e),o=dt(he(n.transitionDuration),he(n.transitionDelay)),i=dt(he(n.animationDuration),he(n.animationDelay));return Math.max(o,i)}function q(e){let t=e[Ee];if(t)return t;let n={token:0,cancel:null};return e[Ee]=n,n}function ve(e){let t=e[Ee];t?.cancel&&t.cancel(),delete e[Ee]}function Ne(e){if(!(e.hasAttribute("data-transition")||Array.from(e.attributes).some(v=>v.name.startsWith("data-transition:"))))return null;let n=xe(e.getAttribute("data-transition")).classes,o=xe(e.getAttribute("data-transition:enter")),i=xe(e.getAttribute("data-transition:leave")),a=se(e.getAttribute("data-transition:enter-from")??e.getAttribute("data-transition:enter-start")),s=se(e.getAttribute("data-transition:enter-to")??e.getAttribute("data-transition:enter-end")),c=se(e.getAttribute("data-transition:leave-from")??e.getAttribute("data-transition:leave-start")),m=se(e.getAttribute("data-transition:leave-to")??e.getAttribute("data-transition:leave-end")),u=ce(e.getAttribute("data-transition:duration")??""),d=ce(e.getAttribute("data-transition:duration-enter")??"")??o.durationMs??u??void 0,b=ce(e.getAttribute("data-transition:duration-leave")??"")??i.durationMs??u??void 0;return{enter:G([...n,...o.classes]),enterFrom:G(a),enterTo:G(s),leave:G([...n,...i.classes]),leaveFrom:G(c),leaveTo:G(m),enterDurationMs:d,leaveDurationMs:b}}function be(e,t){for(let n of t)e.classList.remove(n)}function De(e,t){for(let n of t)e.classList.add(n)}function ue(e,t,n){let o=G([...t.base,...t.from,...t.to]),i=!1,a=null,s=null,c=null,m=()=>{i||(i=!0,a!=null&&window.clearTimeout(a),s!=null&&cancelAnimationFrame(s),c!=null&&cancelAnimationFrame(c),be(e,o),n())};return De(e,t.base),De(e,t.from),be(e,t.to),s=requestAnimationFrame(()=>{c=requestAnimationFrame(()=>{if(i)return;be(e,t.from),De(e,t.to);let u=Jn(e,t.durationMs);if(u<=0){m();return}a=window.setTimeout(m,u+25)})}),m}function Kn(e,t,n,o){if(t.insertBefore(e,n),!o)return;let i=q(e);i.token+=1;let a=i.token;i.cancel&&i.cancel(),i.cancel=ue(e,{base:o.enter,from:o.enterFrom,to:o.enterTo,durationMs:o.enterDurationMs},()=>{let s=q(e);s.token===a&&(s.cancel=null)})}function mt(e,t,n){if(e.hasAttribute("data-forma-leaving")){n();return}if(!t){n();return}e.setAttribute("data-forma-leaving","");let o=q(e);o.token+=1;let i=o.token;o.cancel&&o.cancel(),o.cancel=ue(e,{base:t.leave,from:t.leaveFrom,to:t.leaveTo,durationMs:t.leaveDurationMs},()=>{let a=q(e);a.token===i&&(a.cancel=null),e.removeAttribute("data-forma-leaving"),n()})}function Xn(e,t,n,o){if(!n||o){e.style.display=t?"":"none",n&&be(e,G([...n.enter,...n.enterFrom,...n.enterTo,...n.leave,...n.leaveFrom,...n.leaveTo]));return}let i=q(e);i.token+=1;let a=i.token;if(i.cancel&&i.cancel(),i.cancel=null,t){e.style.display="",i.cancel=ue(e,{base:n.enter,from:n.enterFrom,to:n.enterTo,durationMs:n.enterDurationMs},()=>{let s=q(e);s.token===a&&(s.cancel=null)});return}i.cancel=ue(e,{base:n.leave,from:n.leaveFrom,to:n.leaveTo,durationMs:n.leaveDurationMs},()=>{let s=q(e);s.token===a&&(e.style.display="none",s.cancel=null)})}function Yn(e,t){let n=[e,...Array.from(e.querySelectorAll("*"))];for(let o of n){let i=[];for(let a of Array.from(o.attributes))if(!zn(a.name)&&a.value.includes("{item")){let s=At(a.value);i.push({attr:a.name,compiled:s}),o.setAttribute(a.name,Ve(s,t))}i.length>0&&Gn.set(o,i)}}function Zn(e,t){let n=0,o=e.match(/^[a-zA-Z_$]\w*/);if(!o)return null;let i=o[0];if(n=i.length,n>=e.length||e[n]!=="."&&!(e[n]==="?"&&e[n+1]==="."))return null;let a=[];for(;n<e.length;){let c=!1;if(e[n]==="?"&&e[n+1]===".")c=!0,n+=2;else if(e[n]===".")n+=1;else return null;let m=e.slice(n).match(/^\w+/);if(!m)return null;let u=m[0];if(n+=u.length,We.has(u))return()=>{};if(n<e.length&&e[n]==="("){let d=Q(e,n,"(",")");if(!d)return null;let b=d.inner.trim(),v=[];for(let g of He(b)){let E=M(g,t);if(!E)return null;v.push(E)}a.push({type:"call",name:u,optional:c,argFns:v}),n=d.end+1}else a.push({type:"prop",name:u,optional:c})}if(n!==e.length||a.length===0)return null;let s=i==="Math"?(()=>Math):(()=>t.getters[i]?.());return()=>{let c=s();for(let m of a){if(c==null)return m.optional,void 0;if(m.type==="prop")c=c[m.name];else{let u=c[m.name];if(typeof u!="function")return;let d=m.argFns.map(b=>b());c=u.apply(c,d)}}return c}}function M(e,t){let n=re.get(e);if(n)return n(t);let o=Qn(e,t);if(o!==null)if(e==="true"||e==="false"||e==="null"||e==="undefined"){let i=e==="true"?!0:e==="false"?!1:e==="null"?null:void 0;ie(e,()=>()=>i)}else if(St.test(e))ie(e,i=>()=>i.getters[e]?.());else if(bt.test(e)||Et.test(e)){let i=e.slice(1,-1);ie(e,()=>()=>i)}else if(yt.test(e)){let i=Number(e);ie(e,()=>()=>i)}else{let i=e.match(fn);if(i){let a=i[1],s=i[2];ie(e,c=>()=>c.getters[a]?.()?.[s])}}return o}function Qn(e,t){e=e.trim();let n=Wn(e);if(n!==e)return M(n,t);if(bt.test(e)||Et.test(e)){let g=e.slice(1,-1);return()=>g}if(yt.test(e)){let g=Number(e);return()=>g}if(e==="true")return()=>!0;if(e==="false")return()=>!1;if(e==="null")return()=>null;if(e==="undefined")return()=>{};if(St.test(e))return()=>t.getters[e]?.();{let g=Zn(e,t);if(g)return g}let o=e.match(Sn);if(o){let g=o[1].trim(),E=o[2],_=o[3].trim();if(We.has(E))return()=>{};let A=M(g,t);if(!A)return null;let S=[];for(let l of He(_)){let p=M(l,t);if(!p)return null;S.push(p)}return()=>{let l=A(),p=l?.[E];if(typeof p!="function")return;let r=S.map(f=>f());return p.apply(l,r)}}if(e.startsWith("!")){let g=M(e.slice(1).trim(),t);if(g)return()=>!g()}let i=e.match(un);if(i){let g=M(i[1],t),E,_=i[2];if(Tn.test(_)?E=Number(_):E=_.slice(1,-1),g)return()=>g()?.[E]}if(e.startsWith("[")){let g=Q(e,0,"[","]");if(g&&g.end===e.length-1){let E=g.inner.trim();if(E==="")return()=>[];let _=He(E),A=[],S=!0;for(let l of _){let p=M(l.trim(),t);if(!p){S=!1;break}A.push(p)}if(S)return()=>A.map(l=>l())}}let a=e.match(dn);if(a){let g=M(a[1].trim(),t),E=M(a[2].trim(),t),_=M(a[3].trim(),t);if(g&&E&&_)return()=>g()?E():_()}let s=e.match(mn);if(s){let g=M(s[1].trim(),t),E=M(s[2].trim(),t);if(g&&E)return()=>g()??E()}let c=e.match(pn);if(c){let g=M(c[1].trim(),t),E=M(c[2].trim(),t);if(g&&E)return()=>g()&&E()}let m=e.match(gn);if(m){let g=M(m[1].trim(),t),E=M(m[2].trim(),t);if(g&&E)return()=>g()||E()}let u=e.match(hn);if(u){let g=M(u[1].trim(),t),E=M(u[3].trim(),t);if(g&&E){let _=u[2];return()=>{let A=g(),S=E();switch(_){case"===":return A===S;case"!==":return A!==S;case"==":return A==S;case"!=":return A!=S;case">":return A>S;case"<":return A<S;case">=":return A>=S;case"<=":return A<=S}}}}let d=e.match(vn);if(d){let g=M(d[1].trim(),t),E=M(d[3].trim(),t);if(g&&E){let _=d[2];return()=>{let A=g(),S=E();switch(_){case"*":return A*S;case"/":return A/S;case"%":return A%S}}}}let b=e.match(bn);if(b){let g=M(b[1].trim(),t),E=M(b[3].trim(),t);if(g&&E){let _=b[2];return()=>{let A=g(),S=E();return _==="+"?A+S:A-S}}}let v=e.match(En);if(v){let g=v[1],E=[],_=[],A=0,S=new RegExp(yn.source,"g"),l;for(;(l=S.exec(g))!==null;){E.push(g.slice(A,l.index));let p=M(l[1].trim(),t);if(!p)return null;_.push(p),A=S.lastIndex}return E.push(g.slice(A)),()=>{let p=E[0];for(let r=0;r<_.length;r++)p+=String(_[r]()??""),p+=E[r+1]??"";return p}}return null}function wt(e,t){let n=e.get(t);return n||(n=new Map,e.set(t,n)),n}function kt(e){return e.includes("...")?"Unsupported expression in CSP-safe mode: spread syntax detected. Use .concat() instead, or enable unsafe-eval via setUnsafeEval(true).":e.includes("=>")?"Unsupported expression in CSP-safe mode: arrow function detected. Extract logic to a data-computed attribute, or enable unsafe-eval via setUnsafeEval(true).":"Unsupported expression in CSP-safe mode. Simplify the expression or enable unsafe-eval via setUnsafeEval(true)."}function j(e,t){let n=e.replace($e,"").trim(),o=wt(Be,t),i=o.get(n);if(i)return i;let a=M(n,t);if(a)return o.set(n,a),a;if(!U){N("buildEvaluator: blocked unsafe eval fallback for expression:",n),Z("expression-unsupported",n,kt(n));let c=()=>{};return o.set(n,c),c}let s=Tt(n);if(s){let c=`Blocked unsafe method "${s}" in expression`;throw Z("expression-unsupported",n,c),new Error(`[FormaJS] ${c}: ${n}`)}try{let c=new Function("__scope",`with(__scope) { return (${n}); }`),m=new Proxy(Object.create(null),{has(d,b){return b in t.getters},get(d,b){let v=t.getters[b];return v?v():void 0}}),u=()=>c(m);return o.set(n,u),u}catch{Z("expression-unsupported",n,"Expression too complex for CSP-safe mode. Enable unsafe-eval via FormaRuntime.unsafeEval = true, or use the standard (non-hardened) build.");let c=()=>{};return o.set(n,c),c}}function ye(e,t){let n=e.trim().replace(/;+$/g,"").trim();if(!n)return null;let o=Fn(n,t);if(o)return o;let i=Bn(n);if(i.length>1){let v=i.map(g=>ye(g,t));return v.every(g=>g!==null)?g=>{$(()=>{for(let E of v)E(g)})}:null}let a=i[0]??n,s=a.match(An);if(s){let v=s[1],g=s[2];return()=>{$(()=>{let E=t.getters[v]?.()??0;t.setters[v]?.(g==="++"?E+1:E-1)})}}let c=a.match(_n);if(c){let v=c[1],g=c[2];return()=>{$(()=>{let E=t.getters[g]?.()??0;t.setters[g]?.(v==="++"?E+1:E-1)})}}let m=a.match(wn);if(m&&m[1]===m[2]){let v=m[1];return()=>{$(()=>{t.setters[v]?.(!t.getters[v]?.())})}}let u=a.match(kn);if(u){let v=u[1],g=M(u[2].trim(),t);if(g)return L&&N(`parseHandler: assignment "${v} = ..." \u2014 setter exists:`,!!t.setters[v],", getter exists:",!!t.getters[v]),()=>{$(()=>{let E=g();L&&N(`SETTER: ${v} = ${E} (was: ${t.getters[v]?.()})`),t.setters[v]?.(E)})}}let d=a.match(Rn);if(d){let v=d[1],g=d[2],E=M(d[3].trim(),t);if(E)return()=>{$(()=>{let _=t.getters[v]?.()??0,A=E();switch(g){case"+=":t.setters[v]?.(_+A);break;case"-=":t.setters[v]?.(_-A);break;case"*=":t.setters[v]?.(_*A);break;case"/=":t.setters[v]?.(_/A);break}})}}let b=a.match(On);if(b){let v=b[1];return()=>gt(v)}return null}function eo(e,t){let n=e.trim();if(n.startsWith("{")){let c=Q(n,0,"{","}");c&&c.end===n.length-1&&(n=c.inner.trim())}let o=wt(Fe,t),i=o.get(n);if(i)return i;let a=ye(n,t);if(a){let c={handler:a,supported:!0};return o.set(n,c),c}if(!U){N("buildHandler: blocked unsafe eval fallback for expression:",n),Z("handler-unsupported",n,kt(n));let c={handler:()=>{},supported:!1};return o.set(n,c),c}let s=Tt(n);if(s){let c=`Blocked unsafe method "${s}" in handler`;throw Z("handler-unsupported",n,c),new Error(`[FormaJS] ${c}: ${n}`)}try{let c=new Function("__scope","$event","event",`with(__scope) { ${n} }`),m=new Proxy(Object.create(null),{has(b,v){return v==="$event"||v==="event"?!1:v in t.getters||v in t.setters},get(b,v){let g=t.getters[v];return g?g():void 0},set(b,v,g){let E=t.setters[v];return E&&E(g),!0}}),d={handler:b=>{$(()=>c(m,b,b))},supported:!0};return o.set(n,d),d}catch{Z("handler-unsupported",n,"Expression too complex for CSP-safe mode. Enable unsafe-eval via FormaRuntime.unsafeEval = true, or use the standard (non-hardened) build.");let c={handler:()=>{},supported:!1};return o.set(n,c),c}}var to=new Set(["__proto__","constructor","prototype"]);function Rt(e){let t;try{t=JSON.parse(e)}catch{try{t=JSON.parse(e.replace(Cn,'"$1":'))}catch{return{}}}for(let n of to)n in t&&delete t[n];return t}function no(e){let t=e.getAttribute("data-forma-state")??"{}",n=Rt(t),o=Object.keys(n);L&&(N("initScope: parsed",o.length,"keys:",o.join(", ")),o.length===0&&N("initScope: WARNING \u2014 empty state! Raw attribute:",t.slice(0,200)));let i={},a={};for(let[s,c]of Object.entries(n)){let[m,u]=Y(c);i[s]=m,a[s]=u}return i.$refetch=()=>gt,{getters:i,setters:a}}function z(e,t,n){let o=so(e),i=!o||o.has("data-computed")?e.getAttribute("data-computed"):null;if(i){let S=i.split(/;\s*(?=\w+\s*=[^=])/);for(let l of S){let p=l.trim();if(!p)continue;let r=p.match(xn);if(r){let f=r[1],h=r[2],y=t.getters[f];delete t.getters[f];let T=j(`{${h}}`,t),C=ke(T);t.getters[f]=C,y||delete t.setters[f]}}}let a=!o||o.has("data-text")?e.getAttribute("data-text"):null;if(a){let S=j(a,t),l=F(()=>{Pn(e,Un(S()))});n.push(l)}let s=!o||o.has("data-show")?e.getAttribute("data-show"):null;if(s){let S=j(s,t),l=Ne(e);if(L){let f=e.tagName.toLowerCase(),h=e.className?`.${String(e.className).split(" ")[0]}`:"";N(`bindElement: data-show="${s}" on <${f}${h}>`)}let p=!1,r=F(()=>{let f=!!S();L&&N(`data-show effect: "${s}" \u2192 ${f}`),Xn(e,f,l,!p),p=!0});n.push(r),l&&n.push(()=>ve(e))}let c=!o||o.has("data-if")?e.getAttribute("data-if"):null;if(c){let S=j(c,t),l=Ne(e),p=document.createComment("forma-if"),r=e.parentNode,f=!0,h=!1,y=F(()=>{let T=!!S();T&&!f?(ve(e),e.removeAttribute("data-forma-leaving"),h&&l?Kn(e,r,p,l):r?.insertBefore(e,p),f=!0):!T&&f&&(h&&l?mt(e,l,()=>{e.parentNode&&(r?.insertBefore(p,e),e.remove())}):(r?.insertBefore(p,e),e.remove()),f=!1),h=!0});n.push(y),l&&n.push(()=>ve(e))}let m=!o||o.has("data-model")?e.getAttribute("data-model"):null;if(m){let S=m.replace($e,"").trim(),l=t.getters[S],p=t.setters[S];if(l&&p){let r=e,f=F(()=>{let T=l();r.type==="checkbox"?r.checked=!!T:r.value=String(T??"")});n.push(f);let h=r.type==="checkbox"?"change":"input",y=()=>{r.type==="checkbox"?p(r.checked):r.type==="number"||r.type==="range"?p(Number(r.value)):p(r.value)};r.addEventListener(h,y),n.push(()=>{r.removeEventListener(h,y)})}}let u=!o||ao(o,"data-on:","data-class:","data-bind:"),d=e.attributes;if(u)for(let S=0;S<d.length;S++){let l=d[S],p=l.name;if(p.startsWith("data-on:")){let r=p.slice(8),f=eo(l.value,t),h=f.handler;if(L){let y=e.tagName.toLowerCase(),T=e.id?`#${e.id}`:"",C=e.className?`.${String(e.className).split(" ")[0]}`:"";N(`bindElement: data-on:${r}="${l.value}" on <${y}${T}${C}>`)}if(f.supported?e.hasAttribute("data-forma-handler-error")&&e.removeAttribute("data-forma-handler-error"):e.setAttribute("data-forma-handler-error","unsupported"),L){let y=l.value,T=C=>{N(`HANDLER FIRED: data-on:${r}="${y}"`,"isTrusted:",C.isTrusted),h(C)};e.addEventListener(r,T),n.push(()=>{e.removeEventListener(r,T)})}else e.addEventListener(r,h),n.push(()=>{e.removeEventListener(r,h)})}else if(p.startsWith("data-class:")){let r=p.slice(11),f=j(l.value,t),h=F(()=>{e.classList.toggle(r,!!f())});n.push(h)}else if(p.startsWith("data-bind:")){let r=p.slice(10),f=j(l.value,t),h=F(()=>{let y=f();y==null||y===!1?e.removeAttribute(r):e.setAttribute(r,String(y))});n.push(h)}}let b=!o||o.has("data-persist")?e.getAttribute("data-persist"):null;if(b){let S=b.replace($e,"").trim(),l=t.getters[S],p=t.setters[S];if(l&&p){let r="forma:"+S;try{let h=localStorage.getItem(r);h!==null&&p(JSON.parse(h))}catch{}let f=F(()=>{try{localStorage.setItem(r,JSON.stringify(l()))}catch{}});n.push(f)}}let v=!o||o.has("data-list")?e.getAttribute("data-list"):null;if(v){let S=j(v,t),l=e.children[0];if(l){let C=function(x){let k=x;if(Array.isArray(k.__formaDisposers)){for(let w of k.__formaDisposers)try{w()}catch{}delete k.__formaDisposers}},P=function(x,k){let w=Vn(p,x),D=st(t,{item:x,index:k}),R=[];z(w,D,R);for(let B of Array.from(w.querySelectorAll("*")))z(B,D,R);return w.__formaDisposers=R,w},ee=function(x,k,w){C(x),qn(x,k);let D=st(t,{item:k,index:w}),R=[];z(x,D,R);for(let B of Array.from(x.querySelectorAll("*")))z(B,D,R);x.__formaDisposers=R};var E=C,_=P,A=ee;let p=l.cloneNode(!0);e.removeChild(l);let r=p.getAttribute("data-key"),f=r?r.replace(Ln,"").trim():null,h=Ne(e),y=[],T=[],te=h?{onInsert:x=>{let k=x;if(!k.setAttribute)return;let w=q(k);w.token+=1;let D=w.token;w.cancel&&w.cancel(),w.cancel=ue(k,{base:h.enter,from:h.enterFrom,to:h.enterTo,durationMs:h.enterDurationMs},()=>{let R=q(k);R.token===D&&(R.cancel=null)})},onBeforeRemove:(x,k)=>{let w=x;if(!w.setAttribute){k();return}C(x),mt(w,h,()=>{k()})}}:void 0,ne=F(()=>{let x=S();if(!Array.isArray(x)){for(let w of T)C(w),e.removeChild(w);y=[],T=[];return}if(h){let w=e.querySelectorAll("[data-forma-leaving]");for(let D of Array.from(w))ve(D),D.removeAttribute("data-forma-leaving"),D.parentNode&&D.parentNode.removeChild(D)}let k=new Set(T);if(f){let w=Re(e,y,x,T,R=>String(R?.[f]??""),R=>{let B=x.indexOf(R);return P(R,B)},(R,B)=>{let O=x.indexOf(B);ee(R,B,O)},void 0,te),D=new Set(w.nodes);for(let R of k)if(!D.has(R)){if(R.hasAttribute?.("data-forma-leaving"))continue;C(R)}y=w.items,T=w.nodes}else{let w=x.map((O,de)=>({__idx:de,__item:O})),R=Re(e,y,w,T,O=>O.__idx,O=>P(O.__item,O.__idx),(O,de)=>ee(O,de.__item,de.__idx),void 0,te),B=new Set(R.nodes);for(let O of k)if(!B.has(O)){if(O.hasAttribute?.("data-forma-leaving"))continue;C(O)}y=R.items,T=R.nodes}});n.push(ne)}}let g=!o||o.has("data-fetch")?e.getAttribute("data-fetch"):null;if(g){let S=g.match(Nn);if(S){let l=S[1].trim(),p=S[2].trim(),r=S[3]?.trim()??"",f="GET",h=l,y=l.match(Dn);y&&(f=y[1].toUpperCase(),h=y[2].trim());let T,C,P;for(let k of r.split("|").filter(Boolean)){let[w,D]=k.split(":").map(R=>R.trim());w==="loading"?T=D:w==="error"?C=D:w==="poll"&&(P=parseInt(D??"0",10))}let[ee,te]=Y(null);if(t.getters[p]=ee,t.setters[p]=te,T){let[k,w]=Y(!1);t.getters[T]=k,t.setters[T]=w}if(C){let[k,w]=Y(null);t.getters[C]=k,t.setters[C]=w}let ne=()=>{T&&t.setters[T](!0),fetch(h,{method:f}).then(k=>k.json()).then(k=>{te(k),T&&t.setters[T](!1)}).catch(k=>{C&&t.setters[C](k.message),T&&t.setters[T](!1)})},x=e.getAttribute("data-fetch-id");if(x&&(Ie.set(x,ne),n.push(()=>Ie.delete(x))),ne(),P&&P>0){let k=setInterval(ne,P);n.push(()=>clearInterval(k))}}}}var ei=["[data-text]","[data-show]","[data-if]","[data-model]","[data-computed]","[data-persist]","[data-list]","[data-fetch]","[data-bind\\:*]","[data-class\\:*]","[data-on\\:*]","[data-transition]"].join(",");function oo(e){let t=e.attributes;for(let n=0;n<t.length;n++){let o=t[n].name;if(o.startsWith("data-text")||o.startsWith("data-show")||o.startsWith("data-if")||o.startsWith("data-model")||o.startsWith("data-computed")||o.startsWith("data-persist")||o.startsWith("data-list")||o.startsWith("data-fetch")||o.startsWith("data-on:")||o.startsWith("data-class:")||o.startsWith("data-bind:")||o.startsWith("data-transition"))return!0}return!1}var V=null;function io(e){if(!e||Object.keys(e).length===0){V=null;return}V=new Map;for(let t in e)V.set(t,new Set(e[t]))}function ro(){if(!V||V.size===0||V.size>200)return null;let e=[];for(let t of V.keys())e.push(`[data-forma-id="${t}"]`);return e.join(",")}function so(e){if(!V)return null;let t=e.getAttribute("data-forma-id");return t?V.get(t)??null:null}function ao(e,...t){for(let n of e)for(let o of t)if(n.startsWith(o))return!0;return!1}function J(e){if(e.__formaDisposers){L&&N("mountScope: SKIPPED (already mounted)");return}let t=no(e),n=[];z(e,t,n);let o=0,i=ro();if(i){let a=e.querySelectorAll(i);for(let s=0;s<a.length;s++)z(a[s],t,n),o++}else{let a=e.querySelectorAll("*");for(let s=0;s<a.length;s++){let c=a[s];oo(c)&&(z(c,t,n),o++)}}e.__formaDisposers=n,e.__formaScope=t,e.__formaInitialState=e.getAttribute("data-forma-state")??"{}",L&&N("mountScope: DONE \u2014",o,"elements bound,",n.length,"disposers",i?"(targeted)":"(full scan)")}function K(e){let t=e.__formaDisposers;if(t){for(let n of t)try{n()}catch{}delete e.__formaDisposers,delete e.__formaScope,delete e.__formaInitialState}}var W=null,pt=1,lo=40,ae=[],fe=!1;function co(e){for(let t=0;t<e.removedNodes.length;t++){let n=e.removedNodes[t];if(n.nodeType!==pt)continue;let o=n;o.hasAttribute("data-forma-state")&&(L&&N("MutationObserver: REMOVED scope"),K(o));let i=o.querySelectorAll("[data-forma-state]");for(let a=0;a<i.length;a++)K(i[a])}for(let t=0;t<e.addedNodes.length;t++){let n=e.addedNodes[t];if(n.nodeType!==pt)continue;let o=n;if(o.closest("[data-forma-leaving]"))continue;o.hasAttribute("data-forma-state")&&(L&&N("MutationObserver: ADDED scope via mutation"),J(o));let i=o.querySelectorAll("[data-forma-state]");L&&i.length>0&&N("MutationObserver: found",i.length,"nested scope(s) in added subtree");for(let a=0;a<i.length;a++){let s=i[a];s.closest("[data-forma-leaving]")||J(s)}}if(e.type==="attributes"&&e.attributeName==="data-forma-state"){let t=e.target;K(t),t.hasAttribute("data-forma-state")&&J(t)}}async function Mt(){try{for(;ae.length>0;){let e=ae.splice(0,lo);for(let t=0;t<e.length;t++)co(e[t]);ae.length>0&&await ht()}}finally{fe=!1,ae.length>0&&!fe&&(fe=!0,Mt())}}function fo(e){L&&N("MutationObserver: queued",e.length,"mutation(s)"),ae.push(...e),!fe&&(fe=!0,Mt())}function uo(){if(W)return;W=new MutationObserver(fo);let e=document.body||document.documentElement;e&&W.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-forma-state"]})}function mo(){W&&(W.disconnect(),W=null)}function Ue(){ln&&vt(document,{skipIfAlreadySet:!0});let e=document.querySelectorAll("[data-forma-state]");L&&N("initRuntime: found",e.length,"scope(s)");for(let t of Array.from(e))J(t);uo(),L&&N("initRuntime: MutationObserver started")}function po(){mo();let e=document.querySelectorAll("[data-forma-state]");for(let t of Array.from(e))K(t)}function go(e){e.hasAttribute("data-forma-state")&&J(e);let t=e.querySelectorAll("[data-forma-state]");for(let n of Array.from(t))J(n)}function ho(e){e.hasAttribute("data-forma-state")&&K(e);let t=e.querySelectorAll("[data-forma-state]");for(let n of Array.from(t))K(n)}typeof document<"u"&&(document.readyState==="loading"?document.addEventListener("DOMContentLoaded",Ue):Ue());function vo(e){L=e}function bo(e){H!==e&&(H=e,e==="locked-off"&&(U=!1),e==="locked-on"&&(U=!0),e==="mutable"&&(U=!0),Be=new WeakMap,Fe=new WeakMap)}function Eo(e){if(H!=="mutable"){N(`setUnsafeEval ignored (mode=${H}); unsafe fallback is locked`);return}U!==e&&(U=e,Be=new WeakMap,Fe=new WeakMap)}function yo(){return H}function So(e){Pe=e}function To(){return Array.from(le.values()).map(e=>({...e}))}function Ao(){le.clear()}function _o(){let e=document.querySelectorAll("[data-forma-state]"),t=[];for(let n of Array.from(e)){if(n.closest("[data-forma-leaving]"))continue;let o=n.__formaScope,i=n.__formaInitialState;if(!o)continue;let a={};for(let s of Object.keys(o.getters)){let c=o.getters[s]();a[s]={value:c,type:typeof c}}t.push({element:n,id:n.getAttribute("data-forma-id")||n.id||n.tagName.toLowerCase(),values:a,initialJSON:i??"{}"})}return t}function wo(e,t,n){let o=e.__formaScope;o?.setters[t]&&$(()=>{o.setters[t](n)})}function ko(e){let t=e.__formaScope,n=e.__formaInitialState;if(!t||!n)return;let o=Rt(n);$(()=>{for(let[i,a]of Object.entries(o))t.setters[i]?.(a)})}var Le=null;function Ro(){return Le||(Le=rt({mountScope:J,unmountScope:K,disconnectObserver(){W&&W.disconnect()},reconnectObserver(){if(W){let e=document.body||document.documentElement;e&&W.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-forma-state"]})}},batch:$})),Le}function Mo(e,t){Ro()(e,t)}return It(Co);})();
1
+ "use strict";var FormaRuntime=(()=>{var we=Object.defineProperty;var Ct=Object.getOwnPropertyDescriptor;var Nt=Object.getOwnPropertyNames;var xt=Object.prototype.hasOwnProperty;var Dt=(e,t)=>{for(var n in t)we(e,n,{get:t[n],enumerable:!0})},Lt=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Nt(t))!xt.call(e,i)&&i!==n&&we(e,i,{get:()=>t[i],enumerable:!(o=Ct(t,i))||o.enumerable});return e};var It=e=>Lt(we({},"__esModule",{value:!0}),e);var xo={};Dt(xo,{applyContainmentHints:()=>vt,clearDiagnostics:()=>_o,destroyRuntime:()=>ho,getDiagnostics:()=>wo,getScopes:()=>ko,getUnsafeEvalMode:()=>To,initRuntime:()=>We,mount:()=>vo,reconcile:()=>No,resetScope:()=>Mo,setDebug:()=>Eo,setDiagnostics:()=>Ao,setDirectiveMap:()=>so,setScopeValue:()=>Ro,setUnsafeEval:()=>So,setUnsafeEvalMode:()=>yo,unmount:()=>bo,yieldToMain:()=>ht});var Ot=(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))(Ot||{});function $t({updateComputed:e,notifyEffect:t}){let n=[],o=0,i=0;return{link:a,propagate:r,updateDirtyFlag:f,startTracking:c,endTracking:m,processEffectNotifications:v,processComputedUpdate:d,processPendingInnerEffects:b};function a(u,p){let s=p.depsTail;if(s!==void 0&&s.dep===u)return;let l=s!==void 0?s.nextDep:p.deps;if(l!==void 0&&l.dep===u){p.depsTail=l;return}let h=u.subsTail;if(!(h!==void 0&&h.sub===p&&T(h,p)))return g(u,p,l,s)}function r(u){let p=u.nextSub,s,l=0,h=32;e:do{let y=u.sub,S=y.flags,w=!1;if(S&244?S&16&&!(S&4)?(y.flags=S&-17|h|8,w=!0):!(S&224)&&T(u,y)&&(y.flags=S|16|h|8,w=y.subs!==void 0):(y.flags=S|h|8,w=!0),w){let x=y.subs;if(x!==void 0){u=x,x.nextSub!==void 0?(s={target:p,linked:s},++l,p=u.nextSub,h=64):h=S&2?128:64;continue}S&2&&(n[i++]=y)}else S&(4|h)?!(S&h)&&S&224&&T(u,y)&&(y.flags=S|h):(y.flags=S|h|8,(S&10)===2&&(n[i++]=y));if((u=p)!==void 0){p=u.nextSub,h=l?64:32;continue}for(;l--;)if(u=s.target,s=s.linked,u!==void 0){p=u.nextSub,h=l?64:32;continue e}break}while(!0)}function c(u){u.depsTail=void 0,u.flags=u.flags&-249|4}function m(u){let p=u.depsTail;if(p!==void 0){let s=p.nextDep;s!==void 0&&(k(s),p.nextDep=void 0)}else u.deps!==void 0&&(k(u.deps),u.deps=void 0);u.flags&=-5}function f(u,p){return E(u.deps)?(u.flags=p|32,!0):(u.flags=p&-65,!1)}function d(u,p){if(p&32||E(u.deps)){if(e(u)){let s=u.subs;s!==void 0&&A(s)}}else u.flags=p&-65}function b(u,p){if(p&128){u.flags=p&-129;let s=u.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 v(){for(;o<i;){let u=n[o];n[o++]=void 0,t(u)||(u.flags&=-9)}o=0,i=0}function g(u,p,s,l){let h={dep:u,sub:p,nextDep:s,prevSub:void 0,nextSub:void 0};if(l===void 0?p.deps=h:l.nextDep=h,u.subs===void 0)u.subs=h;else{let y=u.subsTail;h.prevSub=y,y.nextSub=h}return p.depsTail=h,u.subsTail=h,h}function E(u){let p,s=0,l;e:do{l=!1;let h=u.dep;if(u.sub.flags&32)l=!0;else if("flags"in h){let y=h.flags;if((y&33)===33){if(e(h)){let S=h.subs;S.nextSub!==void 0&&A(S),l=!0}}else if((y&65)===65){(u.nextSub!==void 0||u.prevSub!==void 0)&&(p={target:u,linked:p}),u=h.deps,++s;continue}}if(!l&&u.nextDep!==void 0){u=u.nextDep;continue}for(;s;){--s;let y=u.sub,S=y.subs;if(l){if(e(y)){S.nextSub!==void 0?(u=p.target,p=p.linked,A(S)):u=S;continue}}else y.flags&=-65;if(S.nextSub!==void 0?(u=p.target,p=p.linked):u=S,u.nextDep!==void 0){u=u.nextDep;continue e}l=!1}return l}while(!0)}function A(u){do{let p=u.sub,s=p.flags;(s&96)===64&&(p.flags=s|32|8,(s&10)===2&&(n[i++]=p)),u=u.nextSub}while(u!==void 0)}function T(u,p){let s=p.depsTail;if(s!==void 0){let l=p.deps;do{if(l===u)return!0;if(l===s)break;l=l.nextDep}while(l!==void 0)}return!1}function k(u){do{let p=u.dep,s=u.nextDep,l=u.nextSub,h=u.prevSub;if(l!==void 0?l.prevSub=h:p.subsTail=h,h!==void 0?h.nextSub=l:p.subs=l,p.subs===void 0&&"deps"in p){let y=p.flags;y&32||(p.flags=y|32);let S=p.deps;if(S!==void 0){u=S,p.depsTail.nextDep=s,p.deps=void 0,p.depsTail=void 0;continue}}u=s}while(u!==void 0)}}var{link:re,propagate:Ht,updateDirtyFlag:Pt,startTracking:_e,endTracking:ke,processEffectNotifications:ze,processComputedUpdate:Ut,processPendingInnerEffects:Je}=$t({updateComputed(e){let t=O;O=e,_e(e);try{let n=e.currentValue,o=e.getter(n);return n!==o?(e.currentValue=o,!0):!1}finally{O=t,ke(e)}},notifyEffect(e){return"isScope"in e?Ft(e):Bt(e)}}),Ke=[],Re=0,O,he;function Xe(){++Re}function Ye(){--Re||ze()}function Ze(){Ke.push(O),O=void 0}function Qe(){O=Ke.pop()}function et(e){return Vt.bind({currentValue:e,subs:void 0,subsTail:void 0})}function tt(e){return Wt.bind({currentValue:void 0,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:33,getter:e})}function nt(e){let t={fn:e,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:2};O!==void 0?re(t,O):he!==void 0&&re(t,he);let n=O;O=t;try{t.fn()}finally{O=n}return qt.bind(t)}function Bt(e){let t=e.flags;if(t&32||t&64&&Pt(e,t)){let n=O;O=e,_e(e);try{e.fn()}finally{O=n,ke(e)}}else Je(e,e.flags);return!0}function Ft(e){return e.flags&128?(Je(e,e.flags),!0):!1}function Wt(){let e=this.flags;return e&96&&Ut(this,e),O!==void 0?re(this,O):he!==void 0&&re(this,he),this.currentValue}function Vt(...e){if(e.length){if(this.currentValue!==(this.currentValue=e[0])){let t=this.subs;t!==void 0&&(Ht(t),Re||ze())}}else return O!==void 0&&re(this,O),this.currentValue}function qt(){_e(this),ke(this)}function Gt(e,t){if(typeof t!="function"){e(t);return}Ze();let n=e();Qe(),e(t(n))}function Z(e){let t=et(e);return[t,i=>Gt(t,i)]}var Me=null;function ot(e){Me&&Me.disposers.push(e)}function it(){return Me!==null}var jt=32;var zt=[];for(let e=0;e<jt;e++)zt.push([]);function F(e){let t=nt(e);return it()&&ot(t),t}function Ce(e){return tt(e)}function H(e){Xe();try{e()}finally{Ye()}}function rt(e){let t=e.length;if(t===0)return[];let n=new Int32Array(t),o=new Int32Array(t),i=new Int32Array(t).fill(-1),a=0;for(let m=0;m<t;m++){let f=e[m],d=0,b=a;for(;d<b;){let v=d+b>>1;n[v]<f?d=v+1:b=v}n[d]=f,o[d]=m,d>0&&(i[m]=o[d-1]),d>=a&&a++}let r=new Array(a),c=o[a-1];for(let m=a-1;m>=0;m--)r[m]=c,c=i[c];return r}var Jt=32;function Kt(e,t,n,o,i,a,r,c,m){let f=t.length,d=n.length,b=new Array(f);for(let s=0;s<f;s++)b[s]=i(t[s]);let v=new Array(d),g=new Uint8Array(f);for(let s=0;s<d;s++){let l=i(n[s]),h=-1;for(let y=0;y<f;y++)if(!g[y]&&b[y]===l){h=y,g[y]=1;break}v[s]=h}for(let s=0;s<f;s++)if(!g[s])if(m?.onBeforeRemove){let l=o[s];m.onBeforeRemove(l,()=>{l.parentNode&&l.parentNode.removeChild(l)})}else e.removeChild(o[s]);if(f===d){let s=!0;for(let l=0;l<d;l++)if(v[l]!==l){s=!1;break}if(s){let l=new Array(d);for(let h=0;h<d;h++){let y=o[h];r(y,n[h]),l[h]=y}return{nodes:l,items:n}}}let E=[],A=[];for(let s=0;s<d;s++)v[s]!==-1&&(E.push(v[s]),A.push(s));let T=rt(E),k=new Uint8Array(d);for(let s of T)k[A[s]]=1;let u=new Array(d),p=c??null;for(let s=d-1;s>=0;s--){let l,h=!1;if(v[s]===-1)l=a(n[s]),h=!0;else if(l=o[v[s]],r(l,n[s]),k[s]){u[s]=l,p=l;continue}p?e.insertBefore(l,p):e.appendChild(l),h&&m?.onInsert?.(l),u[s]=l,p=l}return{nodes:u,items:n}}function Ne(e,t,n,o,i,a,r,c,m){let f=t.length,d=n.length;if(d===0){for(let s=0;s<f;s++)if(m?.onBeforeRemove){let l=o[s];m.onBeforeRemove(l,()=>{l.parentNode&&l.parentNode.removeChild(l)})}else e.removeChild(o[s]);return{nodes:[],items:[]}}if(f===0){let s=new Array(d);for(let l=0;l<d;l++){let h=a(n[l]);c?e.insertBefore(h,c):e.appendChild(h),m?.onInsert?.(h),s[l]=h}return{nodes:s,items:n}}if(f<Jt)return Kt(e,t,n,o,i,a,r,c,m);let b=new Map;for(let s=0;s<f;s++)b.set(i(t[s]),s);let v=new Array(d),g=new Uint8Array(f);for(let s=0;s<d;s++){let l=i(n[s]),h=b.get(l);h!==void 0?(v[s]=h,g[h]=1):v[s]=-1}for(let s=0;s<f;s++)if(!g[s])if(m?.onBeforeRemove){let l=o[s];m.onBeforeRemove(l,()=>{l.parentNode&&l.parentNode.removeChild(l)})}else e.removeChild(o[s]);if(f===d){let s=!0;for(let l=0;l<d;l++)if(v[l]!==l){s=!1;break}if(s){let l=new Array(d);for(let h=0;h<d;h++){let y=o[h];r(y,n[h]),l[h]=y}return{nodes:l,items:n}}}let E=[],A=[];for(let s=0;s<d;s++)v[s]!==-1&&(E.push(v[s]),A.push(s));let T=rt(E),k=new Uint8Array(d);for(let s of T)k[A[s]]=1;let u=new Array(d),p=c??null;for(let s=d-1;s>=0;s--){let l,h=!1;if(v[s]===-1)l=a(n[s]),h=!0;else if(l=o[v[s]],r(l,n[s]),k[s]){u[s]=l,p=l;continue}p?e.insertBefore(l,p):e.appendChild(l),h&&m?.onInsert?.(l),u[s]=l,p=l}return{nodes:u,items:n}}function Xt(e){let t=new Set,n=e.attributes;for(let o=0;o<n.length;o++){let i=n[o].name;i.startsWith("data-bind:")&&t.add(i.slice(10))}return t}function Yt(e){return e.hasAttribute("data-list")||e.hasAttribute("data-if")}function st(e){try{let t=JSON.parse(e);return Object.keys(t).sort()}catch{return[]}}function Zt(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function Qt(e,t){let n=e.getAttribute("data-module"),o=t.getAttribute("data-module");if(n!==o)return"REPLACE";let a=e.__formaInitialState??e.getAttribute("data-forma-state")??"{}",r=t.getAttribute("data-forma-state")??"{}",c=st(a),m=st(r);return Zt(c,m)?"PRESERVE":"RESET"}var ve=null;function en(e){return ve||(ve=document.createElement("template")),ve.innerHTML=e,ve.content}function xe(e,t){let n=Xt(e),o=e.hasAttribute("data-show"),i=e.hasAttribute("data-model"),a=!1,r=e.attributes;for(let m=0;m<r.length;m++)if(r[m].name.startsWith("data-class:")){a=!0;break}let c=t.attributes;for(let m=0;m<c.length;m++){let f=c[m];if(f.name==="style"&&o||f.name==="class"&&a||(f.name==="value"||f.name==="checked")&&i||n.has(f.name))continue;e.getAttribute(f.name)!==f.value&&e.setAttribute(f.name,f.value)}for(let m=r.length-1;m>=0;m--){let f=r[m];if(!t.hasAttribute(f.name)){if(f.name==="style"&&o||f.name==="class"&&a||(f.name==="value"||f.name==="checked")&&i||n.has(f.name))continue;e.removeAttribute(f.name)}}}function tn(e,t){if(e.hasAttribute("data-text"))return;let n=[],o=[];for(let r of Array.from(e.childNodes))r.nodeType===Node.TEXT_NODE&&n.push(r);for(let r=0;r<t.childNodes.length;r++){let c=t.childNodes[r];c.nodeType===Node.TEXT_NODE&&o.push({node:c,index:r})}if(n.length===o.length){for(let r=0;r<n.length;r++)n[r].textContent!==o[r].node.textContent&&(n[r].textContent=o[r].node.textContent);return}let i=new Set,a=0;for(let{node:r,index:c}of o)if(a<n.length){let m=n[a];a++,i.add(m),m.textContent!==r.textContent&&(m.textContent=r.textContent)}else{let m=nn(e,t,c);e.insertBefore(document.createTextNode(r.textContent??""),m)}for(let r of n)!i.has(r)&&r.parentNode===e&&e.removeChild(r)}function nn(e,t,n){for(let o=n+1;o<t.childNodes.length;o++){let i=t.childNodes[o];if(i.nodeType===Node.ELEMENT_NODE){let a=i.getAttribute("data-forma-id");if(a){let r=e.querySelector(`[data-forma-id="${CSS.escape(a)}"]`);if(r&&r.parentElement===e)return r}}}return null}function De(e,t,n){if(Yt(e))return;tn(e,t);let o=Array.from(e.children),i=Array.from(t.children),a=new Map,r=[];for(let f of o){if(f.hasAttribute("data-forma-leaving"))continue;let d=f.getAttribute("data-forma-id");d?a.set(d,f):r.push(f)}let c=0,m=new Set;for(let f of i){let d=f.getAttribute("data-forma-id"),b;if(d)b=a.get(d);else for(;c<r.length;){let v=r[c];if(c++,v.tagName===f.tagName&&!m.has(v)){b=v;break}}if(b){if(m.add(b),b.hasAttribute("data-forma-state")&&f.hasAttribute("data-forma-state"))switch(Qt(b,f)){case"PRESERVE":xe(b,f),De(b,f,n);break;case"RESET":n.unmountScope(b),xe(b,f),on(b,f),n.mountScope(b);break;case"REPLACE":{n.unmountScope(b);let g=f.cloneNode(!0);e.replaceChild(g,b),n.mountScope(g),m.delete(b),b=g,m.add(g);break}}else xe(b,f),De(b,f,n);rn(e,b,f,i)}else{let v=f.cloneNode(!0),g=sn(e,f,i);e.insertBefore(v,g),m.add(v),v.hasAttribute("data-forma-state")&&n.mountScope(v);let E=v.querySelectorAll("[data-forma-state]");for(let A of Array.from(E))n.mountScope(A)}}for(let f of o)if(!m.has(f)){if(f.parentElement!==e||f.hasAttribute("data-forma-leaving"))continue;f.hasAttribute("data-forma-state")&&n.unmountScope(f);let d=f.querySelectorAll("[data-forma-state]");for(let b of Array.from(d))n.unmountScope(b);e.removeChild(f)}}function on(e,t){for(;e.firstChild;)e.removeChild(e.firstChild);for(let n of Array.from(t.childNodes))e.appendChild(n.cloneNode(!0))}function rn(e,t,n,o){let i=o.indexOf(n);if(Array.from(e.children).indexOf(t)!==i){let c=o[i+1];if(c){let m=c.getAttribute("data-forma-id");if(m){let f=e.querySelector(`[data-forma-id="${CSS.escape(m)}"]`);if(f&&f.parentElement===e){e.insertBefore(t,f);return}}}e.appendChild(t)}}function sn(e,t,n){let o=n.indexOf(t);for(let i=o+1;i<n.length;i++){let a=n[i].getAttribute("data-forma-id");if(a){let r=e.querySelector(`[data-forma-id="${CSS.escape(a)}"]`);if(r&&r.parentElement===e)return r}}return null}function at(e){let t="";return function(o,i){let a=i.trim();if(a&&!(a===t&&o.hasChildNodes())){t=a,e.disconnectObserver();try{if(!o.hasChildNodes()||o.children.length===0){o.innerHTML=a,e.batch(()=>{let d=o.querySelectorAll("[data-forma-state]");for(let b of Array.from(d))e.mountScope(b)});return}let r=en(a),c=document.createElement("div");c.appendChild(r);let m=new Set;for(let d of Array.from(o.children)){if(d.hasAttribute("data-forma-leaving"))continue;let b=d.getAttribute("data-forma-id");b&&m.add(b)}let f=!1;if(m.size>0)for(let d of Array.from(c.children)){let b=d.getAttribute("data-forma-id");if(b&&m.has(b)){f=!0;break}}if(m.size>0&&!f){e.batch(()=>{let d=o.querySelectorAll("[data-forma-state]");for(let v of Array.from(d))e.unmountScope(v);o.innerHTML=a;let b=o.querySelectorAll("[data-forma-state]");for(let v of Array.from(b))e.mountScope(v)});return}e.batch(()=>{De(o,c,e)})}finally{e.reconnectObserver()}}}}var Pe=new Map;function gt(e){let t=Pe.get(e);t?t():I&&D(`$refetch: no data-fetch with id "${e}" found`)}function Le(e,t){let n=Object.create(null);for(let o of Object.keys(t))n[o]=()=>t[o];return{getters:new Proxy(e.getters,{get(o,i){return i in n?n[i]:o[i]},has(o,i){return i in n||i in o}}),setters:e.setters}}var I=!1,P="mutable",U=!1,Ve=!0;function D(...e){(I||typeof window<"u"&&window.__FORMA_DEBUG)&&console.log("[FormaJS]",...e)}var ue=new Map;function be(e){if(e==null)return;let t=e.trim().toLowerCase();if(t==="1"||t==="true"||t==="on"||t==="yes")return!0;if(t==="0"||t==="false"||t==="off"||t==="no")return!1}function Ue(e){if(e==null)return;let t=e.trim().toLowerCase();if(t==="mutable")return"mutable";if(t==="locked-off"||t==="off"||t==="disabled")return"locked-off";if(t==="locked-on"||t==="on"||t==="enabled")return"locked-on"}function an(){let e={};if(typeof window<"u"){let t=window.__FORMA_RUNTIME_CONFIG;if(t){if(typeof t.allowUnsafeEval=="boolean"&&(e.allowUnsafeEval=t.allowUnsafeEval),typeof t.unsafeEvalMode=="string"){let n=Ue(t.unsafeEvalMode);n&&(e.unsafeEvalMode=n)}typeof t.lockUnsafeEval=="boolean"&&(e.lockUnsafeEval=t.lockUnsafeEval),typeof t.diagnostics=="boolean"&&(e.diagnostics=t.diagnostics),typeof t.autoContainment=="boolean"&&(e.autoContainment=t.autoContainment)}}if(typeof document<"u"){let t=document.currentScript;if(t){let n=be(t.getAttribute("data-forma-unsafe-eval"));n!==void 0&&(e.allowUnsafeEval=n);let o=Ue(t.getAttribute("data-forma-unsafe-eval-mode"));o!==void 0&&(e.unsafeEvalMode=o);let i=be(t.getAttribute("data-forma-lock-unsafe-eval"));i!==void 0&&(e.lockUnsafeEval=i);let a=be(t.getAttribute("data-forma-diagnostics"));a!==void 0&&(e.diagnostics=a);let r=be(t.getAttribute("data-forma-auto-containment"));r!==void 0&&(e.autoContainment=r)}}return e}function Q(e,t,n){if(!Ve)return;let o=`${e}|${n}|${t}`,i=Date.now(),a=ue.get(o);a?(a.count+=1,a.lastSeenAt=i):(ue.set(o,{kind:e,expr:t,reason:n,count:1,firstSeenAt:i,lastSeenAt:i}),console.warn(`[FormaJS] ${n}: ${t}`));try{if(typeof window<"u"){let r={kind:e,expr:t,reason:n,count:ue.get(o)?.count??1};window.dispatchEvent(new CustomEvent("formajs:diagnostic",{detail:r}))}}catch{}}var lt=Ue("locked-off");lt&&(P=lt,P==="locked-off"&&(U=!1),P==="locked-on"&&(U=!0),P==="mutable"&&(U=!0));var Y=an(),ct=Y.lockUnsafeEval?"locked-off":Y.unsafeEvalMode;ct&&(P=ct,P==="locked-off"&&(U=!1),P==="locked-on"&&(U=!0));P==="mutable"&&typeof Y.allowUnsafeEval=="boolean"&&(U=Y.allowUnsafeEval);typeof Y.diagnostics=="boolean"&&(Ve=Y.diagnostics);var ln=Y.autoContainment===!0;function cn(){let e=globalThis?.scheduler;if(e&&(typeof e.yield=="function"||typeof e.postTask=="function"))return e}async function ht(){let e=cn();if(e?.yield){await e.yield();return}if(e?.postTask){await e.postTask(()=>{},{priority:"background"});return}await new Promise(t=>setTimeout(t,0))}function vt(e=document,t={}){let n=t.selector??"[data-forma-contain]";if(!n||typeof e.querySelectorAll!="function")return 0;let o=e.querySelectorAll(n),i=0;for(let a=0;a<o.length;a++){let r=o[a];if(!r?.style)continue;let c=r.getAttribute("data-forma-contain")??t.contain??"layout style paint",m=r.getAttribute("data-forma-content-visibility")??t.contentVisibility??"auto",f=r.getAttribute("data-forma-contain-intrinsic-size")??t.containIntrinsicSize??"auto 800px",d=t.skipIfAlreadySet===!0,b=!1,v=r.style.getPropertyValue("contain"),g=r.style.getPropertyValue("content-visibility"),E=r.style.getPropertyValue("contain-intrinsic-size");c!=="off"&&(!d||!v)&&(r.style.setProperty("contain",c),b=!0),m!=="off"&&(!d||!g)&&(r.style.setProperty("content-visibility",m),b=!0),f!=="off"&&(!d||!E)&&(r.style.setProperty("contain-intrinsic-size",f),b=!0),b&&i++}return I&&i>0&&D("applyContainmentHints: applied to",i,"element(s)"),i}var bt=/^'[^']*'$/,Et=/^"[^"]*"$/,yt=/^-?\d+(\.\d+)?$/,St=/^[a-zA-Z_$]\w*$/,fn=/^(\w+)\.(\w+)$/;var un=/^(\w+)\[(\d+|'[^']*'|"[^"]*")\]$/,dn=/^(.+?)\s*\?\s*(.+?)\s*:\s*(.+)$/,mn=/^(.+?)\s*\?\?\s*(.+)$/,pn=/^(.+?)\s*&&\s*(.+)$/,gn=/^(.+?)\s*\|\|\s*(.+)$/,hn=/^(.+?)\s*(===|!==|==|!=|>=|<=|>|<)\s*(.+)$/,vn=/^(.+?)\s*([*/%])\s*(.+)$/,bn=/^(.+?)\s*([+-])\s*(.+)$/,En=/^`([^`]*)`$/,yn=/\$\{([^}]+)\}/g;var Sn=/^\((.+)\)\.(\w+)\((.*)\)$/,Be=/^\{|\}$/g;var Tn=/^\d+$/,An=/^(\w+)(\+\+|--)$/,wn=/^(\+\+|--)(\w+)$/,_n=/^(\w+)\s*=\s*!(\w+)$/,kn=/^(\w+)\s*=\s*(.+)$/,Rn=/^(\w+)\s*(\+=|-=|\*=|\/=)\s*(.+)$/,Mn=/^if\b/,Cn=/^(\w+)\s*=\s*(.+)$/,Nn=/^(.+?)(?:→|->)\s*(\S+)(.*)$/,xn=/^(GET|POST|PUT|PATCH|DELETE)\s+(.+)$/i,Dn=/^\{item\.?|\}$/g,Ln=/\bevent\s*[.([]|\$event\b/,In=/^\$refetch\(\s*['"]([^'"]+)['"]\s*\)$/,Te=Symbol.for("forma-transition-state"),On=2048,ae=new Map;function se(e,t){if(ae.size>=On){let n=ae.keys().next().value;n!==void 0&&ae.delete(n)}ae.set(e,t)}var qe=new WeakMap,Ge=new WeakMap,le=new Map,$n=2048;function Hn(e,t){if(le.size>=$n){let n=le.keys().next().value;n!==void 0&&le.delete(n)}le.set(e,t)}var ee=new Set(["constructor","__proto__","prototype","__defineGetter__","__defineSetter__","__lookupGetter__","__lookupSetter__","eval","Function"]),Pn=(()=>{let e=[];for(let t of ee){let n=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");e.push({name:t,dotRe:new RegExp(`(?:^|\\.)${n}(?:\\s*\\(|\\s*$|[^\\w$])`,"m"),bracketRe:new RegExp(`\\[\\s*(?:'${n}'|"${n}"|\``+n+"`)\\s*\\]")})}return e})();function Tt(e){let t=e.replace(/\/\*[\s\S]*?\*\//g,"");t=t.replace(/\/\/[^\n]*/g,""),t=t.replace(/\s*\.\s*/g,".");for(let{name:n,dotRe:o,bracketRe:i}of Pn)if(o.test(t)||i.test(t))return n;if(t.includes("[")){let n=Un(t);for(let o of n){if(!o.includes("+"))continue;let i=o.match(/['"`]([^'"`]*?)['"`]/g);if(!i)continue;let a=i.map(r=>r.slice(1,-1)).join("");if(ee.has(a))return a}}return null}function Un(e){let t=[],n=0,o=-1;for(let i=0;i<e.length;i++)e[i]==="["?(n===0&&(o=i+1),n++):e[i]==="]"&&(n--,n===0&&o>=0&&(t.push(e.slice(o,i)),o=-1));return t}var ft=Symbol.for("forma-text-binding-cache");function Bn(e){return e==null?"":typeof e=="string"?e:typeof e=="symbol"?e.toString():String(e)}function Fn(e,t){let n=e[ft];if(n||(n={initialized:!1,last:"",node:null},e[ft]=n),n.initialized&&n.last===t)return;let o=n.node;if(!o||o.parentNode!==e||e.childNodes.length!==1||e.firstChild!==o)if(e.childNodes.length===1&&e.firstChild?.nodeType===Node.TEXT_NODE)o=e.firstChild,n.node=o;else{e.textContent=t;let i=e.firstChild;n.node=i&&i.nodeType===Node.TEXT_NODE&&e.childNodes.length===1?i:null,n.last=t,n.initialized=!0;return}o.data=t,n.last=t,n.initialized=!0}function Fe(e){let t=[];if(e.trim()==="")return t;let n=0,o=!1,i=!1,a=!1,r=0;for(let c=0;c<e.length;c++){let m=e[c];if(a){a=!1;continue}if(m==="\\"){a=!0;continue}if(o){m==="'"&&(o=!1);continue}if(i){m==='"'&&(i=!1);continue}if(m==="'"){o=!0;continue}if(m==='"'){i=!0;continue}if(m==="("){n++;continue}if(m===")"){n>0&&n--;continue}m===","&&n===0&&(t.push(e.slice(r,c).trim()),r=c+1)}return t.push(e.slice(r).trim()),t.filter(Boolean)}function te(e,t,n,o){if(e[t]!==n)return null;let i=0,a=!1,r=!1,c=!1,m=!1;for(let f=t;f<e.length;f++){let d=e[f];if(m){m=!1;continue}if(d==="\\"&&(a||r||c)){m=!0;continue}if(a){d==="'"&&(a=!1);continue}if(r){d==='"'&&(r=!1);continue}if(c){d==="`"&&(c=!1);continue}if(d==="'"){a=!0;continue}if(d==='"'){r=!0;continue}if(d==="`"){c=!0;continue}if(d===n){i++;continue}if(d===o&&(i--,i===0))return{inner:e.slice(t+1,f),end:f}}return null}function Wn(e){let t=e.trim();if(!t)return[];let n=[],o=0,i=0,a=0,r=!1,c=!1,m=!1,f=!1,d=0;for(let v=0;v<t.length;v++){let g=t[v];if(f){f=!1;continue}if(g==="\\"&&(r||c||m)){f=!0;continue}if(r){g==="'"&&(r=!1);continue}if(c){g==='"'&&(c=!1);continue}if(m){g==="`"&&(m=!1);continue}if(g==="'"){r=!0;continue}if(g==='"'){c=!0;continue}if(g==="`"){m=!0;continue}if(g==="("?o++:g===")"&&o>0?o--:g==="{"?i++:g==="}"&&i>0?i--:g==="["?a++:g==="]"&&a>0&&a--,g===";"&&o===0&&i===0&&a===0){let E=t.slice(d,v).trim();E&&n.push(E),d=v+1}}let b=t.slice(d).trim();return b&&n.push(b),n}function ut(e){let t=e.trim();if(!t)return null;if(t.startsWith("{")){let f=te(t,0,"{","}");if(!f)return null;let d=f.inner.trim(),b=t.slice(f.end+1).trim();return b.startsWith(";")&&(b=b.slice(1).trim()),{body:d,rest:b}}let n=0,o=0,i=0,a=!1,r=!1,c=!1,m=!1;for(let f=0;f<t.length;f++){let d=t[f];if(m){m=!1;continue}if(d==="\\"&&(a||r||c)){m=!0;continue}if(a){d==="'"&&(a=!1);continue}if(r){d==='"'&&(r=!1);continue}if(c){d==="`"&&(c=!1);continue}if(d==="'"){a=!0;continue}if(d==='"'){r=!0;continue}if(d==="`"){c=!0;continue}if(d==="("?n++:d===")"&&n>0?n--:d==="{"?o++:d==="}"&&o>0?o--:d==="["?i++:d==="]"&&i>0&&i--,d===";"&&n===0&&o===0&&i===0)return{body:t.slice(0,f).trim(),rest:t.slice(f+1).trim()}}return{body:t,rest:""}}function Vn(e,t){let n=e.trim();if(!Mn.test(n)||Ln.test(n))return null;let o=2;for(;o<n.length&&/\s/.test(n[o]);)o++;if(n[o]!=="(")return null;let i=te(n,o,"(",")");if(!i)return null;let a=C(i.inner.trim(),t);if(!a)return null;let r=n.slice(i.end+1).trim(),c=ut(r);if(!c||!c.body)return null;let m=Ae(c.body,t);if(!m)return null;r=c.rest.trim();let f=null;if(r.startsWith("else")){r=r.slice(4).trim();let d=ut(r);if(!d||!d.body||(f=Ae(d.body,t),!f))return null;r=d.rest.trim()}return r.length>0?null:d=>{H(()=>{a()?m(d):f?.(d)})}}function qn(e){let t=e.trim();for(;t.startsWith("(");){let n=te(t,0,"(",")");if(!n||n.end!==t.length-1)break;let o=n.inner.trim();if(!o)break;t=o}return t}function At(e){let t=le.get(e);if(t)return t;let n=[],o=[],i=0,a=/\{item\.?(\w*)\}/g,r;for(;(r=a.exec(e))!==null;)n.push(e.slice(i,r.index)),o.push(r[1]),i=a.lastIndex;n.push(e.slice(i));let c={statics:n,dynamics:o,hasItemRef:o.length>0};return Hn(e,c),c}var wt=new WeakMap;function je(e,t){if(!e.hasItemRef)return e.statics[0];let n=e.statics[0];for(let o=0;o<e.dynamics.length;o++){let i=e.dynamics[o];i?n+=String(t?.[i]??""):n+=typeof t=="object"?JSON.stringify(t):String(t??""),n+=e.statics[o+1]??""}return n}function Gn(e,t){let n=e.cloneNode(!0),o=document.createTreeWalker(n,NodeFilter.SHOW_TEXT);for(;o.nextNode();){let i=o.currentNode,a=i.textContent??"";if(a.includes("{item")){let r=At(a);wt.set(i,r),i.textContent=je(r,t)}}return Qn(n,t),n}function jn(e,t){let n=document.createTreeWalker(e,NodeFilter.SHOW_TEXT);for(;n.nextNode();){let o=n.currentNode,i=wt.get(o);i&&(o.textContent=je(i,t))}}var zn=new WeakMap,Jn=["data-list","data-show","data-text","data-if","data-model","data-on:","data-class:","data-bind:","data-computed","data-persist","data-fetch","data-transition","data-transition:"];function Kn(e){for(let t of Jn)if(e===t||e.startsWith(t))return!0;return!1}function ce(e){return e?e.trim().split(/\s+/).map(t=>t.trim()).filter(Boolean):[]}function de(e){let t=e.trim().toLowerCase();if(t.endsWith("ms")){let n=Number(t.slice(0,-2));return Number.isFinite(n)&&n>=0?n:null}if(t.endsWith("s")){let n=Number(t.slice(0,-1));return Number.isFinite(n)&&n>=0?n*1e3:null}return null}function Ie(e){let t=[],n;for(let o of ce(e)){let i=de(o);i!=null?n=i:t.push(o)}return{classes:t,durationMs:n}}function j(e){return Array.from(new Set(e.filter(Boolean)))}function Ee(e){return e?e.split(",").map(t=>de(t.trim())).filter(t=>t!=null):[]}function dt(e,t){if(e.length===0&&t.length===0)return 0;if(e.length===0)return Math.max(...t,0);if(t.length===0)return Math.max(...e,0);let n=Math.max(e.length,t.length),o=0;for(let i=0;i<n;i++){let a=e[i%e.length]??0,r=t[i%t.length]??0;a+r>o&&(o=a+r)}return o}function Xn(e,t){if(typeof t=="number")return t;let n=window.getComputedStyle(e),o=dt(Ee(n.transitionDuration),Ee(n.transitionDelay)),i=dt(Ee(n.animationDuration),Ee(n.animationDelay));return Math.max(o,i)}function q(e){let t=e[Te];if(t)return t;let n={token:0,cancel:null};return e[Te]=n,n}function ye(e){let t=e[Te];t?.cancel&&t.cancel(),delete e[Te]}function Oe(e){if(!(e.hasAttribute("data-transition")||Array.from(e.attributes).some(v=>v.name.startsWith("data-transition:"))))return null;let n=Ie(e.getAttribute("data-transition")).classes,o=Ie(e.getAttribute("data-transition:enter")),i=Ie(e.getAttribute("data-transition:leave")),a=ce(e.getAttribute("data-transition:enter-from")??e.getAttribute("data-transition:enter-start")),r=ce(e.getAttribute("data-transition:enter-to")??e.getAttribute("data-transition:enter-end")),c=ce(e.getAttribute("data-transition:leave-from")??e.getAttribute("data-transition:leave-start")),m=ce(e.getAttribute("data-transition:leave-to")??e.getAttribute("data-transition:leave-end")),f=de(e.getAttribute("data-transition:duration")??""),d=de(e.getAttribute("data-transition:duration-enter")??"")??o.durationMs??f??void 0,b=de(e.getAttribute("data-transition:duration-leave")??"")??i.durationMs??f??void 0;return{enter:j([...n,...o.classes]),enterFrom:j(a),enterTo:j(r),leave:j([...n,...i.classes]),leaveFrom:j(c),leaveTo:j(m),enterDurationMs:d,leaveDurationMs:b}}function Se(e,t){for(let n of t)e.classList.remove(n)}function $e(e,t){for(let n of t)e.classList.add(n)}function pe(e,t,n){let o=j([...t.base,...t.from,...t.to]),i=!1,a=null,r=null,c=null,m=()=>{i||(i=!0,a!=null&&window.clearTimeout(a),r!=null&&cancelAnimationFrame(r),c!=null&&cancelAnimationFrame(c),Se(e,o),n())};return $e(e,t.base),$e(e,t.from),Se(e,t.to),r=requestAnimationFrame(()=>{c=requestAnimationFrame(()=>{if(i)return;Se(e,t.from),$e(e,t.to);let f=Xn(e,t.durationMs);if(f<=0){m();return}a=window.setTimeout(m,f+25)})}),m}function Yn(e,t,n,o){if(t.insertBefore(e,n),!o)return;let i=q(e);i.token+=1;let a=i.token;i.cancel&&i.cancel(),i.cancel=pe(e,{base:o.enter,from:o.enterFrom,to:o.enterTo,durationMs:o.enterDurationMs},()=>{let r=q(e);r.token===a&&(r.cancel=null)})}function mt(e,t,n){if(e.hasAttribute("data-forma-leaving")){n();return}if(!t){n();return}e.setAttribute("data-forma-leaving","");let o=q(e);o.token+=1;let i=o.token;o.cancel&&o.cancel(),o.cancel=pe(e,{base:t.leave,from:t.leaveFrom,to:t.leaveTo,durationMs:t.leaveDurationMs},()=>{let a=q(e);a.token===i&&(a.cancel=null),e.removeAttribute("data-forma-leaving"),n()})}function Zn(e,t,n,o){if(!n||o){e.style.display=t?"":"none",n&&Se(e,j([...n.enter,...n.enterFrom,...n.enterTo,...n.leave,...n.leaveFrom,...n.leaveTo]));return}let i=q(e);i.token+=1;let a=i.token;if(i.cancel&&i.cancel(),i.cancel=null,t){e.style.display="",i.cancel=pe(e,{base:n.enter,from:n.enterFrom,to:n.enterTo,durationMs:n.enterDurationMs},()=>{let r=q(e);r.token===a&&(r.cancel=null)});return}i.cancel=pe(e,{base:n.leave,from:n.leaveFrom,to:n.leaveTo,durationMs:n.leaveDurationMs},()=>{let r=q(e);r.token===a&&(e.style.display="none",r.cancel=null)})}function Qn(e,t){let n=[e,...Array.from(e.querySelectorAll("*"))];for(let o of n){let i=[];for(let a of Array.from(o.attributes))if(!Kn(a.name)&&a.value.includes("{item")){let r=At(a.value);i.push({attr:a.name,compiled:r}),o.setAttribute(a.name,je(r,t))}i.length>0&&zn.set(o,i)}}function eo(e,t){let n=0,o=e.match(/^[a-zA-Z_$]\w*/);if(!o)return null;let i=o[0];if(n=i.length,n>=e.length||e[n]!=="."&&!(e[n]==="?"&&e[n+1]==="."))return null;let a=[];for(;n<e.length;){let c=!1;if(e[n]==="?"&&e[n+1]===".")c=!0,n+=2;else if(e[n]===".")n+=1;else return null;let m=e.slice(n).match(/^\w+/);if(!m)return null;let f=m[0];if(n+=f.length,ee.has(f))return()=>{};if(n<e.length&&e[n]==="("){let d=te(e,n,"(",")");if(!d)return null;let b=d.inner.trim(),v=[];for(let g of Fe(b)){let E=C(g,t);if(!E)return null;v.push(E)}a.push({type:"call",name:f,optional:c,argFns:v}),n=d.end+1}else a.push({type:"prop",name:f,optional:c})}if(n!==e.length||a.length===0)return null;let r=i==="Math"?(()=>Math):(()=>t.getters[i]?.());return()=>{let c=r();for(let m of a){if(c==null)return m.optional,void 0;if(m.type==="prop")c=c[m.name];else{let f=c[m.name];if(typeof f!="function")return;let d=m.argFns.map(b=>b());c=f.apply(c,d)}}return c}}function C(e,t){let n=ae.get(e);if(n)return n(t);let o=to(e,t);if(o!==null)if(e==="true"||e==="false"||e==="null"||e==="undefined"){let i=e==="true"?!0:e==="false"?!1:e==="null"?null:void 0;se(e,()=>()=>i)}else if(St.test(e))se(e,i=>()=>i.getters[e]?.());else if(bt.test(e)||Et.test(e)){let i=e.slice(1,-1);se(e,()=>()=>i)}else if(yt.test(e)){let i=Number(e);se(e,()=>()=>i)}else{let i=e.match(fn);if(i){let a=i[1],r=i[2];se(e,c=>()=>c.getters[a]?.()?.[r])}}return o}function to(e,t){e=e.trim();let n=qn(e);if(n!==e)return C(n,t);if(bt.test(e)||Et.test(e)){let g=e.slice(1,-1);return()=>g}if(yt.test(e)){let g=Number(e);return()=>g}if(e==="true")return()=>!0;if(e==="false")return()=>!1;if(e==="null")return()=>null;if(e==="undefined")return()=>{};if(St.test(e))return()=>t.getters[e]?.();{let g=eo(e,t);if(g)return g}let o=e.match(Sn);if(o){let g=o[1].trim(),E=o[2],A=o[3].trim();if(ee.has(E))return()=>{};let T=C(g,t);if(!T)return null;let k=[];for(let u of Fe(A)){let p=C(u,t);if(!p)return null;k.push(p)}return()=>{let u=T(),p=u?.[E];if(typeof p!="function")return;let s=k.map(l=>l());return p.apply(u,s)}}if(e.startsWith("!")){let g=C(e.slice(1).trim(),t);if(g)return()=>!g()}let i=e.match(un);if(i){let g=C(i[1],t),E,A=i[2];if(Tn.test(A)?E=Number(A):E=A.slice(1,-1),g)return()=>g()?.[E]}if(e.startsWith("[")){let g=te(e,0,"[","]");if(g&&g.end===e.length-1){let E=g.inner.trim();if(E==="")return()=>[];let A=Fe(E),T=[],k=!0;for(let u of A){let p=C(u.trim(),t);if(!p){k=!1;break}T.push(p)}if(k)return()=>T.map(u=>u())}}let a=e.match(dn);if(a){let g=C(a[1].trim(),t),E=C(a[2].trim(),t),A=C(a[3].trim(),t);if(g&&E&&A)return()=>g()?E():A()}let r=e.match(mn);if(r){let g=C(r[1].trim(),t),E=C(r[2].trim(),t);if(g&&E)return()=>g()??E()}let c=e.match(pn);if(c){let g=C(c[1].trim(),t),E=C(c[2].trim(),t);if(g&&E)return()=>g()&&E()}let m=e.match(gn);if(m){let g=C(m[1].trim(),t),E=C(m[2].trim(),t);if(g&&E)return()=>g()||E()}let f=e.match(hn);if(f){let g=C(f[1].trim(),t),E=C(f[3].trim(),t);if(g&&E){let A=f[2];return()=>{let T=g(),k=E();switch(A){case"===":return T===k;case"!==":return T!==k;case"==":return T==k;case"!=":return T!=k;case">":return T>k;case"<":return T<k;case">=":return T>=k;case"<=":return T<=k}}}}let d=e.match(vn);if(d){let g=C(d[1].trim(),t),E=C(d[3].trim(),t);if(g&&E){let A=d[2];return()=>{let T=g(),k=E();switch(A){case"*":return T*k;case"/":return T/k;case"%":return T%k}}}}let b=e.match(bn);if(b){let g=C(b[1].trim(),t),E=C(b[3].trim(),t);if(g&&E){let A=b[2];return()=>{let T=g(),k=E();return A==="+"?T+k:T-k}}}let v=e.match(En);if(v){let g=v[1],E=[],A=[],T=0,k=new RegExp(yn.source,"g"),u;for(;(u=k.exec(g))!==null;){E.push(g.slice(T,u.index));let p=C(u[1].trim(),t);if(!p)return null;A.push(p),T=k.lastIndex}return E.push(g.slice(T)),()=>{let p=E[0];for(let s=0;s<A.length;s++)p+=String(A[s]()??""),p+=E[s+1]??"";return p}}return null}function _t(e,t){let n=e.get(t);return n||(n=new Map,e.set(t,n)),n}function kt(e){return e.includes("...")?"Unsupported expression in CSP-safe mode: spread syntax detected. Use .concat() instead, or enable unsafe-eval via setUnsafeEval(true).":e.includes("=>")?"Unsupported expression in CSP-safe mode: arrow function detected. Extract logic to a data-computed attribute, or enable unsafe-eval via setUnsafeEval(true).":"Unsupported expression in CSP-safe mode. Simplify the expression or enable unsafe-eval via setUnsafeEval(true)."}function z(e,t){let n=e.replace(Be,"").trim(),o=_t(qe,t),i=o.get(n);if(i)return i;let a=C(n,t);if(a)return o.set(n,a),a;if(!U){D("buildEvaluator: blocked unsafe eval fallback for expression:",n),Q("expression-unsupported",n,kt(n));let c=()=>{};return o.set(n,c),c}let r=Tt(n);if(r){let c=`Blocked unsafe method "${r}" in expression`;throw Q("expression-unsupported",n,c),new Error(`[FormaJS] ${c}: ${n}`)}try{let c=new Function("__scope",`with(__scope) { return (${n}); }`),m=new Proxy(Object.create(null),{has(d,b){return b in t.getters},get(d,b){if(ee.has(b))return;let v=t.getters[b];return v?v():void 0}}),f=()=>c(m);return o.set(n,f),f}catch{Q("expression-unsupported",n,"Expression too complex for CSP-safe mode. Enable unsafe-eval via FormaRuntime.unsafeEval = true, or use the standard (non-hardened) build.");let c=()=>{};return o.set(n,c),c}}function Ae(e,t){let n=e.trim().replace(/;+$/g,"").trim();if(!n)return null;let o=Vn(n,t);if(o)return o;let i=Wn(n);if(i.length>1){let v=i.map(g=>Ae(g,t));return v.every(g=>g!==null)?g=>{H(()=>{for(let E of v)E(g)})}:null}let a=i[0]??n,r=a.match(An);if(r){let v=r[1],g=r[2];return()=>{H(()=>{let E=t.getters[v]?.()??0;t.setters[v]?.(g==="++"?E+1:E-1)})}}let c=a.match(wn);if(c){let v=c[1],g=c[2];return()=>{H(()=>{let E=t.getters[g]?.()??0;t.setters[g]?.(v==="++"?E+1:E-1)})}}let m=a.match(_n);if(m&&m[1]===m[2]){let v=m[1];return()=>{H(()=>{t.setters[v]?.(!t.getters[v]?.())})}}let f=a.match(kn);if(f){let v=f[1],g=C(f[2].trim(),t);if(g)return I&&D(`parseHandler: assignment "${v} = ..." \u2014 setter exists:`,!!t.setters[v],", getter exists:",!!t.getters[v]),()=>{H(()=>{let E=g();I&&D(`SETTER: ${v} = ${E} (was: ${t.getters[v]?.()})`),t.setters[v]?.(E)})}}let d=a.match(Rn);if(d){let v=d[1],g=d[2],E=C(d[3].trim(),t);if(E)return()=>{H(()=>{let A=t.getters[v]?.()??0,T=E();switch(g){case"+=":t.setters[v]?.(A+T);break;case"-=":t.setters[v]?.(A-T);break;case"*=":t.setters[v]?.(A*T);break;case"/=":t.setters[v]?.(A/T);break}})}}let b=a.match(In);if(b){let v=b[1];return()=>gt(v)}return null}function no(e,t){let n=e.trim();if(n.startsWith("{")){let c=te(n,0,"{","}");c&&c.end===n.length-1&&(n=c.inner.trim())}let o=_t(Ge,t),i=o.get(n);if(i)return i;let a=Ae(n,t);if(a){let c={handler:a,supported:!0};return o.set(n,c),c}if(!U){D("buildHandler: blocked unsafe eval fallback for expression:",n),Q("handler-unsupported",n,kt(n));let c={handler:()=>{},supported:!1};return o.set(n,c),c}let r=Tt(n);if(r){let c=`Blocked unsafe method "${r}" in handler`;throw Q("handler-unsupported",n,c),new Error(`[FormaJS] ${c}: ${n}`)}try{let c=new Function("__scope","$event","event",`with(__scope) { ${n} }`),m=new Proxy(Object.create(null),{has(b,v){return v==="$event"||v==="event"?!1:v in t.getters||v in t.setters},get(b,v){if(ee.has(v))return;let g=t.getters[v];return g?g():void 0},set(b,v,g){let E=t.setters[v];return E&&E(g),!0}}),d={handler:b=>{H(()=>c(m,b,b))},supported:!0};return o.set(n,d),d}catch{Q("handler-unsupported",n,"Expression too complex for CSP-safe mode. Enable unsafe-eval via FormaRuntime.unsafeEval = true, or use the standard (non-hardened) build.");let c={handler:()=>{},supported:!1};return o.set(n,c),c}}var oo=new Set(["__proto__","constructor","prototype"]);function Rt(e){let t;try{t=JSON.parse(e)}catch{return I&&D("parseState: Invalid JSON in data-forma-state \u2014 use valid JSON with quoted keys. Got:",e.slice(0,200)),{}}for(let n of oo)n in t&&delete t[n];return t}function io(e){let t=e.getAttribute("data-forma-state")??"{}",n=Rt(t),o=Object.keys(n);I&&(D("initScope: parsed",o.length,"keys:",o.join(", ")),o.length===0&&D("initScope: WARNING \u2014 empty state! Raw attribute:",t.slice(0,200)));let i={},a={};for(let[r,c]of Object.entries(n)){let[m,f]=Z(c);i[r]=m,a[r]=f}return i.$refetch=()=>gt,{getters:i,setters:a}}function J(e,t,n){t=Le(t,{$el:e,$dispatch:(u,p)=>{e.dispatchEvent(new CustomEvent(u,{bubbles:!0,composed:!0,detail:p}))}});let i=lo(e),a=!i||i.has("data-computed")?e.getAttribute("data-computed"):null;if(a){let u=a.split(/;\s*(?=\w+\s*=[^=])/);for(let p of u){let s=p.trim();if(!s)continue;let l=s.match(Cn);if(l){let h=l[1],y=l[2],S=t.getters[h];delete t.getters[h];let w=z(`{${y}}`,t),x=Ce(w);t.getters[h]=x,S||delete t.setters[h]}}}let r=!i||i.has("data-text")?e.getAttribute("data-text"):null;if(r){let u=z(r,t),p=F(()=>{Fn(e,Bn(u()))});n.push(p)}let c=!i||i.has("data-show")?e.getAttribute("data-show"):null;if(c){let u=z(c,t),p=Oe(e);if(I){let h=e.tagName.toLowerCase(),y=e.className?`.${String(e.className).split(" ")[0]}`:"";D(`bindElement: data-show="${c}" on <${h}${y}>`)}let s=!1,l=F(()=>{let h=!!u();I&&D(`data-show effect: "${c}" \u2192 ${h}`),Zn(e,h,p,!s),s=!0});n.push(l),p&&n.push(()=>ye(e))}let m=!i||i.has("data-if")?e.getAttribute("data-if"):null;if(m){let u=z(m,t),p=Oe(e),s=document.createComment("forma-if"),l=e.parentNode,h=!0,y=!1,S=F(()=>{let w=!!u();w&&!h?(ye(e),e.removeAttribute("data-forma-leaving"),y&&p?Yn(e,l,s,p):l?.insertBefore(e,s),h=!0):!w&&h&&(y&&p?mt(e,p,()=>{e.parentNode&&(l?.insertBefore(s,e),e.remove())}):(l?.insertBefore(s,e),e.remove()),h=!1),y=!0});n.push(S),p&&n.push(()=>ye(e))}let f=!i||i.has("data-model")?e.getAttribute("data-model"):null;if(f){let u=f.replace(Be,"").trim(),p=t.getters[u],s=t.setters[u];if(p&&s){let l=e,h=F(()=>{let w=p();l.type==="checkbox"?l.checked=!!w:l.value=String(w??"")});n.push(h);let y=l.type==="checkbox"?"change":"input",S=()=>{l.type==="checkbox"?s(l.checked):l.type==="number"||l.type==="range"?s(Number(l.value)):s(l.value)};l.addEventListener(y,S),n.push(()=>{l.removeEventListener(y,S)})}}let d=!i||co(i,"data-on:","data-class:","data-bind:"),b=e.attributes;if(d)for(let u=0;u<b.length;u++){let p=b[u],s=p.name;if(s.startsWith("data-on:")){let l=s.slice(8),h=no(p.value,t),y=h.handler;if(I){let S=e.tagName.toLowerCase(),w=e.id?`#${e.id}`:"",x=e.className?`.${String(e.className).split(" ")[0]}`:"";D(`bindElement: data-on:${l}="${p.value}" on <${S}${w}${x}>`)}if(h.supported?e.hasAttribute("data-forma-handler-error")&&e.removeAttribute("data-forma-handler-error"):e.setAttribute("data-forma-handler-error","unsupported"),I){let S=p.value,w=x=>{D(`HANDLER FIRED: data-on:${l}="${S}"`,"isTrusted:",x.isTrusted),y(x)};e.addEventListener(l,w),n.push(()=>{e.removeEventListener(l,w)})}else e.addEventListener(l,y),n.push(()=>{e.removeEventListener(l,y)})}else if(s.startsWith("data-class:")){let l=s.slice(11),h=z(p.value,t),y=F(()=>{e.classList.toggle(l,!!h())});n.push(y)}else if(s.startsWith("data-bind:")){let l=s.slice(10),h=z(p.value,t),y=F(()=>{let S=h();S==null||S===!1?e.removeAttribute(l):e.setAttribute(l,String(S))});n.push(y)}}let v=!i||i.has("data-persist")?e.getAttribute("data-persist"):null;if(v){let u=v.replace(Be,"").trim(),p=t.getters[u],s=t.setters[u];if(p&&s){let l="forma:"+u;try{let y=localStorage.getItem(l);y!==null&&s(JSON.parse(y))}catch{}let h=F(()=>{try{localStorage.setItem(l,JSON.stringify(p()))}catch{}});n.push(h)}}let g=!i||i.has("data-list")?e.getAttribute("data-list"):null;if(g){let u=z(g,t),p=e.children[0];if(p){let x=function(N){let R=N;if(Array.isArray(R.__formaDisposers)){for(let _ of R.__formaDisposers)try{_()}catch{}delete R.__formaDisposers}},G=function(N,R){let _=Gn(s,N),L=Le(t,{item:N,index:R}),M=[];J(_,L,M);for(let B of Array.from(_.querySelectorAll("*")))J(B,L,M);return _.__formaDisposers=M,_},ne=function(N,R,_){x(N),jn(N,R);let L=Le(t,{item:R,index:_}),M=[];J(N,L,M);for(let B of Array.from(N.querySelectorAll("*")))J(B,L,M);N.__formaDisposers=M};var A=x,T=G,k=ne;let s=p.cloneNode(!0);e.removeChild(p);let l=s.getAttribute("data-key"),h=l?l.replace(Dn,"").trim():null,y=Oe(e),S=[],w=[],oe=y?{onInsert:N=>{let R=N;if(!R.setAttribute)return;let _=q(R);_.token+=1;let L=_.token;_.cancel&&_.cancel(),_.cancel=pe(R,{base:y.enter,from:y.enterFrom,to:y.enterTo,durationMs:y.enterDurationMs},()=>{let M=q(R);M.token===L&&(M.cancel=null)})},onBeforeRemove:(N,R)=>{let _=N;if(!_.setAttribute){R();return}x(N),mt(_,y,()=>{R()})}}:void 0,ie=F(()=>{let N=u();if(!Array.isArray(N)){for(let _ of w)x(_),e.removeChild(_);S=[],w=[];return}if(y){let _=e.querySelectorAll("[data-forma-leaving]");for(let L of Array.from(_))ye(L),L.removeAttribute("data-forma-leaving"),L.parentNode&&L.parentNode.removeChild(L)}let R=new Set(w);if(h){let _=Ne(e,S,N,w,M=>String(M?.[h]??""),M=>{let B=N.indexOf(M);return G(M,B)},(M,B)=>{let $=N.indexOf(B);ne(M,B,$)},void 0,oe),L=new Set(_.nodes);for(let M of R)if(!L.has(M)){if(M.hasAttribute?.("data-forma-leaving"))continue;x(M)}S=_.items,w=_.nodes}else{let _=N.map(($,ge)=>({__idx:ge,__item:$})),M=Ne(e,S,_,w,$=>$.__idx,$=>G($.__item,$.__idx),($,ge)=>ne($,ge.__item,ge.__idx),void 0,oe),B=new Set(M.nodes);for(let $ of R)if(!B.has($)){if($.hasAttribute?.("data-forma-leaving"))continue;x($)}S=M.items,w=M.nodes}});n.push(ie)}}let E=!i||i.has("data-fetch")?e.getAttribute("data-fetch"):null;if(E){let u=E.match(Nn);if(u){let p=u[1].trim(),s=u[2].trim(),l=u[3]?.trim()??"",h="GET",y=p,S=p.match(xn);S&&(h=S[1].toUpperCase(),y=S[2].trim());let w,x,G;for(let R of l.split("|").filter(Boolean)){let[_,L]=R.split(":").map(M=>M.trim());_==="loading"?w=L:_==="error"?x=L:_==="poll"&&(G=parseInt(L??"0",10))}let[ne,oe]=Z(null);if(t.getters[s]=ne,t.setters[s]=oe,w){let[R,_]=Z(!1);t.getters[w]=R,t.setters[w]=_}if(x){let[R,_]=Z(null);t.getters[x]=R,t.setters[x]=_}let ie=()=>{w&&t.setters[w](!0),fetch(y,{method:h}).then(R=>R.json()).then(R=>{oe(R),w&&t.setters[w](!1)}).catch(R=>{x&&t.setters[x](R.message),w&&t.setters[w](!1)})},N=e.getAttribute("data-fetch-id");if(N&&(Pe.set(N,ie),n.push(()=>Pe.delete(N))),ie(),G&&G>0){let R=setInterval(ie,G);n.push(()=>clearInterval(R))}}}}var ni=["[data-text]","[data-show]","[data-if]","[data-model]","[data-computed]","[data-persist]","[data-list]","[data-fetch]","[data-bind\\:*]","[data-class\\:*]","[data-on\\:*]","[data-transition]"].join(",");function ro(e){let t=e.attributes;for(let n=0;n<t.length;n++){let o=t[n].name;if(o.startsWith("data-text")||o.startsWith("data-show")||o.startsWith("data-if")||o.startsWith("data-model")||o.startsWith("data-computed")||o.startsWith("data-persist")||o.startsWith("data-list")||o.startsWith("data-fetch")||o.startsWith("data-on:")||o.startsWith("data-class:")||o.startsWith("data-bind:")||o.startsWith("data-transition"))return!0}return!1}var V=null;function so(e){if(!e||Object.keys(e).length===0){V=null;return}V=new Map;for(let t in e)V.set(t,new Set(e[t]))}function ao(){if(!V||V.size===0||V.size>200)return null;let e=[];for(let t of V.keys())e.push(`[data-forma-id="${t}"]`);return e.join(",")}function lo(e){if(!V)return null;let t=e.getAttribute("data-forma-id");return t?V.get(t)??null:null}function co(e,...t){for(let n of e)for(let o of t)if(n.startsWith(o))return!0;return!1}function K(e){if(e.__formaDisposers){I&&D("mountScope: SKIPPED (already mounted)");return}let t=io(e),n=[];J(e,t,n);let o=0,i=ao();if(i){let a=e.querySelectorAll(i);for(let r=0;r<a.length;r++)J(a[r],t,n),o++}else{let a=e.querySelectorAll("*");for(let r=0;r<a.length;r++){let c=a[r];ro(c)&&(J(c,t,n),o++)}}e.__formaDisposers=n,e.__formaScope=t,e.__formaInitialState=e.getAttribute("data-forma-state")??"{}",I&&D("mountScope: DONE \u2014",o,"elements bound,",n.length,"disposers",i?"(targeted)":"(full scan)")}function X(e){let t=e.__formaDisposers;if(t){for(let n of t)try{n()}catch{}delete e.__formaDisposers,delete e.__formaScope,delete e.__formaInitialState}}var W=null,pt=1,fo=40,fe=[],me=!1;function uo(e){for(let t=0;t<e.removedNodes.length;t++){let n=e.removedNodes[t];if(n.nodeType!==pt)continue;let o=n;o.hasAttribute("data-forma-state")&&(I&&D("MutationObserver: REMOVED scope"),X(o));let i=o.querySelectorAll("[data-forma-state]");for(let a=0;a<i.length;a++)X(i[a])}for(let t=0;t<e.addedNodes.length;t++){let n=e.addedNodes[t];if(n.nodeType!==pt)continue;let o=n;if(o.closest("[data-forma-leaving]"))continue;o.hasAttribute("data-forma-state")&&(I&&D("MutationObserver: ADDED scope via mutation"),K(o));let i=o.querySelectorAll("[data-forma-state]");I&&i.length>0&&D("MutationObserver: found",i.length,"nested scope(s) in added subtree");for(let a=0;a<i.length;a++){let r=i[a];r.closest("[data-forma-leaving]")||K(r)}}if(e.type==="attributes"&&e.attributeName==="data-forma-state"){let t=e.target;X(t),t.hasAttribute("data-forma-state")&&K(t)}}async function Mt(){try{for(;fe.length>0;){let e=fe.splice(0,fo);for(let t=0;t<e.length;t++)uo(e[t]);fe.length>0&&await ht()}}finally{me=!1,fe.length>0&&!me&&(me=!0,Mt())}}function mo(e){I&&D("MutationObserver: queued",e.length,"mutation(s)"),fe.push(...e),!me&&(me=!0,Mt())}function po(){if(W)return;W=new MutationObserver(mo);let e=document.body||document.documentElement;e&&W.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-forma-state"]})}function go(){W&&(W.disconnect(),W=null)}function We(){ln&&vt(document,{skipIfAlreadySet:!0});let e=document.querySelectorAll("[data-forma-state]");I&&D("initRuntime: found",e.length,"scope(s)");for(let t of Array.from(e))K(t);po(),I&&D("initRuntime: MutationObserver started")}function ho(){go();let e=document.querySelectorAll("[data-forma-state]");for(let t of Array.from(e))X(t)}function vo(e){e.hasAttribute("data-forma-state")&&K(e);let t=e.querySelectorAll("[data-forma-state]");for(let n of Array.from(t))K(n)}function bo(e){e.hasAttribute("data-forma-state")&&X(e);let t=e.querySelectorAll("[data-forma-state]");for(let n of Array.from(t))X(n)}typeof document<"u"&&(document.readyState==="loading"?document.addEventListener("DOMContentLoaded",We):We());function Eo(e){I=e}function yo(e){P!==e&&(P=e,e==="locked-off"&&(U=!1),e==="locked-on"&&(U=!0),e==="mutable"&&(U=!0),qe=new WeakMap,Ge=new WeakMap)}function So(e){if(P!=="mutable"){D(`setUnsafeEval ignored (mode=${P}); unsafe fallback is locked`);return}U!==e&&(U=e,qe=new WeakMap,Ge=new WeakMap)}function To(){return P}function Ao(e){Ve=e}function wo(){return Array.from(ue.values()).map(e=>({...e}))}function _o(){ue.clear()}function ko(){let e=document.querySelectorAll("[data-forma-state]"),t=[];for(let n of Array.from(e)){if(n.closest("[data-forma-leaving]"))continue;let o=n.__formaScope,i=n.__formaInitialState;if(!o)continue;let a={};for(let r of Object.keys(o.getters)){let c=o.getters[r]();a[r]={value:c,type:typeof c}}t.push({element:n,id:n.getAttribute("data-forma-id")||n.id||n.tagName.toLowerCase(),values:a,initialJSON:i??"{}"})}return t}function Ro(e,t,n){let o=e.__formaScope;o?.setters[t]&&H(()=>{o.setters[t](n)})}function Mo(e){let t=e.__formaScope,n=e.__formaInitialState;if(!t||!n)return;let o=Rt(n);H(()=>{for(let[i,a]of Object.entries(o))t.setters[i]?.(a)})}var He=null;function Co(){return He||(He=at({mountScope:K,unmountScope:X,disconnectObserver(){W&&W.disconnect()},reconnectObserver(){if(W){let e=document.body||document.documentElement;e&&W.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-forma-state"]})}},batch:H})),He}function No(e,t){Co()(e,t)}return It(xo);})();
2
2
  //# sourceMappingURL=formajs-runtime-hardened.global.js.map