@scrolia/vanilla
Version:
A headless scrollbar component
24 lines (22 loc) • 636 B
JavaScript
function setComponentProps(element, props) {
for (const [key, value] of Object.entries(props)) {
if (value == null) continue;
if (key === "style" && typeof value === "object") {
for (const [k, v] of Object.entries(value)) element.style.setProperty(k, String(v));
continue;
}
if (typeof value === "boolean") {
if (value) element.setAttribute(key, "");
else element.removeAttribute(key);
continue;
}
if (key in element) {
element[key] = value;
continue;
}
element.setAttribute(key, String(value));
}
return element;
}
exports.setComponentProps = setComponentProps;
//# sourceMappingURL=set.js.map