From 545d6afa0e24bbb54f859cb27919d2cda816151f Mon Sep 17 00:00:00 2001 From: DarkWiiPlayer Date: Wed, 18 Aug 2021 11:35:54 +0200 Subject: [PATCH] Change CSS variable helper to proxy --- css.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/css.js b/css.js index 6ceccce..14a2fe2 100644 --- a/css.js +++ b/css.js @@ -33,4 +33,13 @@ export const style = styles => { return style } -export const v = name => `var(--${keyToPropName(name)})` +const mkVar = name => { + const v = (def) => `var(--${name}, ${def})` + v.toString = () => `var(--${name})` + return v +} + +export const v = new Proxy(Window, { + get: (target, name, receiver) => mkVar(name), + apply: (target, object, [name]) => `var(--${keyToPropName(name)})`, +})