UNPKG

1.35 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.default = cssRuleSetToString;
7
8var _appendPxIfNeeded = require('./append-px-if-needed');
9
10var _appendPxIfNeeded2 = _interopRequireDefault(_appendPxIfNeeded);
11
12var _camelCasePropsToDashCase = require('./camel-case-props-to-dash-case');
13
14var _camelCasePropsToDashCase2 = _interopRequireDefault(_camelCasePropsToDashCase);
15
16var _mapObject = require('./map-object');
17
18var _mapObject2 = _interopRequireDefault(_mapObject);
19
20var _prefixer = require('./prefixer');
21
22function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
24function createMarkupForStyles(style) {
25 return Object.keys(style).map(function (property) {
26 return property + ': ' + style[property] + ';';
27 }).join('\n');
28}
29
30function cssRuleSetToString(selector, rules, userAgent) {
31 if (!rules) {
32 return '';
33 }
34
35 var rulesWithPx = (0, _mapObject2.default)(rules, function (value, key) {
36 return (0, _appendPxIfNeeded2.default)(key, value);
37 });
38 var prefixedRules = (0, _prefixer.getPrefixedStyle)(rulesWithPx, userAgent);
39 var cssPrefixedRules = (0, _camelCasePropsToDashCase2.default)(prefixedRules);
40 var serializedRules = createMarkupForStyles(cssPrefixedRules);
41
42 return selector + '{' + serializedRules + '}';
43}
44module.exports = exports['default'];
\No newline at end of file