"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.mergeCss = exports.mergeStyles = void 0; var extractStyleParts_1 = require("./extractStyleParts"); var shadowConfig_1 = require("./shadowConfig"); var StyleOptionsState_1 = require("./StyleOptionsState"); var Stylesheet_1 = require("./Stylesheet"); var styleToClassName_1 = require("./styleToClassName"); /** * Concatenation helper, which can merge class names together. Skips over falsey values. * * @public */ function mergeStyles() { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } return mergeCss(args, (0, StyleOptionsState_1.getStyleOptions)()); } exports.mergeStyles = mergeStyles; /** * Concatenation helper, which can merge class names together. Skips over falsey values. * Accepts a set of options that will be used when calculating styles. * * @public */ function mergeCss(args, options) { var styleArgs = args instanceof Array ? args : [args]; var opts = options || {}; var hasShadowConfig = (0, shadowConfig_1.isShadowConfig)(styleArgs[0]); if (hasShadowConfig) { opts.shadowConfig = styleArgs[0]; } opts.stylesheet = Stylesheet_1.Stylesheet.getInstance(opts.shadowConfig); var _a = (0, extractStyleParts_1.extractStyleParts)(opts.stylesheet, styleArgs), classes = _a.classes, objects = _a.objects; if (objects.length) { classes.push((0, styleToClassName_1.styleToClassName)(opts, objects)); } return classes.join(' '); } exports.mergeCss = mergeCss; //# sourceMappingURL=mergeStyles.js.map