const html = require('choo/html'); module.exports = function(selected, options, translate, changed) { const id = `select-${Math.random()}`; let x = selected; function close() { const ul = document.getElementById(id); const body = document.querySelector('body'); ul.classList.remove('active'); body.removeEventListener('click', close); } function toggle(event) { event.stopPropagation(); const ul = document.getElementById(id); if (ul.classList.contains('active')) { close(); } else { ul.classList.add('active'); const body = document.querySelector('body'); body.addEventListener('click', close); } } function choose(event) { event.stopPropagation(); const target = event.target; const value = +target.dataset.value; target.parentNode.previousSibling.firstElementChild.textContent = translate( value ); if (x !== value) { x = value; changed(value); } close(); } return html`
${translate(selected)}
`; };