prejss
Version:
Get the power of PostCSS with plugins in your JSS styles. 🎨 Just put CSS into JS and get it as JSS object.
40 lines (32 loc) • 1.07 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _guid = require('./utils/guid');
var _guid2 = _interopRequireDefault(_guid);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = function (chunks) {
for (var _len = arguments.length, variables = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
variables[_key - 1] = arguments[_key];
}
var rawStyles = void 0;
var expressions = {};
// Do we have expressions?
if (chunks.length === 1) {
rawStyles = chunks[0];
} else {
rawStyles = chunks.map(function (chunk, index) {
var variable = variables[index];
if (typeof variable === 'function') {
var key = '$^var__' + (0, _guid2.default)();
expressions[key] = variable;
return chunk + key;
} else if (typeof variable === 'string') {
return chunk + variable;
} else {
return chunk;
}
}).join('');
}
return { rawStyles: rawStyles, expressions: expressions };
};