@arcgis/map-components
Version:
ArcGIS Map Components
5 lines (4 loc) • 3 kB
JavaScript
/*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
v4.32.13 */
import{a as M}from"./NYXWVKGC.js";import{a as S}from"./QKQNYHUC.js";import{a as p}from"./KWBN5CHV.js";import"./JM4XJJFL.js";import"./AX2MGWNF.js";import{A as w,B,C as a,D as d,E as o,G as x,a as m,g as y,q as _,r as f,s as l}from"./NIZJVZRG.js";var[{getBasemapThumbnailUrl:C},L]=await $arcgis.l(["applications/Components/basemapUtils","widgets/BasemapToggle/BasemapToggleViewModel"]);var R=f`@layer{arcgis-basemap-toggle{display:block}}`,s="esri-basemap-toggle",r="esri-basemap-thumbnail",e={base:s,secondaryBasemapImage:`${s}__image--secondary`,container:`${r} ${s}__container`,image:`${r}__image ${s}__image`,imageLoading:`${s}__image--loading`,overlay:`${r}__overlay ${s}__image-overlay`,title:`${r}__title ${s}__title`,overlayScrim:`${r}__overlay-scrim`},A=M(L),g=class extends B{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.arcgisPropertyChange=_()("nextBasemap","state"),this.arcgisReady=w()}static{this.properties={activeBasemap:0,autoDestroyDisabled:5,icon:3,label:1,messageOverrides:0,nextBasemap:0,position:3,referenceElement:1,showTitle:5,state:3}}static{this.shadowRootOptions=y}static{this.styles=R}async destroy(){await this.manager.destroy()}async toggle(){return await this.viewModel.toggle()}_getThumbnailStyles(t){let n=C(t);return n?{backgroundImage:`url(${n})`}:{backgroundImage:""}}render(){let t=this.viewModel,n=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(n),I=this._getThumbnailStyles(i);return k&&(v=l`<div class=${a(e.overlay)}>${b?l`<span class=${a(e.title)} title=${c??o}>${c}</span>`:null}${u?l`<calcite-scrim class=${a(e.overlayScrim)} title=${this.messages.incompatibleSpatialReference??o}><calcite-icon icon=exclamation-mark-triangle></calcite-icon></calcite-scrim>`:null}</div>`),l`<div class=${a(m(e.base,p.widget))}><calcite-button appearance=transparent data-basemap-id=${(i?i.id:"")??o} .disabled=${h} kind=neutral .label=${this.label??void 0} @click=${()=>void this.toggle()} title=${this.label??void 0??o}><div class=${a(m(e.container,e.secondaryBasemapImage))}><div class=${a(e.image)} style=${d(D)}></div></div><div class=${a(e.container)}><div class=${a(m(e.image,$?e.imageLoading:null))} style=${d(I)}>${$||T?l`<calcite-scrim><span aria-hidden=true class=${a(p.loaderAnimation)} role=presentation></span></calcite-scrim>`:null}</div>${v}</div></calcite-button></div>`}};x("arcgis-basemap-toggle",g);export{g as ArcgisBasemapToggle};