@getforma/core 0.6.1 → 0.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/README.md +125 -15
  2. package/dist/chunk-3U57L2TY.cjs +38 -0
  3. package/dist/chunk-3U57L2TY.cjs.map +1 -0
  4. package/dist/{chunk-TKGUHASG.js → chunk-N522P3G6.js} +20 -12
  5. package/dist/chunk-N522P3G6.js.map +1 -0
  6. package/dist/chunk-OZCHIVAZ.js +35 -0
  7. package/dist/chunk-OZCHIVAZ.js.map +1 -0
  8. package/dist/{chunk-YSKF3VRA.cjs → chunk-YMIMKO4W.cjs} +51 -20
  9. package/dist/chunk-YMIMKO4W.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 +112 -115
  19. package/dist/index.cjs.map +1 -1
  20. package/dist/index.d.cts +30 -21
  21. package/dist/index.d.ts +30 -21
  22. package/dist/index.js +25 -50
  23. package/dist/index.js.map +1 -1
  24. package/dist/runtime-hardened.cjs +106 -27
  25. package/dist/runtime-hardened.cjs.map +1 -1
  26. package/dist/runtime-hardened.js +107 -28
  27. package/dist/runtime-hardened.js.map +1 -1
  28. package/dist/runtime.cjs +128 -50
  29. package/dist/runtime.cjs.map +1 -1
  30. package/dist/runtime.js +102 -24
  31. package/dist/runtime.js.map +1 -1
  32. package/dist/signal-B4_wQJHs.d.cts +53 -0
  33. package/dist/signal-B4_wQJHs.d.ts +53 -0
  34. package/dist/ssr/index.cjs +19 -2
  35. package/dist/ssr/index.cjs.map +1 -1
  36. package/dist/ssr/index.js +19 -2
  37. package/dist/ssr/index.js.map +1 -1
  38. package/dist/tc39-compat.cjs +4 -12
  39. package/dist/tc39-compat.cjs.map +1 -1
  40. package/dist/tc39-compat.d.cts +1 -1
  41. package/dist/tc39-compat.d.ts +1 -1
  42. package/dist/tc39-compat.js +3 -11
  43. package/dist/tc39-compat.js.map +1 -1
  44. package/package.json +2 -2
  45. package/dist/chunk-DPSAVBCP.js +0 -26
  46. package/dist/chunk-DPSAVBCP.js.map +0 -1
  47. package/dist/chunk-KH3F5NRU.cjs +0 -29
  48. package/dist/chunk-KH3F5NRU.cjs.map +0 -1
  49. package/dist/chunk-TKGUHASG.js.map +0 -1
  50. package/dist/chunk-YSKF3VRA.cjs.map +0 -1
  51. package/dist/signal-CfLDwMyg.d.cts +0 -29
  52. package/dist/signal-CfLDwMyg.d.ts +0 -29
