@benev/slate
Version:
frontend web stuff
22 lines • 895 B
JavaScript
import { render } from "lit";
import { apply_attributes } from "./apply_attributes.js";
export function apply_details(element, freshMeta = {}, oldMeta = {}) {
const { content, attrs: fresh = {} } = freshMeta;
const { attrs: old = {} } = oldMeta;
function actuate(freshvalue, oldvalue, name, value) {
if (freshvalue !== oldvalue) {
if (freshvalue === undefined)
element.removeAttribute(name);
else
element.setAttribute(name, value());
}
}
if (fresh)
apply_attributes(element, fresh);
actuate(fresh.class, old?.class, "class", () => fresh.class);
actuate(fresh.part, old?.part, "part", () => fresh.part);
actuate(fresh.gpart, old?.gpart, "data-gpart", () => fresh.gpart);
if (content)
render(content, element, { host: element });
}
//# sourceMappingURL=apply_details.js.map