@uifabric/merge-styles
Version:
Style loading utilities.
53 lines • 1.82 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
var Stylesheet_1 = require("./Stylesheet");
/**
* Separates the classes and style objects. Any classes that are pre-registered
* args are auto expanded into objects.
*/
function extractStyleParts() {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
var classes = [];
var objects = [];
var stylesheet = Stylesheet_1.Stylesheet.getInstance();
function _processArgs(argsList) {
for (var _i = 0, argsList_1 = argsList; _i < argsList_1.length; _i++) {
var arg = argsList_1[_i];
if (arg) {
if (typeof arg === 'string') {
if (arg.indexOf(' ') >= 0) {
_processArgs(arg.split(' '));
}
else {
var translatedArgs = stylesheet.argsFromClassName(arg);
if (translatedArgs) {
_processArgs(translatedArgs);
}
else {
// Avoid adding the same class twice.
if (classes.indexOf(arg) === -1) {
classes.push(arg);
}
}
}
}
else if (Array.isArray(arg)) {
_processArgs(arg);
}
else if (typeof arg === 'object') {
objects.push(arg);
}
}
}
}
_processArgs(args);
return {
classes: classes,
objects: objects,
};
}
exports.extractStyleParts = extractStyleParts;
//# sourceMappingURL=extractStyleParts.js.map
;