import { c as t } from "../../chunks/runtime.js";
import { usePropertyChange as i } from "@arcgis/lumina/controllers";
import s from "@geoscene/core/widgets/ShadowCast.js";
import { LitElement as o, createEvent as h, noShadowRoot as d } from "@arcgis/lumina";
import { m as l } from "../../chunks/useWidget.js";
import { css as a } 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 = a`@layer{geoscene-shadow-cast{display:block}}`, n = l(s);
class m extends o {
  constructor() {
    super(...arguments), this.widget = n(this), this.viewModel = this.widget.viewModel, this.autoDestroyDisabled = !1, this.discreteOptions = this.viewModel.discreteOptions, this.durationOptions = this.viewModel.durationOptions, this.endTimeOfDay = this.viewModel.endTimeOfDay, this.headingLevel = this.widget.headingLevel, this.hideColorPicker = this.widget.visibleElements.colorPicker, this.hideDatePicker = this.widget.visibleElements.datePicker, this.hideTimeRangeSlider = this.widget.visibleElements.timeRangeSlider, this.hideTimezone = this.widget.visibleElements.timezone, this.hideTooltip = this.widget.visibleElements.tooltip, this.hideVisualizationOptions = this.widget.visibleElements.visualizationOptions, this.hideThresholdContext = this.widget.visibleElements.thresholdContext, this.hideThresholdContextColor = this.widget.visibleElements.thresholdContextColor, this.hideThresholdContextTimeInterval = this.widget.visibleElements.thresholdContextTimeInterval, this.hideThresholdContextToggle = this.widget.visibleElements.thresholdContextToggle, this.icon = this.widget.icon, this.label = this.widget.label, this.position = "bottom-left", this.startTimeOfDay = this.viewModel.startTimeOfDay, this.state = this.viewModel.state, this.thresholdOptions = this.viewModel.thresholdOptions, this.utcOffset = this.viewModel.utcOffset, this.visualizationType = this.viewModel.visualizationType, this.geoscenePropertyChange = i()("state"), this.geosceneReady = h();
  }
  static {
    this.properties = { autoDestroyDisabled: 5, date: 1, discreteOptions: 0, durationOptions: 0, endTimeOfDay: 9, headingLevel: 9, hideColorPicker: 5, hideDatePicker: 5, hideTimeRangeSlider: 5, hideTimezone: 5, hideTooltip: 5, hideVisualizationOptions: 5, hideThresholdContext: 5, hideThresholdContextColor: 5, hideThresholdContextTimeInterval: 5, hideThresholdContextToggle: 5, icon: 1, label: 1, position: 1, referenceElement: 1, startTimeOfDay: 9, state: 3, thresholdOptions: 0, utcOffset: 9, visualizationType: 1 };
  }
  static {
    this.shadowRootOptions = d;
  }
  static {
    this.styles = r;
  }
  get date() {
    return this.viewModel.date;
  }
  set date(e) {
    this.viewModel.date = e;
  }
  async destroy() {
    await this.manager.destroy();
  }
  async getDuration(e) {
    return await this.widget?.viewModel.getDuration(e);
  }
  async start() {
    this.widget?.viewModel.start();
  }
  async stop() {
    this.widget?.viewModel.stop();
  }
}
t("geoscene-shadow-cast", m);
export {
  m as GeosceneShadowCast
};