JSFiddle - React, Tailwind, and code Playground

by rich_harris

HTML

<main></main>

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.Foo = Ractive.extend({
    template: '<button on-click="fire(\'method-call\')">click me</button>',
    oninit: function () {
        var r = this;
        setTimeout( function () {
            r.fire( 'programmatic' );
        }, 1000 );
    }
});

var ractive = new Ractive({
    el: 'main',
    template: '<Foo/>'
});

ractive.on( 'Foo.method-call', function () {
    alert( 'method call events bubble' );
    console.log( this.event ); 
});

ractive.on( 'Foo.programmatic', function () {
    alert( 'programmatic events bubble' );
    console.log( this.event );
});