@deijose/nix-js 1.0.2 → 1.0.4

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.
@@ -1,10 +1,1095 @@
1
- var e=null,t=[],n=null,r=[],i=null,a=[];function o(e){a.push(i),i=e}function s(){i=a.pop()??null}var c=0,l=new Set,u=class{_value;_subs=new Set;constructor(e){this._value=e}get value(){return e&&(this._subs.add(e),n?.add(this)),this._value}set value(e){Object.is(this._value,e)||(this._value=e,this._notify())}update(e){this.value=e(this._value)}peek(){return this._value}_removeSub(e){this._subs.delete(e)}_notify(){let e=[...this._subs];c>0?e.forEach(e=>l.add(e)):e.forEach(e=>e())}dispose(){this._subs.clear()}};function d(e){return new u(e)}function f(o){let l,a=new Set,u=i,s=()=>{"function"==typeof l&&l(),a.forEach(e=>e._removeSub(s)),a=new Set,t.push(e),r.push(n),e=s,n=a;try{l=o()}catch(e){if(!u)throw e;u(e)}finally{e=t.pop()||null,n=r.pop()||null}};return s(),()=>{"function"==typeof l&&l(),a.forEach(e=>e._removeSub(s)),a.clear()}}function p(e){let t=new u(void 0);return f(()=>{t.value=e()}),t}function m(e){c++;try{e()}finally{if(0===--c){let e=[...l];l.clear(),e.forEach(e=>e())}}}function h(t){let r=e,o=n;e=null,n=null;try{return t()}finally{e=r,n=o}}function ee(e,t,n={}){let r,{immediate:o=!1,once:l=!1}=n,i=e instanceof u?()=>e.value:e,a=!0,s=!1,c=f(()=>{let e=i();if(a){if(a=!1,o&&!s){let n=e;h(()=>t(n,void 0)),l&&(s=!0,Promise.resolve().then(c))}r=e}else if(!s){let n=e,o=r;r=e,h(()=>t(n,o)),l&&(s=!0,Promise.resolve().then(c))}});return()=>{s=!0,c()}}function g(e){return e?Promise.resolve().then(e):Promise.resolve()}var _=class{__isNixComponent=!0;children;_slots=new Map;setChildren(e){return this.children=e,this}setSlot(e,t){return this._slots.set(e,t),this}slot(e){return this._slots.get(e)}};function v(e){return"object"==typeof e&&!!e&&!0===e.__isNixComponent}function y(e){return Symbol(e)}var b=[];function x(){return[...b]}function S(){b.push(new Map)}function C(){b.pop()}function w(e,t){let n=b.splice(0);e.forEach(e=>b.push(e)),b.push(new Map);try{return t()}finally{b.splice(0),n.forEach(e=>b.push(e))}}function T(e,t){let n=b[b.length-1];if(!n)throw Error("[Nix] provide() debe llamarse dentro de onInit() de un NixComponent.");n.set(e,t)}function E(e){for(let t=b.length-1;t>=0;t--)if(b[t].has(e))return b[t].get(e)}function D(){return{el:null}}function te(e,t){t?"none"===e.style.display&&(e.style.display=""):"none"!==e.style.display&&(e.style.display="none")}function ne(e,t,n){return{__isKeyedList:!0,items:e,keyFn:t,renderFn:n}}function O(){return{__isPortalOutlet:!0,_container:null}}function re(e){return{__isNixTemplate:!0,mount(e){let t="string"==typeof e?document.querySelector(e)??document.body:e;return{unmount:this._render(t,null)}},_render(t,n){let r=document.createElement("div");return r.setAttribute("data-nix-outlet",""),e._container=r,t.insertBefore(r,n),()=>{e._container=null,r.remove()}}}}function ie(e,t=document.body){return{__isNixTemplate:!0,mount(e){let t="string"==typeof e?document.querySelector(e)??document.body:e;return{unmount:this._render(t,null)}},_render(n,r){let o;if(o="string"==typeof t?document.querySelector(t)??document.body:t instanceof Element?t:"__isPortalOutlet"in t?t._container??document.body:t.el??document.body,v(e)){let t,n;S();try{try{e.onInit?.()}catch(t){if(!e.onError)throw t;e.onError(t)}t=e.render()._render(o,null)}finally{C()}try{let t=e.onMount?.();"function"==typeof t&&(n=t)}catch(t){if(!e.onError)throw t;e.onError(t)}return()=>{try{e.onUnmount?.()}catch{}try{n?.()}catch{}t()}}return e._render(o,null)}}}var k=y("nix:portal-outlet");function A(e){T(k,e)}function ae(){return E(k)}function oe(e,t){return{__isNixTemplate:!0,mount(e){let t="string"==typeof e?document.querySelector(e)??document.body:e;return{unmount:this._render(t,null)}},_render(n,r){let l=document.createComment("nix-eb");n.insertBefore(l,r);let i,a=null,u=!1,c=!1,f=!1,d=e=>{let n=l.parentNode,o="function"!=typeof t||v(t)?t:t(e);if(v(o)){let e,t;S();try{try{o.onInit?.()}catch{}e=o.render()._render(n,r)}finally{C()}try{let e=o.onMount?.();"function"==typeof e&&(t=e)}catch{}a=()=>{try{o.onUnmount?.()}catch{}t?.(),e()}}else a=o._render(n,r)};o(e=>{u||(u=!0,c?(a?.(),a=null,d(e)):(i=e,f=!0))});try{if(v(e)){S();try{try{e.onInit?.()}catch(t){if(!e.onError)throw t;e.onError(t)}a=e.render()._render(n,r)}finally{C()}if(!u)try{let t=e.onMount?.(),n=a;a=()=>{try{e.onUnmount?.()}catch{}if("function"==typeof t)try{t()}catch{}n?.()}}catch(t){if(!e.onError)throw t;e.onError(t)}}else a=e._render(n,r)}catch(e){u=!0,a?.(),a=null,i=e,f=!0}finally{s(),c=!0}return f&&(a?.(),a=null,d(i)),()=>{a?.(),l.remove()}}}}function se(e){let t=e.name??"nix";return{enterFrom:e.enterFrom??`${t}-enter-from`,enterActive:e.enterActive??`${t}-enter-active`,enterTo:e.enterTo??`${t}-enter-to`,leaveFrom:e.leaveFrom??`${t}-leave-from`,leaveActive:e.leaveActive??`${t}-leave-active`,leaveTo:e.leaveTo??`${t}-leave-to`}}function j(e){return Math.max(0,...e.split(",").map(e=>parseFloat(e)||0))}function M(e,t=0){return new Promise(n=>{let r=getComputedStyle(e),o=1e3*Math.max(j(r.transitionDuration||"0"),j(r.animationDuration||"0")),l=o>0?o+100:t>0?t:0;if(l<=0)return void n();let i,a=t=>{t.target===e&&(clearTimeout(i),e.removeEventListener("transitionend",a),e.removeEventListener("animationend",a),n())};e.addEventListener("transitionend",a),e.addEventListener("animationend",a),i=setTimeout(()=>{e.removeEventListener("transitionend",a),e.removeEventListener("animationend",a),n()},l)})}function ce(e,t={}){let n=se(t);return{__isNixTemplate:!0,mount(e){let t="string"==typeof e?document.querySelector(e)??document.body:e;return{unmount:this._render(t,null)}},_render(r,o){let l=document.createComment("nix-t");r.insertBefore(l,o);let i=null,a=null,u=0,s=!0,c=()=>{let e=l.nextSibling;for(;e&&e!==o;){if(e.nodeType===Node.ELEMENT_NODE)return e;e=e.nextSibling}return null};function d(e){if(v(e)){let t,n=e;S();try{try{n.onInit?.()}catch{}t=n.render()}finally{C()}let l,i=t._render(r,o);try{l=n.onMount?.()}catch{}return()=>{try{n.onUnmount?.()}catch{}if("function"==typeof l)try{l()}catch{}i()}}return e._render(r,o)}let p=(e,r=!1)=>{u++,a&&=(a(),null),i=d(e);let o=c();if(o&&(!s||t.appear)&&!r){let e=u;(async()=>{t.onBeforeEnter?.(o),o.classList.add(n.enterFrom,n.enterActive),o.getBoundingClientRect(),await new Promise(e=>requestAnimationFrame(()=>e())),u===e&&(o.classList.remove(n.enterFrom),o.classList.add(n.enterTo),await M(o,t.duration),u===e&&(o.classList.remove(n.enterActive,n.enterTo),t.onAfterEnter?.(o)))})().catch(()=>{})}s=!1},h=()=>{let e=i;i=null;let r=c();if(!r)return void e?.();let o=++u;a=e??null,(async()=>{t.onBeforeLeave?.(r),r.classList.add(n.leaveFrom,n.leaveActive),r.getBoundingClientRect(),await new Promise(e=>requestAnimationFrame(()=>e())),u===o&&(r.classList.remove(n.leaveFrom),r.classList.add(n.leaveTo),await M(r,t.duration),u===o&&(r.classList.remove(n.leaveActive,n.leaveTo),t.onAfterLeave?.(r),a?.(),a=null))})().catch(()=>{})},m=null;if("function"!=typeof e||v(e))p(e);else{let t=e,n=null;m=f(()=>{let e=t(),r=null===n,o=null===e;r&&!o?p(e):!r&&o?h():!r&&!o&&(u++,a?.(),a=null,i?.(),i=null,p(e,!0)),n=e}),s=!1}return()=>{u++,m?.(),i?.(),a?.(),i=null,a=null,l.remove()}}}}function le(e){let t=e.lastIndexOf(">"),n=e.lastIndexOf("<");if(n<=t)return{type:"node"};let r=e.slice(n+1),o=r.match(/@([\w:.-]+)=["']?$/);if(o){let e=o[1].split(".");return{type:"event",eventName:e[0],modifiers:e.slice(1),hadOpenQuote:o[0].endsWith('"')||o[0].endsWith("'")}}let l=r.match(/([\w:.-]+)=["']?$/);return l?{type:"attr",attrName:l[1],hadOpenQuote:l[0].endsWith('"')||l[0].endsWith("'")}:{type:"node"}}function ue(e,t){let n=Array(e.length).fill(0),r="";for(let o=0;o<e.length;o++){let l=e[o];if(1===n[o]&&('"'===l[0]||"'"===l[0])&&(l=l.slice(1)),o<t.length){let e=t[o];if("node"===e.type)r+=l+`\x3c!--nix-${o}--\x3e`;else if("event"===e.type){let t=`@${e.modifiers.length?`${e.eventName}.${e.modifiers.join(".")}`:e.eventName}=`.length+(e.hadOpenQuote?1:0);r+=l.slice(0,-t)+` data-nix-e-${o}="${e.eventName}"`,e.hadOpenQuote&&(n[o+1]=1)}else{let t=`${e.attrName}=`.length+(e.hadOpenQuote?1:0);r+=l.slice(0,-t)+` data-nix-a-${o}="${e.attrName}"`,e.hadOpenQuote&&(n[o+1]=1)}}else r+=l}return r}function N(e){return"object"==typeof e&&!!e&&!0===e.__isNixTemplate}function de(e){return"object"==typeof e&&!!e&&!0===e.__isKeyedList}function fe(e){let t,n=new Map,r=document.createTreeWalker(e,NodeFilter.SHOW_COMMENT);for(;t=r.nextNode();){let e=t,r=e.nodeValue?.match(/^nix-(\d+)$/);r&&n.set(parseInt(r[1]),e)}return n}function P(e){let t=new Map;return e.querySelectorAll("*").forEach(e=>{let n=Array.from(e.attributes);for(let r of n){let n=r.name.match(/^data-nix-e-(\d+)$/);n?(t.set(parseInt(n[1]),{el:e,type:"event",name:r.value}),e.removeAttribute(r.name)):(n=r.name.match(/^data-nix-a-(\d+)$/),n&&(t.set(parseInt(n[1]),{el:e,type:"attr",name:r.value}),e.removeAttribute(r.name)))}}),t}function F(e,t,n){let r=[],o=[],l=fe(e),i=P(e);for(let e=0;e<t.length;e++){let a=t[e],u=n[e];if("event"===a.type){let t=i.get(e);if(!t)continue;let{el:n,name:o}=t,l=u,s=a.modifiers,c={};s.includes("once")&&(c.once=!0),s.includes("capture")&&(c.capture=!0),s.includes("passive")&&(c.passive=!0);let f={enter:"Enter",escape:"Escape",space:" ",tab:"Tab",delete:"Delete",backspace:"Backspace",up:"ArrowUp",down:"ArrowDown",left:"ArrowLeft",right:"ArrowRight"},d=e=>{if(s.includes("prevent")&&e.preventDefault(),s.includes("stop")&&e.stopPropagation(),!s.includes("self")||e.target===e.currentTarget){if("key"in e){let t=e;for(let e of s){let n=f[e];if(void 0!==n&&t.key!==n||!f[e]&&1===e.length&&t.key.toLowerCase()!==e)return}}l(e)}};n.addEventListener(o,d,c),r.push(()=>n.removeEventListener(o,d,c));continue}if("attr"===a.type){let t=i.get(e);if(!t)continue;let{el:n,name:o}=t;if("ref"===o){u.el=n,r.push(()=>{u.el=null});continue}if("show"===o||"hide"===o){let e=n,t=null;if("function"==typeof u){let n=f(()=>{let n=!!u(),r="show"===o?n:!n;null===t&&(t=e.style.display||""),e.style.display=r?t:"none"});r.push(n)}else("show"===o?u:!u)||(n.style.display="none");continue}let l=("value"===o||"checked"===o||"selected"===o)&&o in n;if("function"==typeof u){let e=f(()=>{let e=u();l?n[o]=e??"":null==e||!1===e?n.removeAttribute(o):n.setAttribute(o,String(e))});r.push(e)}else l?n[o]=u??"":null!=u&&!1!==u&&n.setAttribute(o,String(u));continue}let s=l.get(e);if(!s)continue;if("function"!=typeof u){if(v(u)){let e,n,l=u;S();try{try{l.onInit?.()}catch(t){if(!l.onError)throw t;l.onError(t)}e=l.render()._render(s.parentNode,s)}finally{C()}o.push(()=>{try{let e=l.onMount?.();"function"==typeof e&&(n=e)}catch(e){if(!l.onError)throw e;l.onError(e)}}),r.push(()=>{try{l.onUnmount?.()}catch{}try{n?.()}catch{}e()})}else if(N(u)){let e=u._render(s.parentNode,s);r.push(e)}else if(Array.isArray(u))for(let e of u)if(v(e)){let n,l;S();try{try{e.onInit?.()}catch(t){if(!e.onError)throw t;e.onError(t)}n=e.render()._render(s.parentNode,s)}finally{C()}o.push(()=>{try{let t=e.onMount?.();"function"==typeof t&&(l=t)}catch(t){if(!e.onError)throw t;e.onError(t)}}),r.push(()=>{try{e.onUnmount?.()}catch{}try{l?.()}catch{}n()})}else N(e)?e._render(s.parentNode,s):null!=e&&!1!==e&&s.parentNode.insertBefore(document.createTextNode(String(e)),s);else null!=u&&!1!==u&&s.parentNode.insertBefore(document.createTextNode(String(u)),s);continue}let c=null,d=null,p=null,h=x(),m=f(()=>{let e=u();if("string"==typeof e||"number"==typeof e)return d&&=(d(),null),void(c?c.nodeValue=String(e):(c=document.createTextNode(String(e)),s.parentNode.insertBefore(c,s)));if(c&&=(c.parentNode?.removeChild(c),null),d&&=(d(),null),null!=e&&!1!==e)if(N(e))d=e._render(s.parentNode,s);else if(v(e)){let t,n,r=e;w(h,()=>{try{r.onInit?.()}catch(e){if(!r.onError)throw e;r.onError(e)}t=r.render()._render(s.parentNode,s)});try{let e=r.onMount?.();"function"==typeof e&&(n=e)}catch(e){if(!r.onError)throw e;r.onError(e)}d=()=>{try{r.onUnmount?.()}catch{}try{n?.()}catch{}t()}}else if(de(e)){p||=new Map;let t=s.parentNode,n=e.items.map((t,n)=>e.keyFn(t,n)),r=new Set(n);for(let[e,n]of p)if(!r.has(e)){n.cleanup();let r=n.start;for(;r!==n.end;){let e=r.nextSibling;t.removeChild(r),r=e}t.removeChild(n.end),p.delete(e)}let o=s;for(let r=n.length-1;r>=0;r--){let l=n[r],i=e.items[r];if(p.has(l)){let e=p.get(l);if(e.end.nextSibling!==o){let n=[],r=e.start;for(;n.push(r),r!==e.end;)r=r.nextSibling;for(let e of n)t.insertBefore(e,o)}o=e.start}else{let n=document.createComment("nix-ke"),a=document.createComment("nix-ks");t.insertBefore(n,o),t.insertBefore(a,n);let u,s=e.renderFn(i,r);if(v(s)){let r,o;w(h,()=>{try{s.onInit?.()}catch(e){if(!s.onError)throw e;s.onError(e)}r=s.render()._render(t,n)});try{let e=s.onMount?.();"function"==typeof e&&(o=e)}catch(e){if(!s.onError)throw e;s.onError(e)}u=()=>{try{s.onUnmount?.()}catch{}try{o?.()}catch{}r()}}else u=s._render(t,n);p.set(l,{start:a,end:n,cleanup:u}),o=a}}}else if(Array.isArray(e)){let t=[];for(let n of e)if(v(n)){try{n.onInit?.()}catch(e){if(!n.onError)throw e;n.onError(e)}let r,o=n.render()._render(s.parentNode,s);try{let e=n.onMount?.();"function"==typeof e&&(r=e)}catch(e){if(!n.onError)throw e;n.onError(e)}t.push(()=>{try{n.onUnmount?.()}catch{}try{r?.()}catch{}o()})}else if(N(n))t.push(n._render(s.parentNode,s));else if(null!=n&&!1!==n){let e=document.createTextNode(String(n));s.parentNode.insertBefore(e,s),t.push(()=>e.parentNode?.removeChild(e))}d=()=>t.forEach(e=>e())}else c=document.createTextNode(String(e)),s.parentNode.insertBefore(c,s)});r.push(()=>{if(m(),d&&=(d(),null),c&&=(c.parentNode?.removeChild(c),null),p){for(let e of p.values())e.cleanup();p=null}})}return{disposes:r,postMountHooks:o}}function I(e,...t){let n=[],r="";for(let t=0;t<e.length-1;t++){r+=e[t];let o=le(r);n.push(o),r+="__nix__"}let o=ue(e,n);function l(e,r){let l=document.createElement("template");l.innerHTML=o;let i=l.content,{disposes:a,postMountHooks:u}=F(i,n,t),s=document.createComment("nix-scope");e.insertBefore(s,r);let c=i.firstChild;for(;c;){let t=c.nextSibling;e.insertBefore(c,r),c=t}return u.forEach(e=>e()),()=>{a.forEach(e=>e());let e=s.nextSibling;for(;e&&e!==r;){let t=e.nextSibling;e.parentNode?.removeChild(e),e=t}s.parentNode?.removeChild(s)}}return{__isNixTemplate:!0,_render:l,mount(e){let t="string"==typeof e?document.querySelector(e):e;if(!t)throw Error(`[Nix] mount: contenedor no encontrado: ${e}`);let n=l(t,null);return{unmount(){n()}}}}}function L(e,t){if(v(e)){let n,r,o="string"==typeof t?document.querySelector(t):t;if(!o)throw Error(`[Nix] mount: contenedor no encontrado: ${t}`);S();try{try{e.onInit?.()}catch(t){if(!e.onError)throw t;e.onError(t)}n=e.render()._render(o,null)}finally{C()}try{let t=e.onMount?.();"function"==typeof t&&(r=t)}catch(t){if(!e.onError)throw t;e.onError(t)}return{unmount(){try{e.onUnmount?.()}catch{}try{r?.()}catch{}n()}}}return e.mount(t)}function R(e,t){let n={};for(let t of Object.keys(e))n[t]=d(e[t]);let r=n;let o=Object.assign(Object.create(null),r,{$reset:function(){for(let t of Object.keys(e))n[t].value=e[t]}});if(t){let e=t(r);Object.assign(o,e)}return o}var z=null;function B(){if(!z)throw Error("[Nix] No hay router activo. Llama a createRouter() antes.");return z}function V(e){let t={};return new URLSearchParams(e).forEach((e,n)=>{t[n]=e}),t}function H(e){let t=new URLSearchParams;for(let[n,r]of Object.entries(e))null!=r&&!1!==r&&t.set(n,String(r));let n=t.toString();return n?"?"+n:""}function pe(e){return"*"===e?[{kind:"wildcard"}]:e.split("/").filter(Boolean).map(e=>"*"===e?{kind:"wildcard"}:e.startsWith(":")?{kind:"param",name:e.slice(1)}:{kind:"literal",value:e})}function me(e,t){return"*"===t?""===e?"*":e+"/*":(e+(t.startsWith("/")?t:"/"+t)).replace(/\/+/g,"/")||"/"}function U(e,t="",n=[]){let r=[];for(let o of e){let e=me(t,o.path),l=[...n,o.component],i=pe(e);r.push({fullPath:e,segments:i,chain:l,beforeEnter:o.beforeEnter}),o.children?.length&&r.push(...U(o.children,e,l))}return r}function he(e,t){let n=e.split("/").filter(Boolean),r=t.segments;if(1===r.length&&"wildcard"===r[0].kind)return{};let o=r.length>0&&"wildcard"===r[r.length-1].kind,l=o?r.slice(0,-1):r;if(o){if(n.length<l.length)return null}else if(n.length!==l.length)return null;let i={};for(let e=0;e<l.length;e++){let t=l[e];if("literal"===t.kind){if(n[e]!==t.value)return null}else"param"===t.kind&&(i[t.name]=decodeURIComponent(n[e]??""))}return i}function ge(e){return e.segments.reduce((e,t)=>"literal"===t.kind?e+2:"param"===t.kind?e+1:e,0)}function W(e,t){let n,r={},o=-1;for(let l of t){let t=he(e,l);if(null===t)continue;let i=ge(l);i>o&&(n=l,r=t,o=i)}return n?{route:n,params:r}:void 0}function _e(e){function t(){return window.location.pathname||"/"}let n=t(),r=U(e),o=W(n,r),l=d(n),i=d(o?.params??{}),a=d(V(window.location.search)),u=[];function s(e,t,n,r,o){let l=[...u];if(n&&l.push(n),0===l.length)return void r();let i=0;!function n(a){if(!1===a)return void o?.();if("string"==typeof a)return void(a===e?r():c(a));if(i>=l.length)return void r();let u=l[i++](e,t);u instanceof Promise?u.then(n):n(u)}(void 0)}function c(e,t){let{pathname:n,stringQuery:o}=function(e,t){let n=e.indexOf("?"),r=-1===n?e:e.slice(0,n),o=-1===n?{}:V(e.slice(n)),l=t?{...o,...t}:o,i={};for(let[e,t]of Object.entries(l))null!=t&&!1!==t&&(i[e]=String(t));return{pathname:r,stringQuery:i}}(e,t),u=l.value,c=W(n,r);s(n,u,c?.route.beforeEnter,()=>{i.value=c?.params??{},a.value=o,l.value=n,history.pushState(null,"",n+H(o))})}window.addEventListener("popstate",()=>{let e=t(),n=l.value,o=a.value,u=W(e,r),c=V(window.location.search);s(e,n,u?.route.beforeEnter,()=>{i.value=u?.params??{},a.value=c,l.value=e},()=>{history.pushState(null,"",n+H(o))})});let f={current:l,params:i,query:a,navigate:c,beforeEach:function(e){return u.push(e),()=>{let t=u.indexOf(e);-1!==t&&u.splice(t,1)}},routes:e,_flat:r,_guards:u};return z=f,queueMicrotask(()=>{s(n,"",W(n,r)?.route.beforeEnter,()=>{},()=>{history.replaceState(null,"","/");let e=W("/",r);l.value="/",i.value=e?.params??{},a.value={}})}),f}function ve(){return B()}var ye=class extends _{_depth;constructor(e=0){super(),this._depth=e}render(){let e=this._depth;return I`<div class="router-view">${()=>{let t=B(),n=W(t.current.value,t._flat);return n?e>=n.route.chain.length?I`<span></span>`:n.route.chain[e]():I`<div style="color:#f87171;padding:16px 0">
1
+ var e = null, t = [], n = null, r = [], i = null, a = [];
2
+ function o(e) {
3
+ a.push(i), i = e;
4
+ }
5
+ function s() {
6
+ i = a.pop() ?? null;
7
+ }
8
+ var c = 0, l = new Set(), u = 100, d = 0, f = class {
9
+ _value;
10
+ _subs = new Set();
11
+ constructor(e) {
12
+ this._value = e;
13
+ }
14
+ get value() {
15
+ return e && (this._subs.add(e), n?.add(this)), this._value;
16
+ }
17
+ set value(e) {
18
+ Object.is(this._value, e) || (this._value = e, this._notify());
19
+ }
20
+ update(e) {
21
+ this.value = e(this._value);
22
+ }
23
+ peek() {
24
+ return this._value;
25
+ }
26
+ _removeSub(e) {
27
+ this._subs.delete(e);
28
+ }
29
+ _notify() {
30
+ let e = [...this._subs];
31
+ c > 0 ? e.forEach((e) => l.add(e)) : e.forEach((e) => e());
32
+ }
33
+ dispose() {
34
+ this._subs.clear();
35
+ }
36
+ };
37
+ function p(e) {
38
+ return new f(e);
39
+ }
40
+ function m(a) {
41
+ let o, s = new Set(), c = i, l = () => {
42
+ if (typeof o == "function" && o(), s.forEach((e) => e._removeSub(l)), s = new Set(), t.push(e), r.push(n), e = l, n = s, d++, d > u) throw d = 0, e = t.pop() || null, n = r.pop() || null, Error("[Nix] Maximum effect re-execution depth exceeded (possible infinite loop).");
43
+ try {
44
+ o = a();
45
+ } catch (e) {
46
+ if (c) c(e);
47
+ else throw e;
48
+ } finally {
49
+ d--, e = t.pop() || null, n = r.pop() || null;
50
+ }
51
+ };
52
+ return l(), () => {
53
+ typeof o == "function" && o(), s.forEach((e) => e._removeSub(l)), s.clear();
54
+ };
55
+ }
56
+ function h(e) {
57
+ let t = new f(void 0);
58
+ return m(() => {
59
+ t.value = e();
60
+ }), t;
61
+ }
62
+ function g(e) {
63
+ c++;
64
+ try {
65
+ e();
66
+ } finally {
67
+ if (c--, c === 0) {
68
+ let e = [...l];
69
+ l.clear(), e.forEach((e) => e());
70
+ }
71
+ }
72
+ }
73
+ function _(t) {
74
+ let r = e, i = n;
75
+ e = null, n = null;
76
+ try {
77
+ return t();
78
+ } finally {
79
+ e = r, n = i;
80
+ }
81
+ }
82
+ function ee(e, t, n = {}) {
83
+ let { immediate: r = !1, once: i = !1 } = n, a = e instanceof f ? () => e.value : e, o, s = !0, c = !1, l = m(() => {
84
+ let e = a();
85
+ if (s) {
86
+ if (s = !1, r && !c) {
87
+ let n = e;
88
+ _(() => t(n, void 0)), i && (c = !0, Promise.resolve().then(l));
89
+ }
90
+ o = e;
91
+ return;
92
+ }
93
+ if (!c) {
94
+ let n = e, r = o;
95
+ o = e, _(() => t(n, r)), i && (c = !0, Promise.resolve().then(l));
96
+ }
97
+ });
98
+ return () => {
99
+ c = !0, l();
100
+ };
101
+ }
102
+ function v(e) {
103
+ return e ? Promise.resolve().then(e) : Promise.resolve();
104
+ }
105
+ var y = class {
106
+ __isNixComponent = !0;
107
+ children;
108
+ _slots = new Map();
109
+ setChildren(e) {
110
+ return this.children = e, this;
111
+ }
112
+ setSlot(e, t) {
113
+ return this._slots.set(e, t), this;
114
+ }
115
+ slot(e) {
116
+ return this._slots.get(e);
117
+ }
118
+ };
119
+ function b(e) {
120
+ return typeof e == "object" && !!e && e.__isNixComponent === !0;
121
+ }
122
+ function x(e) {
123
+ return Symbol(e);
124
+ }
125
+ var S = [];
126
+ function C() {
127
+ return [...S];
128
+ }
129
+ function w() {
130
+ S.push(new Map());
131
+ }
132
+ function T() {
133
+ S.pop();
134
+ }
135
+ function E(e, t) {
136
+ let n = S.splice(0);
137
+ e.forEach((e) => S.push(e)), S.push(new Map());
138
+ try {
139
+ return t();
140
+ } finally {
141
+ S.splice(0), n.forEach((e) => S.push(e));
142
+ }
143
+ }
144
+ function D(e, t) {
145
+ let n = S[S.length - 1];
146
+ if (!n) throw Error("[Nix] provide() debe llamarse dentro de onInit() de un NixComponent.");
147
+ n.set(e, t);
148
+ }
149
+ function O(e) {
150
+ for (let t = S.length - 1; t >= 0; t--) if (S[t].has(e)) return S[t].get(e);
151
+ }
152
+ function te() {
153
+ return { el: null };
154
+ }
155
+ function ne(e, t) {
156
+ t ? e.style.display === "none" && (e.style.display = "") : e.style.display !== "none" && (e.style.display = "none");
157
+ }
158
+ function re(e, t, n) {
159
+ return {
160
+ __isKeyedList: !0,
161
+ items: e,
162
+ keyFn: t,
163
+ renderFn: n
164
+ };
165
+ }
166
+ function ie() {
167
+ return {
168
+ __isPortalOutlet: !0,
169
+ _container: null
170
+ };
171
+ }
172
+ function ae(e) {
173
+ return {
174
+ __isNixTemplate: !0,
175
+ mount(e) {
176
+ let t = typeof e == "string" ? document.querySelector(e) ?? document.body : e;
177
+ return { unmount: this._render(t, null) };
178
+ },
179
+ _render(t, n) {
180
+ let r = document.createElement("div");
181
+ return r.setAttribute("data-nix-outlet", ""), e._container = r, t.insertBefore(r, n), () => {
182
+ e._container = null, r.remove();
183
+ };
184
+ }
185
+ };
186
+ }
187
+ function oe(e, t = document.body) {
188
+ return {
189
+ __isNixTemplate: !0,
190
+ mount(e) {
191
+ let t = typeof e == "string" ? document.querySelector(e) ?? document.body : e;
192
+ return { unmount: this._render(t, null) };
193
+ },
194
+ _render(n, r) {
195
+ let i;
196
+ if (i = typeof t == "string" ? document.querySelector(t) ?? document.body : t instanceof Element ? t : "__isPortalOutlet" in t ? t._container ?? document.body : t.el ?? document.body, b(e)) {
197
+ w();
198
+ let t;
199
+ try {
200
+ try {
201
+ e.onInit?.();
202
+ } catch (t) {
203
+ if (e.onError) e.onError(t);
204
+ else throw t;
205
+ }
206
+ t = e.render()._render(i, null);
207
+ } finally {
208
+ T();
209
+ }
210
+ let n;
211
+ try {
212
+ let t = e.onMount?.();
213
+ typeof t == "function" && (n = t);
214
+ } catch (t) {
215
+ if (e.onError) e.onError(t);
216
+ else throw t;
217
+ }
218
+ return () => {
219
+ try {
220
+ e.onUnmount?.();
221
+ } catch {}
222
+ try {
223
+ n?.();
224
+ } catch {}
225
+ t();
226
+ };
227
+ }
228
+ return e._render(i, null);
229
+ }
230
+ };
231
+ }
232
+ var k = x("nix:portal-outlet");
233
+ function se(e) {
234
+ D(k, e);
235
+ }
236
+ function ce() {
237
+ return O(k);
238
+ }
239
+ function le(e, t) {
240
+ return {
241
+ __isNixTemplate: !0,
242
+ mount(e) {
243
+ let t = typeof e == "string" ? document.querySelector(e) ?? document.body : e;
244
+ return { unmount: this._render(t, null) };
245
+ },
246
+ _render(n, r) {
247
+ let i = document.createComment("nix-eb");
248
+ n.insertBefore(i, r);
249
+ let a = null, c = !1, l = !1, u, d = !1, f = (e) => {
250
+ let n = i.parentNode, o = typeof t == "function" && !b(t) ? t(e) : t;
251
+ if (b(o)) {
252
+ w();
253
+ let e;
254
+ try {
255
+ try {
256
+ o.onInit?.();
257
+ } catch {}
258
+ e = o.render()._render(n, r);
259
+ } finally {
260
+ T();
261
+ }
262
+ let t;
263
+ try {
264
+ let e = o.onMount?.();
265
+ typeof e == "function" && (t = e);
266
+ } catch {}
267
+ a = () => {
268
+ try {
269
+ o.onUnmount?.();
270
+ } catch {}
271
+ t?.(), e();
272
+ };
273
+ } else a = o._render(n, r);
274
+ };
275
+ o((e) => {
276
+ c || (c = !0, l ? (a?.(), a = null, f(e)) : (u = e, d = !0));
277
+ });
278
+ try {
279
+ if (b(e)) {
280
+ w();
281
+ try {
282
+ try {
283
+ e.onInit?.();
284
+ } catch (t) {
285
+ if (e.onError) e.onError(t);
286
+ else throw t;
287
+ }
288
+ a = e.render()._render(n, r);
289
+ } finally {
290
+ T();
291
+ }
292
+ if (!c) try {
293
+ let t = e.onMount?.(), n = a;
294
+ a = () => {
295
+ try {
296
+ e.onUnmount?.();
297
+ } catch {}
298
+ if (typeof t == "function") try {
299
+ t();
300
+ } catch {}
301
+ n?.();
302
+ };
303
+ } catch (t) {
304
+ if (e.onError) e.onError(t);
305
+ else throw t;
306
+ }
307
+ } else a = e._render(n, r);
308
+ } catch (e) {
309
+ c = !0, a?.(), a = null, u = e, d = !0;
310
+ } finally {
311
+ s(), l = !0;
312
+ }
313
+ return d && (a?.(), a = null, f(u)), () => {
314
+ a?.(), i.remove();
315
+ };
316
+ }
317
+ };
318
+ }
319
+ function A(e) {
320
+ let t = e.name ?? "nix";
321
+ return {
322
+ enterFrom: e.enterFrom ?? `${t}-enter-from`,
323
+ enterActive: e.enterActive ?? `${t}-enter-active`,
324
+ enterTo: e.enterTo ?? `${t}-enter-to`,
325
+ leaveFrom: e.leaveFrom ?? `${t}-leave-from`,
326
+ leaveActive: e.leaveActive ?? `${t}-leave-active`,
327
+ leaveTo: e.leaveTo ?? `${t}-leave-to`
328
+ };
329
+ }
330
+ function j(e) {
331
+ return Math.max(0, ...e.split(",").map((e) => parseFloat(e) || 0));
332
+ }
333
+ function M(e, t = 0) {
334
+ return new Promise((n) => {
335
+ let r = getComputedStyle(e), i = Math.max(j(r.transitionDuration || "0"), j(r.animationDuration || "0")) * 1e3, a = i > 0 ? i + 100 : t > 0 ? t : 0;
336
+ if (a <= 0) {
337
+ n();
338
+ return;
339
+ }
340
+ let o, s = (t) => {
341
+ t.target === e && (clearTimeout(o), e.removeEventListener("transitionend", s), e.removeEventListener("animationend", s), n());
342
+ };
343
+ e.addEventListener("transitionend", s), e.addEventListener("animationend", s), o = setTimeout(() => {
344
+ e.removeEventListener("transitionend", s), e.removeEventListener("animationend", s), n();
345
+ }, a);
346
+ });
347
+ }
348
+ function ue(e, t = {}) {
349
+ let n = A(t);
350
+ return {
351
+ __isNixTemplate: !0,
352
+ mount(e) {
353
+ let t = typeof e == "string" ? document.querySelector(e) ?? document.body : e;
354
+ return { unmount: this._render(t, null) };
355
+ },
356
+ _render(r, i) {
357
+ let a = document.createComment("nix-t");
358
+ r.insertBefore(a, i);
359
+ let o = null, s = null, c = 0, l = !0, u = () => {
360
+ let e = a.nextSibling;
361
+ for (; e && e !== i;) {
362
+ if (e.nodeType === Node.ELEMENT_NODE) return e;
363
+ e = e.nextSibling;
364
+ }
365
+ return null;
366
+ };
367
+ function d(e) {
368
+ if (b(e)) {
369
+ let t = e;
370
+ w();
371
+ let n;
372
+ try {
373
+ try {
374
+ t.onInit?.();
375
+ } catch {}
376
+ n = t.render();
377
+ } finally {
378
+ T();
379
+ }
380
+ let a = n._render(r, i), o;
381
+ try {
382
+ o = t.onMount?.();
383
+ } catch {}
384
+ return () => {
385
+ try {
386
+ t.onUnmount?.();
387
+ } catch {}
388
+ if (typeof o == "function") try {
389
+ o();
390
+ } catch {}
391
+ a();
392
+ };
393
+ }
394
+ return e._render(r, i);
395
+ }
396
+ let f = (e, r = !1) => {
397
+ c++, s &&= (s(), null), o = d(e);
398
+ let i = u();
399
+ if (i && (!l || t.appear) && !r) {
400
+ let e = c;
401
+ (async () => {
402
+ t.onBeforeEnter?.(i), i.classList.add(n.enterFrom, n.enterActive), i.getBoundingClientRect(), await new Promise((e) => requestAnimationFrame(() => e())), c === e && (i.classList.remove(n.enterFrom), i.classList.add(n.enterTo), await M(i, t.duration), c === e && (i.classList.remove(n.enterActive, n.enterTo), t.onAfterEnter?.(i)));
403
+ })().catch(() => {});
404
+ }
405
+ l = !1;
406
+ }, p = () => {
407
+ let e = o;
408
+ o = null;
409
+ let r = u();
410
+ if (!r) {
411
+ e?.();
412
+ return;
413
+ }
414
+ let i = ++c;
415
+ s = e ?? null, (async () => {
416
+ t.onBeforeLeave?.(r), r.classList.add(n.leaveFrom, n.leaveActive), r.getBoundingClientRect(), await new Promise((e) => requestAnimationFrame(() => e())), c === i && (r.classList.remove(n.leaveFrom), r.classList.add(n.leaveTo), await M(r, t.duration), c === i && (r.classList.remove(n.leaveActive, n.leaveTo), t.onAfterLeave?.(r), s?.(), s = null));
417
+ })().catch(() => {});
418
+ }, h = null;
419
+ if (typeof e == "function" && !b(e)) {
420
+ let t = e, n = null;
421
+ h = m(() => {
422
+ let e = t(), r = n === null, i = e === null;
423
+ r && !i ? f(e) : !r && i ? p() : !r && !i && (c++, s?.(), s = null, o?.(), o = null, f(e, !0)), n = e;
424
+ }), l = !1;
425
+ } else f(e);
426
+ return () => {
427
+ c++, h?.(), o?.(), s?.(), o = null, s = null, a.remove();
428
+ };
429
+ }
430
+ };
431
+ }
432
+ function de(e) {
433
+ let t = e.lastIndexOf(">"), n = e.lastIndexOf("<");
434
+ if (n <= t) return { type: "node" };
435
+ let r = e.slice(n + 1), i = r.match(/@([\w:.-]+)=["']?$/);
436
+ if (i) {
437
+ let e = i[1].split(".");
438
+ return {
439
+ type: "event",
440
+ eventName: e[0],
441
+ modifiers: e.slice(1),
442
+ hadOpenQuote: i[0].endsWith("\"") || i[0].endsWith("'")
443
+ };
444
+ }
445
+ let a = r.match(/([\w:.-]+)=["']?$/);
446
+ return a ? {
447
+ type: "attr",
448
+ attrName: a[1],
449
+ hadOpenQuote: a[0].endsWith("\"") || a[0].endsWith("'")
450
+ } : { type: "node" };
451
+ }
452
+ function fe(e, t) {
453
+ let n = Array(e.length).fill(0), r = "";
454
+ for (let i = 0; i < e.length; i++) {
455
+ let a = e[i];
456
+ if (n[i] === 1 && (a[0] === "\"" || a[0] === "'") && (a = a.slice(1)), i < t.length) {
457
+ let e = t[i];
458
+ if (e.type === "node") r += a + `<!--nix-${i}-->`;
459
+ else if (e.type === "event") {
460
+ let t = `@${e.modifiers.length ? `${e.eventName}.${e.modifiers.join(".")}` : e.eventName}=`.length + (e.hadOpenQuote ? 1 : 0);
461
+ r += a.slice(0, -t) + ` data-nix-e-${i}="${e.eventName}"`, e.hadOpenQuote && (n[i + 1] = 1);
462
+ } else {
463
+ let t = `${e.attrName}=`.length + (e.hadOpenQuote ? 1 : 0);
464
+ r += a.slice(0, -t) + ` data-nix-a-${i}="${e.attrName}"`, e.hadOpenQuote && (n[i + 1] = 1);
465
+ }
466
+ } else r += a;
467
+ }
468
+ return r;
469
+ }
470
+ function N(e) {
471
+ return typeof e == "object" && !!e && e.__isNixTemplate === !0;
472
+ }
473
+ function pe(e) {
474
+ return typeof e == "object" && !!e && e.__isKeyedList === !0;
475
+ }
476
+ function me(e) {
477
+ let t = new Map(), n = document.createTreeWalker(e, NodeFilter.SHOW_COMMENT), r;
478
+ for (; r = n.nextNode();) {
479
+ let e = r, n = e.nodeValue?.match(/^nix-(\d+)$/);
480
+ n && t.set(parseInt(n[1]), e);
481
+ }
482
+ return t;
483
+ }
484
+ function he(e) {
485
+ let t = new Map();
486
+ return e.querySelectorAll("*").forEach((e) => {
487
+ let n = Array.from(e.attributes);
488
+ for (let r of n) {
489
+ let n = r.name.match(/^data-nix-e-(\d+)$/);
490
+ if (n) {
491
+ t.set(parseInt(n[1]), {
492
+ el: e,
493
+ type: "event",
494
+ name: r.value
495
+ }), e.removeAttribute(r.name);
496
+ continue;
497
+ }
498
+ n = r.name.match(/^data-nix-a-(\d+)$/), n && (t.set(parseInt(n[1]), {
499
+ el: e,
500
+ type: "attr",
501
+ name: r.value
502
+ }), e.removeAttribute(r.name));
503
+ }
504
+ }), t;
505
+ }
506
+ function P(e, t, n) {
507
+ let r = [], i = [], a = me(e), o = he(e);
508
+ for (let e = 0; e < t.length; e++) {
509
+ let s = t[e], c = n[e];
510
+ if (s.type === "event") {
511
+ let t = o.get(e);
512
+ if (!t) continue;
513
+ let { el: n, name: i } = t, a = c, l = s.modifiers, u = {};
514
+ l.includes("once") && (u.once = !0), l.includes("capture") && (u.capture = !0), l.includes("passive") && (u.passive = !0);
515
+ let d = {
516
+ enter: "Enter",
517
+ escape: "Escape",
518
+ space: " ",
519
+ tab: "Tab",
520
+ delete: "Delete",
521
+ backspace: "Backspace",
522
+ up: "ArrowUp",
523
+ down: "ArrowDown",
524
+ left: "ArrowLeft",
525
+ right: "ArrowRight"
526
+ }, f = (e) => {
527
+ if (l.includes("prevent") && e.preventDefault(), l.includes("stop") && e.stopPropagation(), !(l.includes("self") && e.target !== e.currentTarget)) {
528
+ if ("key" in e) {
529
+ let t = e;
530
+ for (let e of l) {
531
+ let n = d[e];
532
+ if (n !== void 0 && t.key !== n || !d[e] && e.length === 1 && t.key.toLowerCase() !== e) return;
533
+ }
534
+ }
535
+ a(e);
536
+ }
537
+ };
538
+ n.addEventListener(i, f, u), r.push(() => n.removeEventListener(i, f, u));
539
+ continue;
540
+ }
541
+ if (s.type === "attr") {
542
+ let t = o.get(e);
543
+ if (!t) continue;
544
+ let { el: n, name: i } = t;
545
+ if (i === "ref") {
546
+ c.el = n, r.push(() => {
547
+ c.el = null;
548
+ });
549
+ continue;
550
+ }
551
+ if (i === "show" || i === "hide") {
552
+ let e = n, t = null;
553
+ if (typeof c == "function") {
554
+ let n = m(() => {
555
+ let n = !!c(), r = i === "show" ? n : !n;
556
+ t === null && (t = e.style.display || ""), e.style.display = r ? t : "none";
557
+ });
558
+ r.push(n);
559
+ } else (i === "show" ? c : !c) || (n.style.display = "none");
560
+ continue;
561
+ }
562
+ let a = (i === "value" || i === "checked" || i === "selected") && i in n;
563
+ if (typeof c == "function") {
564
+ let e = m(() => {
565
+ let e = c();
566
+ a ? n[i] = e ?? "" : e == null || e === !1 ? n.removeAttribute(i) : n.setAttribute(i, String(e));
567
+ });
568
+ r.push(e);
569
+ } else a ? n[i] = c ?? "" : c != null && c !== !1 && n.setAttribute(i, String(c));
570
+ continue;
571
+ }
572
+ let l = a.get(e);
573
+ if (!l) continue;
574
+ if (typeof c != "function") {
575
+ if (b(c)) {
576
+ let e = c;
577
+ w();
578
+ let t;
579
+ try {
580
+ try {
581
+ e.onInit?.();
582
+ } catch (t) {
583
+ if (e.onError) e.onError(t);
584
+ else throw t;
585
+ }
586
+ t = e.render()._render(l.parentNode, l);
587
+ } finally {
588
+ T();
589
+ }
590
+ let n;
591
+ i.push(() => {
592
+ try {
593
+ let t = e.onMount?.();
594
+ typeof t == "function" && (n = t);
595
+ } catch (t) {
596
+ if (e.onError) e.onError(t);
597
+ else throw t;
598
+ }
599
+ }), r.push(() => {
600
+ try {
601
+ e.onUnmount?.();
602
+ } catch {}
603
+ try {
604
+ n?.();
605
+ } catch {}
606
+ t();
607
+ });
608
+ } else if (N(c)) {
609
+ let e = c._render(l.parentNode, l);
610
+ r.push(e);
611
+ } else if (Array.isArray(c)) for (let e of c) if (b(e)) {
612
+ let t;
613
+ w();
614
+ try {
615
+ try {
616
+ e.onInit?.();
617
+ } catch (t) {
618
+ if (e.onError) e.onError(t);
619
+ else throw t;
620
+ }
621
+ t = e.render()._render(l.parentNode, l);
622
+ } finally {
623
+ T();
624
+ }
625
+ let n;
626
+ i.push(() => {
627
+ try {
628
+ let t = e.onMount?.();
629
+ typeof t == "function" && (n = t);
630
+ } catch (t) {
631
+ if (e.onError) e.onError(t);
632
+ else throw t;
633
+ }
634
+ }), r.push(() => {
635
+ try {
636
+ e.onUnmount?.();
637
+ } catch {}
638
+ try {
639
+ n?.();
640
+ } catch {}
641
+ t();
642
+ });
643
+ } else N(e) ? e._render(l.parentNode, l) : e != null && e !== !1 && l.parentNode.insertBefore(document.createTextNode(String(e)), l);
644
+ else c != null && c !== !1 && l.parentNode.insertBefore(document.createTextNode(String(c)), l);
645
+ continue;
646
+ }
647
+ let u = null, d = null, f = null, p = C(), h = m(() => {
648
+ let e = c();
649
+ if (typeof e == "string" || typeof e == "number") {
650
+ d &&= (d(), null), u ? u.nodeValue = String(e) : (u = document.createTextNode(String(e)), l.parentNode.insertBefore(u, l));
651
+ return;
652
+ }
653
+ if (u &&= (u.parentNode?.removeChild(u), null), d &&= (d(), null), !(e == null || e === !1)) if (N(e)) d = e._render(l.parentNode, l);
654
+ else if (b(e)) {
655
+ let t = e, n;
656
+ E(p, () => {
657
+ try {
658
+ t.onInit?.();
659
+ } catch (e) {
660
+ if (t.onError) t.onError(e);
661
+ else throw e;
662
+ }
663
+ n = t.render()._render(l.parentNode, l);
664
+ });
665
+ let r;
666
+ try {
667
+ let e = t.onMount?.();
668
+ typeof e == "function" && (r = e);
669
+ } catch (e) {
670
+ if (t.onError) t.onError(e);
671
+ else throw e;
672
+ }
673
+ d = () => {
674
+ try {
675
+ t.onUnmount?.();
676
+ } catch {}
677
+ try {
678
+ r?.();
679
+ } catch {}
680
+ n();
681
+ };
682
+ } else if (pe(e)) {
683
+ f ||= new Map();
684
+ let t = l.parentNode, n = e.items.map((t, n) => e.keyFn(t, n)), r = new Set(n);
685
+ for (let [e, n] of f) if (!r.has(e)) {
686
+ n.cleanup();
687
+ let r = n.start;
688
+ for (; r !== n.end;) {
689
+ let e = r.nextSibling;
690
+ t.removeChild(r), r = e;
691
+ }
692
+ t.removeChild(n.end), f.delete(e);
693
+ }
694
+ let i = l;
695
+ for (let r = n.length - 1; r >= 0; r--) {
696
+ let a = n[r], o = e.items[r];
697
+ if (f.has(a)) {
698
+ let e = f.get(a);
699
+ if (e.end.nextSibling !== i) {
700
+ let n = [], r = e.start;
701
+ for (; n.push(r), r !== e.end;) r = r.nextSibling;
702
+ for (let e of n) t.insertBefore(e, i);
703
+ }
704
+ i = e.start;
705
+ } else {
706
+ let n = document.createComment("nix-ke"), s = document.createComment("nix-ks");
707
+ t.insertBefore(n, i), t.insertBefore(s, n);
708
+ let c, l = e.renderFn(o, r);
709
+ if (b(l)) {
710
+ let e;
711
+ E(p, () => {
712
+ try {
713
+ l.onInit?.();
714
+ } catch (e) {
715
+ if (l.onError) l.onError(e);
716
+ else throw e;
717
+ }
718
+ e = l.render()._render(t, n);
719
+ });
720
+ let r;
721
+ try {
722
+ let e = l.onMount?.();
723
+ typeof e == "function" && (r = e);
724
+ } catch (e) {
725
+ if (l.onError) l.onError(e);
726
+ else throw e;
727
+ }
728
+ c = () => {
729
+ try {
730
+ l.onUnmount?.();
731
+ } catch {}
732
+ try {
733
+ r?.();
734
+ } catch {}
735
+ e();
736
+ };
737
+ } else c = l._render(t, n);
738
+ f.set(a, {
739
+ start: s,
740
+ end: n,
741
+ cleanup: c
742
+ }), i = s;
743
+ }
744
+ }
745
+ } else if (Array.isArray(e)) {
746
+ let t = [];
747
+ for (let n of e) if (b(n)) {
748
+ try {
749
+ n.onInit?.();
750
+ } catch (e) {
751
+ if (n.onError) n.onError(e);
752
+ else throw e;
753
+ }
754
+ let e = n.render()._render(l.parentNode, l), r;
755
+ try {
756
+ let e = n.onMount?.();
757
+ typeof e == "function" && (r = e);
758
+ } catch (e) {
759
+ if (n.onError) n.onError(e);
760
+ else throw e;
761
+ }
762
+ t.push(() => {
763
+ try {
764
+ n.onUnmount?.();
765
+ } catch {}
766
+ try {
767
+ r?.();
768
+ } catch {}
769
+ e();
770
+ });
771
+ } else if (N(n)) t.push(n._render(l.parentNode, l));
772
+ else if (n != null && n !== !1) {
773
+ let e = document.createTextNode(String(n));
774
+ l.parentNode.insertBefore(e, l), t.push(() => e.parentNode?.removeChild(e));
775
+ }
776
+ d = () => t.forEach((e) => e());
777
+ } else u = document.createTextNode(String(e)), l.parentNode.insertBefore(u, l);
778
+ });
779
+ r.push(() => {
780
+ if (h(), d &&= (d(), null), u &&= (u.parentNode?.removeChild(u), null), f) {
781
+ for (let e of f.values()) e.cleanup();
782
+ f = null;
783
+ }
784
+ });
785
+ }
786
+ return {
787
+ disposes: r,
788
+ postMountHooks: i
789
+ };
790
+ }
791
+ function F(e, ...t) {
792
+ let n = [], r = "";
793
+ for (let t = 0; t < e.length - 1; t++) {
794
+ r += e[t];
795
+ let i = de(r);
796
+ n.push(i), r += "__nix__";
797
+ }
798
+ let i = fe(e, n);
799
+ function a(e, r) {
800
+ let a = document.createElement("template");
801
+ a.innerHTML = i;
802
+ let o = a.content, { disposes: s, postMountHooks: c } = P(o, n, t), l = document.createComment("nix-scope");
803
+ e.insertBefore(l, r);
804
+ let u = o.firstChild;
805
+ for (; u;) {
806
+ let t = u.nextSibling;
807
+ e.insertBefore(u, r), u = t;
808
+ }
809
+ return c.forEach((e) => e()), () => {
810
+ s.forEach((e) => e());
811
+ let e = l.nextSibling;
812
+ for (; e && e !== r;) {
813
+ let t = e.nextSibling;
814
+ e.parentNode?.removeChild(e), e = t;
815
+ }
816
+ l.parentNode?.removeChild(l);
817
+ };
818
+ }
819
+ return {
820
+ __isNixTemplate: !0,
821
+ _render: a,
822
+ mount(e) {
823
+ let t = typeof e == "string" ? document.querySelector(e) : e;
824
+ if (!t) throw Error(`[Nix] mount: contenedor no encontrado: ${e}`);
825
+ let n = a(t, null);
826
+ return { unmount() {
827
+ n();
828
+ } };
829
+ }
830
+ };
831
+ }
832
+ function I(e, t) {
833
+ if (b(e)) {
834
+ let n = typeof t == "string" ? document.querySelector(t) : t;
835
+ if (!n) throw Error(`[Nix] mount: contenedor no encontrado: ${t}`);
836
+ w();
837
+ let r;
838
+ try {
839
+ try {
840
+ e.onInit?.();
841
+ } catch (t) {
842
+ if (e.onError) e.onError(t);
843
+ else throw t;
844
+ }
845
+ r = e.render()._render(n, null);
846
+ } finally {
847
+ T();
848
+ }
849
+ let i;
850
+ try {
851
+ let t = e.onMount?.();
852
+ typeof t == "function" && (i = t);
853
+ } catch (t) {
854
+ if (e.onError) e.onError(t);
855
+ else throw t;
856
+ }
857
+ return { unmount() {
858
+ try {
859
+ e.onUnmount?.();
860
+ } catch {}
861
+ try {
862
+ i?.();
863
+ } catch {}
864
+ r();
865
+ } };
866
+ }
867
+ return e.mount(t);
868
+ }
869
+ function L(e, t) {
870
+ let n = {};
871
+ for (let t of Object.keys(e)) n[t] = p(e[t]);
872
+ let r = n;
873
+ function i() {
874
+ for (let t of Object.keys(e)) n[t].value = e[t];
875
+ }
876
+ let a = Object.assign(Object.create(null), r, { $reset: i });
877
+ if (t) {
878
+ let e = t(r);
879
+ for (let t of Object.keys(e)) {
880
+ if (t === "$reset") {
881
+ console.warn("[Nix] Store action name \"$reset\" is reserved and will be ignored.");
882
+ continue;
883
+ }
884
+ a[t] = e[t];
885
+ }
886
+ }
887
+ return a;
888
+ }
889
+ var R = null, z = null;
890
+ function B() {
891
+ if (!R) throw Error("[Nix] No hay router activo. Llama a createRouter() antes.");
892
+ return R;
893
+ }
894
+ function V(e) {
895
+ let t = {};
896
+ return new URLSearchParams(e).forEach((e, n) => {
897
+ t[n] = e;
898
+ }), t;
899
+ }
900
+ function H(e) {
901
+ let t = new URLSearchParams();
902
+ for (let [n, r] of Object.entries(e)) r != null && r !== !1 && t.set(n, String(r));
903
+ let n = t.toString();
904
+ return n ? "?" + n : "";
905
+ }
906
+ function ge(e) {
907
+ return e === "*" ? [{ kind: "wildcard" }] : e.split("/").filter(Boolean).map((e) => e === "*" ? { kind: "wildcard" } : e.startsWith(":") ? {
908
+ kind: "param",
909
+ name: e.slice(1)
910
+ } : {
911
+ kind: "literal",
912
+ value: e
913
+ });
914
+ }
915
+ function _e(e, t) {
916
+ return t === "*" ? e === "" ? "*" : e + "/*" : (e + (t.startsWith("/") ? t : "/" + t)).replace(/\/+/g, "/") || "/";
917
+ }
918
+ function U(e, t = "", n = []) {
919
+ let r = [];
920
+ for (let i of e) {
921
+ let e = _e(t, i.path), a = [...n, i.component], o = ge(e);
922
+ r.push({
923
+ fullPath: e,
924
+ segments: o,
925
+ chain: a,
926
+ beforeEnter: i.beforeEnter
927
+ }), i.children?.length && r.push(...U(i.children, e, a));
928
+ }
929
+ return r;
930
+ }
931
+ function ve(e, t) {
932
+ let n = e.split("/").filter(Boolean), r = t.segments;
933
+ if (r.length === 1 && r[0].kind === "wildcard") return {};
934
+ let i = r.length > 0 && r[r.length - 1].kind === "wildcard", a = i ? r.slice(0, -1) : r;
935
+ if (i) {
936
+ if (n.length < a.length) return null;
937
+ } else if (n.length !== a.length) return null;
938
+ let o = {};
939
+ for (let e = 0; e < a.length; e++) {
940
+ let t = a[e];
941
+ if (t.kind === "literal") {
942
+ if (n[e] !== t.value) return null;
943
+ } else if (t.kind === "param") try {
944
+ o[t.name] = decodeURIComponent(n[e] ?? "");
945
+ } catch {
946
+ o[t.name] = n[e] ?? "";
947
+ }
948
+ }
949
+ return o;
950
+ }
951
+ function ye(e) {
952
+ return e.segments.reduce((e, t) => t.kind === "literal" ? e + 2 : t.kind === "param" ? e + 1 : e, 0);
953
+ }
954
+ function W(e, t) {
955
+ let n, r = {}, i = -1;
956
+ for (let a of t) {
957
+ let t = ve(e, a);
958
+ if (t === null) continue;
959
+ let o = ye(a);
960
+ o > i && (n = a, r = t, i = o);
961
+ }
962
+ return n ? {
963
+ route: n,
964
+ params: r
965
+ } : void 0;
966
+ }
967
+ function be(e) {
968
+ function t() {
969
+ return window.location.pathname || "/";
970
+ }
971
+ let n = t(), r = U(e), i = W(n, r), a = p(n), o = p(i?.params ?? {}), s = p(V(window.location.search)), c = [], l = 0;
972
+ function u(e, t, n, r, i) {
973
+ let a = [...c];
974
+ n && a.push(n);
975
+ let o = ++l;
976
+ if (a.length === 0) {
977
+ r();
978
+ return;
979
+ }
980
+ let s = 0;
981
+ function u(n) {
982
+ if (o !== l) return;
983
+ if (n === !1) {
984
+ i?.();
985
+ return;
986
+ }
987
+ if (typeof n == "string") {
988
+ n === e ? r() : h(n);
989
+ return;
990
+ }
991
+ if (s >= a.length) {
992
+ r();
993
+ return;
994
+ }
995
+ let c = a[s++](e, t);
996
+ if (c instanceof Promise) {
997
+ c.then(u);
998
+ return;
999
+ }
1000
+ u(c);
1001
+ }
1002
+ u(void 0);
1003
+ }
1004
+ let d = !1;
1005
+ function f(e, t) {
1006
+ let n = e.indexOf("?"), r = n === -1 ? e : e.slice(0, n), i = n === -1 ? {} : V(e.slice(n)), a = t ? {
1007
+ ...i,
1008
+ ...t
1009
+ } : i, o = {};
1010
+ for (let [e, t] of Object.entries(a)) t != null && t !== !1 && (o[e] = String(t));
1011
+ return {
1012
+ pathname: r,
1013
+ stringQuery: o
1014
+ };
1015
+ }
1016
+ z &&= (z(), null);
1017
+ let m = () => {
1018
+ let e = t(), n = a.value, i = s.value, c = W(e, r), l = V(window.location.search);
1019
+ u(e, n, c?.route.beforeEnter, () => {
1020
+ o.value = c?.params ?? {}, s.value = l, a.value = e;
1021
+ }, () => {
1022
+ history.pushState(null, "", n + H(i));
1023
+ });
1024
+ };
1025
+ window.addEventListener("popstate", m), z = () => window.removeEventListener("popstate", m);
1026
+ function h(e, t) {
1027
+ d = !0;
1028
+ let { pathname: n, stringQuery: i } = f(e, t), c = a.value, l = W(n, r);
1029
+ u(n, c, l?.route.beforeEnter, () => {
1030
+ o.value = l?.params ?? {}, s.value = i, a.value = n, history.pushState(null, "", n + H(i));
1031
+ });
1032
+ }
1033
+ function g(e) {
1034
+ return c.push(e), () => {
1035
+ let t = c.indexOf(e);
1036
+ t !== -1 && c.splice(t, 1);
1037
+ };
1038
+ }
1039
+ let _ = {
1040
+ current: a,
1041
+ params: o,
1042
+ query: s,
1043
+ navigate: h,
1044
+ beforeEach: g,
1045
+ routes: e,
1046
+ _flat: r,
1047
+ _guards: c
1048
+ };
1049
+ return R && console.warn("[Nix] A router already exists. The previous router is being replaced. Only one router instance should be active at a time."), R = _, queueMicrotask(() => {
1050
+ d || u(n, "", W(n, r)?.route.beforeEnter, () => {}, () => {
1051
+ history.replaceState(null, "", "/");
1052
+ let e = W("/", r);
1053
+ a.value = "/", o.value = e?.params ?? {}, s.value = {};
1054
+ });
1055
+ }), _;
1056
+ }
1057
+ function xe() {
1058
+ return B();
1059
+ }
1060
+ var Se = class extends y {
1061
+ _depth;
1062
+ constructor(e = 0) {
1063
+ super(), this._depth = e;
1064
+ }
1065
+ render() {
1066
+ let e = this._depth;
1067
+ return F`<div class="router-view">${() => {
1068
+ let t = B(), n = W(t.current.value, t._flat);
1069
+ return n ? e >= n.route.chain.length ? F`<span></span>` : n.route.chain[e]() : F`<div style="color:#f87171;padding:16px 0">
2
1070
  404 — Ruta no encontrada: <strong>${t.current.value}</strong>
3
- </div>`}}</div>`}},be=class extends _{_to;_label;constructor(e,t){super(),this._to=e,this._label=t}render(){let e=this._to;return I`<a
1071
+ </div>`;
1072
+ }}</div>`;
1073
+ }
1074
+ }, Ce = class extends y {
1075
+ _to;
1076
+ _label;
1077
+ constructor(e, t) {
1078
+ super(), this._to = e, this._label = t;
1079
+ }
1080
+ render() {
1081
+ let e = this._to;
1082
+ return F`<a
4
1083
  href=${e}
5
- style=${()=>B().current.value===e?"color:#38bdf8;font-weight:700;text-decoration:none;cursor:pointer;padding:4px 10px;border-radius:4px;background:#0c2a3a":"color:#a3a3a3;text-decoration:none;cursor:pointer;padding:4px 10px;border-radius:4px"}
6
- @click=${t=>{t.preventDefault(),B().navigate(e)}}
7
- >${this._label}</a>`}};function G(e,t,n={}){let{fallback:r,errorFallback:o,resetOnRefresh:l=!1}=n,i=r??I`
1084
+ style=${() => B().current.value === e ? "color:#38bdf8;font-weight:700;text-decoration:none;cursor:pointer;padding:4px 10px;border-radius:4px;background:#0c2a3a" : "color:#a3a3a3;text-decoration:none;cursor:pointer;padding:4px 10px;border-radius:4px"}
1085
+ @click=${(t) => {
1086
+ t.preventDefault(), B().navigate(e);
1087
+ }}
1088
+ >${this._label}</a>`;
1089
+ }
1090
+ };
1091
+ function G(e, t, n = {}) {
1092
+ let { fallback: r, errorFallback: i, resetOnRefresh: a = !1 } = n, o = r ?? F`
8
1093
  <span style="color:#52525b;font-size:13px;display:inline-flex;align-items:center;gap:6px">
9
1094
  <span class="nix-spinner" style="
10
1095
  display:inline-block;width:14px;height:14px;border-radius:50%;
@@ -14,8 +1099,182 @@ var e=null,t=[],n=null,r=[],i=null,a=[];function o(e){a.push(i),i=e}function s()
14
1099
  Cargando…
15
1100
  </span>
16
1101
  <style>@keyframes nix-spin{to{transform:rotate(360deg)}}</style>
17
- `,a=o??(e=>I`
1102
+ `, s = i ?? ((e) => F`
18
1103
  <span style="color:#f87171;font-size:13px">
19
- ⚠ ${e instanceof Error?e.message:String(e)}
1104
+ ⚠ ${e instanceof Error ? e.message : String(e)}
20
1105
  </span>
21
- `);return new class extends _{_state=d({status:"pending"});onMount(){this._run()}_run(){(l||"pending"===this._state.peek().status)&&(this._state.value={status:"pending"}),e().then(e=>{this._state.value={status:"resolved",data:e}},e=>{this._state.value={status:"error",error:e}})}render(){return I`<div class="nix-suspense" style="display:contents">${()=>{let e=this._state.value;return"pending"===e.status?i:"error"===e.status?a(e.error):t(e.data)}}</div>`}}}function xe(e,t){let n=null;return()=>n?new n:G(async()=>(n=(await e()).default,n),e=>new e,{fallback:t})}function K(e="Required"){return t=>null==t||""===t||Array.isArray(t)&&0===t.length?e:null}function q(e,t){return n=>"string"==typeof n&&n.length<e?t??`Minimum ${e} characters`:null}function J(e,t){return n=>"string"==typeof n&&n.length>e?t??`Maximum ${e} characters`:null}function Y(e,t="Invalid format"){return n=>"string"!=typeof n||e.test(n)?null:t}function X(e="Invalid email"){return Y(/^[^\s@]+@[^\s@]+\.[^\s@]+$/,e)}function Z(e,t){return n=>"number"==typeof n&&n<e?t??`Minimum value is ${e}`:null}function Q(e,t){return n=>"number"==typeof n&&n>e?t??`Maximum value is ${e}`:null}function Se(e){return e}const Ce={required:K,minLength:q,maxLength:J,email:X,pattern:Y,min:Z,max:Q};function we(e,t){return{...e,...t}}function $(e,t=[]){let n=d(e),r=d(!1),o=d(!1),l=d(null),i=p(()=>{if(l.value)return l.value;if(!r.value&&!o.value)return null;for(let e of t){let t=e(n.value);if(t)return t}return null});function a(t){return"boolean"==typeof e?t.checked:"number"==typeof e?Number(t.value):t.value}return{value:n,error:i,touched:r,dirty:o,onInput:e=>{n.value=a(e.target),o.value=!0,l.value=null},onBlur:()=>{r.value=!0},reset:function(){n.value=e,r.value=!1,o.value=!1,l.value=null},_setExternalError:function(e){l.value=e,e&&(r.value=!0)}}}function Te(e,t={}){let n={};for(let r in e){let o=t.validators?.[r]??[];n[r]=$(e[r],o)}let r=p(()=>{let e={};for(let t in n)e[t]=n[t].value.value;return e}),o=p(()=>{let e={};for(let t in n){let r=n[t].error.value;r&&(e[t]=r)}return e}),l=p(()=>{for(let e in n)if(n[e].error.value)return!1;return!0}),i=p(()=>{for(let e in n)if(n[e].dirty.value)return!0;return!1});function a(e){for(let t in e)n[t]?._setExternalError(e[t]??null)}return{fields:n,values:r,errors:o,valid:l,dirty:i,handleSubmit:function(e){return o=>{o.preventDefault();for(let e in n)n[e].touched.value=!0;let l=r.value;if(t.validate){let e=t.validate(l);if(e){let t={},n=!1;for(let r in e){let o=e[r],l=Array.isArray(o)?o[0]??null:o??null;l&&(t[r]=l,n=!0)}if(n)return void a(t)}}for(let e in n)if(n[e].error.value)return;e(l)}},reset:function(){for(let e in n)n[e].reset()},setErrors:a}}export{be as Link,_ as NixComponent,ye as RouterView,u as Signal,m as batch,p as computed,oe as createErrorBoundary,Te as createForm,y as createInjectionKey,O as createPortalOutlet,_e as createRouter,R as createStore,Se as createValidator,f as effect,X as email,we as extendValidators,I as html,E as inject,ae as injectOutlet,xe as lazy,Q as max,J as maxLength,Z as min,q as minLength,L as mount,g as nextTick,Y as pattern,ie as portal,re as portalOutlet,T as provide,A as provideOutlet,D as ref,ne as repeat,K as required,te as showWhen,d as signal,G as suspend,ce as transition,h as untrack,$ as useField,ve as useRouter,Ce as validators,ee as watch};
1106
+ `);
1107
+ class c extends y {
1108
+ _state = p({ status: "pending" });
1109
+ onMount() {
1110
+ this._run();
1111
+ }
1112
+ _run() {
1113
+ (a || this._state.peek().status === "pending") && (this._state.value = { status: "pending" }), e().then((e) => {
1114
+ this._state.value = {
1115
+ status: "resolved",
1116
+ data: e
1117
+ };
1118
+ }, (e) => {
1119
+ this._state.value = {
1120
+ status: "error",
1121
+ error: e
1122
+ };
1123
+ });
1124
+ }
1125
+ render() {
1126
+ return F`<div class="nix-suspense" style="display:contents">${() => {
1127
+ let e = this._state.value;
1128
+ return e.status === "pending" ? o : e.status === "error" ? s(e.error) : t(e.data);
1129
+ }}</div>`;
1130
+ }
1131
+ }
1132
+ return new c();
1133
+ }
1134
+ function we(e, t) {
1135
+ let n = null;
1136
+ return () => n ? new n() : G(async () => (n = (await e()).default, n), (e) => new e(), { fallback: t });
1137
+ }
1138
+ function K(e = "Required") {
1139
+ return (t) => t == null || t === "" || Array.isArray(t) && t.length === 0 ? e : null;
1140
+ }
1141
+ function q(e, t) {
1142
+ return (n) => typeof n == "string" && n.length < e ? t ?? `Minimum ${e} characters` : null;
1143
+ }
1144
+ function J(e, t) {
1145
+ return (n) => typeof n == "string" && n.length > e ? t ?? `Maximum ${e} characters` : null;
1146
+ }
1147
+ function Y(e, t = "Invalid format") {
1148
+ return (n) => typeof n == "string" && !e.test(n) ? t : null;
1149
+ }
1150
+ function X(e = "Invalid email") {
1151
+ return Y(/^[^\s@]+@[^\s@]+\.[^\s@]+$/, e);
1152
+ }
1153
+ function Z(e, t) {
1154
+ return (n) => typeof n == "number" && n < e ? t ?? `Minimum value is ${e}` : null;
1155
+ }
1156
+ function Q(e, t) {
1157
+ return (n) => typeof n == "number" && n > e ? t ?? `Maximum value is ${e}` : null;
1158
+ }
1159
+ function Te(e) {
1160
+ return e;
1161
+ }
1162
+ const Ee = {
1163
+ required: K,
1164
+ minLength: q,
1165
+ maxLength: J,
1166
+ email: X,
1167
+ pattern: Y,
1168
+ min: Z,
1169
+ max: Q
1170
+ };
1171
+ function De(e, t) {
1172
+ return {
1173
+ ...e,
1174
+ ...t
1175
+ };
1176
+ }
1177
+ function $(e, t = []) {
1178
+ let n = p(e), r = p(!1), i = p(!1), a = p(null), o = h(() => {
1179
+ if (a.value) return a.value;
1180
+ if (!r.value && !i.value) return null;
1181
+ for (let e of t) {
1182
+ let t = e(n.value);
1183
+ if (t) return t;
1184
+ }
1185
+ return null;
1186
+ });
1187
+ function s(t) {
1188
+ if (!t || !("value" in t)) return e;
1189
+ let n = t;
1190
+ return typeof e == "boolean" ? n.checked : typeof e == "number" ? Number(n.value) : n.value;
1191
+ }
1192
+ let c = (e) => {
1193
+ n.value = s(e.target), i.value = !0, a.value = null;
1194
+ }, l = () => {
1195
+ r.value = !0;
1196
+ };
1197
+ function u() {
1198
+ n.value = e, r.value = !1, i.value = !1, a.value = null;
1199
+ }
1200
+ function d(e) {
1201
+ a.value = e, e && (r.value = !0);
1202
+ }
1203
+ return {
1204
+ value: n,
1205
+ error: o,
1206
+ touched: r,
1207
+ dirty: i,
1208
+ onInput: c,
1209
+ onBlur: l,
1210
+ reset: u,
1211
+ _setExternalError: d
1212
+ };
1213
+ }
1214
+ function Oe(e, t = {}) {
1215
+ let n = {};
1216
+ for (let r in e) {
1217
+ let i = t.validators?.[r] ?? [];
1218
+ n[r] = $(e[r], i);
1219
+ }
1220
+ let r = h(() => {
1221
+ let e = {};
1222
+ for (let t in n) e[t] = n[t].value.value;
1223
+ return e;
1224
+ }), i = h(() => {
1225
+ let e = {};
1226
+ for (let t in n) {
1227
+ let r = n[t].error.value;
1228
+ r && (e[t] = r);
1229
+ }
1230
+ return e;
1231
+ }), a = h(() => {
1232
+ for (let e in n) if (n[e].error.value) return !1;
1233
+ return !0;
1234
+ }), o = h(() => {
1235
+ for (let e in n) if (n[e].dirty.value) return !0;
1236
+ return !1;
1237
+ });
1238
+ function s(e) {
1239
+ for (let t in e) n[t]?._setExternalError(e[t] ?? null);
1240
+ }
1241
+ function c() {
1242
+ for (let e in n) n[e].reset();
1243
+ }
1244
+ function l(e) {
1245
+ return (i) => {
1246
+ i.preventDefault();
1247
+ for (let e in n) n[e].touched.value = !0;
1248
+ let a = r.value;
1249
+ if (t.validate) {
1250
+ let e = t.validate(a);
1251
+ if (e) {
1252
+ let t = {}, n = !1;
1253
+ for (let r in e) {
1254
+ let i = e[r], a = Array.isArray(i) ? i[0] ?? null : i ?? null;
1255
+ a && (t[r] = a, n = !0);
1256
+ }
1257
+ if (n) {
1258
+ s(t);
1259
+ return;
1260
+ }
1261
+ }
1262
+ }
1263
+ for (let e in n) if (n[e].error.value) return;
1264
+ e(a);
1265
+ };
1266
+ }
1267
+ return {
1268
+ fields: n,
1269
+ values: r,
1270
+ errors: i,
1271
+ valid: a,
1272
+ dirty: o,
1273
+ handleSubmit: l,
1274
+ reset: c,
1275
+ setErrors: s
1276
+ };
1277
+ }
1278
+ export { Ce as Link, y as NixComponent, Se as RouterView, f as Signal, g as batch, h as computed, le as createErrorBoundary, Oe as createForm, x as createInjectionKey, ie as createPortalOutlet, be as createRouter, L as createStore, Te as createValidator, m as effect, X as email, De as extendValidators, F as html, O as inject, ce as injectOutlet, we as lazy, Q as max, J as maxLength, Z as min, q as minLength, I as mount, v as nextTick, Y as pattern, oe as portal, ae as portalOutlet, D as provide, se as provideOutlet, te as ref, re as repeat, K as required, ne as showWhen, p as signal, G as suspend, ue as transition, _ as untrack, $ as useField, xe as useRouter, Ee as validators, ee as watch };
1279
+
1280
+ //# sourceMappingURL=nix-js.js.map