import{__decorate as t}from"tslib";import{html as s}from"lit";import{s as i}from"./nile-status-light.css.esm.js";import{classMap as e}from"lit/directives/class-map.js";import{property as a,customElement as l}from"lit/decorators.js";import{N as r,s as o}from"../internal/nile-element.esm.js";import{A as n}from"../internal/accessibility/a11y.property.enum.esm.js";import{A as m}from"../internal/accessibility/a11y.role.enum.esm.js";import{R as h}from"../internal/accessibility/role.enum.esm.js";import"../internal/accessibility/a11y.state.enum.esm.js";let u=class extends r{constructor(){super(...arguments),this.variant="neutral",this.size="medium",this.disabled=!1,this.pulse=!1}connectedCallback(){super.connectedCallback(),o(this,{[h.Role]:m.Text,[n.AriaLabel]:this.textContent?.trim()||""})}render(){return s`
        <span
          part="base"
          class=${e({"status-light":!0,"status-light--positive":"positive"===this.variant,"status-light--negative":"negative"===this.variant,"status-light--notice":"notice"===this.variant,"status-light--informative":"informative"===this.variant,"status-light--neutral":"neutral"===this.variant,"status-light--inactive":"inactive"===this.variant,"status-light--small":"small"===this.size,"status-light--medium":"medium"===this.size,"status-light--large":"large"===this.size,"status-light--x-large":"x-large"===this.size,"status-light--disabled":this.disabled,"status-light--pulse":this.pulse&&!this.disabled})}
      >
          <span
            part="indicator"
            class="status-light__dot"
            aria-hidden="true"
          ></span>
          <slot part="label" class="status-light__label"></slot>
        </span>
      `}};u.styles=i,t([a({reflect:!0})],u.prototype,"variant",void 0),t([a({reflect:!0,attribute:!0})],u.prototype,"size",void 0),t([a({type:Boolean,reflect:!0})],u.prototype,"disabled",void 0),t([a({type:Boolean,reflect:!0})],u.prototype,"pulse",void 0),u=t([l("nile-status-light")],u);export{u as N};
