@arcgis/map-components
Version:
ArcGIS Map Components
2 lines • 2.27 kB
JavaScript
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
import b from"./3SQ3GRSM.js";import a from"./KYU6MBFA.js";import{d as g}from"./PBSJQPB2.js";import{O as d,P as h,Q as f,U as y,a as m,b as i}from"./WUJCCZQC.js";import"./3TTFCHAA.js";export default $arcgis.t(([{c:v},{e:$}])=>{var E=m`:host{display:flex}.layer-row{display:flex;flex:1}.color-ramp-container{justify-content:center}.symbol-container{display:flex;flex-direction:column}.interval-separators-container{text-align:center}.interval-separator{font-size:.5em}.ramp-label{margin:0 .5em;white-space:nowrap;height:25px;line-height:var(--calcite-font-line-height-fixed-xl)}`,R=25,_=25,M=100,n=class extends d{constructor(){super(...arguments),this.legendElement=null,this.opacity=1}static{this.properties={cssEffectFilter:1,legendElement:0,opacity:9,messages:0}}static{this.styles=E}render(){let e=this.legendElement.infos.slice().reverse();return i`<div class=${h(g("layer-row","color-ramp-container"))}>${this._renderRampLabel(e[0])}<div class="symbol-container">${this._renderPreview(e)}${this._renderMiddleStopRampLabel(e)}</div>${this._renderRampLabel(e.at(-1))}</div>`}_renderPreview(e){let{opacity:r}=this,p=this.legendElement.type==="heatmap-ramp",l=e.length-1,a=_,s=l>2&&!p?R*l:M,c=s+20,t=10,L=[[{shape:{type:"path",path:`M0 ${a/2} L${t} 0 L${t} ${a} Z`},fill:e[0].color,stroke:{width:0}},{shape:{type:"rect",x:t,y:0,width:s,height:a},fill:{type:"linear",x1:t,y1:0,x2:s+t,y2:0,colors:e.map((o,w)=>({color:o.color,offset:p&&"ratio"in o?o.ratio:w/l}))},stroke:{width:0}},{shape:{type:"path",path:`M${s+t} 0 L${c} ${a/2} L${s+t} ${a} Z`},fill:e[e.length-1].color,stroke:{width:0}}]],x=this.legendElement.type==="opacity-ramp"?this.messages.previewOpacityRampAriaLabel:this.messages.previewColorRampAriaLabel,b=$(L,c,a,{ariaLabel:x}),u={filter:this.cssEffectFilter,opacity:r==null?void 0:`${r}`};return i`<div style=${f(u)}>${b}</div>`}_renderMiddleStopRampLabel(e){let r=e.length%2!==0?e[e.length/2|0]:null;return r?i`<div class="interval-separators-container"><div class="interval-separator">|</div>${this._renderRampLabel(r)}</div>`:null}_renderRampLabel(e){return i`<div class="ramp-label">${v(e,this.legendElement.type,this.messages)}</div>`}};y("arcgis-legend-card-color-ramp",n);return n},a,b)