JSFiddle - React, Tailwind, and code Playground

by rich_harris

HTML

<script src="http://cdn.ractivejs.org/edge/ractive.js"></script>
<script src="https://rawgit.com/ractivejs/ractive-transitions-fade/master/ractive-transitions-fade.js"></script>
<main></main>

<script id='template' type='text/ractive'>
    {{#if showBox}}
        <div class='box' intro='wait:2000' outro='wait:200'></div>
    {{/if}}
</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;
}

.box {
    width: 100px;
    height: 100px;
    background-color: red;
}

JavaScript

var ractive = new Ractive({
    el: 'main',
    template: '#template',
    transitions: {
        wait: function ( t, ms ) {
            setTimeout( t.complete, ms );
        }
    }
});

ractive.set( 'showBox', true ).then( function () {
    console.log( 'intro complete' );
});

setTimeout( function () {
    console.log( 'hiding box' );
    ractive.set( 'showBox', false ).then( function () {
        console.log( 'outro complete' );
    });
}, 1000 );