/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
import{a as c}from"./VVZAS55G.js";import{b as m}from"./HVT2WBVC.js";import{F as p,G as d,h as o,i as l,q as n}from"./FFF5HUPM.js";import"./EXBEKVP5.js";export default $arcgis.t(([w,y,u,k,b,L,f,G,V,v])=>{var B=o`:host{display:block;height:100%;width:100%}`,s=class extends d{constructor(){super(...arguments),this.layers=[],this.shouldGoTo=!1,this._sanitizer=new c({whiteList:{h1:["style"],h2:["style"],h3:["style"],h4:["style"],h5:["style"],h6:["style"],img:["style","src","width","height"],pre:["style"],p:["id","class","style"],div:["id","class","style","role"],span:["id","class","style","role"],figure:["class","style"],header:["id","class","style","role"]}},!0),this.viewUpdated=n()}static{this.properties={type:16,item:0,arcgisViewEl:0}}static{this.styles=B}async updateView(){this.initView(!0)}willUpdate(e){e.has("item")&&this.initView()}loaded(){this.item||console.warn("instant-apps-showcase-view was rendered without the required 'mapShowcaseItem' property.")}async initView(e){this.arcgisViewEl!=null&&(this.shouldGoTo=!1,this.createMaskLayer(),this.handleHighlightedArea(),await this.createMapAndView(e),this.viewUpdated.emit({globalBackgroundLayer:this.globalBackgroundLayer,borderGraphicLayer:this.borderGraphicLayer,arcgisViewEl:this.arcgisViewEl,maskBorderGraphicLayer:this.maskBorderGraphicLayer,maskGroupLayer:this.maskGroupLayer}),this.shouldGoTo&&this.viewGoTo())}async createMapAndView(e){if(this.arcgisViewEl!=null&&e){this.map=this.arcgisViewEl.map,this.shouldGoTo=!0;let r=this.map.layers.filter(i=>i.id==="mask-group-layer"||i.id==="mask-border-graphic-layer").toArray();this.map.removeMany(r),this.layers?.length&&this.map.addMany(this.layers);return}this.item.type==="Web Scene"?(this.map=new f({portalItem:{id:this.item.id}}),this.arcgisViewEl.map=this.map):(this.map=new L({portalItem:{id:this.item.id}}),this.arcgisViewEl.map=this.map,this.arcgisViewEl.constraints={lods:V.create({numLODs:48}).lods}),await this.map.load(),this.layers?.length&&this.map.addMany(this.layers)}createMaskLayer(){let e={legendEnabled:!1,listMode:"hide",popupEnabled:!1};this.maskGroupLayer=new u({...e,title:"Mask Group Layer",id:"mask-group-layer"}),this.maskBorderGraphicLayer=new y({...e,title:"Mask Border Graphic Layer",id:"mask-border-graphic-layer"}),this.borderGraphicLayer=new y({...e,title:"Border Graphic Layer"}),this.globalBackgroundLayer=new w({url:"https://services.arcgis.com/nGt4QxSblgDfeJn9/arcgis/rest/services/GlobalBackground/FeatureServer",visible:!1,renderer:{type:"simple",symbol:{type:"simple-fill",style:"solid",color:[0,0,0,.75]}},...e})}getMaskBackground(){if(this.item?.highlightedArea?.graphics==null||this.globalBackgroundLayer?.renderer?.type!=="simple"||this.globalBackgroundLayer.renderer.symbol?.type!=="simple-fill"){this.globalBackgroundLayer.visible=!1;return}if(this.item?.highlightedArea?.styles?.mask==null||!this.item.highlightedArea.styles.mask.enabled){this.globalBackgroundLayer.visible=!1,this.globalBackgroundLayer.renderer.symbol.color=[0,0,0,0];return}let{opacity:e,theme:r}=this.item.highlightedArea.styles.mask,i=r==="dark"?"#000":"#fff",t=new b(i).toRgb();t.push(e/100),this.globalBackgroundLayer.renderer.symbol.color=t,this.globalBackgroundLayer.visible=!0}handleHighlightedArea(){this.layers=[];let{highlightedArea:e}=this.item,r=e?.styles?.type,i=e?.graphics?.map(t=>k.fromJSON(t));if(this.borderGraphicLayer.effect=e?.styles?.effect,i?.length&&this.borderGraphicLayer.graphics.addMany(i),this.getMaskBackground(),this.maskGroupLayer.blendMode=e?.styles?.blendMode??"normal",this.maskGroupLayer.addMany([this.globalBackgroundLayer,this.borderGraphicLayer]),r==="darkMask"||r==="lightMask"){let{outline:t}=e.styles,a=i?.map(g=>{let h=g.clone();return h.symbol=new v({color:[0,0,0,0],style:"none",outline:{color:t?.color,width:t?.width}}),h});a?.length&&this.maskBorderGraphicLayer.graphics.addMany(a)}this.layers.push(this.maskGroupLayer,this.maskBorderGraphicLayer)}viewGoTo(){if(this.arcgisViewEl==null)return;this.item?.highlightedArea?.graphics!=null&&this.getMaskBackground();let e;this.item?.viewpoint==null&&this.borderGraphicLayer?.graphics?.length?e=this.borderGraphicLayer.graphics.toArray():this.item?.viewpoint!=null?e=G.fromJSON(this.item.viewpoint):this.map.initialViewProperties?.viewpoint&&(e=this.map.initialViewProperties.viewpoint),e&&this.arcgisViewEl.goTo(e,{animate:!1}).catch(()=>{})}setView(e){e&&(this.arcgisViewEl=e,this.initView())}getAria(){if(this.item?.altText)return{description:this._sanitizer.sanitize(this.item.altText)}}render(){if(this.item)return l`<arcgis-map .aria=${this.getAria()} @arcgisViewReadyChange=${this.viewGoTo} ${p(this.setView)}></arcgis-map>`}};m("instant-apps-showcase-view",s);return s},"layers/FeatureLayer","layers/GraphicsLayer","layers/GroupLayer","Graphic","Color","WebMap","WebScene","Viewpoint","layers/support/TileInfo","symbols/SimpleFillSymbol")