import { classMap } from 'lit/directives/class-map.js'; import { customElement, property, query, state } from 'lit/decorators.js'; import { HasSlotController } from '../../internal/slot'; import { html } from 'lit/static-html.js'; import { ifDefined } from 'lit/directives/if-defined.js'; import { watch } from '../../internal/watch'; import ShoelaceElement from '../../internal/shoelace-element'; import styles from './radio-button.styles'; import type { CSSResultGroup } from 'lit'; /** * @summary Radios buttons allow the user to select a single option from a group using a button-like control. * @documentation https://shoelace.style/components/radio-button * @status stable * @since 2.0 * * @slot - The radio button's label. * @slot prefix - A presentational prefix icon or similar element. * @slot suffix - A presentational suffix icon or similar element. * * @event sl-blur - Emitted when the button loses focus. * @event sl-focus - Emitted when the button gains focus. * * @csspart base - The component's base wrapper. * @csspart button - The internal ` `; } } declare global { interface HTMLElementTagNameMap { 'sl-radio-button': SlRadioButton; } }