@arcgis/map-components
Version:
ArcGIS Map Components
5 lines (4 loc) • 3.69 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 h}from"./M4BRRH7A.js";import{a as E}from"./NYXWVKGC.js";import{a as D}from"./QKQNYHUC.js";import{a as c}from"./KWBN5CHV.js";import"./JM4XJJFL.js";import"./AX2MGWNF.js";import{A as R,B as L,C as d,D as A,E as f,G as B,a as g,g as y,q as M,r as _,s as n,t as S,u as x}from"./NIZJVZRG.js";var[{when:U,watch:P},j]=await $arcgis.l(["core/reactiveUtils","widgets/BasemapGallery/BasemapGalleryViewModel"]);var k=Symbol.for(""),O=a=>{if(a?.r===k)return a?._$litStatic$},C=a=>({_$litStatic$:a,r:k});var I=new Map,v=a=>(e,...t)=>{let s=t.length,i,o,r=[],p=[],m,l=0,w=!1;for(;l<s;){for(m=e[l];l<s&&(o=t[l],(i=O(o))!==void 0);)m+=i+e[++l],w=!0;l!==s&&p.push(o),r.push(m),l++}if(l===s&&r.push(e[s]),w){let b=r.join("$$lit$$");(e=I.get(b))===void 0&&(r.raw=r,I.set(b,e=r)),t=p}return a(e,...t)},G=v(n),H=v(S),J=v(x);function z({level:a,class:e,children:t}){let s=T(a),i=`h${s}`,o=C(i);return G`<${o} .ariaLevel=${String(s)} class=${d(g(c.heading,e))} role=heading>${t}</${o}>`}function K(a,e,t){return Math.min(Math.max(a,e),t)}function T(a){return K(Math.ceil(a),1,6)}var V=_` {arcgis-basemap-gallery{display:block}}`,q=E(j),u={small:200,default:280,wide:420},$=class extends L{constructor(){super(...arguments),this.messages=D({}),this.viewModel=q(this),this._width=0,this._state="",this.activeBasemap=this.viewModel.activeBasemap,this.autoDestroyDisabled=!1,this.disabled=!1,this.headingLevel=2,this.icon="basemap",this.label="",this.position="bottom-left",this.source=this.viewModel.source,this.state=this.viewModel.state,this.arcgisPropertyChange=M()("activeBasemap","state"),this.arcgisReady=R()}static{this.properties={_width:16,_state:16,activeBasemap:0,autoDestroyDisabled:5,disabled:7,headingLevel:9,icon:1,label:1,position:1,referenceElement:1,source:0,state:3}}static{this.shadowRootOptions=y}static{this.styles=V}async destroy(){await this.manager.destroy()}loaded(){this.manager.onLifecycle(()=>[U(()=>this.source,()=>{this.viewModel.loadSource()},{sync:!0,initial:!0}),P(()=>this.source.state,()=>{this._state=this.source.state},{sync:!0})]);let e=new ResizeObserver(s=>{for(let i of s)this._width=i.contentRect.width}),t=this.el.childElem;t&&e.observe(t)}_getRoundRobinIndex(e,t){return(e+t)%t}_handleKeyDown(e){let{key:t}=e;if(!["ArrowUp","ArrowDown","ArrowRight","ArrowLeft"].includes(t))return;e.preventDefault();let{items:s,activeBasemapIndex:i}=this.viewModel,o=t==="ArrowUp"||t==="ArrowLeft"?this._getRoundRobinIndex(Math.max(i-1,-1),s.length):this._getRoundRobinIndex(i+1,s.length),r=s.at(o);r?.state==="ready"&&(this.viewModel.activeBasemap=r.basemap)}render(){let e=this.source.state==="loading",t=this.disabled||this.state==="disabled",s=this.viewModel.items,i={[h.sourceLoading]:e,[c.disabled]:t,"esri-component":!0},o=this._width;o<=u.small||o>=u.wide?i[h.layoutGrid]=!0:o<u.default&&(i[h.narrowItems]=!0);let r=e?n`<div class=${d(h.loader)}></div>`:null,p=e?null:s.length>0?n`<div aria-disabled=${this.disabled??f} aria-label=${this.label??f} class=${d(h.itemContainer)} =${this._handleKeyDown} role=radiogroup>${s.map((m,l)=>n`<arcgis-basemap-gallery-item .disabled=${t} .item=${m} .itemIndex=${l} .viewModel=${this.viewModel} .messages=${this.messages}></arcgis-basemap-gallery-item>`)}</div>`:n`<div class=${d(c.empty)}>${z({level:this.headingLevel,children:this.messages.noBasemaps})}</div>`;return n`<div class=${d(g(h.base,c.widget,c.panel,i))} style=${A({"--esri-basemap-gallery-small":`${u.small}px`})}>${[r,p]}</div>`}};B("arcgis-basemap-gallery",$);export{$ as ArcgisBasemapGallery};