/** @license Copyright (c) 2022 trading_peter This program is available under Apache License Version 2.0 */ import { FormElement } from '@tp/helpers/form-element.js'; import { ControlState } from '@tp/helpers/control-state.js'; import { Inert } from '@tp/helpers/inert'; import { LitElement, html, css } from 'lit'; class TpRadio extends Inert(ControlState(FormElement(LitElement))) { static get styles() { return [ css` :host { display: block; cursor: pointer; } .circle { display: flex; align-items: center; justify-content: center; border: solid 1px var(--tp-radio-color, #000); background: var(--tp-radio-bg, #fff); border-radius: 100%; width: var(--tp-radio-width, 18px); height: var(--tp-radio-height, 18px); } .dot { border-radius: 100%; background: var(--tp-radio-dot-color, var(--tp-radio-color, #000)); width: calc(var(--tp-radio-width, 18px) - 4px); height: calc(var(--tp-radio-height, 18px) - 4px); opacity: 0; } .dot[visible] { opacity: 1; } .wrap { display: flex; align-items: center; } .label { margin-left: 8px; } ` ]; } render() { const { checked } = this; return html`