/*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.34/esri/copyright.txt for details.
v4.34.7 */
import{a as f}from"./DJOTU35N.js";import"./CAGG7IOD.js";import{a as m}from"./2Z6ISORA.js";import{b as h}from"./IMJMO6DB.js";import{J as d,K as a,P as g,a as o,b as i}from"./RNRMSLW5.js";import"./G6QKOIC3.js";export default $arcgis.t(([{watch:v},{substitute:_}])=>{var u=o`.esri-widget__heading{color:var(--calcite-color-text-2);margin:0 0 .5rem;font-weight:var(--calcite-font-weight-semibold)}h1.esri-widget__heading{font-size:var(--calcite-font-size-xl)}h2.esri-widget__heading{font-size:var(--calcite-font-size-md)}h3.esri-widget__heading,h4.esri-widget__heading,h5.esri-widget__heading,h6.esri-widget__heading{font-size:var(--calcite-font-size)}:host{display:flex;flex-direction:row;position:relative;transition:max-width .25s ease-in-out;overflow-x:auto}calcite-carousel-item[selected]{flex:1;overflow:auto}.arcgis-legend--card__message{padding:.5em 1em}.arcgis-legend--card__service-caption-text{margin:0}.arcgis-legend--card__service-content{display:flex;flex:1}.arcgis-legend--card__service-content>arcgis-legend-card-element:not(:first-child){border-left:1px solid var(--calcite-color-border-2)}.arcgis-legend--card__service{border-left:var(--calcite-border-width-sm) solid var(--calcite-color-border-2);min-width:fit-content;display:flex;flex-direction:column;flex:1}.arcgis-legend--card__service-caption-container{border-bottom:1px solid var(--calcite-color-border-2);padding:var(--calcite-spacing-md)}`,n={message:"arcgis-legend--card__message",serviceCaptionText:"arcgis-legend--card__service-caption-text",serviceContent:"arcgis-legend--card__service-content",service:"arcgis-legend--card__service",serviceCaptionContainer:"arcgis-legend--card__service-caption-container"},p=768,c=class extends d{constructor(){super(...arguments),this.stacked=!1,this.headingLevel=3,this.layout="auto",this.type="card"}static{this.properties={stacked:16,activeLayerInfos:0,headingLevel:9,messages:0,view:0,layout:1,type:32}}static{this.styles=u}loaded(){this.manager.onLifecycle(()=>[v(()=>[this.layout,this.view.width],()=>{this.stacked=this.layout==="stack"||(!this.layout||this.layout==="auto")&&this.view.width<=p},{initial:!0})])}render(){return(this.stacked?this._renderCarousel():this._renderLayers())||i`<div class=${a(n.message)}>${this.messages.noLegend}</div>`}_renderTitle(e){return i`<div class=${a(n.serviceCaptionContainer)}>${f({class:h(n.serviceCaptionText,m.heading),level:this.headingLevel,children:e})}</div>`}_renderCarousel(){let e=[],t=this.activeLayerInfos;if(t)for(let s of t)this._renderSections(s,e);return e?.length?i`<calcite-carousel .label=${this.messages.carousel??""}>${e.map((s,r)=>i`<calcite-carousel-item .label=${_(this.messages?.pagination?.pageText??"",{index:r+1,total:e.length})}>${s}</calcite-carousel-item>`)}</calcite-carousel>`:null}_renderLayers(){let e=this.activeLayerInfos?.toArray()?.map(t=>this._renderLegendForLayer(t)).filter(Boolean);return e?.length?e:null}_renderLegendForLayer(e){if(!e.ready)return null;if(e.children.length){let t=e.children.toArray().map(this._renderLegendForLayer,this);return i`<section class=${a(n.service)}>${this._renderTitle(e.title)}<div class=${a(n.serviceContent)}>${t}</div></section>`}return this._renderLegendElementsForLayer(e)}_renderLegendElementsForLayer(e){let t=e.legendElements?.filter(Boolean);if(!t?.length)return null;let s=t.map(r=>i`<arcgis-legend-card-element .activeLayerInfo=${e} .cssEffectFilter=${e.cssEffectFilter??void 0} .stacked=${this.stacked} .headingLevel=${this.headingLevel} .layer=${e.layer} .legendElement=${r} .messages=${this.messages}></arcgis-legend-card-element>`);return i`<section class=${a(n.service)}>${this._renderTitle(e.title)}<div class=${a(n.serviceContent)}>${s}</div></section>`}_renderSections(e,t){if(!e.ready)return;if(e.children.length)for(let r of e.children)this._renderSections(r,t);let s=e.legendElements;if(s?.length)for(let r of s){let l=i`<arcgis-legend-card-element .activeLayerInfo=${e} .cssEffectFilter=${e.cssEffectFilter??void 0} .stacked=${this.stacked} .headingLevel=${this.headingLevel} .layer=${e.layer} .legendElement=${r} .messages=${this.messages}></arcgis-legend-card-element>`;l&&t.push(l)}}};g("arcgis-legend-card-view",c);return c},"core/reactiveUtils","intl")