Outlook_Addin_LLM/node_modules/@fluentui/theme/lib/mergeThemes.js

23 lines
1.3 KiB
JavaScript

import { merge } from '@fluentui/utilities';
import { getSemanticColors } from './utilities/makeSemanticColors';
/**
* Merge a partial/full theme into a full theme and returns a merged full theme.
*/
export function mergeThemes(theme, partialTheme) {
var _a, _b, _c;
if (partialTheme === void 0) { partialTheme = {}; }
var mergedTheme = merge({}, theme, partialTheme, {
semanticColors: 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] = 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;
}
//# sourceMappingURL=mergeThemes.js.map