class TokenList{constructor(e){this.sift(e).map(this.tokenize,this)}tokenize(e){(e.text=e.textContent).match(/[^{\}]+(?=})/g).map((e=>t=>(this[t]=this[t]||[]).push(e))(e))}sift(e){const t=[],n=/{(\w+|#)}/,s=e=>n.test(e.textContent)&&t.push(e),o=e=>[...e].map(e=>n.test(e.value)&&t.push(e)),r=document.createNodeIterator(e,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT,e=>e.nodeType===Node.TEXT_NODE?s(e):o(e.attributes)&&NodeFilter.FILTER_REJECT,null);for(;r.nextNode(););return t}bind(e){Object.keys(this).map(e=>this[e].map(e=>e.textContent=e.text)&&[e,this[e]]).map(([t,n])=>n.map(n=>n.textContent=n.textContent.replace(...["{"+t+"}",e[t]])))}}const HTMLElement=(e=>{const t=function(){};return t.prototype=e.prototype,t})(window.HTMLElement);(e=>{function t(){[].slice.call(document.querySelectorAll('link[id*="-"]')).map(n)}function n(e,t){(t=new XMLHttpRequest).open("GET",e.href),t.responseType="document",t.send(),t.onload=function(t){const n=this.responseXML,s=n.querySelector("template"),o=n.querySelectorAll("script,style,link[rel=stylesheet]"),r=document.getElementsByTagName(e.id);[].slice.call(r).map(e=>e.innerHTML=s.innerHTML);for(let e of o)t=document.createElement(e.tagName),e.rel&&(t.rel=e.rel),e.src&&(t.src=e.src),e.href&&(t.href=e.href),e.textContent&&(t.textContent=e.textContent),document.head.appendChild(t)}}void document.readyState?document.addEventListener("DOMContentLoaded",t):t()})(window.HTMLLinkElement);const Template=HTMLTemplateElement=function(e){return e="string"==typeof e?document.querySelector("template[name="+e+"]"):e,e=this===HTMLTemplateElement?e.cloneNode(!0):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,s=[].concat(...[e]);const o="object"==typeof s[0]?Object.keys(s[0]):[].concat(["#","self"]),r=o.map(e=>"{"+e+"}"),l=document.createElement("template");(this.dependents||[]).map(e=>e.parentNode.removeChild(e));for(let c=0;c<s.length;c++)t+=((e,t)=>{let s=n;(e="object"==typeof e?e:{self:e})["#"]=t;for(let n=0;n<r.length;n++)s=s.split(r[n]).join(e[o[n]]);return s})(s[c],c);l.innerHTML=t;var i=(l.content||l).childNodes;this.dependents=Array.apply(null,i),this.comment.after&&this.comment.after(...this.dependents),!this.comment.after&&this.dependents.reverse().map(e=>this.comment.parentNode.insertBefore(e,this.comment.nextSibling))}})};!window.customElements&&(window.customElements={}),new class{constructor({define:e,get:t,whenDefined:n}=customElements){window.customElements.define=this._define(void 0).bind(this)}_define(e=(e=>{})){return(t,n,s)=>e.apply(window.customElements,this.register(t,n))}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=>[].slice.call(document.getElementsByTagName(e)).map(this.upgrade(t))}upgrade(e){return t=>Object.setPrototypeOf(t,e.prototype).connectedCallback&&t.connectedCallback()}swizzle(e,...t){}};const 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]}},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()}},GlobalEventHandlers=e=>class extends e{onconnect(e,t){return this.templates=this.selectAll("template[name]").map(e=>new Template(e)),this.tokens=new TokenList(this),super.onconnect&&super.onconnect(),this}reflect(e){/^on/.test(e)&&e in HTMLElement.prototype&&this.on(e.substr(2),this[e])}register(e){[].slice.call(e.attributes).map(e=>e.name).map((t,n)=>/^on/.test(t)&&(n=(/{\s*(\w+)\s*}/.exec(e[t])||[])[1])&&(n=this[n])&&(e[t]=this.renderable(n)))}},Custom=e=>class extends(ParentNode(EventTarget(GlobalEventHandlers(e)))){connectedCallback(){console.warn("Connected",this.localName),this.context={},super.initialize&&super.initialize(),Object.getOwnPropertyNames(e.prototype).map(this.reflect,this),this.onconnect().render()}render(){this.tokens.bind(this),this.templates.map(e=>e.bind(this[e.name])),[this,...this.selectAll("*")].map(this.register,this),super.onidle&&super.onidle()}},Element=(e=>{const t=e=>{console.warn("Setting up Element",e);const t="string"==typeof e;return n=>window.customElements.define(...[].concat(...[e]),Custom(n),{constructor:t})};return t.prototype=e.prototype,t})(window.Element);
@@ -1016,15 +1016,8 @@
 ll(%22
-script,
 styl
@@ -1038,16 +1038,36 @@
 lesheet%5D
+,script%5Btype=export%5D
 %22),r=doc

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