@arcgis/core 6.0.0-next.6 → 6.0.0-next.8

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 (257) hide show
  1. package/arcade/functions/knowledgegraph.js +1 -1
  2. package/assets/esri/core/workers/RemoteClient.js +1 -1
  3. package/assets/esri/core/workers/chunks/{f09c9d9a554c33a753b4.js → 02253bdffbd580af22d8.js} +1 -1
  4. package/assets/esri/core/workers/chunks/06ab24a083c3229228dd.js +1 -0
  5. package/assets/esri/core/workers/chunks/09a63cc1987f8636c5b0.js +1 -0
  6. package/assets/esri/core/workers/chunks/{8ba32d3a0df4a206ef1c.js → 15cc2c295682f48030f9.js} +1 -1
  7. package/assets/esri/core/workers/chunks/17b76e0d401c7e396d10.js +1 -0
  8. package/assets/esri/core/workers/chunks/{c18189710d6198516175.js → 19b9d393046a780e6c3f.js} +1 -1
  9. package/assets/esri/core/workers/chunks/1b35ec54968fbeec17ce.js +1 -0
  10. package/assets/esri/core/workers/chunks/1c0c5cb13c2590aae906.js +1 -0
  11. package/assets/esri/core/workers/chunks/1e0d2715d603f48a7e0b.js +1 -0
  12. package/assets/esri/core/workers/chunks/{83589144eeeb08f45557.js → 2aeb5cc32284dd3e4d22.js} +1 -1
  13. package/assets/esri/core/workers/chunks/{9a7fc93cc693fd12b5d8.js → 2b6c74646ff475a6e302.js} +1 -1
  14. package/assets/esri/core/workers/chunks/2d9a1f23ec6ce90723ac.js +1 -0
  15. package/assets/esri/core/workers/chunks/340621182db9e8edbec2.js +1 -0
  16. package/assets/esri/core/workers/chunks/{71f739bb3f7350704af6.js → 384ae10053d35940de73.js} +1 -1
  17. package/assets/esri/core/workers/chunks/3b3e519f15ed52c83f0c.js +1 -0
  18. package/assets/esri/core/workers/chunks/{72019baeba520edb6bb0.js → 3b737dae6efed627406e.js} +1 -1
  19. package/assets/esri/core/workers/chunks/3c0ed15b544df6fb0903.js +1 -0
  20. package/assets/esri/core/workers/chunks/3ffda5bf0b91700dc308.js +1 -0
  21. package/assets/esri/core/workers/chunks/{1317ecdfd0cfa683a493.js → 42323093827adffe56d3.js} +1 -1
  22. package/assets/esri/core/workers/chunks/451d7d456df0f4466563.js +1 -0
  23. package/assets/esri/core/workers/chunks/4a6b92ecbb1f1c55cc43.js +1 -0
  24. package/assets/esri/core/workers/chunks/4e544de61f07ca660236.js +1 -0
  25. package/assets/esri/core/workers/chunks/{67ac6b326bf80fc3d33d.js → 53be85d04cd2da4f391d.js} +1 -1
  26. package/assets/esri/core/workers/chunks/54778dec1598818d93cb.js +1 -0
  27. package/assets/esri/core/workers/chunks/{06e7400f5ebe0719b81c.js → 5a5d80c2519aa3ea8878.js} +1 -1
  28. package/assets/esri/core/workers/chunks/{fb4ff0ac2bc445fec413.js → 5b434e8c98e7119d4a3b.js} +1 -1
  29. package/assets/esri/core/workers/chunks/606ea251075fe81a1206.js +1 -0
  30. package/assets/esri/core/workers/chunks/{3ac9dcbb0571a2580236.js → 62c8c9ad09e0166207fd.js} +1 -1
  31. package/assets/esri/core/workers/chunks/6588725275c75fae0d9c.js +1 -0
  32. package/assets/esri/core/workers/chunks/{ac4cc49104d26c384e98.js → 658b2642ab6880770e4e.js} +1 -1
  33. package/assets/esri/core/workers/chunks/68be3fb88ca61f82fb90.js +1 -0
  34. package/assets/esri/core/workers/chunks/6c9266120d46e8c69dbf.js +1 -0
  35. package/assets/esri/core/workers/chunks/6ebe73f69ae822053b70.js +1 -0
  36. package/assets/esri/core/workers/chunks/6ef647b7769d27529f9c.js +1 -0
  37. package/assets/esri/core/workers/chunks/709e019885822b1f6f3e.js +1 -0
  38. package/assets/esri/core/workers/chunks/70cc2d79653d66e85b58.js +1 -0
  39. package/assets/esri/core/workers/chunks/{cbe6c0f32608cb504695.js → 776ae25a34352d3468bc.js} +1 -1
  40. package/assets/esri/core/workers/chunks/8730e7e6e0296f43f10b.js +1 -0
  41. package/assets/esri/core/workers/chunks/8bea0d706ede6f84f8aa.js +1 -0
  42. package/assets/esri/core/workers/chunks/900181f68449d8f82eeb.js +1 -0
  43. package/assets/esri/core/workers/chunks/939942b00ba380e2957e.js +1 -0
  44. package/assets/esri/core/workers/chunks/{1ef39aef6b33c530cbe4.js → 966d0832a3c1f03668a0.js} +1 -1
  45. package/assets/esri/core/workers/chunks/9a28a66807a1e3557018.js +1 -0
  46. package/assets/esri/core/workers/chunks/{2f9033890c465acff698.js → 9bf48a907f91ea004648.js} +1 -1
  47. package/assets/esri/core/workers/chunks/9c7fa9d324fa0bf64d9c.js +1 -0
  48. package/assets/esri/core/workers/chunks/9ce91a909eccc4dfe388.js +1 -0
  49. package/assets/esri/core/workers/chunks/{1ba1f705b6ce5c8ea702.js → a655ebdb4bf0660615a2.js} +1 -1
  50. package/assets/esri/core/workers/chunks/ad76f7ab2f3e6d5a5b3c.js +1 -0
  51. package/assets/esri/core/workers/chunks/af349c7bc8ef41a0e1bd.js +1 -0
  52. package/assets/esri/core/workers/chunks/{250d3be6d3849d71fed8.js → c29c474c4b1049352d3e.js} +1 -1
  53. package/assets/esri/core/workers/chunks/c8ba0673d1b87216e619.js +1 -0
  54. package/assets/esri/core/workers/chunks/{4d3f97a48046021713a6.js → ceb112fe7aef354f8051.js} +1 -1
  55. package/assets/esri/core/workers/chunks/d6ad4390df576198e45b.js +1 -0
  56. package/assets/esri/core/workers/chunks/ddf0671976648f621269.js +1 -0
  57. package/assets/esri/core/workers/chunks/ded8b64a46992c3ae693.js +1 -0
  58. package/assets/esri/core/workers/chunks/{0b36abcbf03037b4073d.js → e1af43e2a8f2ef1059e3.js} +1 -1
  59. package/assets/esri/core/workers/chunks/eaf6d587477399a83088.js +1 -0
  60. package/assets/esri/core/workers/chunks/ecaac39dde7ec4213264.js +1 -0
  61. package/assets/esri/core/workers/chunks/f122c18af10e56f9ec2b.js +1 -0
  62. package/assets/esri/core/workers/chunks/f31b424a3667686af10c.js +1 -0
  63. package/assets/esri/core/workers/chunks/{711cfb84659cb4437679.js → f528ac5c648ca6a98582.js} +1 -1
  64. package/assets/esri/core/workers/chunks/f92364afaefbac7e8f77.js +1 -0
  65. package/assets/esri/core/workers/chunks/fb444954be74c1962ced.js +1 -0
  66. package/assets/esri/core/workers/chunks/fecaf0bc28aeea4d15db.js +1 -0
  67. package/assets/esri/themes/base/widgets/_FeatureFormUtilityNetworkAssociationSettings.scss +1 -1
  68. package/assets/esri/themes/base/widgets/_Features.scss +1 -1
  69. package/assets/esri/themes/base/widgets/_OrientedImageryViewer.scss +5 -9
  70. package/assets/esri/themes/base/widgets/_SelectionToolbar.scss +2 -4
  71. package/assets/esri/themes/base/widgets/_Tooltip.scss +1 -1
  72. package/assets/esri/themes/dark/main.css +1 -1
  73. package/assets/esri/themes/light/main.css +1 -1
  74. package/assets/esri/themes/light/view.css +1 -1
  75. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.en.json +1 -1
  76. package/chunks/GlobalIllumination.glsl.js +4 -2
  77. package/chunks/GlobalIlluminationBlur.glsl.js +3 -5
  78. package/chunks/GlobalIlluminationUpscale.glsl.js +1 -1
  79. package/config.js +1 -1
  80. package/core/colorUtils.js +1 -1
  81. package/core/has.js +1 -1
  82. package/core/workers/workerFactory.js +1 -1
  83. package/form/elements/inputs/DynamicChoiceInput.d.ts +35 -5
  84. package/geometry/projectionUtils.js +1 -1
  85. package/geometry/support/scaleUtils.js +1 -1
  86. package/kernel.js +1 -1
  87. package/layers/ParquetLayer.d.ts +3 -2
  88. package/layers/ParquetLayer.js +1 -1
  89. package/layers/graphics/data/FeatureStore.js +1 -1
  90. package/layers/graphics/data/QueryEngineResult.js +1 -1
  91. package/layers/graphics/data/geometryUtils.js +1 -1
  92. package/layers/graphics/data/projectionSupport.js +1 -1
  93. package/layers/knowledgeGraph/layerUtils.js +1 -1
  94. package/layers/knowledgeGraph/nodeMovementUtils.js +1 -1
  95. package/layers/mixins/ScaleRangeLayer.js +1 -1
  96. package/layers/mixins/SublayersOwner.js +1 -1
  97. package/layers/raster/datasets/TIFFRaster.js +1 -1
  98. package/layers/support/Sublayer.js +1 -1
  99. package/layers/support/SubtypeSublayer.js +1 -1
  100. package/package.json +2 -2
  101. package/popup/FeaturesModel.d.ts +26 -5
  102. package/popup/FeaturesModel.js +1 -1
  103. package/rest/support/printTaskUtils.js +1 -1
  104. package/symbols/cim/CIMSymbolHelper.js +1 -1
  105. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/hittestUtils.js +1 -1
  106. package/views/2d/engine/webgl/shaderGraph/techniques/text/TextShader.js +1 -1
  107. package/views/2d/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiles2D.js +1 -1
  108. package/views/2d/layers/FeatureLikeLayerView2D.js +1 -1
  109. package/views/2d/layers/LayerView2D.js +1 -1
  110. package/views/2d/layers/features/FeatureSourceEventLog.js +1 -1
  111. package/views/2d/layers/features/layerAdapters/ParquetLayerAdapter.js +1 -1
  112. package/views/2d/layers/features/sources/FeatureSource.js +1 -1
  113. package/views/2d/layers/features/sources/FeatureSourceQueryInfo.js +1 -1
  114. package/views/2d/layers/features/sources/strategies/AFeatureTileLoadStrategy.js +1 -1
  115. package/views/2d/layers/features/sources/strategies/ParquetTileLoadStrategy.js +1 -1
  116. package/views/2d/layers/features/support/FeatureSetReader.js +1 -1
  117. package/views/2d/layers/features/support/FeatureSetReaderIndirect.js +1 -1
  118. package/views/2d/layers/features/support/FeatureSetReaderJSON.js +1 -1
  119. package/views/2d/layers/features/support/FeatureSetReaderPBF.js +1 -1
  120. package/views/2d/layers/features/support/FeatureSetReaderPBFHeader.js +1 -1
  121. package/views/3d/analysis/ShadowCastAnalysisView3D.js +1 -1
  122. package/views/3d/analysis/Viewshed/ViewshedPlacementController.js +1 -1
  123. package/views/3d/analysis/Viewshed/types.d.ts +3 -1
  124. package/views/3d/environment/Environment.d.ts +2 -2
  125. package/views/3d/environment/Environment.js +1 -1
  126. package/views/3d/environment/EnvironmentView.js +2 -0
  127. package/views/3d/layers/BuildingComponentSublayerView3D.js +1 -1
  128. package/views/3d/layers/BuildingSceneLayerView3D.js +1 -1
  129. package/views/3d/layers/DynamicLayerView3D.js +1 -1
  130. package/views/3d/layers/FeatureLikeLayerViewBase3D.js +1 -1
  131. package/views/3d/layers/FlowSubView3D.js +1 -1
  132. package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
  133. package/views/3d/layers/GraphicsLayerView3D.js +1 -1
  134. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  135. package/views/3d/layers/IntegratedMeshLayerView3D.js +1 -1
  136. package/views/3d/layers/MediaLayerView3D.js +1 -1
  137. package/views/3d/layers/PointCloudLayerView3D.js +1 -1
  138. package/views/3d/layers/RouteLayerView3D.js +1 -1
  139. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  140. package/views/3d/layers/SceneLayerView3D.js +1 -1
  141. package/views/3d/layers/TiledLayerView3D.js +1 -1
  142. package/views/3d/layers/VoxelLayerView3D.js +1 -1
  143. package/views/3d/layers/graphics/Graphics3DScaleVisibility.js +1 -1
  144. package/views/3d/layers/graphics/Labeler.js +1 -1
  145. package/views/3d/layers/support/FeatureTile.js +1 -1
  146. package/views/3d/layers/support/HeatmapFeatureProcessor.js +1 -1
  147. package/views/3d/layers/support/ImageHighlightHelper3D.js +1 -1
  148. package/views/3d/layers/support/SampledGeometryMaxDistanceRatio.js +1 -1
  149. package/views/3d/support/elevationUpdateUtils.js +1 -1
  150. package/views/3d/support/popupHitTest.js +1 -1
  151. package/views/3d/terrain/TerrainRenderer.js +1 -1
  152. package/views/3d/webgl-engine/effects/WeatherFader.js +1 -1
  153. package/views/3d/webgl-engine/effects/clouds/CloudsComposition.js +1 -1
  154. package/views/3d/webgl-engine/effects/fog/Fog.js +1 -1
  155. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationColorQuantization.glsl.js +2 -2
  156. package/views/3d/webgl-engine/lib/EmissionComposite.js +1 -1
  157. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  158. package/views/SceneView.js +1 -1
  159. package/views/draw/Draw.d.ts +1 -1
  160. package/views/draw/support/InteractiveHandle.js +1 -1
  161. package/views/interactive/options/SnappingOptions.d.ts +1 -0
  162. package/views/interactive/options/TooltipOptions.d.ts +1 -0
  163. package/views/interactive/options/ViewOptions.d.ts +1 -0
  164. package/views/interactive/snapping/FeatureSnappingSourceInfo.js +1 -1
  165. package/views/interactive/support/Units.d.ts +1 -0
  166. package/views/interactive/tooltip/components/DrawHeaderActions.js +1 -1
  167. package/views/interactive/tooltip/components/ElevationModeSelect.js +1 -1
  168. package/views/layers/LayerView.js +1 -1
  169. package/views/layers/LineOfSightLayerView.d.ts +3 -4
  170. package/views/layers/ViewshedLayerView.d.ts +5 -6
  171. package/views/support/layerViewUtils.js +1 -1
  172. package/views/support/projectionUtils.js +1 -1
  173. package/widgets/BasemapLayerList.js +1 -1
  174. package/widgets/BatchAttributeForm.js +1 -1
  175. package/widgets/DirectionalPad.js +1 -1
  176. package/widgets/Editor/components/UpdateFeaturePanelContent.js +1 -1
  177. package/widgets/Editor.d.ts +10 -0
  178. package/widgets/Expand.js +1 -1
  179. package/widgets/FeatureForm.d.ts +2 -2
  180. package/widgets/FeatureForm.js +1 -1
  181. package/widgets/FeatureTable/FieldColumn.js +1 -1
  182. package/widgets/FeatureTable.js +1 -1
  183. package/widgets/Features/FeaturesDrillIn.js +1 -1
  184. package/widgets/Features.js +1 -1
  185. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  186. package/widgets/OrientedImageryViewer/adapters/view/SceneViewAdapter.js +1 -1
  187. package/widgets/OrientedImageryViewer/components/SequentialNavigationUI.js +1 -1
  188. package/widgets/OrientedImageryViewer/components/SketchTools.js +1 -1
  189. package/widgets/PanoramicVideoViewer.js +1 -1
  190. package/widgets/Print.js +1 -1
  191. package/widgets/ScaleRangeSlider.js +1 -1
  192. package/widgets/Search/SearchResultRenderer.js +1 -1
  193. package/widgets/ShadowCast/ShadowCastViewModel.js +1 -1
  194. package/widgets/Sketch/SketchViewModel.d.ts +1 -1
  195. package/widgets/Sketch/support/ResponsiveToolbar/ResponsiveToolbar.js +1 -1
  196. package/widgets/Sketch.d.ts +1 -1
  197. package/widgets/Track/TrackViewModel.d.ts +1 -1
  198. package/widgets/UtilityNetworkAssociations.js +1 -1
  199. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceFeature.js +1 -1
  200. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceFeaturesDrillIn.js +1 -1
  201. package/widgets/UtilityNetworkTrace/types.d.ts +2 -2
  202. package/widgets/UtilityNetworkTrace.js +1 -1
  203. package/widgets/UtilityNetworkValidateTopology.js +1 -1
  204. package/widgets/ValuePicker.js +1 -1
  205. package/widgets/VideoPlayer/components/PlayerActionsGroup.js +1 -1
  206. package/widgets/VideoPlayer/components/PlayerControlsGroup.js +1 -1
  207. package/widgets/support/GridControls.js +1 -1
  208. package/widgets/support/PluginSettingsControls.js +1 -1
  209. package/widgets/support/SelectionToolbar.js +1 -1
  210. package/widgets/support/SnappingControls.js +1 -1
  211. package/widgets/support/componentsUtils.js +1 -1
  212. package/assets/esri/core/workers/chunks/00a600c71ceebe7bfeee.js +0 -1
  213. package/assets/esri/core/workers/chunks/00d24415bdeb0adae3df.js +0 -1
  214. package/assets/esri/core/workers/chunks/0193df3f9fb23633da87.js +0 -1
  215. package/assets/esri/core/workers/chunks/02d4f91652a79d2b637e.js +0 -1
  216. package/assets/esri/core/workers/chunks/07aa6d36f1006b6ab7ff.js +0 -1
  217. package/assets/esri/core/workers/chunks/107b025dc5b09465a78f.js +0 -1
  218. package/assets/esri/core/workers/chunks/1f43e06dcfe56229bb0f.js +0 -1
  219. package/assets/esri/core/workers/chunks/25d6c674b1c4829f040f.js +0 -1
  220. package/assets/esri/core/workers/chunks/25e6013e2c095629b236.js +0 -1
  221. package/assets/esri/core/workers/chunks/2a570ce6b99dac6ee996.js +0 -1
  222. package/assets/esri/core/workers/chunks/2c90f7a6432cd716db8b.js +0 -1
  223. package/assets/esri/core/workers/chunks/2e6a2f4d686b71249c0e.js +0 -1
  224. package/assets/esri/core/workers/chunks/303fde8f3459dde16555.js +0 -1
  225. package/assets/esri/core/workers/chunks/350540770781b281c39a.js +0 -1
  226. package/assets/esri/core/workers/chunks/3880d2c7fb14955d7f93.js +0 -1
  227. package/assets/esri/core/workers/chunks/3b017b718ea2d4ed498f.js +0 -1
  228. package/assets/esri/core/workers/chunks/43fc42405167a5537039.js +0 -1
  229. package/assets/esri/core/workers/chunks/4d82db661365daa513a6.js +0 -1
  230. package/assets/esri/core/workers/chunks/56851011276de0b3e318.js +0 -1
  231. package/assets/esri/core/workers/chunks/5f3ab77a79c408423fde.js +0 -1
  232. package/assets/esri/core/workers/chunks/633a9051580c5302d2f7.js +0 -1
  233. package/assets/esri/core/workers/chunks/6469c0d18d3663e7da4b.js +0 -1
  234. package/assets/esri/core/workers/chunks/65654e481cce9ae40e54.js +0 -1
  235. package/assets/esri/core/workers/chunks/669e39c3437d7273f0c7.js +0 -1
  236. package/assets/esri/core/workers/chunks/798a63653f82c0e842c5.js +0 -1
  237. package/assets/esri/core/workers/chunks/84fcbf7a1d04f01685d1.js +0 -1
  238. package/assets/esri/core/workers/chunks/8b54589f173259c1ba55.js +0 -1
  239. package/assets/esri/core/workers/chunks/8e511079918e2fd9261f.js +0 -1
  240. package/assets/esri/core/workers/chunks/95b82cbbe355266c65d7.js +0 -1
  241. package/assets/esri/core/workers/chunks/9673a9efec86040b8c13.js +0 -1
  242. package/assets/esri/core/workers/chunks/a010d2e4e34eb7bc1fec.js +0 -1
  243. package/assets/esri/core/workers/chunks/b05a41a60e30935644be.js +0 -1
  244. package/assets/esri/core/workers/chunks/bff767ec5bb4c0d6b324.js +0 -1
  245. package/assets/esri/core/workers/chunks/c906f984b2b6e7578c06.js +0 -1
  246. package/assets/esri/core/workers/chunks/d21257d2e2a37266c0f7.js +0 -1
  247. package/assets/esri/core/workers/chunks/d270cc9807161033686e.js +0 -1
  248. package/assets/esri/core/workers/chunks/de02a6a1f4810f99e9bb.js +0 -1
  249. package/assets/esri/core/workers/chunks/e5943f3a4bbc12c06c4d.js +0 -1
  250. package/assets/esri/core/workers/chunks/ec9a2425b4a498054a19.js +0 -1
  251. package/assets/esri/core/workers/chunks/f0a68d2900d24f56afa0.js +0 -1
  252. package/assets/esri/core/workers/chunks/f0aaa646b17ffdbdcefa.js +0 -1
  253. package/assets/esri/core/workers/chunks/f46a0d7cf588ba1b4157.js +0 -1
  254. package/assets/esri/core/workers/chunks/f762f70e7d39634ce797.js +0 -1
  255. package/assets/esri/core/workers/chunks/fccbb902fe08448f91de.js +0 -1
  256. package/assets/esri/core/workers/chunks/fd0254c6fc6c03ec11ba.js +0 -1
  257. package/views/3d/environment/EnvironmentManager.js +0 -2
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../../../core/Accessor.js";import n from"../../../core/Logger.js";import{memoize as r}from"../../../core/memoize.js";import{ignoreAbortErrors as i}from"../../../core/promiseUtils.js";import{valueInUnit as a}from"../../../core/quantity.js";import{createScreenPoint as o}from"../../../core/screenUtils.js";import{property as s,subclass as c}from"../../../core/accessorSupport/decorators.js";import{fromArray as l,create as u}from"../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{normalize as d}from"../../../core/libs/gl-matrix-2/math/vec2.js";import f from"../../../geometry/Point.js";import{pointEquals as p}from"../../../layers/graphics/dehydratedFeatureComparison.js";import{makeDehydratedPoint as m}from"../../../layers/graphics/dehydratedPoint.js";import{getZFromVertexSnappingCandidates as h}from"./drawUtils.js";import{getPolylineOrPolygonConstraint as g,getPointConstraint as _,pointToConstraintSpace as v,constraintSpaceToPoint as y}from"../../interactive/sketch/constraintUtils.js";import{SnappingContext as b}from"../../interactive/snapping/SnappingContext.js";import{SnappingOperation as x}from"../../interactive/snapping/SnappingOperation.js";let S=class extends t{constructor(e){super(e),this._snappingOperation=null,this.role=`primary`,this.captureMode=`capture-always`,this.defaultCaptureMode=`capture-always`,this.snappingEnabled=!0,this.selfSnappingEnabled=!0,this.editSession=null,this.outputMapPositionOfDragStart=null,this.selectedSnappingResult=null,this.screenPosition=null,this.inputMapPosition=null,this.drawToolDragging=!1,this.manipulatorDragging=!1,this.activePointerId=null,this.activePointerType=null,this._getSnappingContext=r((e,t,n,r,i,a)=>n?new b({elevationInfo:r,pointer:e,vertexHandle:t,editGeometryOperations:n,visualizer:i,suppressSelfSnapping:!a}):null)}get grabbable(){return this.captureMode===`grabbable-object`}get following(){let{captureMode:e}=this;return e===`capture-always`||e===`capture-when-engaged`}get outputMapPosition(){return this._get(`outputMapPosition`)}set outputMapPosition(e){let t=this._get(`outputMapPosition`);e&&t&&p(e,t)||this._set(`outputMapPosition`,e)}get dragging(){return this.drawToolDragging||this.manipulatorDragging}get firstPointZ(){let e=this.editSession?.lastPointAddedBySession;if(!e)return null;let t=this.editSession?.getInformationAboutPoint(0,e.partIndex);return t?.point.hasZ?t.point.z:null}async moveTo(e,t){let{snappingManager:n,skipSnapping:r,surfaceManager:a,pointerType:o,editGeometryOperations:s,snappingVisualizer:c}=t;this.notePointerActivity(t.pointerId,o);let l=this._getSnappingContext(o??`mouse`,this.editSession?.endVertex,s,a?.elevationInfo,c,this.selfSnappingEnabled),u=this._ensureSnappingOperation(t);e&&(this.screenPosition=e);let d=this.screenPosition;if(!d)return null;let h=this.firstPointZ,g=a?.screenToMap(d,{firstPointZ:h});if(this.inputMapPosition=g,this.selectedSnappingResult=null,!n||!g||!l||r||!this.snappingEnabled)return this.selectedSnappingResult=void 0,this.outputMapPosition=this._finalizeSnappingAndConstraintResult(null,g,t);let _=m(g.x,g.y,g.z,g?.spatialReference),v=a?.screenToScene?.(d,{firstPointZ:h}),y=u.snap({point:_,scenePoint:v},n,l),b=()=>{let e=u.stagedPoint;return p(this.selectedSnappingResult,e)||(this.selectedSnappingResult=e==null?null:new f({...e})),this.outputMapPosition=this._finalizeSnappingAndConstraintResult(this.selectedSnappingResult,g,t)};return b(),i(y.then(b))}async moveDeltaRelativeToScreen(e,t,n){let{inputMapPosition:r,screenPosition:i,firstPointZ:a}=this;if(!r)return null;let s=n.surfaceManager?n.surfaceManager.mapToScreen(r,{firstPointZ:a}):i;if(!s)return null;let c=o(s.x+e,s.y+t);return this.moveTo(c,n)}async noteDragStart(e,t){if(this.notePointerDown(t.pointerId,t.pointerType),this.drawToolDragging=!0,t.skipSnapping||!this.snappingEnabled)return null;let{snappingManager:r,surfaceManager:a,pointerType:o,editGeometryOperations:s,snappingVisualizer:c}=t,l=this._getSnappingContext(o??`mouse`,this.editSession?.endVertex,s,a?.elevationInfo,c,this.selfSnappingEnabled),u=this._ensureSnappingOperation(t),d=this.firstPointZ,p=a?.screenToMap(e,{firstPointZ:d});if(this.outputMapPositionOfDragStart=null,r&&l&&p){let o=u.snap({point:m(p.x,p.y,p.z,p?.spatialReference),scenePoint:a?.screenToScene?.(e,{firstPointZ:d})},r,l);return i(o.then(()=>{let e=u.stagedPoint?new f({...u.stagedPoint}):null;return this.outputMapPositionOfDragStart=this._finalizeSnappingAndConstraintResult(e,p,t)})).catch(e=>(n.getLogger(this).error(`drawtool:handle:snapping-failed`,e),null))}return this.outputMapPositionOfDragStart=p,null}async noteDragEnd(e,t){return this.moveTo(e,t).finally(()=>{this.drawToolDragging=!1,this.notePointerUp(t.pointerId,t.pointerType)})}notePointerActivity(e=null,t=null){t&&(this.activePointerType=t),e!=null&&this.dragging&&(this.activePointerId=e)}notePointerDown(e=null,t=null){e!=null&&(this.activePointerId=e),t&&(this.activePointerType=t)}notePointerUp(e=null,t=null){(e==null||this.activePointerId==null||this.activePointerId===e)&&(this.activePointerId=null),t&&this.activePointerType===t&&(this.activePointerType=null)}async moveDeltaRelativeToSketchSegment(e,t){let n=this.editSession?.endVertex?.leftSegment?.leftVertex?.pos,{firstPointZ:r}=this,i=this.inputMapPosition?t.surfaceManager?.mapToScreen(this.inputMapPosition,{firstPointZ:r})??this.screenPosition:this.screenPosition;if(!n||!i)return null;let a=t.editGeometryOperations?.data?.coordinateHelper.vectorToPoint(n);if(!a)return null;let o=t.surfaceManager?.mapToScreen(a,{firstPointZ:r});if(!o)return null;let s=[i.x-o.x,i.y-o.y],c=d(u(),l(s)),[f,p]=[c[0]*e,c[1]*e];return this.moveDeltaRelativeToScreen(f,p,t)}refreshConstraint(e){let t=this.outputMapPosition??this.inputMapPosition;return this.outputMapPosition=this._finalizeSnappingAndConstraintResult(null,t,e)}_finalizeSnappingAndConstraintResult(e,t,n){let r=e??t;r&&(r.z=h(n.snappingManager)??r.z);let i=(r?n.surfaceManager?.constrainZToEffectiveSurface?.(r):null)??r;return this._ensureZ(this._applyTooltipConstraints(i,n),n)}_applyTooltipConstraints(e,t){let n=e,r=t.tooltipManager?.getConstraints(this);if(!r&&!t.interactiveHandleManager?.customConstraints||!n)return n;let i=t.interactiveHandleManager?.customConstraints,o=t.editGeometryOperations?.data?.coordinateHelper;if(!o)return n;if(i&&this.editSession&&n){let e={handle:this,editSession:this.editSession,toScreen:e=>t.surfaceManager?.mapToScreen(e,{firstPointZ:this.firstPointZ})??null};for(let t of i)n=t(n,e)||n}let s=(this.editSession?.endVertex)?.leftSegment?.leftVertex,c=s?.leftSegment?.leftVertex,l=s&&o.vectorToPoint(s.pos),u=c&&o.vectorToPoint(c.pos);if(!r)return n;let d=(l||u)&&this.role===`primary`?g(l,u,r):_(r);if(!n||!r||!d)return n;let{context:p}=r,m=v(n,p),h=m?d.closestTo(m):void 0;if(!h)return n;let b=y(h,n,p),x=t.surfaceManager?.view?.type===`2d`||p.elevationInfo.mode!==`absolute-height`,S=r.elevation,{hasZ:C,metersPerVerticalUnit:w}=t.surfaceManager??{};return b!=null&&x&&S!=null&&C&&w&&(b.z=a(S,`meters`)/w),b?new f({x:b.x,y:b.y,z:b.z,hasM:b.hasM,hasZ:b.hasZ,m:b.m,spatialReference:b.spatialReference}):null}_ensureZ(e,t){return!e||!t.hasZ||(e.z==null||!e.hasZ)&&(e.z=t.defaultZ??0,e.hasZ=!0),e}_ensureSnappingOperation({view:e}){return this._snappingOperation??=new x({view:e})}};e([s()],S.prototype,`_snappingOperation`,void 0),e([s()],S.prototype,`role`,void 0),e([s()],S.prototype,`name`,void 0),e([s()],S.prototype,`captureMode`,void 0),e([s()],S.prototype,`defaultCaptureMode`,void 0),e([s()],S.prototype,`grabbable`,null),e([s()],S.prototype,`following`,null),e([s()],S.prototype,`snappingEnabled`,void 0),e([s()],S.prototype,`selfSnappingEnabled`,void 0),e([s()],S.prototype,`editSession`,void 0),e([s()],S.prototype,`outputMapPosition`,null),e([s()],S.prototype,`outputMapPositionOfDragStart`,void 0),e([s()],S.prototype,`selectedSnappingResult`,void 0),e([s()],S.prototype,`screenPosition`,void 0),e([s()],S.prototype,`inputMapPosition`,void 0),e([s()],S.prototype,`dragging`,null),e([s()],S.prototype,`drawToolDragging`,void 0),e([s()],S.prototype,`manipulatorDragging`,void 0),e([s()],S.prototype,`activePointerId`,void 0),e([s()],S.prototype,`activePointerType`,void 0),e([s({readOnly:!0})],S.prototype,`firstPointZ`,null),S=e([c(`esri.views.draw.support.InteractiveHandle`)],S);export{S as InteractiveHandle};
2
+ import{__decorate as e}from"tslib";import t from"../../../core/Accessor.js";import n from"../../../core/Logger.js";import{memoize as r}from"../../../core/memoize.js";import{ignoreAbortErrors as i}from"../../../core/promiseUtils.js";import{valueInUnit as a}from"../../../core/quantity.js";import{createScreenPoint as o}from"../../../core/screenUtils.js";import{property as s,subclass as c}from"../../../core/accessorSupport/decorators.js";import{fromArray as l,create as u}from"../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{normalize as d}from"../../../core/libs/gl-matrix-2/math/vec2.js";import f from"../../../geometry/Point.js";import{pointEquals as p}from"../../../layers/graphics/dehydratedFeatureComparison.js";import{makeDehydratedPoint as m}from"../../../layers/graphics/dehydratedPoint.js";import{getZFromVertexSnappingCandidates as h}from"./drawUtils.js";import{getPolylineOrPolygonConstraint as g,getPointConstraint as _,pointToConstraintSpace as v,constraintSpaceToPoint as y}from"../../interactive/sketch/constraintUtils.js";import{SnappingContext as b}from"../../interactive/snapping/SnappingContext.js";import{SnappingOperation as x}from"../../interactive/snapping/SnappingOperation.js";let S=class extends t{constructor(e){super(e),this._snappingOperation=null,this.role=`primary`,this.captureMode=`capture-always`,this.defaultCaptureMode=`capture-always`,this.snappingEnabled=!0,this.selfSnappingEnabled=!0,this.editSession=null,this.outputMapPositionOfDragStart=null,this.selectedSnappingResult=null,this.screenPosition=null,this.inputMapPosition=null,this.drawToolDragging=!1,this.manipulatorDragging=!1,this.activePointerId=null,this.activePointerType=null,this._getSnappingContext=r((e,t,n,r,i,a)=>n?new b({elevationInfo:r,pointer:e,vertexHandle:t,editGeometryOperations:n,visualizer:i,suppressSelfSnapping:!a}):null)}get grabbable(){return this.captureMode===`grabbable-object`}get following(){let{captureMode:e}=this;return e===`capture-always`||e===`capture-when-engaged`}get outputMapPosition(){return this._get(`outputMapPosition`)}set outputMapPosition(e){let t=this._get(`outputMapPosition`);e&&t&&p(e,t)||this._set(`outputMapPosition`,e)}get dragging(){return this.drawToolDragging||this.manipulatorDragging}get firstPointZ(){let e=this.editSession?.lastPointAddedBySession;if(!e)return null;let t=this.editSession?.getInformationAboutPoint(0,e.partIndex);return t?.point.hasZ?t.point.z:null}async moveTo(e,t){let{snappingManager:n,skipSnapping:r,surfaceManager:a,pointerType:o,editGeometryOperations:s,snappingVisualizer:c}=t;this.notePointerActivity(t.pointerId,o);let l=this._getSnappingContext(o??`mouse`,this.editSession?.endVertex,s,a?.elevationInfo,c,this.selfSnappingEnabled),u=this._ensureSnappingOperation(t);e&&(this.screenPosition=e);let d=this.screenPosition;if(!d)return null;let h=this.firstPointZ,g=a?.screenToMap(d,{firstPointZ:h});if(this.inputMapPosition=g,this.selectedSnappingResult=null,!n||!g||!l||r||!this.snappingEnabled)return this.selectedSnappingResult=void 0,this.outputMapPosition=this._finalizeSnappingAndConstraintResult(null,g,t);let _=m(g.x,g.y,g.z,g?.spatialReference),v=a?.screenToScene?.(d,{firstPointZ:h}),y=u.snap({point:_,scenePoint:v},n,l),b=()=>{let e=u.stagedPoint;return p(this.selectedSnappingResult,e)||(this.selectedSnappingResult=e==null?null:new f({...e})),this.outputMapPosition=this._finalizeSnappingAndConstraintResult(this.selectedSnappingResult,g,t)};return b(),i(y.then(b))}async moveDeltaRelativeToScreen(e,t,n){let{inputMapPosition:r,screenPosition:i,firstPointZ:a}=this;if(!r)return null;let s=n.surfaceManager?n.surfaceManager.mapToScreen(r,{firstPointZ:a}):i;if(!s)return null;let c=o(s.x+e,s.y+t);return this.moveTo(c,n)}async noteDragStart(e,t){if(this.notePointerDown(t.pointerId,t.pointerType),this.drawToolDragging=!0,t.skipSnapping||!this.snappingEnabled)return null;let{snappingManager:r,surfaceManager:a,pointerType:o,editGeometryOperations:s,snappingVisualizer:c}=t,l=this._getSnappingContext(o??`mouse`,this.editSession?.endVertex,s,a?.elevationInfo,c,this.selfSnappingEnabled),u=this._ensureSnappingOperation(t),d=this.firstPointZ,p=a?.screenToMap(e,{firstPointZ:d});if(this.outputMapPositionOfDragStart=null,r&&l&&p){let o=u.snap({point:m(p.x,p.y,p.z,p?.spatialReference),scenePoint:a?.screenToScene?.(e,{firstPointZ:d})},r,l);return i(o.then(()=>{let e=u.stagedPoint?new f({...u.stagedPoint}):null;return this.outputMapPositionOfDragStart=this._finalizeSnappingAndConstraintResult(e,p,t)})).catch(e=>(n.getLogger(this).error(`drawtool:handle:snapping-failed`,e),null))}return this.outputMapPositionOfDragStart=p,null}async noteDragEnd(e,t){return this.moveTo(e,t).finally(()=>{this.drawToolDragging=!1,this.notePointerUp(t.pointerId,t.pointerType)})}notePointerActivity(e=null,t=null){t&&(this.activePointerType=t),e!=null&&this.dragging&&(this.activePointerId=e)}notePointerDown(e=null,t=null){e!=null&&(this.activePointerId=e),t&&(this.activePointerType=t)}notePointerUp(e=null,t=null){(e==null||this.activePointerId==null||this.activePointerId===e)&&(this.activePointerId=null),t&&this.activePointerType===t&&(this.activePointerType=null)}async moveDeltaRelativeToSketchSegment(e,t){let n=this.editSession?.endVertex?.leftSegment?.leftVertex?.pos,{firstPointZ:r}=this,i=this.inputMapPosition?t.surfaceManager?.mapToScreen(this.inputMapPosition,{firstPointZ:r})??this.screenPosition:this.screenPosition;if(!n||!i)return null;let a=t.editGeometryOperations?.data?.coordinateHelper.vectorToPoint(n);if(!a)return null;let o=t.surfaceManager?.mapToScreen(a,{firstPointZ:r});if(!o)return null;let s=[i.x-o.x,i.y-o.y],c=d(u(),l(s)),[f,p]=[c[0]*e,c[1]*e];return this.moveDeltaRelativeToScreen(f,p,t)}refreshConstraint(e){let t=this.outputMapPosition??this.inputMapPosition;return this.outputMapPosition=this._finalizeSnappingAndConstraintResult(null,t,e)}_finalizeSnappingAndConstraintResult(e,t,n){let r=e??t;r&&n.view.type===`2d`&&(r.z=h(n.snappingManager)??r.z);let i=(r?n.surfaceManager?.constrainZToEffectiveSurface?.(r):null)??r;return this._ensureZ(this._applyTooltipConstraints(i,n),n)}_applyTooltipConstraints(e,t){let n=e,r=t.tooltipManager?.getConstraints(this);if(!r&&!t.interactiveHandleManager?.customConstraints||!n)return n;let i=t.interactiveHandleManager?.customConstraints,o=t.editGeometryOperations?.data?.coordinateHelper;if(!o)return n;if(i&&this.editSession&&n){let e={handle:this,editSession:this.editSession,toScreen:e=>t.surfaceManager?.mapToScreen(e,{firstPointZ:this.firstPointZ})??null};for(let t of i)n=t(n,e)||n}let s=(this.editSession?.endVertex)?.leftSegment?.leftVertex,c=s?.leftSegment?.leftVertex,l=s&&o.vectorToPoint(s.pos),u=c&&o.vectorToPoint(c.pos);if(!r)return n;let d=(l||u)&&this.role===`primary`?g(l,u,r):_(r);if(!n||!r||!d)return n;let{context:p}=r,m=v(n,p),h=m?d.closestTo(m):void 0;if(!h)return n;let b=y(h,n,p),x=t.surfaceManager?.view?.type===`2d`||p.elevationInfo.mode!==`absolute-height`,S=r.elevation,{hasZ:C,metersPerVerticalUnit:w}=t.surfaceManager??{};return b!=null&&x&&S!=null&&C&&w&&(b.z=a(S,`meters`)/w),b?new f({x:b.x,y:b.y,z:b.z,hasM:b.hasM,hasZ:b.hasZ,m:b.m,spatialReference:b.spatialReference}):null}_ensureZ(e,t){return!e||!t.hasZ||(e.z==null||!e.hasZ)&&(e.z=t.defaultZ??0,e.hasZ=!0),e}_ensureSnappingOperation({view:e}){return this._snappingOperation??=new x({view:e})}};e([s()],S.prototype,`_snappingOperation`,void 0),e([s()],S.prototype,`role`,void 0),e([s()],S.prototype,`name`,void 0),e([s()],S.prototype,`captureMode`,void 0),e([s()],S.prototype,`defaultCaptureMode`,void 0),e([s()],S.prototype,`grabbable`,null),e([s()],S.prototype,`following`,null),e([s()],S.prototype,`snappingEnabled`,void 0),e([s()],S.prototype,`selfSnappingEnabled`,void 0),e([s()],S.prototype,`editSession`,void 0),e([s()],S.prototype,`outputMapPosition`,null),e([s()],S.prototype,`outputMapPositionOfDragStart`,void 0),e([s()],S.prototype,`selectedSnappingResult`,void 0),e([s()],S.prototype,`screenPosition`,void 0),e([s()],S.prototype,`inputMapPosition`,void 0),e([s()],S.prototype,`dragging`,null),e([s()],S.prototype,`drawToolDragging`,void 0),e([s()],S.prototype,`manipulatorDragging`,void 0),e([s()],S.prototype,`activePointerId`,void 0),e([s()],S.prototype,`activePointerType`,void 0),e([s({readOnly:!0})],S.prototype,`firstPointZ`,null),S=e([c(`esri.views.draw.support.InteractiveHandle`)],S);export{S as InteractiveHandle};
@@ -67,6 +67,7 @@ export interface SnappingOptionsProperties extends Partial<Pick<SnappingOptions,
67
67
  * @see [Sketch](https://developers.arcgis.com/javascript/latest/references/core/widgets/Sketch/)
68
68
  * @see [SketchViewModel](https://developers.arcgis.com/javascript/latest/references/core/widgets/Sketch/SketchViewModel/)
69
69
  * @see [Editor](https://developers.arcgis.com/javascript/latest/references/core/widgets/Editor/)
70
+ * @see [Sample - View options for snapping, tooltips and units](https://developers.arcgis.com/javascript/latest/sample-code/view-options/)
70
71
  * @see [Sample - Sketch widget](https://developers.arcgis.com/javascript/latest/sample-code/sketch-geometries/)
71
72
  * @see [Sample - Sketch in 3D](https://developers.arcgis.com/javascript/latest/sample-code/sketch-3d/)
72
73
  * @see [Sample - Edit features in 3D with the Editor widget](https://developers.arcgis.com/javascript/latest/sample-code/editor-3d/)
@@ -93,6 +93,7 @@ export interface TooltipOptionsProperties extends Partial<Pick<TooltipOptions, "
93
93
  * @since 5.2
94
94
  * @see [LabelOptions](https://developers.arcgis.com/javascript/latest/references/core/views/interactive/options/LabelOptions/)
95
95
  * @see [ValueOptions](https://developers.arcgis.com/javascript/latest/references/core/views/interactive/options/ValueOptions/)
96
+ * @see [Sample - View options for snapping, tooltips and units](https://developers.arcgis.com/javascript/latest/sample-code/view-options/)
96
97
  * @see [Sample - Sketch in 3D](https://developers.arcgis.com/javascript/latest/sample-code/sketch-3d/)
97
98
  * @see [Sample - Edit features in 3D with the Editor widget](https://developers.arcgis.com/javascript/latest/sample-code/editor-3d/)
98
99
  */
@@ -124,6 +124,7 @@ export interface ViewOptionsProperties {
124
124
  *
125
125
  * @beta
126
126
  * @since 5.2
127
+ * @see [Sample - View options for snapping, tooltips and units](https://developers.arcgis.com/javascript/latest/sample-code/view-options/)
127
128
  */
128
129
  export default class ViewOptions extends Accessor {
129
130
  /** @since 5.2 */
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../../../core/Accessor.js";import has from"../../../core/has.js";import n from"../../../core/Logger.js";import{watch as r,syncAndInitial as i}from"../../../core/reactiveUtils.js";import{sqlAnd as a}from"../../../core/sql.js";import{property as o,subclass as s}from"../../../core/accessorSupport/decorators.js";import c from"../../../layers/support/FeatureFilter.js";import{getFloorFilterClause as l}from"../../../layers/support/floorFilterUtils.js";import{isSubtypeGroupLayer as u,isFeatureLayer as d}from"../../../layers/support/layerUtils.js";import{isUtilityNetworkWebMap as f}from"./snappingUtils.js";import{scaleBoundsPredicate as p}from"../../support/layerViewUtils.js";let m=class extends t{set attributeRulesEnabled(e){this._set(`attributeRulesEnabled`,e),e&&this.loadRules()}get layerView(){return this.view?.allLayerViews?.find(e=>e.layer===this.layer)}get valid(){let{_valid:e,snappingSource:t,layer:n}=this;return!t||!n?!1:e}get subtypeFilter(){let{layer:e,snappingSource:t}=this;if(!u(e)||!e.subtypes?.length||!t)return{mode:`not-in-use`,filter:null};let n=t.layerSource.sublayerSources.filter(e=>e.enabled&&e.layer.visible&&p(this.view?.scale,e.layer.effectiveScaleRange.minScale,e.layer.effectiveScaleRange.maxScale)).map(e=>e.layer.subtypeCode);if(!n.length)return{mode:`none-visible`,filter:null};if(n.length===e.subtypes.length)return{mode:`all-visible`,filter:null};let r=e.fieldsIndex.get(e.subtypeField)?.name??e.subtypeField;return n.length===1?{mode:`in-use`,filter:`${r} = ${n.getItemAt(0)}`}:{mode:`in-use`,filter:`${r} IN (${n.join(`, `)})`}}get floorFilter(){let{view:e,layer:t}=this;return!e||!t?null:l({view:e,layer:t})}constructor(e){super(e),this.layer=null,this.snappingSource=null,this.rulesTable=null,this._valid=null}initialize(){if(!this.snappingSource||!this.layer){this._valid=!1;return}let{layer:e,snappingSource:t}=this;if(`refresh`in e){let n=e;this.addHandles(n.on(`refresh`,()=>t.refresh()))}this.loadRules(),this.addHandles([r(()=>t.updating,e=>t.layerSource.updating=e,i),r(()=>t.availability,e=>t.layerSource.availability=e,i)])}getFetchCandidatesParameters(e,t,n){if(!this.valid)return[];let{layer:r,layerView:i,floorFilter:o,rulesTable:s,subtypeFilter:l}=this,p={distance:n,mode:this.view?.type??`2d`,point:e,coordinateHelper:t.coordinateHelper,...h(),filter:i&&`filter`in i?i.filter:null};if(o&&(p.filter=g(p.filter,o)),l.mode!==`not-in-use`&&l.mode!==`all-visible`){if(l.mode===`none-visible`)return[];p.filter?p.filter.where=a(p.filter.where,l.mode):p.filter=new c({where:l.filter})}if(!this.attributeRulesEnabled)return[p];let m=t.feature,_=m?.sourceLayer?.type===`subtype-sublayer`?m.sourceLayer.parent:m?.sourceLayer;if(s&&m&&f(this.view?.map)&&(d(r)||u(r))&&(d(_)||u(_))&&this.view.map.utilityNetworks?.find(e=>e.isUtilityLayer(_))){if(s.loadStatus!==`loaded`)return[];let e=[],t=r.layerId,n=s.getFeatureSQL(_,m)?.[t];if(!n)return[];let i=n.anyVertex,a=n.endVertex;return a&&i&&a===i&&(a=``),a&&e.push({...p,returnEdge:!1,vertexMode:`ends`,filter:g(p.filter,a)}),i&&e.push({...p,returnEdge:has(`snapping-include-edges-when-applying-any-vertex-rule`)??!1,vertexMode:`all`,filter:g(p.filter,i)}),e}return[p]}async loadRules(){this._valid=null;let{layer:e,view:t,attributeRulesEnabled:r}=this;if(r&&e&&t&&f(t?.map)&&(d(e)||u(e)))try{await Promise.allSettled(t.map.utilityNetworks?.map(e=>e.load())??[]);let n=t.map.utilityNetworks?.find(t=>t.isUtilityLayer(e));n&&(this.rulesTable=await n.getRulesTable(),await this.rulesTable?.load())}catch{this._valid=!1,n.getLogger(`esri.views.interactive.snapping.FeatureSnappingSourceInfo`).error(`Failed to load rules table for snapping source`,e.title);return}this._valid=!0}remove(){this.destroy()}destroy(){this.snappingSource?.destroy()}};e([o({constructOnly:!0})],m.prototype,`layer`,void 0),e([o({constructOnly:!0})],m.prototype,`snappingSource`,void 0),e([o({constructOnly:!0})],m.prototype,`view`,void 0),e([o({value:!1})],m.prototype,`attributeRulesEnabled`,null),e([o()],m.prototype,`layerView`,null),e([o()],m.prototype,`rulesTable`,void 0),e([o()],m.prototype,`valid`,null),e([o()],m.prototype,`subtypeFilter`,null),e([o()],m.prototype,`floorFilter`,null),e([o()],m.prototype,`_valid`,void 0),m=e([s(`esri.views.interactive.snapping.FeatureSnappingSourceInfo`)],m);function h(){return{returnEdge:!0,vertexMode:`all`}}function g(e,t){return e==null?new c({where:t}):e.where?new c({where:a(e.where,t)}):new c({where:t})}export{m as FeatureSnappingSourceInfo};
2
+ import{__decorate as e}from"tslib";import t from"../../../core/Accessor.js";import has from"../../../core/has.js";import n from"../../../core/Logger.js";import{watch as r,syncAndInitial as i}from"../../../core/reactiveUtils.js";import{sqlAnd as a}from"../../../core/sql.js";import{property as o,subclass as s}from"../../../core/accessorSupport/decorators.js";import{scaleBoundsPredicate as c}from"../../../geometry/support/scaleUtils.js";import l from"../../../layers/support/FeatureFilter.js";import{getFloorFilterClause as u}from"../../../layers/support/floorFilterUtils.js";import{isSubtypeGroupLayer as d,isFeatureLayer as f}from"../../../layers/support/layerUtils.js";import{isUtilityNetworkWebMap as p}from"./snappingUtils.js";let m=class extends t{set attributeRulesEnabled(e){this._set(`attributeRulesEnabled`,e),e&&this.loadRules()}get layerView(){return this.view?.allLayerViews?.find(e=>e.layer===this.layer)}get valid(){let{_valid:e,snappingSource:t,layer:n}=this;return!t||!n?!1:e}get subtypeFilter(){let{layer:e,snappingSource:t}=this;if(!d(e)||!e.subtypes?.length||!t)return{mode:`not-in-use`,filter:null};let n=t.layerSource.sublayerSources.filter(e=>e.enabled&&e.layer.visible&&c(this.view?.scale,e.layer.effectiveScaleRange.minScale,e.layer.effectiveScaleRange.maxScale)).map(e=>e.layer.subtypeCode);if(!n.length)return{mode:`none-visible`,filter:null};if(n.length===e.subtypes.length)return{mode:`all-visible`,filter:null};let r=e.fieldsIndex.get(e.subtypeField)?.name??e.subtypeField;return n.length===1?{mode:`in-use`,filter:`${r} = ${n.getItemAt(0)}`}:{mode:`in-use`,filter:`${r} IN (${n.join(`, `)})`}}get floorFilter(){let{view:e,layer:t}=this;return!e||!t?null:u({view:e,layer:t})}constructor(e){super(e),this.layer=null,this.snappingSource=null,this.rulesTable=null,this._valid=null}initialize(){if(!this.snappingSource||!this.layer){this._valid=!1;return}let{layer:e,snappingSource:t}=this;if(`refresh`in e){let n=e;this.addHandles(n.on(`refresh`,()=>t.refresh()))}this.loadRules(),this.addHandles([r(()=>t.updating,e=>t.layerSource.updating=e,i),r(()=>t.availability,e=>t.layerSource.availability=e,i)])}getFetchCandidatesParameters(e,t,n){if(!this.valid)return[];let{layer:r,layerView:i,floorFilter:o,rulesTable:s,subtypeFilter:c}=this,u={distance:n,mode:this.view?.type??`2d`,point:e,coordinateHelper:t.coordinateHelper,...h(),filter:i&&`filter`in i?i.filter:null};if(o&&(u.filter=g(u.filter,o)),c.mode!==`not-in-use`&&c.mode!==`all-visible`){if(c.mode===`none-visible`)return[];u.filter?u.filter.where=a(u.filter.where,c.mode):u.filter=new l({where:c.filter})}if(!this.attributeRulesEnabled)return[u];let m=t.feature,_=m?.sourceLayer?.type===`subtype-sublayer`?m.sourceLayer.parent:m?.sourceLayer;if(s&&m&&p(this.view?.map)&&(f(r)||d(r))&&(f(_)||d(_))&&this.view.map.utilityNetworks?.find(e=>e.isUtilityLayer(_))){if(s.loadStatus!==`loaded`)return[];let e=[],t=r.layerId,n=s.getFeatureSQL(_,m)?.[t];if(!n)return[];let i=n.anyVertex,a=n.endVertex;return a&&i&&a===i&&(a=``),a&&e.push({...u,returnEdge:!1,vertexMode:`ends`,filter:g(u.filter,a)}),i&&e.push({...u,returnEdge:has(`snapping-include-edges-when-applying-any-vertex-rule`)??!1,vertexMode:`all`,filter:g(u.filter,i)}),e}return[u]}async loadRules(){this._valid=null;let{layer:e,view:t,attributeRulesEnabled:r}=this;if(r&&e&&t&&p(t?.map)&&(f(e)||d(e)))try{await Promise.allSettled(t.map.utilityNetworks?.map(e=>e.load())??[]);let n=t.map.utilityNetworks?.find(t=>t.isUtilityLayer(e));n&&(this.rulesTable=await n.getRulesTable(),await this.rulesTable?.load())}catch{this._valid=!1,n.getLogger(`esri.views.interactive.snapping.FeatureSnappingSourceInfo`).error(`Failed to load rules table for snapping source`,e.title);return}this._valid=!0}remove(){this.destroy()}destroy(){this.snappingSource?.destroy()}};e([o({constructOnly:!0})],m.prototype,`layer`,void 0),e([o({constructOnly:!0})],m.prototype,`snappingSource`,void 0),e([o({constructOnly:!0})],m.prototype,`view`,void 0),e([o({value:!1})],m.prototype,`attributeRulesEnabled`,null),e([o()],m.prototype,`layerView`,null),e([o()],m.prototype,`rulesTable`,void 0),e([o()],m.prototype,`valid`,null),e([o()],m.prototype,`subtypeFilter`,null),e([o()],m.prototype,`floorFilter`,null),e([o()],m.prototype,`_valid`,void 0),m=e([s(`esri.views.interactive.snapping.FeatureSnappingSourceInfo`)],m);function h(){return{returnEdge:!0,vertexMode:`all`}}function g(e,t){return e==null?new l({where:t}):e.where?new l({where:a(e.where,t)}):new l({where:t})}export{m as FeatureSnappingSourceInfo};
@@ -10,6 +10,7 @@ export interface UnitsProperties extends Partial<Pick<Units, "area" | "length" |
10
10
  * Each quantity accepts a specific unit or measurement system (`"metric"` or `"imperial"`).
11
11
  *
12
12
  * @since 5.2
13
+ * @see [Sample - View options for snapping, tooltips and units](https://developers.arcgis.com/javascript/latest/sample-code/view-options/)
13
14
  */
14
15
  export default class Units extends Accessor {
15
16
  /** @since 5.2 */
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{property as t,subclass as n}from"../../../../core/accessorSupport/decorators.js";import{drawContentHeaderActions as r}from"../css.js";import{directionModeIcons as i}from"./directionModeIcons.js";import a from"../../../../widgets/Widget.js";import{loadCalciteComponents as o}from"../../../../widgets/support/componentsUtils.js";import{tsx as s,messageBundle as c}from"../../../../widgets/support/widget.js";let l=class extends a{constructor(e){super(e),this.visibleElements={}}render(){return s(`div`,{class:r},this._isElementVisible(`direction`)?s(u,{messages:this.messages,toolOptions:this.toolOptions,topLayerDisabled:this.topLayerDisabled}):null)}loadDependencies(){return o({button:()=>import(`@esri/calcite-components/dist/components/calcite-button`),dropdown:()=>import(`@esri/calcite-components/dist/components/calcite-dropdown`),"dropdown-item":()=>import(`@esri/calcite-components/dist/components/calcite-dropdown-item`),"dropdown-group":()=>import(`@esri/calcite-components/dist/components/calcite-dropdown-group`)})}_isElementVisible(e){return this.visibleElements?.[e]??this.toolOptions.tooltips.visibleElements[e]}};e([c(`esri/views/interactive/tooltip/t9n/Tooltip`),t()],l.prototype,`messages`,void 0),e([t()],l.prototype,`toolOptions`,void 0),e([t()],l.prototype,`visibleElements`,void 0),l=e([n(`esri.views.interactive.tooltip.components.DrawHeaderActions`)],l);function u(e){let{directionMode:t}=e.toolOptions.values,n=e.messages?.sketch,r=n?.directionModeSelect?.title,a=`absolute`,o=`relative`;return s(`calcite-dropdown`,{key:`direction-mode`,placement:`bottom-end`,scale:`s`,topLayerDisabled:e.topLayerDisabled,onCalciteDropdownSelect:t=>{let n=t.currentTarget.selectedItems?.[0]?.getAttribute(`data-mode`);e.toolOptions.values.directionMode=n??`absolute`}},s(`calcite-button`,{alignment:`end`,appearance:`transparent`,iconStart:i[t],kind:`neutral`,label:r,scale:`s`,slot:`trigger`,title:r}),s(`calcite-dropdown-group`,{selectionMode:`single`},s(`calcite-dropdown-item`,{"data-mode":o,"data-testid":`tooltip-direction-mode-relative`,iconStart:i.relative,key:`relative`,selected:t===o},n?.directionModeSelect?.relative),s(`calcite-dropdown-item`,{"data-mode":a,"data-testid":`tooltip-direction-mode-absolute`,iconStart:i.absolute,key:`absolute`,selected:t===a},n?.directionModeSelect?.absolute)))}export{l as DrawHeaderActions};
2
+ import{__decorate as e}from"tslib";import{property as t,subclass as n}from"../../../../core/accessorSupport/decorators.js";import{drawContentHeaderActions as r}from"../css.js";import{directionModeIcons as i}from"./directionModeIcons.js";import a from"../../../../widgets/Widget.js";import{createDropdownReference as o,loadCalciteComponents as s}from"../../../../widgets/support/componentsUtils.js";import{tsx as c,messageBundle as l}from"../../../../widgets/support/widget.js";let u=class extends a{constructor(e){super(e),this.visibleElements={},this._directionModeDropdownReference=o()}destroy(){this._directionModeDropdownReference.destroy()}render(){return c(`div`,{class:r},this._isElementVisible(`direction`)?c(d,{messages:this.messages,reference:this._directionModeDropdownReference,toolOptions:this.toolOptions,topLayerDisabled:this.topLayerDisabled}):null)}loadDependencies(){return s({button:()=>import(`@esri/calcite-components/dist/components/calcite-button`),dropdown:()=>import(`@esri/calcite-components/dist/components/calcite-dropdown`),"dropdown-item":()=>import(`@esri/calcite-components/dist/components/calcite-dropdown-item`),"dropdown-group":()=>import(`@esri/calcite-components/dist/components/calcite-dropdown-group`)})}_isElementVisible(e){return this.visibleElements?.[e]??this.toolOptions.tooltips.visibleElements[e]}};e([l(`esri/views/interactive/tooltip/t9n/Tooltip`),t()],u.prototype,`messages`,void 0),e([t()],u.prototype,`toolOptions`,void 0),e([t()],u.prototype,`visibleElements`,void 0),u=e([n(`esri.views.interactive.tooltip.components.DrawHeaderActions`)],u);function d(e){let{directionMode:t}=e.toolOptions.values,n=e.messages?.sketch,r=n?.directionModeSelect?.title,{storeTrigger:a,destroy:o,referenceTrigger:s}=e.reference,l=`absolute`,u=`relative`;return c(`div`,{key:`direction-mode`,style:`display: inline-flex;`},c(`calcite-button`,{afterCreate:a,afterRemoved:o,afterUpdate:a,alignment:`end`,appearance:`transparent`,iconStart:i[t],kind:`neutral`,label:r,scale:`s`,title:r}),c(`calcite-dropdown`,{afterCreate:s,afterUpdate:s,placement:`bottom-end`,scale:`s`,topLayerDisabled:e.topLayerDisabled,onCalciteDropdownSelect:t=>{let n=t.currentTarget.selectedItems?.[0]?.getAttribute(`data-mode`);e.toolOptions.values.directionMode=n??`absolute`}},c(`calcite-dropdown-group`,{selectionMode:`single`},c(`calcite-dropdown-item`,{"data-mode":u,"data-testid":`tooltip-direction-mode-relative`,iconStart:i.relative,key:`relative`,selected:t===u},n?.directionModeSelect?.relative),c(`calcite-dropdown-item`,{"data-mode":l,"data-testid":`tooltip-direction-mode-absolute`,iconStart:i.absolute,key:`absolute`,selected:t===l},n?.directionModeSelect?.absolute))))}export{u as DrawHeaderActions};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{property as t,subclass as n}from"../../../../core/accessorSupport/decorators.js";import{base as r}from"../css.js";import i from"../../../../widgets/Widget.js";import{loadCalciteComponents as a}from"../../../../widgets/support/componentsUtils.js";import{tsx as o}from"../../../../widgets/support/widget.js";const s=[`absolute-height`,`on-the-ground`,`relative-to-ground`,`relative-to-scene`],c={"absolute-height":`absolute-elevation`,"on-the-ground":`on-the-ground-elevation`,"relative-to-ground":`relative-to-ground-elevation`,"relative-to-scene":`relative-to-scene-elevation`};let l=class extends i{constructor(){super(...arguments),this._dropdown=null,this._onSelect=e=>{let t=e.currentTarget.selectedItems[0]?.getAttribute(`data-mode`),n=s.find(e=>e===t),r=this.context.elevationModeContext;try{n&&!r.disabled&&n!==r.mode&&r.onChange(n)}finally{for(let t of e.currentTarget.querySelectorAll(`calcite-dropdown-item`))t.selected=t.getAttribute(`data-mode`)===r.mode}},this._onDropdownCreate=e=>{this._dropdown=e,e.addEventListener(`keydown`,this._onDropdownKeyDown,!0)},this._onDropdownRemove=e=>{e.removeEventListener(`keydown`,this._onDropdownKeyDown,!0),this._dropdown=null},this._onDropdownKeyDown=e=>{e.key===`Escape`&&this._dropdown?.open&&(e.preventDefault(),e.stopPropagation(),this._dropdown.open=!1,this._dropdown.querySelector(`calcite-button`)?.setFocus())}}render(){let{context:e,mode:t}=this,n=e.elevationModeContext,i=e.messages.sketch.elevationModeSelect,a=n.mode,l=`${i.title}: ${i[a]}`;return o(`div`,null,t===`feedback`?o(`span`,{"aria-label":l,class:`${r}-elevation-mode__feedback`,"data-testid":`tooltip-elevation-mode-feedback`,key:`feedback`,role:`img`,title:l},o(`calcite-icon`,{icon:c[a],scale:`s`})):o(`calcite-dropdown`,{afterCreate:this._onDropdownCreate,afterRemoved:this._onDropdownRemove,class:`${r}-elevation-mode__dropdown`,"data-testid":`tooltip-elevation-mode`,key:`input`,placement:`bottom-end`,scale:`s`,topLayerDisabled:e.topLayerDisabled,onCalciteDropdownSelect:this._onSelect},o(`calcite-button`,{appearance:`transparent`,"data-field-name":`elevation`,"data-testid":`tooltip-elevation-mode-trigger`,"data-tooltip-inline-control":``,disabled:n.disabled,iconStart:c[a],kind:`neutral`,label:l,scale:`s`,slot:`trigger`,title:l}),o(`calcite-dropdown-group`,{selectionMode:`single`},s.map(e=>o(`calcite-dropdown-item`,{"data-mode":e,"data-testid":`tooltip-elevation-mode-${e}`,iconStart:c[e],key:e,selected:e===a},i[e])))))}loadDependencies(){return a({button:()=>import(`@esri/calcite-components/dist/components/calcite-button`),icon:()=>import(`@esri/calcite-components/dist/components/calcite-icon`),dropdown:()=>import(`@esri/calcite-components/dist/components/calcite-dropdown`),"dropdown-group":()=>import(`@esri/calcite-components/dist/components/calcite-dropdown-group`),"dropdown-item":()=>import(`@esri/calcite-components/dist/components/calcite-dropdown-item`)})}};e([t()],l.prototype,`context`,void 0),e([t()],l.prototype,`mode`,void 0),l=e([n(`esri.views.interactive.tooltip.components.ElevationModeSelect`)],l);export{l as ElevationModeSelect};
2
+ import{__decorate as e}from"tslib";import{property as t,subclass as n}from"../../../../core/accessorSupport/decorators.js";import{base as r}from"../css.js";import i from"../../../../widgets/Widget.js";import{loadCalciteComponents as a}from"../../../../widgets/support/componentsUtils.js";import{tsx as o}from"../../../../widgets/support/widget.js";const s=[`absolute-height`,`on-the-ground`,`relative-to-ground`,`relative-to-scene`],c={"absolute-height":`absolute-elevation`,"on-the-ground":`on-the-ground-elevation`,"relative-to-ground":`relative-to-ground-elevation`,"relative-to-scene":`relative-to-scene-elevation`};let l=class extends i{constructor(){super(...arguments),this._dropdown=null,this._trigger=null,this._onSelect=e=>{let t=e.currentTarget.selectedItems[0]?.getAttribute(`data-mode`),n=s.find(e=>e===t),r=this.context.elevationModeContext;try{n&&!r.disabled&&n!==r.mode&&r.onChange(n)}finally{for(let t of e.currentTarget.querySelectorAll(`calcite-dropdown-item`))t.selected=t.getAttribute(`data-mode`)===r.mode}},this._onDropdownCreate=e=>{this._dropdown=e,e.referenceElement=this._trigger,e.addEventListener(`keydown`,this._onDropdownKeyDown,!0)},this._onTriggerCreate=e=>{this._trigger=e,e.addEventListener(`keydown`,this._onDropdownKeyDown,!0)},this._onTriggerRemove=e=>{e.removeEventListener(`keydown`,this._onDropdownKeyDown,!0),this._trigger===e&&(this._trigger=null)},this._onDropdownRemove=e=>{e.removeEventListener(`keydown`,this._onDropdownKeyDown,!0),this._dropdown=null},this._onDropdownKeyDown=e=>{e.key===`Escape`&&this._dropdown?.open&&(e.preventDefault(),e.stopPropagation(),this._dropdown.open=!1,this._trigger?.setFocus())}}render(){let{context:e,mode:t}=this,n=e.elevationModeContext,i=e.messages.sketch.elevationModeSelect,a=n.mode,l=`${i.title}: ${i[a]}`;return o(`div`,null,t===`feedback`?o(`span`,{"aria-label":l,class:`${r}-elevation-mode__feedback`,"data-testid":`tooltip-elevation-mode-feedback`,key:`feedback`,role:`img`,title:l},o(`calcite-icon`,{icon:c[a],scale:`s`})):o(`div`,{class:`${r}-elevation-mode__dropdown`,key:`input`,style:`display: inline-flex;`},o(`calcite-button`,{afterCreate:this._onTriggerCreate,afterRemoved:this._onTriggerRemove,afterUpdate:this._onTriggerCreate,appearance:`transparent`,"data-field-name":`elevation`,"data-testid":`tooltip-elevation-mode-trigger`,"data-tooltip-inline-control":``,disabled:n.disabled,iconStart:c[a],kind:`neutral`,label:l,scale:`s`,title:l}),o(`calcite-dropdown`,{afterCreate:this._onDropdownCreate,afterRemoved:this._onDropdownRemove,"data-testid":`tooltip-elevation-mode`,placement:`bottom-end`,scale:`s`,topLayerDisabled:e.topLayerDisabled,onCalciteDropdownSelect:this._onSelect},o(`calcite-dropdown-group`,{selectionMode:`single`},s.map(e=>o(`calcite-dropdown-item`,{"data-mode":e,"data-testid":`tooltip-elevation-mode-${e}`,iconStart:c[e],key:e,selected:e===a},i[e]))))))}loadDependencies(){return a({button:()=>import(`@esri/calcite-components/dist/components/calcite-button`),icon:()=>import(`@esri/calcite-components/dist/components/calcite-icon`),dropdown:()=>import(`@esri/calcite-components/dist/components/calcite-dropdown`),"dropdown-group":()=>import(`@esri/calcite-components/dist/components/calcite-dropdown-group`),"dropdown-item":()=>import(`@esri/calcite-components/dist/components/calcite-dropdown-item`)})}};e([t()],l.prototype,`context`,void 0),e([t()],l.prototype,`mode`,void 0),l=e([n(`esri.views.interactive.tooltip.components.ElevationModeSelect`)],l);export{l as ElevationModeSelect};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{equals as t}from"../../core/arrayUtils.js";import{createTask as n}from"../../core/asyncUtils.js";import{EventedAccessor as r}from"../../core/Evented.js";import{IdentifiableMixin as i}from"../../core/Identifiable.js";import a from"../../core/Logger.js";import{destroyMaybe as o,removeMaybe as s}from"../../core/maybe.js";import{EsriPromiseMixin as c}from"../../core/Promise.js";import{throwIfAborted as l}from"../../core/promiseUtils.js";import{property as u,subclass as d}from"../../core/accessorSupport/decorators.js";import{UpdatingHandles as f}from"../../core/support/UpdatingHandles.js";import{getAttributionItemFromUserCopyright as p,isDynamicAttributionLayer as m,createAttributionIndex as h,getAttributionItemsFromIndex as g,getAttributionItemFromAccessInformation as _,getAttributionItemFromLayerCopyright as v}from"../support/attributionUtils.js";import{validateScaleRange as y}from"../support/layerViewUtils.js";let b=class extends i(c(r)){get spatialReferenceSupported(){return!0}constructor(e){super(e),this._updatingHandles=new f,this._attributionIndexTask=null,this.layer=null,this.parent=null}initialize(){this.when().catch(e=>{if(e?.name!==`layerview:create-error`){let t=this.layer&&this.layer.id||`no id`,n=this.layer?.title||`no title`;a.getLogger(this).error(`#resolve()`,`Failed to resolve layer view (layer title: '${n}', id: '${t}')`,e)}})}destroy(){this._updatingHandles=o(this._updatingHandles),this._attributionIndexTask=s(this._attributionIndexTask),this._set(`parent`,null)}get attributionItems(){let e=this._get(`attributionItems`)??[];if(this.suspended||!this.layer?.attributionVisible)return e.length===0?e:[];if(!this.view.stationary)return e;let n=this.getAttributionItems();return t(e,n,(e,t)=>e.text===t.text)?e:n}get attributionUpdating(){return this._attributionIndexTask?!this._attributionIndexTask.finished:!1}get fullOpacity(){return(this.layer?.opacity??1)*(this.parent?.fullOpacity??1)}get suspended(){return this.destroyed||!this.canResume()}get suspendInfo(){return this.getSuspendInfo()}get legendEnabled(){return!this.suspended&&this.layer?.legendEnabled===!0}get updating(){return!!(this._updatingHandles?.updating||this.isUpdating())}get updatingProgress(){return+!this.updating}get updateSuspended(){return this.suspended}get visible(){return this.layer?.visible===!0}set visible(e){this._overrideIfSome(`visible`,e)}get visibleAtCurrentScale(){return!0}get visibleAtCurrentTimeExtent(){let e=this.view.timeExtent,t=this.layer?.visibilityTimeExtent;return!e||!t||!e.intersection(t).isEmpty}canResume(){let e=this.layer&&`effectiveScaleRange`in this.layer?this.layer.effectiveScaleRange:null;return this.visible&&this.layer?.loaded&&this.parent&&!this.parent.suspended&&this.view?.ready&&y(e)&&this.visibleAtCurrentScale&&this.visibleAtCurrentTimeExtent||!1}getSuspendInfo(){let e=this.parent?.suspended?this.parent.suspendInfo:{};this.view?.ready||(e.viewNotReady=!0),(!this.layer||!this.layer.loaded)&&(e.layerNotLoaded=!0);let t=this.layer&&`effectiveScaleRange`in this.layer?this.layer.effectiveScaleRange:null;return(!y(t)||!this.visibleAtCurrentScale)&&(e.outsideScaleRange=!0),this.visibleAtCurrentTimeExtent||(e.outsideVisibilityTimeExtent=!0),this.visible||(e.layerInvisible=!0),e}isUpdating(){return!1}getAttributionItems(){let e=p(this.layer);if(e)return[e];if(m(this.layer)&&(this._attributionIndexTask||(this._attributionIndexTask=n(async e=>{let t=await this.layer.fetchAttributionData();return l(e),h(t)}),this._updatingHandles.consumePromise(this._attributionIndexTask.promise)),this._attributionIndexTask?.finished&&this._attributionIndexTask.value))return g(this._attributionIndexTask.value,this.layer.tileInfo,this.view.scale,this.view.extent);let t=_(this.layer);if(t)return[t];let r=v(this.layer);return r?[r]:[]}};e([u({readOnly:!0})],b.prototype,`spatialReferenceSupported`,null),e([u()],b.prototype,`view`,void 0),e([u({readOnly:!0})],b.prototype,`attributionItems`,null),e([u({readOnly:!0})],b.prototype,`attributionUpdating`,null),e([u()],b.prototype,`fullOpacity`,null),e([u()],b.prototype,`layer`,void 0),e([u()],b.prototype,`parent`,void 0),e([u({readOnly:!0})],b.prototype,`suspended`,null),e([u({readOnly:!0})],b.prototype,`suspendInfo`,null),e([u({readOnly:!0})],b.prototype,`legendEnabled`,null),e([u({type:Boolean,readOnly:!0})],b.prototype,`updating`,null),e([u({readOnly:!0})],b.prototype,`updatingProgress`,null),e([u()],b.prototype,`updateSuspended`,null),e([u()],b.prototype,`visible`,null),e([u({readOnly:!0})],b.prototype,`visibleAtCurrentScale`,null),e([u({readOnly:!0})],b.prototype,`visibleAtCurrentTimeExtent`,null),b=e([d(`esri.views.layers.LayerView`)],b);export{b as default};
2
+ import{__decorate as e}from"tslib";import{equals as t}from"../../core/arrayUtils.js";import{createTask as n}from"../../core/asyncUtils.js";import{EventedAccessor as r}from"../../core/Evented.js";import{IdentifiableMixin as i}from"../../core/Identifiable.js";import a from"../../core/Logger.js";import{destroyMaybe as o,removeMaybe as s}from"../../core/maybe.js";import{EsriPromiseMixin as c}from"../../core/Promise.js";import{throwIfAborted as l}from"../../core/promiseUtils.js";import{property as u,subclass as d}from"../../core/accessorSupport/decorators.js";import{UpdatingHandles as f}from"../../core/support/UpdatingHandles.js";import{validateScaleRange as p}from"../../geometry/support/scaleUtils.js";import{getAttributionItemFromUserCopyright as m,isDynamicAttributionLayer as h,createAttributionIndex as g,getAttributionItemsFromIndex as _,getAttributionItemFromAccessInformation as v,getAttributionItemFromLayerCopyright as y}from"../support/attributionUtils.js";let b=class extends i(c(r)){get spatialReferenceSupported(){return!0}constructor(e){super(e),this._updatingHandles=new f,this._attributionIndexTask=null,this.layer=null,this.parent=null}initialize(){this.when().catch(e=>{if(e?.name!==`layerview:create-error`){let t=this.layer&&this.layer.id||`no id`,n=this.layer?.title||`no title`;a.getLogger(this).error(`#resolve()`,`Failed to resolve layer view (layer title: '${n}', id: '${t}')`,e)}})}destroy(){this._updatingHandles=o(this._updatingHandles),this._attributionIndexTask=s(this._attributionIndexTask),this._set(`parent`,null)}get attributionItems(){let e=this._get(`attributionItems`)??[];if(this.suspended||!this.layer?.attributionVisible)return e.length===0?e:[];if(!this.view.stationary)return e;let n=this.getAttributionItems();return t(e,n,(e,t)=>e.text===t.text)?e:n}get attributionUpdating(){return this._attributionIndexTask?!this._attributionIndexTask.finished:!1}get fullOpacity(){return(this.layer?.opacity??1)*(this.parent?.fullOpacity??1)}get suspended(){return this.destroyed||!this.canResume()}get suspendInfo(){return this.getSuspendInfo()}get legendEnabled(){return!this.suspended&&this.layer?.legendEnabled===!0}get updating(){return!!(this._updatingHandles?.updating||this.isUpdating())}get updatingProgress(){return+!this.updating}get updateSuspended(){return this.suspended}get visible(){return this.layer?.visible===!0}set visible(e){this._overrideIfSome(`visible`,e)}get visibleAtCurrentScale(){return!0}get visibleAtCurrentTimeExtent(){let e=this.view.timeExtent,t=this.layer?.visibilityTimeExtent;return!e||!t||!e.intersection(t).isEmpty}canResume(){let e=this.layer&&`effectiveScaleRange`in this.layer?this.layer.effectiveScaleRange:null;return this.visible&&this.layer?.loaded&&this.parent&&!this.parent.suspended&&this.view?.ready&&p(e)&&this.visibleAtCurrentScale&&this.visibleAtCurrentTimeExtent||!1}getSuspendInfo(){let e=this.parent?.suspended?this.parent.suspendInfo:{};this.view?.ready||(e.viewNotReady=!0),(!this.layer||!this.layer.loaded)&&(e.layerNotLoaded=!0);let t=this.layer&&`effectiveScaleRange`in this.layer?this.layer.effectiveScaleRange:null;return(!p(t)||!this.visibleAtCurrentScale)&&(e.outsideScaleRange=!0),this.visibleAtCurrentTimeExtent||(e.outsideVisibilityTimeExtent=!0),this.visible||(e.layerInvisible=!0),e}isUpdating(){return!1}getAttributionItems(){let e=m(this.layer);if(e)return[e];if(h(this.layer)&&(this._attributionIndexTask||(this._attributionIndexTask=n(async e=>{let t=await this.layer.fetchAttributionData();return l(e),g(t)}),this._updatingHandles.consumePromise(this._attributionIndexTask.promise)),this._attributionIndexTask?.finished&&this._attributionIndexTask.value))return _(this._attributionIndexTask.value,this.layer.tileInfo,this.view.scale,this.view.extent);let t=v(this.layer);if(t)return[t];let r=y(this.layer);return r?[r]:[]}};e([u({readOnly:!0})],b.prototype,`spatialReferenceSupported`,null),e([u()],b.prototype,`view`,void 0),e([u({readOnly:!0})],b.prototype,`attributionItems`,null),e([u({readOnly:!0})],b.prototype,`attributionUpdating`,null),e([u()],b.prototype,`fullOpacity`,null),e([u()],b.prototype,`layer`,void 0),e([u()],b.prototype,`parent`,void 0),e([u({readOnly:!0})],b.prototype,`suspended`,null),e([u({readOnly:!0})],b.prototype,`suspendInfo`,null),e([u({readOnly:!0})],b.prototype,`legendEnabled`,null),e([u({type:Boolean,readOnly:!0})],b.prototype,`updating`,null),e([u({readOnly:!0})],b.prototype,`updatingProgress`,null),e([u()],b.prototype,`updateSuspended`,null),e([u()],b.prototype,`visible`,null),e([u({readOnly:!0})],b.prototype,`visibleAtCurrentScale`,null),e([u({readOnly:!0})],b.prototype,`visibleAtCurrentTimeExtent`,null),b=e([d(`esri.views.layers.LayerView`)],b);export{b as default};
@@ -2,8 +2,7 @@ import type Collection from "../../core/Collection.js";
2
2
  import type LineOfSightLayer from "../../layers/LineOfSightLayer.js";
3
3
  import type LineOfSightAnalysisResult from "../3d/analysis/LineOfSightAnalysisResult.js";
4
4
  import type LayerView from "./LayerView.js";
5
- import type { AbortOptions } from "../../core/promiseUtils.js";
6
- import type { LineOfSightPlacementResult } from "../3d/analysis/LineOfSight/types.js";
5
+ import type { LineOfSightPlacementOptions, LineOfSightPlacementResult } from "../3d/analysis/LineOfSight/types.js";
7
6
  import type { LayerViewProperties } from "./LayerView.js";
8
7
 
9
8
  export interface LineOfSightLayerViewProperties extends LayerViewProperties, Partial<Pick<LineOfSightLayerView, "interactive">> {}
@@ -86,7 +85,7 @@ export default abstract class LineOfSightLayerView extends LayerView {
86
85
  *
87
86
  * Calling this method sets [interactive](https://developers.arcgis.com/javascript/latest/references/core/views/layers/LineOfSightLayerView/#interactive) to `true`.
88
87
  *
89
- * @param options - An object specifying additional options.
88
+ * @param options - Additional placement options, including elevation information and an abort signal.
90
89
  * @returns A promise
91
90
  * which resolves when the operation is completed successfully - i.e. the user places an observer and/or target(s),
92
91
  * leaving the analysis in a valid state. Otherwise, the promise is rejected.
@@ -105,5 +104,5 @@ export default abstract class LineOfSightLayerView extends LayerView {
105
104
  * // cancel the placement operation at some later point
106
105
  * abortController.abort();
107
106
  */
108
- place(options?: AbortOptions | null | undefined): Promise<LineOfSightPlacementResult>;
107
+ place(options?: LineOfSightPlacementOptions | null | undefined): Promise<LineOfSightPlacementResult>;
109
108
  }
@@ -1,8 +1,7 @@
1
1
  import type Viewshed from "../../analysis/Viewshed.js";
2
2
  import type ViewshedLayer from "../../layers/ViewshedLayer.js";
3
3
  import type LayerView from "./LayerView.js";
4
- import type { AbortOptions } from "../../core/promiseUtils.js";
5
- import type { ViewshedPlacementResult } from "../3d/analysis/Viewshed/types.js";
4
+ import type { ViewshedPlacementOptions, ViewshedPlacementResult } from "../3d/analysis/Viewshed/types.js";
6
5
  import type { LayerViewProperties } from "./LayerView.js";
7
6
 
8
7
  export interface ViewshedLayerViewProperties extends LayerViewProperties, Partial<Pick<ViewshedLayerView, "interactive" | "selectedViewshed">> {}
@@ -68,7 +67,7 @@ export default abstract class ViewshedLayerView extends LayerView {
68
67
  *
69
68
  * Calling this method sets [interactive](https://developers.arcgis.com/javascript/latest/references/core/views/layers/ViewshedLayerView/#interactive) to `true`.
70
69
  *
71
- * @param options - An object specifying additional options.
70
+ * @param options - Additional placement options, including elevation information and an abort signal.
72
71
  * @returns A promise which resolves when creation is completed successfully or rejected if it is
73
72
  * canceled.
74
73
  * @example
@@ -85,7 +84,7 @@ export default abstract class ViewshedLayerView extends LayerView {
85
84
  * // cancel the placement operation at some later point
86
85
  * abortController.abort();
87
86
  */
88
- createViewsheds(options?: AbortOptions | null | undefined): Promise<void>;
87
+ createViewsheds(options?: ViewshedPlacementOptions | null | undefined): Promise<void>;
89
88
  /**
90
89
  * Starts the interactive placement of a single viewshed, adding it to the [layer](https://developers.arcgis.com/javascript/latest/references/core/views/layers/ViewshedLayerView/#layer)'s
91
90
  * [ViewshedLayer.source](https://developers.arcgis.com/javascript/latest/references/core/layers/ViewshedLayer/#source).
@@ -97,7 +96,7 @@ export default abstract class ViewshedLayerView extends LayerView {
97
96
  *
98
97
  * Calling this method sets [interactive](https://developers.arcgis.com/javascript/latest/references/core/views/layers/ViewshedLayerView/#interactive) to `true`.
99
98
  *
100
- * @param options - An object specifying additional options.
99
+ * @param options - Additional placement options, including elevation information and an abort signal.
101
100
  * @returns A promise which
102
101
  * resolves when the operation is completed successfully or rejected if it is canceled.
103
102
  * @since 4.33
@@ -115,5 +114,5 @@ export default abstract class ViewshedLayerView extends LayerView {
115
114
  * // cancel the placement operation at some later point
116
115
  * abortController.abort();
117
116
  */
118
- place(options?: AbortOptions | null | undefined): Promise<ViewshedPlacementResult>;
117
+ place(options?: ViewshedPlacementOptions | null | undefined): Promise<ViewshedPlacementResult>;
119
118
  }
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import e from"../../core/Error.js";import has from"../../core/has.js";function t(e){return e&&typeof e.highlight==`function`}function n(e){return e&&typeof e.maskOccludee==`function`}function r(e,t,n){return e==null||e>=n&&(t===0||e<=t)}function i(e,t){if(t&&e){let{minScale:n,maxScale:i}=e;if(a(n,i))return r(t,n,i)}return!0}function a(e,t){return e!=null&&e>0||t!=null&&t>0}function o(e){return!e?.minScale||!e.maxScale||e.minScale>=e.maxScale}const s=()=>!has(`disable-feature:layer-based-scale-visibility`);function c(e){return typeof e==`object`&&!!e&&`createQuery`in e&&`queryFeatures`in e&&`layer`in e&&`view`in e}function l(t,n,r){return new e(`layerview:spatial-reference-incompatible`,`The spatial reference of this ${t} (wkid: ${n??`undefined`}) is incompatible with the spatial reference of the view (wkid: ${r??`undefined`}).`,{})}function u(e){return e.type===`integrated-mesh-3d`||e.type===`integrated-mesh-3dtiles`}export{s as hasLayerBasedScaleVisibility,t as highlightsSupported,i as isInEffectiveScaleRange,u as isIntegratedMeshLayerView,a as isScaleRangeActive,c as isSelectableLayerView2D,n as occludeesSupported,r as scaleBoundsPredicate,l as spatialReferenceIncompatibleError,o as validateScaleRange};
2
+ import e from"../../core/Error.js";import has from"../../core/has.js";function t(e){return e&&typeof e.highlight==`function`}function n(e){return e&&typeof e.maskOccludee==`function`}const r=()=>!has(`disable-feature:layer-based-scale-visibility`);function i(e){return typeof e==`object`&&!!e&&`createQuery`in e&&`queryFeatures`in e&&`layer`in e&&`view`in e}function a(t,n,r){return new e(`layerview:spatial-reference-incompatible`,`The spatial reference of this ${t} (wkid: ${n??`undefined`}) is incompatible with the spatial reference of the view (wkid: ${r??`undefined`}).`,{})}function o(e){return e.type===`integrated-mesh-3d`||e.type===`integrated-mesh-3dtiles`}export{r as hasLayerBasedScaleVisibility,t as highlightsSupported,o as isIntegratedMeshLayerView,i as isSelectableLayerView2D,n as occludeesSupported,a as spatialReferenceIncompatibleError};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{throwIfAborted as e}from"../../core/promiseUtils.js";import{isLoaded as t,canProjectWithoutEngine as n,project as r,load as i}from"../../geometry/projectionUtils.js";let a=null,o;async function s(t){a||=import(`../../portal/support/geometryServiceUtils.js`).then(e=>o=e),await a,e(t)}async function c(e,a,l,u){if(!e)return null;let d=e.spatialReference;return t()||n(d,a)?r(e,a):o?o.projectGeometry(e,a,l,u):(await Promise.race([s(u),i(u)]),c(e,a,l,u))}export{c as projectWithEngineOrService};
2
+ import{throwIfAborted as e}from"../../core/promiseUtils.js";import{isLoaded as t,canProjectWithoutEngine as n,project as r,load as i}from"../../geometry/projectionUtils.js";import{fromJSON as a}from"../../geometry/support/jsonUtils.js";let o=null,s;async function c(t){o||=import(`../../portal/support/geometryServiceUtils.js`).then(e=>s=e),await o,e(t)}async function l(e,o,u,d){if(!e)return null;let f=e.spatialReference;return t()||n(f,o)?r(e,o):s?s.projectGeometry(a(e),o,u,d):(await Promise.race([c(d),i(d)]),l(e,o,u,d))}export{l as projectWithEngineOrService};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../core/Collection.js";import{deprecateWidget as n}from"../core/deprecate.js";import{IdentifiableMixin as r}from"../core/Identifiable.js";import i from"../core/Logger.js";import a from"../core/ReactiveMap.js";import{on as o,initial as s,watch as c,syncAndInitial as l}from"../core/reactiveUtils.js";import{property as u,subclass as d}from"../core/accessorSupport/decorators.js";import f from"./Widget.js";import p from"./BasemapLayerList/BasemapLayerListViewModel.js";import m from"./BasemapLayerList/BasemapLayerListVisibleElements.js";import{css as h}from"./BasemapLayerList/css.js";import g from"./LayerList/LayerListItem.js";import _ from"./LayerList/ListItem.js";import{minFilterItems as v,getItem as y,getLayerType as b,removeDestroyedListItems as x,setFilterPredicate as S,sortLayersToIds as C,sortChildLayersToIds as w}from"./LayerList/support/layerListUtils.js";import{loadCalciteComponents as T}from"./support/componentsUtils.js";import{globalCss as E}from"./support/globalCss.js";import{incrementHeadingLevel as D}from"./support/Heading.js";import{calciteListFilterProps as O}from"./support/listUtils.js";import{tsx as k,messageBundle as A,vmEvent as j}from"./support/widget.js";import{setFocus as M}from"./support/widgetUtils.js";const N=t.ofType(_),P=`nested`,F=`data-basemap-layer-type`;let I=class extends r(f){constructor(e,r){super(e,r),this._baseListEl=null,this._referenceListEl=null,this._activeItem=null,this._tooltipReferenceMap=new Map,this._editTitleInput=null,this._focusRootFlowItem=!1,this._focusPanelFlowItem=!1,this._focusLayerFlowItem=null,this._focusEditingFlowItem=!1,this._layerListMap=new a,this._lastDragDetail=null,this._selectedDragItemLayerUid=null,this._rootGroupUid=`basemap-${this.uid}`,this._openedLayersController=null,this.catalogLayerList=null,this.catalogOptions=null,this.collapsed=!1,this.dragEnabled=!1,this.editingTitle=!1,this.filterPlaceholder=``,this.baseFilterPredicate=null,this.baseFilterText=``,this.referenceFilterPredicate=null,this.referenceFilterText=``,this.listItemCanGiveFunction=null,this.listItemCanReceiveFunction=null,this.headingLevel=2,this.knowledgeGraphOptions=null,this.layerTablesEnabled=new t([`knowledge-graph`]),this.mapImageOptions=null,this.messages=null,this.messagesCommon=null,this.minFilterItems=v,this.openedLayers=new t,this.openedLayerLists=new t,this.tableList=null,this.selectedItems=new N,this.selectionMode=`none`,this.tileOptions=null,this.viewModel=new p({suppressDeprecationWarning:!0}),this.visibilityAppearance=`default`,this.visibleElements=new m,this._canMove=({dragEl:e,fromEl:t,toEl:n},r)=>{let i=r===`pull`?this.listItemCanGiveFunction:this.listItemCanReceiveFunction,a=y(e);if(!a?.sortable)return!1;let o=y(t),s=b(t),c=y(n),l=b(n),u=!!s&&!!l&&s===l,d={selected:a,from:o,to:c},f=t.group,p=n.group,m=o?.layer?.type??``,h=c?.layer?.type??``,g=new Set([`map-image`,`catalog`,`knowledge-graph`]);return f&&p&&typeof i==`function`?i.call(null,d):u&&!g.has(m)&&!g.has(h)&&a?.layer?.type!==`sublayer`},this._onSelectedDragItemLayerUidChange=e=>{this._selectedDragItemLayerUid=e},this._onTriggerAction=(e,t)=>{this.triggerAction(e,t)},this._onTooltipReferenceChange=(e,t)=>{t?this._tooltipReferenceMap.set(e,t):this._tooltipReferenceMap.delete(e)},this._onTablesOpen=e=>{this.openedLayers.push(e.layer),this._focusLayerFlowItem=e.layer?.uid},this._onPanelOpen=()=>{this._focusPanelFlowItem=!0},this._onCatalogOpen=e=>{this.openedLayers.push(e.layer?.parent),this._focusLayerFlowItem=e.layer?.uid},this._clearActiveItem=()=>{this._activeItem=null},this._setActiveItem=e=>{if(this.visibilityAppearance!=="default")return;let t=Array.from(e.composedPath()).find(e=>e.classList?.contains(h.item));this._activeItem=y(t)},this._onCalciteListOrderChange=e=>{let{_lastDragDetail:t}=this,{toEl:n,fromEl:r,dragEl:i,newIndex:a}=e,o=t?.newIndex===a&&t?.dragEl===i&&t?.toEl===n&&t?.fromEl===r;if(!r||!n||o)return;this._lastDragDetail=e,this._selectedDragItemLayerUid=i.value;let s=r,c=n;if(s===c){let e=Array.from(r.children).filter(e=>e?.matches(`calcite-list-item`)).map(e=>e.value);this._sortLayers(s,e)}else a!=null&&this._moveLayerFromChildList({toEl:c,fromEl:s,dragEl:i,newIndex:a})},this.announceDeprecation=()=>{n(i.getLogger(this),`Basemap Layer List (Next)`,`arcgis-basemap-layer-list-next`,{version:`5.0`})}}initialize(){this.addHandles([o(()=>this.openedLayers,`change`,()=>this._handleOpenedLayersChange(),s),c(()=>[this.viewModel.referenceItems.toArray(),this.viewModel.baseItems.toArray()],()=>x(this.selectedItems),l),c(()=>[this.baseFilterPredicate,this._baseListEl],()=>S(this._baseListEl,this.baseFilterPredicate)),c(()=>[this.referenceFilterPredicate,this._referenceListEl],()=>S(this._referenceListEl,this.referenceFilterPredicate))])}loadDependencies(){return T({action:()=>import(`@esri/calcite-components/dist/components/calcite-action`),block:()=>import(`@esri/calcite-components/dist/components/calcite-block`),label:()=>import(`@esri/calcite-components/dist/components/calcite-label`),input:()=>import(`@esri/calcite-components/dist/components/calcite-input`),button:()=>import(`@esri/calcite-components/dist/components/calcite-button`),flow:()=>import(`@esri/calcite-components/dist/components/calcite-flow`),"flow-item":()=>import(`@esri/calcite-components/dist/components/calcite-flow-item`),list:()=>import(`@esri/calcite-components/dist/components/calcite-list`),notice:()=>import(`@esri/calcite-components/dist/components/calcite-notice`),tooltip:()=>import(`@esri/calcite-components/dist/components/calcite-tooltip`)})}destroy(){this._tooltipReferenceMap.clear(),this._destroyOpenedLayerLists()}get _visibleBaseItems(){return this.baseItems?.filter(e=>!e.hidden&&(this.visibleElements.errors||!e.error))}get _visibleReferenceItems(){return this.referenceItems?.filter(e=>!e.hidden&&(this.visibleElements.errors||!e.error))}get _openedPanelItems(){return this._visibleReferenceItems.concat(this._visibleBaseItems).flatten(e=>e.children).filter(({hidden:e,panel:t})=>!e&&t?.open&&!t.disabled&&t.flowEnabled)}get _totalBaseItems(){return this.viewModel.baseItems.flatten(e=>e.children.filter(e=>e.layer?.type!==`catalog-dynamic-group`)).length}get _totalReferenceItems(){return this.viewModel.referenceItems.flatten(e=>e.children.filter(e=>e.layer?.type!==`catalog-dynamic-group`)).length}get _baseFilterEnabled(){return this._totalBaseItems>=this.minFilterItems&&this.visibleElements.filter}get _referenceFilterEnabled(){return this._totalReferenceItems>=this.minFilterItems&&this.visibleElements.filter}get _renderedOpenLayerFlowItems(){let{openedLayers:e}=this;return e.toArray().map((t,n)=>this._renderLayerFlowItem(t,n===e.length-1))}get basemapTitle(){return this.viewModel.basemapTitle}set basemapTitle(e){this.viewModel.basemapTitle=e}get baseListItemCreatedFunction(){return this.viewModel.baseListItemCreatedFunction}set baseListItemCreatedFunction(e){this.viewModel.baseListItemCreatedFunction=e}get icon(){return`layers`}set icon(e){this._overrideIfSome(`icon`,e)}get label(){return this.messages?.widgetLabel??``}set label(e){this._overrideIfSome(`label`,e)}get referenceListItemCreatedFunction(){return this.viewModel.referenceListItemCreatedFunction}set referenceListItemCreatedFunction(e){this.viewModel.referenceListItemCreatedFunction=e}get baseItems(){return this.viewModel.baseItems}get referenceItems(){return this.viewModel.referenceItems}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}triggerAction(e,t){return this.viewModel.triggerAction(e,t)}render(){let{state:e}=this.viewModel,t={[E.hidden]:e===`loading`,[E.disabled]:e===`disabled`};return k(`div`,{class:this.classes(h.base,E.widget,E.panel,t)},this._renderItems())}async _createCatalogLayerList(e){let{default:t}=await import(`./CatalogLayerList.js`),{headingLevel:n,catalogOptions:r,view:i,filterPlaceholder:a,minFilterItems:o,selectionMode:s,visibilityAppearance:c,_onCatalogOpen:l,_onTablesOpen:u,layerTablesEnabled:d}=this;return new t({headingLevel:n,view:i,filterPlaceholder:a,minFilterItems:o,selectionMode:s,visibilityAppearance:c,...r,catalogLayer:e,layerTablesEnabled:d,onCatalogOpen:l,onTablesOpen:u,suppressDeprecationWarning:!0})}_getTableListParams(e){switch(e.type){case`knowledge-graph`:return{...this.knowledgeGraphOptions,tables:e.tables};case`map-image`:return{...this.mapImageOptions,tables:e.subtables};case`tile`:return{...this.tileOptions,tables:e.subtables};default:return null}}async _createTableList(e){let{default:t}=await import(`./TableList.js`),{headingLevel:n,selectionMode:r,dragEnabled:i}=this;return new t({headingLevel:n,selectionMode:r,dragEnabled:i,...this._getTableListParams(e)})}async _createFlowList(e,t){let{_layerListMap:n}=this,r=n.get(e);if(r)return r;let i=e.type===`catalog`?await this._createCatalogLayerList(e):await this._createTableList(e);return t.aborted||n.set(e,i),i}async _handleOpenedLayersChange(){let{_layerListMap:e,openedLayers:t,openedLayerLists:n}=this;this._openedLayersController?.abort();let r=new AbortController,{signal:i}=r;this._openedLayersController=r,e.forEach((n,r)=>{t.includes(r)||(n.destroy(),e.delete(r))});let a=await Promise.all(t.map(e=>this._createFlowList(e,i)));if(i.aborted)return;n.removeAll(),n.addMany(a);let o=n.at(-1);o?`catalogLayer`in o?(this._set(`catalogLayerList`,o),this._set(`tableList`,null)):(this._set(`catalogLayerList`,null),this._set(`tableList`,o)):(this._set(`catalogLayerList`,null),this._set(`tableList`,null))}_destroyOpenedLayerLists(){this.openedLayerLists.destroyAll(),this.openedLayers.removeAll(),this._layerListMap.clear()}_renderItemTooltip(e){return e?k(`calcite-tooltip`,{key:`tooltip-${e.layer?.uid}`,overlayPositioning:`fixed`,referenceElement:this._tooltipReferenceMap.get(e.layer?.uid),topLayerDisabled:this.topLayerDisabled},this.messages.layerIncompatibleTooltip):null}_renderItemTooltipNodes(e){return e.incompatible?this._renderItemTooltip(e):e.children?.filter(e=>!e.hidden).toArray().map(e=>this._renderItemTooltipNodes(e))}_renderItemTooltips(){return this._visibleReferenceItems.concat(this._visibleBaseItems)?.toArray().map(e=>this._renderItemTooltipNodes(e))}_focusLayerFlowItemNode(e){this._focusLayerFlowItem===e.dataset.layerUid&&(this._focusLayerFlowItem=null,M(e))}_renderPanelFlowItems(){let{_openedPanelItems:e,openedLayers:t}=this;return e.toArray().map(({title:n,panel:r},i)=>{let a=()=>this._handlePanelFlowItemBack(r);return k(`calcite-flow-item`,{afterCreate:this._focusPanelFlowItemNode,afterUpdate:this._focusPanelFlowItemNode,bind:this,description:n,heading:r.title,headingLevel:this.headingLevel,key:`flow-panel-${r.uid}`,selected:!t.length&&i===e.length-1,onCalciteFlowItemBack:e=>{e.preventDefault(),a()}},r.render(),k(`calcite-button`,{appearance:`transparent`,slot:`footer-start`,width:`full`,onclick:a},this.messagesCommon.back))})}_handlePanelFlowItemBack(e){e.open=!1,this._focusRootFlowItem=!0}_focusEditingFlowItemNode(e){this._focusEditingFlowItem&&(this._focusEditingFlowItem=!1,M(e))}_focusRootFlowItemNode(e){this._focusRootFlowItem&&(this._focusRootFlowItem=!1,M(e))}_focusPanelFlowItemNode(e){this._focusPanelFlowItem&&(this._focusPanelFlowItem=!1,M(e))}_renderItem(e,t,n,r){return k(g,{activeItem:this._activeItem,canMove:this._canMove,css:h,displayMode:P,dragDisabled:t,dragEnabled:this.dragEnabled,item:e,key:`layerListItem-${e.layer?.uid}`,layerTablesEnabled:this.layerTablesEnabled,listModeDisabled:this.viewModel.listModeDisabled,messages:this.messages,messagesCommon:this.messagesCommon,parent:n,parentTitles:r,rootGroupUid:this._rootGroupUid,selectedDragItemLayerUid:this._selectedDragItemLayerUid,selectedItems:this.selectedItems,selectionMode:this.selectionMode,visibilityAppearance:this.visibilityAppearance,visibleElements:this.visibleElements,onAction:this._onTriggerAction,onCatalogOpen:this._onCatalogOpen,onPanelOpen:this._onPanelOpen,onSelectedDragItemLayerUidChange:this._onSelectedDragItemLayerUidChange,onTablesOpen:this._onTablesOpen,onTooltipReferenceChange:this._onTooltipReferenceChange})}_moveLayerFromChildList({toEl:e,fromEl:t,dragEl:n,newIndex:r}){let i=y(n),a=y(e),o=y(t),s=L(t),c=L(e);s&&c&&this.viewModel.moveListItem({targetItem:i,fromParentItem:o,toParentItem:a,newIndex:r,from:s,to:c})}_handleCalciteListDragEnd({fromEl:e,dragEl:t,oldIndex:n}){n!=null&&e.insertBefore(t,e.children[n])}_sortLayers(e,t){if(e){if(e===this._referenceListEl||e===this._baseListEl){let n=e===this._referenceListEl?`reference`:`base`,r=n===`base`?this.view?.map?.basemap?.baseLayers:n===`reference`?this.view?.map?.basemap?.referenceLayers:null;C(r,t)}else{let n=y(e);if(!n)return;w(n,t)}}}_handleCalciteListChange(e){let{selectionMode:t,selectedItems:n}=this;if(t===`none`)return;let r=e.target.selectedItems.map(e=>y(e)).filter(Boolean);n.removeAll(),n.addMany(r)}_renderEditingInput(){let{messages:e}=this,{basemapTitle:t}=this.viewModel;return k(`div`,{class:h.editing},k(`calcite-label`,null,e.basemapTitle,k(`calcite-input`,{afterCreate:e=>this._editTitleInput=e,label:e.basemapTitle,name:`basemaptitle`,pattern:`.*\\S+.*`,placeholder:e.basemapTitle,required:!0,title:e.basemapTitle,type:`text`,value:t??void 0})))}_renderCancelButton(){let{messagesCommon:{cancel:e}}=this;return k(`calcite-button`,{appearance:`outline`,bind:this,label:e,slot:`footer`,title:e,width:`full`,onclick:this._toggleEditingTitle},e)}_renderSubmitButton(){let{messagesCommon:e}=this;return k(`calcite-button`,{label:e.form.submit,slot:`footer`,title:e.form.submit,type:`submit`,width:`full`},e.form.ok)}_renderEditingFlowItem(){return this.editingTitle?k(`calcite-flow-item`,{afterCreate:this._focusEditingFlowItemNode,afterUpdate:this._focusEditingFlowItemNode,bind:this,heading:this.visibleElements.heading?this.messages.basemapTitle:void 0,headingLevel:this.headingLevel,selected:this.openedLayers.length===0&&this._openedPanelItems.length===0,onCalciteFlowItemBack:e=>{e.preventDefault(),this._toggleEditingTitle()}},this._renderEditingInput(),this._renderCancelButton(),this._renderSubmitButton()):null}_renderEditTitleButton(){let{editingTitle:e,visibleElements:t,messagesCommon:n}=this,r=n.edit;return t.editTitleButton&&!e?k(`calcite-action`,{bind:this,icon:`pencil`,slot:`header-actions-end`,text:r,title:r,onclick:this._toggleEditingTitle}):null}_renderNoLayersInfoMessage(e){return k(`div`,{slot:`message`},e)}_renderNoLayersInfo(e,t){return k(`div`,{class:h.itemMessage},k(`calcite-notice`,{icon:`information`,key:t,kind:`info`,open:!0,width:`full`},this._renderNoLayersInfoMessage(e)))}_renderItems(){let{collapsed:e,visible:t,visibleElements:{closeButton:n,collapseButton:r,heading:i,flow:a},messages:o,viewModel:s}=this,c=[k(`calcite-flow-item`,{afterCreate:this._focusRootFlowItemNode,afterUpdate:this._focusRootFlowItemNode,bind:this,closable:n,closed:!t,collapsed:e,collapsible:r,heading:i?s.basemapTitle??o.widgetLabel:void 0,headingLevel:this.headingLevel,key:`root-flow-item`,selected:!this.editingTitle&&this.openedLayers.length===0&&this._openedPanelItems.length===0,onCalciteFlowItemClose:()=>this.visible=!1},this._renderEditTitleButton(),this._renderReferenceSection(),this._renderBaseSection()),this._renderEditingFlowItem(),this._renderPanelFlowItems(),this._renderedOpenLayerFlowItems],l=a?k(`calcite-flow`,{key:`root-flow`},c):c;return t?[this.editingTitle?k(`form`,{bind:this,class:h.editingForm,onsubmit:this._formSubmit},l):l,this._renderItemTooltips()]:null}_renderLayerFlowItem(e,t){let{messages:n,openedLayers:r}=this,i=e.title||this.messages.untitledLayer;return k(`calcite-flow-item`,{afterCreate:this._focusLayerFlowItemNode,afterUpdate:this._focusLayerFlowItemNode,bind:this,"data-layer-uid":e.uid,description:i,heading:n[e.type===`catalog`?`catalogLayers`:`tables`],headingLevel:this.headingLevel,key:`flow-layer-list-${e.uid}`,selected:t,onCalciteFlowItemBack:e=>{e.preventDefault(),r.pop();let t=r.at(-1);t?this._focusLayerFlowItem=t.uid:this._focusRootFlowItem=!0}},this._layerListMap.get(e)?.render())}_renderList(e,t,n){let{messages:r,dragEnabled:i,selectionMode:a,filterPlaceholder:o,baseFilterText:s,referenceFilterText:c,_baseFilterEnabled:l,_referenceFilterEnabled:u,_rootGroupUid:d}=this,f=t===`reference`?r.noReferenceLayers:r.noBaseLayers,p=t===`reference`?u:l;return k(`calcite-block`,{class:h.section,collapsible:!0,expanded:!0,heading:t===`reference`?r.referenceHeading:r.baseHeading,headingLevel:D(this.headingLevel),key:`block-${t}`},e?.length?null:this._renderNoLayersInfo(f,t),k(`calcite-list`,{afterCreate:e=>{t===`reference`?this._referenceListEl=e:this._baseListEl=e,e.addEventListener(`focusin`,this._setActiveItem),e.addEventListener(`focusout`,this._clearActiveItem)},afterRemoved:e=>{t===`reference`?this._referenceListEl=null:this._baseListEl=null,e.removeEventListener(`focusin`,this._setActiveItem),e.removeEventListener(`focusout`,this._clearActiveItem)},canPull:e=>this._canMove(e,`pull`),canPut:e=>this._canMove(e,`put`),displayMode:P,filterProps:O,[F]:t,"data-layer-type":d,dragEnabled:i,filterEnabled:p,filterPlaceholder:o,filterText:p?t===`reference`?c:s:``,group:d,key:`list-${t}`,label:r.widgetLabel,selectionAppearance:`border`,selectionMode:a,onCalciteListChange:e=>this._handleCalciteListChange(e),onCalciteListDragEnd:e=>this._handleCalciteListDragEnd(e.detail),onCalciteListFilter:e=>this[t===`reference`?`referenceFilterText`:`baseFilterText`]=e.currentTarget?.filterText??``,onCalciteListOrderChange:e=>this._onCalciteListOrderChange(e.detail),onmouseleave:this._clearActiveItem,onmouseover:this._setActiveItem},e?.toArray().map(e=>this._renderItem(e,n)),p?k(`div`,{class:h.filterNoResults,slot:`filter-no-results`},k(`calcite-notice`,{kind:`info`,open:!0,width:`full`},this._renderNoLayersInfoMessage(f))):null))}_renderBaseSection(){let{_visibleBaseItems:e}=this;return this.visibleElements.baseLayers?this._renderList(e,`base`,e?.length===1):null}_renderReferenceSection(){return this.visibleElements.referenceLayers?this._renderList(this._visibleReferenceItems,`reference`,!1):null}_toggleEditingTitle(){let{editingTitle:e}=this,t=!e;this.editingTitle=t,t?this._focusEditingFlowItem=!0:this._focusRootFlowItem=!0}_formSubmit(e){e.preventDefault();let t=this._editTitleInput?.value;t?.trim()&&(this.basemapTitle=t),this._toggleEditingTitle()}};e([u()],I.prototype,`_baseListEl`,void 0),e([u()],I.prototype,`_referenceListEl`,void 0),e([u()],I.prototype,`_activeItem`,void 0),e([u()],I.prototype,`_tooltipReferenceMap`,void 0),e([u()],I.prototype,`_focusRootFlowItem`,void 0),e([u()],I.prototype,`_focusPanelFlowItem`,void 0),e([u()],I.prototype,`_focusLayerFlowItem`,void 0),e([u()],I.prototype,`_focusEditingFlowItem`,void 0),e([u()],I.prototype,`_layerListMap`,void 0),e([u()],I.prototype,`_visibleBaseItems`,null),e([u()],I.prototype,`_visibleReferenceItems`,null),e([u()],I.prototype,`_openedPanelItems`,null),e([u()],I.prototype,`_totalBaseItems`,null),e([u()],I.prototype,`_totalReferenceItems`,null),e([u()],I.prototype,`_baseFilterEnabled`,null),e([u()],I.prototype,`_referenceFilterEnabled`,null),e([u()],I.prototype,`_renderedOpenLayerFlowItems`,null),e([u()],I.prototype,`basemapTitle`,null),e([u({readOnly:!0})],I.prototype,`catalogLayerList`,void 0),e([u()],I.prototype,`catalogOptions`,void 0),e([u()],I.prototype,`collapsed`,void 0),e([u()],I.prototype,`dragEnabled`,void 0),e([u()],I.prototype,`editingTitle`,void 0),e([u()],I.prototype,`filterPlaceholder`,void 0),e([u()],I.prototype,`baseFilterPredicate`,void 0),e([u()],I.prototype,`baseFilterText`,void 0),e([u()],I.prototype,`referenceFilterPredicate`,void 0),e([u()],I.prototype,`referenceFilterText`,void 0),e([u()],I.prototype,`listItemCanGiveFunction`,void 0),e([u()],I.prototype,`listItemCanReceiveFunction`,void 0),e([u()],I.prototype,`baseListItemCreatedFunction`,null),e([u()],I.prototype,`headingLevel`,void 0),e([u()],I.prototype,`icon`,null),e([u()],I.prototype,`knowledgeGraphOptions`,void 0),e([u()],I.prototype,`label`,null),e([u()],I.prototype,`layerTablesEnabled`,void 0),e([u()],I.prototype,`mapImageOptions`,void 0),e([u(),A(`esri/widgets/BasemapLayerList/t9n/BasemapLayerList`)],I.prototype,`messages`,void 0),e([u(),A(`esri/t9n/common`)],I.prototype,`messagesCommon`,void 0),e([u()],I.prototype,`minFilterItems`,void 0),e([u({readOnly:!0})],I.prototype,`openedLayers`,void 0),e([u({readOnly:!0})],I.prototype,`openedLayerLists`,void 0),e([u()],I.prototype,`referenceListItemCreatedFunction`,null),e([u({readOnly:!0})],I.prototype,`tableList`,void 0),e([u({readOnly:!0})],I.prototype,`baseItems`,null),e([u({readOnly:!0})],I.prototype,`referenceItems`,null),e([u({type:N})],I.prototype,`selectedItems`,void 0),e([u()],I.prototype,`selectionMode`,void 0),e([u()],I.prototype,`tileOptions`,void 0),e([u()],I.prototype,`view`,null),e([j(`trigger-action`),u({type:p})],I.prototype,`viewModel`,void 0),e([u()],I.prototype,`visibilityAppearance`,void 0),e([u({type:m,nonNullable:!0})],I.prototype,`visibleElements`,void 0),I=e([d(`esri.widgets.BasemapLayerList`)],I);function L(e){return e?.closest(`[${F}]`)?.getAttribute(F)}const R=I;export{R as default};
2
+ import{__decorate as e}from"tslib";import t from"../core/Collection.js";import{deprecateWidget as n}from"../core/deprecate.js";import{IdentifiableMixin as r}from"../core/Identifiable.js";import i from"../core/Logger.js";import a from"../core/ReactiveMap.js";import{on as o,initial as s,watch as c,syncAndInitial as l}from"../core/reactiveUtils.js";import{property as u,subclass as d}from"../core/accessorSupport/decorators.js";import f from"./Widget.js";import p from"./BasemapLayerList/BasemapLayerListViewModel.js";import m from"./BasemapLayerList/BasemapLayerListVisibleElements.js";import{css as h}from"./BasemapLayerList/css.js";import g from"./LayerList/LayerListItem.js";import _ from"./LayerList/ListItem.js";import{minFilterItems as v,getItem as y,getLayerType as b,removeDestroyedListItems as x,setFilterPredicate as S,sortLayersToIds as C,sortChildLayersToIds as w}from"./LayerList/support/layerListUtils.js";import{loadCalciteComponents as T}from"./support/componentsUtils.js";import{globalCss as E}from"./support/globalCss.js";import{incrementHeadingLevel as D}from"./support/Heading.js";import{calciteListFilterProps as O}from"./support/listUtils.js";import{tsx as k,messageBundle as A,vmEvent as j}from"./support/widget.js";import{setFocus as M}from"./support/widgetUtils.js";const N=t.ofType(_),P=`nested`,F=`data-basemap-layer-type`;let I=class extends r(f){constructor(e,r){super(e,r),this._baseListEl=null,this._referenceListEl=null,this._activeItem=null,this._tooltipReferenceMap=new Map,this._editTitleInput=null,this._focusRootFlowItem=!1,this._focusPanelFlowItem=!1,this._focusLayerFlowItem=null,this._focusEditingFlowItem=!1,this._layerListMap=new a,this._lastDragDetail=null,this._selectedDragItemLayerUid=null,this._rootGroupUid=`basemap-${this.uid}`,this._openedLayersController=null,this.catalogLayerList=null,this.catalogOptions=null,this.collapsed=!1,this.dragEnabled=!1,this.editingTitle=!1,this.filterPlaceholder=``,this.baseFilterPredicate=null,this.baseFilterText=``,this.referenceFilterPredicate=null,this.referenceFilterText=``,this.listItemCanGiveFunction=null,this.listItemCanReceiveFunction=null,this.headingLevel=2,this.knowledgeGraphOptions=null,this.layerTablesEnabled=new t([`knowledge-graph`]),this.mapImageOptions=null,this.messages=null,this.messagesCommon=null,this.minFilterItems=v,this.openedLayers=new t,this.openedLayerLists=new t,this.tableList=null,this.selectedItems=new N,this.selectionMode=`none`,this.tileOptions=null,this.viewModel=new p({suppressDeprecationWarning:!0}),this.visibilityAppearance=`default`,this.visibleElements=new m,this._canMove=({dragEl:e,fromEl:t,toEl:n},r)=>{let i=r===`pull`?this.listItemCanGiveFunction:this.listItemCanReceiveFunction,a=y(e);if(!a?.sortable)return!1;let o=y(t),s=b(t),c=y(n),l=b(n),u=!!s&&!!l&&s===l,d={selected:a,from:o,to:c},f=t.group,p=n.group,m=o?.layer?.type??``,h=c?.layer?.type??``,g=new Set([`map-image`,`catalog`,`knowledge-graph`]);return f&&p&&typeof i==`function`?i.call(null,d):u&&!g.has(m)&&!g.has(h)&&a?.layer?.type!==`sublayer`},this._onSelectedDragItemLayerUidChange=e=>{this._selectedDragItemLayerUid=e},this._onTriggerAction=(e,t)=>{this.triggerAction(e,t)},this._onTooltipReferenceChange=(e,t)=>{t?this._tooltipReferenceMap.set(e,t):this._tooltipReferenceMap.delete(e)},this._onTablesOpen=e=>{this.openedLayers.push(e.layer),this._focusLayerFlowItem=e.layer?.uid},this._onPanelOpen=()=>{this._focusPanelFlowItem=!0},this._onCatalogOpen=e=>{this.openedLayers.push(e.layer?.parent),this._focusLayerFlowItem=e.layer?.uid},this._clearActiveItem=()=>{this._activeItem=null},this._setActiveItem=e=>{if(this.visibilityAppearance!=="default")return;let t=Array.from(e.composedPath()).find(e=>e.classList?.contains(h.item));this._activeItem=y(t)},this._onCalciteListOrderChange=e=>{let{_lastDragDetail:t}=this,{toEl:n,fromEl:r,dragEl:i,newIndex:a}=e,o=t?.newIndex===a&&t?.dragEl===i&&t?.toEl===n&&t?.fromEl===r;if(!r||!n||o)return;this._lastDragDetail=e,this._selectedDragItemLayerUid=i.value;let s=r,c=n;if(s===c){let e=Array.from(r.children).filter(e=>e?.matches(`calcite-list-item`)).map(e=>e.value);this._sortLayers(s,e)}else a!=null&&this._moveLayerFromChildList({toEl:c,fromEl:s,dragEl:i,newIndex:a})},this.announceDeprecation=()=>{n(i.getLogger(this),`Basemap Layer List (Next)`,`arcgis-basemap-layer-list-next`,{version:`5.0`})}}initialize(){this.addHandles([o(()=>this.openedLayers,`change`,()=>this._handleOpenedLayersChange(),s),c(()=>[this.viewModel.referenceItems.toArray(),this.viewModel.baseItems.toArray()],()=>x(this.selectedItems),l),c(()=>[this.baseFilterPredicate,this._baseListEl],()=>S(this._baseListEl,this.baseFilterPredicate)),c(()=>[this.referenceFilterPredicate,this._referenceListEl],()=>S(this._referenceListEl,this.referenceFilterPredicate))])}loadDependencies(){return T({action:()=>import(`@esri/calcite-components/dist/components/calcite-action`),block:()=>import(`@esri/calcite-components/dist/components/calcite-block`),label:()=>import(`@esri/calcite-components/dist/components/calcite-label`),input:()=>import(`@esri/calcite-components/dist/components/calcite-input`),button:()=>import(`@esri/calcite-components/dist/components/calcite-button`),flow:()=>import(`@esri/calcite-components/dist/components/calcite-flow`),"flow-item":()=>import(`@esri/calcite-components/dist/components/calcite-flow-item`),list:()=>import(`@esri/calcite-components/dist/components/calcite-list`),notice:()=>import(`@esri/calcite-components/dist/components/calcite-notice`),tooltip:()=>import(`@esri/calcite-components/dist/components/calcite-tooltip`)})}destroy(){this._tooltipReferenceMap.clear(),this._destroyOpenedLayerLists()}get _visibleBaseItems(){return this.baseItems?.filter(e=>!e.hidden&&(this.visibleElements.errors||!e.error))}get _visibleReferenceItems(){return this.referenceItems?.filter(e=>!e.hidden&&(this.visibleElements.errors||!e.error))}get _openedPanelItems(){return this._visibleReferenceItems.concat(this._visibleBaseItems).flatten(e=>e.children).filter(({hidden:e,panel:t})=>!e&&t?.open&&!t.disabled&&t.flowEnabled)}get _totalBaseItems(){return this.viewModel.baseItems.flatten(e=>e.children.filter(e=>e.layer?.type!==`catalog-dynamic-group`)).length}get _totalReferenceItems(){return this.viewModel.referenceItems.flatten(e=>e.children.filter(e=>e.layer?.type!==`catalog-dynamic-group`)).length}get _baseFilterEnabled(){return this._totalBaseItems>=this.minFilterItems&&this.visibleElements.filter}get _referenceFilterEnabled(){return this._totalReferenceItems>=this.minFilterItems&&this.visibleElements.filter}get _renderedOpenLayerFlowItems(){let{openedLayers:e}=this;return e.toArray().map((t,n)=>this._renderLayerFlowItem(t,n===e.length-1))}get basemapTitle(){return this.viewModel.basemapTitle}set basemapTitle(e){this.viewModel.basemapTitle=e}get baseListItemCreatedFunction(){return this.viewModel.baseListItemCreatedFunction}set baseListItemCreatedFunction(e){this.viewModel.baseListItemCreatedFunction=e}get icon(){return`layers`}set icon(e){this._overrideIfSome(`icon`,e)}get label(){return this.messages?.widgetLabel??``}set label(e){this._overrideIfSome(`label`,e)}get referenceListItemCreatedFunction(){return this.viewModel.referenceListItemCreatedFunction}set referenceListItemCreatedFunction(e){this.viewModel.referenceListItemCreatedFunction=e}get baseItems(){return this.viewModel.baseItems}get referenceItems(){return this.viewModel.referenceItems}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}triggerAction(e,t){return this.viewModel.triggerAction(e,t)}render(){let{state:e}=this.viewModel,t={[E.hidden]:e===`loading`,[E.disabled]:e===`disabled`};return k(`div`,{class:this.classes(h.base,E.widget,E.panel,t)},this._renderItems())}async _createCatalogLayerList(e){let{default:t}=await import(`./CatalogLayerList.js`),{headingLevel:n,catalogOptions:r,view:i,filterPlaceholder:a,minFilterItems:o,selectionMode:s,visibilityAppearance:c,_onCatalogOpen:l,_onTablesOpen:u,layerTablesEnabled:d}=this;return new t({headingLevel:n,view:i,filterPlaceholder:a,minFilterItems:o,selectionMode:s,visibilityAppearance:c,...r,catalogLayer:e,layerTablesEnabled:d,onCatalogOpen:l,onTablesOpen:u,suppressDeprecationWarning:!0})}_getTableListParams(e){switch(e.type){case`knowledge-graph`:return{...this.knowledgeGraphOptions,tables:e.tables};case`map-image`:return{...this.mapImageOptions,tables:e.subtables};case`tile`:return{...this.tileOptions,tables:e.subtables};default:return null}}async _createTableList(e){let{default:t}=await import(`./TableList.js`),{headingLevel:n,selectionMode:r,dragEnabled:i}=this;return new t({headingLevel:n,selectionMode:r,dragEnabled:i,...this._getTableListParams(e)})}async _createFlowList(e,t){let{_layerListMap:n}=this,r=n.get(e);if(r)return r;let i=e.type===`catalog`?await this._createCatalogLayerList(e):await this._createTableList(e);return t.aborted||n.set(e,i),i}async _handleOpenedLayersChange(){let{_layerListMap:e,openedLayers:t,openedLayerLists:n}=this;this._openedLayersController?.abort();let r=new AbortController,{signal:i}=r;this._openedLayersController=r,e.forEach((n,r)=>{t.includes(r)||(n.destroy(),e.delete(r))});let a=await Promise.all(t.map(e=>this._createFlowList(e,i)));if(i.aborted)return;n.removeAll(),n.addMany(a);let o=n.at(-1);o?`catalogLayer`in o?(this._set(`catalogLayerList`,o),this._set(`tableList`,null)):(this._set(`catalogLayerList`,null),this._set(`tableList`,o)):(this._set(`catalogLayerList`,null),this._set(`tableList`,null))}_destroyOpenedLayerLists(){this.openedLayerLists.destroyAll(),this.openedLayers.removeAll(),this._layerListMap.clear()}_renderItemTooltip(e){return e?k(`calcite-tooltip`,{key:`tooltip-${e.layer?.uid}`,overlayPositioning:`fixed`,referenceElement:this._tooltipReferenceMap.get(e.layer?.uid),topLayerDisabled:this.topLayerDisabled},this.messages.layerIncompatibleTooltip):null}_renderItemTooltipNodes(e){return e.incompatible?this._renderItemTooltip(e):e.children?.filter(e=>!e.hidden).toArray().map(e=>this._renderItemTooltipNodes(e))}_renderItemTooltips(){return this._visibleReferenceItems.concat(this._visibleBaseItems)?.toArray().map(e=>this._renderItemTooltipNodes(e))}_focusLayerFlowItemNode(e){this._focusLayerFlowItem===e.dataset.layerUid&&(this._focusLayerFlowItem=null,M(e))}_renderPanelFlowItems(){let{_openedPanelItems:e,openedLayers:t}=this;return e.toArray().map(({title:n,panel:r},i)=>{let a=()=>this._handlePanelFlowItemBack(r);return k(`calcite-flow-item`,{afterCreate:this._focusPanelFlowItemNode,afterUpdate:this._focusPanelFlowItemNode,bind:this,description:n,heading:r.title,headingLevel:this.headingLevel,key:`flow-panel-${r.uid}`,selected:!t.length&&i===e.length-1,onCalciteFlowItemBack:e=>{e.preventDefault(),a()}},r.render(),k(`calcite-button`,{appearance:`transparent`,slot:`footer-start`,width:`full`,onclick:a},this.messagesCommon.back))})}_handlePanelFlowItemBack(e){e.open=!1,this._focusRootFlowItem=!0}_focusEditingFlowItemNode(e){this._focusEditingFlowItem&&(this._focusEditingFlowItem=!1,M(e))}_focusRootFlowItemNode(e){this._focusRootFlowItem&&(this._focusRootFlowItem=!1,M(e))}_focusPanelFlowItemNode(e){this._focusPanelFlowItem&&(this._focusPanelFlowItem=!1,M(e))}_renderItem(e,t,n,r){return k(g,{activeItem:this._activeItem,canMove:this._canMove,css:h,displayMode:P,dragDisabled:t,dragEnabled:this.dragEnabled,item:e,key:`layerListItem-${e.layer?.uid}`,layerTablesEnabled:this.layerTablesEnabled,listModeDisabled:this.viewModel.listModeDisabled,messages:this.messages,messagesCommon:this.messagesCommon,parent:n,parentTitles:r,rootGroupUid:this._rootGroupUid,selectedDragItemLayerUid:this._selectedDragItemLayerUid,selectedItems:this.selectedItems,selectionMode:this.selectionMode,visibilityAppearance:this.visibilityAppearance,visibleElements:this.visibleElements,onAction:this._onTriggerAction,onCatalogOpen:this._onCatalogOpen,onPanelOpen:this._onPanelOpen,onSelectedDragItemLayerUidChange:this._onSelectedDragItemLayerUidChange,onTablesOpen:this._onTablesOpen,onTooltipReferenceChange:this._onTooltipReferenceChange})}_moveLayerFromChildList({toEl:e,fromEl:t,dragEl:n,newIndex:r}){let i=y(n),a=y(e),o=y(t),s=L(t),c=L(e);s&&c&&this.viewModel.moveListItem({targetItem:i,fromParentItem:o,toParentItem:a,newIndex:r,from:s,to:c})}_handleCalciteListDragEnd({fromEl:e,dragEl:t,oldIndex:n}){n!=null&&e.insertBefore(t,e.children[n])}_sortLayers(e,t){if(e){if(e===this._referenceListEl||e===this._baseListEl){let n=e===this._referenceListEl?`reference`:`base`,r=n===`base`?this.view?.map?.basemap?.baseLayers:n===`reference`?this.view?.map?.basemap?.referenceLayers:null;C(r,t)}else{let n=y(e);if(!n)return;w(n,t)}}}_handleCalciteListChange(e){let{selectionMode:t,selectedItems:n}=this;if(t===`none`)return;let r=e.target.selectedItems.map(e=>y(e)).filter(Boolean);n.removeAll(),n.addMany(r)}_renderEditingInput(){let{messages:e}=this,{basemapTitle:t}=this.viewModel;return k(`div`,{class:h.editing},k(`calcite-label`,null,e.basemapTitle,k(`calcite-input`,{afterCreate:e=>this._editTitleInput=e,label:e.basemapTitle,name:`basemaptitle`,pattern:`.*\\S+.*`,placeholder:e.basemapTitle,required:!0,title:e.basemapTitle,type:`text`,value:t??void 0})))}_renderCancelButton(){let{messagesCommon:{cancel:e}}=this;return k(`calcite-button`,{appearance:`outline`,bind:this,label:e,slot:`footer`,title:e,width:`full`,onclick:this._toggleEditingTitle},e)}_renderSubmitButton(){let{messagesCommon:e}=this;return k(`calcite-button`,{label:e.form.submit,slot:`footer`,title:e.form.submit,type:`submit`,width:`full`},e.form.ok)}_renderEditingFlowItem(){return this.editingTitle?k(`calcite-flow-item`,{afterCreate:this._focusEditingFlowItemNode,afterUpdate:this._focusEditingFlowItemNode,bind:this,heading:this.visibleElements.heading?this.messages.basemapTitle:void 0,headingLevel:this.headingLevel,selected:this.openedLayers.length===0&&this._openedPanelItems.length===0,onCalciteFlowItemBack:e=>{e.preventDefault(),this._toggleEditingTitle()}},this._renderEditingInput(),this._renderCancelButton(),this._renderSubmitButton()):null}_renderEditTitleButton(){let{editingTitle:e,visibleElements:t,messagesCommon:n}=this,r=n.edit;return t.editTitleButton&&!e?k(`calcite-action`,{bind:this,icon:`pencil`,slot:`header-actions-end`,text:r,title:r,onclick:this._toggleEditingTitle}):null}_renderNoLayersInfoMessage(e){return k(`div`,{slot:`message`},e)}_renderNoLayersInfo(e,t){return k(`div`,{class:h.itemMessage},k(`calcite-notice`,{icon:`information`,key:t,kind:`info`,open:!0,width:`full`},this._renderNoLayersInfoMessage(e)))}_renderItems(){let{collapsed:e,visible:t,visibleElements:{closeButton:n,collapseButton:r,heading:i,flow:a},messages:o,viewModel:s}=this,c=[k(`calcite-flow-item`,{afterCreate:this._focusRootFlowItemNode,afterUpdate:this._focusRootFlowItemNode,bind:this,closable:n,closed:!t,collapsed:e,collapsible:r,heading:i?s.basemapTitle??o.widgetLabel:void 0,headingLevel:this.headingLevel,key:`root-flow-item`,selected:!this.editingTitle&&this.openedLayers.length===0&&this._openedPanelItems.length===0,onCalciteFlowItemClose:()=>this.visible=!1},this._renderEditTitleButton(),this._renderReferenceSection(),this._renderBaseSection()),this._renderEditingFlowItem(),this._renderPanelFlowItems(),this._renderedOpenLayerFlowItems],l=a?k(`calcite-flow`,{key:`root-flow`},c):c;return t?[this.editingTitle?k(`form`,{bind:this,class:h.editingForm,onsubmit:this._formSubmit},l):l,this._renderItemTooltips()]:null}_renderLayerFlowItem(e,t){let{messages:n,openedLayers:r}=this,i=e.title||this.messages.untitledLayer;return k(`calcite-flow-item`,{afterCreate:this._focusLayerFlowItemNode,afterUpdate:this._focusLayerFlowItemNode,bind:this,"data-layer-uid":e.uid,description:i,heading:n[e.type===`catalog`?`catalogLayers`:`tables`],headingLevel:this.headingLevel,key:`flow-layer-list-${e.uid}`,selected:t,onCalciteFlowItemBack:e=>{e.preventDefault(),r.pop();let t=r.at(-1);t?this._focusLayerFlowItem=t.uid:this._focusRootFlowItem=!0}},this._layerListMap.get(e)?.render())}_renderList(e,t,n){let{messages:r,dragEnabled:i,selectionMode:a,filterPlaceholder:o,baseFilterText:s,referenceFilterText:c,_baseFilterEnabled:l,_referenceFilterEnabled:u,_rootGroupUid:d}=this,f=t===`reference`?r.noReferenceLayers:r.noBaseLayers,p=t===`reference`?u:l;return k(`calcite-block`,{class:h.section,expandable:!0,expanded:!0,heading:t===`reference`?r.referenceHeading:r.baseHeading,headingLevel:D(this.headingLevel),key:`block-${t}`},e?.length?null:this._renderNoLayersInfo(f,t),k(`calcite-list`,{afterCreate:e=>{t===`reference`?this._referenceListEl=e:this._baseListEl=e,e.addEventListener(`focusin`,this._setActiveItem),e.addEventListener(`focusout`,this._clearActiveItem)},afterRemoved:e=>{t===`reference`?this._referenceListEl=null:this._baseListEl=null,e.removeEventListener(`focusin`,this._setActiveItem),e.removeEventListener(`focusout`,this._clearActiveItem)},canPull:e=>this._canMove(e,`pull`),canPut:e=>this._canMove(e,`put`),displayMode:P,filterProps:O,[F]:t,"data-layer-type":d,dragEnabled:i,filterEnabled:p,filterPlaceholder:o,filterText:p?t===`reference`?c:s:``,group:d,key:`list-${t}`,label:r.widgetLabel,selectionAppearance:`border`,selectionMode:a,onCalciteListChange:e=>this._handleCalciteListChange(e),onCalciteListDragEnd:e=>this._handleCalciteListDragEnd(e.detail),onCalciteListFilter:e=>this[t===`reference`?`referenceFilterText`:`baseFilterText`]=e.currentTarget?.filterText??``,onCalciteListOrderChange:e=>this._onCalciteListOrderChange(e.detail),onmouseleave:this._clearActiveItem,onmouseover:this._setActiveItem},e?.toArray().map(e=>this._renderItem(e,n)),p?k(`div`,{class:h.filterNoResults,slot:`filter-no-results`},k(`calcite-notice`,{kind:`info`,open:!0,width:`full`},this._renderNoLayersInfoMessage(f))):null))}_renderBaseSection(){let{_visibleBaseItems:e}=this;return this.visibleElements.baseLayers?this._renderList(e,`base`,e?.length===1):null}_renderReferenceSection(){return this.visibleElements.referenceLayers?this._renderList(this._visibleReferenceItems,`reference`,!1):null}_toggleEditingTitle(){let{editingTitle:e}=this,t=!e;this.editingTitle=t,t?this._focusEditingFlowItem=!0:this._focusRootFlowItem=!0}_formSubmit(e){e.preventDefault();let t=this._editTitleInput?.value;t?.trim()&&(this.basemapTitle=t),this._toggleEditingTitle()}};e([u()],I.prototype,`_baseListEl`,void 0),e([u()],I.prototype,`_referenceListEl`,void 0),e([u()],I.prototype,`_activeItem`,void 0),e([u()],I.prototype,`_tooltipReferenceMap`,void 0),e([u()],I.prototype,`_focusRootFlowItem`,void 0),e([u()],I.prototype,`_focusPanelFlowItem`,void 0),e([u()],I.prototype,`_focusLayerFlowItem`,void 0),e([u()],I.prototype,`_focusEditingFlowItem`,void 0),e([u()],I.prototype,`_layerListMap`,void 0),e([u()],I.prototype,`_visibleBaseItems`,null),e([u()],I.prototype,`_visibleReferenceItems`,null),e([u()],I.prototype,`_openedPanelItems`,null),e([u()],I.prototype,`_totalBaseItems`,null),e([u()],I.prototype,`_totalReferenceItems`,null),e([u()],I.prototype,`_baseFilterEnabled`,null),e([u()],I.prototype,`_referenceFilterEnabled`,null),e([u()],I.prototype,`_renderedOpenLayerFlowItems`,null),e([u()],I.prototype,`basemapTitle`,null),e([u({readOnly:!0})],I.prototype,`catalogLayerList`,void 0),e([u()],I.prototype,`catalogOptions`,void 0),e([u()],I.prototype,`collapsed`,void 0),e([u()],I.prototype,`dragEnabled`,void 0),e([u()],I.prototype,`editingTitle`,void 0),e([u()],I.prototype,`filterPlaceholder`,void 0),e([u()],I.prototype,`baseFilterPredicate`,void 0),e([u()],I.prototype,`baseFilterText`,void 0),e([u()],I.prototype,`referenceFilterPredicate`,void 0),e([u()],I.prototype,`referenceFilterText`,void 0),e([u()],I.prototype,`listItemCanGiveFunction`,void 0),e([u()],I.prototype,`listItemCanReceiveFunction`,void 0),e([u()],I.prototype,`baseListItemCreatedFunction`,null),e([u()],I.prototype,`headingLevel`,void 0),e([u()],I.prototype,`icon`,null),e([u()],I.prototype,`knowledgeGraphOptions`,void 0),e([u()],I.prototype,`label`,null),e([u()],I.prototype,`layerTablesEnabled`,void 0),e([u()],I.prototype,`mapImageOptions`,void 0),e([u(),A(`esri/widgets/BasemapLayerList/t9n/BasemapLayerList`)],I.prototype,`messages`,void 0),e([u(),A(`esri/t9n/common`)],I.prototype,`messagesCommon`,void 0),e([u()],I.prototype,`minFilterItems`,void 0),e([u({readOnly:!0})],I.prototype,`openedLayers`,void 0),e([u({readOnly:!0})],I.prototype,`openedLayerLists`,void 0),e([u()],I.prototype,`referenceListItemCreatedFunction`,null),e([u({readOnly:!0})],I.prototype,`tableList`,void 0),e([u({readOnly:!0})],I.prototype,`baseItems`,null),e([u({readOnly:!0})],I.prototype,`referenceItems`,null),e([u({type:N})],I.prototype,`selectedItems`,void 0),e([u()],I.prototype,`selectionMode`,void 0),e([u()],I.prototype,`tileOptions`,void 0),e([u()],I.prototype,`view`,null),e([j(`trigger-action`),u({type:p})],I.prototype,`viewModel`,void 0),e([u()],I.prototype,`visibilityAppearance`,void 0),e([u({type:m,nonNullable:!0})],I.prototype,`visibleElements`,void 0),I=e([d(`esri.widgets.BasemapLayerList`)],I);function L(e){return e?.closest(`[${F}]`)?.getAttribute(F)}const R=I;export{R as default};