You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
102 lines
2.3 KiB
102 lines
2.3 KiB
"use strict"; |
|
|
|
/* |
|
MIT License http://www.opensource.org/licenses/mit-license.php |
|
Author Tobias Koppers @sokra |
|
*/ |
|
module.exports = function (cssWithMappingToString) { |
|
var list = []; // return the list of modules as css string |
|
|
|
list.toString = function toString() { |
|
return this.map(function (item) { |
|
var content = ""; |
|
var needLayer = typeof item[5] !== "undefined"; |
|
|
|
if (item[4]) { |
|
content += "@supports (".concat(item[4], ") {"); |
|
} |
|
|
|
if (item[2]) { |
|
content += "@media ".concat(item[2], " {"); |
|
} |
|
|
|
if (needLayer) { |
|
content += "@layer".concat(item[5].length > 0 ? " ".concat(item[5]) : "", " {"); |
|
} |
|
|
|
content += cssWithMappingToString(item); |
|
|
|
if (needLayer) { |
|
content += "}"; |
|
} |
|
|
|
if (item[2]) { |
|
content += "}"; |
|
} |
|
|
|
if (item[4]) { |
|
content += "}"; |
|
} |
|
|
|
return content; |
|
}).join(""); |
|
}; // import a list of modules into the list |
|
|
|
|
|
list.i = function i(modules, media, dedupe, supports, layer) { |
|
if (typeof modules === "string") { |
|
modules = [[null, modules, undefined]]; |
|
} |
|
|
|
var alreadyImportedModules = {}; |
|
|
|
if (dedupe) { |
|
for (var k = 0; k < this.length; k++) { |
|
var id = this[k][0]; |
|
|
|
if (id != null) { |
|
alreadyImportedModules[id] = true; |
|
} |
|
} |
|
} |
|
|
|
for (var _k = 0; _k < modules.length; _k++) { |
|
var item = [].concat(modules[_k]); |
|
|
|
if (dedupe && alreadyImportedModules[item[0]]) { |
|
continue; |
|
} |
|
|
|
if (typeof layer !== "undefined") { |
|
if (typeof item[5] === "undefined") { |
|
item[5] = layer; |
|
} else { |
|
item[1] = "@layer".concat(item[5].length > 0 ? " ".concat(item[5]) : "", " {").concat(item[1], "}"); |
|
item[5] = layer; |
|
} |
|
} |
|
|
|
if (media) { |
|
if (!item[2]) { |
|
item[2] = media; |
|
} else { |
|
item[1] = "@media ".concat(item[2], " {").concat(item[1], "}"); |
|
item[2] = media; |
|
} |
|
} |
|
|
|
if (supports) { |
|
if (!item[4]) { |
|
item[4] = "".concat(supports); |
|
} else { |
|
item[1] = "@supports (".concat(item[4], ") {").concat(item[1], "}"); |
|
item[4] = supports; |
|
} |
|
} |
|
|
|
list.push(item); |
|
} |
|
}; |
|
|
|
return list; |
|
}; |