import {getElementOrThrow, getOneElementOrThrow} from "./element.js"; /** * @param {string} name */ export const getTemplate = (name) => { /** * @type {HTMLTemplateElement} */ const template = getOneElementOrThrow(document, `[data-template=${name}]`); const element = template.content.cloneNode(true); /** * @param {string} selector * @returns {HTMLElement} */ const el = (selector) => getElementOrThrow(element, `[data-el=${selector}]`); const render = () => element; return { el, render } }