feeles-ide
Version:
The hackable and serializable IDE to make learning material
41 lines (35 loc) • 870 B
JavaScript
import _Object$assign from 'babel-runtime/core-js/object/assign';
import React from 'react';
import PropTypes from 'prop-types';
export default function LayeredStyle(props) {
if (isEmpty(props.styles)) {
return React.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.createElement(
'div',
{ style: styles[0] },
React.createElement(LayeredStyle, nextProps)
);
}
LayeredStyle.propTypes = {
style: PropTypes.object,
styles: PropTypes.array,
children: PropTypes.node.isRequired
};
function isEmpty(array) {
return !array || !array.length;
}