/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
import{a as v}from"./BM4VSEDV.js";import{b as u}from"./HVT2WBVC.js";import"./UBPOT5V3.js";import"./ISFTCFSJ.js";import{E as m,F as d,G as h,I as o,h as l,i as n,q as r,t as p}from"./FFF5HUPM.js";import"./EXBEKVP5.js";var T=l`@layer{.instant-apps-measurement-panel{width:300px}.instant-apps-measurement-panel calcite-action-bar{--calcite-action-bar-items-space: 1.5em}.instant-apps-measurement-panel .esri-coordinate-conversion__conversions-view,.instant-apps-measurement-panel .esri-coordinate-conversion{max-width:300px}}`,$={content:"instant-apps-measurement__content"},c=class extends h{constructor(){super(...arguments),this._messages=v({name:"instant-apps-measurement",blocking:!0}),this.measureTool=m(),this.showHeading=!0,this.closable=!1,this.measureActive=r()}static{this.properties={view:0,areaUnit:1,linearUnit:1,coordinateFormat:1,showHeading:5,activeToolType:1,closable:5}}static{this.styles=T}static{this.shadowRootOptions=p}_handleToolClick(e){if(!this?.measureTool)return;let a=e?.target;if(!(a instanceof HTMLElement))return;let t=a?.dataset.value;if(t!=="distance"&&t!=="area"&&t!=="point"&&t!=="clear")return;t&&this.measureTool.value&&(this.measureTool.value.activeTool=t);let s=document.getElementsByClassName("active-tool");for(let i=0;i<s?.length;i++)s[i]?.classList?.remove("active-tool");a?.classList.add("active-tool"),this.measureActive.emit(!(t===void 0||t==="clear"))}render(){return n`<calcite-panel class="instant-apps-measurement-panel" .heading=${this.showHeading?this._messages.label:void 0} .closable=${this.closable}>${this.renderActionBar()}${this.renderMeasureToolPanel()}</calcite-panel>`}renderMeasureToolPanel(){let{view:e,coordinateFormat:a,areaUnit:t,linearUnit:s,activeToolType:i}=this;return n`<calcite-panel class=${o($.content)}><instant-apps-measurement-tool .view=${e} .measureConfiguration=${{coordinateFormat:a,areaUnit:t,linearUnit:s,activeToolType:i}} .activeTool=${this.activeToolType} ${d(this.measureTool)}></instant-apps-measurement-tool></calcite-panel>`}renderActionBar(){let{_messages:e,activeToolType:a}=this;return n`<calcite-action-bar expand-disabled selection-appearance=highlight slot=action-bar><calcite-action class=${o(a==="distance"?"active-tool":"")} .text=${e.line} scale=m icon=measure data-value=distance @click=${this._handleToolClick} id=distanceTool><calcite-tooltip reference-element=distanceTool overlay-positioning=fixed close-on-click placement=top>${e.line}</calcite-tooltip></calcite-action><calcite-action class=${o(a==="area"?"active-tool":"")} .text=${e.area} icon=measure-area scale=m data-value=area @click=${this._handleToolClick} id=areaTool><calcite-tooltip reference-element=areaTool overlay-positioning=fixed close-on-click placement=top>${e.area}</calcite-tooltip></calcite-action><calcite-action class=${o(a==="point"?"active-tool":"")} .text=${e.point} scale=m icon=pin-plus data-value=point @click=${this._handleToolClick} id=pointTool><calcite-tooltip reference-element=pointTool overlay-positioning=fixed close-on-click placement=top>${e.point}</calcite-tooltip></calcite-action><calcite-action .text=${e.clear} scale=m icon=trash data-value=clear @click=${this._handleToolClick} id=trashTool><calcite-tooltip reference-element=trashTool overlay-positioning=fixed close-on-click placement=top>${e.clear}</calcite-tooltip></calcite-action></calcite-action-bar>`}};u("instant-apps-measurement",c);export{c as InstantAppsMeasurement};
