import { html } from "lit";
import { property } from "lit/decorators.js";
import "../../icons/icon-bipolar_transistor-on.js";
import "../../icons/icon-bipolar_transistor-off.js";
import "../../icons/icon-bipolar_transistor-02-on.js";
import "../../icons/icon-bipolar_transistor-02-off.js";
import "../../icons/icon-bipolar_transistor-03-on.js";
import "../../icons/icon-bipolar_transistor-03-off.js";
import "../../icons/icon-bipolar_transistor-04-on.js";
import "../../icons/icon-bipolar_transistor-04-off.js";
import "../../icons/icon-bipolar_transistor-03-flat.js";
import "../../icons/icon-bipolar_transistor-04-flat.js";
import { customElement } from "../../decorator.js";
import { ObcAbstractAutomationButtonSquared } from "../automation-button/abstract-automation-button-squared.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 BipolarTransistorAlternativeIcon = /* @__PURE__ */ ((BipolarTransistorAlternativeIcon2) => {
  BipolarTransistorAlternativeIcon2["bipolarTransistor01"] = "bipolarTransistor01";
  BipolarTransistorAlternativeIcon2["bipolarTransistor02"] = "bipolarTransistor02";
  BipolarTransistorAlternativeIcon2["bipolarTransistor03"] = "bipolarTransistor03";
  BipolarTransistorAlternativeIcon2["bipolarTransistor04"] = "bipolarTransistor04";
  BipolarTransistorAlternativeIcon2["bipolarTransistor03Flat"] = "bipolarTransistor03Flat";
  BipolarTransistorAlternativeIcon2["bipolarTransistor04Flat"] = "bipolarTransistor04Flat";
  return BipolarTransistorAlternativeIcon2;
})(BipolarTransistorAlternativeIcon || {});
let ObcBipolarTransistor = class extends ObcAbstractAutomationButtonSquared {
  constructor() {
    super(...arguments);
    this.alternativeIcon = "bipolarTransistor01";
  }
  get icon() {
    switch (this.alternativeIcon) {
      case "bipolarTransistor02":
        if (this.on) {
          return html`<obi-bipolar_transistor-02-on
              usecsscolor
              slot="icon"
            ></obi-bipolar_transistor-02-on>
            <obi-bipolar_transistor-02-on
              usecsscolor
              slot="icon-silhouette"
            ></obi-bipolar_transistor-02-on>`;
        } else {
          return html`<obi-bipolar_transistor-02-off
              usecsscolor
              slot="icon"
            ></obi-bipolar_transistor-02-off>
            <obi-bipolar_transistor-02-off
              usecsscolor
              slot="icon-silhouette"
            ></obi-bipolar_transistor-02-off>`;
        }
      case "bipolarTransistor03":
        if (this.on) {
          return html`<obi-bipolar_transistor-03-on
              usecsscolor
              slot="icon"
            ></obi-bipolar_transistor-03-on>
            <obi-bipolar_transistor-03-on
              usecsscolor
              slot="icon-silhouette"
            ></obi-bipolar_transistor-03-on>`;
        } else {
          return html`<obi-bipolar_transistor-03-off
              usecsscolor
              slot="icon"
            ></obi-bipolar_transistor-03-off>
            <obi-bipolar_transistor-03-off
              usecsscolor
              slot="icon-silhouette"
            ></obi-bipolar_transistor-03-off>`;
        }
      case "bipolarTransistor04":
        if (this.on) {
          return html`<obi-bipolar_transistor-04-on
              usecsscolor
              slot="icon"
            ></obi-bipolar_transistor-04-on>
            <obi-bipolar_transistor-04-on
              usecsscolor
              slot="icon-silhouette"
            ></obi-bipolar_transistor-04-on>`;
        } else {
          return html`<obi-bipolar_transistor-04-off
              usecsscolor
              slot="icon"
            ></obi-bipolar_transistor-04-off>
            <obi-bipolar_transistor-04-off
              usecsscolor
              slot="icon-silhouette"
            ></obi-bipolar_transistor-04-off>`;
        }
      case "bipolarTransistor03Flat":
        return html`<obi-bipolar_transistor-03-flat
            usecsscolor
            slot="icon"
          ></obi-bipolar_transistor-03-flat>
          <obi-bipolar_transistor-03-flat
            usecsscolor
            slot="icon-silhouette"
          ></obi-bipolar_transistor-03-flat>`;
      case "bipolarTransistor04Flat":
        return html`<obi-bipolar_transistor-04-flat
            usecsscolor
            slot="icon"
          ></obi-bipolar_transistor-04-flat>
          <obi-bipolar_transistor-04-flat
            usecsscolor
            slot="icon-silhouette"
          ></obi-bipolar_transistor-04-flat>`;
      default:
        if (this.on) {
          return html`<obi-bipolar_transistor-on
              usecsscolor
              slot="icon"
            ></obi-bipolar_transistor-on>
            <obi-bipolar_transistor-on
              usecsscolor
              slot="icon-silhouette"
            ></obi-bipolar_transistor-on>`;
        } else {
          return html`<obi-bipolar_transistor-off
              usecsscolor
              slot="icon"
            ></obi-bipolar_transistor-off>
            <obi-bipolar_transistor-off
              usecsscolor
              slot="icon-silhouette"
            ></obi-bipolar_transistor-off>`;
        }
    }
  }
};
__decorateClass([
  property({ type: String })
], ObcBipolarTransistor.prototype, "alternativeIcon", 2);
ObcBipolarTransistor = __decorateClass([
  customElement("obc-bipolar-transistor")
], ObcBipolarTransistor);
export {
  BipolarTransistorAlternativeIcon,
  ObcBipolarTransistor
};
//# sourceMappingURL=bipolar-transistor.js.map
