new class{constructor(){Object.getOwnPropertyDescriptors||Object.defineProperty(Object,"getOwnPropertyDescriptors",this.descriptor)}get descriptor(){return{writable:!0,configurable:!0,value:this.getOwnPropertyDescriptors}}getOwnPropertyDescriptors(e){return Object.getOwnPropertyNames(e).reduce((t,n)=>Object.defineProperty(t,n,{writable:!0,enumerable:!0,configurable:!0,value:Object.getOwnPropertyDescriptor(e,n)}),{})}},window.HTMLElement=function(e){const t=function(){console.dir(this.constructor)};return t.prototype=e.prototype,t.prototype.constructor=e,t}(HTMLElement),!window.customElements&&(window.customElements={}),new class{constructor({define:e,get:t,whenDefined:n}=customElements){window.customElements.define=this._define(e).bind(this)}_define(e=(e=>{})){return this.running=void 0,(e,t,n)=>{console.warn("Definining",e,t,n),(e=>{}).apply(window.customElements,this.register(e,t))}}register(e,t){return(this[e]=t).localName=e,"loading"===document.readyState&&document.addEventListener("DOMContentLoaded",this.queue(...arguments)),arguments}queue(e,t,n){return n=>{let r=document.body.querySelectorAll(e);[].slice.call(r).map(this.upgrade(t))}}upgrade(e){return function(t){(t=Object.setPrototypeOf(t,e.prototype)).initialize&&t.initialize(),t.connectedCallback&&t.connectedCallback()}}static swizzle(e,...t){return definition}};const HTMLLinkElement=function(e){const t=new Event("load"),n=document.querySelector("link[href*="+e+"][rel=import]");return(t.target=n)&&window.HTMLImports&&!window.HTMLImports.useNative&&HTMLImports.whenReady(e=>n.dispatchEvent(t)),n};class TokenList{constructor(e){this.sift(e).map(this.tokenize,this)}tokenize(e){(e.text=e.textContent).match(/([^{]*?)(\w|#)(?=\})/g).map((e=>t=>(this[t]=this[t]||[]).push(e))(e))}sift(e){const t=[],n=/{(\w+|#)}/,r=e=>n.test(e.textContent)&&t.push(e),o=e=>[].slice.call(e).map(e=>n.test(e.value)&&t.push(e)),s=document.createNodeIterator(e,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT,e=>e.nodeType===Node.TEXT_NODE?r(e):o(e.attributes)&&NodeFilter.FILTER_REJECT,null);for(;s.nextNode(););return t}bind(e){for(let t of Object.keys(this))this[t].map(e=>e.textContent=e.text);for(let t of Object.keys(this))this[t].map(((t,n="{"+t+"}")=>r=>r.textContent=r.textContent.replace(n,e[t]))(t))}}const Template=HTMLTemplateElement=function(e){return e="string"==typeof e?document.querySelector("template[name="+e+"]"):e,e.name=e.getAttribute("name"),e.comment=document.createComment(e.name),e.parentNode.replaceChild(e.comment,e),Object.defineProperty(e,"bind",{value:function(e){let t="",n=this.innerHTML,r=[].concat(...[e]);const o="object"==typeof r[0]?Object.keys(r[0]):[].concat(["#","self"]),s=o.map(e=>"{"+e+"}"),i=document.createElement("template");(this.dependents||[]).map(e=>e.parentNode.removeChild(e));for(let l=0;l<r.length;l++)t+=((e,t)=>{let r=n;(e="object"==typeof e?e:{self:e})["#"]=t;for(let n=0;n<s.length;n++)r=r.split(s[n]).join(e[o[n]]);return r})(r[l],l);i.innerHTML=t;var c=(i.content||i).childNodes;this.dependents=Array.apply(null,c),this.comment.after&&this.comment.after(...this.dependents),!this.comment.after&&this.dependents.reverse().map(e=>this.comment.parentNode.insertBefore(e,this.comment.nextSibling))},writable:!0,configurable:!0}),e},EventTarget=e=>class extends e{on(e,t){this.addEventListener(e,this.renderable(t))}renderable(e){return(t,n=!0)=>(t.prevent=(e=>(n=!1)&&t.preventDefault()))&&!1!==e.call(this,t)&&n&&this.render()}},ParentNode=e=>class extends e{selectAll(e,...t){e=[].concat(...[e]);const n=t.reduce((t,n)=>t+n+e.shift(),e.shift());return[].slice.call(this.querySelectorAll(n))}select(...e){return this.selectAll(...e)[0]}},GlobalEventHandlers=e=>class extends e{onconnect(e,t){return this.templates=[].slice.call(this.selectAll("template[name]")).map(e=>new Template(e)),this.tokens=new TokenList(this),super.onconnect&&super.onconnect(),this}reflect(e,t){(t=(e.match(/^on(.+)$/)||[])[1])&&HTMLElement.prototype.hasOwnProperty(e)&&this.on(t,this[e])}register(e){[].slice.call(e.attributes).map(e=>e.name).filter(e=>/^on/.test(e)).map((t,n)=>(n=/{\s*(\w+)\s*}/.exec(e[t]))&&(n=this[(n||[])[1]])&&(e[t]=this.renderable(n)))}},Custom=e=>class extends(EventTarget(ParentNode(GlobalEventHandlers(e)))){constructor(){super()}initialize(){let t=Object.getOwnPropertyDescriptors(e.prototype);return Object.keys(t).map(e=>"function"==typeof t[e].value&&(this[e]=this[e].bind(this))),Object.getOwnPropertyNames(e.prototype).map(this.reflect,this),this.context={},super.initialize&&super.initialize(),this}connectedCallback(){super.connectedCallback&&super.connectedCallback(),this.onconnect().render()}render(){this.templates.map(e=>e.bind(this[e.name])),this.tokens.bind(this),[].slice.call(this.selectAll("*")).concat([this]).map(this.register,this),super.onidle&&super.onidle()}},ElementPrototype=window.Element.prototype,Element=e=>{const t="string"==typeof e;return n=>{window.customElements.define(...[].concat(...[e]),Custom(n),{prototype:t})}};(e=>{const t="string"==typeof e;return n=>{window.customElements.define(...[].concat(...[e]),Custom(n),{prototype:t})}}).prototype=ElementPrototype;
@@ -2387,16 +2387,63 @@
 %22%5D%22):e,e
+=this===HTMLTemplateElement?e.cloneNode(!0):e,e
 .name=e.

bump ??? distribution dist/snuggsi.min.es.js