@reservoir0x/relay-kit-ui
Version:
Relay is the Fastest and Cheapest Way to Bridge and Transact Across Chains.
37 lines • 1.19 kB
JavaScript
export function getValueFromKey(obj, key) {
const keys = key.split('.');
let value = obj;
for (const k of keys) {
value = value?.[k];
if (value === undefined) {
break;
}
}
return value;
}
// Generate CSS variables based on theme and overrides
export const generateCssVars = (theme, themeOverrides) => {
let cssString = '';
if (!theme || !themeOverrides) {
return cssString;
}
// Recursive function to process full theme object
const processTheme = (obj, prefix = '') => {
for (const key in obj) {
if (obj.hasOwnProperty(key)) {
const value = obj[key];
const fullKey = prefix + key;
const cssVarOverride = getValueFromKey(themeOverrides, fullKey);
if (typeof value === 'object' && value !== null) {
processTheme(value, fullKey + '.');
}
else if (cssVarOverride && value) {
cssString += `${cssVarOverride}:${value};\n`;
}
}
}
};
processTheme(theme);
return cssString;
};
//# sourceMappingURL=theme.js.map