export function el(tag, props = {}, ...children) { const node = document.createElement(tag); for (const [k, v] of Object.entries(props || {})) { if (k === 'class') node.className = v; else if (k === 'style' && typeof v === 'object') Object.assign(node.style, v); else if (k.startsWith('on') && typeof v === 'function') node.addEventListener(k.slice(2).toLowerCase(), v); else if (k === 'html') node.innerHTML = v; else if (v !== false && v != null) node.setAttribute(k, v === true ? '' : v); } for (const c of children.flat()) { if (c == null || c === false) continue; node.appendChild(c instanceof Node ? c : document.createTextNode(String(c))); } return node; } export function clear(node) { while (node.firstChild) node.removeChild(node.firstChild); }