feeles-ide
Version:
The hackable and serializable IDE to make learning material
44 lines (34 loc) • 1.06 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = LayeredStyle;
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
function LayeredStyle(props) {
if (isEmpty(props.styles)) {
return _react.default.createElement("div", props, props.children);
}
var styles = [props.style].concat(props.styles).filter(function (s) {
return s;
});
var nextProps = Object.assign({}, props, {
style: styles[1],
styles: styles.slice(2)
});
if (isEmpty(nextProps.styles)) {
delete nextProps.styles;
}
return _react.default.createElement("div", {
style: styles[0]
}, _react.default.createElement(LayeredStyle, nextProps));
}
LayeredStyle.propTypes = {
style: _propTypes.default.object,
styles: _propTypes.default.array,
children: _propTypes.default.node.isRequired
};
function isEmpty(array) {
return !array || !array.length;
}