@arcgis/map-components
Version:
ArcGIS Map Components
3 lines (2 loc) • 1.69 kB
JavaScript
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
import{a as h}from"./Q52QESBE.js";import{N as n,O as o,P as r,U as d,a as s,b as a,x as l}from"./WUJCCZQC.js";import"./3TTFCHAA.js";var f=s`.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}`,c=class extends o{constructor(){super(...arguments),this.checked=!1,this.disabled=!1,this.hintKind="info",this.arcgisCheckedChanged=l()}static{this.properties={checked:7,disabled:7,label:1,hint:1,hintIcon:1,hintKind:1}}static{this.styles=f}async destroy(){await this.manager.destroy()}_setIconRef(e){this._icon=e,this.requestUpdate()}render(){let{label:e,hint:i,hintKind:p,hintIcon:b,checked:m,disabled:g}=this;return a`<calcite-label class="label" layout=inline-space-between scale=s>${i?h("label-content",a`<div class="label-content"><div>${e}</div><calcite-icon class=${r(p!=="warning"?"icon info":"icon warning")} .icon=${b??"information"} =${t=>t.stopPropagation()} .textLabel=${i} scale=s tabindex=0 ${n(this._setIconRef)}></calcite-icon><calcite-tooltip id=labeledSwitchTooltip class="tooltip" overlay-positioning=fixed .referenceElement=${this._icon??void 0}>${i}</calcite-tooltip></div>`):e}<calcite-switch .checked=${m} .disabled=${g} scale=s .name=${e} =${t=>{this.checked=t.target.checked,this.arcgisCheckedChanged.emit(t.target.checked)}}></calcite-switch></calcite-label>`}};d("arcgis-labeled-switch",c);export{c as LabeledSwitch};