@lyra/components
Version:
Basic UX components
30 lines (20 loc) • 1.24 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
exports.default = Styleable;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
function Styleable(Component, defaultStyles) {
function Styled(props) {
const styles = props.styles,
rest = _objectWithoutProperties(props, ['styles']); // eslint-disable-line react/prop-types
return _react2.default.createElement(Component, _extends({ styles: _extends({}, defaultStyles, styles) }, rest));
}
Object.assign(Styled, Component);
Styled.displayName = `Styleable(${Component.displayName || Component.name})`;
return Styled;
}
;