|
- 'use strict';
-
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports['default'] = toCssValue;
- var join = function join(value, by) {
- var result = '';
- for (var i = 0; i < value.length; i++) {
- // Remove !important from the value, it will be readded later.
- if (value[i] === '!important') break;
- if (result) result += by;
- result += value[i];
- }
- return result;
- };
-
- /**
- * Converts array values to string.
- *
- * `margin: [['5px', '10px']]` > `margin: 5px 10px;`
- * `border: ['1px', '2px']` > `border: 1px, 2px;`
- * `margin: [['5px', '10px'], '!important']` > `margin: 5px 10px !important;`
- * `color: ['red', !important]` > `color: red !important;`
- */
- function toCssValue(value) {
- var ignoreImportant = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
-
- if (!Array.isArray(value)) return value;
-
- var cssValue = '';
-
- // Support space separated values via `[['5px', '10px']]`.
- if (Array.isArray(value[0])) {
- for (var i = 0; i < value.length; i++) {
- if (value[i] === '!important') break;
- if (cssValue) cssValue += ', ';
- cssValue += join(value[i], ' ');
- }
- } else cssValue = join(value, ', ');
-
- // Add !important, because it was ignored.
- if (!ignoreImportant && value[value.length - 1] === '!important') {
- cssValue += ' !important';
- }
-
- return cssValue;
- }
|