import { unsafeCSS, LitElement, html } from "lit";
import { property } from "lit/decorators.js";
import compentStyle from "./automation-badge.css.js";
import { classMap } from "lit/directives/class-map.js";
import { customElement } from "../../decorator.js";
import "../../icons/icon-alert-off-filled.js";
import "../../icons/icon-auto.js";
import "../../icons/icon-duty.js";
import "../../icons/icon-command-locked-f.js";
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __decorateClass = (decorators, target, key, kind) => {
  var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
    if (decorator = decorators[i])
      result = (kind ? decorator(target, key, result) : decorator(result)) || result;
  if (kind && result) __defProp(target, key, result);
  return result;
};
var ObcAutomationBadgeMode = /* @__PURE__ */ ((ObcAutomationBadgeMode2) => {
  ObcAutomationBadgeMode2["Flat"] = "flat";
  ObcAutomationBadgeMode2["Regular"] = "regular";
  ObcAutomationBadgeMode2["Enhanced"] = "enhanced";
  return ObcAutomationBadgeMode2;
})(ObcAutomationBadgeMode || {});
var ObcAutomationBadgeType = /* @__PURE__ */ ((ObcAutomationBadgeType2) => {
  ObcAutomationBadgeType2["Auto"] = "auto";
  ObcAutomationBadgeType2["CommandLocked"] = "command-locked";
  ObcAutomationBadgeType2["Duty"] = "duty";
  ObcAutomationBadgeType2["AlertOff"] = "alert-off";
  return ObcAutomationBadgeType2;
})(ObcAutomationBadgeType || {});
let ObcAutomationBadge = class extends LitElement {
  constructor() {
    super(...arguments);
    this.mode = "flat";
    this.type = void 0;
  }
  // TODO: replace the typo 'siluette' with 'silhouette', probably in Figma as well
  getIcon() {
    if (this.type === "auto") {
      return html`<obi-auto class="icon siluette"></obi-auto
        ><obi-auto class="icon"></obi-auto>`;
    } else if (this.type === "command-locked") {
      return html`<obi-command-locked-f
          class="icon siluette"
        ></obi-command-locked-f
        ><obi-command-locked-f class="icon"></obi-command-locked-f>`;
    } else if (this.type === "duty") {
      return html`<obi-duty class="icon siluette"></obi-duty
        ><obi-duty class="icon"></obi-duty>`;
    } else if (this.type === "alert-off") {
      return html`<obi-alert-off-filled
          class="icon siluette"
        ></obi-alert-off-filled
        ><obi-alert-off-filled class="icon"></obi-alert-off-filled>`;
    } else {
      return html`<slot name="icon-silhouette"></slot><slot></slot>`;
    }
  }
  render() {
    return html`
      <div class=${classMap({ wrapper: true, [this.mode]: true })}>
        <div class="badge">${this.getIcon()}</div>
      </div>
    `;
  }
};
ObcAutomationBadge.styles = unsafeCSS(compentStyle);
__decorateClass([
  property({ type: String })
], ObcAutomationBadge.prototype, "mode", 2);
__decorateClass([
  property({ type: String })
], ObcAutomationBadge.prototype, "type", 2);
ObcAutomationBadge = __decorateClass([
  customElement("obc-automation-badge")
], ObcAutomationBadge);
export {
  ObcAutomationBadge,
  ObcAutomationBadgeMode,
  ObcAutomationBadgeType
};
//# sourceMappingURL=automation-badge.js.map
