@arcgis/core 4.31.0 → 4.31.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. package/assets/esri/core/workers/RemoteClient.js +1 -1
  2. package/assets/esri/core/workers/chunks/02a41ff83a28a574da3b.js +1 -0
  3. package/assets/esri/core/workers/chunks/034b842fd1e57a663e63.js +1 -0
  4. package/assets/esri/core/workers/chunks/11fa84fa7fa78e61c4cb.js +1 -0
  5. package/assets/esri/core/workers/chunks/2ddd67ec7b364e20135c.js +1 -0
  6. package/assets/esri/core/workers/chunks/{e298b561933737eda0ad.js → 388dc6d50e16930aa66f.js} +1 -1
  7. package/assets/esri/core/workers/chunks/3f8ea858575bab03d3aa.js +1 -0
  8. package/assets/esri/core/workers/chunks/48db492f15074a799d28.js +1 -0
  9. package/assets/esri/core/workers/chunks/49cf9642f3827384127f.js +1 -0
  10. package/assets/esri/core/workers/chunks/50781ca6c2526b0dd73f.js +1 -0
  11. package/assets/esri/core/workers/chunks/511cc9f1b61318385915.js +1 -0
  12. package/assets/esri/core/workers/chunks/650047df195a8ac3e41e.js +1 -0
  13. package/assets/esri/core/workers/chunks/666663e1257ceea08f75.js +1 -0
  14. package/assets/esri/core/workers/chunks/{188371b682afa56bed28.js → 69c5caef30d08a5086a3.js} +1 -1
  15. package/assets/esri/core/workers/chunks/6e37f4ec5a5c606efacb.js +1 -0
  16. package/assets/esri/core/workers/chunks/6ebd25845c4c3b65f612.js +1 -0
  17. package/assets/esri/core/workers/chunks/{72c5fd68179af3ab163f.js → 79e95e979108e2550961.js} +1 -1
  18. package/assets/esri/core/workers/chunks/7bbe8df83ecac2546af7.js +1 -0
  19. package/assets/esri/core/workers/chunks/7e6f5f04ac11e5ec9101.js +1 -0
  20. package/assets/esri/core/workers/chunks/8a3787ba111d669f2955.js +1 -0
  21. package/assets/esri/core/workers/chunks/8c5acb0a8c0a216fa9a8.js +1 -0
  22. package/assets/esri/core/workers/chunks/8e0e857e59e9fbc4a4b1.js +1 -0
  23. package/assets/esri/core/workers/chunks/{871312317726e9776953.js → 8eec36cb9c9bdb40eab2.js} +1 -1
  24. package/assets/esri/core/workers/chunks/{cfa12f6d165e1b06abfb.js → 973560d8883c77f35f79.js} +1 -1
  25. package/assets/esri/core/workers/chunks/9857b195487aa6ff6b16.js +1 -0
  26. package/assets/esri/core/workers/chunks/a84212e50fb7e1a82bb4.js +1 -0
  27. package/assets/esri/core/workers/chunks/ac9681ebbae83b6d8c8a.js +1 -0
  28. package/assets/esri/core/workers/chunks/{0efcf69bc0ed843f1c20.js → af2f48911f984a911d3d.js} +1 -1
  29. package/assets/esri/core/workers/chunks/c1315c5610326a98811b.js +1 -0
  30. package/assets/esri/core/workers/chunks/c5ddaa5d8ac5eec949cf.js +1 -0
  31. package/assets/esri/core/workers/chunks/ce49d6c0becb9c39ceec.js +1 -0
  32. package/assets/esri/core/workers/chunks/d0093ec96d21ee7fcb27.js +1 -0
  33. package/assets/esri/core/workers/chunks/ed2f3f32f21960305cd9.js +1 -0
  34. package/assets/esri/core/workers/chunks/ed3fb3ea29a2be226322.js +1 -0
  35. package/assets/esri/core/workers/chunks/f3550d82fd8328953ca6.js +1 -0
  36. package/assets/esri/core/workers/chunks/f717ca7c2581c31de7a6.js +1 -0
  37. package/assets/esri/core/workers/chunks/fe684aaa9dfddf1c5b22.js +1 -0
  38. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_en.json +1 -1
  39. package/chunks/Viewshed.glsl.js +2 -1
  40. package/core/uuid.js +1 -1
  41. package/geometry/operators/containsOperator.js +1 -1
  42. package/geometry/operators/crossesOperator.js +1 -1
  43. package/geometry/operators/disjointOperator.js +1 -1
  44. package/geometry/operators/equalsOperator.js +1 -1
  45. package/geometry/operators/gx/operatorIntersection.js +1 -1
  46. package/geometry/operators/intersectsOperator.js +1 -1
  47. package/geometry/operators/overlapsOperator.js +1 -1
  48. package/geometry/operators/relateOperator.js +1 -1
  49. package/geometry/operators/touchesOperator.js +1 -1
  50. package/geometry/operators/withinOperator.js +1 -1
  51. package/interfaces.d.ts +2 -2
  52. package/kernel.js +1 -1
  53. package/layers/orientedImagery/transformations/rectifyMapPoint.js +1 -1
  54. package/layers/save/featureLayerUtils.js +1 -1
  55. package/layers/save/mediaLayerUtils.js +1 -1
  56. package/layers/save/utils.js +1 -1
  57. package/layers/support/featureLayerUtils.js +1 -1
  58. package/package.json +1 -1
  59. package/smartMapping/raster/renderers/classBreaks.js +1 -1
  60. package/smartMapping/renderers/color.js +1 -1
  61. package/smartMapping/renderers/dotDensity.js +1 -1
  62. package/smartMapping/renderers/pieChart.js +1 -1
  63. package/smartMapping/renderers/predominance.js +1 -1
  64. package/smartMapping/renderers/relationship.js +1 -1
  65. package/smartMapping/renderers/size.js +1 -1
  66. package/smartMapping/renderers/support/regenerateUtils.js +1 -1
  67. package/smartMapping/renderers/support/rendererUtils.js +1 -1
  68. package/smartMapping/renderers/type.js +1 -1
  69. package/smartMapping/renderers/univariateColorSize.js +1 -1
  70. package/support/revision.js +1 -1
  71. package/symbols/cim/animationUtils.js +1 -1
  72. package/symbols/cim/cimAnalyzer.js +1 -1
  73. package/views/2d/engine/imagery/processor/bandArithmeticProcessor.js +1 -1
  74. package/views/2d/engine/webgl/Painter.js +1 -1
  75. package/views/2d/engine/webgl/effects/BlendEffect.js +1 -1
  76. package/views/2d/engine/webgl/shaderGraph/techniques/blend/BlendTechnique.js +1 -1
  77. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  78. package/views/2d/layers/MediaLayerView2D.js +1 -1
  79. package/views/2d/layers/TileLayerView2D.js +1 -1
  80. package/views/2d/layers/features/FeatureContainer.js +1 -1
  81. package/views/2d/layers/features/RenderState.js +1 -1
  82. package/views/2d/layers/features/processor/FeatureUpdateStrategy.js +1 -1
  83. package/views/2d/layers/features/support/AttributeStore.js +1 -1
  84. package/views/2d/layers/features/support/DisplayIdGenerator.js +1 -1
  85. package/views/3d/layers/i3s/featureEditing.js +1 -1
  86. package/views/3d/layers/support/FeatureTileMeasurements3D.js +1 -1
  87. package/views/3d/layers/support/FeatureTileTree3D.js +1 -1
  88. package/views/3d/state/ViewStateManager.js +1 -1
  89. package/views/3d/support/cameraUtils.js +1 -1
  90. package/views/3d/support/viewpointUtils.js +1 -1
  91. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiledFetcher.js +1 -1
  92. package/views/webgl/FramebufferObject.js +1 -1
  93. package/views/webgl/TextureDescriptor.js +1 -1
  94. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  95. package/widgets/FeatureTable/Grid/Grid.js +1 -1
  96. package/widgets/FeatureTable/Grid/GridViewModel.js +1 -1
  97. package/widgets/FeatureTable.js +1 -1
  98. package/widgets/Print/PrintViewModel.js +1 -1
  99. package/widgets/Print.js +1 -1
  100. package/widgets/support/GridControls/GridControlsViewModel.js +1 -1
  101. package/widgets/support/GridControls.js +1 -1
  102. package/widgets/support/SnappingControls.js +1 -1
  103. package/assets/esri/core/workers/chunks/0e292550c6e214dd160b.js +0 -1
  104. package/assets/esri/core/workers/chunks/125433d1c1c31f29cb62.js +0 -1
  105. package/assets/esri/core/workers/chunks/1ab8dff1ffd2cfc606a3.js +0 -1
  106. package/assets/esri/core/workers/chunks/1d6c66dfeb646b2d38d0.js +0 -1
  107. package/assets/esri/core/workers/chunks/1f7fe71d80378b5d2acc.js +0 -1
  108. package/assets/esri/core/workers/chunks/214b0b234c46f1c163a2.js +0 -1
  109. package/assets/esri/core/workers/chunks/3645401eaceae7ca194f.js +0 -1
  110. package/assets/esri/core/workers/chunks/38216a3288fa3af5fa32.js +0 -1
  111. package/assets/esri/core/workers/chunks/4cd3c861e33366f15af8.js +0 -1
  112. package/assets/esri/core/workers/chunks/5af2ea57ac8c62258128.js +0 -1
  113. package/assets/esri/core/workers/chunks/6417fc06bbff9852426f.js +0 -1
  114. package/assets/esri/core/workers/chunks/6c94ce65a5399de9a0cd.js +0 -1
  115. package/assets/esri/core/workers/chunks/7114bcb1de727ba596be.js +0 -1
  116. package/assets/esri/core/workers/chunks/787e8fad19dcc5d84dd9.js +0 -1
  117. package/assets/esri/core/workers/chunks/837471fcf383a0f4b6ff.js +0 -1
  118. package/assets/esri/core/workers/chunks/877e9181a3ec40b1231a.js +0 -1
  119. package/assets/esri/core/workers/chunks/8a232508b7fe011154ab.js +0 -1
  120. package/assets/esri/core/workers/chunks/8d2aa1e054cee14df379.js +0 -1
  121. package/assets/esri/core/workers/chunks/9189d24f71e2e706821e.js +0 -1
  122. package/assets/esri/core/workers/chunks/94451bca86ccdf05974c.js +0 -1
  123. package/assets/esri/core/workers/chunks/9cfaf1cbbb1d6453e939.js +0 -1
  124. package/assets/esri/core/workers/chunks/a3767791456281861b49.js +0 -1
  125. package/assets/esri/core/workers/chunks/a68a141bec952373ab6f.js +0 -1
  126. package/assets/esri/core/workers/chunks/ab6eaa3ae2e233f91a5e.js +0 -1
  127. package/assets/esri/core/workers/chunks/aedb2e7cd5b3300da5fa.js +0 -1
  128. package/assets/esri/core/workers/chunks/b045413c44239f597cc3.js +0 -1
  129. package/assets/esri/core/workers/chunks/b6044b20fb38524a268f.js +0 -1
  130. package/assets/esri/core/workers/chunks/cca72ca3a4f90b45c2ce.js +0 -1
  131. package/assets/esri/core/workers/chunks/d497b6443353efc80417.js +0 -1
  132. package/assets/esri/core/workers/chunks/da1687d68cfe20e4f069.js +0 -1
  133. package/assets/esri/core/workers/chunks/f1313389eeb7a2350db3.js +0 -1
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.31/esri/copyright.txt for details.
4
4
  */
