"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.mergeThemes = void 0; var utilities_1 = require("@fluentui/utilities"); var makeSemanticColors_1 = require("./utilities/makeSemanticColors"); /** * Merge a partial/full theme into a full theme and returns a merged full theme. */ function mergeThemes(theme, partialTheme) { var _a, _b, _c; if (partialTheme === void 0) { partialTheme = {}; } var mergedTheme = (0, utilities_1.merge)({}, theme, partialTheme, { semanticColors: (0, makeSemanticColors_1.getSemanticColors)(partialTheme.palette, partialTheme.effects, partialTheme.semanticColors, partialTheme.isInverted === undefined ? theme.isInverted : partialTheme.isInverted), }); if (((_a = partialTheme.palette) === null || _a === void 0 ? void 0 : _a.themePrimary) && !((_b = partialTheme.palette) === null || _b === void 0 ? void 0 : _b.accent)) { mergedTheme.palette.accent = partialTheme.palette.themePrimary; } if (partialTheme.defaultFontStyle) { for (var _i = 0, _d = Object.keys(mergedTheme.fonts); _i < _d.length; _i++) { var fontStyle = _d[_i]; mergedTheme.fonts[fontStyle] = (0, utilities_1.merge)(mergedTheme.fonts[fontStyle], partialTheme.defaultFontStyle, (_c = partialTheme === null || partialTheme === void 0 ? void 0 : partialTheme.fonts) === null || _c === void 0 ? void 0 : _c[fontStyle]); } } return mergedTheme; } exports.mergeThemes = mergeThemes; //# sourceMappingURL=mergeThemes.js.map