@@ -1,2 +1,2 @@
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("mutable");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);})();
1
+ "use strict";var FormaRuntime=(()=>{var xe=Object.defineProperty;var Ht=Object.getOwnPropertyDescriptor;var $t=Object.getOwnPropertyNames;var Ft=Object.prototype.hasOwnProperty;var Bt=(e,t)=>{for(var n in t)xe(e,n,{get:t[n],enumerable:!0})},Pt=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of $t(t))!Ft.call(e,i)&&i!==n&&xe(e,i,{get:()=>t[i],enumerable:!(r=Ht(t,i))||r.enumerable});return e};var Ut=e=>Pt(xe({},"__esModule",{value:!0}),e);var Lr={};Bt(Lr,{applyContainmentHints:()=>wt,clearDiagnostics:()=>Mr,destroyRuntime:()=>vr,getDiagnostics:()=>Rr,getScopes:()=>xr,getUnsafeEvalMode:()=>wr,initRuntime:()=>Ge,mount:()=>Er,reconcile:()=>Dr,resetScope:()=>kr,setDebug:()=>Sr,setDiagnostics:()=>_r,setDirectiveMap:()=>cr,setScopeValue:()=>Cr,setUnsafeEval:()=>Ar,setUnsafeEvalMode:()=>Tr,unmount:()=>yr,yieldToMain:()=>At});function Xe({update:e,notify:t,unwatched:n}){return{link:r,unlink:i,propagate:a,checkDirty:s,shallowPropagate:c};function r(o,l,p){let m=l.depsTail;if(m!==void 0&&m.dep===o)return;let u=m!==void 0?m.nextDep:l.deps;if(u!==void 0&&u.dep===o){u.version=p,l.depsTail=u;return}let h=o.subsTail;if(h!==void 0&&h.version===p&&h.sub===l)return;let E=l.depsTail=o.subsTail={version:p,dep:o,sub:l,prevDep:m,nextDep:u,prevSub:h,nextSub:void 0};u!==void 0&&(u.prevDep=E),m!==void 0?m.nextDep=E:l.deps=E,h!==void 0?h.nextSub=E:o.subs=E}function i(o,l=o.sub){let p=o.dep,m=o.prevDep,u=o.nextDep,h=o.nextSub,E=o.prevSub;return u!==void 0?u.prevDep=m:l.depsTail=m,m!==void 0?m.nextDep=u:l.deps=u,h!==void 0?h.prevSub=E:p.subsTail=E,E!==void 0?E.nextSub=h:(p.subs=h)===void 0&&n(p),u}function a(o){let l=o.nextSub,p;e:do{let m=o.sub,u=m.flags;if(u&60?u&12?u&4?!(u&48)&&d(o,m)?(m.flags=u|40,u&=1):u=0:m.flags=u&-9|32:u=0:m.flags=u|32,u&2&&t(m),u&1){let h=m.subs;if(h!==void 0){let E=(o=h).nextSub;E!==void 0&&(p={value:l,prev:p},l=E);continue}}if((o=l)!==void 0){l=o.nextSub;continue}for(;p!==void 0;)if(o=p.value,p=p.prev,o!==void 0){l=o.nextSub;continue e}break}while(!0)}function s(o,l){let p,m=0,u=!1;e:do{let h=o.dep,E=h.flags;if(l.flags&16)u=!0;else if((E&17)===17){if(e(h)){let S=h.subs;S.nextSub!==void 0&&c(S),u=!0}}else if((E&33)===33){(o.nextSub!==void 0||o.prevSub!==void 0)&&(p={value:o,prev:p}),o=h.deps,l=h,++m;continue}if(!u){let S=o.nextDep;if(S!==void 0){o=S;continue}}for(;m--;){let S=l.subs,w=S.nextSub!==void 0;if(w?(o=p.value,p=p.prev):o=S,u){if(e(l)){w&&c(S),l=o.sub;continue}u=!1}else l.flags&=-33;l=o.sub;let y=o.nextDep;if(y!==void 0){o=y;continue e}}return u}while(!0)}function c(o){do{let l=o.sub,p=l.flags;(p&48)===32&&(l.flags=p|16,(p&6)===2&&t(l))}while((o=o.nextSub)!==void 0)}function d(o,l){let p=l.depsTail;for(;p!==void 0;){if(p===o)return!0;p=p.prevDep}return!1}}var Ee=0,Ce=0,K=0,le=0,z,W=[],{link:ke,unlink:Ye,propagate:Wt,checkDirty:Ze,shallowPropagate:Qe}=Xe({update(e){return e.depsTail!==void 0?ot(e):st(e)},notify(e){let t=le,n=t;do if(W[t++]=e,e.flags&=-3,e=e.subs?.sub,e===void 0||!(e.flags&2))break;while(!0);for(le=t;n<--t;){let r=W[n];W[n++]=W[t],W[t]=r}},unwatched(e){e.flags&1?e.depsTail!==void 0&&(e.depsTail=void 0,e.flags=17,ye(e)):lt.call(e)}});function q(e){let t=z;return z=e,t}function et(){++Ce}function tt(){--Ce||at()}function nt(e){return Gt.bind({currentValue:e,pendingValue:e,subs:void 0,subsTail:void 0,flags:1})}function rt(e){return Vt.bind({value:void 0,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:0,getter:e})}function it(e){let t={fn:e,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:6},n=q(t);n!==void 0&&ke(t,n,0);try{t.fn()}finally{z=n,t.flags&=-5}return jt.bind(t)}function ot(e){++Ee,e.depsTail=void 0,e.flags=5;let t=q(e);try{let n=e.value;return n!==(e.value=e.getter(n))}finally{z=t,e.flags&=-5,ye(e)}}function st(e){return e.flags=1,e.currentValue!==(e.currentValue=e.pendingValue)}function qt(e){let t=e.flags;if(t&16||t&32&&Ze(e.deps,e)){++Ee,e.depsTail=void 0,e.flags=6;let n=q(e);try{e.fn()}finally{z=n,e.flags&=-5,ye(e)}}else e.flags=2}function at(){try{for(;K<le;){let e=W[K];W[K++]=void 0,qt(e)}}finally{for(;K<le;){let e=W[K];W[K++]=void 0,e.flags|=10}K=0,le=0}}function Vt(){let e=this.flags;if(e&16||e&32&&(Ze(this.deps,this)||(this.flags=e&-33,!1))){if(ot(this)){let n=this.subs;n!==void 0&&Qe(n)}}else if(!e){this.flags=5;let n=q(this);try{this.value=this.getter()}finally{z=n,this.flags&=-5}}let t=z;return t!==void 0&&ke(this,t,Ee),this.value}function Gt(...e){if(e.length){if(this.pendingValue!==(this.pendingValue=e[0])){this.flags=17;let t=this.subs;t!==void 0&&(Wt(t),Ce||at())}}else{if(this.flags&16&&st(this)){let n=this.subs;n!==void 0&&Qe(n)}let t=z;for(;t!==void 0;){if(t.flags&3){ke(this,t,Ee);break}t=t.subs?.sub}return this.currentValue}}function jt(){lt.call(this)}function lt(){this.depsTail=void 0,this.flags=0,ye(this);let e=this.subs;e!==void 0&&Ye(e)}function ye(e){let t=e.depsTail,n=t!==void 0?t.nextDep:e.deps;for(;n!==void 0;)n=Ye(n,e)}function zt(e,t,n){if(typeof t!="function"){if(n){let s=q(void 0),c=e();if(q(s),n(c,t))return}e(t);return}let r=q(void 0),i=e();q(r);let a=t(i);n&&n(i,a)||e(a)}function te(e,t){let n=nt(e),r=n,i=t?.equals;return[r,s=>zt(n,s,i)]}var Ne=null;function ct(e){Ne&&Ne.disposers.push(e)}function ut(){return Ne!==null}var Jt=32;var Kt=[];for(let e=0;e<Jt;e++)Kt.push([]);function P(e){let t=it(e);return ut()&&ct(t),t}function De(e){return rt(e)}function H(e){et();try{e()}finally{tt()}}function ft(e){let t=e.length;if(t===0)return[];let n=new Int32Array(t),r=new Int32Array(t),i=new Int32Array(t).fill(-1),a=0;for(let d=0;d<t;d++){let o=e[d],l=0,p=a;for(;l<p;){let m=l+p>>1;n[m]<o?l=m+1:p=m}n[l]=o,r[l]=d,l>0&&(i[d]=r[l-1]),l>=a&&a++}let s=new Array(a),c=r[a-1];for(let d=a-1;d>=0;d--)s[d]=c,c=i[c];return s}var Xt=32;function Yt(e,t,n,r,i,a,s,c,d){let o=t.length,l=n.length,p=new Array(o);for(let f=0;f<o;f++)p[f]=i(t[f]);let m=new Array(l),u=new Uint8Array(o);for(let f=0;f<l;f++){let g=i(n[f]),b=-1;for(let T=0;T<o;T++)if(!u[T]&&p[T]===g){b=T,u[T]=1;break}m[f]=b}for(let f=0;f<o;f++)if(!u[f])if(d?.onBeforeRemove){let g=r[f];d.onBeforeRemove(g,()=>{g.parentNode&&g.parentNode.removeChild(g)})}else e.removeChild(r[f]);if(o===l){let f=!0;for(let g=0;g<l;g++)if(m[g]!==g){f=!1;break}if(f){let g=new Array(l);for(let b=0;b<l;b++){let T=r[b];s(T,n[b]),g[b]=T}return{nodes:g,items:n}}}let h=[],E=[];for(let f=0;f<l;f++)m[f]!==-1&&(h.push(m[f]),E.push(f));let S=ft(h),w=new Uint8Array(l);for(let f of S)w[E[f]]=1;let y=new Array(l),v=c??null;for(let f=l-1;f>=0;f--){let g,b=!1;if(m[f]===-1)g=a(n[f]),b=!0;else if(g=r[m[f]],s(g,n[f]),w[f]){y[f]=g,v=g;continue}v?e.insertBefore(g,v):e.appendChild(g),b&&d?.onInsert?.(g),y[f]=g,v=g}return{nodes:y,items:n}}function Le(e,t,n,r,i,a,s,c,d){let o=t.length,l=n.length;if(l===0){for(let f=0;f<o;f++)if(d?.onBeforeRemove){let g=r[f];d.onBeforeRemove(g,()=>{g.parentNode&&g.parentNode.removeChild(g)})}else e.removeChild(r[f]);return{nodes:[],items:[]}}if(o===0){let f=new Array(l);for(let g=0;g<l;g++){let b=a(n[g]);c?e.insertBefore(b,c):e.appendChild(b),d?.onInsert?.(b),f[g]=b}return{nodes:f,items:n}}if(o<Xt)return Yt(e,t,n,r,i,a,s,c,d);let p=new Map;for(let f=0;f<o;f++)p.set(i(t[f]),f);let m=new Array(l),u=new Uint8Array(o);for(let f=0;f<l;f++){let g=i(n[f]),b=p.get(g);b!==void 0?(m[f]=b,u[b]=1):m[f]=-1}for(let f=0;f<o;f++)if(!u[f])if(d?.onBeforeRemove){let g=r[f];d.onBeforeRemove(g,()=>{g.parentNode&&g.parentNode.removeChild(g)})}else e.removeChild(r[f]);if(o===l){let f=!0;for(let g=0;g<l;g++)if(m[g]!==g){f=!1;break}if(f){let g=new Array(l);for(let b=0;b<l;b++){let T=r[b];s(T,n[b]),g[b]=T}return{nodes:g,items:n}}}let h=[],E=[];for(let f=0;f<l;f++)m[f]!==-1&&(h.push(m[f]),E.push(f));let S=ft(h),w=new Uint8Array(l);for(let f of S)w[E[f]]=1;let y=new Array(l),v=c??null;for(let f=l-1;f>=0;f--){let g,b=!1;if(m[f]===-1)g=a(n[f]),b=!0;else if(g=r[m[f]],s(g,n[f]),w[f]){y[f]=g,v=g;continue}v?e.insertBefore(g,v):e.appendChild(g),b&&d?.onInsert?.(g),y[f]=g,v=g}return{nodes:y,items:n}}function Zt(e){let t=new Set,n=e.attributes;for(let r=0;r<n.length;r++){let i=n[r].name;i.startsWith("data-bind:")&&t.add(i.slice(10))}return t}function Qt(e){return e.hasAttribute("data-list")||e.hasAttribute("data-if")}function dt(e){try{let t=JSON.parse(e);return Object.keys(t).sort()}catch{return[]}}function en(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 tn(e,t){let n=e.getAttribute("data-module"),r=t.getAttribute("data-module");if(n!==r)return"REPLACE";let a=e.__formaInitialState??e.getAttribute("data-forma-state")??"{}",s=t.getAttribute("data-forma-state")??"{}",c=dt(a),d=dt(s);return en(c,d)?"PRESERVE":"RESET"}var Se=null;function nn(e){return Se||(Se=document.createElement("template")),Se.innerHTML=e,Se.content}function Oe(e,t){let n=Zt(e),r=e.hasAttribute("data-show"),i=e.hasAttribute("data-model"),a=!1,s=e.attributes;for(let d=0;d<s.length;d++)if(s[d].name.startsWith("data-class:")){a=!0;break}let c=t.attributes;for(let d=0;d<c.length;d++){let o=c[d];if(o.name==="style"&&r||o.name==="class"&&a||(o.name==="value"||o.name==="checked")&&i||n.has(o.name))continue;e.getAttribute(o.name)!==o.value&&e.setAttribute(o.name,o.value)}for(let d=s.length-1;d>=0;d--){let o=s[d];if(!t.hasAttribute(o.name)){if(o.name==="style"&&r||o.name==="class"&&a||(o.name==="value"||o.name==="checked")&&i||n.has(o.name))continue;e.removeAttribute(o.name)}}}function rn(e,t){if(e.hasAttribute("data-text"))return;let n=[],r=[];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&&r.push({node:c,index:s})}if(n.length===r.length){for(let s=0;s<n.length;s++)n[s].textContent!==r[s].node.textContent&&(n[s].textContent=r[s].node.textContent);return}let i=new Set,a=0;for(let{node:s,index:c}of r)if(a<n.length){let d=n[a];a++,i.add(d),d.textContent!==s.textContent&&(d.textContent=s.textContent)}else{let d=on(e,t,c);e.insertBefore(document.createTextNode(s.textContent??""),d)}for(let s of n)!i.has(s)&&s.parentNode===e&&e.removeChild(s)}function on(e,t,n){for(let r=n+1;r<t.childNodes.length;r++){let i=t.childNodes[r];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 Ie(e,t,n){if(Qt(e))return;rn(e,t);let r=Array.from(e.children),i=Array.from(t.children),a=new Map,s=[];for(let o of r){if(o.hasAttribute("data-forma-leaving"))continue;let l=o.getAttribute("data-forma-id");l?a.set(l,o):s.push(o)}let c=0,d=new Set;for(let o of i){let l=o.getAttribute("data-forma-id"),p;if(l)p=a.get(l);else for(;c<s.length;){let m=s[c];if(c++,m.tagName===o.tagName&&!d.has(m)){p=m;break}}if(p){if(d.add(p),p.hasAttribute("data-forma-state")&&o.hasAttribute("data-forma-state"))switch(tn(p,o)){case"PRESERVE":Oe(p,o),Ie(p,o,n);break;case"RESET":n.unmountScope(p),Oe(p,o),sn(p,o),n.mountScope(p);break;case"REPLACE":{n.unmountScope(p);let u=o.cloneNode(!0);e.replaceChild(u,p),n.mountScope(u),d.delete(p),p=u,d.add(u);break}}else Oe(p,o),Ie(p,o,n);an(e,p,o,i)}else{let m=o.cloneNode(!0),u=ln(e,o,i);e.insertBefore(m,u),d.add(m),m.hasAttribute("data-forma-state")&&n.mountScope(m);let h=m.querySelectorAll("[data-forma-state]");for(let E of Array.from(h))n.mountScope(E)}}for(let o of r)if(!d.has(o)){if(o.parentElement!==e||o.hasAttribute("data-forma-leaving"))continue;o.hasAttribute("data-forma-state")&&n.unmountScope(o);let l=o.querySelectorAll("[data-forma-state]");for(let p of Array.from(l))n.unmountScope(p);e.removeChild(o)}}function sn(e,t){for(;e.firstChild;)e.removeChild(e.firstChild);for(let n of Array.from(t.childNodes))e.appendChild(n.cloneNode(!0))}function an(e,t,n,r){let i=r.indexOf(n);if(Array.from(e.children).indexOf(t)!==i){let c=r[i+1];if(c){let d=c.getAttribute("data-forma-id");if(d){let o=e.querySelector(`[data-forma-id="${CSS.escape(d)}"]`);if(o&&o.parentElement===e){e.insertBefore(t,o);return}}}e.appendChild(t)}}function ln(e,t,n){let r=n.indexOf(t);for(let i=r+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 mt(e){let t="";return function(r,i){let a=i.trim();if(a&&!(a===t&&r.hasChildNodes())){t=a,e.disconnectObserver();try{if(!r.hasChildNodes()||r.children.length===0){r.innerHTML=a,e.batch(()=>{let l=r.querySelectorAll("[data-forma-state]");for(let p of Array.from(l))e.mountScope(p)});return}let s=nn(a),c=document.createElement("div");c.appendChild(s);let d=new Set;for(let l of Array.from(r.children)){if(l.hasAttribute("data-forma-leaving"))continue;let p=l.getAttribute("data-forma-id");p&&d.add(p)}let o=!1;if(d.size>0)for(let l of Array.from(c.children)){let p=l.getAttribute("data-forma-id");if(p&&d.has(p)){o=!0;break}}if(d.size>0&&!o){e.batch(()=>{let l=r.querySelectorAll("[data-forma-state]");for(let m of Array.from(l))e.unmountScope(m);r.innerHTML=a;let p=r.querySelectorAll("[data-forma-state]");for(let m of Array.from(p))e.mountScope(m)});return}e.batch(()=>{Ie(r,c,e)})}finally{e.reconnectObserver()}}}}var Ue=new Map;function Tt(e){let t=Ue.get(e);t?t():O&&N(`$refetch: no data-fetch with id "${e}" found`)}function He(e,t){let n=Object.create(null);for(let r of Object.keys(t))n[r]=()=>t[r];return{getters:new Proxy(e.getters,{get(r,i){return i in n?n[i]:r[i]},has(r,i){return i in n||i in r}}),setters:e.setters}}var O=!1,$="mutable",F=!1,je=!0;function N(...e){(O||typeof window<"u"&&window.__FORMA_DEBUG)&&console.log("[FormaJS]",...e)}var pe=new Map;function Te(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 We(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 cn(){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=We(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=Te(t.getAttribute("data-forma-unsafe-eval"));n!==void 0&&(e.allowUnsafeEval=n);let r=We(t.getAttribute("data-forma-unsafe-eval-mode"));r!==void 0&&(e.unsafeEvalMode=r);let i=Te(t.getAttribute("data-forma-lock-unsafe-eval"));i!==void 0&&(e.lockUnsafeEval=i);let a=Te(t.getAttribute("data-forma-diagnostics"));a!==void 0&&(e.diagnostics=a);let s=Te(t.getAttribute("data-forma-auto-containment"));s!==void 0&&(e.autoContainment=s)}}return e}function ne(e,t,n){if(!je)return;let r=`${e}|${n}|${t}`,i=Date.now(),a=pe.get(r);a?(a.count+=1,a.lastSeenAt=i):(pe.set(r,{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:pe.get(r)?.count??1};window.dispatchEvent(new CustomEvent("formajs:diagnostic",{detail:s}))}}catch{}}var pt=We("mutable");pt&&($=pt,$==="locked-off"&&(F=!1),$==="locked-on"&&(F=!0),$==="mutable"&&(F=!0));var ee=cn(),gt=ee.lockUnsafeEval?"locked-off":ee.unsafeEvalMode;gt&&($=gt,$==="locked-off"&&(F=!1),$==="locked-on"&&(F=!0));$==="mutable"&&typeof ee.allowUnsafeEval=="boolean"&&(F=ee.allowUnsafeEval);typeof ee.diagnostics=="boolean"&&(je=ee.diagnostics);var un=ee.autoContainment===!0;function fn(){let e=globalThis?.scheduler;if(e&&(typeof e.yield=="function"||typeof e.postTask=="function"))return e}async function At(){let e=fn();if(e?.yield){await e.yield();return}if(e?.postTask){await e.postTask(()=>{},{priority:"background"});return}await new Promise(t=>setTimeout(t,0))}function wt(e=document,t={}){let n=t.selector??"[data-forma-contain]";if(!n||typeof e.querySelectorAll!="function")return 0;let r=e.querySelectorAll(n),i=0;for(let a=0;a<r.length;a++){let s=r[a];if(!s?.style)continue;let c=s.getAttribute("data-forma-contain")??t.contain??"layout style paint",d=s.getAttribute("data-forma-content-visibility")??t.contentVisibility??"auto",o=s.getAttribute("data-forma-contain-intrinsic-size")??t.containIntrinsicSize??"auto 800px",l=t.skipIfAlreadySet===!0,p=!1,m=s.style.getPropertyValue("contain"),u=s.style.getPropertyValue("content-visibility"),h=s.style.getPropertyValue("contain-intrinsic-size");c!=="off"&&(!l||!m)&&(s.style.setProperty("contain",c),p=!0),d!=="off"&&(!l||!u)&&(s.style.setProperty("content-visibility",d),p=!0),o!=="off"&&(!l||!h)&&(s.style.setProperty("contain-intrinsic-size",o),p=!0),p&&i++}return O&&i>0&&N("applyContainmentHints: applied to",i,"element(s)"),i}var _t=/^'[^']*'$/,Rt=/^"[^"]*"$/,Mt=/^-?\d+(\.\d+)?$/,xt=/^[a-zA-Z_$]\w*$/,dn=/^(\w+)\.(\w+)$/;var mn=/^(\w+)\[(\d+|'[^']*'|"[^"]*")\]$/,pn=/^(.+?)\s*\?\s*(.+?)\s*:\s*(.+)$/,gn=/^(.+?)\s*\?\?\s*(.+)$/,hn=/^(.+?)\s*&&\s*(.+)$/,bn=/^(.+?)\s*\|\|\s*(.+)$/,vn=/^(.+?)\s*(===|!==|==|!=|>=|<=|>|<)\s*(.+)$/,En=/^(.+?)\s*([*/%])\s*(.+)$/,yn=/^(.+?)\s*([+-])\s*(.+)$/,Sn=/^`([^`]*)`$/,Tn=/\$\{([^}]+)\}/g;var An=/^\((.+)\)\.(\w+)\((.*)\)$/,qe=/^\{|\}$/g;var wn=/^\d+$/,_n=/^(\w+)(\+\+|--)$/,Rn=/^(\+\+|--)(\w+)$/,Mn=/^(\w+)\s*=\s*!(\w+)$/,xn=/^(\w+)\s*=\s*(.+)$/,Cn=/^(\w+)\s*(\+=|-=|\*=|\/=)\s*(.+)$/,kn=/^if\b/,Nn=/^(\w+)\s*=\s*(.+)$/,Dn=/^(.+?)(?:→|->)\s*(\S+)(.*)$/,Ln=/^(GET|POST|PUT|PATCH|DELETE)\s+(.+)$/i,On=/^\{item\.?|\}$/g,In=/\bevent\s*[.([]|\$event\b/,Hn=/^\$refetch\(\s*['"]([^'"]+)['"]\s*\)$/,Re=Symbol.for("forma-transition-state"),$n=2048,ue=new Map;function ce(e,t){if(ue.size>=$n){let n=ue.keys().next().value;n!==void 0&&ue.delete(n)}ue.set(e,t)}var ze=new WeakMap,Je=new WeakMap,fe=new Map,Fn=2048;function Bn(e,t){if(fe.size>=Fn){let n=fe.keys().next().value;n!==void 0&&fe.delete(n)}fe.set(e,t)}var re=new Set(["constructor","__proto__","prototype","__defineGetter__","__defineSetter__","__lookupGetter__","__lookupSetter__","eval","Function"]),Pn=(()=>{let e=[];for(let t of re){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 Ct(e){let t=e.replace(/\/\*[\s\S]*?\*\//g,"");t=t.replace(/\/\/[^\n]*/g,""),t=t.replace(/\s*\.\s*/g,".");for(let{name:n,dotRe:r,bracketRe:i}of Pn)if(r.test(t)||i.test(t))return n;if(t.includes("[")){let n=Un(t);for(let r of n){if(!r.includes("+"))continue;let i=r.match(/['"`]([^'"`]*?)['"`]/g);if(!i)continue;let a=i.map(s=>s.slice(1,-1)).join("");if(re.has(a))return a}}return null}function Un(e){let t=[],n=0,r=-1;for(let i=0;i<e.length;i++)e[i]==="["?(n===0&&(r=i+1),n++):e[i]==="]"&&(n--,n===0&&r>=0&&(t.push(e.slice(r,i)),r=-1));return t}var ht=Symbol.for("forma-text-binding-cache");function Wn(e){return e==null?"":typeof e=="string"?e:typeof e=="symbol"?e.toString():String(e)}function qn(e,t){let n=e[ht];if(n||(n={initialized:!1,last:"",node:null},e[ht]=n),n.initialized&&n.last===t)return;let r=n.node;if(!r||r.parentNode!==e||e.childNodes.length!==1||e.firstChild!==r)if(e.childNodes.length===1&&e.firstChild?.nodeType===Node.TEXT_NODE)r=e.firstChild,n.node=r;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}r.data=t,n.last=t,n.initialized=!0}function Ve(e){let t=[];if(e.trim()==="")return t;let n=0,r=!1,i=!1,a=!1,s=0;for(let c=0;c<e.length;c++){let d=e[c];if(a){a=!1;continue}if(d==="\\"){a=!0;continue}if(r){d==="'"&&(r=!1);continue}if(i){d==='"'&&(i=!1);continue}if(d==="'"){r=!0;continue}if(d==='"'){i=!0;continue}if(d==="("){n++;continue}if(d===")"){n>0&&n--;continue}d===","&&n===0&&(t.push(e.slice(s,c).trim()),s=c+1)}return t.push(e.slice(s).trim()),t.filter(Boolean)}function ie(e,t,n,r){if(e[t]!==n)return null;let i=0,a=!1,s=!1,c=!1,d=!1;for(let o=t;o<e.length;o++){let l=e[o];if(d){d=!1;continue}if(l==="\\"&&(a||s||c)){d=!0;continue}if(a){l==="'"&&(a=!1);continue}if(s){l==='"'&&(s=!1);continue}if(c){l==="`"&&(c=!1);continue}if(l==="'"){a=!0;continue}if(l==='"'){s=!0;continue}if(l==="`"){c=!0;continue}if(l===n){i++;continue}if(l===r&&(i--,i===0))return{inner:e.slice(t+1,o),end:o}}return null}function Vn(e){let t=e.trim();if(!t)return[];let n=[],r=0,i=0,a=0,s=!1,c=!1,d=!1,o=!1,l=0;for(let m=0;m<t.length;m++){let u=t[m];if(o){o=!1;continue}if(u==="\\"&&(s||c||d)){o=!0;continue}if(s){u==="'"&&(s=!1);continue}if(c){u==='"'&&(c=!1);continue}if(d){u==="`"&&(d=!1);continue}if(u==="'"){s=!0;continue}if(u==='"'){c=!0;continue}if(u==="`"){d=!0;continue}if(u==="("?r++:u===")"&&r>0?r--:u==="{"?i++:u==="}"&&i>0?i--:u==="["?a++:u==="]"&&a>0&&a--,u===";"&&r===0&&i===0&&a===0){let h=t.slice(l,m).trim();h&&n.push(h),l=m+1}}let p=t.slice(l).trim();return p&&n.push(p),n}function bt(e){let t=e.trim();if(!t)return null;if(t.startsWith("{")){let o=ie(t,0,"{","}");if(!o)return null;let l=o.inner.trim(),p=t.slice(o.end+1).trim();return p.startsWith(";")&&(p=p.slice(1).trim()),{body:l,rest:p}}let n=0,r=0,i=0,a=!1,s=!1,c=!1,d=!1;for(let o=0;o<t.length;o++){let l=t[o];if(d){d=!1;continue}if(l==="\\"&&(a||s||c)){d=!0;continue}if(a){l==="'"&&(a=!1);continue}if(s){l==='"'&&(s=!1);continue}if(c){l==="`"&&(c=!1);continue}if(l==="'"){a=!0;continue}if(l==='"'){s=!0;continue}if(l==="`"){c=!0;continue}if(l==="("?n++:l===")"&&n>0?n--:l==="{"?r++:l==="}"&&r>0?r--:l==="["?i++:l==="]"&&i>0&&i--,l===";"&&n===0&&r===0&&i===0)return{body:t.slice(0,o).trim(),rest:t.slice(o+1).trim()}}return{body:t,rest:""}}function Gn(e,t){let n=e.trim();if(!kn.test(n)||In.test(n))return null;let r=2;for(;r<n.length&&/\s/.test(n[r]);)r++;if(n[r]!=="(")return null;let i=ie(n,r,"(",")");if(!i)return null;let a=x(i.inner.trim(),t);if(!a)return null;let s=n.slice(i.end+1).trim(),c=bt(s);if(!c||!c.body)return null;let d=Me(c.body,t);if(!d)return null;s=c.rest.trim();let o=null;if(s.startsWith("else")){s=s.slice(4).trim();let l=bt(s);if(!l||!l.body||(o=Me(l.body,t),!o))return null;s=l.rest.trim()}return s.length>0?null:l=>{H(()=>{a()?d(l):o?.(l)})}}function jn(e){let t=e.trim();for(;t.startsWith("(");){let n=ie(t,0,"(",")");if(!n||n.end!==t.length-1)break;let r=n.inner.trim();if(!r)break;t=r}return t}function kt(e){let t=fe.get(e);if(t)return t;let n=[],r=[],i=0,a=/\{item\.?(\w*)\}/g,s;for(;(s=a.exec(e))!==null;)n.push(e.slice(i,s.index)),r.push(s[1]),i=a.lastIndex;n.push(e.slice(i));let c={statics:n,dynamics:r,hasItemRef:r.length>0};return Bn(e,c),c}var Nt=new WeakMap;function Ke(e,t){if(!e.hasItemRef)return e.statics[0];let n=e.statics[0];for(let r=0;r<e.dynamics.length;r++){let i=e.dynamics[r];i?n+=String(t?.[i]??""):n+=typeof t=="object"?JSON.stringify(t):String(t??""),n+=e.statics[r+1]??""}return n}function zn(e,t){let n=e.cloneNode(!0),r=document.createTreeWalker(n,NodeFilter.SHOW_TEXT);for(;r.nextNode();){let i=r.currentNode,a=i.textContent??"";if(a.includes("{item")){let s=kt(a);Nt.set(i,s),i.textContent=Ke(s,t)}}return tr(n,t),n}function Jn(e,t){let n=document.createTreeWalker(e,NodeFilter.SHOW_TEXT);for(;n.nextNode();){let r=n.currentNode,i=Nt.get(r);i&&(r.textContent=Ke(i,t))}}var Kn=new WeakMap,Xn=["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 Yn(e){for(let t of Xn)if(e===t||e.startsWith(t))return!0;return!1}function de(e){return e?e.trim().split(/\s+/).map(t=>t.trim()).filter(Boolean):[]}function ge(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 $e(e){let t=[],n;for(let r of de(e)){let i=ge(r);i!=null?n=i:t.push(r)}return{classes:t,durationMs:n}}function J(e){return Array.from(new Set(e.filter(Boolean)))}function Ae(e){return e?e.split(",").map(t=>ge(t.trim())).filter(t=>t!=null):[]}function vt(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),r=0;for(let i=0;i<n;i++){let a=e[i%e.length]??0,s=t[i%t.length]??0;a+s>r&&(r=a+s)}return r}function Zn(e,t){if(typeof t=="number")return t;let n=window.getComputedStyle(e),r=vt(Ae(n.transitionDuration),Ae(n.transitionDelay)),i=vt(Ae(n.animationDuration),Ae(n.animationDelay));return Math.max(r,i)}function G(e){let t=e[Re];if(t)return t;let n={token:0,cancel:null};return e[Re]=n,n}function we(e){let t=e[Re];t?.cancel&&t.cancel(),delete e[Re]}function Fe(e){if(!(e.hasAttribute("data-transition")||Array.from(e.attributes).some(m=>m.name.startsWith("data-transition:"))))return null;let n=$e(e.getAttribute("data-transition")).classes,r=$e(e.getAttribute("data-transition:enter")),i=$e(e.getAttribute("data-transition:leave")),a=de(e.getAttribute("data-transition:enter-from")??e.getAttribute("data-transition:enter-start")),s=de(e.getAttribute("data-transition:enter-to")??e.getAttribute("data-transition:enter-end")),c=de(e.getAttribute("data-transition:leave-from")??e.getAttribute("data-transition:leave-start")),d=de(e.getAttribute("data-transition:leave-to")??e.getAttribute("data-transition:leave-end")),o=ge(e.getAttribute("data-transition:duration")??""),l=ge(e.getAttribute("data-transition:duration-enter")??"")??r.durationMs??o??void 0,p=ge(e.getAttribute("data-transition:duration-leave")??"")??i.durationMs??o??void 0;return{enter:J([...n,...r.classes]),enterFrom:J(a),enterTo:J(s),leave:J([...n,...i.classes]),leaveFrom:J(c),leaveTo:J(d),enterDurationMs:l,leaveDurationMs:p}}function _e(e,t){for(let n of t)e.classList.remove(n)}function Be(e,t){for(let n of t)e.classList.add(n)}function be(e,t,n){let r=J([...t.base,...t.from,...t.to]),i=!1,a=null,s=null,c=null,d=()=>{i||(i=!0,a!=null&&window.clearTimeout(a),s!=null&&cancelAnimationFrame(s),c!=null&&cancelAnimationFrame(c),_e(e,r),n())};return Be(e,t.base),Be(e,t.from),_e(e,t.to),s=requestAnimationFrame(()=>{c=requestAnimationFrame(()=>{if(i)return;_e(e,t.from),Be(e,t.to);let o=Zn(e,t.durationMs);if(o<=0){d();return}a=window.setTimeout(d,o+25)})}),d}function Qn(e,t,n,r){if(t.insertBefore(e,n),!r)return;let i=G(e);i.token+=1;let a=i.token;i.cancel&&i.cancel(),i.cancel=be(e,{base:r.enter,from:r.enterFrom,to:r.enterTo,durationMs:r.enterDurationMs},()=>{let s=G(e);s.token===a&&(s.cancel=null)})}function Et(e,t,n){if(e.hasAttribute("data-forma-leaving")){n();return}if(!t){n();return}e.setAttribute("data-forma-leaving","");let r=G(e);r.token+=1;let i=r.token;r.cancel&&r.cancel(),r.cancel=be(e,{base:t.leave,from:t.leaveFrom,to:t.leaveTo,durationMs:t.leaveDurationMs},()=>{let a=G(e);a.token===i&&(a.cancel=null),e.removeAttribute("data-forma-leaving"),n()})}function er(e,t,n,r){if(!n||r){e.style.display=t?"":"none",n&&_e(e,J([...n.enter,...n.enterFrom,...n.enterTo,...n.leave,...n.leaveFrom,...n.leaveTo]));return}let i=G(e);i.token+=1;let a=i.token;if(i.cancel&&i.cancel(),i.cancel=null,t){e.style.display="",i.cancel=be(e,{base:n.enter,from:n.enterFrom,to:n.enterTo,durationMs:n.enterDurationMs},()=>{let s=G(e);s.token===a&&(s.cancel=null)});return}i.cancel=be(e,{base:n.leave,from:n.leaveFrom,to:n.leaveTo,durationMs:n.leaveDurationMs},()=>{let s=G(e);s.token===a&&(e.style.display="none",s.cancel=null)})}function tr(e,t){let n=[e,...Array.from(e.querySelectorAll("*"))];for(let r of n){let i=[];for(let a of Array.from(r.attributes))if(!Yn(a.name)&&a.value.includes("{item")){let s=kt(a.value);i.push({attr:a.name,compiled:s}),r.setAttribute(a.name,Ke(s,t))}i.length>0&&Kn.set(r,i)}}function nr(e,t){let n=0,r=e.match(/^[a-zA-Z_$]\w*/);if(!r)return null;let i=r[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 d=e.slice(n).match(/^\w+/);if(!d)return null;let o=d[0];if(n+=o.length,re.has(o))return()=>{};if(n<e.length&&e[n]==="("){let l=ie(e,n,"(",")");if(!l)return null;let p=l.inner.trim(),m=[];for(let u of Ve(p)){let h=x(u,t);if(!h)return null;m.push(h)}a.push({type:"call",name:o,optional:c,argFns:m}),n=l.end+1}else a.push({type:"prop",name:o,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 d of a){if(c==null)return d.optional,void 0;if(d.type==="prop")c=c[d.name];else{let o=c[d.name];if(typeof o!="function")return;let l=d.argFns.map(p=>p());c=o.apply(c,l)}}return c}}function x(e,t){let n=ue.get(e);if(n)return n(t);let r=rr(e,t);if(r!==null)if(e==="true"||e==="false"||e==="null"||e==="undefined"){let i=e==="true"?!0:e==="false"?!1:e==="null"?null:void 0;ce(e,()=>()=>i)}else if(xt.test(e))ce(e,i=>()=>i.getters[e]?.());else if(_t.test(e)||Rt.test(e)){let i=e.slice(1,-1);ce(e,()=>()=>i)}else if(Mt.test(e)){let i=Number(e);ce(e,()=>()=>i)}else{let i=e.match(dn);if(i){let a=i[1],s=i[2];ce(e,c=>()=>c.getters[a]?.()?.[s])}}return r}function rr(e,t){e=e.trim();let n=jn(e);if(n!==e)return x(n,t);if(_t.test(e)||Rt.test(e)){let u=e.slice(1,-1);return()=>u}if(Mt.test(e)){let u=Number(e);return()=>u}if(e==="true")return()=>!0;if(e==="false")return()=>!1;if(e==="null")return()=>null;if(e==="undefined")return()=>{};if(xt.test(e))return()=>t.getters[e]?.();{let u=nr(e,t);if(u)return u}let r=e.match(An);if(r){let u=r[1].trim(),h=r[2],E=r[3].trim();if(re.has(h))return()=>{};let S=x(u,t);if(!S)return null;let w=[];for(let y of Ve(E)){let v=x(y,t);if(!v)return null;w.push(v)}return()=>{let y=S(),v=y?.[h];if(typeof v!="function")return;let f=w.map(g=>g());return v.apply(y,f)}}if(e.startsWith("!")){let u=x(e.slice(1).trim(),t);if(u)return()=>!u()}let i=e.match(mn);if(i){let u=x(i[1],t),h,E=i[2];if(wn.test(E)?h=Number(E):h=E.slice(1,-1),u)return()=>u()?.[h]}if(e.startsWith("[")){let u=ie(e,0,"[","]");if(u&&u.end===e.length-1){let h=u.inner.trim();if(h==="")return()=>[];let E=Ve(h),S=[],w=!0;for(let y of E){let v=x(y.trim(),t);if(!v){w=!1;break}S.push(v)}if(w)return()=>S.map(y=>y())}}let a=e.match(pn);if(a){let u=x(a[1].trim(),t),h=x(a[2].trim(),t),E=x(a[3].trim(),t);if(u&&h&&E)return()=>u()?h():E()}let s=e.match(gn);if(s){let u=x(s[1].trim(),t),h=x(s[2].trim(),t);if(u&&h)return()=>u()??h()}let c=e.match(bn);if(c){let u=x(c[1].trim(),t),h=x(c[2].trim(),t);if(u&&h)return()=>u()||h()}let d=e.match(hn);if(d){let u=x(d[1].trim(),t),h=x(d[2].trim(),t);if(u&&h)return()=>u()&&h()}let o=e.match(vn);if(o){let u=x(o[1].trim(),t),h=x(o[3].trim(),t);if(u&&h){let E=o[2];return()=>{let S=u(),w=h();switch(E){case"===":return S===w;case"!==":return S!==w;case"==":return S==w;case"!=":return S!=w;case">":return S>w;case"<":return S<w;case">=":return S>=w;case"<=":return S<=w}}}}let l=e.match(yn);if(l){let u=x(l[1].trim(),t),h=x(l[3].trim(),t);if(u&&h){let E=l[2];return()=>{let S=u(),w=h();return E==="+"?S+w:S-w}}}let p=e.match(En);if(p){let u=x(p[1].trim(),t),h=x(p[3].trim(),t);if(u&&h){let E=p[2];return()=>{let S=u(),w=h();switch(E){case"*":return S*w;case"/":return S/w;case"%":return S%w}}}}let m=e.match(Sn);if(m){let u=m[1],h=[],E=[],S=0,w=new RegExp(Tn.source,"g"),y;for(;(y=w.exec(u))!==null;){h.push(u.slice(S,y.index));let v=x(y[1].trim(),t);if(!v)return null;E.push(v),S=w.lastIndex}return h.push(u.slice(S)),()=>{let v=h[0];for(let f=0;f<E.length;f++)v+=String(E[f]()??""),v+=h[f+1]??"";return v}}return null}function Dt(e,t){let n=e.get(t);return n||(n=new Map,e.set(t,n)),n}function Lt(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 X(e,t){let n=e.replace(qe,"").trim(),r=Dt(ze,t),i=r.get(n);if(i)return i;let a=x(n,t);if(a)return r.set(n,a),a;if(!F){N("buildEvaluator: blocked unsafe eval fallback for expression:",n),ne("expression-unsupported",n,Lt(n));let c=()=>{};return r.set(n,c),c}let s=Ct(n);if(s){let c=`Blocked unsafe method "${s}" in expression`;throw ne("expression-unsupported",n,c),new Error(`[FormaJS] ${c}: ${n}`)}try{let c=new Function("__scope",`with(__scope) { return (${n}); }`),d=new Proxy(Object.create(null),{has(l,p){return p in t.getters},get(l,p){if(re.has(p))return;let m=t.getters[p];return m?m():void 0}}),o=()=>c(d);return r.set(n,o),o}catch{ne("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 r.set(n,c),c}}function Me(e,t){let n=e.trim().replace(/;+$/g,"").trim();if(!n)return null;let r=Gn(n,t);if(r)return r;let i=Vn(n);if(i.length>1){let m=i.map(u=>Me(u,t));return m.every(u=>u!==null)?u=>{H(()=>{for(let h of m)h(u)})}:null}let a=i[0]??n,s=a.match(_n);if(s){let m=s[1],u=s[2];return()=>{H(()=>{let h=t.getters[m]?.()??0;t.setters[m]?.(u==="++"?h+1:h-1)})}}let c=a.match(Rn);if(c){let m=c[1],u=c[2];return()=>{H(()=>{let h=t.getters[u]?.()??0;t.setters[u]?.(m==="++"?h+1:h-1)})}}let d=a.match(Mn);if(d&&d[1]===d[2]){let m=d[1];return()=>{H(()=>{t.setters[m]?.(!t.getters[m]?.())})}}let o=a.match(xn);if(o){let m=o[1],u=x(o[2].trim(),t);if(u)return O&&N(`parseHandler: assignment "${m} = ..." \u2014 setter exists:`,!!t.setters[m],", getter exists:",!!t.getters[m]),()=>{H(()=>{let h=u();O&&N(`SETTER: ${m} = ${h} (was: ${t.getters[m]?.()})`),t.setters[m]?.(h)})}}let l=a.match(Cn);if(l){let m=l[1],u=l[2],h=x(l[3].trim(),t);if(h)return()=>{H(()=>{let E=t.getters[m]?.()??0,S=h();switch(u){case"+=":t.setters[m]?.(E+S);break;case"-=":t.setters[m]?.(E-S);break;case"*=":t.setters[m]?.(E*S);break;case"/=":t.setters[m]?.(E/S);break}})}}let p=a.match(Hn);if(p){let m=p[1];return()=>Tt(m)}return null}function ir(e,t){let n=e.trim();if(n.startsWith("{")){let c=ie(n,0,"{","}");c&&c.end===n.length-1&&(n=c.inner.trim())}let r=Dt(Je,t),i=r.get(n);if(i)return i;let a=Me(n,t);if(a){let c={handler:a,supported:!0};return r.set(n,c),c}if(!F){N("buildHandler: blocked unsafe eval fallback for expression:",n),ne("handler-unsupported",n,Lt(n));let c={handler:()=>{},supported:!1};return r.set(n,c),c}let s=Ct(n);if(s){let c=`Blocked unsafe method "${s}" in handler`;throw ne("handler-unsupported",n,c),new Error(`[FormaJS] ${c}: ${n}`)}try{let c=new Function("__scope","$event","event",`with(__scope) { ${n} }`),d=new Proxy(Object.create(null),{has(p,m){return m==="$event"||m==="event"?!1:m in t.getters||m in t.setters},get(p,m){if(re.has(m))return;let u=t.getters[m];return u?u():void 0},set(p,m,u){let h=t.setters[m];return h&&h(u),!0}}),l={handler:p=>{H(()=>c(d,p,p))},supported:!0};return r.set(n,l),l}catch{ne("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 r.set(n,c),c}}var or=new Set(["__proto__","constructor","prototype"]);function Ot(e){let t;try{t=JSON.parse(e)}catch{return O&&N("parseState: Invalid JSON in data-forma-state \u2014 use valid JSON with quoted keys. Got:",e.slice(0,200)),{}}for(let n of or)n in t&&delete t[n];return t}function sr(e){let t=e.getAttribute("data-forma-state")??"{}",n=Ot(t),r=Object.keys(n);O&&(N("initScope: parsed",r.length,"keys:",r.join(", ")),r.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[d,o]=te(c);i[s]=d,a[s]=o}return i.$refetch=()=>Tt,{getters:i,setters:a}}var yt=new Set(["id","className","tagName","nodeName","getAttribute","setAttribute","removeAttribute","hasAttribute","toggleAttribute","dataset","classList","textContent","innerText","value","checked","disabled","selected","type","name","placeholder","readOnly","required","min","max","step","pattern","getBoundingClientRect","offsetWidth","offsetHeight","offsetTop","offsetLeft","clientWidth","clientHeight","scrollWidth","scrollHeight","scrollTop","scrollLeft","style","hidden","focus","blur","click","scrollIntoView","scrollTo","closest","matches","querySelector","querySelectorAll","children","childElementCount","firstElementChild","lastElementChild","nextElementSibling","previousElementSibling"]);function ar(e){return new Proxy(e,{get(t,n){if(typeof n=="symbol")return Reflect.get(t,n);if(!yt.has(n))return;let r=Reflect.get(t,n);return typeof r=="function"?r.bind(t):r},set(t,n,r){return typeof n=="symbol"||!yt.has(n)?!1:Reflect.set(t,n,r)}})}function Y(e,t,n){let r={$el:ar(e),$dispatch:(y,v)=>{e.dispatchEvent(new CustomEvent(y,{bubbles:!0,composed:!0,detail:v}))}};t=He(t,r);let i=fr(e),a=!i||i.has("data-computed")?e.getAttribute("data-computed"):null;if(a){let y=a.split(/;\s*(?=\w+\s*=[^=])/);for(let v of y){let f=v.trim();if(!f)continue;let g=f.match(Nn);if(g){let b=g[1],T=g[2],k=t.getters[b];delete t.getters[b];let R=X(`{${T}}`,t),D=De(R);t.getters[b]=D,k||delete t.setters[b]}}}let s=!i||i.has("data-text")?e.getAttribute("data-text"):null;if(s){let y=X(s,t),v=P(()=>{qn(e,Wn(y()))});n.push(v)}let c=!i||i.has("data-show")?e.getAttribute("data-show"):null;if(c){let y=X(c,t),v=Fe(e);if(O){let b=e.tagName.toLowerCase(),T=e.className?`.${String(e.className).split(" ")[0]}`:"";N(`bindElement: data-show="${c}" on <${b}${T}>`)}let f=!1,g=P(()=>{let b=!!y();O&&N(`data-show effect: "${c}" \u2192 ${b}`),er(e,b,v,!f),f=!0});n.push(g),v&&n.push(()=>we(e))}let d=!i||i.has("data-if")?e.getAttribute("data-if"):null;if(d){let y=X(d,t),v=Fe(e),f=document.createComment("forma-if"),g=e.parentNode,b=!0,T=!1,k=P(()=>{let R=!!y();R&&!b?(we(e),e.removeAttribute("data-forma-leaving"),T&&v?Qn(e,g,f,v):g?.insertBefore(e,f),b=!0):!R&&b&&(T&&v?Et(e,v,()=>{e.parentNode&&(g?.insertBefore(f,e),e.remove())}):(g?.insertBefore(f,e),e.remove()),b=!1),T=!0});n.push(k),v&&n.push(()=>we(e))}let o=!i||i.has("data-model")?e.getAttribute("data-model"):null;if(o){let y=o.replace(qe,"").trim(),v=t.getters[y],f=t.setters[y];if(v&&f){let g=e,b=P(()=>{let R=v();g.type==="checkbox"?g.checked=!!R:g.value=String(R??"")});n.push(b);let T=g.type==="checkbox"?"change":"input",k=()=>{g.type==="checkbox"?f(g.checked):g.type==="number"||g.type==="range"?f(Number(g.value)):f(g.value)};g.addEventListener(T,k),n.push(()=>{g.removeEventListener(T,k)})}}let l=!i||dr(i,"data-on:","data-class:","data-bind:"),p=e.attributes;if(l)for(let y=0;y<p.length;y++){let v=p[y],f=v.name;if(f.startsWith("data-on:")){let g=f.slice(8),b=ir(v.value,t),T=b.handler;if(O){let k=e.tagName.toLowerCase(),R=e.id?`#${e.id}`:"",D=e.className?`.${String(e.className).split(" ")[0]}`:"";N(`bindElement: data-on:${g}="${v.value}" on <${k}${R}${D}>`)}if(b.supported?e.hasAttribute("data-forma-handler-error")&&e.removeAttribute("data-forma-handler-error"):e.setAttribute("data-forma-handler-error","unsupported"),O){let k=v.value,R=D=>{N(`HANDLER FIRED: data-on:${g}="${k}"`,"isTrusted:",D.isTrusted),T(D)};e.addEventListener(g,R),n.push(()=>{e.removeEventListener(g,R)})}else e.addEventListener(g,T),n.push(()=>{e.removeEventListener(g,T)})}else if(f.startsWith("data-class:")){let g=f.slice(11),b=X(v.value,t),T=P(()=>{e.classList.toggle(g,!!b())});n.push(T)}else if(f.startsWith("data-bind:")){let g=f.slice(10),b=X(v.value,t),T=P(()=>{let k=b();k==null||k===!1?e.removeAttribute(g):e.setAttribute(g,String(k))});n.push(T)}}let m=!i||i.has("data-persist")?e.getAttribute("data-persist"):null;if(m){let y=m.replace(qe,"").trim(),v=t.getters[y],f=t.setters[y];if(v&&f){let g="forma:"+y;try{let T=localStorage.getItem(g);T!==null&&f(JSON.parse(T))}catch{}let b=P(()=>{try{localStorage.setItem(g,JSON.stringify(v()))}catch{}});n.push(b)}}let u=!i||i.has("data-list")?e.getAttribute("data-list"):null;if(u){let y=X(u,t),v=e.children[0];if(v){let D=function(C){let _=C;if(Array.isArray(_.__formaDisposers)){for(let A of _.__formaDisposers)try{A()}catch{}delete _.__formaDisposers}},j=function(C,_){let A=zn(f,C),L=He(t,{item:C,index:_}),M=[];Y(A,L,M);for(let B of Array.from(A.querySelectorAll("*")))Y(B,L,M);return A.__formaDisposers=M,A},oe=function(C,_,A){D(C),Jn(C,_);let L=He(t,{item:_,index:A}),M=[];Y(C,L,M);for(let B of Array.from(C.querySelectorAll("*")))Y(B,L,M);C.__formaDisposers=M};var E=D,S=j,w=oe;let f=v.cloneNode(!0);e.removeChild(v);let g=f.getAttribute("data-key"),b=g?g.replace(On,"").trim():null,T=Fe(e),k=[],R=[],se=T?{onInsert:C=>{let _=C;if(!_.setAttribute)return;let A=G(_);A.token+=1;let L=A.token;A.cancel&&A.cancel(),A.cancel=be(_,{base:T.enter,from:T.enterFrom,to:T.enterTo,durationMs:T.enterDurationMs},()=>{let M=G(_);M.token===L&&(M.cancel=null)})},onBeforeRemove:(C,_)=>{let A=C;if(!A.setAttribute){_();return}D(C),Et(A,T,()=>{_()})}}:void 0,ae=P(()=>{let C=y();if(!Array.isArray(C)){for(let A of R)D(A),e.removeChild(A);k=[],R=[];return}if(T){let A=e.querySelectorAll("[data-forma-leaving]");for(let L of Array.from(A))we(L),L.removeAttribute("data-forma-leaving"),L.parentNode&&L.parentNode.removeChild(L)}let _=new Set(R);if(b){let A=Le(e,k,C,R,M=>String(M?.[b]??""),M=>{let B=C.indexOf(M);return j(M,B)},(M,B)=>{let I=C.indexOf(B);oe(M,B,I)},void 0,se),L=new Set(A.nodes);for(let M of _)if(!L.has(M)){if(M.hasAttribute?.("data-forma-leaving"))continue;D(M)}k=A.items,R=A.nodes}else{let A=C.map((I,ve)=>({__idx:ve,__item:I})),M=Le(e,k,A,R,I=>I.__idx,I=>j(I.__item,I.__idx),(I,ve)=>oe(I,ve.__item,ve.__idx),void 0,se),B=new Set(M.nodes);for(let I of _)if(!B.has(I)){if(I.hasAttribute?.("data-forma-leaving"))continue;D(I)}k=M.items,R=M.nodes}});n.push(ae)}}let h=!i||i.has("data-fetch")?e.getAttribute("data-fetch"):null;if(h){let y=h.match(Dn);if(y){let v=y[1].trim(),f=y[2].trim(),g=y[3]?.trim()??"",b="GET",T=v,k=v.match(Ln);k&&(b=k[1].toUpperCase(),T=k[2].trim());let R,D,j;for(let _ of g.split("|").filter(Boolean)){let[A,L]=_.split(":").map(M=>M.trim());A==="loading"?R=L:A==="error"?D=L:A==="poll"&&(j=parseInt(L??"0",10))}let[oe,se]=te(null);if(t.getters[f]=oe,t.setters[f]=se,R){let[_,A]=te(!1);t.getters[R]=_,t.setters[R]=A}if(D){let[_,A]=te(null);t.getters[D]=_,t.setters[D]=A}let ae=()=>{R&&t.setters[R](!0),fetch(T,{method:b}).then(_=>_.json()).then(_=>{se(_),R&&t.setters[R](!1)}).catch(_=>{D&&t.setters[D](_.message),R&&t.setters[R](!1)})},C=e.getAttribute("data-fetch-id");if(C&&(Ue.set(C,ae),n.push(()=>Ue.delete(C))),ae(),j&&j>0){let _=setInterval(ae,j);n.push(()=>clearInterval(_))}}}}var gi=["[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 lr(e){let t=e.attributes;for(let n=0;n<t.length;n++){let r=t[n].name;if(r.startsWith("data-text")||r.startsWith("data-show")||r.startsWith("data-if")||r.startsWith("data-model")||r.startsWith("data-computed")||r.startsWith("data-persist")||r.startsWith("data-list")||r.startsWith("data-fetch")||r.startsWith("data-on:")||r.startsWith("data-class:")||r.startsWith("data-bind:")||r.startsWith("data-transition"))return!0}return!1}var V=null;function cr(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 ur(){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 fr(e){if(!V)return null;let t=e.getAttribute("data-forma-id");return t?V.get(t)??null:null}function dr(e,...t){for(let n of e)for(let r of t)if(n.startsWith(r))return!0;return!1}function Z(e){if(e.__formaDisposers){O&&N("mountScope: SKIPPED (already mounted)");return}let t=sr(e),n=[];Y(e,t,n);let r=0,i=ur();if(i){let a=e.querySelectorAll(i);for(let s=0;s<a.length;s++)Y(a[s],t,n),r++}else{let a=e.querySelectorAll("*");for(let s=0;s<a.length;s++){let c=a[s];lr(c)&&(Y(c,t,n),r++)}}e.__formaDisposers=n,e.__formaScope=t,e.__formaInitialState=e.getAttribute("data-forma-state")??"{}",O&&N("mountScope: DONE \u2014",r,"elements bound,",n.length,"disposers",i?"(targeted)":"(full scan)")}function Q(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 U=null,St=1,mr=40,me=[],he=!1;function pr(e){for(let t=0;t<e.removedNodes.length;t++){let n=e.removedNodes[t];if(n.nodeType!==St)continue;let r=n;r.hasAttribute("data-forma-state")&&(O&&N("MutationObserver: REMOVED scope"),Q(r));let i=r.querySelectorAll("[data-forma-state]");for(let a=0;a<i.length;a++)Q(i[a])}for(let t=0;t<e.addedNodes.length;t++){let n=e.addedNodes[t];if(n.nodeType!==St)continue;let r=n;if(r.closest("[data-forma-leaving]"))continue;r.hasAttribute("data-forma-state")&&(O&&N("MutationObserver: ADDED scope via mutation"),Z(r));let i=r.querySelectorAll("[data-forma-state]");O&&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]")||Z(s)}}if(e.type==="attributes"&&e.attributeName==="data-forma-state"){let t=e.target;Q(t),t.hasAttribute("data-forma-state")&&Z(t)}}async function It(){try{for(;me.length>0;){let e=me.splice(0,mr);for(let t=0;t<e.length;t++)pr(e[t]);me.length>0&&await At()}}finally{he=!1,me.length>0&&!he&&(he=!0,It())}}function gr(e){O&&N("MutationObserver: queued",e.length,"mutation(s)"),me.push(...e),!he&&(he=!0,It())}function hr(){if(U)return;U=new MutationObserver(gr);let e=document.body||document.documentElement;e&&U.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-forma-state"]})}function br(){U&&(U.disconnect(),U=null)}function Ge(){un&&wt(document,{skipIfAlreadySet:!0});let e=document.querySelectorAll("[data-forma-state]");O&&N("initRuntime: found",e.length,"scope(s)");for(let t of Array.from(e))Z(t);hr(),O&&N("initRuntime: MutationObserver started")}function vr(){br();let e=document.querySelectorAll("[data-forma-state]");for(let t of Array.from(e))Q(t)}function Er(e){e.hasAttribute("data-forma-state")&&Z(e);let t=e.querySelectorAll("[data-forma-state]");for(let n of Array.from(t))Z(n)}function yr(e){e.hasAttribute("data-forma-state")&&Q(e);let t=e.querySelectorAll("[data-forma-state]");for(let n of Array.from(t))Q(n)}typeof document<"u"&&(document.readyState==="loading"?document.addEventListener("DOMContentLoaded",Ge):Ge());function Sr(e){O=e}function Tr(e){$!==e&&($=e,e==="locked-off"&&(F=!1),e==="locked-on"&&(F=!0),e==="mutable"&&(F=!0),ze=new WeakMap,Je=new WeakMap)}function Ar(e){if($!=="mutable"){N(`setUnsafeEval ignored (mode=${$}); unsafe fallback is locked`);return}F!==e&&(F=e,ze=new WeakMap,Je=new WeakMap)}function wr(){return $}function _r(e){je=e}function Rr(){return Array.from(pe.values()).map(e=>({...e}))}function Mr(){pe.clear()}function xr(){let e=document.querySelectorAll("[data-forma-state]"),t=[];for(let n of Array.from(e)){if(n.closest("[data-forma-leaving]"))continue;let r=n.__formaScope,i=n.__formaInitialState;if(!r)continue;let a={};for(let s of Object.keys(r.getters)){let c=r.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 Cr(e,t,n){let r=e.__formaScope;r?.setters[t]&&H(()=>{r.setters[t](n)})}function kr(e){let t=e.__formaScope,n=e.__formaInitialState;if(!t||!n)return;let r=Ot(n);H(()=>{for(let[i,a]of Object.entries(r))t.setters[i]?.(a)})}var Pe=null;function Nr(){return Pe||(Pe=mt({mountScope:Z,unmountScope:Q,disconnectObserver(){U&&U.disconnect()},reconnectObserver(){if(U){let e=document.body||document.documentElement;e&&U.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-forma-state"]})}},batch:H})),Pe}function Dr(e,t){Nr()(e,t)}return Ut(Lr);})();
2
2
  //# sourceMappingURL=formajs-runtime.global.js.map