From 8b45c84e67a04dabe245d9b32f977c1ecc6ea2fa Mon Sep 17 00:00:00 2001 From: natxocc Date: Thu, 16 Apr 2026 15:20:37 +0200 Subject: [PATCH] 1.2.13 --- dist/sigpro.esm.js | 30 ++++++++++++++++++---- dist/sigpro.esm.min.js | 2 +- dist/sigpro.js | 56 ++++++++++++++++++++++++++++++++---------- dist/sigpro.min.js | 2 +- docs/sigpro.js | 56 ++++++++++++++++++++++++++++++++---------- 5 files changed, 113 insertions(+), 33 deletions(-) diff --git a/dist/sigpro.esm.js b/dist/sigpro.esm.js index de287a8..20da198 100644 --- a/dist/sigpro.esm.js +++ b/dist/sigpro.esm.js @@ -544,14 +544,34 @@ var Mount = (comp, target) => { MOUNTED_NODES.set(t, inst); return inst; }; -var SigPro = Object.freeze({ $, $$, Watch, Tag, Render, If, For, Router, Mount, onMount, onUnmount, Anim, Batch }); -if (typeof window !== "undefined") { - Object.assign(window, SigPro); - "div span p h1 h2 h3 h4 h5 h6 br hr section article aside nav main header footer ul ol li a em strong pre code form label input textarea select button img svg".split(" ").forEach((t) => window[t[0].toUpperCase() + t.slice(1)] = (p, c) => SigPro.Tag(t, p, c)); -} +var SigPro = Object.freeze({ + $, + $$, + Watch, + Tag, + Render, + If, + For, + Router, + Mount, + onMount, + onUnmount, + Anim, + Batch +}); +var initDX = () => { + if (typeof window !== "undefined") { + Object.assign(window, SigPro); + "div span p h1 h2 h3 h4 h5 h6 br hr section article aside nav main header footer ul ol li a em strong pre code form label input textarea select button img svg".split(" ").forEach((t) => { + const name = t[0].toUpperCase() + t.slice(1); + window[name] = (p, c) => Tag(t, p, c); + }); + } +}; export { onUnmount, onMount, + initDX, Watch, Tag, Router, diff --git a/dist/sigpro.esm.min.js b/dist/sigpro.esm.min.js index 76a12ca..c6a8db0 100644 --- a/dist/sigpro.esm.min.js +++ b/dist/sigpro.esm.min.js @@ -1 +1 @@ -var m=(e)=>typeof e==="function",j=(e)=>e&&typeof e==="object",N=Array.isArray,E=typeof document<"u"?document:null,$=(e)=>e?._isRuntime?e.container:e instanceof Node?e:E.createTextNode(e==null?"":String(e)),p=null,_=null,x=!1,A=0,T=new Set,U=new WeakMap,L=Symbol("iter"),M=new WeakMap,v=(e)=>{if(!e||e._disposed)return;e._disposed=!0;let s=[e];while(s.length){let t=s.pop();if(t._cleanups)t._cleanups.forEach((r)=>r()),t._cleanups.clear();if(t._children)t._children.forEach((r)=>s.push(r)),t._children.clear();if(t._deps)t._deps.forEach((r)=>r.delete(t)),t._deps.clear()}},q=(e)=>{if(_)(_._mounts||=[]).push(e)},g=(e)=>{if(_)(_._cleanups||=new Set).add(e)},z=(e)=>{let s=p;p=null;try{return e()}finally{p=s}},C=(e,s=!1)=>{let t=()=>{if(t._disposed)return;if(t._deps)t._deps.forEach((i)=>i.delete(t));if(t._cleanups)t._cleanups.forEach((i)=>i()),t._cleanups.clear();let r=p,n=_;p=_=t;try{return t._result=e()}catch(i){console.error("[SigPro]",i)}finally{p=r,_=n}};if(t._deps=t._cleanups=t._children=null,t._disposed=!1,t._isComputed=s,t._depth=p?p._depth+1:0,t._mounts=[],t._parent=_,_)(_._children||=new Set).add(t);return t},D=()=>{if(x)return;x=!0;let e=Array.from(T).sort((s,t)=>s._depth-t._depth);T.clear();for(let s of e)if(!s._disposed)s();x=!1},F=(e)=>{A++;try{return e()}finally{if(A--,A===0&&T.size>0&&!x)D()}},w=(e,s=!1)=>{if(!s&&p&&!p._disposed)e.add(p),(p._deps||=new Set).add(e);else if(s&&e.size>0){let t=!1;for(let r of e){if(r===p||r._disposed)continue;if(r._isComputed){if(r._dirty=!0,r._subs)w(r._subs,!0)}else T.add(r),t=!0}if(t&&!x&&A===0)queueMicrotask(D)}},B=(e,s=null)=>{let t=new Set;if(m(e)){let r,n=()=>{if(n._dirty){let i=p;p=n;try{let c=e();if(!Object.is(r,c))r=c,w(t,!0)}finally{p=i}n._dirty=!1}return w(t),r};if(n._isComputed=!0,n._subs=t,n._dirty=!0,n._deps=null,n._disposed=!1,n.stop=()=>{},_)g(n.stop);return n}if(s)try{e=JSON.parse(localStorage.getItem(s))??e}catch(r){}return(...r)=>{if(r.length){let n=m(r[0])?r[0](e):r[0];if(!Object.is(e,n)){if(e=n,s)localStorage.setItem(s,JSON.stringify(e));w(t,!0)}}return w(t),e}},V=(e)=>{if(!j(e))return e;let s=U.get(e);if(s)return s;let t=new Map,r=(n)=>{let i=t.get(n);if(!i)t.set(n,i=new Set);return i};return s=new Proxy(e,{get(n,i,c){if(typeof i!=="symbol")w(r(i));return V(Reflect.get(n,i,c))},set(n,i,c,o){let l=!Reflect.has(n,i),a=Reflect.get(n,i,o),d=Reflect.set(n,i,c,o);if(d&&!Object.is(a,c)){if(w(r(i),!0),l)w(r(L),!0)}return d},deleteProperty(n,i){let c=Reflect.deleteProperty(n,i);if(c)w(r(i),!0),w(r(L),!0);return c},ownKeys(n){return w(r(L)),Reflect.ownKeys(n)}}),U.set(e,s),s},O=(e,s)=>{if(s===void 0){let r=C(e);return r(),()=>v(r)}let t=C(()=>{let r=Array.isArray(e)?e.map((n)=>n()):e();z(()=>s(r))});return t(),()=>v(t)},P=(e)=>{if(e._cleanups)e._cleanups.forEach((s)=>s()),e._cleanups.clear();if(e._ownerEffect)v(e._ownerEffect);if(e.childNodes)e.childNodes.forEach(P)},G=/^\s*(javascript|data|vbscript):/i,J=(e)=>e==="src"||e==="href"||e.startsWith("on"),I=(e,s)=>{if(s==null||s===!1)return null;if(J(e)){let t=String(s);if(G.test(t))return console.warn(`[SigPro] Bloqueado protocolo peligroso en ${e}`),"#"}return s},R=(e,s={},t=[])=>{if(s instanceof Node||N(s)||!j(s))t=s,s={};if(m(e)){let c={_mounts:[],_cleanups:new Set},o=C(()=>{let f=e(s,{children:t,emit:(h,...u)=>s[`on${h[0].toUpperCase()}${h.slice(1)}`]?.(...u)});return o._result=f,f});o();let l=o._result;if(l==null)return null;let a=l instanceof Node||N(l)&&l.every((f)=>f instanceof Node)?l:E.createTextNode(String(l)),d=(f)=>{if(j(f)&&!f._isRuntime)f._mounts=o._mounts||[],f._cleanups=o._cleanups||new Set,f._ownerEffect=o};return N(a)?a.forEach(d):d(a),a}let r=/^(svg|path|circle|rect|line|poly(line|gon)|g|defs|text(path)?|tspan|use|symbol|image|marker|ellipse)$/i.test(e),n=r?E.createElementNS("http://www.w3.org/2000/svg",e):E.createElement(e);n._cleanups=new Set;for(let c in s){if(!s.hasOwnProperty(c))continue;let o=s[c];if(c==="ref"){m(o)?o(n):o.current=n;continue}if(r&&c.startsWith("xlink:")){val==null?n.removeAttributeNS("http://www.w3.org/1999/xlink",c.slice(6)):n.setAttributeNS("http://www.w3.org/1999/xlink",c.slice(6),val);continue}if(c.startsWith("on")){let l=c.slice(2).toLowerCase();n.addEventListener(l,o);let a=()=>n.removeEventListener(l,o);n._cleanups.add(a),g(a)}else if(m(o)){let l=C(()=>{let a=I(c,o());if(c==="class")n.className=a||"";else if(a==null)n.removeAttribute(c);else if(c in n&&!r)n[c]=a;else n.setAttribute(c,a===!0?"":a)});if(l(),n._cleanups.add(()=>v(l)),g(()=>v(l)),/^(INPUT|TEXTAREA|SELECT)$/.test(n.tagName)&&(c==="value"||c==="checked")){let a=c==="checked"?"change":"input";n.addEventListener(a,(d)=>o(d.target[c]))}}else{let l=I(c,o);if(l!=null)if(c in n&&!r)n[c]=l;else n.setAttribute(c,l===!0?"":l)}}let i=(c)=>{if(N(c))return c.forEach(i);if(m(c)){let o=E.createTextNode("");n.appendChild(o);let l=[],a=C(()=>{let d=c(),f=(N(d)?d:[d]).map($);l.forEach((u)=>{if(u._isRuntime)u.destroy();else P(u);if(u.parentNode)u.remove()});let h=o;for(let u=f.length-1;u>=0;u--){let y=f[u];if(y.parentNode!==h.parentNode)h.parentNode?.insertBefore(y,h);if(y._mounts)y._mounts.forEach((k)=>k());h=y}l=f});a(),n._cleanups.add(()=>v(a)),g(()=>v(a))}else{let o=$(c);if(n.appendChild(o),o._mounts)o._mounts.forEach((l)=>l())}};return i(t),n},S=(e)=>{let s=new Set,t=[],r=_,n=p,i=E.createElement("div");i.style.display="contents",i.setAttribute("role","presentation"),_={_cleanups:s,_mounts:t},p=null;let c=(o)=>{if(!o)return;if(o._isRuntime)s.add(o.destroy),i.appendChild(o.container);else if(N(o))o.forEach(c);else i.appendChild(o instanceof Node?o:E.createTextNode(String(o==null?"":o)))};try{c(e({onCleanup:(o)=>s.add(o)}))}finally{_=r,p=n}return t.forEach((o)=>o()),{_isRuntime:!0,container:i,destroy:()=>{s.forEach((o)=>o()),P(i),i.remove()}}},K=(e,s,t=null)=>{let r=E.createTextNode(""),n=R("div",{style:"display:contents"},[r]),i=null;return O(()=>!!(m(e)?e():e),(c)=>{if(i)i.destroy(),i=null;let o=c?s:t;if(o)i=S(()=>m(o)?o():o),n.insertBefore(i.container,r)}),g(()=>i?.destroy()),n},Q=(e,s,t)=>{let r=E.createTextNode(""),n=R("div",{style:"display:contents"},[r]),i=new Map;return O(()=>(m(e)?e():e)||[],(c)=>{let o=new Map,l=[],a=c||[];for(let f=0;fs(h,f));else i.delete(u);o.set(u,y),l.push(y)}i.forEach((f)=>f.destroy());let d=r;for(let f=l.length-1;f>=0;f--){let u=l[f].container;if(u.nextSibling!==d)n.insertBefore(u,d);d=u}i=o}),n},b=(e)=>{let s=()=>window.location.hash.slice(1)||"/",t=B(s()),r=()=>t(s());window.addEventListener("hashchange",r),g(()=>window.removeEventListener("hashchange",r));let n=R("div",{class:"router-hook"}),i=null;return O([t],()=>{let c=t(),o=e.find((l)=>{let a=l.path.split("/").filter(Boolean),d=c.split("/").filter(Boolean);return a.length===d.length&&a.every((f,h)=>f[0]===":"||f===d[h])})||e.find((l)=>l.path==="*");if(o){i?.destroy();let l={};o.path.split("/").filter(Boolean).forEach((a,d)=>{if(a[0]===":")l[a.slice(1)]=c.split("/").filter(Boolean)[d]}),b.params(l),i=S(()=>m(o.component)?o.component(l):o.component),n.replaceChildren(i.container)}}),n};b.params=B({});b.to=(e)=>window.location.hash=e.replace(/^#?\/?/,"#/");b.back=()=>window.history.back();b.path=()=>window.location.hash.replace(/^#/,"")||"/";var H=(e,s,{enter:t,leave:r}={})=>{let n=R("div",{style:"display:contents"}),i=null,c=(o,l)=>{let a=!1,d=()=>!a&&(a=!0,l());if(!o)return d();"transitionend animationend".split(" ").map((f)=>o.addEventListener(f,d,{once:!0})),setTimeout(d,500)};return O(e,(o)=>{if(o&&!i){let l=(i=S(s)).container.firstChild;if(n.appendChild(i.container),t&&l)l.classList.add(t),l.clientTop,l.classList.add(t+"-active"),c(l,()=>l.classList.remove(t,t+"-active"))}else if(!o&&i){let l=i.container.firstChild,a=()=>(i?.destroy(),i=null);r&&l?(l.classList.add(r),c(l,a)):a()}}),g(()=>i?.destroy()),n},X=(e,s)=>{let t=typeof s==="string"?E.querySelector(s):s;if(!t)return;if(M.has(t))M.get(t).destroy();let r=S(m(e)?e:()=>e);return t.replaceChildren(r.container),M.set(t,r),r},W=Object.freeze({$:B,$$:V,Watch:O,Tag:R,Render:S,If:K,For:Q,Router:b,Mount:X,onMount:q,onUnmount:g,Anim:H,Batch:F});if(typeof window<"u")Object.assign(window,W),"div span p h1 h2 h3 h4 h5 h6 br hr section article aside nav main header footer ul ol li a em strong pre code form label input textarea select button img svg".split(" ").forEach((e)=>window[e[0].toUpperCase()+e.slice(1)]=(s,t)=>W.Tag(e,s,t));export{g as onUnmount,q as onMount,O as Watch,R as Tag,b as Router,S as Render,X as Mount,K as If,Q as For,F as Batch,H as Anim,V as $$,B as $}; +var m=(e)=>typeof e==="function",j=(e)=>e&&typeof e==="object",N=Array.isArray,E=typeof document<"u"?document:null,$=(e)=>e?._isRuntime?e.container:e instanceof Node?e:E.createTextNode(e==null?"":String(e)),p=null,_=null,C=!1,A=0,T=new Set,U=new WeakMap,L=Symbol("iter"),M=new WeakMap,v=(e)=>{if(!e||e._disposed)return;e._disposed=!0;let s=[e];while(s.length){let t=s.pop();if(t._cleanups)t._cleanups.forEach((r)=>r()),t._cleanups.clear();if(t._children)t._children.forEach((r)=>s.push(r)),t._children.clear();if(t._deps)t._deps.forEach((r)=>r.delete(t)),t._deps.clear()}},k=(e)=>{if(_)(_._mounts||=[]).push(e)},g=(e)=>{if(_)(_._cleanups||=new Set).add(e)},q=(e)=>{let s=p;p=null;try{return e()}finally{p=s}},O=(e,s=!1)=>{let t=()=>{if(t._disposed)return;if(t._deps)t._deps.forEach((i)=>i.delete(t));if(t._cleanups)t._cleanups.forEach((i)=>i()),t._cleanups.clear();let r=p,n=_;p=_=t;try{return t._result=e()}catch(i){console.error("[SigPro]",i)}finally{p=r,_=n}};if(t._deps=t._cleanups=t._children=null,t._disposed=!1,t._isComputed=s,t._depth=p?p._depth+1:0,t._mounts=[],t._parent=_,_)(_._children||=new Set).add(t);return t},I=()=>{if(C)return;C=!0;let e=Array.from(T).sort((s,t)=>s._depth-t._depth);T.clear();for(let s of e)if(!s._disposed)s();C=!1},z=(e)=>{A++;try{return e()}finally{if(A--,A===0&&T.size>0&&!C)I()}},w=(e,s=!1)=>{if(!s&&p&&!p._disposed)e.add(p),(p._deps||=new Set).add(e);else if(s&&e.size>0){let t=!1;for(let r of e){if(r===p||r._disposed)continue;if(r._isComputed){if(r._dirty=!0,r._subs)w(r._subs,!0)}else T.add(r),t=!0}if(t&&!C&&A===0)queueMicrotask(I)}},B=(e,s=null)=>{let t=new Set;if(m(e)){let r,n=()=>{if(n._dirty){let i=p;p=n;try{let c=e();if(!Object.is(r,c))r=c,w(t,!0)}finally{p=i}n._dirty=!1}return w(t),r};if(n._isComputed=!0,n._subs=t,n._dirty=!0,n._deps=null,n._disposed=!1,n.stop=()=>{},_)g(n.stop);return n}if(s)try{e=JSON.parse(localStorage.getItem(s))??e}catch(r){}return(...r)=>{if(r.length){let n=m(r[0])?r[0](e):r[0];if(!Object.is(e,n)){if(e=n,s)localStorage.setItem(s,JSON.stringify(e));w(t,!0)}}return w(t),e}},W=(e)=>{if(!j(e))return e;let s=U.get(e);if(s)return s;let t=new Map,r=(n)=>{let i=t.get(n);if(!i)t.set(n,i=new Set);return i};return s=new Proxy(e,{get(n,i,c){if(typeof i!=="symbol")w(r(i));return W(Reflect.get(n,i,c))},set(n,i,c,o){let l=!Reflect.has(n,i),a=Reflect.get(n,i,o),d=Reflect.set(n,i,c,o);if(d&&!Object.is(a,c)){if(w(r(i),!0),l)w(r(L),!0)}return d},deleteProperty(n,i){let c=Reflect.deleteProperty(n,i);if(c)w(r(i),!0),w(r(L),!0);return c},ownKeys(n){return w(r(L)),Reflect.ownKeys(n)}}),U.set(e,s),s},R=(e,s)=>{if(s===void 0){let r=O(e);return r(),()=>v(r)}let t=O(()=>{let r=Array.isArray(e)?e.map((n)=>n()):e();q(()=>s(r))});return t(),()=>v(t)},P=(e)=>{if(e._cleanups)e._cleanups.forEach((s)=>s()),e._cleanups.clear();if(e._ownerEffect)v(e._ownerEffect);if(e.childNodes)e.childNodes.forEach(P)},F=/^\s*(javascript|data|vbscript):/i,G=(e)=>e==="src"||e==="href"||e.startsWith("on"),D=(e,s)=>{if(s==null||s===!1)return null;if(G(e)){let t=String(s);if(F.test(t))return console.warn(`[SigPro] Bloqueado protocolo peligroso en ${e}`),"#"}return s},S=(e,s={},t=[])=>{if(s instanceof Node||N(s)||!j(s))t=s,s={};if(m(e)){let c={_mounts:[],_cleanups:new Set},o=O(()=>{let f=e(s,{children:t,emit:(h,...u)=>s[`on${h[0].toUpperCase()}${h.slice(1)}`]?.(...u)});return o._result=f,f});o();let l=o._result;if(l==null)return null;let a=l instanceof Node||N(l)&&l.every((f)=>f instanceof Node)?l:E.createTextNode(String(l)),d=(f)=>{if(j(f)&&!f._isRuntime)f._mounts=o._mounts||[],f._cleanups=o._cleanups||new Set,f._ownerEffect=o};return N(a)?a.forEach(d):d(a),a}let r=/^(svg|path|circle|rect|line|poly(line|gon)|g|defs|text(path)?|tspan|use|symbol|image|marker|ellipse)$/i.test(e),n=r?E.createElementNS("http://www.w3.org/2000/svg",e):E.createElement(e);n._cleanups=new Set;for(let c in s){if(!s.hasOwnProperty(c))continue;let o=s[c];if(c==="ref"){m(o)?o(n):o.current=n;continue}if(r&&c.startsWith("xlink:")){val==null?n.removeAttributeNS("http://www.w3.org/1999/xlink",c.slice(6)):n.setAttributeNS("http://www.w3.org/1999/xlink",c.slice(6),val);continue}if(c.startsWith("on")){let l=c.slice(2).toLowerCase();n.addEventListener(l,o);let a=()=>n.removeEventListener(l,o);n._cleanups.add(a),g(a)}else if(m(o)){let l=O(()=>{let a=D(c,o());if(c==="class")n.className=a||"";else if(a==null)n.removeAttribute(c);else if(c in n&&!r)n[c]=a;else n.setAttribute(c,a===!0?"":a)});if(l(),n._cleanups.add(()=>v(l)),g(()=>v(l)),/^(INPUT|TEXTAREA|SELECT)$/.test(n.tagName)&&(c==="value"||c==="checked")){let a=c==="checked"?"change":"input";n.addEventListener(a,(d)=>o(d.target[c]))}}else{let l=D(c,o);if(l!=null)if(c in n&&!r)n[c]=l;else n.setAttribute(c,l===!0?"":l)}}let i=(c)=>{if(N(c))return c.forEach(i);if(m(c)){let o=E.createTextNode("");n.appendChild(o);let l=[],a=O(()=>{let d=c(),f=(N(d)?d:[d]).map($);l.forEach((u)=>{if(u._isRuntime)u.destroy();else P(u);if(u.parentNode)u.remove()});let h=o;for(let u=f.length-1;u>=0;u--){let y=f[u];if(y.parentNode!==h.parentNode)h.parentNode?.insertBefore(y,h);if(y._mounts)y._mounts.forEach((V)=>V());h=y}l=f});a(),n._cleanups.add(()=>v(a)),g(()=>v(a))}else{let o=$(c);if(n.appendChild(o),o._mounts)o._mounts.forEach((l)=>l())}};return i(t),n},b=(e)=>{let s=new Set,t=[],r=_,n=p,i=E.createElement("div");i.style.display="contents",i.setAttribute("role","presentation"),_={_cleanups:s,_mounts:t},p=null;let c=(o)=>{if(!o)return;if(o._isRuntime)s.add(o.destroy),i.appendChild(o.container);else if(N(o))o.forEach(c);else i.appendChild(o instanceof Node?o:E.createTextNode(String(o==null?"":o)))};try{c(e({onCleanup:(o)=>s.add(o)}))}finally{_=r,p=n}return t.forEach((o)=>o()),{_isRuntime:!0,container:i,destroy:()=>{s.forEach((o)=>o()),P(i),i.remove()}}},J=(e,s,t=null)=>{let r=E.createTextNode(""),n=S("div",{style:"display:contents"},[r]),i=null;return R(()=>!!(m(e)?e():e),(c)=>{if(i)i.destroy(),i=null;let o=c?s:t;if(o)i=b(()=>m(o)?o():o),n.insertBefore(i.container,r)}),g(()=>i?.destroy()),n},K=(e,s,t)=>{let r=E.createTextNode(""),n=S("div",{style:"display:contents"},[r]),i=new Map;return R(()=>(m(e)?e():e)||[],(c)=>{let o=new Map,l=[],a=c||[];for(let f=0;fs(h,f));else i.delete(u);o.set(u,y),l.push(y)}i.forEach((f)=>f.destroy());let d=r;for(let f=l.length-1;f>=0;f--){let u=l[f].container;if(u.nextSibling!==d)n.insertBefore(u,d);d=u}i=o}),n},x=(e)=>{let s=()=>window.location.hash.slice(1)||"/",t=B(s()),r=()=>t(s());window.addEventListener("hashchange",r),g(()=>window.removeEventListener("hashchange",r));let n=S("div",{class:"router-hook"}),i=null;return R([t],()=>{let c=t(),o=e.find((l)=>{let a=l.path.split("/").filter(Boolean),d=c.split("/").filter(Boolean);return a.length===d.length&&a.every((f,h)=>f[0]===":"||f===d[h])})||e.find((l)=>l.path==="*");if(o){i?.destroy();let l={};o.path.split("/").filter(Boolean).forEach((a,d)=>{if(a[0]===":")l[a.slice(1)]=c.split("/").filter(Boolean)[d]}),x.params(l),i=b(()=>m(o.component)?o.component(l):o.component),n.replaceChildren(i.container)}}),n};x.params=B({});x.to=(e)=>window.location.hash=e.replace(/^#?\/?/,"#/");x.back=()=>window.history.back();x.path=()=>window.location.hash.replace(/^#/,"")||"/";var Q=(e,s,{enter:t,leave:r}={})=>{let n=S("div",{style:"display:contents"}),i=null,c=(o,l)=>{let a=!1,d=()=>!a&&(a=!0,l());if(!o)return d();"transitionend animationend".split(" ").map((f)=>o.addEventListener(f,d,{once:!0})),setTimeout(d,500)};return R(e,(o)=>{if(o&&!i){let l=(i=b(s)).container.firstChild;if(n.appendChild(i.container),t&&l)l.classList.add(t),l.clientTop,l.classList.add(t+"-active"),c(l,()=>l.classList.remove(t,t+"-active"))}else if(!o&&i){let l=i.container.firstChild,a=()=>(i?.destroy(),i=null);r&&l?(l.classList.add(r),c(l,a)):a()}}),g(()=>i?.destroy()),n},X=(e,s)=>{let t=typeof s==="string"?E.querySelector(s):s;if(!t)return;if(M.has(t))M.get(t).destroy();let r=b(m(e)?e:()=>e);return t.replaceChildren(r.container),M.set(t,r),r},H=Object.freeze({$:B,$$:W,Watch:R,Tag:S,Render:b,If:J,For:K,Router:x,Mount:X,onMount:k,onUnmount:g,Anim:Q,Batch:z}),Y=()=>{if(typeof window<"u")Object.assign(window,H),"div span p h1 h2 h3 h4 h5 h6 br hr section article aside nav main header footer ul ol li a em strong pre code form label input textarea select button img svg".split(" ").forEach((e)=>{let s=e[0].toUpperCase()+e.slice(1);window[s]=(t,r)=>S(e,t,r)})};export{g as onUnmount,k as onMount,Y as initDX,R as Watch,S as Tag,x as Router,b as Render,X as Mount,J as If,K as For,z as Batch,Q as Anim,W as $$,B as $}; diff --git a/dist/sigpro.js b/dist/sigpro.js index 78ba313..c8c65b8 100644 --- a/dist/sigpro.js +++ b/dist/sigpro.js @@ -3,27 +3,37 @@ var __getOwnPropNames = Object.getOwnPropertyNames; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __hasOwnProp = Object.prototype.hasOwnProperty; - var __moduleCache = /* @__PURE__ */ new WeakMap; + function __accessProp(key) { + return this[key]; + } var __toCommonJS = (from) => { - var entry = __moduleCache.get(from), desc; + var entry = (__moduleCache ??= new WeakMap).get(from), desc; if (entry) return entry; entry = __defProp({}, "__esModule", { value: true }); - if (from && typeof from === "object" || typeof from === "function") - __getOwnPropNames(from).map((key) => !__hasOwnProp.call(entry, key) && __defProp(entry, key, { - get: () => from[key], - enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable - })); + if (from && typeof from === "object" || typeof from === "function") { + for (var key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(entry, key)) + __defProp(entry, key, { + get: __accessProp.bind(from, key), + enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable + }); + } __moduleCache.set(from, entry); return entry; }; + var __moduleCache; + var __returnValue = (v) => v; + function __exportSetter(name, newValue) { + this[name] = __returnValue.bind(null, newValue); + } var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true, configurable: true, - set: (newValue) => all[name] = () => newValue + set: __exportSetter.bind(all, name) }); }; @@ -32,6 +42,7 @@ __export(exports_sigpro, { onUnmount: () => onUnmount, onMount: () => onMount, + initDX: () => initDX, Watch: () => Watch, Tag: () => Tag, Router: () => Router, @@ -591,9 +602,28 @@ MOUNTED_NODES.set(t, inst); return inst; }; - var SigPro = Object.freeze({ $, $$, Watch, Tag, Render, If, For, Router, Mount, onMount, onUnmount, Anim, Batch }); - if (typeof window !== "undefined") { - Object.assign(window, SigPro); - "div span p h1 h2 h3 h4 h5 h6 br hr section article aside nav main header footer ul ol li a em strong pre code form label input textarea select button img svg".split(" ").forEach((t) => window[t[0].toUpperCase() + t.slice(1)] = (p, c) => SigPro.Tag(t, p, c)); - } + var SigPro = Object.freeze({ + $, + $$, + Watch, + Tag, + Render, + If, + For, + Router, + Mount, + onMount, + onUnmount, + Anim, + Batch + }); + var initDX = () => { + if (typeof window !== "undefined") { + Object.assign(window, SigPro); + "div span p h1 h2 h3 h4 h5 h6 br hr section article aside nav main header footer ul ol li a em strong pre code form label input textarea select button img svg".split(" ").forEach((t) => { + const name = t[0].toUpperCase() + t.slice(1); + window[name] = (p, c) => Tag(t, p, c); + }); + } + }; })(); diff --git a/dist/sigpro.min.js b/dist/sigpro.min.js index 3f3db69..4962c67 100644 --- a/dist/sigpro.min.js +++ b/dist/sigpro.min.js @@ -1 +1 @@ -(()=>{var{defineProperty:M,getOwnPropertyNames:X,getOwnPropertyDescriptor:Y}=Object,Z=Object.prototype.hasOwnProperty;var I=new WeakMap,ee=(e)=>{var n=I.get(e),t;if(n)return n;if(n=M({},"__esModule",{value:!0}),e&&typeof e==="object"||typeof e==="function")X(e).map((o)=>!Z.call(n,o)&&M(n,o,{get:()=>e[o],enumerable:!(t=Y(e,o))||t.enumerable}));return I.set(e,n),n};var te=(e,n)=>{for(var t in n)M(e,t,{get:n[t],enumerable:!0,configurable:!0,set:(o)=>n[t]=()=>o})};var re={};te(re,{onUnmount:()=>g,onMount:()=>q,Watch:()=>x,Tag:()=>C,Router:()=>S,Render:()=>N,Mount:()=>Q,If:()=>G,For:()=>J,Batch:()=>F,Anim:()=>K,$$:()=>$,$:()=>L});var m=(e)=>typeof e==="function",P=(e)=>e&&typeof e==="object",b=Array.isArray,E=typeof document<"u"?document:null,W=(e)=>e?._isRuntime?e.container:e instanceof Node?e:E.createTextNode(e==null?"":String(e)),p=null,_=null,O=!1,A=0,T=new Set,D=new WeakMap,j=Symbol("iter"),B=new WeakMap,v=(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((o)=>o()),t._cleanups.clear();if(t._children)t._children.forEach((o)=>n.push(o)),t._children.clear();if(t._deps)t._deps.forEach((o)=>o.delete(t)),t._deps.clear()}},q=(e)=>{if(_)(_._mounts||=[]).push(e)},g=(e)=>{if(_)(_._cleanups||=new Set).add(e)},ne=(e)=>{let n=p;p=null;try{return e()}finally{p=n}},R=(e,n=!1)=>{let t=()=>{if(t._disposed)return;if(t._deps)t._deps.forEach((i)=>i.delete(t));if(t._cleanups)t._cleanups.forEach((i)=>i()),t._cleanups.clear();let o=p,s=_;p=_=t;try{return t._result=e()}catch(i){console.error("[SigPro]",i)}finally{p=o,_=s}};if(t._deps=t._cleanups=t._children=null,t._disposed=!1,t._isComputed=n,t._depth=p?p._depth+1:0,t._mounts=[],t._parent=_,_)(_._children||=new Set).add(t);return t},z=()=>{if(O)return;O=!0;let e=Array.from(T).sort((n,t)=>n._depth-t._depth);T.clear();for(let n of e)if(!n._disposed)n();O=!1},F=(e)=>{A++;try{return e()}finally{if(A--,A===0&&T.size>0&&!O)z()}},w=(e,n=!1)=>{if(!n&&p&&!p._disposed)e.add(p),(p._deps||=new Set).add(e);else if(n&&e.size>0){let t=!1;for(let o of e){if(o===p||o._disposed)continue;if(o._isComputed){if(o._dirty=!0,o._subs)w(o._subs,!0)}else T.add(o),t=!0}if(t&&!O&&A===0)queueMicrotask(z)}},L=(e,n=null)=>{let t=new Set;if(m(e)){let o,s=()=>{if(s._dirty){let i=p;p=s;try{let c=e();if(!Object.is(o,c))o=c,w(t,!0)}finally{p=i}s._dirty=!1}return w(t),o};if(s._isComputed=!0,s._subs=t,s._dirty=!0,s._deps=null,s._disposed=!1,s.stop=()=>{},_)g(s.stop);return s}if(n)try{e=JSON.parse(localStorage.getItem(n))??e}catch(o){}return(...o)=>{if(o.length){let s=m(o[0])?o[0](e):o[0];if(!Object.is(e,s)){if(e=s,n)localStorage.setItem(n,JSON.stringify(e));w(t,!0)}}return w(t),e}},$=(e)=>{if(!P(e))return e;let n=D.get(e);if(n)return n;let t=new Map,o=(s)=>{let i=t.get(s);if(!i)t.set(s,i=new Set);return i};return n=new Proxy(e,{get(s,i,c){if(typeof i!=="symbol")w(o(i));return $(Reflect.get(s,i,c))},set(s,i,c,r){let l=!Reflect.has(s,i),a=Reflect.get(s,i,r),d=Reflect.set(s,i,c,r);if(d&&!Object.is(a,c)){if(w(o(i),!0),l)w(o(j),!0)}return d},deleteProperty(s,i){let c=Reflect.deleteProperty(s,i);if(c)w(o(i),!0),w(o(j),!0);return c},ownKeys(s){return w(o(j)),Reflect.ownKeys(s)}}),D.set(e,n),n},x=(e,n)=>{if(n===void 0){let o=R(e);return o(),()=>v(o)}let t=R(()=>{let o=Array.isArray(e)?e.map((s)=>s()):e();ne(()=>n(o))});return t(),()=>v(t)},U=(e)=>{if(e._cleanups)e._cleanups.forEach((n)=>n()),e._cleanups.clear();if(e._ownerEffect)v(e._ownerEffect);if(e.childNodes)e.childNodes.forEach(U)},se=/^\s*(javascript|data|vbscript):/i,oe=(e)=>e==="src"||e==="href"||e.startsWith("on"),V=(e,n)=>{if(n==null||n===!1)return null;if(oe(e)){let t=String(n);if(se.test(t))return console.warn(`[SigPro] Bloqueado protocolo peligroso en ${e}`),"#"}return n},C=(e,n={},t=[])=>{if(n instanceof Node||b(n)||!P(n))t=n,n={};if(m(e)){let c={_mounts:[],_cleanups:new Set},r=R(()=>{let f=e(n,{children:t,emit:(h,...u)=>n[`on${h[0].toUpperCase()}${h.slice(1)}`]?.(...u)});return r._result=f,f});r();let l=r._result;if(l==null)return null;let a=l instanceof Node||b(l)&&l.every((f)=>f instanceof Node)?l:E.createTextNode(String(l)),d=(f)=>{if(P(f)&&!f._isRuntime)f._mounts=r._mounts||[],f._cleanups=r._cleanups||new Set,f._ownerEffect=r};return b(a)?a.forEach(d):d(a),a}let o=/^(svg|path|circle|rect|line|poly(line|gon)|g|defs|text(path)?|tspan|use|symbol|image|marker|ellipse)$/i.test(e),s=o?E.createElementNS("http://www.w3.org/2000/svg",e):E.createElement(e);s._cleanups=new Set;for(let c in n){if(!n.hasOwnProperty(c))continue;let r=n[c];if(c==="ref"){m(r)?r(s):r.current=s;continue}if(o&&c.startsWith("xlink:")){val==null?s.removeAttributeNS("http://www.w3.org/1999/xlink",c.slice(6)):s.setAttributeNS("http://www.w3.org/1999/xlink",c.slice(6),val);continue}if(c.startsWith("on")){let l=c.slice(2).toLowerCase();s.addEventListener(l,r);let a=()=>s.removeEventListener(l,r);s._cleanups.add(a),g(a)}else if(m(r)){let l=R(()=>{let a=V(c,r());if(c==="class")s.className=a||"";else if(a==null)s.removeAttribute(c);else if(c in s&&!o)s[c]=a;else s.setAttribute(c,a===!0?"":a)});if(l(),s._cleanups.add(()=>v(l)),g(()=>v(l)),/^(INPUT|TEXTAREA|SELECT)$/.test(s.tagName)&&(c==="value"||c==="checked")){let a=c==="checked"?"change":"input";s.addEventListener(a,(d)=>r(d.target[c]))}}else{let l=V(c,r);if(l!=null)if(c in s&&!o)s[c]=l;else s.setAttribute(c,l===!0?"":l)}}let i=(c)=>{if(b(c))return c.forEach(i);if(m(c)){let r=E.createTextNode("");s.appendChild(r);let l=[],a=R(()=>{let d=c(),f=(b(d)?d:[d]).map(W);l.forEach((u)=>{if(u._isRuntime)u.destroy();else U(u);if(u.parentNode)u.remove()});let h=r;for(let u=f.length-1;u>=0;u--){let y=f[u];if(y.parentNode!==h.parentNode)h.parentNode?.insertBefore(y,h);if(y._mounts)y._mounts.forEach((H)=>H());h=y}l=f});a(),s._cleanups.add(()=>v(a)),g(()=>v(a))}else{let r=W(c);if(s.appendChild(r),r._mounts)r._mounts.forEach((l)=>l())}};return i(t),s},N=(e)=>{let n=new Set,t=[],o=_,s=p,i=E.createElement("div");i.style.display="contents",i.setAttribute("role","presentation"),_={_cleanups:n,_mounts:t},p=null;let c=(r)=>{if(!r)return;if(r._isRuntime)n.add(r.destroy),i.appendChild(r.container);else if(b(r))r.forEach(c);else i.appendChild(r instanceof Node?r:E.createTextNode(String(r==null?"":r)))};try{c(e({onCleanup:(r)=>n.add(r)}))}finally{_=o,p=s}return t.forEach((r)=>r()),{_isRuntime:!0,container:i,destroy:()=>{n.forEach((r)=>r()),U(i),i.remove()}}},G=(e,n,t=null)=>{let o=E.createTextNode(""),s=C("div",{style:"display:contents"},[o]),i=null;return x(()=>!!(m(e)?e():e),(c)=>{if(i)i.destroy(),i=null;let r=c?n:t;if(r)i=N(()=>m(r)?r():r),s.insertBefore(i.container,o)}),g(()=>i?.destroy()),s},J=(e,n,t)=>{let o=E.createTextNode(""),s=C("div",{style:"display:contents"},[o]),i=new Map;return x(()=>(m(e)?e():e)||[],(c)=>{let r=new Map,l=[],a=c||[];for(let f=0;fn(h,f));else i.delete(u);r.set(u,y),l.push(y)}i.forEach((f)=>f.destroy());let d=o;for(let f=l.length-1;f>=0;f--){let u=l[f].container;if(u.nextSibling!==d)s.insertBefore(u,d);d=u}i=r}),s},S=(e)=>{let n=()=>window.location.hash.slice(1)||"/",t=L(n()),o=()=>t(n());window.addEventListener("hashchange",o),g(()=>window.removeEventListener("hashchange",o));let s=C("div",{class:"router-hook"}),i=null;return x([t],()=>{let c=t(),r=e.find((l)=>{let a=l.path.split("/").filter(Boolean),d=c.split("/").filter(Boolean);return a.length===d.length&&a.every((f,h)=>f[0]===":"||f===d[h])})||e.find((l)=>l.path==="*");if(r){i?.destroy();let l={};r.path.split("/").filter(Boolean).forEach((a,d)=>{if(a[0]===":")l[a.slice(1)]=c.split("/").filter(Boolean)[d]}),S.params(l),i=N(()=>m(r.component)?r.component(l):r.component),s.replaceChildren(i.container)}}),s};S.params=L({});S.to=(e)=>window.location.hash=e.replace(/^#?\/?/,"#/");S.back=()=>window.history.back();S.path=()=>window.location.hash.replace(/^#/,"")||"/";var K=(e,n,{enter:t,leave:o}={})=>{let s=C("div",{style:"display:contents"}),i=null,c=(r,l)=>{let a=!1,d=()=>!a&&(a=!0,l());if(!r)return d();"transitionend animationend".split(" ").map((f)=>r.addEventListener(f,d,{once:!0})),setTimeout(d,500)};return x(e,(r)=>{if(r&&!i){let l=(i=N(n)).container.firstChild;if(s.appendChild(i.container),t&&l)l.classList.add(t),l.clientTop,l.classList.add(t+"-active"),c(l,()=>l.classList.remove(t,t+"-active"))}else if(!r&&i){let l=i.container.firstChild,a=()=>(i?.destroy(),i=null);o&&l?(l.classList.add(o),c(l,a)):a()}}),g(()=>i?.destroy()),s},Q=(e,n)=>{let t=typeof n==="string"?E.querySelector(n):n;if(!t)return;if(B.has(t))B.get(t).destroy();let o=N(m(e)?e:()=>e);return t.replaceChildren(o.container),B.set(t,o),o},k=Object.freeze({$:L,$$:$,Watch:x,Tag:C,Render:N,If:G,For:J,Router:S,Mount:Q,onMount:q,onUnmount:g,Anim:K,Batch:F});if(typeof window<"u")Object.assign(window,k),"div span p h1 h2 h3 h4 h5 h6 br hr section article aside nav main header footer ul ol li a em strong pre code form label input textarea select button img svg".split(" ").forEach((e)=>window[e[0].toUpperCase()+e.slice(1)]=(n,t)=>k.Tag(e,n,t));})(); +(()=>{var{defineProperty:M,getOwnPropertyNames:X,getOwnPropertyDescriptor:H}=Object,Y=Object.prototype.hasOwnProperty;function Z(e){return this[e]}var ee=(e)=>{var n=(D??=new WeakMap).get(e),t;if(n)return n;if(n=M({},"__esModule",{value:!0}),e&&typeof e==="object"||typeof e==="function"){for(var o of X(e))if(!Y.call(n,o))M(n,o,{get:Z.bind(e,o),enumerable:!(t=H(e,o))||t.enumerable})}return D.set(e,n),n},D;var te=(e)=>e;function ne(e,n){this[e]=te.bind(null,n)}var se=(e,n)=>{for(var t in n)M(e,t,{get:n[t],enumerable:!0,configurable:!0,set:ne.bind(n,t)})};var ae={};se(ae,{onUnmount:()=>g,onMount:()=>k,initDX:()=>le,Watch:()=>C,Tag:()=>N,Router:()=>b,Render:()=>S,Mount:()=>K,If:()=>F,For:()=>G,Batch:()=>z,Anim:()=>J,$$:()=>$,$:()=>L});var m=(e)=>typeof e==="function",P=(e)=>e&&typeof e==="object",x=Array.isArray,E=typeof document<"u"?document:null,I=(e)=>e?._isRuntime?e.container:e instanceof Node?e:E.createTextNode(e==null?"":String(e)),p=null,_=null,O=!1,A=0,T=new Set,W=new WeakMap,j=Symbol("iter"),B=new WeakMap,v=(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((o)=>o()),t._cleanups.clear();if(t._children)t._children.forEach((o)=>n.push(o)),t._children.clear();if(t._deps)t._deps.forEach((o)=>o.delete(t)),t._deps.clear()}},k=(e)=>{if(_)(_._mounts||=[]).push(e)},g=(e)=>{if(_)(_._cleanups||=new Set).add(e)},oe=(e)=>{let n=p;p=null;try{return e()}finally{p=n}},R=(e,n=!1)=>{let t=()=>{if(t._disposed)return;if(t._deps)t._deps.forEach((i)=>i.delete(t));if(t._cleanups)t._cleanups.forEach((i)=>i()),t._cleanups.clear();let o=p,s=_;p=_=t;try{return t._result=e()}catch(i){console.error("[SigPro]",i)}finally{p=o,_=s}};if(t._deps=t._cleanups=t._children=null,t._disposed=!1,t._isComputed=n,t._depth=p?p._depth+1:0,t._mounts=[],t._parent=_,_)(_._children||=new Set).add(t);return t},q=()=>{if(O)return;O=!0;let e=Array.from(T).sort((n,t)=>n._depth-t._depth);T.clear();for(let n of e)if(!n._disposed)n();O=!1},z=(e)=>{A++;try{return e()}finally{if(A--,A===0&&T.size>0&&!O)q()}},w=(e,n=!1)=>{if(!n&&p&&!p._disposed)e.add(p),(p._deps||=new Set).add(e);else if(n&&e.size>0){let t=!1;for(let o of e){if(o===p||o._disposed)continue;if(o._isComputed){if(o._dirty=!0,o._subs)w(o._subs,!0)}else T.add(o),t=!0}if(t&&!O&&A===0)queueMicrotask(q)}},L=(e,n=null)=>{let t=new Set;if(m(e)){let o,s=()=>{if(s._dirty){let i=p;p=s;try{let c=e();if(!Object.is(o,c))o=c,w(t,!0)}finally{p=i}s._dirty=!1}return w(t),o};if(s._isComputed=!0,s._subs=t,s._dirty=!0,s._deps=null,s._disposed=!1,s.stop=()=>{},_)g(s.stop);return s}if(n)try{e=JSON.parse(localStorage.getItem(n))??e}catch(o){}return(...o)=>{if(o.length){let s=m(o[0])?o[0](e):o[0];if(!Object.is(e,s)){if(e=s,n)localStorage.setItem(n,JSON.stringify(e));w(t,!0)}}return w(t),e}},$=(e)=>{if(!P(e))return e;let n=W.get(e);if(n)return n;let t=new Map,o=(s)=>{let i=t.get(s);if(!i)t.set(s,i=new Set);return i};return n=new Proxy(e,{get(s,i,c){if(typeof i!=="symbol")w(o(i));return $(Reflect.get(s,i,c))},set(s,i,c,r){let l=!Reflect.has(s,i),a=Reflect.get(s,i,r),d=Reflect.set(s,i,c,r);if(d&&!Object.is(a,c)){if(w(o(i),!0),l)w(o(j),!0)}return d},deleteProperty(s,i){let c=Reflect.deleteProperty(s,i);if(c)w(o(i),!0),w(o(j),!0);return c},ownKeys(s){return w(o(j)),Reflect.ownKeys(s)}}),W.set(e,n),n},C=(e,n)=>{if(n===void 0){let o=R(e);return o(),()=>v(o)}let t=R(()=>{let o=Array.isArray(e)?e.map((s)=>s()):e();oe(()=>n(o))});return t(),()=>v(t)},U=(e)=>{if(e._cleanups)e._cleanups.forEach((n)=>n()),e._cleanups.clear();if(e._ownerEffect)v(e._ownerEffect);if(e.childNodes)e.childNodes.forEach(U)},re=/^\s*(javascript|data|vbscript):/i,ie=(e)=>e==="src"||e==="href"||e.startsWith("on"),V=(e,n)=>{if(n==null||n===!1)return null;if(ie(e)){let t=String(n);if(re.test(t))return console.warn(`[SigPro] Bloqueado protocolo peligroso en ${e}`),"#"}return n},N=(e,n={},t=[])=>{if(n instanceof Node||x(n)||!P(n))t=n,n={};if(m(e)){let c={_mounts:[],_cleanups:new Set},r=R(()=>{let f=e(n,{children:t,emit:(h,...u)=>n[`on${h[0].toUpperCase()}${h.slice(1)}`]?.(...u)});return r._result=f,f});r();let l=r._result;if(l==null)return null;let a=l instanceof Node||x(l)&&l.every((f)=>f instanceof Node)?l:E.createTextNode(String(l)),d=(f)=>{if(P(f)&&!f._isRuntime)f._mounts=r._mounts||[],f._cleanups=r._cleanups||new Set,f._ownerEffect=r};return x(a)?a.forEach(d):d(a),a}let o=/^(svg|path|circle|rect|line|poly(line|gon)|g|defs|text(path)?|tspan|use|symbol|image|marker|ellipse)$/i.test(e),s=o?E.createElementNS("http://www.w3.org/2000/svg",e):E.createElement(e);s._cleanups=new Set;for(let c in n){if(!n.hasOwnProperty(c))continue;let r=n[c];if(c==="ref"){m(r)?r(s):r.current=s;continue}if(o&&c.startsWith("xlink:")){val==null?s.removeAttributeNS("http://www.w3.org/1999/xlink",c.slice(6)):s.setAttributeNS("http://www.w3.org/1999/xlink",c.slice(6),val);continue}if(c.startsWith("on")){let l=c.slice(2).toLowerCase();s.addEventListener(l,r);let a=()=>s.removeEventListener(l,r);s._cleanups.add(a),g(a)}else if(m(r)){let l=R(()=>{let a=V(c,r());if(c==="class")s.className=a||"";else if(a==null)s.removeAttribute(c);else if(c in s&&!o)s[c]=a;else s.setAttribute(c,a===!0?"":a)});if(l(),s._cleanups.add(()=>v(l)),g(()=>v(l)),/^(INPUT|TEXTAREA|SELECT)$/.test(s.tagName)&&(c==="value"||c==="checked")){let a=c==="checked"?"change":"input";s.addEventListener(a,(d)=>r(d.target[c]))}}else{let l=V(c,r);if(l!=null)if(c in s&&!o)s[c]=l;else s.setAttribute(c,l===!0?"":l)}}let i=(c)=>{if(x(c))return c.forEach(i);if(m(c)){let r=E.createTextNode("");s.appendChild(r);let l=[],a=R(()=>{let d=c(),f=(x(d)?d:[d]).map(I);l.forEach((u)=>{if(u._isRuntime)u.destroy();else U(u);if(u.parentNode)u.remove()});let h=r;for(let u=f.length-1;u>=0;u--){let y=f[u];if(y.parentNode!==h.parentNode)h.parentNode?.insertBefore(y,h);if(y._mounts)y._mounts.forEach((Q)=>Q());h=y}l=f});a(),s._cleanups.add(()=>v(a)),g(()=>v(a))}else{let r=I(c);if(s.appendChild(r),r._mounts)r._mounts.forEach((l)=>l())}};return i(t),s},S=(e)=>{let n=new Set,t=[],o=_,s=p,i=E.createElement("div");i.style.display="contents",i.setAttribute("role","presentation"),_={_cleanups:n,_mounts:t},p=null;let c=(r)=>{if(!r)return;if(r._isRuntime)n.add(r.destroy),i.appendChild(r.container);else if(x(r))r.forEach(c);else i.appendChild(r instanceof Node?r:E.createTextNode(String(r==null?"":r)))};try{c(e({onCleanup:(r)=>n.add(r)}))}finally{_=o,p=s}return t.forEach((r)=>r()),{_isRuntime:!0,container:i,destroy:()=>{n.forEach((r)=>r()),U(i),i.remove()}}},F=(e,n,t=null)=>{let o=E.createTextNode(""),s=N("div",{style:"display:contents"},[o]),i=null;return C(()=>!!(m(e)?e():e),(c)=>{if(i)i.destroy(),i=null;let r=c?n:t;if(r)i=S(()=>m(r)?r():r),s.insertBefore(i.container,o)}),g(()=>i?.destroy()),s},G=(e,n,t)=>{let o=E.createTextNode(""),s=N("div",{style:"display:contents"},[o]),i=new Map;return C(()=>(m(e)?e():e)||[],(c)=>{let r=new Map,l=[],a=c||[];for(let f=0;fn(h,f));else i.delete(u);r.set(u,y),l.push(y)}i.forEach((f)=>f.destroy());let d=o;for(let f=l.length-1;f>=0;f--){let u=l[f].container;if(u.nextSibling!==d)s.insertBefore(u,d);d=u}i=r}),s},b=(e)=>{let n=()=>window.location.hash.slice(1)||"/",t=L(n()),o=()=>t(n());window.addEventListener("hashchange",o),g(()=>window.removeEventListener("hashchange",o));let s=N("div",{class:"router-hook"}),i=null;return C([t],()=>{let c=t(),r=e.find((l)=>{let a=l.path.split("/").filter(Boolean),d=c.split("/").filter(Boolean);return a.length===d.length&&a.every((f,h)=>f[0]===":"||f===d[h])})||e.find((l)=>l.path==="*");if(r){i?.destroy();let l={};r.path.split("/").filter(Boolean).forEach((a,d)=>{if(a[0]===":")l[a.slice(1)]=c.split("/").filter(Boolean)[d]}),b.params(l),i=S(()=>m(r.component)?r.component(l):r.component),s.replaceChildren(i.container)}}),s};b.params=L({});b.to=(e)=>window.location.hash=e.replace(/^#?\/?/,"#/");b.back=()=>window.history.back();b.path=()=>window.location.hash.replace(/^#/,"")||"/";var J=(e,n,{enter:t,leave:o}={})=>{let s=N("div",{style:"display:contents"}),i=null,c=(r,l)=>{let a=!1,d=()=>!a&&(a=!0,l());if(!r)return d();"transitionend animationend".split(" ").map((f)=>r.addEventListener(f,d,{once:!0})),setTimeout(d,500)};return C(e,(r)=>{if(r&&!i){let l=(i=S(n)).container.firstChild;if(s.appendChild(i.container),t&&l)l.classList.add(t),l.clientTop,l.classList.add(t+"-active"),c(l,()=>l.classList.remove(t,t+"-active"))}else if(!r&&i){let l=i.container.firstChild,a=()=>(i?.destroy(),i=null);o&&l?(l.classList.add(o),c(l,a)):a()}}),g(()=>i?.destroy()),s},K=(e,n)=>{let t=typeof n==="string"?E.querySelector(n):n;if(!t)return;if(B.has(t))B.get(t).destroy();let o=S(m(e)?e:()=>e);return t.replaceChildren(o.container),B.set(t,o),o},ce=Object.freeze({$:L,$$:$,Watch:C,Tag:N,Render:S,If:F,For:G,Router:b,Mount:K,onMount:k,onUnmount:g,Anim:J,Batch:z}),le=()=>{if(typeof window<"u")Object.assign(window,ce),"div span p h1 h2 h3 h4 h5 h6 br hr section article aside nav main header footer ul ol li a em strong pre code form label input textarea select button img svg".split(" ").forEach((e)=>{let n=e[0].toUpperCase()+e.slice(1);window[n]=(t,o)=>N(e,t,o)})};})(); diff --git a/docs/sigpro.js b/docs/sigpro.js index 78ba313..c8c65b8 100644 --- a/docs/sigpro.js +++ b/docs/sigpro.js @@ -3,27 +3,37 @@ var __getOwnPropNames = Object.getOwnPropertyNames; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __hasOwnProp = Object.prototype.hasOwnProperty; - var __moduleCache = /* @__PURE__ */ new WeakMap; + function __accessProp(key) { + return this[key]; + } var __toCommonJS = (from) => { - var entry = __moduleCache.get(from), desc; + var entry = (__moduleCache ??= new WeakMap).get(from), desc; if (entry) return entry; entry = __defProp({}, "__esModule", { value: true }); - if (from && typeof from === "object" || typeof from === "function") - __getOwnPropNames(from).map((key) => !__hasOwnProp.call(entry, key) && __defProp(entry, key, { - get: () => from[key], - enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable - })); + if (from && typeof from === "object" || typeof from === "function") { + for (var key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(entry, key)) + __defProp(entry, key, { + get: __accessProp.bind(from, key), + enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable + }); + } __moduleCache.set(from, entry); return entry; }; + var __moduleCache; + var __returnValue = (v) => v; + function __exportSetter(name, newValue) { + this[name] = __returnValue.bind(null, newValue); + } var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true, configurable: true, - set: (newValue) => all[name] = () => newValue + set: __exportSetter.bind(all, name) }); }; @@ -32,6 +42,7 @@ __export(exports_sigpro, { onUnmount: () => onUnmount, onMount: () => onMount, + initDX: () => initDX, Watch: () => Watch, Tag: () => Tag, Router: () => Router, @@ -591,9 +602,28 @@ MOUNTED_NODES.set(t, inst); return inst; }; - var SigPro = Object.freeze({ $, $$, Watch, Tag, Render, If, For, Router, Mount, onMount, onUnmount, Anim, Batch }); - if (typeof window !== "undefined") { - Object.assign(window, SigPro); - "div span p h1 h2 h3 h4 h5 h6 br hr section article aside nav main header footer ul ol li a em strong pre code form label input textarea select button img svg".split(" ").forEach((t) => window[t[0].toUpperCase() + t.slice(1)] = (p, c) => SigPro.Tag(t, p, c)); - } + var SigPro = Object.freeze({ + $, + $$, + Watch, + Tag, + Render, + If, + For, + Router, + Mount, + onMount, + onUnmount, + Anim, + Batch + }); + var initDX = () => { + if (typeof window !== "undefined") { + Object.assign(window, SigPro); + "div span p h1 h2 h3 h4 h5 h6 br hr section article aside nav main header footer ul ol li a em strong pre code form label input textarea select button img svg".split(" ").forEach((t) => { + const name = t[0].toUpperCase() + t.slice(1); + window[name] = (p, c) => Tag(t, p, c); + }); + } + }; })();