/*! 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 c from"./E5V5AKTV.js";import{a as S}from"./VK24LKXI.js";import{a as d}from"./LL7T22QC.js";import b from"./Y4DAIYBP.js";import a from"./DTE4O2DP.js";import{e as x}from"./LYMDZ73M.js";import"./MG6XDMQJ.js";import"./HITJFSBP.js";import{B as _,E as w,P as f,Q as e,R as p,S as r,U as B,a as o,j as y,k as l}from"./3VKC6PRK.js";export default $geoscene.t(([{getBasemapThumbnailUrl:C},L,,,M])=>{var R=y`@layer{geoscene-basemap-toggle{display:block}.geoscene-basemap-toggle__title-wrap{text-wrap:wrap}}`,s="geoscene-basemap-toggle",n="geoscene-basemap-thumbnail",a={base:s,secondaryBasemapImage:`${s}__image--secondary`,container:`${n} ${s}__container`,image:`${n}__image ${s}__image`,imageLoading:`${s}__image--loading`,overlay:`${n}__overlay ${s}__image-overlay`,title:`${n}__title ${s}__title`,titleWrap:`${s}__title-wrap`,overlayScrim:`${n}__overlay-scrim`},A=M(L),g=class extends f{constructor(){super(...arguments),this.messages=S(),this.viewModel=A(this),this.activeBasemap=this.viewModel.activeBasemap,this.autoDestroyDisabled=!1,this.icon="layer-basemap",this.nextBasemap=this.viewModel.nextBasemap,this.position="top-left",this.showTitle=!1,this.state=this.viewModel.state,this.geoscenePropertyChange=x()("activeBasemap","nextBasemap","state"),this.geosceneReady=_()}static{this.properties={activeBasemap:0,autoDestroyDisabled:5,icon:1,label:1,messageOverrides:0,nextBasemap:1,position:3,referenceElement:1,showTitle:5,state:3}}static{this.shadowRootOptions=w}static{this.styles=R}async destroy(){await this.manager.destroy()}async toggle(){return await this.viewModel.toggle()}_getThumbnailStyles(t){let m=C(t);return m?{backgroundImage:`url(${m})`}:{backgroundImage:""}}render(){let t=this.viewModel,m=t.state==="disabled"?null:t.activeBasemap,i=t.state==="disabled"?null:t.nextBasemap,T=t.state==="loading",h=t.state==="incompatible-next-basemap",c=i?.title??"",$=i&&i.loadStatus!=="loaded",v,b=this.showTitle&&c,u=h,k=b||u,D=this._getThumbnailStyles(m),I=this._getThumbnailStyles(i);return k&&(v=l`<div class=${e(a.overlay)}>${b?l`<span class=${e(o(a.title,a.titleWrap))} title=${c??r}>${c}</span>`:null}${u?l`<calcite-scrim class=${e(a.overlayScrim)} title=${this.messages.incompatibleSpatialReference??r}><calcite-icon icon=exclamation-mark-triangle></calcite-icon></calcite-scrim>`:null}</div>`),l`<div class=${e(o(a.base,d.widget))}><calcite-button appearance=transparent data-basemap-id=${(i?i.id:"")??r} .disabled=${h} kind=neutral .label=${this.label??void 0} @click=${()=>void this.toggle()} title=${this.label??void 0??r}><div class=${e(o(a.container,a.secondaryBasemapImage))}><div class=${e(a.image)} style=${p(D)}></div></div><div class=${e(a.container)}><div class=${e(o(a.image,$?a.imageLoading:null))} style=${p(I)}>${$||T?l`<calcite-scrim><span aria-hidden=true class=${e(d.loaderAnimation)} role=presentation></span></calcite-scrim>`:null}</div>${v}</div></calcite-button></div>`}};B("geoscene-basemap-toggle",g);return g},"applications/Components/basemapUtils","widgets/BasemapToggle/BasemapToggleViewModel",a,b,c)