UNPKG

@arcgis/map-components

Version:
5 lines (4 loc) 2.35 kB
/*! 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 s}from"./M4BRRH7A.js";import{a as f}from"./KWBN5CHV.js";import{B as $,C as i,E as r,G as u,H as v,a as g,g as b,s as l}from"./NIZJVZRG.js";var{watch:y}=await $arcgis.l("core/reactiveUtils");function C(e){return e.portalItem?.type==="Web Scene"||e.referenceLayers.some(a=>a.type==="scene")}function D(e){return!!e?.portalItem?.tags?.some(a=>a.toLowerCase()==="beta")}var c=class extends ${constructor(){super(...arguments),this._itemState="loading",this._isActive=!1}static{this.properties={_itemState:16,_isActive:16,disabled:5,item:0,itemIndex:9,viewModel:0,messages:0}}static{this.shadowRootOptions=b}loaded(){this.manager.onLifecycle(()=>[y(()=>this.item.state,a=>{this._itemState=a},{sync:!0}),y(()=>this.viewModel.activeBasemap,a=>{this._isActive=this.item.basemap.id===a?.id,this._isActive&&(this.el.childElem?.focus(),this.el.scrollIntoView({block:"nearest"}))},{initial:!0,sync:!0})])}render(){let{disabled:a,item:t,itemIndex:o,viewModel:n,messages:I}=this,w=t.basemap.thumbnailUrl||v("assets/basemap-gallery/images/basemap-toggle-64.svg"),p=t.basemap.title,_=t.basemap.portalItem?.snippet,x=t.error?.message||_||p,{activeBasemapIndex:d}=n,m=d===o,A=m||d===-1&&o===0?0:-1,B={[s.selectedItem]:m,[s.itemError]:t.state==="error"},h=`basemapgallery-item-${t.uid}`;return l`<div .ariaChecked=${m} .ariaDisabled=${a} aria-labelledby=${h??r} class=${i(g(s.item,B))} role=radio tabindex=${A??r} title=${x??r} @click=${()=>{t.state==="ready"&&(n.activeBasemap=t.basemap)}}><img alt class=${i(s.itemThumbnail)} src=${w??r}><div class=${i(s.itemContent)}><div class=${i(s.itemTitle)}><span id=${h??r}>${p}</span></div>${C(t.basemap)?E(t.basemap,I):null}</div>${t.state!=="loading"?null:l`<calcite-scrim><span aria-hidden=true class=${i(f.loaderAnimation)} role=presentation></span></calcite-scrim>`}</div>`}};function E(e,a){return l`<div class=${i(s.itemTagsContainer)}>${L(a)}${D(e)?M(a):null}</div>`}function L(e){return l`<calcite-chip scale=s .label=${e.tag3D}>${e.tag3D}</calcite-chip>`}function M(e){return l`<calcite-chip appearance=outline-fill scale=s .label=${e.tagBeta}>${e.tagBeta}</calcite-chip>`}u("arcgis-basemap-gallery-item",c);export{c as ArcgisBasemapGalleryItem};