{"version":3,"sources":["webpack:///./node_modules/@arcgis/core/views/2d/interactive/editingTools/draw/symbols.js","webpack:///./node_modules/@arcgis/core/views/2d/interactive/editingTools/draw/DrawGraphicTool2D.js","webpack:///./node_modules/@arcgis/core/views/draw/support/createUtils.js","webpack:///./node_modules/@arcgis/core/views/draw/DrawGraphicTool.js"],"names":["t","e","data","type","symbol","symbolLayers","effects","dashTemplate","lineDashEnding","controlPointEnding","enable","capStyle","joinStyle","miterLimit","width","color","l","o","style","size","outline","i","E","u","constructor","super","this","_visualElementGraphics","regularVertices","activeVertex","activeFillSymbol","_visualElementSymbols","r","activeLineSymbol","p","regularVerticesSymbol","h","activeVertexSymbol","m","fill","s","normalizeCtorArgs","initializeGraphic","a","makeDrawOperation","view","v","manipulators","geometryType","y","drawingMode","mode","hasZ","defaultZ","snapToSceneEnabled","snapToScene","drawSurface","d","hasM","snappingManager","snappingVisualizer","c","internalGraphicsLayer","onActiveVertexChanged","n","g","x","spatialReference","geometry","attributes","displayOrder","add","graphics","sort","_","remove","onOutlineChanged","clone","paths","length","splice","onRegularVerticesChanged","G","points","prototype","readOnly","constructOnly","nonNullable","R","f","z","j","b","T","forEach","push","M","rings","reverse","isSelfIntersecting","U","mapToLocalMultiple","Math","round","max","abs","map","localToMap","doUnnormalization","w","sqrt","center","radius","radiusUnit","L","PI","cos","sin","EventedMixin","O","_graphic","initialize","listMode","internal","layers","drawOperation","handles","on","onVertexAdd","onVertexRemove","onVertexUpdate","onCursorUpdate","onComplete","finishToolCreation","destroy","_destroyAllVisualisations","_set","canRedo","canUndo","_updateGraphic","interactive","updating","completeCreateOperation","complete","onInputEvent","redo","reset","undo","_createGraphic","graphicProperties","graphicSymbol","notifyChange","V","_getCreateOperationGeometry","operationComplete","numVertices","stagedVertex","committedVertices","slice","coordinateHelper","pointToArray","full","viewingMode","arrayToPoint","makeMapPoint","resolution","forceUniformSize","centered","isCompleted","emit","graphic","onDeactivate","cancel","value"],"mappings":"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","file":"js/chunk-000e2f33.53807ad4.js","sourcesContent":["/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport\"../../../../../symbols.js\";import e from\"../../../../../symbols/CIMSymbol.js\";import o from\"../../../../../symbols/SimpleMarkerSymbol.js\";const t=new e({data:{type:\"CIMSymbolReference\",symbol:{type:\"CIMLineSymbol\",symbolLayers:[{type:\"CIMSolidStroke\",effects:[{type:\"CIMGeometricEffectDashes\",dashTemplate:[3.75,3.75],lineDashEnding:\"HalfPattern\",controlPointEnding:\"NoConstraint\"}],enable:!0,capStyle:\"Butt\",joinStyle:\"Round\",miterLimit:10,width:1.6,color:[255,255,255,255]},{type:\"CIMSolidStroke\",enable:!0,capStyle:\"Butt\",joinStyle:\"Round\",miterLimit:10,width:2,color:[0,0,0,255]}]}}}),l=new o({style:\"circle\",size:6,color:[127,127,127,1],outline:{color:[50,50,50],width:1}}),i=new o({style:\"circle\",size:6,color:[255,127,0,1],outline:{color:[50,50,50],width:1}});export{i as activeVertex,t as outline,l as regularVertices};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../../../../chunks/tslib.es6.js\";import\"../../../../../geometry.js\";import t from\"../../../../../Graphic.js\";import{makeHandle as i}from\"../../../../../core/handleUtils.js\";import{unwrapOr as r,unwrap as s,isSome as a,destroyMaybe as l}from\"../../../../../core/maybe.js\";import{property as n}from\"../../../../../core/accessorSupport/decorators/property.js\";import\"../../../../../core/arrayUtils.js\";import\"../../../../../core/has.js\";import\"../../../../../core/accessorSupport/ensureType.js\";import{subclass as o}from\"../../../../../core/accessorSupport/decorators/subclass.js\";import{SnappingVisualizer2D as c}from\"../../SnappingVisualizer2D.js\";import{outline as p,regularVertices as h,activeVertex as m}from\"./symbols.js\";import{DrawGraphicTool as u,geometryTypeToDrawOperationGeometryType as y}from\"../../../../draw/DrawGraphicTool.js\";import{DrawOperation as v}from\"../../../../draw/DrawOperation.js\";import{MapDrawSurface as d}from\"../../../../draw/drawSurfaces.js\";import g from\"../../../../../geometry/Point.js\";import G from\"../../../../../geometry/Multipoint.js\";let E=class extends u{constructor(e){super(e),this._visualElementGraphics={outline:null,regularVertices:null,activeVertex:null},this.activeFillSymbol=null,this.type=\"draw-2d\",this._visualElementSymbols={outline:r(e.activeLineSymbol,p),regularVertices:r(e.regularVerticesSymbol,h),activeVertex:r(e.activeVertexSymbol,m),fill:s(e.activeFillSymbol)}}normalizeCtorArgs(e){const t={...e};return delete t.activeFillSymbol,delete t.activeVertexSymbol,delete t.regularVerticesSymbol,delete t.activeLineSymbol,t}initializeGraphic(e){return a(this._visualElementSymbols.fill)&&(e.symbol=this._visualElementSymbols.fill),null}makeDrawOperation(){const e=this.view;return new v({view:e,manipulators:this.manipulators,geometryType:y(this.geometryType),drawingMode:this.mode,hasZ:this.hasZ,defaultZ:this.defaultZ,snapToSceneEnabled:this.snapToScene,drawSurface:new d(e),hasM:!1,snappingManager:this.snappingManager,snappingVisualizer:new c(this.internalGraphicsLayer)})}onActiveVertexChanged(e){if(\"point\"===this.geometryType)return null;const[r,s]=e,n=new g({x:r,y:s,spatialReference:this.view.spatialReference});return a(this._visualElementGraphics.activeVertex)?(this._visualElementGraphics.activeVertex.geometry=n,null):(this._visualElementGraphics.activeVertex=new t({geometry:n,symbol:this._visualElementSymbols.activeVertex,attributes:{displayOrder:2}}),this.internalGraphicsLayer.add(this._visualElementGraphics.activeVertex),this.internalGraphicsLayer.graphics.sort(_),i((()=>{a(this._visualElementGraphics.activeVertex)&&(this.internalGraphicsLayer.remove(this._visualElementGraphics.activeVertex),this._visualElementGraphics.activeVertex=l(this._visualElementGraphics.activeVertex))})))}onOutlineChanged(e){const r=e.clone();if(\"polyline\"===r.type){const e=r.paths[r.paths.length-1];e.splice(0,e.length-2)}return a(this._visualElementGraphics.outline)?(this._visualElementGraphics.outline.geometry=r,null):(this._visualElementGraphics.outline=new t({geometry:r,symbol:this._visualElementSymbols.outline,attributes:{displayOrder:0}}),this.internalGraphicsLayer.add(this._visualElementGraphics.outline),this.internalGraphicsLayer.graphics.sort(_),i((()=>{a(this._visualElementGraphics.outline)&&(this.internalGraphicsLayer.remove(this._visualElementGraphics.outline),this._visualElementGraphics.outline=l(this._visualElementGraphics.outline))})))}onRegularVerticesChanged(e){const r=new G({points:e,spatialReference:this.view.spatialReference});return a(this._visualElementGraphics.regularVertices)?(this._visualElementGraphics.regularVertices.geometry=r,null):(this._visualElementGraphics.regularVertices=new t({geometry:r,symbol:this._visualElementSymbols.regularVertices,attributes:{displayOrder:1}}),this.internalGraphicsLayer.add(this._visualElementGraphics.regularVertices),this.internalGraphicsLayer.graphics.sort(_),i((()=>{a(this._visualElementGraphics.regularVertices)&&(this.internalGraphicsLayer.remove(this._visualElementGraphics.regularVertices),this._visualElementGraphics.regularVertices=l(this._visualElementGraphics.regularVertices))})))}};function _(e,t){return(e.attributes?.displayOrder??-1/0)-(t.attributes?.displayOrder??-1/0)}e([n()],E.prototype,\"activeFillSymbol\",void 0),e([n({readOnly:!0})],E.prototype,\"type\",void 0),e([n({constructOnly:!0,nonNullable:!0})],E.prototype,\"view\",void 0),E=e([o(\"esri.views.2d.interactive.draw.DrawGraphicTool2D\")],E);export{E as DrawGraphicTool2D};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport\"../../../geometry.js\";import{equals as e}from\"../../../core/arrayUtils.js\";import{clone as t}from\"../../../core/lang.js\";import{filterNones as o,isSome as n,isNone as r}from\"../../../core/maybe.js\";import{getMetersPerUnitForSR as a}from\"../../../core/unitUtils.js\";import s from\"../../../geometry/Circle.js\";import{simplify as i,distance as l}from\"../../../geometry/geometryEngine.js\";import{unnormalizeGeometryOnDatelineCrossing as y,isClockwise as c,unnormalizeVerticesOnDatelineCrossing as p}from\"../../../geometry/support/coordsUtils.js\";import{isValid as x}from\"../../../geometry/support/spatialReferenceUtils.js\";import{makeSurfacePoint as m}from\"./surfaceCoordinateSystems.js\";import u from\"../../../geometry/Multipoint.js\";import f from\"../../../geometry/Point.js\";import h from\"../../../geometry/Polyline.js\";import M from\"../../../geometry/Polygon.js\";const g=\"DrawAction-snapping-graphics-layer\";function d(e,t,o=null){return n(o)?[e,t,o]:[e,t]}function R(e,t){const o=new f({x:e[0],y:e[1],spatialReference:t});return e.length>2&&(o.z=e[2]),o}function j(e,t){return new u({points:e,spatialReference:t})}function b(e,t,o){const n=new h({paths:e,spatialReference:t});return o&&y(n),n}function T(o,n,r,a=!0){const s=t(o);s.forEach((t=>{const o=t[0],n=t[t.length-1];e(o,n)&&1!==t.length||t.push(t[0])}));let l=new M({rings:s,spatialReference:n});return l.rings.forEach((e=>{c(e,!1,!1)||e.reverse()})),r&&y(l),a&&l.isSelfIntersecting&&x(n)&&(l=i(l)),l}function U(e,t,n){const r=t.mapToLocalMultiple(e),a=[],s={x:r[0].x,y:r[0].y},i={x:r[1].x,y:r[1].y},l=Math.round(i.x-s.x),y=Math.round(i.y-s.y),c=Math.max(Math.abs(l),Math.abs(y));if(n){const e={x:s.x+c,y:s.y+c},t={x:s.x-c,y:s.y-c};a.push(m(e.x,t.y),m(t.x,t.y),m(t.x,e.y),m(e.x,e.y))}else{const e={x:l>0?s.x+c:s.x-c,y:y>0?s.y+c:s.y-c};a.push(m(s.x,s.y),m(e.x,s.y),m(e.x,e.y),m(s.x,e.y))}return T([o(a.map((e=>t.localToMap(e))))],t.spatialReference,t.doUnnormalization,!0)}function w(e,t,n){let r=t.mapToLocalMultiple(e);if(1===r.length){const e=48,t=r[0];r=[m(t.x-e,t.y+e),m(t.x+e,t.y-e),m(t.x+e,t.y-e),m(t.x-e,t.y+e)]}const a=[],s={x:r[0].x,y:r[0].y},i={x:r[1].x,y:r[1].y};if(n){const e=Math.round(i.x-s.x),t=Math.round(i.y-s.y);a.push(m(s.x-e,s.y-t),m(i.x,s.y-t),m(i.x,i.y),m(s.x-e,i.y))}else a.push(m(s.x,s.y),m(i.x,s.y),m(i.x,i.y),m(s.x,i.y));return T([o(a.map((e=>t.localToMap(e))))],t.spatialReference,t.doUnnormalization,!0)}function z(e,t,o,n){const i=t.mapToLocalMultiple(e);let y=null,c=null;if(o)y=i[0],c=i[1];else{const e=i[0],t=i[1],o=Math.round(t.x-e.x),n=Math.round(t.y-e.y),r=Math.max(Math.abs(o),Math.abs(n));y=m(o>0?e.x+r/2:e.x-r/2,n>0?e.y+r/2:e.y-r/2),c=m(Math.abs(o)>Math.abs(n)?y.x-r/2:y.x,Math.abs(o)>Math.abs(n)?y.y:y.y-r/2)}const u=t.localToMap(y),f=t.localToMap(c);if(r(u)||r(f))return null;t.doUnnormalization&&p([[u,f]],t.spatialReference);const h=R(u,t.spatialReference),M=R(f,t.spatialReference),g=a(t.spatialReference);let d=0;if(x(t.spatialReference))d=g*l(h,M,null);else{const e=y.x-c.x,t=y.y-c.y;d=g*Math.sqrt(e*e+t*t)*(n||1)}const j=new s({center:h,radius:d,radiusUnit:\"meters\",spatialReference:t.spatialReference});return T(j.rings,j.spatialReference,!1)}function L(e,t,n){const r=t.mapToLocalMultiple(e),a=r[0],s=r[1],i=Math.round(s.x-a.x),l=Math.round(s.y-a.y),y=m(n?a.x:a.x+i/2,n?a.y:a.y+l/2),c=n?i:i/2,p=n?l:l/2,x=60,u=[],f=2*Math.PI/x;for(let o=0;ot.localToMap(e))))],t.spatialReference,t.doUnnormalization,!1)}export{g as SNAPPING_GRAPHICS_LAYER_ID,z as createCircle,L as createEllipse,j as createMultipoint,R as createPoint,T as createPolygon,b as createPolyline,w as createRectangle,U as createSquare,d as makeMapPoint};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import t from\"../../Graphic.js\";import\"../../core/has.js\";import r from\"../../core/Evented.js\";import{HandleOwnerMixin as i}from\"../../core/HandleOwner.js\";import{makeHandle as a}from\"../../core/handleUtils.js\";import{destroyMaybe as o,isSome as s,isNone as n,unwrap as l}from\"../../core/maybe.js\";import{property as p}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/arrayUtils.js\";import\"../../core/accessorSupport/ensureType.js\";import{subclass as h}from\"../../core/accessorSupport/decorators/subclass.js\";import c from\"../../layers/GraphicsLayer.js\";import{createSquare as d,createRectangle as u,createCircle as m,createEllipse as g,createPolygon as y,createPolyline as v,createMultipoint as f}from\"./support/createUtils.js\";import{createViewAlignedCoordinateSystem as w}from\"./support/surfaceCoordinateSystems.js\";import{InteractiveToolBase as O}from\"../interactive/InteractiveToolBase.js\";let _=class extends(i(r.EventedMixin(O))){constructor(e){super(e),this._graphic=null,this.defaultZ=0,this.geometryType=null,this.hasZ=!0,this.mode=null,this.snappingManager=null,this.snapToScene=!1}initialize(){this.internalGraphicsLayer=new c({listMode:\"hide\",internal:!0}),this.view.map.layers.add(this.internalGraphicsLayer),this.drawOperation=this.makeDrawOperation(),this.handles.add([this.drawOperation.on(\"vertex-add\",(e=>this.onVertexAdd(e))),this.drawOperation.on(\"vertex-remove\",(e=>this.onVertexRemove(e))),this.drawOperation.on(\"vertex-update\",(e=>this.onVertexUpdate(e))),this.drawOperation.on(\"cursor-update\",(e=>this.onCursorUpdate(e))),this.drawOperation.on(\"complete\",(e=>this.onComplete(e)))]),this.finishToolCreation()}destroy(){this.drawOperation=o(this.drawOperation),this._destroyAllVisualisations(),this.view.map.remove(this.internalGraphicsLayer),this.internalGraphicsLayer=o(this.internalGraphicsLayer),this._set(\"view\",null)}get canRedo(){return this.drawOperation.canRedo}get canUndo(){return this.drawOperation.canUndo}set centered(e){this._set(\"centered\",e),this._updateGraphic()}set enabled(e){this.drawOperation.interactive=e,this._set(\"enabled\",e)}set forceUniformSize(e){this._set(\"forceUniformSize\",e),this._updateGraphic()}get graphic(){return this._graphic}set graphicSymbol(e){this._set(\"graphicSymbol\",e),s(this._graphic)&&(this._graphic.symbol=e)}get updating(){return this.drawOperation?.updating??!1}completeCreateOperation(){this.drawOperation.complete()}onInputEvent(e){this.drawOperation.onInputEvent(e)}redo(){this.drawOperation.redo()}reset(){}undo(){this.drawOperation.undo()}_createGraphic(e){this._graphic=new t({...this.graphicProperties,geometry:e,symbol:this.graphicSymbol}),this.internalGraphicsLayer.add(this._graphic),this.handles.add(this.initializeGraphic(this._graphic)),this.notifyChange(\"graphic\"),this.handles.add(a((()=>{s(this._graphic)&&(this.internalGraphicsLayer.remove(this._graphic),this._graphic=o(this._graphic))})),V)}_destroyAllVisualisations(){this.handles.remove(x.outline),this.handles.remove(x.regularVertices),this.handles.remove(x.activeVertex),this.handles.remove(V)}_getCreateOperationGeometry(e={operationComplete:!1}){if(null==this.drawOperation||0===this.drawOperation.numVertices)return null;const t=this.drawOperation.stagedVertex,r=this.drawOperation.committedVertices,i=r.slice();s(t)&&i.push(this.drawOperation.coordinateHelper.pointToArray(t));const a=s(t)?this.drawOperation.coordinateHelper.pointToArray(t):r.splice(-1)[0],o={regularVertices:null,activeVertex:null,full:null,outline:null},n=i.length,l=this.view.spatialReference,p=\"3d\"===this.view.type&&\"global\"===this.view.viewingMode;switch(this.geometryType){case\"point\":o.regularVertices=r,o.activeVertex=a,o.full=this.drawOperation.coordinateHelper.arrayToPoint(i[0]);break;case\"multipoint\":o.regularVertices=r,o.activeVertex=a,n>0&&(o.full=f(i,l));break;case\"polyline\":o.regularVertices=r,o.activeVertex=a,n>0&&(o.full=v([i],l,p));break;case\"polygon\":o.regularVertices=r,o.activeVertex=a,n>0&&(o.full=y([i],l,p,!0));break;case\"circle\":if(n>0){const t=w(this.view,i[0]);if(1===n&&e.operationComplete){const e=i[0],r=t.makeMapPoint(e[0]+b*this.view.resolution,e[1]);o.full=m([e,r],t,!0)}else 2===n&&(o.full=this.forceUniformSize?m(i,t,this.centered):g(i,t,this.centered))}break;case\"rectangle\":if(n>0){const t=w(this.view,i[0]);if(1===n&&e.operationComplete){const e=i[0],r=t.makeMapPoint(e[0]+b*this.view.resolution,e[1]);o.full=d([e,r],t,!0)}else 2===n&&(o.full=this.forceUniformSize?d(i,t,this.centered):u(i,t,this.centered))}break;default:return null}switch(this.geometryType){case\"point\":case\"multipoint\":break;case\"polyline\":case\"polygon\":n>1&&(o.outline=v([i],l,p));break;case\"circle\":case\"rectangle\":s(o.full)&&\"polygon\"===o.full.type&&(o.outline=y(o.full.rings,l,p))}return o}initializeGraphic(e){return null}onComplete(e){this._updateGraphic();let t=null;if(this.drawOperation.isCompleted){const e=this._getCreateOperationGeometry({operationComplete:!0});s(e)&&(n(this._graphic)?this._createGraphic(e.full):this._graphic.geometry=e.full,t=l(this._graphic).clone())}this.emit(\"complete\",{graphic:t,...e})}onCursorUpdate(e){this._updateGraphic(),this.emit(\"cursor-update\",e)}onDeactivate(){this.drawOperation.isCompleted||this.drawOperation.cancel()}onVertexAdd(e){this._updateGraphic(),this.emit(\"vertex-add\",e)}onVertexRemove(e){this._updateGraphic(),this.emit(\"vertex-remove\",e)}onVertexUpdate(e){this._updateGraphic(),this.emit(\"vertex-update\",e)}_updateGraphic(){const e=this._getCreateOperationGeometry();n(e)?this._destroyAllVisualisations():(s(e.outline)?this.handles.add(this.onOutlineChanged(e.outline),x.outline):this.handles.remove(x.outline),s(e.regularVertices)?this.handles.add(this.onRegularVerticesChanged(e.regularVertices),x.regularVertices):this.handles.remove(x.regularVertices),s(e.activeVertex)?this.handles.add(this.onActiveVertexChanged(e.activeVertex),x.activeVertex):this.handles.remove(x.activeVertex),s(e.full)?n(this._graphic)?this._createGraphic(e.full):this._graphic.geometry=e.full:this.handles.remove(V))}};e([p({value:!0})],_.prototype,\"centered\",null),e([p({nonNullable:!0})],_.prototype,\"defaultZ\",void 0),e([p()],_.prototype,\"drawOperation\",void 0),e([p({value:!0})],_.prototype,\"enabled\",null),e([p({value:!0})],_.prototype,\"forceUniformSize\",null),e([p({constructOnly:!0})],_.prototype,\"geometryType\",void 0),e([p()],_.prototype,\"graphic\",null),e([p({constructOnly:!0})],_.prototype,\"graphicProperties\",void 0),e([p()],_.prototype,\"graphicSymbol\",null),e([p({constructOnly:!0})],_.prototype,\"hasZ\",void 0),e([p({constructOnly:!0})],_.prototype,\"mode\",void 0),e([p()],_.prototype,\"snappingManager\",void 0),e([p()],_.prototype,\"snapToScene\",void 0),e([p({readOnly:!0})],_.prototype,\"type\",void 0),e([p({readOnly:!0})],_.prototype,\"updating\",null),e([p({constructOnly:!0,nonNullable:!0})],_.prototype,\"view\",void 0),_=e([h(\"esri.views.draw.DrawGraphicTool\")],_);const V=\"create-operation-graphic\",x={outline:\"outline-visual\",regularVertices:\"regular-vertices-visual\",activeVertex:\"active-vertex-visual\"};function G(e){switch(e){case\"point\":case\"polyline\":case\"polygon\":case\"multipoint\":return e;case\"circle\":case\"rectangle\":return\"segment\";default:return null}}const b=48;export{_ as DrawGraphicTool,G as geometryTypeToDrawOperationGeometryType};\n"],"sourceRoot":""}