import { c as i } from "../../chunks/runtime.js";
import { usePropertyChange as s } from "@arcgis/lumina/controllers";
import { reEmitEvent as t } from "@arcgis/lumina/controllers/accessor";
import n from "@geoscene/core/widgets/Slider.js";
import { LitElement as a, createEvent as l, noShadowRoot as h } from "@arcgis/lumina";
import { m as g } from "../../chunks/useWidget.js";
import { css as m } 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 c = m`@layer{geoscene-slider{min-width:200px;min-height:25px}}`, r = g(n);
class d extends a {
  constructor() {
    super(...arguments), this.widget = r(this), this.viewModel = this.widget.viewModel, this.autoDestroyDisabled = !1, this.draggableSegmentsEnabled = this.widget.draggableSegmentsEnabled, this.effectiveMax = this.widget.effectiveMax, this.effectiveMin = this.widget.effectiveMin, this.effectiveSegmentElements = this.widget.effectiveSegmentElements, this.icon = this.widget.icon, this.label = this.widget.label, this.labelElements = this.widget.labelElements, this.labelInputsEnabled = this.widget.labelInputsEnabled, this.labels = this.widget.labels, this.layout = this.widget.layout, this.max = this.widget.max, this.maxLabelElement = this.widget.maxLabelElement, this.min = this.widget.min, this.minLabelElement = this.widget.minLabelElement, this.position = "bottom-left", this.precision = this.widget.precision, this.rangeLabelInputsEnabled = this.widget.rangeLabelInputsEnabled, this.segmentElements = this.widget.segmentElements, this.snapOnClickEnabled = this.widget.snapOnClickEnabled, this.state = this.widget.state, this.steps = this.widget.steps, this.syncedSegmentsEnabled = this.widget.syncedSegmentsEnabled, this.thumbElements = this.widget.thumbElements, this.thumbsConstrained = this.widget.thumbsConstrained, this.tickConfigs = this.widget.tickConfigs, this.tickElements = this.widget.tickElements, this.trackElement = this.widget.trackElement, this.values = this.widget.values, this.geosceneMaxChange = t(() => this.widget, "max-change"), this.geosceneMaxClick = t(() => this.widget, "max-click"), this.geosceneMinChange = t(() => this.widget, "min-change"), this.geosceneMinClick = t(() => this.widget, "min-click"), this.geoscenePropertyChange = s()("state"), this.geosceneReady = l(), this.geosceneSegmentClick = t(() => this.widget, "segment-click"), this.geosceneSegmentDrag = t(() => this.widget, "segment-drag"), this.geosceneThumbChange = t(() => this.widget, "thumb-change"), this.geosceneThumbClick = t(() => this.widget, "thumb-click"), this.geosceneThumbDrag = t(() => this.widget, "thumb-drag"), this.geosceneTickClick = t(() => this.widget, "tick-click"), this.geosceneTrackClick = t(() => this.widget, "track-click");
  }
  static {
    this.properties = { autoDestroyDisabled: 5, draggableSegmentsEnabled: 5, effectiveMax: 9, effectiveMin: 9, effectiveSegmentElements: 0, icon: 1, label: 1, labelElements: 0, labelInputsEnabled: 5, labels: 0, layout: 1, max: 9, maxLabelElement: 0, min: 9, minLabelElement: 0, position: 1, precision: 9, rangeLabelInputsEnabled: 5, referenceElement: 1, segmentElements: 0, snapOnClickEnabled: 5, state: 3, steps: [9, { converter: (e) => typeof e == "string" ? e.split(",").map(Number) : e }], syncedSegmentsEnabled: 5, thumbElements: 0, thumbsConstrained: 5, tickConfigs: 0, tickElements: 0, trackElement: 0, values: [1, { converter: (e) => typeof e == "string" ? e.split(",").map(Number) : e }] };
  }
  static {
    this.shadowRootOptions = h;
  }
  static {
    this.styles = c;
  }
  async destroy() {
    await this.manager.destroy();
  }
}
i("geoscene-slider", d);
export {
  d as GeosceneSlider
};