JSFiddle - React, Tailwind, and code Playground

HTML

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

<script id='template' type='text/ractive'>
    <p>The value of <code>foo</code> is {{foo}}</p>
    
    <fancy-box>
        <button on-click='set("foo",foo+1)'>increment foo: {{foo}}</button>
        <button on-click='alert'>alert!</button>
    </fancy-box>
</script>

<script id='fancy-box' type='text/ractive'>
    <div>{{yield}}</div>
</script>

CSS

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

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

JavaScript

Ractive.components[ 'fancy-box' ] = Ractive.extend({
    template: '#fancy-box'});

var ractive = new Ractive({
    el: 'main',
    template: '#template',
    data: {
        foo: 0
    }
});

ractive.on( 'alert', function () {
    alert( 'Look ma, no on-alert="alert"!' );
});