Files
sigpro/dist/sigpro.esm.min.js
natxocc 2a0ce8c68f
All checks were successful
Deploy Docs to Synology / deploy (push) Successful in 4s
Returno to inytegrate Tags in Core
2026-04-28 18:42:56 +02:00

2 lines
7.5 KiB
JavaScript

var m=(e)=>typeof e==="function",P=(e)=>e&&typeof e==="object",N=Array.isArray,E=typeof document<"u"?document:null,I=(e)=>e?._isRuntime?e.container:e instanceof Node?e:E.createTextNode(e==null?"":String(e)),d=null,_=null,g=!1,R=0,O=new Set,M=new WeakMap,j=Symbol("iter"),L=new WeakMap,W="http://www.w3.org/2000/svg",$="http://www.w3.org/1999/xlink",K=new Set("svg,path,circle,rect,line,polyline,polygon,g,defs,text,textPath,tspan,use,symbol,image,marker,ellipse".split(",")),S=(e)=>{if(!e||e._disposed)return;e._disposed=!0;let s=[e];while(s.length){let n=s.pop();if(n._cleanups)n._cleanups.forEach((r)=>r()),n._cleanups.clear();if(n._children)n._children.forEach((r)=>s.push(r)),n._children.clear();if(n._deps)n._deps.forEach((r)=>r.delete(n)),n._deps.clear()}},b=(e)=>{if(_)(_._cleanups||=new Set).add(e)},q=(e)=>{let s=d;d=null;try{return e()}finally{d=s}},x=(e,s=!1)=>{let n=()=>{if(n._disposed)return;if(n._deps)n._deps.forEach((i)=>i.delete(n));if(n._cleanups)n._cleanups.forEach((i)=>i()),n._cleanups.clear();let r=d,o=_;d=_=n;try{return n._result=e()}catch(i){console.error("[SigPro]",i)}finally{d=r,_=o}};if(n._deps=n._cleanups=n._children=null,n._disposed=!1,n._isComputed=s,n._depth=d?d._depth+1:0,n._mounts=[],n._parent=_,_)(_._children||=new Set).add(n);return n},k=()=>{if(g)return;g=!0;let e=Array.from(O).sort((s,n)=>s._depth-n._depth);O.clear();for(let s of e)if(!s._disposed)s();g=!1},z=(e)=>{R++;try{return e()}finally{if(R--,R===0&&O.size>0&&!g)k()}},w=(e,s=!1)=>{if(!s&&d&&!d._disposed)e.add(d),(d._deps||=new Set).add(e);else if(s&&e.size>0){let n=!1;for(let r of e){if(r===d||r._disposed)continue;if(r._isComputed){if(r._dirty=!0,r._subs)w(r._subs,!0)}else O.add(r),n=!0}if(n&&!g&&R===0)queueMicrotask(k)}},U=(e,s=null)=>{let n=new Set;if(m(e)){let r,o=()=>{if(o._dirty){let i=d;d=o;try{let t=e();if(!Object.is(r,t))r=t,w(n,!0)}finally{d=i}o._dirty=!1}return w(n),r};return o._isComputed=!0,o._subs=n,o._dirty=!0,o._deps=null,o._disposed=!1,o}if(s)try{e=JSON.parse(localStorage.getItem(s))??e}catch(r){}return(...r)=>{if(r.length){let o=m(r[0])?r[0](e):r[0];if(!Object.is(e,o)){if(e=o,s)localStorage.setItem(s,JSON.stringify(e));w(n,!0)}}return w(n),e}},D=(e)=>{if(!P(e))return e;let s=M.get(e);if(s)return s;let n=new Map,r=(i)=>{let t=n.get(i);if(!t)n.set(i,t=new Set);return t},o=new Proxy(e,{get(i,t,c){if(typeof t!=="symbol")w(r(t));return D(Reflect.get(i,t,c))},set(i,t,c,l){let a=Reflect.has(i,t),f=Reflect.get(i,t,l),u=Reflect.set(i,t,c,l);if(u&&!Object.is(f,c)){if(w(r(t),!0),!a)w(r(j),!0)}return u},deleteProperty(i,t){let c=Reflect.deleteProperty(i,t);if(c)w(r(t),!0),w(r(j),!0);return c},ownKeys(i){return w(r(j)),Reflect.ownKeys(i)}});return M.set(e,o),o},T=(e,s)=>{if(s===void 0){let r=x(e);return r(),()=>S(r)}let n=x(()=>{let r=Array.isArray(e)?e.map((o)=>o()):e();q(()=>s(r))});return n(),()=>S(n)},V=(e)=>{if(!e)return;if(e._cleanups)e._cleanups.forEach((s)=>s()),e._cleanups.clear();if(e._ownerEffect)S(e._ownerEffect);if(e.childNodes)e.childNodes.forEach((s)=>V(s))},J=/^\s*(javascript|data|vbscript):/i,Q=new Set(["src","href","formaction","action","background","code","archive"]),X=(e)=>Q.has(e)||e.startsWith("on"),B=(e,s)=>{if(s==null||s===!1)return null;if(X(e)){let n=String(s);if(J.test(n))return console.warn(`[SigPro] Bloqueado protocolo peligroso en ${e}`),"#"}return s},A=(e,s={},n=[])=>{if(s instanceof Node||N(s)||!P(s))n=s,s={};if(m(e)){let t=x(()=>{let f=e(s,{children:n,emit:(u,...h)=>s[`on${u[0].toUpperCase()}${u.slice(1)}`]?.(...h)});return t._result=f,f});t();let c=t._result;if(c==null)return null;let l=c instanceof Node||N(c)&&c.every((f)=>f instanceof Node)?c:E.createTextNode(String(c)),a=(f)=>{if(P(f)&&!f._isRuntime)f._mounts=t._mounts||[],f._cleanups=t._cleanups||new Set,f._ownerEffect=t};return N(l)?l.forEach(a):a(l),l}let r=K.has(e),o=r?E.createElementNS(W,e):E.createElement(e);o._cleanups=new Set;for(let t of Object.keys(s)){let c=s[t];if(t==="ref"){m(c)?c(o):c.current=o;continue}if(r&&t.startsWith("xlink:")){let l=B(t.slice(6),c);l==null?o.removeAttributeNS($,t.slice(6)):o.setAttributeNS($,t.slice(6),l);continue}if(t.startsWith("on")){let l=t.slice(2).toLowerCase();o.addEventListener(l,c);let a=()=>o.removeEventListener(l,c);o._cleanups.add(a),b(a)}else if(m(c)){let l=x(()=>{let a=B(t,c());if(t==="class")o.className=a||"";else if(a==null)o.removeAttribute(t);else if(t in o&&!r)o[t]=a;else o.setAttribute(t,a===!0?"":a)});if(l(),o._cleanups.add(()=>S(l)),b(()=>S(l)),/^(INPUT|TEXTAREA|SELECT)$/.test(o.tagName)&&(t==="value"||t==="checked")){let a=t==="checked"?"change":"input";o.addEventListener(a,(f)=>c(f.target[t]))}}else{let l=B(t,c);if(l!=null)if(t in o&&!r)o[t]=l;else o.setAttribute(t,l===!0?"":l)}}let i=(t)=>{if(N(t))return t.forEach(i);if(m(t)){let c=E.createTextNode("");o.appendChild(c);let l=[],a=x(()=>{let f=t(),u=(N(f)?f:[f]).map(I);l.forEach((p)=>{if(p._isRuntime)p.destroy();else V(p);if(p.parentNode)p.remove()});let h=c;for(let p=u.length-1;p>=0;p--){let y=u[p];if(y.parentNode!==h.parentNode)h.parentNode?.insertBefore(y,h);if(y._mounts)y._mounts.forEach((G)=>G());h=y}l=u});a(),o._cleanups.add(()=>S(a)),b(()=>S(a))}else{let c=I(t);if(o.appendChild(c),c._mounts)c._mounts.forEach((l)=>l())}};return i(n),o},C=(e)=>{let s=new Set,n=_,r=d,o=E.createElement("div");o.style.display="contents",o.setAttribute("role","presentation"),_={_cleanups:s},d=null;let i=(t)=>{if(!t)return;if(t._isRuntime)s.add(t.destroy),o.appendChild(t.container);else if(N(t))t.forEach(i);else o.appendChild(t instanceof Node?t:E.createTextNode(String(t==null?"":t)))};try{i(e({onCleanup:(t)=>s.add(t)}))}finally{_=n,d=r}return{_isRuntime:!0,container:o,destroy:()=>{s.forEach((t)=>t()),V(o),o.remove()}}},F=(e,s,n=null)=>{let r=E.createTextNode(""),o=A("div",{style:"display:contents"},[r]),i=null;return T(()=>!!(m(e)?e():e),(t)=>{if(i)i.destroy(),i=null;let c=t?s:n;if(c)i=C(()=>m(c)?c():c),o.insertBefore(i.container,r)}),b(()=>i?.destroy()),o},H=(e,s,n)=>{let r=E.createTextNode(""),o=A("div",{style:"display:contents"},[r]),i=new Map;return T(()=>(m(e)?e():e)||[],(t)=>{let c=new Map,l=[],a=t||[];for(let u=0;u<a.length;u++){let h=a[u],p=n?h?.[n]??u:h?.id??u,y=i.get(p);if(!y)y=C(()=>s(h,u));else i.delete(p);c.set(p,y),l.push(y)}i.forEach((u)=>u.destroy());let f=r;for(let u=l.length-1;u>=0;u--){let p=l[u].container;if(p.nextSibling!==f)o.insertBefore(p,f);f=p}i=c}),o},v=(e)=>{let s=()=>window.location.hash.slice(1)||"/",n=U(s()),r=()=>n(s());window.addEventListener("hashchange",r),b(()=>window.removeEventListener("hashchange",r));let o=A("div",{class:"router-hook"}),i=null;return T([n],()=>{let t=n(),c=e.find((l)=>{let a=l.path.split("/").filter(Boolean),f=t.split("/").filter(Boolean);return a.length===f.length&&a.every((u,h)=>u[0]===":"||u===f[h])})||e.find((l)=>l.path==="*");if(c){i?.destroy();let l={};c.path.split("/").filter(Boolean).forEach((a,f)=>{if(a[0]===":")l[a.slice(1)]=t.split("/").filter(Boolean)[f]}),v.params(l),i=C(()=>m(c.component)?c.component(l):c.component),o.replaceChildren(i.container)}}),o};v.params=U({});v.to=(e)=>window.location.hash=e.replace(/^#?\/?/,"#/");v.back=()=>window.history.back();v.path=()=>window.location.hash.replace(/^#/,"")||"/";var Y=(e,s)=>{let n=typeof s==="string"?E.querySelector(s):s;if(!n)return;if(L.has(n))L.get(n).destroy();let r=C(m(e)?e:()=>e);return n.replaceChildren(r.container),L.set(n,r),r},Z=()=>{if(typeof window>"u")return;Object.assign(window,{$:U,$$:D,watch:T,h:A,when:F,each:H,router:v,mount:Y,batch:z}),"a abbr article aside ... video".split(" ").forEach((e)=>{window[e]=(s,n)=>A(e,s,n)})};if(typeof import.meta>"u"&&typeof window<"u")Z();export{F as when,T as watch,Z as sigpro,v as router,Y as mount,A as h,H as each,z as batch,D as $$,U as $};