ponent

Yet another functional UI library

Usage no npm install needed!

<script type="module">
  import ponent from 'https://cdn.skypack.dev/ponent';
</script>

README

ponent

Yet another functional UI library


const
    { component } = require('ponent'),
    { eq } = require('ramda'),
    { scan } = require('flyd'),
    filter = require('flyd-filter'),
    { button } = require('ponent').html;

const counterButton = component({
    state: (props, events) => ({
        text: scan(
            clicks => clicks + 1,
            0,
            filter(eq('click'), events)
        )
    }),
    element: state => 
        button(
            { onClick: 'click' },
            state.text
        )
});

render(couterButton({}), document.body);