@ozen-ui/kit
Version:
React component library
43 lines (42 loc) • 1.73 kB
JavaScript
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]);
}
;