import { applySwitcheroo } from '../designApplication'; import { ColorSet, ComponentId } from '../dataModels'; import { ComponentBase, ComponentState } from './componentBase'; export type ThemeContextSwitcherState = ComponentState & { _type_: 'ThemeContextSwitcher-builtin'; content?: ComponentId; color?: ColorSet; }; export class ThemeContextSwitcherComponent extends ComponentBase { state: Required; createElement(): HTMLElement { let element = document.createElement('div'); element.classList.add('rio-single-container'); return element; } updateElement( deltaState: ThemeContextSwitcherState, latentComponents: Set ): void { super.updateElement(deltaState, latentComponents); // Update the child this.replaceOnlyChild(latentComponents, deltaState.content); // Colorize if (deltaState.color !== undefined) { applySwitcheroo(this.element, deltaState.color); } } }