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'>
    <h1>Dynamic templates</h1>
    <widget type='one' partial='a'/>
    <widget type='one' partial='b'/>
    <widget type='two'/>
</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.widget = Ractive.extend({
    template: function ( data ) {
        if ( data.type === 'two' ) {
            return '<p>Type one! {{>insert}}</p>'
        }
        
        return '<p><strong>Type two!</strong>{{>insert}}</p>';
    },
    partials: {
        insert: function ( data ) {
            return data.partial === 'a' ? 'Using partial A' : 'Using partial B';
        }
    }
});

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