slider = function(title, value, min, max, step) {
const slider = document.createElement('input');
slider.setAttribute('type', 'range');
slider.setAttribute('min', min);
slider.setAttribute('max', max);
slider.setAttribute('step', step);
slider.value = value;
const valueLabel = document.createElement('label');
valueLabel.style['margin-left'] = '0.5em';
const update = () => valueLabel.innerText = slider.value;
slider.addEventListener('input', update);
update();
return form(
{
get() { return +slider.value; },
set(v) { slider.value = +v; update(); }
},
label(title), slider, valueLabel
);
}