import { CSSResultArray , html , PropertyValues , SizedMixin , SpectrumElement , TemplateResult , } from '@spectrum-web-components/base' ; import { property } from '@spectrum-web-components/base/src/decorators.js' ; import statusLightStyles from './status-light.css.js' ; element slot export class StatusLight extends SizedMixin ( SpectrumElement ) { public static get styles ( ) : CSSResultArray { return [ statusLightStyles ] ; } /**
     * A status light in a disabled state shows that a status exists, but is not available in that circumstance. This can be used to maintain layout continuity and communicate that a status may become available later.
     */ @ property ( { type : Boolean , reflect : true } ) public disabled = false ; /**
     * The visual variant to apply to this status light.
     */ @ property ( { reflect : true } ) public variant : 'negative' | 'notice' | 'positive' | 'info' | 'neutral' | 'yellow' | 'fuchsia' | 'indigo' | 'seafoam' | 'chartreuse' | 'magenta' | 'celery' | 'purple' = 'info' ; protected render ( ) { return html `
            <slot></slot>
        ` ; } protected updated ( changes ) { super . updated ( changes ) ; if ( changes . has ( 'disabled' ) ) { if ( this . disabled ) { this . setAttribute ( 'aria-disabled' , 'true' ) ; } else { this . removeAttribute ( 'aria-disabled' ) ; } } } }