grid-styletr
Version:
Responsive React grid system built with styletron-react
42 lines (33 loc) • 1.04 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.cleanProps = undefined;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var tag = function tag() {
var blacklist = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
var clean = cleanProps(blacklist);
return function (type) {
return typeof type !== 'string' ? type : function (props) {
var Comp = props.is || type;
return _react2.default.createElement(Comp, clean(props));
};
};
};
var cleanProps = exports.cleanProps = function cleanProps(blacklist) {
var blacklistSet = { is: true };
blacklist.forEach(function (key) {
return blacklistSet[key] = true;
});
return function (props) {
var next = {};
for (var key in props) {
if (blacklistSet[key]) continue;
next[key] = props[key];
}
return next;
};
};
exports.default = tag;