JSFiddle - React, Tailwind, and code Playground
HTML
<script src="http://yui.yahooapis.com/3.9.1/build/yui/yui-min.js"></script>
<script>
YUI.add('widget-buttons-patches', function(Y) {
var WidgetStdMod = Y.WidgetStdMod,
WidgetButtons = Y.WidgetButtons;
Y.WidgetButtons.prototype._getButtonContainer = function(section, create){
var sectionClassName = WidgetStdMod.SECTION_CLASS_NAMES[section],
buttonsClassName = WidgetButtons.CLASS_NAMES.buttons,
contentBox = this.get('contentBox'),
containerSelector, container;
// Search for an existing buttons container within the section.
containerSelector = '.' + sectionClassName + ' .' + buttonsClassName;
// Search only inside the current widget
contentBox.all(containerSelector).some(function(node){
var widget = Y.Widget.getByNode(node),
isBelongs = !widget || widget === this;
if (isBelongs) {
container = node;
}
return isBelongs;
}, this);
// Create the `container` if it doesn't already exist.
if (!container && create) {
container = Y.Node.create(this.BUTTONS_TEMPLATE);
container.addClass(buttonsClassName);
}
return container;
};
});
YUI.add('widget-stdmod-patches', function(Y) {
var HEADER_CONTENT = 'headerContent',
BODY_CONTENT = 'bodyContent',
FOOTER_CONTENT = 'footerContent',
FILL_HEIGHT = 'fillHeight',
STD_HEADER = 'header',
STD_BODY = 'body',
STD_FOOTER = 'footer',
StdMod = Y.WidgetStdMod,
CONTENT_SUFFIX = 'Content',
ContentUpdate = 'ContentUpdate',
L = Y.Lang,
UI = 'ui';
Y.WidgetStdMod.prototype._syncUIStdMod = function(){
var stdModParsed = this._stdModParsed;
Y.each([STD_HEADER, STD_BODY, STD_FOOTER], function(section) {
var content;
if (!stdModParsed ||...
CSS
body {
font-size: 12px;
font-family: Tahoma, Geneva, sans-serif;
}
button.yui3-button {
font-size: 12px;
}
.yui3-widget {
margin : 4px;
padding: 4px;
}
.yui3-child {
background: yellow;
}
.yui3-main {
background: green;
}
JavaScript
YUI({
groups : {
patches : {
modules : {
'widget-buttons-patches' : {
condition : {
name : 'widget-buttons-patches',
trigger : 'widget-buttons',
test : function(){
return true;
}
}
},
'widget-stdmod-patches' : {
condition : {
name : 'widget-stdmod-patches',
trigger : 'widget-stdmod',
test : function(){
return true;
}
}
}
}
}
}
}).use('widget-buttons', function(Y){
var Main;
Main = Y.Base.create('main', Y.Widget, [Y.WidgetStdMod], {
renderUI : function() {
var body = this.getStdModNode('body', true);
console.log(body);
//this.set('bodyContent', 'omg');
}
}/*, {
ATTRS : {
bodyContent : {
value : 'initial'
}
}
}*/);
main = new Main({
render : Y.one('body')
});
return;
});