@yandex/ui
Version:
Yandex UI components
22 lines (21 loc) • 1.06 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.configureRootTheme = exports.cnTheme = void 0;
var classname_1 = require("@bem-react/classname");
var canUseDOM_1 = require("../lib/canUseDOM");
exports.cnTheme = classname_1.cn('Theme');
var prevClassName = '';
var configureRootTheme = function (_a) {
var theme = _a.theme, _b = _a.root, root = _b === void 0 ? canUseDOM_1.canUseDOM() ? document.body : null : _b;
if (!canUseDOM_1.canUseDOM()) {
return;
}
if (!root) {
throw new Error('Значение в root не является DOM-элементом, невозможно установить глобальную тему.');
}
// Удаляем старый className, чтобы устранить дубликаты при повторном вызове.
var rootClassName = root.className.replace(prevClassName, '');
prevClassName = exports.cnTheme(theme);
root.className = rootClassName + " " + prevClassName;
};
exports.configureRootTheme = configureRootTheme;