import { property } from "lit/decorators.js";
import { customElement } from "../../decorator.js";
import { ObcAbstractPoiObject } from "../building-blocks/poi-object/abstract-poi-object.js";
import { ObcPoiObjectType } from "../building-blocks/poi-object/poi-object.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 ObcPoiObjectDataStyle = /* @__PURE__ */ ((ObcPoiObjectDataStyle2) => {
  ObcPoiObjectDataStyle2["Regular"] = "regular";
  ObcPoiObjectDataStyle2["Categorical"] = "categorical";
  ObcPoiObjectDataStyle2["Enhanced"] = "enhanced";
  return ObcPoiObjectDataStyle2;
})(ObcPoiObjectDataStyle || {});
var ObcPoiObjectDataState = /* @__PURE__ */ ((ObcPoiObjectDataState2) => {
  ObcPoiObjectDataState2["Unchecked"] = "unchecked";
  ObcPoiObjectDataState2["Checked"] = "checked";
  ObcPoiObjectDataState2["StaticUnchecked"] = "static-unchecked";
  ObcPoiObjectDataState2["StaticChecked"] = "static-checked";
  ObcPoiObjectDataState2["Activated"] = "activated";
  ObcPoiObjectDataState2["Overlapped"] = "overlapped";
  ObcPoiObjectDataState2["Caution"] = "caution";
  ObcPoiObjectDataState2["Warning"] = "warning";
  ObcPoiObjectDataState2["Alarm"] = "alarm";
  return ObcPoiObjectDataState2;
})(ObcPoiObjectDataState || {});
let ObcPoiObjectData = class extends ObcAbstractPoiObject {
  constructor() {
    super(...arguments);
    this.type = ObcPoiObjectType.Regular;
  }
  get baseType() {
    switch (this.type) {
      case ObcPoiObjectType.Indicator:
        return ObcPoiObjectType.Indicator;
      case ObcPoiObjectType.Large:
        return ObcPoiObjectType.Large;
      case ObcPoiObjectType.NUp:
        return ObcPoiObjectType.NUp;
      case ObcPoiObjectType.NUpLarge:
        return ObcPoiObjectType.NUpLarge;
      default:
        return ObcPoiObjectType.Regular;
    }
  }
};
__decorateClass([
  property({ type: String })
], ObcPoiObjectData.prototype, "type", 2);
ObcPoiObjectData = __decorateClass([
  customElement("obc-poi-object-data")
], ObcPoiObjectData);
export {
  ObcPoiObjectData,
  ObcPoiObjectDataState,
  ObcPoiObjectDataStyle,
  ObcPoiObjectType as ObcPoiObjectDataType
};
//# sourceMappingURL=poi-object-data.js.map
