UNPKG

@ozen-ui/kit

Version:

React component library

43 lines (42 loc) 1.73 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useThemeVars = useThemeVars; var tslib_1 = require("tslib"); var react_1 = require("react"); var ThemeProvider_1 = require("../../components/ThemeProvider"); var lastThemeTokens; var res; /** * @deprecated Хук устарел. Для замены используйте {@link useThemeVariables} */ function useThemeVars() { var themeTokens = ((0, ThemeProvider_1.useTheme)() || {}).tokens; return (0, react_1.useMemo)(function () { var e_1, _a, _b; if (lastThemeTokens === themeTokens) { return res; } lastThemeTokens = themeTokens; var el = document.createElement('div'); el.className = (0, ThemeProvider_1.cnThemeProvider)(themeTokens); document.body.appendChild(el); try { for (var _c = tslib_1.__values(Object.entries(ThemeProvider_1.themeHelper)), _d = _c.next(); !_d.done; _d = _c.next()) { var _e = tslib_1.__read(_d.value, 2), key = _e[0], value = _e[1]; res = tslib_1.__assign(tslib_1.__assign({}, res), (_b = {}, _b[key] = value.reduce(function (acc, value) { var _a; return (tslib_1.__assign(tslib_1.__assign({}, acc), (_a = {}, _a[value] = window.getComputedStyle(el).getPropertyValue(value).trim(), _a))); }, {}), _b)); } } catch (e_1_1) { e_1 = { error: e_1_1 }; } finally { try { if (_d && !_d.done && (_a = _c.return)) _a.call(_c); } finally { if (e_1) throw e_1.error; } } el.remove(); return res; }, [themeTokens]); }