import { LitElement, PropertyDeclaration, TemplateResult, html } from "lit"; import { customElement, property } from "lit/decorators.js"; import { Wizard } from "./Wizard"; @customElement("ak-wizard-page") export class WizardPage extends LitElement { @property() sidebarLabel: () => string = () => { return "UNNAMED"; }; isValid(): boolean { return this._isValid; } get host(): Wizard { return this.parentElement as Wizard; } _isValid = false; activeCallback: () => Promise = () => { return Promise.resolve(); }; nextCallback: () => Promise = async () => { return true; }; requestUpdate( name?: PropertyKey, oldValue?: unknown, options?: PropertyDeclaration, ): void { this.querySelectorAll("*").forEach((el) => { if ("requestUpdate" in el) { (el as LitElement).requestUpdate(); } }); return super.requestUpdate(name, oldValue, options); } render(): TemplateResult { return html``; } }