5
- import{_ as t}from"../../../chunks/tslib.es6.js";import e from"../../../Color.js";import"../../../geometry.js";import"../../../symbols.js";import i from"../../../core/Evented.js";import r from"../../../core/Logger.js";import{rad2deg as s}from"../../../core/mathUtils.js";import{destroyMaybe as o}from"../../../core/maybe.js";import{when as n,watch as a}from"../../../core/reactiveUtils.js";import{convertUnit as l}from"../../../core/unitUtils.js";import{property as c}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/RandomLCG.js";import{subclass as h}from"../../../core/accessorSupport/decorators/subclass.js";import{isLoadedOrLoadFor as d,project as p}from"../../../geometry/projection.js";import{getResolutionForScale as m}from"../../../geometry/support/scaleUtils.js";import{MeasuredGrid as g}from"../../../grids/MeasuredGrid.js";import{makeDehydratedPoint as u}from"../../../layers/graphics/dehydratedPoint.js";import{defaultUnitPropertyMetadata as v}from"../../../properties/defaultUnit.js";import{minimumPixelsPerStrideForDisplayWhenScalingOff as y}from"../../../views/2d/grid/constants.js";import{getScaleFactor as _,shouldUsePlanar as w,measureMetersPerUnitAtReferencePoint as f}from"../../../views/2d/grid/gridUtils.js";import{DrawGraphicTool2D as S}from"../../../views/2d/interactive/editingTools/draw/DrawGraphicTool2D.js";import"../../../views/2d/interactive/editingTools/ControlPointsTransformTool.js";import"../../../views/2d/interactive/editingTools/TransformTool.js";import"../../../views/2d/interactive/editingTools/MediaTransformToolsWrapper.js";import{gridPlacementGraphicSymbol as b}from"../../../views/interactive/snapping/snappingUtils.js";import P from"../../../views/overlay/CrosshairOverlayItem.js";import T from"../../../views/overlay/TextOverlayItem.js";import{degreeSymbol as j}from"../../CoordinateConversion/support/formatUtils.js";import{applyColorToGrid as C,gridRotationToDegrees as x}from"./gridUtils.js";import G from"../../../geometry/Point.js";import O from"../../../symbols/SimpleLineSymbol.js";import R from"../../../symbols/SimpleMarkerSymbol.js";const I=Symbol("grid-interactivity");let L=class extends i.EventedAccessor{constructor(t){super(t),this._drawGraphicTool=null,this._crosshairLabel=null,this._crosshairItem=null,this.snappingManager=null,this.snappingOptions=null,this.view=null,this.placementDisabled=!1,this._mostRecentlyShownGrid=null,this._sketchedVertexCount=0}initialize(){this.addHandles([n((()=>!this.displayEnabled),(()=>{this.interactivePlacementState=null})),a((()=>this.view?.viewpoint),(()=>{this._renderOverlays()})),a((()=>this.snappingOptions?.gridEnabled&&this.snappingOptions.enabled),(t=>{null!=t&&(this.trySetDisplayEnabled(t),!0===this.snappingOptions?.enabled&&(this.snappingEnabled=t))})),a((()=>this.view?.grid),((t,e)=>{this._mostRecentlyShownGrid=!t&&e?e:null}))])}destroy(){this._resetGridPlacementState(),this._crosshairItem&&(this.view?.overlay?.removeItem(this._crosshairItem),this._crosshairItem=o(this._crosshairItem)),this._crosshairLabel&&(this.view?.overlay?.removeItem(this._crosshairLabel),this._crosshairLabel=o(this._crosshairLabel))}get displayEnabled(){return!!this.view?.grid}get dynamicScaling(){return this.grid?.dynamicScaling??!1}set dynamicScaling(t){this.grid&&(this.grid.dynamicScaling=t)}get grid(){return this.view?.grid??this._mostRecentlyShownGrid}set gridColor(t){this._set("gridColor",t);const[e,i,r,s]=t.toArray();C(this.grid,[e,i,r,s/255])}get gridControlsEnabled(){return this.displayEnabled&&!this.interactivePlacementState}set interactivePlacementState(t){this._set("interactivePlacementState",t),this._resetGridPlacementState(),t&&this._startGridManipulation(t)}get majorLineInterval(){return this.grid?.majorLineInterval??10}set majorLineInterval(t){this.grid&&(this.grid.majorLineInterval=t<1?1:t>15?15:t)}get rotateWithMap(){return this.grid?.rotateWithMap??!1}set rotateWithMap(t){this.grid&&(this.grid.rotateWithMap=t)}get rotation(){return this.grid?.rotation??-180}set rotation(t){this.grid&&(this.grid.rotation=t)}get snappingEnabled(){return(this.grid&&this.snappingOptions?.gridEnabled)??!1}set snappingEnabled(t){const{snappingOptions:e}=this;e&&(e.gridEnabled=t)}get spacing(){return this.grid?.spacing??1}set spacing(t){this.grid&&t>0&&(this.grid.spacing=t)}get unit(){return this.grid?.units}set unit(t){this.grid&&(this.grid.units=t)}get gridOutOfScale(){return!this.dynamicScaling&&null!=this._pixelsPerStride&&this._pixelsPerStride<y}get effectiveSpacingAfterDynamicScaling(){return this.majorLineInterval<1||!this.dynamicScaling||!this.view||null==this._pixelsPerStride||!this.grid?.spacing?null:this.grid.spacing*_(this.majorLineInterval,this._pixelsPerStride,this.dynamicScaling)}get numericSpacingInputShouldBeVisible(){return!(!this.displayEnabled||!this.view)&&w(this.view.spatialReference)}get _metersPerSRUnit(){if(!(this.view&&this.displayEnabled&&this.grid&&d(this.grid.center.spatialReference,this.view.spatialReference)))return null;const t=p(this.grid.center,this.view.spatialReference);return f(t)}get _pixelsPerStride(){if(!this.view?.scale||!this.displayEnabled||!this.grid||null==this._metersPerSRUnit)return null;const t=this.grid,{scale:e,spatialReference:i}=this.view;return l(t.spacing,t.units,"meters")/(this._metersPerSRUnit*m(e,i))}get _isPlacing(){if(!this._drawGraphicTool)return!1;const t=this.interactivePlacementState;return"place"===t||"interactive"===t&&0===this._sketchedVertexCount}get _isRotating(){if(!this._drawGraphicTool)return!1;const t=this.interactivePlacementState;return"rotate"===t||"interactive"===t&&1===this._sketchedVertexCount}get _isScaling(){if(!this._drawGraphicTool)return!1;return"interactive"===this.interactivePlacementState&&1===this._sketchedVertexCount}togglePlacementState(t){this.interactivePlacementState=this.interactivePlacementState===t?null:t}trySetDisplayEnabled(t){const{view:e}=this;if(e?.ready)if(!e.grid&&t)if(this._mostRecentlyShownGrid)e.grid=this._mostRecentlyShownGrid;else{const t="imperial"===this.defaultUnit?"feet":"meters";e.grid=new g({units:t,center:e.center??new G,rotateWithMap:!0}),C(this.grid,[115,115,115])}else t||(e.grid=null);else r.getLogger(this).warn("Attempting to enable grid display while view is not ready")}startPlacement(t){const{view:e,snappingManager:i}=this;if(!e)return;this._set("interactivePlacementState",t),this._sketchedVertexCount=0;const r=new S({view:e,graphicProperties:{attributes:{[b]:b}},sketchOptions:{tooltips:{enabled:!0,visibleElements:{direction:!1,rotation:!1,totalLength:!1,elevation:!1,distance:!1,area:!1}}},geometryType:"polyline",mode:"click",snapToScene:!1,snappingManager:i,forceUniformSize:!0,centered:!1,cursor:"interactive"===this.interactivePlacementState||"place"===this.interactivePlacementState?"none":null,regularVerticesSymbol:void 0,activeVertexSymbol:k,activeLineSymbol:E,graphicSymbol:E});this._drawGraphicTool=r,e.addAndActivateTool(r),this._renderOverlays(),this.addHandles([r.on("cursor-update",(t=>this._onCursorUpdate(t))),r.on("complete",(()=>this._onDrawComplete())),r.on("vertex-add",(e=>this._onVertexAdd(e,t)))],I)}async _startGridManipulation(t){const{view:e}=this;if(!e)return void(this.interactivePlacementState=null);const i=new CustomEvent("before-placement",{cancelable:!0});this.emit("before-placement",i),i.defaultPrevented||this.startPlacement(t)}_onCursorUpdate(t){try{if(this._isPlacing){const e=t.vertices[0].coordinates;return void this._handlePlace(e)}if(this._drawGraphicTool.cursor=null,this._isRotating&&this._handleRotate(t.vertices[0].coordinates),this._isScaling){const t=this._drawGraphicTool?.drawOperation.cursorVertex;this._handleScale(t)}}finally{this._renderOverlays()}}_onDrawComplete(){this._drawGraphicTool.cursor=null,this.interactivePlacementState=null}_onVertexAdd(t,e){const i=t.vertices[0].coordinates;this._isPlacing&&this._handlePlace(i),this._isRotating&&this._sketchedVertexCount>0&&this._handleRotate(i),this._isScaling&&this._sketchedVertexCount>0&&this._handleScale(u(i[0],i[1],void 0,this.view.spatialReference)),this._sketchedVertexCount++,this._drawGraphicTool.cursor=null,2!==this._sketchedVertexCount&&"interactive"===e||(this.interactivePlacementState=null),this._renderOverlays()}_handlePlace(t){const{grid:e,view:i}=this;e&&i&&(e.center=new G({x:t[0],y:t[1],spatialReference:i.spatialReference}))}_handleRotate(t){const{grid:e,view:i}=this;if(!e||!i)return;this._drawGraphicTool?.sketchOptions.tooltips.set("enabled",!1);const{x:r,y:o}=e.center,[n,a]=t,l=i.toScreen(e.center,{pickClosestTarget:!0}),c=l&&i.toMap(l),h=i.toScreen(u(n,a,void 0,i.spatialReference),{pickClosestTarget:!0}),d=h&&i.toMap(h),p=c?c.x:r,m=c?c.y:o,g=p-(d?d.x:n),v=m-(d?d.y:a);if(0===g&&0===v)return;const y=Math.atan2(v,g),_=s(y),w=e.rotateWithMap,f=i.viewpoint.rotation??0,S=w?_:_-f;e.rotation=Math.fround(S)%360}_handleScale(t){const{view:e,grid:i,_drawGraphicTool:r,interactivePlacementState:s,_metersPerSRUnit:o}=this;if(!(t&&e&&i&&r&&o))return;r.sketchOptions.tooltips.enabled=!1;const n="interactive"===s?i.center:r.drawOperation.firstVertex;if(!n||!t)return;const a=e?.toScreen(n),c=a&&e.toMap(a),h=e?.toScreen(t),d=c??n,p=(h&&e.toMap(h))??t,m=Math.sqrt((d.x-p.x)**2+(d.y-p.y)**2),g=l(m*o,"meters",i.units);this.spacing=g}_renderOverlays(){this._renderCrosshairOverlay(),this._renderTextOverlay()}_renderTextOverlay(){const{grid:t,view:e,_drawGraphicTool:i}=this,r=this._getCrosshairLabel();if(!(t&&e?.overlay&&i&&r))return;const s=e.toScreen(t.center,{pickClosestTarget:!0});s&&(r.position=[s.x+12,s.y+12]),this._isRotating?(r.text=`${x(t.rotation)}${j}`,r.visible=!0):r.visible=!1}_renderCrosshairOverlay(){const{grid:t,view:e,_drawGraphicTool:i}=this;if(!t||!e?.overlay||!i)return;const r=this._getCrosshair();if(!r)return;const s=e.toScreen(t.center);s&&(r.x=s.x,r.y=s.y,r.rotation=t.rotateWithMap?e.viewpoint.rotation-t.rotation:-t.rotation,r.visible=!!i)}_getCrosshairLabel(){if(this._crosshairLabel)return this._crosshairLabel;const{grid:t,view:i,_drawGraphicTool:r}=this;if(!t||!i?.overlay||!r)return null;const s=new T({anchor:"top-left",fontSize:10,textColor:new e([21,21,21]),backgroundColor:new e([248,248,248]),padding:8,borderRadius:20});return i.overlay.addItem(s),this._crosshairLabel=s,s}_getCrosshair(){const{_crosshairItem:t,view:e}=this;return e?.overlay?t&&e.overlay.items.includes(t)?t:(this._crosshairItem=new P({color:e.effectiveTheme.accentColor,thickness:4,length:36,visible:!0}),e.overlay?.addItem(this._crosshairItem),this._crosshairItem):null}_resetGridPlacementState(){this.removeHandles(I),this._crosshairItem&&(this._crosshairItem.visible=!1),this._crosshairLabel&&(this._crosshairLabel.visible=!1),this._drawGraphicTool&&(this.view?.activeTool===this._drawGraphicTool&&(this.view.activeTool=null),this.view?.tools.remove(this._drawGraphicTool)),this._drawGraphicTool=o(this._drawGraphicTool)}};t([c(v)],L.prototype,"defaultUnit",void 0),t([c({readOnly:!0})],L.prototype,"displayEnabled",null),t([c()],L.prototype,"dynamicScaling",null),t([c()],L.prototype,"grid",null),t([c()],L.prototype,"gridColor",null),t([c({readOnly:!0})],L.prototype,"gridControlsEnabled",null),t([c()],L.prototype,"interactivePlacementState",null),t([c()],L.prototype,"majorLineInterval",null),t([c()],L.prototype,"rotateWithMap",null),t([c()],L.prototype,"rotation",null),t([c()],L.prototype,"snappingEnabled",null),t([c()],L.prototype,"snappingManager",void 0),t([c()],L.prototype,"snappingOptions",void 0),t([c()],L.prototype,"spacing",null),t([c()],L.prototype,"unit",null),t([c()],L.prototype,"view",void 0),t([c({readOnly:!0})],L.prototype,"gridOutOfScale",null),t([c({readOnly:!0})],L.prototype,"effectiveSpacingAfterDynamicScaling",null),t([c({readOnly:!0})],L.prototype,"numericSpacingInputShouldBeVisible",null),t([c()],L.prototype,"placementDisabled",void 0),t([c()],L.prototype,"_metersPerSRUnit",null),t([c()],L.prototype,"_pixelsPerStride",null),t([c()],L.prototype,"_isPlacing",null),t([c()],L.prototype,"_isRotating",null),t([c()],L.prototype,"_isScaling",null),t([c()],L.prototype,"_mostRecentlyShownGrid",void 0),t([c()],L.prototype,"_sketchedVertexCount",void 0),L=t([h("esri.widgets.support.GridControls.GridControlsViewModel")],L);const M=L,E=new O({width:0}),k=new R({color:e.fromArray([0,0,0,0]),outline:new O({color:e.fromArray([0,0,0,0])})});export{M as default};
5
+ import{_ as t}from"../../../chunks/tslib.es6.js";import e from"../../../Color.js";import"../../../geometry.js";import"../../../symbols.js";import i from"../../../core/Evented.js";import r from"../../../core/Logger.js";import{rad2deg as s}from"../../../core/mathUtils.js";import{destroyMaybe as o}from"../../../core/maybe.js";import{when as n,watch as a}from"../../../core/reactiveUtils.js";import{convertUnit as l}from"../../../core/unitUtils.js";import{property as c}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/RandomLCG.js";import{subclass as h}from"../../../core/accessorSupport/decorators/subclass.js";import{isLoadedOrLoadFor as d,project as p}from"../../../geometry/projection.js";import{getResolutionForScale as m}from"../../../geometry/support/scaleUtils.js";import{MeasuredGrid as g}from"../../../grids/MeasuredGrid.js";import{makeDehydratedPoint as u}from"../../../layers/graphics/dehydratedPoint.js";import{defaultUnitPropertyMetadata as v}from"../../../properties/defaultUnit.js";import{minimumPixelsPerStrideForDisplayWhenScalingOff as y}from"../../../views/2d/grid/constants.js";import{getScaleFactor as _,shouldUsePlanar as w,measureMetersPerUnitAtReferencePoint as f}from"../../../views/2d/grid/gridUtils.js";import{DrawGraphicTool2D as S}from"../../../views/2d/interactive/editingTools/draw/DrawGraphicTool2D.js";import"../../../views/2d/interactive/editingTools/ControlPointsTransformTool.js";import"../../../views/2d/interactive/editingTools/TransformTool.js";import"../../../views/2d/interactive/editingTools/MediaTransformToolsWrapper.js";import{gridPlacementGraphicSymbol as b}from"../../../views/interactive/snapping/snappingUtils.js";import P from"../../../views/overlay/CrosshairOverlayItem.js";import T from"../../../views/overlay/TextOverlayItem.js";import{degreeSymbol as j}from"../../CoordinateConversion/support/formatUtils.js";import{applyColorToGrid as C,gridRotationToDegrees as x}from"./gridUtils.js";import G from"../../../geometry/Point.js";import R from"../../../symbols/SimpleLineSymbol.js";import O from"../../../symbols/SimpleMarkerSymbol.js";const I=Symbol("grid-interactivity");let L=class extends i.EventedAccessor{constructor(t){super(t),this._drawGraphicTool=null,this._crosshairLabel=null,this._crosshairItem=null,this.snappingManager=null,this.snappingOptions=null,this.view=null,this.placementDisabled=!1,this._mostRecentlyShownGrid=null,this._sketchedVertexCount=0}initialize(){this.addHandles([n((()=>!this.displayEnabled),(()=>{this.interactivePlacementState=null})),a((()=>this.view?.viewpoint),(()=>{this._renderOverlays()})),a((()=>this.snappingOptions?.gridEnabled),(t=>{null!=t&&this.trySetDisplayEnabled(t)})),a((()=>this.view?.grid),((t,e)=>{this._mostRecentlyShownGrid=!t&&e?e:null}))])}destroy(){this._resetGridPlacementState(),this._crosshairItem&&(this.view?.overlay?.removeItem(this._crosshairItem),this._crosshairItem=o(this._crosshairItem)),this._crosshairLabel&&(this.view?.overlay?.removeItem(this._crosshairLabel),this._crosshairLabel=o(this._crosshairLabel))}get displayEnabled(){return!!this.view?.grid}get dynamicScaling(){return this.grid?.dynamicScaling??!1}set dynamicScaling(t){this.grid&&(this.grid.dynamicScaling=t)}get grid(){return this.view?.grid??this._mostRecentlyShownGrid}set gridColor(t){this._set("gridColor",t);const[e,i,r,s]=t.toArray();C(this.grid,[e,i,r,s/255])}get gridControlsEnabled(){return this.displayEnabled&&!this.interactivePlacementState}set interactivePlacementState(t){this._set("interactivePlacementState",t),this._resetGridPlacementState(),t&&this._startGridManipulation(t)}get majorLineInterval(){return this.grid?.majorLineInterval??10}set majorLineInterval(t){this.grid&&(this.grid.majorLineInterval=t<1?1:t>15?15:t)}get rotateWithMap(){return this.grid?.rotateWithMap??!1}set rotateWithMap(t){this.grid&&(this.grid.rotateWithMap=t)}get rotation(){return this.grid?.rotation??-180}set rotation(t){this.grid&&(this.grid.rotation=t)}get snappingEnabled(){return(this.grid&&this.snappingOptions?.gridEnabled)??!1}set snappingEnabled(t){const{snappingOptions:e}=this;e&&(e.gridEnabled=t)}get spacing(){return this.grid?.spacing??1}set spacing(t){this.grid&&t>0&&(this.grid.spacing=t)}get unit(){return this.grid?.units}set unit(t){this.grid&&(this.grid.units=t)}get gridOutOfScale(){return!this.dynamicScaling&&null!=this._pixelsPerStride&&this._pixelsPerStride<y}get effectiveSpacingAfterDynamicScaling(){return this.majorLineInterval<1||!this.dynamicScaling||!this.view||null==this._pixelsPerStride||!this.grid?.spacing?null:this.grid.spacing*_(this.majorLineInterval,this._pixelsPerStride,this.dynamicScaling)}get numericSpacingInputShouldBeVisible(){return!!this.view?.spatialReference&&w(this.view.spatialReference)}get _metersPerSRUnit(){if(!(this.view&&this.displayEnabled&&this.grid&&d(this.grid.center.spatialReference,this.view.spatialReference)))return null;const t=p(this.grid.center,this.view.spatialReference);return f(t)}get _pixelsPerStride(){if(!this.view?.scale||!this.displayEnabled||!this.grid||null==this._metersPerSRUnit)return null;const t=this.grid,{scale:e,spatialReference:i}=this.view;return l(t.spacing,t.units,"meters")/(this._metersPerSRUnit*m(e,i))}get _isPlacing(){if(!this._drawGraphicTool)return!1;const t=this.interactivePlacementState;return"place"===t||"interactive"===t&&0===this._sketchedVertexCount}get _isRotating(){if(!this._drawGraphicTool)return!1;const t=this.interactivePlacementState;return"rotate"===t||"interactive"===t&&1===this._sketchedVertexCount}get _isScaling(){if(!this._drawGraphicTool)return!1;return"interactive"===this.interactivePlacementState&&1===this._sketchedVertexCount}togglePlacementState(t){this.interactivePlacementState=this.interactivePlacementState===t?null:t}trySetDisplayEnabled(t){const{view:e}=this;if(e?.ready)if(!e.grid&&t)if(this._mostRecentlyShownGrid)e.grid=this._mostRecentlyShownGrid;else{const t="imperial"===this.defaultUnit?"feet":"meters";e.grid=new g({units:t,center:e.center??new G,rotateWithMap:!0}),C(this.grid,[115,115,115])}else t||(e.grid=null);else r.getLogger(this).warn("Attempting to enable grid display while view is not ready")}startPlacement(t){const{view:e,snappingManager:i}=this;if(!e)return;this._set("interactivePlacementState",t),this._sketchedVertexCount=0;const r=new S({view:e,graphicProperties:{attributes:{[b]:b}},sketchOptions:{tooltips:{enabled:!0,visibleElements:{direction:!1,rotation:!1,totalLength:!1,elevation:!1,distance:!1,area:!1}}},geometryType:"polyline",mode:"click",snapToScene:!1,snappingManager:i,forceUniformSize:!0,centered:!1,cursor:"interactive"===this.interactivePlacementState||"place"===this.interactivePlacementState?"none":null,regularVerticesSymbol:void 0,activeVertexSymbol:E,activeLineSymbol:k,graphicSymbol:k});this._drawGraphicTool=r,e.addAndActivateTool(r),this._renderOverlays(),this.addHandles([r.on("cursor-update",(t=>this._onCursorUpdate(t))),r.on("complete",(()=>this._onDrawComplete())),r.on("vertex-add",(e=>this._onVertexAdd(e,t)))],I)}async _startGridManipulation(t){const{view:e}=this;if(!e)return void(this.interactivePlacementState=null);const i=new CustomEvent("before-placement",{cancelable:!0});this.emit("before-placement",i),i.defaultPrevented||this.startPlacement(t)}_onCursorUpdate(t){try{if(this._isPlacing){const e=t.vertices[0].coordinates;return void this._handlePlace(e)}if(this._drawGraphicTool.cursor=null,this._isRotating&&this._handleRotate(t.vertices[0].coordinates),this._isScaling){const t=this._drawGraphicTool?.drawOperation.cursorVertex;this._handleScale(t)}}finally{this._renderOverlays()}}_onDrawComplete(){this._drawGraphicTool.cursor=null,this.interactivePlacementState=null}_onVertexAdd(t,e){const i=t.vertices[0].coordinates;this._isPlacing&&this._handlePlace(i),this._isRotating&&this._sketchedVertexCount>0&&this._handleRotate(i),this._isScaling&&this._sketchedVertexCount>0&&this._handleScale(u(i[0],i[1],void 0,this.view.spatialReference)),this._sketchedVertexCount++,this._drawGraphicTool.cursor=null,2!==this._sketchedVertexCount&&"interactive"===e||(this.interactivePlacementState=null),this._renderOverlays()}_handlePlace(t){const{grid:e,view:i}=this;e&&i&&(e.center=new G({x:t[0],y:t[1],spatialReference:i.spatialReference}))}_handleRotate(t){const{grid:e,view:i}=this;if(!e||!i)return;this._drawGraphicTool?.sketchOptions.tooltips.set("enabled",!1);const{x:r,y:o}=e.center,[n,a]=t,l=i.toScreen(e.center,{pickClosestTarget:!0}),c=l&&i.toMap(l),h=i.toScreen(u(n,a,void 0,i.spatialReference),{pickClosestTarget:!0}),d=h&&i.toMap(h),p=c?c.x:r,m=c?c.y:o,g=p-(d?d.x:n),v=m-(d?d.y:a);if(0===g&&0===v)return;const y=Math.atan2(v,g),_=s(y),w=e.rotateWithMap,f=i.viewpoint.rotation??0,S=w?_:_-f;e.rotation=Math.fround(S)%360}_handleScale(t){const{view:e,grid:i,_drawGraphicTool:r,interactivePlacementState:s,_metersPerSRUnit:o}=this;if(!(t&&e&&i&&r&&o))return;r.sketchOptions.tooltips.enabled=!1;const n="interactive"===s?i.center:r.drawOperation.firstVertex;if(!n||!t)return;const a=e?.toScreen(n),c=a&&e.toMap(a),h=e?.toScreen(t),d=c??n,p=(h&&e.toMap(h))??t,m=Math.sqrt((d.x-p.x)**2+(d.y-p.y)**2),g=l(m*o,"meters",i.units);this.spacing=g}_renderOverlays(){this._renderCrosshairOverlay(),this._renderTextOverlay()}_renderTextOverlay(){const{grid:t,view:e,_drawGraphicTool:i}=this,r=this._getCrosshairLabel();if(!(t&&e?.overlay&&i&&r))return;const s=e.toScreen(t.center,{pickClosestTarget:!0});s&&(r.position=[s.x+12,s.y+12]),this._isRotating?(r.text=`${x(t.rotation)}${j}`,r.visible=!0):r.visible=!1}_renderCrosshairOverlay(){const{grid:t,view:e,_drawGraphicTool:i}=this;if(!t||!e?.overlay||!i)return;const r=this._getCrosshair();if(!r)return;const s=e.toScreen(t.center);s&&(r.x=s.x,r.y=s.y,r.rotation=t.rotateWithMap?e.viewpoint.rotation-t.rotation:-t.rotation,r.visible=!!i)}_getCrosshairLabel(){if(this._crosshairLabel)return this._crosshairLabel;const{grid:t,view:i,_drawGraphicTool:r}=this;if(!t||!i?.overlay||!r)return null;const s=new T({anchor:"top-left",fontSize:10,textColor:new e([21,21,21]),backgroundColor:new e([248,248,248]),padding:8,borderRadius:20});return i.overlay.addItem(s),this._crosshairLabel=s,s}_getCrosshair(){const{_crosshairItem:t,view:e}=this;return e?.overlay?t&&e.overlay.items.includes(t)?t:(this._crosshairItem=new P({color:e.effectiveTheme.accentColor,thickness:4,length:36,visible:!0}),e.overlay?.addItem(this._crosshairItem),this._crosshairItem):null}_resetGridPlacementState(){this.removeHandles(I),this._crosshairItem&&(this._crosshairItem.visible=!1),this._crosshairLabel&&(this._crosshairLabel.visible=!1),this._drawGraphicTool&&(this.view?.activeTool===this._drawGraphicTool&&(this.view.activeTool=null),this.view?.tools.remove(this._drawGraphicTool)),this._drawGraphicTool=o(this._drawGraphicTool)}};t([c(v)],L.prototype,"defaultUnit",void 0),t([c({readOnly:!0})],L.prototype,"displayEnabled",null),t([c()],L.prototype,"dynamicScaling",null),t([c()],L.prototype,"grid",null),t([c()],L.prototype,"gridColor",null),t([c({readOnly:!0})],L.prototype,"gridControlsEnabled",null),t([c()],L.prototype,"interactivePlacementState",null),t([c()],L.prototype,"majorLineInterval",null),t([c()],L.prototype,"rotateWithMap",null),t([c()],L.prototype,"rotation",null),t([c()],L.prototype,"snappingEnabled",null),t([c()],L.prototype,"snappingManager",void 0),t([c()],L.prototype,"snappingOptions",void 0),t([c()],L.prototype,"spacing",null),t([c()],L.prototype,"unit",null),t([c()],L.prototype,"view",void 0),t([c({readOnly:!0})],L.prototype,"gridOutOfScale",null),t([c({readOnly:!0})],L.prototype,"effectiveSpacingAfterDynamicScaling",null),t([c({readOnly:!0})],L.prototype,"numericSpacingInputShouldBeVisible",null),t([c()],L.prototype,"placementDisabled",void 0),t([c()],L.prototype,"_metersPerSRUnit",null),t([c()],L.prototype,"_pixelsPerStride",null),t([c()],L.prototype,"_isPlacing",null),t([c()],L.prototype,"_isRotating",null),t([c()],L.prototype,"_isScaling",null),t([c()],L.prototype,"_mostRecentlyShownGrid",void 0),t([c()],L.prototype,"_sketchedVertexCount",void 0),L=t([h("esri.widgets.support.GridControls.GridControlsViewModel")],L);const M=L,k=new R({width:0}),E=new O({color:e.fromArray([0,0,0,0]),outline:new R({color:e.fromArray([0,0,0,0])})});export{M as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.31/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../Color.js";import"../../intl.js";import{watch as i,initial as n}from"../../core/reactiveUtils.js";import{formatDecimal as s}from"../../core/unitFormatUtils.js";import{property as o}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{subclass as l}from"../../core/accessorSupport/decorators/subclass.js";import r from"../Widget.js";import{loadCalciteComponents as a}from"./componentsUtils.js";import{globalCss as c}from"./globalCss.js";import{loadLabeledSwitchComponents as d,LabeledSwitch as p}from"./LabeledSwitch.js";import{classes as m}from"./widgetUtils.js";import{messageBundle as g}from"./decorators/messageBundle.js";import{tsx as u}from"./jsxFactory.js";import h from"./GridControls/GridControlsViewModel.js";import{gridRotationToDegrees as b,userInputToGridRotation as v}from"./GridControls/gridUtils.js";import w from"./GridControls/VisibleElements.js";import{substitute as _}from"../../intl/substitute.js";const f="esri-grid-controls",C={base:f,borderedSwitch:`${f}__switch--bordered`,container:`${f}__container`,numericInputsContainer:`${f}__numeric-inputs__container`,tilegroup:`${f}__tilegroup`,tile:`${f}__tile`,tileDisabled:`${f}__tile--disabled`,tileContent:`${f}__tile__content`,suffixedInputContainer:`${f}__input-with-suffix__container`,inputSuffix:`${f}__input-with-suffix__suffix-part`,inlineIcon:`${f}__inline-icon`},M={widgetIcon:"grid-unit",gridTheme:{light:"circle",dark:"circle-area",custom:"palette"},placementState:{interactive:"maximum-territory-distance",place:"move",rotate:"rotate"},warning:"exclamation-mark-triangle"},y=t.fromArray([115,115,115]),j=t.fromArray([200,200,200]),S=["interactive","place","rotate"];let I=class extends r{constructor(e,t){super(e,t),this.customColor=null,this.messages=null,this.messagesUnits=null,this.viewModel=new h,this.visibleElements=new w}initialize(){this.addHandles([i((()=>this.view?.grid?.majorLineColor),(e=>{!e||y.equals(e)||j.equals(e)||(this.customColor=e)}),n)])}loadDependencies(){return Promise.all([a({action:()=>import("@esri/calcite-components/dist/components/calcite-action.js"),"action-bar":()=>import("@esri/calcite-components/dist/components/calcite-action-bar.js"),label:()=>import("@esri/calcite-components/dist/components/calcite-label.js"),icon:()=>import("@esri/calcite-components/dist/components/calcite-icon.js"),popover:()=>import("@esri/calcite-components/dist/components/calcite-popover.js"),tooltip:()=>import("@esri/calcite-components/dist/components/calcite-tooltip.js"),"color-picker":()=>import("@esri/calcite-components/dist/components/calcite-color-picker.js"),"input-number":()=>import("@esri/calcite-components/dist/components/calcite-input-number.js")}),d()])}get icon(){return M.widgetIcon}set icon(e){this._overrideIfSome("icon",e)}get label(){return this.messages.widgetLabel}set label(e){this._overrideIfSome("label",e)}get snappingManager(){return this.viewModel.snappingManager}set snappingManager(e){this.viewModel.snappingManager=e}get snappingOptions(){return this.viewModel.snappingOptions}set snappingOptions(e){this.viewModel.snappingOptions=e}get theme(){const e=this.viewModel.grid?.majorLineColor;return e?y.equals(e)?"dark":j.equals(e)?"light":"custom":null}set theme(e){const{viewModel:t,customColor:i,view:n}=this;switch(e){case"light":t.gridColor=j;break;case"dark":t.gridColor=y;break;case"custom":t.gridColor=i??n?.effectiveTheme.accentColor??y}}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}render(){return u("div",{"aria-label":this.label,class:this.classes(C.base,c.widget,c.panel)},u("div",{class:C.container},this._renderContent()))}_renderContent(){const{visibleElements:e}=this;return[e.gridEnabledToggle?this._renderEnabledToggle():null,e.placementButtons?this._renderGridPlacementButtons():null,e.numericInputs?this._renderNumericInputs():null,e.lineIntervalInput?this._renderIntervalInput():null,e.gridSnapEnabledToggle&&this.viewModel.snappingOptions?this._renderSnappingToggle():null,e.dynamicScaleToggle?this._renderDynamicScaleToggle():null,e.rotateWithMapToggle?this._renderRotateToggle():null,e.colorSelection?this._renderColorSelection():null]}_renderGridPlacementButtons(){const{interactivePlacementState:e,placementDisabled:t,gridControlsEnabled:i}=this.viewModel,n=t||!i;return u("calcite-label",{key:"grid-placement-buttons",scale:"s"},this.messages.placementOptions,u("calcite-action-bar",{expandDisabled:!0,layout:"horizontal"},S.map((t=>this._renderPlacementModeButton(t,n,e)))))}_renderPlacementModeButton(e,t,i){const n=this.messages.placementState[e],s=`__placement-action-${e}`;return u("div",null,u("calcite-action",{active:i===e,alignment:"center",disabled:t,icon:M.placementState[e],id:s,onclick:()=>this.viewModel.togglePlacementState(e),text:n}),u("calcite-tooltip",{placement:"top",referenceElement:s},n))}_renderNumericInputs(){const{rotation:e,spacing:t,effectiveSpacingAfterDynamicScaling:i,numericSpacingInputShouldBeVisible:n,unit:o="meters"}=this.viewModel,l=this.messagesUnits.units[o].abbr,r=this.viewModel.gridControlsEnabled,a=null!=i&&i!==this.viewModel.spacing,c=`__spacing_input_scaled-${this.id}`;return u("div",{class:this.classes(C.numericInputsContainer)},[n?u("calcite-label",{scale:"s"},u("span",null,this.messages.inputLabel.spacing,a?u("calcite-icon",{class:this.classes(C.inlineIcon),icon:M.warning,id:c,scale:"s",tabIndex:0}):void 0),u("div",{class:C.suffixedInputContainer},u("calcite-input-number",{disabled:!r,numberButtonType:"none",suffixText:l,value:`${t?.toFixed(2)}`,onCalciteInputNumberChange:({target:e})=>{const t=parseFloat(e.value);this.viewModel.spacing=t,t!==this.viewModel.spacing&&(e.value=`${this.viewModel.spacing}`)}}),a?u("calcite-tooltip",{overlayPositioning:"fixed",placement:"leading",referenceElement:c},_(this.messages.warnings.dynamicSpacing,{actualSpacingIncludingUnit:s(this.messagesUnits,i,o,2,"plural")})):void 0)):void 0,u("calcite-label",{scale:"s"},this.messages.inputLabel.angle,u("calcite-input-number",{disabled:!r,integer:!0,numberButtonType:"none",suffixText:this.messagesUnits.units.degrees.abbr,value:`${b(e)}`,onCalciteInputNumberChange:({target:e})=>this.viewModel.rotation=v(e.value)}))])}_renderIntervalInput(){const{majorLineInterval:e,gridControlsEnabled:t}=this.viewModel;return u("div",{class:this.classes(C.numericInputsContainer)},u("calcite-label",{scale:"s"},this.messages.inputLabel.interval,u("calcite-input-number",{disabled:!t,integer:!0,max:15,min:1,numberButtonType:"vertical",value:`${e}`,onCalciteInputNumberChange:({target:e})=>{const t=Number.parseInt(e.value,10);this.viewModel.majorLineInterval=t,t!==this.viewModel.majorLineInterval&&(e.value=`${this.viewModel.majorLineInterval}`)}})))}_renderSnappingToggle(){const{snappingOptions:e,gridControlsEnabled:t}=this.viewModel;return u(p,{checked:!!(e?.gridEnabled??!1),disabled:!(t&&!!e),key:"grid-snap-enabled-toggle",label:this.messages.switchLabel.snap,onChange:e=>this.viewModel.snappingOptions?.set("gridEnabled",e)})}_renderDynamicScaleToggle(){const{viewModel:e,messages:t}=this,i=this.visibleElements.outOfScaleWarning&&e.gridOutOfScale;return u(p,{checked:e.dynamicScaling,disabled:!e.gridControlsEnabled,hint:i?t.warnings.outOfScale:void 0,hintIcon:M.warning,hintKind:"warning",key:`grid-dynamic-scale-toggle-${this.id}`,label:t.switchLabel.scaling,onChange:t=>e.dynamicScaling=t})}_renderRotateToggle(){const{gridControlsEnabled:e,rotateWithMap:t}=this.viewModel;return u(p,{checked:t,disabled:!e,key:"grid-rotate-map-toggle",label:this.messages.switchLabel.rotateWithMap,onChange:e=>this.viewModel.rotateWithMap=e})}_renderEnabledToggle(){return u("div",{class:C.borderedSwitch},u(p,{checked:this.viewModel.displayEnabled,disabled:!!this.viewModel.interactivePlacementState,key:"grid-enabled-toggle",label:this.messages.switchLabel.display,onChange:e=>this.viewModel.trySetDisplayEnabled(e)}))}_renderColorSelection(){const{customColor:e}=this,i=`${this.id}--custom-grid-color-button`;return u("calcite-label",{scale:"s"},this.messages.inputLabel.theme,u("div",{class:C.tilegroup},[this._renderThemeTile({value:"dark"}),this._renderThemeTile({value:"light"}),this._renderThemeTile({value:"custom",id:i}),u("calcite-popover",{autoClose:!0,label:this.messages.gridLineColorPopoverLabel,overlayPositioning:"fixed",referenceElement:i},u("calcite-color-picker",{alphaChannel:!0,savedDisabled:!0,value:e?.toHex({digits:8})??"#000000ff",onCalciteColorPickerChange:e=>{const i=t.fromHex(e.target.value);i&&(this.customColor=i,this.theme="custom")}}))]))}_renderThemeTile(e){const{theme:t}=this,{value:i}=e,n=this.messages.gridTheme[i],s=`${this.id}--theme_tile_${i}`,o=`${s}__label`,l=M.gridTheme[i],r=this.viewModel.gridControlsEnabled;return u("div",{class:m({[C.tile]:!0,[C.tileDisabled]:!r}),id:e.id,role:"button"},u("input",{"aria-labelledby":o,checked:t===i,disabled:!r,id:s,name:`${this.id}--theme`,onchange:e=>{this.theme=i,e.target?.focus()},tabIndex:0,type:"radio"}),u("div",{class:C.tileContent},u("calcite-icon",{icon:l,scale:"l"}),u("calcite-label",{for:s,id:o},n)))}};e([o()],I.prototype,"customColor",void 0),e([o()],I.prototype,"icon",null),e([o()],I.prototype,"label",null),e([o(),g("esri/widgets/support/GridControls/t9n/GridControls")],I.prototype,"messages",void 0),e([o(),g("esri/core/t9n/Units")],I.prototype,"messagesUnits",void 0),e([o()],I.prototype,"snappingManager",null),e([o()],I.prototype,"snappingOptions",null),e([o()],I.prototype,"theme",null),e([o()],I.prototype,"view",null),e([o({type:h})],I.prototype,"viewModel",void 0),e([o({type:w,nonNullable:!0})],I.prototype,"visibleElements",void 0),I=e([l("esri.widgets.support.GridControls")],I);const T=I;export{T as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../Color.js";import"../../intl.js";import{watch as i,initial as n}from"../../core/reactiveUtils.js";import{formatDecimal as s}from"../../core/unitFormatUtils.js";import{property as o}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{subclass as l}from"../../core/accessorSupport/decorators/subclass.js";import r from"../Widget.js";import{loadCalciteComponents as a}from"./componentsUtils.js";import{globalCss as c}from"./globalCss.js";import{loadLabeledSwitchComponents as d,LabeledSwitch as p}from"./LabeledSwitch.js";import{classes as m}from"./widgetUtils.js";import{messageBundle as g}from"./decorators/messageBundle.js";import{tsx as u}from"./jsxFactory.js";import h from"./GridControls/GridControlsViewModel.js";import{gridRotationToDegrees as b,userInputToGridRotation as v}from"./GridControls/gridUtils.js";import w from"./GridControls/VisibleElements.js";import{substitute as _}from"../../intl/substitute.js";const f="esri-grid-controls",C={base:f,borderedSwitch:`${f}__switch--bordered`,container:`${f}__container`,numericInputsContainer:`${f}__numeric-inputs__container`,tilegroup:`${f}__tilegroup`,tile:`${f}__tile`,tileDisabled:`${f}__tile--disabled`,tileContent:`${f}__tile__content`,suffixedInputContainer:`${f}__input-with-suffix__container`,inputSuffix:`${f}__input-with-suffix__suffix-part`,inlineIcon:`${f}__inline-icon`},y={widgetIcon:"grid-unit",gridTheme:{light:"circle",dark:"circle-area",custom:"palette"},placementState:{interactive:"maximum-territory-distance",place:"move",rotate:"rotate"},warning:"exclamation-mark-triangle"},M=t.fromArray([115,115,115]),j=t.fromArray([200,200,200]),S=["interactive","place","rotate"];let I=class extends r{constructor(e,t){super(e,t),this.customColor=null,this.messages=null,this.messagesUnits=null,this.viewModel=new h,this.visibleElements=new w}initialize(){this.addHandles([i((()=>this.view?.grid?.majorLineColor),(e=>{!e||M.equals(e)||j.equals(e)||(this.customColor=e)}),n)])}loadDependencies(){return Promise.all([a({action:()=>import("@esri/calcite-components/dist/components/calcite-action.js"),"action-bar":()=>import("@esri/calcite-components/dist/components/calcite-action-bar.js"),label:()=>import("@esri/calcite-components/dist/components/calcite-label.js"),icon:()=>import("@esri/calcite-components/dist/components/calcite-icon.js"),popover:()=>import("@esri/calcite-components/dist/components/calcite-popover.js"),tooltip:()=>import("@esri/calcite-components/dist/components/calcite-tooltip.js"),"color-picker":()=>import("@esri/calcite-components/dist/components/calcite-color-picker.js"),"input-number":()=>import("@esri/calcite-components/dist/components/calcite-input-number.js")}),d()])}get icon(){return y.widgetIcon}set icon(e){this._overrideIfSome("icon",e)}get label(){return this.messages.widgetLabel}set label(e){this._overrideIfSome("label",e)}get snappingManager(){return this.viewModel.snappingManager}set snappingManager(e){this.viewModel.snappingManager=e}get snappingOptions(){return this.viewModel.snappingOptions}set snappingOptions(e){this.viewModel.snappingOptions=e}get theme(){const e=this.viewModel.grid?.majorLineColor;return e?M.equals(e)?"dark":j.equals(e)?"light":"custom":null}set theme(e){const{viewModel:t,customColor:i,view:n}=this;switch(e){case"light":t.gridColor=j;break;case"dark":t.gridColor=M;break;case"custom":t.gridColor=i??n?.effectiveTheme.accentColor??M}}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}render(){return u("div",{"aria-label":this.label,class:this.classes(C.base,c.widget,c.panel)},u("div",{class:C.container},this._renderContent()))}_renderContent(){const{visibleElements:e}=this;return[e.gridEnabledToggle?this._renderEnabledToggle():null,e.placementButtons?this._renderGridPlacementButtons():null,e.numericInputs?this._renderNumericInputs():null,e.lineIntervalInput?this._renderIntervalInput():null,e.gridSnapEnabledToggle&&this.viewModel.snappingOptions?this._renderSnappingToggle():null,e.dynamicScaleToggle?this._renderDynamicScaleToggle():null,e.rotateWithMapToggle?this._renderRotateToggle():null,e.colorSelection?this._renderColorSelection():null]}_renderGridPlacementButtons(){const{interactivePlacementState:e,placementDisabled:t,gridControlsEnabled:i}=this.viewModel,n=t||!i;return u("calcite-label",{key:"grid-placement-buttons",scale:"s"},this.messages.placementOptions,u("calcite-action-bar",{expandDisabled:!0,layout:"horizontal"},S.map((t=>this._renderPlacementModeButton(t,n,e)))))}_renderPlacementModeButton(e,t,i){const n=this.messages.placementState[e],s=`__placement-action-${e}`;return u("div",null,u("calcite-action",{active:i===e,alignment:"center",disabled:t,icon:y.placementState[e],id:s,onclick:()=>this.viewModel.togglePlacementState(e),text:n}),u("calcite-tooltip",{placement:"top",referenceElement:s},n))}_renderNumericInputs(){const{rotation:e,spacing:t,effectiveSpacingAfterDynamicScaling:i,numericSpacingInputShouldBeVisible:n,unit:o="meters"}=this.viewModel,l=this.messagesUnits.units[o].abbr,r=this.viewModel.gridControlsEnabled,a=null!=i&&i!==this.viewModel.spacing,c=`__spacing_input_scaled-${this.id}`;return u("div",{class:this.classes(C.numericInputsContainer)},[n?u("calcite-label",{key:"spacing-label",scale:"s"},u("span",null,this.messages.inputLabel.spacing,a?u("calcite-icon",{class:this.classes(C.inlineIcon),icon:y.warning,id:c,scale:"s",tabIndex:0}):void 0),u("div",{class:C.suffixedInputContainer},u("calcite-input-number",{disabled:!r,numberButtonType:"none",suffixText:l,value:`${t?.toFixed(2)}`,onCalciteInputNumberChange:({target:e})=>{const t=parseFloat(e.value);this.viewModel.spacing=t,t!==this.viewModel.spacing&&(e.value=`${this.viewModel.spacing}`)}}),a?u("calcite-tooltip",{overlayPositioning:"fixed",placement:"leading",referenceElement:c},_(this.messages.warnings.dynamicSpacing,{actualSpacingIncludingUnit:s(this.messagesUnits,i,o,2,"plural")})):void 0)):void 0,u("calcite-label",{key:"angle-label",scale:"s"},this.messages.inputLabel.angle,u("calcite-input-number",{disabled:!r,integer:!0,numberButtonType:"none",suffixText:this.messagesUnits.units.degrees.abbr,value:`${b(e)}`,onCalciteInputNumberChange:({target:e})=>this.viewModel.rotation=v(e.value)}))])}_renderIntervalInput(){const{majorLineInterval:e,gridControlsEnabled:t}=this.viewModel;return u("div",{class:this.classes(C.numericInputsContainer)},u("calcite-label",{scale:"s"},this.messages.inputLabel.interval,u("calcite-input-number",{disabled:!t,integer:!0,max:15,min:1,numberButtonType:"vertical",value:`${e}`,onCalciteInputNumberChange:({target:e})=>{const t=Number.parseInt(e.value,10);this.viewModel.majorLineInterval=t,t!==this.viewModel.majorLineInterval&&(e.value=`${this.viewModel.majorLineInterval}`)}})))}_renderSnappingToggle(){const{snappingOptions:e,gridControlsEnabled:t}=this.viewModel;return u(p,{checked:!!(e?.gridEnabled??!1),disabled:!(t&&!!e),key:"grid-snap-enabled-toggle",label:this.messages.switchLabel.snap,onChange:e=>this.viewModel.snappingOptions?.set("gridEnabled",e)})}_renderDynamicScaleToggle(){const{viewModel:e,messages:t}=this,i=this.visibleElements.outOfScaleWarning&&e.gridOutOfScale;return u(p,{checked:e.dynamicScaling,disabled:!e.gridControlsEnabled,hint:i?t.warnings.outOfScale:void 0,hintIcon:y.warning,hintKind:"warning",key:`grid-dynamic-scale-toggle-${this.id}`,label:t.switchLabel.scaling,onChange:t=>e.dynamicScaling=t})}_renderRotateToggle(){const{gridControlsEnabled:e,rotateWithMap:t}=this.viewModel;return u(p,{checked:t,disabled:!e,key:"grid-rotate-map-toggle",label:this.messages.switchLabel.rotateWithMap,onChange:e=>this.viewModel.rotateWithMap=e})}_renderEnabledToggle(){return u("div",{class:C.borderedSwitch},u(p,{checked:this.viewModel.displayEnabled,disabled:!!this.viewModel.interactivePlacementState,key:"grid-enabled-toggle",label:this.messages.switchLabel.display,onChange:e=>this.viewModel.trySetDisplayEnabled(e)}))}_renderColorSelection(){const{customColor:e}=this,i=`${this.id}--custom-grid-color-button`;return u("calcite-label",{scale:"s"},this.messages.inputLabel.theme,u("div",{class:C.tilegroup},[this._renderThemeTile({value:"dark"}),this._renderThemeTile({value:"light"}),this._renderThemeTile({value:"custom",id:i}),u("calcite-popover",{autoClose:!0,label:this.messages.gridLineColorPopoverLabel,overlayPositioning:"fixed",referenceElement:i},u("calcite-color-picker",{alphaChannel:!0,savedDisabled:!0,value:e?.toHex({digits:8})??"#000000ff",onCalciteColorPickerChange:e=>{const i=t.fromHex(e.target.value);i&&(this.customColor=i,this.theme="custom")}}))]))}_renderThemeTile(e){const{theme:t}=this,{value:i}=e,n=this.messages.gridTheme[i],s=`${this.id}--theme_tile_${i}`,o=`${s}__label`,l=y.gridTheme[i],r=this.viewModel.gridControlsEnabled;return u("div",{class:m({[C.tile]:!0,[C.tileDisabled]:!r}),id:e.id,role:"button"},u("input",{"aria-labelledby":o,checked:t===i,disabled:!r,id:s,name:`${this.id}--theme`,onchange:e=>{this.theme=i,e.target?.focus()},tabIndex:0,type:"radio"}),u("div",{class:C.tileContent},u("calcite-icon",{icon:l,scale:"l"}),u("calcite-label",{for:s,id:o},n)))}};e([o()],I.prototype,"customColor",void 0),e([o()],I.prototype,"icon",null),e([o()],I.prototype,"label",null),e([o(),g("esri/widgets/support/GridControls/t9n/GridControls")],I.prototype,"messages",void 0),e([o(),g("esri/core/t9n/Units")],I.prototype,"messagesUnits",void 0),e([o()],I.prototype,"snappingManager",null),e([o()],I.prototype,"snappingOptions",null),e([o()],I.prototype,"theme",null),e([o()],I.prototype,"view",null),e([o({type:h})],I.prototype,"viewModel",void 0),e([o({type:w,nonNullable:!0})],I.prototype,"visibleElements",void 0),I=e([l("esri.widgets.support.GridControls")],I);const T=I;export{T as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.31/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import{isSome as t}from"../../core/arrayUtils.js";import{createTask as i}from"../../core/asyncUtils.js";import{destroyMaybe as s}from"../../core/maybe.js";import{generateUID as l}from"../../core/uid.js";import{property as n}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import{subclass as o}from"../../core/accessorSupport/decorators/subclass.js";import a from"../Widget.js";import{loadCalciteComponents as r}from"./componentsUtils.js";import{globalCss as d}from"./globalCss.js";import{loadLabeledSwitchComponents as p,LabeledSwitch as c}from"./LabeledSwitch.js";import{setFocus as g}from"./widgetUtils.js";import{messageBundle as h}from"./decorators/messageBundle.js";import{tsx as m}from"./jsxFactory.js";import b from"./SnappingControls/SnappingControlsViewModel.js";import{itemTitleMatchesFilter as u}from"./SnappingControls/snappingLayerListUtils.js";import y from"./SnappingControls/VisibleElements.js";const _="esri-snapping-controls",L={base:_,container:`${_}__container`,item:`${_}__item`,toggleBlock:`${_}__toggle-block`,layerListBlock:`${_}__layer-list-block`,layerList:`${_}__layer-list`,layerListFilter:`${_}__layer-list__filter`,layerListButton:`${_}__layer-list__button`,layerListItem:`${_}__layer-list__item`,layerListGroup:`${_}__layer-list__group`,nestedContainer:`${_}__nested-container`};let w=class extends a{constructor(e,t){super(e,t),this._defaultViewModel=null,this._layerListFilter=null,this._gridLoadTask=null,this.layerListOpen=!0,this.gridOptionsOpen=!1,this.messages=null,this.messagesCommon=null,this.snappingManager=null,this.visibleElements=new y,this._enableSnappingSwitchChange=e=>{this.snappingOptions.enabled=e},this._featureEnabledSwitchChange=e=>{this.snappingOptions.featureEnabled=e},this._gridEnabledSwitchChange=e=>{this.snappingOptions.gridEnabled=e,e&&this._startLoadGrid()},this._selfEnabledSwitchChange=e=>{this.snappingOptions.selfEnabled=e},this._onToggleLayersButtonClick=e=>{this.viewModel.toggleSnappingForAllLayers(!this.viewModel.allLayersEnabled),g(e.target)};const{snappingOptions:i,view:s,viewModel:l}=e;this.viewModel=l??(this._defaultViewModel=new b({snappingOptions:i,view:s}))}normalizeCtorArgs(e){const{snappingOptions:t,view:i,viewModel:s,...l}=e;return l}destroy(){this.viewModel!==this._defaultViewModel&&(this._defaultViewModel=s(this._defaultViewModel))}loadDependencies(){return Promise.all([r({block:()=>import("@esri/calcite-components/dist/components/calcite-block.js"),button:()=>import("@esri/calcite-components/dist/components/calcite-button.js"),input:()=>import("@esri/calcite-components/dist/components/calcite-input.js"),list:()=>import("@esri/calcite-components/dist/components/calcite-list.js"),"list-item":()=>import("@esri/calcite-components/dist/components/calcite-list-item.js"),checkbox:()=>import("@esri/calcite-components/dist/components/calcite-checkbox.js"),loader:()=>import("@esri/calcite-components/dist/components/calcite-loader.js")}),p()])}get _openAndReady(){return this.gridOptionsOpen&&this.snappingOptions.gridEnabled&&this.snappingOptions.enabled}get icon(){return"snap-to-point"}set icon(e){this._overrideIfSome("icon",e)}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get snappingOptions(){return this.viewModel.snappingOptions}set snappingOptions(e){this.viewModel.snappingOptions=e}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}set viewModel(e){e!==this._get("viewModel")&&(null!=this._defaultViewModel&&this._defaultViewModel===e||(this._defaultViewModel=s(this._defaultViewModel)),this._set("viewModel",e))}render(){const{label:e}=this;return m("div",{"aria-label":e,class:this.classes(L.base,d.widget)},m("div",{class:L.container},this._renderContent()))}_renderContent(){return[this._renderToggles(),this._renderLayerList(),"2d"===this.view?.type&&this.visibleElements.gridControls?this._renderGridOptions():null]}_renderToggles(){const{visibleElements:e,view:i}=this,s=[e.selfEnabledToggle?this._renderSelfEnabledToggle():null,e.featureEnabledToggle?this._renderFeatureEnabledToggle():null,e.gridEnabledToggle&&"2d"===i?.type?this._renderGridEnabledToggle():null].filter(t),l=[e.enabledToggle?this._renderEnabledToggle():null,s.length>0?m("div",{class:L.nestedContainer},s):null].filter(t);return 0===l.length?null:m("calcite-block",{class:L.toggleBlock,heading:e.header?this.label:"",key:"toggle-block",open:!0},l)}_renderEnabledToggle(){return m(c,{checked:this.viewModel.snappingOptions.enabled,disabled:this._enabledToggleDisabled,key:`${this.id}__enabled-toggle`,label:this.messages.enableSnapping,onChange:this._enableSnappingSwitchChange})}_renderSelfEnabledToggle(){return m(c,{checked:this.viewModel.snappingOptions.selfEnabled,disabled:this._secondaryElementsDisabled,key:`${this.id}__self-enabled-toggle`,label:this.messages.geometryGuides,onChange:this._selfEnabledSwitchChange})}_renderFeatureEnabledToggle(){return m(c,{checked:this.viewModel.snappingOptions.featureEnabled,disabled:this._secondaryElementsDisabled,key:`${this.id}__feature-enabled-toggle`,label:this.messages.featureToFeature,onChange:this._featureEnabledSwitchChange})}_renderGridEnabledToggle(){return m(c,{checked:this.viewModel.snappingOptions.gridEnabled,disabled:this._secondaryElementsDisabled,key:`${this.id}__grid-enabled-toggle`,label:this.messages.grid,onChange:this._gridEnabledSwitchChange})}_renderLayerList(){if(!this.visibleElements.layerList)return null;const{messages:e,viewModel:t}=this,i=({target:{value:e}})=>{this._layerListFilter=""===e?null:new RegExp(e,"i")},s=t.layerListViewModel.operationalItems.length>9?m("calcite-input",{class:L.layerListFilter,clearable:!0,placeholder:e?.searchLayers,onCalciteInputInput:i}):null,l=this._secondaryElementsDisabled,n=this.layerListOpen&&!l;return m("calcite-block",{class:L.layerListBlock,collapsible:!0,disabled:this._secondaryElementsDisabled,heading:e.snappingLayers,key:"list-block",open:n,onCalciteBlockToggle:e=>this.layerListOpen=e.target.open},s,this._renderToggleLayersButton(),m("calcite-list",{class:L.layerList,selectionMode:"none"},this._renderLayerListItemCollection(t.layerListViewModel.operationalItems)))}_renderGridOptions(){const{view:e,visibleElements:t,snappingManager:i,snappingOptions:s,_openAndReady:l}=this,{gridEnabled:n,enabled:o}=s;l&&this._startLoadGrid();const a=this._gridLoadTask?.value,r=a&&"2d"===e?.type&&m(a,{snappingManager:i,snappingOptions:s,view:e,visibleElements:t.gridControlsElements});return m("calcite-block",{class:L.layerListBlock,collapsible:!0,disabled:!n||!o,heading:this.messages.gridOptionsHeading,key:"grid-block",open:l,onCalciteBlockClose:()=>this.gridOptionsOpen=!1,onCalciteBlockOpen:()=>this.gridOptionsOpen=!0},r??m("calcite-loader",{label:this.messagesCommon.loading,scale:"s",text:this.messagesCommon.loading}))}async _startLoadGrid(){!this._gridLoadTask&&this.visibleElements.gridControls&&"2d"===this.view?.type&&(this._gridLoadTask=i((async()=>(await import("./GridControls.js")).default)))}_renderLayerListItemCollection(e){const i=this._layerListFilter;return e.map((e=>{switch(i?u(e,i):null){case"children":{const t=e.children.filter((e=>!1!==u(e,i)));return this._renderLayerListItemGroup(e,t)}case"self":case null:return this._renderLayerListItemOrGroup(e);case!1:return"self"===u(e.parent,i)?this._renderLayerListItemOrGroup(e):null}})).toArray().filter(t)}_renderToggleLayersButton(){if(!this.visibleElements.layerListToggleLayersButton)return null;const{viewModel:{allLayersEnabled:e},messages:t}=this,i=e?t.disableAllLayers:t.enableAllLayers;return m("calcite-button",{appearance:"transparent",class:L.layerListButton,label:i,name:"layer-toggle",onclick:this._onToggleLayersButtonClick},i)}_renderLayerListItemOrGroup(e){if(e.children.length)return this._renderLayerListItemGroup(e);const{messages:{untitledLayer:t}}=this,i=e.title||t,s=()=>{this.viewModel.toggleSnappingForLayers([e.layer.id],"enabled"!==e.enabled)};return m("calcite-list-item",{class:L.layerListItem,key:`${this.id}-list-item-${e.uid}`,label:i,onCalciteListItemSelect:e=>{e.stopPropagation(),s()}},m("calcite-checkbox",{checked:"enabled"===e.enabled,slot:"actions-start",onCalciteCheckboxChange:s}))}_renderLayerListItemGroup(e,t){const{children:i,title:s}=e,n=s||this.messages.untitledLayer,o=s&&""!==s?s:l(),a=!!t?.length,r=t??i,d=()=>{this.viewModel.toggleSnappingForLayers(e.childLayerIds,"enabled"!==e.enabled)};return m("calcite-list-item",{class:L.layerListGroup,key:o,label:n,open:a,onCalciteListItemSelect:e=>{e.stopPropagation(),d()}},m("calcite-checkbox",{checked:"enabled"===e.enabled,indeterminate:"indeterminate"===e.enabled,slot:"actions-start",onCalciteCheckboxChange:d}),m("calcite-list",null,this._renderLayerListItemCollection(r)))}get _enabledToggleDisabled(){const e=this.snappingOptions;return e.enabledToggled||e.forceDisabled}get _secondaryElementsDisabled(){return this._enabledToggleDisabled||!this.snappingOptions.enabled}};e([n()],w.prototype,"_defaultViewModel",void 0),e([n()],w.prototype,"_layerListFilter",void 0),e([n()],w.prototype,"_gridLoadTask",void 0),e([n()],w.prototype,"_openAndReady",null),e([n()],w.prototype,"label",null),e([n({type:Boolean,nonNullable:!0})],w.prototype,"layerListOpen",void 0),e([n({type:Boolean,nonNullable:!0})],w.prototype,"gridOptionsOpen",void 0),e([n(),h("esri/widgets/support/SnappingControls/t9n/SnappingControls")],w.prototype,"messages",void 0),e([n(),h("esri/t9n/common")],w.prototype,"messagesCommon",void 0),e([n()],w.prototype,"snappingOptions",null),e([n()],w.prototype,"snappingManager",void 0),e([n()],w.prototype,"view",null),e([n()],w.prototype,"viewModel",null),e([n({type:y,nonNullable:!0})],w.prototype,"visibleElements",void 0),e([n()],w.prototype,"_enabledToggleDisabled",null),e([n()],w.prototype,"_secondaryElementsDisabled",null),w=e([o("esri.widgets.support.SnappingControls")],w);const v=w;export{v as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import{isSome as t}from"../../core/arrayUtils.js";import{createTask as i}from"../../core/asyncUtils.js";import{destroyMaybe as s}from"../../core/maybe.js";import{watch as l}from"../../core/reactiveUtils.js";import{generateUID as n}from"../../core/uid.js";import{property as o}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import{subclass as a}from"../../core/accessorSupport/decorators/subclass.js";import r from"../Widget.js";import{loadCalciteComponents as d}from"./componentsUtils.js";import{globalCss as p}from"./globalCss.js";import{loadLabeledSwitchComponents as c,LabeledSwitch as g}from"./LabeledSwitch.js";import{setFocus as h}from"./widgetUtils.js";import{messageBundle as m}from"./decorators/messageBundle.js";import{tsx as b}from"./jsxFactory.js";import u from"./SnappingControls/SnappingControlsViewModel.js";import{itemTitleMatchesFilter as y}from"./SnappingControls/snappingLayerListUtils.js";import _ from"./SnappingControls/VisibleElements.js";const L="esri-snapping-controls",w={base:L,container:`${L}__container`,item:`${L}__item`,toggleBlock:`${L}__toggle-block`,layerListBlock:`${L}__layer-list-block`,layerList:`${L}__layer-list`,layerListFilter:`${L}__layer-list__filter`,layerListButton:`${L}__layer-list__button`,layerListItem:`${L}__layer-list__item`,layerListGroup:`${L}__layer-list__group`,nestedContainer:`${L}__nested-container`};let v=class extends r{constructor(e,t){super(e,t),this._defaultViewModel=null,this._layerListFilter=null,this._gridLoadTask=null,this.layerListOpen=!0,this.gridOptionsOpen=!1,this.messages=null,this.messagesCommon=null,this.snappingManager=null,this.visibleElements=new _,this._enableSnappingSwitchChange=e=>{this.snappingOptions.enabled=e},this._featureEnabledSwitchChange=e=>{this.snappingOptions.featureEnabled=e},this._gridEnabledSwitchChange=e=>{this.snappingOptions.gridEnabled=e,e&&this._startLoadGrid()},this._selfEnabledSwitchChange=e=>{this.snappingOptions.selfEnabled=e},this._onToggleLayersButtonClick=e=>{this.viewModel.toggleSnappingForAllLayers(!this.viewModel.allLayersEnabled),h(e.target)};const{snappingOptions:i,view:s,viewModel:l}=e;this.viewModel=l??(this._defaultViewModel=new u({snappingOptions:i,view:s}))}normalizeCtorArgs(e){const{snappingOptions:t,view:i,viewModel:s,...l}=e;return l}destroy(){this.viewModel!==this._defaultViewModel&&(this._defaultViewModel=s(this._defaultViewModel))}loadDependencies(){return Promise.all([d({block:()=>import("@esri/calcite-components/dist/components/calcite-block.js"),button:()=>import("@esri/calcite-components/dist/components/calcite-button.js"),input:()=>import("@esri/calcite-components/dist/components/calcite-input.js"),list:()=>import("@esri/calcite-components/dist/components/calcite-list.js"),"list-item":()=>import("@esri/calcite-components/dist/components/calcite-list-item.js"),checkbox:()=>import("@esri/calcite-components/dist/components/calcite-checkbox.js"),loader:()=>import("@esri/calcite-components/dist/components/calcite-loader.js")}),c()])}initialize(){this.addHandles(l((()=>"2d"===this.view?.type&&!!this.view.grid),(e=>{this.visibleElements.gridControls&&(this.snappingOptions.gridEnabled=e)})))}get _openAndReady(){return this.gridOptionsOpen&&this.snappingOptions.gridEnabled&&this.snappingOptions.enabled}get icon(){return"snap-to-point"}set icon(e){this._overrideIfSome("icon",e)}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get snappingOptions(){return this.viewModel.snappingOptions}set snappingOptions(e){this.viewModel.snappingOptions=e}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}set viewModel(e){e!==this._get("viewModel")&&(null!=this._defaultViewModel&&this._defaultViewModel===e||(this._defaultViewModel=s(this._defaultViewModel)),this._set("viewModel",e))}render(){const{label:e}=this;return b("div",{"aria-label":e,class:this.classes(w.base,p.widget)},b("div",{class:w.container},this._renderContent()))}_renderContent(){return[this._renderToggles(),this._renderLayerList(),"2d"===this.view?.type&&this.visibleElements.gridControls?this._renderGridOptions():null]}_renderToggles(){const{visibleElements:e,view:i}=this,s=[e.selfEnabledToggle?this._renderSelfEnabledToggle():null,e.featureEnabledToggle?this._renderFeatureEnabledToggle():null,e.gridEnabledToggle&&"2d"===i?.type?this._renderGridEnabledToggle():null].filter(t),l=[e.enabledToggle?this._renderEnabledToggle():null,s.length>0?b("div",{class:w.nestedContainer},s):null].filter(t);return 0===l.length?null:b("calcite-block",{class:w.toggleBlock,heading:e.header?this.label:"",key:"toggle-block",open:!0},l)}_renderEnabledToggle(){return b(g,{checked:this.viewModel.snappingOptions.enabled,disabled:this._enabledToggleDisabled,key:`${this.id}__enabled-toggle`,label:this.messages.enableSnapping,onChange:this._enableSnappingSwitchChange})}_renderSelfEnabledToggle(){return b(g,{checked:this.viewModel.snappingOptions.selfEnabled,disabled:this._secondaryElementsDisabled,key:`${this.id}__self-enabled-toggle`,label:this.messages.geometryGuides,onChange:this._selfEnabledSwitchChange})}_renderFeatureEnabledToggle(){return b(g,{checked:this.viewModel.snappingOptions.featureEnabled,disabled:this._secondaryElementsDisabled,key:`${this.id}__feature-enabled-toggle`,label:this.messages.featureToFeature,onChange:this._featureEnabledSwitchChange})}_renderGridEnabledToggle(){return b(g,{checked:this.viewModel.snappingOptions.gridEnabled,disabled:this._secondaryElementsDisabled,key:`${this.id}__grid-enabled-toggle`,label:this.messages.grid,onChange:this._gridEnabledSwitchChange})}_renderLayerList(){if(!this.visibleElements.layerList)return null;const{messages:e,viewModel:t}=this,i=({target:{value:e}})=>{this._layerListFilter=""===e?null:new RegExp(e,"i")},s=t.layerListViewModel.operationalItems.length>9?b("calcite-input",{class:w.layerListFilter,clearable:!0,placeholder:e?.searchLayers,onCalciteInputInput:i}):null,l=this._secondaryElementsDisabled,n=this.layerListOpen&&!l;return b("calcite-block",{class:w.layerListBlock,collapsible:!0,disabled:this._secondaryElementsDisabled,heading:e.snappingLayers,key:"list-block",open:n,onCalciteBlockToggle:e=>this.layerListOpen=e.target.open},s,this._renderToggleLayersButton(),b("calcite-list",{class:w.layerList,selectionMode:"none"},this._renderLayerListItemCollection(t.layerListViewModel.operationalItems)))}_renderGridOptions(){const{view:e,visibleElements:t,snappingManager:i,snappingOptions:s,_openAndReady:l}=this,{gridEnabled:n,enabled:o}=s;(l||"2d"===e?.type&&e.grid)&&this._startLoadGrid();const a=this._gridLoadTask?.value,r=a&&"2d"===e?.type&&b(a,{snappingManager:i,snappingOptions:s,view:e,visibleElements:t.gridControlsElements});return b("calcite-block",{class:w.layerListBlock,collapsible:!0,disabled:!n||!o,heading:this.messages.gridOptionsHeading,key:"grid-block",open:l,onCalciteBlockClose:()=>this.gridOptionsOpen=!1,onCalciteBlockOpen:()=>this.gridOptionsOpen=!0},r??b("calcite-loader",{label:this.messagesCommon.loading,scale:"s",text:this.messagesCommon.loading}))}async _startLoadGrid(){!this._gridLoadTask&&this.visibleElements.gridControls&&"2d"===this.view?.type&&(this._gridLoadTask=i((async()=>(await import("./GridControls.js")).default)))}_renderLayerListItemCollection(e){const i=this._layerListFilter;return e.map((e=>{switch(i?y(e,i):null){case"children":{const t=e.children.filter((e=>!1!==y(e,i)));return this._renderLayerListItemGroup(e,t)}case"self":case null:return this._renderLayerListItemOrGroup(e);case!1:return"self"===y(e.parent,i)?this._renderLayerListItemOrGroup(e):null}})).toArray().filter(t)}_renderToggleLayersButton(){if(!this.visibleElements.layerListToggleLayersButton)return null;const{viewModel:{allLayersEnabled:e},messages:t}=this,i=e?t.disableAllLayers:t.enableAllLayers;return b("calcite-button",{appearance:"transparent",class:w.layerListButton,label:i,name:"layer-toggle",onclick:this._onToggleLayersButtonClick},i)}_renderLayerListItemOrGroup(e){if(e.children.length)return this._renderLayerListItemGroup(e);const{messages:{untitledLayer:t}}=this,i=e.title||t,s=()=>{this.viewModel.toggleSnappingForLayers([e.layer.id],"enabled"!==e.enabled)};return b("calcite-list-item",{class:w.layerListItem,key:`${this.id}-list-item-${e.uid}`,label:i,onCalciteListItemSelect:e=>{e.stopPropagation(),s()}},b("calcite-checkbox",{checked:"enabled"===e.enabled,slot:"actions-start",onCalciteCheckboxChange:s}))}_renderLayerListItemGroup(e,t){const{children:i,title:s}=e,l=s||this.messages.untitledLayer,o=s&&""!==s?s:n(),a=!!t?.length,r=t??i,d=()=>{this.viewModel.toggleSnappingForLayers(e.childLayerIds,"enabled"!==e.enabled)};return b("calcite-list-item",{class:w.layerListGroup,key:o,label:l,open:a,onCalciteListItemSelect:e=>{e.stopPropagation(),d()}},b("calcite-checkbox",{checked:"enabled"===e.enabled,indeterminate:"indeterminate"===e.enabled,slot:"actions-start",onCalciteCheckboxChange:d}),b("calcite-list",null,this._renderLayerListItemCollection(r)))}get _enabledToggleDisabled(){const e=this.snappingOptions;return e.enabledToggled||e.forceDisabled}get _secondaryElementsDisabled(){return this._enabledToggleDisabled||!this.snappingOptions.enabled}};e([o()],v.prototype,"_defaultViewModel",void 0),e([o()],v.prototype,"_layerListFilter",void 0),e([o()],v.prototype,"_gridLoadTask",void 0),e([o()],v.prototype,"_openAndReady",null),e([o()],v.prototype,"label",null),e([o({type:Boolean,nonNullable:!0})],v.prototype,"layerListOpen",void 0),e([o({type:Boolean,nonNullable:!0})],v.prototype,"gridOptionsOpen",void 0),e([o(),m("esri/widgets/support/SnappingControls/t9n/SnappingControls")],v.prototype,"messages",void 0),e([o(),m("esri/t9n/common")],v.prototype,"messagesCommon",void 0),e([o()],v.prototype,"snappingOptions",null),e([o()],v.prototype,"snappingManager",void 0),e([o()],v.prototype,"view",null),e([o()],v.prototype,"viewModel",null),e([o({type:_,nonNullable:!0})],v.prototype,"visibleElements",void 0),e([o()],v.prototype,"_enabledToggleDisabled",null),e([o()],v.prototype,"_secondaryElementsDisabled",null),v=e([a("esri.widgets.support.SnappingControls")],v);const f=v;export{f as default};
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[4796],{81457:(e,t,r)=>{r.d(t,{A:()=>P});var n,o=r(90237),i=r(61147),s=(r(44208),r(66552)),a=r(25482),l=r(4718),u=r(90629),c=r(10107),p=(r(53966),r(36005)),d=r(40608),y=r(43937),h=(r(87811),r(32730));let f=n=class extends a.oY{constructor(){super(...arguments),this.expression=null,this.title=null,this.value=null}readExpression(e,t){return t.value?(0,h.mX)(t.value):e}writeExpression(e,t,r){null!=this.value&&(e=(0,h.mX)(this.value)),null!=e&&(t[r]=e)}clone(){return new n({expression:this.expression,title:this.title,value:this.value})}};(0,o._)([(0,c.MZ)({type:String,json:{write:{writerEnsuresNonNull:!0}}})],f.prototype,"expression",void 0),(0,o._)([(0,p.w)("expression",["expression","value"])],f.prototype,"readExpression",null),(0,o._)([(0,y.K)("expression")],f.prototype,"writeExpression",null),(0,o._)([(0,c.MZ)({type:String,json:{write:!0,origins:{"web-scene":{write:!1}}}})],f.prototype,"title",void 0),(0,o._)([(0,c.MZ)({json:{read:!1,write:!1}})],f.prototype,"value",void 0),f=n=(0,o._)([(0,d.$)("esri.layers.support.LabelExpressionInfo")],f);const m=f;var b,w=r(83531),g=r(59868),v=r(73838);const x=new s.J({esriServerPointLabelPlacementAboveCenter:"above-center",esriServerPointLabelPlacementAboveLeft:"above-left",esriServerPointLabelPlacementAboveRight:"above-right",esriServerPointLabelPlacementBelowCenter:"below-center",esriServerPointLabelPlacementBelowLeft:"below-left",esriServerPointLabelPlacementBelowRight:"below-right",esriServerPointLabelPlacementCenterCenter:"center-center",esriServerPointLabelPlacementCenterLeft:"center-left",esriServerPointLabelPlacementCenterRight:"center-right",esriServerLinePlacementAboveAfter:"above-after",esriServerLinePlacementAboveAlong:"above-along",esriServerLinePlacementAboveBefore:"above-before",esriServerLinePlacementAboveStart:"above-start",esriServerLinePlacementAboveEnd:"above-end",esriServerLinePlacementBelowAfter:"below-after",esriServerLinePlacementBelowAlong:"below-along",esriServerLinePlacementBelowBefore:"below-before",esriServerLinePlacementBelowStart:"below-start",esriServerLinePlacementBelowEnd:"below-end",esriServerLinePlacementCenterAfter:"center-after",esriServerLinePlacementCenterAlong:"center-along",esriServerLinePlacementCenterBefore:"center-before",esriServerLinePlacementCenterStart:"center-start",esriServerLinePlacementCenterEnd:"center-end",esriServerPolygonPlacementAlwaysHorizontal:"always-horizontal"},{ignoreUnknown:!0});function S(e,t,r){return{enabled:!(0,w.TU)(r?.layer)}}function A(e){return!e||"service"!==e.origin&&!("map-image"===e.layer?.type)}function M(e){return!!function(e){return"map-image"===e?.type}(e)&&!!e.capabilities?.exportMap?.supportsArcadeExpressionForLabeling}let I=b=class extends a.oY{static evaluateWhere(e,t){const r=(e,t,r)=>{switch(t){case"=":return e==r;case"<>":return e!=r;case">":return e>r;case">=":return e>=r;case"<":return e<r;case"<=":return e<=r}return!1};try{if(null==e)return!0;const n=e.split(" ");if(3===n.length)return r(t[n[0]],n[1],n[2]);if(7===n.length){const e=r(t[n[0]],n[1],n[2]),o=n[3],i=r(t[n[4]],n[5],n[6]);switch(o){case"AND":return e&&i;case"OR":return e||i}}return!1}catch(e){}}constructor(e){super(e),this.type="label",this.name=null,this.allowOverrun=!1,this.deconflictionStrategy="static",this.labelExpression=null,this.labelExpressionInfo=null,this.labelPlacement=null,this.labelPosition="curved",this.maxScale=0,this.minScale=0,this.repeatLabel=!0,this.repeatLabelDistance=null,this.symbol=g.Hk,this.useCodedValues=void 0,this.where=null}readLabelExpression(e,t){const r=t.labelExpressionInfo;if(!r||!r.value&&!r.expression)return e}writeLabelExpression(e,t,r){if(this.labelExpressionInfo)if(null!=this.labelExpressionInfo.value)e=(0,h.D3)(this.labelExpressionInfo.value);else if(null!=this.labelExpressionInfo.expression){const t=(0,h.tH)(this.labelExpressionInfo.expression);t&&(e="["+t+"]")}null!=e&&(t[r]=e)}writeLabelExpressionInfo(e,t,r,n){if(null==e&&null!=this.labelExpression&&A(n))e=new m({expression:this.getLabelExpressionArcade()});else if(!e)return;const o=e.toJSON(n);o.expression&&(t[r]=o)}writeMaxScale(e,t){(e||this.minScale)&&(t.maxScale=e)}writeMinScale(e,t){(e||this.maxScale)&&(t.minScale=e)}getLabelExpression(){return(0,h.XJ)(this)}getLabelExpressionArcade(){return(0,h.BI)(this)}getLabelExpressionSingleField(){return(0,h.rU)(this)}hash(){return JSON.stringify(this)}clone(){return new b({allowOverrun:this.allowOverrun,deconflictionStrategy:this.deconflictionStrategy,labelExpression:this.labelExpression,labelExpressionInfo:(0,l.o8)(this.labelExpressionInfo),labelPosition:this.labelPosition,labelPlacement:this.labelPlacement,maxScale:this.maxScale,minScale:this.minScale,name:this.name,repeatLabel:this.repeatLabel,repeatLabelDistance:this.repeatLabelDistance,symbol:(0,l.o8)(this.symbol),where:this.where,useCodedValues:this.useCodedValues})}};(0,o._)([(0,c.MZ)({type:String,json:{write:!0}})],I.prototype,"name",void 0),(0,o._)([(0,c.MZ)({type:Boolean,json:{write:!0,default:!1,origins:{"web-scene":{write:!1},"portal-item":{default:!1,write:{overridePolicy:S}}}}})],I.prototype,"allowOverrun",void 0),(0,o._)([(0,c.MZ)({type:String,json:{write:!0,default:"static",origins:{"web-scene":{write:!1},"portal-item":{default:"static",write:{overridePolicy:S}}}}})],I.prototype,"deconflictionStrategy",void 0),(0,o._)([(0,c.MZ)({type:String,json:{write:{overridePolicy(e,t,r){return this.labelExpressionInfo&&"service"===r?.origin&&M(r.layer)?{enabled:!1}:{allowNull:!0}}}}})],I.prototype,"labelExpression",void 0),(0,o._)([(0,p.w)("labelExpression")],I.prototype,"readLabelExpression",null),(0,o._)([(0,y.K)("labelExpression")],I.prototype,"writeLabelExpression",null),(0,o._)([(0,c.MZ)({type:m,json:{write:{overridePolicy:(e,t,r)=>function(e){return A(e)||M(e?.layer)}(r)?{allowNull:!0}:{enabled:!1}}}})],I.prototype,"labelExpressionInfo",void 0),(0,o._)([(0,y.K)("labelExpressionInfo")],I.prototype,"writeLabelExpressionInfo",null),(0,o._)([(0,c.MZ)({type:x.apiValues,json:{type:x.jsonValues,read:x.read,write:x.write}})],I.prototype,"labelPlacement",void 0),(0,o._)([(0,c.MZ)({type:["curved","parallel"],json:{write:!0,origins:{"web-map":{write:!1},"web-scene":{write:!1},"portal-item":{write:!1}}}})],I.prototype,"labelPosition",void 0),(0,o._)([(0,c.MZ)({type:Number})],I.prototype,"maxScale",void 0),(0,o._)([(0,y.K)("maxScale")],I.prototype,"writeMaxScale",null),(0,o._)([(0,c.MZ)({type:Number})],I.prototype,"minScale",void 0),(0,o._)([(0,y.K)("minScale")],I.prototype,"writeMinScale",null),(0,o._)([(0,c.MZ)({type:Boolean,json:{write:!0,origins:{"web-scene":{write:!1},"portal-item":{write:{overridePolicy:S}}}}})],I.prototype,"repeatLabel",void 0),(0,o._)([(0,c.MZ)({type:Number,cast:u.cr,json:{write:!0,origins:{"web-scene":{write:!1},"portal-item":{write:{overridePolicy:S}}}}})],I.prototype,"repeatLabelDistance",void 0),(0,o._)([(0,c.MZ)({types:i.em,json:{origins:{"web-scene":{types:i.Rv,write:v.oO,default:null}},write:v.oO,default:null}})],I.prototype,"symbol",void 0),(0,o._)([(0,c.MZ)({type:Boolean,json:{write:!0}})],I.prototype,"useCodedValues",void 0),(0,o._)([(0,c.MZ)({type:String,json:{write:!0}})],I.prototype,"where",void 0),I=b=(0,o._)([(0,d.$)("esri.layers.support.LabelClass")],I);const P=I},15426:(e,t,r)=>{r.d(t,{Xl:()=>x,ct:()=>M,pc:()=>T,hx:()=>G,C$:()=>H,PD:()=>J,VZ:()=>R,mm:()=>P,VA:()=>$,WP:()=>L,iX:()=>v,Nv:()=>B,xd:()=>U,GA:()=>K,jp:()=>O,tG:()=>z,lV:()=>j,B5:()=>F,Ye:()=>_,sg:()=>E,hM:()=>Z,S2:()=>C,jD:()=>D,Zm:()=>N,$4:()=>q,Pt:()=>Q,bt:()=>A,rn:()=>I,ZJ:()=>X});var n=r(70333),o=r(61147),i=r(60999),s=r(49186),a=r(66552),l=r(39516),u=r(90360),c=r(39357),p=r(53177),d=r(61956);async function y(e,t,r){t=t.clone(),e.capabilities.query.supportsMaxRecordCountFactor&&(t.maxRecordCountFactor=h(e));const n=function(e){return h(e)*function(e){return e.capabilities.query.maxRecordCount||2e3}(e)}(e),o=e.capabilities.query.supportsPagination;t.start=0,t.num=n;let i=null;for(;;){const s=await e.source.queryFeaturesJSON(t,r);if(null==i?i=s:i.features=i.features.concat(s.features),i.exceededTransferLimit=s.exceededTransferLimit,!o||!s.exceededTransferLimit)break;t.start+=n}return i}function h(e){return e.capabilities.query.supportsMaxRecordCountFactor?d.A.MAX_MAX_RECORD_COUNT_FACTOR:1}var f=r(83531),m=r(96576),b=r(93618),w=r(54546),g=r(26591);const v=new a.J({esriGeometryPoint:"point",esriGeometryMultipoint:"multipoint",esriGeometryPolyline:"polyline",esriGeometryPolygon:"polygon",esriGeometryMultiPatch:"multipatch"});async function x(e,t,r,n){const o=await V(e);if(await S(e,t,n),!o.addAttachment)throw new s.A(n,"Layer source does not support addAttachment capability");return o.addAttachment(t,r)}function S(e,t,r){const{attributes:n}=t,{objectIdField:o}=e;return e.capabilities?.data?.supportsAttachment?t?n?o&&n[o]?Promise.resolve():Promise.reject(new s.A(r,`feature is missing the identifying attribute ${o}`)):Promise.reject(new s.A(r,"'attributes' are required on a feature to query attachments")):Promise.reject(new s.A(r,"A feature is required to add/delete/update attachments")):Promise.reject(new s.A(r,"this layer doesn't support attachments"))}async function A(e,t,r,n,o){const i=await V(e);if(await S(e,t,o),!i.updateAttachment)throw new s.A(o,"Layer source does not support updateAttachment capability");return i.updateAttachment(t,r,n)}async function M(e,t,n){const{applyEdits:o}=await r.e(8628).then(r.bind(r,78628)),i=await e.load();let s=n;return"feature"===i.type&&i.infoFor3D&&null!=t.deleteFeatures&&null!=i.globalIdField&&(s={...s,globalIdToObjectId:await K(i,t.deleteFeatures,i.globalIdField)}),o(i,i.source,t,n)}async function I(e,t,n){const{uploadAssets:o}=await r.e(8628).then(r.bind(r,78628)),i=await e.load();return o(i,i.source,t,n)}async function P(e,t,r,n){const o=await V(e);if(await S(e,t,n),!o.deleteAttachments)throw new s.A(n,"Layer source does not support deleteAttachments capability");return o.deleteAttachments(t,r)}async function L(e,t,r){const n=(await e.load({signal:t?.signal})).source;if(!n.fetchRecomputedExtents)throw new s.A(r,"Layer source does not support fetchUpdates capability");return n.fetchRecomputedExtents(t)}async function j(e,t,r,n){t=w.A.from(t),await e.load();const o=e.source,i=e.capabilities;if(!i?.data?.supportsAttachment)throw new s.A(n,"this layer doesn't support attachments");const{attachmentTypes:a,objectIds:l,globalIds:u,num:c,size:p,start:d,where:y}=t;if(!i?.operations?.supportsQueryAttachments&&(a?.length>0||u?.length>0||p?.length>0||c||d||y))throw new s.A(n,"when 'capabilities.operations.supportsQueryAttachments' is false, only objectIds is supported",t);if(!(l?.length||u?.length||y))throw new s.A(n,"'objectIds', 'globalIds', or 'where' are required to perform attachment query",t);if(!o.queryAttachments)throw new s.A(n,"Layer source does not support queryAttachments capability",t);return o.queryAttachments(t)}async function E(e,t,r,n){const o=await V(e);if(!o.queryObjectIds)throw new s.A(n,"Layer source does not support queryObjectIds capability");return o.queryObjectIds(d.A.from(t)??e.createQuery(),r)}async function _(e,t,r,n){const o=await V(e);if(!o.queryFeatureCount)throw new s.A(n,"Layer source does not support queryFeatureCount capability");return o.queryFeatureCount(d.A.from(t)??e.createQuery(),r)}async function F(e,t,r,n){const o=await V(e);if(!o.queryExtent)throw new s.A(n,"Layer source does not support queryExtent capability");return o.queryExtent(d.A.from(t)??e.createQuery(),r)}async function Z(e,t,r,n){const o=await V(e);if(!o.queryRelatedFeatures)throw new s.A(n,"Layer source does not support queryRelatedFeatures capability");return o.queryRelatedFeatures(g.default.from(t),r)}async function C(e,t,r,n){const o=await V(e);if(!o.queryRelatedFeaturesCount)throw new s.A(n,"Layer source does not support queryRelatedFeaturesCount capability");return o.queryRelatedFeaturesCount(g.default.from(t),r)}async function O(e){const t=e.source;if(t?.refresh)try{const{dataChanged:r,updates:n}=await t.refresh();if(null!=n&&(e.sourceJSON={...e.sourceJSON,...n},e.read(n,{origin:"service",url:e.parsedUrl})),r)return!0}catch{}if(e.definitionExpression)try{return(await(0,l.G)(e.definitionExpression,e.fieldsIndex)).hasDateFunctions}catch{}return!1}function R(e){const t=new d.A,r=e.capabilities?.data,n=e.capabilities?.query;t.historicMoment=e.historicMoment,t.gdbVersion=e.gdbVersion,t.returnGeometry=!0,n&&(t.compactGeometryEnabled=n.supportsCompactGeometry,t.defaultSpatialReferenceEnabled=n.supportsDefaultSpatialReference),r&&(r.supportsZ&&null!=e.returnZ&&(t.returnZ=e.returnZ),r.supportsM&&null!=e.returnM&&(t.returnM=e.returnM)),t.outFields=["*"];const{timeOffset:o,timeExtent:i}=e;return t.timeExtent=null!=o&&null!=i?i.offset(-o.value,o.unit):i||null,t.multipatchOption="multipatch"===e.geometryType?"xyFootprint":null,t}function D(e){const{globalIdField:t,fields:r}=e;if(t)return t;if(r)for(const e of r)if("esriFieldTypeGlobalID"===e.type)return e.name}function N(e){const{objectIdField:t,fields:r}=e;if(t)return t;if(r)for(const e of r)if("esriFieldTypeOID"===e.type)return e.name}function q(e){return e.currentVersion?e.currentVersion:e.hasOwnProperty("capabilities")||e.hasOwnProperty("drawingInfo")||e.hasOwnProperty("hasAttachments")||e.hasOwnProperty("htmlPopupType")||e.hasOwnProperty("relationships")||e.hasOwnProperty("timeInfo")||e.hasOwnProperty("typeIdField")||e.hasOwnProperty("types")?10:9.3}function B(e,t){const{subtypes:r,subtypeField:n}=e;if(!t?.attributes||!r?.length||!n)return null;const o=t.attributes[n];return null==o?null:r.find((e=>e.code===o))}function T(e,t){const{fieldsIndex:r,subtypeField:n}=e,{name:o}=r.get(t)??{};if(!o)return null;if((n&&r.get(n)?.name)===o&&e.subtypes?.length){const t=e.subtypes.map((e=>new c.H({code:e.code,name:e.name})));if(t?.length)return new p.A({codedValues:t})}return null}function G(e,t){const{fieldsIndex:r}=e,{name:n}=r.get(t)??{};if(!n)return null;if(("typeIdField"in e?r.get(e.typeIdField)?.name:null)===n&&"types"in e&&e.types?.length){const t=e.types.map((e=>new c.H({code:e.id,name:e.name})));return new p.A({codedValues:t})}return null}async function V(e){return(await e.load()).source}async function $(e,t,r){const o=e.parsedUrl?.path;o&&e.authenticationTriggerEvent===t&&await async function(e,t){if(!n.id)return;if(n.id.findCredential(e))return;let r;try{const o=await(0,f.wI)(e,t);o&&(r=await n.id.checkSignInStatus(`${o}/sharing`))}catch(e){}if(r)try{const r=null!=t?t.signal:null;await n.id.getCredential(e,{signal:r})}catch(e){}}(o,r)}function H(e){return!Q(e)&&(e.userHasUpdateItemPrivileges||e.editingEnabled)}const k=(0,u.C)({types:o.xK});function J(e,t){if(e.defaultSymbol)return e.types?.length?new b.A({defaultSymbol:k(e.defaultSymbol,e,t),field:e.typeIdField,uniqueValueInfos:e.types.map((e=>({id:e.id,symbol:k(e.symbol,e,t)})))}):new m.A({symbol:k(e.defaultSymbol,e,t)})}function z(e){let t=e.sourceJSON?.cacheMaxAge;if(!t)return!1;const r=e.editingInfo?.lastEditDate?.getTime();return null==r||(t*=1e3,Date.now()-r<t)}async function K(e,t,r){if(null==t)return null;const n=[],{objectIdField:o}=e;if(t.forEach((e=>{let t=null;if("attributes"in e){const{attributes:n}=e;t={globalId:n[r],objectId:null!=n[o]&&-1!==n[o]?n[o]:null}}else t={globalId:e.globalId,objectId:null!=e.objectId&&-1!==e.objectId?e.objectId:null};null!=t.globalId&&(null!=t.objectId&&-1!==t.objectId||n.push(t.globalId))})),0===n.length)return null;const s=e.createQuery();s.where=n.map((e=>`${r}='${e}'`)).join(" OR "),s.returnGeometry=!1,s.outFields=[o,r],s.cacheHint=!1;const a=await(0,i.DZ)(y(e,s));if(!a.ok)return null;const l=new Map,u=a.value.features;for(const e of u){const t=e.attributes[r],n=e.attributes[o];null!=t&&null!=n&&-1!==n&&l.set(t,n)}return l}function U(e,t,r){if(!t||!r||!e)return null;const n=r.getAttribute(t);return null==n?null:e.find((e=>{const{id:t}=e;return null!=t&&t.toString()===n.toString()}))??null}function Q(e){return e.sourceJSON?.isMultiServicesView||function(e){return!!e.sourceJSON?.capabilities?.toLowerCase().split(",").map((e=>e.trim())).includes("map")}(e)}function X(e,t,r){const n=t?.queryBins;if(!n)throw new s.A(r,"Layer source does not support binning");switch(e.binParameters.type){case"auto-interval":if(!n.supportsAutoInterval)throw new s.A(r,"Layer source does not support auto-interval binning");break;case"date":if(!n.supportsDate)throw new s.A(r,"Layer source does not support date binning");break;case"fixed-boundaries":if(!n.supportsFixedBoundaries)throw new s.A(r,"Layer source does not support fixed-boundaries binning");break;case"fixed-interval":if(!n.supportsFixedInterval)throw new s.A(r,"Layer source does not support fixed-interval binning")}const o=n?.supportedStatistics;if(e.outStatistics&&o){const t=new Map([["count","count"],["sum","sum"],["min","min"],["max","max"],["avg","avg"],["stddev","stddev"],["var","var"],["percentile-continuous","percentileContinuous"],["percentile-discrete","percentileDiscrete"],["centroid-aggregate","centroid"],["convex-hull-aggregate","convexHull"],["envelope-aggregate","envelope"]]);for(const{statisticType:n}of e.outStatistics){const e=t.get(n);if(e&&!o[e])throw new s.A(r,`Layer source does not support ${n} statistic type`)}}}},39383:(e,t,r)=>{r.d(t,{w:()=>l,z:()=>c});var n=r(49186),o=r(53966),i=r(81457);const s=()=>o.A.getLogger("esri.layers.support.labelingInfo"),a=/\[([^[\]]+)\]/gi;function l(e,t,r){return e?e.map((e=>{const n=new i.A;if(n.read(e,r),n.labelExpression){const e=t.fields||t.layerDefinition?.fields||this.fields;n.labelExpression=n.labelExpression.replaceAll(a,((t,r)=>`[${function(e,t){if(!t)return e;const r=e.toLowerCase();for(let e=0;e<t.length;e++){const n=t[e].name;if(n.toLowerCase()===r)return n}return e}(r,e)}]`))}return n})):null}const u={esriGeometryPoint:["above-right","above-center","above-left","center-center","center-left","center-right","below-center","below-left","below-right"],esriGeometryMultiPatch:["always-horizontal"],esriGeometryPolygon:["always-horizontal"],esriGeometryPolyline:["center-along","above-along","below-along"],esriGeometryMultipoint:null,esriGeometryEnvelope:null};function c(e,t){const r=[];for(const o of e){const e=o.labelPlacement,i=u[t];if(!o.symbol)return s().warn("No ILabelClass symbol specified."),[];if(!i)return s().error(new n.A("labeling:unsupported-geometry-type",`Unable to create labels for layer, geometry type '${t}' is not supported`)),[];if(i.includes(e))r.push(o);else{const n=i[0];e&&s().warn(`Found invalid label placement type ${e} for ${t}. Defaulting to ${n}`);const a=o.clone();a.labelPlacement=n,r.push(a)}}return r}},54546:(e,t,r)=>{r.d(t,{A:()=>d});var n,o=r(90237),i=r(25482),s=r(4718),a=r(10107),l=r(56507),u=r(40608),c=r(43937);let p=n=class extends i.oY{constructor(e){super(e),this.attachmentTypes=null,this.attachmentsWhere=null,this.cacheHint=void 0,this.keywords=null,this.globalIds=null,this.name=null,this.num=null,this.objectIds=null,this.returnMetadata=!1,this.size=null,this.start=null,this.where=null}writeStart(e,t){t.resultOffset=this.start,t.resultRecordCount=this.num||10}clone(){return new n((0,s.o8)({attachmentTypes:this.attachmentTypes,attachmentsWhere:this.attachmentsWhere,cacheHint:this.cacheHint,keywords:this.keywords,where:this.where,globalIds:this.globalIds,name:this.name,num:this.num,objectIds:this.objectIds,returnMetadata:this.returnMetadata,size:this.size,start:this.start}))}};(0,o._)([(0,a.MZ)({type:[String],json:{write:!0}})],p.prototype,"attachmentTypes",void 0),(0,o._)([(0,a.MZ)({type:String,json:{read:{source:"attachmentsDefinitionExpression"},write:{target:"attachmentsDefinitionExpression"}}})],p.prototype,"attachmentsWhere",void 0),(0,o._)([(0,a.MZ)({type:Boolean,json:{write:!0}})],p.prototype,"cacheHint",void 0),(0,o._)([(0,a.MZ)({type:[String],json:{write:!0}})],p.prototype,"keywords",void 0),(0,o._)([(0,a.MZ)({type:[String],json:{write:!0}})],p.prototype,"globalIds",void 0),(0,o._)([(0,a.MZ)({json:{write:!0}})],p.prototype,"name",void 0),(0,o._)([(0,a.MZ)({type:Number,json:{read:{source:"resultRecordCount"}}})],p.prototype,"num",void 0),(0,o._)([(0,a.MZ)({type:[Number],json:{write:!0}})],p.prototype,"objectIds",void 0),(0,o._)([(0,a.MZ)({type:Boolean,json:{default:!1,write:!0}})],p.prototype,"returnMetadata",void 0),(0,o._)([(0,a.MZ)({type:[Number],json:{write:!0}})],p.prototype,"size",void 0),(0,o._)([(0,a.MZ)({type:Number,json:{read:{source:"resultOffset"}}})],p.prototype,"start",void 0),(0,o._)([(0,c.K)("start"),(0,c.K)("num")],p.prototype,"writeStart",null),(0,o._)([(0,a.MZ)({type:String,json:{read:{source:"definitionExpression"},write:{target:"definitionExpression"}}})],p.prototype,"where",void 0),p=n=(0,o._)([(0,u.$)("esri.rest.support.AttachmentQuery")],p),p.from=(0,l.dp)(p);const d=p},26591:(e,t,r)=>{r.r(t),r.d(t,{default:()=>h});var n,o=r(90237),i=(r(59456),r(25482)),s=r(4718),a=r(10107),l=r(56507),u=r(40608),c=r(43937),p=r(27733),d=r(16930);let y=n=class extends i.oY{constructor(e){super(e),this.cacheHint=void 0,this.dynamicDataSource=void 0,this.gdbVersion=null,this.geometryPrecision=void 0,this.historicMoment=null,this.maxAllowableOffset=void 0,this.objectIds=null,this.orderByFields=null,this.outFields=null,this.outSpatialReference=null,this.relationshipId=void 0,this.start=void 0,this.num=void 0,this.returnGeometry=!1,this.returnM=void 0,this.returnZ=void 0,this.where=null}_writeHistoricMoment(e,t){t.historicMoment=e&&e.getTime()}writeStart(e,t){t.resultOffset=this.start,t.resultRecordCount=this.num||10,this.start>0&&null==this.where&&(t.definitionExpression="1=1")}clone(){return new n((0,s.o8)({cacheHint:this.cacheHint,dynamicDataSource:this.dynamicDataSource,gdbVersion:this.gdbVersion,geometryPrecision:this.geometryPrecision,historicMoment:this.historicMoment&&new Date(this.historicMoment.getTime()),maxAllowableOffset:this.maxAllowableOffset,objectIds:this.objectIds,orderByFields:this.orderByFields,outFields:this.outFields,outSpatialReference:this.outSpatialReference,relationshipId:this.relationshipId,start:this.start,num:this.num,returnGeometry:this.returnGeometry,where:this.where,returnZ:this.returnZ,returnM:this.returnM}))}};(0,o._)([(0,a.MZ)({type:Boolean,json:{write:!0}})],y.prototype,"cacheHint",void 0),(0,o._)([(0,a.MZ)({type:p.L,json:{write:!0}})],y.prototype,"dynamicDataSource",void 0),(0,o._)([(0,a.MZ)({type:String,json:{write:!0}})],y.prototype,"gdbVersion",void 0),(0,o._)([(0,a.MZ)({type:Number,json:{write:!0}})],y.prototype,"geometryPrecision",void 0),(0,o._)([(0,a.MZ)({type:Date})],y.prototype,"historicMoment",void 0),(0,o._)([(0,c.K)("historicMoment")],y.prototype,"_writeHistoricMoment",null),(0,o._)([(0,a.MZ)({type:Number,json:{write:!0}})],y.prototype,"maxAllowableOffset",void 0),(0,o._)([(0,a.MZ)({json:{write:!0}})],y.prototype,"objectIds",void 0),(0,o._)([(0,a.MZ)({type:[String],json:{write:!0}})],y.prototype,"orderByFields",void 0),(0,o._)([(0,a.MZ)({type:[String],json:{write:!0}})],y.prototype,"outFields",void 0),(0,o._)([(0,a.MZ)({type:d.A,json:{read:{source:"outSR"},write:{target:"outSR"}}})],y.prototype,"outSpatialReference",void 0),(0,o._)([(0,a.MZ)({json:{write:!0}})],y.prototype,"relationshipId",void 0),(0,o._)([(0,a.MZ)({type:Number,json:{read:{source:"resultOffset"}}})],y.prototype,"start",void 0),(0,o._)([(0,c.K)("start"),(0,c.K)("num")],y.prototype,"writeStart",null),(0,o._)([(0,a.MZ)({type:Number,json:{read:{source:"resultRecordCount"}}})],y.prototype,"num",void 0),(0,o._)([(0,a.MZ)({json:{write:!0}})],y.prototype,"returnGeometry",void 0),(0,o._)([(0,a.MZ)({type:Boolean,json:{write:{overridePolicy:e=>({enabled:e})}}})],y.prototype,"returnM",void 0),(0,o._)([(0,a.MZ)({type:Boolean,json:{write:{overridePolicy:e=>({enabled:e})}}})],y.prototype,"returnZ",void 0),(0,o._)([(0,a.MZ)({type:String,json:{read:{source:"definitionExpression"},write:{target:"definitionExpression"}}})],y.prototype,"where",void 0),y=n=(0,o._)([(0,u.$)("esri.rest.support.RelationshipQuery")],y),y.from=(0,l.dp)(y);const h=y},30291:(e,t,r)=>{r.d(t,{tn:()=>u});var n=r(13874),o=r(30524),i=r(28122),s=(r(84424),r(80737),r(96808),r(66159)),a=(r(67336),r(92094),r(23721),r(70696),r(41227)),l=r(68780);function u({displayField:e,editFieldsInfo:t,fields:r,objectIdField:l,title:u},y){if(!r)return null;const f=function(e,t){const r=t?.visibleFieldNames;return function({fields:e,ignoreFieldTypes:t,sortDisabled:r}){const n=e;return t&&(e=e.filter((e=>!t.includes(e.type)))),e===n&&(e=e.slice()),!0!==r&&e.sort(p),e}({fields:e.fields??[],ignoreFieldTypes:t?.ignoreFieldTypes||h,sortDisabled:t?.sortDisabled}).map((t=>new a.A({fieldName:t.name,isEditable:(0,o.R$)(t,e),label:t.alias,format:d(t),visible:c(t,{...e,visibleFieldNames:r})})))}({editFieldsInfo:t,fields:r,objectIdField:l},y);if(!f.length)return null;const m=function(e){const t=(0,o.mB)(e),{titleBase:r}=e;return t?`${r}: {${t.trim()}}`:r??""}({titleBase:u,fields:r,displayField:e}),b=[new s.A,new i.A];return new n.A({title:m,content:b,fieldInfos:f})}const c=(e,t)=>t.visibleFieldNames?t.visibleFieldNames.has(e.name):(0,o.Bz)(e,t);function p(e,t){return"oid"===e.type?-1:"oid"===t.type?1:y(e)?-1:y(t)?1:(e.alias||e.name).toLocaleLowerCase().localeCompare((t.alias||t.name).toLocaleLowerCase())}function d(e){switch(e.type){case"small-integer":case"integer":case"single":return new l.A({digitSeparator:!0,places:0});case"double":return new l.A({digitSeparator:!0,places:2});case"string":return(0,o.JL)(e.name)?new l.A({digitSeparator:!0,places:0}):void 0;default:return}}function y(e){if("name"===(e.name&&e.name.toLowerCase()))return!0;const t=e.alias?.toLowerCase();return"name"===t}const h=["geometry","blob","raster","guid","xml"]}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[2245,3069],{3330:(e,t,n)=>{n.d(t,{GB:()=>r,Qo:()=>l,Y4:()=>o});var i=n(96285);class r{}function o(e){return e instanceof i.bo?e===r.instance:"unknown"===e?.toString().toLowerCase()}function l(e){return o(e)?r.instance:e}r.instance=new i.oh("Etc/UTC")},13069:(e,t,n)=>{n.d(t,{lk:()=>r,vD:()=>l,yS:()=>o});const i="randomUUID"in crypto;function r(){if(i)return crypto.randomUUID();const e=crypto.getRandomValues(new Uint16Array(8));e[3]=4095&e[3]|16384,e[4]=16383&e[4]|32768;const t=t=>e[t].toString(16).padStart(4,"0");return t(0)+t(1)+"-"+t(2)+"-"+t(3)+"-"+t(4)+"-"+t(5)+t(6)+t(7)}function o(){return`{${r().toUpperCase()}}`}function l(){return`{${r()}}`}},4197:(e,t,n)=>{n.d(t,{jh:()=>r,l5:()=>l,xm:()=>o});var i=n(34275);function r(e,t=!1){return e<=i.y9?t?new Array(e).fill(0):new Array(e):new Float64Array(e)}function o(e){return((0,i.cy)(e)?e.length:e.byteLength/8)<=i.y9?Array.from(e):new Float64Array(e)}function l(e,t,n){return Array.isArray(e)?e.slice(t,t+n):e.subarray(t,t+n)}},70328:(e,t,n)=>{n.d(t,{BI:()=>N,Ej:()=>g,Ie:()=>M,Jt:()=>_,Ne:()=>b,RF:()=>y,_F:()=>f,aI:()=>F,fA:()=>l,gE:()=>s,gX:()=>h,hZ:()=>w,iT:()=>p,is:()=>O,qv:()=>T,vI:()=>S,vY:()=>a,v_:()=>I,vt:()=>o,w1:()=>u});var i=n(5443),r=(n(19419),n(4197));function o(e=I){return[e[0],e[1],e[2],e[3],e[4],e[5]]}function l(e,t,n,i,r,l,a=o()){return a[0]=e,a[1]=t,a[2]=n,a[3]=i,a[4]=r,a[5]=l,a}function a(e,t=o()){return function(e,t,n,i=o()){return w(i,T),function(e,t,n=0,i=t.length/3){let r=e[0],o=e[1],l=e[2],a=e[3],s=e[4],u=e[5];for(let e=0;e<i;e++)r=Math.min(r,t[n+3*e]),o=Math.min(o,t[n+3*e+1]),l=Math.min(l,t[n+3*e+2]),a=Math.max(a,t[n+3*e]),s=Math.max(s,t[n+3*e+1]),u=Math.max(u,t[n+3*e+2]);e[0]=r,e[1]=o,e[2]=l,e[3]=a,e[4]=s,e[5]=u}(i,e,t,n),i}(e,0,e.length/3,t)}function s(e,t=(0,r.jh)(24)){const[n,i,o,l,a,s]=e;return t[0]=n,t[1]=i,t[2]=o,t[3]=n,t[4]=i,t[5]=s,t[6]=n,t[7]=a,t[8]=o,t[9]=n,t[10]=a,t[11]=s,t[12]=l,t[13]=i,t[14]=o,t[15]=l,t[16]=i,t[17]=s,t[18]=l,t[19]=a,t[20]=o,t[21]=l,t[22]=a,t[23]=s,t}function u(e,t){const n=isFinite(e[2])||isFinite(e[5]);return new i.A(n?{xmin:e[0],xmax:e[3],ymin:e[1],ymax:e[4],zmin:e[2],zmax:e[5],spatialReference:t}:{xmin:e[0],xmax:e[3],ymin:e[1],ymax:e[4],spatialReference:t})}function y(e,t){e[0]=Math.min(e[0],t[0]),e[1]=Math.min(e[1],t[1]),e[2]=Math.min(e[2],t[2]),e[3]=Math.max(e[3],t[3]),e[4]=Math.max(e[4],t[4]),e[5]=Math.max(e[5],t[5])}function p(e,t){e[0]=Math.min(e[0],t[0]),e[1]=Math.min(e[1],t[1]),e[2]=Math.min(e[2],t[2]),e[3]=Math.max(e[3],t[0]),e[4]=Math.max(e[4],t[1]),e[5]=Math.max(e[5],t[2])}function d(e){return e[0]>=e[3]?0:e[3]-e[0]}function c(e){return e[1]>=e[4]?0:e[4]-e[1]}function m(e){return e[2]>=e[5]?0:e[5]-e[2]}function f(e){const t=d(e),n=m(e),i=c(e);return Math.sqrt(t*t+n*n+i*i)}function h(e,t=[0,0,0]){return t[0]=e[0]+d(e)/2,t[1]=e[1]+c(e)/2,t[2]=e[2]+m(e)/2,t}function g(e,t=[0,0,0]){return t[0]=d(e),t[1]=c(e),t[2]=m(e),t}function b(e,t,n=e){return n[0]=t[0],n[1]=t[1],n[2]=t[2],n!==e&&(n[3]=e[3],n[4]=e[4],n[5]=e[5]),n}function S(e,t,n=e){return n[3]=t[0],n[4]=t[1],n[5]=t[2],n!==e&&(n[0]=e[0],n[1]=e[1],n[2]=e[2]),e}function w(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e}function M(e){return e?w(e,T):o(T)}function _(e,t){return e[0]=t[0],e[1]=t[1],e[2]=Number.NEGATIVE_INFINITY,e[3]=t[2],e[4]=t[3],e[5]=Number.POSITIVE_INFINITY,e}function N(e,t,n,i,r){return e[0]=t,e[1]=n,e[2]=Number.NEGATIVE_INFINITY,e[3]=i,e[4]=r,e[5]=Number.POSITIVE_INFINITY,e}function O(e){return 6===e.length}function F(e,t,n){if(null==e||null==t)return e===t;if(!O(e)||!O(t))return!1;if(n){for(let i=0;i<e.length;i++)if(!n(e[i],t[i]))return!1}else for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}const T=[1/0,1/0,1/0,-1/0,-1/0,-1/0],I=[0,0,0,0,0,0];o()},96953:(e,t,n)=>{n.r(t),n.d(t,{default:()=>G});var i=n(90237),r=(n(59456),n(52106)),o=(n(61147),n(5503)),l=n(49186),a=n(4718),s=n(92071),u=n(93637),y=n(67076),p=n(10107),d=(n(44208),n(53966),n(36005)),c=n(40608),m=n(43937),f=n(57251),h=n(19419),g=n(17136),b=n(21325),S=n(13600),w=n(94194),M=n(4146),_=n(33032),N=n(63074),O=n(16131),F=n(8303),T=n(25036),I=n(20437),v=n(94985),Z=n(31593),x=n(53930),L=n(68249),A=n(16930),J=n(5443);function C(e){return"markup"===e.featureCollectionType||e.layers.some((e=>null!=e.layerDefinition.visibilityField||!j(e)))}function j({layerDefinition:e,featureSet:t}){const n=e.geometryType??t.geometryType;return P.find((t=>n===t.geometryTypeJSON&&e.drawingInfo?.renderer?.symbol?.type===t.identifyingSymbol.type))}function D(){return new J.A({xmin:-180,ymin:-90,xmax:180,ymax:90})}const R=new I.A({name:"OBJECTID",alias:"OBJECTID",type:"oid",nullable:!1,editable:!1}),E=new I.A({name:"title",alias:"Title",type:"string",nullable:!0,editable:!0,length:255});let B=class extends w.A{constructor(e){super(e),this.visibilityMode="inherited"}initialize(){for(const e of this.graphics)e.sourceLayer=this.layer;this.graphics.on("after-add",(e=>{e.item.sourceLayer=this.layer})),this.graphics.on("after-remove",(e=>{e.item.sourceLayer=null}))}get fullExtent(){const e=this.layer?.spatialReference,t=this.fullBounds;return e?null==t?(0,f.projectOrLoad)(D(),e).geometry:(0,h.w1)(t,e):null}get fullBounds(){const e=this.layer?.spatialReference;if(!e)return null;const t=(0,h.Ie)();return this.graphics.forEach((n=>{const i=null!=n.geometry?(0,f.projectOrLoad)(n.geometry,e).geometry:null;null!=i&&(0,h.fT)(t,"point"===i.type?i:i.extent,t)})),(0,h.aI)(t,h.qv)?null:t}get sublayers(){return this.graphics}};(0,i._)([(0,p.MZ)({readOnly:!0})],B.prototype,"fullExtent",null),(0,i._)([(0,p.MZ)({readOnly:!0})],B.prototype,"fullBounds",null),(0,i._)([(0,p.MZ)({readOnly:!0})],B.prototype,"sublayers",null),(0,i._)([(0,p.MZ)()],B.prototype,"layer",void 0),(0,i._)([(0,p.MZ)()],B.prototype,"layerId",void 0),(0,i._)([(0,p.MZ)({readOnly:!0})],B.prototype,"visibilityMode",void 0),B=(0,i._)([(0,c.$)("esri.layers.MapNotesLayer.MapNotesSublayer")],B);const P=[{geometryType:"polygon",geometryTypeJSON:"esriGeometryPolygon",id:"polygonLayer",layerId:0,title:"Polygons",identifyingSymbol:(new v.A).toJSON()},{geometryType:"polyline",geometryTypeJSON:"esriGeometryPolyline",id:"polylineLayer",layerId:1,title:"Polylines",identifyingSymbol:(new Z.A).toJSON()},{geometryType:"multipoint",geometryTypeJSON:"esriGeometryMultipoint",id:"multipointLayer",layerId:2,title:"Multipoints",identifyingSymbol:(new x.A).toJSON()},{geometryType:"point",geometryTypeJSON:"esriGeometryPoint",id:"pointLayer",layerId:3,title:"Points",identifyingSymbol:(new x.A).toJSON()},{geometryType:"point",geometryTypeJSON:"esriGeometryPoint",id:"textLayer",layerId:4,title:"Text",identifyingSymbol:(new L.A).toJSON()}];let z=class extends((0,N.dM)((0,T.j)((0,O.q)((0,F.A)((0,s.P)(M.A)))))){constructor(e){super(e),this.capabilities={operations:{supportsMapNotesEditing:!0}},this.featureCollections=null,this.featureCollectionJSON=null,this.featureCollectionType="notes",this.legendEnabled=!1,this.listMode="hide-children",this.minScale=0,this.maxScale=0,this.spatialReference=A.A.WGS84,this.sublayers=new o.A(P.map((e=>new B({id:e.id,layerId:e.layerId,title:e.title,layer:this})))),this.title="Map Notes",this.type="map-notes",this.visibilityMode="inherited"}readCapabilities(e,t,n){return{operations:{supportsMapNotesEditing:!C(t)&&"portal-item"!==n?.origin}}}readFeatureCollections(e,t,n){if(!C(t))return null;const i=t.layers.map((e=>{const t=new S.default;return t.read(e,n),t}));return new o.A({items:i})}readLegacyfeatureCollectionJSON(e,t){return C(t)?(0,a.o8)(t.featureCollection):null}get fullExtent(){const e=this.spatialReference,t=(0,h.Ie)();return null!=this.sublayers?this.sublayers.forEach((({fullBounds:e})=>null!=e?(0,h.fT)(t,e,t):t),t):this.featureCollectionJSON?.layers.some((e=>e.layerDefinition.extent))&&this.featureCollectionJSON.layers.forEach((n=>{const i=(0,f.projectOrLoad)(n.layerDefinition.extent,e).geometry;null!=i&&(0,h.fT)(t,i,t)})),(0,h.aI)(t,h.qv)?(0,f.projectOrLoad)(D(),e).geometry:(0,h.w1)(t,e)}readMinScale(e,t){for(const e of t.layers)if(null!=e.layerDefinition.minScale)return e.layerDefinition.minScale;return 0}readMaxScale(e,t){for(const e of t.layers)if(null!=e.layerDefinition.maxScale)return e.layerDefinition.maxScale;return 0}get multipointLayer(){return this._findSublayer("multipointLayer")}get pointLayer(){return this._findSublayer("pointLayer")}get polygonLayer(){return this._findSublayer("polygonLayer")}get polylineLayer(){return this._findSublayer("polylineLayer")}readSpatialReference(e,t){return t.layers.length?A.A.fromJSON(t.layers[0].layerDefinition.spatialReference):A.A.WGS84}readSublayers(e,t,n){if(C(t))return null;const i=[];let l=t.layers.reduce(((e,t)=>Math.max(e,t.layerDefinition.id??-1)),-1)+1;for(const e of t.layers){const{layerDefinition:t,featureSet:n}=e,o=t.id??l++,a=j(e);if(null!=a){const e=new B({id:a.id,title:t.name,layerId:o,layer:this,graphics:n.features.map((({geometry:e,symbol:t,attributes:n,popupInfo:i})=>r.A.fromJSON({attributes:n,geometry:e,symbol:t,popupTemplate:i})))});i.push(e)}}return new o.A(i)}writeSublayers(e,t,n,i){const{minScale:r,maxScale:o}=this;if(null==e)return;const a=e.some((e=>e.graphics.length>0));if(!this.capabilities.operations.supportsMapNotesEditing)return void(a&&i?.messages?.push(new l.A("map-notes-layer:editing-not-supported","New map notes cannot be added to this layer")));const s=[];let y=this.spatialReference.toJSON();e:for(const t of e)for(const e of t.graphics)if(null!=e.geometry){y=e.geometry.spatialReference.toJSON();break e}for(const t of P){const n=e.find((e=>t.id===e.id));this._writeMapNoteSublayer(s,n,t,r,o,y,i)}(0,u.sM)("featureCollection.layers",s,t)}get textLayer(){return this._findSublayer("textLayer")}load(e){return this.addResolvingPromise(this.loadFromPortal({supportedTypes:["Feature Collection"]},e)),Promise.resolve(this)}read(e,t){"featureCollection"in e&&(e=(0,a.o8)(e),Object.assign(e,e.featureCollection)),super.read(e,t)}async beforeSave(){if(null==this.sublayers)return;let e=null;const t=[];for(const n of this.sublayers)for(const i of n.graphics)if(null!=i.geometry){const n=i.geometry;e?(0,b.aI)(n.spatialReference,e)||((0,f.canProjectWithoutEngine)(n.spatialReference,e)||(0,f.isLoaded)()||await(0,f.load)(),i.geometry=(0,f.project)(n,e)):e=n.spatialReference,t.push(i)}const n=await(0,g.el)(t.map((e=>e.geometry)));t.forEach(((e,t)=>e.geometry=n[t]))}_findSublayer(e){return null==this.sublayers?null:this.sublayers?.find((t=>t.id===e))??null}_writeMapNoteSublayer(e,t,n,i,r,o,l){const s=[];if(null!=t){for(const e of t.graphics)this._writeMapNote(s,e,n.geometryType,l);this._normalizeObjectIds(s,R),e.push({layerDefinition:{name:t.title,drawingInfo:{renderer:{type:"simple",symbol:(0,a.o8)(n.identifyingSymbol)}},id:t.layerId,geometryType:n.geometryTypeJSON,minScale:i,maxScale:r,objectIdField:"OBJECTID",fields:[R.toJSON(),E.toJSON()],spatialReference:o},featureSet:{features:s,geometryType:n.geometryTypeJSON}})}}_writeMapNote(e,t,n,i){if(null==t)return;const{geometry:r,symbol:o,popupTemplate:l}=t;if(null==r)return;if(r.type!==n)return void i?.messages?.push(new y.A("map-notes-layer:invalid-geometry-type",`Geometry "${r.type}" cannot be saved in "${n}" layer`,{graphic:t}));if(null==o)return void i?.messages?.push(new y.A("map-notes-layer:no-symbol","Skipping map notes with no symbol",{graphic:t}));const a={attributes:{...t.attributes},geometry:r.toJSON(),symbol:o.toJSON()};null!=l&&(a.popupInfo=l.toJSON()),e.push(a)}_normalizeObjectIds(e,t){const n=t.name;let i=(0,_.H)(n,e)+1;const r=new Set;for(const t of e){t.attributes||(t.attributes={});const{attributes:e}=t;(null==e[n]||r.has(e[n]))&&(e[n]=i++),r.add(e[n])}}};(0,i._)([(0,p.MZ)({readOnly:!0})],z.prototype,"capabilities",void 0),(0,i._)([(0,d.w)(["portal-item","web-map"],"capabilities",["layers"])],z.prototype,"readCapabilities",null),(0,i._)([(0,p.MZ)({readOnly:!0})],z.prototype,"featureCollections",void 0),(0,i._)([(0,d.w)(["web-map","portal-item"],"featureCollections",["layers"])],z.prototype,"readFeatureCollections",null),(0,i._)([(0,p.MZ)({readOnly:!0,json:{origins:{"web-map":{write:{enabled:!0,target:"featureCollection"}}}}})],z.prototype,"featureCollectionJSON",void 0),(0,i._)([(0,d.w)(["web-map","portal-item"],"featureCollectionJSON",["featureCollection"])],z.prototype,"readLegacyfeatureCollectionJSON",null),(0,i._)([(0,p.MZ)({readOnly:!0,json:{read:!0,write:{enabled:!0,ignoreOrigin:!0}}})],z.prototype,"featureCollectionType",void 0),(0,i._)([(0,p.MZ)({readOnly:!0})],z.prototype,"fullExtent",null),(0,i._)([(0,p.MZ)({readOnly:!0,json:{origins:{"web-map":{write:{target:"featureCollection.showLegend",overridePolicy(){return{enabled:null!=this.featureCollectionJSON}}}}}}})],z.prototype,"legendEnabled",void 0),(0,i._)([(0,p.MZ)({type:["show","hide","hide-children"]})],z.prototype,"listMode",void 0),(0,i._)([(0,p.MZ)({type:Number,nonNullable:!0,json:{write:!1}})],z.prototype,"minScale",void 0),(0,i._)([(0,d.w)(["web-map","portal-item"],"minScale",["layers"])],z.prototype,"readMinScale",null),(0,i._)([(0,p.MZ)({type:Number,nonNullable:!0,json:{write:!1}})],z.prototype,"maxScale",void 0),(0,i._)([(0,d.w)(["web-map","portal-item"],"maxScale",["layers"])],z.prototype,"readMaxScale",null),(0,i._)([(0,p.MZ)({readOnly:!0})],z.prototype,"multipointLayer",null),(0,i._)([(0,p.MZ)({value:"ArcGISFeatureLayer",type:["ArcGISFeatureLayer"]})],z.prototype,"operationalLayerType",void 0),(0,i._)([(0,p.MZ)({readOnly:!0})],z.prototype,"pointLayer",null),(0,i._)([(0,p.MZ)({readOnly:!0})],z.prototype,"polygonLayer",null),(0,i._)([(0,p.MZ)({readOnly:!0})],z.prototype,"polylineLayer",null),(0,i._)([(0,p.MZ)({type:A.A})],z.prototype,"spatialReference",void 0),(0,i._)([(0,d.w)(["web-map","portal-item"],"spatialReference",["layers"])],z.prototype,"readSpatialReference",null),(0,i._)([(0,p.MZ)({readOnly:!0,json:{origins:{"web-map":{write:{ignoreOrigin:!0}}}}})],z.prototype,"sublayers",void 0),(0,i._)([(0,d.w)("web-map","sublayers",["layers"])],z.prototype,"readSublayers",null),(0,i._)([(0,m.K)("web-map","sublayers")],z.prototype,"writeSublayers",null),(0,i._)([(0,p.MZ)({readOnly:!0})],z.prototype,"textLayer",null),(0,i._)([(0,p.MZ)()],z.prototype,"title",void 0),(0,i._)([(0,p.MZ)({readOnly:!0,json:{read:!1}})],z.prototype,"type",void 0),z=(0,i._)([(0,c.$)("esri.layers.MapNotesLayer")],z);const G=z},33032:(e,t,n)=>{n.d(t,{H:()=>r,L:()=>i});const i=1;function r(e,t){let n=0;for(const i of t){const t=i.attributes?.[e];"number"==typeof t&&isFinite(t)&&(n=Math.max(n,t))}return n}},33143:(e,t,n)=>{n.d(t,{A:()=>c});var i=n(90237),r=n(69540),o=n(25482),l=n(10107),a=(n(44208),n(53966),n(87811),n(36005)),s=n(40608),u=n(43937),y=n(80451),p=n(29005);let d=class extends((0,r.O)(o.oY)){constructor(e){super(e),this.id=null,this.name=null,this.domains=null,this.templates=null}readDomains(e){const t={};for(const n of Object.keys(e))t[n]=(0,y.rS)(e[n]);return t}writeDomains(e,t){const n={};for(const t of Object.keys(e))e[t]&&(n[t]=e[t]?.toJSON());t.domains=n}};(0,i._)([(0,l.MZ)({json:{write:!0}})],d.prototype,"id",void 0),(0,i._)([(0,l.MZ)({json:{write:!0}})],d.prototype,"name",void 0),(0,i._)([(0,l.MZ)({json:{write:!0}})],d.prototype,"domains",void 0),(0,i._)([(0,a.w)("domains")],d.prototype,"readDomains",null),(0,i._)([(0,u.K)("domains")],d.prototype,"writeDomains",null),(0,i._)([(0,l.MZ)({type:[p.A],json:{write:!0}})],d.prototype,"templates",void 0),d=(0,i._)([(0,s.$)("esri.layers.support.FeatureType")],d);const c=d},95466:(e,t,n)=>{n.d(t,{A:()=>d});var i=n(49186),r=n(25482),o=n(53966),l=n(91869),a=n(3330),s=n(30524),u=n(56400),y=n(96285);const p=new Map;class d{static fromJSON(e){return new d(e.fields,e.timeZoneByFieldName)}static fromLayer(e){return new d(e.fields??[],h(e))}static fromLayerJSON(e){return new d(e.fields??[],h(e))}constructor(e=[],t){this._fieldsMap=new Map,this._normalizedFieldsMap=new Map,this._dateFieldsSet=new Set,this._numericFieldsSet=new Set,this._requiredFields=null,this.dateFields=[],this.numericFields=[],this.fields=e||[],this._timeZoneByFieldName=t?new Map(t):null;const n=[];for(const e of this.fields){const t=e?.name,i=m(t);if(t&&i){const r=c(t);this._fieldsMap.set(t,e),this._fieldsMap.set(r,e),this._normalizedFieldsMap.set(i,e),n.push(`${r}:${e.type}:${this._timeZoneByFieldName?.get(t)}`),(0,s.vE)(e)?(this.dateFields.push(e),this._dateFieldsSet.add(e)):(0,s.WA)(e)&&(this._numericFieldsSet.add(e),this.numericFields.push(e)),(0,s.te)(e)||(0,s.Xz)(e)||(e.editable=null==e.editable||!!e.editable,e.nullable=null==e.nullable||!!e.nullable)}}n.sort(),this.uid=n.join()}get requiredFields(){if(!this._requiredFields){this._requiredFields=[];for(const e of this.fields)(0,s.te)(e)||(0,s.Xz)(e)||e.nullable||void 0!==(0,s.lD)(e)||this._requiredFields.push(e)}return this._requiredFields}equals(e){return this.uid===e?.uid}has(e){return null!=this.get(e)}get(e){if(!e)return;let t=this._fieldsMap.get(e);return t||(t=this._fieldsMap.get(c(e))??this._normalizedFieldsMap.get(m(e)),t&&this._fieldsMap.set(e,t),t)}getTimeZone(e){const t=this.get(e&&"string"!=typeof e?e.name:e);return t?this._timeZoneByFieldName?this._timeZoneByFieldName.get(t.name):"date"===t.type||"esriFieldTypeDate"===t.type?(o.A.getLogger("esri.layers.support.FieldsIndex").error(new i.A("getTimeZone:no-timezone-information",`no time zone information for field '${t.name}'`)),u.n$):f.has(t.type)?u.L5:null:null}getLuxonTimeZone(e){const t=this.getTimeZone(e);return t?t===u.L5?a.GB.instance:t===u.n$?y.mQ.utcInstance:(0,l.tE)(p,t,(()=>y.oh.create(t))):null}isDateField(e){return this._dateFieldsSet.has(this.get(e))}isTimeOnlyField(e){return(0,s.OH)(this.get(e))}isNumericField(e){return this._numericFieldsSet.has(this.get(e))}normalizeFieldName(e){return this.get(e)?.name??void 0}toJSON(){return{fields:this.fields.map((e=>(0,r.Wj)(e)?e.toJSON():e)),timeZoneByFieldName:this._timeZoneByFieldName?Array.from(this._timeZoneByFieldName.entries()):null}}}function c(e){return e.trim().toLowerCase()}function m(e){return(0,s.rS)(e)?.toLowerCase()??""}const f=new Set(["time-only","date-only","timestamp-offset","esriFieldTypeDateOnly","esriFieldTypeTimeOnly","esriFieldTypeTimestampOffset"]);function h(e){const t=new Map;if(!e.fields)return t;const n=!0===e.datesInUnknownTimezone,{timeInfo:i,editFieldsInfo:r}=e,o=(i?"startField"in i?i.startField:i.startTimeField:"")??"",l=(i?"endField"in i?i.endField:i.endTimeField:"")??"",a=function(e){return"dateFieldsTimeZone"in e}(e)?e.dateFieldsTimeZone??null:e.dateFieldsTimeReference?(0,u.ZS)(e.dateFieldsTimeReference):null,s=r?function(e){return"timeZone"in e}(r)?r.timeZone??a:r.dateFieldsTimeReference?(0,u.ZS)(r.dateFieldsTimeReference):a??u.n$:null,y=i?function(e){return"timeZone"in e}(i)?i.timeZone??a:i.timeReference?(0,u.ZS)(i.timeReference):a:null,p=new Map([[c(r?.creationDateField??""),s],[c(r?.editDateField??""),s],[c(o),y],[c(l),y]]);for(const{name:i,type:r}of e.fields)if(f.has(r))t.set(i,u.L5);else if("date"!==r&&"esriFieldTypeDate"!==r)t.set(i,null);else if(n)t.set(i,u.L5);else{const e=p.get(c(i??""))??a;t.set(i,e)}return t}},58501:(e,t,n)=>{n.d(t,{q:()=>r});var i=n(62815);function r(e,t,n){if(!n?.features||!n.hasZ)return;const r=(0,i.N)(n.geometryType,t,e.outSpatialReference);if(null!=r)for(const e of n.features)r(e.geometry)}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[6298,5804,3069],{46130:(e,t,r)=>{r.d(t,{v:()=>s});var o=r(76553);function s(e){e?.writtenProperties&&e.writtenProperties.forEach((({target:e,propName:t,newOrigin:r})=>{(0,o.H)(e)&&r&&e.originOf(t)!==r&&e.updateOrigin(t,r)}))}},76553:(e,t,r)=>{function o(e){return e&&"getAtOrigin"in e&&"originOf"in e}r.d(t,{H:()=>o})},13069:(e,t,r)=>{r.d(t,{lk:()=>s,vD:()=>i,yS:()=>n});const o="randomUUID"in crypto;function s(){if(o)return crypto.randomUUID();const e=crypto.getRandomValues(new Uint16Array(8));e[3]=4095&e[3]|16384,e[4]=16383&e[4]|32768;const t=t=>e[t].toString(16).padStart(4,"0");return t(0)+t(1)+"-"+t(2)+"-"+t(3)+"-"+t(4)+"-"+t(5)+t(6)+t(7)}function n(){return`{${s().toUpperCase()}}`}function i(){return`{${s()}}`}},58947:(e,t,r)=>{r.d(t,{Xh:()=>L,w6:()=>M});var o=r(90237),s=r(78888),n=r(49186),i=r(53966),a=r(74887),l=r(84952),p=r(10107),u=(r(44208),r(87811),r(36005)),c=r(40608),d=r(43937),y=r(46130),h=r(5443),f=r(54239),m=r(16930),v=r(60694),g=r(10873),w=r(83898);var S=r(20655),I=r(80812),x=r(88788),_=r(91682),b=r(26121);const M=e=>{let t=class extends e{constructor(){super(...arguments),this.spatialReference=null,this.fullExtent=null,this.heightModelInfo=null,this.minScale=0,this.maxScale=0,this.version={major:Number.NaN,minor:Number.NaN,versionString:""},this.copyright=null,this.sublayerTitleMode="item-title",this.title=null,this.layerId=null,this.indexInfo=null,this._debouncedSaveOperations=(0,a.sg)((async(e,t,r)=>{switch(e){case L.SAVE:return this._save(t);case L.SAVE_AS:return this._saveAs(r,t)}}))}readSpatialReference(e,t){return Z(t)}readFullExtent(e,t,r){if(null!=e&&"object"==typeof e){const o=null==e.spatialReference?{...e,spatialReference:Z(t)}:e;return h.A.fromJSON(o,r)}const o=t.store,s=Z(t);return null==s||null==o?.extent||!Array.isArray(o.extent)||o.extent.some((e=>e<A))?null:new h.A({xmin:o.extent[0],ymin:o.extent[1],xmax:o.extent[2],ymax:o.extent[3],spatialReference:s})}parseVersionString(e){const t={major:Number.NaN,minor:Number.NaN,versionString:e},r=e.split(".");return r.length>=2&&(t.major=parseInt(r[0],10),t.minor=parseInt(r[1],10)),t}readVersion(e,t){const r=t.store,o=null!=r.version?r.version.toString():"";return this.parseVersionString(o)}readTitlePortalItem(e){return"item-title"!==this.sublayerTitleMode?void 0:e}readTitleService(e,t){const r=this.portalItem?.title;if("item-title"===this.sublayerTitleMode)return this.url?(0,v.yG)(this.url,t.name):t.name;let o=t.name;if(!o&&this.url){const e=(0,v.qg)(this.url);null!=e&&(o=e.title)}return"item-title-and-service-name"===this.sublayerTitleMode&&r&&(o=r+" - "+o),(0,v.cr)(o)}set url(e){if(null==e)return void this._set("url",e);const t=(0,v.HZ)({layer:this,url:e,nonStandardUrlAllowed:!1,logger:i.A.getLogger(this)});this._set("url",t.url),null!=t.layerId&&this._set("layerId",t.layerId)}writeUrl(e,t,r,o){(0,v.LS)(this,e,"layers",t,o)}get parsedUrl(){const e=this._get("url"),t=(0,l.An)(e);return t&&null!=this.layerId&&(t.path=`${t.path}/layers/${this.layerId}`),t}async _fetchIndexAndUpdateExtent(e,t){this.indexInfo=(0,w.F)(this.parsedUrl?.path??"",this.rootNode,e,this.customParameters,this.apiKey,i.A.getLogger(this),t),null==this.fullExtent||this.fullExtent.hasZ||this._updateExtent(await this.indexInfo)}_updateExtent(e){if("page"===e?.type){const t=e.rootIndex%e.pageSize,r=e.rootPage?.nodes?.[t];if(null==r?.obb?.center||null==r.obb.halfSize)throw new n.A("sceneservice:invalid-node-page","Invalid node page.");if(r.obb.center[0]<A||null==this.fullExtent||this.fullExtent.hasZ)return;const o=r.obb.halfSize,s=r.obb.center[2],i=Math.sqrt(o[0]*o[0]+o[1]*o[1]+o[2]*o[2]);this.fullExtent.zmin=s-i,this.fullExtent.zmax=s+i}else if("node"===e?.type){const t=e.rootNode?.mbs;if(!Array.isArray(t)||4!==t.length||t[0]<A)return;const r=t[2],o=t[3],{fullExtent:s}=this;s&&(s.zmin=r-o,s.zmax=r+o)}}async _fetchService(e){if(null==this.url)throw new n.A("sceneservice:url-not-set","Scene service can not be loaded without valid portal item or url");if(null==this.layerId&&/SceneServer\/*$/i.test(this.url)){const t=await this._fetchFirstLayerId(e);null!=t&&(this.layerId=t)}return this._fetchServiceLayer(e)}async _fetchFirstLayerId(e){const t=await(0,s.A)(this.url??"",{query:{f:"json",...this.customParameters,token:this.apiKey},responseType:"json",signal:e});if(t.data&&Array.isArray(t.data.layers)&&t.data.layers.length>0)return t.data.layers[0].id}async _fetchServiceLayer(e){const t=await(0,s.A)(this.parsedUrl?.path??"",{query:{f:"json",...this.customParameters,token:this.apiKey},responseType:"json",signal:e});t.ssl&&this.url&&(this.url=this.url.replace(/^http:/i,"https:"));let r=!1;if(t.data.layerType&&"Voxel"===t.data.layerType&&(r=!0),r)return this._fetchVoxelServiceLayer();const o=t.data;this.read(o,this._getServiceContext()),this.validateLayer(o)}async _fetchVoxelServiceLayer(e){const t=(await(0,s.A)(this.parsedUrl?.path+"/layer",{query:{f:"json",...this.customParameters,token:this.apiKey},responseType:"json",signal:e})).data;this.read(t,this._getServiceContext()),this.validateLayer(t)}_getServiceContext(){return{origin:"service",portalItem:this.portalItem,portal:this.portalItem?.portal,url:this.parsedUrl}}async _ensureLoadBeforeSave(){await this.load(),"beforeSave"in this&&"function"==typeof this.beforeSave&&await this.beforeSave()}validateLayer(e){}async _saveAs(e,t){const r={...T,...t};let o=I.default.from(e);if(!o)throw new n.A("sceneservice:portal-item-required","_saveAs() requires a portal item to save to");o.id&&(o=o.clone(),o.id=null);const s=o.portal||S.A.getDefault();await this._ensureLoadBeforeSave(),o.type=P,o.portal=s;const i=(0,x.m)(o,"portal-item",!0),a={layers:[this.write({},i)]};return await Promise.all(i.resources.pendingOperations??[]),await this._validateAgainstJSONSchema(a,i,r),this.url&&(o.url=this.url),o.title||(o.title=this.title),R(o,r,U.newItem),await s.signIn(),await s.user.addItem({item:o,folder:r?.folder,data:a}),await(0,_.r)(this.resourceReferences,i),this.portalItem=o,(0,y.v)(i),i.portalItem=o,o}async _save(e){const t={...T,...e};if(!this.portalItem)throw new n.A("sceneservice:portal-item-not-set","Portal item to save to has not been set on this SceneService");if(this.portalItem.type!==P)throw new n.A("sceneservice:portal-item-wrong-type",`Portal item needs to have type "${P}"`);await this._ensureLoadBeforeSave();const r=(0,x.m)(this.portalItem,"portal-item",!0),o={layers:[this.write({},r)]};return await Promise.all(r.resources.pendingOperations??[]),await this._validateAgainstJSONSchema(o,r,t),this.url&&(this.portalItem.url=this.url),this.portalItem.title||(this.portalItem.title=this.title),R(this.portalItem,t,U.existingItem),await(0,_.S)(this.portalItem,o,this.resourceReferences,r),(0,y.v)(r),this.portalItem}async _validateAgainstJSONSchema(e,t,r){const o=r?.validationOptions;(0,b.c)(t,{errorName:"sceneservice:save"},{ignoreUnsupported:o?.ignoreUnsupported,supplementalUnsupportedErrors:["scenemodification:unsupported"]});const s=o?.enabled,a=null;if(s&&a){const t=(await a()).validate(e,r.portalItemLayerType);if(!t.length)return;const s=`Layer item did not validate:\n${t.join("\n")}`;if(i.A.getLogger(this).error(`_validateAgainstJSONSchema(): ${s}`),"throw"===o.failPolicy){const e=t.map((e=>new n.A("sceneservice:schema-validation",e)));throw new n.A("sceneservice-validate:error","Failed to save layer item due to schema validation, see `details.errors`.",{validationErrors:e})}}}};return(0,o._)([(0,p.MZ)(g.id)],t.prototype,"id",void 0),(0,o._)([(0,p.MZ)({type:m.A})],t.prototype,"spatialReference",void 0),(0,o._)([(0,u.w)("spatialReference",["spatialReference","store.indexCRS","store.geographicCRS"])],t.prototype,"readSpatialReference",null),(0,o._)([(0,p.MZ)({type:h.A})],t.prototype,"fullExtent",void 0),(0,o._)([(0,u.w)("fullExtent",["fullExtent","store.extent","spatialReference","store.indexCRS","store.geographicCRS"])],t.prototype,"readFullExtent",null),(0,o._)([(0,p.MZ)({readOnly:!0,type:f.A})],t.prototype,"heightModelInfo",void 0),(0,o._)([(0,p.MZ)({type:Number,json:{name:"layerDefinition.minScale",write:!0,origins:{service:{read:{source:"minScale"},write:!1}}}})],t.prototype,"minScale",void 0),(0,o._)([(0,p.MZ)({type:Number,json:{name:"layerDefinition.maxScale",write:!0,origins:{service:{read:{source:"maxScale"},write:!1}}}})],t.prototype,"maxScale",void 0),(0,o._)([(0,p.MZ)({readOnly:!0})],t.prototype,"version",void 0),(0,o._)([(0,u.w)("version",["store.version"])],t.prototype,"readVersion",null),(0,o._)([(0,p.MZ)({type:String,json:{read:{source:"copyrightText"}}})],t.prototype,"copyright",void 0),(0,o._)([(0,p.MZ)({type:String,json:{read:!1}})],t.prototype,"sublayerTitleMode",void 0),(0,o._)([(0,p.MZ)({type:String})],t.prototype,"title",void 0),(0,o._)([(0,u.w)("portal-item","title")],t.prototype,"readTitlePortalItem",null),(0,o._)([(0,u.w)("service","title",["name"])],t.prototype,"readTitleService",null),(0,o._)([(0,p.MZ)({type:Number,json:{origins:{service:{read:{source:"id"}},"portal-item":{write:{target:"id",isRequired:!0,ignoreOrigin:!0},read:!1}}}})],t.prototype,"layerId",void 0),(0,o._)([(0,p.MZ)(g.OZ)],t.prototype,"url",null),(0,o._)([(0,d.K)("url")],t.prototype,"writeUrl",null),(0,o._)([(0,p.MZ)()],t.prototype,"parsedUrl",null),(0,o._)([(0,p.MZ)({readOnly:!0})],t.prototype,"store",void 0),(0,o._)([(0,p.MZ)({type:String,readOnly:!0,json:{read:{source:"store.rootNode"}}})],t.prototype,"rootNode",void 0),t=(0,o._)([(0,c.$)("esri.layers.mixins.SceneService")],t),t},A=-1e38;function Z(e){if(null!=e.spatialReference)return m.A.fromJSON(e.spatialReference);const t=e.store,r=t.indexCRS||t.geographicCRS,o=r&&parseInt(r.slice(r.lastIndexOf("/")+1),10);return null!=o?new m.A(o):null}function R(e,t,r){e.typeKeywords||(e.typeKeywords=[]);const o=t.getTypeKeywords();for(const t of o)e.typeKeywords.push(t);e.typeKeywords&&(e.typeKeywords=e.typeKeywords.filter(((e,t,r)=>r.indexOf(e)===t)),r===U.newItem&&(e.typeKeywords=e.typeKeywords.filter((e=>"Hosted Service"!==e))))}var U,N;(N=U||(U={}))[N.existingItem=0]="existingItem",N[N.newItem=1]="newItem";const P="Scene Service",T={getTypeKeywords:()=>[],portalItemLayerType:"unknown",validationOptions:{enabled:!0,ignoreUnsupported:!1,failPolicy:"throw"}};var L;!function(e){e[e.SAVE=0]="SAVE",e[e.SAVE_AS=1]="SAVE_AS"}(L||(L={}))},83898:(e,t,r)=>{r.d(t,{F:()=>n});var o=r(78888),s=r(49186);async function n(e,t,r,n,i,a,l){let p=null;if(null!=r){const t=`${e}/nodepages/`,s=t+Math.floor(r.rootIndex/r.nodesPerPage);try{return{type:"page",rootPage:(await(0,o.A)(s,{query:{f:"json",...n,token:i},responseType:"json",signal:l})).data,rootIndex:r.rootIndex,pageSize:r.nodesPerPage,lodMetric:r.lodSelectionMetricType,urlPrefix:t}}catch(e){null!=a&&a.warn("#fetchIndexInfo()","Failed to load root node page. Falling back to node documents.",s,e),p=e}}if(!t)return null;const u=t?.split("/").pop(),c=`${e}/nodes/`,d=c+u;try{return{type:"node",rootNode:(await(0,o.A)(d,{query:{f:"json",...n,token:i},responseType:"json",signal:l})).data,urlPrefix:c}}catch(e){throw new s.A("sceneservice:root-node-missing","Root node missing.",{pageError:p,nodeError:e,url:d})}}},50805:(e,t,r)=>{r.d(t,{L0:()=>v,Ot:()=>y,W4:()=>l,uV:()=>c});var o=r(90237),s=r(25482),n=r(10107),i=(r(44208),r(53966),r(87811),r(93223)),a=r(40608);let l=class extends s.oY{constructor(){super(...arguments),this.nodesPerPage=null,this.rootIndex=0,this.lodSelectionMetricType=null}};(0,o._)([(0,n.MZ)({type:Number})],l.prototype,"nodesPerPage",void 0),(0,o._)([(0,n.MZ)({type:Number})],l.prototype,"rootIndex",void 0),(0,o._)([(0,n.MZ)({type:String})],l.prototype,"lodSelectionMetricType",void 0),l=(0,o._)([(0,a.$)("esri.layers.support.I3SLayerDefinitions.I3SNodePageDefinition")],l);let p=class extends s.oY{constructor(){super(...arguments),this.factor=1}};(0,o._)([(0,n.MZ)({type:Number,json:{read:{source:"textureSetDefinitionId"}}})],p.prototype,"id",void 0),(0,o._)([(0,n.MZ)({type:Number})],p.prototype,"factor",void 0),p=(0,o._)([(0,a.$)("esri.layers.support.I3SLayerDefinitions.I3SMaterialTexture")],p);let u=class extends s.oY{constructor(){super(...arguments),this.baseColorFactor=[1,1,1,1],this.baseColorTexture=null,this.metallicRoughnessTexture=null,this.metallicFactor=1,this.roughnessFactor=1}};(0,o._)([(0,n.MZ)({type:[Number]})],u.prototype,"baseColorFactor",void 0),(0,o._)([(0,n.MZ)({type:p})],u.prototype,"baseColorTexture",void 0),(0,o._)([(0,n.MZ)({type:p})],u.prototype,"metallicRoughnessTexture",void 0),(0,o._)([(0,n.MZ)({type:Number})],u.prototype,"metallicFactor",void 0),(0,o._)([(0,n.MZ)({type:Number})],u.prototype,"roughnessFactor",void 0),u=(0,o._)([(0,a.$)("esri.layers.support.I3SLayerDefinitions.I3SMaterialPBRMetallicRoughness")],u);let c=class extends s.oY{constructor(){super(...arguments),this.alphaMode="opaque",this.alphaCutoff=.25,this.doubleSided=!1,this.cullFace="none",this.normalTexture=null,this.occlusionTexture=null,this.emissiveTexture=null,this.emissiveFactor=null,this.pbrMetallicRoughness=null}};(0,o._)([(0,i.e)({opaque:"opaque",mask:"mask",blend:"blend"})],c.prototype,"alphaMode",void 0),(0,o._)([(0,n.MZ)({type:Number})],c.prototype,"alphaCutoff",void 0),(0,o._)([(0,n.MZ)({type:Boolean})],c.prototype,"doubleSided",void 0),(0,o._)([(0,i.e)({none:"none",back:"back",front:"front"})],c.prototype,"cullFace",void 0),(0,o._)([(0,n.MZ)({type:p})],c.prototype,"normalTexture",void 0),(0,o._)([(0,n.MZ)({type:p})],c.prototype,"occlusionTexture",void 0),(0,o._)([(0,n.MZ)({type:p})],c.prototype,"emissiveTexture",void 0),(0,o._)([(0,n.MZ)({type:[Number]})],c.prototype,"emissiveFactor",void 0),(0,o._)([(0,n.MZ)({type:u})],c.prototype,"pbrMetallicRoughness",void 0),c=(0,o._)([(0,a.$)("esri.layers.support.I3SLayerDefinitions.I3SMaterialDefinition")],c);let d=class extends s.oY{};(0,o._)([(0,n.MZ)({type:String,json:{read:{source:["name","index"],reader:(e,t)=>null!=e?e:`${t.index}`}}})],d.prototype,"name",void 0),(0,o._)([(0,i.e)({jpg:"jpg",png:"png",dds:"dds","ktx-etc2":"ktx-etc2",ktx2:"ktx2",basis:"basis"})],d.prototype,"format",void 0),d=(0,o._)([(0,a.$)("esri.layers.support.I3SLayerDefinitions.I3STextureFormat")],d);let y=class extends s.oY{constructor(){super(...arguments),this.atlas=!1}};(0,o._)([(0,n.MZ)({type:[d]})],y.prototype,"formats",void 0),(0,o._)([(0,n.MZ)({type:Boolean})],y.prototype,"atlas",void 0),y=(0,o._)([(0,a.$)("esri.layers.support.I3SLayerDefinitions.I3STextureSetDefinition")],y);let h=class extends s.oY{};(0,o._)([(0,i.e)({Float32:"Float32",UInt64:"UInt64",UInt32:"UInt32",UInt16:"UInt16",UInt8:"UInt8"})],h.prototype,"type",void 0),(0,o._)([(0,n.MZ)({type:Number})],h.prototype,"component",void 0),h=(0,o._)([(0,a.$)("esri.layers.support.I3SLayerDefinitions.I3SGeometryAttribute")],h);let f=class extends s.oY{};(0,o._)([(0,i.e)({draco:"draco"})],f.prototype,"encoding",void 0),(0,o._)([(0,n.MZ)({type:[String]})],f.prototype,"attributes",void 0),f=(0,o._)([(0,a.$)("esri.layers.support.I3SLayerDefinitions.I3SGeometryCompressedAttributes")],f);let m=class extends s.oY{constructor(){super(...arguments),this.offset=0}};(0,o._)([(0,n.MZ)({type:Number})],m.prototype,"offset",void 0),(0,o._)([(0,n.MZ)({type:h})],m.prototype,"position",void 0),(0,o._)([(0,n.MZ)({type:h})],m.prototype,"normal",void 0),(0,o._)([(0,n.MZ)({type:h})],m.prototype,"uv0",void 0),(0,o._)([(0,n.MZ)({type:h})],m.prototype,"color",void 0),(0,o._)([(0,n.MZ)({type:h})],m.prototype,"uvRegion",void 0),(0,o._)([(0,n.MZ)({type:h})],m.prototype,"featureId",void 0),(0,o._)([(0,n.MZ)({type:h})],m.prototype,"faceRange",void 0),(0,o._)([(0,n.MZ)({type:f})],m.prototype,"compressedAttributes",void 0),m=(0,o._)([(0,a.$)("esri.layers.support.I3SLayerDefinitions.I3SGeometryBuffer")],m);let v=class extends s.oY{};(0,o._)([(0,i.e)({triangle:"triangle"})],v.prototype,"topology",void 0),(0,o._)([(0,n.MZ)()],v.prototype,"geometryBuffers",void 0),v=(0,o._)([(0,a.$)("esri.layers.support.I3SLayerDefinitions.I3SGeometryDefinition")],v)},88788:(e,t,r)=>{r.d(t,{m:()=>i,v:()=>n});var o=r(84952),s=r(20655);function n(e,t){return{...a(e,t),readResourcePaths:[]}}function i(e,t,r){const s=(0,o.An)(e.itemUrl);return{...a(e,t),messages:[],writtenProperties:[],blockedRelativeUrls:[],verifyItemRelativeUrls:s?{rootPath:s.path,writtenUrls:[]}:null,resources:r?{toAdd:[],toUpdate:[],toKeep:[],pendingOperations:[]}:null}}function a(e,t){return{origin:t,url:(0,o.An)(e.itemUrl),portal:e.portal||s.A.getDefault(),portalItem:e}}},15804:(e,t,r)=>{r.d(t,{addOrUpdateResources:()=>a,bg:()=>d,cL:()=>c,fetchResources:()=>i,removeAllResources:()=>p,removeResource:()=>l});var o=r(78888),s=r(49186),n=r(84952);async function i(e,t={},r){await e.load(r);const o=(0,n.fj)(e.itemUrl,"resources"),{start:s=1,num:i=10,sortOrder:a="asc",sortField:l="resource"}=t,p={query:{start:s,num:i,sortOrder:a,sortField:l,token:e.apiKey},signal:r?.signal},u=await e.portal.request(o,p);return{total:u.total,nextStart:u.nextStart,resources:u.resources.map((({created:t,size:r,resource:o})=>({created:new Date(t),size:r,resource:e.resourceFromPath(o)})))}}async function a(e,t,r,o){const i=new Map;for(const{resource:e,content:o,compress:n,access:a}of t){if(!e.hasPath())throw new s.A(`portal-item-resource-${r}:invalid-path`,"Resource does not have a valid path");const[t,l]=u(e.path),p=`${t}/${n??""}/${a??""}`;i.has(p)||i.set(p,{prefix:t,compress:n,access:a,files:[]}),i.get(p).files.push({fileName:l,content:o})}await e.load(o);const a=(0,n.fj)(e.userItemUrl,"add"===r?"addResources":"updateResources");for(const{prefix:t,compress:r,access:s,files:n}of i.values()){const i=25;for(let l=0;l<n.length;l+=i){const p=n.slice(l,l+i),u=new FormData;t&&"."!==t&&u.append("resourcesPrefix",t),r&&u.append("compress","true"),s&&u.append("access",s);let c=0;for(const{fileName:e,content:t}of p)u.append("file"+ ++c,t,e);u.append("f","json"),await e.portal.request(a,{method:"post",body:u,signal:o?.signal})}}}async function l(e,t,r){if(!t.hasPath())throw new s.A("portal-item-resources-remove:invalid-path","Resource does not have a valid path");await e.load(r);const o=(0,n.fj)(e.userItemUrl,"removeResources");await e.portal.request(o,{method:"post",query:{resource:t.path},signal:r?.signal}),t.portalItem=null}async function p(e,t){await e.load(t);const r=(0,n.fj)(e.userItemUrl,"removeResources");return e.portal.request(r,{method:"post",query:{deleteAll:!0},signal:t?.signal})}function u(e){const t=e.lastIndexOf("/");return-1===t?[".",e]:[e.slice(0,t),e.slice(t+1)]}async function c(e){return"blob"===e.type?e.blob:"json"===e.type?new Blob([e.jsonString],{type:"application/json"}):(await(0,o.A)(e.url,{responseType:"blob"})).data}function d(e,t){if(!e.hasPath())return null;const[r,,o]=function(e){const[t,r]=function(e){const t=(0,n.Zo)(e);return null==t?[e,""]:[e.slice(0,e.length-t.length-1),`.${t}`]}(e),[o,s]=u(t);return[o,s,r]}(e.path);return e.portalItem.resourceFromPath((0,n.fj)(r,t+o))}},24212:(e,t,r)=>{function o(e,t){return function(e,t){return t?.mode?t.mode:function(e){return e?l:p}(e).mode}(null==e||(e.hasZ??!1),t)}function s(e,t,r){return r&&r.mode!==t?`${e} only support ${t} elevation mode`:null}function n(e,t,r){return r?.mode===t?`${e} do not support ${t} elevation mode`:null}function i(e,t){return null!=t?.featureExpressionInfo&&"0"!==t.featureExpressionInfo.expression?`${e} do not support featureExpressionInfo`:null}function a(e,t){t&&e.warn(".elevationInfo=",t)}r.d(t,{$7:()=>n,B:()=>s,XF:()=>a,tW:()=>i,w7:()=>o}),r(83047),r(16271);const l={mode:"absolute-height",offset:0},p={mode:"on-the-ground",offset:null}},91682:(e,t,r)=>{r.d(t,{S:()=>l,r:()=>a});var o=r(49186),s=r(74887),n=r(13069),i=r(15804);async function a(e,t,r){const o=await p(e,t,r);await u(o,t,r)}async function l(e,t,r,o,s){const n=await p(r,o,s);await e.update({data:t}),await u(n,o,s)}async function p(e,t,a){if(!t?.resources)return;const l=t.portalItem===e.portalItem?new Set(e.paths):new Set;e.paths.length=0,e.portalItem=t.portalItem;const p=new Set(t.resources.toKeep.map((e=>e.resource.path))),u=new Set,c=[];p.forEach((t=>{l.delete(t),e.paths.push(t)}));const d=[],y=[],h=[];for(const r of t.resources.toUpdate)if(l.delete(r.resource.path),p.has(r.resource.path)||u.has(r.resource.path)){const{resource:t,content:o,finish:s}=r,a=(0,i.bg)(t,(0,n.lk)());e.paths.push(a.path),d.push({resource:a,content:await(0,i.cL)(o),compress:r.compress}),s&&h.push((()=>s(a)))}else{e.paths.push(r.resource.path),y.push({resource:r.resource,content:await(0,i.cL)(r.content),compress:r.compress});const t=r.finish;t&&h.push((()=>t(r.resource))),u.add(r.resource.path)}for(const r of t.resources.toAdd)if(e.paths.push(r.resource.path),l.has(r.resource.path))l.delete(r.resource.path);else{d.push({resource:r.resource,content:await(0,i.cL)(r.content),compress:r.compress});const e=r.finish;e&&h.push((()=>e(r.resource)))}if(d.length||y.length){const{addOrUpdateResources:e}=await Promise.resolve().then(r.bind(r,15804));await e(t.portalItem,d,"add",a),await e(t.portalItem,y,"update",a)}if(h.forEach((e=>e())),0===c.length)return l;const f=await(0,s.Ol)(c);if((0,s.Te)(a),f.length>0)throw new o.A("save:resources","Failed to save one or more resources",{errors:f});return l}async function u(e,t,r){if(!e||!t.portalItem)return;const o=[];for(const s of e){const e=t.portalItem.resourceFromPath(s);o.push(e.portalItem.removeResource(e,r))}await(0,s.Lx)(o)}},26121:(e,t,r)=>{r.d(t,{c:()=>i,d:()=>s});var o=r(49186);async function s(e){const t=[];for(const r of e.allLayers)if("beforeSave"in r&&"function"==typeof r.beforeSave){const e=r.beforeSave();e&&t.push(e)}await Promise.allSettled(t)}const n=new Set(["layer:unsupported","property:unsupported","symbol:unsupported","symbol-layer:unsupported","url:unsupported"]);function i(e,t,r){let s=(e.messages??[]).filter((({type:e})=>"error"===e)).map((({name:e,message:t,details:r})=>new o.A(e,t,r)));if(e.blockedRelativeUrls&&(s=s.concat(e.blockedRelativeUrls.map((e=>new o.A("url:unsupported",`Relative url '${e}' is not supported`))))),r){const{ignoreUnsupported:e,supplementalUnsupportedErrors:t=[],requiredPropertyChecksDisabled:o}=r;e&&(s=s.filter((({name:e})=>!(n.has(e)||t.includes(e))))),o&&(s=s.filter((e=>"web-document-write:property-required"!==e.name)))}if(s.length>0)throw new o.A(t.errorName,"Failed to save due to unsupported or invalid content. See 'details.errors' for more detailed information",{errors:s})}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[6107,9377,3069,9062],{32587:(e,t,r)=>{r.d(t,{A:()=>s});var i=r(62788),n=r(95488);class s{constructor(e){this._observable=new n.I,this._map=new Map(e)}get size(){return(0,i.gc)(this._observable),this._map.size}clear(){this._map.size>0&&(this._map.clear(),this._observable.notify())}delete(e){const t=this._map.delete(e);return t&&this._observable.notify(),t}entries(){return(0,i.gc)(this._observable),this._map.entries()}forEach(e,t){(0,i.gc)(this._observable),this._map.forEach(((r,i)=>e.call(t,r,i,this)),t)}get(e){return(0,i.gc)(this._observable),this._map.get(e)}has(e){return(0,i.gc)(this._observable),this._map.has(e)}keys(){return(0,i.gc)(this._observable),this._map.keys()}set(e,t){return this._map.set(e,t),this._observable.notify(),this}values(){return(0,i.gc)(this._observable),this._map.values()}[Symbol.iterator](){return(0,i.gc)(this._observable),this._map[Symbol.iterator]()}get[Symbol.toStringTag](){return this._map[Symbol.toStringTag]}}},44794:(e,t,r)=>{r.d(t,{v:()=>l});var i=r(4718),n=r(62788),s=r(95488);class o{constructor(e,t){this._observable=new s.I,this._value=e,this._equalityFunction=t}get value(){return(0,n.gc)(this._observable),this._value}set value(e){this._equalityFunction(e,this._value)||(this._value=e,this._observable.notify())}mutate(e){e(this._value),this._observable.notify()}}function l(e,t=i.gh){return new o(e,t)}},39516:(e,t,r)=>{async function i(e,t){const{WhereClause:i}=await Promise.all([r.e(8368),r.e(4800)]).then(r.bind(r,88368));return i.create(e,{fieldsIndex:t})}function n(e,t){return"1=1"===e?t??e:"1=1"===t?e??t:null!=e&&""!==e?null!=t&&""!==t?`(${e}) AND (${t})`:e:t}r.d(t,{G:()=>i,m:()=>n})},3330:(e,t,r)=>{r.d(t,{GB:()=>n,Qo:()=>o,Y4:()=>s});var i=r(96285);class n{}function s(e){return e instanceof i.bo?e===n.instance:"unknown"===e?.toString().toLowerCase()}function o(e){return s(e)?n.instance:e}n.instance=new i.oh("Etc/UTC")},13069:(e,t,r)=>{r.d(t,{lk:()=>n,vD:()=>o,yS:()=>s});const i="randomUUID"in crypto;function n(){if(i)return crypto.randomUUID();const e=crypto.getRandomValues(new Uint16Array(8));e[3]=4095&e[3]|16384,e[4]=16383&e[4]|32768;const t=t=>e[t].toString(16).padStart(4,"0");return t(0)+t(1)+"-"+t(2)+"-"+t(3)+"-"+t(4)+"-"+t(5)+t(6)+t(7)}function s(){return`{${n().toUpperCase()}}`}function o(){return`{${n()}}`}},4197:(e,t,r)=>{r.d(t,{jh:()=>n,l5:()=>o,xm:()=>s});var i=r(34275);function n(e,t=!1){return e<=i.y9?t?new Array(e).fill(0):new Array(e):new Float64Array(e)}function s(e){return((0,i.cy)(e)?e.length:e.byteLength/8)<=i.y9?Array.from(e):new Float64Array(e)}function o(e,t,r){return Array.isArray(e)?e.slice(t,t+r):e.subarray(t,t+r)}},70328:(e,t,r)=>{r.d(t,{BI:()=>F,Ej:()=>g,Ie:()=>M,Jt:()=>b,Ne:()=>_,RF:()=>d,_F:()=>f,aI:()=>Z,fA:()=>o,gE:()=>a,gX:()=>m,hZ:()=>v,iT:()=>p,is:()=>x,qv:()=>I,vI:()=>w,vY:()=>l,v_:()=>T,vt:()=>s,w1:()=>u});var i=r(5443),n=(r(19419),r(4197));function s(e=T){return[e[0],e[1],e[2],e[3],e[4],e[5]]}function o(e,t,r,i,n,o,l=s()){return l[0]=e,l[1]=t,l[2]=r,l[3]=i,l[4]=n,l[5]=o,l}function l(e,t=s()){return function(e,t,r,i=s()){return v(i,I),function(e,t,r=0,i=t.length/3){let n=e[0],s=e[1],o=e[2],l=e[3],a=e[4],u=e[5];for(let e=0;e<i;e++)n=Math.min(n,t[r+3*e]),s=Math.min(s,t[r+3*e+1]),o=Math.min(o,t[r+3*e+2]),l=Math.max(l,t[r+3*e]),a=Math.max(a,t[r+3*e+1]),u=Math.max(u,t[r+3*e+2]);e[0]=n,e[1]=s,e[2]=o,e[3]=l,e[4]=a,e[5]=u}(i,e,t,r),i}(e,0,e.length/3,t)}function a(e,t=(0,n.jh)(24)){const[r,i,s,o,l,a]=e;return t[0]=r,t[1]=i,t[2]=s,t[3]=r,t[4]=i,t[5]=a,t[6]=r,t[7]=l,t[8]=s,t[9]=r,t[10]=l,t[11]=a,t[12]=o,t[13]=i,t[14]=s,t[15]=o,t[16]=i,t[17]=a,t[18]=o,t[19]=l,t[20]=s,t[21]=o,t[22]=l,t[23]=a,t}function u(e,t){const r=isFinite(e[2])||isFinite(e[5]);return new i.A(r?{xmin:e[0],xmax:e[3],ymin:e[1],ymax:e[4],zmin:e[2],zmax:e[5],spatialReference:t}:{xmin:e[0],xmax:e[3],ymin:e[1],ymax:e[4],spatialReference:t})}function d(e,t){e[0]=Math.min(e[0],t[0]),e[1]=Math.min(e[1],t[1]),e[2]=Math.min(e[2],t[2]),e[3]=Math.max(e[3],t[3]),e[4]=Math.max(e[4],t[4]),e[5]=Math.max(e[5],t[5])}function p(e,t){e[0]=Math.min(e[0],t[0]),e[1]=Math.min(e[1],t[1]),e[2]=Math.min(e[2],t[2]),e[3]=Math.max(e[3],t[0]),e[4]=Math.max(e[4],t[1]),e[5]=Math.max(e[5],t[2])}function y(e){return e[0]>=e[3]?0:e[3]-e[0]}function c(e){return e[1]>=e[4]?0:e[4]-e[1]}function h(e){return e[2]>=e[5]?0:e[5]-e[2]}function f(e){const t=y(e),r=h(e),i=c(e);return Math.sqrt(t*t+r*r+i*i)}function m(e,t=[0,0,0]){return t[0]=e[0]+y(e)/2,t[1]=e[1]+c(e)/2,t[2]=e[2]+h(e)/2,t}function g(e,t=[0,0,0]){return t[0]=y(e),t[1]=c(e),t[2]=h(e),t}function _(e,t,r=e){return r[0]=t[0],r[1]=t[1],r[2]=t[2],r!==e&&(r[3]=e[3],r[4]=e[4],r[5]=e[5]),r}function w(e,t,r=e){return r[3]=t[0],r[4]=t[1],r[5]=t[2],r!==e&&(r[0]=e[0],r[1]=e[1],r[2]=e[2]),e}function v(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e}function M(e){return e?v(e,I):s(I)}function b(e,t){return e[0]=t[0],e[1]=t[1],e[2]=Number.NEGATIVE_INFINITY,e[3]=t[2],e[4]=t[3],e[5]=Number.POSITIVE_INFINITY,e}function F(e,t,r,i,n){return e[0]=t,e[1]=r,e[2]=Number.NEGATIVE_INFINITY,e[3]=i,e[4]=n,e[5]=Number.POSITIVE_INFINITY,e}function x(e){return 6===e.length}function Z(e,t,r){if(null==e||null==t)return e===t;if(!x(e)||!x(t))return!1;if(r){for(let i=0;i<e.length;i++)if(!r(e[i],t[i]))return!1}else for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}const I=[1/0,1/0,1/0,-1/0,-1/0,-1/0],T=[0,0,0,0,0,0];s()},79003:(e,t,r)=>{r.r(t),r.d(t,{default:()=>ye});var i=r(90237),n=r(78888),s=r(5503),o=r(49186),l=r(91869),a=r(92071),u=r(74887),d=r(84952),p=r(10107),y=(r(44208),r(53966),r(87811),r(40608)),c=r(4146),h=r(36563),f=r(66344),m=r(32587),g=r(36708),_=r(44794),w=r(56507),v=r(63074),M=r(25036),b=r(10873),F=r(91880),x=r(1873);let Z=class extends((0,M.j)((0,v.dM)((0,a.P)(c.A)))){constructor(e){super(e),this._layerCache=new f.q(20,(e=>e.destroy())),this._oidToReference=new m.A,this._layerToReference=new Map,this.legendEnabled=!0,this.layers=new s.A,this.maximumVisibleSublayers=10,this.opacity=1,this.parent=null,this.persistenceEnabled=!0,this.title="Layers in view",this.type="catalog-dynamic-group",this.visible=!0}initialize(){this.addHandles([this.layers.on("after-add",(({item:e})=>{e.parent=this})),this.layers.on("after-remove",(({item:e})=>{e.parent=null})),(0,g.wB)((()=>this._orderBy),(()=>{this._updateLayerSortValues(),this._sortAllLayers()}))])}load(e){return this.addResolvingPromise(this.parent.load()),Promise.resolve(this)}destroy(){this._layerCache.destroy(),this._oidToReference.clear(),this._layerToReference.clear()}get _orderBy(){return this.parent?this.parent.orderBy?.find((e=>!e.valueExpression&&e.field))??new F.A({field:this.parent.objectIdField}):null}get _referenceComparator(){const e=this._orderBy;if(!this.parent||!e)return()=>0;const t=this.parent.fieldsIndex.get(e.field),r=(0,x.FM)(t?.toJSON().type,"descending"===e.order),i=(0,x.FM)("esriFieldTypeOID","descending"===e.order);return(e,t)=>r(t.sortValue,e.sortValue)||i(t.objectId,e.objectId)}get fullExtent(){return this.parent?.fullExtent??null}get updating(){return(0,l.Bs)(this._oidToReference,(({pending:e})=>null!=e))}acquireLayer(e){if(this.destroyed)return(0,h.hA)();const t=this._getLayerReference(e);return t.count++,(0,h.hA)((()=>{t.count--,t.count||this._destroyLayerReference(t)}))}_getLayerReference(e){const t=e.getObjectId();return(0,l.tE)(this._oidToReference,t,(()=>{const t=e.getObjectId(),r=`${t}`,i=e.getAttribute(this.parent.itemSourceField),n=new T(e,t,i),s=this._layerCache.pop(r);return s?(this._addLayer(n,s),n):(n.pending=this.parent.createLayerFromFootprint(e).then((e=>{n.count?this._addLayer(n,e):(this.destroyed||this._layerCache.get(r)||this._layerCache.put(r,e),n.layer=null)})).catch((()=>{})).finally((()=>{n.pending=null})),n)}))}_destroyLayerReference(e){e.layer&&(this._layerToReference.delete(e.layer),this.layers.remove(e.layer),this.destroyed?e.layer.destroy():this._layerCache.put(`${e.objectId}`,e.layer),e.layer=null),this._oidToReference.delete(e.objectId)}_addLayer(e,t){e.layer=t,t.persistenceEnabled=!1,this._layerToReference.set(t,e),this._updateLayerSortValue(e),this.layers.add(t),this._sortAllLayers()}_updateLayerSortValues(){for(const e of this._layerToReference.values())this._updateLayerSortValue(e)}_updateLayerSortValue(e){this._orderBy&&(e.sortValue=e.footprint.getAttribute(this._orderBy.field))}_sortAllLayers(){this.layers.sort(((e,t)=>this._referenceComparator(this._layerToReference.get(e),this._layerToReference.get(t))))}};(0,i._)([(0,p.MZ)()],Z.prototype,"_orderBy",null),(0,i._)([(0,p.MZ)({readOnly:!0})],Z.prototype,"_referenceComparator",null),(0,i._)([(0,p.MZ)(b.fV)],Z.prototype,"legendEnabled",void 0),(0,i._)([(0,p.MZ)({type:["show","hide","hide-children"],json:{write:!0}})],Z.prototype,"listMode",void 0),(0,i._)([(0,p.MZ)({readOnly:!0})],Z.prototype,"fullExtent",null),(0,i._)([(0,p.MZ)({type:String,json:{origins:{service:{read:!1},"portal-item":{read:!1}},write:{ignoreOrigin:!0}}})],Z.prototype,"id",void 0),(0,i._)([(0,p.MZ)({readOnly:!0})],Z.prototype,"layers",void 0),(0,i._)([(0,p.MZ)({type:w.jz,range:{min:0,max:50},json:{write:!0,default:10}})],Z.prototype,"maximumVisibleSublayers",void 0),(0,i._)([(0,p.MZ)(b.ke)],Z.prototype,"opacity",void 0),(0,i._)([(0,p.MZ)({clonable:!1})],Z.prototype,"parent",void 0),(0,i._)([(0,p.MZ)({type:String,nonNullable:!0,json:{write:{ignoreOrigin:!0,isRequired:!0}}})],Z.prototype,"title",void 0),(0,i._)([(0,p.MZ)({json:{read:!1}})],Z.prototype,"type",void 0),(0,i._)([(0,p.MZ)({readOnly:!0})],Z.prototype,"updating",null),(0,i._)([(0,p.MZ)({type:Boolean,json:{name:"visibility",write:!0}})],Z.prototype,"visible",void 0),Z=(0,i._)([(0,y.$)("esri.layers.catalog.CatalogDynamicGroupLayer")],Z);const I=Z;class T{constructor(e,t,r){this.footprint=e,this.objectId=t,this.itemSource=r,this.count=0,this.layer=null,this.sortValue=void 0,this._pending=(0,_.v)(null)}get pending(){return this._pending.value}set pending(e){this._pending.value=e}}var E=r(13874),S=(r(86162),r(94409),r(65345),r(42980),r(20917),r(92438),r(96576)),O=(r(93618),r(65494),r(15036)),j=r(4718),A=r(35666),R=r(9582),L=r(87718),N=r(30524),P=r(81457),q=r(39383),U=r(30291),B=r(94985);let $=class extends((0,M.j)((0,L.F)((0,v.dM)((0,a.P)(c.A))))){constructor(e){super(e),this.attributeTableTemplate=null,this.charts=null,this.editingEnabled=!0,this.elevationInfo=null,this.formTemplate=null,this.labelingInfo=null,this.labelsVisible=!0,this.legendEnabled=!0,this.maxScale=0,this.minScale=0,this.opacity=1,this.parent=null,this.persistenceEnabled=!0,this.popupEnabled=!0,this.popupTemplate=null,this.title="Footprints",this.type="catalog-footprint",this.visible=!0}load(e){return this.addResolvingPromise(this._doLoad(e)),Promise.resolve(this)}async _doLoad(e){await this.parent.load(e),(0,N.yp)(this.renderer,this.fieldsIndex),this.addHandles([this.parent.on("apply-edits",(e=>this.emit("apply-edits",e))),this.parent.on("edits",(e=>this.emit("edits",e))),this.parent.on("refresh",(e=>this.emit("refresh",e)))])}get apiKey(){return this.parent?.apiKey}get capabilities(){return this.parent?.capabilities}get customParameters(){return this.parent?.customParameters}get dateFieldsTimeZone(){return this.parent?.dateFieldsTimeZone??null}get datesInUnknownTimezone(){return this.parent?.datesInUnknownTimezone??!1}get definitionExpression(){return this.parent?.definitionExpression}get editingInfo(){return this.parent?.editingInfo}get effectiveCapabilities(){return this.parent?.effectiveCapabilities}get createQueryVersion(){return this.parent?.createQueryVersion}get defaultPopupTemplate(){return this.createPopupTemplate()}get displayField(){return this.parent?.displayField}get effectiveEditingEnabled(){return!1}get fields(){return this.parent?.fields}get fieldsIndex(){return this.parent?.fieldsIndex}get fullExtent(){return this.parent?.fullExtent}get geometryFieldsInfo(){return this.parent?.geometryFieldsInfo}get geometryType(){return this.parent?.geometryType}get globalIdField(){return this.parent?.globalIdField}get hasM(){return this.parent?.hasM??!1}get hasZ(){return this.parent?.hasZ??!1}get objectIdField(){return this.parent?.objectIdField}get orderBy(){return this.parent?.orderBy??null}get outFields(){return this.parent?.outFields}get parsedUrl(){return this.parent?.parsedUrl??null}get preferredTimeZone(){return this.parent?.preferredTimeZone??null}set renderer(e){(0,N.yp)(e,this.fieldsIndex),this._set("renderer",e)}get renderer(){return this._isOverridden("renderer")?this._get("renderer"):function(){const e=new B.A({style:"solid",color:[0,0,0,0],outline:{style:"solid",color:[96,96,96,.75],width:.75}});return new S.A({symbol:e})}()}get returnM(){return this.parent?.returnM}get returnZ(){return this.parent?.returnZ}get source(){return this.parent?.source}get timeExtent(){return this.parent?.timeExtent}get timeInfo(){return this.parent?.timeInfo}get timeOffset(){return this.parent?.timeOffset}get typeIdField(){return this.parent?.typeIdField}get types(){return this.parent?.types}get useViewTime(){return this.parent?.useViewTime??!0}get version(){return this.parent?.version}async applyEdits(e,t){return await this.load(),this.parent.applyEdits(e,t)}createPopupTemplate(e){const t={fields:this.fields,objectIdField:this.objectIdField,title:this.title};return(0,U.tn)(t,e)}createQuery(){return this.parent?.createQuery()}getField(e){return this.parent?.getField(e)}getFieldDomain(e,t){return this.parent?.getFieldDomain(e,t)}async queryExtent(e,t){return await this.load(),this.parent.queryExtent(e,t)}async queryFeatures(e,t){return await this.load(),this.parent.queryFeatures(e,t)}async queryFeatureCount(e,t){return await this.load(),this.parent.queryFeatureCount(e,t)}async queryObjectIds(e,t){return await this.load(),this.parent.queryObjectIds(e,t)}};(0,i._)([(0,p.MZ)(b.zQ)],$.prototype,"attributeTableTemplate",void 0),(0,i._)([(0,p.MZ)({readOnly:!0})],$.prototype,"apiKey",null),(0,i._)([(0,p.MZ)({readOnly:!0})],$.prototype,"capabilities",null),(0,i._)([(0,p.MZ)({readOnly:!0})],$.prototype,"customParameters",null),(0,i._)([(0,p.MZ)()],$.prototype,"dateFieldsTimeZone",null),(0,i._)([(0,p.MZ)({readOnly:!0})],$.prototype,"datesInUnknownTimezone",null),(0,i._)([(0,p.MZ)({readOnly:!0})],$.prototype,"definitionExpression",null),(0,i._)([(0,p.MZ)({readOnly:!0})],$.prototype,"editingInfo",null),(0,i._)([(0,p.MZ)({readOnly:!0})],$.prototype,"effectiveCapabilities",null),(0,i._)([(0,p.MZ)({json:{origins:{"web-scene":{write:!1}},write:!0}})],$.prototype,"charts",void 0),(0,i._)([(0,p.MZ)({readOnly:!0})],$.prototype,"createQueryVersion",null),(0,i._)([(0,p.MZ)({readOnly:!0})],$.prototype,"defaultPopupTemplate",null),(0,i._)([(0,p.MZ)()],$.prototype,"displayField",null),(0,i._)([(0,p.MZ)({type:Boolean,nonNullable:!0,json:{name:"enableEditing",write:!0,origins:{"web-scene":{read:!1,write:!1}}}})],$.prototype,"editingEnabled",void 0),(0,i._)([(0,p.MZ)({readOnly:!0})],$.prototype,"effectiveEditingEnabled",null),(0,i._)([(0,p.MZ)((()=>{const e=(0,j.o8)(b.Yj);return e.json.origins["web-map"]={read:!1,write:!1},e})())],$.prototype,"elevationInfo",void 0),(0,i._)([(0,p.MZ)({readOnly:!0})],$.prototype,"fields",null),(0,i._)([(0,p.MZ)({readOnly:!0})],$.prototype,"fieldsIndex",null),(0,i._)([(0,p.MZ)({type:R.A,json:{name:"formInfo",write:!0,origins:{"web-scene":{read:!1,write:!1}}}})],$.prototype,"formTemplate",void 0),(0,i._)([(0,p.MZ)({readOnly:!0})],$.prototype,"fullExtent",null),(0,i._)([(0,p.MZ)({readOnly:!0})],$.prototype,"geometryFieldsInfo",null),(0,i._)([(0,p.MZ)({readOnly:!0})],$.prototype,"geometryType",null),(0,i._)([(0,p.MZ)({readOnly:!0})],$.prototype,"globalIdField",null),(0,i._)([(0,p.MZ)({readOnly:!0})],$.prototype,"hasM",null),(0,i._)([(0,p.MZ)({readOnly:!0})],$.prototype,"hasZ",null),(0,i._)([(0,p.MZ)({type:String,json:{origins:{service:{read:!1},"portal-item":{read:!1}},write:{ignoreOrigin:!0}}})],$.prototype,"id",void 0),(0,i._)([(0,p.MZ)({type:[P.A],json:{name:"layerDefinition.drawingInfo.labelingInfo",read:q.w,write:!0}})],$.prototype,"labelingInfo",void 0),(0,i._)([(0,p.MZ)(b.kF)],$.prototype,"labelsVisible",void 0),(0,i._)([(0,p.MZ)(b.fV)],$.prototype,"legendEnabled",void 0),(0,i._)([(0,p.MZ)({type:["show","hide"],json:{write:!0}})],$.prototype,"listMode",void 0),(0,i._)([(0,p.MZ)((()=>{const e=(0,j.o8)(b.hG);return e.json.origins.service.read=!1,e})())],$.prototype,"maxScale",void 0),(0,i._)([(0,p.MZ)((()=>{const e=(0,j.o8)(b.hn);return e.json.origins.service.read=!1,e})())],$.prototype,"minScale",void 0),(0,i._)([(0,p.MZ)({readOnly:!0})],$.prototype,"objectIdField",null),(0,i._)([(0,p.MZ)(b.ke)],$.prototype,"opacity",void 0),(0,i._)([(0,p.MZ)({readOnly:!0})],$.prototype,"orderBy",null),(0,i._)([(0,p.MZ)({readOnly:!0})],$.prototype,"outFields",null),(0,i._)([(0,p.MZ)({clonable:!1})],$.prototype,"parent",void 0),(0,i._)([(0,p.MZ)({readOnly:!0})],$.prototype,"parsedUrl",null),(0,i._)([(0,p.MZ)(b.M6)],$.prototype,"popupEnabled",void 0),(0,i._)([(0,p.MZ)({type:E.A,json:{name:"popupInfo",write:!0}})],$.prototype,"popupTemplate",void 0),(0,i._)([(0,p.MZ)({readOnly:!0})],$.prototype,"preferredTimeZone",null),(0,i._)([(0,p.MZ)({types:O.H,json:{origins:{"web-scene":{types:O.X}},name:"layerDefinition.drawingInfo.renderer",write:{overridePolicy(e,t){return{ignoreOrigin:this.originIdOf(t)<A.Gr.PORTAL_ITEM}}}}})],$.prototype,"renderer",null),(0,i._)([(0,p.MZ)({readOnly:!0})],$.prototype,"returnM",null),(0,i._)([(0,p.MZ)({readOnly:!0})],$.prototype,"returnZ",null),(0,i._)([(0,p.MZ)({readOnly:!0})],$.prototype,"source",null),(0,i._)([(0,p.MZ)({readOnly:!0})],$.prototype,"timeExtent",null),(0,i._)([(0,p.MZ)({readOnly:!0})],$.prototype,"timeInfo",null),(0,i._)([(0,p.MZ)({readOnly:!0})],$.prototype,"timeOffset",null),(0,i._)([(0,p.MZ)({type:String,nonNullable:!0,json:{write:{ignoreOrigin:!0,isRequired:!0}}})],$.prototype,"title",void 0),(0,i._)([(0,p.MZ)({json:{read:!1}})],$.prototype,"type",void 0),(0,i._)([(0,p.MZ)({readOnly:!0})],$.prototype,"typeIdField",null),(0,i._)([(0,p.MZ)({readOnly:!0})],$.prototype,"types",null),(0,i._)([(0,p.MZ)({readOnly:!0})],$.prototype,"useViewTime",null),(0,i._)([(0,p.MZ)({type:Boolean,json:{name:"visibility",write:!0}})],$.prototype,"visible",void 0),$=(0,i._)([(0,y.$)("esri.layers.catalog.CatalogFootprintLayer")],$);const V=$;var C=r(72593),D=r(52136),G=r(18768),z=r(69208),J=r(47685),k=r(87796),Q=r(16131),Y=r(32756),K=r(8303),H=r(54310),X=r(82935),W=r(15426),ee=r(33143),te=r(17036),re=r(4513),ie=r(91908),ne=r(20655),se=r(80812),oe=r(39131),le=r(61956);const ae=(0,te.p)();function ue(e,t,r,i){const n=e.write({},i);(function(e){if(null==e)return!0;const t=Object.keys(e);return!t.length||1===t.length&&"id"===t[0]})(n)||(t[r]=n)}let de=class extends((0,k.j)((0,J.w6)((0,v.dM)((0,Y.f)((0,X.e)((0,M.j)((0,H.J)((0,G.b)((0,Q.q)((0,K.A)((0,a.P)((0,z.d)((0,D.p)(c.A)))))))))))))){constructor(e){super(e),this.legendEnabled=!0,this._portals=new Map,this._layerToFootprint=new WeakMap,this.drawOrderField="cd_draworder",this.dynamicGroupLayer=new I({parent:this}),this.elevationInfo=null,this.fields=null,this.fieldsIndex=null,this.floorInfo=null,this.footprintLayer=new V({parent:this}),this.itemNameField="cd_itemname",this.itemSourceField="cd_itemsource",this.itemTypeField="cd_itemtype",this.layers=new s.A([this.dynamicGroupLayer,this.footprintLayer]),this.maxScaleField="cd_maxscale",this.minScaleField="cd_minscale",this.orderBy=null,this.outFields=null,this.supportedSourceTypes=new Set(["Catalog Layer"]),this.source=new C.default({layer:this,supportedSourceTypes:this.supportedSourceTypes}),this.type="catalog",this.typeIdField=null,this.types=null}load(e){const t=null!=e?e.signal:null,r=this.loadFromPortal({supportedTypes:["Feature Service"]},e).catch(u.QP).then((async()=>{const{url:e,source:r,portalItem:i}=this;if(!e)throw new o.A("catalog-layer:missing-url","Catalog layer must be created with a url");if(null==this.layerId){const r=await this._fetchFirstValidLayerId(t);if(null==r)throw new o.A("catalog-layer:missing-layerId","There is no Catalog Layer in the service",{service:e});this.layerId=r}await r.load({signal:t});const{sourceJSON:n}=r;n&&(this.sourceJSON=n,this.read(n,{origin:"service",portalItem:i,portal:i?.portal,url:this.parsedUrl}))})).then((()=>{const e=[this.itemNameField,this.itemSourceField,this.itemTypeField,this.minScaleField,this.maxScaleField],t=e.filter((e=>!this.fieldsIndex.has(e)));if(t.length)throw new o.A("catalog-layer:missing-fields","There are missing fields to operate properly",{requiredFields:e,missingFields:t})})).then((()=>(0,W.VA)(this,"load",e)));return this.addResolvingPromise(r),Promise.resolve(this)}destroy(){this.footprintLayer.destroy(),this.dynamicGroupLayer.destroy();for(const e of this._portals.values())e.destroy();this._portals.clear()}get createQueryVersion(){return this.commitProperty("definitionExpression"),this.commitProperty("timeExtent"),this.commitProperty("timeOffset"),this.commitProperty("geometryType"),this.commitProperty("capabilities"),(this._get("createQueryVersion")??0)+1}get editingEnabled(){return this.loaded&&null!=this.capabilities&&this.capabilities.operations.supportsEditing&&this.userHasEditingPrivileges}get effectiveEditingEnabled(){return!1}get parsedUrl(){const e=(0,d.An)(this.url);return null!=e&&null!=this.layerId&&(e.path=(0,d.fj)(e.path,this.layerId.toString())),e}async applyEdits(e,t){return(0,W.ct)(this,e,t)}on(e,t){return super.on(e,t)}async createLayerFromFootprint(e){const t=await this._createLayer(e);return this._configureLayer(t,e),this._layerToFootprint.set(t,e),t}createFootprintFromLayer(e){return this._layerToFootprint.get(e)?.clone()}createQuery(){const e=new le.A,t=this.capabilities?.query;e.returnGeometry=!0,t&&(e.compactGeometryEnabled=t.supportsCompactGeometry,e.defaultSpatialReferenceEnabled=t.supportsDefaultSpatialReference),e.outFields=["*"];const{timeOffset:r,timeExtent:i}=this;return e.timeExtent=null!=r&&null!=i?i.offset(-r.value,r.unit):i||null,e.where=this.definitionExpression||"1=1",e}getFeatureType(e){return(0,W.xd)(this.types,this.typeIdField,e)}getField(e){return this.fieldsIndex.get(e)}getFieldDomain(e,t){const r=t?.feature,i=this.getFeatureType(r);if(i){const t=i.domains&&i.domains[e];if(t&&"inherited"!==t.type)return t}return this.getField(e)?.domain}async hasDataChanged(){return(0,W.jp)(this)}async queryFeatures(e,t){const r=await this.load(),i=await r.source.queryFeatures(le.A.from(e)??r.createQuery(),t);if(i?.features)for(const e of i.features)e.layer=e.sourceLayer=r.footprintLayer;return i}async queryObjectIds(e,t){return(await this.load()).source.queryObjectIds(le.A.from(e)??this.createQuery(),t)}async queryFeatureCount(e,t){return(await this.load()).source.queryFeatureCount(le.A.from(e)??this.createQuery(),t)}async queryExtent(e,t){return(await this.load()).source.queryExtent(le.A.from(e)??this.createQuery(),t)}serviceSupportsSpatialReference(e){return this.loaded&&(0,ie.D)(this,e)}read(e,t){if(super.read(e,t),e){const{footprintLayer:r,dynamicGroupLayer:i}=e;r&&this.footprintLayer.read(r,t),i&&this.dynamicGroupLayer.read(i,t)}}async _fetchFirstValidLayerId(e){const{data:t}=await(0,n.A)(this.url,{query:{f:"json",...this.customParameters,token:this.apiKey},responseType:"json",signal:e});if(Array.isArray(t?.layers))return t.layers.find((({type:e})=>this.supportedSourceTypes.has(e)))?.id}async _createLayer(e){const t=e.getAttribute(this.itemSourceField);if(!t)throw new o.A("catalog-layer:item-source-missing",`The footprint is missing the "${this.itemSourceField}" attribute`);const r=JSON.parse(t);if(function(e){return"object"==typeof e&&null!=e&&"itemId"in e&&"portalUrl"in e}(r)){const{itemId:e,portalUrl:t}=r,i=(0,oe.qG)(t),n=this.portalItem?.portal,s=ne.A.getDefault();let o,a=!0;n&&(0,d.ut)(t,n.url)?o=n:(0,d.ut)(t,s.url)?o=s:(o=(0,l.tE)(this._portals,i,(()=>new ne.A({url:i}))),a=!1);const u=await c.A.fromPortalItem(new se.default({id:e,portal:o}));return a||await pe(u),u}return function(e){return"object"==typeof e&&null!=e&&"url"in e}(r)?c.A.fromArcGISServerUrl({url:r.url}):new(await re.S.UnsupportedLayer())}_configureLayer(e,t){const r=t.getAttribute(this.itemNameField);r&&(e.title=r);const i=t.getAttribute(this.maxScaleField);null!=i&&"maxScale"in e&&(e.maxScale=i);const n=t.getAttribute(this.minScaleField);null!=n&&"minScale"in e&&(e.minScale=n)}};async function pe(e){if("portalItem"in e&&e.portalItem){try{await e.load()}catch{}e.portalItem=null,"group"===e.type&&await Promise.allSettled([...e.layers.map((e=>pe(e))),...e.tables.map((e=>pe(e)))])}}(0,i._)([(0,p.MZ)(b.fV)],de.prototype,"legendEnabled",void 0),(0,i._)([(0,p.MZ)({readOnly:!0})],de.prototype,"createQueryVersion",null),(0,i._)([(0,p.MZ)({readOnly:!0})],de.prototype,"drawOrderField",void 0),(0,i._)([(0,p.MZ)({type:I,readOnly:!0,json:{read:!1,write:{ignoreOrigin:!0,writer:ue}}})],de.prototype,"dynamicGroupLayer",void 0),(0,i._)([(0,p.MZ)({readOnly:!0})],de.prototype,"editingEnabled",null),(0,i._)([(0,p.MZ)({readOnly:!0})],de.prototype,"effectiveEditingEnabled",null),(0,i._)([(0,p.MZ)({json:{origins:{"web-scene":{name:"layerDefinition.elevationInfo",read:!1,write:!1}}}})],de.prototype,"elevationInfo",void 0),(0,i._)([(0,p.MZ)({...ae.fields,readOnly:!0,json:{origins:{service:{read:!0}},read:!1}})],de.prototype,"fields",void 0),(0,i._)([(0,p.MZ)(ae.fieldsIndex)],de.prototype,"fieldsIndex",void 0),(0,i._)([(0,p.MZ)({json:{origins:{"web-scene":{name:"layerDefinition.floorInfo",read:!1,write:!1}}}})],de.prototype,"floorInfo",void 0),(0,i._)([(0,p.MZ)({type:V,readOnly:!0,json:{read:!1,write:{ignoreOrigin:!0,writer:ue}}})],de.prototype,"footprintLayer",void 0),(0,i._)([(0,p.MZ)(b.id)],de.prototype,"id",void 0),(0,i._)([(0,p.MZ)({readOnly:!0})],de.prototype,"itemNameField",void 0),(0,i._)([(0,p.MZ)({readOnly:!0})],de.prototype,"itemSourceField",void 0),(0,i._)([(0,p.MZ)({readOnly:!0})],de.prototype,"itemTypeField",void 0),(0,i._)([(0,p.MZ)({readOnly:!0})],de.prototype,"layers",void 0),(0,i._)([(0,p.MZ)({type:["show","hide","hide-children"]})],de.prototype,"listMode",void 0),(0,i._)([(0,p.MZ)({readOnly:!0})],de.prototype,"maxScaleField",void 0),(0,i._)([(0,p.MZ)({readOnly:!0})],de.prototype,"minScaleField",void 0),(0,i._)([(0,p.MZ)({value:"CatalogLayer",type:["CatalogLayer"]})],de.prototype,"operationalLayerType",void 0),(0,i._)([(0,p.MZ)({json:{origins:{"web-scene":{name:"layerDefinition.orderBy",write:!0,read:!0}}}})],de.prototype,"orderBy",void 0),(0,i._)([(0,p.MZ)(ae.outFields)],de.prototype,"outFields",void 0),(0,i._)([(0,p.MZ)({readOnly:!0})],de.prototype,"parsedUrl",null),(0,i._)([(0,p.MZ)({readOnly:!0})],de.prototype,"source",void 0),(0,i._)([(0,p.MZ)({json:{read:!1}})],de.prototype,"type",void 0),(0,i._)([(0,p.MZ)({type:String})],de.prototype,"typeIdField",void 0),(0,i._)([(0,p.MZ)({type:[ee.A]})],de.prototype,"types",void 0),de=(0,i._)([(0,y.$)("esri.layers.CatalogLayer")],de);const ye=de},87718:(e,t,r)=>{r.d(t,{F:()=>T,Y:()=>I});var i,n=r(90237),s=r(10107),o=(r(44208),r(53966),r(87811),r(40608)),l=r(49186),a=r(25482),u=r(93637),d=r(76369),p=r(59456),y=r(66552),c=r(4718),h=r(61956),f=r(79677);const m=new y.J({esriSpatialRelIntersects:"intersects",esriSpatialRelContains:"contains",esriSpatialRelCrosses:"crosses",esriSpatialRelDisjoint:"disjoint",esriSpatialRelEnvelopeIntersects:"envelope-intersects",esriSpatialRelIndexIntersects:"index-intersects",esriSpatialRelOverlaps:"overlaps",esriSpatialRelTouches:"touches",esriSpatialRelWithin:"within",esriSpatialRelRelation:"relation"}),g=new y.J({esriSRUnit_Meter:"meters",esriSRUnit_Kilometer:"kilometers",esriSRUnit_Foot:"feet",esriSRUnit_StatuteMile:"miles",esriSRUnit_NauticalMile:"nautical-miles",esriSRUnit_USNauticalMile:"us-nautical-miles"});let _=i=class extends a.oY{constructor(e){super(e),this.where=null,this.geometry=null,this.spatialRelationship="intersects",this.distance=void 0,this.objectIds=null,this.units=null,this.timeExtent=null}createQuery(e={}){const{where:t,geometry:r,spatialRelationship:i,timeExtent:n,objectIds:s,units:o,distance:l}=this;return new h.A({geometry:(0,c.o8)(r),objectIds:(0,c.o8)(s),spatialRelationship:i,timeExtent:(0,c.o8)(n),where:t,units:o,distance:l,...e})}clone(){const{where:e,geometry:t,spatialRelationship:r,timeExtent:n,objectIds:s,units:o,distance:l}=this;return new i({geometry:(0,c.o8)(t),objectIds:(0,c.o8)(s),spatialRelationship:r,timeExtent:(0,c.o8)(n),where:e,units:o,distance:l})}};(0,n._)([(0,s.MZ)({type:String,json:{write:!0}})],_.prototype,"where",void 0),(0,n._)([(0,s.MZ)({types:p.yR,json:{write:!0}})],_.prototype,"geometry",void 0),(0,n._)([(0,s.MZ)({type:m.apiValues,json:{name:"spatialRel",read:{reader:m.read},write:{allowNull:!1,writer:m.write,overridePolicy(){return{enabled:null!=this.geometry}}}}})],_.prototype,"spatialRelationship",void 0),(0,n._)([(0,s.MZ)({type:Number,json:{write:{overridePolicy(e){return{enabled:null!=e&&null!=this.geometry}}}}})],_.prototype,"distance",void 0),(0,n._)([(0,s.MZ)({type:[Number],json:{write:!0}})],_.prototype,"objectIds",void 0),(0,n._)([(0,s.MZ)({type:g.apiValues,json:{read:g.read,write:{writer:g.write,overridePolicy(e){return{enabled:null!=e&&null!=this.geometry}}}}})],_.prototype,"units",void 0),(0,n._)([(0,s.MZ)({type:f.A,json:{write:!0}})],_.prototype,"timeExtent",void 0),_=i=(0,n._)([(0,o.$)("esri.layers.support.FeatureFilter")],_);const w=_;var v;const M={read:{reader:d.LF},write:{writer:d.M9,overridePolicy(){return{allowNull:null!=this.excludedEffect,isRequired:null==this.excludedEffect}}}},b={read:{reader:d.LF},write:{writer:d.M9,overridePolicy(){return{allowNull:null!=this.includedEffect,isRequired:null==this.includedEffect}}}},F={name:"showExcludedLabels",default:!0};let x=v=class extends a.oY{constructor(e){super(e),this.filter=null,this.includedEffect=null,this.excludedEffect=null,this.excludedLabelsVisible=!1}write(e,t){const r=super.write(e,t);if(t?.origin){if(r.filter){const e=Object.keys(r.filter);if(e.length>1||"where"!==e[0])return t.messages?.push(new l.A("web-document-write:unsupported-feature-effect","Invalid feature effect 'filter'. A filter can only contain a 'where' property",{layer:t.layer,effect:this})),null}if("showExcludedLabels"in r)return t.messages?.push(new l.A("web-document-write:unsupported-feature-effect","Invalid value for property 'excludedLabelsVisible' which should always be 'true'",{layer:t.layer,effect:this})),null}return r}clone(){return new v({filter:null!=this.filter?this.filter.clone():null,includedEffect:this.includedEffect,excludedEffect:this.excludedEffect,excludedLabelsVisible:this.excludedLabelsVisible})}};(0,n._)([(0,s.MZ)({type:w,json:{write:{allowNull:!0,writer(e,t,r,i){const n=e?.write({},i);n&&0!==Object.keys(n).length?(0,u.sM)(r,n,t):(0,u.sM)(r,null,t)}}}})],x.prototype,"filter",void 0),(0,n._)([(0,s.MZ)({json:{read:d.LF,write:{writer:d.M9,allowNull:!0},origins:{"web-map":M,"portal-item":M}}})],x.prototype,"includedEffect",void 0),(0,n._)([(0,s.MZ)({json:{read:d.LF,write:{writer:d.M9,allowNull:!0},origins:{"web-map":b,"portal-item":b}}})],x.prototype,"excludedEffect",void 0),(0,n._)([(0,s.MZ)({type:Boolean,json:{write:!0,name:"showExcludedLabels",origins:{"web-map":F,"portal-item":F}}})],x.prototype,"excludedLabelsVisible",void 0),x=v=(0,n._)([(0,o.$)("esri.layers.support.FeatureEffect")],x);const Z={write:{allowNull:!0}},I={type:x,json:{origins:{"web-map":Z,"portal-item":Z}}},T=e=>{let t=class extends e{constructor(){super(...arguments),this.featureEffect=null}};return(0,n._)([(0,s.MZ)(I)],t.prototype,"featureEffect",void 0),t=(0,n._)([(0,o.$)("esri.layers.mixins.FeatureEffectLayer")],t),t}},32756:(e,t,r)=>{r.d(t,{f:()=>u,n:()=>a});var i=r(90237),n=r(93637),s=r(10107),o=(r(44208),r(53966),r(87811),r(40608)),l=r(91880);const a={type:[l.A],json:{origins:{"web-scene":{write:!1,read:!1}},name:"layerDefinition.orderBy",read:{reader:function(e,t,r){if(!e)return null;const i=e.find((e=>!!e.field));if(!i)return null;const n=new l.A;return n.read(i,r),[n]}},write:{writer:function(e,t,r,i){const s=e.find((e=>!!e.field));s&&(0,n.sM)(r,[s.toJSON()],t)}}}},u=e=>{let t=class extends e{constructor(){super(...arguments),this.orderBy=null}};return(0,i._)([(0,s.MZ)(a)],t.prototype,"orderBy",void 0),t=(0,i._)([(0,o.$)("esri.layers.mixins.OrderedLayer")],t),t}},82935:(e,t,r)=>{r.d(t,{B:()=>c,e:()=>h});var i=r(90237),n=r(10107),s=(r(44208),r(53966),r(87811),r(36005)),o=r(40608),l=r(89317),a=r(30524),u=r(96184),d=r(73133),p=r(79677),y=r(10184);const c={type:Boolean,json:{read:{source:"timeAnimation"},write:{target:"timeAnimation",layerContainerTypes:l.K}}},h=e=>{let t=class extends e{constructor(){super(...arguments),this.timeExtent=null,this.timeOffset=null,this.useViewTime=!0}readOffset(e,t){const r=t.timeInfo.exportOptions;if(!r)return null;const i=r.timeOffset,n=d.j.fromJSON(r.timeOffsetUnits);return i&&n?new y.A({value:i,unit:n}):null}set timeInfo(e){(0,a.sv)(e,this.fieldsIndex),this._set("timeInfo",e)}};return(0,i._)([(0,n.MZ)({type:p.A,json:{write:!1}})],t.prototype,"timeExtent",void 0),(0,i._)([(0,n.MZ)({type:y.A})],t.prototype,"timeOffset",void 0),(0,i._)([(0,s.w)("service","timeOffset",["timeInfo.exportOptions"])],t.prototype,"readOffset",null),(0,i._)([(0,n.MZ)({value:null,type:u.A,json:{write:!0,origins:{"web-document":{read:!1,write:!1},"portal-item":{read:!1,write:!1}}}})],t.prototype,"timeInfo",null),(0,i._)([(0,n.MZ)(c)],t.prototype,"useViewTime",void 0),t=(0,i._)([(0,o.$)("esri.layers.mixins.TemporalLayer")],t),t}},33143:(e,t,r)=>{r.d(t,{A:()=>c});var i=r(90237),n=r(69540),s=r(25482),o=r(10107),l=(r(44208),r(53966),r(87811),r(36005)),a=r(40608),u=r(43937),d=r(80451),p=r(29005);let y=class extends((0,n.O)(s.oY)){constructor(e){super(e),this.id=null,this.name=null,this.domains=null,this.templates=null}readDomains(e){const t={};for(const r of Object.keys(e))t[r]=(0,d.rS)(e[r]);return t}writeDomains(e,t){const r={};for(const t of Object.keys(e))e[t]&&(r[t]=e[t]?.toJSON());t.domains=r}};(0,i._)([(0,o.MZ)({json:{write:!0}})],y.prototype,"id",void 0),(0,i._)([(0,o.MZ)({json:{write:!0}})],y.prototype,"name",void 0),(0,i._)([(0,o.MZ)({json:{write:!0}})],y.prototype,"domains",void 0),(0,i._)([(0,l.w)("domains")],y.prototype,"readDomains",null),(0,i._)([(0,u.K)("domains")],y.prototype,"writeDomains",null),(0,i._)([(0,o.MZ)({type:[p.A],json:{write:!0}})],y.prototype,"templates",void 0),y=(0,i._)([(0,a.$)("esri.layers.support.FeatureType")],y);const c=y},95466:(e,t,r)=>{r.d(t,{A:()=>y});var i=r(49186),n=r(25482),s=r(53966),o=r(91869),l=r(3330),a=r(30524),u=r(56400),d=r(96285);const p=new Map;class y{static fromJSON(e){return new y(e.fields,e.timeZoneByFieldName)}static fromLayer(e){return new y(e.fields??[],m(e))}static fromLayerJSON(e){return new y(e.fields??[],m(e))}constructor(e=[],t){this._fieldsMap=new Map,this._normalizedFieldsMap=new Map,this._dateFieldsSet=new Set,this._numericFieldsSet=new Set,this._requiredFields=null,this.dateFields=[],this.numericFields=[],this.fields=e||[],this._timeZoneByFieldName=t?new Map(t):null;const r=[];for(const e of this.fields){const t=e?.name,i=h(t);if(t&&i){const n=c(t);this._fieldsMap.set(t,e),this._fieldsMap.set(n,e),this._normalizedFieldsMap.set(i,e),r.push(`${n}:${e.type}:${this._timeZoneByFieldName?.get(t)}`),(0,a.vE)(e)?(this.dateFields.push(e),this._dateFieldsSet.add(e)):(0,a.WA)(e)&&(this._numericFieldsSet.add(e),this.numericFields.push(e)),(0,a.te)(e)||(0,a.Xz)(e)||(e.editable=null==e.editable||!!e.editable,e.nullable=null==e.nullable||!!e.nullable)}}r.sort(),this.uid=r.join()}get requiredFields(){if(!this._requiredFields){this._requiredFields=[];for(const e of this.fields)(0,a.te)(e)||(0,a.Xz)(e)||e.nullable||void 0!==(0,a.lD)(e)||this._requiredFields.push(e)}return this._requiredFields}equals(e){return this.uid===e?.uid}has(e){return null!=this.get(e)}get(e){if(!e)return;let t=this._fieldsMap.get(e);return t||(t=this._fieldsMap.get(c(e))??this._normalizedFieldsMap.get(h(e)),t&&this._fieldsMap.set(e,t),t)}getTimeZone(e){const t=this.get(e&&"string"!=typeof e?e.name:e);return t?this._timeZoneByFieldName?this._timeZoneByFieldName.get(t.name):"date"===t.type||"esriFieldTypeDate"===t.type?(s.A.getLogger("esri.layers.support.FieldsIndex").error(new i.A("getTimeZone:no-timezone-information",`no time zone information for field '${t.name}'`)),u.n$):f.has(t.type)?u.L5:null:null}getLuxonTimeZone(e){const t=this.getTimeZone(e);return t?t===u.L5?l.GB.instance:t===u.n$?d.mQ.utcInstance:(0,o.tE)(p,t,(()=>d.oh.create(t))):null}isDateField(e){return this._dateFieldsSet.has(this.get(e))}isTimeOnlyField(e){return(0,a.OH)(this.get(e))}isNumericField(e){return this._numericFieldsSet.has(this.get(e))}normalizeFieldName(e){return this.get(e)?.name??void 0}toJSON(){return{fields:this.fields.map((e=>(0,n.Wj)(e)?e.toJSON():e)),timeZoneByFieldName:this._timeZoneByFieldName?Array.from(this._timeZoneByFieldName.entries()):null}}}function c(e){return e.trim().toLowerCase()}function h(e){return(0,a.rS)(e)?.toLowerCase()??""}const f=new Set(["time-only","date-only","timestamp-offset","esriFieldTypeDateOnly","esriFieldTypeTimeOnly","esriFieldTypeTimestampOffset"]);function m(e){const t=new Map;if(!e.fields)return t;const r=!0===e.datesInUnknownTimezone,{timeInfo:i,editFieldsInfo:n}=e,s=(i?"startField"in i?i.startField:i.startTimeField:"")??"",o=(i?"endField"in i?i.endField:i.endTimeField:"")??"",l=function(e){return"dateFieldsTimeZone"in e}(e)?e.dateFieldsTimeZone??null:e.dateFieldsTimeReference?(0,u.ZS)(e.dateFieldsTimeReference):null,a=n?function(e){return"timeZone"in e}(n)?n.timeZone??l:n.dateFieldsTimeReference?(0,u.ZS)(n.dateFieldsTimeReference):l??u.n$:null,d=i?function(e){return"timeZone"in e}(i)?i.timeZone??l:i.timeReference?(0,u.ZS)(i.timeReference):l:null,p=new Map([[c(n?.creationDateField??""),a],[c(n?.editDateField??""),a],[c(s),d],[c(o),d]]);for(const{name:i,type:n}of e.fields)if(f.has(n))t.set(i,u.L5);else if("date"!==n&&"esriFieldTypeDate"!==n)t.set(i,null);else if(r)t.set(i,u.L5);else{const e=p.get(c(i??""))??l;t.set(i,e)}return t}},91880:(e,t,r)=>{r.d(t,{A:()=>p});var i,n=r(90237),s=r(66552),o=r(25482),l=r(10107),a=(r(44208),r(53966),r(87811),r(40608));const u=new s.J({asc:"ascending",desc:"descending"});let d=i=class extends o.oY{constructor(e){super(e),this.field=null,this.valueExpression=null,this.order="ascending"}clone(){return new i({field:this.field,valueExpression:this.valueExpression,order:this.order})}};(0,n._)([(0,l.MZ)({type:String,json:{write:!0}})],d.prototype,"field",void 0),(0,n._)([(0,l.MZ)({type:String,json:{write:!0,origins:{"web-scene":{read:!1,write:!1}}}})],d.prototype,"valueExpression",void 0),(0,n._)([(0,l.MZ)({type:u.apiValues,json:{type:u.jsonValues,read:u.read,write:u.write}})],d.prototype,"order",void 0),d=i=(0,n._)([(0,a.$)("esri.layers.support.OrderByInfo")],d);const p=d},96184:(e,t,r)=>{r.d(t,{A:()=>f});var i=r(90237),n=r(69540),s=r(25482),o=r(10107),l=(r(44208),r(53966),r(87811),r(36005)),a=r(40608),u=r(43937),d=r(79677),p=r(10184),y=r(56400);function c(e,t){return p.A.fromJSON({value:e,unit:t})}let h=class extends((0,n.O)(s.oY)){constructor(e){super(e),this.cumulative=!1,this.endField=null,this.fullTimeExtent=null,this.hasLiveData=!1,this.interval=null,this.startField=null,this.timeZone=null,this.trackIdField=null,this.useTime=!0,this.stops=null}readFullTimeExtent(e,t){return t.timeExtent&&Array.isArray(t.timeExtent)&&2===t.timeExtent.length?d.A.fromArray(t.timeExtent):null}writeFullTimeExtent(e,t){null!=e?.start&&null!=e.end?t.timeExtent=e.toArray():t.timeExtent=null}readInterval(e,t){return t.timeInterval&&t.timeIntervalUnits?c(t.timeInterval,t.timeIntervalUnits):t.defaultTimeInterval&&t.defaultTimeIntervalUnits?c(t.defaultTimeInterval,t.defaultTimeIntervalUnits):null}writeInterval(e,t){t.timeInterval=e?.toJSON().value??null,t.timeIntervalUnits=e?.toJSON().unit??null}};(0,i._)([(0,o.MZ)({type:Boolean,json:{name:"exportOptions.timeDataCumulative",write:!0}})],h.prototype,"cumulative",void 0),(0,i._)([(0,o.MZ)({type:String,json:{name:"endTimeField",write:{enabled:!0,allowNull:!0}}})],h.prototype,"endField",void 0),(0,i._)([(0,o.MZ)({type:d.A,json:{write:{enabled:!0,allowNull:!0}}})],h.prototype,"fullTimeExtent",void 0),(0,i._)([(0,l.w)("fullTimeExtent",["timeExtent"])],h.prototype,"readFullTimeExtent",null),(0,i._)([(0,u.K)("fullTimeExtent")],h.prototype,"writeFullTimeExtent",null),(0,i._)([(0,o.MZ)({type:Boolean,json:{write:!0}})],h.prototype,"hasLiveData",void 0),(0,i._)([(0,o.MZ)({type:p.A,json:{write:{enabled:!0,allowNull:!0}}})],h.prototype,"interval",void 0),(0,i._)([(0,l.w)("interval",["timeInterval","timeIntervalUnits","defaultTimeInterval","defaultTimeIntervalUnits"])],h.prototype,"readInterval",null),(0,i._)([(0,u.K)("interval")],h.prototype,"writeInterval",null),(0,i._)([(0,o.MZ)({type:String,json:{name:"startTimeField",write:{enabled:!0,allowNull:!0}}})],h.prototype,"startField",void 0),(0,i._)([(0,o.MZ)((0,y.P6)("timeReference",!0))],h.prototype,"timeZone",void 0),(0,i._)([(0,o.MZ)({type:String,json:{write:{enabled:!0,allowNull:!0}}})],h.prototype,"trackIdField",void 0),(0,i._)([(0,o.MZ)({type:Boolean,json:{name:"exportOptions.useTime",write:!0}})],h.prototype,"useTime",void 0),(0,i._)([(0,o.MZ)({type:[Date],json:{read:!1}})],h.prototype,"stops",void 0),h=(0,i._)([(0,a.$)("esri.layers.support.TimeInfo")],h);const f=h},17036:(e,t,r)=>{r.d(t,{p:()=>a});var i=r(44208),n=r(53966),s=r(20437),o=r(95466),l=r(30524);function a(){return{fields:{type:[s.A],value:null,set:function(e){if(e&&(0,i.A)("big-integer-warning-enabled")){const t=e.filter((e=>"big-integer"===e.type||"oid"===e.type&&(e.length||0)>=8));if(t.length){const e=t.map((e=>`'${e.name}'`)).join(", ");n.A.getLogger(this).warn("#fields",`Layer (title: '${this.title??"no title"}', id: '${this.id??"no id"}') references big-integer field(s): ${e}, support for which is experimental. Only integers less than ${Number.MAX_SAFE_INTEGER} (Number.MAX_SAFE_INTEGER) are supported.`)}}this._set("fields",e)}},fieldsIndex:{readOnly:!0,get(){return o.A.fromLayer(this)}},outFields:{type:[String],json:{read:!1},set:function(e){this._userOutFields=e,this.notifyChange("outFields")},get:function(){const e=this._userOutFields;if(!e?.length)return null;if(e.includes("*"))return["*"];if(!this.fields)return e;for(const t of e){const r=this.fieldsIndex?.has(t);r||n.A.getLogger("esri.layers.support.fieldProperties").error("field-attributes-layer:invalid-field",`Invalid field ${t} found in outFields`,{layer:this,outFields:e})}return(0,l.DB)(this.fieldsIndex,e)}}}}},32730:(e,t,r)=>{r.d(t,{BI:()=>m,D3:()=>h,XJ:()=>f,lc:()=>c,mX:()=>_,rU:()=>g,tH:()=>F});var i=r(799);const n="__begin__",s="__end__",o=new RegExp(n,"ig"),l=new RegExp(s,"ig"),a=new RegExp("^"+n,"i"),u=new RegExp(s+"$","i"),d='"',p=d+" + ",y=" + "+d;function c(e){return e.replaceAll(new RegExp("\\[","g"),"{").replaceAll(new RegExp("\\]","g"),"}")}function h(e){return e.replaceAll(new RegExp("\\{","g"),"[").replaceAll(new RegExp("\\}","g"),"]")}function f(e){const t={expression:"",type:"none"};return e.labelExpressionInfo?e.labelExpressionInfo.value?(t.expression=e.labelExpressionInfo.value,t.type="conventional"):e.labelExpressionInfo.expression&&(t.expression=e.labelExpressionInfo.expression,t.type="arcade"):null!=e.labelExpression&&(t.expression=c(e.labelExpression),t.type="conventional"),t}function m(e){const t=f(e);if(!t)return null;switch(t.type){case"conventional":return _(t.expression);case"arcade":return t.expression}return null}function g(e){const t=f(e);if(!t)return null;switch(t.type){case"conventional":return function(e){const t=e?.match(w);return t?.[1].trim()||null}(t.expression);case"arcade":return F(t.expression)}return null}function _(e){let t;return e?(t=(0,i.HC)(e,(e=>n+'$feature["'+e+'"]'+s)),t=a.test(t)?t.replace(a,""):d+t,t=u.test(t)?t.replace(u,""):t+d,t=t.replaceAll(o,p).replaceAll(l,y)):t='""',t}const w=/^\s*\{([^}]+)\}\s*$/i,v=/^\s*(?:(?:\$feature\.(\w+))|(?:\$feature\[(["'])(.+)(\2)\]));?\s*$/i,M=/^\s*(?:(?:\$feature\.(\w+))|(?:\$feature\[(["'])(.+)(\2)\]));?\s*(?:DomainName\(\s*\$feature\s*,\s*(["'])(\1|\3)(\5)\s*\));?\s*$/i,b=/^\s*(?:DomainName\(\s*\$feature\s*,\s*(["'])(.+)(\1)\s*\));?\s*$/i;function F(e){if(!e)return null;let t=v.exec(e)||M.exec(e);return t?t[1]||t[3]:(t=b.exec(e),t?t[2]:null)}},73133:(e,t,r)=>{r.d(t,{j:()=>i});const i=(0,r(66552).O)()({esriTimeUnitsMilliseconds:"milliseconds",esriTimeUnitsSeconds:"seconds",esriTimeUnitsMinutes:"minutes",esriTimeUnitsHours:"hours",esriTimeUnitsDays:"days",esriTimeUnitsWeeks:"weeks",esriTimeUnitsMonths:"months",esriTimeUnitsYears:"years",esriTimeUnitsDecades:"decades",esriTimeUnitsCenturies:"centuries",esriTimeUnitsUnknown:void 0})},96520:(e,t,r)=>{r.d(t,{u:()=>o});var i=r(83047),n=r(21325);function s(e,t,r){if(null==e.hasM||e.hasZ)for(const e of t)for(const t of e)t.length>2&&(t[2]*=r)}function o(e,t,r){if(!e&&!t||!r)return;const n=(0,i.G9)(r);l(e,r,n),l(t,r,n)}function l(e,t,r){if(e)for(const i of e)a(i.geometry,t,r)}function a(e,t,r){if(!e?.spatialReference||(0,n.aI)(e.spatialReference,t))return;const o=(0,i.G9)(e.spatialReference)/r;if(1!==o)if("x"in e)null!=e.z&&(e.z*=o);else if("rings"in e)s(e,e.rings,o);else if("paths"in e)s(e,e.paths,o);else if("points"in e&&(null==e.hasM||e.hasZ))for(const t of e.points)t.length>2&&(t[2]*=o)}},58501:(e,t,r)=>{r.d(t,{q:()=>n});var i=r(62815);function n(e,t,r){if(!r?.features||!r.hasZ)return;const n=(0,i.N)(r.geometryType,t,e.outSpatialReference);if(null!=n)for(const e of r.features)n(e.geometry)}},22671:(e,t,r)=>{r.d(t,{A:()=>w});var i,n=r(90237),s=r(59456),o=r(52106),l=r(66552),a=r(25482),u=r(4718),d=r(10107),p=(r(44208),r(53966),r(36005)),y=r(40608),c=r(43937),h=r(16930),f=r(65864),m=r(20437);const g=new l.J({esriGeometryPoint:"point",esriGeometryMultipoint:"multipoint",esriGeometryPolyline:"polyline",esriGeometryPolygon:"polygon",esriGeometryEnvelope:"extent",mesh:"mesh","":null});let _=i=class extends a.oY{constructor(e){super(e),this.displayFieldName=null,this.exceededTransferLimit=!1,this.features=[],this.fields=null,this.geometryType=null,this.hasM=!1,this.hasZ=!1,this.queryGeometry=null,this.spatialReference=null}readFeatures(e,t){const r=h.A.fromJSON(t.spatialReference),i=[];for(let t=0;t<e.length;t++){const n=e[t],s=o.A.fromJSON(n),l=n.geometry?.spatialReference;null==s.geometry||l||(s.geometry.spatialReference=r);const a=n.aggregateGeometries,u=s.aggregateGeometries;if(a&&null!=u)for(const e in u){const t=u[e],i=a[e],n=i?.spatialReference;null==t||n||(t.spatialReference=r)}i.push(s)}return i}writeGeometryType(e,t,r,i){if(e)return void g.write(e,t,r,i);const{features:n}=this;if(n)for(const e of n)if(null!=e?.geometry)return void g.write(e.geometry.type,t,r,i)}readQueryGeometry(e,t){if(!e)return null;const r=!!e.spatialReference,i=(0,f.rS)(e);return i&&!r&&t.spatialReference&&(i.spatialReference=h.A.fromJSON(t.spatialReference)),i}writeSpatialReference(e,t){if(e)return void(t.spatialReference=e.toJSON());const{features:r}=this;if(r)for(const e of r)if(e&&null!=e.geometry&&e.geometry.spatialReference)return void(t.spatialReference=e.geometry.spatialReference.toJSON())}clone(){return new i(this.cloneProperties())}cloneProperties(){return(0,u.o8)({displayFieldName:this.displayFieldName,exceededTransferLimit:this.exceededTransferLimit,features:this.features,fields:this.fields,geometryType:this.geometryType,hasM:this.hasM,hasZ:this.hasZ,queryGeometry:this.queryGeometry,spatialReference:this.spatialReference,transform:this.transform})}toJSON(e){const t=this.write();if(t.features&&Array.isArray(e)&&e.length>0)for(let r=0;r<t.features.length;r++){const i=t.features[r];if(i.geometry){const t=e?.[r];i.geometry=t?.toJSON()||i.geometry}}return t}quantize(e){const{scale:[t,r],translate:[i,n]}=e,s=this.features,o=this._getQuantizationFunction(this.geometryType,(e=>Math.round((e-i)/t)),(e=>Math.round((n-e)/r)));for(let e=0,t=s.length;e<t;e++)o?.(s[e].geometry)||(s.splice(e,1),e--,t--);return this.transform=e,this}unquantize(){const{geometryType:e,features:t,transform:r}=this;if(!r)return this;const{translate:[i,n],scale:[s,o]}=r;let l=null,a=null;if(this.hasZ&&null!=r?.scale?.[2]){const{translate:[,,e],scale:[,,t]}=r;l=r=>r*t+e}if(this.hasM&&null!=r?.scale?.[3]){const{translate:[,,,e],scale:[,,,t]}=r;a=r=>null==r?r:r*t+e}const u=this._getHydrationFunction(e,(e=>e*s+i),(e=>n-e*o),l,a);for(const{geometry:e}of t)null!=e&&u&&u(e);return this.transform=null,this}_quantizePoints(e,t,r){let i,n;const s=[];for(let o=0,l=e.length;o<l;o++){const l=e[o];if(o>0){const e=t(l[0]),o=r(l[1]);e===i&&o===n||(s.push([e-i,o-n]),i=e,n=o)}else i=t(l[0]),n=r(l[1]),s.push([i,n])}return s.length>0?s:null}_getQuantizationFunction(e,t,r){return"point"===e?e=>(e.x=t(e.x),e.y=r(e.y),e):"polyline"===e||"polygon"===e?e=>{const i=(0,f.Bi)(e)?e.rings:e.paths,n=[];for(let e=0,s=i.length;e<s;e++){const s=i[e],o=this._quantizePoints(s,t,r);o&&n.push(o)}return n.length>0?((0,f.Bi)(e)?e.rings=n:e.paths=n,e):null}:"multipoint"===e?e=>{const i=this._quantizePoints(e.points,t,r);return i&&i.length>0?(e.points=i,e):null}:"extent"===e?e=>e:null}_getHydrationFunction(e,t,r,i,n){return"point"===e?e=>{e.x=t(e.x),e.y=r(e.y),i&&(e.z=i(e.z))}:"polyline"===e||"polygon"===e?e=>{const s=(0,f.Bi)(e)?e.rings:e.paths;let o,l;for(let e=0,i=s.length;e<i;e++){const i=s[e];for(let e=0,n=i.length;e<n;e++){const n=i[e];e>0?(o+=n[0],l+=n[1]):(o=n[0],l=n[1]),n[0]=t(o),n[1]=r(l)}}if(i&&n)for(let e=0,t=s.length;e<t;e++){const t=s[e];for(let e=0,r=t.length;e<r;e++){const r=t[e];r[2]=i(r[2]),r[3]=n(r[3])}}else if(i)for(let e=0,t=s.length;e<t;e++){const t=s[e];for(let e=0,r=t.length;e<r;e++){const r=t[e];r[2]=i(r[2])}}else if(n)for(let e=0,t=s.length;e<t;e++){const t=s[e];for(let e=0,r=t.length;e<r;e++){const r=t[e];r[2]=n(r[2])}}}:"extent"===e?e=>{e.xmin=t(e.xmin),e.ymin=r(e.ymin),e.xmax=t(e.xmax),e.ymax=r(e.ymax),i&&null!=e.zmax&&null!=e.zmin&&(e.zmax=i(e.zmax),e.zmin=i(e.zmin)),n&&null!=e.mmax&&null!=e.mmin&&(e.mmax=n(e.mmax),e.mmin=n(e.mmin))}:"multipoint"===e?e=>{const s=e.points;let o,l;for(let e=0,i=s.length;e<i;e++){const i=s[e];e>0?(o+=i[0],l+=i[1]):(o=i[0],l=i[1]),i[0]=t(o),i[1]=r(l)}if(i&&n)for(let e=0,t=s.length;e<t;e++){const t=s[e];t[2]=i(t[2]),t[3]=n(t[3])}else if(i)for(let e=0,t=s.length;e<t;e++){const t=s[e];t[2]=i(t[2])}else if(n)for(let e=0,t=s.length;e<t;e++){const t=s[e];t[2]=n(t[2])}}:null}};(0,n._)([(0,d.MZ)({type:String,json:{write:!0}})],_.prototype,"displayFieldName",void 0),(0,n._)([(0,d.MZ)({type:Boolean,json:{write:{overridePolicy:e=>({enabled:e})}}})],_.prototype,"exceededTransferLimit",void 0),(0,n._)([(0,d.MZ)({type:[o.A],json:{write:!0}})],_.prototype,"features",void 0),(0,n._)([(0,p.w)("features")],_.prototype,"readFeatures",null),(0,n._)([(0,d.MZ)({type:[m.A],json:{write:!0}})],_.prototype,"fields",void 0),(0,n._)([(0,d.MZ)({type:["point","multipoint","polyline","polygon","extent","mesh"],json:{read:{reader:g.read}}})],_.prototype,"geometryType",void 0),(0,n._)([(0,c.K)("geometryType")],_.prototype,"writeGeometryType",null),(0,n._)([(0,d.MZ)({type:Boolean,json:{write:{overridePolicy:e=>({enabled:e})}}})],_.prototype,"hasM",void 0),(0,n._)([(0,d.MZ)({type:Boolean,json:{write:{overridePolicy:e=>({enabled:e})}}})],_.prototype,"hasZ",void 0),(0,n._)([(0,d.MZ)({types:s.yR,json:{write:!0}})],_.prototype,"queryGeometry",void 0),(0,n._)([(0,p.w)("queryGeometry")],_.prototype,"readQueryGeometry",null),(0,n._)([(0,d.MZ)({type:h.A,json:{write:!0}})],_.prototype,"spatialReference",void 0),(0,n._)([(0,c.K)("spatialReference")],_.prototype,"writeSpatialReference",null),(0,n._)([(0,d.MZ)({json:{write:!0}})],_.prototype,"transform",void 0),_=i=(0,n._)([(0,y.$)("esri.rest.support.FeatureSet")],_),_.prototype.toJSON.isDefaultToJSON=!0;const w=_},10184:(e,t,r)=>{r.d(t,{A:()=>y});var i=r(90237),n=r(69540),s=r(25482),o=r(88930),l=r(10107),a=(r(44208),r(53966),r(87811),r(93223)),u=r(40608),d=r(73133);let p=class extends((0,n.O)(s.oY)){constructor(e){super(e),this.unit="milliseconds",this.value=0}toMilliseconds(){return(0,o.t)(this.value,this.unit,"milliseconds")}};(0,i._)([(0,a.e)(d.j,{nonNullable:!0})],p.prototype,"unit",void 0),(0,i._)([(0,l.MZ)({type:Number,json:{write:!0},nonNullable:!0})],p.prototype,"value",void 0),p=(0,i._)([(0,u.$)("esri.time.TimeInterval")],p);const y=p}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[8958,3069],{39516:(e,t,r)=>{async function i(e,t){const{WhereClause:i}=await Promise.all([r.e(8368),r.e(4800)]).then(r.bind(r,88368));return i.create(e,{fieldsIndex:t})}function n(e,t){return"1=1"===e?t??e:"1=1"===t?e??t:null!=e&&""!==e?null!=t&&""!==t?`(${e}) AND (${t})`:e:t}r.d(t,{G:()=>i,m:()=>n})},3330:(e,t,r)=>{r.d(t,{GB:()=>n,Qo:()=>o,Y4:()=>s});var i=r(96285);class n{}function s(e){return e instanceof i.bo?e===n.instance:"unknown"===e?.toString().toLowerCase()}function o(e){return s(e)?n.instance:e}n.instance=new i.oh("Etc/UTC")},13069:(e,t,r)=>{r.d(t,{lk:()=>n,vD:()=>o,yS:()=>s});const i="randomUUID"in crypto;function n(){if(i)return crypto.randomUUID();const e=crypto.getRandomValues(new Uint16Array(8));e[3]=4095&e[3]|16384,e[4]=16383&e[4]|32768;const t=t=>e[t].toString(16).padStart(4,"0");return t(0)+t(1)+"-"+t(2)+"-"+t(3)+"-"+t(4)+"-"+t(5)+t(6)+t(7)}function s(){return`{${n().toUpperCase()}}`}function o(){return`{${n()}}`}},59929:(e,t,r)=>{r.r(t),r.d(t,{default:()=>Ae});var i=r(90237),n=r(69540),s=r(5503),o=r(49186),l=r(81583),a=r(92071),u=r(74887),d=r(36708),p=r(39516),y=r(84952),c=r(10107),h=(r(44208),r(53966)),f=(r(87811),r(36005)),m=r(40608),b=r(4146),g=r(52136),w=r(18768),F=r(63074),v=r(69208),_=r(47685),S=r(87796),A=r(16131),I=r(8303),M=r(54310),Z=r(25036),O=r(82935),T=r(60694),x=r(10873),E=r(15426),j=r(17036),C=r(30524),L=r(86162),$=(r(94409),r(65345),r(42980),r(20917),r(92438)),q=r(96576),R=r(93618),N=(r(65494),r(85334)),P=r(90360),D=r(62046),G=r(37531);const V={key:"type",base:$.A,errorContext:"renderer",typeMap:{simple:q.A,"unique-value":R.A,"class-breaks":L.A}},U=(0,P.C)({types:V}),k=["#ed5151","#149ece","#a7c636","#9e559c","#fc921f","#ffde3e","#f789d8","#b7814a","#3caf99","#6b6bd6","#b54779","#7f7f7f"];var B=r(13874),H=r(4902),Q=r(4718),X=r(92474),z=r(93637),J=r(43937),W=r(9582),K=r(16930),Y=r(29005),ee=r(81457),te=r(39383),re=r(61956),ie=r(30291),ne=r(59868),se=r(61019);const oe=(0,j.p)();let le=0;function ae(e){const t=e.json.write;return"object"==typeof t?t.ignoreOrigin=!0:e.json.write={ignoreOrigin:!0},e}function ue(e){switch(e){case"point":case"multipoint":return ne.UK.clone();case"polyline":return ne.A7.clone();case"polygon":case"multipatch":return ne.Cx.clone();default:return null}}function de(e,t){return null==e?null:t.subtypes?.find((t=>t.code===e))}function pe(e,t){let r=null;switch(t.geometryType){case"esriGeometryPoint":case"esriGeometryMultipoint":r="point";break;case"esriGeometryPolyline":r="line";break;case"esriGeometryPolygon":case"esriGeometryMultiPatch":r="polygon";break;default:t.type,r=null}const i={},n=de(e,t);if(null!=n){const{defaultValues:e}=n;for(const t in e)i[t]=e[t]}return i[t.subtypeField]=e,new Y.A({name:"New Feature",drawingTool:r,prototype:{attributes:i}})}let ye=class extends((0,a.P)((0,n.O)((0,H.sA)(X.A)))){constructor(e){super(e),this.attributeTableTemplate=null,this.charts=null,this.editingEnabled=!0,this.fieldOverrides=null,this.fieldsIndex=null,this.formTemplate=null,this.id=`${Date.now().toString(16)}-subtype-sublayer-${le++}`,this.type="subtype-sublayer",this.labelsVisible=!0,this.labelingInfo=null,this.layerType="ArcGISFeatureLayer",this.legendEnabled=!0,this.listMode="show",this.minScale=0,this.maxScale=0,this.opacity=1,this.parent=null,this.popupEnabled=!0,this.popupTemplate=null,this.subtypeCode=null,this.templates=null,this.title=null,this.visible=!0}load(e){return(0,C.yp)(this.renderer,this.fieldsIndex),Promise.resolve(this)}get capabilities(){return this.parent?.capabilities}get effectiveCapabilities(){return this.parent?.effectiveCapabilities}get effectiveEditingEnabled(){const{parent:e}=this;return e?e.effectiveEditingEnabled&&this.editingEnabled:this.editingEnabled}get elevationInfo(){return this.parent?.elevationInfo}writeFieldOverrides(e,t,r){const{fields:i,parent:n}=this;let s;if(i){s=[];let e=0;i.forEach((({name:t,alias:r,editable:i,visible:o})=>{if(!o)return;const l=n?.fields?.find((e=>e.name===t));if(!l)return;const a={name:t};let u=!1;r!==l.alias&&(a.alias=r,u=!0),i!==l.editable&&(a.editable=i,u=!0),s.push(a),u&&e++})),0===e&&s.length===i.length&&(s=null)}else s=(0,Q.o8)(e);s?.length&&(0,z.sM)(r,s,t)}get fields(){const{parent:e,fieldOverrides:t,subtypeCode:r}=this,i=e?.fields;if(!e||!i?.length)return null;const{subtypes:n,subtypeField:s}=e,o=n?.find((e=>e.code===r)),l=o?.defaultValues,a=o?.domains,u=[];for(const e of i){const i=e.clone(),{name:n}=i,o=t?.find((e=>e.name===n));if(i.visible=!t||!!o,o){const{alias:e,editable:t}=o;e&&(i.alias=e),!1===t&&(i.editable=!1)}const d=l?.[n]??null;i.defaultValue=n===s?r:d;const p=a?.[n]??null;i.domain=n===s?null:p?"inherited"===p.type?i.domain:p.clone():null,u.push(i)}return u}get floorInfo(){return this.parent?.floorInfo}get geometryType(){return this.parent?.geometryType}get effectiveScaleRange(){const{minScale:e,maxScale:t}=this;return{minScale:e,maxScale:t}}get objectIdField(){return this.parent||h.A.getLogger(this).error(fe("objectIdField")),this.parent?.objectIdField}get defaultPopupTemplate(){return this.createPopupTemplate()}get relationships(){return this.parent?.relationships}set renderer(e){(0,C.yp)(e,this.fieldsIndex),this._override("renderer",e)}get renderer(){if(this._isOverridden("renderer"))return this._get("renderer");const{parent:e}=this;return e&&!e.isTable&&"mesh"!==e.geometryType?function(e){return new q.A({symbol:ue(e)})}(e.geometryType):null}readRendererFromService(e,t,r){if("Table"===t.type)return null;const i=t.drawingInfo?.renderer,n=U(i,t,r);let s;const{subtypeCode:o}=this;if(null!=o&&function(e,t){return!(!t||"unique-value"!==e?.type||null==e.field||e.field.toLowerCase()!==t.toLowerCase()||e.field2||e.field3||e.valueExpression)}(n,t.subtypeField)){const e=n.uniqueValueInfos?.find((({value:e})=>(e="number"==typeof e?String(e):e)===String(o)));e&&(s=new q.A({symbol:e.symbol}))}else"simple"!==n?.type||n.visualVariables?.length||(s=n);return s}readRenderer(e,t,r){const i=t?.layerDefinition?.drawingInfo?.renderer;if(!i)return;const n=i.visualVariables?.some((e=>"rotationInfo"!==e.type));return n?void 0:U(i,t,r)||void 0}get spatialReference(){return this.parent?.spatialReference??K.A.WGS84}get subtypeField(){return this.parent?.subtypeField}readTemplatesFromService(e,t){return[pe(this.subtypeCode,t)]}readTitleFromService(e,t){const r=de(this.subtypeCode,t);return null!=r?r.name:null}get url(){return this.parent?.url}get userHasUpdateItemPrivileges(){return!!this.parent?.userHasUpdateItemPrivileges}async addAttachment(e,t){const{parent:r}=this;if(!r)throw fe("addAttachment");if(e.getAttribute(r.subtypeField)!==this.subtypeCode)throw new o.A("subtype-sublayer:addAttachment","The feature provided does not belong to this SubtypeSublayer");return r.addAttachment(e,t)}async updateAttachment(e,t,r){const{parent:i}=this;if(!i)throw fe("updateAttachment");if(e.getAttribute(i.subtypeField)!==this.subtypeCode)throw new o.A("subtype-sublayer:updateAttachment","The feature provided does not belong to this SubtypeSublayer");return i.updateAttachment(e,t,r)}async deleteAttachments(e,t){const{parent:r}=this;if(!r)throw fe("deleteAttachments");if(e.getAttribute(r.subtypeField)!==this.subtypeCode)throw new o.A("subtype-sublayer:deleteAttachments","The feature provided does not belong to this SubtypeSublayer");return r.deleteAttachments(e,t)}async applyEdits(e,t){if(!this.parent)throw fe("applyEdits");return this.parent.applyEdits(e,t)}createPopupTemplate(e){let t=this;const{parent:r,fields:i,title:n}=this;if(r){const{displayField:e,editFieldsInfo:s,objectIdField:o}=r;t={displayField:e,editFieldsInfo:s,fields:i,objectIdField:o,title:n}}return(0,ie.tn)(t,e)}createQuery(){if(!this.parent)throw fe("createQuery");const e=(0,E.VZ)(this.parent),t=`${this.parent.subtypeField}=${this.subtypeCode}`;return e.where=(0,p.m)(t,this.parent.definitionExpression),e}getField(e){return this.fieldsIndex.get(e)}getFieldDomain(e,t){if(!t?.excludeImpliedDomains&&this.parent){const t=(0,E.pc)(this.parent,e);if(t)return t}return this._getLayerDomain(e)}async queryAttachments(e,t){const r=await this.load();if(!r.parent)throw fe("queryAttachments");const i=e.clone();return i.where=he(i.where,r.parent.subtypeField,r.subtypeCode),r.parent.queryAttachments(e,t)}async queryFeatureCount(e,t){const r=await this.load();if(!r.parent)throw fe("queryFeatureCount");return r.parent.queryFeatureCount(ce(r.parent,r,e),t)}async queryFeatures(e,t){const r=await this.load();if(!r.parent)throw fe("queryFeatures");return r.parent.queryFeatures(ce(r.parent,r,e),t)}async queryObjectIds(e,t){const r=await this.load();if(!r.parent)throw fe("queryObjectIds");return r.parent.queryObjectIds(ce(r.parent,r,e),t)}async queryRelatedFeatures(e,t){const r=await this.load();if(!r.parent)throw fe("queryRelatedFeatures");return r.parent.queryRelatedFeatures(e,t)}async queryRelatedFeaturesCount(e,t){const r=await this.load();if(!r.parent)throw fe("queryRelatedFeaturesCount");return r.parent.queryRelatedFeaturesCount(e,t)}_getLayerDomain(e){const t=this.fieldsIndex.get(e);return t?t.domain:null}};(0,i._)([(0,c.MZ)({type:se.A,json:{name:"attributeTableInfo",write:{ignoreOrigin:!0}}})],ye.prototype,"attributeTableTemplate",void 0),(0,i._)([(0,c.MZ)({readOnly:!0,json:{read:!1}})],ye.prototype,"capabilities",null),(0,i._)([(0,c.MZ)({readOnly:!0,json:{read:!1}})],ye.prototype,"effectiveCapabilities",null),(0,i._)([(0,c.MZ)({json:{write:{ignoreOrigin:!0}}})],ye.prototype,"charts",void 0),(0,i._)([(0,c.MZ)({type:Boolean,nonNullable:!0,json:{name:"enableEditing",write:{ignoreOrigin:!0}}})],ye.prototype,"editingEnabled",void 0),(0,i._)([(0,c.MZ)({type:Boolean,readOnly:!0})],ye.prototype,"effectiveEditingEnabled",null),(0,i._)([(0,c.MZ)({readOnly:!0,json:{read:!1}})],ye.prototype,"elevationInfo",null),(0,i._)([(0,c.MZ)({json:{name:"layerDefinition.fieldOverrides",origins:{service:{read:!1}},write:{ignoreOrigin:!0,allowNull:!0}}})],ye.prototype,"fieldOverrides",void 0),(0,i._)([(0,J.K)("fieldOverrides")],ye.prototype,"writeFieldOverrides",null),(0,i._)([(0,c.MZ)({...oe.fields,readOnly:!0,json:{read:!1}})],ye.prototype,"fields",null),(0,i._)([(0,c.MZ)(oe.fieldsIndex)],ye.prototype,"fieldsIndex",void 0),(0,i._)([(0,c.MZ)({readOnly:!0,json:{read:!1}})],ye.prototype,"floorInfo",null),(0,i._)([(0,c.MZ)({type:W.A,json:{name:"formInfo",write:{ignoreOrigin:!0}}})],ye.prototype,"formTemplate",void 0),(0,i._)([(0,c.MZ)({type:String,clonable:!1,json:{origins:{service:{read:!1},"portal-item":{read:!1}},write:{ignoreOrigin:!0}}})],ye.prototype,"id",void 0),(0,i._)([(0,c.MZ)({readOnly:!0,json:{read:!1}})],ye.prototype,"geometryType",null),(0,i._)([(0,c.MZ)({readOnly:!0,json:{read:!1}})],ye.prototype,"type",void 0),(0,i._)([(0,c.MZ)(ae((0,Q.o8)(x.kF)))],ye.prototype,"labelsVisible",void 0),(0,i._)([(0,c.MZ)({type:[ee.A],json:{name:"layerDefinition.drawingInfo.labelingInfo",origins:{service:{read:!1}},read:{reader:te.w},write:{ignoreOrigin:!0}}})],ye.prototype,"labelingInfo",void 0),(0,i._)([(0,c.MZ)({type:["ArcGISFeatureLayer"],readOnly:!0,json:{read:!1,write:{ignoreOrigin:!0}}})],ye.prototype,"layerType",void 0),(0,i._)([(0,c.MZ)(ae((0,Q.o8)(x.fV)))],ye.prototype,"legendEnabled",void 0),(0,i._)([(0,c.MZ)({type:["show","hide"]})],ye.prototype,"listMode",void 0),(0,i._)([(0,c.MZ)((()=>{const e=(0,Q.o8)(x.hn);return e.json.origins.service.read=!1,ae(e)})())],ye.prototype,"minScale",void 0),(0,i._)([(0,c.MZ)((()=>{const e=(0,Q.o8)(x.hG);return e.json.origins.service.read=!1,ae(e)})())],ye.prototype,"maxScale",void 0),(0,i._)([(0,c.MZ)({readOnly:!0})],ye.prototype,"effectiveScaleRange",null),(0,i._)([(0,c.MZ)({readOnly:!0,json:{read:!1}})],ye.prototype,"objectIdField",null),(0,i._)([(0,c.MZ)({type:Number,range:{min:0,max:1},nonNullable:!0,json:{write:{ignoreOrigin:!0}}})],ye.prototype,"opacity",void 0),(0,i._)([(0,c.MZ)({clonable:!1})],ye.prototype,"parent",void 0),(0,i._)([(0,c.MZ)(ae((0,Q.o8)(x.M6)))],ye.prototype,"popupEnabled",void 0),(0,i._)([(0,c.MZ)({type:B.A,json:{name:"popupInfo",write:{ignoreOrigin:!0}}})],ye.prototype,"popupTemplate",void 0),(0,i._)([(0,c.MZ)({readOnly:!0})],ye.prototype,"defaultPopupTemplate",null),(0,i._)([(0,c.MZ)({readOnly:!0,json:{read:!1}})],ye.prototype,"relationships",null),(0,i._)([(0,c.MZ)({types:V,json:{write:{target:"layerDefinition.drawingInfo.renderer",ignoreOrigin:!0}}})],ye.prototype,"renderer",null),(0,i._)([(0,f.w)("service","renderer",["drawingInfo.renderer","subtypeField","type"])],ye.prototype,"readRendererFromService",null),(0,i._)([(0,f.w)("renderer",["layerDefinition.drawingInfo.renderer"])],ye.prototype,"readRenderer",null),(0,i._)([(0,c.MZ)({readOnly:!0,json:{read:!1}})],ye.prototype,"spatialReference",null),(0,i._)([(0,c.MZ)({type:Number,json:{origins:{service:{read:!1}},write:{ignoreOrigin:!0}}})],ye.prototype,"subtypeCode",void 0),(0,i._)([(0,c.MZ)({readOnly:!0,json:{read:!1}})],ye.prototype,"subtypeField",null),(0,i._)([(0,c.MZ)({type:[Y.A],json:{name:"layerDefinition.templates",write:{ignoreOrigin:!0}}})],ye.prototype,"templates",void 0),(0,i._)([(0,f.w)("service","templates",["geometryType","subtypeField","subtypes","type"])],ye.prototype,"readTemplatesFromService",null),(0,i._)([(0,c.MZ)({type:String,json:{write:{ignoreOrigin:!0}}})],ye.prototype,"title",void 0),(0,i._)([(0,f.w)("service","title",["subtypes"])],ye.prototype,"readTitleFromService",null),(0,i._)([(0,c.MZ)({readOnly:!0,json:{read:!1}})],ye.prototype,"url",null),(0,i._)([(0,c.MZ)({readOnly:!0})],ye.prototype,"userHasUpdateItemPrivileges",null),(0,i._)([(0,c.MZ)({type:Boolean,nonNullable:!0,json:{name:"visibility",write:{ignoreOrigin:!0}}})],ye.prototype,"visible",void 0),ye=(0,i._)([(0,m.$)("esri.layers.support.SubtypeSublayer")],ye);const ce=(e,t,r)=>{if(!r)return t.createQuery();const i=re.A.from(r);return i.where=he(i.where,e.subtypeField,t.subtypeCode),i},he=(e,t,r)=>{const i=new RegExp(`${t}\\s*=\\s*\\d+`),n=`${t}=${r}`,s=e??"";return i.test(s)?s.replace(i,n):(0,p.m)(n,s)},fe=e=>new o.A(`This sublayer must have a parent SubtypeGroupLayer in order to use ${e}`),me=ye;var be=r(96184),ge=r(91908),we=r(92935);const Fe="SubtypeGroupLayer";function ve(e,t){return new o.A("layer:unsupported",`Layer (${e.title}, ${e.id}) of type '${e.declaredClass}' ${t}`,{layer:e})}const _e=(0,j.p)();let Se=class extends((0,S.j)((0,_.w6)((0,F.dM)((0,O.e)((0,Z.j)((0,M.J)((0,w.b)((0,A.q)((0,I.A)((0,a.P)((0,v.d)((0,g.p)((0,n.O)(b.A)))))))))))))){constructor(...e){super(...e),this._sublayerLookup=new Map,this.fields=null,this.fieldsIndex=null,this.outFields=null,this.sublayers=new(s.A.ofType(me)),this.useUniqueColorsForSublayers=!0,this.supportedSourceTypes=new Set(["Feature Layer"]),this.timeInfo=null,this.title="Layer",this.type="subtype-group",this._debouncedSaveOperations=(0,u.sg)((async(e,t,i)=>{const{save:n,saveAs:s}=await r.e(5740).then(r.bind(r,33359));switch(e){case we.X.SAVE:return n(this,t);case we.X.SAVE_AS:return s(this,i,t)}})),this.addHandles((0,d.wB)((()=>this.sublayers),((e,t)=>this._handleSublayersChange(e,t)),d.OH))}destroy(){this.source?.destroy()}normalizeCtorArgs(e,t){return"string"==typeof e?{url:e,...t}:e}load(e){const t=null!=e?e.signal:null,r=this.loadFromPortal({supportedTypes:["Feature Service"]},e).catch(u.QP).then((async()=>{if(!this.url)throw new o.A("subtype-grouplayer:missing-url-or-source","SubtypeGroupLayer must be created with either a url or a portal item");if(null==this.layerId)throw new o.A("subtype-grouplayer:missing-layerid","layerId is required for a SubtypeGroupLayer created with url");return this._initLayerProperties(await this.createGraphicsSource(t))})).then((()=>(0,E.VA)(this,"load",e)));return this.addResolvingPromise(r),Promise.resolve(this)}get createQueryVersion(){return this.commitProperty("definitionExpression"),this.commitProperty("timeExtent"),this.commitProperty("timeOffset"),this.commitProperty("geometryType"),this.commitProperty("gdbVersion"),this.commitProperty("historicMoment"),this.commitProperty("returnZ"),this.commitProperty("capabilities"),this.commitProperty("returnM"),(this._get("createQueryVersion")??0)+1}get editingEnabled(){return this.loaded&&null!=this.capabilities&&this.capabilities.operations.supportsEditing&&this.userHasEditingPrivileges}get effectiveEditingEnabled(){return(0,E.C$)(this)}get parsedUrl(){const e=(0,y.An)(this.url);return null!=e&&null!=this.layerId&&(e.path=(0,y.fj)(e.path,this.layerId.toString())),e}set source(e){this._get("source")!==e&&this._set("source",e)}readTitleFromService(e,{name:t}){return this.url?(0,T.yG)(this.url,t):t}async addAttachment(e,t){return(0,E.Xl)(this,e,t,Fe)}async updateAttachment(e,t,r){return(0,E.bt)(this,e,t,r,Fe)}async applyEdits(e,t){return(0,E.ct)(this,e,t)}on(e,t){return super.on(e,t)}async createGraphicsSource(e){const{default:t}=await(0,u.qr)(Promise.all([r.e(893),r.e(8132),r.e(2593),r.e(9062)]).then(r.bind(r,72593)),e);return new t({layer:this,supportedSourceTypes:this.supportedSourceTypes}).load({signal:e})}createQuery(){const e=(0,E.VZ)(this),t=this.sublayers.map((e=>e.subtypeCode));return e.where=(0,p.m)(`${this.subtypeField} IN (${t.join(",")})`,this.definitionExpression),e}async deleteAttachments(e,t){return(0,E.mm)(this,e,t,Fe)}async fetchRecomputedExtents(e){return(0,E.WP)(this,e,Fe)}findSublayerForFeature(e){const t=this.fieldsIndex.get(this.subtypeField),r=e.attributes[t.name];return this.findSublayerForSubtypeCode(r)}findSublayerForSubtypeCode(e){return this._sublayerLookup.get(e)}getFieldDomain(e,t){if(!t?.excludeImpliedDomains){const t=(0,E.pc)(this,e);if(t)return t}const r=(0,E.Nv)(this,t?.feature);if(r){const t=r.domains?.[e];return"inherited"===t?.type?this._getLayerDomain(e):t}return this._getLayerDomain(e)}getField(e){return this.fieldsIndex.get(e)}loadAll(){return(0,l.g)(this,(e=>{e(this.sublayers)}))}async queryAttachments(e,t){return(0,E.lV)(this,e,t,Fe)}async queryFeatures(e,t){const r=await this.load(),i=re.A.from(e)??r.createQuery(),n=i.outFields??[];n.includes(this.subtypeField)||(n.push(this.subtypeField),i.outFields=n);const s=await r.source.queryFeatures(i,t);if(s?.features)for(const e of s.features)e.layer=e.sourceLayer=this.findSublayerForFeature(e);return s}async queryObjectIds(e,t){return(0,E.sg)(this,e,t,Fe)}async queryFeatureCount(e,t){return(0,E.Ye)(this,e,t,Fe)}async queryExtent(e,t){return(0,E.B5)(this,e,t,Fe)}async queryRelatedFeatures(e,t){return(0,E.hM)(this,e,t,Fe)}async queryRelatedFeaturesCount(e,t){return(0,E.S2)(this,e,t,Fe)}async save(e){return this._debouncedSaveOperations(we.X.SAVE,e)}async saveAs(e,t){return this._debouncedSaveOperations(we.X.SAVE_AS,t,e)}write(e,t){const{origin:r,layerContainerType:i,messages:n}=t;if(this.isTable){if("web-scene"===r||"web-map"===r&&"tables"!==i)return n?.push(ve(this,"using a table source cannot be written to web scenes and web maps")),null}else if(this.loaded&&"web-map"===r&&"tables"===i)return n?.push(ve(this,"using a non-table source cannot be written to tables in web maps")),null;return this.sublayers?.length?super.write(e,t):(n?.push(new o.A("web-document-write:invalid-property",`Layer (${this.title}, ${this.id}) of type '${this.declaredClass}' has invalid value for 'sublayers' property. 'sublayers' collection should contain at least one sublayer`,{layer:this})),null)}serviceSupportsSpatialReference(e){return!!this.loaded&&(0,ge.D)(this,e)}_getLayerDomain(e){const t=this.fieldsIndex.get(e);return t?t.domain:null}async _initLayerProperties(e){this._set("source",e);const{sourceJSON:t}=e;if(t&&(this.sourceJSON=t,this.read(t,{origin:"service",url:this.parsedUrl})),!this.subtypes?.length)throw new o.A("subtype-grouplayer:missing-subtypes","SubtypeGroupLayer must be created using a layer with subtypes");this._verifyFields(),(0,C.sv)(this.timeInfo,this.fieldsIndex)}async hasDataChanged(){return(0,E.jp)(this)}_verifyFields(){const e=this.parsedUrl?.path??"undefined";this.objectIdField||console.log("SubtypeGroupLayer: 'objectIdField' property is not defined (url: "+e+")"),this.isTable||-1!==e.search(/\/FeatureServer\//i)||this.fields?.some((e=>"geometry"===e.type))||console.log("SubtypeGroupLayer: unable to find field of type 'geometry' in the layer 'fields' list. If you are using a map service layer, features will not have geometry (url: "+e+")")}_handleSublayersChange(e,t){t&&(t.forEach((e=>{e.parent=null})),this.removeHandles("sublayers-owner"),this._sublayerLookup.clear()),e&&(e.forEach((e=>{e.parent=this,this._sublayerLookup.set(e.subtypeCode,e)})),this.addHandles([e.on("after-add",(({item:e})=>{e.parent=this,this._sublayerLookup.set(e.subtypeCode,e)})),e.on("after-remove",(({item:e})=>{e.parent=null,this._sublayerLookup.delete(e.subtypeCode)}))],"sublayers-owner"))}};(0,i._)([(0,c.MZ)({readOnly:!0})],Se.prototype,"createQueryVersion",null),(0,i._)([(0,c.MZ)({readOnly:!0})],Se.prototype,"editingEnabled",null),(0,i._)([(0,c.MZ)({readOnly:!0})],Se.prototype,"effectiveEditingEnabled",null),(0,i._)([(0,c.MZ)({..._e.fields,readOnly:!0,json:{origins:{service:{read:!0}},read:!1}})],Se.prototype,"fields",void 0),(0,i._)([(0,c.MZ)(_e.fieldsIndex)],Se.prototype,"fieldsIndex",void 0),(0,i._)([(0,c.MZ)(x.id)],Se.prototype,"id",void 0),(0,i._)([(0,c.MZ)({type:["show","hide","hide-children"],json:{origins:{"portal-item":{read:!1,write:!1}}}})],Se.prototype,"listMode",void 0),(0,i._)([(0,c.MZ)({value:"SubtypeGroupLayer",type:["SubtypeGroupLayer"],json:{origins:{"portal-item":{name:"layerType",write:{enabled:!0,ignoreOrigin:!0}}}}})],Se.prototype,"operationalLayerType",void 0),(0,i._)([(0,c.MZ)(_e.outFields)],Se.prototype,"outFields",void 0),(0,i._)([(0,c.MZ)({readOnly:!0})],Se.prototype,"parsedUrl",null),(0,i._)([(0,c.MZ)({clonable:!1})],Se.prototype,"source",null),(0,i._)([(0,c.MZ)({type:s.A.ofType(me),json:{origins:{service:{read:{source:"subtypes",reader(e,t,r){let i=null;if(this.useUniqueColorsForSublayers){const n=function(e,t){const r=e.drawingInfo?.renderer,i=r?U(r,e,t):null;if("simple"===i?.type)return(0,G.Sx)(i.symbol,null)?i.symbol.clone():null}(t,r);i=n?function(e,t){return(0,N.Iy)(k,e,{offset:!0,shuffle:!0}).reverse().map((e=>{const r=t.clone();return"cim"===r.type?(0,D.Fe)(r,e):(0,G.dt)(r,e),new q.A({symbol:r})}))}(e.length,n):null}const n=e.map((({code:e},n)=>{const s=new me({subtypeCode:e});s.read(t,r);const o=i?.[n];return o&&s.read({drawingInfo:{renderer:o.toJSON()}},r),s}));return new(s.A.ofType(me))(n)}}}},name:"layers",write:{ignoreOrigin:!0}}})],Se.prototype,"sublayers",void 0),(0,i._)([(0,c.MZ)()],Se.prototype,"useUniqueColorsForSublayers",void 0),(0,i._)([(0,c.MZ)({type:be.A})],Se.prototype,"timeInfo",void 0),(0,i._)([(0,c.MZ)({json:{origins:{"portal-item":{write:{enabled:!0,ignoreOrigin:!0,writerEnsuresNonNull:!0}}}}})],Se.prototype,"title",void 0),(0,i._)([(0,f.w)("service","title",["name"])],Se.prototype,"readTitleFromService",null),(0,i._)([(0,c.MZ)({json:{read:!1}})],Se.prototype,"type",void 0),Se=(0,i._)([(0,m.$)("esri.layers.SubtypeGroupLayer")],Se);const Ae=Se},95466:(e,t,r)=>{r.d(t,{A:()=>y});var i=r(49186),n=r(25482),s=r(53966),o=r(91869),l=r(3330),a=r(30524),u=r(56400),d=r(96285);const p=new Map;class y{static fromJSON(e){return new y(e.fields,e.timeZoneByFieldName)}static fromLayer(e){return new y(e.fields??[],m(e))}static fromLayerJSON(e){return new y(e.fields??[],m(e))}constructor(e=[],t){this._fieldsMap=new Map,this._normalizedFieldsMap=new Map,this._dateFieldsSet=new Set,this._numericFieldsSet=new Set,this._requiredFields=null,this.dateFields=[],this.numericFields=[],this.fields=e||[],this._timeZoneByFieldName=t?new Map(t):null;const r=[];for(const e of this.fields){const t=e?.name,i=h(t);if(t&&i){const n=c(t);this._fieldsMap.set(t,e),this._fieldsMap.set(n,e),this._normalizedFieldsMap.set(i,e),r.push(`${n}:${e.type}:${this._timeZoneByFieldName?.get(t)}`),(0,a.vE)(e)?(this.dateFields.push(e),this._dateFieldsSet.add(e)):(0,a.WA)(e)&&(this._numericFieldsSet.add(e),this.numericFields.push(e)),(0,a.te)(e)||(0,a.Xz)(e)||(e.editable=null==e.editable||!!e.editable,e.nullable=null==e.nullable||!!e.nullable)}}r.sort(),this.uid=r.join()}get requiredFields(){if(!this._requiredFields){this._requiredFields=[];for(const e of this.fields)(0,a.te)(e)||(0,a.Xz)(e)||e.nullable||void 0!==(0,a.lD)(e)||this._requiredFields.push(e)}return this._requiredFields}equals(e){return this.uid===e?.uid}has(e){return null!=this.get(e)}get(e){if(!e)return;let t=this._fieldsMap.get(e);return t||(t=this._fieldsMap.get(c(e))??this._normalizedFieldsMap.get(h(e)),t&&this._fieldsMap.set(e,t),t)}getTimeZone(e){const t=this.get(e&&"string"!=typeof e?e.name:e);return t?this._timeZoneByFieldName?this._timeZoneByFieldName.get(t.name):"date"===t.type||"esriFieldTypeDate"===t.type?(s.A.getLogger("esri.layers.support.FieldsIndex").error(new i.A("getTimeZone:no-timezone-information",`no time zone information for field '${t.name}'`)),u.n$):f.has(t.type)?u.L5:null:null}getLuxonTimeZone(e){const t=this.getTimeZone(e);return t?t===u.L5?l.GB.instance:t===u.n$?d.mQ.utcInstance:(0,o.tE)(p,t,(()=>d.oh.create(t))):null}isDateField(e){return this._dateFieldsSet.has(this.get(e))}isTimeOnlyField(e){return(0,a.OH)(this.get(e))}isNumericField(e){return this._numericFieldsSet.has(this.get(e))}normalizeFieldName(e){return this.get(e)?.name??void 0}toJSON(){return{fields:this.fields.map((e=>(0,n.Wj)(e)?e.toJSON():e)),timeZoneByFieldName:this._timeZoneByFieldName?Array.from(this._timeZoneByFieldName.entries()):null}}}function c(e){return e.trim().toLowerCase()}function h(e){return(0,a.rS)(e)?.toLowerCase()??""}const f=new Set(["time-only","date-only","timestamp-offset","esriFieldTypeDateOnly","esriFieldTypeTimeOnly","esriFieldTypeTimestampOffset"]);function m(e){const t=new Map;if(!e.fields)return t;const r=!0===e.datesInUnknownTimezone,{timeInfo:i,editFieldsInfo:n}=e,s=(i?"startField"in i?i.startField:i.startTimeField:"")??"",o=(i?"endField"in i?i.endField:i.endTimeField:"")??"",l=function(e){return"dateFieldsTimeZone"in e}(e)?e.dateFieldsTimeZone??null:e.dateFieldsTimeReference?(0,u.ZS)(e.dateFieldsTimeReference):null,a=n?function(e){return"timeZone"in e}(n)?n.timeZone??l:n.dateFieldsTimeReference?(0,u.ZS)(n.dateFieldsTimeReference):l??u.n$:null,d=i?function(e){return"timeZone"in e}(i)?i.timeZone??l:i.timeReference?(0,u.ZS)(i.timeReference):l:null,p=new Map([[c(n?.creationDateField??""),a],[c(n?.editDateField??""),a],[c(s),d],[c(o),d]]);for(const{name:i,type:n}of e.fields)if(f.has(n))t.set(i,u.L5);else if("date"!==n&&"esriFieldTypeDate"!==n)t.set(i,null);else if(r)t.set(i,u.L5);else{const e=p.get(c(i??""))??l;t.set(i,e)}return t}},17036:(e,t,r)=>{r.d(t,{p:()=>a});var i=r(44208),n=r(53966),s=r(20437),o=r(95466),l=r(30524);function a(){return{fields:{type:[s.A],value:null,set:function(e){if(e&&(0,i.A)("big-integer-warning-enabled")){const t=e.filter((e=>"big-integer"===e.type||"oid"===e.type&&(e.length||0)>=8));if(t.length){const e=t.map((e=>`'${e.name}'`)).join(", ");n.A.getLogger(this).warn("#fields",`Layer (title: '${this.title??"no title"}', id: '${this.id??"no id"}') references big-integer field(s): ${e}, support for which is experimental. Only integers less than ${Number.MAX_SAFE_INTEGER} (Number.MAX_SAFE_INTEGER) are supported.`)}}this._set("fields",e)}},fieldsIndex:{readOnly:!0,get(){return o.A.fromLayer(this)}},outFields:{type:[String],json:{read:!1},set:function(e){this._userOutFields=e,this.notifyChange("outFields")},get:function(){const e=this._userOutFields;if(!e?.length)return null;if(e.includes("*"))return["*"];if(!this.fields)return e;for(const t of e){const r=this.fieldsIndex?.has(t);r||n.A.getLogger("esri.layers.support.fieldProperties").error("field-attributes-layer:invalid-field",`Invalid field ${t} found in outFields`,{layer:this,outFields:e})}return(0,l.DB)(this.fieldsIndex,e)}}}}},32730:(e,t,r)=>{r.d(t,{BI:()=>m,D3:()=>h,XJ:()=>f,lc:()=>c,mX:()=>g,rU:()=>b,tH:()=>S});var i=r(799);const n="__begin__",s="__end__",o=new RegExp(n,"ig"),l=new RegExp(s,"ig"),a=new RegExp("^"+n,"i"),u=new RegExp(s+"$","i"),d='"',p=d+" + ",y=" + "+d;function c(e){return e.replaceAll(new RegExp("\\[","g"),"{").replaceAll(new RegExp("\\]","g"),"}")}function h(e){return e.replaceAll(new RegExp("\\{","g"),"[").replaceAll(new RegExp("\\}","g"),"]")}function f(e){const t={expression:"",type:"none"};return e.labelExpressionInfo?e.labelExpressionInfo.value?(t.expression=e.labelExpressionInfo.value,t.type="conventional"):e.labelExpressionInfo.expression&&(t.expression=e.labelExpressionInfo.expression,t.type="arcade"):null!=e.labelExpression&&(t.expression=c(e.labelExpression),t.type="conventional"),t}function m(e){const t=f(e);if(!t)return null;switch(t.type){case"conventional":return g(t.expression);case"arcade":return t.expression}return null}function b(e){const t=f(e);if(!t)return null;switch(t.type){case"conventional":return function(e){const t=e?.match(w);return t?.[1].trim()||null}(t.expression);case"arcade":return S(t.expression)}return null}function g(e){let t;return e?(t=(0,i.HC)(e,(e=>n+'$feature["'+e+'"]'+s)),t=a.test(t)?t.replace(a,""):d+t,t=u.test(t)?t.replace(u,""):t+d,t=t.replaceAll(o,p).replaceAll(l,y)):t='""',t}const w=/^\s*\{([^}]+)\}\s*$/i,F=/^\s*(?:(?:\$feature\.(\w+))|(?:\$feature\[(["'])(.+)(\2)\]));?\s*$/i,v=/^\s*(?:(?:\$feature\.(\w+))|(?:\$feature\[(["'])(.+)(\2)\]));?\s*(?:DomainName\(\s*\$feature\s*,\s*(["'])(\1|\3)(\5)\s*\));?\s*$/i,_=/^\s*(?:DomainName\(\s*\$feature\s*,\s*(["'])(.+)(\1)\s*\));?\s*$/i;function S(e){if(!e)return null;let t=F.exec(e)||v.exec(e);return t?t[1]||t[3]:(t=_.exec(e),t?t[2]:null)}}}]);