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