@arcgis/core 4.33.0-next.20250513 → 4.33.0-next.20250514

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 (185) hide show
  1. package/arcade/functions/centroid.js +1 -1
  2. package/arcade/functions/geomasync.js +1 -1
  3. package/arcade/functions/geometry.js +1 -1
  4. package/arcade/functions/geomsync.js +1 -1
  5. package/arcade/geometry/operators.js +1 -1
  6. package/arcade/geometry/operatorsWorker.js +1 -1
  7. package/arcade/treeAnalysis.js +1 -1
  8. package/assets/components/assets/combobox/t9n/messages.en.json +1 -1
  9. package/assets/components/assets/combobox/t9n/messages.json +1 -1
  10. package/assets/components/assets/icon/calendarHeatChart16.json +1 -0
  11. package/assets/components/assets/icon/calendarHeatChart24.json +1 -0
  12. package/assets/components/assets/icon/calendarHeatChart32.json +1 -0
  13. package/assets/components/assets/icon/matrixHeatChart16.json +1 -0
  14. package/assets/components/assets/icon/matrixHeatChart24.json +1 -0
  15. package/assets/components/assets/icon/matrixHeatChart32.json +1 -0
  16. package/assets/components/assets/icon/progressBarChart16.json +1 -0
  17. package/assets/components/assets/icon/progressBarChart24.json +1 -0
  18. package/assets/components/assets/icon/progressBarChart32.json +1 -0
  19. package/assets/components/assets/icon/spikeDataVisualization16.json +1 -0
  20. package/assets/components/assets/icon/spikeDataVisualization24.json +1 -0
  21. package/assets/components/assets/icon/spikeDataVisualization32.json +1 -0
  22. package/assets/components/assets/icon/spikeDataVisualizationOpen16.json +1 -0
  23. package/assets/components/assets/icon/spikeDataVisualizationOpen24.json +1 -0
  24. package/assets/components/assets/icon/spikeDataVisualizationOpen32.json +1 -0
  25. package/assets/components/assets/icon/spikeDataVisualizationOutlined16F.json +1 -0
  26. package/assets/components/assets/icon/spikeDataVisualizationOutlined24F.json +1 -0
  27. package/assets/components/assets/icon/spikeDataVisualizationOutlined32F.json +1 -0
  28. package/assets/components/assets/icon/spikeDataVisualizationOutlinedColorLocked16.json +1 -0
  29. package/assets/components/assets/icon/spikeDataVisualizationOutlinedColorLocked24.json +1 -0
  30. package/assets/components/assets/icon/spikeDataVisualizationOutlinedColorLocked32.json +1 -0
  31. package/assets/components/assets/icon/spikeDataVisualizationOutlinedOpen16.json +1 -0
  32. package/assets/components/assets/icon/spikeDataVisualizationOutlinedOpen24.json +1 -0
  33. package/assets/components/assets/icon/spikeDataVisualizationOutlinedOpen32.json +1 -0
  34. package/assets/components/assets/icon/spikeDataVisualizationOutlinedOpenColorLocked16.json +1 -0
  35. package/assets/components/assets/icon/spikeDataVisualizationOutlinedOpenColorLocked24.json +1 -0
  36. package/assets/components/assets/icon/spikeDataVisualizationOutlinedOpenColorLocked32.json +1 -0
  37. package/assets/esri/core/workers/RemoteClient.js +1 -1
  38. package/assets/esri/core/workers/chunks/0766ecb677d667e5fb83.js.LICENSE.txt +1 -1
  39. package/assets/esri/core/workers/chunks/{4deeeceb784e4390441d.js → 0a4cece5e96fb7e8a57b.js} +1 -1
  40. package/assets/esri/core/workers/chunks/12e99071f6582f6caeaf.js +1 -0
  41. package/assets/esri/core/workers/chunks/191a45a594ecaf7f1abb.js +1 -0
  42. package/assets/esri/core/workers/chunks/1991f0d0f0a12175f849.js +1 -0
  43. package/assets/esri/core/workers/chunks/218a66d53f7cf4f285aa.js.LICENSE.txt +1 -1
  44. package/assets/esri/core/workers/chunks/{07695960aa0344dbfbf3.js → 28d9e2ffc3059a55311e.js} +1 -1
  45. package/assets/esri/core/workers/chunks/3596540ef49e5330ceb2.js.LICENSE.txt +1 -1
  46. package/assets/esri/core/workers/chunks/4899cdc8bb5085c356f9.js +1 -0
  47. package/assets/esri/core/workers/chunks/498886c321a2501658bc.js +1 -0
  48. package/assets/esri/core/workers/chunks/56569d0c2cf5c5167651.js +1 -0
  49. package/assets/esri/core/workers/chunks/{ba3193ea145960a50e87.js → 5c8d52b72a3bea4202ac.js} +1 -1
  50. package/assets/esri/core/workers/chunks/{aa82925ffb00babb0543.js → 6394ab6f629aa90292e6.js} +2 -2
  51. package/assets/esri/core/workers/chunks/{aa82925ffb00babb0543.js.LICENSE.txt → 6394ab6f629aa90292e6.js.LICENSE.txt} +1 -1
  52. package/assets/esri/core/workers/chunks/{8b74b609de4f70e1a75c.js → 64af433e88d4dd21a2ff.js} +1 -1
  53. package/assets/esri/core/workers/chunks/{2b01e3bce78541620a86.js → 6cbe8205a4e0f62da519.js} +1 -1
  54. package/assets/esri/core/workers/chunks/6e64ce0958c3432004b6.js +346 -0
  55. package/assets/esri/core/workers/chunks/6e8c6c9112ecb867b7be.js +1 -0
  56. package/assets/esri/core/workers/chunks/{a8430e1e2142f1ce9b92.js → 82c395d8649096609a8a.js} +1 -1
  57. package/assets/esri/core/workers/chunks/{a73c6b4bc5baf440f85a.js → 88b7265270feede80e1d.js} +1 -1
  58. package/assets/esri/core/workers/chunks/8a87c181b85d0b86b9bb.js.LICENSE.txt +1 -1
  59. package/assets/esri/core/workers/chunks/8c21cc9af4ce9652cc5c.js +1 -0
  60. package/assets/esri/core/workers/chunks/{243dc74ec62891ba1ef7.js → 8e82acd1f730571680f4.js} +1 -1
  61. package/assets/esri/core/workers/chunks/90ae15ce22a49bd84876.js.LICENSE.txt +1 -1
  62. package/assets/esri/core/workers/chunks/a09b5700c92bb76c3234.js +1 -0
  63. package/assets/esri/core/workers/chunks/b06cb23048c32940f5de.js +1 -0
  64. package/assets/esri/core/workers/chunks/{079434fe765c53d304f2.js → b1e275607d9754079f60.js} +1 -1
  65. package/assets/esri/core/workers/chunks/b4f38fe9cc948a39ad87.js.LICENSE.txt +1 -1
  66. package/assets/esri/core/workers/chunks/{3c45603af279ad7fed8c.js → b8b5dfd2d73a8410fba2.js} +1 -1
  67. package/assets/esri/core/workers/chunks/c604fefedccfd4db9953.js +1 -0
  68. package/assets/esri/core/workers/chunks/{b816b608f31954128246.js → d21d9e8b8c8a2e0485d5.js} +1 -1
  69. package/assets/esri/core/workers/chunks/da3c62a851a4332f6dda.js +1 -0
  70. package/assets/esri/core/workers/chunks/{fef1a5f8a6fd3502b33b.js → e0247252c6a0f3340e33.js} +28 -28
  71. package/assets/esri/core/workers/chunks/e0dc8794343c2a949ffb.js.LICENSE.txt +1 -1
  72. package/assets/esri/core/workers/chunks/e5608e5232e983531f72.js +1 -0
  73. package/assets/esri/core/workers/chunks/f8fb0c7eaf73709bd855.js +1 -0
  74. package/assets/esri/core/workers/chunks/fd24dd602a3fed88d90e.js +1 -0
  75. package/assets/esri/libs/lyr3d/lyr3DMain.wasm +0 -0
  76. package/assets/esri/themes/base/widgets/_BuildingPhasePicker.scss +17 -10
  77. package/assets/esri/themes/base/widgets/_SelectionList.scss +7 -3
  78. package/assets/esri/themes/dark/main.css +1 -1
  79. package/assets/esri/themes/light/main.css +1 -1
  80. package/assets/esri/themes/light/view.css +1 -1
  81. package/chunks/OperatorCut.js +1 -1
  82. package/chunks/OperatorDefinitions.js +5 -0
  83. package/chunks/OperatorMultiPartToSinglePart.js +1 -1
  84. package/chunks/OperatorSimplifyOGC.js +1 -1
  85. package/chunks/ProjectionTransformation.js +1 -1
  86. package/chunks/arcade.js +1 -1
  87. package/chunks/lyr3DMain.js +1 -1
  88. package/core/Accessor.js +1 -1
  89. package/core/accessorSupport/Lifecycle.js +5 -0
  90. package/core/accessorSupport/Properties.js +1 -1
  91. package/core/accessorSupport/decorators/subclass.js +1 -1
  92. package/core/accessorSupport/tracking/Flags.js +1 -1
  93. package/core/accessorSupport/watch.js +1 -1
  94. package/core/mapCollectionUtils.js +1 -1
  95. package/core/urlUtils.js +1 -1
  96. package/geometry/operators/gx/operatorIntegrate.js +1 -1
  97. package/geometry/operators/gx/operatorPolygonOverlay.js +1 -1
  98. package/geometry/operators/gx/operatorSimplifyOGC.js +1 -1
  99. package/geometry/operators/simplifyOGCOperator.js +1 -1
  100. package/interfaces.d.ts +263 -2448
  101. package/layers/IntegratedMesh3DTilesLayer.js +1 -1
  102. package/layers/KnowledgeGraphLayer.js +1 -1
  103. package/layers/LinkChartLayer.js +1 -1
  104. package/layers/Lyr3DWasmPerSceneView.js +1 -1
  105. package/layers/VideoLayer.js +1 -1
  106. package/layers/graphics/data/QueryEngineResult.js +1 -1
  107. package/layers/support/rasterFunctions/pixelUtils.js +1 -1
  108. package/layers/support/serviceCapabilitiesUtils.js +1 -1
  109. package/package.json +1 -1
  110. package/smartMapping/statistics/uniqueValues.js +1 -1
  111. package/smartMapping/support/adapters/support/layerUtils.js +1 -1
  112. package/statistics/utils.js +1 -1
  113. package/support/revision.js +1 -1
  114. package/symbols/cim/effects/EffectRadial.js +1 -1
  115. package/versionManagement/versionAdapters/FeatureLayerVersionAdapter.js +1 -1
  116. package/versionManagement/versionAdapters/NetworkVersionAdapter.js +1 -1
  117. package/versionManagement/versionAdapters/SubTypeGroupLayerVersionAdapter.js +1 -1
  118. package/views/2d/layers/MediaLayerView2D.js +1 -1
  119. package/views/2d/layers/TileLayerView2D.js +1 -1
  120. package/views/2d/layers/VideoLayerView2D.js +1 -1
  121. package/views/2d/layers/imagery/BaseImageryTileSubView2D.js +1 -1
  122. package/views/2d/layers/imagery/ImageryTileView2D.js +1 -1
  123. package/views/3d/FocusAreasView.js +5 -0
  124. package/views/3d/analysis/Viewshed/viewshedToolManipulatorUtils.js +1 -1
  125. package/views/3d/layers/BuildingSceneLayerView3D.js +1 -1
  126. package/views/3d/layers/FeatureLikeLayerView3D.js +1 -1
  127. package/views/3d/layers/GraphicsLayerView3D.js +1 -1
  128. package/views/3d/layers/GraphicsView3D.js +1 -1
  129. package/views/3d/layers/I3SMeshView3D.js +1 -1
  130. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  131. package/views/3d/layers/Lyr3DWasm.js +1 -1
  132. package/views/3d/layers/RouteLayerView3D.js +1 -1
  133. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  134. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  135. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  136. package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
  137. package/views/3d/layers/graphics/GraphicsDeconflictor.js +1 -1
  138. package/views/3d/layers/graphics/GraphicsProcessor.js +1 -1
  139. package/views/3d/layers/graphics/pipeline/rendering/RenderCommandContext.js +1 -1
  140. package/views/3d/layers/graphics/pipeline/symbolization/IconSymbolLayerRenderer.js +1 -1
  141. package/views/3d/layers/i3s/I3SQueryResultGeometry.js +1 -1
  142. package/views/3d/layers/i3s/meshUtils.js +5 -0
  143. package/views/3d/support/hitTest.js +1 -1
  144. package/views/3d/terrain/TileTexture.js +1 -1
  145. package/views/3d/webgl-engine/lib/GPUPointOcclusionQuery.js +1 -1
  146. package/views/3d/webgl-engine/lib/GeometryUtil.js +1 -1
  147. package/views/3d/webgl-engine/lib/intersectorUtilsConversions.js +1 -1
  148. package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +1 -1
  149. package/views/SceneView.js +1 -1
  150. package/views/VideoView.js +1 -1
  151. package/views/layers/BuildingComponentSublayerView.js +1 -1
  152. package/views/layers/BuildingSceneLayerView.js +1 -1
  153. package/views/support/TextureCompressionWorker.js +1 -1
  154. package/views/support/TextureCompressionWorkerHandle.js +1 -1
  155. package/views/webgl/Texture.js +1 -1
  156. package/widgets/BuildingExplorer/BuildingPhasePicker/BuildingPhasePicker.js +1 -1
  157. package/widgets/FeatureTable/AttachmentsColumn.js +1 -1
  158. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  159. package/widgets/FeatureTable/Grid/Column.js +1 -1
  160. package/widgets/FeatureTable/Grid/GridViewModel.js +1 -1
  161. package/widgets/FeatureTable.js +1 -1
  162. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  163. package/widgets/OrientedImageryViewer/adapters/sketch/MeasurementAdapter.js +1 -1
  164. package/widgets/OrientedImageryViewer/adapters/sketch/TriangulatedMeasurementAdapter.js +1 -1
  165. package/widgets/OrientedImageryViewer/imageMeasurementUtils.js +1 -1
  166. package/widgets/OrientedImageryViewer.js +1 -1
  167. package/widgets/VideoPlayer/VideoPlayerViewModel.js +1 -1
  168. package/widgets/VideoPlayer/components/SettingsButton.js +1 -1
  169. package/widgets/support/SelectionList.js +1 -1
  170. package/assets/esri/core/workers/chunks/009dbddfc6499e2cee4f.js +0 -1
  171. package/assets/esri/core/workers/chunks/0f57b6a3a85a47ebd9d0.js +0 -346
  172. package/assets/esri/core/workers/chunks/1b8cc83aa1179245b2dc.js +0 -1
  173. package/assets/esri/core/workers/chunks/26ebb7816dd8c8cd4f3b.js +0 -1
  174. package/assets/esri/core/workers/chunks/2abce00d812c7f6b542d.js +0 -1
  175. package/assets/esri/core/workers/chunks/47cd99ab3ed11a931084.js +0 -1
  176. package/assets/esri/core/workers/chunks/51d9eaeeb781fd1d1162.js +0 -1
  177. package/assets/esri/core/workers/chunks/5228fc7fcdf57f44781e.js +0 -1
  178. package/assets/esri/core/workers/chunks/83e13baab4b90a88d967.js +0 -1
  179. package/assets/esri/core/workers/chunks/93cc26e5636040fdc0b8.js +0 -1
  180. package/assets/esri/core/workers/chunks/c17c269cc30e7e1d0bfb.js +0 -1
  181. package/assets/esri/core/workers/chunks/c3f144ca69995dca34a9.js +0 -1
  182. package/assets/esri/core/workers/chunks/d551f70560a2b1ef5696.js +0 -1
  183. package/assets/esri/core/workers/chunks/e9b1349a2b3a3f300808.js +0 -1
  184. package/core/accessorSupport/interfaces.js +0 -5
  185. package/views/FocusAreasView.js +0 -5
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../../../chunks/tslib.es6.js";import t from"../../../../Graphic.js";import{createTask as a}from"../../../../core/asyncUtils.js";import s from"../../../../core/Promise.js";import{throwIfAborted as i}from"../../../../core/promiseUtils.js";import{property as r}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/has.js";import"../../../../core/Logger.js";import"../../../../core/RandomLCG.js";import{subclass as o}from"../../../../core/accessorSupport/decorators/subclass.js";import n from"../../../../geometry/Polygon.js";import c from"../../../../geometry/Polyline.js";import{load as l}from"../../../../geometry/projection.js";import{imageToWorld as m}from"../../../../layers/orientedImagery/transformations/imageToWorld.js";import{convertSphereVertexToPixelLocation as u}from"../../../../layers/orientedImagery/transformations/utils.js";import{worldToImage as h}from"../../../../layers/orientedImagery/transformations/worldToImage.js";import{formatPixels as d}from"../../imageMeasurementUtils.js";import{SketchHandlerMixin as p}from"../../mixins/SketchHandlerMixin.js";let y=[],M=[],g=0,w=class extends(p(s)){constructor(e){super(e),this.type="measurement",this.measurementArray=[],this.pixelMeasurement=0,this.pixelAreaMeasurement=0,this.polygonVertices=[],this._calculationTask=null,this._distanceCalculation=0,this._areaCalculation=null}initialize(){this.addResolvingPromise(l())}async handleCreate(e){const t=e.toolEventInfo;switch(e.tool){case"polyline":this.handlePolylineEvents(e,t);break;case"polygon":this.handlePolygonEvents(e,t)}}handleDelete(e){this.resetDistanceMeasurements(),this.resetAreaMeasurements()}handleDestroy(){this.resetDistanceMeasurements(),this.resetAreaMeasurements()}cursorUpdatePolylineHandler(e){const{mode:t,activeViewer:a}=this.viewModel;if("none"===t||!a?.imageSize)return;if("default"===t)this.measurementArray.push(e.coordinates);else{const t={x:e.coordinates[0],y:e.coordinates[1],z:e.coordinates[2]},s=u(t,a.imageSize[0],a.imageSize[1]);this.measurementArray.push([s.x,s.y])}const s=M.reduce(((e,t)=>e+t),0)+this.pixelMeasurement;this.viewModel.distanceMeasurementResult=s}async cursorUpdatePolygonHandler(e){const{mode:t,activeViewer:a}=this.viewModel;if("none"===t||!a?.imageSize)return;const s=e.coordinates;if(y=[...this.polygonVertices],"default"===t)y.push(s);else{const e={x:s[0],y:s[1],z:s[2]},t=u(e,a?.imageSize[0],a?.imageSize[1]);y.push([t.x,t.y])}if(y.length<3||!this.viewModel.currentBestFeature||!this.viewModel.activeViewer?.imageSize)return;const i=y[0];y=y.filter(((e,t)=>0===t||t===y.length-1||JSON.stringify(e)!==JSON.stringify(i)));const r=await this._getAreaFromTask(y);r?.area&&r?.perimeter&&(g=r.area)}async handlePolylineEvents(e,t){const a=!this.viewModel.accuracyParametersMissing;if("cancel"===e.state)return this.resetDistanceMeasurements(),this.viewModel.distanceMeasurementResult=0,this.viewModel.distanceAccuracyArray=[],void(this.viewModel.displayNewMeasurementButton=!0);if("complete"===e.state&&e.graphic){if(this.viewModel.activeViewer?.addGraphic(e.graphic),this.viewModel.triangularMeasurementActive){const t=e.graphic.geometry;await this.viewModel.processMeasurementVectors(t.paths[0]),await this._overlayFirstMeasurement(e.graphic,e.tool)}return this.viewModel.measurementGraphic=e.graphic,void this.resetDistanceMeasurements()}switch(t?.type){case"cursor-update":this.cursorUpdatePolylineHandler(t);break;case"vertex-add":if(this.measurementArray.length&&a){const e=await this._getAccuracyFromTask();e&&this.viewModel.distanceAccuracyArray.push(e)}this.vertexUpdatePolylineHandler()}const s=await this._getDistanceFromTask();this.pixelMeasurement=s??this.pixelMeasurement}async handlePolygonEvents(e,t){const a=!this.viewModel.accuracyParametersMissing;if("cancel"===e.state)return this.resetAreaMeasurements(),this.viewModel.areaMeasurementResult=0,this.viewModel.areaMeasurementAccuracy=0,void(this.viewModel.displayNewMeasurementButton=!0);if("complete"===e.state&&e.graphic){if(this.viewModel.activeViewer?.addGraphic(e.graphic),a){const e=await this._getAreaAccuracyFromTask(this.polygonVertices);this.viewModel.areaMeasurementAccuracy=e&&e>this.viewModel.areaMeasurementAccuracy?e:this.viewModel.areaMeasurementAccuracy}if(this.viewModel.triangularMeasurementActive){const t=e.graphic.geometry;await this.viewModel.processMeasurementVectors(t.rings[0]),await this._overlayFirstMeasurement(e.graphic,e.tool)}return this.viewModel.measurementGraphic=e.graphic,void this.resetAreaMeasurements()}switch(t?.type){case"vertex-add":await this.vertexAddPolygonHandler(t);break;case"cursor-update":await this.cursorUpdatePolygonHandler(t)}this.viewModel.areaMeasurementResult=g>0?g:this.pixelAreaMeasurement}async vertexAddPolygonHandler(e){const{mode:t,activeViewer:a}=this.viewModel,s=e.added,i=s[s.length-1];if(!Array.isArray(i)||"none"===t||!a?.imageSize)return;if("default"===t)this.polygonVertices.push(i);else{const e={x:i[0],y:i[1],z:i[2]},t=u(e,a?.imageSize[0],a?.imageSize[1]);this.polygonVertices.push([t.x,t.y])}if(this.polygonVertices.length<3||!this.viewModel.currentBestFeature||!this.viewModel.activeViewer?.imageSize)return;const r=this.polygonVertices[0];this.polygonVertices=this.polygonVertices.filter(((e,t)=>0===t||t===this.polygonVertices.length-1||JSON.stringify(e)!==JSON.stringify(r)));const o=await this._getAreaFromTask(this.polygonVertices);if(!o?.area||!o?.perimeter)return;const{area:n}=o;this.pixelAreaMeasurement=n}vertexUpdatePolylineHandler(){this.measurementArray=this.measurementArray.slice(-1);const e=M.reduce(((e,t)=>e+t),0)+this.pixelMeasurement;this.viewModel.distanceMeasurementResult=e,this.pixelMeasurement>0&&M.push(this.pixelMeasurement)}resetDistanceMeasurements(){this.measurementArray=[],this.pixelMeasurement=0,M=[]}resetAreaMeasurements(){this.polygonVertices=[],this.pixelAreaMeasurement=0,g=0}async _overlayFirstMeasurement(e,t){switch(t){case"polyline":this._overlayFirstDistanceMeasurement(e);break;case"polygon":this._overlayFirstAreaGeometry(e)}}async _overlayFirstDistanceMeasurement(e){const a=e.geometry?.clone(),s=e.symbol?.clone(),i=[...a.paths[0]],r=d(i,!0),o=await this.viewModel.getMeasurementProperties(),n=await this.viewModel.getMeasurementProperties(this.viewModel.currentBestFeatureMeasurementImage,this.viewModel.imageMeasurementViewer);if(r?.length&&o&&n){const{updateElevationProps:e,...a}=o,{updateElevationProps:i,...l}=n,u=await m(r,a,e),d=h(u,l).map((e=>[e.x-.5,-.5-e.y])),p=new c({paths:[d],spatialReference:this.viewModel.imageMeasurementViewer.imageRenderer.spatialReference}),y=new t({geometry:p,symbol:s});this.viewModel.editOverlayedGraphics(y)}}async _overlayFirstAreaGeometry(e){const a=e.geometry?.clone(),s=e.symbol?.clone(),i=[...a.rings[0]],r=d(i,!0),o=await this.viewModel.getMeasurementProperties(),c=await this.viewModel.getMeasurementProperties(this.viewModel.currentBestFeatureMeasurementImage,this.viewModel.imageMeasurementViewer);if(r?.length&&o&&c){const{updateElevationProps:e,...a}=o,{updateElevationProps:i,...l}=c,u=await m(r,a,e),d=h(u,l).map((e=>[e.x-.5,-.5-e.y])),p=new n({rings:[d],spatialReference:this.viewModel.imageMeasurementViewer.imageRenderer.spatialReference}),y=new t({geometry:p,symbol:s});this.viewModel.editOverlayedGraphics(y)}}async _getAreaFromTask(e){const{mode:t}=this.viewModel;return this._calculationTask?.abort(),this._calculationTask=a((async a=>{this._areaCalculation=null;const s=await this.viewModel.calculateAreaMeasurement(e,t,a);i(a),this._areaCalculation=s})),await this._calculationTask.promise,this._areaCalculation}async _getDistanceFromTask(){const{mode:e}=this.viewModel;return this._calculationTask?.abort(),this._calculationTask=a((async t=>{this._distanceCalculation=0;const a=await this.viewModel.calculateDistanceMeasurement(this.measurementArray,e,t);i(t),this._distanceCalculation=a})),await this._calculationTask.promise,this._distanceCalculation}async _getAccuracyFromTask(){const{mode:e}=this.viewModel;return"none"===e?null:(this._calculationTask?.abort(),this._calculationTask=a((async t=>{this._distanceCalculation=0;const a="default"===e?await this.viewModel.calculateAccuracy(this.measurementArray,"distance",t):await this.viewModel.calculateAccuracyPanoramic(this.measurementArray,"distance",t);i(t),this._distanceCalculation=a})),await this._calculationTask.promise,this._distanceCalculation)}async _getAreaAccuracyFromTask(e){const{mode:t}=this.viewModel;return"none"===t?null:(this._calculationTask?.abort(),this._calculationTask=a((async a=>{this._distanceCalculation=0;const s="default"===t?await this.viewModel.calculateAccuracy(e,"area",a):await this.viewModel.calculateAccuracyPanoramic(e,"area",a);i(a),this._distanceCalculation=s})),await this._calculationTask.promise,this._distanceCalculation)}};e([r()],w.prototype,"type",void 0),e([r()],w.prototype,"measurementArray",void 0),e([r()],w.prototype,"pixelMeasurement",void 0),e([r()],w.prototype,"pixelAreaMeasurement",void 0),e([r()],w.prototype,"polygonVertices",void 0),w=e([o("esri.widgets.OrientedImageryViewer.adapters.sketch.MeasurementAdapter")],w);const v=w;export{v as default};
5
+ import{_ as e}from"../../../../chunks/tslib.es6.js";import t from"../../../../Graphic.js";import{createTask as a}from"../../../../core/asyncUtils.js";import s from"../../../../core/Promise.js";import{throwIfAborted as i}from"../../../../core/promiseUtils.js";import{property as r}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/has.js";import"../../../../core/Logger.js";import"../../../../core/RandomLCG.js";import{subclass as o}from"../../../../core/accessorSupport/decorators/subclass.js";import n from"../../../../geometry/Polygon.js";import c from"../../../../geometry/Polyline.js";import{load as l}from"../../../../geometry/projection.js";import m from"../../../../geometry/SpatialReference.js";import{imageToWorld as u}from"../../../../layers/orientedImagery/transformations/imageToWorld.js";import{convertSphereVertexToPixelLocation as h}from"../../../../layers/orientedImagery/transformations/utils.js";import{worldToImage as d}from"../../../../layers/orientedImagery/transformations/worldToImage.js";import{formatPixels as p}from"../../imageMeasurementUtils.js";import{SketchHandlerMixin as y}from"../../mixins/SketchHandlerMixin.js";let M=[],g=[],w=0,v=class extends(y(s)){constructor(e){super(e),this.type="measurement",this.measurementArray=[],this.pixelMeasurement=0,this.pixelAreaMeasurement=0,this.polygonVertices=[],this._calculationTask=null,this._distanceCalculation=0,this._areaCalculation=null}initialize(){this.addResolvingPromise(l())}async handleCreate(e){const t=e.toolEventInfo;switch(e.tool){case"polyline":this.handlePolylineEvents(e,t);break;case"polygon":this.handlePolygonEvents(e,t)}}handleDelete(e){this.resetDistanceMeasurements(),this.resetAreaMeasurements()}handleDestroy(){this.resetDistanceMeasurements(),this.resetAreaMeasurements()}cursorUpdatePolylineHandler(e){const{mode:t,activeViewer:a}=this.viewModel;if("none"===t||!a?.imageSize)return;if("default"===t)this.measurementArray.push(e.coordinates);else{const t={x:e.coordinates[0],y:e.coordinates[1],z:e.coordinates[2]},s=h(t,a.imageSize[0],a.imageSize[1]);this.measurementArray.push([s.x,s.y])}const s=g.reduce(((e,t)=>e+t),0)+this.pixelMeasurement;this.viewModel.distanceMeasurementResult=s}async cursorUpdatePolygonHandler(e){const{mode:t,activeViewer:a}=this.viewModel;if("none"===t||!a?.imageSize)return;const s=e.coordinates;if(M=[...this.polygonVertices],"default"===t)M.push(s);else{const e={x:s[0],y:s[1],z:s[2]},t=h(e,a?.imageSize[0],a?.imageSize[1]);M.push([t.x,t.y])}if(M.length<3||!this.viewModel.currentBestFeature||!this.viewModel.activeViewer?.imageSize)return;const i=M[0];M=M.filter(((e,t)=>0===t||t===M.length-1||JSON.stringify(e)!==JSON.stringify(i)));const r=await this._getAreaFromTask(M);r?.area&&r?.perimeter&&(w=r.area)}async handlePolylineEvents(e,t){const a=!this.viewModel.accuracyParametersMissing;if("cancel"===e.state)return this.resetDistanceMeasurements(),this.viewModel.distanceMeasurementResult=0,this.viewModel.distanceAccuracyArray=[],void(this.viewModel.displayNewMeasurementButton=!0);if("complete"===e.state&&e.graphic){if(this.viewModel.activeViewer?.addGraphic(e.graphic),this.viewModel.triangularMeasurementActive){const t=e.graphic.geometry;await this.viewModel.processMeasurementVectors(t.paths[0]),await this._overlayFirstMeasurement(e.graphic,e.tool)}return this.viewModel.measurementGraphic=e.graphic,void this.resetDistanceMeasurements()}switch(t?.type){case"cursor-update":this.cursorUpdatePolylineHandler(t);break;case"vertex-add":if(this.measurementArray.length&&a){const e=await this._getAccuracyFromTask();e&&this.viewModel.distanceAccuracyArray.push(e)}this.vertexUpdatePolylineHandler()}const s=await this._getDistanceFromTask();this.pixelMeasurement=s??this.pixelMeasurement}async handlePolygonEvents(e,t){const a=!this.viewModel.accuracyParametersMissing;if("cancel"===e.state)return this.resetAreaMeasurements(),this.viewModel.areaMeasurementResult=0,this.viewModel.areaMeasurementAccuracy=0,void(this.viewModel.displayNewMeasurementButton=!0);if("complete"===e.state&&e.graphic){if(this.viewModel.activeViewer?.addGraphic(e.graphic),a){const e=await this._getAreaAccuracyFromTask(this.polygonVertices);this.viewModel.areaMeasurementAccuracy=e&&e>this.viewModel.areaMeasurementAccuracy?e:this.viewModel.areaMeasurementAccuracy}if(this.viewModel.triangularMeasurementActive){const t=e.graphic.geometry;await this.viewModel.processMeasurementVectors(t.rings[0]),await this._overlayFirstMeasurement(e.graphic,e.tool)}return this.viewModel.measurementGraphic=e.graphic,void this.resetAreaMeasurements()}switch(t?.type){case"vertex-add":await this.vertexAddPolygonHandler(t);break;case"cursor-update":await this.cursorUpdatePolygonHandler(t)}this.viewModel.areaMeasurementResult=w>0?w:this.pixelAreaMeasurement}async vertexAddPolygonHandler(e){const{mode:t,activeViewer:a}=this.viewModel,s=e.added,i=s[s.length-1];if(!Array.isArray(i)||"none"===t||!a?.imageSize)return;if("default"===t)this.polygonVertices.push(i);else{const e={x:i[0],y:i[1],z:i[2]},t=h(e,a?.imageSize[0],a?.imageSize[1]);this.polygonVertices.push([t.x,t.y])}if(this.polygonVertices.length<3||!this.viewModel.currentBestFeature||!this.viewModel.activeViewer?.imageSize)return;const r=this.polygonVertices[0];this.polygonVertices=this.polygonVertices.filter(((e,t)=>0===t||t===this.polygonVertices.length-1||JSON.stringify(e)!==JSON.stringify(r)));const o=await this._getAreaFromTask(this.polygonVertices);if(!o?.area||!o?.perimeter)return;const{area:n}=o;this.pixelAreaMeasurement=n}vertexUpdatePolylineHandler(){this.measurementArray=this.measurementArray.slice(-1);const e=g.reduce(((e,t)=>e+t),0)+this.pixelMeasurement;this.viewModel.distanceMeasurementResult=e,this.pixelMeasurement>0&&g.push(this.pixelMeasurement)}resetDistanceMeasurements(){this.measurementArray=[],this.pixelMeasurement=0,g=[]}resetAreaMeasurements(){this.polygonVertices=[],this.pixelAreaMeasurement=0,w=0}async _overlayFirstMeasurement(e,t){switch(t){case"polyline":this._overlayFirstDistanceMeasurement(e);break;case"polygon":this._overlayFirstAreaGeometry(e)}}async _overlayFirstDistanceMeasurement(e){const a=e.geometry?.clone(),s=e.symbol?.clone(),i=[...a.paths[0]],r=p(i,!0),o=await this.viewModel.getMeasurementProperties(),n=await this.viewModel.getMeasurementProperties(this.viewModel.currentBestFeatureMeasurementImage,this.viewModel.imageMeasurementViewer);if(r?.length&&o&&n){const{updateElevationProps:e,...a}=o,{updateElevationProps:i,...l}=n,h=await u(r,a,e),p=d(h,l).map((e=>[e.x-.5,-.5-e.y])),y=new c({paths:[p],spatialReference:m.WebMercator}),M=new t({geometry:y,symbol:s});this.viewModel.editOverlayedGraphics(M)}}async _overlayFirstAreaGeometry(e){const a=e.geometry?.clone(),s=e.symbol?.clone(),i=[...a.rings[0]],r=p(i,!0),o=await this.viewModel.getMeasurementProperties(),c=await this.viewModel.getMeasurementProperties(this.viewModel.currentBestFeatureMeasurementImage,this.viewModel.imageMeasurementViewer);if(r?.length&&o&&c){const{updateElevationProps:e,...a}=o,{updateElevationProps:i,...l}=c,h=await u(r,a,e),p=d(h,l).map((e=>[e.x-.5,-.5-e.y])),y=new n({rings:[p],spatialReference:m.WebMercator}),M=new t({geometry:y,symbol:s});this.viewModel.editOverlayedGraphics(M)}}async _getAreaFromTask(e){const{mode:t}=this.viewModel;return this._calculationTask?.abort(),this._calculationTask=a((async a=>{this._areaCalculation=null;const s=await this.viewModel.calculateAreaMeasurement(e,t,a);i(a),this._areaCalculation=s})),await this._calculationTask.promise,this._areaCalculation}async _getDistanceFromTask(){const{mode:e}=this.viewModel;return this._calculationTask?.abort(),this._calculationTask=a((async t=>{this._distanceCalculation=0;const a=await this.viewModel.calculateDistanceMeasurement(this.measurementArray,e,t);i(t),this._distanceCalculation=a})),await this._calculationTask.promise,this._distanceCalculation}async _getAccuracyFromTask(){const{mode:e}=this.viewModel;return"none"===e?null:(this._calculationTask?.abort(),this._calculationTask=a((async t=>{this._distanceCalculation=0;const a="default"===e?await this.viewModel.calculateAccuracy(this.measurementArray,"distance",t):await this.viewModel.calculateAccuracyPanoramic(this.measurementArray,"distance",t);i(t),this._distanceCalculation=a})),await this._calculationTask.promise,this._distanceCalculation)}async _getAreaAccuracyFromTask(e){const{mode:t}=this.viewModel;return"none"===t?null:(this._calculationTask?.abort(),this._calculationTask=a((async a=>{this._distanceCalculation=0;const s="default"===t?await this.viewModel.calculateAccuracy(e,"area",a):await this.viewModel.calculateAccuracyPanoramic(e,"area",a);i(a),this._distanceCalculation=s})),await this._calculationTask.promise,this._distanceCalculation)}};e([r()],v.prototype,"type",void 0),e([r()],v.prototype,"measurementArray",void 0),e([r()],v.prototype,"pixelMeasurement",void 0),e([r()],v.prototype,"pixelAreaMeasurement",void 0),e([r()],v.prototype,"polygonVertices",void 0),v=e([o("esri.widgets.OrientedImageryViewer.adapters.sketch.MeasurementAdapter")],v);const f=v;export{f 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.33/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../../../chunks/tslib.es6.js";import t from"../../../../core/Promise.js";import{property as a}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/has.js";import"../../../../core/Logger.js";import"../../../../core/RandomLCG.js";import{subclass as r}from"../../../../core/accessorSupport/decorators/subclass.js";import{projectWithZConversion as s}from"../../../../geometry/projection.js";import{computeTriangulatedVector as i,computeTriangulatedAreaMeasurement as c,computeTriangulatedDistanceMeasurement as o}from"../../imageMeasurementUtils.js";import{TriangulatedSketchHandlerMixin as n}from"../../mixins/TriangulatedSketchHandlerMixin.js";let u=[],m=class extends(n(t)){constructor(e){super(e),this.type="measurement"}async handleUpdate(e){const{measureType:t,updatingTriangularMeasurementState:a}=this.viewModel;if("distance"===t){const t=e.graphics[0].geometry;u=t.paths[0]}else if("area"===t){const t=e.graphics[0].geometry;u=t.rings[0]}"complete"===e.state&&(this.viewModel.triangulatedMeasurementGraphic=e.graphics.at(-1),a?this._updateTriangularMeasurements(u):await this.viewModel.processMeasurementVectors(u))}async _computeMeasurementVector(e,t){const{activeViewer:a,mode:r,view:c}=this.viewModel,o=a?.imageSize;if(!e||!t||!o)return;const n=e.map((e=>[e[0]-.5,-.5-e[1]])),u=c?.spatialReference,m=[];for(let i=0;i<n.length;i++){const e={x:n[i][0],y:n[i][1]};let a=await this.viewModel.getMapPoint(e,{feature:t,imageSize:o,mode:r});u&&!a.spatialReference.equals(u)&&(a=await s(a,u)),m.push(a)}return i(m,t)}async _updateTriangularMeasurements(e){const{measureType:t,triangularMeasurementActive:a,currentBestFeatureMeasurementImage:r,updatingTriangularMeasurementState:s}=this.viewModel;if(!a||!r||!s||2!==this.viewModel.measurementVectors?.length)return;this.viewModel.measurementVectors.splice(-1);const i=await this._computeMeasurementVector(e,r);if(i&&this.viewModel.measurementVectors.push(i),2===this.viewModel.measurementVectors.length){switch(t){case"distance":{this.viewModel.triangulatedDistanceMeasurement=await o(this.viewModel.measurementVectors);const t=await this.viewModel.calculateAccuracy(e,"distance");if(t&&this.viewModel.triangulatedDistanceMeasurement?.distance){const e=Math.atan(t/this.viewModel.triangulatedDistanceMeasurement.distance);this.viewModel.triangulatedDistanceAccuracy={distanceAccuracy:t,angleAccuracy:e}}break}case"area":if(r?.spatialReference){const t=await c(this.viewModel.measurementVectors,r.spatialReference);this.viewModel.triangulatedAreaMeasurement=t,this.viewModel.triangulatedAreaAccuracy=await this.viewModel.calculateAccuracy(e,"area")??this.viewModel.triangulatedAreaAccuracy}}this.viewModel.updatingTriangularMeasurementState=!1}}};e([a()],m.prototype,"type",void 0),m=e([r("esri.widgets.OrientedImageryViewer.adapters.sketch.TriangulatedMeasurementAdapter")],m);const l=m;export{l as default};
5
+ import{_ as e}from"../../../../chunks/tslib.es6.js";import t from"../../../../core/Promise.js";import{property as a}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/has.js";import"../../../../core/Logger.js";import"../../../../core/RandomLCG.js";import{subclass as r}from"../../../../core/accessorSupport/decorators/subclass.js";import{projectWithZConversion as s}from"../../../../geometry/projection.js";import{computeTriangulatedVector as i,computeTriangulatedAreaMeasurement as o,computeTriangulatedDistanceMeasurement as c}from"../../imageMeasurementUtils.js";import{TriangulatedSketchHandlerMixin as n}from"../../mixins/TriangulatedSketchHandlerMixin.js";let u=[],m=class extends(n(t)){constructor(e){super(e),this.type="measurement"}async handleUpdate(e){const{measureType:t,updatingTriangularMeasurementState:a}=this.viewModel;if("distance"===t){const t=e.graphics[0].geometry;u=t.paths[0]}else if("area"===t){const t=e.graphics[0].geometry;u=t.rings[0]}"complete"===e.state&&(this.viewModel.triangulatedMeasurementGraphic=e.graphics.at(-1),a?this._updateTriangularMeasurements(u):await this.viewModel.processMeasurementVectors(u))}async _computeMeasurementVector(e,t){const{activeViewer:a,mode:r,view:o}=this.viewModel,c=a?.imageSize;if(!e||!t||!c)return;const n=e.map((e=>[e[0]-.5,-.5-e[1]])),u=o?.spatialReference,m=[];for(let i=0;i<n.length;i++){const e={x:n[i][0],y:n[i][1]};let a=await this.viewModel.getMapPoint(e,{feature:t,imageSize:c,mode:r});u&&!a.spatialReference.equals(u)&&(a=await s(a,u)),m.push(a)}return i(m,t)}async _updateTriangularMeasurements(e){const{measureType:t,triangularMeasurementActive:a,currentBestFeatureMeasurementImage:r,updatingTriangularMeasurementState:s}=this.viewModel;if(!a||!r||!s||2!==this.viewModel.measurementVectors?.length)return;this.viewModel.measurementVectors.splice(-1);const i=await this._computeMeasurementVector(e,r);if(i&&this.viewModel.measurementVectors.push(i),2===this.viewModel.measurementVectors.length){switch(t){case"distance":{this.viewModel.triangulatedDistanceMeasurement=await c(this.viewModel.measurementVectors);const t=await this.viewModel.calculateAccuracy(e,"distance");if(t&&this.viewModel.triangulatedDistanceMeasurement?.distance){const e=Math.atan(t/this.viewModel.triangulatedDistanceMeasurement.distance);this.viewModel.triangulatedDistanceAccuracy={distanceAccuracy:t,angleAccuracy:e}}break}case"area":if(r?.geometry.spatialReference){const t=await o(this.viewModel.measurementVectors,r.geometry.spatialReference);this.viewModel.triangulatedAreaMeasurement=t,this.viewModel.triangulatedAreaAccuracy=await this.viewModel.calculateAccuracy(e,"area")??this.viewModel.triangulatedAreaAccuracy}}this.viewModel.updatingTriangularMeasurementState=!1}}};e([a()],m.prototype,"type",void 0),m=e([r("esri.widgets.OrientedImageryViewer.adapters.sketch.TriangulatedMeasurementAdapter")],m);const l=m;export{l 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.33/esri/copyright.txt for details.
4
4
  */
