UNPKG

uhtml

Version:
4 lines (3 loc) • 11.3 kB
const t=Symbol.for("preact-signals");function e(){if(s>1)return void s--;let t,e=!1;for(;void 0!==r;){let i=r;for(r=void 0,l++;void 0!==i;){const n=i.o;if(i.o=void 0,i.f&=-3,!(8&i.f)&&a(i))try{i.c()}catch(i){e||(t=i,e=!0)}i=n}}if(l=0,s--,e)throw t}function i(t){if(s>0)return t();s++;try{return t()}finally{e()}}let n,r;function o(t){const e=n;n=void 0;try{return t()}finally{n=e}}let s=0,l=0,c=0;function h(t){if(void 0===n)return;let e=t.n;return void 0===e||e.t!==n?(e={i:0,S:t,p:n.s,n:void 0,t:n,e:void 0,x:void 0,r:e},void 0!==n.s&&(n.s.n=e),n.s=e,t.n=e,32&n.f&&t.S(e),e):-1===e.i?(e.i=0,void 0!==e.n&&(e.n.p=e.p,void 0!==e.p&&(e.p.n=e.n),e.p=n.s,e.n=void 0,n.s.n=e,n.s=e),e):void 0}function f(t){this.v=t,this.i=0,this.n=void 0,this.t=void 0}function u(t){return new f(t)}function a(t){for(let e=t.s;void 0!==e;e=e.n)if(e.S.i!==e.i||!e.S.h()||e.S.i!==e.i)return!0;return!1}function d(t){for(let e=t.s;void 0!==e;e=e.n){const i=e.S.n;if(void 0!==i&&(e.r=i),e.S.n=e,e.i=-1,void 0===e.n){t.s=e;break}}}function p(t){let e,i=t.s;for(;void 0!==i;){const t=i.p;-1===i.i?(i.S.U(i),void 0!==t&&(t.n=i.n),void 0!==i.n&&(i.n.p=t)):e=i,i.S.n=i.r,void 0!==i.r&&(i.r=void 0),i=t}t.s=e}function v(t){f.call(this,void 0),this.x=t,this.s=void 0,this.g=c-1,this.f=4}function y(t){return new v(t)}function g(t){const i=t.u;if(t.u=void 0,"function"==typeof i){s++;const r=n;n=void 0;try{i()}catch(e){throw t.f&=-2,t.f|=8,b(t),e}finally{n=r,e()}}}function b(t){for(let e=t.s;void 0!==e;e=e.n)e.S.U(e);t.x=void 0,t.s=void 0,g(t)}function w(t){if(n!==this)throw new Error("Out-of-order effect");p(this),n=t,this.f&=-2,8&this.f&&b(this),e()}function m(t){this.x=t,this.u=void 0,this.s=void 0,this.o=void 0,this.f=32}function x(t){const e=new m(t);try{e.c()}catch(t){throw e.d(),t}return e.d.bind(e)}f.prototype.brand=t,f.prototype.h=function(){return!0},f.prototype.S=function(t){this.t!==t&&void 0===t.e&&(t.x=this.t,void 0!==this.t&&(this.t.e=t),this.t=t)},f.prototype.U=function(t){if(void 0!==this.t){const e=t.e,i=t.x;void 0!==e&&(e.x=i,t.e=void 0),void 0!==i&&(i.e=e,t.x=void 0),t===this.t&&(this.t=i)}},f.prototype.subscribe=function(t){return x((()=>{const e=this.value,i=n;n=void 0;try{t(e)}finally{n=i}}))},f.prototype.valueOf=function(){return this.value},f.prototype.toString=function(){return this.value+""},f.prototype.toJSON=function(){return this.value},f.prototype.peek=function(){const t=n;n=void 0;try{return this.value}finally{n=t}},Object.defineProperty(f.prototype,"value",{get(){const t=h(this);return void 0!==t&&(t.i=this.i),this.v},set(t){if(t!==this.v){if(l>100)throw new Error("Cycle detected");this.v=t,this.i++,c++,s++;try{for(let t=this.t;void 0!==t;t=t.x)t.t.N()}finally{e()}}}}),(v.prototype=new f).h=function(){if(this.f&=-3,1&this.f)return!1;if(32==(36&this.f))return!0;if(this.f&=-5,this.g===c)return!0;if(this.g=c,this.f|=1,this.i>0&&!a(this))return this.f&=-2,!0;const t=n;try{d(this),n=this;const t=this.x();(16&this.f||this.v!==t||0===this.i)&&(this.v=t,this.f&=-17,this.i++)}catch(t){this.v=t,this.f|=16,this.i++}return n=t,p(this),this.f&=-2,!0},v.prototype.S=function(t){if(void 0===this.t){this.f|=36;for(let t=this.s;void 0!==t;t=t.n)t.S.S(t)}f.prototype.S.call(this,t)},v.prototype.U=function(t){if(void 0!==this.t&&(f.prototype.U.call(this,t),void 0===this.t)){this.f&=-33;for(let t=this.s;void 0!==t;t=t.n)t.S.U(t)}},v.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(let t=this.t;void 0!==t;t=t.x)t.t.N()}},Object.defineProperty(v.prototype,"value",{get(){if(1&this.f)throw new Error("Cycle detected");const t=h(this);if(this.h(),void 0!==t&&(t.i=this.i),16&this.f)throw this.v;return this.v}}),m.prototype.c=function(){const t=this.S();try{if(8&this.f)return;if(void 0===this.x)return;const t=this.x();"function"==typeof t&&(this.u=t)}finally{t()}},m.prototype.S=function(){if(1&this.f)throw new Error("Cycle detected");this.f|=1,this.f&=-9,g(this),d(this),s++;const t=n;return n=this,w.bind(this,t)},m.prototype.N=function(){2&this.f||(this.f|=2,this.o=r,r=this)},m.prototype.d=function(){this.f|=8,1&this.f||b(this)};const{isArray:C}=Array,{getPrototypeOf:S,getOwnPropertyDescriptor:N}=Object,$=[],O=()=>document.createRange(),k=(t,e,i)=>(t.set(e,i),i),W=(t,e)=>e.reduceRight(M,t),M=(t,e)=>t.childNodes[e],{setPrototypeOf:A}=Object;let E;var j=(t,e,i)=>(E||(E=O()),i?E.setStartAfter(t):E.setStartBefore(t),E.setEndAfter(e),E.deleteContents(),t);const T=({firstChild:t,lastChild:e},i)=>j(t,e,i);let P=!1;const U=(t,e)=>P&&11===t.nodeType?1/e<0?e?T(t,!0):t.lastChild:e?t.valueOf():t.firstChild:t,B=t=>document.createComment(t);class D extends((t=>{function e(t){return A(t,new.target.prototype)}return e.prototype=t.prototype,e})(DocumentFragment)){#t=B("<>");#e=B("</>");#i=$;constructor(t){super(t),this.replaceChildren(this.#t,...t.childNodes,this.#e),P=!0}get firstChild(){return this.#t}get lastChild(){return this.#e}get parentNode(){return this.#t.parentNode}remove(){T(this,!1)}replaceWith(t){T(this,!0).replaceWith(t)}valueOf(){const{parentNode:t}=this;if(t===this)this.#i===$&&(this.#i=[...this.childNodes]);else{if(t){let{firstChild:t,lastChild:e}=this;for(this.#i=[t];t!==e;)this.#i.push(t=t.nextSibling)}this.replaceChildren(...this.#i)}return this}}const R=(t,e,i)=>t.setAttribute(e,i),z=(t,e)=>t.removeAttribute(e);let F;const L=(t,e,i)=>{i=i.slice(1),F||(F=new WeakMap);const n=F.get(t)||k(F,t,{});let r=n[i];return r&&r[0]&&t.removeEventListener(i,...r),r=C(e)?e:[e,!1],n[i]=r,r[0]&&t.addEventListener(i,...r),e},Z=(t,e)=>{const{t:i,n:n}=t;let r=!1;switch(typeof e){case"object":if(null!==e){(n||i).replaceWith(t.n=e.valueOf());break}case"undefined":r=!0;default:i.data=r?"":e,n&&(t.n=null,n.replaceWith(i))}return e},G=(t,e,i)=>t[i]=e,H=(t,e,i)=>G(t,e,i.slice(1)),J=(t,e,i)=>null==e?(z(t,i),e):G(t,e,i),V=(t,e)=>("function"==typeof e?e(t):e.current=t,e),_=(t,e,i)=>(null==e?z(t,i):R(t,i,e),e),q=(t,e,i)=>(t.toggleAttribute(i.slice(1),e),e),I=(t,e,i)=>{const{length:n}=e;if(t.data=`[${n}]`,n)return((t,e,i,n,r)=>{const o=i.length;let s=e.length,l=o,c=0,h=0,f=null;for(;c<s||h<l;)if(s===c){const e=l<o?h?n(i[h-1],-0).nextSibling:n(i[l],0):r;for(;h<l;)t.insertBefore(n(i[h++],1),e)}else if(l===h)for(;c<s;)f&&f.has(e[c])||t.removeChild(n(e[c],-1)),c++;else if(e[c]===i[h])c++,h++;else if(e[s-1]===i[l-1])s--,l--;else if(e[c]===i[l-1]&&i[h]===e[s-1]){const r=n(e[--s],-0).nextSibling;t.insertBefore(n(i[h++],1),n(e[c++],-0).nextSibling),t.insertBefore(n(i[--l],1),r),e[s]=i[l]}else{if(!f){f=new Map;let t=h;for(;t<l;)f.set(i[t],t++)}if(f.has(e[c])){const r=f.get(e[c]);if(h<r&&r<l){let o=c,u=1;for(;++o<s&&o<l&&f.get(e[o])===r+u;)u++;if(u>r-h){const o=n(e[c],0);for(;h<r;)t.insertBefore(n(i[h++],1),o)}else t.replaceChild(n(i[h++],1),n(e[c++],-1))}else c++}else t.removeChild(n(e[c++],-1))}return i})(t.parentNode,i,e,U,t);switch(i.length){case 1:i[0].remove();case 0:break;default:j(U(i[0],0),U(i.at(-1),-0),!1)}return $},K=new Map([["aria",(t,e)=>{for(const i in e){const n=e[i],r="role"===i?i:`aria-${i}`;null==n?z(t,r):R(t,r,n)}return e}],["class",(t,e)=>J(t,e,null==e?"class":"className")],["data",(t,e)=>{const{dataset:i}=t;for(const t in e)null==e[t]?delete i[t]:i[t]=e[t];return e}],["ref",V],["style",(t,e)=>null==e?J(t,e,"style"):G(t.style,e,"cssText")]]),Q=(t,e,i)=>{switch(e[0]){case".":return H;case"?":return q;case"@":return L;default:return i||"ownerSVGElement"in t?"ref"===e?V:_:K.get(e)||(e in t?e.startsWith("on")?G:((t,e)=>{let i;do{i=N(t,e)}while(!i&&(t=S(t)));return i})(t,e)?.set?J:_:_)}},X=(t,e)=>(t.textContent=null==e?"":e,e),Y=(t,e,i)=>({a:t,b:e,c:i}),tt=(t,e,i,n)=>({v:$,u:t,t:e,n:i,c:n}),et=()=>Y(null,null,$);var it=t=>(e,i)=>{const{a:n,b:r,c:o}=t(e,i),s=document.importNode(n,!0);let l=$;if(r!==$){l=[];for(let t,e,i=0;i<r.length;i++){const{a:n,b:o,c:c}=r[i],h=n===e?t:t=W(s,e=n);l[i]=tt(o,h,c,o===I?[]:o===Z?et():null)}}return((t,e)=>({b:t,c:e}))(o?s.firstChild:new D(s),l)};const nt=/^(?:plaintext|script|style|textarea|title|xmp)$/i,rt=/^(?:area|base|br|col|embed|hr|img|input|keygen|link|menuitem|meta|param|source|track|wbr)$/i,ot=/<([a-zA-Z0-9]+[a-zA-Z0-9:._-]*)([^>]*?)(\/?)>/g,st=/([^\s\\>"'=]+)\s*=\s*(['"]?)\x01/g,lt=/[\x01\x02]/g;let ct,ht,ft=document.createElement("template");var ut=(t,e)=>{if(e)return ct||(ct=document.createElementNS("http://www.w3.org/2000/svg","svg"),ht=O(),ht.selectNodeContents(ct)),ht.createContextualFragment(t);ft.innerHTML=t;const{content:i}=ft;return ft=ft.cloneNode(!1),i};const at=t=>{const e=[];let i;for(;i=t.parentNode;)e.push(e.indexOf.call(i.childNodes,t)),t=i;return e},dt=()=>document.createTextNode(""),pt=(t,e,i)=>{const n=ut(((t,e,i)=>{let n=0;return t.join("").trim().replace(ot,((t,e,n,r)=>`<${e}${n.replace(st,"=$2$1").trimEnd()}${r?i||rt.test(e)?" /":`></${e}`:""}>`)).replace(lt,(t=>""===t?`\x3c!--${e+n++}--\x3e`:e+n++))})(t,yt,i),i),{length:r}=t;let o=$;if(r>1){const t=[],s=document.createTreeWalker(n,129);let l=0,c=`${yt}${l++}`;for(o=[];l<r;){const n=s.nextNode();if(8===n.nodeType){if(n.data===c){const i=C(e[l-1])?I:Z;i===Z&&t.push(n),o.push(Y(at(n),i,null)),c=`${yt}${l++}`}}else{let t;for(;n.hasAttribute(c);){t||(t=at(n));const e=n.getAttribute(c);o.push(Y(t,Q(n,e,i),e)),z(n,c),c=`${yt}${l++}`}!i&&nt.test(n.localName)&&n.textContent.trim()===`\x3c!--${c}--\x3e`&&(o.push(Y(t||at(n),X,null)),c=`${yt}${l++}`)}}for(l=0;l<t.length;l++)t[l].replaceWith(dt())}const{childNodes:s}=n;let{length:l}=s;return l<1?(l=1,n.appendChild(dt())):1===l&&1!==r&&1!==s[0].nodeType&&(l=0),k(vt,t,Y(n,o,1===l))},vt=new WeakMap,yt="isµ";var gt=t=>(e,i)=>vt.get(e)||pt(e,i,t);const bt=it(gt(!1)),wt=it(gt(!0)),mt=(t,{s:e,t:i,v:n})=>{if(t.a!==i){const{b:r,c:o}=(e?wt:bt)(i,n);t.a=i,t.b=r,t.c=o}for(let{c:e}=t,i=0;i<e.length;i++){const t=n[i],r=e[i];switch(r.u){case I:r.v=I(r.t,xt(r.c,t),r.v);break;case Z:const e=t instanceof Ct?mt(r.c||(r.c=et()),t):(r.c=null,t);e!==r.v&&(r.v=Z(r,e));break;default:t!==r.v&&(r.v=r.u(r.t,t,r.n,r.v))}}return t.b},xt=(t,e)=>{let i=0,{length:n}=e;for(n<t.length&&t.splice(n);i<n;i++){const n=e[i];n instanceof Ct?e[i]=mt(t[i]||(t[i]=et()),n):t[i]=null}return e};class Ct{constructor(t,e,i){this.s=t,this.t=e,this.v=i}toDOM(t=et()){return mt(t,this)}} /*! (c) Andrea Giammarchi - MIT */const St=t=>(e,...i)=>new Ct(t,e,i),Nt=St(!1),$t=St(!0),Ot=new WeakMap;var kt=(t,e,i)=>{const n=Ot.get(t)||k(Ot,t,et()),{b:r}=n,o=e,s=o instanceof Ct?o.toDOM(n):o;return r!==s&&t.replaceChildren((n.b=s).valueOf()),t}; /*! (c) Andrea Giammarchi - MIT */const Wt=new WeakMap,Mt=t=>(e,i)=>{const n=Wt.get(e)||k(Wt,e,new Map);return n.get(i)||k(n,i,function(e,...i){return new Ct(t,e,i).toDOM(this)}.bind(et()))},At=Mt(!1),Et=Mt(!0),jt=new FinalizationRegistry((([t,e,i])=>{i&&console.debug(`%c${String(e)}`,"font-weight:bold","collected"),t(e)})),Tt=Object.create(null),Pt=new WeakMap,Ut=t=>t();let Bt=!0;const Dt=t=>{const e=Pt.get(t);var i;e&&(Bt&&Pt.delete(t),i=e,jt.unregister(i),e())},Rt=(zt=x,(t,e)=>{if(Bt="function"!=typeof e,Dt(t),Bt)return kt(t,e);Bt=!0;const i=new WeakRef(t),n=zt((()=>{kt(i.deref(),e())}));return Pt.set(t,n),((t,e,{debug:i,handler:n,return:r,token:o=t}=Tt)=>{const s=r||new Proxy(t,n||Tt),l=[s,[e,t,!!i]];return!1!==o&&l.push(o),jt.register(...l),s})(n,Ut,{return:t})});var zt;export{Ct as Hole,f as Signal,K as attr,i as batch,y as computed,Dt as detach,x as effect,Nt as html,At as htmlFor,Rt as render,u as signal,$t as svg,Et as svgFor,o as untracked};