UNPKG

rvx

Version:

A signal based rendering library

33 lines 1.14 kB
import { watch } from "../signals.js"; function watchStyle(value, handler) { watch(value, value => { if (Array.isArray(value)) { const overwrites = []; for (let i = value.length - 1; i >= 0; i--) { const self = []; overwrites[i] = self; watchStyle(value[i], (name, value) => { if (!self.includes(name)) { self.push(name); } for (let o = i + 1; o < overwrites.length; o++) { if (overwrites[o].includes(name)) { return; } } handler(name, value); }); } } else if (value) { for (const name in value) { watch(value[name], value => handler(name, value)); } } }); } export function setStyle(elem, value) { const style = elem.style; watchStyle(value, (name, value) => style.setProperty(name, value ? String(value) : null)); } //# sourceMappingURL=set-style.js.map