UNPKG

@yandex/ui

Version:

Yandex UI components

22 lines (21 loc) 1.06 kB
"use strict"; 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;