JSFiddle - React, Tailwind, and code Playground

by rich_harris

HTML

<script src="http://cdn.ractivejs.org/edge/ractive.js"></script>
<main></main>

<script id='template' type='text/ractive'>
    <table>
        <thead>
            <tr>
                {{#headers}}
                <th>{{.}}</th>
                {{/headers}}
            </tr>
        </thead>
        
        <tbody>
            {{#records:r}}
            <tr>
                {{#headers}}
                <td><input type='number' value='{{records[r][this]}}'/></td>
                {{/headers}}
            </tr>
            {{/records}}
        </tbody>
    </table>
        
        {{JSON.stringify(records)}}
</script>

CSS

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

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

table {
    text-align: left;
}

JavaScript

var ractive = new Ractive({
    el: 'main',
    template: '#template',
    data: {
        headers: [ 'a', 'b', 'c' ],
        records: [
            { a: 1, b: 2, c: 3 },
            { a: 4, b: 5, c: 6 },
            { a: 7, b: 8, c: 9 }
        ]
    }
});