/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
import b from"./2C4DK6YC.js";import a from"./WV7QX3ED.js";import{b as l}from"./2I5LGZNX.js";import{G as c,h as o,q as s,t as r}from"./FFF5HUPM.js";import"./EXBEKVP5.js";export default $arcgis.t(([p,m,,{c:h}])=>{var w=o`@layer{:host{display:block;pointer-events:all!important}}`,a=class extends c{constructor(){super(...arguments),this.selectedLayerId="",this.tool="rectangle",this.drawingComplete=s(),this.featuresSelected=s()}static{this.properties={mapView:0,selectedLayerId:1,tool:1}}static{this.styles=w}static{this.shadowRootOptions=r}willUpdate(e){e.has("mapView")&&this.mapViewWatchHandler()}async mapViewWatchHandler(){await this.mapView?.when(()=>{this._initSketchViewModel()})}async toggleSelectionTool(e,t){if(this._graphicsLayer?.removeAll(),this._selectionTool?.state==="active"&&this._selectionTool.cancel(),t){let i=e??this.tool;await this._selectionTool?.create(i)}}async loaded(){await this.init()}render(){return""}async init(){this.mapView&&this._initSketchViewModel()}_initSketchViewModel(){this._graphicsLayer=new p({listMode:"hide"}),this._selectionTool=new m({layer:this._graphicsLayer,view:this.mapView}),this._selectionTool&&this._selectionTool.on("create",e=>{if(e.state==="complete"){this.drawingComplete.emit();let t=e.graphic?.geometry;t&&this._selectFeatures(t),this._graphicsLayer&&this._graphicsLayer.removeAll()}}),this.mapView?.map&&this._graphicsLayer&&this.mapView.map.layers.add(this._graphicsLayer)}async _selectFeatures(e){let t=this.mapView&&await h(this.mapView,this.selectedLayerId);try{let i={geometry:e},n=t&&await t.queryObjectIds(i);this.featuresSelected.emit(n)}catch(i){console.error("Error selecting features:",i)}}};l("selection-tool",a);return a},"layers/GraphicsLayer","widgets/Sketch/SketchViewModel",a,b)