/** @license Copyright (c) 2022 trading_peter This program is available under Apache License Version 2.0 */ import '@tp/tp-icon/tp-icon.js'; import { FormElement } from '@tp/helpers/form-element'; import { ControlState } from '@tp/helpers/control-state'; import { Inert } from '@tp/helpers/inert'; import { LitElement, html, css, svg } from 'lit'; class TpCheckbox extends Inert(ControlState(FormElement(LitElement))) { static get styles() { return [ css` :host { display: block; cursor: pointer; } [hidden] { display: none; } .box { display: flex; align-items: center; justify-content: center; border: solid 2px #000; background: #fff; border-radius: 2px; width: var(--tp-checkbox-width, 18px); height: var(--tp-checkbox-height, 18px); } tp-icon { --tp-icon-width: var(--tp-checkbox-width, 18px); --tp-icon-height: var(--tp-checkbox-height, 18px); } .wrap { display: flex; align-items: center; } .label { margin-left: 8px; } ` ]; } render() { const { checked } = this; return html`