@arcgis/core 4.25.0-next.20220705 → 4.25.0-next.20220708

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 (336) hide show
  1. package/TimeExtent.js +1 -1
  2. package/arcade/arcadeCompiler.js +1 -1
  3. package/assets/esri/core/workers/RemoteClient.js +1 -1
  4. package/assets/esri/core/workers/chunks/0703495557b0df6878c5.js +1 -0
  5. package/assets/esri/core/workers/chunks/1570676351a313f1841b.js +1 -0
  6. package/assets/esri/core/workers/chunks/{695f90305478f5024fa7.js → 1ecbf642debc2207b762.js} +1 -1
  7. package/assets/esri/core/workers/chunks/{30dbdf2aa1bc8e61cad4.js → 268e7b46202fc1decf9f.js} +1 -1
  8. package/assets/esri/core/workers/chunks/{47d78b4f7117554acecf.js → 357a27203f5d8fa152de.js} +1 -1
  9. package/assets/esri/core/workers/chunks/35dfba25a9077ab5dbaf.js +982 -0
  10. package/assets/esri/core/workers/chunks/377354a81e402edf3077.js +1 -0
  11. package/assets/esri/core/workers/chunks/3a42d96ea3b59d33bfe8.js +1 -0
  12. package/assets/esri/core/workers/chunks/3a61e4ab83183f5526a7.js +1 -0
  13. package/assets/esri/core/workers/chunks/{3790f0362b6f27ee798b.js → 3ee5e8d00cd3bc47a9fa.js} +1 -1
  14. package/assets/esri/core/workers/chunks/425d1fabc713a598139c.js +1 -0
  15. package/assets/esri/core/workers/chunks/425e16862feccb467191.js +1 -0
  16. package/assets/esri/core/workers/chunks/{bbe51b49fe7093e47306.js → 48c8ac9a22190c2b890c.js} +1 -1
  17. package/assets/esri/core/workers/chunks/4a364bc073fdc7c1b563.js +1 -0
  18. package/assets/esri/core/workers/chunks/4ca6ada7a4ccde5b5a24.js +1 -0
  19. package/assets/esri/core/workers/chunks/{905130ff0118962c8140.js → 61b71b8e028eda10ccab.js} +1 -1
  20. package/assets/esri/core/workers/chunks/{b34cffd5c45d3a8134bc.js → 69f57ad2227e59b323e8.js} +1 -1
  21. package/assets/esri/core/workers/chunks/{290899b47a52f8b28a9c.js → 791220164501a791b2cd.js} +1 -1
  22. package/assets/esri/core/workers/chunks/792b4b0a43b4bbbc14ab.js +1 -0
  23. package/assets/esri/core/workers/chunks/7b32b8e8ebe48ae0dae2.js +1 -0
  24. package/assets/esri/core/workers/chunks/7f00125b02bb7211de43.js +1 -0
  25. package/assets/esri/core/workers/chunks/81074accfce5f109f909.js +1 -0
  26. package/assets/esri/core/workers/chunks/{594d7fdb80ad9cdedb85.js → 823e25dbc70e71257b6e.js} +1 -1
  27. package/assets/esri/core/workers/chunks/92e43e05265dfc8173a0.js +1 -0
  28. package/assets/esri/core/workers/chunks/{40fa9b28ca882a70813a.js → 92f7415c2e40e320addc.js} +1 -1
  29. package/assets/esri/core/workers/chunks/{9520b32d5d53ea9cd0d3.js → 9341e9e1fe0f6800aa44.js} +1 -1
  30. package/assets/esri/core/workers/chunks/95451d6405729a9f50c7.js +1 -0
  31. package/assets/esri/core/workers/chunks/{910a2ffb4328f8ee7a0d.js → 95cb9cd08941c28ebd85.js} +1 -1
  32. package/assets/esri/core/workers/chunks/{97f32af5893c86f6444c.js → 9b9a40b84640f00a1dcb.js} +1 -1
  33. package/assets/esri/core/workers/chunks/{77c6ba5ea85915d9078c.js → ac07c732aca6e67232f8.js} +1 -1
  34. package/assets/esri/core/workers/chunks/ae8e87da97411cff3783.js +1 -0
  35. package/assets/esri/core/workers/chunks/{65161a874595b0a34aa1.js → b312dd3027492007d75e.js} +1 -1
  36. package/assets/esri/core/workers/chunks/{83c9da68d6dbc77f60e5.js → beead2b06c994b4e61af.js} +1 -1
  37. package/assets/esri/core/workers/chunks/{5e20fd8b7c9497f2da1f.js → bfb08d3e2208c6178af9.js} +1 -1
  38. package/assets/esri/core/workers/chunks/{04e5486f0d8d4c6bd8a2.js → c3236a7058e64ea3b939.js} +1 -1
  39. package/assets/esri/core/workers/chunks/c4e9c71be6299c60c539.js +1 -0
  40. package/assets/esri/core/workers/chunks/c705f907ce60a646d9aa.js +1 -0
  41. package/assets/esri/core/workers/chunks/ce6abfafa0171b9c8d81.js +1 -0
  42. package/assets/esri/core/workers/chunks/{08a5c5a33a7c7c6852e5.js → d00b0f8236f1526099d4.js} +1 -1
  43. package/assets/esri/core/workers/chunks/d13951412a57e1af6208.js +1 -0
  44. package/assets/esri/core/workers/chunks/ecaf8f030026e41e1d1a.js +1 -0
  45. package/assets/esri/core/workers/chunks/f328a6cd4b7d8c653fc7.js +1 -0
  46. package/assets/esri/core/workers/chunks/f6a6178d4df029ff010d.js +1 -0
  47. package/assets/esri/core/workers/chunks/fde2301c6cd97a3cfb86.js +1 -0
  48. package/assets/esri/core/workers/chunks/fe84bcdfd9028b5e7ef6.js +1 -0
  49. package/assets/esri/themes/base/widgets/_BasemapLayerList.scss +4 -0
  50. package/assets/esri/themes/base/widgets/_LayerList.scss +4 -0
  51. package/assets/esri/themes/dark/main.css +1 -1
  52. package/assets/esri/themes/light/main.css +1 -1
  53. package/assets/esri/themes/light/view.css +1 -1
  54. package/chunks/CheckerBoard.glsl.js +2 -2
  55. package/chunks/ColorMaterial.glsl.js +9 -9
  56. package/chunks/ComponentShader.glsl.js +33 -33
  57. package/chunks/DefaultMaterial.glsl.js +35 -35
  58. package/chunks/HUDMaterial.glsl.js +11 -11
  59. package/chunks/ImageMaterial.glsl.js +5 -5
  60. package/chunks/LineMarker.glsl.js +17 -17
  61. package/chunks/NativeLine.glsl.js +3 -3
  62. package/chunks/Path.glsl.js +28 -28
  63. package/chunks/Pattern.glsl.js +9 -9
  64. package/chunks/PointRenderer.glsl.js +1 -1
  65. package/chunks/RealisticTree.glsl.js +4 -4
  66. package/chunks/RibbonLine.glsl.js +1 -1
  67. package/chunks/ShadedColorMaterial.glsl.js +1 -1
  68. package/chunks/SimpleAtmosphere.glsl.js +1 -1
  69. package/chunks/Terrain.glsl.js +92 -92
  70. package/chunks/WaterSurface.glsl.js +22 -22
  71. package/chunks/common.js +1 -1
  72. package/chunks/mat2.js +1 -1
  73. package/chunks/mat2d.js +1 -1
  74. package/chunks/mat3.js +1 -1
  75. package/chunks/mat4.js +1 -1
  76. package/chunks/quat.js +1 -1
  77. package/chunks/quat2.js +1 -1
  78. package/chunks/vec2.js +1 -1
  79. package/chunks/vec3.js +1 -1
  80. package/chunks/vec4.js +1 -1
  81. package/core/Message.js +1 -1
  82. package/core/accessorSupport/tracking.js +1 -1
  83. package/core/libs/gl-matrix-2/math/common.js +1 -1
  84. package/core/libs/gl-matrix-2/math/vec2.js +1 -1
  85. package/core/pbf.js +1 -1
  86. package/core/quantity.js +0 -1
  87. package/core/sql/WhereClause.js +1 -1
  88. package/core/urlUtils.js +1 -1
  89. package/geometry/support/scaleUtils.js +1 -1
  90. package/identity/IdentityForm.js +1 -1
  91. package/identity/IdentityModal.js +1 -1
  92. package/identity/OAuthCredential.js +1 -1
  93. package/interfaces.d.ts +3347 -190
  94. package/intl/date.js +1 -1
  95. package/intl/duration.js +1 -1
  96. package/intl/messages.js +1 -1
  97. package/intl/substitute.js +1 -1
  98. package/kernel.js +1 -1
  99. package/layers/ImageryTileLayer.js +1 -1
  100. package/layers/VoxelWasmPerSceneView.js +1 -1
  101. package/layers/mixins/ArcGISImageService.js +1 -1
  102. package/layers/mixins/ImageryTileMixin.js +1 -1
  103. package/layers/support/ControlPointsGeoreference.d.ts +4 -0
  104. package/layers/support/ControlPointsGeoreference.js +5 -0
  105. package/layers/support/CornersGeoreference.js +1 -1
  106. package/layers/support/ElevationSamplerData.js +5 -0
  107. package/layers/support/ElevationTile.js +1 -1
  108. package/layers/support/ExportImageServiceParameters.js +1 -1
  109. package/layers/support/MediaElementBase.js +1 -1
  110. package/layers/support/imageryRendererUtils.js +1 -1
  111. package/layers/support/rasterDatasets/TIFFRaster.js +1 -1
  112. package/package.json +1 -1
  113. package/renderers/support/RasterSymbolizer.js +1 -1
  114. package/request.js +1 -1
  115. package/rest/route/utils.js +1 -1
  116. package/rest/serviceArea.js +1 -1
  117. package/rest/support/ServiceAreaParameters.js +1 -1
  118. package/rest/support/ServiceAreaSolveResult.js +1 -1
  119. package/smartMapping/raster/renderers/classBreaks.js +1 -1
  120. package/smartMapping/raster/renderers/uniqueValue.js +1 -1
  121. package/support/apiKeyUtils.js +1 -1
  122. package/support/requestUtils.js +1 -1
  123. package/support/revision.js +1 -1
  124. package/views/2d/layers/MapNotesLayerView2D.js +1 -1
  125. package/views/2d/navigation/actions/Pinch.js +1 -1
  126. package/views/2d/tiling/TileCache.js +1 -1
  127. package/views/2d/viewpointUtils.js +1 -1
  128. package/views/3d/environment/ChapmanAtmosphereTechnique.js +1 -1
  129. package/views/3d/environment/CloudsCompositionTechnique.js +1 -1
  130. package/views/3d/environment/CloudsTechnique.js +1 -1
  131. package/views/3d/environment/EnvironmentRenderer.js +1 -1
  132. package/views/3d/environment/FogTechnique.js +1 -1
  133. package/views/3d/environment/NoiseTextureAtlasTechnique.js +1 -1
  134. package/views/3d/environment/Precipitation.js +1 -1
  135. package/views/3d/environment/PrecipitationTechnique.js +1 -1
  136. package/views/3d/environment/SimpleAtmosphereTechnique.js +1 -1
  137. package/views/3d/environment/SimpleAtmosphereTechniqueConfiguration.js +1 -1
  138. package/views/3d/environment/StarsTechnique.js +1 -1
  139. package/views/3d/externalRenderers/ExternalRendererStore.js +1 -1
  140. package/views/3d/interactive/Manipulator3D.js +1 -1
  141. package/views/3d/interactive/visualElements/LabelVisualElement.js +1 -1
  142. package/views/3d/interactive/visualElements/ParallelLineVisualElement.js +1 -1
  143. package/views/3d/layers/FeatureLayerViewBase3D.js +1 -1
  144. package/views/3d/layers/FeatureLikeLayerView3D.js +1 -1
  145. package/views/3d/layers/ImageryLayerView3D.js +1 -1
  146. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  147. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  148. package/views/3d/layers/graphics/Graphics3DFeatureProcessor.js +1 -1
  149. package/views/3d/layers/i3s/PointRenderer.js +1 -1
  150. package/views/3d/layers/support/FeatureVisibilityFilter.js +5 -0
  151. package/views/3d/layers/support/HeatmapFeatureProcessor.js +1 -1
  152. package/views/3d/state/ViewStateManager.js +1 -1
  153. package/views/3d/support/LaserlinePathData.js +1 -1
  154. package/views/3d/support/ResourceController.js +1 -1
  155. package/views/3d/terrain/BlendLayersTechnique.js +1 -1
  156. package/views/3d/terrain/ElevationData.js +1 -1
  157. package/views/3d/terrain/GeometryState.js +1 -1
  158. package/views/3d/terrain/OverlayRenderTarget.js +1 -1
  159. package/views/3d/terrain/OverlayRenderer.js +1 -1
  160. package/views/3d/terrain/PatchGeometryFactory.js +1 -1
  161. package/views/3d/terrain/PatchRenderData.js +1 -1
  162. package/views/3d/terrain/RasterColorizerTechnique.js +1 -1
  163. package/views/3d/terrain/TerrainConst.js +1 -1
  164. package/views/3d/terrain/TerrainRenderer.js +1 -1
  165. package/views/3d/terrain/TerrainSurface.js +1 -1
  166. package/views/3d/terrain/Tile.js +1 -1
  167. package/views/3d/terrain/tileUtils.js +1 -1
  168. package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
  169. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  170. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechnique.js +1 -1
  171. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js +1 -1
  172. package/views/3d/webgl-engine/collections/Component/Material/shader/ComponentShader.glsl.js +1 -1
  173. package/views/3d/webgl-engine/core/renderPasses/RenderPass.js +1 -1
  174. package/views/3d/webgl-engine/core/renderPasses/RenderPassManager.js +1 -1
  175. package/views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js +2 -2
  176. package/views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js +5 -0
  177. package/views/3d/webgl-engine/core/shaderLibrary/ShaderOutputConfiguration.js +5 -0
  178. package/views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js +4 -4
  179. package/views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js +11 -11
  180. package/views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js +1 -1
  181. package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js +55 -55
  182. package/views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js +3 -3
  183. package/views/3d/webgl-engine/core/shaderLibrary/terrain/Terrain.glsl.js +1 -1
  184. package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechnique.js +1 -1
  185. package/views/3d/webgl-engine/lib/BlendWeightsTechnique.js +1 -1
  186. package/views/3d/webgl-engine/lib/BlurTechnique.js +1 -1
  187. package/views/3d/webgl-engine/lib/Camera.js +1 -1
  188. package/views/3d/webgl-engine/lib/DrapedHeatmapRenderer.js +1 -1
  189. package/views/3d/webgl-engine/lib/EdgeDetectTechnique.js +1 -1
  190. package/views/3d/webgl-engine/lib/GLMaterialRepository.js +1 -1
  191. package/views/3d/webgl-engine/lib/GLMaterials.js +1 -1
  192. package/views/3d/webgl-engine/lib/Material.js +1 -1
  193. package/views/3d/webgl-engine/lib/OffscreenRendering.js +1 -1
  194. package/views/3d/webgl-engine/lib/OrderIndependentTransparency.js +1 -1
  195. package/views/3d/webgl-engine/lib/RenderContext.js +1 -1
  196. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  197. package/views/3d/webgl-engine/lib/RenderingContext.js +1 -1
  198. package/views/3d/webgl-engine/lib/SSAOTechnique.js +1 -1
  199. package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
  200. package/views/3d/webgl-engine/lib/ShadowMap.js +1 -1
  201. package/views/3d/webgl-engine/lib/SortedRenderGeometryRenderer.js +1 -1
  202. package/views/3d/webgl-engine/lib/TextureTechnique.js +1 -1
  203. package/views/3d/webgl-engine/lib/TransparencyPassType.js +5 -0
  204. package/views/3d/webgl-engine/lib/basicInterfaces.js +1 -1
  205. package/views/3d/webgl-engine/lib/edgeRendering/EdgeShaderTechnique.js +1 -1
  206. package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
  207. package/views/3d/webgl-engine/lib/pathGeometryUtils.js +1 -1
  208. package/views/3d/webgl-engine/materials/CheckerBoardMaterial.js +1 -1
  209. package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
  210. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  211. package/views/3d/webgl-engine/materials/DefaultTechniqueConfiguration.js +1 -1
  212. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  213. package/views/3d/webgl-engine/materials/HeatmapDensityMaterial.js +1 -1
  214. package/views/3d/webgl-engine/materials/ImageMaterial.js +1 -1
  215. package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
  216. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  217. package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
  218. package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
  219. package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
  220. package/views/3d/webgl-engine/materials/PathTechnique.js +1 -1
  221. package/views/3d/webgl-engine/materials/PatternMaterial.js +1 -1
  222. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  223. package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +1 -1
  224. package/views/3d/webgl-engine/materials/SlicePlaneMaterial.js +1 -1
  225. package/views/3d/webgl-engine/materials/WaterGLMaterial.js +1 -1
  226. package/views/3d/webgl-engine/materials/WaterMaterial.js +1 -1
  227. package/views/3d/webgl-engine/materials/WaterTechnique.js +1 -1
  228. package/views/3d/webgl-engine/materials/renderers/MergedRenderer.js +1 -1
  229. package/views/3d/webgl-engine/shaders/CheckerBoard.glsl.js +1 -1
  230. package/views/3d/webgl-engine/shaders/CheckerBoardTechnique.js +1 -1
  231. package/views/3d/webgl-engine/shaders/CheckerBoardTechniqueConfiguration.js +1 -1
  232. package/views/3d/webgl-engine/shaders/ColorMaterial.glsl.js +1 -1
  233. package/views/3d/webgl-engine/shaders/ColorMaterialTechnique.js +1 -1
  234. package/views/3d/webgl-engine/shaders/ColorMaterialTechniqueConfiguration.js +1 -1
  235. package/views/3d/webgl-engine/shaders/CompositingTechnique.js +1 -1
  236. package/views/3d/webgl-engine/shaders/DefaultMaterial.glsl.js +1 -1
  237. package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
  238. package/views/3d/webgl-engine/shaders/DefaultMaterialTechniqueConfiguration.js +1 -1
  239. package/views/3d/webgl-engine/shaders/HUDMaterial.glsl.js +1 -1
  240. package/views/3d/webgl-engine/shaders/HUDMaterialTechnique.js +1 -1
  241. package/views/3d/webgl-engine/shaders/HUDMaterialTechniqueConfiguration.js +1 -1
  242. package/views/3d/webgl-engine/shaders/HeatmapDensityTechnique.js +1 -1
  243. package/views/3d/webgl-engine/shaders/HeatmapTechnique.js +1 -1
  244. package/views/3d/webgl-engine/shaders/HighlightApplyTechnique.js +1 -1
  245. package/views/3d/webgl-engine/shaders/HighlightBlurTechnique.js +1 -1
  246. package/views/3d/webgl-engine/shaders/HighlightDownsampleTechnique.js +1 -1
  247. package/views/3d/webgl-engine/shaders/ImageMaterial.glsl.js +1 -1
  248. package/views/3d/webgl-engine/shaders/ImageMaterialTechnique.js +1 -1
  249. package/views/3d/webgl-engine/shaders/LaserlinePathTechnique.js +1 -1
  250. package/views/3d/webgl-engine/shaders/LaserlineTechnique.js +1 -1
  251. package/views/3d/webgl-engine/shaders/LineCalloutTechnique.js +1 -1
  252. package/views/3d/webgl-engine/shaders/LineMarker.glsl.js +1 -1
  253. package/views/3d/webgl-engine/shaders/LineMarkerTechnique.js +1 -1
  254. package/views/3d/webgl-engine/shaders/LineMarkerTechniqueConfiguration.js +1 -1
  255. package/views/3d/webgl-engine/shaders/MeasurementArrowTechnique.js +1 -1
  256. package/views/3d/webgl-engine/shaders/NativeLine.glsl.js +1 -1
  257. package/views/3d/webgl-engine/shaders/NativeLineTechnique.js +1 -1
  258. package/views/3d/webgl-engine/shaders/NativeLineTechniqueConfiguration.js +1 -1
  259. package/views/3d/webgl-engine/shaders/Path.glsl.js +1 -1
  260. package/views/3d/webgl-engine/shaders/Pattern.glsl.js +1 -1
  261. package/views/3d/webgl-engine/shaders/PatternTechnique.js +1 -1
  262. package/views/3d/webgl-engine/shaders/PointRenderer.glsl.js +1 -1
  263. package/views/3d/webgl-engine/shaders/PointRendererTechnique.js +1 -1
  264. package/views/3d/webgl-engine/shaders/PointRendererTechniqueConfiguration.js +1 -1
  265. package/views/3d/webgl-engine/shaders/RealisticTree.glsl.js +1 -1
  266. package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
  267. package/views/3d/webgl-engine/shaders/RibbonLineTechnique.js +1 -1
  268. package/views/3d/webgl-engine/shaders/RibbonLineTechniqueConfiguration.js +1 -1
  269. package/views/3d/webgl-engine/shaders/ShadedColorMaterial.glsl.js +1 -1
  270. package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechnique.js +1 -1
  271. package/views/3d/webgl-engine/shaders/ShadowCastAccumulateTechnique.js +1 -1
  272. package/views/3d/webgl-engine/shaders/ShadowCastVisualizeTechnique.js +1 -1
  273. package/views/3d/webgl-engine/shaders/ShadowHighlightTechnique.js +1 -1
  274. package/views/3d/webgl-engine/shaders/SlicePlaneMaterialTechnique.js +1 -1
  275. package/views/3d/webgl-engine/shaders/TerrainTechnique.js +1 -1
  276. package/views/3d/webgl-engine/shaders/TerrainTechniqueConfiguration.js +1 -1
  277. package/views/3d/webgl-engine/shaders/WaterSurface.glsl.js +1 -1
  278. package/views/SceneView.js +1 -1
  279. package/views/draw/support/Reshape.js +1 -1
  280. package/views/interactive/GraphicManipulator.js +1 -1
  281. package/views/interactive/SegmentLabels.js +1 -1
  282. package/views/interactive/coordinateHelper.js +1 -1
  283. package/views/interactive/editGeometry/support/editPlaneUtils.js +1 -1
  284. package/views/interactive/snapping/ParallelLineSnapper.js +1 -1
  285. package/views/interactive/snapping/RightAngleTriangleSnapper.js +1 -1
  286. package/views/interactive/snapping/SnappingConstraint.js +1 -1
  287. package/views/interactive/snapping/SnappingManager.js +1 -1
  288. package/views/interactive/snapping/candidates/ParallelLineSnappingCandidate.js +1 -1
  289. package/views/interactive/snapping/candidates/RightAngleTriangleSnappingCandidate.js +1 -1
  290. package/views/interactive/snapping/snappingUtils.js +1 -1
  291. package/views/interactive/support/viewUtils.js +1 -1
  292. package/views/layers/ImageryTileLayerView.js +1 -1
  293. package/views/support/geometry2dUtils.js +1 -1
  294. package/webscene/Slide.js +1 -1
  295. package/widgets/BasemapLayerList.js +1 -1
  296. package/widgets/ElevationProfile/support/geometryUtils.js +1 -1
  297. package/widgets/ElevationProfile.js +1 -1
  298. package/widgets/LayerList/ListItemPanel.js +1 -1
  299. package/widgets/LayerList.js +1 -1
  300. package/widgets/Widget.js +1 -1
  301. package/widgets/Zoom/ZoomConditions3D.js +1 -1
  302. package/widgets/Zoom/ZoomViewModel.js +1 -1
  303. package/widgets/Zoom.js +1 -1
  304. package/widgets/support/widgetUtils.js +1 -1
  305. package/assets/esri/core/workers/chunks/06a7f58260225f52f8e6.js +0 -1
  306. package/assets/esri/core/workers/chunks/0e00741d35cdbf48e72d.js +0 -1
  307. package/assets/esri/core/workers/chunks/1ebb29ceabc81509646c.js +0 -1
  308. package/assets/esri/core/workers/chunks/24f7a3df08c3a2d3795c.js +0 -1
  309. package/assets/esri/core/workers/chunks/39a754713a48d46618bd.js +0 -1
  310. package/assets/esri/core/workers/chunks/462163f31fa134b7b216.js +0 -1
  311. package/assets/esri/core/workers/chunks/4bfcb7350ca492767a45.js +0 -1
  312. package/assets/esri/core/workers/chunks/5470cb0c3f670957c22c.js +0 -1
  313. package/assets/esri/core/workers/chunks/6889d698a2c796ed1ce6.js +0 -1
  314. package/assets/esri/core/workers/chunks/869310ef4c98542bf9df.js +0 -1
  315. package/assets/esri/core/workers/chunks/8ebaad46e2fe8925e3b0.js +0 -1
  316. package/assets/esri/core/workers/chunks/98c519ac806cc55bc19b.js +0 -1
  317. package/assets/esri/core/workers/chunks/9d07969fbea13aa5b03c.js +0 -1
  318. package/assets/esri/core/workers/chunks/9e6ce879ec0da884b9b8.js +0 -1
  319. package/assets/esri/core/workers/chunks/abd1bd74ba571e39ab5a.js +0 -1
  320. package/assets/esri/core/workers/chunks/b26ea76e3f41b45756e0.js +0 -1
  321. package/assets/esri/core/workers/chunks/c2286d97539066c8549a.js +0 -1
  322. package/assets/esri/core/workers/chunks/c495a66978d67c7e17f3.js +0 -1
  323. package/assets/esri/core/workers/chunks/c7fa92daca3f6e91734e.js +0 -987
  324. package/assets/esri/core/workers/chunks/c9e890b4be9d01c13efe.js +0 -1
  325. package/assets/esri/core/workers/chunks/dda5ea7f8d35e257815c.js +0 -1
  326. package/assets/esri/core/workers/chunks/e153e89c8a15c2f036ef.js +0 -1
  327. package/assets/esri/core/workers/chunks/e201ffcca7321771ee20.js +0 -1
  328. package/assets/esri/core/workers/chunks/e5b5b93e707173a4c883.js +0 -1
  329. package/assets/esri/core/workers/chunks/f7d1f75b6aa3ef566d74.js +0 -1
  330. package/assets/esri/core/workers/chunks/fde9e9683335fa6c8236.js +0 -1
  331. package/core/queryUtils.js +0 -5
  332. package/views/3d/layers/graphics/Graphics3DFilterVisibility.js +0 -5
  333. package/views/3d/layers/support/HeatmapFilterVisibility.js +0 -5
  334. package/views/3d/webgl-engine/core/shaderLibrary/ShaderOutputOptions.js +0 -5
  335. package/views/3d/webgl-engine/core/shaderLibrary/util/HeaderComment.glsl.js +0 -10
  336. package/views/3d/webgl-engine/lib/RenderPass.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.25/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../chunks/tslib.es6.js";import t from"../core/Collection.js";import{eventKey as i}from"../core/events.js";import{HandleOwnerMixin as s}from"../core/HandleOwner.js";import has from"../core/has.js";import{watch as n,on as r,initial as a}from"../core/reactiveUtils.js";import{aliasOf as o}from"../core/accessorSupport/decorators/aliasOf.js";import"../core/arrayUtils.js";import{cast as l}from"../core/accessorSupport/decorators/cast.js";import{property as c}from"../core/accessorSupport/decorators/property.js";import{subclass as d}from"../core/accessorSupport/decorators/subclass.js";import m from"./Widget.js";import h from"./BasemapLayerList/BasemapLayerListViewModel.js";import u from"./LayerList/ListItem.js";import{findSelectedItem as g}from"./LayerList/support/layerListUtils.js";import{Heading as p,incrementHeadingLevel as b}from"./support/Heading.js";import{accessibleHandler as _}from"./support/decorators/accessibleHandler.js";import{messageBundle as y}from"./support/decorators/messageBundle.js";import{vmEvent as f}from"./support/decorators/vmEvent.js";import{tsx as I}from"./support/jsxFactory.js";import"./support/widgetUtils.js";import v from"sortablejs";const L=t.ofType(u);function C(e,t,i){e.splice(i,0,e.splice(t,1)[0])}const T=".*\\S+.*",A="esri-basemaplayerlist-new-ui",w="root-layers",S="data-layer-uid",E="layerUid",k={base:"esri-basemap-layer-list esri-widget esri-widget--panel",newUI:"esri-basemap-layer-list--new-ui",titleContainer:"esri-basemap-layer-list__title-container",mainHeading:"esri-basemap-layer-list__main-heading",editingCard:"esri-basemap-layer-list__editing-card",editingInput:"esri-basemap-layer-list__editing-input",editingActions:"esri-basemap-layer-list__editing-actions",editButton:"esri-basemap-layer-list__edit-button",editButtonIcon:"esri-basemap-layer-list__edit-button-icon",submitButton:"esri-basemap-layer-list__submit-button",cancelButton:"esri-basemap-layer-list__cancel-button",noItems:"esri-basemap-layer-list__no-items",horizontalRule:"esri-basemap-layer-list__hr",listHeading:"esri-basemap-layer-list__list-heading",list:"esri-basemap-layer-list__list",listRoot:"esri-basemap-layer-list__list--root",listExclusive:"esri-basemap-layer-list__list--exclusive",listInherited:"esri-basemap-layer-list__list--inherited",listIndependent:"esri-basemap-layer-list__list--independent",item:"esri-basemap-layer-list__item",itemOnlyChild:"esri-basemap-layer-list__item--only-child",itemContent:"esri-basemap-layer-list__item-content",itemMessage:"esri-basemap-layer-list__item--has-message",itemInvisible:"esri-basemap-layer-list__item--invisible",itemInvisibleAtScale:"esri-basemap-layer-list__item--invisible-at-scale",itemUpdating:"esri-basemap-layer-list__item--updating",itemChildren:"esri-basemap-layer-list__item--has-children",itemSelectable:"esri-basemap-layer-list__item--selectable",itemContainer:"esri-basemap-layer-list__item-container",actionsMenu:"esri-basemap-layer-list__item-actions-menu",actionsMenuItem:"esri-basemap-layer-list__item-actions-menu-item",actionsMenuItemActive:"esri-basemap-layer-list__item-actions-menu-item--active",actions:"esri-basemap-layer-list__item-actions",actionsList:"esri-basemap-layer-list__item-actions-list",action:"esri-basemap-layer-list__item-action",actionIcon:"esri-basemap-layer-list__item-action-icon",actionImage:"esri-basemap-layer-list__item-action-image",actionTitle:"esri-basemap-layer-list__item-action-title",actionToggle:"esri-basemap-layer-list__action-toggle",actionToggleOn:"esri-basemap-layer-list__action-toggle--on",label:"esri-basemap-layer-list__item-label",message:"esri-basemap-layer-list__item-message",title:"esri-basemap-layer-list__item-title",connectionStatus:"esri-basemap-layer-list__connection-status",connectionStatusDisconnected:"esri-basemap-layer-list__connection-status--disconnected",connectionStatusConnected:"esri-basemap-layer-list__connection-status--connected",toggleVisible:"esri-basemap-layer-list__item-toggle",toggleVisibleIcon:"esri-basemap-layer-list__item-toggle-icon",toggleIcon:"esri-basemap-layer-list__item-toggle-icon",radioIcon:"esri-basemap-layer-list__item-radio-icon",childToggle:"esri-basemap-layer-list__child-toggle",childToggleOpen:"esri-basemap-layer-list__child-toggle--open",childOpened:"esri-basemap-layer-list__child-toggle-icon--opened",childClosed:"esri-basemap-layer-list__child-toggle-icon--closed",childClosed_RTL:"esri-basemap-layer-list__child-toggle-icon--closed-rtl",sortableChosen:"esri-basemap-layer-list--chosen",button:"esri-button",buttonTertiary:"esri-button--tertiary",input:"esri-input",disabled:"esri-disabled",disabledElement:"esri-disabled-element",hidden:"esri-hidden",rotating:"esri-rotating",heading:"esri-widget__heading",iconEdit:"esri-icon-edit",iconCheckMark:"esri-icon-check-mark",iconClose:"esri-icon-close",iconEllipses:"esri-icon-handle-horizontal",iconVisible:"esri-icon-visible",iconInvisible:"esri-icon-non-visible",iconRadioSelected:"esri-icon-radio-checked",iconRadioUnselected:"esri-icon-radio-unchecked",iconNoticeTriangle:"esri-icon-notice-triangle",iconChildrenOpen:"esri-icon-down-arrow",iconDownArrow:"esri-icon-down-arrow",iconRightArrow:"esri-icon-right-triangle-arrow",iconLeftArrow:"esri-icon-left-triangle-arrow",iconLoading:"esri-icon-loading-indicator",iconDefaultAction:"esri-icon-default-action",widgetIcon:"esri-icon-layers"},R={actions:"actions",actionSection:"action-section",baseItems:"base-items",referenceItems:"reference-items"},M={exclusive:"exclusive",inherited:"inherited",independent:"independent"};function B(e){const{actionsOpen:t,children:i}=e;t&&(e.actionsOpen=!1),i.forEach((e=>B(e)))}const O={baseLayers:!0,referenceLayers:!0,statusIndicators:!0};let x=class extends(s(m)){constructor(e,t){super(e,t),this._tooltipReferenceMap=new Map,this._editingTitle=!1,this._editTitleInput=null,this._editTitleButton=null,this._focusOnElement=null,this._sortableBaseLayers=null,this._sortableReferenceLayers=null,this._sortableBaseLayersNode=null,this._sortableReferenceLayersNode=null,this._focusSortUid=null,this._newUI=has(A),this.visibleItems=null,this.basemapTitle=null,this.baseListItemCreatedFunction=null,this.editingEnabled=!1,this.headingLevel=2,this.iconClass=k.widgetIcon,this.label=void 0,this.messages=null,this.messagesCommon=null,this.multipleSelectionEnabled=!1,this.referenceListItemCreatedFunction=null,this.baseItems=null,this.referenceItems=null,this.selectedItems=new L,this.view=null,this.viewModel=new h,this.visibleElements={...O}}initialize(){const{baseItems:e,referenceItems:t}=this;this._setVisibleItems(),this.addHandles([n((()=>this.errorsVisible),(()=>{this._itemsChanged(e,R.baseItems),this._itemsChanged(t,R.referenceItems)})),r((()=>this.baseItems),"change",(()=>{this._itemsChanged(e,R.baseItems)})),r((()=>this.referenceItems),"change",(()=>this._itemsChanged(t,R.referenceItems))),n((()=>this.editingEnabled),(()=>this._toggleSorting()),a)])}loadDependencies(){return import("@esri/calcite-components/dist/components/calcite-tooltip.js")}destroy(){this._destroyBaseSortable(),this._destroyReferenceSortable(),this._tooltipReferenceMap.clear()}castVisibleElements(e){return{...O,...e}}triggerAction(e,t){this.viewModel.triggerAction(e,t)}render(){const{state:e}=this.viewModel,t={[k.newUI]:this._newUI,[k.hidden]:"loading"===e,[k.disabled]:"disabled"===e},i=this.renderItemTooltips(),s=this.renderReferenceSection(),n=this.renderBaseSection(),r=s&&n?I("hr",{class:k.horizontalRule}):null,a=[this.renderTitleContainer(),s,r,n];return I("div",{class:this.classes(k.base,t)},[i,a])}renderItemTooltip(e){const{_tooltipReferenceMap:t,messages:i}=this;return e?I("calcite-tooltip",{label:i.layerIncompatible,referenceElement:t.get(e.uid)},i.layerIncompatibleTooltip):null}renderItemTooltipNodes(e){const{incompatible:t,children:i}=e;return[t?this.renderItemTooltip(e):null,...t?[]:i?.toArray().map((e=>this.renderItemTooltipNodes(e)))]}renderItemTooltips(){return this.visibleItems.toArray().map((e=>this.renderItemTooltipNodes(e)))}renderEditingInput(){const{messages:e}=this,{basemapTitle:t}=this.viewModel;return I("label",{class:k.editingInput},e.basemapTitle,I("input",{bind:this,class:k.input,title:e.basemapTitle,"aria-label":e.basemapTitle,placeholder:e.basemapTitle,type:"text",role:"textbox",required:!0,pattern:T,value:t,afterCreate:this._storeEditTitleInput,afterUpdate:this._focusEditElement}))}renderCancelButton(){const{messagesCommon:e}=this;return I("button",{title:e.cancel,"aria-label":e.cancel,type:"button",bind:this,class:this.classes(k.button,k.buttonTertiary),onclick:this._toggleEditingTitle},e.cancel)}renderSubmitButton(){const{messagesCommon:e}=this;return I("button",{title:e.form.submit,"aria-label":e.form.submit,type:"submit",bind:this,class:k.button},e.form.ok)}renderEditingForm(){return I("div",{class:k.editingCard},I("form",{bind:this,onsubmit:this._formSubmit},this.renderEditingInput(),I("div",{class:k.editingActions},this.renderCancelButton(),this.renderSubmitButton())))}renderBasemapTitle(){const{basemapTitle:e}=this.viewModel;return I(p,{level:this.headingLevel,class:this.classes(k.heading,k.mainHeading)},e)}renderEditTitleButton(){const{_editingTitle:e,editingEnabled:t,messagesCommon:i}=this;return t&&!e?I("button",{bind:this,class:k.editButton,title:i.edit,"aria-label":i.edit,onclick:this._toggleEditingTitle,afterCreate:this._storeEditTitleButton,afterUpdate:this._focusEditElement,"data-node-ref":"_editButtonNode",type:"button"},I("span",{"aria-hidden":"true",class:this.classes(k.iconEdit,k.editButtonIcon)})):null}renderTitleContainer(){return I("div",{class:k.titleContainer},this._editingTitle?this.renderEditingForm():this.renderBasemapTitle(),this.renderEditTitleButton())}renderNoLayersInfo(e,t){return I("div",{key:t,class:k.noItems},e)}renderList(e,t){const{messages:i}=this,s="reference"===t?this._destroyReferenceSortable:this._destroyBaseSortable;return I("ul",{key:t,"aria-label":i.widgetLabel,role:this.editingEnabled&&e.length?"listbox":void 0,afterCreate:this._sortNodeCreated,afterRemoved:s,"data-node-ref":t,bind:this,class:this.classes(k.list,k.listRoot,k.listIndependent)},e.map((i=>this.renderItem({item:i,parent:null,itemType:t,isOnlyChild:1===e.length}))))}renderBaseHeader(){return I(p,{key:"base-heading",level:b(this.headingLevel),class:this.classes(k.heading,k.listHeading)},this.messages.baseHeading)}renderBaseSection(){const{baseItems:e,messages:t,visibleElements:i}=this;if(!i.baseLayers)return null;const s=this._getItems(e),n="base";return[this.renderBaseHeader(),[0===s.length?this.renderNoLayersInfo(t.noBaseLayers,n):null,this.renderList(s,n)]]}renderReferenceHeader(){return I(p,{key:"reference-heading",level:b(this.headingLevel),class:this.classes(k.heading,k.listHeading)},this.messages.referenceHeading)}renderReferenceSection(){const{referenceItems:e,messages:t,visibleElements:i}=this;if(!i.referenceLayers)return null;const s=this._getItems(e),n="reference";return[this.renderReferenceHeader(),[0===s.length?this.renderNoLayersInfo(t.noReferenceLayers,n):null,this.renderList(s,n)]]}renderChildrenToggle(e,t){const{messagesCommon:i}=this,{children:s}=e,n=!!e.error,r=!!s.length&&!n,a={[k.childToggleOpen]:e.open},o=e.open?i.collapse:i.expand;return r?I("span",{onclick:this._toggleChildrenClick,onkeydown:this._toggleChildrenClick,"data-item":e,key:"toggle-children",class:this.classes(k.childToggle,a),tabindex:"0",role:"button","aria-controls":t,"aria-label":o,title:o},I("span",{"aria-hidden":"true",class:this.classes(k.childClosed,k.iconRightArrow)}),I("span",{"aria-hidden":"true",class:this.classes(k.childOpened,k.iconDownArrow)}),I("span",{"aria-hidden":"true",class:this.classes(k.childClosed_RTL,k.iconLeftArrow)})):null}renderItemMessage(e){return e.error?I("div",{key:"esri-basemap-layer-list__error",class:k.message,role:"alert"},I("span",{"aria-hidden":"true",class:k.iconNoticeTriangle}),this.messages.layerError):e.incompatible?I("div",{key:"esri-basemap-layer-list__incompatible",class:k.message,role:"alert"},I("span",{bind:this,tabIndex:0,"aria-hidden":"true",class:k.iconNoticeTriangle,afterCreate:t=>this._setTooltipReference(t,e)}),this.messages.layerIncompatible):null}renderActionsMenuIcon(e,t){const{messagesCommon:i}=this,s={[k.actionsMenuItemActive]:e.actionsOpen};return I("div",{key:"actions-menu-toggle","data-item":e,bind:this,onclick:this._toggleActionsOpen,onkeydown:this._toggleActionsOpen,class:this.classes(k.actionsMenuItem,s),tabindex:"0",role:"button","aria-controls":t,"aria-label":i.options,title:i.options},I("span",{"aria-hidden":"true",class:k.iconEllipses}))}renderActionsMenu(e,t,i,s){const{panel:n}=e,r=n&&n.visible?this.renderPanelButton(n):null,a=1===i&&this._getSingleActionButton(t),o=a?this.renderAction({item:e,action:a,singleAction:!0}):null,l=!a&&i?this.renderActionsMenuIcon(e,s):null;return l||r||a?I("div",{key:"actions-menu",class:k.actionsMenu},r,o,l):null}renderChildList(e,t){const{editingEnabled:i}=this,{visibilityMode:s,children:n}=e,r=this._hasChildren(e),a=!r&&i&&"group"===e.layer?.type,{exclusive:o,inherited:l}=M,c={[k.listExclusive]:s===o,[k.listInherited]:s===l,[k.listIndependent]:s!==l&&s!==o};return r||a?I("ul",{bind:this,key:"list-items",id:t,"data-group":e.uid,"data-item":e,afterCreate:this._sortNodeCreated,afterUpdate:this._sortNodeCreated,class:this.classes(k.list,c),"aria-expanded":e.open?"true":"false",role:i?"listbox":s===o?"radiogroup":"group",hidden:!e.open||null},n?.map((t=>this.renderItem({item:t,parent:e}))).toArray()):null}renderItemContent(e,t,i){const{id:s}=this,n=`${s}_${e.uid}`,r=`${n}_actions`,a=`${n}__list`,{panel:o}=e,l=this._filterActions(e.actionsSections),c=this._countActions(l);return[I("div",{key:"list-item-container",class:k.itemContainer},this.renderChildrenToggle(e,a),this.renderLabel(e,t,i),this.renderActionsMenu(e,l,c,r)),this.renderItemMessage(e),c?this.renderActionsSections(e,l,r):null,o&&o.open?o.render():null,this.renderChildList(e,a)]}renderItem({item:e,parent:t,itemType:i,isOnlyChild:s}){const{_newUI:n,id:r,editingEnabled:a,selectedItems:o,visibleElements:l}=this,c=`${`${r}_${e.uid}`}__title`,d=this._hasMessage(e),m=this._hasChildren(e),h={[k.itemChildren]:m,[k.itemMessage]:!!d,[k.itemUpdating]:e.updating&&!t&&l.statusIndicators,[k.itemInvisible]:n&&!e.visible,[k.itemInvisibleAtScale]:!e.visibleAtCurrentScale,[k.itemSelectable]:a};if(a){const n={[S]:e.layer?.uid};return I("li",{key:`item-with-selection-${e.uid}`,bind:this,afterCreate:this._focusListItem,afterUpdate:this._focusListItem,class:this.classes(k.item,h,{[k.itemOnlyChild]:s}),"aria-labelledby":c,onclick:this._toggleSelection,onkeydown:this._selectionKeydown,"data-item-type":i,"data-item":e,tabIndex:0,"aria-selected":g(e,o)?"true":"false",role:"option",...n},this.renderItemContent(e,t,c))}return I("li",{key:`item-no-selection-${e.uid}`,bind:this,afterCreate:this._focusListItem,afterUpdate:this._focusListItem,class:this.classes(k.item,h),"aria-labelledby":c},this.renderItemContent(e,t,c))}renderItemConnectionStatus(e){const{connectionStatus:t}=e;return t?I("span",{class:this.classes({[k.connectionStatus]:!0,[k.connectionStatusDisconnected]:"disconnected"===t,[k.connectionStatusConnected]:"connected"===t}),key:"layer-connection-status"}):null}renderItemTitle(e,t){const{messages:i}=this,s=e.title||i.untitledLayer,n=e.visibleAtCurrentScale?s:`${s} (${i.layerInvisibleAtScale})`;return I("span",{key:"layer-title-container",id:t,title:n,"aria-label":n,class:k.title},s)}renderItemToggleIcon(e,t){const{_newUI:i}=this,{exclusive:s}=M,n=t&&t.visibilityMode,r={[k.toggleVisibleIcon]:i,[k.toggleIcon]:i&&n!==s,[k.radioIcon]:i&&n===s,[k.iconRadioSelected]:n===s&&e.visible,[k.iconRadioUnselected]:n===s&&!e.visible,[k.iconVisible]:n!==s&&e.visible,[k.iconInvisible]:n!==s&&!e.visible};return I("span",{key:"item-toggle-icon",class:this.classes(r),"aria-hidden":"true"})}renderItemToggle(e,t,i){const{editingEnabled:s,messages:n}=this,{exclusive:r}=M,a=t&&t.visibilityMode,o=a===r?"radio":"switch";return I("span",s?{key:"item-toggle-selection-enabled",class:k.toggleVisible,bind:this,onclick:this._toggleVisibility,onkeydown:this._toggleVisibility,"data-item":e,"data-parent-visibility":a,tabIndex:0,"aria-checked":e.visible?"true":"false",title:e.visible?n.hideLayer:n.showLayer,role:o,"aria-labelledby":i}:{key:"item-toggle",class:k.toggleVisible},this.renderItemToggleIcon(e,t))}renderLabel(e,t,i){const{editingEnabled:s,_newUI:n,messages:r}=this,{inherited:a,exclusive:o}=M,l=t?.visibilityMode,c=l===o?"radio":"switch",d=[this.renderItemToggle(e,t,i),this.renderItemConnectionStatus(e),this.renderItemTitle(e,i)];n&&d.reverse();const m=I("div",s?{key:`item-label-no-selection-${e.uid}`,class:k.label}:{key:`item-label-with-selection-${e.uid}`,class:k.label,bind:this,onclick:this._toggleVisibility,onkeydown:this._toggleVisibility,"data-item":e,"data-parent-visibility":l,tabIndex:0,title:e.visible?r.hideLayer:r.showLayer,"aria-checked":e.visible?"true":"false",role:c,"aria-labelledby":i},d);return l===a||e.error?I("div",{key:`item-label-container-${e.uid}`,class:k.label},this.renderItemTitle(e,i)):m}renderPanelButton(e){const{className:t,open:i,title:s,image:n}=e,r=n||t?t:k.iconDefaultAction,a=this._getIconImageStyles(e),o={[k.actionsMenuItemActive]:i},l={[k.actionImage]:!!a["background-image"]};return r&&(l[r]=!!r),I("div",{key:`panel-${e.uid}`,bind:this,"data-panel":e,onclick:this._triggerPanel,onkeydown:this._triggerPanel,class:this.classes(k.actionsMenuItem,o),role:"button",tabindex:"0",title:s,"aria-label":s},I("span",{class:this.classes(l),styles:a}))}renderActionsSections(e,t,i){const s=t.toArray().map(((t,i)=>I("ul",{key:`${e}-action-section-${i}`,class:k.actionsList},this.renderActionSection(e,t))));return I("div",{role:"group","aria-expanded":e.actionsOpen?"true":"false",key:"actions-section",id:i,class:k.actions,hidden:!e.actionsOpen||null},s)}renderActionSection(e,t){return(t&&t.toArray()).map((t=>this.renderAction({item:e,action:t})))}renderActionIcon(e){const{active:t,className:i}=e,s=this._getIconImageStyles(e),n="button"!==e.type||e.image||i?i:k.iconDefaultAction,r={[k.actionImage]:!t&&!!s["background-image"],[k.iconLoading]:t,[k.rotating]:t};return n&&!t&&(r[n]=!0),I("span",{key:"action-icon","aria-hidden":"true",class:this.classes(k.actionIcon,r),styles:s})}renderActionTitle(e,t){return t?null:I("span",{key:"action-title",class:k.actionTitle},e)}renderAction(e){const{item:t,action:i,singleAction:s}=e,{active:n,disabled:r,title:a}=i,o={[k.actionsMenuItem]:s&&"button"===i.type,[k.action]:n||!s&&"toggle"!==i.type,[k.actionToggle]:!n&&"toggle"===i.type,[k.actionToggleOn]:!n&&"toggle"===i.type&&i.value,[k.disabledElement]:r},l=[this.renderActionIcon(i),this.renderActionTitle(a,s)];return s?I("div",{bind:this,"data-item":t,"data-action":i,role:"button",key:`single-action-${i.uid}`,onclick:this._triggerAction,onkeydown:this._triggerAction,classes:o,tabindex:"0",title:a,"aria-label":a},l):I("li",{bind:this,"data-item":t,"data-action":i,key:`action-${i.uid}`,onclick:this._triggerAction,onkeydown:this._triggerAction,classes:o,tabindex:"0",role:"button",title:a,"aria-label":a},l)}_setVisibleItems(){const{referenceItems:e,baseItems:t}=this,i=e.concat(t);this.visibleItems=i?.filter((e=>!e.hidden&&(this.errorsVisible||!e.error)))}_setTooltipReference(e,t){this._tooltipReferenceMap.set(t.uid,e),this.scheduleRender()}_hasMessage(e){return!!e.error||e.incompatible}_hasChildren(e){return!!e.children.length&&!this._hasMessage(e)}_filterActions(e){return e.map((e=>e.filter((e=>e.visible))))}_destroyReferenceSortable(){const{_sortableReferenceLayers:e}=this;e?.el&&e.destroy(),this._sortableReferenceLayersNode=null}_destroyBaseSortable(){const{_sortableBaseLayers:e}=this;e?.el&&e.destroy(),this._sortableBaseLayersNode=null}_toggleEditingTitle(){const{_editingTitle:e}=this,t=!e;this._editingTitle=t,this._focusOnElement=t?"edit-input":"edit-button",this.scheduleRender()}_storeEditTitleInput(e){this._editTitleInput=e,this._focusEditElement()}_focusEditElement(){this._editTitleInput&&"edit-input"===this._focusOnElement&&(this._focusOnElement=null,this._editTitleInput.focus()),this._editTitleButton&&"edit-button"===this._focusOnElement&&(this._focusOnElement=null,this._editTitleButton.focus())}_storeEditTitleButton(e){this._editTitleButton=e,this._focusEditElement()}_formSubmit(e){e.preventDefault();const t=this._editTitleInput?.value;t?.trim()&&(this.basemapTitle=t),this._toggleEditingTitle()}_itemMovedList(e){const t=e.item["data-item"],i=e.to.dataset.nodeRef,s=e.from.dataset.nodeRef,{newIndex:n}=e;this.viewModel.transferListItem({listItem:t,from:s,to:i,newIndex:n})}_toggleSortingBaseLayers(){const{_sortableBaseLayers:e,_sortableBaseLayersNode:t,editingEnabled:i}=this;if(!t)return;const s=!i;if(e)e.option("disabled",s);else{const e=v.create(t,{dataIdAttr:S,group:w,filter:`.${k.itemOnlyChild}`,fallbackTolerance:4,disabled:s,onSort:()=>this._sortLayersToItems({type:"base",itemIds:e.toArray()}),onAdd:e=>this._itemMovedList(e),chosenClass:k.sortableChosen});this._sortableBaseLayers=e}}_toggleSortingReferenceLayers(){const{_sortableReferenceLayers:e,_sortableReferenceLayersNode:t,editingEnabled:i}=this;if(!t)return;const s=!i;if(e)e.option("disabled",s);else{const e=v.create(t,{dataIdAttr:S,group:w,disabled:s,fallbackTolerance:4,onSort:()=>this._sortLayersToItems({type:"reference",itemIds:e.toArray()}),onAdd:e=>this._itemMovedList(e),chosenClass:k.sortableChosen});this._sortableReferenceLayers=e}}_toggleSorting(){this._toggleSortingBaseLayers(),this._toggleSortingReferenceLayers()}_sortNodeCreated(e){const t=e.getAttribute("data-node-ref");"base"===t&&(this._sortableBaseLayersNode=e),"reference"===t&&(this._sortableReferenceLayersNode=e),this._toggleSorting()}_getItems(e){return e.toArray().filter((e=>!e.hidden&&(this.errorsVisible||!e.error)))}_getSingleActionButton(e){return e.reduce((e=>e)).filter((e=>e&&"button"===e.type)).getItemAt(0)}_sortLayersToItems({type:e,itemIds:t}){const i="base"===e?this.get("view.map.basemap.baseLayers"):"reference"===e?this.get("view.map.basemap.referenceLayers"):null;i&&i.sort(((e,i)=>{const s=t.indexOf(e.uid),n=t.indexOf(i.uid);return s>n?-1:s<n?1:0}))}_focusListItem(e){const{_focusSortUid:t}=this;if(!e||!t)return;e["data-item"].layer?.uid===t&&(e.focus(),this._focusSortUid=null)}_selectionKeydown(e){const t=["ArrowDown","ArrowUp"],s=i(e);if(!t.includes(s))return void this._toggleSelection(e);e.stopPropagation();const n=e.currentTarget,r=n["data-item"],a=n.dataset.itemType,{_sortableBaseLayers:o,_sortableReferenceLayers:l,selectedItems:c}=this,d="base"===a?o:"reference"===a?l:null;if(!d)return;const m=g(r,c),h=d.toArray(),u=e.target,p=h.indexOf(u.dataset[E]),{baseItems:b,referenceItems:_}=this.viewModel;if(-1!==p){if("ArrowDown"===s){const e=p+1,t=e>=h.length;if(t&&"reference"===a&&m){const e=b.length;return this.viewModel.transferListItem({listItem:r,from:"reference",to:"base",newIndex:e}),this._focusSortUid=r.layer?.uid,void this.scheduleRender()}if(t&&"reference"===a){const e=b.getItemAt(0);return this._focusSortUid=e?.layer?.uid,void this.scheduleRender()}if(t)return;return m&&(C(h,p,e),d.sort(h),this._sortLayersToItems({type:a,itemIds:d.toArray()})),this._focusSortUid=r.layer?.uid,void this.scheduleRender()}if("ArrowUp"===s){const e=p-1,t=e<0;if(t&&"base"===a&&m){if(1===b.length)return;const e=0;return this.viewModel.transferListItem({listItem:r,from:"base",to:"reference",newIndex:e}),this._focusSortUid=r.layer?.uid,void this.scheduleRender()}if(t&&"base"===a){const e=_.getItemAt(_.length-1);return this._focusSortUid=e?.layer?.uid,void this.scheduleRender()}if(t)return;m&&(C(h,p,e),d.sort(h),this._sortLayersToItems({type:a,itemIds:d.toArray()})),this._focusSortUid=r.layer?.uid,this.scheduleRender()}}}_watchActionSectionChanges(e,t){this.handles.add(e.on("change",(()=>this.scheduleRender())),t),e.forEach((e=>this._renderOnActionChanges(e,t)))}_renderOnActionChanges(e,t){"toggle"!==e.type?"slider"!==e.type?this.handles.add([n((()=>[e.className,e.image,e.id,e.title,e.visible]),(()=>this.scheduleRender()),a)],t):this.handles.add([n((()=>[e.className,e.id,e.title,e.visible,e.value,e.displayValueEnabled,e.max,e.min,e.step]),(()=>this.scheduleRender()),a)],t):this.handles.add([n((()=>[e.className,e.image,e.id,e.title,e.visible,e.value]),(()=>this.scheduleRender()),a)],t)}_renderOnItemChanges(e,t){this.handles.add([n((()=>[e.actionsOpen,e.visible,e.open,e.updating,e.title,e.visibleAtCurrentScale,e.error,e.visibilityMode,e.panel,e.panel?.title,e.panel?.content,e.panel?.className]),(()=>this.scheduleRender()),a),n((()=>[e.hidden,e.error]),(()=>this._setVisibleItems())),e.actionsSections.on("change",(()=>this.scheduleRender())),e.children.on("change",(()=>this.scheduleRender()))],t),e.children.forEach((e=>this._renderOnItemChanges(e,t))),e.actionsSections.forEach((e=>this._watchActionSectionChanges(e,t)))}_itemsChanged(e,t){this.handles.remove(t),this._tooltipReferenceMap.clear(),this._setVisibleItems(),e.forEach((e=>this._renderOnItemChanges(e,t))),this.scheduleRender()}_countActions(e){return e.reduce(((e,t)=>e+t.length),0)}_getIconImageStyles(e){const t="esri.widgets.LayerList.ListItemPanel"===e.declaredClass||"esri.support.Action.ActionButton"===e.declaredClass||"esri.support.Action.ActionToggle"===e.declaredClass?e.image:null;return{"background-image":t?`url("${t}")`:null}}_toggleActionsOpen(e){e.stopPropagation();const t=e.currentTarget["data-item"],{actionsOpen:i}=t,s=!i,{baseItems:n,referenceItems:r}=this;s&&(n.forEach((e=>B(e))),r.forEach((e=>B(e)))),t.actionsOpen=s}_triggerPanel(e){e.stopPropagation();const t=e.currentTarget["data-panel"];t&&(t.open=!t.open)}_triggerAction(e){e.stopPropagation();const t=e.currentTarget,i=t["data-action"],s=t["data-item"];"toggle"===i.type&&(i.value=!i.value),this.triggerAction(i,s)}_toggleVisibility(e){e.stopPropagation();const t=e.currentTarget,i=t.getAttribute("data-parent-visibility"),s=t["data-item"];i===M.exclusive&&s.visible||(s.visible=!s.visible)}_toggleChildrenClick(e){e.stopPropagation();const t=e.currentTarget["data-item"];t.open=!t.open}_toggleSelection(e){e.stopPropagation();const{multipleSelectionEnabled:t,selectedItems:i}=this,s=t&&(e.metaKey||e.ctrlKey),n=e.currentTarget["data-item"],r=g(n,i),{length:a}=i;if(!s)return a&&!(r&&1===a)?(i.removeAll(),void i.add(n)):void(r?i.remove(r):i.add(n));r?i.remove(r):i.add(n)}};e([c()],x.prototype,"visibleItems",void 0),e([o("viewModel.basemapTitle")],x.prototype,"basemapTitle",void 0),e([o("viewModel.baseListItemCreatedFunction")],x.prototype,"baseListItemCreatedFunction",void 0),e([c()],x.prototype,"editingEnabled",void 0),e([c()],x.prototype,"errorsVisible",void 0),e([c()],x.prototype,"headingLevel",void 0),e([c()],x.prototype,"iconClass",void 0),e([c({aliasOf:{source:"messages.widgetLabel",overridable:!0}})],x.prototype,"label",void 0),e([c(),y("esri/widgets/BasemapLayerList/t9n/BasemapLayerList")],x.prototype,"messages",void 0),e([c(),y("esri/t9n/common")],x.prototype,"messagesCommon",void 0),e([c()],x.prototype,"multipleSelectionEnabled",void 0),e([o("viewModel.referenceListItemCreatedFunction")],x.prototype,"referenceListItemCreatedFunction",void 0),e([o("viewModel.baseItems")],x.prototype,"baseItems",void 0),e([o("viewModel.referenceItems")],x.prototype,"referenceItems",void 0),e([c()],x.prototype,"selectedItems",void 0),e([o("viewModel.view")],x.prototype,"view",void 0),e([f("trigger-action"),c({type:h})],x.prototype,"viewModel",void 0),e([c()],x.prototype,"visibleElements",void 0),e([l("visibleElements")],x.prototype,"castVisibleElements",null),e([_()],x.prototype,"_toggleActionsOpen",null),e([_()],x.prototype,"_triggerPanel",null),e([_()],x.prototype,"_triggerAction",null),e([_()],x.prototype,"_toggleVisibility",null),e([_()],x.prototype,"_toggleChildrenClick",null),e([_()],x.prototype,"_toggleSelection",null),x=e([d("esri.widgets.BasemapLayerList")],x);const U=x;export{U as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import t from"../core/Collection.js";import{eventKey as i}from"../core/events.js";import{HandleOwnerMixin as s}from"../core/HandleOwner.js";import has from"../core/has.js";import{watch as n,on as r,initial as a}from"../core/reactiveUtils.js";import{aliasOf as o}from"../core/accessorSupport/decorators/aliasOf.js";import"../core/arrayUtils.js";import{cast as l}from"../core/accessorSupport/decorators/cast.js";import{property as d}from"../core/accessorSupport/decorators/property.js";import{subclass as c}from"../core/accessorSupport/decorators/subclass.js";import m from"./Widget.js";import h from"./BasemapLayerList/BasemapLayerListViewModel.js";import u from"./LayerList/ListItem.js";import{findSelectedItem as g}from"./LayerList/support/layerListUtils.js";import{Heading as p,incrementHeadingLevel as b}from"./support/Heading.js";import{accessibleHandler as _}from"./support/decorators/accessibleHandler.js";import{messageBundle as y}from"./support/decorators/messageBundle.js";import{vmEvent as f}from"./support/decorators/vmEvent.js";import{tsx as I}from"./support/jsxFactory.js";import"./support/widgetUtils.js";import v from"sortablejs";const L=t.ofType(u);function C(e,t,i){e.splice(i,0,e.splice(t,1)[0])}const T=".*\\S+.*",A="esri-basemaplayerlist-new-ui",w="root-layers",S="data-layer-uid",E="layerUid",k={base:"esri-basemap-layer-list esri-widget esri-widget--panel",newUI:"esri-basemap-layer-list--new-ui",titleContainer:"esri-basemap-layer-list__title-container",mainHeading:"esri-basemap-layer-list__main-heading",editingCard:"esri-basemap-layer-list__editing-card",editingInput:"esri-basemap-layer-list__editing-input",editingActions:"esri-basemap-layer-list__editing-actions",editButton:"esri-basemap-layer-list__edit-button",editButtonIcon:"esri-basemap-layer-list__edit-button-icon",submitButton:"esri-basemap-layer-list__submit-button",cancelButton:"esri-basemap-layer-list__cancel-button",noItems:"esri-basemap-layer-list__no-items",horizontalRule:"esri-basemap-layer-list__hr",listHeading:"esri-basemap-layer-list__list-heading",list:"esri-basemap-layer-list__list",listRoot:"esri-basemap-layer-list__list--root",listExclusive:"esri-basemap-layer-list__list--exclusive",listInherited:"esri-basemap-layer-list__list--inherited",listIndependent:"esri-basemap-layer-list__list--independent",item:"esri-basemap-layer-list__item",itemOnlyChild:"esri-basemap-layer-list__item--only-child",itemContent:"esri-basemap-layer-list__item-content",itemMessage:"esri-basemap-layer-list__item--has-message",itemInvisible:"esri-basemap-layer-list__item--invisible",itemInvisibleAtScale:"esri-basemap-layer-list__item--invisible-at-scale",itemUpdating:"esri-basemap-layer-list__item--updating",itemChildren:"esri-basemap-layer-list__item--has-children",itemSelectable:"esri-basemap-layer-list__item--selectable",itemContainer:"esri-basemap-layer-list__item-container",actionsMenu:"esri-basemap-layer-list__item-actions-menu",actionsMenuItem:"esri-basemap-layer-list__item-actions-menu-item",actionsMenuItemActive:"esri-basemap-layer-list__item-actions-menu-item--active",actions:"esri-basemap-layer-list__item-actions",actionsList:"esri-basemap-layer-list__item-actions-list",action:"esri-basemap-layer-list__item-action",actionIcon:"esri-basemap-layer-list__item-action-icon",actionImage:"esri-basemap-layer-list__item-action-image",actionTitle:"esri-basemap-layer-list__item-action-title",actionToggle:"esri-basemap-layer-list__action-toggle",actionToggleOn:"esri-basemap-layer-list__action-toggle--on",label:"esri-basemap-layer-list__item-label",message:"esri-basemap-layer-list__item-message",title:"esri-basemap-layer-list__item-title",connectionStatus:"esri-basemap-layer-list__connection-status",connectionStatusDisconnected:"esri-basemap-layer-list__connection-status--disconnected",connectionStatusConnected:"esri-basemap-layer-list__connection-status--connected",toggleVisible:"esri-basemap-layer-list__item-toggle",toggleVisibleIcon:"esri-basemap-layer-list__item-toggle-icon",toggleIcon:"esri-basemap-layer-list__item-toggle-icon",radioIcon:"esri-basemap-layer-list__item-radio-icon",childToggle:"esri-basemap-layer-list__child-toggle",childToggleOpen:"esri-basemap-layer-list__child-toggle--open",childOpened:"esri-basemap-layer-list__child-toggle-icon--opened",childClosed:"esri-basemap-layer-list__child-toggle-icon--closed",childClosed_RTL:"esri-basemap-layer-list__child-toggle-icon--closed-rtl",sortableChosen:"esri-basemap-layer-list--chosen",button:"esri-button",buttonTertiary:"esri-button--tertiary",input:"esri-input",disabled:"esri-disabled",disabledElement:"esri-disabled-element",hidden:"esri-hidden",rotating:"esri-rotating",heading:"esri-widget__heading",iconEdit:"esri-icon-edit",iconCheckMark:"esri-icon-check-mark",iconClose:"esri-icon-close",iconEllipses:"esri-icon-handle-horizontal",iconVisible:"esri-icon-visible",iconInvisible:"esri-icon-non-visible",iconRadioSelected:"esri-icon-radio-checked",iconRadioUnselected:"esri-icon-radio-unchecked",iconNoticeTriangle:"esri-icon-notice-triangle",iconChildrenOpen:"esri-icon-down-arrow",iconDownArrow:"esri-icon-down-arrow",iconRightArrow:"esri-icon-right-triangle-arrow",iconLeftArrow:"esri-icon-left-triangle-arrow",iconLoading:"esri-icon-loading-indicator",iconDefaultAction:"esri-icon-default-action",widgetIcon:"esri-icon-layers"},R={actions:"actions",actionSection:"action-section",baseItems:"base-items",referenceItems:"reference-items"},M={exclusive:"exclusive",inherited:"inherited",independent:"independent"};function B(e){const{actionsOpen:t,children:i}=e;t&&(e.actionsOpen=!1),i.forEach((e=>B(e)))}const O={baseLayers:!0,referenceLayers:!0,statusIndicators:!0};let x=class extends(s(m)){constructor(e,t){super(e,t),this._tooltipReferenceMap=new Map,this._editingTitle=!1,this._editTitleInput=null,this._editTitleButton=null,this._focusOnElement=null,this._sortableBaseLayers=null,this._sortableReferenceLayers=null,this._sortableBaseLayersNode=null,this._sortableReferenceLayersNode=null,this._focusSortUid=null,this._newUI=has(A),this.visibleItems=null,this.basemapTitle=null,this.baseListItemCreatedFunction=null,this.editingEnabled=!1,this.headingLevel=2,this.iconClass=k.widgetIcon,this.label=void 0,this.messages=null,this.messagesCommon=null,this.multipleSelectionEnabled=!1,this.referenceListItemCreatedFunction=null,this.baseItems=null,this.referenceItems=null,this.selectedItems=new L,this.view=null,this.viewModel=new h,this.visibleElements={...O}}initialize(){const{baseItems:e,referenceItems:t}=this;this._setVisibleItems(),this.addHandles([n((()=>this.errorsVisible),(()=>{this._itemsChanged(e,R.baseItems),this._itemsChanged(t,R.referenceItems)})),r((()=>this.baseItems),"change",(()=>{this._itemsChanged(e,R.baseItems)})),r((()=>this.referenceItems),"change",(()=>this._itemsChanged(t,R.referenceItems))),n((()=>this.editingEnabled),(()=>this._toggleSorting()),a)])}loadDependencies(){return import("@esri/calcite-components/dist/components/calcite-tooltip.js")}destroy(){this._destroyBaseSortable(),this._destroyReferenceSortable(),this._tooltipReferenceMap.clear()}castVisibleElements(e){return{...O,...e}}triggerAction(e,t){this.viewModel.triggerAction(e,t)}render(){const{state:e}=this.viewModel,t={[k.newUI]:this._newUI,[k.hidden]:"loading"===e,[k.disabled]:"disabled"===e},i=this.renderItemTooltips(),s=this.renderReferenceSection(),n=this.renderBaseSection(),r=s&&n?I("hr",{class:k.horizontalRule}):null,a=[this.renderTitleContainer(),s,r,n];return I("div",{class:this.classes(k.base,t)},[i,a])}renderItemTooltip(e){const{_tooltipReferenceMap:t,messages:i}=this;return e?I("calcite-tooltip",{label:i.layerIncompatible,referenceElement:t.get(e.uid)},i.layerIncompatibleTooltip):null}renderItemTooltipNodes(e){const{incompatible:t,children:i}=e;return[t?this.renderItemTooltip(e):null,...t?[]:i?.toArray().map((e=>this.renderItemTooltipNodes(e)))]}renderItemTooltips(){return this.visibleItems.toArray().map((e=>this.renderItemTooltipNodes(e)))}renderEditingInput(){const{messages:e}=this,{basemapTitle:t}=this.viewModel;return I("label",{class:k.editingInput},e.basemapTitle,I("input",{bind:this,class:k.input,title:e.basemapTitle,"aria-label":e.basemapTitle,placeholder:e.basemapTitle,type:"text",role:"textbox",required:!0,pattern:T,value:t,afterCreate:this._storeEditTitleInput,afterUpdate:this._focusEditElement}))}renderCancelButton(){const{messagesCommon:e}=this;return I("button",{title:e.cancel,"aria-label":e.cancel,type:"button",bind:this,class:this.classes(k.button,k.buttonTertiary),onclick:this._toggleEditingTitle},e.cancel)}renderSubmitButton(){const{messagesCommon:e}=this;return I("button",{title:e.form.submit,"aria-label":e.form.submit,type:"submit",bind:this,class:k.button},e.form.ok)}renderEditingForm(){return I("div",{class:k.editingCard},I("form",{bind:this,onsubmit:this._formSubmit},this.renderEditingInput(),I("div",{class:k.editingActions},this.renderCancelButton(),this.renderSubmitButton())))}renderBasemapTitle(){const{basemapTitle:e}=this.viewModel;return I(p,{level:this.headingLevel,class:this.classes(k.heading,k.mainHeading)},e)}renderEditTitleButton(){const{_editingTitle:e,editingEnabled:t,messagesCommon:i}=this;return t&&!e?I("button",{bind:this,class:k.editButton,title:i.edit,"aria-label":i.edit,onclick:this._toggleEditingTitle,afterCreate:this._storeEditTitleButton,afterUpdate:this._focusEditElement,"data-node-ref":"_editButtonNode",type:"button"},I("span",{"aria-hidden":"true",class:this.classes(k.iconEdit,k.editButtonIcon)})):null}renderTitleContainer(){return I("div",{class:k.titleContainer},this._editingTitle?this.renderEditingForm():this.renderBasemapTitle(),this.renderEditTitleButton())}renderNoLayersInfo(e,t){return I("div",{key:t,class:k.noItems},e)}renderList(e,t){const{messages:i}=this,s="reference"===t?this._destroyReferenceSortable:this._destroyBaseSortable;return I("ul",{key:t,"aria-label":i.widgetLabel,role:this.editingEnabled&&e.length?"listbox":void 0,afterCreate:this._sortNodeCreated,afterRemoved:s,"data-node-ref":t,bind:this,class:this.classes(k.list,k.listRoot,k.listIndependent)},e.map((i=>this.renderItem({item:i,parent:null,itemType:t,isOnlyChild:1===e.length}))))}renderBaseHeader(){return I(p,{key:"base-heading",level:b(this.headingLevel),class:this.classes(k.heading,k.listHeading)},this.messages.baseHeading)}renderBaseSection(){const{baseItems:e,messages:t,visibleElements:i}=this;if(!i.baseLayers)return null;const s=this._getItems(e),n="base";return[this.renderBaseHeader(),[0===s.length?this.renderNoLayersInfo(t.noBaseLayers,n):null,this.renderList(s,n)]]}renderReferenceHeader(){return I(p,{key:"reference-heading",level:b(this.headingLevel),class:this.classes(k.heading,k.listHeading)},this.messages.referenceHeading)}renderReferenceSection(){const{referenceItems:e,messages:t,visibleElements:i}=this;if(!i.referenceLayers)return null;const s=this._getItems(e),n="reference";return[this.renderReferenceHeader(),[0===s.length?this.renderNoLayersInfo(t.noReferenceLayers,n):null,this.renderList(s,n)]]}renderChildrenToggle(e,t){const{messagesCommon:i}=this,{children:s}=e,n=!!e.error,r=!!s.length&&!n,a={[k.childToggleOpen]:e.open},o=e.open?i.collapse:i.expand;return r?I("span",{onclick:this._toggleChildrenClick,onkeydown:this._toggleChildrenClick,"data-item":e,key:"toggle-children",class:this.classes(k.childToggle,a),tabindex:"0",role:"button","aria-controls":t,"aria-label":o,title:o},I("span",{"aria-hidden":"true",class:this.classes(k.childClosed,k.iconRightArrow)}),I("span",{"aria-hidden":"true",class:this.classes(k.childOpened,k.iconDownArrow)}),I("span",{"aria-hidden":"true",class:this.classes(k.childClosed_RTL,k.iconLeftArrow)})):null}renderItemMessage(e){return e.error?I("div",{key:"esri-basemap-layer-list__error",class:k.message,role:"alert"},I("span",{"aria-hidden":"true",class:k.iconNoticeTriangle}),this.messages.layerError):e.incompatible?I("div",{key:"esri-basemap-layer-list__incompatible",class:k.message,role:"alert"},I("span",{bind:this,tabIndex:0,"aria-hidden":"true",class:k.iconNoticeTriangle,afterCreate:t=>this._setTooltipReference(t,e)}),this.messages.layerIncompatible):null}renderActionsMenuIcon(e,t){const{messagesCommon:i}=this,s={[k.actionsMenuItemActive]:e.actionsOpen};return I("div",{key:"actions-menu-toggle","data-item":e,bind:this,onclick:this._toggleActionsOpen,onkeydown:this._toggleActionsOpen,class:this.classes(k.actionsMenuItem,s),tabindex:"0",role:"button","aria-controls":t,"aria-label":i.options,title:i.options},I("span",{"aria-hidden":"true",class:k.iconEllipses}))}renderActionsMenu(e,t,i,s){const{panel:n}=e,r=n&&n.visible?this.renderPanelButton(n):null,a=1===i&&this._getSingleActionButton(t),o=a?this.renderAction({item:e,action:a,singleAction:!0}):null,l=!a&&i?this.renderActionsMenuIcon(e,s):null;return l||r||a?I("div",{key:"actions-menu",class:k.actionsMenu},r,o,l):null}renderChildList(e,t){const{editingEnabled:i}=this,{visibilityMode:s,children:n}=e,r=this._hasChildren(e),a=!r&&i&&"group"===e.layer?.type,{exclusive:o,inherited:l}=M,d={[k.listExclusive]:s===o,[k.listInherited]:s===l,[k.listIndependent]:s!==l&&s!==o};return r||a?I("ul",{bind:this,key:"list-items",id:t,"data-group":e.uid,"data-item":e,afterCreate:this._sortNodeCreated,afterUpdate:this._sortNodeCreated,class:this.classes(k.list,d),"aria-expanded":e.open?"true":"false",role:i?"listbox":s===o?"radiogroup":"group",hidden:!e.open||null},n?.map((t=>this.renderItem({item:t,parent:e}))).toArray()):null}renderItemContent(e,t,i){const{id:s}=this,n=`${s}_${e.uid}`,r=`${n}_actions`,a=`${n}__list`,{panel:o}=e,l=this._filterActions(e.actionsSections),d=this._countActions(l);return[I("div",{key:"list-item-container",class:k.itemContainer},this.renderChildrenToggle(e,a),this.renderLabel(e,t,i),this.renderActionsMenu(e,l,d,r)),this.renderItemMessage(e),d?this.renderActionsSections(e,l,r):null,o&&o.open&&!o.disabled?o.render():null,this.renderChildList(e,a)]}renderItem({item:e,parent:t,itemType:i,isOnlyChild:s}){const{_newUI:n,id:r,editingEnabled:a,selectedItems:o,visibleElements:l}=this,d=`${`${r}_${e.uid}`}__title`,c=this._hasMessage(e),m=this._hasChildren(e),h={[k.itemChildren]:m,[k.itemMessage]:!!c,[k.itemUpdating]:e.updating&&!t&&l.statusIndicators,[k.itemInvisible]:n&&!e.visible,[k.itemInvisibleAtScale]:!e.visibleAtCurrentScale,[k.itemSelectable]:a};if(a){const n={[S]:e.layer?.uid};return I("li",{key:`item-with-selection-${e.uid}`,bind:this,afterCreate:this._focusListItem,afterUpdate:this._focusListItem,class:this.classes(k.item,h,{[k.itemOnlyChild]:s}),"aria-labelledby":d,onclick:this._toggleSelection,onkeydown:this._selectionKeydown,"data-item-type":i,"data-item":e,tabIndex:0,"aria-selected":g(e,o)?"true":"false",role:"option",...n},this.renderItemContent(e,t,d))}return I("li",{key:`item-no-selection-${e.uid}`,bind:this,afterCreate:this._focusListItem,afterUpdate:this._focusListItem,class:this.classes(k.item,h),"aria-labelledby":d},this.renderItemContent(e,t,d))}renderItemConnectionStatus(e){const{connectionStatus:t}=e;return t?I("span",{class:this.classes({[k.connectionStatus]:!0,[k.connectionStatusDisconnected]:"disconnected"===t,[k.connectionStatusConnected]:"connected"===t}),key:"layer-connection-status"}):null}renderItemTitle(e,t){const{messages:i}=this,s=e.title||i.untitledLayer,n=e.visibleAtCurrentScale?s:`${s} (${i.layerInvisibleAtScale})`;return I("span",{key:"layer-title-container",id:t,title:n,"aria-label":n,class:k.title},s)}renderItemToggleIcon(e,t){const{_newUI:i}=this,{exclusive:s}=M,n=t&&t.visibilityMode,r={[k.toggleVisibleIcon]:i,[k.toggleIcon]:i&&n!==s,[k.radioIcon]:i&&n===s,[k.iconRadioSelected]:n===s&&e.visible,[k.iconRadioUnselected]:n===s&&!e.visible,[k.iconVisible]:n!==s&&e.visible,[k.iconInvisible]:n!==s&&!e.visible};return I("span",{key:"item-toggle-icon",class:this.classes(r),"aria-hidden":"true"})}renderItemToggle(e,t,i){const{editingEnabled:s,messages:n}=this,{exclusive:r}=M,a=t&&t.visibilityMode,o=a===r?"radio":"switch";return I("span",s?{key:"item-toggle-selection-enabled",class:k.toggleVisible,bind:this,onclick:this._toggleVisibility,onkeydown:this._toggleVisibility,"data-item":e,"data-parent-visibility":a,tabIndex:0,"aria-checked":e.visible?"true":"false",title:e.visible?n.hideLayer:n.showLayer,role:o,"aria-labelledby":i}:{key:"item-toggle",class:k.toggleVisible},this.renderItemToggleIcon(e,t))}renderLabel(e,t,i){const{editingEnabled:s,_newUI:n,messages:r}=this,{inherited:a,exclusive:o}=M,l=t?.visibilityMode,d=l===o?"radio":"switch",c=[this.renderItemToggle(e,t,i),this.renderItemConnectionStatus(e),this.renderItemTitle(e,i)];n&&c.reverse();const m=I("div",s?{key:`item-label-no-selection-${e.uid}`,class:k.label}:{key:`item-label-with-selection-${e.uid}`,class:k.label,bind:this,onclick:this._toggleVisibility,onkeydown:this._toggleVisibility,"data-item":e,"data-parent-visibility":l,tabIndex:0,title:e.visible?r.hideLayer:r.showLayer,"aria-checked":e.visible?"true":"false",role:d,"aria-labelledby":i},c);return l===a||e.error?I("div",{key:`item-label-container-${e.uid}`,class:k.label},this.renderItemTitle(e,i)):m}renderPanelButton(e){const{className:t,open:i,title:s,image:n}=e,r=n||t?t:k.iconDefaultAction,a=this._getIconImageStyles(e),o={[k.actionsMenuItemActive]:i},l={[k.actionImage]:!!a["background-image"],[k.disabledElement]:e.disabled};return r&&(l[r]=!!r),I("div",{"aria-disabled":e.disabled.toString(),key:`panel-${e.uid}`,bind:this,"data-panel":e,onclick:this._triggerPanel,onkeydown:this._triggerPanel,class:this.classes(k.actionsMenuItem,o),role:"button",tabindex:e.disabled?null:0,title:s,"aria-label":s},I("span",{class:this.classes(l),styles:a}))}renderActionsSections(e,t,i){const s=t.toArray().map(((t,i)=>I("ul",{key:`${e}-action-section-${i}`,class:k.actionsList},this.renderActionSection(e,t))));return I("div",{role:"group","aria-expanded":e.actionsOpen?"true":"false",key:"actions-section",id:i,class:k.actions,hidden:!e.actionsOpen||null},s)}renderActionSection(e,t){return(t&&t.toArray()).map((t=>this.renderAction({item:e,action:t})))}renderActionIcon(e){const{active:t,className:i}=e,s=this._getIconImageStyles(e),n="button"!==e.type||e.image||i?i:k.iconDefaultAction,r={[k.actionImage]:!t&&!!s["background-image"],[k.iconLoading]:t,[k.rotating]:t};return n&&!t&&(r[n]=!0),I("span",{key:"action-icon","aria-hidden":"true",class:this.classes(k.actionIcon,r),styles:s})}renderActionTitle(e,t){return t?null:I("span",{key:"action-title",class:k.actionTitle},e)}renderAction(e){const{item:t,action:i,singleAction:s}=e,{active:n,disabled:r,title:a}=i,o={[k.actionsMenuItem]:s&&"button"===i.type,[k.action]:n||!s&&"toggle"!==i.type,[k.actionToggle]:!n&&"toggle"===i.type,[k.actionToggleOn]:!n&&"toggle"===i.type&&i.value,[k.disabledElement]:r},l=[this.renderActionIcon(i),this.renderActionTitle(a,s)];return s?I("div",{bind:this,"data-item":t,"data-action":i,role:"button",key:`single-action-${i.uid}`,onclick:this._triggerAction,onkeydown:this._triggerAction,classes:o,tabindex:"0",title:a,"aria-label":a},l):I("li",{bind:this,"data-item":t,"data-action":i,key:`action-${i.uid}`,onclick:this._triggerAction,onkeydown:this._triggerAction,classes:o,tabindex:"0",role:"button",title:a,"aria-label":a},l)}_setVisibleItems(){const{referenceItems:e,baseItems:t}=this,i=e.concat(t);this.visibleItems=i?.filter((e=>!e.hidden&&(this.errorsVisible||!e.error)))}_setTooltipReference(e,t){this._tooltipReferenceMap.set(t.uid,e),this.scheduleRender()}_hasMessage(e){return!!e.error||e.incompatible}_hasChildren(e){return!!e.children.length&&!this._hasMessage(e)}_filterActions(e){return e.map((e=>e.filter((e=>e.visible))))}_destroyReferenceSortable(){const{_sortableReferenceLayers:e}=this;e?.el&&e.destroy(),this._sortableReferenceLayersNode=null}_destroyBaseSortable(){const{_sortableBaseLayers:e}=this;e?.el&&e.destroy(),this._sortableBaseLayersNode=null}_toggleEditingTitle(){const{_editingTitle:e}=this,t=!e;this._editingTitle=t,this._focusOnElement=t?"edit-input":"edit-button",this.scheduleRender()}_storeEditTitleInput(e){this._editTitleInput=e,this._focusEditElement()}_focusEditElement(){this._editTitleInput&&"edit-input"===this._focusOnElement&&(this._focusOnElement=null,this._editTitleInput.focus()),this._editTitleButton&&"edit-button"===this._focusOnElement&&(this._focusOnElement=null,this._editTitleButton.focus())}_storeEditTitleButton(e){this._editTitleButton=e,this._focusEditElement()}_formSubmit(e){e.preventDefault();const t=this._editTitleInput?.value;t?.trim()&&(this.basemapTitle=t),this._toggleEditingTitle()}_itemMovedList(e){const t=e.item["data-item"],i=e.to.dataset.nodeRef,s=e.from.dataset.nodeRef,{newIndex:n}=e;this.viewModel.transferListItem({listItem:t,from:s,to:i,newIndex:n})}_toggleSortingBaseLayers(){const{_sortableBaseLayers:e,_sortableBaseLayersNode:t,editingEnabled:i}=this;if(!t)return;const s=!i;if(e)e.option("disabled",s);else{const e=v.create(t,{dataIdAttr:S,group:w,filter:`.${k.itemOnlyChild}`,fallbackTolerance:4,disabled:s,onSort:()=>this._sortLayersToItems({type:"base",itemIds:e.toArray()}),onAdd:e=>this._itemMovedList(e),chosenClass:k.sortableChosen});this._sortableBaseLayers=e}}_toggleSortingReferenceLayers(){const{_sortableReferenceLayers:e,_sortableReferenceLayersNode:t,editingEnabled:i}=this;if(!t)return;const s=!i;if(e)e.option("disabled",s);else{const e=v.create(t,{dataIdAttr:S,group:w,disabled:s,fallbackTolerance:4,onSort:()=>this._sortLayersToItems({type:"reference",itemIds:e.toArray()}),onAdd:e=>this._itemMovedList(e),chosenClass:k.sortableChosen});this._sortableReferenceLayers=e}}_toggleSorting(){this._toggleSortingBaseLayers(),this._toggleSortingReferenceLayers()}_sortNodeCreated(e){const t=e.getAttribute("data-node-ref");"base"===t&&(this._sortableBaseLayersNode=e),"reference"===t&&(this._sortableReferenceLayersNode=e),this._toggleSorting()}_getItems(e){return e.toArray().filter((e=>!e.hidden&&(this.errorsVisible||!e.error)))}_getSingleActionButton(e){return e.reduce((e=>e)).filter((e=>e&&"button"===e.type)).getItemAt(0)}_sortLayersToItems({type:e,itemIds:t}){const i="base"===e?this.get("view.map.basemap.baseLayers"):"reference"===e?this.get("view.map.basemap.referenceLayers"):null;i&&i.sort(((e,i)=>{const s=t.indexOf(e.uid),n=t.indexOf(i.uid);return s>n?-1:s<n?1:0}))}_focusListItem(e){const{_focusSortUid:t}=this;if(!e||!t)return;e["data-item"].layer?.uid===t&&(e.focus(),this._focusSortUid=null)}_selectionKeydown(e){const t=["ArrowDown","ArrowUp"],s=i(e);if(!t.includes(s))return void this._toggleSelection(e);e.stopPropagation();const n=e.currentTarget,r=n["data-item"],a=n.dataset.itemType,{_sortableBaseLayers:o,_sortableReferenceLayers:l,selectedItems:d}=this,c="base"===a?o:"reference"===a?l:null;if(!c)return;const m=g(r,d),h=c.toArray(),u=e.target,p=h.indexOf(u.dataset[E]),{baseItems:b,referenceItems:_}=this.viewModel;if(-1!==p){if("ArrowDown"===s){const e=p+1,t=e>=h.length;if(t&&"reference"===a&&m){const e=b.length;return this.viewModel.transferListItem({listItem:r,from:"reference",to:"base",newIndex:e}),this._focusSortUid=r.layer?.uid,void this.scheduleRender()}if(t&&"reference"===a){const e=b.getItemAt(0);return this._focusSortUid=e?.layer?.uid,void this.scheduleRender()}if(t)return;return m&&(C(h,p,e),c.sort(h),this._sortLayersToItems({type:a,itemIds:c.toArray()})),this._focusSortUid=r.layer?.uid,void this.scheduleRender()}if("ArrowUp"===s){const e=p-1,t=e<0;if(t&&"base"===a&&m){if(1===b.length)return;const e=0;return this.viewModel.transferListItem({listItem:r,from:"base",to:"reference",newIndex:e}),this._focusSortUid=r.layer?.uid,void this.scheduleRender()}if(t&&"base"===a){const e=_.getItemAt(_.length-1);return this._focusSortUid=e?.layer?.uid,void this.scheduleRender()}if(t)return;m&&(C(h,p,e),c.sort(h),this._sortLayersToItems({type:a,itemIds:c.toArray()})),this._focusSortUid=r.layer?.uid,this.scheduleRender()}}}_watchActionSectionChanges(e,t){this.handles.add(e.on("change",(()=>this.scheduleRender())),t),e.forEach((e=>this._renderOnActionChanges(e,t)))}_renderOnActionChanges(e,t){"toggle"!==e.type?"slider"!==e.type?this.handles.add([n((()=>[e.className,e.image,e.id,e.title,e.visible]),(()=>this.scheduleRender()),a)],t):this.handles.add([n((()=>[e.className,e.id,e.title,e.visible,e.value,e.displayValueEnabled,e.max,e.min,e.step]),(()=>this.scheduleRender()),a)],t):this.handles.add([n((()=>[e.className,e.image,e.id,e.title,e.visible,e.value]),(()=>this.scheduleRender()),a)],t)}_renderOnItemChanges(e,t){this.handles.add([n((()=>[e.actionsOpen,e.visible,e.open,e.updating,e.title,e.visibleAtCurrentScale,e.error,e.visibilityMode,e.panel,e.panel?.title,e.panel?.content,e.panel?.className]),(()=>this.scheduleRender()),a),n((()=>[e.hidden,e.error]),(()=>this._setVisibleItems())),e.actionsSections.on("change",(()=>this.scheduleRender())),e.children.on("change",(()=>this.scheduleRender()))],t),e.children.forEach((e=>this._renderOnItemChanges(e,t))),e.actionsSections.forEach((e=>this._watchActionSectionChanges(e,t)))}_itemsChanged(e,t){this.handles.remove(t),this._tooltipReferenceMap.clear(),this._setVisibleItems(),e.forEach((e=>this._renderOnItemChanges(e,t))),this.scheduleRender()}_countActions(e){return e.reduce(((e,t)=>e+t.length),0)}_getIconImageStyles(e){const t="esri.widgets.LayerList.ListItemPanel"===e.declaredClass||"esri.support.Action.ActionButton"===e.declaredClass||"esri.support.Action.ActionToggle"===e.declaredClass?e.image:null;return{"background-image":t?`url("${t}")`:null}}_toggleActionsOpen(e){e.stopPropagation();const t=e.currentTarget["data-item"],{actionsOpen:i}=t,s=!i,{baseItems:n,referenceItems:r}=this;s&&(n.forEach((e=>B(e))),r.forEach((e=>B(e)))),t.actionsOpen=s}_triggerPanel(e){e.stopPropagation();const t=e.currentTarget["data-panel"];t&&!t.disabled&&(t.open=!t.open)}_triggerAction(e){e.stopPropagation();const t=e.currentTarget,i=t["data-action"],s=t["data-item"];"toggle"===i.type&&(i.value=!i.value),this.triggerAction(i,s)}_toggleVisibility(e){e.stopPropagation();const t=e.currentTarget,i=t.getAttribute("data-parent-visibility"),s=t["data-item"];i===M.exclusive&&s.visible||(s.visible=!s.visible)}_toggleChildrenClick(e){e.stopPropagation();const t=e.currentTarget["data-item"];t.open=!t.open}_toggleSelection(e){e.stopPropagation();const{multipleSelectionEnabled:t,selectedItems:i}=this,s=t&&(e.metaKey||e.ctrlKey),n=e.currentTarget["data-item"],r=g(n,i),{length:a}=i;if(!s)return a&&!(r&&1===a)?(i.removeAll(),void i.add(n)):void(r?i.remove(r):i.add(n));r?i.remove(r):i.add(n)}};e([d()],x.prototype,"visibleItems",void 0),e([o("viewModel.basemapTitle")],x.prototype,"basemapTitle",void 0),e([o("viewModel.baseListItemCreatedFunction")],x.prototype,"baseListItemCreatedFunction",void 0),e([d()],x.prototype,"editingEnabled",void 0),e([d()],x.prototype,"errorsVisible",void 0),e([d()],x.prototype,"headingLevel",void 0),e([d()],x.prototype,"iconClass",void 0),e([d({aliasOf:{source:"messages.widgetLabel",overridable:!0}})],x.prototype,"label",void 0),e([d(),y("esri/widgets/BasemapLayerList/t9n/BasemapLayerList")],x.prototype,"messages",void 0),e([d(),y("esri/t9n/common")],x.prototype,"messagesCommon",void 0),e([d()],x.prototype,"multipleSelectionEnabled",void 0),e([o("viewModel.referenceListItemCreatedFunction")],x.prototype,"referenceListItemCreatedFunction",void 0),e([o("viewModel.baseItems")],x.prototype,"baseItems",void 0),e([o("viewModel.referenceItems")],x.prototype,"referenceItems",void 0),e([d()],x.prototype,"selectedItems",void 0),e([o("viewModel.view")],x.prototype,"view",void 0),e([f("trigger-action"),d({type:h})],x.prototype,"viewModel",void 0),e([d()],x.prototype,"visibleElements",void 0),e([l("visibleElements")],x.prototype,"castVisibleElements",null),e([_()],x.prototype,"_toggleActionsOpen",null),e([_()],x.prototype,"_triggerPanel",null),e([_()],x.prototype,"_triggerAction",null),e([_()],x.prototype,"_toggleVisibility",null),e([_()],x.prototype,"_toggleChildrenClick",null),e([_()],x.prototype,"_toggleSelection",null),x=e([c("esri.widgets.BasemapLayerList")],x);const U=x;export{U 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.25/esri/copyright.txt for details.
