JSFiddle - React, Tailwind, and code Playground

by rich_harris

HTML

<main></main>

<script id='template' type='text/ractive'>
    <h2>filtered</h2>
    {{#each filtered(items)}}
        <li><input value='{{this.name}}'/></li>
    {{/each}}
            
    <h2>unfiltered</h2>
    {{#each items}}
        <li>{{this.name}}</li>
    {{/each}}
</script>

CSS

body {
    font-family: 'Helvetica Neue', arial, sans-serif;
    font-weight: 200;
    color: #353535;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 200;
}

.error {
    color: #d00;
    font-family: monospace;
}

JavaScript

var ractive = new Ractive({
    el: 'main',
    template: '#template',
    data: {
        items: [
            { name: 'alice' },
            { name: 'bob' },
            { name: 'charles' },
            { name: 'xavier' },
            { name: 'yvonne' },
            { name: 'zebedee' }
        ],
        filtered: function ( items ) {
            return items.filter( function ( item ) {
                return item.name.toLowerCase().charCodeAt( 0 ) <= 109;
            });
        }
    }
});