// Tiny DOM builder: el('a', { class, href, onclick }, ...children). Attributes // that are null/undefined/false are skipped; on* keys become event listeners. export function el(tag, attrs = {}, ...children) { const node = document.createElement(tag); for (const [key, value] of Object.entries(attrs)) { if (value === undefined || value === null || value === false) continue; if (key === 'class') node.className = value; else if (key.startsWith('on')) node.addEventListener(key.slice(2), value); else node.setAttribute(key, value === true ? '' : value); } node.append(...children.filter((c) => c !== null && c !== undefined)); return node; }