/*! 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 */
import{a as p}from"./PBTK3Z7K.js";import{b as h}from"./IC36TD4R.js";import{B as s,P as r,Q as e,U as d,j as o,k as c}from"./3VKC6PRK.js";var w=o`.label{--calcite-label-margin-bottom: 0}.label-content{display:flex;flex:1;gap:var(--calcite-spacing-sm);align-items:center;text-wrap:balance}.label-content>div{flex-grow:1}.icon{margin-top:-1px;&.info{color:var(--calcite-color-status-info)}&.warning{color:var(--calcite-color-status-warning)}}.tooltip{text-wrap:wrap}`,t={label:"label",labelContent:"label-content",iconInfo:"icon info",iconWarning:"icon warning",tooltip:"tooltip"},n=class extends r{constructor(){super(...arguments),this.checked=!1,this.disabled=!1,this.hintKind="info",this.geosceneCheckedChanged=s()}static{this.properties={_icon:16,checked:7,disabled:7,label:1,hint:1,hintIcon:1,hintKind:1}}static{this.styles=w}async destroy(){await this.manager.destroy()}_setIconRef(i){this._icon=i}render(){let{label:i,hint:l,hintKind:b,hintIcon:g,checked:m,disabled:f}=this;return c`<calcite-label class=${e(t.label)} layout=inline-space-between scale=s>${l?p("label-content",c`<div class=${e(t.labelContent)}><div>${i}</div><calcite-icon class=${e(b!=="warning"?t.iconInfo:t.iconWarning)} .icon=${g??"information"} @click=${a=>a.stopPropagation()} scale=s tabindex=0 ${h(this._setIconRef)}></calcite-icon><calcite-tooltip class=${e(t.tooltip)} overlay-positioning=fixed .referenceElement=${this._icon??void 0}>${l}</calcite-tooltip></div>`):i}<calcite-switch .checked=${m} .disabled=${f} scale=s @calciteSwitchChange=${a=>{this.checked=a.target.checked,this.geosceneCheckedChanged.emit(a.target.checked)}}></calcite-switch></calcite-label>`}};d("geoscene-labeled-switch",n);export{n as LabeledSwitch};