5
- import{rad2deg as t}from"../../core/mathUtils.js";import{throwIfAborted as e}from"../../core/promiseUtils.js";import{formatArea as n,formatLength as r}from"../../core/quantityFormatUtils.js";import{createArea as a,createLength as o}from"../../core/quantityUtils.js";import{set as s,determinant as i}from"../../core/libs/gl-matrix-2/math/mat3.js";import{create as c}from"../../core/libs/gl-matrix-2/factories/mat3f64.js";import{zeros as u,fromValues as l}from"../../core/libs/gl-matrix-2/factories/vec3f64.js";import{distance as f}from"../../core/libs/gl-matrix-2/math/vec2.js";import{i as m,h as p,a as h}from"../../chunks/vec32.js";import y from"../../geometry/Point.js";import g from"../../geometry/Polygon.js";import x from"../../geometry/Polyline.js";import{projectWithZConversion as w,project as M}from"../../geometry/projection.js";import z from"../../geometry/SpatialReference.js";import{e as R}from"../../chunks/areaOperator.js";import{l as d,e as v}from"../../chunks/geodeticAreaOperator.js";import{l as P,e as j}from"../../chunks/geodeticDensifyOperator.js";import{l as b,e as O}from"../../chunks/geodeticLengthOperator.js";import{e as E}from"../../chunks/lengthOperator.js";import{execute as q}from"../../geometry/operators/projectOperator.js";import{e as W}from"../../chunks/simplifyOperator.js";import{isSupported as k,geodesicLengths as I,geodesicAreas as G}from"../../geometry/support/geodesicUtils.js";import{imageToWorldPanoramic as L,imageToWorld as A}from"../../layers/orientedImagery/transformations/imageToWorld.js";import{convertSphereVertexToPixelLocation as D,scaleWithFactor as S}from"../../layers/orientedImagery/transformations/utils.js";import{worldToImagePanoramic as U,worldToImage as B}from"../../layers/orientedImagery/transformations/worldToImage.js";const F=1e5;function T(t,e){let n=180*Math.atan2(-t.y+e.y,t.x-e.x)/Math.PI;return n<0&&(n+=180),n*Math.PI/180}function H(t,e){let n=180*Math.atan2(-t.y+e.y,t.x-e.x)/Math.PI;return n<0&&(n+=180),n*Math.PI/180}function V(t,e,n){if(!t?.length||!e?.length||!n)return;const[r,a]=t,[,o]=e,s=o-a;return[r+s*Math.cos(n),a+s*Math.sin(n)]}async function C(t,e,n){if(await P(),k(t)){const t=I([e],"meters")[0];return{area:G([n],"square-meters")[0],perimeter:t}}const r=z.WGS84,a=M(e,r),o=M(n,r);let s=j(o,F);if(s=W(s),!s)return null;const i=I([a],"meters")[0];return{area:G([s],"square-meters")[0],perimeter:i}}async function J(t,n,r,a,o=!1,s){if(n.length<2||!a||!r||!t)return null;const i=Rt(r,t);if(!i)return null;const c=n.map((t=>[t.x,t.y])),u=c.at(0),l=c.at(-1);if(!u||!l)return null;const f=i.map((e=>Ot([u,l],e,t,o,!1))),m=await Promise.all(f);e(s);let p=0;for(const e of m){if(!e)return null;const t=Math.abs(e-a);p=Math.max(t,p)}return p}async function K(t,n,r,a,o,s=!1,i){if(n.length<2||!a||!r||!t)throw new Error("Missing parameters");const c=dt(r,t),u=n.map((t=>[t.x,t.y])),l=u.at(0),f=u.at(-1),m=c.map((e=>Et([l,f],e,t,o,s,!1))),p=await Promise.all(m);e(i);let h=0;for(const e of p){if(!e)return 0;const t=Math.abs(e-a);h=Math.max(t,h)}return h}function N(t,e){const n=Mt(t,!1);if(!n?.length)return;return 20*f([n[0].x,n[0].y],[n.at(-1).x,n.at(-1).y])/e}async function Q(t){await b();const e=t.spatialReference;if(e.isGeographic){if(k(e))return I([t],"meters")[0];const n=M(t,z.WGS84);return I([n],"meters")[0]}return e.isWebMercator?O(t):E(t)}function X(t){if(!t?.length)throw new Error("Invalid deviations array");const[e,n,r]=[0,1,2].map((e=>t.map((t=>t[e])).filter((t=>null!==t)))).map((t=>t.length?jt(t):0));return[e,n,r]}function Y(t,e){const n=W(e);if(!n)return null;const r=E(t);return{area:R(n),perimeter:r}}function Z(t,e){return[(t[1][0]-t[0][0])/e,(t[1][1]-t[0][1])/e,(t[1][2]-t[0][2])/e]}async function $(t,e){await Promise.all([d(),P(),b()]);let n=j(e,F);if(n=W(n),!n)return null;const r=O(t);return{area:v(n),perimeter:r}}async function _(t,n,r){if(!n||!t)throw new Error("Missing required parameters");const a=await A(t,n);e(r);const o=a.clone();o.z?o.z+=20:o.z=20;const{averageElevation:s,cameraPitch:i,cameraRoll:c,farDistance:u,...l}=n;return B(o,l)}async function tt(t,n,r,a){const{attributes:o}=r,{location:s}=o,{updateElevationProps:i,...c}=n;if(!t||!n)throw new Error("Missing parameters");let u=s.clone();u.spatialReference.isGeographic&&(u=await w(u,z.WebMercator));const l=await L(t,{...c,cameraLocation:u},i);e(a);const f=l.clone();return f.z?f.z+=20:f.z=20,U(f,c)}function et(t,e,n,r,a=0,o=1,s){const{averageElevation:i,cameraPitch:c,cameraRoll:u,farDistance:l,...m}=r;if(a>=5||o<=.1)return{value:t};const p=new y({x:e.x,y:e.y,z:e.z?e.z+t:t,spatialReference:r.cameraLocation.spatialReference}),h=B(p,m),g=f([n[0].x,n[0].y],[h.x,h.y]),x=n.at(0),w=n.at(-1);if(!x||!w)return null;const M=f([x.x,x.y],[w.x,w.y])*t/g;return et(M,e,n,r,a+1,Math.abs(t-M))}function nt(t,e,n,r,a=0,o=1,s){const{averageElevation:i,horizontalFieldOfView:c,verticalFieldOfView:u,farDistance:l,...m}=r;if(a>=5||o<=.1)return{value:t};const p=new y({x:e.x,y:e.y,z:e.z?e.z+t:t,spatialReference:r.cameraLocation.spatialReference}),h=U(p,m),g=f([n[0].x,n[0].y],[h.x,h.y]),x=n.at(0),w=n.at(-1);if(!x||!w)return null;const M=f([x.x,x.y],[w.x,w.y])*t/g;return nt(M,e,n,r,a+1,Math.abs(t-M))}function rt(t,e,n){return new x({paths:[[[t.x,t.y,t.z??0],[e.x,e.y,e.z??0]]],spatialReference:n})}function at(t){return 1/Math.cos(Math.PI/2-2*Math.atan(Math.exp(-1*t/6378137)))}function ot(t,e){return Math.sqrt((Math.sqrt((t[0][0]-t[1][0])**2+(t[0][1]-t[1][1])**2)/e)**2+(t[0][2]-t[1][2])**2)}function st(t,e,n){return Math.sqrt((t.z??0-(e.z??0))**2+(Math.sqrt((t.x-e.x)**2+(t.y-e.y)**2)/n)**2)*n}function it(t,e,n,r){return St(Dt([t.x,t.y,t.z??0],[e.x,e.y,e.z??0]),1/n,1/r)}function ct(t,e){return Math.sqrt((t[0][0]-t[1][0])**2+(t[0][1]-t[1][1])**2)/e}function ut(e){return t(Math.atan((e[1][2]-e[0][2])/Math.sqrt((e[1][0]-e[0][0])**2+(e[1][1]-e[0][1])**2)))}function lt(e){let n=90-t(Math.atan2(e[1][1]-e[0][1],e[1][0]-e[0][0]));return n<0&&(n+=360),n}function ft(t,e){return new y({x:(t.pointOnA[0]+t.pointOnB[0])/2,y:(t.pointOnA[1]+t.pointOnB[1])/2,z:(t.pointOnA[2]+t.pointOnB[2])/2,spatialReference:e})}async function mt(t){if(2===t?.length){const e=[];let n=1;const[r,a]=t,o=r.camera.spatialReference,{measurePoints:s}=r;for(let t=0;t<s.length;t++){const s=rt(r.camera,r.measurePoints[t],o),i=rt(a.camera,a.measurePoints[t],o),c=await Gt(s,i);if(!c)return null;const u=ft(c,o);u.spatialReference.isWebMercator&&(n=at(u.y)),e.push([u.x,u.y,u.z??0])}if(e?.length>1){return{distance:ot(e,n),horizontalDistance:ct(e,n),verticalDistance:Math.abs(e[0][2]-e[1][2]),slope:ut(e),aspect:lt(e)}}}return null}async function pt(t,e){if(!t?.length)return null;const n=[],r=t[0],a=t[1],o=r.camera.spatialReference,{measurePoints:s}=r;for(let l=0;l<s.length;l++){const t=rt(r.camera,r.measurePoints[l],o),e=rt(a.camera,a.measurePoints[l],o),s=await Gt(t,e);if(!s)return null;const i=ft(s,o);n.push([i.x,i.y,i.z??0])}if(n?.length<2)return null;const i=new x({paths:[n],spatialReference:e}),c=new g({rings:[n],spatialReference:e});if(e.isGeographic){const t=await C(e,i,c);return t?.area??null}if(e.isWebMercator){const t=await $(i,c);return t?.area??null}const u=Y(i,c);return u?.area??null}function ht(t,e){if(!t)return null;const n=new y({x:e.geometry.x,y:e.geometry.y,z:e.geometry.z,spatialReference:e.spatialReference}),r=Array.isArray(t)?t:[t],a=[];return r.forEach((t=>{let e=!1;t.spatialReference.isWGS84&&(t=q(t,new z({wkid:3857})),e=!0);const r=t.spatialReference.isWebMercator?at(t.y):1,o=st(t,n,r),s=it(t,n,o,r),i=((t.z??0)-(n.z??0))/s[2]*r;let c=new y({spatialReference:t.spatialReference,x:n.x+i*s[0],y:n.y+i*s[1],z:(n.z??0)+i*s[2]/r});e&&(c=q(c,new z({wkid:4326}))),a.push(c)})),{camera:n,measurePoints:r,tempMeasurePoints:a}}async function yt(t,e){const{updateElevationProps:n,...r}=e;return await A(t,r,n)}async function gt(t,e){const{updateElevationProps:n,...r}=e;return L(t,r,n)}function xt(t){navigator.clipboard.writeText(t).catch((t=>{throw t}))}function wt(t){const e=t.map((t=>[t.x,t.y])),n=t[0].spatialReference;return new x({paths:[e],spatialReference:n})}function Mt(t,e){return t.map((t=>({x:e?.5+t[0]:t[0],y:e?.5-t[1]:t[1]})))}function zt(t,e,n,a,s){const i="measurement"===t?e:n;if(s&&i)return r(a,o(i,"meters"),s,3)||null}function Rt(t,e){const{cameraPitch:n,cameraRoll:r,cameraLocation:a}=t,{x:o,y:s,z:i,spatialReference:c}=a;if(e.every((t=>0===t))||!e||!e.length)return null;const[u,l,,f,m]=e,p=[-f,0,f],h=[-m,0,m],g=[-u,0,u],x=[-l,0,l],w=[];for(const M of p)for(const e of h)for(const a of g)for(const u of g)for(const l of x){const f={...t};f.cameraPitch=n+M,f.cameraRoll=r+e,f.cameraLocation=new y({x:o+a,y:s+u,z:i?i+l:0,spatialReference:{wkid:c.wkid}}),w.push(f)}return w}function dt(t,e){const{cameraHeading:n,cameraLocation:r}=t,{x:a,y:o,z:s,spatialReference:i}=r;if(e.every((t=>0===t))||!e||!e.length)throw new Error("Invalid parameters");const[c,u,l]=e,f=l>0?[-l,0,l]:[],m=c>0?[-c,0,c]:[],p=u>0?[-u,0,u]:[],h=[];for(const g of f)for(const e of m)for(const r of m)for(const c of p){const u={...t};u.cameraHeading=n+g,u.cameraLocation=new y({x:a+e,y:o+r,z:s?s+c:0,spatialReference:{wkid:i.wkid}}),h.push(u)}return h}function vt(t,e,n,a,s){const i="measurement"===t?e:jt(n);if(s&&i)return r(a,o(i,"meters"),s,3)||null}function Pt(t,e,r,o,s){const i="measurement"===t?e:r;if(s&&i)return n(o,a(i,"square-meters"),s,3)||null}function jt(t){return Math.sqrt(t.reduce(((t,e)=>t+e**2),0))}function bt(t,e,n){if("default"===e)return t;const r={x:t[0],y:t[1],z:t[2]},a=D(r,n[0],n[1]);return[a.x,a.y]}async function Ot(t,n,r,a=!1,o=!1,s){if(!t||!n||t.length<2)return null;const i=Mt(t,a);if(!i||i.length<2)return null;const[c,u]=[i[0],i.at(-1)];if(!u)return null;const l=[c],m=await A(c,n);e(s);const p=m.clone();p.z?p.z+=20:p.z=20;const{averageElevation:h,cameraPitch:y,cameraRoll:g,farDistance:x,...w}=n,M=B(p,w),z=f([c.x,c.y],[M.x,M.y]),R=T(c,M);if(!R)return;const d=V([c.x,c.y],[u.x,u.y],R);if(!d?.length)return;l.push({x:d[0],y:d[1]});const v=20*f([l[0].x,l[0].y],[l[1].x,l[1].y])/z;if(!o)return v;const P=et(v,m,l,n,0,1);return P?.value}async function Et(t,n,r,a,o=!1,s=!1,i){const{attributes:c}=a,{location:u}=c,{updateElevationProps:l,...m}=n;if(!t||!n||t.length<2)throw new Error("Invalid parameters");const p=Mt(t,o),[h,y]=[p[0],p.at(-1)],g=[h];let x=u.clone();x.spatialReference.isGeographic&&(x=await w(x,z.WebMercator));const M=await L(h,{...m,cameraLocation:x},l);e(i);const R=M.clone();R.z?R.z+=20:R.z=20;const d=U(R,m),v=f([h.x,h.y],[d.x,d.y]),P=T(h,d);if(!P)return;const j=V([h.x,h.y],[y.x,y.y],P);if(!j?.length)return;g.push({x:j[0],y:j[1]});const b=20*f([g[0].x,g[0].y],[g[1].x,g[1].y])/v;if(!s)return b;const O=nt(b,M,g,n,0,1);return O?.value}async function qt(t,e,n=!1){if(t.length<3)return null;const r=Mt(t,n),a=await yt(r,e),o=a.map((({x:t,y:e})=>[t,e]));t.push(t[0]),o.push(o[0]);const s=a[0].spatialReference,i=new x({paths:[o],spatialReference:s}),c=new g({rings:[o],spatialReference:s});return s.isGeographic?C(s,i,c):s.isWebMercator?$(i,c):Y(i,c)}async function Wt(t,n,r=!1,a){if(t.length<3)return null;const o=Mt(t,r),s=await gt(o,n);e(a);const i=s.map((({x:t,y:e})=>[t,e]));t.push(t[0]),i.push(i[0]);const c=s[0].spatialReference,u=new x({paths:[i],spatialReference:c}),l=new g({rings:[i],spatialReference:c});return c.isGeographic?C(c,u,l):c.isWebMercator?$(u,l):Y(u,l)}async function kt(t,e,n=!1){const r=Mt(t,n);return Q(wt(await yt(r,e)))}async function It(t,n,r=!1,a){const o=Mt(t,r),s=await gt(o,n);e(a);return Q(wt(s))}async function Gt(t,e){const n=c(),r=t.paths[0][0],a=e.paths[0][0];let o,u;t.spatialReference.isWGS84||t.spatialReference.isWebMercator?(await b(),o=O(t),u=O(e)):(o=E(t),u=E(e));const l=Z(t.paths[0],o),f=Z(e.paths[0],u),m=Lt(l,f),[p,h,y]=l,[g,x,w]=f.map((t=>-t)),[M,z,R]=m,[d,v,P]=[a[0]-r[0],a[1]-r[1],a[2]-r[2]];s(n,p,g,M,h,x,z,y,w,R);const j=i(n);if(0===j)return null;s(n,d,g,M,v,x,z,P,w,R);const q=i(n);s(n,p,d,M,h,v,z,y,P,R);const W=i(n);s(n,p,g,d,h,x,v,y,w,P);const k=q/j,I=W/j,G=i(n)/j;return{distance:Math.abs(G/Math.sqrt(m[0]*m[0]+m[1]*m[1]+m[2]*m[2])),pointOnA:At(r,k,l),pointOnB:At(a,I,f)}}function Lt(t,e){const n=u(),r=m(u(),t[0],t[1],t[2]),a=m(u(),e[0],e[1],e[2]),o=p(n,r,a);return[o[0],o[1],o[2]]}function At(t,e,n){return[t[0]+e*n[0],t[1]+e*n[1],t[2]+e*n[2]]}function Dt(t,e){const n=l(t[0],t[1],t[2]),r=l(e[0],e[1],e[2]);return h(u(),n,r)}function St(t,e,n){const r=S(t,e,n);return[r[0],r[1],r[2]]}export{T as calculateAngle,H as calculateAnglePano,V as calculateCorrectedPixel,J as calculateHeightAccuracy,K as calculateHeightAccuracyPanoramic,N as calculateHeightFromTemporaryDistance,X as calculateLocationAccuracyFromDeviations,tt as calculateReferenceImagePointPanoramic,_ as calculateTempImagePoint,et as computeHeightIteratively,nt as computeHeightIterativelyPanoramic,pt as computeTriangulatedAreaMeasurement,mt as computeTriangulatedDistanceMeasurement,ht as computeTriangulatedVector,xt as copyToClipboard,Mt as formatPixels,Rt as generateCombinations,dt as generateCombinationsPanoramic,Pt as getConvertedArea,vt as getConvertedDistance,zt as getConvertedHeight,bt as getModeCorrectedPoint,jt as getRootOfSumOfSquaredErrors,Ot as heightMeasurement2D,Et as heightMeasurementPanoramic,qt as pixelAreaMeasurement2D,Wt as pixelAreaMeasurementPanoramic,kt as pixelDistanceMeasurement2D,It as pixelDistanceMeasurementPanoramic,St as scale,Gt as solveSkewLinesIntersection,Dt as subtract};
5
+ import{rad2deg as t}from"../../core/mathUtils.js";import{throwIfAborted as e}from"../../core/promiseUtils.js";import{formatArea as n,formatLength as r}from"../../core/quantityFormatUtils.js";import{createArea as a,createLength as o}from"../../core/quantityUtils.js";import{set as s,determinant as i}from"../../core/libs/gl-matrix-2/math/mat3.js";import{create as c}from"../../core/libs/gl-matrix-2/factories/mat3f64.js";import{zeros as u,fromValues as l}from"../../core/libs/gl-matrix-2/factories/vec3f64.js";import{distance as f}from"../../core/libs/gl-matrix-2/math/vec2.js";import{i as m,h as p,a as h}from"../../chunks/vec32.js";import y from"../../geometry/Point.js";import g from"../../geometry/Polygon.js";import x from"../../geometry/Polyline.js";import{projectWithZConversion as w,project as M}from"../../geometry/projection.js";import R from"../../geometry/SpatialReference.js";import{e as z}from"../../chunks/areaOperator.js";import{l as d,e as P}from"../../chunks/geodeticAreaOperator.js";import{l as v,e as j}from"../../chunks/geodeticDensifyOperator.js";import{l as b,e as O}from"../../chunks/geodeticLengthOperator.js";import{e as E}from"../../chunks/lengthOperator.js";import{execute as q}from"../../geometry/operators/projectOperator.js";import{e as W}from"../../chunks/simplifyOperator.js";import{isSupported as k,geodesicLengths as I,geodesicAreas as G}from"../../geometry/support/geodesicUtils.js";import{imageToWorldPanoramic as L,imageToWorld as A}from"../../layers/orientedImagery/transformations/imageToWorld.js";import{convertSphereVertexToPixelLocation as D,scaleWithFactor as S}from"../../layers/orientedImagery/transformations/utils.js";import{worldToImagePanoramic as U,worldToImage as B}from"../../layers/orientedImagery/transformations/worldToImage.js";const F=1e5;function T(t,e){let n=180*Math.atan2(-t.y+e.y,t.x-e.x)/Math.PI;return n<0&&(n+=180),n*Math.PI/180}function H(t,e){let n=180*Math.atan2(-t.y+e.y,t.x-e.x)/Math.PI;return n<0&&(n+=180),n*Math.PI/180}function V(t,e,n){if(!t?.length||!e?.length||!n)return;const[r,a]=t,[,o]=e,s=o-a;return[r+s*Math.cos(n),a+s*Math.sin(n)]}async function C(t,e,n){if(await v(),k(t)){const t=I([e],"meters")[0];return{area:G([n],"square-meters")[0],perimeter:t}}const r=R.WGS84,a=M(e,r),o=M(n,r);let s=j(o,F);if(s=W(s),!s)return null;const i=I([a],"meters")[0];return{area:G([s],"square-meters")[0],perimeter:i}}async function J(t,n,r,a,o=!1,s){if(n.length<2||!a||!r||!t)return null;const i=dt(r,t);if(!i)return null;const c=n.map((t=>[t.x,t.y])),u=c.at(0),l=c.at(-1);if(!u||!l)return null;const f=i.map((e=>Et([u,l],e,t,o,!1))),m=await Promise.all(f);e(s);let p=0;for(const e of m){if(!e)return null;const t=Math.abs(e-a);p=Math.max(t,p)}return p}async function K(t,n,r,a,o,s=!1,i){if(n.length<2||!a||!r||!t)throw new Error("Missing parameters");const c=Pt(r,t),u=n.map((t=>[t.x,t.y])),l=u.at(0),f=u.at(-1),m=c.map((e=>qt([l,f],e,t,o,s,!1))),p=await Promise.all(m);e(i);let h=0;for(const e of p){if(!e)return 0;const t=Math.abs(e-a);h=Math.max(t,h)}return h}function N(t,e){const n=Rt(t,!1);if(!n?.length)return;return 20*f([n[0].x,n[0].y],[n.at(-1).x,n.at(-1).y])/e}async function Q(t){await b();const e=t.spatialReference;if(e.isGeographic){if(k(e))return I([t],"meters")[0];const n=M(t,R.WGS84);return I([n],"meters")[0]}return e.isWebMercator?O(t):E(t)}function X(t){if(!t?.length)throw new Error("Invalid deviations array");const[e,n,r]=[0,1,2].map((e=>t.map((t=>t[e])).filter((t=>null!==t)))).map((t=>t.length?bt(t):0));return[e,n,r]}function Y(t,e){const n=W(e);if(!n)return null;const r=E(t);return{area:z(n),perimeter:r}}function Z(t,e){return[(t[1][0]-t[0][0])/e,(t[1][1]-t[0][1])/e,(t[1][2]-t[0][2])/e]}async function $(t,e){await Promise.all([d(),v(),b()]);let n=j(e,F);if(n=W(n),!n)return null;const r=O(t);return{area:P(n),perimeter:r}}async function _(t,n,r){if(!n||!t)throw new Error("Missing required parameters");const a=await A(t,n);e(r);const o=a.clone();o.z?o.z+=20:o.z=20;const{averageElevation:s,cameraPitch:i,cameraRoll:c,farDistance:u,...l}=n;return B(o,l)}async function tt(t,n,r,a){const{attributes:o}=r,{location:s}=o,{updateElevationProps:i,...c}=n;if(!t||!n)throw new Error("Missing parameters");let u=s.clone();u.spatialReference.isGeographic&&(u=await w(u,R.WebMercator));const l=await L(t,{...c,cameraLocation:u},i);e(a);const f=l.clone();return f.z?f.z+=20:f.z=20,U(f,c)}function et(t,e,n,r,a=0,o=1,s){const{averageElevation:i,cameraPitch:c,cameraRoll:u,farDistance:l,...m}=r;if(a>=5||o<=.1)return{value:t};const p=new y({x:e.x,y:e.y,z:e.z?e.z+t:t,spatialReference:r.cameraLocation.spatialReference}),h=B(p,m),g=f([n[0].x,n[0].y],[h.x,h.y]),x=n.at(0),w=n.at(-1);if(!x||!w)return null;const M=f([x.x,x.y],[w.x,w.y])*t/g;return et(M,e,n,r,a+1,Math.abs(t-M))}function nt(t,e,n,r,a=0,o=1,s){const{averageElevation:i,horizontalFieldOfView:c,verticalFieldOfView:u,farDistance:l,...m}=r;if(a>=5||o<=.1)return{value:t};const p=new y({x:e.x,y:e.y,z:e.z?e.z+t:t,spatialReference:r.cameraLocation.spatialReference}),h=U(p,m),g=f([n[0].x,n[0].y],[h.x,h.y]),x=n.at(0),w=n.at(-1);if(!x||!w)return null;const M=f([x.x,x.y],[w.x,w.y])*t/g;return nt(M,e,n,r,a+1,Math.abs(t-M))}function rt(t,e,n){return new x({paths:[[[t.x,t.y,t.z??0],[e.x,e.y,e.z??0]]],spatialReference:n})}function at(t){return 1/Math.cos(Math.PI/2-2*Math.atan(Math.exp(-1*t/6378137)))}function ot(t,e){return Math.sqrt((Math.sqrt((t[0][0]-t[1][0])**2+(t[0][1]-t[1][1])**2)/e)**2+(t[0][2]-t[1][2])**2)}function st(t,e,n){return Math.sqrt((t.z??0-(e.z??0))**2+(Math.sqrt((t.x-e.x)**2+(t.y-e.y)**2)/n)**2)*n}function it(t,e,n,r){return Ut(St([t.x,t.y,t.z??0],[e.x,e.y,e.z??0]),1/n,1/r)}function ct(t,e){return Math.sqrt((t[0][0]-t[1][0])**2+(t[0][1]-t[1][1])**2)/e}function ut(e){return t(Math.atan((e[1][2]-e[0][2])/Math.sqrt((e[1][0]-e[0][0])**2+(e[1][1]-e[0][1])**2)))}function lt(e){let n=90-t(Math.atan2(e[1][1]-e[0][1],e[1][0]-e[0][0]));return n<0&&(n+=360),n}function ft(t,e){return new y({x:(t.pointOnA[0]+t.pointOnB[0])/2,y:(t.pointOnA[1]+t.pointOnB[1])/2,z:(t.pointOnA[2]+t.pointOnB[2])/2,spatialReference:e})}async function mt(t){if(2===t?.length){const e=[];let n=1;const[r,a]=t,o=r.camera.spatialReference,{measurePoints:s}=r;for(let t=0;t<s.length;t++){const s=rt(r.camera,r.measurePoints[t],o),i=rt(a.camera,a.measurePoints[t],o),c=await Lt(s,i);if(!c)return null;const u=ft(c,o);u.spatialReference.isWebMercator&&(n=at(u.y)),e.push([u.x,u.y,u.z??0])}if(e?.length>1){return{distance:ot(e,n),horizontalDistance:ct(e,n),verticalDistance:Math.abs(e[0][2]-e[1][2]),slope:ut(e),aspect:lt(e)}}}return null}async function pt(t){const e=t[0].camera.spatialReference;if(2!==t?.length)return null;const[n,r]=t,{camera:a,measurePoints:o}=n,{camera:s,measurePoints:i}=r,c=rt(a,o[0],e),u=rt(s,i[0],e),l=await Lt(c,u);return l?ft(l,e)??null:null}async function ht(t,e){if(!t?.length)return null;const n=[],r=t[0],a=t[1],o=r.camera.spatialReference,{measurePoints:s}=r;for(let l=0;l<s.length;l++){const t=rt(r.camera,r.measurePoints[l],o),e=rt(a.camera,a.measurePoints[l],o),s=await Lt(t,e);if(!s)return null;const i=ft(s,o);n.push([i.x,i.y,i.z??0])}if(n?.length<2)return null;const i=new x({paths:[n],spatialReference:e}),c=new g({rings:[n],spatialReference:e});if(e.isGeographic){const t=await C(e,i,c);return t?.area??null}if(e.isWebMercator){const t=await $(i,c);return t?.area??null}const u=Y(i,c);return u?.area??null}function yt(t,e){if(!t)return null;const n=e.geometry.clone(),r=Array.isArray(t)?t:[t],a=[];return r.forEach((t=>{let e=!1;t.spatialReference.isWGS84&&(t=q(t,new R({wkid:3857})),e=!0);const r=t.spatialReference.isWebMercator?at(t.y):1,o=st(t,n,r),s=it(t,n,o,r),i=((t.z??0)-(n.z??0))/s[2]*r;let c=new y({spatialReference:t.spatialReference,x:n.x+i*s[0],y:n.y+i*s[1],z:(n.z??0)+i*s[2]/r});e&&(c=q(c,new R({wkid:4326}))),a.push(c)})),{camera:n,measurePoints:r,tempMeasurePoints:a}}async function gt(t,e){const{updateElevationProps:n,...r}=e;return await A(t,r,n)}async function xt(t,e){const{updateElevationProps:n,...r}=e;return L(t,r,n)}function wt(t){navigator.clipboard.writeText(t).catch((t=>{throw t}))}function Mt(t){const e=t.map((t=>[t.x,t.y])),n=t[0].spatialReference;return new x({paths:[e],spatialReference:n})}function Rt(t,e){return t.map((t=>({x:e?.5+t[0]:t[0],y:e?.5-t[1]:t[1]})))}function zt(t,e,n,a,s){const i="measurement"===t?e:n;if(s&&i)return r(a,o(i,"meters"),s,3)||null}function dt(t,e){const{cameraPitch:n,cameraRoll:r,cameraLocation:a}=t,{x:o,y:s,z:i,spatialReference:c}=a;if(e.every((t=>0===t))||!e||!e.length)return null;const[u,l,,f,m]=e,p=[-f,0,f],h=[-m,0,m],g=[-u,0,u],x=[-l,0,l],w=[];for(const M of p)for(const e of h)for(const a of g)for(const u of g)for(const l of x){const f={...t};f.cameraPitch=n+M,f.cameraRoll=r+e,f.cameraLocation=new y({x:o+a,y:s+u,z:i?i+l:0,spatialReference:{wkid:c.wkid}}),w.push(f)}return w}function Pt(t,e){const{cameraHeading:n,cameraLocation:r}=t,{x:a,y:o,z:s,spatialReference:i}=r;if(e.every((t=>0===t))||!e||!e.length)throw new Error("Invalid parameters");const[c,u,l]=e,f=l>0?[-l,0,l]:[],m=c>0?[-c,0,c]:[],p=u>0?[-u,0,u]:[],h=[];for(const g of f)for(const e of m)for(const r of m)for(const c of p){const u={...t};u.cameraHeading=n+g,u.cameraLocation=new y({x:a+e,y:o+r,z:s?s+c:0,spatialReference:{wkid:i.wkid}}),h.push(u)}return h}function vt(t,e,n,a,s){const i="measurement"===t?e:bt(n);if(s&&i)return r(a,o(i,"meters"),s,3)||null}function jt(t,e,r,o,s){const i="measurement"===t?e:r;if(s&&i)return n(o,a(i,"square-meters"),s,3)||null}function bt(t){return Math.sqrt(t.reduce(((t,e)=>t+e**2),0))}function Ot(t,e,n){if("default"===e)return t;const r={x:t[0],y:t[1],z:t[2]},a=D(r,n[0],n[1]);return[a.x,a.y]}async function Et(t,n,r,a=!1,o=!1,s){if(!t||!n||t.length<2)return null;const i=Rt(t,a);if(!i||i.length<2)return null;const[c,u]=[i[0],i.at(-1)];if(!u)return null;const l=[c],m=await A(c,n);e(s);const p=m.clone();p.z?p.z+=20:p.z=20;const{averageElevation:h,cameraPitch:y,cameraRoll:g,farDistance:x,...w}=n,M=B(p,w),R=f([c.x,c.y],[M.x,M.y]),z=T(c,M);if(!z)return;const d=V([c.x,c.y],[u.x,u.y],z);if(!d?.length)return;l.push({x:d[0],y:d[1]});const P=20*f([l[0].x,l[0].y],[l[1].x,l[1].y])/R;if(!o)return P;const v=et(P,m,l,n,0,1);return v?.value}async function qt(t,n,r,a,o=!1,s=!1,i){const{attributes:c}=a,{location:u}=c,{updateElevationProps:l,...m}=n;if(!t||!n||t.length<2)throw new Error("Invalid parameters");const p=Rt(t,o),[h,y]=[p[0],p.at(-1)],g=[h];let x=u.clone();x.spatialReference.isGeographic&&(x=await w(x,R.WebMercator));const M=await L(h,{...m,cameraLocation:x},l);e(i);const z=M.clone();z.z?z.z+=20:z.z=20;const d=U(z,m),P=f([h.x,h.y],[d.x,d.y]),v=T(h,d);if(!v)return;const j=V([h.x,h.y],[y.x,y.y],v);if(!j?.length)return;g.push({x:j[0],y:j[1]});const b=20*f([g[0].x,g[0].y],[g[1].x,g[1].y])/P;if(!s)return b;const O=nt(b,M,g,n,0,1);return O?.value}async function Wt(t,e,n=!1){if(t.length<3)return null;const r=Rt(t,n),a=await gt(r,e),o=a.map((({x:t,y:e})=>[t,e]));t.push(t[0]),o.push(o[0]);const s=a[0].spatialReference,i=new x({paths:[o],spatialReference:s}),c=new g({rings:[o],spatialReference:s});return s.isGeographic?C(s,i,c):s.isWebMercator?$(i,c):Y(i,c)}async function kt(t,n,r=!1,a){if(t.length<3)return null;const o=Rt(t,r),s=await xt(o,n);e(a);const i=s.map((({x:t,y:e})=>[t,e]));t.push(t[0]),i.push(i[0]);const c=s[0].spatialReference,u=new x({paths:[i],spatialReference:c}),l=new g({rings:[i],spatialReference:c});return c.isGeographic?C(c,u,l):c.isWebMercator?$(u,l):Y(u,l)}async function It(t,e,n=!1){const r=Rt(t,n);return Q(Mt(await gt(r,e)))}async function Gt(t,n,r=!1,a){const o=Rt(t,r),s=await xt(o,n);e(a);return Q(Mt(s))}async function Lt(t,e){const n=c(),r=t.paths[0][0],a=e.paths[0][0];let o,u;t.spatialReference.isWGS84||t.spatialReference.isWebMercator?(await b(),o=O(t),u=O(e)):(o=E(t),u=E(e));const l=Z(t.paths[0],o),f=Z(e.paths[0],u),m=At(l,f),[p,h,y]=l,[g,x,w]=f.map((t=>-t)),[M,R,z]=m,[d,P,v]=[a[0]-r[0],a[1]-r[1],a[2]-r[2]];s(n,p,g,M,h,x,R,y,w,z);const j=i(n);if(0===j)return null;s(n,d,g,M,P,x,R,v,w,z);const q=i(n);s(n,p,d,M,h,P,R,y,v,z);const W=i(n);s(n,p,g,d,h,x,P,y,w,v);const k=q/j,I=W/j,G=i(n)/j;return{distance:Math.abs(G/Math.sqrt(m[0]*m[0]+m[1]*m[1]+m[2]*m[2])),pointOnA:Dt(r,k,l),pointOnB:Dt(a,I,f)}}function At(t,e){const n=u(),r=m(u(),t[0],t[1],t[2]),a=m(u(),e[0],e[1],e[2]),o=p(n,r,a);return[o[0],o[1],o[2]]}function Dt(t,e,n){return[t[0]+e*n[0],t[1]+e*n[1],t[2]+e*n[2]]}function St(t,e){const n=l(t[0],t[1],t[2]),r=l(e[0],e[1],e[2]);return h(u(),n,r)}function Ut(t,e,n){const r=S(t,e,n);return[r[0],r[1],r[2]]}export{T as calculateAngle,H as calculateAnglePano,V as calculateCorrectedPixel,J as calculateHeightAccuracy,K as calculateHeightAccuracyPanoramic,N as calculateHeightFromTemporaryDistance,X as calculateLocationAccuracyFromDeviations,tt as calculateReferenceImagePointPanoramic,_ as calculateTempImagePoint,et as computeHeightIteratively,nt as computeHeightIterativelyPanoramic,ht as computeTriangulatedAreaMeasurement,mt as computeTriangulatedDistanceMeasurement,pt as computeTriangulatedPoint,yt as computeTriangulatedVector,wt as copyToClipboard,Rt as formatPixels,dt as generateCombinations,Pt as generateCombinationsPanoramic,jt as getConvertedArea,vt as getConvertedDistance,zt as getConvertedHeight,Ot as getModeCorrectedPoint,bt as getRootOfSumOfSquaredErrors,Et as heightMeasurement2D,qt as heightMeasurementPanoramic,Wt as pixelAreaMeasurement2D,kt as pixelAreaMeasurementPanoramic,It as pixelDistanceMeasurement2D,Gt as pixelDistanceMeasurementPanoramic,Ut as scale,Lt as solveSkewLinesIntersection,St as subtract};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../chunks/tslib.es6.js";import"../intl.js";import{prefersReducedMotion as t}from"../core/a11yUtils.js";import{createTask as i}from"../core/asyncUtils.js";import a from"../core/Collection.js";import{deprecatedProperty as s}from"../core/deprecate.js";import o from"../core/Logger.js";import{isAbortError as r}from"../core/promiseUtils.js";import{watch as n,initial as l,syncAndInitial as c,whenOnce as d}from"../core/reactiveUtils.js";import{property as g}from"../core/accessorSupport/decorators/property.js";import"../core/has.js";import"../core/RandomLCG.js";import{subclass as m}from"../core/accessorSupport/decorators/subclass.js";import{or as h}from"../layers/orientedImagery/transformations/utils.js";import u from"./Widget.js";import{getAllArcPath as p}from"./OrientedImageryViewer/arcUtils.js";import{getDelegatedEvents as v,defaultImageGeometryField as y,defaultOIObjectIDField as w,segmentArcs as _,featureCircleRadius as b,navigationToolDimensionLength as M,sectorsRadii as T}from"./OrientedImageryViewer/constants.js";import{css as C,navigation as I,navigationToolRotationFrom as f,navigationToolRotationTo as A,root as L}from"./OrientedImageryViewer/css.js";import{loadImageForAttachment as k,getThumbnailPixelBlock as O,isFeatureAttachment as S,renderImageWithRotation as F}from"./OrientedImageryViewer/galleryUtils.js";import E from"./OrientedImageryViewer/OrientedImageryViewerViewModel.js";import V from"./OrientedImageryViewer/OrientedImageryViewerVisibleElements.js";import P from"./OrientedImageryViewer/components/ImageLocationWidget.js";import x from"./OrientedImageryViewer/components/ImageViewer.js";import G from"./OrientedImageryViewer/components/NavigationUI.js";import{loadCalciteComponents as j}from"./support/componentsUtils.js";import{globalCss as $}from"./support/globalCss.js";import"./support/widgetUtils.js";import{messageBundle as D}from"./support/decorators/messageBundle.js";import{vmEvent as H}from"./support/decorators/vmEvent.js";import{tsx as B,tsxFragment as N}from"./support/jsxFactory.js";import{substitute as U}from"../intl/substitute.js";const R={overlayed:"overlayed"};let W=class extends u{constructor(e,t){super(e,t),this.dataCaptureEnabled=!1,this.galleryOpened=!1,this.imageEnhancementToolActive=!1,this.directionToolsActive=!1,this.imageOverlaysOpened=!1,this.navigationToolActive=!1,this.viewModel=new E,this.messagesCommon=null,this.messagesSketch=null,this.pixelMeasurementUnit="meters",this.pixelAreaMeasurementUnit="square-meters",this.showCameraLocations=!1,this.showMapFeatures=!1,this.visibleElements=new V,this._imageOverlaysLoaderTask=null,this._imageMeasurementToolsLoaderTask=null,this._clearMeasurements=()=>{this.viewModel.measureType=null,this.viewModel.clearPreviousMeasurements()},this._clearImageLocation=()=>{this.imageLocationToolActive=!1},this._navigationToolExpanded=!1,this._navigationTool=null,this._warningTitleElement=null,this._galleryController=new AbortController,this._galleryObserver=new IntersectionObserver(this._lazyLoadImage.bind(this)),this._overlayedLayers=new a,this._previousAction=null,this._handleDataCaptureLayerChange=async e=>{if(this.dataCaptureLayer&&await this.stopDataCapture(!0),this.dataCaptureLayer=this.dataCaptureLayer===e?null:e,this.dataCaptureLayer)return this.startDataCapture(this.dataCaptureLayer)},this._handleOverlayLayerDeselect=e=>{const t=e.layer;t===this.dataCaptureLayer&&(this.stopDataCapture(),this.dataCaptureLayer=null),this.removeOverlayedGraphicsOnImage(`${t.id}`)},this._handleOverlayLayerSelect=e=>{const t=e.layer;this.viewModel.overlayMapFeatures(t,this.showMapFeatures),this.addHandles(n((()=>t.visible),(()=>{this.viewModel.toggleOverlayMapFeatures(t.id,t.visible)})),`${R.overlayed}-${t.id}`)},this._highlight=e=>{const t=e.target?.dataset.objectid;t&&this.viewModel.highlight(t)},this._onAction=e=>{const{target:t}=e,{dataset:{action:i}}=t,{_previousAction:a}=this,s=a?.dataset.action,o=s?.includes("draw")??!1,r="select-feature"===s,n=s!==i;switch(i){case"draw-point":case"draw-polygon":case"draw-polyline":{a&&h(r,o&&n)&&(a.active=!1),t.active=!t.active;const e=i.replace("draw-","");this.viewModel.digitizeCreate(e),this._previousAction=t.active?t:null;break}case"save":this.viewModel.saveDrawing();break;case"select-feature":o&&(this._previousAction.active=!1),t.active=!t.active,this.viewModel.toggleSelection(t.active),this._previousAction=t.active?t:null;break;case"delete-feature":this.viewModel.digitizeDelete()}},this._onImageOverlayClosed=()=>{this.imageOverlaysOpened=!1},this._onShowCameraLocationsChanged=e=>{this.showCameraLocations=e},this._onShowMapFeaturesChanged=e=>{this.showMapFeatures=e},this._removeHighlight=()=>this.viewModel.removeHighlight(),this._restoreOverlays=async()=>Promise.all(this._overlayedLayers.map((e=>this.viewModel.overlayMapFeatures(e,this.showMapFeatures)))),this._scaleNavigationTool=()=>{this._navigationToolExpanded=!this._navigationToolExpanded},this._sketchLoaderTask=null,this._toggleDirectionsTool=()=>{const e=this.directionToolsActive;this._closeAllImageTools(),this.directionToolsActive=!e},this._toggleImageAttributes=()=>{this.viewModel.toggleImageAttributes()},this._loadImageFromGallery=this._loadImageFromGallery.bind(this),this._registerGalleryItem=this._registerGalleryItem.bind(this),this._unregisterGalleryItem=this._unregisterGalleryItem.bind(this),this.loadImageFromSource=this.loadImageFromSource.bind(this),this.updateSuitabilities=this.updateSuitabilities.bind(this)}initialize(){this.addHandles([n((()=>[this.viewModel?.bestFeatureAngle,this._navigationTool]),(([e,t])=>{t&&this._updateNavigationTool(t)}),l),n((()=>this.currentCoverageVisible),(e=>this._onCurrentCoverageVisibilityChange(e))),n((()=>this.isAdditionalCoverageVisible),(e=>this._onAdditionalCoverageVisibilityChange(e))),n((()=>this.isAdditionalPointSourcesVisible),(e=>this._onAdditionalCameraLocationsVisibility(e))),n((()=>({features:this.currentBestFeature,showCameraLocations:this.showCameraLocations,state:this.viewModel.state})),(({showCameraLocations:e,state:t})=>{"image-loaded"===t&&this.viewModel.overlayCameraLocations(e)}),c),n((()=>({feature:this.currentBestFeature,showMapFeatures:this.showMapFeatures,state:this.viewModel.state})),(async(e,t)=>{if(e.showMapFeatures!==t?.showMapFeatures&&this.viewModel.toggleAllOverlayMapFeatures(e.showMapFeatures),null!=e.feature&&e.feature!==t?.feature){if(this.viewModel.removeAllOverlayMapFeatures(),await d((()=>"image-loaded"===this.viewModel.state)),this.dataCaptureLayer&&this.stopDataCapture(),await this._restoreOverlays(),!this.dataCaptureLayer)return;await this.startDataCapture(this.dataCaptureLayer),this._previousAction?.active&&(this._previousAction.active=!1,this._previousAction=null)}}),l)])}loadDependencies(){return j({"action-bar":()=>import("@esri/calcite-components/dist/components/calcite-action-bar"),"action-group":()=>import("@esri/calcite-components/dist/components/calcite-action-group"),action:()=>import("@esri/calcite-components/dist/components/calcite-action"),label:()=>import("@esri/calcite-components/dist/components/calcite-label"),notice:()=>import("@esri/calcite-components/dist/components/calcite-notice"),panel:()=>import("@esri/calcite-components/dist/components/calcite-panel"),shell:()=>import("@esri/calcite-components/dist/components/calcite-shell"),dialog:()=>import("@esri/calcite-components/dist/components/calcite-dialog"),dropdown:()=>import("@esri/calcite-components/dist/components/calcite-dropdown"),"dropdown-group":()=>import("@esri/calcite-components/dist/components/calcite-dropdown-group"),"dropdown-item":()=>import("@esri/calcite-components/dist/components/calcite-dropdown-item"),slider:()=>import("@esri/calcite-components/dist/components/calcite-slider"),tooltip:()=>import("@esri/calcite-components/dist/components/calcite-tooltip")})}destroy(){this._galleryController.abort(),this._galleryObserver.disconnect()}get accuracyParametersMissing(){return this.viewModel.accuracyParametersMissing}get activeLayer(){return s(o.getLogger(this),"activeLayer",{replacement:"layer"}),this.layer}set activeLayer(e){s(o.getLogger(this),"activeLayer",{replacement:"layer"}),this.layer=e}get currentBestFeature(){return this.viewModel.currentBestFeature}set currentBestFeature(e){this.viewModel.currentBestFeature=e}get currentCoverageVisible(){return this.viewModel.currentCoverageVisible}set currentCoverageVisible(e){this.viewModel.currentCoverageVisible=e}get dataCaptureLayer(){return this.viewModel.dataCaptureLayer}set dataCaptureLayer(e){this.viewModel.dataCaptureLayer=e}get disabled(){return this.viewModel.disabled}set disabled(e){this.viewModel.disabled=e}get displayMessage(){return this.viewModel.displayMessage}get features(){return this.viewModel.features}get imagePointsInView(){return this.viewModel.imagePointsInView}get icon(){return"oriented-imagery-widget"}set icon(e){this._overrideIfSome("icon",e)}get imageGalleryEnabled(){return this.viewModel.imageGalleryEnabled}get imageLocationToolActive(){return this.viewModel.imageLocationToolState}set imageLocationToolActive(e){this.viewModel.imageLocationToolState=e}get invalidCameraHeading(){return this.viewModel.invalidCameraHeading}get isAdditionalCoverageVisible(){return this.viewModel.isAdditionalCoverageVisible}set isAdditionalCoverageVisible(e){this.viewModel.isAdditionalCoverageVisible=e}get isAdditionalPointSourcesVisible(){return this.viewModel.isAdditionalPointSourcesVisible}set isAdditionalPointSourcesVisible(e){this.viewModel.isAdditionalPointSourcesVisible=e}get mapImageConversionToolState(){return this.viewModel.mapImageConversionToolState}set mapImageConversionToolState(e){this.viewModel.mapImageConversionToolState=e}get measureType(){return this.viewModel.measureType}set measureType(e){this.viewModel.measureType=e}get layer(){return this.viewModel.layer}set layer(e){this.viewModel.layer=e}get popupEnabled(){const{popupEnabled:e,state:t}=this.viewModel;return"image-loaded"===t&&e}get referencePoint(){return this.viewModel.referencePoint??null}get sketchViewModel(){return this.viewModel.sketch}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}set determineWorkflowForFeature(e){this.viewModel.determineWorkflowForFeature=e}get determineWorkflowForFeature(){return this.viewModel.determineWorkflowForFeature}set updateFootprint(e){this.viewModel.updateFootprint=e}get updateFootprint(){return this.viewModel.updateFootprint}_renderActionBar(){return B("calcite-action-bar",{expandDisabled:!0,layout:"horizontal",slot:"action-bar"},B("calcite-action-group",null,this._currentFootprintToggle(),this._additionalFootprintToggle(),this._additionalPointSourcesToggle()),B("calcite-action-group",null,this._mapImageConversionToggle(),this._navigationToolToggle(),this._directionToolToggle(),this._imageEnhancementsToggle()),B("calcite-action-group",null,this._measurementToolsToggle(),this._imageGalleryToggle(),this._imageOverlaysToggle(),this._openPopupAction()))}get _activeMeasurementIcon(){const{measureType:e,imageLocationToolActive:t}=this;if(t)return"pin-tear";switch(e){case"area":return"measure-area";case"height":return"measure-building-height-top-base";default:return"measure-line"}}get _activeMeasurementHeading(){const{measureType:e,messages:t,viewModel:i}=this,{triangularMeasurementActive:a}=i,{groundArea:s,heightAboveGround:o,groundDistance:r,triangulatedAreaHeading:n,triangulatedDistanceHeading:l}=t;if(a)return"area"===e?n:l;switch(e){case"area":return s;case"height":return o;default:return r}}_additionalFootprintToggle(){const{isAdditionalCoverageVisible:e,invalidCameraHeading:t,visibleElements:{additionalFootprintToggle:i}}=this;return i?B("calcite-action",{active:e,bind:this,class:C.addCoverage,disabled:t,icon:"trapezoid-area",onclick:this._toggleAdditionalCoverage,text:this.messages.additionalFootprints,title:this.messages.additionalFootprints}):null}_additionalPointSourcesToggle(){const{isAdditionalPointSourcesVisible:e,invalidCameraHeading:t,visibleElements:{additionalCameraLocationsToggle:i}}=this;return i?B("calcite-action",{active:e,bind:this,class:C.addExpPoints,disabled:t,icon:"circle-area",onclick:this._toggleAdditionalCameraLocations,text:this.messages.additionalCameraLocations,title:this.messages.additionalCameraLocations}):null}get _measurementToggle(){const{viewModel:{state:e,measureType:t,triangularMeasurementActive:i,currentBestFeatureMeasurementImage:a},id:s}=this;if("image-loaded"!==e||!t||i&&!a)return;this._imageMeasurementToolsLoaderTask||this._loadImageMeasurementResources();const o=this._imageMeasurementToolsLoaderTask?.value;return o?B("calcite-dialog",{bind:this,dragEnabled:!0,escapeDisabled:!0,heading:this._activeMeasurementHeading,id:`${s}-${t}-measurement`,open:!0,placement:"bottom-start",resizable:!0,scale:"s",slot:"dialogs",width:"s",onCalciteDialogBeforeClose:this._clearMeasurements},B(o,{measurementType:t,measurementUnitMessages:this.measurementUnitMessages,messages:this.messages,oiViewModel:this.viewModel})):null}get _renderRoot(){const{viewModel:{state:e,triangularMeasurementActive:t}}=this;return B("calcite-panel",null,B("calcite-shell",null,B("calcite-panel",{bind:this,class:t?C.viewerContainerMeasurement:C.viewerContainer,heading:this.visibleElements.title?this.messages.title:void 0,loading:e.includes("loading")&&!t},this.visibleElements.menu?this._renderActionBar():null,this._imageViewer,this._panoramicViewer,this._messageBox,this.invalidCameraHeading?[this._renderWarning(this.messages.invalidCameraHeadingWarningTitle),this._renderWarningTooltip(this.messages.invalidCameraHeadingWarningDescription)]:[this._imageGalleryPanel,this._renderNavigation,this._imageOverlaysPanel()],this._imageEnhancementTools,this._renderNavigationUI,this._renderSketch()),this._imageViewerTriangular,this._measurementToggle,this._locationToggle))}_currentFootprintToggle(){const{currentCoverageVisible:e,invalidCameraHeading:t}=this,{currentFootprintToggle:i}=this.visibleElements;return i?B("calcite-action",{active:e,bind:this,class:C.currentCoverage,disabled:t,icon:"trapezoid-area",onclick:this._toggleCurrentCoverage,text:this.messages.currentFootprint,title:this.messages.currentFootprint}):null}get _imageEnhancementTools(){const{imageEnhancementToolActive:e,viewModel:{brightness:t,contrast:i,sharpness:a,state:s}}=this;return e&&"image-loaded"===s?B("calcite-panel",{bind:this,class:C.imageEnhancementWrapper,closable:!0,closed:!e,heading:this.messages.imageEnhancement,key:this.messages.imageEnhancement,onCalcitePanelClose:this._toggleImageEnhancementToolState},B("div",{class:C.imageEnhancementTools},B("div",{class:C.imageEnhancementToolContainer},B("calcite-label",null,this.messages.brightness,B("calcite-slider",{bind:this,labelTicks:!0,max:10,min:-10,ticks:5,value:t,onCalciteSliderInput:this._handleBrightnessChange}))),B("div",{class:C.imageEnhancementToolContainer},B("calcite-label",null,this.messages.contrast,B("calcite-slider",{bind:this,labelTicks:!0,max:10,min:-10,ticks:5,value:i,onCalciteSliderInput:this._handleContrastChange}))),B("div",{class:C.imageEnhancementToolContainer},B("calcite-label",null,this.messages.sharpness,B("calcite-slider",{bind:this,labelTicks:!0,max:1,min:0,step:.1,ticks:.5,value:a,onCalciteSliderInput:this._handleSharpnessChange})))),B("calcite-action",{bind:this,icon:"reset",onclick:this._resetImageTools,slot:"header-actions-end",text:this.messagesCommon.reset,title:this.messagesCommon.reset})):null}_imageEnhancementsToggle(){const{state:e,mode:t}=this.viewModel,{imageEnhancement:i}=this.visibleElements;return i?B("calcite-action",{active:this.imageEnhancementToolActive,bind:this,disabled:"default"!==t||"image-loaded"!==e,icon:"sliders-horizontal",onclick:this._toggleImageEnhancementToolState,text:this.messages.imageEnhancement,title:this.messages.imageEnhancement}):null}get _imageGalleryPanel(){const{container:e,galleryOpened:t,imageGalleryEnabled:i}=this;return i&&t&&e?this._imageGalleryContext:null}get _imageGalleryContext(){const{galleryOpened:e,invalidCameraHeading:t}=this;return B("calcite-panel",{bind:this,class:C.carousel,closable:!0,closed:!e,disabled:t,heading:this.messages.imageGallery,key:this.messages.imageGallery,onCalcitePanelClose:this._toggleImageGallery},B("div",{class:C.carouselContainer},this._renderThumbnails))}_imageGalleryToggle(){const{imageGalleryEnabled:e,invalidCameraHeading:t,visibleElements:{imageGallery:i}}=this;return i?B("calcite-action",{active:this.galleryOpened,bind:this,disabled:!e||t,icon:"images",onclick:this._toggleImageGallery,text:this.messages.imageGallery,title:this.messages.imageGallery}):null}get _imageOverlaysComponent(){const{_imageOverlayMessages:e,_imageOverlaysLoaderTask:t,_overlayedLayers:a,dataCaptureEnabled:s,dataCaptureLayer:o,imageOverlaysOpened:r,showCameraLocations:n,showMapFeatures:l,view:c,layer:d}=this;if(!d)return null;const g=d.imageGeometryField?.length?d.imageGeometryField:y,m=d.imageReferenceField?.length?d.imageReferenceField:w;t||(this._imageOverlaysLoaderTask=i((async()=>(await import("./OrientedImageryViewer/components/ImageOverlays.js")).default)));const h=this._imageOverlaysLoaderTask?.value;return h?B(h,{closed:!r,dataCaptureEnabled:s,dataCaptureLayer:o,imageGeometryField:g,imageReferenceField:m,messages:e,overlayedLayers:a,showCameraLocations:n,showMapFeatures:l,view:c,onDataCaptureLayerChanged:this._handleDataCaptureLayerChange,onImageOverlaysClosed:this._onImageOverlayClosed,onLayerDeselected:this._handleOverlayLayerDeselect,onLayerSelected:this._handleOverlayLayerSelect,onShowCameraLocationsChanged:this._onShowCameraLocationsChanged,onShowMapFeaturesChanged:this._onShowMapFeaturesChanged}):null}get _imageOverlayMessages(){return{...this.messages,...this.messagesSketch}}get _imageSketchToolsMessages(){return{...this.messagesSketch,...this.messagesCommon}}_imageOverlaysPanel(){const{imageOverlaysOpened:e,viewModel:{state:t}}=this,i=this.classes({[C.imageOverlaysContainer]:!0,[$.hidden]:!e||"image-loaded"!==t});return B("div",{class:i,key:this.messages.imageOverlays},this._imageOverlaysComponent)}_imageOverlaysToggle(){const{viewModel:{state:e},imageOverlaysOpened:t,invalidCameraHeading:i,visibleElements:{imageOverlays:a}}=this;return a?B("calcite-action",{active:t,bind:this,disabled:"image-loaded"!==e||i,icon:"layers",onclick:this._toggleImageOverlays,text:this.messages.imageOverlays,title:this.messages.imageOverlays}):null}get _imageViewer(){const{displayMessage:e,loadImageViewer:t,mode:i}=this.viewModel,a=null!=e||"default"!==i,s=this.classes({[C.viewer]:!a,[C.viewerHidden]:a});return B("calcite-panel",{afterCreate:t,bind:this,class:s},this._renderSketch())}get _imageViewerTriangular(){const{messages:e}=this,{displayMessage:t,storeImageMeasurementViewer:i,mode:a,state:s,triangularMeasurementActive:o}=this.viewModel,r=null!=t||"default"!==a,n=this.classes({[C.viewer]:!r,[C.viewerHidden]:r});return o?B("calcite-panel",{class:C.viewerContainerMeasurement,heading:e.measurementViewerHeading,loading:s.includes("loading")},B("calcite-panel",{bind:this,class:n},B(x,{afterCreate:i}))):null}get _locationToggle(){const{viewModel:{state:e,groundCoordinates:t,groundCoordinatesAccuracy:i},imageLocationToolActive:a,messages:{groundLocation:s}}=this;if("image-loaded"===e&&t&&a)return B("calcite-dialog",{bind:this,dragEnabled:!0,escapeDisabled:!0,heading:s,id:s,open:!0,placement:"bottom-start",resizable:!0,scale:"s",slot:"dialogs",width:"s",onCalciteDialogBeforeClose:this._clearImageLocation},B(P,{accuracy:i,groundCoordinates:t,messages:this.messages}))}_mapImageConversionToggle(){const{mapImageConversionToolState:e,viewModel:{state:t},invalidCameraHeading:i,visibleElements:{mapImageConversionTool:a}}=this;return a?B("calcite-action",{active:e,bind:this,disabled:"image-loaded"!==t||i,icon:"image-pin",onclick:this._toggleMapImageConversionToolState,text:this.messages.mapImageConversionTool,title:this.messages.mapImageConversionTool}):null}_measurementToolsToggle(){const{_activeMeasurementIcon:e,measureType:t,viewModel:i,accuracyParametersMissing:a,messages:s,visibleElements:{measurementTools:o}}=this,{state:r,triangularMeasurementActive:n,mode:l}=i,{measurementTools:c,groundDistance:d,groundArea:g,heightAboveGround:m,groundLocation:h,triangulatedDistanceHeading:u,triangulatedAreaHeading:p}=s;return o?B("calcite-dropdown",{disabled:a,key:"measurement-tools",maxItems:5,title:c,width:"m"},B("calcite-action",{bind:this,disabled:"image-loaded"!==r||a,icon:e,slot:"trigger",text:c}),B("calcite-dropdown-group",null,B("calcite-dropdown-item",{bind:this,disabled:"image-loaded"!==r,iconStart:"measure-line",key:"distance-measurement",onclick:e=>this._toggleMeasurementSketch(e,"distance"),selected:"distance"===t&&!n},d),B("calcite-dropdown-item",{bind:this,disabled:"image-loaded"!==r,iconStart:"measure-area",key:"area-measurement",onclick:e=>this._toggleMeasurementSketch(e,"area"),selected:"area"===t&&!n},g),B("calcite-dropdown-item",{bind:this,disabled:"image-loaded"!==r,iconStart:"measure-building-height-top-base",key:"height-dropdown",onclick:e=>this._toggleMeasurementSketch(e,"height"),selected:"height"===t},m),B("calcite-dropdown-item",{bind:this,disabled:"image-loaded"!==r,iconStart:"pin-tear",key:"surface-location",onclick:e=>this._toggleLocationTool(e),selected:this.imageLocationToolActive},h),"default"===l&&B(N,null,B("calcite-dropdown-item",{bind:this,disabled:"image-loaded"!==r,iconStart:"image-mensuration",key:"triangular-measurement-distance",selected:!!n&&"distance"===this.measureType,onCalciteDropdownItemSelect:this._toggleTriangularDistanceMeasurements},u),B("calcite-dropdown-item",{bind:this,disabled:"image-loaded"!==r,iconStart:"image-mensuration",key:"triangular-measurement-area",selected:!!n&&"area"===this.measureType,onCalciteDropdownItemSelect:this._toggleTriangularAreaMeasurements},p)))):null}get _messageBox(){const{messages:e,viewModel:{displayMessage:t}}=this;if(!t)return null;const{data:i,key:a,map:s}=t,o=`${s?U(e[a],s):e[a]}`;return B("span",{class:C.messageBox},i?`${o} ${i}`:o)}_navigationToolToggle(){const{state:e}=this.viewModel,{visibleElements:{navigationTool:t}}=this;return t?B("calcite-action",{active:this.navigationToolActive,bind:this,disabled:"image-loaded"!==e||this.invalidCameraHeading,icon:"explore",onclick:this._toggleNavigationTool,text:this.messages.navigationTool,title:this.messages.navigationTool}):null}_directionToolToggle(){const{state:e,mode:t}=this.viewModel,{visibleElements:{directions:i}}=this;return i?B("calcite-action",{active:this.directionToolsActive,bind:this,disabled:"image-loaded"!==e||this.invalidCameraHeading||"panoramic"!==t,icon:"tour",onclick:this._toggleDirectionsTool,text:this.messages.imageNavigation,title:this.messages.imageNavigation}):null}_openPopupAction(){const{showPopupsAction:e}=this.visibleElements;return e?B("calcite-action",{bind:this,disabled:!this.popupEnabled,icon:"popup",onclick:this._toggleImageAttributes,text:this.messages.showPopups,title:this.messages.showPopups}):null}get _panoramicViewer(){const{displayMessage:e,loadPanoramicViewer:t,mode:i}=this.viewModel,a=null!=e||"panoramic"!==i,s=this.classes({[C.viewer]:!a,[C.viewerHidden]:a});return B("calcite-panel",{afterCreate:t,bind:this,class:s})}get _renderNavigationUI(){const{visibleElements:{directions:e},directionToolsActive:t,viewModel:i}=this;return"image-loaded"===i.state&&e&&t&&"panoramic"===i.mode?B(G,{currentNode:this.viewModel.currentNode,navigate:this.viewModel.navigate,nodes:this.viewModel.navigationNodes}):null}_closeAllImageTools(){this.imageEnhancementToolActive=!1,this.navigationToolActive=!1,this.imageOverlaysOpened=!1,this.galleryOpened=!1,this.measureType=null,this.imageLocationToolActive=!1,this.directionToolsActive=!1}_handleBrightnessChange(e){this.viewModel.brightness=e.currentTarget.value??0}_handleContrastChange(e){this.viewModel.contrast=e.currentTarget.value??0}_handleSharpnessChange(e){this.viewModel.sharpness=e.currentTarget.value??0}_lazyLoadImage(e,t){e.forEach((async e=>{if(e.isIntersecting){const a=e.target,s=a.getAttribute("data-src"),n=a.getAttribute("data-rotation"),l=a.getAttribute("data-objectid"),c=n?parseFloat(n)%360:0,{layer:d,_galleryController:{signal:g}}=this;if(!s||!l)return;let m;try{m=S(s)?await k(d,l,{signal:g}):await O(s,{signal:g})}catch(i){r(i)||o.getLogger("esri.widgets.OrientedImageryViewer").error("#lazyLoadImage()",i)}finally{t.unobserve(a)}if(!m)return;F(m,a,c)}}))}_loadImageFromGallery(e){const{target:t}=e;if(!t)return;const i=t.getAttribute("data-objectid");i&&this.viewModel.currentBestFeature?.attributes.objectId!==Number(i)&&this.viewModel.selectBestFeature(i)}_loadImageMeasurementResources(){this._imageMeasurementToolsLoaderTask=i((async()=>{const{default:e}=await import("./OrientedImageryViewer/components/ImageMeasurementWidget.js");return e}))}_loadSketchResources(){this._sketchLoaderTask=i((async()=>(await import("./OrientedImageryViewer/components/SketchTools.js")).default))}_onAdditionalCoverageVisibilityChange(e){this.viewModel.setAdditionalCoverageVisibility(e)}_onAdditionalCameraLocationsVisibility(e){this.viewModel.setAdditionalCameraLocationsVisibility(e)}_onCurrentCoverageVisibilityChange(e){this.viewModel.setCurrentCoverageVisibility(e)}_registerGalleryItem(e){this._galleryObserver.observe(e)}_renderWarning(e){const{invalidCameraHeading:t,viewModel:{state:i}}=this;return t&&"image-loaded"===i?[B("calcite-notice",{class:C.alert,closable:!0,icon:"exclamation-mark-triangle-f",iconFlipRtl:!0,kind:"warning",open:!0,scale:"s"},B("div",{afterCreate:e=>this._storeWarningTitleElement(e),slot:"title"},e))]:null}_renderWarningTooltip(e){const{_warningTitleElement:t}=this;if(e?.length&&t)return B("calcite-tooltip",{closeOnClick:!0,referenceElement:t},e)}get _renderNavigation(){const{viewModel:{sectorData:e,navigatorCurrentBestFeature:i,currentBestFeature:a,state:s}}=this;if(!this.container||!a)return null;let o,r,n,l,c;if(i){const{x:e,y:t,direction:a}=i,[s,d,g,m]=_[a];o=`M ${e} ${t} L ${s} ${d} A ${T[2]} ${T[2]} 0 0 1 ${g} ${m} Z`,r=e,l=t,n=_[a][4],c=_[a][5]}const d=e=>{const t=e.target.dataset?.sector;t&&this.viewModel.handleSectorClick(+t)},g=e=>{const t=e.target.dataset;if(!t)return;const{featureIndexInSector:i,sector:a}=t;i&&a&&this.viewModel.handleFeatureClick({sector:a,featureIndexInSector:+i})},m=e=>{e.removeEventListener("click",g)},h=a.attributes.objectId,u=e?.map((e=>e?.items)).filter(Boolean).flatMap((e=>e?.map((({x:e,y:t,objectID:i,featureIndexInSector:a,sector:s})=>B("circle",{afterRemoved:m,class:this.classes(C.feature,{selected:h===i}),cx:e,cy:t,"data-feature-index-in-sector":a,"data-sector":s,key:`${C.feature}-${i}`,onclick:g,r:b}))))),v=e=>{e.removeEventListener("click",d)},y=this.classes({[C.navigationWrapper]:!0,[C.navigationZoomed]:this._navigationToolExpanded});return this.navigationToolActive&&"image-loaded"===s?B("div",{bind:this,class:y,key:this.messages.navigationTool},B("svg",{afterCreate:e=>this._storeNavigationToolReference(e),class:t()?I:C.rotateWithAnimation,focusable:"false",height:M,role:"img",width:M,xmlns:"http://www.w3.org/2000/svg"},B("defs",null,B("linearGradient",{gradientUnits:"userSpaceOnUse",id:`${this.id}-coverage-fill`,x1:r,x2:n,y1:l,y2:c},B("stop",{class:C.navigationPathOffset0,offset:0}),B("stop",{class:C.navigationPathOffset1,offset:1}))),B("g",null,B("circle",{class:this.classes(C.sector,C.outerSector),cx:T[3],cy:T[3],onclick:this._scaleNavigationTool,r:T[3]}),B("circle",{class:C.sector,cx:T[3],cy:T[3],r:T[2]}),B("circle",{class:C.sector,cx:T[3],cy:T[3],r:T[1]}),B("circle",{class:C.sector,cx:T[3],cy:T[3],r:T[0]}),B("path",{class:C.pointer,d:"M 56.5 6.06217782649107 L 60 0 L 63.5 6.06217782649107 Z",key:`${C.pointer}-west`}),B("path",{class:this.classes(C.pointer,C.north),d:"M 113.93782217350893 56.5 L 120 60 L 113.93782217350893 63.5 Z",key:`${C.pointer}-north`}),B("path",{class:C.pointer,d:"M 56.5 113.93782217350893 L 60 120 L 63.5 113.93782217350893 Z",key:`${C.pointer}-east`}),B("path",{class:C.pointer,d:"M 6.06217782649107 56.5 L 0 60 L 6.06217782649107 63.5 Z",key:`${C.pointer}-south`}),B("path",{class:this.classes(C.sector,C.sectorSeparator),d:"M 23.937554159486076 23.937554159486076 L 96.06244584051393 96.06244584051393 M 23.937554159486076 96.06244584051393 L 96.06244584051393 23.937554159486076",key:C.sectorSeparator}),p([T[2],T[1],T[0]],T[3],T[3]).map(((t,i)=>B("path",{afterRemoved:v,class:this.classes(C.sector,e?.[i]?.length?C.sectorEnabled:C.sectorDisabled),d:t,"data-sector":`${i}`,key:`${C.sector}-${i}`,onclick:d}))),B("path",{class:this.classes(C.sector,C.sectorCross),d:"M 56.4 56.4 L 63.53 63.53 M 63.53 56.4 L 56.4 63.53",key:C.sectorCross}),u,a.attributes.cameraPitch>=5&&o?B("path",{class:C.selectedFeaturePath,d:o,fill:`url(#${this.id}-coverage-fill)`,key:C.selectedFeaturePath}):null))):null}_renderSketch(){const{dataCaptureLayer:e,imageOverlaysOpened:t}=this;if(!e||t)return null;if(this._sketchLoaderTask||this._loadSketchResources(),!this._sketchLoaderTask?.value)return null;const{geometryType:i}=e,a="point"===i?"pin":"polyline"===i?"line":"polygon",s=this._sketchLoaderTask.value;return B("div",{class:C.sketchTools},B(s,{icon:a,messages:this._imageSketchToolsMessages,type:i,onAction:this._onAction}))}get _renderThumbnails(){const{currentBestFeature:e,thumbnails:t}=this.viewModel;return e?B("div",{class:C.carouselContent},t?.items.map((({url:t,objectId:i,rotation:a},s)=>B("div",{class:`${C.carouselItemWrapper}${e.attributes.objectId===i?"--selected":""}`,key:`${C.carouselItemWrapper}-${s}`},B("canvas",{afterCreate:this._registerGalleryItem,afterRemoved:this._unregisterGalleryItem,alt:`thumbnail-${i}`,class:C.carouselItem,"data-objectid":`${i}`,"data-rotation":`${a}`,"data-src":t,onclick:this._loadImageFromGallery,onmouseenter:this._highlight,onmouseleave:this._removeHighlight}))))):null}_resetImageTools(){this.viewModel.sharpness=this.viewModel.brightness=this.viewModel.contrast=0}_storeNavigationToolReference(e){this._navigationTool=e}_storeWarningTitleElement(e){this._warningTitleElement=e}_toggleAdditionalCameraLocations(){this.isAdditionalPointSourcesVisible=!this.isAdditionalPointSourcesVisible}_toggleAdditionalCoverage(){this.isAdditionalCoverageVisible=!this.isAdditionalCoverageVisible}_toggleCurrentCoverage(){this.currentCoverageVisible=!this.currentCoverageVisible}_toggleImageEnhancementToolState(e){e.stopPropagation();const t=this.imageEnhancementToolActive;this._closeAllImageTools(),this.imageEnhancementToolActive=!t}_toggleImageOverlays(e){e.stopPropagation();const t=this.imageOverlaysOpened;this._closeAllImageTools(),this.imageOverlaysOpened=!t}_toggleImageGallery(e){e.stopPropagation();const t=this.galleryOpened;this._closeAllImageTools(),this.galleryOpened=!!this.imageGalleryEnabled&&!t}_toggleLocationTool(e){const t=this.imageLocationToolActive;this._closeAllImageTools(),this.imageLocationToolActive=!t,e.stopPropagation()}_toggleMeasurementSketch(e,t){e.stopPropagation();const i=this.measureType;this._closeAllImageTools(),this.measureType=i===t?null:t,this.measureType===t&&(this.viewModel.displayNewMeasurementButton=!0)}_toggleNavigationTool(){const e=this.navigationToolActive;this._closeAllImageTools(),this.navigationToolActive=!e}_toggleMapImageConversionToolState(){this.mapImageConversionToolState=!this.mapImageConversionToolState}_toggleTriangularAreaMeasurements(){this._toggleTriangularMeasurements("area")}_toggleTriangularDistanceMeasurements(){this._toggleTriangularMeasurements("distance")}_toggleTriangularMeasurements(e){const t=this.viewModel.triangularMeasurementActive,i=this.viewModel.measureType,a=this.navigationToolActive;t?e===i?(this._closeAllImageTools(),this.viewModel.triangularMeasurementActive=!t,this.navigationToolActive=!a):(this.imageLocationToolActive=!1,this.measureType=e):(this._closeAllImageTools(),this.measureType=e,this.viewModel.triangularMeasurementActive=!t,this.navigationToolActive=!!a||!a)}_unregisterGalleryItem(e){this._galleryObserver.unobserve(e)}_updateNavigationTool(e){const{previousFeatureAngle:t,bestFeatureAngle:i}=this.viewModel,a=(i-t+540)%360-180;e.style.setProperty(f,`${t}deg`),e.style.setProperty(A,`${t+a}deg`)}async loadBestImage(e){return this.viewModel.loadBestImage(e)}loadImageFromSource(e,t){return this.viewModel.loadImageFromSource(e,t)}async overlayMapFeatures(e,t){return this.removeHandles(`${R.overlayed}-${e.id}`),this.addHandles(n((()=>e.visible),(()=>{this.viewModel.toggleOverlayMapFeatures(e.id,e.visible)})),`${R.overlayed}-${e.id}`),this._overlayedLayers.add(e),this.viewModel.overlayMapFeatures(e,t&&this.showMapFeatures)}async plotMapPoint(e){return this.viewModel.plotMapPoint(e)}plotReferencePointOnGround(e){this.viewModel.plotReferencePointOnGround(e)}plotReferencePointOnImage(e){this.viewModel.plotReferencePointOnImage(e)}removeOverlayedGraphicsOnImage(e){this.removeHandles(`${R.overlayed}-${e}`),this._overlayedLayers.remove(this._overlayedLayers.find((t=>t.id===e))),this.viewModel.removeOverlayedGraphicsOnImage(e)}resetImage(){this.viewModel.resetImage()}render(){return B("div",{class:this.classes($.widget,L)},this._renderRoot)}async startDataCapture(e){return this.viewModel.startDataCapture(e)}async stopDataCapture(e){return this.viewModel.stopDataCapture(e)}updateSuitabilities(e){this.viewModel.updateSuitabilities(e)}};e([g({readOnly:!0})],W.prototype,"accuracyParametersMissing",null),e([g()],W.prototype,"activeLayer",null),e([g()],W.prototype,"currentBestFeature",null),e([g()],W.prototype,"currentCoverageVisible",null),e([g()],W.prototype,"dataCaptureEnabled",void 0),e([g()],W.prototype,"dataCaptureLayer",null),e([g()],W.prototype,"disabled",null),e([g()],W.prototype,"features",null),e([g()],W.prototype,"imagePointsInView",null),e([g()],W.prototype,"galleryOpened",void 0),e([g()],W.prototype,"icon",null),e([g()],W.prototype,"imageEnhancementToolActive",void 0),e([g({readOnly:!0})],W.prototype,"imageGalleryEnabled",null),e([g()],W.prototype,"imageLocationToolActive",null),e([g()],W.prototype,"directionToolsActive",void 0),e([g()],W.prototype,"imageOverlaysOpened",void 0),e([g({readOnly:!0})],W.prototype,"invalidCameraHeading",null),e([g()],W.prototype,"isAdditionalCoverageVisible",null),e([g()],W.prototype,"isAdditionalPointSourcesVisible",null),e([g()],W.prototype,"mapImageConversionToolState",null),e([g()],W.prototype,"measureType",null),e([g()],W.prototype,"layer",null),e([g()],W.prototype,"navigationToolActive",void 0),e([H(v()),g({type:E})],W.prototype,"viewModel",void 0),e([g(),D("esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer")],W.prototype,"messages",void 0),e([g(),D("esri/core/t9n/Units")],W.prototype,"measurementUnitMessages",void 0),e([g(),D("esri/t9n/common")],W.prototype,"messagesCommon",void 0),e([g(),D("esri/widgets/Sketch/t9n/Sketch")],W.prototype,"messagesSketch",void 0),e([g()],W.prototype,"pixelMeasurementUnit",void 0),e([g()],W.prototype,"pixelAreaMeasurementUnit",void 0),e([g({readOnly:!0})],W.prototype,"popupEnabled",null),e([g()],W.prototype,"referencePoint",null),e([g()],W.prototype,"showCameraLocations",void 0),e([g()],W.prototype,"showMapFeatures",void 0),e([H(["create","delete","redo","undo","update"]),g({readOnly:!0})],W.prototype,"sketchViewModel",null),e([g()],W.prototype,"view",null),e([g({type:V,nonNullable:!0})],W.prototype,"visibleElements",void 0),e([g()],W.prototype,"determineWorkflowForFeature",null),e([g()],W.prototype,"updateFootprint",null),e([g()],W.prototype,"_activeMeasurementIcon",null),e([g()],W.prototype,"_activeMeasurementHeading",null),e([g()],W.prototype,"_imageOverlaysLoaderTask",void 0),e([g()],W.prototype,"_imageMeasurementToolsLoaderTask",void 0),e([g()],W.prototype,"_measurementToggle",null),e([g()],W.prototype,"_renderRoot",null),e([g()],W.prototype,"_imageEnhancementTools",null),e([g()],W.prototype,"_imageGalleryPanel",null),e([g()],W.prototype,"_imageGalleryContext",null),e([g()],W.prototype,"_imageOverlaysComponent",null),e([g()],W.prototype,"_imageOverlayMessages",null),e([g()],W.prototype,"_imageSketchToolsMessages",null),e([g()],W.prototype,"_imageViewer",null),e([g()],W.prototype,"_imageViewerTriangular",null),e([g()],W.prototype,"_locationToggle",null),e([g()],W.prototype,"_messageBox",null),e([g()],W.prototype,"_navigationToolExpanded",void 0),e([g()],W.prototype,"_navigationTool",void 0),e([g()],W.prototype,"_panoramicViewer",null),e([g()],W.prototype,"_renderNavigationUI",null),e([g()],W.prototype,"_warningTitleElement",void 0),e([g()],W.prototype,"_renderNavigation",null),e([g()],W.prototype,"_renderThumbnails",null),e([g()],W.prototype,"_sketchLoaderTask",void 0),W=e([m("esri.widgets.OrientedImageryViewer")],W);const z=W;export{z as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import"../intl.js";import{prefersReducedMotion as t}from"../core/a11yUtils.js";import{createTask as i}from"../core/asyncUtils.js";import a from"../core/Collection.js";import{deprecatedProperty as s}from"../core/deprecate.js";import o from"../core/Logger.js";import{isAbortError as r}from"../core/promiseUtils.js";import{watch as n,initial as l,syncAndInitial as c,whenOnce as d}from"../core/reactiveUtils.js";import{property as g}from"../core/accessorSupport/decorators/property.js";import"../core/has.js";import"../core/RandomLCG.js";import{subclass as m}from"../core/accessorSupport/decorators/subclass.js";import{or as h}from"../layers/orientedImagery/transformations/utils.js";import u from"./Widget.js";import{getAllArcPath as p}from"./OrientedImageryViewer/arcUtils.js";import{getDelegatedEvents as v,defaultImageGeometryField as y,defaultOIObjectIDField as w,segmentArcs as _,featureCircleRadius as T,navigationToolDimensionLength as M,sectorsRadii as b}from"./OrientedImageryViewer/constants.js";import{css as C,navigation as A,navigationToolRotationFrom as I,navigationToolRotationTo as L,root as f}from"./OrientedImageryViewer/css.js";import{loadImageForAttachment as k,getThumbnailPixelBlock as O,isFeatureAttachment as S,renderImageWithRotation as F}from"./OrientedImageryViewer/galleryUtils.js";import E from"./OrientedImageryViewer/OrientedImageryViewerViewModel.js";import V from"./OrientedImageryViewer/OrientedImageryViewerVisibleElements.js";import P from"./OrientedImageryViewer/components/ImageLocationWidget.js";import x from"./OrientedImageryViewer/components/ImageViewer.js";import G from"./OrientedImageryViewer/components/NavigationUI.js";import{loadCalciteComponents as j}from"./support/componentsUtils.js";import{globalCss as $}from"./support/globalCss.js";import"./support/widgetUtils.js";import{messageBundle as D}from"./support/decorators/messageBundle.js";import{vmEvent as H}from"./support/decorators/vmEvent.js";import{tsx as B,tsxFragment as N}from"./support/jsxFactory.js";import{substitute as W}from"../intl/substitute.js";const U={overlayed:"overlayed"};let R=class extends u{constructor(e,t){super(e,t),this.dataCaptureEnabled=!1,this.galleryOpened=!1,this.imageEnhancementToolActive=!1,this.directionToolsActive=!1,this.imageOverlaysOpened=!1,this.navigationToolActive=!1,this.viewModel=new E,this.messagesCommon=null,this.messagesSketch=null,this.pixelMeasurementUnit="meters",this.pixelAreaMeasurementUnit="square-meters",this.showCameraLocations=!1,this.showMapFeatures=!1,this.visibleElements=new V,this._imageOverlaysLoaderTask=null,this._imageMeasurementToolsLoaderTask=null,this._clearMeasurements=()=>{this.viewModel.measureType=null,this.viewModel.clearPreviousMeasurements()},this._clearImageLocation=()=>{this.imageLocationToolActive=!1},this._navigationToolExpanded=!1,this._navigationTool=null,this._warningTitleElement=null,this._galleryController=new AbortController,this._galleryObserver=new IntersectionObserver(this._lazyLoadImage.bind(this)),this._overlayedLayers=new a,this._previousAction=null,this._handleDataCaptureLayerChange=async e=>{if(this.dataCaptureLayer&&await this.stopDataCapture(!0),this.dataCaptureLayer=this.dataCaptureLayer===e?null:e,this.dataCaptureLayer)return this.startDataCapture(this.dataCaptureLayer)},this._handleOverlayLayerDeselect=e=>{const t=e.layer;t===this.dataCaptureLayer&&(this.stopDataCapture(),this.dataCaptureLayer=null),this.removeOverlayedGraphicsOnImage(`${t.id}`)},this._handleOverlayLayerSelect=e=>{const t=e.layer;this.viewModel.overlayMapFeatures(t,this.showMapFeatures),this.addHandles(n((()=>t.visible),(()=>{this.viewModel.toggleOverlayMapFeatures(t.id,t.visible)})),`${U.overlayed}-${t.id}`)},this._highlight=e=>{const t=e.target?.dataset.objectid;t&&this.viewModel.highlight(t)},this._onAction=e=>{const{target:t}=e,{dataset:{action:i}}=t,{_previousAction:a}=this,s=a?.dataset.action,o=s?.includes("draw")??!1,r="select-feature"===s,n=s!==i;switch(i){case"draw-point":case"draw-polygon":case"draw-polyline":{a&&h(r,o&&n)&&(a.active=!1),t.active=!t.active;const e=i.replace("draw-","");this.viewModel.digitizeCreate(e),this._previousAction=t.active?t:null;break}case"save":this.viewModel.saveDrawing();break;case"select-feature":o&&(this._previousAction.active=!1),t.active=!t.active,this.viewModel.toggleSelection(t.active),this._previousAction=t.active?t:null;break;case"delete-feature":this.viewModel.digitizeDelete()}},this._onImageOverlayClosed=()=>{this.imageOverlaysOpened=!1},this._onShowCameraLocationsChanged=e=>{this.showCameraLocations=e},this._onShowMapFeaturesChanged=e=>{this.showMapFeatures=e},this._removeHighlight=()=>this.viewModel.removeHighlight(),this._restoreOverlays=async()=>Promise.all(this._overlayedLayers.map((e=>this.viewModel.overlayMapFeatures(e,this.showMapFeatures)))),this._scaleNavigationTool=()=>{this._navigationToolExpanded=!this._navigationToolExpanded},this._sketchLoaderTask=null,this._toggleDirectionsTool=()=>{const e=this.directionToolsActive;this._closeAllImageTools(),this.directionToolsActive=!e},this._toggleImageAttributes=()=>{this.viewModel.toggleImageAttributes()},this._loadImageFromGallery=this._loadImageFromGallery.bind(this),this._registerGalleryItem=this._registerGalleryItem.bind(this),this._unregisterGalleryItem=this._unregisterGalleryItem.bind(this),this.loadImageFromSource=this.loadImageFromSource.bind(this),this.updateSuitabilities=this.updateSuitabilities.bind(this)}initialize(){this.addHandles([n((()=>[this.viewModel?.bestFeatureAngle,this._navigationTool]),(([e,t])=>{t&&this._updateNavigationTool(t)}),l),n((()=>this.currentCoverageVisible),(e=>this._onCurrentCoverageVisibilityChange(e))),n((()=>this.isAdditionalCoverageVisible),(e=>this._onAdditionalCoverageVisibilityChange(e))),n((()=>this.isAdditionalPointSourcesVisible),(e=>this._onAdditionalCameraLocationsVisibility(e))),n((()=>({features:this.currentBestFeature,showCameraLocations:this.showCameraLocations,state:this.viewModel.state})),(({showCameraLocations:e,state:t})=>{"image-loaded"===t&&this.viewModel.overlayCameraLocations(e)}),c),n((()=>({feature:this.currentBestFeature,showMapFeatures:this.showMapFeatures,state:this.viewModel.state})),(async(e,t)=>{if(e.showMapFeatures!==t?.showMapFeatures&&this.viewModel.toggleAllOverlayMapFeatures(e.showMapFeatures),null!=e.feature&&e.feature!==t?.feature){if(this.viewModel.removeAllOverlayMapFeatures(),await d((()=>"image-loaded"===this.viewModel.state)),this.dataCaptureLayer&&this.stopDataCapture(),await this._restoreOverlays(),!this.dataCaptureLayer)return;await this.startDataCapture(this.dataCaptureLayer),this._previousAction?.active&&(this._previousAction.active=!1,this._previousAction=null)}}),l)])}loadDependencies(){return j({"action-bar":()=>import("@esri/calcite-components/dist/components/calcite-action-bar"),"action-group":()=>import("@esri/calcite-components/dist/components/calcite-action-group"),action:()=>import("@esri/calcite-components/dist/components/calcite-action"),label:()=>import("@esri/calcite-components/dist/components/calcite-label"),notice:()=>import("@esri/calcite-components/dist/components/calcite-notice"),panel:()=>import("@esri/calcite-components/dist/components/calcite-panel"),shell:()=>import("@esri/calcite-components/dist/components/calcite-shell"),dialog:()=>import("@esri/calcite-components/dist/components/calcite-dialog"),dropdown:()=>import("@esri/calcite-components/dist/components/calcite-dropdown"),"dropdown-group":()=>import("@esri/calcite-components/dist/components/calcite-dropdown-group"),"dropdown-item":()=>import("@esri/calcite-components/dist/components/calcite-dropdown-item"),slider:()=>import("@esri/calcite-components/dist/components/calcite-slider"),tooltip:()=>import("@esri/calcite-components/dist/components/calcite-tooltip")})}destroy(){this._galleryController.abort(),this._galleryObserver.disconnect()}get accuracyParametersMissing(){return this.viewModel.accuracyParametersMissing}get activeLayer(){return s(o.getLogger(this),"activeLayer",{replacement:"layer"}),this.layer}set activeLayer(e){s(o.getLogger(this),"activeLayer",{replacement:"layer"}),this.layer=e}get currentBestFeature(){return this.viewModel.currentBestFeature}set currentBestFeature(e){this.viewModel.currentBestFeature=e}get currentCoverageVisible(){return this.viewModel.currentCoverageVisible}set currentCoverageVisible(e){this.viewModel.currentCoverageVisible=e}get dataCaptureLayer(){return this.viewModel.dataCaptureLayer}set dataCaptureLayer(e){this.viewModel.dataCaptureLayer=e}get disabled(){return this.viewModel.disabled}set disabled(e){this.viewModel.disabled=e}get displayMessage(){return this.viewModel.displayMessage}get features(){return this.viewModel.features}get imagePointsInView(){return this.viewModel.imagePointsInView}get icon(){return"oriented-imagery-widget"}set icon(e){this._overrideIfSome("icon",e)}get imageGalleryEnabled(){return this.viewModel.imageGalleryEnabled}get imageLocationToolActive(){return this.viewModel.imageLocationToolState}set imageLocationToolActive(e){this.viewModel.imageLocationToolState=e}get invalidCameraHeading(){return this.viewModel.invalidCameraHeading}get isAdditionalCoverageVisible(){return this.viewModel.isAdditionalCoverageVisible}set isAdditionalCoverageVisible(e){this.viewModel.isAdditionalCoverageVisible=e}get isAdditionalPointSourcesVisible(){return this.viewModel.isAdditionalPointSourcesVisible}set isAdditionalPointSourcesVisible(e){this.viewModel.isAdditionalPointSourcesVisible=e}get mapImageConversionToolState(){return this.viewModel.mapImageConversionToolState}set mapImageConversionToolState(e){this.viewModel.mapImageConversionToolState=e}get measureType(){return this.viewModel.measureType}set measureType(e){this.viewModel.measureType=e}get layer(){return this.viewModel.layer}set layer(e){this.viewModel.layer=e}get popupEnabled(){const{popupEnabled:e,state:t}=this.viewModel;return"image-loaded"===t&&e}get referencePoint(){return this.viewModel.referencePoint??null}get sketchViewModel(){return this.viewModel.sketch}get triangularMeasurementActive(){return this.viewModel.triangularMeasurementActive}set triangularMeasurementActive(e){this.viewModel.triangularMeasurementActive=e}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}set determineWorkflowForFeature(e){this.viewModel.determineWorkflowForFeature=e}get determineWorkflowForFeature(){return this.viewModel.determineWorkflowForFeature}set updateFootprint(e){this.viewModel.updateFootprint=e}get updateFootprint(){return this.viewModel.updateFootprint}_renderActionBar(){return B("calcite-action-bar",{expandDisabled:!0,layout:"horizontal",slot:"action-bar"},B("calcite-action-group",null,this._currentFootprintToggle(),this._additionalFootprintToggle(),this._additionalPointSourcesToggle()),B("calcite-action-group",null,this._mapImageConversionToggle(),this._navigationToolToggle(),this._directionToolToggle(),this._imageEnhancementsToggle()),B("calcite-action-group",null,this._measurementToolsToggle(),this._imageGalleryToggle(),this._imageOverlaysToggle(),this._openPopupAction()))}get _activeMeasurementIcon(){const{measureType:e,imageLocationToolActive:t}=this;if(t)return"pin-tear";switch(e){case"area":return"measure-area";case"height":return"measure-building-height-top-base";default:return"measure-line"}}get _activeMeasurementHeading(){const{measureType:e,messages:t,triangularMeasurementActive:i}=this,{groundArea:a,heightAboveGround:s,groundDistance:o,triangulatedAreaHeading:r,triangulatedDistanceHeading:n}=t;if(i)return"area"===e?r:n;switch(e){case"area":return a;case"height":return s;default:return o}}_additionalFootprintToggle(){const{isAdditionalCoverageVisible:e,invalidCameraHeading:t,visibleElements:{additionalFootprintToggle:i}}=this;return i?B("calcite-action",{active:e,bind:this,class:C.addCoverage,disabled:t,icon:"trapezoid-area",onclick:this._toggleAdditionalCoverage,text:this.messages.additionalFootprints,title:this.messages.additionalFootprints}):null}_additionalPointSourcesToggle(){const{isAdditionalPointSourcesVisible:e,invalidCameraHeading:t,visibleElements:{additionalCameraLocationsToggle:i}}=this;return i?B("calcite-action",{active:e,bind:this,class:C.addExpPoints,disabled:t,icon:"circle-area",onclick:this._toggleAdditionalCameraLocations,text:this.messages.additionalCameraLocations,title:this.messages.additionalCameraLocations}):null}get _measurementToggle(){const{viewModel:{state:e,measureType:t,currentBestFeatureMeasurementImage:i},triangularMeasurementActive:a,id:s}=this;if("image-loaded"!==e||!t||a&&!i)return;this._imageMeasurementToolsLoaderTask||this._loadImageMeasurementResources();const o=this._imageMeasurementToolsLoaderTask?.value;return o?B("calcite-dialog",{bind:this,dragEnabled:!0,escapeDisabled:!0,heading:this._activeMeasurementHeading,id:`${s}-${t}-measurement`,open:!0,placement:"bottom-start",resizable:!0,scale:"s",slot:"dialogs",width:"s",onCalciteDialogBeforeClose:this._clearMeasurements},B(o,{measurementType:t,measurementUnitMessages:this.measurementUnitMessages,messages:this.messages,oiViewModel:this.viewModel})):null}get _renderRoot(){const{viewModel:{state:e},triangularMeasurementActive:t}=this;return B("calcite-panel",null,B("calcite-shell",null,B("calcite-panel",{bind:this,class:t?C.viewerContainerMeasurement:C.viewerContainer,heading:this.visibleElements.title?this.messages.title:void 0,loading:e.includes("loading")&&!t},this.visibleElements.menu?this._renderActionBar():null,this._imageViewer,this._panoramicViewer,this._messageBox,this.invalidCameraHeading?[this._renderWarning(this.messages.invalidCameraHeadingWarningTitle),this._renderWarningTooltip(this.messages.invalidCameraHeadingWarningDescription)]:[this._imageGalleryPanel,this._renderNavigation,this._imageOverlaysPanel()],this._imageEnhancementTools,this._renderNavigationUI,this._renderSketch()),this._imageViewerTriangular,this._measurementToggle,this._locationToggle))}_currentFootprintToggle(){const{currentCoverageVisible:e,invalidCameraHeading:t}=this,{currentFootprintToggle:i}=this.visibleElements;return i?B("calcite-action",{active:e,bind:this,class:C.currentCoverage,disabled:t,icon:"trapezoid-area",onclick:this._toggleCurrentCoverage,text:this.messages.currentFootprint,title:this.messages.currentFootprint}):null}get _imageEnhancementTools(){const{imageEnhancementToolActive:e,viewModel:{brightness:t,contrast:i,sharpness:a,state:s}}=this;return e&&"image-loaded"===s?B("calcite-panel",{bind:this,class:C.imageEnhancementWrapper,closable:!0,closed:!e,heading:this.messages.imageEnhancement,key:this.messages.imageEnhancement,onCalcitePanelClose:this._toggleImageEnhancementToolState},B("div",{class:C.imageEnhancementTools},B("div",{class:C.imageEnhancementToolContainer},B("calcite-label",null,this.messages.brightness,B("calcite-slider",{bind:this,labelTicks:!0,max:10,min:-10,ticks:5,value:t,onCalciteSliderInput:this._handleBrightnessChange}))),B("div",{class:C.imageEnhancementToolContainer},B("calcite-label",null,this.messages.contrast,B("calcite-slider",{bind:this,labelTicks:!0,max:10,min:-10,ticks:5,value:i,onCalciteSliderInput:this._handleContrastChange}))),B("div",{class:C.imageEnhancementToolContainer},B("calcite-label",null,this.messages.sharpness,B("calcite-slider",{bind:this,labelTicks:!0,max:1,min:0,step:.1,ticks:.5,value:a,onCalciteSliderInput:this._handleSharpnessChange})))),B("calcite-action",{bind:this,icon:"reset",onclick:this._resetImageTools,slot:"header-actions-end",text:this.messagesCommon.reset,title:this.messagesCommon.reset})):null}_imageEnhancementsToggle(){const{state:e,mode:t}=this.viewModel,{imageEnhancement:i}=this.visibleElements;return i?B("calcite-action",{active:this.imageEnhancementToolActive,bind:this,disabled:"default"!==t||"image-loaded"!==e,icon:"sliders-horizontal",onclick:this._toggleImageEnhancementToolState,text:this.messages.imageEnhancement,title:this.messages.imageEnhancement}):null}get _imageGalleryPanel(){const{container:e,galleryOpened:t,imageGalleryEnabled:i}=this;return i&&t&&e?this._imageGalleryContext:null}get _imageGalleryContext(){const{galleryOpened:e,invalidCameraHeading:t}=this;return B("calcite-panel",{bind:this,class:C.carousel,closable:!0,closed:!e,disabled:t,heading:this.messages.imageGallery,key:this.messages.imageGallery,onCalcitePanelClose:this._toggleImageGallery},B("div",{class:C.carouselContainer},this._renderThumbnails))}_imageGalleryToggle(){const{imageGalleryEnabled:e,invalidCameraHeading:t,visibleElements:{imageGallery:i}}=this;return i?B("calcite-action",{active:this.galleryOpened,bind:this,disabled:!e||t,icon:"images",onclick:this._toggleImageGallery,text:this.messages.imageGallery,title:this.messages.imageGallery}):null}get _imageOverlaysComponent(){const{_imageOverlayMessages:e,_imageOverlaysLoaderTask:t,_overlayedLayers:a,dataCaptureEnabled:s,dataCaptureLayer:o,imageOverlaysOpened:r,showCameraLocations:n,showMapFeatures:l,view:c,layer:d}=this;if(!d)return null;const g=d.imageGeometryField?.length?d.imageGeometryField:y,m=d.imageReferenceField?.length?d.imageReferenceField:w;t||(this._imageOverlaysLoaderTask=i((async()=>(await import("./OrientedImageryViewer/components/ImageOverlays.js")).default)));const h=this._imageOverlaysLoaderTask?.value;return h?B(h,{closed:!r,dataCaptureEnabled:s,dataCaptureLayer:o,imageGeometryField:g,imageReferenceField:m,messages:e,overlayedLayers:a,showCameraLocations:n,showMapFeatures:l,view:c,onDataCaptureLayerChanged:this._handleDataCaptureLayerChange,onImageOverlaysClosed:this._onImageOverlayClosed,onLayerDeselected:this._handleOverlayLayerDeselect,onLayerSelected:this._handleOverlayLayerSelect,onShowCameraLocationsChanged:this._onShowCameraLocationsChanged,onShowMapFeaturesChanged:this._onShowMapFeaturesChanged}):null}get _imageOverlayMessages(){return{...this.messages,...this.messagesSketch}}get _imageSketchToolsMessages(){return{...this.messagesSketch,...this.messagesCommon}}_imageOverlaysPanel(){const{imageOverlaysOpened:e,viewModel:{state:t}}=this,i=this.classes({[C.imageOverlaysContainer]:!0,[$.hidden]:!e||"image-loaded"!==t});return B("div",{class:i,key:this.messages.imageOverlays},this._imageOverlaysComponent)}_imageOverlaysToggle(){const{viewModel:{state:e},imageOverlaysOpened:t,invalidCameraHeading:i,visibleElements:{imageOverlays:a}}=this;return a?B("calcite-action",{active:t,bind:this,disabled:"image-loaded"!==e||i,icon:"layers",onclick:this._toggleImageOverlays,text:this.messages.imageOverlays,title:this.messages.imageOverlays}):null}get _imageViewer(){const{displayMessage:e,loadImageViewer:t,mode:i}=this.viewModel,a=null!=e||"default"!==i,s=this.classes({[C.viewer]:!a,[C.viewerHidden]:a});return B("calcite-panel",{afterCreate:t,bind:this,class:s},this._renderSketch())}get _imageViewerTriangular(){const{messages:e,triangularMeasurementActive:t}=this,{displayMessage:i,storeImageMeasurementViewer:a,mode:s,state:o}=this.viewModel,r=null!=i||"default"!==s,n=this.classes({[C.viewer]:!r,[C.viewerHidden]:r});return t?B("calcite-panel",{class:C.viewerContainerMeasurement,heading:e.measurementViewerHeading,loading:o.includes("loading")},B("calcite-panel",{bind:this,class:n},B(x,{afterCreate:a}))):null}get _locationToggle(){const{viewModel:{state:e,groundCoordinates:t,groundCoordinatesAccuracy:i,triangulatedPoint:a},imageLocationToolActive:s,triangularMeasurementActive:o,messages:{groundLocation:r,triangulatedLocationHeading:n}}=this;if("image-loaded"===e&&t&&s)return B("calcite-dialog",{bind:this,dragEnabled:!0,escapeDisabled:!0,heading:o?n:r,id:r,open:!0,placement:"bottom-start",resizable:!0,scale:"s",slot:"dialogs",width:"s",onCalciteDialogBeforeClose:this._clearImageLocation},B(P,{accuracy:i,groundCoordinates:o&&a?a:t,messages:this.messages}))}_mapImageConversionToggle(){const{mapImageConversionToolState:e,viewModel:{state:t},invalidCameraHeading:i,visibleElements:{mapImageConversionTool:a}}=this;return a?B("calcite-action",{active:e,bind:this,disabled:"image-loaded"!==t||i,icon:"image-pin",onclick:this._toggleMapImageConversionToolState,text:this.messages.mapImageConversionTool,title:this.messages.mapImageConversionTool}):null}_measurementToolsToggle(){const{_activeMeasurementIcon:e,measureType:t,viewModel:i,accuracyParametersMissing:a,messages:s,triangularMeasurementActive:o,visibleElements:{measurementTools:r}}=this,{state:n,mode:l}=i,{measurementTools:c,groundDistance:d,groundArea:g,heightAboveGround:m,groundLocation:h,triangulatedDistanceHeading:u,triangulatedAreaHeading:p,triangulatedLocationHeading:v}=s;return r?B("calcite-dropdown",{disabled:a,key:"measurement-tools",maxItems:5,title:c,width:"m"},B("calcite-action",{bind:this,disabled:"image-loaded"!==n||a,icon:e,slot:"trigger",text:c}),B("calcite-dropdown-group",null,B("calcite-dropdown-item",{bind:this,disabled:"image-loaded"!==n,iconStart:"measure-line",key:"distance-measurement",onclick:e=>this._toggleMeasurementSketch(e,"distance"),selected:"distance"===t&&!o},d),B("calcite-dropdown-item",{bind:this,disabled:"image-loaded"!==n,iconStart:"measure-area",key:"area-measurement",onclick:e=>this._toggleMeasurementSketch(e,"area"),selected:"area"===t&&!o},g),B("calcite-dropdown-item",{bind:this,disabled:"image-loaded"!==n,iconStart:"measure-building-height-top-base",key:"height-dropdown",onclick:e=>this._toggleMeasurementSketch(e,"height"),selected:"height"===t},m),B("calcite-dropdown-item",{bind:this,disabled:"image-loaded"!==n,iconStart:"pin-tear",key:"surface-location",onclick:this._toggleLocationTool,selected:!!this.imageLocationToolActive&&!o},h),"default"===l&&B(N,null,B("calcite-dropdown-item",{bind:this,disabled:"image-loaded"!==n,iconStart:"image-mensuration",key:"triangular-measurement-distance",selected:!!o&&"distance"===this.measureType,onCalciteDropdownItemSelect:this._toggleTriangularDistanceMeasurements},u),B("calcite-dropdown-item",{bind:this,disabled:"image-loaded"!==n,iconStart:"image-mensuration",key:"triangular-measurement-area",selected:!!o&&"area"===this.measureType,onCalciteDropdownItemSelect:this._toggleTriangularAreaMeasurements},p),B("calcite-dropdown-item",{bind:this,disabled:"image-loaded"!==n,iconStart:"pin-tear",key:"triangular-location",selected:!!o&&this.imageLocationToolActive,onCalciteDropdownItemSelect:this._toggleTriangularLocation},v)))):null}get _messageBox(){const{messages:e,viewModel:{displayMessage:t}}=this;if(!t)return null;const{data:i,key:a,map:s}=t,o=`${s?W(e[a],s):e[a]}`;return B("span",{class:C.messageBox},i?`${o} ${i}`:o)}_navigationToolToggle(){const{state:e}=this.viewModel,{visibleElements:{navigationTool:t}}=this;return t?B("calcite-action",{active:this.navigationToolActive,bind:this,disabled:"image-loaded"!==e||this.invalidCameraHeading,icon:"explore",onclick:this._toggleNavigationTool,text:this.messages.navigationTool,title:this.messages.navigationTool}):null}_directionToolToggle(){const{state:e,mode:t}=this.viewModel,{visibleElements:{directions:i}}=this;return i?B("calcite-action",{active:this.directionToolsActive,bind:this,disabled:"image-loaded"!==e||this.invalidCameraHeading||"panoramic"!==t,icon:"tour",onclick:this._toggleDirectionsTool,text:this.messages.imageNavigation,title:this.messages.imageNavigation}):null}_openPopupAction(){const{showPopupsAction:e}=this.visibleElements;return e?B("calcite-action",{bind:this,disabled:!this.popupEnabled,icon:"popup",onclick:this._toggleImageAttributes,text:this.messages.showPopups,title:this.messages.showPopups}):null}get _panoramicViewer(){const{displayMessage:e,loadPanoramicViewer:t,mode:i}=this.viewModel,a=null!=e||"panoramic"!==i,s=this.classes({[C.viewer]:!a,[C.viewerHidden]:a});return B("calcite-panel",{afterCreate:t,bind:this,class:s})}get _renderNavigationUI(){const{visibleElements:{directions:e},directionToolsActive:t,viewModel:i}=this;return"image-loaded"===i.state&&e&&t&&"panoramic"===i.mode?B(G,{currentNode:this.viewModel.currentNode,navigate:this.viewModel.navigate,nodes:this.viewModel.navigationNodes}):null}_activateTriangulatedImageLocationTool(){this.navigationToolActive=!0,this.imageLocationToolActive=!0}_activateTriangulatedImageLocationWorkflow(e,t){this._closeAllImageTools(),this.imageLocationToolActive=!0,this.triangularMeasurementActive=!e,this.navigationToolActive=!!t||!t}_closeImageToolsAndToggleNavigation(e,t){this._closeAllImageTools(),this.triangularMeasurementActive=!e,this.navigationToolActive=!t}_resetMeasureTypeAndActivateImageLocationTool(){this.measureType=null,this.imageLocationToolActive=!0}_closeAllImageTools(){this.imageEnhancementToolActive=!1,this.navigationToolActive=!1,this.imageOverlaysOpened=!1,this.galleryOpened=!1,this.measureType=null,this.imageLocationToolActive=!1,this.directionToolsActive=!1}_handleBrightnessChange(e){this.viewModel.brightness=e.currentTarget.value??0}_handleContrastChange(e){this.viewModel.contrast=e.currentTarget.value??0}_handleSharpnessChange(e){this.viewModel.sharpness=e.currentTarget.value??0}_lazyLoadImage(e,t){e.forEach((async e=>{if(e.isIntersecting){const a=e.target,s=a.getAttribute("data-src"),n=a.getAttribute("data-rotation"),l=a.getAttribute("data-objectid"),c=n?parseFloat(n)%360:0,{layer:d,_galleryController:{signal:g}}=this;if(!s||!l)return;let m;try{m=S(s)?await k(d,l,{signal:g}):await O(s,{signal:g})}catch(i){r(i)||o.getLogger("esri.widgets.OrientedImageryViewer").error("#lazyLoadImage()",i)}finally{t.unobserve(a)}if(!m)return;F(m,a,c)}}))}_loadImageFromGallery(e){const{target:t}=e;if(!t)return;const i=t.getAttribute("data-objectid");i&&this.viewModel.currentBestFeature?.attributes.objectId!==Number(i)&&this.viewModel.selectBestFeature(i)}_loadImageMeasurementResources(){this._imageMeasurementToolsLoaderTask=i((async()=>{const{default:e}=await import("./OrientedImageryViewer/components/ImageMeasurementWidget.js");return e}))}_loadSketchResources(){this._sketchLoaderTask=i((async()=>(await import("./OrientedImageryViewer/components/SketchTools.js")).default))}_onAdditionalCoverageVisibilityChange(e){this.viewModel.setAdditionalCoverageVisibility(e)}_onAdditionalCameraLocationsVisibility(e){this.viewModel.setAdditionalCameraLocationsVisibility(e)}_onCurrentCoverageVisibilityChange(e){this.viewModel.setCurrentCoverageVisibility(e)}_registerGalleryItem(e){this._galleryObserver.observe(e)}_renderWarning(e){const{invalidCameraHeading:t,viewModel:{state:i}}=this;return t&&"image-loaded"===i?[B("calcite-notice",{class:C.alert,closable:!0,icon:"exclamation-mark-triangle-f",iconFlipRtl:!0,kind:"warning",open:!0,scale:"s"},B("div",{afterCreate:e=>this._storeWarningTitleElement(e),slot:"title"},e))]:null}_renderWarningTooltip(e){const{_warningTitleElement:t}=this;if(e?.length&&t)return B("calcite-tooltip",{closeOnClick:!0,referenceElement:t},e)}get _renderNavigation(){const{viewModel:{sectorData:e,navigatorCurrentBestFeature:i,currentBestFeature:a,state:s}}=this;if(!this.container||!a)return null;let o,r,n,l,c;if(i){const{x:e,y:t,direction:a}=i,[s,d,g,m]=_[a];o=`M ${e} ${t} L ${s} ${d} A ${b[2]} ${b[2]} 0 0 1 ${g} ${m} Z`,r=e,l=t,n=_[a][4],c=_[a][5]}const d=e=>{const t=e.target.dataset?.sector;t&&this.viewModel.handleSectorClick(+t)},g=e=>{const t=e.target.dataset;if(!t)return;const{featureIndexInSector:i,sector:a}=t;i&&a&&this.viewModel.handleFeatureClick({sector:a,featureIndexInSector:+i})},m=e=>{e.removeEventListener("click",g)},h=a.attributes.objectId,u=e?.map((e=>e?.items)).filter(Boolean).flatMap((e=>e?.map((({x:e,y:t,objectID:i,featureIndexInSector:a,sector:s})=>B("circle",{afterRemoved:m,class:this.classes(C.feature,{selected:h===i}),cx:e,cy:t,"data-feature-index-in-sector":a,"data-sector":s,key:`${C.feature}-${i}`,onclick:g,r:T}))))),v=e=>{e.removeEventListener("click",d)},y=this.classes({[C.navigationWrapper]:!0,[C.navigationZoomed]:this._navigationToolExpanded});return this.navigationToolActive&&"image-loaded"===s?B("div",{bind:this,class:y,key:this.messages.navigationTool},B("svg",{afterCreate:e=>this._storeNavigationToolReference(e),class:t()?A:C.rotateWithAnimation,focusable:"false",height:M,role:"img",width:M,xmlns:"http://www.w3.org/2000/svg"},B("defs",null,B("linearGradient",{gradientUnits:"userSpaceOnUse",id:`${this.id}-coverage-fill`,x1:r,x2:n,y1:l,y2:c},B("stop",{class:C.navigationPathOffset0,offset:0}),B("stop",{class:C.navigationPathOffset1,offset:1}))),B("g",null,B("circle",{class:this.classes(C.sector,C.outerSector),cx:b[3],cy:b[3],onclick:this._scaleNavigationTool,r:b[3]}),B("circle",{class:C.sector,cx:b[3],cy:b[3],r:b[2]}),B("circle",{class:C.sector,cx:b[3],cy:b[3],r:b[1]}),B("circle",{class:C.sector,cx:b[3],cy:b[3],r:b[0]}),B("path",{class:C.pointer,d:"M 56.5 6.06217782649107 L 60 0 L 63.5 6.06217782649107 Z",key:`${C.pointer}-west`}),B("path",{class:this.classes(C.pointer,C.north),d:"M 113.93782217350893 56.5 L 120 60 L 113.93782217350893 63.5 Z",key:`${C.pointer}-north`}),B("path",{class:C.pointer,d:"M 56.5 113.93782217350893 L 60 120 L 63.5 113.93782217350893 Z",key:`${C.pointer}-east`}),B("path",{class:C.pointer,d:"M 6.06217782649107 56.5 L 0 60 L 6.06217782649107 63.5 Z",key:`${C.pointer}-south`}),B("path",{class:this.classes(C.sector,C.sectorSeparator),d:"M 23.937554159486076 23.937554159486076 L 96.06244584051393 96.06244584051393 M 23.937554159486076 96.06244584051393 L 96.06244584051393 23.937554159486076",key:C.sectorSeparator}),p([b[2],b[1],b[0]],b[3],b[3]).map(((t,i)=>B("path",{afterRemoved:v,class:this.classes(C.sector,e?.[i]?.length?C.sectorEnabled:C.sectorDisabled),d:t,"data-sector":`${i}`,key:`${C.sector}-${i}`,onclick:d}))),B("path",{class:this.classes(C.sector,C.sectorCross),d:"M 56.4 56.4 L 63.53 63.53 M 63.53 56.4 L 56.4 63.53",key:C.sectorCross}),u,a.attributes.cameraPitch>=5&&o?B("path",{class:C.selectedFeaturePath,d:o,fill:`url(#${this.id}-coverage-fill)`,key:C.selectedFeaturePath}):null))):null}_renderSketch(){const{dataCaptureLayer:e,imageOverlaysOpened:t}=this;if(!e||t)return null;if(this._sketchLoaderTask||this._loadSketchResources(),!this._sketchLoaderTask?.value)return null;const{geometryType:i}=e,a="point"===i?"pin":"polyline"===i?"line":"polygon",s=this._sketchLoaderTask.value;return B("div",{class:C.sketchTools},B(s,{icon:a,messages:this._imageSketchToolsMessages,type:i,onAction:this._onAction}))}get _renderThumbnails(){const{currentBestFeature:e,thumbnails:t}=this.viewModel;return e?B("div",{class:C.carouselContent},t?.items.map((({url:t,objectId:i,rotation:a},s)=>B("div",{class:`${C.carouselItemWrapper}${e.attributes.objectId===i?"--selected":""}`,key:`${C.carouselItemWrapper}-${s}`},B("canvas",{afterCreate:this._registerGalleryItem,afterRemoved:this._unregisterGalleryItem,alt:`thumbnail-${i}`,class:C.carouselItem,"data-objectid":`${i}`,"data-rotation":`${a}`,"data-src":t,onclick:this._loadImageFromGallery,onmouseenter:this._highlight,onmouseleave:this._removeHighlight}))))):null}_resetImageTools(){this.viewModel.sharpness=this.viewModel.brightness=this.viewModel.contrast=0}_storeNavigationToolReference(e){this._navigationTool=e}_storeWarningTitleElement(e){this._warningTitleElement=e}_toggleAdditionalCameraLocations(){this.isAdditionalPointSourcesVisible=!this.isAdditionalPointSourcesVisible}_toggleAdditionalCoverage(){this.isAdditionalCoverageVisible=!this.isAdditionalCoverageVisible}_toggleCurrentCoverage(){this.currentCoverageVisible=!this.currentCoverageVisible}_toggleImageEnhancementToolState(e){e.stopPropagation();const t=this.imageEnhancementToolActive;this._closeAllImageTools(),this.imageEnhancementToolActive=!t}_toggleImageOverlays(e){e.stopPropagation();const t=this.imageOverlaysOpened;this._closeAllImageTools(),this.imageOverlaysOpened=!t}_toggleImageGallery(e){e.stopPropagation();const t=this.galleryOpened;this._closeAllImageTools(),this.galleryOpened=!!this.imageGalleryEnabled&&!t}_toggleLocationTool(e){const t=this.imageLocationToolActive;this._closeAllImageTools(),this.imageLocationToolActive=!t,e.stopPropagation()}_toggleMeasurementSketch(e,t){e.stopPropagation();const i=this.measureType;this._closeAllImageTools(),this.measureType=i===t?null:t,this.measureType===t&&(this.viewModel.displayNewMeasurementButton=!0)}_toggleNavigationTool(){const e=this.navigationToolActive;this._closeAllImageTools(),this.navigationToolActive=!e}_toggleMapImageConversionToolState(){this.mapImageConversionToolState=!this.mapImageConversionToolState}_toggleTriangularAreaMeasurements(){this._toggleTriangularMeasurements("area")}_toggleTriangularDistanceMeasurements(){this._toggleTriangularMeasurements("distance")}_toggleTriangularLocation(){const e=this.triangularMeasurementActive,t=this.navigationToolActive;e?null===this.measureType?this.imageLocationToolActive?this._closeImageToolsAndToggleNavigation(e,t):this._activateTriangulatedImageLocationTool():this._resetMeasureTypeAndActivateImageLocationTool():this._activateTriangulatedImageLocationWorkflow(e,t)}_toggleTriangularMeasurements(e){const t=this.triangularMeasurementActive,i=this.viewModel.measureType,a=this.navigationToolActive;t?e===i?(this._closeAllImageTools(),this.triangularMeasurementActive=!t,this.navigationToolActive=!a):(this.imageLocationToolActive=!1,this.measureType=e):(this._closeAllImageTools(),this.measureType=e,this.triangularMeasurementActive=!t,this.navigationToolActive=!!a||!a)}_unregisterGalleryItem(e){this._galleryObserver.unobserve(e)}_updateNavigationTool(e){const{previousFeatureAngle:t,bestFeatureAngle:i}=this.viewModel,a=(i-t+540)%360-180;e.style.setProperty(I,`${t}deg`),e.style.setProperty(L,`${t+a}deg`)}async loadBestImage(e){return this.viewModel.loadBestImage(e)}loadImageFromSource(e,t){return this.viewModel.loadImageFromSource(e,t)}async overlayMapFeatures(e,t){return this.removeHandles(`${U.overlayed}-${e.id}`),this.addHandles(n((()=>e.visible),(()=>{this.viewModel.toggleOverlayMapFeatures(e.id,e.visible)})),`${U.overlayed}-${e.id}`),this._overlayedLayers.add(e),this.viewModel.overlayMapFeatures(e,t&&this.showMapFeatures)}async plotMapPoint(e){return this.viewModel.plotMapPoint(e)}plotReferencePointOnGround(e){this.viewModel.plotReferencePointOnGround(e)}plotReferencePointOnImage(e){this.viewModel.plotReferencePointOnImage(e)}removeOverlayedGraphicsOnImage(e){this.removeHandles(`${U.overlayed}-${e}`),this._overlayedLayers.remove(this._overlayedLayers.find((t=>t.id===e))),this.viewModel.removeOverlayedGraphicsOnImage(e)}resetImage(){this.viewModel.resetImage()}render(){return B("div",{class:this.classes($.widget,f)},this._renderRoot)}async startDataCapture(e){return this.viewModel.startDataCapture(e)}async stopDataCapture(e){return this.viewModel.stopDataCapture(e)}updateSuitabilities(e){this.viewModel.updateSuitabilities(e)}};e([g({readOnly:!0})],R.prototype,"accuracyParametersMissing",null),e([g()],R.prototype,"activeLayer",null),e([g()],R.prototype,"currentBestFeature",null),e([g()],R.prototype,"currentCoverageVisible",null),e([g()],R.prototype,"dataCaptureEnabled",void 0),e([g()],R.prototype,"dataCaptureLayer",null),e([g()],R.prototype,"disabled",null),e([g()],R.prototype,"features",null),e([g()],R.prototype,"imagePointsInView",null),e([g()],R.prototype,"galleryOpened",void 0),e([g()],R.prototype,"icon",null),e([g()],R.prototype,"imageEnhancementToolActive",void 0),e([g({readOnly:!0})],R.prototype,"imageGalleryEnabled",null),e([g()],R.prototype,"imageLocationToolActive",null),e([g()],R.prototype,"directionToolsActive",void 0),e([g()],R.prototype,"imageOverlaysOpened",void 0),e([g({readOnly:!0})],R.prototype,"invalidCameraHeading",null),e([g()],R.prototype,"isAdditionalCoverageVisible",null),e([g()],R.prototype,"isAdditionalPointSourcesVisible",null),e([g()],R.prototype,"mapImageConversionToolState",null),e([g()],R.prototype,"measureType",null),e([g()],R.prototype,"layer",null),e([g()],R.prototype,"navigationToolActive",void 0),e([H(v()),g({type:E})],R.prototype,"viewModel",void 0),e([g(),D("esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer")],R.prototype,"messages",void 0),e([g(),D("esri/core/t9n/Units")],R.prototype,"measurementUnitMessages",void 0),e([g(),D("esri/t9n/common")],R.prototype,"messagesCommon",void 0),e([g(),D("esri/widgets/Sketch/t9n/Sketch")],R.prototype,"messagesSketch",void 0),e([g()],R.prototype,"pixelMeasurementUnit",void 0),e([g()],R.prototype,"pixelAreaMeasurementUnit",void 0),e([g({readOnly:!0})],R.prototype,"popupEnabled",null),e([g()],R.prototype,"referencePoint",null),e([g()],R.prototype,"showCameraLocations",void 0),e([g()],R.prototype,"showMapFeatures",void 0),e([H(["create","delete","redo","undo","update"]),g({readOnly:!0})],R.prototype,"sketchViewModel",null),e([g()],R.prototype,"triangularMeasurementActive",null),e([g()],R.prototype,"view",null),e([g({type:V,nonNullable:!0})],R.prototype,"visibleElements",void 0),e([g()],R.prototype,"determineWorkflowForFeature",null),e([g()],R.prototype,"updateFootprint",null),e([g()],R.prototype,"_activeMeasurementIcon",null),e([g()],R.prototype,"_activeMeasurementHeading",null),e([g()],R.prototype,"_imageOverlaysLoaderTask",void 0),e([g()],R.prototype,"_imageMeasurementToolsLoaderTask",void 0),e([g()],R.prototype,"_measurementToggle",null),e([g()],R.prototype,"_renderRoot",null),e([g()],R.prototype,"_imageEnhancementTools",null),e([g()],R.prototype,"_imageGalleryPanel",null),e([g()],R.prototype,"_imageGalleryContext",null),e([g()],R.prototype,"_imageOverlaysComponent",null),e([g()],R.prototype,"_imageOverlayMessages",null),e([g()],R.prototype,"_imageSketchToolsMessages",null),e([g()],R.prototype,"_imageViewer",null),e([g()],R.prototype,"_imageViewerTriangular",null),e([g()],R.prototype,"_locationToggle",null),e([g()],R.prototype,"_messageBox",null),e([g()],R.prototype,"_navigationToolExpanded",void 0),e([g()],R.prototype,"_navigationTool",void 0),e([g()],R.prototype,"_panoramicViewer",null),e([g()],R.prototype,"_renderNavigationUI",null),e([g()],R.prototype,"_warningTitleElement",void 0),e([g()],R.prototype,"_renderNavigation",null),e([g()],R.prototype,"_renderThumbnails",null),e([g()],R.prototype,"_sketchLoaderTask",void 0),R=e([m("esri.widgets.OrientedImageryViewer")],R);const z=R;export{z 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.33/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../core/Accessor.js";import{watch as r,initial as l}from"../../core/reactiveUtils.js";import{property as i}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{subclass as s}from"../../core/accessorSupport/decorators/subclass.js";import{videoMetadataEntryId as o}from"../../layers/video/videoUtils.js";function a(e,t){const r={};for(const l of t){const t=e.get(l);t&&(r[t.name]=t.value)}return r}let n=class extends t{constructor(e){super(e),this.followingMode="follow-both",this.layer=null,this.seekLength=10,this.view=null}initialize(){this.addHandles([r((()=>this.layer),(e=>{e&&e.load().then((()=>this._followTelemetry())).catch((()=>{}))}),l),r((()=>[this.followingMode]),(()=>this._followTelemetry()),l)])}get _layerView(){return this.layer&&this.view?this.view.allLayerViews.find((e=>e.layer===this.layer))??null:null}get buffered(){return this.layer?.buffered||0}get currentTime(){return this.layer?.currentTime||0}get duration(){return this.layer?.duration||0}get ended(){return this.layer?.ended??!0}get metadata(){const e=this.layer?.metadata;return e?{missionInfo:a(e,[o.MissionId,o.PrecisionTimeStamp]),platformInfo:a(e,[o.PlatformTailNumber,o.PlatformTrueAirspeed,o.PlatformCallSign,o.PlatformDesignation,o.PlatformGroundRange]),frameInfo:a(e,[o.FrameCenterElevation,o.FrameCenterLatitude,o.FrameCenterLongitude])}:null}get playing(){return this.layer?.playing??!1}get state(){return this.layer?.loadError?"error":this.layer?.state??"not-ready"}play(){this.layer?.play()}pause(){this.layer?.pause()}seekBackward(){if(this.layer){const e=this.layer.currentTime-this.seekLength;e<=0?this.layer.reset():this.layer.setCurrentTime(e)}}seekForward(){if(this.layer){const e=this.layer.currentTime+this.seekLength;e>=this.layer.duration?this.layer.reset():this.layer.setCurrentTime(e)}}seekToBeginning(){this.layer?.setCurrentTime(0)}seekToEnding(){this.layer?.setCurrentTime(this.layer.duration)}seekTo(e){this.layer?.setCurrentTime(e)}toggleSensorDisplay(){this._layerView?.visibleTelemetryElements&&(this._layerView.visibleTelemetryElements.sensorLocation=!this._layerView.visibleTelemetryElements.sensorLocation)}toggleSensorSightLineDisplay(){this._layerView?.visibleTelemetryElements&&(this._layerView.visibleTelemetryElements.lineOfSight=!this._layerView.visibleTelemetryElements.lineOfSight)}toggleFrameDisplay(){this._layerView?.visibleTelemetryElements&&(this._layerView.visibleTelemetryElements.frame=!this._layerView.visibleTelemetryElements.frame)}toggleSensorTrailDisplay(){this._layerView?.visibleTelemetryElements&&(this._layerView.visibleTelemetryElements.sensorTrail=!this._layerView.visibleTelemetryElements.sensorTrail)}toggleFrameCenterDisplay(){this._layerView?.visibleTelemetryElements&&(this._layerView.visibleTelemetryElements.frameCenter=!this._layerView.visibleTelemetryElements.frameCenter)}toggleFrameOutlineDisplay(){this._layerView?.visibleTelemetryElements&&(this._layerView.visibleTelemetryElements.frameOutline=!this._layerView.visibleTelemetryElements.frameOutline)}changePlaybackSpeed(e){this.layer&&(this.layer.playbackRate=e)}changeGraphicsColor(e){this._layerView&&(this._layerView.symbolColor=e)}_followTelemetry(){this.removeHandles("follow"),this.view&&this.layer&&this.addHandles(r((()=>this.layer?.telemetry),(()=>{const e=[],t="follow-sensor"===this.followingMode||"follow-both"===this.followingMode,r="follow-frame"===this.followingMode||"follow-both"===this.followingMode;t&&this.layer?.telemetry.sensorLocation&&e.push(this.layer.telemetry.sensorLocation),r&&this.layer?.telemetry.frameCenter&&e.push(this.layer.telemetry.frameCenter),e.length&&this.view?.goTo(e).catch((()=>{}))}),l),"follow")}};e([i()],n.prototype,"_layerView",null),e([i({readOnly:!0})],n.prototype,"buffered",null),e([i({readOnly:!0})],n.prototype,"currentTime",null),e([i({readOnly:!0})],n.prototype,"duration",null),e([i({readOnly:!0})],n.prototype,"ended",null),e([i()],n.prototype,"followingMode",void 0),e([i()],n.prototype,"layer",void 0),e([i({readOnly:!0})],n.prototype,"metadata",null),e([i({readOnly:!0})],n.prototype,"playing",null),e([i()],n.prototype,"seekLength",void 0),e([i({readOnly:!0})],n.prototype,"state",null),e([i()],n.prototype,"view",void 0),n=e([s("esri.widgets.VideoPlayer.VideoPlayerViewModel")],n);const y=n;export{y as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../core/Accessor.js";import{watch as r,initial as l}from"../../core/reactiveUtils.js";import{property as i}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{subclass as s}from"../../core/accessorSupport/decorators/subclass.js";import{videoMetadataEntryId as o}from"../../layers/video/videoUtils.js";function a(e,t){const r={};for(const l of t){const t=e.get(l);t&&(r[t.name]=t.value)}return r}let y=class extends t{constructor(e){super(e),this.followingMode="follow-both",this.layer=null,this.seekLength=10,this.view=null}initialize(){this.addHandles([r((()=>this.layer),(e=>{e&&e.load().then((()=>this._followTelemetry())).catch((()=>{}))}),l),r((()=>[this.followingMode]),(()=>this._followTelemetry()),l)])}get buffered(){return this.layer?.buffered||0}get currentTime(){return this.layer?.currentTime||0}get duration(){return this.layer?.duration||0}get ended(){return this.layer?.ended??!0}get metadata(){const e=this.layer?.metadata;return e?{missionInfo:a(e,[o.MissionId,o.PrecisionTimeStamp]),platformInfo:a(e,[o.PlatformTailNumber,o.PlatformTrueAirspeed,o.PlatformCallSign,o.PlatformDesignation,o.PlatformGroundRange]),frameInfo:a(e,[o.FrameCenterElevation,o.FrameCenterLatitude,o.FrameCenterLongitude])}:null}get playing(){return this.layer?.playing??!1}get state(){return this.layer?.loadError?"error":this.layer?.state??"not-ready"}play(){this.layer?.play()}pause(){this.layer?.pause()}seekBackward(){if(this.layer){const e=this.layer.currentTime-this.seekLength;e<=0?this.layer.reset():this.layer.setCurrentTime(e)}}seekForward(){if(this.layer){const e=this.layer.currentTime+this.seekLength;e>=this.layer.duration?this.layer.reset():this.layer.setCurrentTime(e)}}seekToBeginning(){this.layer?.setCurrentTime(0)}seekToEnding(){this.layer?.setCurrentTime(this.layer.duration)}seekTo(e){this.layer?.setCurrentTime(e)}toggleSensorDisplay(){this.layer?.telemetryDisplay&&(this.layer.telemetryDisplay.sensorLocation=!this.layer.telemetryDisplay.sensorLocation)}toggleSensorSightLineDisplay(){this.layer?.telemetryDisplay&&(this.layer.telemetryDisplay.lineOfSight=!this.layer.telemetryDisplay.lineOfSight)}toggleFrameDisplay(){this.layer?.telemetryDisplay&&(this.layer.telemetryDisplay.frame=!this.layer.telemetryDisplay.frame)}toggleSensorTrailDisplay(){this.layer?.telemetryDisplay&&(this.layer.telemetryDisplay.sensorTrail=!this.layer.telemetryDisplay.sensorTrail)}toggleFrameCenterDisplay(){this.layer?.telemetryDisplay&&(this.layer.telemetryDisplay.frameCenter=!this.layer.telemetryDisplay.frameCenter)}toggleFrameOutlineDisplay(){this.layer?.telemetryDisplay&&(this.layer.telemetryDisplay.frameOutline=!this.layer.telemetryDisplay.frameOutline)}changePlaybackSpeed(e){this.layer&&(this.layer.playbackRate=e)}changeGraphicsColor(e){e&&(this.layer.telemetryColor=e)}_followTelemetry(){this.removeHandles("follow"),this.view&&this.layer&&this.addHandles(r((()=>this.layer?.telemetry),(()=>{const e=[],t="follow-sensor"===this.followingMode||"follow-both"===this.followingMode,r="follow-frame"===this.followingMode||"follow-both"===this.followingMode;t&&this.layer?.telemetry.sensorLocation&&e.push(this.layer.telemetry.sensorLocation),r&&this.layer?.telemetry.frameCenter&&e.push(this.layer.telemetry.frameCenter),e.length&&this.view?.goTo(e).catch((()=>{}))}),l),"follow")}};e([i({readOnly:!0})],y.prototype,"buffered",null),e([i({readOnly:!0})],y.prototype,"currentTime",null),e([i({readOnly:!0})],y.prototype,"duration",null),e([i({readOnly:!0})],y.prototype,"ended",null),e([i()],y.prototype,"followingMode",void 0),e([i()],y.prototype,"layer",void 0),e([i({readOnly:!0})],y.prototype,"metadata",null),e([i({readOnly:!0})],y.prototype,"playing",null),e([i()],y.prototype,"seekLength",void 0),e([i({readOnly:!0})],y.prototype,"state",null),e([i()],y.prototype,"view",void 0),y=e([s("esri.widgets.VideoPlayer.VideoPlayerViewModel")],y);const n=y;export{n 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.33/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../../Color.js";import{loadCalciteComponents as t}from"../../support/componentsUtils.js";import"../../support/widgetUtils.js";import{tsx as c}from"../../support/jsxFactory.js";import{css as l}from"../css.js";const i={active:null,speed:"1x",quality:"Auto",color:null},o=new e([255,127,0]);let s=null;const a=()=>t({action:()=>import("@esri/calcite-components/dist/components/calcite-action"),flow:()=>import("@esri/calcite-components/dist/components/calcite-flow"),"flow-item":()=>import("@esri/calcite-components/dist/components/calcite-flow-item"),icon:()=>import("@esri/calcite-components/dist/components/calcite-icon"),list:()=>import("@esri/calcite-components/dist/components/calcite-list"),"list-item":()=>import("@esri/calcite-components/dist/components/calcite-list-item"),popover:()=>import("@esri/calcite-components/dist/components/calcite-popover"),block:()=>import("@esri/calcite-components/dist/components/calcite-block"),"color-picker":()=>import("@esri/calcite-components/dist/components/calcite-color-picker"),chip:()=>import("@esri/calcite-components/dist/components/calcite-chip"),"color-picker-swatch":()=>import("@esri/calcite-components/dist/components/calcite-color-picker-swatch")});function n({viewModel:t,settings:i,messages:a}){const{state:n}=t,r="not-ready"===n||"waiting"===n,p=["Auto"],m=[{label:"0.25x",value:.25},{label:"0.5x",value:.5},{label:"1x",value:1},{label:"1.5x",value:1.5},{label:"2x",value:2}],d=c("calcite-flow-item",{heading:a.playbackSpeed,key:"playback-speed",selected:"speed"===i.active,onCalciteFlowItemBack:()=>{i.active=null}},c("calcite-list",{label:a.playbackSpeed,selectionMode:"single-persist"},m.map((({label:e,value:l})=>c("calcite-list-item",{key:e,label:e,onclick:()=>{i.speed=e,t.changePlaybackSpeed(l)},selected:e===i.speed}))))),u=c("calcite-flow-item",{heading:a.quality,key:`Quality (${i.quality})`,selected:"quality"===i.active,onCalciteFlowItemBack:()=>{i.active=null}},c("calcite-list",{label:a.quality,selectionMode:"single-persist"},p.map((e=>c("calcite-list-item",{key:e,label:e,onclick:()=>{i.quality=e},selected:e===i.quality}))))),g=c("calcite-flow-item",{heading:a.graphics,key:`Graphics (${i.color})`,selected:"color"===i.active,onCalciteFlowItemBack:()=>{i.active=null,i.color=s?new e(s):null,i.color&&t.changeGraphicsColor(i.color)}},c("calcite-block",{expanded:!0,heading:a.color},c("calcite-color-picker",{channelsDisabled:!0,format:"hex",savedDisabled:!0,scale:"s",value:i.color?.toHex()??o.toHex(),onCalciteColorPickerChange:e=>{s=e.currentTarget.value?.toString()}})));return c("div",{class:l.settings},c("calcite-popover",{autoClose:!0,label:a.settings,overlayPositioning:"fixed",placement:"top-end",pointerDisabled:!0,referenceElement:"settings-action",scale:"s"},c("calcite-flow",{class:l.settingsFlow,key:"root-flow"},c("calcite-flow-item",{closable:!1,heading:"Settings",key:"root-flow-item",selected:!i.active},c("calcite-list",{label:a.settings},c("calcite-list-item",{key:`Speed (${i.speed})`,label:a.speed,onclick:()=>{i.active="speed"}},c("div",{slot:"content-end"},c("calcite-chip",{label:i.speed,scale:"s"},i.speed)),c("calcite-icon",{icon:"chevron-right",scale:"s",slot:"content-end"})),c("calcite-list-item",{key:`Quality (${i.quality})`,label:a.quality,onclick:()=>{i.active="quality"}},c("div",{slot:"content-end"},c("calcite-chip",{label:i.quality,scale:"s"},i.quality)),c("calcite-icon",{icon:"chevron-right",scale:"s",slot:"content-end"})),c("calcite-list-item",{key:`Graphics (${i.color})`,label:a.graphics,onclick:()=>{i.active="color"}},c("calcite-color-picker-swatch",{color:i.color?.toString()??o.toString(),scale:"s",slot:"content-end"}),c("calcite-icon",{icon:"chevron-right",scale:"s",slot:"content-end"})))),"speed"===i.active?d:null,"quality"===i.active?u:null,"color"===i.active?g:null)),c("calcite-action",{alignment:"center",bind:t,disabled:r,icon:"sliders",id:"settings-action",key:"settings",scale:"s",slot:"trigger",text:a.settings}))}export{n as SettingsButton,i as defaultSettings,a as loadSettingsButtonComponents};
5
+ import e from"../../../Color.js";import{loadCalciteComponents as t}from"../../support/componentsUtils.js";import"../../support/widgetUtils.js";import{tsx as c}from"../../support/jsxFactory.js";import{css as l}from"../css.js";const i={active:null,speed:"1x",quality:"Auto",color:null},o=new e([255,127,0]);let s=null;const a=()=>t({action:()=>import("@esri/calcite-components/dist/components/calcite-action"),flow:()=>import("@esri/calcite-components/dist/components/calcite-flow"),"flow-item":()=>import("@esri/calcite-components/dist/components/calcite-flow-item"),icon:()=>import("@esri/calcite-components/dist/components/calcite-icon"),list:()=>import("@esri/calcite-components/dist/components/calcite-list"),"list-item":()=>import("@esri/calcite-components/dist/components/calcite-list-item"),popover:()=>import("@esri/calcite-components/dist/components/calcite-popover"),block:()=>import("@esri/calcite-components/dist/components/calcite-block"),"color-picker":()=>import("@esri/calcite-components/dist/components/calcite-color-picker"),chip:()=>import("@esri/calcite-components/dist/components/calcite-chip"),"color-picker-swatch":()=>import("@esri/calcite-components/dist/components/calcite-color-picker-swatch")});function n({viewModel:t,settings:i,messages:a}){const{state:n}=t,r="not-ready"===n||"waiting"===n,p=["Auto"],m=[{label:"0.25x",value:.25},{label:"0.5x",value:.5},{label:"1x",value:1},{label:"1.5x",value:1.5},{label:"2x",value:2}],d=c("calcite-flow-item",{heading:a.playbackSpeed,key:"playback-speed",selected:"speed"===i.active,onCalciteFlowItemBack:()=>{i.active=null}},c("calcite-list",{label:a.playbackSpeed,selectionMode:"single-persist"},m.map((({label:e,value:l})=>c("calcite-list-item",{key:e,label:e,onclick:()=>{i.speed=e,t.changePlaybackSpeed(l)},selected:e===i.speed}))))),u=c("calcite-flow-item",{heading:a.quality,key:`Quality (${i.quality})`,selected:"quality"===i.active,onCalciteFlowItemBack:()=>{i.active=null}},c("calcite-list",{label:a.quality,selectionMode:"single-persist"},p.map((e=>c("calcite-list-item",{key:e,label:e,onclick:()=>{i.quality=e},selected:e===i.quality}))))),g=c("calcite-flow-item",{heading:a.graphics,key:`Graphics (${i.color})`,selected:"color"===i.active,onCalciteFlowItemBack:()=>{i.active=null}},c("calcite-block",{expanded:!0,heading:a.color},c("calcite-color-picker",{channelsDisabled:!0,format:"hex",savedDisabled:!0,scale:"s",value:i.color?.toHex()??o.toHex(),onCalciteColorPickerChange:c=>{s=c.currentTarget.value?.toString(),i.color=s?new e(s):null,i.color&&t.changeGraphicsColor(i.color)}})));return c("div",{class:l.settings},c("calcite-popover",{autoClose:!0,label:a.settings,overlayPositioning:"fixed",placement:"top-end",pointerDisabled:!0,referenceElement:"settings-action",scale:"s"},c("calcite-flow",{class:l.settingsFlow,key:"root-flow"},c("calcite-flow-item",{closable:!1,heading:"Settings",key:"root-flow-item",selected:!i.active},c("calcite-list",{label:a.settings},c("calcite-list-item",{key:`Speed (${i.speed})`,label:a.speed,onclick:()=>{i.active="speed"}},c("div",{slot:"content-end"},c("calcite-chip",{label:i.speed,scale:"s"},i.speed)),c("calcite-icon",{icon:"chevron-right",scale:"s",slot:"content-end"})),c("calcite-list-item",{key:`Quality (${i.quality})`,label:a.quality,onclick:()=>{i.active="quality"}},c("div",{slot:"content-end"},c("calcite-chip",{label:i.quality,scale:"s"},i.quality)),c("calcite-icon",{icon:"chevron-right",scale:"s",slot:"content-end"})),c("calcite-list-item",{key:`Graphics (${i.color})`,label:a.graphics,onclick:()=>{i.active="color"}},c("calcite-color-picker-swatch",{color:i.color?.toString()??o.toString(),scale:"s",slot:"content-end"}),c("calcite-icon",{icon:"chevron-right",scale:"s",slot:"content-end"})))),"speed"===i.active?d:null,"quality"===i.active?u:null,"color"===i.active?g:null)),c("calcite-action",{alignment:"center",bind:t,disabled:r,icon:"sliders",id:"settings-action",key:"settings",scale:"s",slot:"trigger",text:a.settings}))}export{n as SettingsButton,i as defaultSettings,a as loadSettingsButtonComponents};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import"../../intl.js";import{isSome as t}from"../../core/arrayUtils.js";import{property as i}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import{subclass as s}from"../../core/accessorSupport/decorators/subclass.js";import o from"../Widget.js";import{loadCalciteComponents as l}from"./componentsUtils.js";import{globalCss as r}from"./globalCss.js";import{storeNode as n}from"./widgetUtils.js";import{messageBundle as a}from"./decorators/messageBundle.js";import{tsx as c}from"./jsxFactory.js";import{isGroupLayerItem as m,isLayerItem as d,isFeatureItem as h}from"./SelectionList/selectionListUtils.js";import p from"./SelectionList/SelectionListViewModel.js";import u from"./SelectionList/VisibleElements.js";import{formatNumber as y}from"../../intl/number.js";import{substitute as g}from"../../intl/substitute.js";const v="esri-selection-list",I=`${v}__list-item`,f={base:v,container:`${v}__container`,notice:`${v}__notice`,countText:`${v}__count-text`,layerDropdown:`${v}__layer-dropdown`,listItemFeature:`${I}__feature`,listItemFeatureIcon:`${I}__feature-icon`,listItemIcon:`${I}__icon`,totalCountChip:`${v}__total-count`};let b=class extends o{constructor(e,t){super(e,t),this._list=null,this._iconIntersectionObserver=new IntersectionObserver(((e,t)=>{e.forEach((async e=>{if(e.isIntersecting){const i=e.target;if(this._hasIcon(i))return void t.unobserve(i);const s=this._getListItem(i);if(!s)return;this._setHasIcon(i,!0);const o=await s.fetchThumbnail().catch((()=>(this._setHasIcon(i,!1),null)));if(null==o)return;i.appendChild(o)}}))})),this.displayMode="group",this.menuScale="m",this.messages=null,this.messagesCommon=null,this.scale="s",this.viewModel=new p,this.visibleElements=new u,this._afterItemCreate=e=>{this._iconIntersectionObserver?.observe(e)},this._afterItemRemoved=e=>{this._iconIntersectionObserver?.unobserve(e)},this.clear=this.clear.bind(this),this.collapseItems=this.collapseItems.bind(this),this.removeTemporaryHighlight=this.removeTemporaryHighlight.bind(this)}destroy(){this._iconIntersectionObserver?.disconnect(),this._iconIntersectionObserver=null}loadDependencies(){return l({action:()=>import("@esri/calcite-components/dist/components/calcite-action"),chip:()=>import("@esri/calcite-components/dist/components/calcite-chip"),combobox:()=>import("@esri/calcite-components/dist/components/calcite-combobox"),"combobox-item":()=>import("@esri/calcite-components/dist/components/calcite-combobox-item"),dropdown:()=>import("@esri/calcite-components/dist/components/calcite-dropdown"),"dropdown-group":()=>import("@esri/calcite-components/dist/components/calcite-dropdown-group"),"dropdown-item":()=>import("@esri/calcite-components/dist/components/calcite-dropdown-item"),flow:()=>import("@esri/calcite-components/dist/components/calcite-flow"),"flow-item":()=>import("@esri/calcite-components/dist/components/calcite-flow-item"),list:()=>import("@esri/calcite-components/dist/components/calcite-list"),"list-item":()=>import("@esri/calcite-components/dist/components/calcite-list-item"),notice:()=>import("@esri/calcite-components/dist/components/calcite-notice"),panel:()=>import("@esri/calcite-components/dist/components/calcite-panel")})}get _activeLayerItem(){return this.layer&&this.layerItems.find((e=>e.layer===this.layer))}get allLayerItems(){return this.viewModel.allLayerItems}get effectiveCount(){return this.viewModel.effectiveCount}get effectiveSelectionManager(){return this.viewModel.effectiveSelectionManager}get featureTitleMap(){return this.viewModel.featureTitleMap}get icon(){return"selection"}set icon(e){this._overrideIfSome("icon",e)}get isUpdating(){return this.viewModel.isUpdating}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get layer(){return this.viewModel.layer}set layer(e){this.viewModel.layer=e}get layerItems(){return this.viewModel.layerItems}get layerViewMap(){return this.viewModel.layerViewMap}get maxVisibleFeatureCountExceeded(){return this.viewModel.maxVisibleFeatureCountExceeded}get maxVisibleFeatureCountPerLayer(){return this.viewModel.maxVisibleFeatureCountPerLayer}set maxVisibleFeatureCountPerLayer(e){this.viewModel.maxVisibleFeatureCountPerLayer=e}get selectionManager(){return this.viewModel.selectionManager}set selectionManager(e){this.viewModel.selectionManager=e}get selectionSources(){return this.viewModel.selectionSources}get state(){return this.viewModel.state}get totalCount(){return this.viewModel.totalCount}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}get viewLayersAndTables(){return this.viewModel.viewLayersAndTables}get visibleFeatureCount(){return this.viewModel.visibleFeatureCount}addTemporaryHighlight(e){this.viewModel.addTemporaryHighlight(e)}clear(){this.viewModel.clear()}deselectFeatureItem(e){this.viewModel.deselectFeatureItem(e)}deselectGroupItem(e){this.viewModel.deselectGroupItem(e)}deselectLayerItem(e){this.viewModel.deselectLayerItem(e)}deselectItem(e){this.viewModel.deselectItem(e)}collapseItems(){this._list?.filteredItems.forEach((e=>e.expanded=!1))}goToItem(e){this.viewModel.goToItem(e)}removeFromSelection(e){this.viewModel.removeFromSelection(e)}removeTemporaryHighlight(){this.viewModel.removeTemporaryHighlight()}selectSingleFeatureItem(e){this.viewModel.selectSingleFeatureItem(e)}selectSingleGroupItem(e){this.viewModel.selectSingleGroupItem(e)}selectSingleItem(e){this.viewModel.selectSingleItem(e)}selectSingleLayerItem(e){this.viewModel.selectSingleLayerItem(e)}setSelection(e){this.viewModel.setSelection(e)}render(){return c("div",{class:this.classes(f.base,r.widget,r.panel)},c("calcite-flow",null,c("calcite-flow-item",{class:f.container,heading:this.visibleElements.header?this.messages.selection:void 0,loading:"loading"===this.state,overlayPositioning:"fixed",scale:this.scale,selected:!0},c("calcite-panel",{overlayPositioning:"fixed",scale:this.scale},this._renderLayerFilter(),this._renderCountText(),this._renderList()),this._renderTotalChip(),this._renderMenuActions())))}_renderTotalChip(){const{visibleElements:e}=this;if(!e.totalCountChip||!e.header)return;const{effectiveCount:t}=this,i=y(t),s=g(this.messages.selectionCount,{count:i});return c("calcite-chip",{appearance:"outline",class:f.totalCountChip,closable:t>0,closed:0===t,icon:this.maxVisibleFeatureCountExceeded?"exclamation-mark-triangle":void 0,label:i,scale:this.scale,slot:"header-actions-end",title:s,onCalciteChipClose:this.clear},i)}_renderMenuActions(){const{visibleElements:e}=this;if(!e.header||!e.menu)return;const{menuScale:t}=this,i=0===this.totalCount;return[c("calcite-action",{disabled:i,icon:"reset",key:"clear-action",onclick:this.clear,scale:t,slot:"header-menu-actions",text:this.messagesCommon.clear,textEnabled:!0}),c("calcite-action",{disabled:i,icon:"folders",key:"collapse-action",onclick:this.collapseItems,scale:t,slot:"header-menu-actions",text:this.messages.collapseAll,textEnabled:!0})]}_renderCountText(){if(!this.visibleElements.countText)return;const{effectiveCount:e,messages:t,visibleFeatureCount:i}=this,s=y(e);return c("div",{class:f.countText,key:"feature-count-label"},this.maxVisibleFeatureCountExceeded?g(t.featuresCountShowing,{count:s,visibleCount:y(i)}):g(t.featuresCount,{count:s}))}_renderLayerFilter(){const{layerItems:e,messages:t}=this;if(0!==this.totalCount&&0!==e.length&&this.visibleElements.layerFilter)return c("calcite-combobox",{class:f.layerDropdown,clearDisabled:!0,label:t.filterByLayer,overlayPositioning:"fixed",placeholder:t.filterByLayer,scale:this.scale,selectionMode:"single-persist",onCalciteComboboxChange:({currentTarget:e})=>{this._list&&(this._list.filterText=""),this.layer=e.selectedItems[0]?.value??void 0}},c("calcite-combobox-item",{heading:g(t.allLayersCount,{count:e.length}),icon:"layers",key:"all-layers",selected:null==this.layer,value:null}),this.layerItems.map((e=>this._renderLayerFilterItem(e))))}_renderLayerFilterItem(e){const t=e.title||this.messages.untitledLayer;return c("calcite-combobox-item",{heading:t,icon:e.iconName,key:e.key,selected:e.layer===this.layer,value:e.layer})}_renderList(){const{messages:e}=this,t=!!(this.visibleElements.filter&&this.effectiveCount>0);return c("calcite-list",{afterCreate:n,bind:this,"data-node-ref":"_list",displayMode:"nested",filterEnabled:t,filterPlaceholder:e.filter,filterPredicate:({value:e})=>null==this._list?.filterText||new RegExp(this._list.filterText,"iu").test(e),interactionMode:"interactive",label:e.widgetLabel,loading:this.isUpdating,scale:this.scale,selectionMode:"none"},this._renderListContent(this.allLayerItems),this._renderFilterNotice())}_renderListContent(e){return this._activeLayerItem?this._renderLayerItem(this._activeLayerItem):e.map((e=>m(e)?this._renderGroupItem(e):d(e)?this._renderLayerItem(e):null)).filter(t)}_renderFilterNotice(){const{visibleElements:e}=this;if(e.filter&&e.filterNotice)return c("calcite-notice",{icon:"exclamation-mark-triangle",kind:"info",open:!0,scale:this.scale,slot:"filter-no-results"},c("div",{slot:"message"},this.messages.noMatchingFeatures))}_renderItemCountChip(e){if(!this.visibleElements.itemCountChip)return;const{messages:t}=this,{maxVisibleFeatureCountExceeded:i,total:s}=e,o=y(s),l=i?t.tooManyFeatures:g(t.selectionCount,{count:o});return c("calcite-chip",{appearance:"outline",icon:i?"exclamation-mark-triangle":void 0,label:o,scale:"s",slot:"content-end",title:l},o)}_renderItemActions(e){if(!this.visibleElements.itemMenus)return;const{messages:t,messagesCommon:i}=this,s=h(e),o=s?t.deselectFeature:d(e)?t.deselectLayer:t.deselectGroup;return[c("calcite-dropdown",{overlayPositioning:"fixed",scale:this.menuScale,slot:"actions-end",width:"m"},c("calcite-action",{appearance:"transparent",icon:"ellipsis",scale:this.scale,slot:"trigger",text:i.menu,textEnabled:!1}),c("calcite-dropdown-group",{selectionMode:"none"},c("calcite-dropdown-item",{iconStart:"layer-zoom-to",onCalciteDropdownItemSelect:()=>this.goToItem(e)},t.zoomTo),c("calcite-dropdown-item",{iconStart:"selection-filter",onCalciteDropdownItemSelect:()=>this.selectSingleItem(e)},s?t.onlySelectFeature:t.onlySelectThis),c("calcite-dropdown-item",{iconStart:"selection-x",onCalciteDropdownItemSelect:()=>this.deselectItem(e)},o)))]}_renderGroupItem(e){const t=e.title||this.messages.untitledLayer;if(0===e.total)return;const{displayMode:i}=this;if("layer"===i||"feature"===i)return this._renderListContent(e.children);const{visibleElements:s}=this;return c("calcite-list-item",{bind:this,closable:!!s.itemCloseActions,expanded:!0,iconStart:s.itemIcons?e.iconName:void 0,key:e.key,label:t,onclick:t=>{t.stopPropagation(),this.emit("item-click",{item:e})},value:e.title,onCalciteListItemClose:t=>{t.stopPropagation(),this.deselectItem(e)}},this._renderItemActions(e),this._renderListContent(e.children))}_renderLayerItem(e){const{messages:t}=this,i=e.title||t.untitledLayer;if(0===e.total)return;if("feature"===this.displayMode||this._activeLayerItem)return this._renderItems(e.selection);const{visibleElements:s}=this;return c("calcite-list-item",{bind:this,closable:!!s.itemCloseActions,expanded:!0,iconStart:s.itemIcons?e.iconName:void 0,key:e.key,label:i,onclick:t=>{t.stopPropagation(),this.emit("item-click",{item:e})},scale:this.scale,value:e.title,onCalciteListItemClose:t=>{t.stopPropagation(),this.deselectItem(e)}},this._renderItemCountChip(e),this._renderItemActions(e),this._renderItems(e.selection),e.maxVisibleFeatureCountExceeded?c("calcite-notice",{class:f.notice,icon:"exclamation-mark-triangle",kind:"info",open:!0,scale:this.scale},c("div",{slot:"message"},t.tooManyFeatures)):void 0)}_renderItems(e){return e.map((e=>this._renderItem(e)))}_renderItem(e){const{messages:t,visibleElements:i}=this,s=e.title||t.untitledFeature,o=i.itemIcons&&"feature"!==this.displayMode;return c("calcite-list-item",{bind:this,class:o?f.listItemFeatureIcon:f.listItemFeature,closable:!!i.itemCloseActions,"data-item":e,key:e.key,label:s,name:s,onblur:this.removeTemporaryHighlight,onclick:t=>{t.stopPropagation(),this.emit("item-click",{item:e})},onfocus:()=>this.addTemporaryHighlight(e),onpointerenter:()=>this.addTemporaryHighlight(e),onpointerleave:this.removeTemporaryHighlight,scale:this.scale,value:s,onCalciteListItemClose:t=>{t.stopPropagation(),this.deselectItem(e)}},this._renderItemIcon(e),this._renderItemActions(e))}_renderItemIcon(e){if(this.visibleElements.itemIcons)return c("div",{class:f.listItemIcon,key:"content-start",slot:"content-start"},c("span",{afterCreate:this._afterItemCreate,afterRemoved:this._afterItemRemoved,"data-has-icon":!1,"data-item":e,key:"icon"}))}_getListItem(e){return e?.["data-item"]}_hasIcon(e){return!!e?.["data-has-icon"]}_setHasIcon(e,t){e&&(e["data-has-icon"]=t)}};e([i()],b.prototype,"_activeLayerItem",null),e([i()],b.prototype,"_list",void 0),e([i()],b.prototype,"allLayerItems",null),e([i()],b.prototype,"displayMode",void 0),e([i()],b.prototype,"effectiveCount",null),e([i()],b.prototype,"effectiveSelectionManager",null),e([i()],b.prototype,"featureTitleMap",null),e([i()],b.prototype,"icon",null),e([i()],b.prototype,"isUpdating",null),e([i()],b.prototype,"label",null),e([i()],b.prototype,"layer",null),e([i()],b.prototype,"layerItems",null),e([i()],b.prototype,"layerViewMap",null),e([i()],b.prototype,"maxVisibleFeatureCountExceeded",null),e([i()],b.prototype,"maxVisibleFeatureCountPerLayer",null),e([i()],b.prototype,"menuScale",void 0),e([i(),a("esri/widgets/support/SelectionList/t9n/SelectionList")],b.prototype,"messages",void 0),e([i(),a("esri/t9n/common")],b.prototype,"messagesCommon",void 0),e([i()],b.prototype,"scale",void 0),e([i()],b.prototype,"selectionManager",null),e([i()],b.prototype,"selectionSources",null),e([i()],b.prototype,"state",null),e([i()],b.prototype,"totalCount",null),e([i()],b.prototype,"view",null),e([i()],b.prototype,"viewLayersAndTables",null),e([i()],b.prototype,"viewModel",void 0),e([i()],b.prototype,"visibleFeatureCount",null),e([i({type:u,nonNullable:!0})],b.prototype,"visibleElements",void 0),b=e([s("esri.widgets.support.SelectionList")],b);const _=b;export{_ as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import"../../intl.js";import{isSome as t}from"../../core/arrayUtils.js";import{on as i}from"../../core/reactiveUtils.js";import{property as s}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 l from"../Widget.js";import{loadCalciteComponents as n}from"./componentsUtils.js";import{globalCss as r}from"./globalCss.js";import{storeNode as a}from"./widgetUtils.js";import{messageBundle as c}from"./decorators/messageBundle.js";import{tsx as m}from"./jsxFactory.js";import{isGroupLayerItem as d,isLayerItem as h,isFeatureItem as p}from"./SelectionList/selectionListUtils.js";import u from"./SelectionList/SelectionListViewModel.js";import y from"./SelectionList/VisibleElements.js";import{formatNumber as v}from"../../intl/number.js";import{substitute as g}from"../../intl/substitute.js";const I="esri-selection-list",f=`${I}__list-item`,b={base:I,container:`${I}__container`,notice:`${I}__notice`,countText:`${I}__count-text`,layerDropdown:`${I}__layer-dropdown`,listItemFeature:`${f}__feature`,listItemFeatureIcon:`${f}__feature-icon`,listItemIcon:`${f}__icon`,totalCountChip:`${I}__total-count`};let _=class extends l{constructor(e,t){super(e,t),this._list=null,this._iconIntersectionObserver=new IntersectionObserver(((e,t)=>{e.forEach((async e=>{if(e.isIntersecting){const i=e.target;if(this._hasIcon(i))return void t.unobserve(i);const s=this._getListItem(i);if(!s)return;this._setHasIcon(i,!0);const o=await s.fetchThumbnail().catch((()=>(this._setHasIcon(i,!1),null)));if(null==o)return;i.appendChild(o)}}))})),this._itemWithOpenMenu=null,this.displayMode="group",this.itemActionConfigs=null,this.menuScale="m",this.messages=null,this.messagesCommon=null,this.scale="s",this.viewModel=new u,this.visibleElements=new y,this._afterItemCreate=e=>{this._iconIntersectionObserver?.observe(e)},this._afterItemRemoved=e=>{this._iconIntersectionObserver?.unobserve(e)},this.clear=this.clear.bind(this),this.collapseItems=this.collapseItems.bind(this),this.removeTemporaryHighlight=this.removeTemporaryHighlight.bind(this)}initialize(){this.addHandles([i((()=>this.effectiveSelectionManager),"selection-change",(()=>this._closeItemMenu()))])}destroy(){this._iconIntersectionObserver?.disconnect(),this._iconIntersectionObserver=null}loadDependencies(){return n({action:()=>import("@esri/calcite-components/dist/components/calcite-action"),chip:()=>import("@esri/calcite-components/dist/components/calcite-chip"),combobox:()=>import("@esri/calcite-components/dist/components/calcite-combobox"),"combobox-item":()=>import("@esri/calcite-components/dist/components/calcite-combobox-item"),dropdown:()=>import("@esri/calcite-components/dist/components/calcite-dropdown"),"dropdown-group":()=>import("@esri/calcite-components/dist/components/calcite-dropdown-group"),"dropdown-item":()=>import("@esri/calcite-components/dist/components/calcite-dropdown-item"),flow:()=>import("@esri/calcite-components/dist/components/calcite-flow"),"flow-item":()=>import("@esri/calcite-components/dist/components/calcite-flow-item"),list:()=>import("@esri/calcite-components/dist/components/calcite-list"),"list-item":()=>import("@esri/calcite-components/dist/components/calcite-list-item"),notice:()=>import("@esri/calcite-components/dist/components/calcite-notice"),panel:()=>import("@esri/calcite-components/dist/components/calcite-panel")})}get _activeLayerItem(){return this.layer&&this.layerItems.find((e=>e.layer===this.layer))}get allLayerItems(){return this.viewModel.allLayerItems}get effectiveCount(){return this.viewModel.effectiveCount}get effectiveSelectionManager(){return this.viewModel.effectiveSelectionManager}get featureTitleMap(){return this.viewModel.featureTitleMap}get icon(){return"selection"}set icon(e){this._overrideIfSome("icon",e)}get isUpdating(){return this.viewModel.isUpdating}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get layer(){return this.viewModel.layer}set layer(e){this.viewModel.layer=e}get layerItems(){return this.viewModel.layerItems}get layerViewMap(){return this.viewModel.layerViewMap}get maxVisibleFeatureCountExceeded(){return this.viewModel.maxVisibleFeatureCountExceeded}get maxVisibleFeatureCountPerLayer(){return this.viewModel.maxVisibleFeatureCountPerLayer}set maxVisibleFeatureCountPerLayer(e){this.viewModel.maxVisibleFeatureCountPerLayer=e}get selectionManager(){return this.viewModel.selectionManager}set selectionManager(e){this.viewModel.selectionManager=e}get selectionSources(){return this.viewModel.selectionSources}get state(){return this.viewModel.state}get totalCount(){return this.viewModel.totalCount}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}get viewLayersAndTables(){return this.viewModel.viewLayersAndTables}get visibleFeatureCount(){return this.viewModel.visibleFeatureCount}addTemporaryHighlight(e){this.viewModel.addTemporaryHighlight(e)}clear(){this.viewModel.clear()}deselectFeatureItem(e){this.viewModel.deselectFeatureItem(e)}deselectGroupItem(e){this.viewModel.deselectGroupItem(e)}deselectLayerItem(e){this.viewModel.deselectLayerItem(e)}deselectItem(e){this.viewModel.deselectItem(e)}collapseItems(){this._list?.filteredItems.forEach((e=>e.expanded=!1))}goToItem(e){this.viewModel.goToItem(e)}removeFromSelection(e){this.viewModel.removeFromSelection(e)}removeTemporaryHighlight(){this.viewModel.removeTemporaryHighlight()}selectSingleFeatureItem(e){this.viewModel.selectSingleFeatureItem(e)}selectSingleGroupItem(e){this.viewModel.selectSingleGroupItem(e)}selectSingleItem(e){this.viewModel.selectSingleItem(e)}selectSingleLayerItem(e){this.viewModel.selectSingleLayerItem(e)}setSelection(e){this.viewModel.setSelection(e)}render(){return m("div",{class:this.classes(b.base,r.widget,r.panel)},m("calcite-flow",null,m("calcite-flow-item",{class:b.container,heading:this.visibleElements.header?this.messages.selection:void 0,loading:"loading"===this.state,overlayPositioning:"fixed",scale:this.scale,selected:!0},m("calcite-panel",{overlayPositioning:"fixed",scale:this.scale},this._renderLayerFilter(),this._renderCountText(),this._renderList()),this._renderTotalChip(),this._renderMenuActions())))}_renderTotalChip(){const{visibleElements:e}=this;if(!e.totalCountChip||!e.header)return;const{effectiveCount:t}=this,i=v(t),s=g(this.messages.selectionCount,{count:i});return m("calcite-chip",{appearance:"outline",class:b.totalCountChip,closable:t>0,closed:0===t,icon:this.maxVisibleFeatureCountExceeded?"exclamation-mark-triangle":void 0,label:i,scale:this.scale,slot:"header-actions-end",title:s,onCalciteChipClose:this.clear},i)}_renderMenuActions(){const{visibleElements:e}=this;if(!e.header||!e.menu)return;const{menuScale:t}=this,i=0===this.totalCount;return[m("calcite-action",{disabled:i,icon:"reset",key:"clear-action",onclick:this.clear,scale:t,slot:"header-menu-actions",text:this.messagesCommon.clear,textEnabled:!0}),m("calcite-action",{disabled:i,icon:"folders",key:"collapse-action",onclick:this.collapseItems,scale:t,slot:"header-menu-actions",text:this.messages.collapseAll,textEnabled:!0})]}_renderCountText(){if(!this.visibleElements.countText)return;const{effectiveCount:e,messages:t,visibleFeatureCount:i}=this,s=v(e);return m("div",{class:b.countText,key:"feature-count-label"},this.maxVisibleFeatureCountExceeded?g(t.featuresCountShowing,{count:s,visibleCount:v(i)}):g(t.featuresCount,{count:s}))}_renderLayerFilter(){const{layerItems:e,messages:t}=this;if(0!==this.totalCount&&0!==e.length&&this.visibleElements.layerFilter)return m("calcite-combobox",{class:b.layerDropdown,clearDisabled:!0,label:t.filterByLayer,overlayPositioning:"fixed",placeholder:t.filterByLayer,scale:this.scale,selectionMode:"single-persist",onCalciteComboboxChange:({currentTarget:e})=>{this._list&&(this._list.filterText="");const t=e.selectedItems[0]?.value??void 0;this.layer="all-layers"===t?void 0:t}},m("calcite-combobox-item",{heading:g(t.allLayersCount,{count:e.length}),icon:"layers",key:"all-layers",selected:null==this.layer,value:"all-layers"}),this.layerItems.map((e=>this._renderLayerFilterItem(e))))}_renderLayerFilterItem(e){const t=e.title||this.messages.untitledLayer;return m("calcite-combobox-item",{heading:t,icon:e.iconName,key:e.key,selected:e.layer===this.layer,value:e.layer})}_renderList(){const{messages:e}=this,t=!!(this.visibleElements.filter&&this.effectiveCount>0);return m("calcite-list",{afterCreate:a,bind:this,"data-node-ref":"_list",displayMode:"nested",filterEnabled:t,filterPlaceholder:e.filter,filterPredicate:({value:e})=>null==this._list?.filterText||new RegExp(this._list.filterText,"iu").test(e),interactionMode:"interactive",label:e.widgetLabel,loading:this.isUpdating,scale:this.scale,selectionMode:"none"},this._renderListContent(this.allLayerItems),this._renderFilterNotice())}_renderListContent(e){return this._activeLayerItem?this._renderLayerItem(this._activeLayerItem):e.map((e=>d(e)?this._renderGroupItem(e):h(e)?this._renderLayerItem(e):null)).filter(t)}_renderFilterNotice(){const{visibleElements:e}=this;if(e.filter&&e.filterNotice)return m("calcite-notice",{icon:"exclamation-mark-triangle",kind:"info",open:!0,scale:this.scale,slot:"filter-no-results"},m("div",{slot:"message"},this.messages.noMatchingFeatures))}_renderItemCountChip(e){if(!this.visibleElements.itemCountChip)return;const{messages:t}=this,{maxVisibleFeatureCountExceeded:i,total:s}=e,o=v(s),l=i?t.tooManyFeatures:g(t.selectionCount,{count:o});return m("calcite-chip",{appearance:"outline",icon:i?"exclamation-mark-triangle":void 0,label:o,scale:"s",slot:"content-end",title:l},o)}_renderItemActions(e){if(!this.visibleElements.itemMenus)return;const{messages:t,messagesCommon:i}=this,s=this._itemWithOpenMenu===e,o=p(e),l=h(e),n=d(e),r=o?t.deselectFeature:l?t.deselectLayer:t.deselectGroup;return[m("calcite-dropdown",{open:s,overlayPositioning:"fixed",scale:this.menuScale,slot:"actions-end",width:"m",onCalciteDropdownClose:()=>this._closeItemMenu(e),onCalciteDropdownOpen:()=>{this._itemWithOpenMenu=e}},m("calcite-action",{appearance:"transparent",icon:"ellipsis",scale:this.scale,slot:"trigger",text:i.menu,textEnabled:!1}),s?m("calcite-dropdown-group",{selectionMode:"none"},m("calcite-dropdown-item",{iconStart:"layer-zoom-to",onCalciteDropdownItemSelect:()=>this.goToItem(e)},t.zoomTo),m("calcite-dropdown-item",{iconStart:"selection-filter",onCalciteDropdownItemSelect:()=>this.selectSingleItem(e)},o?t.onlySelectFeature:t.onlySelectThis),m("calcite-dropdown-item",{iconStart:"selection-x",onCalciteDropdownItemSelect:()=>this.deselectItem(e)},r),this.itemActionConfigs?.map((t=>{if(!t.type||"feature"===t.type&&o||"layer"===t.type&&l||"group"===t.type&&n)return m("calcite-dropdown-item",{iconStart:t.icon??void 0,onCalciteDropdownItemSelect:()=>t.callback({item:e})},t.label)}))):void 0)]}_renderGroupItem(e){const t=e.title||this.messages.untitledLayer;if(0===e.total)return;const{displayMode:i}=this;if("layer"===i||"feature"===i)return this._renderListContent(e.children);const{visibleElements:s}=this;return m("calcite-list-item",{bind:this,closable:!!s.itemCloseActions,expanded:!0,iconStart:s.itemIcons?e.iconName:void 0,key:e.key,label:t,value:e.title,onCalciteListItemClose:t=>{t.stopPropagation(),this.deselectItem(e)},onCalciteListItemSelect:t=>this._onListItemSelect(e,t)},this._renderItemActions(e),this._renderListContent(e.children))}_renderLayerItem(e){const{messages:t}=this,i=e.title||t.untitledLayer;if(0===e.total)return;if("feature"===this.displayMode||this._activeLayerItem)return this._renderItems(e.selection);const{visibleElements:s}=this;return m("calcite-list-item",{bind:this,closable:!!s.itemCloseActions,expanded:!0,iconStart:s.itemIcons?e.iconName:void 0,key:e.key,label:i,scale:this.scale,value:e.title,onCalciteListItemClose:t=>{t.stopPropagation(),this.deselectItem(e)},onCalciteListItemSelect:t=>this._onListItemSelect(e,t)},this._renderItemCountChip(e),this._renderItemActions(e),this._renderItems(e.selection),e.maxVisibleFeatureCountExceeded?m("calcite-notice",{class:b.notice,icon:"exclamation-mark-triangle",kind:"info",open:!0,scale:this.scale},m("div",{slot:"message"},t.tooManyFeatures)):void 0)}_renderItems(e){return e.map((e=>this._renderItem(e)))}_renderItem(e){const{messages:t,visibleElements:i}=this,s=e.title||t.untitledFeature,o=i.itemIcons&&"feature"!==this.displayMode;return m("calcite-list-item",{bind:this,class:o?b.listItemFeatureIcon:b.listItemFeature,closable:!!i.itemCloseActions,"data-item":e,key:e.key,label:s,name:s,onblur:this.removeTemporaryHighlight,onfocus:()=>this.addTemporaryHighlight(e),onpointerenter:()=>this.addTemporaryHighlight(e),onpointerleave:this.removeTemporaryHighlight,scale:this.scale,value:s,onCalciteListItemClose:t=>{t.stopPropagation(),this.deselectItem(e)},onCalciteListItemSelect:t=>this._onListItemSelect(e,t)},this._renderItemIcon(e),this._renderItemActions(e))}_renderItemIcon(e){if(this.visibleElements.itemIcons)return m("div",{class:b.listItemIcon,key:"content-start",slot:"content-start"},m("span",{afterCreate:this._afterItemCreate,afterRemoved:this._afterItemRemoved,"data-has-icon":!1,"data-item":e,key:"icon"}))}_getListItem(e){return e?.["data-item"]}_hasIcon(e){return!!e?.["data-has-icon"]}_setHasIcon(e,t){e&&(e["data-has-icon"]=t)}_onListItemSelect(e,t){t.stopPropagation(),this._closeItemMenu(),this.emit("item-click",{item:e})}_closeItemMenu(e){e&&e!==this._itemWithOpenMenu||(this._itemWithOpenMenu=null)}};e([s()],_.prototype,"_activeLayerItem",null),e([s()],_.prototype,"_list",void 0),e([s()],_.prototype,"_itemWithOpenMenu",void 0),e([s()],_.prototype,"allLayerItems",null),e([s()],_.prototype,"displayMode",void 0),e([s()],_.prototype,"effectiveCount",null),e([s()],_.prototype,"effectiveSelectionManager",null),e([s()],_.prototype,"featureTitleMap",null),e([s()],_.prototype,"icon",null),e([s()],_.prototype,"itemActionConfigs",void 0),e([s()],_.prototype,"isUpdating",null),e([s()],_.prototype,"label",null),e([s()],_.prototype,"layer",null),e([s()],_.prototype,"layerItems",null),e([s()],_.prototype,"layerViewMap",null),e([s()],_.prototype,"maxVisibleFeatureCountExceeded",null),e([s()],_.prototype,"maxVisibleFeatureCountPerLayer",null),e([s()],_.prototype,"menuScale",void 0),e([s(),c("esri/widgets/support/SelectionList/t9n/SelectionList")],_.prototype,"messages",void 0),e([s(),c("esri/t9n/common")],_.prototype,"messagesCommon",void 0),e([s()],_.prototype,"scale",void 0),e([s()],_.prototype,"selectionManager",null),e([s()],_.prototype,"selectionSources",null),e([s()],_.prototype,"state",null),e([s()],_.prototype,"totalCount",null),e([s()],_.prototype,"view",null),e([s()],_.prototype,"viewLayersAndTables",null),e([s()],_.prototype,"viewModel",void 0),e([s()],_.prototype,"visibleFeatureCount",null),e([s({type:y,nonNullable:!0})],_.prototype,"visibleElements",void 0),_=e([o("esri.widgets.support.SelectionList")],_);const C=_;export{C as default};