@tdb/web
Version:
Common condiguration for serving a web-site and testing web-based UI components.
44 lines (35 loc) • 1.22 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = flushToReact;
exports.flushToHTML = flushToHTML;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _style = require('./style');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function flushToReact() {
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
return (0, _style.flush)().map(function (args) {
var id = args[0];
var css = args[1];
return _react2.default.createElement('style', {
id: '__' + id,
// Avoid warnings upon render with a key
key: '__' + id,
nonce: options.nonce ? options.nonce : undefined,
dangerouslySetInnerHTML: {
__html: css
}
});
});
}
function flushToHTML() {
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
return (0, _style.flush)().reduce(function (html, args) {
var id = args[0];
var css = args[1];
html += '<style id="__' + id + '"' + (options.nonce ? ' nonce="' + options.nonce + '"' : '') + '>' + css + '</style>';
return html;
}, '');
}