import { c as i } from "../../chunks/runtime.js";
import { usePropertyChange as s } from "@arcgis/lumina/controllers";
import n from "@geoscene/core/widgets/Feature.js";
import { LitElement as a, createEvent as o, noShadowRoot as d } from "@arcgis/lumina";
import { m as h } from "../../chunks/useWidget.js";
import { css as l } from "@lit/reactive-element/css-tag.js";
/*! All material copyright GeoScene, All Rights Reserved, unless otherwise specified.
See https://js.geoscene.cn/4.33/geoscene/copyright.txt for details.
v4.33.18 */
const r = l`@layer{geoscene-feature{display:block}}`, c = h(n);
class m extends a {
  constructor() {
    super(...arguments), this.widget = c(this), this.viewModel = this.widget.viewModel, this.autoDestroyDisabled = !1, this.defaultPopupTemplateEnabled = this.widget.defaultPopupTemplateEnabled, this.graphic = this.widget.graphic, this.headingLevel = this.widget.headingLevel, this.hideContentAttachments = this.widget.visibleElements.content.attachments, this.hideContentExpression = this.widget.visibleElements.content.expression, this.hideContentFields = this.widget.visibleElements.content.fields, this.hideContentMedia = this.widget.visibleElements.content.media, this.hideContentText = this.widget.visibleElements.content.text, this.hideLastEditInfo = this.widget.visibleElements.lastEditedInfo, this.hideLastEditedInfo = this.widget.visibleElements.lastEditedInfo, this.hideTitle = this.widget.visibleElements.title, this.icon = this.widget.icon, this.label = this.widget.label, this.location = this.viewModel.location, this.map = this.widget.map, this.position = "bottom-left", this.spatialReference = this.widget.spatialReference, this.state = this.viewModel.state, this.timeZone = this.widget.timeZone, this.geoscenePropertyChange = s()("state"), this.geosceneReady = o();
  }
  static {
    this.properties = { autoDestroyDisabled: 5, defaultPopupTemplateEnabled: 5, graphic: 0, headingLevel: 9, hideContentAttachments: 5, hideContentExpression: 5, hideContentFields: 5, hideContentMedia: 5, hideContentText: 5, hideLastEditInfo: 5, hideLastEditedInfo: 5, hideTitle: 5, icon: 1, label: 1, location: 0, map: 0, position: 1, referenceElement: 1, spatialReference: 0, state: 3, timeZone: 1 };
  }
  static {
    this.shadowRootOptions = d;
  }
  static {
    this.styles = r;
  }
  async destroy() {
    await this.manager.destroy();
  }
  async nextMedia(t) {
    this.widget?.nextMedia(t);
  }
  async previousMedia(t) {
    this.widget?.previousMedia(t);
  }
  async setActiveMedia(t, e) {
    this.widget?.setActiveMedia(t, e);
  }
}
i("geoscene-feature", m);
export {
  m as GeosceneFeature
};