JSFiddle - React, Tailwind, and code Playground

by rich_harris

HTML

<main></main>

<script id='template' type='text/ractive'>
    <input value='{{foo.bar}}'/>
    <button on-click='updateFoo()'>update</button>
    
    <Widget/>
</script>

<script id='Widget' type='text/html'>
    <p>bar: {{bar}}</p>
</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

Ractive.components.Widget = Ractive.extend({
    template: '#Widget'
});

var ractive = new Ractive({
    el: 'main',
    template: '#template',
    twoway: false,
    data: {
        foo: {
            bar: 'change me'
        }
    }
});

ractive.observe( 'foo.bar', function ( bar ) {
    ractive.findComponent( 'Widget' ).set( 'bar', bar );
});