Files
sigpro/docs/sigpro.js
2026-05-22 23:05:08 +02:00

2 lines
5.4 KiB
JavaScript

var q=(j)=>typeof j=="function",u=(j)=>j&&typeof j=="object",R=Array.isArray,m=typeof document<"u"?document:null,C=(j)=>m.createTextNode(j==null?"":String(j)),g=(j)=>j?._rt?j._cnt:j instanceof Node?j:C(j),k=(j)=>j.children,S=(j)=>q(j)?j():j,I=null,V=null,Q=0,w=0,b=new Set,A=new WeakMap,l="http://www.w3.org/2000/svg",h="http://www.w3.org/1999/xlink",i=new Set("svg,path,circle,rect,line,polyline,polygon,g,defs,text,textPath,tspan,use,symbol,image,marker,ellipse".split(",")),v=new Set(["src","href","formaction","action","background","code","archive"]),x=(j)=>{if(j)j.forEach((H)=>H()),j.clear()},_=(j)=>{if(!j||j._x)return;j._x=1;let H=[j],z;while(z=H.pop()){if(x(z._c),z._ch)z._ch.forEach((J)=>H.push(J)),z._ch.clear();if(z._d)z._d.forEach((J)=>J.delete(z)),z._d.clear()}},T=(j)=>V&&(V._c||=new Set).add(j),p=(j)=>{let H=I;I=null;try{return j()}finally{I=H}},D=(j,H=0)=>{let z=()=>{if(z._x)return;if(z._d)z._d.forEach(($)=>$.delete(z));x(z._c);let J=I,B=V;I=V=z;try{return z._res=j()}catch($){console.error("[SigPro]",$)}finally{I=J,V=B}};if(z._d=z._c=z._ch=null,z._x=0,z._iC=H,z._dp=I?I._dp+1:0,z._m=[],z._p=V,V)(V._ch||=new Set).add(z);return z},o=()=>{if(Q)return;Q=1;let j=[...b].sort((H,z)=>H._dp-z._dp);b.clear();for(let H of j)if(!H._x)H();Q=0},f=(j)=>{w++;try{return j()}finally{if(!--w&&b.size&&!Q)o()}},G=(j,H=0)=>{if(!H&&I&&!I._x)j.add(I),(I._d||=new Set).add(j);else if(H&&j.size){let z=0;for(let J of j){if(J===I||J._x)continue;if(J._iC){if(J._dt=1,J._sb)G(J._sb,1)}else b.add(J),z=1}if(z&&!Q&&!w)queueMicrotask(o)}},a=(j,H=null)=>{let z=new Set;if(q(j)){let J,B=()=>{if(B._dt){let $=I;I=B;try{let y=j();if(!Object.is(J,y))J=y,G(z,1)}finally{I=$}B._dt=0}return G(z),J};return B._iC=B._dt=1,B._sb=z,B._d=null,B._x=0,B}if(H)try{j=JSON.parse(localStorage.getItem(H))??j}catch(J){}return(...J)=>{if(J.length){let B=q(J[0])?J[0](j):J[0];if(!Object.is(j,B)){if(j=B,H)localStorage.setItem(H,JSON.stringify(j));G(z,1)}}return G(z),j}},F=(j,H)=>{let z=D(H?()=>{let J=R(j)?j.map((B)=>B()):j();p(()=>H(J))}:j);return z(),()=>_(z)},O=(j)=>{if(!j)return;if(x(j._c),j._oE)_(j._oE);if(j.childNodes)j.childNodes.forEach(O)},N=(j,H)=>H==null||H===!1?null:(v.has(j)||j.startsWith("on"))&&/^\s*(javascript|data|vbscript):/i.test(String(H))?"#":H,E=(j,H={},z=[])=>{if(H instanceof Node||R(H)||!u(H))z=H,H={};if(q(j)){let y=D(()=>y._res=j(H,{children:z,emit:(W,...K)=>H[`on${W[0].toUpperCase()}${W.slice(1)}`]?.(...K)}));if(y(),y._res==null)return null;let Z=y._res instanceof Node||R(y._res)&&y._res.every((W)=>W instanceof Node)?y._res:C(y._res),P=(W)=>{if(u(W)&&!W._rt)W._m=y._m||[],W._c=y._c||new Set,W._oE=y};return R(Z)?Z.forEach(P):P(Z),Z}let J=i.has(j),B=J?m.createElementNS(l,j):m.createElement(j);B._c=new Set;for(let y in H){let Z=H[y];if(y==="ref"){q(Z)?Z(B):Z.current=B;continue}if(J&&y.startsWith("xlink:")){let P=N(y.slice(6),Z);P==null?B.removeAttributeNS(h,y.slice(6)):B.setAttributeNS(h,y.slice(6),P);continue}if(y.startsWith("on")){let P=y.slice(2).toLowerCase();B.addEventListener(P,Z);let W=()=>B.removeEventListener(P,Z);B._c.add(W),T(W)}else if(q(Z)){let P=D(()=>{let W=N(y,Z());if(y==="class")B.className=W||"";else if(W==null)B.removeAttribute(y);else if(y==="style"&&typeof W=="string")B.setAttribute("style",W);else if(y in B&&!J)B[y]=W;else B.setAttribute(y,W===!0?"":W)});if(P(),B._c.add(()=>_(P)),T(()=>_(P)),/^(INPUT|TEXTAREA|SELECT)$/.test(B.tagName)&&(y==="value"||y==="checked"))B.addEventListener(y==="checked"?"change":"input",(W)=>Z(W.target[y]))}else{let P=N(y,Z);if(P!=null)if(y==="style"&&typeof P=="string")B.setAttribute("style",P);else if(y in B&&!J)B[y]=P;else B.setAttribute(y,P===!0?"":P)}}let $=(y)=>{if(R(y))return y.forEach($);if(q(y)){let Z=C(""),P=[];B.appendChild(Z);let W=D(()=>{let K=y(),Y=(R(K)?K:[K]).map(g),M=Z;P.forEach((L)=>{if(L._rt?L.destroy():O(L),L.parentNode)L.remove()});for(let L=Y.length-1;L>=0;L--){let X=Y[L];if(X.parentNode!==M.parentNode)M.parentNode?.insertBefore(X,M);if(X._m)X._m.forEach((d)=>d());M=X}P=Y});W(),B._c.add(()=>_(W)),T(()=>_(W))}else{let Z=g(y);if(B.appendChild(Z),Z._m)Z._m.forEach((P)=>P())}};return $(z),B},U=(j)=>{let H=new Set,z=V,J=I,B=m.createElement("div");B.style.display="contents",B.setAttribute("role","presentation"),V={_c:H},I=null;let $=(y)=>{if(!y)return;if(y._rt)H.add(y.destroy),B.appendChild(y._cnt);else if(R(y))y.forEach($);else B.appendChild(y instanceof Node?y:C(y))};try{$(j({onCleanup:(y)=>H.add(y)}))}finally{V=z,I=J}return{_rt:1,_cnt:B,destroy:()=>{x(H),O(B),B.remove()}}},s=(j,H,z=null)=>{let J=C(""),B=E("div",{style:"display:contents"},[J]),$;return F(()=>!!S(j),(y)=>{if($)$.destroy(),$=null;let Z=y?H:z;if(Z)$=U(()=>S(Z)),B.insertBefore($._cnt,J)}),T(()=>$?.destroy()),B},r=(j,H,z)=>{let J=C(""),B=E("div",{style:"display:contents"},[J]),$=new Map;return F(()=>S(j)||[],(y)=>{let Z=new Map,P=[];for(let K=0,Y=(y||[]).length;K<Y;K++){let M=y[K],L=z?M?.[z]??K:M?.id??K,X=$.get(L);if(!X)X=U(()=>H(M,K));else $.delete(L);Z.set(L,X),P.push(X)}$.forEach((K)=>K.destroy());let W=J;for(let K=P.length-1;K>=0;K--){let Y=P[K]._cnt;if(Y.nextSibling!==W)B.insertBefore(Y,W);W=Y}$=Z}),B},t=(j,H)=>{let z=typeof H=="string"?m.querySelector(H):H;if(!z)return;if(A.has(z))A.get(z).destroy();let J=U(q(j)?j:()=>j);return z.replaceChildren(J._cnt),A.set(z,J),J},c={$:a,watch:F,batch:f,h:E,fragment:k,render:U,mount:t,when:s,each:r,onUnmount:T,val:S,isA:R,isF:q,isO:u};if(typeof window<"u")window.SigPro=c;export{s as when,F as watch,S as val,U as render,T as onUnmount,t as mount,u as isO,q as isF,R as isA,E as h,k as fragment,r as each,f as batch,c as SigPro,a as $};