const html = String.raw; const css = String.raw; export function $(selector, root = document) { return root.querySelector(selector); } export function $$(selector, root = document) { return Array.from(root.querySelectorAll(selector)); } export function $elem(tagName, props, ...children) { const element = document.createElement(tagName); if (props) { for (const key of Object.keys(props)) { if (key in element) { element[key] = props[key]; } else { element.setAttribute(key, props[key]); } } } element.append(...children); return element; } class SiteNav extends HTMLElement { connectedCallback() { this.innerHTML = html` `; } } customElements.define("site-nav", SiteNav); class SiteFooter extends HTMLElement { connectedCallback() { this.innerHTML = html` `; $("[data-slot='year']", this).textContent = new Date().getFullYear(); } } customElements.define("site-footer", SiteFooter); class SiteCopyright extends HTMLElement { connectedCallback() { this.innerHTML = html` © Sage Fennel `; $("[data-slot='year']", this).textContent = new Date().getFullYear(); } } customElements.define("site-copyright", SiteCopyright);