UNPKG

use-theme-editor

Version:

Zero configuration CSS variables based theme editor

23 lines (18 loc) 875 B
import { definedValues } from "./collectRuleVars"; export const getAllDefaultValues = allVars => { const fromAvailableVars = allVars.reduce((values, {name, usages}) => { // All should use the default value (as a best practice), but can't be guaranteed. If they're different it's hard to // tell which it should be. Just use the first one. No usages is not possible in theory but check existence anyway. // I'm hesitant to support the case of the same variable having different default values. It seems like a bad // practice. Instead, the CSS should use different variables for these cases. const supposedDefaultValue = usages[0]?.defaultValue; return { ...values, [name]: definedValues[':root'][name] || supposedDefaultValue , }; }, {}); return { ...fromAvailableVars, // ...atRuntime, }; };