funponent src

DOM is a pure function
State is data-* attributes
If it's changed, the view will follow

Use JS console to select component instances and change their dataset properties.

hello component

document.querySelector('#hello').dataset

document.querySelector('#hello').dataset.name = 'funponent'

Another instance of hello

document.querySelector('#another-hello').dataset

document.querySelector('#another-hello').dataset.count = 42

funponent understands SVG

document.querySelector('#svg').dataset

document.querySelector('#svg').dataset.count = 81