import { html } from "lit";
import { property } from "lit/decorators.js";
import "../../icons/icon-mosfet-ntype-1-on.js";
import "../../icons/icon-mosfet-ntype-1-off.js";
import "../../icons/icon-mosfet-ntype-2-on.js";
import "../../icons/icon-mosfet-ntype-2-off.js";
import "../../icons/icon-mosfet-ntype-3-on.js";
import "../../icons/icon-mosfet-ntype-3-off.js";
import "../../icons/icon-mosfet-ntype-4-on.js";
import "../../icons/icon-mosfet-ntype-4-off.js";
import "../../icons/icon-mosfet-ptype-1-on.js";
import "../../icons/icon-mosfet-ptype-1-off.js";
import "../../icons/icon-mosfet-ptype-2-on.js";
import "../../icons/icon-mosfet-ptype-2-off.js";
import "../../icons/icon-mosfet-ptype-3-on.js";
import "../../icons/icon-mosfet-ptype-3-off.js";
import "../../icons/icon-mosfet-ptype-4-on.js";
import "../../icons/icon-mosfet-ptype-4-off.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 MosfetAlternativeIcon = /* @__PURE__ */ ((MosfetAlternativeIcon2) => {
  MosfetAlternativeIcon2["mosfetNtype1"] = "mosfetNtype1";
  MosfetAlternativeIcon2["mosfetNtype2"] = "mosfetNtype2";
  MosfetAlternativeIcon2["mosfetNtype3"] = "mosfetNtype3";
  MosfetAlternativeIcon2["mosfetNtype4"] = "mosfetNtype4";
  MosfetAlternativeIcon2["mosfetPtype1"] = "mosfetPtype1";
  MosfetAlternativeIcon2["mosfetPtype2"] = "mosfetPtype2";
  MosfetAlternativeIcon2["mosfetPtype3"] = "mosfetPtype3";
  MosfetAlternativeIcon2["mosfetPtype4"] = "mosfetPtype4";
  return MosfetAlternativeIcon2;
})(MosfetAlternativeIcon || {});
let ObcMosfet = class extends ObcAbstractAutomationButtonSquared {
  constructor() {
    super(...arguments);
    this.alternativeIcon = "mosfetNtype1";
  }
  get icon() {
    switch (this.alternativeIcon) {
      case "mosfetNtype2":
        if (this.on) {
          return html`<obi-mosfet-ntype-2-on
              usecsscolor
              slot="icon"
            ></obi-mosfet-ntype-2-on>
            <obi-mosfet-ntype-2-on
              usecsscolor
              slot="icon-silhouette"
            ></obi-mosfet-ntype-2-on>`;
        } else {
          return html`<obi-mosfet-ntype-2-off
              usecsscolor
              slot="icon"
            ></obi-mosfet-ntype-2-off>
            <obi-mosfet-ntype-2-off
              usecsscolor
              slot="icon-silhouette"
            ></obi-mosfet-ntype-2-off>`;
        }
      case "mosfetNtype3":
        if (this.on) {
          return html`<obi-mosfet-ntype-3-on
              usecsscolor
              slot="icon"
            ></obi-mosfet-ntype-3-on>
            <obi-mosfet-ntype-3-on
              usecsscolor
              slot="icon-silhouette"
            ></obi-mosfet-ntype-3-on>`;
        } else {
          return html`<obi-mosfet-ntype-3-off
              usecsscolor
              slot="icon"
            ></obi-mosfet-ntype-3-off>
            <obi-mosfet-ntype-3-off
              usecsscolor
              slot="icon-silhouette"
            ></obi-mosfet-ntype-3-off>`;
        }
      case "mosfetNtype4":
        if (this.on) {
          return html`<obi-mosfet-ntype-4-on
              usecsscolor
              slot="icon"
            ></obi-mosfet-ntype-4-on>
            <obi-mosfet-ntype-4-on
              usecsscolor
              slot="icon-silhouette"
            ></obi-mosfet-ntype-4-on>`;
        } else {
          return html`<obi-mosfet-ntype-4-off
              usecsscolor
              slot="icon"
            ></obi-mosfet-ntype-4-off>
            <obi-mosfet-ntype-4-off
              usecsscolor
              slot="icon-silhouette"
            ></obi-mosfet-ntype-4-off>`;
        }
      case "mosfetPtype1":
        if (this.on) {
          return html`<obi-mosfet-ptype-1-on
              usecsscolor
              slot="icon"
            ></obi-mosfet-ptype-1-on>
            <obi-mosfet-ptype-1-on
              usecsscolor
              slot="icon-silhouette"
            ></obi-mosfet-ptype-1-on>`;
        } else {
          return html`<obi-mosfet-ptype-1-off
              usecsscolor
              slot="icon"
            ></obi-mosfet-ptype-1-off>
            <obi-mosfet-ptype-1-off
              usecsscolor
              slot="icon-silhouette"
            ></obi-mosfet-ptype-1-off>`;
        }
      case "mosfetPtype2":
        if (this.on) {
          return html`<obi-mosfet-ptype-2-on
              usecsscolor
              slot="icon"
            ></obi-mosfet-ptype-2-on>
            <obi-mosfet-ptype-2-on
              usecsscolor
              slot="icon-silhouette"
            ></obi-mosfet-ptype-2-on>`;
        } else {
          return html`<obi-mosfet-ptype-2-off
              usecsscolor
              slot="icon"
            ></obi-mosfet-ptype-2-off>
            <obi-mosfet-ptype-2-off
              usecsscolor
              slot="icon-silhouette"
            ></obi-mosfet-ptype-2-off>`;
        }
      case "mosfetPtype3":
        if (this.on) {
          return html`<obi-mosfet-ptype-3-on
              usecsscolor
              slot="icon"
            ></obi-mosfet-ptype-3-on>
            <obi-mosfet-ptype-3-on
              usecsscolor
              slot="icon-silhouette"
            ></obi-mosfet-ptype-3-on>`;
        } else {
          return html`<obi-mosfet-ptype-3-off
              usecsscolor
              slot="icon"
            ></obi-mosfet-ptype-3-off>
            <obi-mosfet-ptype-3-off
              usecsscolor
              slot="icon-silhouette"
            ></obi-mosfet-ptype-3-off>`;
        }
      case "mosfetPtype4":
        if (this.on) {
          return html`<obi-mosfet-ptype-4-on
              usecsscolor
              slot="icon"
            ></obi-mosfet-ptype-4-on>
            <obi-mosfet-ptype-4-on
              usecsscolor
              slot="icon-silhouette"
            ></obi-mosfet-ptype-4-on>`;
        } else {
          return html`<obi-mosfet-ptype-4-off
              usecsscolor
              slot="icon"
            ></obi-mosfet-ptype-4-off>
            <obi-mosfet-ptype-4-off
              usecsscolor
              slot="icon-silhouette"
            ></obi-mosfet-ptype-4-off>`;
        }
      default:
        if (this.on) {
          return html`<obi-mosfet-ntype-1-on
              usecsscolor
              slot="icon"
            ></obi-mosfet-ntype-1-on>
            <obi-mosfet-ntype-1-on
              usecsscolor
              slot="icon-silhouette"
            ></obi-mosfet-ntype-1-on>`;
        } else {
          return html`<obi-mosfet-ntype-1-off
              usecsscolor
              slot="icon"
            ></obi-mosfet-ntype-1-off>
            <obi-mosfet-ntype-1-off
              usecsscolor
              slot="icon-silhouette"
            ></obi-mosfet-ntype-1-off>`;
        }
    }
  }
};
__decorateClass([
  property({ type: String })
], ObcMosfet.prototype, "alternativeIcon", 2);
ObcMosfet = __decorateClass([
  customElement("obc-mosfet")
], ObcMosfet);
export {
  MosfetAlternativeIcon,
  ObcMosfet
};
//# sourceMappingURL=mosfet.js.map
