var y=(e)=>typeof e==="function",j=(e)=>e&&typeof e==="object",b=Array.isArray,E=typeof document<"u"?document:null,B=(e)=>e?._isRuntime?e.container:e instanceof Node?e:E.createTextNode(e==null?"":String(e)),u=null,_=null,S=!1,O=0,A=new Set,k=new WeakMap,T=Symbol("iter"),L=new WeakMap,g=(e)=>{if(!e||e._disposed)return;e._disposed=!0;let n=[e];while(n.length){let t=n.pop();if(t._cleanups)t._cleanups.forEach((r)=>r()),t._cleanups.clear();if(t._children)t._children.forEach((r)=>n.push(r)),t._children.clear();if(t._deps)t._deps.forEach((r)=>r.delete(t)),t._deps.clear()}},v=(e)=>{if(_)(_._cleanups||=new Set).add(e)},W=(e)=>{let n=u;u=null;try{return e()}finally{u=n}},x=(e,n=!1)=>{let t=()=>{if(t._disposed)return;if(t._deps)t._deps.forEach((c)=>c.delete(t));if(t._cleanups)t._cleanups.forEach((c)=>c()),t._cleanups.clear();let r=u,s=_;u=_=t;try{return t._result=e()}catch(c){console.error("[SigPro]",c)}finally{u=r,_=s}};if(t._deps=t._cleanups=t._children=null,t._disposed=!1,t._isComputed=n,t._depth=u?u._depth+1:0,t._mounts=[],t._parent=_,_)(_._children||=new Set).add(t);return t},D=()=>{if(S)return;S=!0;let e=Array.from(A).sort((n,t)=>n._depth-t._depth);A.clear();for(let n of e)if(!n._disposed)n();S=!1},q=(e)=>{O++;try{return e()}finally{if(O--,O===0&&A.size>0&&!S)D()}},m=(e,n=!1)=>{if(!n&&u&&!u._disposed)e.add(u),(u._deps||=new Set).add(e);else if(n&&e.size>0){let t=!1;for(let r of e){if(r===u||r._disposed)continue;if(r._isComputed){if(r._dirty=!0,r._subs)m(r._subs,!0)}else A.add(r),t=!0}if(t&&!S&&O===0)queueMicrotask(D)}},P=(e,n=null)=>{let t=new Set;if(y(e)){let r,s=()=>{if(s._dirty){let c=u;u=s;try{let i=e();if(!Object.is(r,i))r=i,m(t,!0)}finally{u=c}s._dirty=!1}return m(t),r};if(s._isComputed=!0,s._subs=t,s._dirty=!0,s._deps=null,s._disposed=!1,s.stop=()=>{},_)v(s.stop);return s}if(n)try{e=JSON.parse(localStorage.getItem(n))??e}catch(r){}return(...r)=>{if(r.length){let s=y(r[0])?r[0](e):r[0];if(!Object.is(e,s)){if(e=s,n)localStorage.setItem(n,JSON.stringify(e));m(t,!0)}}return m(t),e}},I=(e)=>{if(!j(e))return e;let n=k.get(e);if(n)return n;let t=new Map,r=(s)=>{let c=t.get(s);if(!c)t.set(s,c=new Set);return c};return n=new Proxy(e,{get(s,c,i){if(typeof c!=="symbol")m(r(c));return I(Reflect.get(s,c,i))},set(s,c,i,o){let l=!Reflect.has(s,c),a=Reflect.get(s,c,o),f=Reflect.set(s,c,i,o);if(f&&!Object.is(a,i)){if(m(r(c),!0),l)m(r(T),!0)}return f},deleteProperty(s,c){let i=Reflect.deleteProperty(s,c);if(i)m(r(c),!0),m(r(T),!0);return i},ownKeys(s){return m(r(T)),Reflect.ownKeys(s)}}),k.set(e,n),n},R=(e,n)=>{if(n===void 0){let r=x(e);return r(),()=>g(r)}let t=x(()=>{let r=Array.isArray(e)?e.map((s)=>s()):e();W(()=>n(r))});return t(),()=>g(t)},M=(e)=>{if(e._cleanups)e._cleanups.forEach((n)=>n()),e._cleanups.clear();if(e._ownerEffect)g(e._ownerEffect);if(e.childNodes)e.childNodes.forEach(M)},z=/^\s*(javascript|data|vbscript):/i,G=(e)=>e==="src"||e==="href"||e.startsWith("on"),U=(e,n)=>{if(n==null||n===!1)return null;if(G(e)){let t=String(n);if(z.test(t))return console.warn(`[SigPro] Bloqueado protocolo peligroso en ${e}`),"#"}return n},C=(e,n={},t=[])=>{if(n instanceof Node||b(n)||!j(n))t=n,n={};if(y(e)){let i=x(()=>{let f=e(n,{children:t,emit:(d,...h)=>n[`on${d[0].toUpperCase()}${d.slice(1)}`]?.(...h)});return i._result=f,f});i();let o=i._result;if(o==null)return null;let l=o instanceof Node||b(o)&&o.every((f)=>f instanceof Node)?o:E.createTextNode(String(o)),a=(f)=>{if(j(f)&&!f._isRuntime)f._mounts=i._mounts||[],f._cleanups=i._cleanups||new Set,f._ownerEffect=i};return b(l)?l.forEach(a):a(l),l}let r=/^(svg|path|circle|rect|line|poly(line|gon)|g|defs|text(path)?|tspan|use|symbol|image|marker|ellipse)$/i.test(e),s=r?E.createElementNS("http://www.w3.org/2000/svg",e):E.createElement(e);s._cleanups=new Set;for(let i in n){if(!n.hasOwnProperty(i))continue;let o=n[i];if(i==="ref"){y(o)?o(s):o.current=s;continue}if(r&&i.startsWith("xlink:")){o==null?s.removeAttributeNS("http://www.w3.org/1999/xlink",i.slice(6)):s.setAttributeNS("http://www.w3.org/1999/xlink",i.slice(6),o);continue}if(i.startsWith("on")){let l=i.slice(2).toLowerCase();s.addEventListener(l,o);let a=()=>s.removeEventListener(l,o);s._cleanups.add(a),v(a)}else if(y(o)){let l=x(()=>{let a=U(i,o());if(i==="class")s.className=a||"";else if(a==null)s.removeAttribute(i);else if(i in s&&!r)s[i]=a;else s.setAttribute(i,a===!0?"":a)});if(l(),s._cleanups.add(()=>g(l)),v(()=>g(l)),/^(INPUT|TEXTAREA|SELECT)$/.test(s.tagName)&&(i==="value"||i==="checked")){let a=i==="checked"?"change":"input";s.addEventListener(a,(f)=>o(f.target[i]))}}else{let l=U(i,o);if(l!=null)if(i in s&&!r)s[i]=l;else s.setAttribute(i,l===!0?"":l)}}let c=(i)=>{if(b(i))return i.forEach(c);if(y(i)){let o=E.createTextNode("");s.appendChild(o);let l=[],a=x(()=>{let f=i(),d=(b(f)?f:[f]).map(B);l.forEach((p)=>{if(p._isRuntime)p.destroy();else M(p);if(p.parentNode)p.remove()});let h=o;for(let p=d.length-1;p>=0;p--){let w=d[p];if(w.parentNode!==h.parentNode)h.parentNode?.insertBefore(w,h);if(w._mounts)w._mounts.forEach((V)=>V());h=w}l=d});a(),s._cleanups.add(()=>g(a)),v(()=>g(a))}else{let o=B(i);if(s.appendChild(o),o._mounts)o._mounts.forEach((l)=>l())}};return c(t),s},$=(e)=>{let n=new Set,t=[],r=_,s=u,c=E.createElement("div");c.style.display="contents",c.setAttribute("role","presentation"),_={_cleanups:n,_mounts:t},u=null;let i=(o)=>{if(!o)return;if(o._isRuntime)n.add(o.destroy),c.appendChild(o.container);else if(b(o))o.forEach(i);else c.appendChild(o instanceof Node?o:E.createTextNode(String(o==null?"":o)))};try{i(e({onCleanup:(o)=>n.add(o)}))}finally{_=r,u=s}return t.forEach((o)=>o()),{_isRuntime:!0,container:c,destroy:()=>{n.forEach((o)=>o()),M(c),c.remove()}}},J=(e,n,{enter:t,leave:r}={})=>{let s=C("div",{style:"display:contents"}),c=null,i=(o,l)=>{if(!o)return l();let a=!1,f=()=>!a&&(a=!0,l());o.addEventListener("transitionend",f,{once:!0}),o.addEventListener("animationend",f,{once:!0}),setTimeout(f,500)};return R(e,(o)=>{if(o&&!c){let l=(c=n(n)).container.firstChild;if(s.appendChild(c.container),t&&l)l.classList.add(t),l.clientTop,l.classList.add(t+"-active"),i(l,()=>l.classList.remove(t,t+"-active"))}else if(!o&&c){let l=c.container.firstChild,a=()=>(c.destroy(),c=null);if(r&&l)l.classList.add(r),i(l,a);else a()}}),v(()=>c?.destroy()),s},K=(e,n,t)=>{let r=E.createTextNode(""),s=C("div",{style:"display:contents"},[r]),c=new Map;return R(()=>(y(e)?e():e)||[],(i)=>{let o=new Map,l=[],a=i||[];for(let d=0;dn(h,d));else c.delete(p);o.set(p,w),l.push(w)}c.forEach((d)=>d.destroy());let f=r;for(let d=l.length-1;d>=0;d--){let p=l[d].container;if(p.nextSibling!==f)s.insertBefore(p,f);f=p}c=o}),s},N=(e)=>{let n=()=>window.location.hash.slice(1)||"/",t=P(n()),r=()=>t(n());window.addEventListener("hashchange",r),v(()=>window.removeEventListener("hashchange",r));let s=C("div",{class:"router-hook"}),c=null;return R([t],()=>{let i=t(),o=e.find((l)=>{let a=l.path.split("/").filter(Boolean),f=i.split("/").filter(Boolean);return a.length===f.length&&a.every((d,h)=>d[0]===":"||d===f[h])})||e.find((l)=>l.path==="*");if(o){c?.destroy();let l={};o.path.split("/").filter(Boolean).forEach((a,f)=>{if(a[0]===":")l[a.slice(1)]=i.split("/").filter(Boolean)[f]}),N.params(l),c=$(()=>y(o.component)?o.component(l):o.component),s.replaceChildren(c.container)}}),s};N.params=P({});N.to=(e)=>window.location.hash=e.replace(/^#?\/?/,"#/");N.back=()=>window.history.back();N.path=()=>window.location.hash.replace(/^#/,"")||"/";var Q=(e,n)=>{let t=typeof n==="string"?E.querySelector(n):n;if(!t)return;if(L.has(t))L.get(t).destroy();let r=$(y(e)?e:()=>e);return t.replaceChildren(r.container),L.set(t,r),r},F=Object.freeze({$:P,$$:I,watch:R,h:C,when:J,each:K,router:N,mount:Q,batch:q});if(typeof window<"u")Object.assign(window,F),"a abbr article aside audio b blockquote br button canvas caption cite code col colgroup datalist dd del details dfn dialog div dl dt em embed fieldset figcaption figure footer form h1 h2 h3 h4 h5 h6 header hr i iframe img input ins kbd label legend li main mark meter nav object ol optgroup option output p picture pre progress section select slot small source span strong sub summary sup svg table tbody td template textarea tfoot th thead time tr u ul video".split(" ").forEach((e)=>{window[e]=(n,t)=>C(e,n,t)});export{J as when,R as watch,N as router,Q as mount,C as h,K as each,q as batch,I as $$,P as $};