Some super generic components something along the lines of...
// components/select.js
function Select (collection) {
h('select',
collection.map(option => {
h('option', { value: option.id, name: option.name })
})
)
}
// components/are-you-sure.js
function AreYouSure (form, goBack) {
h('div', { classList: ['are-you-sure'] }, [
h('h2', 'Are you sure?'),
h('button', { 'ev-click': (e) => goBack() }, 'No'),
h('button', { 'ev-click': (e) => form.submit() }, 'Yes')
])
}