JSFiddle - React, Tailwind, and code Playground
by rich_harris
HTML
<script src="http://cdn.ractivejs.org/0.5.8/ractive.js"></script>
<main></main>
<script id='template' type='text/ractive'>
{{#if show}}
<widget/>
{{/if}}
</script>
<script id='widget' type='text/ractive'>
<div>
<box>
<p>some content</p>
</box>
</div>
</script>
<script id='box' type='text/ractive'>
<div decorator='check' style='border: 1px solid black;'>
{{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;
}
.error {
color: #d00;
font-family: monospace;
}
JavaScript
Ractive.components.widget = Ractive.extend({
template: '#widget'
});
Ractive.components.box = Ractive.extend({
template: '#box',
decorators: {
check: function ( node ) {
node.textContent = 'should be true: `document.contains(node)` -> ' + document.contains(node);
return {
teardown: function () {}
};
}
}
});
var ractive = new Ractive({
el: 'main',
template: '#template',
data: {
show: true
}
});