UNPKG

@stardust-ui/fela-tools

Version:

Useful tools for working with Fela

43 lines (29 loc) 1.76 kB
'use strict'; 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 = renderToString; var _arrayReduce = require('fast-loops/lib/arrayReduce'); var _arrayReduce2 = _interopRequireDefault(_arrayReduce); var _felaUtils = require('fela-utils'); var _cssifyMediaQueryRules = require('./cssifyMediaQueryRules'); var _cssifyMediaQueryRules2 = _interopRequireDefault(_cssifyMediaQueryRules); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function renderToString(renderer) { var _clusterCache = (0, _felaUtils.clusterCache)(renderer.cache, renderer.mediaQueryOrder, renderer.supportQueryOrder, renderer.ruleOrder), fontFaces = _clusterCache.fontFaces, statics = _clusterCache.statics, keyframes = _clusterCache.keyframes, rules = _clusterCache.rules, mediaRules = _clusterCache.mediaRules, supportRules = _clusterCache.supportRules, supportMediaRules = _clusterCache.supportMediaRules; var basicCSS = fontFaces + statics + keyframes + rules + (0, _felaUtils.cssifySupportRules)(supportRules); var mediaKeys = Object.keys(_extends({}, supportMediaRules, mediaRules)); return (0, _arrayReduce2.default)(mediaKeys, function (css, query) { var mediaCSS = mediaRules[query] || ''; var supportCSS = (0, _felaUtils.cssifySupportRules)(supportMediaRules[query] || {}); return css + (0, _cssifyMediaQueryRules2.default)(query, mediaCSS + supportCSS); }, basicCSS); }