4
4
  */
5
- import{lerp as e}from"../../../core/mathUtils.js";import{isNone as t,unwrapOr as n,isSome as r}from"../../../core/maybe.js";import{throwIfAborted as s}from"../../../core/promiseUtils.js";import{getMetersPerUnitForSR as o}from"../../../core/unitUtils.js";import{d as a,m as i}from"../../../chunks/vec2.js";import{h as c}from"../../../chunks/vec3.js";import u from"../../../geometry/Polyline.js";import{initializeProjection as f,project as h}from"../../../geometry/projection.js";import l from"../../../geometry/SpatialReference.js";import{isSupported as p,geodesicLengths as m,inverseGeodeticSolver as d,directGeodeticSolver as g}from"../../../geometry/support/geodesicUtils.js";import{ProfileGenerationError as y,ProfileGenerationErrorCause as w}from"./ProfileGenerationError.js";async function R(e,t,n,r,a,i,c){let u,p,d;const g=e.spatialReference,R=g.isGeographic||g.isWebMercator,P=await import("../../../geometry/geometryEngineAsync.js");s(c);let Z=0;R||(Z=await P.planarLength(e,"meters"),s(c));const A=1/o(r);if(R||Z>=a.geodesicDistanceThreshold){await f([{source:g,dest:r},{source:g,dest:l.WGS84}],c);const s=D(e);u=m([s],"meters")[0];const o=j(u,a);if(q(e,u,o)>i)throw new y(w.TooComplex);const R=v(s,t,n);({densifiedPath:p,distances:d}=G(R,o,A)),p=h(p,r)}else{await f([{source:g,dest:r}],c),u=Z;const o=j(u,a);if(q(e,u,o)>i)throw new y(w.TooComplex);const l=v(e,t,n);({densifiedPath:p,distances:d}=z(l,o,A)),s(c),p=h(p,r)}return{densifiedPath:p,pathLength:u*A,distances:d}}function j(e,t){const n=e/t.densificationMaxSamples;return Math.max(t.samplingDistance,n)}function v(e,r,s){if(t(r))return A(e);const o=e.spatialReference,a=r.mode,i=n(r.offset,0);let c=null;switch(s.type){case"2d":c=P(e,a,i);break;case"3d":c=Z(e,a,i,s)}return t(c)?A(e):new u({hasZ:!0,hasM:!1,spatialReference:o,paths:M(e.paths,c)})}function P({hasZ:e},t,n){return"absolute-height"===t?e?([e,t,r])=>[e,t,r+n]:([e,t])=>[e,t,n]:null}function Z({spatialReference:e,hasZ:t},r,s,{elevationProvider:o}){const a=(t,r,s,a)=>n(o.getElevation(t,r,s,e,a),0);switch(r){case"on-the-ground":return([e,t])=>[e,t,a(e,t,0,"ground")];case"absolute-height":return t?([e,t,n])=>[e,t,n+s]:([e,t])=>[e,t,s];case"relative-to-ground":return t?([e,t,n])=>[e,t,n+a(e,t,n,"ground")+s]:([e,t])=>[e,t,a(e,t,0,"ground")+s];case"relative-to-scene":return t?([e,t,n])=>[e,t,n+a(e,t,n,"scene")+s]:([e,t])=>[e,t,a(e,t,0,"scene")+s];default:return null}}function A(e){return e.hasZ?new u({hasZ:!1,hasM:!1,spatialReference:e.spatialReference,paths:M(e.paths,(([e,t])=>[e,t]))}):e}function M(e,t){const n=e.length,r=new Array(n);for(let s=0;s<n;++s){const n=e[s],o=n.length,a=new Array(n.length);r[s]=a;for(let e=0;e<o;++e)a[e]=t(n[e])}return r}function x(e){return S(e)&&e.paths.length>0&&e.paths.every((e=>e.length>=2))}function S(e){return r(e)&&"polyline"===e.type}function b(e,t,n,r,s){const{spatialReference:a,hasZ:i}=e,c={from:null,to:null,distance:0,azimuth:0,reverseAzimuth:0,spatialReference:a,metersPerSR:o(a)},f=new Array(e.paths.length),h=new Array(e.paths.length);let l=0;for(let o=0;o<e.paths.length;++o){const a=e.paths[o],i=new Array,u=new Array;let p=0;for(let e=1;e<a.length;++e){const o=a[e-1],f=a[e],h=r(c,o,f);let m;for(m=p;m<h.distance;m+=t)i.push(s(h,m)),u.push((l+m)*n);p=m-h.distance,l+=h.distance,i.push(f),u.push(l*n)}f[o]=i,h[o]=u}return{densifiedPath:new u({spatialReference:a,hasZ:i,paths:f}),distances:h}}function z(e,t,n){const{hasZ:r}=e;return b(e,t,n,k,r?C:W)}function G(e,t,n){const{hasZ:r}=e;return b(e,t,n,U,r?T:E)}function U(e,t,n){return e.distance=0,d(e,t,n,e.spatialReference),e.from=t,e.to=n,e}function k(e,t,n){return e.from=t,e.to=n,e.distance=a(n,t)*e.metersPerSR,e}function E({from:e,azimuth:t,spatialReference:n},r){return g([0,0],e,t,r,n)}function T({from:t,to:n,azimuth:r,distance:s,spatialReference:o},a){const i=a/s,c=[0,0,e(t[2],n[2],i)];return g(c,t,r,a,o),c}function W({from:e,to:t,distance:n},r){return i([0,0],e,t,r/n)}function C({from:e,to:t,distance:n},r){return c([0,0,0],e,t,r/n)}function D(e){return p(e.spatialReference)?e:h(e,l.WGS84)}function L(e){return e.paths.reduce(((e,t)=>e+t.length),0)}function q(e,t,n){return L(e)+Math.floor(t/n)+Math.max(0,e.paths.reduce((e=>1+e),0)-1)}export{L as countPoints,R as densifyPath,S as isPolyline,x as isValidInputPath,v as toAbsoluteHeightElevation};
5
+ import{lerp as e}from"../../../core/mathUtils.js";import{isNone as t,unwrapOr as n,isSome as r}from"../../../core/maybe.js";import{throwIfAborted as s}from"../../../core/promiseUtils.js";import{getMetersPerUnitForSR as o}from"../../../core/unitUtils.js";import{d as a,l as i}from"../../../chunks/vec2.js";import{h as c}from"../../../chunks/vec3.js";import u from"../../../geometry/Polyline.js";import{initializeProjection as f,project as l}from"../../../geometry/projection.js";import h from"../../../geometry/SpatialReference.js";import{isSupported as p,geodesicLengths as m,inverseGeodeticSolver as d,directGeodeticSolver as g}from"../../../geometry/support/geodesicUtils.js";import{ProfileGenerationError as y,ProfileGenerationErrorCause as w}from"./ProfileGenerationError.js";async function R(e,t,n,r,a,i,c){let u,p,d;const g=e.spatialReference,R=g.isGeographic||g.isWebMercator,P=await import("../../../geometry/geometryEngineAsync.js");s(c);let Z=0;R||(Z=await P.planarLength(e,"meters"),s(c));const A=1/o(r);if(R||Z>=a.geodesicDistanceThreshold){await f([{source:g,dest:r},{source:g,dest:h.WGS84}],c);const s=D(e);u=m([s],"meters")[0];const o=j(u,a);if(q(e,u,o)>i)throw new y(w.TooComplex);const R=v(s,t,n);({densifiedPath:p,distances:d}=G(R,o,A)),p=l(p,r)}else{await f([{source:g,dest:r}],c),u=Z;const o=j(u,a);if(q(e,u,o)>i)throw new y(w.TooComplex);const h=v(e,t,n);({densifiedPath:p,distances:d}=z(h,o,A)),s(c),p=l(p,r)}return{densifiedPath:p,pathLength:u*A,distances:d}}function j(e,t){const n=e/t.densificationMaxSamples;return Math.max(t.samplingDistance,n)}function v(e,r,s){if(t(r))return A(e);const o=e.spatialReference,a=r.mode,i=n(r.offset,0);let c=null;switch(s.type){case"2d":c=P(e,a,i);break;case"3d":c=Z(e,a,i,s)}return t(c)?A(e):new u({hasZ:!0,hasM:!1,spatialReference:o,paths:M(e.paths,c)})}function P({hasZ:e},t,n){return"absolute-height"===t?e?([e,t,r])=>[e,t,r+n]:([e,t])=>[e,t,n]:null}function Z({spatialReference:e,hasZ:t},r,s,{elevationProvider:o}){const a=(t,r,s,a)=>n(o.getElevation(t,r,s,e,a),0);switch(r){case"on-the-ground":return([e,t])=>[e,t,a(e,t,0,"ground")];case"absolute-height":return t?([e,t,n])=>[e,t,n+s]:([e,t])=>[e,t,s];case"relative-to-ground":return t?([e,t,n])=>[e,t,n+a(e,t,n,"ground")+s]:([e,t])=>[e,t,a(e,t,0,"ground")+s];case"relative-to-scene":return t?([e,t,n])=>[e,t,n+a(e,t,n,"scene")+s]:([e,t])=>[e,t,a(e,t,0,"scene")+s];default:return null}}function A(e){return e.hasZ?new u({hasZ:!1,hasM:!1,spatialReference:e.spatialReference,paths:M(e.paths,(([e,t])=>[e,t]))}):e}function M(e,t){const n=e.length,r=new Array(n);for(let s=0;s<n;++s){const n=e[s],o=n.length,a=new Array(n.length);r[s]=a;for(let e=0;e<o;++e)a[e]=t(n[e])}return r}function x(e){return S(e)&&e.paths.length>0&&e.paths.every((e=>e.length>=2))}function S(e){return r(e)&&"polyline"===e.type}function b(e,t,n,r,s){const{spatialReference:a,hasZ:i}=e,c={from:null,to:null,distance:0,azimuth:0,reverseAzimuth:0,spatialReference:a,metersPerSR:o(a)},f=new Array(e.paths.length),l=new Array(e.paths.length);let h=0;for(let o=0;o<e.paths.length;++o){const a=e.paths[o],i=new Array,u=new Array;let p=0;for(let e=1;e<a.length;++e){const o=a[e-1],f=a[e],l=r(c,o,f);let m;for(m=p;m<l.distance;m+=t)i.push(s(l,m)),u.push((h+m)*n);p=m-l.distance,h+=l.distance,i.push(f),u.push(h*n)}f[o]=i,l[o]=u}return{densifiedPath:new u({spatialReference:a,hasZ:i,paths:f}),distances:l}}function z(e,t,n){const{hasZ:r}=e;return b(e,t,n,k,r?C:W)}function G(e,t,n){const{hasZ:r}=e;return b(e,t,n,U,r?T:E)}function U(e,t,n){return e.distance=0,d(e,t,n,e.spatialReference),e.from=t,e.to=n,e}function k(e,t,n){return e.from=t,e.to=n,e.distance=a(n,t)*e.metersPerSR,e}function E({from:e,azimuth:t,spatialReference:n},r){return g([0,0],e,t,r,n)}function T({from:t,to:n,azimuth:r,distance:s,spatialReference:o},a){const i=a/s,c=[0,0,e(t[2],n[2],i)];return g(c,t,r,a,o),c}function W({from:e,to:t,distance:n},r){return i([0,0],e,t,r/n)}function C({from:e,to:t,distance:n},r){return c([0,0,0],e,t,r/n)}function D(e){return p(e.spatialReference)?e:l(e,h.WGS84)}function L(e){return e.paths.reduce(((e,t)=>e+t.length),0)}function q(e,t,n){return L(e)+Math.floor(t/n)+Math.max(0,e.paths.reduce((e=>1+e),0)-1)}export{L as countPoints,R as densifyPath,S as isPolyline,x as isValidInputPath,v as toAbsoluteHeightElevation};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import{_ as t}from"../chunks/tslib.es6.js";import{createTask as e}from"../core/asyncUtils.js";import{isSome as s,destroyMaybe as i,isNone as r,applySome as o,abortMaybe as n}from"../core/maybe.js";import{memoize as a}from"../core/memoize.js";import{createAbortError as l}from"../core/promiseUtils.js";import{watch as c,initial as h}from"../core/reactiveUtils.js";import{aliasOf as d}from"../core/accessorSupport/decorators/aliasOf.js";import"../core/arrayUtils.js";import"../core/has.js";import"../core/accessorSupport/ensureType.js";import{property as p}from"../core/accessorSupport/decorators/property.js";import{subclass as u}from"../core/accessorSupport/decorators/subclass.js";import m from"./Widget.js";import{CSS as _}from"./ElevationProfile/css.js";import C from"./ElevationProfile/ElevationProfileViewModel.js";import v from"./ElevationProfile/ElevationProfileVisibleElements.js";import{Legend as g}from"./ElevationProfile/components/Legend.js";import{SettingsButton as f}from"./ElevationProfile/components/SettingsButton.js";import{createChart as y}from"./ElevationProfile/support/chartUtils.js";import{ElevationProfileErrorState as k,getConfig as w,ElevationProfileState as b}from"./ElevationProfile/support/constants.js";import{onResize as S}from"./support/widgetUtils.js";import{messageBundle as B}from"./support/decorators/messageBundle.js";import{tsx as M}from"./support/jsxFactory.js";var P;!function(t){t.Sketch="sketch",t.SketchCancel="sketch-cancel",t.SketchDone="sketch-done",t.Select="select",t.SelectCancel="select-cancel"}(P||(P={}));const E=[{type:P.Select},{type:P.Sketch}],j={[k.None]:null,[k.NoValidInput]:"noProfile",[k.NoVisibleProfiles]:"noProfile",[k.RefinedButNoChartData]:"noProfile",[k.TooComplex]:"tooComplex",[k.UnknownError]:"unknown",[k.InvalidGeometry]:"invalidGeometry",[k.InvalidElevationInfo]:"invalidElevationInfo"};let z=class extends m{constructor(t,e){super(t,e),this.viewModel=null,this.view=null,this.input=null,this.profiles=null,this.unitOptions=[],this.unit="metric",this.geodesicDistanceThreshold=1e5,this.visibleElements=new v,this.iconClass=_.widgetIcon,this.label=void 0,this.messages=null,this.messagesCommon=null,this.messagesUnits=null,this._chartContainer=null,this._chart=null,this._chartInitTask=null,this._chartIsRefined=!1,this._width=0,this._zoomOutButtonVisible=!1,this._getChartUpdateParamsMemoized=a(((t,e,s,i)=>({chart:t,data:e,stationary:s,messages:i}))),this._getDetailsPropsMemoized=a(((t,e)=>({effectiveUnits:t,profiles:e}))),t?.viewModel||(this._defaultViewModel=new C({view:t?.view}),this.viewModel=this._defaultViewModel)}initialize(){this._legend=new g(this._legendProps),this._settingsButton=new f(this._settingsButtonProps),this.addHandles([c((()=>this._legendProps),(t=>this._legend.set(t))),c((()=>this._settingsButtonProps),(t=>this._settingsButton.set(t)))])}postInitialize(){this.addHandles([c((()=>({container:this._chartContainer,width:this._width})),(({container:t,width:e})=>{this._destroyChart(),s(t)&&e>0&&this._initializeChart(t)}),h),c((()=>this._chartUpdateParams),(()=>this._updateChart(this._chartUpdateParams)),h)])}destroy(){this._destroyChart(),s(this._defaultViewModel)&&this.viewModel!==this._defaultViewModel&&this._defaultViewModel.destroy(),this._legend=i(this._legend),this._settingsButton=i(this._settingsButton)}get _portrait(){return this._width<w().portraitModePixelBreakpoint}get _chartUpdateParams(){const t=this.view;return this._getChartUpdateParamsMemoized(this._chart,this.viewModel.chartData,!s(t)||t.stationary,this._chartMessages)}get _chartMessages(){return{...this.messagesUnits,...this.messages}}get _legendProps(){return this._getDetailsPropsMemoized(this.viewModel.effectiveUnits,this._profilesArray)}get _profilesArray(){return this.profiles.toArray()}get _settingsButtonProps(){return{viewModel:this.viewModel,visibleElements:this.visibleElements}}render(){const{viewModel:t,visible:e}=this;return M("div",{key:this,class:this.classes({[_.base]:e,[_.esriWidget]:e,[_.esriWidgetDisabled]:e&&"disabled"===t.state,[_.portrait]:this._portrait,[_.refined]:1===t.progress}),"aria-label":this.messages.widgetLabel,afterCreate:t=>{this.addHandles(S(t,(t=>{this._width=t.contentRect.width})))}},e&&this._renderContentForState())}_renderContentForState(){switch(this.viewModel.state){case b.Ready:return this._renderContentForReadyState();case b.Selecting:return this._renderContentForSelectingState();case b.Creating:return this._renderContentForCreatingState();case b.Selected:return this._renderContentForSelectedState();case b.Created:return this._renderContentForCreatedState();case b.Disabled:return this._renderContentForReadyState()}}_renderContentForReadyState(){const{sketchButton:t,selectButton:e}=this.visibleElements,s=this.messages;let i;return i=t&&e?s.readyPrompt:t?s.readyPromptCreateOnly:e?s.readyPromptSelectOnly:s.errors?.noProfile,this._renderContent({prompt:i,chart:!1,actions:E})}_renderContentForSelectingState(){const t=this.view;if(r(t))return null;const e=this.messages[`selectingPrompt-${t.type}`];return this._renderContent({prompt:e,chart:!1,actions:[{type:P.SelectCancel}]})}_renderContentForCreatingState(){const{view:t,viewModel:e}=this;if(r(t))return null;const s=e.hasVertices?[{type:P.SketchCancel},{type:P.SketchDone,disabled:!e.tool.interaction.canStopCreating}]:[{type:P.Select},{type:P.Sketch,disabled:!0}];if(e.errorState===k.NoValidInput){const e=this.messages[`creatingPrompt-${t.type}`];return this._renderContent({chart:!1,actions:s,prompt:e})}const i=this._getErrorMessage();return i?this._renderContent({chart:!1,actions:s,prompt:i}):this._renderContent({chart:!0,actions:s})}_renderContentForSelectedState(){const t=this._getErrorMessage();return t?this._renderContent({chart:!1,actions:E,prompt:t}):this._renderContent({chart:!0,actions:E})}_renderContentForCreatedState(){const t=this._getErrorMessage();return t?this._renderContent({chart:!1,actions:E,prompt:t}):this._renderContent({chart:!0,actions:E})}_getErrorMessage(){const t=j[this.viewModel.errorState];return this.messages?.errors?.[t]}_renderContent(t){const e=s(t.prompt)?this._renderPrompt(t.prompt):t.chart&&this._renderChart(),i=s(this.viewModel.input);return[M("header",{key:"header",class:_.header},this._zoomOutButtonVisible&&this._renderZoomOutButton(),this.visibleElements.clearButton&&i&&this._renderClearButton(),this.visibleElements.settingsButton&&this._settingsButton.render()),M("div",{class:_.mainContainer},...e),this.visibleElements.legend&&this._legend.render(),this._renderActions(t)]}_renderZoomOutButton(){return M("button",{key:"zoom-out",class:_.zoomOutButton,bind:this,onclick:this._onZoomOutButtonClick,title:this.messages.zoomOut,type:"button"})}_onZoomOutButtonClick(){o(this._chart,(t=>t.zoomOut()))}_renderClearButton(){return M("button",{key:"clear-profile",class:_.clearButton,bind:this,onclick:this._onClearButtonClick,title:this.messages.clearProfile,type:"button"})}_onClearButtonClick(){this.viewModel.clear()}_renderPrompt(t){return[M("div",{key:"prompt-container",bind:this,class:_.promptContainer},M("p",null,t))]}_renderChart(){if(!this.visibleElements.chart)return[M("div",{key:"empty-chart-container",class:_.chartContainer})];const t=this._chartIsRefined||this._canRenderChart();if(!t)return[this._renderSpinner({size:"large"}),M("div",{key:"chart-container-empty",class:_.chartContainer})];const{chartData:e,progress:i}=this.viewModel;return[s(e)&&i>0&&i<1&&this._renderSpinner({size:t?"small":"large"}),M("div",{key:"chart-container",bind:this,class:_.chartContainer,afterCreate:this._onChartContainerAfterCreate,afterRemoved:this._onChartContainerRemoved})]}_renderSpinner(t){return M("div",{key:"spinner",class:this.classes(_.chartSpinner,{[_.chartSpinnerSmall]:"small"===t.size}),afterCreate:this._onSpinnerAfterCreate,exitAnimation:this._onSpinnerExit})}_onSpinnerAfterCreate(t){requestAnimationFrame((()=>t.classList.add(_.chartSpinnerVisible)))}_onSpinnerExit(t,e){t.classList.remove(_.chartSpinnerVisible),setTimeout(e,200)}_canRenderChart(){const t=this.viewModel.chartData;if(r(t))return!1;if(!this.viewModel.inputIsSketched)return t.refined;let e=0;for(const{samples:i}of t.lines)e+=s(i)?i.length:0;return t.refined||e<=w().largeChartSamples}_renderActions({actions:t}){const e=t.map((t=>{switch(t.type){case P.Sketch:return this.visibleElements.sketchButton&&this._renderAction({action:t,onClick:this._onSketchButtonClick,className:_.sketchButton,label:this.messages.sketchButtonLabel});case P.SketchCancel:return this.visibleElements.sketchButton&&this._renderAction({action:t,onClick:this._onCancelButtonClick,className:_.sketchCancelButton,label:this.messagesCommon.cancel});case P.SketchDone:return this.visibleElements.sketchButton&&this._renderAction({action:t,onClick:this._onDoneButtonClick,className:_.sketchDoneButton,label:this.messagesCommon.done});case P.Select:return this.visibleElements.selectButton&&this._renderAction({action:t,onClick:this._onSelectButtonClick,className:_.selectButton,label:this.messages.selectButtonLabel});case P.SelectCancel:return this.visibleElements.selectButton&&this._renderAction({action:t,onClick:this._onCancelButtonClick,className:_.selectCancelButton,label:this.messagesCommon.cancel})}})).filter(Boolean);return e.length?M("footer",{key:"footer",class:_.footer},...e):null}_renderAction({action:t,onClick:e,className:s,label:i}){return M("button",{key:`action-${t.type}`,class:this.classes(_.actionButton,s,{[_.buttonDisabled]:t.disabled}),bind:this,disabled:t.disabled,onclick:e,type:"button"},i)}_onSketchButtonClick(){this.viewModel.start({mode:"sketch"})}_onSelectButtonClick(){this.viewModel.start({mode:"select"})}_onCancelButtonClick(){this.viewModel.cancel()}_onDoneButtonClick(){this.viewModel.stop()}_updateChart(t){const{data:e,chart:i,messages:o,stationary:n}=t;!r(i)&&!r(o)&&n&&this._canRenderChart()&&(i.update(t),this._chartIsRefined=s(e)&&e.refined)}_onChartContainerAfterCreate(t){this._chartContainer=t}_onChartContainerRemoved(){this._chartContainer=null}_initializeChart(t){n(this._chartInitTask),this._chartInitTask=e((async e=>{const s=await y({container:t,abortOptions:{signal:e},onRangeChange:(t,e)=>{this._zoomOutButtonVisible=1!==t||1!==e},onCursorPositionChange:t=>{this.viewModel.hoveredChartPosition=t}});if(e.aborted)throw i(s),l();this._chart=s,this._updateChart(this._chartUpdateParams)}))}_destroyChart(){this._chartInitTask=n(this._chartInitTask),this._chart=i(this._chart),this._chartIsRefined=!1}get test(){return{projector:this._projector,chart:this._chart}}};t([p({type:C})],z.prototype,"viewModel",void 0),t([d("viewModel.view")],z.prototype,"view",void 0),t([d("viewModel.input")],z.prototype,"input",void 0),t([d("viewModel.profiles")],z.prototype,"profiles",void 0),t([d("viewModel.unitOptions")],z.prototype,"unitOptions",void 0),t([d("viewModel.unit")],z.prototype,"unit",void 0),t([d("viewModel.geodesicDistanceThreshold")],z.prototype,"geodesicDistanceThreshold",void 0),t([p({type:v,nonNullable:!0})],z.prototype,"visibleElements",void 0),t([p()],z.prototype,"iconClass",void 0),t([d("messages.widgetLabel",{overridable:!0})],z.prototype,"label",void 0),t([d("viewModel.visible")],z.prototype,"visible",void 0),t([p(),B("esri/widgets/ElevationProfile/t9n/ElevationProfile")],z.prototype,"messages",void 0),t([p(),B("esri/t9n/common")],z.prototype,"messagesCommon",void 0),t([p(),B("esri/core/t9n/Units")],z.prototype,"messagesUnits",void 0),t([p()],z.prototype,"_chartContainer",void 0),t([p()],z.prototype,"_chart",void 0),t([p()],z.prototype,"_chartInitTask",void 0),t([p()],z.prototype,"_chartIsRefined",void 0),t([p()],z.prototype,"_settingsButton",void 0),t([p()],z.prototype,"_legend",void 0),t([p()],z.prototype,"_width",void 0),t([p()],z.prototype,"_portrait",null),t([p()],z.prototype,"_zoomOutButtonVisible",void 0),t([p()],z.prototype,"_chartUpdateParams",null),t([p()],z.prototype,"_chartMessages",null),t([p()],z.prototype,"_legendProps",null),t([p()],z.prototype,"_profilesArray",null),t([p()],z.prototype,"_settingsButtonProps",null),z=t([u("esri.widgets.ElevationProfile")],z);const I=z;export{I as default};
5
+ import{_ as t}from"../chunks/tslib.es6.js";import{createTask as e}from"../core/asyncUtils.js";import{isSome as s,destroyMaybe as i,isNone as r,applySome as o,abortMaybe as n}from"../core/maybe.js";import{memoize as a}from"../core/memoize.js";import{createAbortError as l}from"../core/promiseUtils.js";import{watch as c,initial as h}from"../core/reactiveUtils.js";import{aliasOf as d}from"../core/accessorSupport/decorators/aliasOf.js";import"../core/arrayUtils.js";import"../core/has.js";import"../core/accessorSupport/ensureType.js";import{property as p}from"../core/accessorSupport/decorators/property.js";import{subclass as u}from"../core/accessorSupport/decorators/subclass.js";import m from"./Widget.js";import{CSS as _}from"./ElevationProfile/css.js";import C from"./ElevationProfile/ElevationProfileViewModel.js";import v from"./ElevationProfile/ElevationProfileVisibleElements.js";import{Legend as g}from"./ElevationProfile/components/Legend.js";import{SettingsButton as f}from"./ElevationProfile/components/SettingsButton.js";import{createChart as y}from"./ElevationProfile/support/chartUtils.js";import{ElevationProfileErrorState as k,getConfig as w,ElevationProfileState as b}from"./ElevationProfile/support/constants.js";import{onResize as S}from"./support/widgetUtils.js";import{messageBundle as B}from"./support/decorators/messageBundle.js";import{tsx as M}from"./support/jsxFactory.js";var P;!function(t){t.Sketch="sketch",t.SketchCancel="sketch-cancel",t.SketchDone="sketch-done",t.Select="select",t.SelectCancel="select-cancel"}(P||(P={}));const E=[{type:P.Select},{type:P.Sketch}],j={[k.None]:null,[k.NoValidInput]:"noProfile",[k.NoVisibleProfiles]:"noProfile",[k.RefinedButNoChartData]:"noProfile",[k.TooComplex]:"tooComplex",[k.UnknownError]:"unknown",[k.InvalidGeometry]:"invalidGeometry",[k.InvalidElevationInfo]:"invalidElevationInfo"};let z=class extends m{constructor(t,e){super(t,e),this.viewModel=null,this.view=null,this.input=null,this.profiles=null,this.unitOptions=[],this.unit="metric",this.geodesicDistanceThreshold=1e5,this.visibleElements=new v,this.iconClass=_.widgetIcon,this.label=void 0,this.messages=null,this.messagesCommon=null,this.messagesUnits=null,this._chartContainer=null,this._chart=null,this._chartInitTask=null,this._chartIsRefined=!1,this._width=0,this._zoomOutButtonVisible=!1,this._getChartUpdateParamsMemoized=a(((t,e,s,i)=>({chart:t,data:e,stationary:s,messages:i}))),this._getDetailsPropsMemoized=a(((t,e)=>({effectiveUnits:t,profiles:e}))),t?.viewModel||(this._defaultViewModel=new C({view:t?.view}),this.viewModel=this._defaultViewModel)}initialize(){this._legend=new g(this._legendProps),this._settingsButton=new f(this._settingsButtonProps),this.addHandles([c((()=>this._legendProps),(t=>this._legend.set(t))),c((()=>this._settingsButtonProps),(t=>this._settingsButton.set(t)))])}postInitialize(){this.addHandles([c((()=>({container:this._chartContainer,width:this._width})),(({container:t,width:e})=>{this._destroyChart(),s(t)&&e>0&&this._initializeChart(t)}),h),c((()=>this._chartUpdateParams),(()=>this._updateChart(this._chartUpdateParams)),h)])}destroy(){this._destroyChart(),s(this._defaultViewModel)&&this.viewModel!==this._defaultViewModel&&this._defaultViewModel.destroy(),this._legend=i(this._legend),this._settingsButton=i(this._settingsButton)}get _portrait(){return this._width<w().portraitModePixelBreakpoint}get _chartUpdateParams(){const t=this.view;return this._getChartUpdateParamsMemoized(this._chart,this.viewModel.chartData,!s(t)||t.stationary,this._chartMessages)}get _chartMessages(){return{...this.messagesUnits,...this.messages}}get _legendProps(){return this._getDetailsPropsMemoized(this.viewModel.effectiveUnits,this._profilesArray)}get _profilesArray(){return this.profiles.toArray()}get _settingsButtonProps(){return{viewModel:this.viewModel,visibleElements:this.visibleElements}}render(){const{viewModel:t,visible:e}=this;return M("div",{key:this,class:this.classes({[_.base]:e,[_.esriWidget]:e,[_.esriWidgetDisabled]:e&&"disabled"===t.state,[_.portrait]:this._portrait,[_.refined]:1===t.progress}),"aria-label":this.messages.widgetLabel,afterCreate:t=>{this.addHandles(S(t,(t=>{this._width=t.contentRect.width})))}},e&&this._renderContentForState())}_renderContentForState(){switch(this.viewModel.state){case b.Ready:return this._renderContentForReadyState();case b.Selecting:return this._renderContentForSelectingState();case b.Creating:return this._renderContentForCreatingState();case b.Selected:return this._renderContentForSelectedState();case b.Created:return this._renderContentForCreatedState();case b.Disabled:return this._renderContentForReadyState()}}_renderContentForReadyState(){const{sketchButton:t,selectButton:e}=this.visibleElements,s=this.messages;let i;return i=t&&e?s.readyPrompt:t?s.readyPromptCreateOnly:e?s.readyPromptSelectOnly:s.errors?.noProfile,this._renderContent({prompt:i,chart:!1,actions:E})}_renderContentForSelectingState(){const t=this.view;if(r(t))return null;const e=this.messages[`selectingPrompt-${t.type}`];return this._renderContent({prompt:e,chart:!1,actions:[{type:P.SelectCancel}]})}_renderContentForCreatingState(){const{view:t,viewModel:e}=this;if(r(t))return null;const s=e.hasVertices?[{type:P.SketchCancel},{type:P.SketchDone,disabled:!e.tool.interaction.canStopCreating}]:[{type:P.Select},{type:P.Sketch,disabled:!0}];if(e.errorState===k.NoValidInput){const e=this.messages[`creatingPrompt-${t.type}`];return this._renderContent({chart:!1,actions:s,prompt:e})}const i=this._getErrorMessage();return i?this._renderContent({chart:!1,actions:s,prompt:i}):this._renderContent({chart:!0,actions:s})}_renderContentForSelectedState(){const t=this._getErrorMessage();return t?this._renderContent({chart:!1,actions:E,prompt:t}):this._renderContent({chart:!0,actions:E})}_renderContentForCreatedState(){const t=this._getErrorMessage();return t?this._renderContent({chart:!1,actions:E,prompt:t}):this._renderContent({chart:!0,actions:E})}_getErrorMessage(){const t=j[this.viewModel.errorState];return this.messages?.errors?.[t]}_renderContent(t){const e=s(t.prompt)?this._renderPrompt(t.prompt):t.chart&&this._renderChart(),i=s(this.viewModel.input);return[M("header",{key:"header",class:_.header},this._zoomOutButtonVisible&&this._renderZoomOutButton(),this.visibleElements.clearButton&&i&&this._renderClearButton(),this.visibleElements.settingsButton&&this._settingsButton.render()),M("div",{class:_.mainContainer},e),this.visibleElements.legend&&this._legend.render(),this._renderActions(t)]}_renderZoomOutButton(){return M("button",{key:"zoom-out",class:_.zoomOutButton,bind:this,onclick:this._onZoomOutButtonClick,title:this.messages.zoomOut,type:"button"})}_onZoomOutButtonClick(){o(this._chart,(t=>t.zoomOut()))}_renderClearButton(){return M("button",{key:"clear-profile",class:_.clearButton,bind:this,onclick:this._onClearButtonClick,title:this.messages.clearProfile,type:"button"})}_onClearButtonClick(){this.viewModel.clear()}_renderPrompt(t){return[M("div",{key:"prompt-container",bind:this,class:_.promptContainer},M("p",null,t))]}_renderChart(){if(!this.visibleElements.chart)return[M("div",{key:"empty-chart-container",class:_.chartContainer})];const t=this._chartIsRefined||this._canRenderChart();if(!t)return[this._renderSpinner({size:"large"}),M("div",{key:"chart-container-empty",class:_.chartContainer})];const{chartData:e,progress:i}=this.viewModel;return[s(e)&&i>0&&i<1&&this._renderSpinner({size:t?"small":"large"}),M("div",{key:"chart-container",bind:this,class:_.chartContainer,afterCreate:this._onChartContainerAfterCreate,afterRemoved:this._onChartContainerRemoved})]}_renderSpinner(t){return M("div",{key:"spinner",class:this.classes(_.chartSpinner,{[_.chartSpinnerSmall]:"small"===t.size}),afterCreate:this._onSpinnerAfterCreate,exitAnimation:this._onSpinnerExit})}_onSpinnerAfterCreate(t){requestAnimationFrame((()=>t.classList.add(_.chartSpinnerVisible)))}_onSpinnerExit(t,e){t.classList.remove(_.chartSpinnerVisible),setTimeout(e,200)}_canRenderChart(){const t=this.viewModel.chartData;if(r(t))return!1;if(!this.viewModel.inputIsSketched)return t.refined;let e=0;for(const{samples:i}of t.lines)e+=s(i)?i.length:0;return t.refined||e<=w().largeChartSamples}_renderActions({actions:t}){const e=t.map((t=>{switch(t.type){case P.Sketch:return this.visibleElements.sketchButton&&this._renderAction({action:t,onClick:this._onSketchButtonClick,className:_.sketchButton,label:this.messages.sketchButtonLabel});case P.SketchCancel:return this.visibleElements.sketchButton&&this._renderAction({action:t,onClick:this._onCancelButtonClick,className:_.sketchCancelButton,label:this.messagesCommon.cancel});case P.SketchDone:return this.visibleElements.sketchButton&&this._renderAction({action:t,onClick:this._onDoneButtonClick,className:_.sketchDoneButton,label:this.messagesCommon.done});case P.Select:return this.visibleElements.selectButton&&this._renderAction({action:t,onClick:this._onSelectButtonClick,className:_.selectButton,label:this.messages.selectButtonLabel});case P.SelectCancel:return this.visibleElements.selectButton&&this._renderAction({action:t,onClick:this._onCancelButtonClick,className:_.selectCancelButton,label:this.messagesCommon.cancel})}})).filter(Boolean);return e.length?M("footer",{key:"footer",class:_.footer},e):null}_renderAction({action:t,onClick:e,className:s,label:i}){return M("button",{key:`action-${t.type}`,class:this.classes(_.actionButton,s,{[_.buttonDisabled]:t.disabled}),bind:this,disabled:t.disabled,onclick:e,type:"button"},i)}_onSketchButtonClick(){this.viewModel.start({mode:"sketch"})}_onSelectButtonClick(){this.viewModel.start({mode:"select"})}_onCancelButtonClick(){this.viewModel.cancel()}_onDoneButtonClick(){this.viewModel.stop()}_updateChart(t){const{data:e,chart:i,messages:o,stationary:n}=t;!r(i)&&!r(o)&&n&&this._canRenderChart()&&(i.update(t),this._chartIsRefined=s(e)&&e.refined)}_onChartContainerAfterCreate(t){this._chartContainer=t}_onChartContainerRemoved(){this._chartContainer=null}_initializeChart(t){n(this._chartInitTask),this._chartInitTask=e((async e=>{const s=await y({container:t,abortOptions:{signal:e},onRangeChange:(t,e)=>{this._zoomOutButtonVisible=1!==t||1!==e},onCursorPositionChange:t=>{this.viewModel.hoveredChartPosition=t}});if(e.aborted)throw i(s),l();this._chart=s,this._updateChart(this._chartUpdateParams)}))}_destroyChart(){this._chartInitTask=n(this._chartInitTask),this._chart=i(this._chart),this._chartIsRefined=!1}get test(){return{projector:this._projector,chart:this._chart}}};t([p({type:C})],z.prototype,"viewModel",void 0),t([d("viewModel.view")],z.prototype,"view",void 0),t([d("viewModel.input")],z.prototype,"input",void 0),t([d("viewModel.profiles")],z.prototype,"profiles",void 0),t([d("viewModel.unitOptions")],z.prototype,"unitOptions",void 0),t([d("viewModel.unit")],z.prototype,"unit",void 0),t([d("viewModel.geodesicDistanceThreshold")],z.prototype,"geodesicDistanceThreshold",void 0),t([p({type:v,nonNullable:!0})],z.prototype,"visibleElements",void 0),t([p()],z.prototype,"iconClass",void 0),t([d("messages.widgetLabel",{overridable:!0})],z.prototype,"label",void 0),t([d("viewModel.visible")],z.prototype,"visible",void 0),t([p(),B("esri/widgets/ElevationProfile/t9n/ElevationProfile")],z.prototype,"messages",void 0),t([p(),B("esri/t9n/common")],z.prototype,"messagesCommon",void 0),t([p(),B("esri/core/t9n/Units")],z.prototype,"messagesUnits",void 0),t([p()],z.prototype,"_chartContainer",void 0),t([p()],z.prototype,"_chart",void 0),t([p()],z.prototype,"_chartInitTask",void 0),t([p()],z.prototype,"_chartIsRefined",void 0),t([p()],z.prototype,"_settingsButton",void 0),t([p()],z.prototype,"_legend",void 0),t([p()],z.prototype,"_width",void 0),t([p()],z.prototype,"_portrait",null),t([p()],z.prototype,"_zoomOutButtonVisible",void 0),t([p()],z.prototype,"_chartUpdateParams",null),t([p()],z.prototype,"_chartMessages",null),t([p()],z.prototype,"_legendProps",null),t([p()],z.prototype,"_profilesArray",null),t([p()],z.prototype,"_settingsButtonProps",null),z=t([u("esri.widgets.ElevationProfile")],z);const I=z;export{I 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.25/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../core/Handles.js";import{IdentifiableMixin as s}from"../../core/Identifiable.js";import{watch as n,initial as r}from"../../core/reactiveUtils.js";import{property as i}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as o}from"../../core/accessorSupport/decorators/subclass.js";import l from"../Widget.js";import{getLegendLayerInfo as a}from"./support/layerListUtils.js";import{isWidget as c}from"../support/widget.js";import{tsx as d}from"../support/jsxFactory.js";const h={base:"esri-layer-list-panel",content:"esri-layer-list-panel__content",contentLegend:"esri-layer-list-panel__content--legend",contentString:"esri-layer-list-panel__content--string",contentElement:"esri-layer-list-panel__content--html-element",contentWidget:"esri-layer-list-panel__content--widget"},p="legends";let g=class extends(s(l)){constructor(e,s){super(e,s),this._legend=null,this._handles=new t,this.content=null,this.image=null,this.listItem=null,this.open=!1,this.visible=!0}initialize(){this.addHandles(n((()=>this.content),(e=>this._createLegend(e)),r))}destroy(){const{_legend:e}=this;e&&e.destroy(),this._legend=null}get className(){const{image:e}=this,t=this._getFirstWidget();return this._get("className")||!e&&t?t.iconClass:""}set className(e){void 0!==e?this._override("className",e):this._clearOverride("className")}get title(){const e=this._getFirstWidget();return this._get("title")||e?e.label:""}set title(e){void 0!==e?this._override("title",e):this._clearOverride("title")}render(){return d("div",{class:h.base},this._renderContents())}_renderContent(e){const{_legend:t,listItem:s}=this;if(!e)return null;if("legend"===e){return s&&s.view&&s.layer&&t?d("div",{class:this.classes(h.content,h.contentLegend),key:t},t.render()):null}return"string"==typeof e?d("div",{class:this.classes(h.content,h.contentString),key:e,innerHTML:e}):c(e)?d("div",{class:this.classes(h.content,h.contentWidget),key:e},e.render()):e instanceof HTMLElement?d("div",{class:this.classes(h.content,h.contentElement),key:e,bind:e,afterCreate:this._attachToNode}):null}_renderContents(){const{content:e}=this;return Array.isArray(e)?e.map((e=>this._renderContent(e))):this._renderContent(e)}_getLegendOptions(){const{listItem:e}=this;if(!e)return{};const{layer:t,view:s}=e;return t&&s?{view:s,layerInfos:[a(t)]}:{}}_createLegend(e){this._hasLegend(e)&&!this._legend&&import("../Legend.js").then((({default:e})=>{const{_handles:t,listItem:s}=this,i=new e(this._getLegendOptions());this._legend=i,this.notifyChange("className"),this.notifyChange("title");const o=n((()=>[s?.view,s?.layer,s?.layer?.source,s?.layer?.parent]),(()=>this._updateLegend(i)),r);t.add(o,p),this.scheduleRender()}))}_hasLegend(e){const t="legend";return e===t||!!Array.isArray(e)&&e.includes(t)}_attachToNode(e){e.appendChild(this)}_updateLegend(e){e.set(this._getLegendOptions()),this.scheduleRender()}_getWidget(e){return"legend"===e?this._legend:c(e)?e:null}_getFirstWidget(){const{content:e}=this;if(Array.isArray(e)){let t=null;return e.some((e=>{const s=this._getWidget(e);return s&&(t=s),!!s})),t}return this._getWidget(e)}};e([i()],g.prototype,"className",null),e([i()],g.prototype,"content",void 0),e([i()],g.prototype,"image",void 0),e([i()],g.prototype,"listItem",void 0),e([i()],g.prototype,"title",null),e([i()],g.prototype,"open",void 0),e([i()],g.prototype,"visible",void 0),g=e([o("esri.widgets.LayerList.ListItemPanel")],g);const _=g;export{_ as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../core/Handles.js";import{IdentifiableMixin as s}from"../../core/Identifiable.js";import{watch as n,initial as i}from"../../core/reactiveUtils.js";import{property as r}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as o}from"../../core/accessorSupport/decorators/subclass.js";import l from"../Widget.js";import{getLegendLayerInfo as a}from"./support/layerListUtils.js";import{isWidget as d}from"../support/widget.js";import{tsx as c}from"../support/jsxFactory.js";const h={base:"esri-layer-list-panel",content:"esri-layer-list-panel__content",contentLegend:"esri-layer-list-panel__content--legend",contentString:"esri-layer-list-panel__content--string",contentElement:"esri-layer-list-panel__content--html-element",contentWidget:"esri-layer-list-panel__content--widget"},p="legends";let g=class extends(s(l)){constructor(e,s){super(e,s),this._legend=null,this._handles=new t,this.content=null,this.image=null,this.listItem=null,this.open=!1,this.visible=!0}initialize(){this.addHandles(n((()=>this.content),(e=>this._createLegend(e)),i))}destroy(){const{_legend:e}=this;e&&e.destroy(),this._legend=null}get className(){const{image:e}=this,t=this._getFirstWidget();return this._get("className")||!e&&t?t.iconClass:""}set className(e){void 0!==e?this._override("className",e):this._clearOverride("className")}get disabled(){const{listItem:e,_legend:t,content:s}=this;return!e||!(Array.isArray(s)&&s.length>1)&&(!!t&&(!t.activeLayerInfos?.length||!e.visibleAtCurrentScale))}set disabled(e){void 0!==e?this._override("disabled",e):this._clearOverride("disabled")}get title(){const e=this._getFirstWidget();return this._get("title")||e?e.label:""}set title(e){void 0!==e?this._override("title",e):this._clearOverride("title")}render(){return c("div",{class:h.base},this._renderContents())}_renderContent(e){const{_legend:t,disabled:s}=this;return!e||s?null:"legend"===e&&t?c("div",{class:this.classes(h.content,h.contentLegend),key:t},t.render()):"string"==typeof e?c("div",{class:this.classes(h.content,h.contentString),key:e,innerHTML:e}):d(e)?c("div",{class:this.classes(h.content,h.contentWidget),key:e},e.render()):e instanceof HTMLElement?c("div",{class:this.classes(h.content,h.contentElement),key:e,bind:e,afterCreate:this._attachToNode}):null}_renderContents(){const{content:e}=this;return Array.isArray(e)?e.map((e=>this._renderContent(e))):this._renderContent(e)}_getLegendOptions(){const{listItem:e}=this;if(!e)return{};const{layer:t,view:s}=e;return t&&s?{view:s,layerInfos:[a(t)]}:{}}_createLegend(e){this._hasLegend(e)&&!this._legend&&import("../Legend.js").then((({default:e})=>{const{_handles:t,listItem:s}=this,r=new e(this._getLegendOptions());this._legend=r,this.notifyChange("className"),this.notifyChange("title");const o=n((()=>[s?.view,s?.layer,s?.layer?.source,s?.layer?.parent]),(()=>this._updateLegend(r)),i);t.add(o,p),this.scheduleRender()}))}_hasLegend(e){const t="legend";return e===t||!!Array.isArray(e)&&e.includes(t)}_attachToNode(e){e.appendChild(this)}_updateLegend(e){e.set(this._getLegendOptions()),this.scheduleRender()}_getWidget(e){return"legend"===e?this._legend:d(e)?e:null}_getFirstWidget(){const{content:e}=this;if(Array.isArray(e)){let t=null;return e.some((e=>{const s=this._getWidget(e);return s&&(t=s),!!s})),t}return this._getWidget(e)}};e([r()],g.prototype,"_legend",void 0),e([r()],g.prototype,"className",null),e([r()],g.prototype,"content",void 0),e([r()],g.prototype,"disabled",null),e([r()],g.prototype,"image",void 0),e([r()],g.prototype,"listItem",void 0),e([r()],g.prototype,"title",null),e([r()],g.prototype,"open",void 0),e([r()],g.prototype,"visible",void 0),g=e([o("esri.widgets.LayerList.ListItemPanel")],g);const _=g;export{_ 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.25/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../chunks/tslib.es6.js";import t from"../core/Collection.js";import{eventKey as i}from"../core/events.js";import s from"../core/Handles.js";import has from"../core/has.js";import{on as o,watch as n,initial as r,syncAndInitial as l}from"../core/reactiveUtils.js";import{aliasOf as a}from"../core/accessorSupport/decorators/aliasOf.js";import"../core/arrayUtils.js";import{cast as c}from"../core/accessorSupport/decorators/cast.js";import{property as d}from"../core/accessorSupport/decorators/property.js";import{subclass as h}from"../core/accessorSupport/decorators/subclass.js";import m from"./Widget.js";import g from"./LayerList/LayerListViewModel.js";import u from"./LayerList/ListItem.js";import{findSelectedItem as p,sortLayersToIds as _,sortChildLayersToIds as b,canSortSublayers as y}from"./LayerList/support/layerListUtils.js";import{accessibleHandler as v}from"./support/decorators/accessibleHandler.js";import{messageBundle as I}from"./support/decorators/messageBundle.js";import{vmEvent as f}from"./support/decorators/vmEvent.js";import{tsx as C}from"./support/jsxFactory.js";import"./support/widgetUtils.js";import A from"sortablejs";function w(e,t,i){e.splice(i,0,e.splice(t,1)[0])}const S="esri-layerlist-new-ui",k=t.ofType(u),L="data-sort-filter",M="data-layer-uid",T="layerUid",E={base:"esri-layer-list esri-widget esri-widget--panel",newUI:"esri-layer-list--new-ui",noItems:"esri-layer-list__no-items",list:"esri-layer-list__list",listRoot:"esri-layer-list__list--root",listExclusive:"esri-layer-list__list--exclusive",listInherited:"esri-layer-list__list--inherited",listIndependent:"esri-layer-list__list--independent",item:"esri-layer-list__item",itemContent:"esri-layer-list__item-content",itemMessage:"esri-layer-list__item--has-message",itemInvisible:"esri-layer-list__item--invisible",itemInvisibleAtScale:"esri-layer-list__item--invisible-at-scale",itemUpdating:"esri-layer-list__item--updating",itemChildren:"esri-layer-list__item--has-children",itemSelectable:"esri-layer-list__item--selectable",itemContainer:"esri-layer-list__item-container",actionsMenu:"esri-layer-list__item-actions-menu",actionsMenuItem:"esri-layer-list__item-actions-menu-item",actionsMenuItemActive:"esri-layer-list__item-actions-menu-item--active",actions:"esri-layer-list__item-actions",actionsList:"esri-layer-list__item-actions-list",action:"esri-layer-list__item-action",actionIcon:"esri-layer-list__item-action-icon",actionImage:"esri-layer-list__item-action-image",actionTitle:"esri-layer-list__item-action-title",actionToggle:"esri-layer-list__action-toggle",actionToggleOn:"esri-layer-list__action-toggle--on",label:"esri-layer-list__item-label",message:"esri-layer-list__item-message",title:"esri-layer-list__item-title",connectionStatus:"esri-layer-list__connection-status",connectionStatusDisconnected:"esri-layer-list__connection-status--disconnected",connectionStatusConnected:"esri-layer-list__connection-status--connected",toggleVisible:"esri-layer-list__item-toggle",toggleVisibleIcon:"esri-layer-list__item-toggle-icon",toggleIcon:"esri-layer-list__item-toggle-icon",radioIcon:"esri-layer-list__item-radio-icon",childToggle:"esri-layer-list__child-toggle",childToggleOpen:"esri-layer-list__child-toggle--open",childOpened:"esri-layer-list__child-toggle-icon--opened",childClosed:"esri-layer-list__child-toggle-icon--closed",childClosed_RTL:"esri-layer-list__child-toggle-icon--closed-rtl",sortableChosen:"esri-layer-list--chosen",disabled:"esri-disabled",disabledElement:"esri-disabled-element",hidden:"esri-hidden",rotating:"esri-rotating",iconEllipses:"esri-icon-handle-horizontal",iconVisible:"esri-icon-visible",iconInvisible:"esri-icon-non-visible",iconRadioSelected:"esri-icon-radio-checked",iconRadioUnselected:"esri-icon-radio-unchecked",iconNoticeTriangle:"esri-icon-notice-triangle",iconChildrenOpen:"esri-icon-down-arrow",iconDownArrow:"esri-icon-down-arrow",iconRightArrow:"esri-icon-right-triangle-arrow",iconLeftArrow:"esri-icon-left-triangle-arrow",iconLoading:"esri-icon-loading-indicator",iconDefaultAction:"esri-icon-default-action",widgetIcon:"esri-icon-layers"},R={actions:"actions",actionSection:"action-section",items:"items"},x={exclusive:"exclusive",inherited:"inherited",independent:"independent"};function U(e){const{actionsOpen:t,children:i}=e;t&&(e.actionsOpen=!1),i.forEach((e=>U(e)))}const O="root",N={statusIndicators:!0};let V=class extends m{constructor(e,t){super(e,t),this._handles=new s,this._sortableNodes=new Map,this._sortableMap=new Map,this._focusSortUid=null,this._newUI=has(S),this._tooltipReferenceMap=new Map,this.visibleItems=null,this.iconClass=E.widgetIcon,this.label=void 0,this.listItemCanGiveFunction=null,this.listItemCanReceiveFunction=null,this.listItemCreatedFunction=null,this.messages=null,this.messagesCommon=null,this.multipleSelectionEnabled=!1,this.operationalItems=null,this.selectionEnabled=!1,this.selectedItems=new k,this.view=null,this.viewModel=new g,this.visibleElements={...N},this._onSortableSort=({to:e,from:t,item:i,newIndex:s})=>{t&&e&&(t===e?this._sortLayers(this._sortableMap.get(t.dataset.group)):this._moveLayerFromChildList({to:e,from:t,item:i,newIndex:s}))},this._sortableCanSort=(e,t)=>!(!e.el.dataset.group||!t.el.dataset.group),this._sortableCanPull=(e,t,i)=>{const{listItemCanGiveFunction:s}=this,o={selected:i["data-item"],from:t.el["data-item"],to:e.el["data-item"]};return!this._sortableCanSort(e,t)||"function"!=typeof s||s.call(null,o)},this._sortableCanPut=(e,t,i)=>{const{listItemCanReceiveFunction:s}=this,o={selected:i["data-item"],from:t.el["data-item"],to:e.el["data-item"]};return!this._sortableCanSort(e,t)||"function"!=typeof s||s.call(null,o)},this._onSortableEnd=({oldIndex:e,from:t,to:i,item:s})=>{t!==i&&t.insertBefore(s,t.children[e])}}initialize(){const e=this.operationalItems;this._setVisibleItems(e),this.addHandles([o((()=>this.operationalItems),"change",(()=>this._itemsChanged(e))),n((()=>this.errorsVisible),(()=>this._itemsChanged(e))),n((()=>this.selectionEnabled),(()=>this._toggleAllSorting()),r)])}loadDependencies(){return import("@esri/calcite-components/dist/components/calcite-tooltip.js")}destroy(){this._destroySortables(),this._tooltipReferenceMap.clear(),this._handles.destroy(),this._handles=null}castVisibleElements(e){return{...N,...e}}triggerAction(e,t){this.viewModel.triggerAction(e,t)}render(){const{visibleItems:e,_newUI:t}=this,i=this.viewModel?.state,s={[E.newUI]:t,[E.hidden]:"loading"===i,[E.disabled]:"disabled"===i},o=this.renderItemTooltips(),n=this.renderItems();return C("div",{class:this.classes(E.base,s)},e?.length?[o,n]:this.renderNoItems())}renderItemTooltip(e){const{_tooltipReferenceMap:t,messages:i}=this;return e?C("calcite-tooltip",{label:i.layerIncompatible,referenceElement:t.get(e.uid)},i.layerIncompatibleTooltip):null}renderItemTooltipNodes(e){const{incompatible:t,children:i}=e;return[t?this.renderItemTooltip(e):null,...t?[]:i?.toArray().map((e=>this.renderItemTooltipNodes(e)))]}renderItemTooltips(){return this.visibleItems.toArray().map((e=>this.renderItemTooltipNodes(e)))}renderNoItems(){return C("div",{class:E.noItems},this.messages.noItemsToDisplay)}renderItems(){const{visibleItems:e,selectionEnabled:t,messages:i}=this;return C("ul",{"aria-label":i.widgetLabel,role:t?"listbox":void 0,afterCreate:this._sortNodeCreated,afterUpdate:this._sortNodeCreated,afterRemoved:this._sortNodeRemoved,"data-group":O,bind:this,class:this.classes(E.list,E.listRoot,E.listIndependent)},e?.map((e=>this.renderItem(e,null))).toArray())}renderActionsMenuIcon(e,t){const{messagesCommon:i}=this,s={[E.actionsMenuItemActive]:e.actionsOpen};return C("div",{key:"actions-menu-toggle","data-item":e,bind:this,onclick:this._toggleActionsOpen,onkeydown:this._toggleActionsOpen,class:this.classes(E.actionsMenuItem,s),tabindex:"0",role:"button","aria-controls":t,"aria-label":i.options,title:i.options},C("span",{"aria-hidden":"true",class:E.iconEllipses}))}renderActionsMenu(e,t,i,s){const{panel:o}=e,n=o&&o.visible?this.renderPanelButton(o):null,r=1===i&&this._getSingleActionButton(t),l=r?this.renderAction({item:e,action:r,singleAction:!0}):null,a=!r&&i?this.renderActionsMenuIcon(e,s):null;return a||n||r?C("div",{key:"actions-menu",class:E.actionsMenu},n,l,a):null}renderChildList(e,t){const{selectionEnabled:i}=this,{visibilityMode:s,children:o}=e,n=this._hasChildren(e),r=!n&&i&&"group"===e.layer?.type,{exclusive:l,inherited:a}=x,c={[E.listExclusive]:s===l,[E.listInherited]:s===a,[E.listIndependent]:s!==a&&s!==l};return n||r?C("ul",{bind:this,key:"list-items",id:t,"data-group":e.uid,"data-item":e,afterCreate:this._sortNodeCreated,afterUpdate:this._sortNodeCreated,afterRemoved:this._sortNodeRemoved,class:this.classes(E.list,c),"aria-expanded":e.open?"true":"false",role:i?"listbox":s===l?"radiogroup":"group",hidden:!e.open&&!r||null},o?.map((t=>this.renderItem(t,e))).toArray()):null}renderChildrenToggle(e,t){const{messagesCommon:i}=this,s=this._hasChildren(e),o={[E.childToggleOpen]:e.open},n=e.open?i.collapse:i.expand;return s?C("span",{onclick:this._toggleChildrenClick,onkeydown:this._toggleChildrenClick,"data-item":e,key:"toggle-children",class:this.classes(E.childToggle,o),tabindex:"0",role:"button","aria-controls":t,"aria-label":n,title:n},C("span",{"aria-hidden":"true",class:this.classes(E.childClosed,E.iconRightArrow)}),C("span",{"aria-hidden":"true",class:this.classes(E.childOpened,E.iconDownArrow)}),C("span",{"aria-hidden":"true",class:this.classes(E.childClosed_RTL,E.iconLeftArrow)})):null}renderItemMessage(e){return e.error?C("div",{key:"esri-layer-list__error",class:E.message,role:"alert"},C("span",{"aria-hidden":"true",class:E.iconNoticeTriangle}),this.messages.layerError):e.incompatible?C("div",{key:"esri-layer-list__incompatible",class:E.message,role:"alert"},C("span",{bind:this,tabIndex:0,"aria-hidden":"true",class:E.iconNoticeTriangle,afterCreate:t=>this._setTooltipReference(t,e)}),this.messages.layerIncompatible):null}renderItemContent(e,t,i){const{id:s}=this,o=`${s}_${e.uid}`,n=`${o}_actions`,r=`${o}__list`,{panel:l}=e,a=this._filterActions(e.actionsSections),c=this._countActions(a);return[C("div",{key:"list-item-container",class:E.itemContainer},this.renderChildrenToggle(e,r),this.renderLabel(e,t,i),this.renderActionsMenu(e,a,c,n)),this.renderItemMessage(e),c?this.renderActionsSections(e,a,n):null,l&&l.open?l.render():null,this.renderChildList(e,r)]}renderItem(e,t){const{_newUI:i,id:s,selectionEnabled:o,selectedItems:n,visibleElements:r}=this,l=`${`${s}_${e.uid}`}__title`,a=this._hasMessage(e),c=this._hasChildren(e),d={[E.itemChildren]:c,[E.itemMessage]:!!a,[E.itemUpdating]:e.updating&&!t&&r.statusIndicators,[E.itemInvisible]:i&&!e.visible,[E.itemInvisibleAtScale]:!e.visibleAtCurrentScale,[E.itemSelectable]:o};if(o){const i={[M]:e.layer?.uid,[L]:(!e.sortable).toString()};return C("li",{key:`item-with-selection-${e.uid}`,bind:this,afterCreate:this._focusListItem,afterUpdate:this._focusListItem,class:this.classes(E.item,d),"aria-labelledby":l,onclick:this._toggleSelection,onkeydown:this._selectionKeydown,"data-item":e,"data-group":t?t.uid:O,tabIndex:0,"aria-selected":p(e,n)?"true":"false",role:"option",...i},this.renderItemContent(e,t,l))}return C("li",{key:`item-no-selection-${e.uid}`,bind:this,afterCreate:this._focusListItem,afterUpdate:this._focusListItem,class:this.classes(E.item,d),"aria-labelledby":l},this.renderItemContent(e,t,l))}renderItemConnectionStatus(e){const{connectionStatus:t}=e;return t?C("span",{class:this.classes({[E.connectionStatus]:!0,[E.connectionStatusDisconnected]:"disconnected"===t,[E.connectionStatusConnected]:"connected"===t}),key:"layer-connection-status"}):null}renderItemTitle(e,t){const{messages:i}=this;if(!e)return null;const s=e.title||i.untitledLayer,o=e.visibleAtCurrentScale?s:`${s} (${i.layerInvisibleAtScale})`;return C("span",{key:"layer-title-container",id:t,title:o,"aria-label":o,class:E.title},s)}renderItemToggleIcon(e,t){const{_newUI:i}=this,{exclusive:s}=x,o=t&&t.visibilityMode,n={[E.toggleVisibleIcon]:i,[E.toggleIcon]:i&&o!==s,[E.radioIcon]:i&&o===s,[E.iconRadioSelected]:o===s&&e.visible,[E.iconRadioUnselected]:o===s&&!e.visible,[E.iconVisible]:o!==s&&e.visible,[E.iconInvisible]:o!==s&&!e.visible};return C("span",{key:"item-toggle-icon",class:this.classes(n),"aria-hidden":"true"})}renderItemToggle(e,t,i){const{selectionEnabled:s,messages:o}=this,{exclusive:n}=x,r=t&&t.visibilityMode,l=r===n?"radio":"switch";return C("span",s?{key:"item-toggle-selection-enabled",class:E.toggleVisible,bind:this,onclick:this._toggleVisibility,onkeydown:this._toggleVisibility,"data-item":e,"data-parent-visibility":r,tabIndex:0,title:e.visible?o.hideLayer:o.showLayer,"aria-checked":e.visible?"true":"false",role:l,"aria-labelledby":i}:{key:"item-toggle",class:E.toggleVisible},this.renderItemToggleIcon(e,t))}renderLabel(e,t,i){const{selectionEnabled:s,_newUI:o,messages:n}=this,{inherited:r,exclusive:l}=x,a=t?.visibilityMode,c=a===l?"radio":"switch",d=[this.renderItemToggle(e,t,i),this.renderItemConnectionStatus(e),this.renderItemTitle(e,i)];o&&d.reverse();const h=C("div",s?{key:`item-label-no-selection-${e.uid}`,class:E.label}:{key:`item-label-with-selection-${e.uid}`,class:E.label,bind:this,onclick:this._toggleVisibility,onkeydown:this._toggleVisibility,"data-item":e,"data-parent-visibility":a,tabIndex:0,"aria-checked":e.visible?"true":"false",title:e.visible?n.hideLayer:n.showLayer,role:c,"aria-labelledby":i},d);return a===r||e.error?C("div",{key:`item-label-container-${e.uid}`,class:E.label},this.renderItemTitle(e,i)):h}renderPanelButton(e){const{className:t,open:i,title:s,image:o}=e,n=o||t?t:E.iconDefaultAction,r=this._getIconImageStyles(e),l={[E.actionsMenuItemActive]:i},a={[E.actionImage]:!!r["background-image"]};return n&&(a[n]=!!n),C("div",{key:`panel-${e.uid}`,bind:this,"data-panel":e,onclick:this._triggerPanel,onkeydown:this._triggerPanel,class:this.classes(E.actionsMenuItem,l),role:"button",tabindex:"0",title:s,"aria-label":s},C("span",{class:this.classes(a),styles:r}))}renderActionsSections(e,t,i){const s=t.toArray().map(((t,i)=>C("ul",{key:`${e}-action-section-${i}`,class:E.actionsList},this.renderActionSection(e,t))));return C("div",{role:"group","aria-expanded":e.actionsOpen?"true":"false",key:"actions-section",id:i,class:E.actions,hidden:!e.actionsOpen||null},s)}renderActionSection(e,t){return(t&&t.toArray()).map((t=>this.renderAction({item:e,action:t})))}renderActionIcon(e){const{active:t,className:i}=e,s=this._getIconImageStyles(e),o="button"!==e.type||e.image||i?i:E.iconDefaultAction,n={[E.actionImage]:!t&&!!s["background-image"],[E.iconLoading]:t,[E.rotating]:t};return o&&!t&&(n[o]=!0),C("span",{key:"action-icon","aria-hidden":"true",class:this.classes(E.actionIcon,n),styles:s})}renderActionTitle(e,t){return t?null:C("span",{key:"action-title",class:E.actionTitle},e)}renderAction(e){const{item:t,action:i,singleAction:s}=e,{active:o,disabled:n,title:r}=i,l={[E.actionsMenuItem]:s&&"button"===i.type,[E.action]:o||!s&&"toggle"!==i.type,[E.actionToggle]:!o&&"toggle"===i.type,[E.actionToggleOn]:!o&&"toggle"===i.type&&i.value,[E.disabledElement]:n},a=[this.renderActionIcon(i),this.renderActionTitle(r,s)];return s?C("div",{bind:this,"data-item":t,"data-action":i,role:"button",key:`single-action-${i.uid}`,onclick:this._triggerAction,onkeydown:this._triggerAction,classes:l,tabindex:"0",title:r,"aria-label":r},a):C("li",{bind:this,"data-item":t,"data-action":i,key:`action-${i.uid}`,onclick:this._triggerAction,onkeydown:this._triggerAction,classes:l,tabindex:"0",role:"button",title:r,"aria-label":r},a)}_setTooltipReference(e,t){this._tooltipReferenceMap.set(t.uid,e),this.scheduleRender()}_hasMessage(e){return!!e.error||e.incompatible}_hasChildren(e){return!!e.children.length&&!this._hasMessage(e)}_sortNodeRemoved(e){const{_sortableMap:t}=this,i=e.dataset.group,s=t.get(i);s&&s.destroy(),t.delete(i)}_destroySortables(){const{_sortableMap:e,_sortableNodes:t}=this;e.forEach((e=>e&&e.destroy())),e.clear(),t.clear()}_moveLayerFromChildList({to:e,from:t,item:i,newIndex:s}){const o=i["data-item"],n=e["data-item"],r=t["data-item"];this.viewModel.moveListItem(o,r,n,s)}_sortLayers(e){if(!e)return;const t=e.el["data-item"],i=e.toArray();t?b(t,i):_(this.view?.map?.layers,i)}_toggleSorting(e,t){const{_sortableMap:i,selectionEnabled:s}=this,o=i.get(t),n=e["data-item"],r=(t===O||n.childrenSortable&&y(n))&&s;if(o)o.option("disabled",!r);else if(r){const s=A.create(e,{dataIdAttr:M,group:{name:t,pull:this._sortableCanPull,put:this._sortableCanPut},filter:`[${L}="true"]`,fallbackTolerance:4,onSort:this._onSortableSort,onEnd:this._onSortableEnd,disabled:!r,chosenClass:E.sortableChosen});i.set(t,s)}}_toggleAllSorting(){this._sortableNodes.forEach(((e,t)=>this._toggleSorting(e,t)))}_sortNodeCreated(e){const t=e.dataset.group;t&&(this._sortableNodes.set(t,e),this._toggleSorting(e,t))}_setVisibleItems(e){this.visibleItems=e?.filter((e=>!e.hidden&&(this.errorsVisible||!e.error)))}_getSingleActionButton(e){return e.reduce((e=>e)).filter((e=>e&&"button"===e.type)).getItemAt(0)}_focusListItem(e){const{_focusSortUid:t}=this;if(!e||!t)return;e["data-item"].layer?.uid===t&&(e.focus(),this._focusSortUid=null)}_watchActionSectionChanges(e,t){const i=R.actionSection+t;this._handles.add(e.on("change",this.scheduleRender.bind(this)),i),e.forEach((e=>this._renderOnActionChanges(e,t)))}_renderOnActionChanges(e,t){const i=R.actions+t;"toggle"!==e.type?"slider"!==e.type?this._handles.add(n((()=>[e?.className,e?.image,e?.id,e?.title,e?.visible]),(()=>this.scheduleRender()),r),i):this._handles.add(n((()=>[e?.className,e?.id,e?.title,e?.visible,e?.value,e?.displayValueEnabled,e?.max,e?.min,e?.step]),(()=>this.scheduleRender()),r),i):this._handles.add(n((()=>[e?.className,e?.image,e?.id,e?.title,e?.visible,e?.value]),(()=>this.scheduleRender()),r),i)}_renderOnItemChanges(e){const t=e.uid,i=R.items+t;this._handles.add([n((()=>[e?.actionsOpen,e?.visible,e?.open,e?.updating,e?.title,e?.visibleAtCurrentScale,e?.error,e?.visibilityMode,e?.panel,e?.panel?.title,e?.panel?.content,e?.panel?.className,e?.sortable,e?.childrenSortable]),(()=>this.scheduleRender()),l),n((()=>[e?.hidden,e?.error]),(()=>this._setVisibleItems(this.operationalItems))),e.actionsSections.on("change",(()=>this.scheduleRender())),e.children.on("change",(()=>this.scheduleRender()))],i),e.children.forEach((e=>this._renderOnItemChanges(e))),e.actionsSections.forEach((e=>this._watchActionSectionChanges(e,t)))}_itemsChanged(e){this._handles.removeAll(),e.forEach((e=>this._renderOnItemChanges(e))),this._tooltipReferenceMap.clear(),this._setVisibleItems(e),this.scheduleRender()}_filterActions(e){return e.map((e=>e.filter((e=>e.visible))))}_countActions(e){return e.reduce(((e,t)=>e+t.length),0)}_getIconImageStyles(e){const t="esri.widgets.LayerList.ListItemPanel"===e.declaredClass||"esri.support.Action.ActionButton"===e.declaredClass||"esri.support.Action.ActionToggle"===e.declaredClass?e.image:null;return{"background-image":t?`url("${t}")`:null}}_selectionKeydown(e){const t=["ArrowDown","ArrowUp"],s=i(e);if(!t.includes(s))return void this._toggleSelection(e);e.stopPropagation();const o=e.currentTarget,n=o["data-item"],{_sortableMap:r,selectedItems:l}=this,a=o.dataset.group,c=r.get(a);if(!c)return;const d=p(n,l),h=c.toArray(),m=e.target,g=h.indexOf(m.dataset[T]);if(-1!==g){if("ArrowDown"===s){const e=g+1;if(e>=h.length)return;d?(w(h,g,e),c.sort(h),this._sortLayers(c),this._focusSortUid=n.layer?.uid):(this._focusSortUid=n.layer?.uid,this.scheduleRender())}if("ArrowUp"===s){const e=g-1;if(e<=-1)return;d?(w(h,g,e),c.sort(h),this._sortLayers(c),this._focusSortUid=n.layer?.uid):(this._focusSortUid=n.layer?.uid,this.scheduleRender())}}}_toggleActionsOpen(e){const t=e.currentTarget["data-item"],{actionsOpen:i}=t,s=!i;s&&this.operationalItems.forEach((e=>U(e))),t.actionsOpen=s,e.stopPropagation()}_triggerPanel(e){const t=e.currentTarget["data-panel"];t&&(t.open=!t.open),e.stopPropagation()}_triggerAction(e){const t=e.currentTarget,i=t["data-action"],s=t["data-item"];"toggle"===i.type&&(i.value=!i.value),this.triggerAction(i,s),e.stopPropagation()}_toggleVisibility(e){const t=e.currentTarget,i=t.getAttribute("data-parent-visibility"),s=t["data-item"];i===x.exclusive&&s.visible||(s.visible=!s.visible),e.stopPropagation()}_toggleChildrenClick(e){const t=e.currentTarget["data-item"];t.open=!t.open,e.stopPropagation()}_toggleSelection(e){e.stopPropagation();const{multipleSelectionEnabled:t,selectedItems:i}=this,s=e.currentTarget["data-item"],o=p(s,i),{length:n}=i;if(!t)return n&&!(o&&1===n)?(i.removeAll(),void i.add(s)):void(o?i.remove?.(o):i.add(s));o?i.remove?.(o):i.add(s)}};e([d()],V.prototype,"visibleItems",void 0),e([d()],V.prototype,"iconClass",void 0),e([d()],V.prototype,"errorsVisible",void 0),e([d({aliasOf:{source:"messages.widgetLabel",overridable:!0}})],V.prototype,"label",void 0),e([d()],V.prototype,"listItemCanGiveFunction",void 0),e([d()],V.prototype,"listItemCanReceiveFunction",void 0),e([a("viewModel.listItemCreatedFunction")],V.prototype,"listItemCreatedFunction",void 0),e([d(),I("esri/widgets/LayerList/t9n/LayerList")],V.prototype,"messages",void 0),e([d(),I("esri/t9n/common")],V.prototype,"messagesCommon",void 0),e([d()],V.prototype,"multipleSelectionEnabled",void 0),e([a("viewModel.operationalItems")],V.prototype,"operationalItems",void 0),e([d()],V.prototype,"selectionEnabled",void 0),e([d()],V.prototype,"selectedItems",void 0),e([a("viewModel.view")],V.prototype,"view",void 0),e([f("trigger-action"),d({type:g})],V.prototype,"viewModel",void 0),e([d()],V.prototype,"visibleElements",void 0),e([c("visibleElements")],V.prototype,"castVisibleElements",null),e([a("viewModel.triggerAction")],V.prototype,"triggerAction",null),e([v()],V.prototype,"_toggleActionsOpen",null),e([v()],V.prototype,"_triggerPanel",null),e([v()],V.prototype,"_triggerAction",null),e([v()],V.prototype,"_toggleVisibility",null),e([v()],V.prototype,"_toggleChildrenClick",null),e([v()],V.prototype,"_toggleSelection",null),V=e([h("esri.widgets.LayerList")],V);const j=V;export{j as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import t from"../core/Collection.js";import{eventKey as i}from"../core/events.js";import s from"../core/Handles.js";import has from"../core/has.js";import{on as o,watch as n,initial as r,syncAndInitial as l}from"../core/reactiveUtils.js";import{aliasOf as a}from"../core/accessorSupport/decorators/aliasOf.js";import"../core/arrayUtils.js";import{cast as c}from"../core/accessorSupport/decorators/cast.js";import{property as d}from"../core/accessorSupport/decorators/property.js";import{subclass as h}from"../core/accessorSupport/decorators/subclass.js";import m from"./Widget.js";import g from"./LayerList/LayerListViewModel.js";import u from"./LayerList/ListItem.js";import{findSelectedItem as p,sortLayersToIds as _,sortChildLayersToIds as b,canSortSublayers as y}from"./LayerList/support/layerListUtils.js";import{accessibleHandler as v}from"./support/decorators/accessibleHandler.js";import{messageBundle as I}from"./support/decorators/messageBundle.js";import{vmEvent as f}from"./support/decorators/vmEvent.js";import{tsx as C}from"./support/jsxFactory.js";import"./support/widgetUtils.js";import A from"sortablejs";function w(e,t,i){e.splice(i,0,e.splice(t,1)[0])}const S="esri-layerlist-new-ui",k=t.ofType(u),L="data-sort-filter",M="data-layer-uid",T="layerUid",E={base:"esri-layer-list esri-widget esri-widget--panel",newUI:"esri-layer-list--new-ui",noItems:"esri-layer-list__no-items",list:"esri-layer-list__list",listRoot:"esri-layer-list__list--root",listExclusive:"esri-layer-list__list--exclusive",listInherited:"esri-layer-list__list--inherited",listIndependent:"esri-layer-list__list--independent",item:"esri-layer-list__item",itemContent:"esri-layer-list__item-content",itemMessage:"esri-layer-list__item--has-message",itemInvisible:"esri-layer-list__item--invisible",itemInvisibleAtScale:"esri-layer-list__item--invisible-at-scale",itemUpdating:"esri-layer-list__item--updating",itemChildren:"esri-layer-list__item--has-children",itemSelectable:"esri-layer-list__item--selectable",itemContainer:"esri-layer-list__item-container",actionsMenu:"esri-layer-list__item-actions-menu",actionsMenuItem:"esri-layer-list__item-actions-menu-item",actionsMenuItemActive:"esri-layer-list__item-actions-menu-item--active",actions:"esri-layer-list__item-actions",actionsList:"esri-layer-list__item-actions-list",action:"esri-layer-list__item-action",actionIcon:"esri-layer-list__item-action-icon",actionImage:"esri-layer-list__item-action-image",actionTitle:"esri-layer-list__item-action-title",actionToggle:"esri-layer-list__action-toggle",actionToggleOn:"esri-layer-list__action-toggle--on",label:"esri-layer-list__item-label",message:"esri-layer-list__item-message",title:"esri-layer-list__item-title",connectionStatus:"esri-layer-list__connection-status",connectionStatusDisconnected:"esri-layer-list__connection-status--disconnected",connectionStatusConnected:"esri-layer-list__connection-status--connected",toggleVisible:"esri-layer-list__item-toggle",toggleVisibleIcon:"esri-layer-list__item-toggle-icon",toggleIcon:"esri-layer-list__item-toggle-icon",radioIcon:"esri-layer-list__item-radio-icon",childToggle:"esri-layer-list__child-toggle",childToggleOpen:"esri-layer-list__child-toggle--open",childOpened:"esri-layer-list__child-toggle-icon--opened",childClosed:"esri-layer-list__child-toggle-icon--closed",childClosed_RTL:"esri-layer-list__child-toggle-icon--closed-rtl",sortableChosen:"esri-layer-list--chosen",disabled:"esri-disabled",disabledElement:"esri-disabled-element",hidden:"esri-hidden",rotating:"esri-rotating",iconEllipses:"esri-icon-handle-horizontal",iconVisible:"esri-icon-visible",iconInvisible:"esri-icon-non-visible",iconRadioSelected:"esri-icon-radio-checked",iconRadioUnselected:"esri-icon-radio-unchecked",iconNoticeTriangle:"esri-icon-notice-triangle",iconChildrenOpen:"esri-icon-down-arrow",iconDownArrow:"esri-icon-down-arrow",iconRightArrow:"esri-icon-right-triangle-arrow",iconLeftArrow:"esri-icon-left-triangle-arrow",iconLoading:"esri-icon-loading-indicator",iconDefaultAction:"esri-icon-default-action",widgetIcon:"esri-icon-layers"},R={actions:"actions",actionSection:"action-section",items:"items"},x={exclusive:"exclusive",inherited:"inherited",independent:"independent"};function U(e){const{actionsOpen:t,children:i}=e;t&&(e.actionsOpen=!1),i.forEach((e=>U(e)))}const O="root",N={statusIndicators:!0};let V=class extends m{constructor(e,t){super(e,t),this._handles=new s,this._sortableNodes=new Map,this._sortableMap=new Map,this._focusSortUid=null,this._newUI=has(S),this._tooltipReferenceMap=new Map,this.visibleItems=null,this.iconClass=E.widgetIcon,this.label=void 0,this.listItemCanGiveFunction=null,this.listItemCanReceiveFunction=null,this.listItemCreatedFunction=null,this.messages=null,this.messagesCommon=null,this.multipleSelectionEnabled=!1,this.operationalItems=null,this.selectionEnabled=!1,this.selectedItems=new k,this.view=null,this.viewModel=new g,this.visibleElements={...N},this._onSortableSort=({to:e,from:t,item:i,newIndex:s})=>{t&&e&&(t===e?this._sortLayers(this._sortableMap.get(t.dataset.group)):this._moveLayerFromChildList({to:e,from:t,item:i,newIndex:s}))},this._sortableCanSort=(e,t)=>!(!e.el.dataset.group||!t.el.dataset.group),this._sortableCanPull=(e,t,i)=>{const{listItemCanGiveFunction:s}=this,o={selected:i["data-item"],from:t.el["data-item"],to:e.el["data-item"]};return!this._sortableCanSort(e,t)||"function"!=typeof s||s.call(null,o)},this._sortableCanPut=(e,t,i)=>{const{listItemCanReceiveFunction:s}=this,o={selected:i["data-item"],from:t.el["data-item"],to:e.el["data-item"]};return!this._sortableCanSort(e,t)||"function"!=typeof s||s.call(null,o)},this._onSortableEnd=({oldIndex:e,from:t,to:i,item:s})=>{t!==i&&t.insertBefore(s,t.children[e])}}initialize(){const e=this.operationalItems;this._setVisibleItems(e),this.addHandles([o((()=>this.operationalItems),"change",(()=>this._itemsChanged(e))),n((()=>this.errorsVisible),(()=>this._itemsChanged(e))),n((()=>this.selectionEnabled),(()=>this._toggleAllSorting()),r)])}loadDependencies(){return import("@esri/calcite-components/dist/components/calcite-tooltip.js")}destroy(){this._destroySortables(),this._tooltipReferenceMap.clear(),this._handles.destroy(),this._handles=null}castVisibleElements(e){return{...N,...e}}triggerAction(e,t){this.viewModel.triggerAction(e,t)}render(){const{visibleItems:e,_newUI:t}=this,i=this.viewModel?.state,s={[E.newUI]:t,[E.hidden]:"loading"===i,[E.disabled]:"disabled"===i},o=this.renderItemTooltips(),n=this.renderItems();return C("div",{class:this.classes(E.base,s)},e?.length?[o,n]:this.renderNoItems())}renderItemTooltip(e){const{_tooltipReferenceMap:t,messages:i}=this;return e?C("calcite-tooltip",{label:i.layerIncompatible,referenceElement:t.get(e.uid)},i.layerIncompatibleTooltip):null}renderItemTooltipNodes(e){const{incompatible:t,children:i}=e;return[t?this.renderItemTooltip(e):null,...t?[]:i?.toArray().map((e=>this.renderItemTooltipNodes(e)))]}renderItemTooltips(){return this.visibleItems.toArray().map((e=>this.renderItemTooltipNodes(e)))}renderNoItems(){return C("div",{class:E.noItems},this.messages.noItemsToDisplay)}renderItems(){const{visibleItems:e,selectionEnabled:t,messages:i}=this;return C("ul",{"aria-label":i.widgetLabel,role:t?"listbox":void 0,afterCreate:this._sortNodeCreated,afterUpdate:this._sortNodeCreated,afterRemoved:this._sortNodeRemoved,"data-group":O,bind:this,class:this.classes(E.list,E.listRoot,E.listIndependent)},e?.map((e=>this.renderItem(e,null))).toArray())}renderActionsMenuIcon(e,t){const{messagesCommon:i}=this,s={[E.actionsMenuItemActive]:e.actionsOpen};return C("div",{key:"actions-menu-toggle","data-item":e,bind:this,onclick:this._toggleActionsOpen,onkeydown:this._toggleActionsOpen,class:this.classes(E.actionsMenuItem,s),tabindex:"0",role:"button","aria-controls":t,"aria-label":i.options,title:i.options},C("span",{"aria-hidden":"true",class:E.iconEllipses}))}renderActionsMenu(e,t,i,s){const{panel:o}=e,n=o&&o.visible?this.renderPanelButton(o):null,r=1===i&&this._getSingleActionButton(t),l=r?this.renderAction({item:e,action:r,singleAction:!0}):null,a=!r&&i?this.renderActionsMenuIcon(e,s):null;return a||n||r?C("div",{key:"actions-menu",class:E.actionsMenu},n,l,a):null}renderChildList(e,t){const{selectionEnabled:i}=this,{visibilityMode:s,children:o}=e,n=this._hasChildren(e),r=!n&&i&&"group"===e.layer?.type,{exclusive:l,inherited:a}=x,c={[E.listExclusive]:s===l,[E.listInherited]:s===a,[E.listIndependent]:s!==a&&s!==l};return n||r?C("ul",{bind:this,key:"list-items",id:t,"data-group":e.uid,"data-item":e,afterCreate:this._sortNodeCreated,afterUpdate:this._sortNodeCreated,afterRemoved:this._sortNodeRemoved,class:this.classes(E.list,c),"aria-expanded":e.open?"true":"false",role:i?"listbox":s===l?"radiogroup":"group",hidden:!e.open&&!r||null},o?.map((t=>this.renderItem(t,e))).toArray()):null}renderChildrenToggle(e,t){const{messagesCommon:i}=this,s=this._hasChildren(e),o={[E.childToggleOpen]:e.open},n=e.open?i.collapse:i.expand;return s?C("span",{onclick:this._toggleChildrenClick,onkeydown:this._toggleChildrenClick,"data-item":e,key:"toggle-children",class:this.classes(E.childToggle,o),tabindex:"0",role:"button","aria-controls":t,"aria-label":n,title:n},C("span",{"aria-hidden":"true",class:this.classes(E.childClosed,E.iconRightArrow)}),C("span",{"aria-hidden":"true",class:this.classes(E.childOpened,E.iconDownArrow)}),C("span",{"aria-hidden":"true",class:this.classes(E.childClosed_RTL,E.iconLeftArrow)})):null}renderItemMessage(e){return e.error?C("div",{key:"esri-layer-list__error",class:E.message,role:"alert"},C("span",{"aria-hidden":"true",class:E.iconNoticeTriangle}),this.messages.layerError):e.incompatible?C("div",{key:"esri-layer-list__incompatible",class:E.message,role:"alert"},C("span",{bind:this,tabIndex:0,"aria-hidden":"true",class:E.iconNoticeTriangle,afterCreate:t=>this._setTooltipReference(t,e)}),this.messages.layerIncompatible):null}renderItemContent(e,t,i){const{id:s}=this,o=`${s}_${e.uid}`,n=`${o}_actions`,r=`${o}__list`,{panel:l}=e,a=this._filterActions(e.actionsSections),c=this._countActions(a);return[C("div",{key:"list-item-container",class:E.itemContainer},this.renderChildrenToggle(e,r),this.renderLabel(e,t,i),this.renderActionsMenu(e,a,c,n)),this.renderItemMessage(e),c?this.renderActionsSections(e,a,n):null,l&&l.open&&!l.disabled?l.render():null,this.renderChildList(e,r)]}renderItem(e,t){const{_newUI:i,id:s,selectionEnabled:o,selectedItems:n,visibleElements:r}=this,l=`${`${s}_${e.uid}`}__title`,a=this._hasMessage(e),c=this._hasChildren(e),d={[E.itemChildren]:c,[E.itemMessage]:!!a,[E.itemUpdating]:e.updating&&!t&&r.statusIndicators,[E.itemInvisible]:i&&!e.visible,[E.itemInvisibleAtScale]:!e.visibleAtCurrentScale,[E.itemSelectable]:o};if(o){const i={[M]:e.layer?.uid,[L]:(!e.sortable).toString()};return C("li",{key:`item-with-selection-${e.uid}`,bind:this,afterCreate:this._focusListItem,afterUpdate:this._focusListItem,class:this.classes(E.item,d),"aria-labelledby":l,onclick:this._toggleSelection,onkeydown:this._selectionKeydown,"data-item":e,"data-group":t?t.uid:O,tabIndex:0,"aria-selected":p(e,n)?"true":"false",role:"option",...i},this.renderItemContent(e,t,l))}return C("li",{key:`item-no-selection-${e.uid}`,bind:this,afterCreate:this._focusListItem,afterUpdate:this._focusListItem,class:this.classes(E.item,d),"aria-labelledby":l},this.renderItemContent(e,t,l))}renderItemConnectionStatus(e){const{connectionStatus:t}=e;return t?C("span",{class:this.classes({[E.connectionStatus]:!0,[E.connectionStatusDisconnected]:"disconnected"===t,[E.connectionStatusConnected]:"connected"===t}),key:"layer-connection-status"}):null}renderItemTitle(e,t){const{messages:i}=this;if(!e)return null;const s=e.title||i.untitledLayer,o=e.visibleAtCurrentScale?s:`${s} (${i.layerInvisibleAtScale})`;return C("span",{key:"layer-title-container",id:t,title:o,"aria-label":o,class:E.title},s)}renderItemToggleIcon(e,t){const{_newUI:i}=this,{exclusive:s}=x,o=t&&t.visibilityMode,n={[E.toggleVisibleIcon]:i,[E.toggleIcon]:i&&o!==s,[E.radioIcon]:i&&o===s,[E.iconRadioSelected]:o===s&&e.visible,[E.iconRadioUnselected]:o===s&&!e.visible,[E.iconVisible]:o!==s&&e.visible,[E.iconInvisible]:o!==s&&!e.visible};return C("span",{key:"item-toggle-icon",class:this.classes(n),"aria-hidden":"true"})}renderItemToggle(e,t,i){const{selectionEnabled:s,messages:o}=this,{exclusive:n}=x,r=t&&t.visibilityMode,l=r===n?"radio":"switch";return C("span",s?{key:"item-toggle-selection-enabled",class:E.toggleVisible,bind:this,onclick:this._toggleVisibility,onkeydown:this._toggleVisibility,"data-item":e,"data-parent-visibility":r,tabIndex:0,title:e.visible?o.hideLayer:o.showLayer,"aria-checked":e.visible?"true":"false",role:l,"aria-labelledby":i}:{key:"item-toggle",class:E.toggleVisible},this.renderItemToggleIcon(e,t))}renderLabel(e,t,i){const{selectionEnabled:s,_newUI:o,messages:n}=this,{inherited:r,exclusive:l}=x,a=t?.visibilityMode,c=a===l?"radio":"switch",d=[this.renderItemToggle(e,t,i),this.renderItemConnectionStatus(e),this.renderItemTitle(e,i)];o&&d.reverse();const h=C("div",s?{key:`item-label-no-selection-${e.uid}`,class:E.label}:{key:`item-label-with-selection-${e.uid}`,class:E.label,bind:this,onclick:this._toggleVisibility,onkeydown:this._toggleVisibility,"data-item":e,"data-parent-visibility":a,tabIndex:0,"aria-checked":e.visible?"true":"false",title:e.visible?n.hideLayer:n.showLayer,role:c,"aria-labelledby":i},d);return a===r||e.error?C("div",{key:`item-label-container-${e.uid}`,class:E.label},this.renderItemTitle(e,i)):h}renderPanelButton(e){const{className:t,open:i,title:s,image:o}=e,n=o||t?t:E.iconDefaultAction,r=this._getIconImageStyles(e),l={[E.actionsMenuItemActive]:i},a={[E.actionImage]:!!r["background-image"],[E.disabledElement]:e.disabled};return n&&(a[n]=!!n),C("div",{"aria-disabled":e.disabled.toString(),key:`panel-${e.uid}`,bind:this,"data-panel":e,onclick:this._triggerPanel,onkeydown:this._triggerPanel,class:this.classes(E.actionsMenuItem,l),role:"button",tabindex:e.disabled?null:0,title:s,"aria-label":s},C("span",{class:this.classes(a),styles:r}))}renderActionsSections(e,t,i){const s=t.toArray().map(((t,i)=>C("ul",{key:`${e}-action-section-${i}`,class:E.actionsList},this.renderActionSection(e,t))));return C("div",{role:"group","aria-expanded":e.actionsOpen?"true":"false",key:"actions-section",id:i,class:E.actions,hidden:!e.actionsOpen||null},s)}renderActionSection(e,t){return(t&&t.toArray()).map((t=>this.renderAction({item:e,action:t})))}renderActionIcon(e){const{active:t,className:i}=e,s=this._getIconImageStyles(e),o="button"!==e.type||e.image||i?i:E.iconDefaultAction,n={[E.actionImage]:!t&&!!s["background-image"],[E.iconLoading]:t,[E.rotating]:t};return o&&!t&&(n[o]=!0),C("span",{key:"action-icon","aria-hidden":"true",class:this.classes(E.actionIcon,n),styles:s})}renderActionTitle(e,t){return t?null:C("span",{key:"action-title",class:E.actionTitle},e)}renderAction(e){const{item:t,action:i,singleAction:s}=e,{active:o,disabled:n,title:r}=i,l={[E.actionsMenuItem]:s&&"button"===i.type,[E.action]:o||!s&&"toggle"!==i.type,[E.actionToggle]:!o&&"toggle"===i.type,[E.actionToggleOn]:!o&&"toggle"===i.type&&i.value,[E.disabledElement]:n},a=[this.renderActionIcon(i),this.renderActionTitle(r,s)];return s?C("div",{bind:this,"data-item":t,"data-action":i,role:"button",key:`single-action-${i.uid}`,onclick:this._triggerAction,onkeydown:this._triggerAction,classes:l,tabindex:"0",title:r,"aria-label":r},a):C("li",{bind:this,"data-item":t,"data-action":i,key:`action-${i.uid}`,onclick:this._triggerAction,onkeydown:this._triggerAction,classes:l,tabindex:"0",role:"button",title:r,"aria-label":r},a)}_setTooltipReference(e,t){this._tooltipReferenceMap.set(t.uid,e),this.scheduleRender()}_hasMessage(e){return!!e.error||e.incompatible}_hasChildren(e){return!!e.children.length&&!this._hasMessage(e)}_sortNodeRemoved(e){const{_sortableMap:t}=this,i=e.dataset.group,s=t.get(i);s&&s.destroy(),t.delete(i)}_destroySortables(){const{_sortableMap:e,_sortableNodes:t}=this;e.forEach((e=>e&&e.destroy())),e.clear(),t.clear()}_moveLayerFromChildList({to:e,from:t,item:i,newIndex:s}){const o=i["data-item"],n=e["data-item"],r=t["data-item"];this.viewModel.moveListItem(o,r,n,s)}_sortLayers(e){if(!e)return;const t=e.el["data-item"],i=e.toArray();t?b(t,i):_(this.view?.map?.layers,i)}_toggleSorting(e,t){const{_sortableMap:i,selectionEnabled:s}=this,o=i.get(t),n=e["data-item"],r=(t===O||n.childrenSortable&&y(n))&&s;if(o)o.option("disabled",!r);else if(r){const s=A.create(e,{dataIdAttr:M,group:{name:t,pull:this._sortableCanPull,put:this._sortableCanPut},filter:`[${L}="true"]`,fallbackTolerance:4,onSort:this._onSortableSort,onEnd:this._onSortableEnd,disabled:!r,chosenClass:E.sortableChosen});i.set(t,s)}}_toggleAllSorting(){this._sortableNodes.forEach(((e,t)=>this._toggleSorting(e,t)))}_sortNodeCreated(e){const t=e.dataset.group;t&&(this._sortableNodes.set(t,e),this._toggleSorting(e,t))}_setVisibleItems(e){this.visibleItems=e?.filter((e=>!e.hidden&&(this.errorsVisible||!e.error)))}_getSingleActionButton(e){return e.reduce((e=>e)).filter((e=>e&&"button"===e.type)).getItemAt(0)}_focusListItem(e){const{_focusSortUid:t}=this;if(!e||!t)return;e["data-item"].layer?.uid===t&&(e.focus(),this._focusSortUid=null)}_watchActionSectionChanges(e,t){const i=R.actionSection+t;this._handles.add(e.on("change",this.scheduleRender.bind(this)),i),e.forEach((e=>this._renderOnActionChanges(e,t)))}_renderOnActionChanges(e,t){const i=R.actions+t;"toggle"!==e.type?"slider"!==e.type?this._handles.add(n((()=>[e?.className,e?.image,e?.id,e?.title,e?.visible]),(()=>this.scheduleRender()),r),i):this._handles.add(n((()=>[e?.className,e?.id,e?.title,e?.visible,e?.value,e?.displayValueEnabled,e?.max,e?.min,e?.step]),(()=>this.scheduleRender()),r),i):this._handles.add(n((()=>[e?.className,e?.image,e?.id,e?.title,e?.visible,e?.value]),(()=>this.scheduleRender()),r),i)}_renderOnItemChanges(e){const t=e.uid,i=R.items+t;this._handles.add([n((()=>[e?.actionsOpen,e?.visible,e?.open,e?.updating,e?.title,e?.visibleAtCurrentScale,e?.error,e?.visibilityMode,e?.panel,e?.panel?.title,e?.panel?.content,e?.panel?.className,e?.sortable,e?.childrenSortable]),(()=>this.scheduleRender()),l),n((()=>[e?.hidden,e?.error]),(()=>this._setVisibleItems(this.operationalItems))),e.actionsSections.on("change",(()=>this.scheduleRender())),e.children.on("change",(()=>this.scheduleRender()))],i),e.children.forEach((e=>this._renderOnItemChanges(e))),e.actionsSections.forEach((e=>this._watchActionSectionChanges(e,t)))}_itemsChanged(e){this._handles.removeAll(),e.forEach((e=>this._renderOnItemChanges(e))),this._tooltipReferenceMap.clear(),this._setVisibleItems(e),this.scheduleRender()}_filterActions(e){return e.map((e=>e.filter((e=>e.visible))))}_countActions(e){return e.reduce(((e,t)=>e+t.length),0)}_getIconImageStyles(e){const t="esri.widgets.LayerList.ListItemPanel"===e.declaredClass||"esri.support.Action.ActionButton"===e.declaredClass||"esri.support.Action.ActionToggle"===e.declaredClass?e.image:null;return{"background-image":t?`url("${t}")`:null}}_selectionKeydown(e){const t=["ArrowDown","ArrowUp"],s=i(e);if(!t.includes(s))return void this._toggleSelection(e);e.stopPropagation();const o=e.currentTarget,n=o["data-item"],{_sortableMap:r,selectedItems:l}=this,a=o.dataset.group,c=r.get(a);if(!c)return;const d=p(n,l),h=c.toArray(),m=e.target,g=h.indexOf(m.dataset[T]);if(-1!==g){if("ArrowDown"===s){const e=g+1;if(e>=h.length)return;d?(w(h,g,e),c.sort(h),this._sortLayers(c),this._focusSortUid=n.layer?.uid):(this._focusSortUid=n.layer?.uid,this.scheduleRender())}if("ArrowUp"===s){const e=g-1;if(e<=-1)return;d?(w(h,g,e),c.sort(h),this._sortLayers(c),this._focusSortUid=n.layer?.uid):(this._focusSortUid=n.layer?.uid,this.scheduleRender())}}}_toggleActionsOpen(e){const t=e.currentTarget["data-item"],{actionsOpen:i}=t,s=!i;s&&this.operationalItems.forEach((e=>U(e))),t.actionsOpen=s,e.stopPropagation()}_triggerPanel(e){const t=e.currentTarget["data-panel"];e.stopPropagation(),t&&!t.disabled&&(t.open=!t.open)}_triggerAction(e){const t=e.currentTarget,i=t["data-action"],s=t["data-item"];"toggle"===i.type&&(i.value=!i.value),this.triggerAction(i,s),e.stopPropagation()}_toggleVisibility(e){const t=e.currentTarget,i=t.getAttribute("data-parent-visibility"),s=t["data-item"];i===x.exclusive&&s.visible||(s.visible=!s.visible),e.stopPropagation()}_toggleChildrenClick(e){const t=e.currentTarget["data-item"];t.open=!t.open,e.stopPropagation()}_toggleSelection(e){e.stopPropagation();const{multipleSelectionEnabled:t,selectedItems:i}=this,s=e.currentTarget["data-item"],o=p(s,i),{length:n}=i;if(!t)return n&&!(o&&1===n)?(i.removeAll(),void i.add(s)):void(o?i.remove?.(o):i.add(s));o?i.remove?.(o):i.add(s)}};e([d()],V.prototype,"visibleItems",void 0),e([d()],V.prototype,"iconClass",void 0),e([d()],V.prototype,"errorsVisible",void 0),e([d({aliasOf:{source:"messages.widgetLabel",overridable:!0}})],V.prototype,"label",void 0),e([d()],V.prototype,"listItemCanGiveFunction",void 0),e([d()],V.prototype,"listItemCanReceiveFunction",void 0),e([a("viewModel.listItemCreatedFunction")],V.prototype,"listItemCreatedFunction",void 0),e([d(),I("esri/widgets/LayerList/t9n/LayerList")],V.prototype,"messages",void 0),e([d(),I("esri/t9n/common")],V.prototype,"messagesCommon",void 0),e([d()],V.prototype,"multipleSelectionEnabled",void 0),e([a("viewModel.operationalItems")],V.prototype,"operationalItems",void 0),e([d()],V.prototype,"selectionEnabled",void 0),e([d()],V.prototype,"selectedItems",void 0),e([a("viewModel.view")],V.prototype,"view",void 0),e([f("trigger-action"),d({type:g})],V.prototype,"viewModel",void 0),e([d()],V.prototype,"visibleElements",void 0),e([c("visibleElements")],V.prototype,"castVisibleElements",null),e([a("viewModel.triggerAction")],V.prototype,"triggerAction",null),e([v()],V.prototype,"_toggleActionsOpen",null),e([v()],V.prototype,"_triggerPanel",null),e([v()],V.prototype,"_triggerAction",null),e([v()],V.prototype,"_toggleVisibility",null),e([v()],V.prototype,"_toggleChildrenClick",null),e([v()],V.prototype,"_toggleSelection",null),V=e([h("esri.widgets.LayerList")],V);const j=V;export{j as default};
package/widgets/Widget.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../chunks/tslib.es6.js";import"../intl.js";import{byId as t}from"../core/domUtils.js";import r from"../core/Evented.js";import{isEventTarget as o,on as s}from"../core/events.js";import i from"../core/Handles.js";import"../core/has.js";import{clone as n}from"../core/lang.js";import a from"../core/Logger.js";import{destroyMaybe as d}from"../core/maybe.js";import{EsriPromiseMixin as c}from"../core/Promise.js";import{debounce as l,throwIfNotAbortError as p,eachAlways as h}from"../core/promiseUtils.js";import{watch as m,when as u,initial as y}from"../core/reactiveUtils.js";import{generateUUID as g}from"../core/uuid.js";import{property as f}from"../core/accessorSupport/decorators/property.js";import{cast as _}from"../core/accessorSupport/decorators/cast.js";import{subclass as v}from"../core/accessorSupport/decorators/subclass.js";import{runTracked as j}from"../core/accessorSupport/tracking.js";import{SimpleTrackingTarget as w}from"../core/accessorSupport/tracking/SimpleTrackingTarget.js";import{createAdvancedProjector as b}from"../libs/maquette-advanced-projector/projector.js";import{commitAssetPath as k}from"./support/componentsUtils.js";import{isWidgetConstructor as R,processWidgets as C,WIDGET_SYMBOL as S}from"./support/jsxWidgetSupport.js";import{registerLoading as P}from"./support/tests.js";import{getVNodeCache as E,setVNodeCache as L,deleteVNodeCache as N,clearVNodeCache as T}from"./support/vnodeCache.js";import{classes as H}from"./support/widgetUtils.js";import{onLocaleChange as I}from"../intl/locale.js";import{fetchMessageBundle as F}from"../intl/messages.js";const U="esri.widgets.Widget";let $=0;const x={widgetIcon:"esri-icon-checkbox-unchecked"};function z(e,t){for(const r in t)null!=e[r]&&("object"==typeof e[r]&&"object"==typeof t[r]?z(e[r],t[r]):e[r]=t[r]);return e}const A=b({postProcessProjectionOptions(e){const t=e.eventHandlerInterceptor,r=/capture$/i;e.eventHandlerInterceptor=(e,o,s,i)=>{const n=t(e,o,s,i),a=r.test(e);if(!((e=e.replace(r,"")).toLowerCase()in s)||a){const t=e[2].toLowerCase()+e.slice(3),r=e=>n.call(s,e);s.addEventListener(t,r,a);const o=()=>s.removeEventListener(t,r,a),d=i.afterRemoved;i.afterRemoved=e=>{d?.(e),o()}}return n}},handleInterceptedEvent(e,t,r,o){const{eventPhase:s,type:i}=o,n=s===Event.CAPTURING_PHASE;let a=`on${i}${n?"capture":""}`;const d=t.properties;(a in d||(a=`on${i[0].toUpperCase()}${i.slice(1)}${n?"Capture":""}`,a in d))&&(T(),e.scheduleRender(),d[a].call(d.bind||r,o))}});let B=!1,D=class extends(c(r.EventedAccessor)){constructor(e,t){super(e,t),this._attached=!1,this._internalHandles=new i,this._projector=A,this._readyForTrueRender=!1,this.domNode=null,this.iconClass=x.widgetIcon,this.label=this.declaredClass.split(".").pop(),this.visible=!0,this.key=this,this._loadLocale=l((async()=>{if(this._messageBundleProps&&this._messageBundleProps.length){const e=await h(this._messageBundleProps.map((async({bundlePath:e,propertyName:t})=>{let r=await F(e);this.uiStrings&&Object.keys(this.uiStrings)&&(r=z(n(r),this.uiStrings)),this[t]=r})));for(const t of e)t.error&&a.getLogger(this.declaredClass).error("widget-intl:locale-error",this.declaredClass,t.error)}await this.loadLocale()})),k();const r="esri-widget-uid-"+g(),o=this.render.bind(this);this._trackingTarget=new w((()=>this.scheduleRender()));const s=()=>{if(!this._readyForTrueRender||this.destroyed)return null;if(!this.visible)return{vnodeSelector:"div",properties:{key:r,class:"",styles:{display:"none"}},domNode:void 0,children:void 0,text:void 0};const e=o();let{properties:t}=e;t||(e.properties=t={});let{key:s,styles:i}=t;s||(t.key=r),i||(t.styles=i={}),i.display||(i.display="");let n=0;return e.children?.forEach((e=>{if(R(e.vnodeSelector))return;let{properties:t}=e;t||(e.properties=t={}),t.key||(t.key=`${this.id}--${n++}`)})),C(this,e)};this.render=()=>{if(B)return s();let e=E(this);if(e)return e;this._trackingTarget.clear(),B=!0;try{e=j(this._trackingTarget,s)}catch(t){throw console.error(t),t}finally{B=!1}return L(this,e),e},this.addResolvingPromise(this._resourcesFetch=this.beforeFirstRender().then((()=>{this._readyForTrueRender=!0,this._postInitialize()}))),P(this._resourcesFetch)}normalizeCtorArgs(e,t){const r={...e};return t&&(r.container=t),r}postInitialize(){}beforeFirstRender(){return Promise.all([this.loadDependencies(),this._loadLocale()]).then((()=>{})).catch(p)}async loadDependencies(){}async loadLocale(){}destroy(){this.destroyed||(d(this._trackingTarget),d(this.viewModel),this._detach(this.container),this._set("container",null),this._internalHandles.destroy(),this._emitter.clear(),this.render=()=>null,this._projector=null,N(this))}set container(e){this._get("container")||this._set("container",e)}castContainer(e){return t(e)}get id(){return this._get("id")||this.get("container.id")||Date.now().toString(16)+"-widget-"+$++}set id(e){e&&this._set("id",e)}get renderable(){return this._resourcesFetch}get test(){return{projector:this._projector}}render(){throw new Error("not implemented")}scheduleRender(){this.destroyed||(N(this),this._projector.scheduleRender())}classes(...e){return H.apply(this,e)}renderNow(){N(this),this._projector.renderNow()}_postInitialize(){if(this.destroyed)return;this.scheduleRender(),this._delegatedEventNames?.length&&this._internalHandles.add(m((()=>this.viewModel),((e,t)=>{t&&this._internalHandles.remove("delegated-events"),e&&o(e)&&this._internalHandles.add(this._delegatedEventNames.map((t=>s(e,t,(e=>{this.emit(t,e)})))),"delegated-events")}),y)),this.postInitialize();const e=async()=>{await this._loadLocale().catch(p),this.scheduleRender()};this._internalHandles.add([I(e),m((()=>this.uiStrings),e),u((()=>this.container),(e=>{this.destroyed||this._attach(e)}),{initial:!0,once:!0})])}_attach(e){e&&(this._projector.merge(e,this.render),this._attached=!0)}_detach(e){e&&this._attached&&(this._projector.detach(this.render),e.parentNode&&e.parentNode.removeChild(e),this._attached=!1)}};D[S]=!0,e([f()],D.prototype,"_readyForTrueRender",void 0),e([f({value:null})],D.prototype,"container",null),e([_("container")],D.prototype,"castContainer",null),e([f({aliasOf:"container"})],D.prototype,"domNode",void 0),e([f()],D.prototype,"iconClass",void 0),e([f()],D.prototype,"id",null),e([f()],D.prototype,"label",void 0),e([f()],D.prototype,"renderable",null),e([f()],D.prototype,"uiStrings",void 0),e([f()],D.prototype,"viewModel",void 0),e([f()],D.prototype,"visible",void 0),e([f()],D.prototype,"key",void 0),e([f()],D.prototype,"children",void 0),e([f()],D.prototype,"afterCreate",void 0),e([f()],D.prototype,"afterUpdate",void 0),e([f()],D.prototype,"afterRemoved",void 0),D=e([v(U)],D);const M=D;export{M as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import"../intl.js";import{byId as t}from"../core/domUtils.js";import r from"../core/Evented.js";import{isEventTarget as o,on as s}from"../core/events.js";import i from"../core/Handles.js";import"../core/has.js";import{clone as n}from"../core/lang.js";import a from"../core/Logger.js";import{destroyMaybe as c}from"../core/maybe.js";import{EsriPromiseMixin as d}from"../core/Promise.js";import{debounce as l,throwIfNotAbortError as p,eachAlways as h}from"../core/promiseUtils.js";import{watch as m,when as u,initial as y}from"../core/reactiveUtils.js";import{generateUUID as g}from"../core/uuid.js";import{property as f}from"../core/accessorSupport/decorators/property.js";import{cast as _}from"../core/accessorSupport/decorators/cast.js";import{subclass as v}from"../core/accessorSupport/decorators/subclass.js";import{runTracked as j}from"../core/accessorSupport/tracking.js";import{SimpleTrackingTarget as w}from"../core/accessorSupport/tracking/SimpleTrackingTarget.js";import{createAdvancedProjector as b}from"../libs/maquette-advanced-projector/projector.js";import{commitAssetPath as k}from"./support/componentsUtils.js";import{isWidgetConstructor as R,processWidgets as C,WIDGET_SYMBOL as S}from"./support/jsxWidgetSupport.js";import{registerLoading as P}from"./support/tests.js";import{getVNodeCache as E,setVNodeCache as L,deleteVNodeCache as N,clearVNodeCache as T}from"./support/vnodeCache.js";import{classes as H}from"./support/widgetUtils.js";import{onLocaleChange as I}from"../intl/locale.js";import{fetchMessageBundle as F}from"../intl/messages.js";const U="esri.widgets.Widget";let $=0;const x={widgetIcon:"esri-icon-checkbox-unchecked"};function z(e,t){for(const r in t)null!=e[r]&&("object"==typeof e[r]&&"object"==typeof t[r]?z(e[r],t?.[r]):e[r]=t[r]);return e}const A=b({postProcessProjectionOptions(e){const t=e.eventHandlerInterceptor,r=/capture$/i;e.eventHandlerInterceptor=(e,o,s,i)=>{const n=t?.(e,o,s,i),a=r.test(e);if(!((e=e.replace(r,"")).toLowerCase()in s)||a){const t=e[2].toLowerCase()+e.slice(3),r=e=>n?.call(s,e);s.addEventListener(t,r,a);const o=()=>s.removeEventListener(t,r,a),c=i.afterRemoved;i.afterRemoved=e=>{c?.(e),o()}}return n}},handleInterceptedEvent(e,t,r,o){const{eventPhase:s,type:i}=o,n=s===Event.CAPTURING_PHASE;let a=`on${i}${n?"capture":""}`;const c=t.properties;(c&&a in c||(a=`on${i[0].toUpperCase()}${i.slice(1)}${n?"Capture":""}`,c&&a in c))&&(T(),e.scheduleRender(),c[a].call(c.bind||r,o))}});let B=!1,D=class extends(d(r.EventedAccessor)){constructor(e,t){super(e,t),this._attached=!1,this._internalHandles=new i,this._projector=A,this._readyForTrueRender=!1,this.domNode=null,this.iconClass=x.widgetIcon,this.label=this.declaredClass.split(".").pop(),this.visible=!0,this.key=this,this._loadLocale=l((async()=>{if(this._messageBundleProps&&this._messageBundleProps.length){const e=await h(this._messageBundleProps.map((async({bundlePath:e,propertyName:t})=>{let r=await F(e);this.uiStrings&&Object.keys(this.uiStrings)&&(r=z(n(r),this.uiStrings)),this[t]=r})));for(const t of e)t.error&&a.getLogger(this.declaredClass).error("widget-intl:locale-error",this.declaredClass,t.error)}await this.loadLocale()})),k();const r="esri-widget-uid-"+g(),o=this.render.bind(this);this._trackingTarget=new w((()=>this.scheduleRender()));const s=()=>{if(!this._readyForTrueRender||this.destroyed)return null;if(!this.visible)return{vnodeSelector:"div",properties:{key:r,class:"",styles:{display:"none"}},domNode:null,children:void 0,text:void 0};const e=o();let{properties:t}=e;t||(e.properties=t={});let{key:s,styles:i}=t;s||(t.key=r),i||(t.styles=i={}),i.display||(i.display="");let n=0;return e.children?.forEach((e=>{if(R(e.vnodeSelector))return;let{properties:t}=e;t||(e.properties=t={}),t.key||(t.key=`${this.id}--${n++}`)})),C(this,e)};this.render=()=>{if(B)return s();let e=E(this)??null;if(e)return e;this._trackingTarget.clear(),B=!0;try{e=j(this._trackingTarget,s)}catch(t){throw console.error(t),t}finally{B=!1}return e&&L(this,e),e},this.addResolvingPromise(this._resourcesFetch=this.beforeFirstRender().then((()=>{this._readyForTrueRender=!0,this._postInitialize()}))),P(this._resourcesFetch)}normalizeCtorArgs(e,t){const r={...e};return t&&(r.container=t),r}postInitialize(){}beforeFirstRender(){return Promise.all([this.loadDependencies(),this._loadLocale()]).then((()=>{})).catch(p)}async loadDependencies(){}async loadLocale(){}destroy(){this.destroyed||(c(this._trackingTarget),c(this.viewModel),this._detach(this.container),this._set("container",null),this._internalHandles.destroy(),this._emitter.clear(),this.render=()=>null,this._projector=null,N(this))}set container(e){this._get("container")||this._set("container",e)}castContainer(e){return t(e)}get id(){return this._get("id")||this.get("container.id")||Date.now().toString(16)+"-widget-"+$++}set id(e){e&&this._set("id",e)}get renderable(){return this._resourcesFetch}get test(){return{projector:this._projector}}render(){throw new Error("not implemented")}scheduleRender(){this.destroyed||(N(this),this._projector.scheduleRender())}classes(...e){return H.apply(this,e)}renderNow(){N(this),this._projector.renderNow()}_postInitialize(){if(this.destroyed)return;this.scheduleRender(),this._delegatedEventNames?.length&&this._internalHandles.add(m((()=>this.viewModel),((e,t)=>{t&&this._internalHandles.remove("delegated-events"),e&&o(e)&&this._internalHandles.add(this._delegatedEventNames.map((t=>s(e,t,(e=>{this.emit(t,e)})))),"delegated-events")}),y)),this.postInitialize();const e=async()=>{await this._loadLocale().catch(p),this.scheduleRender()};this._internalHandles.add([I(e),m((()=>this.uiStrings),e),u((()=>this.container),(e=>{this.destroyed||this._attach(e)}),{initial:!0,once:!0})])}_attach(e){e&&(this._projector.merge(e,this.render),this._attached=!0)}_detach(e){e&&this._attached&&(this._projector.detach(this.render),e.parentNode&&e.parentNode.removeChild(e),this._attached=!1)}};D[S]=!0,e([f()],D.prototype,"_readyForTrueRender",void 0),e([f({value:null})],D.prototype,"container",null),e([_("container")],D.prototype,"castContainer",null),e([f({aliasOf:"container"})],D.prototype,"domNode",void 0),e([f()],D.prototype,"iconClass",void 0),e([f()],D.prototype,"id",null),e([f()],D.prototype,"label",void 0),e([f()],D.prototype,"renderable",null),e([f()],D.prototype,"uiStrings",void 0),e([f()],D.prototype,"viewModel",void 0),e([f()],D.prototype,"visible",void 0),e([f()],D.prototype,"key",void 0),e([f()],D.prototype,"children",void 0),e([f()],D.prototype,"afterCreate",void 0),e([f()],D.prototype,"afterUpdate",void 0),e([f()],D.prototype,"afterRemoved",void 0),D=e([v(U)],D);const M=D;export{M as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import{_ as o}from"../../chunks/tslib.es6.js";import r from"../../core/Accessor.js";import{property as e}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as t}from"../../core/accessorSupport/decorators/subclass.js";let s=class extends r{get canZoomIn(){return!!this.get("view.ready")}get canZoomOut(){return!!this.get("view.ready")}};o([e({readOnly:!0})],s.prototype,"canZoomIn",null),o([e({readOnly:!0})],s.prototype,"canZoomOut",null),o([e()],s.prototype,"view",void 0),s=o([t("esri.widgets.Zoom.ZoomConditions3D")],s);const c=s;export{c as default};
5
+ import{_ as o}from"../../chunks/tslib.es6.js";import r from"../../core/Accessor.js";import{property as e}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as s}from"../../core/accessorSupport/decorators/subclass.js";let t=class extends r{get canZoomIn(){return!!this.view.ready}get canZoomOut(){return!!this.view.ready}};o([e({readOnly:!0})],t.prototype,"canZoomIn",null),o([e({readOnly:!0})],t.prototype,"canZoomOut",null),o([e()],t.prototype,"view",void 0),t=o([s("esri.widgets.Zoom.ZoomConditions3D")],t);const c=t;export{c 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.25/esri/copyright.txt for details.
4
4
  */
5
- import{_ as o}from"../../chunks/tslib.es6.js";import t from"../../core/Accessor.js";import{ignoreAbortErrors as s}from"../../core/promiseUtils.js";import{property as i}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as e}from"../../core/accessorSupport/decorators/subclass.js";import r from"./ZoomConditions2D.js";import n from"./ZoomConditions3D.js";let m=class extends t{constructor(o){super(o),this.canZoomIn=!1,this.canZoomOut=!1}destroy(){this.view=null}get state(){return this.get("view.ready")?"ready":"disabled"}set view(o){o?"2d"===o.type?this._zoomConditions=new r({view:o}):"3d"===o.type&&(this._zoomConditions=new n({view:o})):this._zoomConditions=null,this._set("view",o)}zoomIn(){if(!this.canZoomIn)return;const o=this.view;"2d"===o.type?o.mapViewNavigation.zoomIn():s(o.goTo({zoomFactor:2}))}zoomOut(){if(!this.canZoomOut)return;const o=this.view;"2d"===o.type?o.mapViewNavigation.zoomOut():s(o.goTo({zoomFactor:.5}))}};o([i()],m.prototype,"_zoomConditions",void 0),o([i({aliasOf:"_zoomConditions.canZoomIn",readOnly:!0})],m.prototype,"canZoomIn",void 0),o([i({aliasOf:"_zoomConditions.canZoomOut",readOnly:!0})],m.prototype,"canZoomOut",void 0),o([i({readOnly:!0})],m.prototype,"state",null),o([i()],m.prototype,"view",null),m=o([e("esri.widgets.Zoom.ZoomViewModel")],m);const a=m;export{a as default};
5
+ import{_ as o}from"../../chunks/tslib.es6.js";import t from"../../core/Accessor.js";import{isSome as s}from"../../core/maybe.js";import{ignoreAbortErrors as i}from"../../core/promiseUtils.js";import{property as e}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as r}from"../../core/accessorSupport/decorators/subclass.js";import n from"./ZoomConditions2D.js";import m from"./ZoomConditions3D.js";let p=class extends t{constructor(o){super(o)}destroy(){this.view=null}get canZoomIn(){return s(this._zoomConditions)&&this._zoomConditions.canZoomIn}get canZoomOut(){return s(this._zoomConditions)&&this._zoomConditions?.canZoomOut}get state(){return this.view?.ready?"ready":"disabled"}set view(o){o?"2d"===o.type?this._zoomConditions=new n({view:o}):"3d"===o.type&&(this._zoomConditions=new m({view:o})):this._zoomConditions=null,this._set("view",o)}zoomIn(){if(!this.canZoomIn)return;const o=this.view;"2d"===o.type?o.mapViewNavigation.zoomIn():i(o.goTo({zoomFactor:2}))}zoomOut(){if(!this.canZoomOut)return;const o=this.view;"2d"===o.type?o.mapViewNavigation.zoomOut():i(o.goTo({zoomFactor:.5}))}};o([e()],p.prototype,"_zoomConditions",void 0),o([e()],p.prototype,"canZoomIn",null),o([e()],p.prototype,"canZoomOut",null),o([e({readOnly:!0})],p.prototype,"state",null),o([e()],p.prototype,"view",null),p=o([r("esri.widgets.Zoom.ZoomViewModel")],p);const a=p;export{a as default};
package/widgets/Zoom.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import{_ as o}from"../chunks/tslib.es6.js";import{aliasOf as t}from"../core/accessorSupport/decorators/aliasOf.js";import"../core/arrayUtils.js";import"../core/has.js";import"../core/accessorSupport/ensureType.js";import{property as s}from"../core/accessorSupport/decorators/property.js";import{subclass as e}from"../core/accessorSupport/decorators/subclass.js";import i from"./Widget.js";import"./support/widgetUtils.js";import{messageBundle as r}from"./support/decorators/messageBundle.js";import{tsx as n}from"./support/jsxFactory.js";import a from"./Zoom/IconButton.js";import m from"./Zoom/ZoomViewModel.js";const l={base:"esri-zoom esri-widget",horizontalLayout:"esri-zoom--horizontal",zoomInIcon:"esri-icon-plus",zoomOutIcon:"esri-icon-minus",widgetIcon:"esri-icon-zoom-in-magnifying-glass"};let u=class extends i{constructor(o,t){super(o,t),this.iconClass=l.widgetIcon,this.label=void 0,this.messages=null,this.view=null,this.viewModel=new m}initialize(){this._zoomInButton=new a({action:this.zoomIn.bind(this),iconClass:l.zoomInIcon}),this._zoomOutButton=new a({action:this.zoomOut.bind(this),iconClass:l.zoomOutIcon})}destroy(){this._zoomInButton.destroy(),this._zoomOutButton.destroy(),this._zoomInButton=null,this._zoomOutButton=null}set layout(o){"horizontal"!==o&&(o="vertical"),this._set("layout",o)}render(){const o=this.viewModel,t={[l.horizontalLayout]:"horizontal"===this.layout};return this._zoomInButton.enabled="ready"===o.state&&o.canZoomIn,this._zoomOutButton.enabled="ready"===o.state&&o.canZoomOut,this._zoomInButton.title=this.messages.zoomIn,this._zoomOutButton.title=this.messages.zoomOut,n("div",{class:this.classes(l.base,t)},this._zoomInButton.render(),this._zoomOutButton.render())}zoomIn(){return this.viewModel.zoomIn()}zoomOut(){return this.viewModel.zoomOut()}};o([s()],u.prototype,"iconClass",void 0),o([s({aliasOf:{source:"messages.widgetLabel",overridable:!0}})],u.prototype,"label",void 0),o([s({value:"vertical"})],u.prototype,"layout",null),o([s(),r("esri/widgets/Zoom/t9n/Zoom")],u.prototype,"messages",void 0),o([t("viewModel.view")],u.prototype,"view",void 0),o([s({type:m})],u.prototype,"viewModel",void 0),u=o([e("esri.widgets.Zoom")],u);const c=u;export{c as default};
5
+ import{_ as o}from"../chunks/tslib.es6.js";import{destroyMaybe as t}from"../core/maybe.js";import{property as s}from"../core/accessorSupport/decorators/property.js";import"../core/arrayUtils.js";import"../core/has.js";import"../core/accessorSupport/ensureType.js";import{subclass as e}from"../core/accessorSupport/decorators/subclass.js";import i from"./Widget.js";import"./support/widgetUtils.js";import{messageBundle as r}from"./support/decorators/messageBundle.js";import{tsx as n}from"./support/jsxFactory.js";import m from"./Zoom/IconButton.js";import l from"./Zoom/ZoomViewModel.js";const a={base:"esri-zoom esri-widget",horizontalLayout:"esri-zoom--horizontal",zoomInIcon:"esri-icon-plus",zoomOutIcon:"esri-icon-minus",widgetIcon:"esri-icon-zoom-in-magnifying-glass"};let u=class extends i{constructor(o,t){super(o,t),this.iconClass=a.widgetIcon,this.messages=null,this.viewModel=new l}initialize(){this._zoomInButton=new m({action:this.zoomIn.bind(this),iconClass:a.zoomInIcon}),this._zoomOutButton=new m({action:this.zoomOut.bind(this),iconClass:a.zoomOutIcon})}destroy(){this._zoomInButton=t(this._zoomInButton),this._zoomOutButton=t(this._zoomOutButton)}get label(){return this._get("label")??this.messages?.widgetLabel}set label(o){this._set("label",o)}set layout(o){"horizontal"!==o&&(o="vertical"),this._set("layout",o)}set view(o){this.viewModel.view=o}get view(){return this.viewModel.view}render(){const o=this.viewModel,t={[a.horizontalLayout]:"horizontal"===this.layout},{canZoomIn:s,canZoomOut:e}=o;this._zoomInButton.enabled=s,this._zoomOutButton.enabled=e;const{zoomIn:i,zoomOut:r}=this.messages;return this._zoomInButton.title=i,this._zoomOutButton.title=r,n("div",{class:this.classes(a.base,t)},this._zoomInButton.render(),this._zoomOutButton.render())}zoomIn(){return this.viewModel.zoomIn()}zoomOut(){return this.viewModel.zoomOut()}};o([s()],u.prototype,"iconClass",void 0),o([s()],u.prototype,"label",null),o([s({value:"vertical"})],u.prototype,"layout",null),o([s(),r("esri/widgets/Zoom/t9n/Zoom")],u.prototype,"messages",void 0),o([s()],u.prototype,"view",null),o([s({type:l})],u.prototype,"viewModel",void 0),u=o([e("esri.widgets.Zoom")],u);const c=u;export{c 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.25/esri/copyright.txt for details.
4
4
  */
5
- import e from"@esri/arcgis-html-sanitizer";import t from"../../core/ArrayPool.js";import{makeHandle as n}from"../../core/handleUtils.js";import"../../core/has.js";import r from"../../core/Logger.js";import{clearVNodeCache as i}from"./vnodeCache.js";var o,s,a=function(e){if("WebkitTransition"in e.style)o="webkitTransitionEnd",s="webkitAnimationEnd";else{if(!("transition"in e.style))throw new Error("Your browser is not supported!");o="transitionend",s="animationend"}},c=function(e){o||a(e)},l=function(e,t){return void 0===t&&(t=e+"-active"),function(n){c(n);var r=!1,i=function(a){r||(r=!0,n.removeEventListener(o,i),n.removeEventListener(s,i),n.classList.remove(e),n.classList.remove(t))};n.classList.add(e),n.addEventListener(o,i),n.addEventListener(s,i),requestAnimationFrame((function(){n.classList.add(t)}))}},d=function(e,t){return void 0===t&&(t=e+"-active"),function(n,r){c(n);var i=!1,a=function(e){i||(i=!0,n.removeEventListener(o,a),n.removeEventListener(s,a),r())};n.classList.add(e),n.addEventListener(o,a),n.addEventListener(s,a),requestAnimationFrame((function(){n.classList.add(t)}))}};const u=r.getLogger("esri.widgets.support.widgetUtils");function p(e){const n=t.acquire();for(let t=0;t<arguments.length;t++){const e=arguments[t],r=typeof e;if("string"===r)n.push(e);else if(Array.isArray(e))n.push.apply(n,e);else if("object"===r)for(const t in e)e[t]&&n.push(t)}const r=n.join(" ");return t.release(n),r}const g=(()=>{const e=new Map,t=new ResizeObserver((t=>{i();for(const n of t)e.get(n.target)(n)}));return(r,i,o)=>(e.has(r)&&u.error("Already observing element",r),e.set(r,i),t.observe(r,o),n((()=>{t.unobserve(r),e.delete(r)})))})();function f(e){const t=e?.closest("[dir]");return null!==t&&t instanceof HTMLElement&&"rtl"===t.dir||"rtl"===document.dir}function m(e){return f(e)?"rtl":"ltr"}function h(e){const t="data-node-ref";this[e.getAttribute(t)]=null}function v(e){const t="data-node-ref";this[e.getAttribute(t)]=e}function w(e,t){return("enter"===e?l:d)(t)}const L=["dd","dl","dt","h1","h2","h3","h4","h5","h6","sub","sup",...["animate","animatetransform","circle","clippath","defs","ellipse","g","image","line","lineargradient","marker","mask","path","pattern","polygon","polyline","radialgradient","rect","stop","svg","switch","symbol","text","textpath","tspan","use"]],b=L.reduce(((e,t)=>(e[t]=[],e)),{}),y=["align","alink","alt","bgcolor","border","cellpadding","cellspacing","class","color","cols","colspan","coords","d","dir","face","height","hspace","ismap","lang","marginheight","marginwidth","multiple","nohref","noresize","noshade","nowrap","ref","rel","rev","rows","rowspan","scrolling","shape","span","summary","tabindex","title","usemap","valign","value","vlink","vspace","width"],E=new e({whiteList:b,onTagAttr:(e,t,n)=>{const r=`${t}="${n}"`;if(y.includes(t))return r},stripIgnoreTag:!0,stripIgnoreTagBody:["script","style"]},!0);function A(e,t){const n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),i=n.top+n.height,o=r.top+r.height,s=n.top,a=r.top;(i>o||s<a)&&e.scrollIntoView({block:"end"})}function k(e){return"Enter"===e||" "===e}export{L as additionalAllowedTags,p as classes,w as cssTransition,h as discardNode,m as getDir,k as isActivationKey,f as isRTL,A as keepMenuItemWithinView,g as onResize,E as renderingSanitizer,y as safeAttrs,v as storeNode};
5
+ import e from"@esri/arcgis-html-sanitizer";import t from"../../core/ArrayPool.js";import{makeHandle as n}from"../../core/handleUtils.js";import"../../core/has.js";import r from"../../core/Logger.js";import{clearVNodeCache as i}from"./vnodeCache.js";var o,s,a=function(e){if("WebkitTransition"in e.style)o="webkitTransitionEnd",s="webkitAnimationEnd";else{if(!("transition"in e.style))throw new Error("Your browser is not supported!");o="transitionend",s="animationend"}},c=function(e){o||a(e)},l=function(e,t){return void 0===t&&(t=e+"-active"),function(n){c(n);var r=!1,i=function(a){r||(r=!0,n.removeEventListener(o,i),n.removeEventListener(s,i),n.classList.remove(e),n.classList.remove(t))};n.classList.add(e),n.addEventListener(o,i),n.addEventListener(s,i),requestAnimationFrame((function(){n.classList.add(t)}))}},d=function(e,t){return void 0===t&&(t=e+"-active"),function(n,r){c(n);var i=!1,a=function(e){i||(i=!0,n.removeEventListener(o,a),n.removeEventListener(s,a),r())};n.classList.add(e),n.addEventListener(o,a),n.addEventListener(s,a),requestAnimationFrame((function(){n.classList.add(t)}))}};const u=r.getLogger("esri.widgets.support.widgetUtils");function p(e){const n=t.acquire();for(let t=0;t<arguments.length;t++){const e=arguments[t],r=typeof e;if("string"===r)n.push(e);else if(Array.isArray(e))n.push.apply(n,e);else if("object"===r)for(const t in e)e[t]&&n.push(t)}const r=n.join(" ");return t.release(n),r}const g=(()=>{const e=new Map,t=new ResizeObserver((t=>{i();for(const n of t)e.get(n.target)?.(n)}));return(r,i,o)=>(e.has(r)&&u.error("Already observing element",r),e.set(r,i),t.observe(r,o),n((()=>{t.unobserve(r),e.delete(r)})))})();function f(e){const t=e?.closest("[dir]");return null!==t&&t instanceof HTMLElement&&"rtl"===t.dir||"rtl"===document.dir}function m(e){return f(e)?"rtl":"ltr"}function h(e){const t="data-node-ref";this[e.getAttribute(t)]=null}function v(e){const t="data-node-ref";this[e.getAttribute(t)]=e}function w(e,t){return("enter"===e?l:d)(t)}const L=["dd","dl","dt","h1","h2","h3","h4","h5","h6","sub","sup",...["animate","animatetransform","circle","clippath","defs","ellipse","g","image","line","lineargradient","marker","mask","path","pattern","polygon","polyline","radialgradient","rect","stop","svg","switch","symbol","text","textpath","tspan","use"]],b=L.reduce(((e,t)=>(e[t]=[],e)),{}),y=["align","alink","alt","bgcolor","border","cellpadding","cellspacing","class","color","cols","colspan","coords","d","dir","face","height","hspace","ismap","lang","marginheight","marginwidth","multiple","nohref","noresize","noshade","nowrap","ref","rel","rev","rows","rowspan","scrolling","shape","span","summary","tabindex","title","usemap","valign","value","vlink","vspace","width"],E=new e({whiteList:b,onTagAttr:(e,t,n)=>{const r=`${t}="${n}"`;if(y.includes(t))return r},stripIgnoreTag:!0,stripIgnoreTagBody:["script","style"]},!0);function A(e,t){const n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),i=n.top+n.height,o=r.top+r.height,s=n.top,a=r.top;(i>o||s<a)&&e.scrollIntoView({block:"end"})}function k(e){return"Enter"===e||" "===e}export{L as additionalAllowedTags,p as classes,w as cssTransition,h as discardNode,m as getDir,k as isActivationKey,f as isRTL,A as keepMenuItemWithinView,g as onResize,E as renderingSanitizer,y as safeAttrs,v as storeNode};