react-responsive-grid
Version:
Power tools for responsive layouts with React
50 lines (46 loc) • 1.28 kB
JavaScript
// Generated by CoffeeScript 1.10.0
var React, objectAssign;
React = require('react');
objectAssign = require('object-assign');
module.exports = React.createClass({
displayName: "Grid",
propTypes: {
columns: React.PropTypes.number,
gutterRatio: React.PropTypes.number
},
getDefaultProps: function() {
return {
columns: 12,
gutterRatio: 1 / 4
};
},
renderChildren: function() {
return React.Children.map(this.props.children, (function(_this) {
return function(child) {
var ref, ref1;
if ((ref = (ref1 = child.type) != null ? ref1.displayName : void 0) === "Breakpoint" || ref === "Span") {
return React.cloneElement(child, {
context: {
columns: _this.props.columns,
gutterRatio: _this.props.gutterRatio
}
});
} else {
return child;
}
};
})(this));
},
render: function() {
var props;
props = objectAssign({}, this.props);
delete props.gutterRatio;
delete props.columns;
return React.createElement("div", Object.assign({}, props), this.renderChildren(), React.createElement("span", {
"style": {
display: 'block',
clear: 'both'
}
}, ' '));
}
});