/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
import{b as h}from"./HVT2WBVC.js";import{E as o,F as a,G as m,I as n,h as d,i as c,t as l}from"./FFF5HUPM.js";import"./EXBEKVP5.js";export default $arcgis.t(([v,p,g])=>{var f=d`@layer{.esri-measurement,.esri-coordinate-conversion{width:300px}.instant-apps-measurement-tool__hide{display:none}}`,u="instant-apps-measurement-tool",s={base:u,hide:`${u}__hide`},r=class extends m{constructor(){super(...arguments),this._measureElement=o(),this._coordinateElement=o()}static{this.properties={view:0,measureConfiguration:0,activeTool:1}}static{this.styles=f}static{this.shadowRootOptions=l}willUpdate(e){e.has("activeTool")&&this._setActiveTool(this.activeTool)}loaded(){this._init()}disconnectedCallback(){super.disconnectedCallback(),this._measureWidget?.destroy(),this._coordinateWidget?.destroy()}async _init(){await this._initMeasurementWidget(),await this._initCoordinateWidget()}async _initMeasurementWidget(){this.view&&this._measureElement&&!this._measureWidget&&(this._measureWidget=new v({view:this.view,container:this._measureElement.value,...this.measureConfiguration}),this.measureConfiguration.activeToolType&&this._setActiveTool(this.measureConfiguration.activeToolType))}_setActiveTool(e){let t=this.view.type;this._measureWidget?.clear(),this._coordinateElement.value?.classList.add(s.hide),e==="distance"&&this._measureWidget?this._measureWidget.activeTool=t==="2d"?"distance":"direct-line":e==="area"&&this._measureWidget?this._measureWidget.activeTool="area":e==="point"&&this._coordinateElement.value?.classList?.remove(s.hide);let i=this.el.getRootNode().querySelector(`calcite-action[data-value="${e}"]`);i&&i.setFocus()}async _initCoordinateWidget(){let{activeToolType:e,coordinateFormat:t}=this.measureConfiguration;if(this?.view&&this._coordinateElement&&!this._coordinateWidget&&(this._coordinateWidget=new p({view:this.view,storageEnabled:!1,container:this._coordinateElement.value}),t!=null)){let i=this._coordinateWidget.formats.find(_=>_.name===t);this._coordinateWidget?.conversions?.splice(0,0,new g({format:i}))}e!=null&&this._setActiveTool(e)}render(){return c`<div class=${n(s.base)}><div ${a(this._measureElement)}></div><div class=${n(s.hide)} ${a(this._coordinateElement)}></div></div>`}};h("instant-apps-measurement-tool",r);return r},"widgets/Measurement","widgets/CoordinateConversion","widgets/CoordinateConversion/support/Conversion")