{
const svg = d3.create("svg").attr("width", 400).attr("height", 50);
const circle = svg
.append("circle")
.attr("cx", viewof xPosition.value)
.attr("cy", 10)
.attr("r", 10);
const update = () => {
circle
.transition()
.duration(500)
.attr("cx", viewof xPosition.value);
};
viewof xPosition.addEventListener("input", update);
invalidation.then(() =>
viewof xPosition.removeEventListener("input", update)
);
return Object.assign(svg.node(), { update });
}