import { ComponentBase, ComponentState } from "./componentBase"; import { ComponentId } from "../dataModels"; export type HighLevelComponentState = ComponentState & { _type_: "HighLevelComponent-builtin"; _child_?: ComponentId; }; export class HighLevelComponent extends ComponentBase { state: Required; createElement(): HTMLElement { let element = document.createElement("div"); element.classList.add("rio-high-level-component"); return element; } updateElement( deltaState: HighLevelComponentState, latentComponents: Set ): void { super.updateElement(deltaState, latentComponents); this.replaceOnlyChild(latentComponents, deltaState._child_); } }