apeman-react-style
Version:
apeman react package for style component.
49 lines (37 loc) • 3.38 kB
JavaScript
/**
* Convert react style object into css string.
* @function styleString
* @param {Object} data
* @returns {?string}
*/
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _keys = require('babel-runtime/core-js/object/keys');
var _keys2 = _interopRequireDefault(_keys);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var React = require('react');
var _require = require('react-dom/lib/CSSPropertyOperations'),
createMarkupForStyles = _require.createMarkupForStyles;
var _require2 = require('os'),
EOL = _require2.EOL;
/** @lends styleString */
function styleString(data) {
return (0, _keys2.default)(data).map(function (selector) {
if (!data[selector]) {
return null;
}
var style = createMarkupForStyles(data[selector], {
_currentElement: {
_owner: {
$tmp: selector,
getName: 'ApStyleTmp'
}
}
});
return [selector + '{', style, '}'].filter(Boolean).join(' ');
}).join(EOL);
}
exports.default = styleString;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlX3N0cmluZy5qc3giXSwibmFtZXMiOlsiUmVhY3QiLCJyZXF1aXJlIiwiY3JlYXRlTWFya3VwRm9yU3R5bGVzIiwiRU9MIiwic3R5bGVTdHJpbmciLCJkYXRhIiwibWFwIiwic2VsZWN0b3IiLCJzdHlsZSIsIl9jdXJyZW50RWxlbWVudCIsIl9vd25lciIsIiR0bXAiLCJnZXROYW1lIiwiZmlsdGVyIiwiQm9vbGVhbiIsImpvaW4iXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O0FBT0E7Ozs7Ozs7Ozs7OztBQUVBLElBQU1BLFFBQVFDLFFBQVEsT0FBUixDQUFkOztlQUNrQ0EsUUFBUSxxQ0FBUixDO0lBQTFCQyxxQixZQUFBQSxxQjs7Z0JBQ1FELFFBQVEsSUFBUixDO0lBQVJFLEcsYUFBQUEsRzs7QUFFUjs7O0FBQ0EsU0FBU0MsV0FBVCxDQUFzQkMsSUFBdEIsRUFBNEI7QUFDMUIsU0FBTyxvQkFBWUEsSUFBWixFQUFrQkMsR0FBbEIsQ0FBc0IsVUFBQ0MsUUFBRCxFQUFjO0FBQ3pDLFFBQUksQ0FBQ0YsS0FBTUUsUUFBTixDQUFMLEVBQXVCO0FBQ3JCLGFBQU8sSUFBUDtBQUNEO0FBQ0QsUUFBSUMsUUFBUU4sc0JBQXNCRyxLQUFNRSxRQUFOLENBQXRCLEVBQXdDO0FBQ2xERSx1QkFBaUI7QUFDZkMsZ0JBQVE7QUFDTkMsZ0JBQU1KLFFBREE7QUFFTkssbUJBQVM7QUFGSDtBQURPO0FBRGlDLEtBQXhDLENBQVo7QUFRQSxXQUFPLENBQ0xMLFdBQVcsR0FETixFQUVMQyxLQUZLLEVBR0wsR0FISyxFQUlMSyxNQUpLLENBSUVDLE9BSkYsRUFJV0MsSUFKWCxDQUlnQixHQUpoQixDQUFQO0FBS0QsR0FqQk0sRUFpQkpBLElBakJJLENBaUJDWixHQWpCRCxDQUFQO0FBa0JEOztrQkFFY0MsVyIsImZpbGUiOiJzdHlsZV9zdHJpbmcuanN4Iiwic291cmNlUm9vdCI6ImxpYiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29udmVydCByZWFjdCBzdHlsZSBvYmplY3QgaW50byBjc3Mgc3RyaW5nLlxuICogQGZ1bmN0aW9uIHN0eWxlU3RyaW5nXG4gKiBAcGFyYW0ge09iamVjdH0gZGF0YVxuICogQHJldHVybnMgez9zdHJpbmd9XG4gKi9cblxuJ3VzZSBzdHJpY3QnXG5cbmNvbnN0IFJlYWN0ID0gcmVxdWlyZSgncmVhY3QnKVxuY29uc3QgeyBjcmVhdGVNYXJrdXBGb3JTdHlsZXMgfSA9IHJlcXVpcmUoJ3JlYWN0LWRvbS9saWIvQ1NTUHJvcGVydHlPcGVyYXRpb25zJylcbmNvbnN0IHsgRU9MIH0gPSByZXF1aXJlKCdvcycpXG5cbi8qKiBAbGVuZHMgc3R5bGVTdHJpbmcgKi9cbmZ1bmN0aW9uIHN0eWxlU3RyaW5nIChkYXRhKSB7XG4gIHJldHVybiBPYmplY3Qua2V5cyhkYXRhKS5tYXAoKHNlbGVjdG9yKSA9PiB7XG4gICAgaWYgKCFkYXRhWyBzZWxlY3RvciBdKSB7XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cbiAgICBsZXQgc3R5bGUgPSBjcmVhdGVNYXJrdXBGb3JTdHlsZXMoZGF0YVsgc2VsZWN0b3IgXSwge1xuICAgICAgX2N1cnJlbnRFbGVtZW50OiB7XG4gICAgICAgIF9vd25lcjoge1xuICAgICAgICAgICR0bXA6IHNlbGVjdG9yLFxuICAgICAgICAgIGdldE5hbWU6ICdBcFN0eWxlVG1wJ1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSlcbiAgICByZXR1cm4gW1xuICAgICAgc2VsZWN0b3IgKyAneycsXG4gICAgICBzdHlsZSxcbiAgICAgICd9J1xuICAgIF0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oJyAnKVxuICB9KS5qb2luKEVPTClcbn1cblxuZXhwb3J0IGRlZmF1bHQgc3R5bGVTdHJpbmdcbiJdfQ==