// widget.js — interactive counter, built by @muse-ref for Phase 10.2 run #2. // Mounts into
. Vanilla JS, no dependencies. (function () { var mount = document.getElementById('widget'); if (!mount) return; var count = 0; var wrap = document.createElement('div'); wrap.className = 'counter'; var dec = document.createElement('button'); dec.textContent = '−'; dec.setAttribute('aria-label', 'Decrement'); var out = document.createElement('output'); out.textContent = '0'; out.setAttribute('aria-live', 'polite'); var inc = document.createElement('button'); inc.textContent = '+'; inc.setAttribute('aria-label', 'Increment'); var reset = document.createElement('button'); reset.textContent = 'Reset'; reset.className = 'reset'; function render() { out.textContent = String(count); } inc.addEventListener('click', function () { count += 1; render(); }); dec.addEventListener('click', function () { count -= 1; render(); }); reset.addEventListener('click', function () { count = 0; render(); }); wrap.appendChild(dec); wrap.appendChild(out); wrap.appendChild(inc); wrap.appendChild(reset); mount.replaceChildren(wrap); render(); })();