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