apeman-react-style
Version:
apeman react package for style component.
37 lines (32 loc) • 759 B
JSX
/**
* Convert react style object into css string.
* @function styleString
* @param {Object} data
* @returns {?string}
*/
const React = require('react')
const { createMarkupForStyles } = require('react-dom/lib/CSSPropertyOperations')
const { EOL } = require('os')
/** @lends styleString */
function styleString (data) {
return Object.keys(data).map((selector) => {
if (!data[ selector ]) {
return null
}
let style = createMarkupForStyles(data[ selector ], {
_currentElement: {
_owner: {
$tmp: selector,
getName: 'ApStyleTmp'
}
}
})
return [
selector + '{',
style,
'}'
].filter(Boolean).join(' ')
}).join(EOL)
}
export default styleString