import { css, CSSResultGroup, html } from "lit"; import { ifDefined } from "lit/directives/if-defined.js"; import { ClientConsumer } from "../../ClientConsumer"; export abstract class AbstractModeBar extends ClientConsumer { public static styles?: CSSResultGroup | undefined = css` :host { display: flex; color: var(--thermal-foreground); cursor: pointer; align-items: center; gap: .25em; } .radio { display: flex; align-items: center; gap: .25em; cursor: pointer; input, span { display: block; } span { font-size: .8em; } } `; protected renderToggle( label: string, checked: boolean, onChange: (checked: boolean) => void ): unknown { return html` { onChange(value); }} >${label}`; } protected renderToggleButton( active: boolean, onClick: () => void, icon?: string, label?: string, tooltip?: string, ): unknown { return html` onClick()} icon=${ ifDefined( icon ) } iconStyle="micro" tooltip=${ ifDefined( tooltip ) } size="md" > `; } }