UNPKG

@benev/slate

Version:
27 lines 1.12 kB
import { LightElement } from "../../element/silver.js"; import { usekey } from "../parts/use/parts/utils/usekey.js"; import { UseLightComponent } from "../parts/use/tailored.js"; import { setup_reactivity } from "../parts/setup_reactivity.js"; export const prepare_light_component = ((shell) => (renderer) => class extends LightElement { #use = new UseLightComponent(this, () => void this.requestUpdate(), shell.context); #rend = this.#use[usekey].wrap(() => renderer(this.#use)); #reactivity; render() { this.updateComplete.then(() => this.#use[usekey].afterRender()); return this.#reactivity?.render(); } connectedCallback() { super.connectedCallback(); this.#reactivity = setup_reactivity(this.#rend, () => void this.requestUpdate()); this.#use[usekey].reconnect(); } disconnectedCallback() { super.disconnectedCallback(); if (this.#reactivity) { this.#reactivity.stop(); this.#reactivity = undefined; } this.#use[usekey].disconnect(); } }); //# sourceMappingURL=light_component.js.map