@arcgis/core 4.34.0-next.35 → 4.34.0-next.37

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 (720) hide show
  1. package/AttributeBinsGraphic.js +1 -1
  2. package/Basemap.js +1 -1
  3. package/Camera.js +1 -1
  4. package/CameraLayout.js +1 -1
  5. package/Graphic.js +1 -1
  6. package/Ground.js +1 -1
  7. package/Map.js +1 -1
  8. package/PopupTemplate.js +1 -1
  9. package/WebDocument2D.js +1 -1
  10. package/WebScene.js +1 -1
  11. package/analysis/Analysis.js +1 -1
  12. package/analysis/DimensionSimpleStyle.js +1 -1
  13. package/analysis/ElevationProfileAnalysis.d.ts +4 -0
  14. package/analysis/ElevationProfileAnalysis.js +5 -0
  15. package/analysis/ElevationProfileLine.d.ts +4 -0
  16. package/analysis/ElevationProfileLine.js +5 -0
  17. package/analysis/ElevationProfileLineChartOptions.d.ts +4 -0
  18. package/analysis/ElevationProfileLineChartOptions.js +5 -0
  19. package/analysis/ElevationProfileLineGround.d.ts +4 -0
  20. package/analysis/ElevationProfileLineGround.js +5 -0
  21. package/analysis/ElevationProfileLineInput.d.ts +4 -0
  22. package/analysis/ElevationProfileLineInput.js +5 -0
  23. package/analysis/ElevationProfileLineQuery.d.ts +4 -0
  24. package/analysis/ElevationProfileLineQuery.js +5 -0
  25. package/analysis/ElevationProfileLineScene.d.ts +4 -0
  26. package/analysis/ElevationProfileLineScene.js +5 -0
  27. package/analysis/ElevationProfileLineViewOptions.d.ts +4 -0
  28. package/analysis/ElevationProfileLineViewOptions.js +5 -0
  29. package/analysis/ElevationProfileUnits.d.ts +4 -0
  30. package/analysis/ElevationProfileUnits.js +5 -0
  31. package/analysis/LengthDimension.js +1 -1
  32. package/analysis/LineOfSightAnalysisObserver.js +1 -1
  33. package/analysis/LineOfSightAnalysisTarget.js +1 -1
  34. package/analysis/SlicePlane.js +1 -1
  35. package/analysis/Viewshed.js +1 -1
  36. package/analysis/VolumeMeasurement/CutFillOptions.js +1 -1
  37. package/analysis/support/AnalysisOriginWebScene.js +1 -1
  38. package/analysis/support/elevationProfileLineTypes.js +5 -0
  39. package/arcade/arcadeAsyncRuntime.js +1 -1
  40. package/arcade/arcadeCompiler.js +1 -1
  41. package/arcade/arcadeRuntime.js +1 -1
  42. package/arcade/compilerUtils.js +5 -0
  43. package/arcade/containerUtils.js +1 -1
  44. package/arcade/featureSetUtils.js +1 -1
  45. package/arcade/functions/convertdirection.js +1 -1
  46. package/arcade/functions/date.js +1 -1
  47. package/arcade/functions/feature.js +1 -1
  48. package/arcade/functions/featuresetbase.js +1 -1
  49. package/arcade/functions/featuresetgeom.js +1 -1
  50. package/arcade/functions/featuresetstring.js +1 -1
  51. package/arcade/functions/fieldStats.js +1 -1
  52. package/arcade/functions/geomasync.js +1 -1
  53. package/arcade/functions/geometry.js +1 -1
  54. package/arcade/functions/geomsync.js +1 -1
  55. package/arcade/functions/knowledgegraph.js +1 -1
  56. package/arcade/functions/maths.js +1 -1
  57. package/arcade/functions/string.js +1 -1
  58. package/arcade/functions/track.js +1 -1
  59. package/arcade/geometry/functions.js +1 -1
  60. package/arcade/languageUtils.js +1 -1
  61. package/arcade.js +1 -1
  62. package/assets/esri/core/workers/RemoteClient.js +1 -1
  63. package/assets/esri/core/workers/chunks/02435c653064f879f547.js +1 -0
  64. package/assets/esri/core/workers/chunks/040a233ce6fbcc061cdb.js +1 -0
  65. package/assets/esri/core/workers/chunks/{4930bf8f57f481f3a4a3.js → 053086e0a043b00f1cca.js} +1 -1
  66. package/assets/esri/core/workers/chunks/05d6ccca0cf38c012873.js +1 -0
  67. package/assets/esri/core/workers/chunks/06bd2f5358c6b85d5420.js +1 -0
  68. package/assets/esri/core/workers/chunks/0801f9dde41ec5f36cca.js +1 -0
  69. package/assets/esri/core/workers/chunks/08b4a4c9f3d6478df40a.js +1 -0
  70. package/assets/esri/core/workers/chunks/0906f977d50b1c5d6ed5.js +1 -0
  71. package/assets/esri/core/workers/chunks/170fa807b71babedd185.js +1 -0
  72. package/assets/esri/core/workers/chunks/183130521210c855c565.js +1 -0
  73. package/assets/esri/core/workers/chunks/{ce8f0ed9179c0d314df8.js → 1a5ddb6d36249fe09cc8.js} +1 -1
  74. package/assets/esri/core/workers/chunks/1c87ed3a5960f8f06fc8.js +1 -0
  75. package/assets/esri/core/workers/chunks/1c8dbdb833a66f7183fc.js +1 -0
  76. package/assets/esri/core/workers/chunks/2177c0ef06c8e7e3e28e.js +1 -0
  77. package/assets/esri/core/workers/chunks/{a82d7e2eecfe654a65de.js → 21ea48186d01bf459ef6.js} +1 -1
  78. package/assets/esri/core/workers/chunks/23e0fd2d921f74834b12.js +1 -0
  79. package/assets/esri/core/workers/chunks/2b9c403f4b20b8f62804.js +1 -0
  80. package/assets/esri/core/workers/chunks/2d7bbd001b64138db3c1.js +1 -0
  81. package/assets/esri/core/workers/chunks/2f52a57e8c05a3ca1de8.js +1 -0
  82. package/assets/esri/core/workers/chunks/307df66d00ba5f88780d.js +1 -0
  83. package/assets/esri/core/workers/chunks/33aafaabea07b4f80209.js +1 -0
  84. package/assets/esri/core/workers/chunks/{55a763662bad03ae6bae.js → 36d15d1dd19417b37d2f.js} +1 -1
  85. package/assets/esri/core/workers/chunks/{ddaaff5d6036a5eed50f.js → 44116cf0bd4d6a127c96.js} +1 -1
  86. package/assets/esri/core/workers/chunks/{d6b2ab614f308db50c4a.js → 47cdd5a6351e0db3b2e9.js} +10 -10
  87. package/assets/esri/core/workers/chunks/4c54239974a5847b8fdd.js +1 -0
  88. package/assets/esri/core/workers/chunks/4c7162883b228db563c6.js +1 -0
  89. package/assets/esri/core/workers/chunks/4c77102f083198ae2a6a.js +1 -0
  90. package/assets/esri/core/workers/chunks/4d2dcd667b30a98dd341.js +1 -0
  91. package/assets/esri/core/workers/chunks/4ff7c8420c77256f595a.js +1 -0
  92. package/assets/esri/core/workers/chunks/{82c10f2418e2f754388c.js → 50f56b417992eb30243e.js} +1 -1
  93. package/assets/esri/core/workers/chunks/5228f535719f5fc38b28.js +1 -0
  94. package/assets/esri/core/workers/chunks/{bd6c6acf23db2a2e8ef8.js → 53e166944a42af027345.js} +1 -1
  95. package/assets/esri/core/workers/chunks/54a686643e1ec1ea00ac.js +1 -0
  96. package/assets/esri/core/workers/chunks/568f49f9e50c505b2736.js +1 -0
  97. package/assets/esri/core/workers/chunks/56aafa6f8862629070d8.js +1 -0
  98. package/assets/esri/core/workers/chunks/5c5509147bda78ce338a.js +1 -0
  99. package/assets/esri/core/workers/chunks/{9742804f8ee350bf8052.js → 5c5678b15b59f9964bf0.js} +1 -1
  100. package/assets/esri/core/workers/chunks/5cdeb6dc72f452d6d1bc.js +1 -0
  101. package/assets/esri/core/workers/chunks/5d4e74eb4c659e8f42d6.js +1 -0
  102. package/assets/esri/core/workers/chunks/{b89aacec211c66e3a011.js → 5d8c64693830506c8776.js} +1 -1
  103. package/assets/esri/core/workers/chunks/5fac0b2a5aa33e8a3a84.js +1 -0
  104. package/assets/esri/core/workers/chunks/64553b5eae4edc7f46dc.js +1 -0
  105. package/assets/esri/core/workers/chunks/67627b1965b27b2f1857.js +1 -0
  106. package/assets/esri/core/workers/chunks/{0e7e4426daba4a008849.js → 68edbc3b124eb8e28dd6.js} +1 -1
  107. package/assets/esri/core/workers/chunks/69dc5a7abc1fda2474ad.js +1 -0
  108. package/assets/esri/core/workers/chunks/{d6eff6cc30acdca04835.js → 6c167daf115cd6abb3e5.js} +1 -1
  109. package/assets/esri/core/workers/chunks/6f122e4a2a1f913523b4.js +1 -0
  110. package/assets/esri/core/workers/chunks/{1dc410bc070cabb7198d.js → 72e0fda211d980572292.js} +1 -1
  111. package/assets/esri/core/workers/chunks/761dab8780495286ec4e.js +1 -0
  112. package/assets/esri/core/workers/chunks/7641e24ffa0215d51c34.js +1 -0
  113. package/assets/esri/core/workers/chunks/7e9d5beca1991c961ed8.js +1 -0
  114. package/assets/esri/core/workers/chunks/826e4bf6374f324d7f19.js +1 -0
  115. package/assets/esri/core/workers/chunks/{69d44e08861fb8cdd954.js → 82de1b50ae286f1e6c44.js} +1 -1
  116. package/assets/esri/core/workers/chunks/860bd6d6f0c74ca301a4.js +1 -0
  117. package/assets/esri/core/workers/chunks/8e7dced4a8d089185c3a.js +1 -0
  118. package/assets/esri/core/workers/chunks/{7d25f57299c642e727a6.js → 938baf4f99332dfdf29d.js} +1 -1
  119. package/assets/esri/core/workers/chunks/{0ec7b5f1a614a86ad3db.js → 948ecf0bfbc886ec3b52.js} +1 -1
  120. package/assets/esri/core/workers/chunks/9a4d0006c118ae5b45c0.js +1 -0
  121. package/assets/esri/core/workers/chunks/a1591d7f82e06cab5de4.js +1 -0
  122. package/assets/esri/core/workers/chunks/a44f17397d8589433dae.js +1 -0
  123. package/assets/esri/core/workers/chunks/a76792c4edd1d688fba2.js +1 -0
  124. package/assets/esri/core/workers/chunks/ada46055fafb8ae21dbe.js +1 -0
  125. package/assets/esri/core/workers/chunks/ae667084cb6a08b97c37.js +1 -0
  126. package/assets/esri/core/workers/chunks/{7b1d14a921d30c95d68b.js → afb51b8562f8cb29b97e.js} +1 -1
  127. package/assets/esri/core/workers/chunks/{b00ad853fa4826d0ceb3.js → b12c44faa1efa60067b0.js} +1 -1
  128. package/assets/esri/core/workers/chunks/{c9fe9792312f0161ef5a.js → b1b6300451cc4ccefd46.js} +1 -1
  129. package/assets/esri/core/workers/chunks/b2f2c1108fb7cbdd1a68.js +1 -0
  130. package/assets/esri/core/workers/chunks/{37bfc1a771792b6697fd.js → b3466edccd553ae0a5d0.js} +2 -2
  131. package/assets/esri/core/workers/chunks/b45dbbeae54cea2bbc10.js +1 -0
  132. package/assets/esri/core/workers/chunks/b49b73e2d0d643dfa351.js +1 -0
  133. package/assets/esri/core/workers/chunks/b810e2f87c9c59ae04b1.js +1 -0
  134. package/assets/esri/core/workers/chunks/{20a96c17d1a117dfdf77.js → b8c1a08020d44ee03a17.js} +1 -1
  135. package/assets/esri/core/workers/chunks/bb0c5275e51d170ac795.js +1 -0
  136. package/assets/esri/core/workers/chunks/{7a4730c1e6a5355b7a05.js → bb1213adeb05d89fbfdb.js} +1 -1
  137. package/assets/esri/core/workers/chunks/bd1ba44362b967977003.js +1 -0
  138. package/assets/esri/core/workers/chunks/c18ac2018aea6ba97eec.js +1 -0
  139. package/assets/esri/core/workers/chunks/c3d3e55abf01dae271fb.js +1 -0
  140. package/assets/esri/core/workers/chunks/c5c9f0c8da5f7bf41728.js +1 -0
  141. package/assets/esri/core/workers/chunks/{4784af2b04fafacfcc1b.js → c6077a893d5b5c34a46c.js} +1 -1
  142. package/assets/esri/core/workers/chunks/c78d98ab82f31ddda362.js +1 -0
  143. package/assets/esri/core/workers/chunks/ca5f63c0297612059486.js +1 -0
  144. package/assets/esri/core/workers/chunks/cab294fd04f2a5eda81d.js +1 -0
  145. package/assets/esri/core/workers/chunks/cca36750c86352c6d1f9.js +1 -0
  146. package/assets/esri/core/workers/chunks/ccf3f29d0b1bde90c3cf.js +1 -0
  147. package/assets/esri/core/workers/chunks/cd9e6b86ab0103044370.js +1 -0
  148. package/assets/esri/core/workers/chunks/ce211163d078d3d742ce.js +1 -0
  149. package/assets/esri/core/workers/chunks/{0ca8d6516323fc28dd58.js → cf1f8fd1d62be0e02e10.js} +1 -1
  150. package/assets/esri/core/workers/chunks/d16484b389d56a43d204.js +1 -0
  151. package/assets/esri/core/workers/chunks/d54e18e0f30734610f35.js +1 -0
  152. package/assets/esri/core/workers/chunks/d7ec905d87a19a1061e7.js +1 -0
  153. package/assets/esri/core/workers/chunks/{e9a366c225b0687293e3.js → d80e26a1f4a61b1c4cf9.js} +1 -1
  154. package/assets/esri/core/workers/chunks/{eec36628e638e244f452.js → ddeaf688d72b2873c4ac.js} +1 -1
  155. package/assets/esri/core/workers/chunks/debd832b6c2c0b2ea362.js +1 -0
  156. package/assets/esri/core/workers/chunks/dfa3ad5d750d7b143a06.js +1 -0
  157. package/assets/esri/core/workers/chunks/dfc5936fbbd26f27a92a.js +1 -0
  158. package/assets/esri/core/workers/chunks/e01fa6389bd0b1ae51a5.js +1 -0
  159. package/assets/esri/core/workers/chunks/e4d08a85d158c705aa3d.js +1 -0
  160. package/assets/esri/core/workers/chunks/e59fdb8f625e9080f097.js +1 -0
  161. package/assets/esri/core/workers/chunks/ed1cd90e899dc9c15ee3.js +1 -0
  162. package/assets/esri/core/workers/chunks/ee28cd411a93245fb90c.js +1 -0
  163. package/assets/esri/core/workers/chunks/{41071e672dcddec47492.js → f4e9640306f64b1af7a3.js} +1 -1
  164. package/assets/esri/core/workers/chunks/f5bb7c90f48cae594bc3.js +1 -0
  165. package/assets/esri/core/workers/chunks/f79c9b37f2842ed88a9b.js +1 -0
  166. package/assets/esri/core/workers/chunks/f88fe2e8fbc763bdc940.js +1 -0
  167. package/assets/esri/core/workers/chunks/faa0cfee8c1de9b5b78c.js +1 -0
  168. package/assets/esri/core/workers/chunks/fae53d825dd9fef0426c.js +1 -0
  169. package/chunks/TimeInterval.js +1 -1
  170. package/chunks/arcade.js +1 -1
  171. package/chunks/array.js +1 -1
  172. package/chunks/languageUtils.js +1 -1
  173. package/config.js +1 -1
  174. package/copyright.txt +27 -0
  175. package/core/Clonable.d.ts +1 -1
  176. package/core/Clonable.js +1 -1
  177. package/core/Collection.js +1 -1
  178. package/core/Evented.d.ts +1 -1
  179. package/core/Evented.js +1 -1
  180. package/core/Identifiable.d.ts +1 -1
  181. package/core/Identifiable.js +1 -1
  182. package/core/Loadable.d.ts +1 -1
  183. package/core/Loadable.js +1 -1
  184. package/core/accessorSupport/ensureType.js +1 -1
  185. package/core/loadAll.js +1 -1
  186. package/editing/sharedTemplates/SharedTemplate.js +1 -1
  187. package/editing/sharedTemplates/SharedTemplateProvider.js +1 -1
  188. package/editing/sharedTemplates/templateDefinitions/TemplateDefinitionBase.js +1 -1
  189. package/effects/FocusArea.js +1 -1
  190. package/effects/FocusAreaOutline.js +1 -1
  191. package/effects/FocusAreas.js +1 -1
  192. package/form/elements/UtilityNetworkAssociationsElement.js +1 -1
  193. package/form/elements/inputs/attachments/Input.js +1 -1
  194. package/geometry/Mesh.js +1 -1
  195. package/geometry/support/DoubleArray.js +1 -1
  196. package/geometry/support/MeshComponent.js +1 -1
  197. package/geometry/support/MeshGeoreferencedVertexSpace.js +1 -1
  198. package/geometry/support/MeshLocalVertexSpace.js +1 -1
  199. package/geometry/support/MeshMaterial.js +1 -1
  200. package/geometry/support/MeshTexture.js +1 -1
  201. package/geometry/support/MeshTextureTransform.js +1 -1
  202. package/geometry/support/MeshTransform.js +1 -1
  203. package/geometry/support/MeshVertexAttributes.js +1 -1
  204. package/geometry/support/meshUtils/Metadata.js +1 -1
  205. package/graphic/GeoRSSGraphicOrigin.d.ts +4 -0
  206. package/graphic/GeoRSSGraphicOrigin.js +5 -0
  207. package/graphic/GraphicOrigin.js +1 -1
  208. package/graphic/KnowledgeGraphGraphicOrigin.d.ts +4 -0
  209. package/graphic/KnowledgeGraphGraphicOrigin.js +5 -0
  210. package/graphic/MapImageGraphicOrigin.d.ts +4 -0
  211. package/graphic/MapImageGraphicOrigin.js +5 -0
  212. package/graphic/MapNotesGraphicOrigin.d.ts +4 -0
  213. package/graphic/MapNotesGraphicOrigin.js +5 -0
  214. package/graphic/OrientedImageryGraphicOrigin.d.ts +4 -0
  215. package/graphic/OrientedImageryGraphicOrigin.js +5 -0
  216. package/graphic/ParquetGraphicOrigin.d.ts +4 -0
  217. package/graphic/ParquetGraphicOrigin.js +5 -0
  218. package/graphic/SubtypeGroupGraphicOrigin.d.ts +4 -0
  219. package/graphic/SubtypeGroupGraphicOrigin.js +5 -0
  220. package/graphic/TileGraphicOrigin.d.ts +4 -0
  221. package/graphic/TileGraphicOrigin.js +5 -0
  222. package/graphic/graphicOrigins.d.ts +8 -0
  223. package/graphic/graphicOrigins.js +1 -1
  224. package/{views/3d/terrain/RenderOrder.js → graphic/isGeoRSSGraphicOrigin.js} +1 -0
  225. package/graphic/isKnowledgeGraphGraphicOrigin.js +5 -0
  226. package/graphic/isMapImageGraphicOrigin.js +5 -0
  227. package/graphic/isMapNotesGraphicOrigin.js +5 -0
  228. package/graphic/isOrientedImageryGraphicOrigin.js +5 -0
  229. package/graphic/isParquetGraphicOrigin.js +5 -0
  230. package/graphic/isSubtypeGroupGraphicOrigin.js +5 -0
  231. package/graphic/isTileGraphicOrigin.js +5 -0
  232. package/identity/IdentityManagerBase.js +1 -1
  233. package/interfaces.d.ts +899 -50
  234. package/kernel.js +1 -1
  235. package/layers/CSVLayer.js +1 -1
  236. package/layers/FeatureLayer.js +1 -1
  237. package/layers/GeoJSONLayer.js +1 -1
  238. package/layers/ImageryLayer.js +1 -1
  239. package/layers/ImageryTileLayer.js +1 -1
  240. package/layers/Layer.js +1 -1
  241. package/layers/MapNotesLayer.js +1 -1
  242. package/layers/OGCFeatureLayer.js +1 -1
  243. package/layers/OrientedImageryLayer.js +1 -1
  244. package/layers/ParquetLayer.js +1 -1
  245. package/layers/SceneLayer.js +1 -1
  246. package/layers/StreamLayer.js +1 -1
  247. package/layers/SubtypeGroupLayer.js +1 -1
  248. package/layers/WCSLayer.js +1 -1
  249. package/layers/WFSLayer.js +1 -1
  250. package/layers/buildingSublayers/BuildingComponentSublayer.js +1 -1
  251. package/layers/buildingSublayers/BuildingSublayer.js +1 -1
  252. package/layers/graphics/controllers/FeatureTileController3D.js +1 -1
  253. package/layers/graphics/data/FeatureStore.js +1 -1
  254. package/layers/graphics/sources/CSVSource.js +1 -1
  255. package/layers/graphics/sources/FeatureLayerSource.js +1 -1
  256. package/layers/graphics/sources/GeoJSONSource.js +1 -1
  257. package/layers/graphics/sources/MemorySource.js +1 -1
  258. package/layers/graphics/sources/OGCFeatureSource.js +1 -1
  259. package/layers/graphics/sources/ParquetSource.js +1 -1
  260. package/layers/graphics/sources/WFSSource.js +1 -1
  261. package/layers/knowledgeGraph/KnowledgeGraphSublayer.js +1 -1
  262. package/layers/mixins/EditBusLayer.js +1 -1
  263. package/layers/orientedImagery/core/CameraOrientationHPR.js +1 -1
  264. package/layers/orientedImagery/core/CameraOrientationLTP.js +1 -1
  265. package/layers/orientedImagery/core/CameraOrientationOPK.js +1 -1
  266. package/layers/orientedImagery/core/CameraOrientationYPR.js +1 -1
  267. package/layers/orientedImagery/core/ElevationSourceDefinitions.js +1 -1
  268. package/layers/orientedImagery/core/ExposurePoint.js +1 -1
  269. package/layers/support/BuildingSummaryStatistics.js +1 -1
  270. package/layers/support/ControlPointsGeoreference.js +1 -1
  271. package/layers/support/DisplayFilter.js +1 -1
  272. package/layers/support/DisplayFilterInfo.js +1 -1
  273. package/layers/support/EditFieldsInfo.js +1 -1
  274. package/layers/support/ExpressionInfo.js +1 -1
  275. package/layers/support/FeatureIndex.js +1 -1
  276. package/layers/support/FeatureTemplate.js +1 -1
  277. package/layers/support/FeatureType.js +1 -1
  278. package/layers/support/GeometryFieldsInfo.js +1 -1
  279. package/layers/support/GeoreferenceBase.js +1 -1
  280. package/layers/support/KMLSublayer.js +1 -1
  281. package/layers/support/LayerContingentValuesCache.js +1 -1
  282. package/layers/support/LocalMediaElementSource.js +1 -1
  283. package/layers/support/MediaElementBase.js +1 -1
  284. package/layers/support/PlaybackInfo.js +1 -1
  285. package/layers/support/PromiseQueue.js +1 -1
  286. package/layers/support/Relationship.js +1 -1
  287. package/layers/support/StreamConnection.js +1 -1
  288. package/layers/support/Sublayer.js +1 -1
  289. package/layers/support/Subtype.js +1 -1
  290. package/layers/support/SubtypeSublayer.js +1 -1
  291. package/layers/support/TelemetryData.js +1 -1
  292. package/layers/support/TelemetryDisplay.js +1 -1
  293. package/layers/support/TimeInfo.js +1 -1
  294. package/layers/support/TrackInfo.js +1 -1
  295. package/layers/support/TrackPartInfo.js +1 -1
  296. package/layers/support/VideoFrame.js +1 -1
  297. package/layers/support/VideoTimeExtent.js +1 -1
  298. package/layers/support/WMSSublayer.js +1 -1
  299. package/layers/voxel/VoxelColorStop.js +1 -1
  300. package/layers/voxel/VoxelDynamicSection.js +1 -1
  301. package/layers/voxel/VoxelIsosurface.js +1 -1
  302. package/layers/voxel/VoxelOpacityStop.js +1 -1
  303. package/layers/voxel/VoxelRangeFilter.js +1 -1
  304. package/layers/voxel/VoxelSection.js +1 -1
  305. package/layers/voxel/VoxelSlice.js +1 -1
  306. package/layers/voxel/VoxelTransferFunctionStyle.js +1 -1
  307. package/layers/voxel/VoxelUniqueValue.js +1 -1
  308. package/linkChart/ChronologicalLayoutSettings.js +1 -1
  309. package/linkChart/LayoutSettings.js +1 -1
  310. package/linkChart/LinkChartProperties.js +1 -1
  311. package/linkChart/NonspatialDataDisplay.js +1 -1
  312. package/linkChart/OrganicLayoutSettings.js +1 -1
  313. package/networks/Network.js +1 -1
  314. package/networks/RulesTable.js +1 -1
  315. package/networks/UtilityNetwork.js +1 -1
  316. package/networks/support/NetworkSystemLayers.js +1 -1
  317. package/networks/support/UtilityNetworkLookupHelper.js +1 -1
  318. package/package.json +1 -1
  319. package/popup/content/AttachmentsContent.js +1 -1
  320. package/popup/content/RelationshipContent.js +1 -1
  321. package/popup/content/UtilityNetworkAssociationsContent.js +1 -1
  322. package/popup/support/AttachmentsOrderByInfo.js +1 -1
  323. package/popup/support/FieldInfoFormat.js +1 -1
  324. package/popup/support/UtilityNetworkAssociationType.js +1 -1
  325. package/portal/Portal.js +1 -1
  326. package/portal/PortalItem.js +1 -1
  327. package/renderers/PieChartRenderer.js +1 -1
  328. package/renderers/support/HeatmapLegendOptions.js +1 -1
  329. package/renderers/support/OthersCategory.js +1 -1
  330. package/renderers/support/RasterPresetRenderer.js +1 -1
  331. package/renderers/support/RendererLegendOptions.js +1 -1
  332. package/renderers/support/UniqueValue.js +1 -1
  333. package/renderers/support/UniqueValueClass.js +1 -1
  334. package/renderers/support/UniqueValueGroup.js +1 -1
  335. package/renderers/visualVariables/support/VisualVariableLegendOptions.js +1 -1
  336. package/rest/featureService/FeatureService.js +1 -1
  337. package/rest/support/AttributeBinsFeatureSet.js +1 -1
  338. package/rest/support/AttributeBinsGrouping.js +1 -1
  339. package/rest/support/AttributeBinsQuery.js +1 -1
  340. package/rest/support/BinParametersBase.js +1 -1
  341. package/rest/support/ClosestFacilityParameters.js +1 -1
  342. package/rest/support/DataLayer.js +1 -1
  343. package/rest/support/DateBinTimeInterval.js +1 -1
  344. package/rest/support/DirectionLine.js +1 -1
  345. package/rest/support/DirectionPoint.js +1 -1
  346. package/rest/support/FindImagesParameters.js +1 -1
  347. package/rest/support/FullTextSearch.js +1 -1
  348. package/rest/support/ImageBoundaryParameters.js +1 -1
  349. package/rest/support/ImageGPSInfoParameters.js +1 -1
  350. package/rest/support/ImageToMapMultirayParameters.js +1 -1
  351. package/rest/support/ImageToMapParameters.js +1 -1
  352. package/rest/support/ImageUrlParameters.js +1 -1
  353. package/rest/support/ImageVolumeParameters.js +1 -1
  354. package/rest/support/MapToImageParameters.js +1 -1
  355. package/rest/support/NetworkUrl.js +1 -1
  356. package/rest/support/PointBarrier.js +1 -1
  357. package/rest/support/PolygonBarrier.js +1 -1
  358. package/rest/support/PolylineBarrier.js +1 -1
  359. package/rest/support/RouteInfo.js +1 -1
  360. package/rest/support/RouteParameters.js +1 -1
  361. package/rest/support/ServiceAreaParameters.js +1 -1
  362. package/rest/support/Stop.js +1 -1
  363. package/rest/support/TravelMode.js +1 -1
  364. package/smartMapping/raster/support/adapters/RasterLayerAdapter.js +1 -1
  365. package/smartMapping/support/adapters/LayerAdapter.js +1 -1
  366. package/support/actions/ActionBase.js +1 -1
  367. package/support/revision.js +1 -1
  368. package/symbols/LineStyleMarker3D.js +1 -1
  369. package/symbols/PathSymbol3DLayer.js +1 -1
  370. package/symbols/support/ElevationInfo.js +1 -1
  371. package/symbols/support/Symbol3DTextBackground.js +1 -1
  372. package/symbols/support/previewSymbol3D.js +1 -1
  373. package/tables/elements/AttributeTableAttachmentElement.js +1 -1
  374. package/tables/elements/AttributeTableFieldElement.js +1 -1
  375. package/tables/elements/AttributeTableGroupElement.js +1 -1
  376. package/tables/elements/AttributeTableRelationshipElement.js +1 -1
  377. package/tables/support/FieldOrder.js +1 -1
  378. package/undoredo/support/Services.js +1 -1
  379. package/versionManagement/VersionManagementService.js +1 -1
  380. package/versionManagement/VersioningState.js +1 -1
  381. package/views/2d/constraints/GeometryConstraint.js +1 -1
  382. package/views/2d/constraints/RotationConstraint.js +1 -1
  383. package/views/2d/constraints/ZoomConstraint.js +1 -1
  384. package/views/2d/engine/DisplayObject.js +1 -1
  385. package/views/2d/engine/ManagedCanvas.js +1 -1
  386. package/views/2d/engine/vectorTiles/decluttering/CollisionJob.js +1 -1
  387. package/views/2d/engine/vectorTiles/shaders/VTLBackgroundMaterial.js +1 -1
  388. package/views/2d/engine/vectorTiles/shaders/VTLCircleMaterial.js +1 -1
  389. package/views/2d/engine/vectorTiles/shaders/VTLFillMaterial.js +1 -1
  390. package/views/2d/engine/vectorTiles/shaders/VTLLineMaterial.js +1 -1
  391. package/views/2d/engine/vectorTiles/shaders/VTLMaterial.js +1 -1
  392. package/views/2d/engine/vectorTiles/shaders/VTLSymbolMaterial.js +1 -1
  393. package/views/2d/engine/webgl/Profiler.js +1 -1
  394. package/views/2d/engine/webgl/TextureManager.js +1 -1
  395. package/views/2d/engine/webgl/collisions/LabelMetric.js +1 -1
  396. package/views/2d/engine/webgl/shaderGraph/techniques/labels/LabelMeshWriter.js +1 -1
  397. package/views/2d/interactive/editingTools/ControlPointsTransformTool.js +1 -1
  398. package/views/2d/interactive/editingTools/TransformTool.js +1 -1
  399. package/views/2d/layers/FeatureLayerView2D.js +1 -1
  400. package/views/2d/layers/GeoRSSLayerView2D.js +1 -1
  401. package/views/2d/layers/StreamLayerView2D.js +1 -1
  402. package/views/2d/layers/features/FeatureSourceEventLog.js +1 -1
  403. package/views/2d/layers/features/layerAdapters/CatalogFootprintLayerAdapter.js +1 -1
  404. package/views/2d/layers/features/layerAdapters/FeatureLayerAdapter.js +1 -1
  405. package/views/2d/layers/features/layerAdapters/InMemoryLayerAdapter.js +1 -1
  406. package/views/2d/layers/features/layerAdapters/KnowledgeGraphSublayerAdapter.js +1 -1
  407. package/views/2d/layers/features/layerAdapters/OGCFeatureLayerAdapter.js +1 -1
  408. package/views/2d/layers/features/layerAdapters/OrientedImageryLayerAdapter.js +1 -1
  409. package/views/2d/layers/features/layerAdapters/ParquetLayerAdapter.js +1 -1
  410. package/views/2d/layers/features/layerAdapters/StreamLayerAdapter.js +1 -1
  411. package/views/2d/layers/features/layerAdapters/SubtypeGroupLayerAdapter.js +1 -1
  412. package/views/2d/layers/features/processor/AAggregateStrategy.js +1 -1
  413. package/views/2d/layers/features/schema/processor/LabelMatcherSchema.js +1 -1
  414. package/views/2d/layers/features/schema/processor/SimpleProcessorSchema.js +1 -1
  415. package/views/2d/layers/features/schema/processor/SubtypeProcessorSchema.js +1 -1
  416. package/views/2d/layers/features/sources/strategies/StreamLoadStrategy.js +1 -1
  417. package/views/2d/layers/features/sources/strategies/chunks/SourceChunkStore.js +1 -1
  418. package/views/2d/layers/features/support/TileStore.js +1 -1
  419. package/views/2d/layers/graphics/GraphicsView2D.js +1 -1
  420. package/views/2d/layers/support/RouteLayerInteraction.js +1 -1
  421. package/views/3d/FocusAreasView.js +1 -1
  422. package/views/3d/analysis/AnalysisViewManager3D.js +1 -1
  423. package/views/3d/analysis/AreaMeasurement/support/AreaMeasurementPathHelper.js +1 -1
  424. package/views/3d/analysis/ElevationProfileAnalysisView3D.d.ts +4 -0
  425. package/views/3d/analysis/ElevationProfileAnalysisView3D.js +5 -0
  426. package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
  427. package/views/3d/analysis/LineOfSightAnalysisView3D.js +1 -1
  428. package/views/3d/analysis/Slice/SliceController.js +1 -1
  429. package/views/3d/analysis/Slice/sliceToolUtils.js +1 -1
  430. package/views/3d/constraints/AltitudeConstraint.js +1 -1
  431. package/views/3d/constraints/ClipDistanceConstraint.js +1 -1
  432. package/views/3d/constraints/Constraints.js +1 -1
  433. package/views/3d/constraints/TiltConstraint.js +1 -1
  434. package/views/3d/environment/Clouds.js +1 -1
  435. package/views/3d/environment/CloudsRenderer.js +1 -1
  436. package/views/3d/environment/EnvironmentManager.js +1 -1
  437. package/views/3d/environment/EnvironmentRenderer.js +1 -1
  438. package/views/3d/environment/SunLighting.js +1 -1
  439. package/views/3d/environment/VirtualLighting.js +1 -1
  440. package/views/3d/interactive/Manipulator3D.js +1 -1
  441. package/views/3d/interactive/editingTools/ManipulatedObject3DGraphic.js +1 -1
  442. package/views/3d/interactive/editingTools/ManipulatedObject3DMediaElement.js +1 -1
  443. package/views/3d/interactive/editingTools/manipulations/MoveXYAxisManipulation.js +1 -1
  444. package/views/3d/interactive/editingTools/manipulations/MoveZManipulation.js +1 -1
  445. package/views/3d/interactive/editingTools/media/MediaElementManipulator3D.js +1 -1
  446. package/views/3d/interactive/editingTools/move/MoveTool3D.js +1 -1
  447. package/views/3d/interactive/editingTools/reshape/ReshapeOperation.js +1 -1
  448. package/views/3d/interactive/editingTools/reshape/ReshapeTool3D.js +1 -1
  449. package/views/3d/interactive/editingTools/transform/ExtentTransformTool.js +1 -1
  450. package/views/3d/interactive/editingTools/transform/ScaleRotateTransform.js +1 -1
  451. package/views/3d/interactive/editingTools/transform/TransformTool3D.js +1 -1
  452. package/views/3d/interactive/visualElements/DrapedVisualElementResources.js +1 -1
  453. package/views/3d/interactive/visualElements/OutlineVisualElement.js +1 -1
  454. package/views/3d/layers/BuildingSublayerView3D.js +1 -1
  455. package/views/3d/layers/FeatureLikeLayerView3D.js +1 -1
  456. package/views/3d/layers/FlowSubView3D.js +1 -1
  457. package/views/3d/layers/GraphicsView3D.js +1 -1
  458. package/views/3d/layers/GraphicsView3DDummyLayer.js +5 -0
  459. package/views/3d/layers/I3SMeshView3D.js +1 -1
  460. package/views/3d/layers/PointCloudLayerView3D.js +1 -1
  461. package/views/3d/layers/SceneLayerWorker.js +1 -1
  462. package/views/3d/layers/TiledLayerView3D.js +1 -1
  463. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  464. package/views/3d/layers/graphics/ElevationQuery.js +1 -1
  465. package/views/3d/layers/graphics/GraphicState.js +1 -1
  466. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  467. package/views/3d/layers/graphics/Graphics3DElevationAlignment.js +1 -1
  468. package/views/3d/layers/graphics/Graphics3DFeatureStore.js +1 -1
  469. package/views/3d/layers/graphics/Graphics3DFrustumVisibility.js +1 -1
  470. package/views/3d/layers/graphics/Graphics3DScaleVisibility.js +1 -1
  471. package/views/3d/layers/graphics/GraphicsDeconflictor.js +1 -1
  472. package/views/3d/layers/graphics/LabelDeconflictor.js +1 -1
  473. package/views/3d/layers/graphics/Labeler.js +1 -1
  474. package/views/3d/layers/graphics/StreamController.js +1 -1
  475. package/views/3d/layers/graphics/pipeline/Feature3DPipelineWorker.js +1 -1
  476. package/views/3d/layers/graphics/pipeline/featureSet/TiledFeatureStore.js +1 -1
  477. package/views/3d/layers/i3s/I3SAsyncElevationUpdater.js +1 -1
  478. package/views/3d/layers/i3s/I3SClientNodeLoader.js +1 -1
  479. package/views/3d/layers/i3s/I3SFrameTask.js +1 -1
  480. package/views/3d/layers/i3s/I3SGraphicsMap.js +1 -1
  481. package/views/3d/layers/i3s/I3SQueryFeatureStore.js +1 -1
  482. package/views/3d/layers/i3s/LayerElevationProvider.js +1 -1
  483. package/views/3d/layers/support/FeatureTileFetcher3D.js +1 -1
  484. package/views/3d/layers/support/FeatureTileTree3D.js +1 -1
  485. package/views/3d/layers/support/FeatureVisibilityFilter.js +1 -1
  486. package/views/3d/layers/support/StageLayerElevationProvider.js +1 -1
  487. package/views/3d/state/ViewState.js +1 -1
  488. package/views/3d/support/CombinedElevationProvider.js +1 -1
  489. package/views/3d/support/EventedSet.js +1 -1
  490. package/views/3d/support/GraphicsMap.js +1 -1
  491. package/views/3d/support/LimitGraphicsMap.js +1 -1
  492. package/views/3d/support/StreamDataLoader.js +1 -1
  493. package/views/3d/support/flow/geometryUtils.js +1 -1
  494. package/views/3d/support/pointsOfInterest/CameraOnSurface.js +1 -1
  495. package/views/3d/support/pointsOfInterest/CenterOnSurface.js +1 -1
  496. package/views/3d/support/pointsOfInterest/ContentGeometryUpdates.js +1 -1
  497. package/views/3d/support/pointsOfInterest/Focus.js +1 -1
  498. package/views/3d/support/pointsOfInterest/SurfaceGeometryUpdates.js +1 -1
  499. package/views/3d/terrain/OverlayManager.js +1 -1
  500. package/views/3d/terrain/OverlayRenderer.js +1 -1
  501. package/views/3d/terrain/TerrainRenderer.js +1 -1
  502. package/views/3d/terrain/TerrainSurface.js +1 -1
  503. package/views/3d/terrain/tileUtils.js +1 -1
  504. package/views/3d/webgl-engine/Stage.js +1 -1
  505. package/views/3d/webgl-engine/effects/RenderPlugin.js +1 -1
  506. package/views/3d/webgl-engine/effects/RenderPluginManager.js +1 -1
  507. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskNode.js +1 -1
  508. package/views/3d/webgl-engine/effects/geometry/RenderOccludedRenderNode.js +1 -1
  509. package/views/3d/webgl-engine/lib/GPUPointOcclusionQuery.js +1 -1
  510. package/views/3d/webgl-engine/lib/Object3D.js +1 -1
  511. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  512. package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
  513. package/views/3d/webgl-engine/lib/TextTextureAtlas.js +1 -1
  514. package/views/3d/webgl-engine/lib/Texture.js +1 -1
  515. package/views/3d/webgl-engine/lib/TextureRepository.js +1 -1
  516. package/views/3d/webgl-engine/lib/WebGLLayer.js +1 -1
  517. package/views/3d/webgl-engine/lib/depthRangeUtils.js +1 -1
  518. package/views/3d/webgl-engine/lib/lodRendering/InstanceData.js +1 -1
  519. package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
  520. package/views/SceneView.js +1 -1
  521. package/views/SelectionManager.js +1 -1
  522. package/views/Theme.js +1 -1
  523. package/views/VideoView.js +1 -1
  524. package/views/View.js +1 -1
  525. package/views/analysis/ElevationProfileResult.d.ts +4 -0
  526. package/views/analysis/ElevationProfileResult.js +5 -0
  527. package/views/draw/DrawAction.js +1 -1
  528. package/views/draw/DrawGraphicTool.js +1 -1
  529. package/views/draw/DrawManipulator.js +1 -1
  530. package/views/draw/DrawOperation.js +1 -1
  531. package/views/draw/support/Box.js +1 -1
  532. package/views/draw/support/GraphicMover.js +1 -1
  533. package/views/draw/support/Reshape.js +1 -1
  534. package/views/interactive/GraphicManipulator.js +1 -1
  535. package/views/interactive/InteractiveToolBase.js +1 -1
  536. package/views/interactive/Tooltip.js +1 -1
  537. package/views/interactive/editGeometry/EditGeometry.js +1 -1
  538. package/views/interactive/editGeometry/EditGeometryOperations.js +1 -1
  539. package/views/interactive/snapping/SnappingManager.js +1 -1
  540. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceSnappingSourceWorker.js +1 -1
  541. package/views/layers/LayerView.js +1 -1
  542. package/views/support/GroundViewElevationSampler.js +1 -1
  543. package/views/support/ScheduledQueueProcessor.js +1 -1
  544. package/views/support/Scheduler.js +1 -1
  545. package/views/ui/UI.js +1 -1
  546. package/webdoc/GeotriggersInfo.js +1 -1
  547. package/webdoc/IPSInfo.js +1 -1
  548. package/webdoc/geotriggersInfo/DeviceLocationFeed.js +1 -1
  549. package/webdoc/geotriggersInfo/ExpressionInfo.js +1 -1
  550. package/webdoc/geotriggersInfo/FeatureFenceParameters.js +1 -1
  551. package/webdoc/geotriggersInfo/FeatureFilter.js +1 -1
  552. package/webdoc/geotriggersInfo/FeatureLayerSource.js +1 -1
  553. package/webdoc/geotriggersInfo/Geotrigger.js +1 -1
  554. package/webdoc/geotriggersInfo/GeotriggerNotificationOptions.js +1 -1
  555. package/webdoc/ips/AppleIPSProperties.js +1 -1
  556. package/webdoc/ips/Configuration.js +1 -1
  557. package/webdoc/ips/GNSSProperties.js +1 -1
  558. package/webdoc/ips/PathSnappingProperties.js +1 -1
  559. package/webdoc/ips/PositioningService.js +1 -1
  560. package/webdoc/ips/SmoothingProperties.js +1 -1
  561. package/webmap/Bookmark.js +1 -1
  562. package/webmap/InitialViewProperties.js +1 -1
  563. package/webscene/InitialViewProperties.js +1 -1
  564. package/webscene/Presentation.js +1 -1
  565. package/webscene/Slide.js +1 -1
  566. package/webscene/SlideLegendInfo.js +1 -1
  567. package/webscene/support/Description.js +1 -1
  568. package/webscene/support/FeatureReference.js +1 -1
  569. package/webscene/support/FeatureReferenceId.js +1 -1
  570. package/webscene/support/LayerReference.js +1 -1
  571. package/webscene/support/SlideElements.js +1 -1
  572. package/webscene/support/SlideEnvironment.js +1 -1
  573. package/webscene/support/SlideGround.js +1 -1
  574. package/webscene/support/SlidePopupInfo.js +1 -1
  575. package/webscene/support/SlideVisibleLayer.js +1 -1
  576. package/webscene/support/Title.js +1 -1
  577. package/widgets/AreaMeasurement2D/AreaMeasurement2DTool.js +1 -1
  578. package/widgets/BasemapGallery/BasemapGalleryViewModel.js +1 -1
  579. package/widgets/BasemapGallery/support/BasemapGalleryItem.js +1 -1
  580. package/widgets/BasemapGallery/support/PortalBasemapsSource.js +1 -1
  581. package/widgets/BasemapLayerList/BasemapLayerListViewModel.js +1 -1
  582. package/widgets/BasemapLayerList.js +1 -1
  583. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.js +1 -1
  584. package/widgets/BatchAttributeForm/templates/ElementTemplateBase.js +1 -1
  585. package/widgets/Bookmarks/BookmarksViewModel.js +1 -1
  586. package/widgets/Bookmarks.js +1 -1
  587. package/widgets/CatalogLayerList/CatalogLayerListViewModel.js +1 -1
  588. package/widgets/CatalogLayerList.js +1 -1
  589. package/widgets/CoordinateConversion/CoordinateConversionViewModel.js +1 -1
  590. package/widgets/Daylight/DaylightViewModel.js +1 -1
  591. package/widgets/DirectionalPad/DirectionalPadViewModel.js +1 -1
  592. package/widgets/Directions/DirectionsViewModel.js +1 -1
  593. package/widgets/DistanceMeasurement2D/DistanceMeasurement2DTool.js +1 -1
  594. package/widgets/Editor/EditorViewModel.js +1 -1
  595. package/widgets/Editor/UpdateFeatureWorkflow.js +1 -1
  596. package/widgets/Editor/Workflow.js +1 -1
  597. package/widgets/Editor/support/SketchController.js +1 -1
  598. package/widgets/ElevationProfile/ElevationProfileInteraction.js +1 -1
  599. package/widgets/ElevationProfile/ElevationProfileLine.d.ts +2 -2
  600. package/widgets/ElevationProfile/ElevationProfileLine.js +1 -1
  601. package/widgets/ElevationProfile/ElevationProfileLineGround.d.ts +2 -2
  602. package/widgets/ElevationProfile/ElevationProfileLineInput.d.ts +2 -2
  603. package/widgets/ElevationProfile/ElevationProfileLineQuery.d.ts +2 -2
  604. package/widgets/Feature/FeatureRelationship/FeatureRelationshipViewModel.js +1 -1
  605. package/widgets/Feature/FeatureViewModel.js +1 -1
  606. package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
  607. package/widgets/FeatureForm/UtilityNetworkAssociationInput.js +1 -1
  608. package/widgets/FeatureTable/Grid/GridViewModel.js +1 -1
  609. package/widgets/FeatureTemplates/FeatureTemplatesViewModel.js +1 -1
  610. package/widgets/FeatureTemplates/TemplateItemGroup.js +1 -1
  611. package/widgets/Home/HomeViewModel.js +1 -1
  612. package/widgets/LayerList/LayerListViewModel.js +1 -1
  613. package/widgets/LayerList/ListItem.js +1 -1
  614. package/widgets/LayerList/ListItemPanel.js +1 -1
  615. package/widgets/LayerList.js +1 -1
  616. package/widgets/LinkChartLayoutSwitcher/LinkChartLayoutSwitcherViewModel.js +1 -1
  617. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  618. package/widgets/OrientedImageryViewer/components/ImageOverlays.js +1 -1
  619. package/widgets/OrientedImageryViewer/components/ImageViewerViewModel.js +1 -1
  620. package/widgets/OrientedImageryViewer/components/NavigationAction.js +1 -1
  621. package/widgets/PanoramicViewer/PanoramicViewerViewModel.js +1 -1
  622. package/widgets/PanoramicViewer/PanoramicZoomConditions.js +1 -1
  623. package/widgets/Print/PrintViewModel.js +1 -1
  624. package/widgets/Search/SearchSource.js +1 -1
  625. package/widgets/Search/SearchViewModel.js +1 -1
  626. package/widgets/Sketch/SketchViewModel.js +1 -1
  627. package/widgets/Sketch/support/OperationHandle.js +1 -1
  628. package/widgets/TableList/ListItem.js +1 -1
  629. package/widgets/TableList/ListItemPanel.js +1 -1
  630. package/widgets/TableList/TableListViewModel.js +1 -1
  631. package/widgets/TableList.js +1 -1
  632. package/widgets/TimeSlider/TimeSliderViewModel.js +1 -1
  633. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceViewModel.js +1 -1
  634. package/widgets/ValuePicker/ValuePickerViewModel.js +1 -1
  635. package/widgets/Widget.js +1 -1
  636. package/widgets/support/AnchorElementViewModel.js +1 -1
  637. package/widgets/support/GeolocationPositioning.js +1 -1
  638. package/widgets/support/GridControls/GridControlsViewModel.js +1 -1
  639. package/widgets/support/SelectionToolbar/SelectionToolbarViewModel.js +1 -1
  640. package/widgets/support/Selector2D/SelectionOperation.js +1 -1
  641. package/widgets/support/UtilityNetworkAssociations/FeatureUtilityNetworkAssociationsViewModel.js +1 -1
  642. package/assets/esri/core/workers/chunks/00870a35b254295bc408.js +0 -1
  643. package/assets/esri/core/workers/chunks/017adbbb77c9c9b4d49f.js +0 -1
  644. package/assets/esri/core/workers/chunks/038bd2fec9a91b5a949d.js +0 -1
  645. package/assets/esri/core/workers/chunks/086f3bc5938bf9a37274.js +0 -1
  646. package/assets/esri/core/workers/chunks/093de3942e1ead231990.js +0 -1
  647. package/assets/esri/core/workers/chunks/0997e09fe5b0aba1f804.js +0 -1
  648. package/assets/esri/core/workers/chunks/0f6207d84d15484a3181.js +0 -1
  649. package/assets/esri/core/workers/chunks/125fdea50620d4db2678.js +0 -1
  650. package/assets/esri/core/workers/chunks/15a5a89cd228a9364332.js +0 -1
  651. package/assets/esri/core/workers/chunks/173c5b8fa1ac7aa6e072.js +0 -1
  652. package/assets/esri/core/workers/chunks/20aed6e1d9b6bf06a398.js +0 -1
  653. package/assets/esri/core/workers/chunks/21246dfe99a4c5906f71.js +0 -1
  654. package/assets/esri/core/workers/chunks/221748295a5ec633177e.js +0 -1
  655. package/assets/esri/core/workers/chunks/2a695b50a384c45ace9a.js +0 -1
  656. package/assets/esri/core/workers/chunks/2ad63b8d6986ac21c398.js +0 -1
  657. package/assets/esri/core/workers/chunks/2de11a8e5d426c381991.js +0 -1
  658. package/assets/esri/core/workers/chunks/2df9bfddc737d89c94b8.js +0 -1
  659. package/assets/esri/core/workers/chunks/34ddb8da5c5c8533bd71.js +0 -1
  660. package/assets/esri/core/workers/chunks/3a7e43675163f7bed6ac.js +0 -1
  661. package/assets/esri/core/workers/chunks/3cd1ab26396052f17832.js +0 -1
  662. package/assets/esri/core/workers/chunks/40b0c5368b8322498189.js +0 -1
  663. package/assets/esri/core/workers/chunks/427deb82fae9c500b375.js +0 -1
  664. package/assets/esri/core/workers/chunks/4433c195c62a59739c06.js +0 -1
  665. package/assets/esri/core/workers/chunks/4ac6bf9ff1cfbde87c7b.js +0 -1
  666. package/assets/esri/core/workers/chunks/4b9003ddfe61dc3729f4.js +0 -1
  667. package/assets/esri/core/workers/chunks/4bb6148df66e62a5fcf0.js +0 -1
  668. package/assets/esri/core/workers/chunks/50f58b2a933b56effd70.js +0 -1
  669. package/assets/esri/core/workers/chunks/528212fb0474bdb2ec92.js +0 -1
  670. package/assets/esri/core/workers/chunks/5dba8c0c957becedf7f7.js +0 -1
  671. package/assets/esri/core/workers/chunks/6000a302369799ea42a6.js +0 -1
  672. package/assets/esri/core/workers/chunks/61aed9a292c981921869.js +0 -1
  673. package/assets/esri/core/workers/chunks/646227b500b92999f2c8.js +0 -1
  674. package/assets/esri/core/workers/chunks/674970c539d336a93ba1.js +0 -1
  675. package/assets/esri/core/workers/chunks/6aeff5908c41600a5dfc.js +0 -1
  676. package/assets/esri/core/workers/chunks/6c72e2c09ed62cb2fd79.js +0 -1
  677. package/assets/esri/core/workers/chunks/7099ff8dc699fedea931.js +0 -1
  678. package/assets/esri/core/workers/chunks/752eabfbed7b8b65cf3f.js +0 -1
  679. package/assets/esri/core/workers/chunks/773feb0e0fad26df57ef.js +0 -1
  680. package/assets/esri/core/workers/chunks/7848ea5ca13ec350779a.js +0 -1
  681. package/assets/esri/core/workers/chunks/7a4ec66a577f7f7996c5.js +0 -1
  682. package/assets/esri/core/workers/chunks/831d58235b8b9eb4cdc8.js +0 -1
  683. package/assets/esri/core/workers/chunks/90a0c1c5c851cc9b6d6d.js +0 -1
  684. package/assets/esri/core/workers/chunks/91d48c32bf11ad1405c8.js +0 -1
  685. package/assets/esri/core/workers/chunks/9228f760129e48585b54.js +0 -1
  686. package/assets/esri/core/workers/chunks/969a9edba4be8dcbcedd.js +0 -1
  687. package/assets/esri/core/workers/chunks/9a54c96b48e94d816881.js +0 -1
  688. package/assets/esri/core/workers/chunks/aa12ba96fb8c91105473.js +0 -1
  689. package/assets/esri/core/workers/chunks/aaf696a1026de569c82d.js +0 -1
  690. package/assets/esri/core/workers/chunks/acb95ae6203f708d71b4.js +0 -1
  691. package/assets/esri/core/workers/chunks/b28855db6a30d4d4f348.js +0 -1
  692. package/assets/esri/core/workers/chunks/b4bbd38df56e57783cc0.js +0 -1
  693. package/assets/esri/core/workers/chunks/ba29c535128c4e8ae2d3.js +0 -1
  694. package/assets/esri/core/workers/chunks/c038472cb7f60af9426e.js +0 -1
  695. package/assets/esri/core/workers/chunks/c0718a0461839be41a2a.js +0 -1
  696. package/assets/esri/core/workers/chunks/c0aee315b6218d6456cd.js +0 -1
  697. package/assets/esri/core/workers/chunks/c0ec1600a86bb9a848d4.js +0 -1
  698. package/assets/esri/core/workers/chunks/c1e5e2a6e7e2d7a1d63c.js +0 -1
  699. package/assets/esri/core/workers/chunks/c30adbead0ba4722acf9.js +0 -1
  700. package/assets/esri/core/workers/chunks/c9b11c7170c99f9e0e93.js +0 -1
  701. package/assets/esri/core/workers/chunks/ca88859fc69fcb4568c0.js +0 -1
  702. package/assets/esri/core/workers/chunks/cc3ca1729af33688c1e3.js +0 -1
  703. package/assets/esri/core/workers/chunks/cde79c3644166d4798a8.js +0 -1
  704. package/assets/esri/core/workers/chunks/d092a4b8fe3d37a6333d.js +0 -1
  705. package/assets/esri/core/workers/chunks/d6a188a7d55db69ba30b.js +0 -1
  706. package/assets/esri/core/workers/chunks/d7172dc531b4548a8c60.js +0 -1
  707. package/assets/esri/core/workers/chunks/d88935ae5669d14c5b29.js +0 -1
  708. package/assets/esri/core/workers/chunks/d9045b964f536695840b.js +0 -1
  709. package/assets/esri/core/workers/chunks/dde6000aa2f69f6ecad0.js +0 -1
  710. package/assets/esri/core/workers/chunks/e18bb372457cedbf4f8c.js +0 -1
  711. package/assets/esri/core/workers/chunks/e82b1f91465d569012c4.js +0 -1
  712. package/assets/esri/core/workers/chunks/e892ed8b0b990d7eba28.js +0 -1
  713. package/assets/esri/core/workers/chunks/ed05399f9a07fea66685.js +0 -1
  714. package/assets/esri/core/workers/chunks/efec0f496491a0647051.js +0 -1
  715. package/assets/esri/core/workers/chunks/f01a939af200616eb169.js +0 -1
  716. package/assets/esri/core/workers/chunks/f19426eb53d8430ded51.js +0 -1
  717. package/assets/esri/core/workers/chunks/f255b2232f6f049d462d.js +0 -1
  718. package/assets/esri/core/workers/chunks/f3358b19af0f03f16543.js +0 -1
  719. package/assets/esri/core/workers/chunks/f4c38a9c01c29b5a6244.js +0 -1
  720. package/assets/esri/core/workers/chunks/f6c1854f36b029fa6c37.js +0 -1
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as e}from"tslib";import{createTask as t}from"../../../core/asyncUtils.js";import n from"../../../core/Evented.js";import"../../../core/has.js";import{throwIfAborted as i,isAborted as s}from"../../../core/promiseUtils.js";import{watch as a,syncAndInitial as r,sync as o}from"../../../core/reactiveUtils.js";import{property as p}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/Logger.js";import"../../../core/RandomLCG.js";import{subclass as d}from"../../../core/accessorSupport/decorators/subclass.js";import{project as c,initializeProjection as l}from"../../../geometry/projectionUtils.js";import{absoluteHeightElevationInfo as h}from"../../../support/elevationInfoUtils.js";import{fromPoint as u,markAsTarget as f,toElevationAlignedDehydratedPoint as g}from"../sketch/normalizedPoint.js";import{defaults as _}from"./Settings.js";import S from"./SnappingOptions.js";import{sortCandidatesInPlace as m,squaredScreenDistance as v}from"./snappingUtils.js";import{DrapedEdgeSnappingCandidate as y}from"./candidates/DrapedEdgeSnappingCandidate.js";import{EdgeSnappingCandidate as w}from"./candidates/EdgeSnappingCandidate.js";import{IntersectionSnappingCandidate as C}from"./candidates/IntersectionSnappingCandidate.js";import{LineSnappingCandidate as P}from"./candidates/LineSnappingCandidate.js";import{ParallelLineSnappingCandidate as E}from"./candidates/ParallelLineSnappingCandidate.js";import{RightAngleSnappingCandidate as T}from"./candidates/RightAngleSnappingCandidate.js";import{RightAngleTriangleSnappingCandidate as j}from"./candidates/RightAngleTriangleSnappingCandidate.js";import{vectorToScreenPoint as R}from"../support/viewUtils.js";import{loadGeodesicLengthMeasurementUtils as M}from"../../support/geodesicLengthMeasurementUtils.js";let q=class extends n.EventedAccessor{constructor(e){super(e),this.options=new S,this._engineCache=new Map,this._loadTask=null,this._engines=[],this._currentMainCandidate=null,this._currentOtherActiveCandidates=[],this._currentSnappedType=0}initialize(){this.addHandles([a(()=>{const{distance:e,touchSensitivityMultiplier:t,effectiveSelfEnabled:n,effectiveFeatureEnabled:i,effectiveGridEnabled:s}=this.options;return{selfEnabled:n,featureEnabled:i,gridEnabled:"2d"===this.view.type&&s,viewReady:this.view.ready,viewSpatialReference:this.view.spatialReference,distance:e,touchSensitivityMultiplier:t}},(e,n)=>{n&&(this.doneSnapping(),this.emit("changed")),this._loadTask?.abort(),this._loadTask=t(t=>this._updateEngines(e,n,t))},r),a(()=>this.options,e=>{for(const t of this._engines)t.options=e},o)])}destroy(){this._loadTask?.abort(),this._destroyEngines()}get updating(){return this._engines.some(e=>e.updating)||!this._loadTask?.finished}_destroyEngines(){this._engineCache.forEach(e=>e.destroy()),this._engineCache.clear(),this._engines=[]}async _updateEngines(e,t,n){if(!e.viewReady)return void this._destroyEngines();t?.viewSpatialReference!==e.viewSpatialReference&&this._destroyEngines();const i=this._engineCache,s=await Promise.allSettled([e.featureEnabled&&!i.has("feature")?this._createFeatureSnappingEngine(n):void 0,e.selfEnabled&&!i.has("self")?this._createSelfSnappingEngine(n):void 0,e.gridEnabled&&!i.has("grid")?this._createGridSnappingEngine(n):void 0]);if(n.aborted)for(const a of s)"fulfilled"===a.status&&a.value?.engine.destroy();else{for(const e of s)"fulfilled"===e.status&&e.value&&i.set(e.value.type,e.value.engine);this._engines=Array.from(i.values())}}async _createSelfSnappingEngine(e){const[{SelfSnappingEngine:t},n]=await Promise.all([import("./SelfSnappingEngine.js"),M()]);return i(e),{type:"self",engine:new t({view:this.view,options:this.options,geodesicLengthMeasurementUtils:n})}}async _createGridSnappingEngine(e){const{view:t}=this;if("2d"!==t.type)return;const{GridSnappingEngine:n}=await import("./GridSnappingEngine.js");return i(e),{type:"grid",engine:new n({view:t,options:this.options})}}async _createFeatureSnappingEngine(e){const{FeatureSnappingEngine:t}=await import("./FeatureSnappingEngine.js");i(e);const{view:n,options:s}=this,{spatialReference:a}=n;return{type:"feature",engine:new t({view:n,options:s,spatialReference:a})}}get _squaredMouseProximityThreshold(){return this.options.distance*this.options.distance}get _squaredTouchProximityThreshold(){const{distance:e,touchSensitivityMultiplier:t}=this.options,n=e*t;return n*n}snap(e){return O(e)?this._snapMultiPoint(e):this._snapSinglePoint(e)}update(e){const{point:t,context:n}=e;this._removeVisualization();const i=this._currentMainCandidate;if(null==i)return t;const s=this._selectUpdateInput(e);if(null==s)return t;const{spatialReference:a}=n,r=c(s,a);if(null==r)return t;const{view:o}=this,{elevationInfo:p,visualizer:d}=n,l=[],h=u(r,o,p),_=i.constraint.closestTo(h);if(!this._arePointsWithinScreenThreshold(h,_,n)||!z(i,n.drawConstraints))return this._resetSnappingState(),t;i.targetPoint=f(_),l.push(...i.hints);for(const c of this._currentOtherActiveCandidates)z(c,n.drawConstraints)&&(c.targetPoint=f(_),l.push(...c.hints));return null!=d&&this.addHandles(d.draw(l,{spatialReference:a,elevationInfo:H(n),view:o,selfSnappingZ:n.selfSnappingZ}),b),g(_,o,t,n)}doneSnapping(){this._removeVisualization(),this._resetSnappingState()}_selectUpdateInput({point:e,scenePoint:t}){switch(this._currentSnappedType){case 0:return e;case 1:return t}}_resetSnappingState(){this._currentMainCandidate=null,this._currentOtherActiveCandidates=[],this._currentSnappedType=0}_removeVisualization(){this.removeHandles(b)}async _snapSinglePoint({point:e,context:t,signal:n}){const{view:i}=this,{elevationInfo:s}=t,a=u(e,i,s),r=await this._fetchCandidates(a,3,t,n);return this._createSnapResult(a,0,r,i,e,t,n)}async _snapMultiPoint({point:e,scenePoint:t,context:n,signal:i}){const{view:s}=this,{coordinateHelper:a,elevationInfo:r,spatialReference:o}=n;await l(t.spatialReference,o);const p=c(t,o),d=u(p,s,r),h=await this._fetchCandidates(d,1,n,i);if(h.length>0){const e=await this._fetchCandidates(d,2,n,i);return this._createSnapResult(d,1,[...h,...e],s,p,n,i)}const f=u(e,s,r),g=await this._fetchCandidates(f,2,n,i);return this._createSnapResult(f,0,g,s,{z:a.hasZ()&&e.hasZ?e.z??0:void 0,m:a.hasM()&&e.hasM?e.m??0:void 0},n,i)}async _fetchCandidates(e,t,n,i){return(await Promise.all(this._engines.map(s=>s.fetchCandidates(e,t,n,i)))).flat()}_createSnapResult(e,t,n,i,a,r,o){return{get valid(){return!s(o)},apply:()=>{const{spatialReference:s}=r,{snappedPoint:o,hints:p}=this._processCandidates(e,t,n,r);return this._removeVisualization(),null!=r.visualizer&&this.addHandles(r.visualizer.draw(p,{spatialReference:s,elevationInfo:h,view:i,selfSnappingZ:r.selfSnappingZ}),b),g(o,i,a,r)}}}_processCandidates(e,t,n,i){if(n.length<1)return this.doneSnapping(),{snappedPoint:e,hints:[]};this._currentSnappedType!==t&&this._resetSnappingState(),m(e,n);const s=this._currentMainCandidate;if(null!=s){const a=U(s,n);if(a>=0){if(!(n[a]instanceof C))return this._intersectWithOtherCandidates(a,n,e,t,i);if(this._arePointsWithinScreenThreshold(e,s.targetPoint,i))return this._updateSnappingCandidate(s,t,n,i)}}return this._intersectWithOtherCandidates(0,n,e,t,i)}_intersectWithOtherCandidates(e,t,n,i,s){const{coordinateHelper:a}=s,r=t[e],o=[];for(let p=0;p<t.length;++p){if(p===e)continue;const i=t[p],s=r.constraint.intersect(i.constraint);if(s)for(const e of s.closestPoints(r.targetPoint))o.push([new C(f(e),r,i,i.isDraped),this._squaredScreenDistance(n,e,a)])}return o.length>0&&(o.sort((e,t)=>e[1]-t[1]),o[0][1]<this._squaredPointProximityThreshold(s.pointer))?this._updateSnappingCandidate(o[0][0],i,t,s):z(r,s.drawConstraints)?this._updateSnappingCandidate(r,i,t,s):{snappedPoint:n,hints:[]}}_updateSnappingCandidate(e,t,n,i){this.doneSnapping(),this._currentMainCandidate=e,this._currentSnappedType=t;const s=this._currentMainCandidate.targetPoint,a=[];a.push(...e.hints);for(const r of n){if(e instanceof C){if(r.constraint.equals(e.first.constraint)||r.constraint.equals(e.second.constraint))continue}else if(r.constraint.equals(e.constraint))continue;const t=r.constraint.closestTo(s);this._squaredScreenDistance(t,s,i.coordinateHelper)<x()&&(r.targetPoint=s,this._currentOtherActiveCandidates.push(r),a.push(...r.hints))}return{snappedPoint:s,hints:a}}_squaredPointProximityThreshold(e){return"touch"===e?this._squaredTouchProximityThreshold:this._squaredMouseProximityThreshold}_arePointsWithinScreenThreshold(e,t,n){return this._squaredScreenDistance(e,t,n.coordinateHelper)<this._squaredPointProximityThreshold(n.pointer)}_squaredScreenDistance(e,t,n){return v(this._toScreen(e,n),this._toScreen(t,n))}_toScreen(e,t){return R(e,t.spatialReference,h,this.view)}get test(){}};e([p({constructOnly:!0})],q.prototype,"view",void 0),e([p()],q.prototype,"options",void 0),e([p({readOnly:!0})],q.prototype,"updating",null),e([p()],q.prototype,"_loadTask",void 0),e([p()],q.prototype,"_engines",void 0),e([p()],q.prototype,"_squaredMouseProximityThreshold",null),e([p()],q.prototype,"_squaredTouchProximityThreshold",null),q=e([d("esri.views.interactive.snapping.SnappingManager")],q);const b="visualization-handle";function x(){return _.satisfiesConstraintScreenThreshold*_.satisfiesConstraintScreenThreshold}function z(e,t){return!t||null==t.direction&&null==t.distance||!(e instanceof y||e instanceof w||e instanceof P||e instanceof E||e instanceof j)&&(!(e instanceof T)||null==t.direction&&1===e.selfSnappingType)}function U(e,t){return e instanceof C?I(t,e.first)>=0&&I(t,e.second)>=0?0:-1:I(t,e)}function I(e,t){let n=-1;for(let i=0;i<e.length;++i)if(t.constraint.equals(e[i].constraint)){n=i;break}return n}function O(e){return null!=e.scenePoint}function H({coordinateHelper:e,elevationInfo:t}){return e.hasZ()?h:t}export{q as SnappingManager};
5
+ import{__decorate as e}from"tslib";import{createTask as t}from"../../../core/asyncUtils.js";import{EventedAccessor as n}from"../../../core/Evented.js";import"../../../core/has.js";import{throwIfAborted as i,isAborted as s}from"../../../core/promiseUtils.js";import{watch as a,syncAndInitial as r,sync as o}from"../../../core/reactiveUtils.js";import{property as p}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/Logger.js";import"../../../core/RandomLCG.js";import{subclass as d}from"../../../core/accessorSupport/decorators/subclass.js";import{project as c,initializeProjection as l}from"../../../geometry/projectionUtils.js";import{absoluteHeightElevationInfo as h}from"../../../support/elevationInfoUtils.js";import{fromPoint as u,markAsTarget as f,toElevationAlignedDehydratedPoint as g}from"../sketch/normalizedPoint.js";import{defaults as _}from"./Settings.js";import S from"./SnappingOptions.js";import{sortCandidatesInPlace as m,squaredScreenDistance as v}from"./snappingUtils.js";import{DrapedEdgeSnappingCandidate as y}from"./candidates/DrapedEdgeSnappingCandidate.js";import{EdgeSnappingCandidate as w}from"./candidates/EdgeSnappingCandidate.js";import{IntersectionSnappingCandidate as C}from"./candidates/IntersectionSnappingCandidate.js";import{LineSnappingCandidate as P}from"./candidates/LineSnappingCandidate.js";import{ParallelLineSnappingCandidate as T}from"./candidates/ParallelLineSnappingCandidate.js";import{RightAngleSnappingCandidate as E}from"./candidates/RightAngleSnappingCandidate.js";import{RightAngleTriangleSnappingCandidate as j}from"./candidates/RightAngleTriangleSnappingCandidate.js";import{vectorToScreenPoint as R}from"../support/viewUtils.js";import{loadGeodesicLengthMeasurementUtils as M}from"../../support/geodesicLengthMeasurementUtils.js";let q=class extends n{constructor(e){super(e),this.options=new S,this._engineCache=new Map,this._loadTask=null,this._engines=[],this._currentMainCandidate=null,this._currentOtherActiveCandidates=[],this._currentSnappedType=0}initialize(){this.addHandles([a(()=>{const{distance:e,touchSensitivityMultiplier:t,effectiveSelfEnabled:n,effectiveFeatureEnabled:i,effectiveGridEnabled:s}=this.options;return{selfEnabled:n,featureEnabled:i,gridEnabled:"2d"===this.view.type&&s,viewReady:this.view.ready,viewSpatialReference:this.view.spatialReference,distance:e,touchSensitivityMultiplier:t}},(e,n)=>{n&&(this.doneSnapping(),this.emit("changed")),this._loadTask?.abort(),this._loadTask=t(t=>this._updateEngines(e,n,t))},r),a(()=>this.options,e=>{for(const t of this._engines)t.options=e},o)])}destroy(){this._loadTask?.abort(),this._destroyEngines()}get updating(){return this._engines.some(e=>e.updating)||!this._loadTask?.finished}_destroyEngines(){this._engineCache.forEach(e=>e.destroy()),this._engineCache.clear(),this._engines=[]}async _updateEngines(e,t,n){if(!e.viewReady)return void this._destroyEngines();t?.viewSpatialReference!==e.viewSpatialReference&&this._destroyEngines();const i=this._engineCache,s=await Promise.allSettled([e.featureEnabled&&!i.has("feature")?this._createFeatureSnappingEngine(n):void 0,e.selfEnabled&&!i.has("self")?this._createSelfSnappingEngine(n):void 0,e.gridEnabled&&!i.has("grid")?this._createGridSnappingEngine(n):void 0]);if(n.aborted)for(const a of s)"fulfilled"===a.status&&a.value?.engine.destroy();else{for(const e of s)"fulfilled"===e.status&&e.value&&i.set(e.value.type,e.value.engine);this._engines=Array.from(i.values())}}async _createSelfSnappingEngine(e){const[{SelfSnappingEngine:t},n]=await Promise.all([import("./SelfSnappingEngine.js"),M()]);return i(e),{type:"self",engine:new t({view:this.view,options:this.options,geodesicLengthMeasurementUtils:n})}}async _createGridSnappingEngine(e){const{view:t}=this;if("2d"!==t.type)return;const{GridSnappingEngine:n}=await import("./GridSnappingEngine.js");return i(e),{type:"grid",engine:new n({view:t,options:this.options})}}async _createFeatureSnappingEngine(e){const{FeatureSnappingEngine:t}=await import("./FeatureSnappingEngine.js");i(e);const{view:n,options:s}=this,{spatialReference:a}=n;return{type:"feature",engine:new t({view:n,options:s,spatialReference:a})}}get _squaredMouseProximityThreshold(){return this.options.distance*this.options.distance}get _squaredTouchProximityThreshold(){const{distance:e,touchSensitivityMultiplier:t}=this.options,n=e*t;return n*n}snap(e){return O(e)?this._snapMultiPoint(e):this._snapSinglePoint(e)}update(e){const{point:t,context:n}=e;this._removeVisualization();const i=this._currentMainCandidate;if(null==i)return t;const s=this._selectUpdateInput(e);if(null==s)return t;const{spatialReference:a}=n,r=c(s,a);if(null==r)return t;const{view:o}=this,{elevationInfo:p,visualizer:d}=n,l=[],h=u(r,o,p),_=i.constraint.closestTo(h);if(!this._arePointsWithinScreenThreshold(h,_,n)||!z(i,n.drawConstraints))return this._resetSnappingState(),t;i.targetPoint=f(_),l.push(...i.hints);for(const c of this._currentOtherActiveCandidates)z(c,n.drawConstraints)&&(c.targetPoint=f(_),l.push(...c.hints));return null!=d&&this.addHandles(d.draw(l,{spatialReference:a,elevationInfo:H(n),view:o,selfSnappingZ:n.selfSnappingZ}),b),g(_,o,t,n)}doneSnapping(){this._removeVisualization(),this._resetSnappingState()}_selectUpdateInput({point:e,scenePoint:t}){switch(this._currentSnappedType){case 0:return e;case 1:return t}}_resetSnappingState(){this._currentMainCandidate=null,this._currentOtherActiveCandidates=[],this._currentSnappedType=0}_removeVisualization(){this.removeHandles(b)}async _snapSinglePoint({point:e,context:t,signal:n}){const{view:i}=this,{elevationInfo:s}=t,a=u(e,i,s),r=await this._fetchCandidates(a,3,t,n);return this._createSnapResult(a,0,r,i,e,t,n)}async _snapMultiPoint({point:e,scenePoint:t,context:n,signal:i}){const{view:s}=this,{coordinateHelper:a,elevationInfo:r,spatialReference:o}=n;await l(t.spatialReference,o);const p=c(t,o),d=u(p,s,r),h=await this._fetchCandidates(d,1,n,i);if(h.length>0){const e=await this._fetchCandidates(d,2,n,i);return this._createSnapResult(d,1,[...h,...e],s,p,n,i)}const f=u(e,s,r),g=await this._fetchCandidates(f,2,n,i);return this._createSnapResult(f,0,g,s,{z:a.hasZ()&&e.hasZ?e.z??0:void 0,m:a.hasM()&&e.hasM?e.m??0:void 0},n,i)}async _fetchCandidates(e,t,n,i){return(await Promise.all(this._engines.map(s=>s.fetchCandidates(e,t,n,i)))).flat()}_createSnapResult(e,t,n,i,a,r,o){return{get valid(){return!s(o)},apply:()=>{const{spatialReference:s}=r,{snappedPoint:o,hints:p}=this._processCandidates(e,t,n,r);return this._removeVisualization(),null!=r.visualizer&&this.addHandles(r.visualizer.draw(p,{spatialReference:s,elevationInfo:h,view:i,selfSnappingZ:r.selfSnappingZ}),b),g(o,i,a,r)}}}_processCandidates(e,t,n,i){if(n.length<1)return this.doneSnapping(),{snappedPoint:e,hints:[]};this._currentSnappedType!==t&&this._resetSnappingState(),m(e,n);const s=this._currentMainCandidate;if(null!=s){const a=U(s,n);if(a>=0){if(!(n[a]instanceof C))return this._intersectWithOtherCandidates(a,n,e,t,i);if(this._arePointsWithinScreenThreshold(e,s.targetPoint,i))return this._updateSnappingCandidate(s,t,n,i)}}return this._intersectWithOtherCandidates(0,n,e,t,i)}_intersectWithOtherCandidates(e,t,n,i,s){const{coordinateHelper:a}=s,r=t[e],o=[];for(let p=0;p<t.length;++p){if(p===e)continue;const i=t[p],s=r.constraint.intersect(i.constraint);if(s)for(const e of s.closestPoints(r.targetPoint))o.push([new C(f(e),r,i,i.isDraped),this._squaredScreenDistance(n,e,a)])}return o.length>0&&(o.sort((e,t)=>e[1]-t[1]),o[0][1]<this._squaredPointProximityThreshold(s.pointer))?this._updateSnappingCandidate(o[0][0],i,t,s):z(r,s.drawConstraints)?this._updateSnappingCandidate(r,i,t,s):{snappedPoint:n,hints:[]}}_updateSnappingCandidate(e,t,n,i){this.doneSnapping(),this._currentMainCandidate=e,this._currentSnappedType=t;const s=this._currentMainCandidate.targetPoint,a=[];a.push(...e.hints);for(const r of n){if(e instanceof C){if(r.constraint.equals(e.first.constraint)||r.constraint.equals(e.second.constraint))continue}else if(r.constraint.equals(e.constraint))continue;const t=r.constraint.closestTo(s);this._squaredScreenDistance(t,s,i.coordinateHelper)<x()&&(r.targetPoint=s,this._currentOtherActiveCandidates.push(r),a.push(...r.hints))}return{snappedPoint:s,hints:a}}_squaredPointProximityThreshold(e){return"touch"===e?this._squaredTouchProximityThreshold:this._squaredMouseProximityThreshold}_arePointsWithinScreenThreshold(e,t,n){return this._squaredScreenDistance(e,t,n.coordinateHelper)<this._squaredPointProximityThreshold(n.pointer)}_squaredScreenDistance(e,t,n){return v(this._toScreen(e,n),this._toScreen(t,n))}_toScreen(e,t){return R(e,t.spatialReference,h,this.view)}get test(){}};e([p({constructOnly:!0})],q.prototype,"view",void 0),e([p()],q.prototype,"options",void 0),e([p({readOnly:!0})],q.prototype,"updating",null),e([p()],q.prototype,"_loadTask",void 0),e([p()],q.prototype,"_engines",void 0),e([p()],q.prototype,"_squaredMouseProximityThreshold",null),e([p()],q.prototype,"_squaredTouchProximityThreshold",null),q=e([d("esri.views.interactive.snapping.SnappingManager")],q);const b="visualization-handle";function x(){return _.satisfiesConstraintScreenThreshold*_.satisfiesConstraintScreenThreshold}function z(e,t){return!t||null==t.direction&&null==t.distance||!(e instanceof y||e instanceof w||e instanceof P||e instanceof T||e instanceof j)&&(!(e instanceof E)||null==t.direction&&1===e.selfSnappingType)}function U(e,t){return e instanceof C?I(t,e.first)>=0&&I(t,e.second)>=0?0:-1:I(t,e)}function I(e,t){let n=-1;for(let i=0;i<e.length;++i)if(t.constraint.equals(e[i].constraint)){n=i;break}return n}function O(e){return null!=e.scenePoint}function H({coordinateHelper:e,elevationInfo:t}){return e.hasZ()?h:t}export{q as SnappingManager};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as e}from"tslib";import t from"../../../../../core/Evented.js";import{createResolver as i,throwIfAborted as r}from"../../../../../core/promiseUtils.js";import{watch as s,sync as a,whenOnce as n}from"../../../../../core/reactiveUtils.js";import{property as o}from"../../../../../core/accessorSupport/decorators/property.js";import"../../../../../core/has.js";import"../../../../../core/Logger.js";import"../../../../../core/RandomLCG.js";import{subclass as l}from"../../../../../core/accessorSupport/decorators/subclass.js";import{UpdatingHandles as u}from"../../../../../core/support/UpdatingHandles.js";import d from"../../../../../geometry/SpatialReference.js";import{fromJSON as c}from"../../../../../geometry/support/jsonUtils.js";import{executeQueryForSnapping as h}from"../../../../../layers/graphics/data/executeQueryForSnapping.js";import p from"../../../../../layers/graphics/data/FeatureStore.js";import{QueryEngine as f}from"../../../../../layers/graphics/data/QueryEngine.js";import m from"../../../../../layers/support/TileInfo.js";import g from"../../../../../rest/support/Query.js";import y from"../../../../../symbols/support/ElevationInfo.js";import{getSnappingCandidateElevationAligner as _}from"../snappingCandidateElevationAlignment.js";import{getSnappingCandidateElevationFilter as S}from"../snappingCandidateElevationFilter.js";import{getSymbologySnappingCandidatesFetcher as F}from"../symbologySnappingCandidates.js";import{FeatureServiceTiledFetcher as v}from"./FeatureServiceTiledFetcher.js";import{FeatureServiceTileStore as I}from"./FeatureServiceTileStore.js";let w=class extends t.EventedAccessor{constructor(){super(...arguments),this._isInitializing=!0,this.remoteClient=null,this._whenSetup=i(),this._elevationAligner=_(),this._elevationFilter=S(),this._symbologyCandidatesFetcher=F(),this._updatingHandles=new u,this._alignPointsInFeatures=async(e,t)=>{const i={query:e},s=await this.remoteClient.invoke("alignElevation",i,{signal:t});return r(t),s},this._getSymbologyCandidates=async(e,t)=>{const i={candidates:e,spatialReference:this._spatialReference.toJSON()},s=await this.remoteClient.invoke("getSymbologyCandidates",i,{signal:t});return r(t),s}}get updating(){return this._isInitializing||this._updatingHandles.updating||this._featureFetcher.updating}destroy(){this._featureFetcher?.destroy(),this._queryEngine?.destroy(),this._featureStore?.clear()}async setup(e){if(this.destroyed)return{result:{}};const{geometryType:t,objectIdField:i,timeInfo:r,fieldsIndex:n}=e.serviceInfo,{hasZ:o}=e,l=d.fromJSON(e.spatialReference);this._spatialReference=l,this._featureStore=new p({...e.serviceInfo,hasZ:o,hasM:!1}),this._featureStore.estimateFeatureUsedMemory=e=>e.usedMemory,this._queryEngine=new f({spatialReference:e.spatialReference,featureStore:this._featureStore,geometryType:t,fieldsIndex:n,hasZ:o,hasM:!1,featureIdInfo:{type:"object-id",fieldName:i},timeInfo:r}),this._featureFetcher=new v({store:new I({featureStore:this._featureStore}),url:e.serviceInfo.url,objectIdField:e.serviceInfo.objectIdField,globalIdField:e.serviceInfo.globalIdField,capabilities:e.serviceInfo.capabilities,spatialReference:l,sourceSpatialReference:d.fromJSON(e.serviceInfo.spatialReference),customParameters:e.configuration.customParameters});const u="3d"===e.configuration.viewType;return this._elevationAligner=_(u,{elevationInfo:null!=e.elevationInfo?y.fromJSON(e.elevationInfo):null,alignPointsInFeatures:this._alignPointsInFeatures}),this._elevationFilter=S(u),this.addHandles([s(()=>this._featureFetcher.availability,e=>this.emit("notify-availability",{availability:e}),a),s(()=>this.updating,()=>this._notifyUpdating())]),this._whenSetup.resolve(),this._isInitializing=!1,this.configure(e.configuration)}async configure(e){return await this._updatingHandles.addPromise(this._whenSetup.promise),this._updateFeatureFetcherConfiguration(e),C}async setSuspended(e,t){return await this._updatingHandles.addPromise(this._whenSetup.promise),r(t),this._featureFetcher.suspended=e,C}async updateOutFields(e,t){return await this._updatingHandles.addPromise(this._whenSetup.promise),r(t),this._featureFetcher.outFields=new Set(e??[]),C}async fetchCandidates(e,t){await this._whenSetup.promise,r(t);const i=j(e,this._featureStore.hasZ),s=t?.signal,a=await h(this._queryEngine,i,s);r(s);const n=await this._elevationAligner.alignCandidates(a.candidates,d.fromJSON(e.point.spatialReference)??d.WGS84,s);r(s);const o=await this._symbologyCandidatesFetcher.fetch(n,s);r(s);const l=0===o.length?n:n.concat(o);return{result:{candidates:this._elevationFilter.filter(i,l)}}}async updateTiles(e,t){return await this._updatingHandles.addPromise(this._whenSetup.promise),r(t),this._featureFetcher.tileSize=e.tileSize,this._featureFetcher.tilesOfInterest=e.tiles,this._featureFetcher.tileInfo=null!=e.tileInfo?m.fromJSON(e.tileInfo):null,C}async refresh(e,t){return await this._updatingHandles.addPromise(this._whenSetup.promise),r(t),this._featureFetcher.refresh(),C}async whenNotUpdating(e,t){return await this._updatingHandles.addPromise(this._whenSetup.promise),r(t),await n(()=>!this.updating,t),r(t),C}async getDebugInfo(e,t){return r(t),{result:this._featureFetcher.debugInfo}}async handleEdits(e,t){return await this._updatingHandles.addPromise(this._whenSetup.promise),r(t),await this._updatingHandles.addPromise(this._featureFetcher.handleEdits(e)),r(t),C}async setHistoricMoment(e,t){return this._featureFetcher.setHistoricMoment(e.moment),C}async notifyElevationSourceChange(e,t){return this._elevationAligner.notifyElevationSourceChange(),C}async notifySymbologyChange(e,t){return this._symbologyCandidatesFetcher.notifySymbologyChange(),C}async setSymbologySnappingSupported(e){return this._symbologyCandidatesFetcher=F(e,this._getSymbologyCandidates),C}_updateFeatureFetcherConfiguration(e){this._featureFetcher.filter=null!=e.filter?g.fromJSON(e.filter):null,this._featureFetcher.customParameters=e.customParameters}_notifyUpdating(){this.emit("notify-updating",{updating:this.updating})}};e([o({readOnly:!0})],w.prototype,"updating",null),e([o()],w.prototype,"_isInitializing",void 0),w=e([l("esri.views.interactive.snapping.featureSources.featureServiceSource.FeatureServiceSnappingSourceWorker")],w);const b=w;function j(e,t){const i=!!t||void 0;if(!e.filter)return{...e,query:{where:"1=1",returnZ:i}};const{distance:r,units:s,spatialRel:a,where:n,timeExtent:o,objectIds:l}=e.filter,u={geometry:e.filter.geometry?c(e.filter.geometry):void 0,distance:r,units:s,spatialRel:a,timeExtent:o,objectIds:l,returnZ:i,where:n??"1=1"};return{...e,query:u}}const C={result:{}};export{b as default};
5
+ import{__decorate as e}from"tslib";import{EventedAccessor as t}from"../../../../../core/Evented.js";import{createResolver as i,throwIfAborted as r}from"../../../../../core/promiseUtils.js";import{watch as s,sync as a,whenOnce as n}from"../../../../../core/reactiveUtils.js";import{property as o}from"../../../../../core/accessorSupport/decorators/property.js";import"../../../../../core/has.js";import"../../../../../core/Logger.js";import"../../../../../core/RandomLCG.js";import{subclass as l}from"../../../../../core/accessorSupport/decorators/subclass.js";import{UpdatingHandles as u}from"../../../../../core/support/UpdatingHandles.js";import d from"../../../../../geometry/SpatialReference.js";import{fromJSON as h}from"../../../../../geometry/support/jsonUtils.js";import{executeQueryForSnapping as c}from"../../../../../layers/graphics/data/executeQueryForSnapping.js";import p from"../../../../../layers/graphics/data/FeatureStore.js";import{QueryEngine as f}from"../../../../../layers/graphics/data/QueryEngine.js";import m from"../../../../../layers/support/TileInfo.js";import g from"../../../../../rest/support/Query.js";import y from"../../../../../symbols/support/ElevationInfo.js";import{getSnappingCandidateElevationAligner as _}from"../snappingCandidateElevationAlignment.js";import{getSnappingCandidateElevationFilter as S}from"../snappingCandidateElevationFilter.js";import{getSymbologySnappingCandidatesFetcher as F}from"../symbologySnappingCandidates.js";import{FeatureServiceTiledFetcher as v}from"./FeatureServiceTiledFetcher.js";import{FeatureServiceTileStore as I}from"./FeatureServiceTileStore.js";let w=class extends t{constructor(){super(...arguments),this._isInitializing=!0,this.remoteClient=null,this._whenSetup=i(),this._elevationAligner=_(),this._elevationFilter=S(),this._symbologyCandidatesFetcher=F(),this._updatingHandles=new u,this._alignPointsInFeatures=async(e,t)=>{const i={query:e},s=await this.remoteClient.invoke("alignElevation",i,{signal:t});return r(t),s},this._getSymbologyCandidates=async(e,t)=>{const i={candidates:e,spatialReference:this._spatialReference.toJSON()},s=await this.remoteClient.invoke("getSymbologyCandidates",i,{signal:t});return r(t),s}}get updating(){return this._isInitializing||this._updatingHandles.updating||this._featureFetcher.updating}destroy(){this._featureFetcher?.destroy(),this._queryEngine?.destroy(),this._featureStore?.clear()}async setup(e){if(this.destroyed)return{result:{}};const{geometryType:t,objectIdField:i,timeInfo:r,fieldsIndex:n}=e.serviceInfo,{hasZ:o}=e,l=d.fromJSON(e.spatialReference);this._spatialReference=l,this._featureStore=new p({...e.serviceInfo,hasZ:o,hasM:!1}),this._featureStore.estimateFeatureUsedMemory=e=>e.usedMemory,this._queryEngine=new f({spatialReference:e.spatialReference,featureStore:this._featureStore,geometryType:t,fieldsIndex:n,hasZ:o,hasM:!1,featureIdInfo:{type:"object-id",fieldName:i},timeInfo:r}),this._featureFetcher=new v({store:new I({featureStore:this._featureStore}),url:e.serviceInfo.url,objectIdField:e.serviceInfo.objectIdField,globalIdField:e.serviceInfo.globalIdField,capabilities:e.serviceInfo.capabilities,spatialReference:l,sourceSpatialReference:d.fromJSON(e.serviceInfo.spatialReference),customParameters:e.configuration.customParameters});const u="3d"===e.configuration.viewType;return this._elevationAligner=_(u,{elevationInfo:null!=e.elevationInfo?y.fromJSON(e.elevationInfo):null,alignPointsInFeatures:this._alignPointsInFeatures}),this._elevationFilter=S(u),this.addHandles([s(()=>this._featureFetcher.availability,e=>this.emit("notify-availability",{availability:e}),a),s(()=>this.updating,()=>this._notifyUpdating())]),this._whenSetup.resolve(),this._isInitializing=!1,this.configure(e.configuration)}async configure(e){return await this._updatingHandles.addPromise(this._whenSetup.promise),this._updateFeatureFetcherConfiguration(e),C}async setSuspended(e,t){return await this._updatingHandles.addPromise(this._whenSetup.promise),r(t),this._featureFetcher.suspended=e,C}async updateOutFields(e,t){return await this._updatingHandles.addPromise(this._whenSetup.promise),r(t),this._featureFetcher.outFields=new Set(e??[]),C}async fetchCandidates(e,t){await this._whenSetup.promise,r(t);const i=j(e,this._featureStore.hasZ),s=t?.signal,a=await c(this._queryEngine,i,s);r(s);const n=await this._elevationAligner.alignCandidates(a.candidates,d.fromJSON(e.point.spatialReference)??d.WGS84,s);r(s);const o=await this._symbologyCandidatesFetcher.fetch(n,s);r(s);const l=0===o.length?n:n.concat(o);return{result:{candidates:this._elevationFilter.filter(i,l)}}}async updateTiles(e,t){return await this._updatingHandles.addPromise(this._whenSetup.promise),r(t),this._featureFetcher.tileSize=e.tileSize,this._featureFetcher.tilesOfInterest=e.tiles,this._featureFetcher.tileInfo=null!=e.tileInfo?m.fromJSON(e.tileInfo):null,C}async refresh(e,t){return await this._updatingHandles.addPromise(this._whenSetup.promise),r(t),this._featureFetcher.refresh(),C}async whenNotUpdating(e,t){return await this._updatingHandles.addPromise(this._whenSetup.promise),r(t),await n(()=>!this.updating,t),r(t),C}async getDebugInfo(e,t){return r(t),{result:this._featureFetcher.debugInfo}}async handleEdits(e,t){return await this._updatingHandles.addPromise(this._whenSetup.promise),r(t),await this._updatingHandles.addPromise(this._featureFetcher.handleEdits(e)),r(t),C}async setHistoricMoment(e,t){return this._featureFetcher.setHistoricMoment(e.moment),C}async notifyElevationSourceChange(e,t){return this._elevationAligner.notifyElevationSourceChange(),C}async notifySymbologyChange(e,t){return this._symbologyCandidatesFetcher.notifySymbologyChange(),C}async setSymbologySnappingSupported(e){return this._symbologyCandidatesFetcher=F(e,this._getSymbologyCandidates),C}_updateFeatureFetcherConfiguration(e){this._featureFetcher.filter=null!=e.filter?g.fromJSON(e.filter):null,this._featureFetcher.customParameters=e.customParameters}_notifyUpdating(){this.emit("notify-updating",{updating:this.updating})}};e([o({readOnly:!0})],w.prototype,"updating",null),e([o()],w.prototype,"_isInitializing",void 0),w=e([l("esri.views.interactive.snapping.featureSources.featureServiceSource.FeatureServiceSnappingSourceWorker")],w);const b=w;function j(e,t){const i=!!t||void 0;if(!e.filter)return{...e,query:{where:"1=1",returnZ:i}};const{distance:r,units:s,spatialRel:a,where:n,timeExtent:o,objectIds:l}=e.filter,u={geometry:e.filter.geometry?h(e.filter.geometry):void 0,distance:r,units:s,spatialRel:a,timeExtent:o,objectIds:l,returnZ:i,where:n??"1=1"};return{...e,query:u}}const C={result:{}};export{b as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as e}from"tslib";import t from"../../core/Accessor.js";import r from"../../core/Evented.js";import i from"../../core/Identifiable.js";import s from"../../core/Logger.js";import{destroyMaybe as n}from"../../core/maybe.js";import l from"../../core/Promise.js";import{property as o}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/RandomLCG.js";import{subclass as a}from"../../core/accessorSupport/decorators/subclass.js";import{UpdatingHandles as p}from"../../core/support/UpdatingHandles.js";import{validateScaleRange as d}from"../support/layerViewUtils.js";let u=class extends(i.IdentifiableMixin(l.EsriPromiseMixin(r.EventedMixin(t)))){get spatialReferenceSupported(){return!0}constructor(e){super(e),this._updatingHandles=new p,this.layer=null,this.parent=null}initialize(){this.when().catch(e=>{if("layerview:create-error"!==e.name){const t=this.layer&&this.layer.id||"no id",r=this.layer?.title||"no title";s.getLogger(this).error("#resolve()",`Failed to resolve layer view (layer title: '${r}', id: '${t}')`,e)}})}destroy(){this._updatingHandles=n(this._updatingHandles),this._set("parent",null)}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&&!0===this.layer?.legendEnabled}get updating(){return!(!this._updatingHandles?.updating&&!this.isUpdating())}get updatingProgress(){return this.updating?0:1}get updateSuspended(){return this.suspended}get visible(){return!0===this.layer?.visible}set visible(e){this._overrideIfSome("visible",e)}get visibleAtCurrentScale(){return!0}get visibleAtCurrentTimeExtent(){const e=this.view.timeExtent,t=this.layer?.visibilityTimeExtent;return!e||!t||!e.intersection(t).isEmpty}canResume(){const 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&&d(e)&&this.visibleAtCurrentScale&&this.visibleAtCurrentTimeExtent||!1}getSuspendInfo(){const e=this.parent?.suspended?this.parent.suspendInfo:{},t=this;t.view?.ready||(e.viewNotReady=!0),this.layer&&this.layer.loaded||(e.layerNotLoaded=!0);const r=this.layer&&"effectiveScaleRange"in this.layer?this.layer.effectiveScaleRange:null;return d(r)&&this.visibleAtCurrentScale||(e.outsideScaleRange=!0),this.visibleAtCurrentTimeExtent||(e.outsideVisibilityTimeExtent=!0),this.visible||(e.layerInvisible=!0),e}isUpdating(){return!1}};e([o({readOnly:!0})],u.prototype,"spatialReferenceSupported",null),e([o()],u.prototype,"view",void 0),e([o()],u.prototype,"fullOpacity",null),e([o()],u.prototype,"layer",void 0),e([o()],u.prototype,"parent",void 0),e([o({readOnly:!0})],u.prototype,"suspended",null),e([o({readOnly:!0})],u.prototype,"suspendInfo",null),e([o({readOnly:!0})],u.prototype,"legendEnabled",null),e([o({type:Boolean,readOnly:!0})],u.prototype,"updating",null),e([o({readOnly:!0})],u.prototype,"updatingProgress",null),e([o()],u.prototype,"updateSuspended",null),e([o()],u.prototype,"visible",null),e([o({readOnly:!0})],u.prototype,"visibleAtCurrentScale",null),e([o({readOnly:!0})],u.prototype,"visibleAtCurrentTimeExtent",null),u=e([a("esri.views.layers.LayerView")],u);export{u as default};
5
+ import{__decorate as e}from"tslib";import t from"../../core/Accessor.js";import{EventedMixin as r}from"../../core/Evented.js";import{IdentifiableMixin as i}from"../../core/Identifiable.js";import s from"../../core/Logger.js";import{destroyMaybe as n}from"../../core/maybe.js";import l from"../../core/Promise.js";import{property as o}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/RandomLCG.js";import{subclass as a}from"../../core/accessorSupport/decorators/subclass.js";import{UpdatingHandles as p}from"../../core/support/UpdatingHandles.js";import{validateScaleRange as d}from"../support/layerViewUtils.js";let u=class extends(i(l.EsriPromiseMixin(r(t)))){get spatialReferenceSupported(){return!0}constructor(e){super(e),this._updatingHandles=new p,this.layer=null,this.parent=null}initialize(){this.when().catch(e=>{if("layerview:create-error"!==e.name){const t=this.layer&&this.layer.id||"no id",r=this.layer?.title||"no title";s.getLogger(this).error("#resolve()",`Failed to resolve layer view (layer title: '${r}', id: '${t}')`,e)}})}destroy(){this._updatingHandles=n(this._updatingHandles),this._set("parent",null)}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&&!0===this.layer?.legendEnabled}get updating(){return!(!this._updatingHandles?.updating&&!this.isUpdating())}get updatingProgress(){return this.updating?0:1}get updateSuspended(){return this.suspended}get visible(){return!0===this.layer?.visible}set visible(e){this._overrideIfSome("visible",e)}get visibleAtCurrentScale(){return!0}get visibleAtCurrentTimeExtent(){const e=this.view.timeExtent,t=this.layer?.visibilityTimeExtent;return!e||!t||!e.intersection(t).isEmpty}canResume(){const 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&&d(e)&&this.visibleAtCurrentScale&&this.visibleAtCurrentTimeExtent||!1}getSuspendInfo(){const e=this.parent?.suspended?this.parent.suspendInfo:{},t=this;t.view?.ready||(e.viewNotReady=!0),this.layer&&this.layer.loaded||(e.layerNotLoaded=!0);const r=this.layer&&"effectiveScaleRange"in this.layer?this.layer.effectiveScaleRange:null;return d(r)&&this.visibleAtCurrentScale||(e.outsideScaleRange=!0),this.visibleAtCurrentTimeExtent||(e.outsideVisibilityTimeExtent=!0),this.visible||(e.layerInvisible=!0),e}isUpdating(){return!1}};e([o({readOnly:!0})],u.prototype,"spatialReferenceSupported",null),e([o()],u.prototype,"view",void 0),e([o()],u.prototype,"fullOpacity",null),e([o()],u.prototype,"layer",void 0),e([o()],u.prototype,"parent",void 0),e([o({readOnly:!0})],u.prototype,"suspended",null),e([o({readOnly:!0})],u.prototype,"suspendInfo",null),e([o({readOnly:!0})],u.prototype,"legendEnabled",null),e([o({type:Boolean,readOnly:!0})],u.prototype,"updating",null),e([o({readOnly:!0})],u.prototype,"updatingProgress",null),e([o()],u.prototype,"updateSuspended",null),e([o()],u.prototype,"visible",null),e([o({readOnly:!0})],u.prototype,"visibleAtCurrentScale",null),e([o({readOnly:!0})],u.prototype,"visibleAtCurrentTimeExtent",null),u=e([a("esri.views.layers.LayerView")],u);export{u as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as e}from"tslib";import t from"../../core/Evented.js";import r from"../../core/Logger.js";import{property as o}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/RandomLCG.js";import{subclass as n}from"../../core/accessorSupport/decorators/subclass.js";import i from"../../geometry/SpatialReference.js";import{toExtent as s}from"../../geometry/support/aaBoundingRect.js";import{extentContainsXYZ as a}from"../../geometry/support/contains.js";import{updateGeometryElevation as l}from"../../layers/support/ElevationSampler.js";import{elevationNoDataValue as p}from"../3d/terrain/TerrainConst.js";let m=class extends t.EventedAccessor{constructor(e){super(e),this.noDataValue=p}initialize(){this.view.basemapTerrain.on("elevation-change",()=>this.emit("changed",{}))}get demResolution(){return this.view.basemapTerrain.demResolution}get extent(){const e=this.view.basemapTerrain;if(null==e?.extent||null==e.spatialReference)return null;const t=s(e.extent,e.spatialReference);return t.zmin=e.visibleElevationBounds.min,t.zmax=e.visibleElevationBounds.max,t}get spatialReference(){return this.view.basemapTerrain?.spatialReference??i.WGS84}elevationAt(e,t){if(null==this.extent||!a(this.extent,e,t)){const o=null!=this.extent?`${this.extent.xmin}, ${this.extent.ymin}, ${this.extent.xmax}, ${this.extent.ymax}`:null;return r.getLogger(this).warn("#elevationAt()",`Point used to sample elevation (${e}, ${t}) is outside of the sampler extent (${o})`),this.noDataValue}return this.view.elevationProvider?.getElevation(e,t,0,this.spatialReference,"ground")??this.noDataValue}queryElevation(e){return l(e.clone(),this)}};e([o({readOnly:!0})],m.prototype,"demResolution",null),e([o({readOnly:!0})],m.prototype,"extent",null),e([o({readOnly:!0})],m.prototype,"noDataValue",void 0),e([o()],m.prototype,"spatialReference",null),e([o({constructOnly:!0})],m.prototype,"view",void 0),m=e([n("esri.views.support.GroundViewElevationSampler")],m);const u=m;export{u as default};
5
+ import{__decorate as e}from"tslib";import{EventedAccessor as t}from"../../core/Evented.js";import r from"../../core/Logger.js";import{property as o}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/RandomLCG.js";import{subclass as n}from"../../core/accessorSupport/decorators/subclass.js";import i from"../../geometry/SpatialReference.js";import{toExtent as s}from"../../geometry/support/aaBoundingRect.js";import{extentContainsXYZ as a}from"../../geometry/support/contains.js";import{updateGeometryElevation as l}from"../../layers/support/ElevationSampler.js";import{elevationNoDataValue as p}from"../3d/terrain/TerrainConst.js";let m=class extends t{constructor(e){super(e),this.noDataValue=p}initialize(){this.view.basemapTerrain.on("elevation-change",()=>this.emit("changed",{}))}get demResolution(){return this.view.basemapTerrain.demResolution}get extent(){const e=this.view.basemapTerrain;if(null==e?.extent||null==e.spatialReference)return null;const t=s(e.extent,e.spatialReference);return t.zmin=e.visibleElevationBounds.min,t.zmax=e.visibleElevationBounds.max,t}get spatialReference(){return this.view.basemapTerrain?.spatialReference??i.WGS84}elevationAt(e,t){if(null==this.extent||!a(this.extent,e,t)){const o=null!=this.extent?`${this.extent.xmin}, ${this.extent.ymin}, ${this.extent.xmax}, ${this.extent.ymax}`:null;return r.getLogger(this).warn("#elevationAt()",`Point used to sample elevation (${e}, ${t}) is outside of the sampler extent (${o})`),this.noDataValue}return this.view.elevationProvider?.getElevation(e,t,0,this.spatialReference,"ground")??this.noDataValue}queryElevation(e){return l(e.clone(),this)}};e([o({readOnly:!0})],m.prototype,"demResolution",null),e([o({readOnly:!0})],m.prototype,"extent",null),e([o({readOnly:!0})],m.prototype,"noDataValue",void 0),e([o()],m.prototype,"spatialReference",null),e([o({constructOnly:!0})],m.prototype,"view",void 0),m=e([n("esri.views.support.GroundViewElevationSampler")],m);const u=m;export{u as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import"../../core/has.js";import{removeMaybe as e}from"../../core/maybe.js";import{onAbort as s,onAbortOrThrow as t,createResolver as r,createAbortError as i,isPromiseLike as o}from"../../core/promiseUtils.js";import h from"../../core/Queue.js";import c from"../../core/ReactiveMap.js";import{schedule as n}from"../../core/scheduling.js";import{signal as l}from"../../core/signal.js";class u{constructor(e,s){this.item=e,this.controller=s,this.promise=null}}class _{constructor(e){this._schedule=null,this._task=null,this._deferreds=new c,this._controllers=new c,this._processingItems=new c,this._pausedSignal=l(!1),this.concurrency=1,e.concurrency&&(this.concurrency=e.concurrency),this._queue=new h(e.peeker),this.process=e.process;const s=e.scheduler;e.priority&&s&&(this._task=s.registerTask(e.priority,this))}destroy(){this.clear(),this._schedule=e(this._schedule),this._task=e(this._task)}get updating(){return!!this._task?.updating||this.running}get length(){return this._processingItems.size+this._queue.length}abort(e){const s=this._controllers.get(e);s&&s.abort()}clear(){this._queue.clear();const e=[];this._controllers.forEach(s=>e.push(s)),this._controllers.clear(),e.forEach(e=>e.abort()),this._processingItems.clear(),this._cancelNext()}forEach(e){this._deferreds.forEach((s,t)=>e(t))}get(e){const s=this._deferreds.get(e);return s?s.promise:void 0}isOngoing(e){return this._processingItems.has(e)}has(e){return this._deferreds.has(e)}pause(){this._pausedSignal.value||(this._pausedSignal.value=!0,this._cancelNext())}push(e,o){const h=this.get(e);if(h)return h;const c=new AbortController;let n=null;o&&(n=s(o,()=>c.abort()));const l=()=>{const s=this._processingItems.get(e);s&&s.controller.abort(),u(),a.reject(i())},u=()=>{_.remove(),null!=n&&n.remove(),this._removeItem(e),this._queue.remove(e),this._scheduleNext()},_=t(c.signal,l),a=r();return this._deferreds.set(e,a),this._controllers.set(e,c),a.promise.then(u,u),this._queue.push(e),this._scheduleNext(),a.promise}last(){return this._queue.last()}lastPromise(){const e=this.last();return e?this.get(e):null}peek(){return this._queue.peek()}popLast(){const e=this._queue.popLast();return e&&(this._deferreds.get(e)?.reject(i()),this._removeItem(e)),e}reset(){const e=Array.from(this._processingItems.values());this._processingItems.clear();for(const s of e)this._queue.push(s.item),s.controller.abort();this._scheduleNext()}resume(){this._pausedSignal.value&&(this._pausedSignal.value=!1,this._scheduleNext())}takeAll(){const e=[];for(;this._queue.length;)e.push(this._queue.pop());return this.clear(),e}get running(){return!this._pausedSignal.value&&this._queue.length>0&&this._processingItems.size<this.concurrency}runTask(e){for(;!e.done&&this._queue.length>0&&this._processingItems.size<this.concurrency;)this._process(this._queue.pop()),e.madeProgress()}_removeItem(e){this._deferreds.delete(e),this._controllers.delete(e),this._processingItems.delete(e)}_scheduleNext(){this._task||this._pausedSignal.value||this._schedule||(this._schedule=n(()=>{this._schedule=null,this._next()}))}_next(){for(;this._queue.length>0&&this._processingItems.size<this.concurrency;)this._process(this._queue.pop())}_cancelNext(){this._schedule&&(this._schedule.remove(),this._schedule=null)}_processResult(e,s){this._canProcessFulfillment(e)&&(this._scheduleNext(),this._deferreds.get(e.item).resolve(s))}_processError(e,s){this._canProcessFulfillment(e)&&(this._scheduleNext(),this._deferreds.get(e.item).reject(s))}_canProcessFulfillment(e){return!!this._deferreds.get(e.item)&&this._processingItems.get(e.item)===e}_process(e){if(null==e)return;let s;const t=new AbortController,r=new u(e,t);this._processingItems.set(e,r);try{s=this.process(e,t.signal)}catch(i){this._processError(r,i)}o(s)?(r.promise=s,s.then(e=>this._processResult(r,e),e=>this._processError(r,e))):this._processResult(r,s)}get test(){}}export{_ as ScheduledQueueProcessor};
5
+ import"../../core/has.js";import{removeMaybe as e}from"../../core/maybe.js";import{onAbort as s,onAbortOrThrow as t,createResolver as r,createAbortError as i,isPromiseLike as o}from"../../core/promiseUtils.js";import h from"../../core/Queue.js";import c from"../../core/ReactiveMap.js";import{schedule as n}from"../../core/scheduling.js";import{signal as l}from"../../core/signal.js";class u{constructor(e,s){this.item=e,this.controller=s,this.promise=null}}class _{constructor(e){this._schedule=null,this._task=null,this._deferreds=new c,this._controllers=new c,this._processingItems=new c,this._pausedSignal=l(!1),this.concurrency=1,e.concurrency&&(this.concurrency=e.concurrency),this._queue=new h(e.peeker),this.process=e.process;const s=e.scheduler;e.priority&&s&&(this._task=s.registerTask(e.priority,this))}destroy(){this.clear(),this._schedule=e(this._schedule),this._task=e(this._task)}get updating(){return!!this._task?.updating||this.readyToRun}get length(){return this._processingItems.size+this._queue.length}abort(e){const s=this._controllers.get(e);s&&s.abort()}clear(){this._queue.clear();const e=[];this._controllers.forEach(s=>e.push(s)),this._controllers.clear(),e.forEach(e=>e.abort()),this._processingItems.clear(),this._cancelNext()}forEach(e){this._deferreds.forEach((s,t)=>e(t))}get(e){const s=this._deferreds.get(e);return s?s.promise:void 0}isOngoing(e){return this._processingItems.has(e)}has(e){return this._deferreds.has(e)}pause(){this._pausedSignal.value||(this._pausedSignal.value=!0,this._cancelNext())}push(e,o){const h=this.get(e);if(h)return h;const c=new AbortController;let n=null;o&&(n=s(o,()=>c.abort()));const l=()=>{const s=this._processingItems.get(e);s&&s.controller.abort(),u(),a.reject(i())},u=()=>{_.remove(),null!=n&&n.remove(),this._removeItem(e),this._queue.remove(e),this._scheduleNext()},_=t(c.signal,l),a=r();return this._deferreds.set(e,a),this._controllers.set(e,c),a.promise.then(u,u),this._queue.push(e),this._scheduleNext(),a.promise}last(){return this._queue.last()}lastPromise(){const e=this.last();return e?this.get(e):null}peek(){return this._queue.peek()}popLast(){const e=this._queue.popLast();return e&&(this._deferreds.get(e)?.reject(i()),this._removeItem(e)),e}reset(){const e=Array.from(this._processingItems.values());this._processingItems.clear();for(const s of e)this._queue.push(s.item),s.controller.abort();this._scheduleNext()}resume(){this._pausedSignal.value&&(this._pausedSignal.value=!1,this._scheduleNext())}takeAll(){const e=[];for(;this._queue.length;)e.push(this._queue.pop());return this.clear(),e}get readyToRun(){return!this._pausedSignal.value&&this._queue.length>0&&this._processingItems.size<this.concurrency}runTask(e){for(;!e.done&&this._queue.length>0&&this._processingItems.size<this.concurrency;)this._process(this._queue.pop()),e.madeProgress()}_removeItem(e){this._deferreds.delete(e),this._controllers.delete(e),this._processingItems.delete(e)}_scheduleNext(){this._task||this._pausedSignal.value||this._schedule||(this._schedule=n(()=>{this._schedule=null,this._next()}))}_next(){for(;this._queue.length>0&&this._processingItems.size<this.concurrency;)this._process(this._queue.pop())}_cancelNext(){this._schedule&&(this._schedule.remove(),this._schedule=null)}_processResult(e,s){this._canProcessFulfillment(e)&&(this._scheduleNext(),this._deferreds.get(e.item).resolve(s))}_processError(e,s){this._canProcessFulfillment(e)&&(this._scheduleNext(),this._deferreds.get(e.item).reject(s))}_canProcessFulfillment(e){return!!this._deferreds.get(e.item)&&this._processingItems.get(e.item)===e}_process(e){if(null==e)return;let s;const t=new AbortController,r=new u(e,t);this._processingItems.set(e,r);try{s=this.process(e,t.signal)}catch(i){this._processError(r,i)}o(s)?(r.promise=s,s.then(e=>this._processResult(r,e),e=>this._processError(r,e))):this._processResult(r,s)}get test(){}}export{_ as ScheduledQueueProcessor};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{removeUnordered as e,filterInPlace as t}from"../../core/arrayUtils.js";import s from"../../core/Handles.js";import"../../core/has.js";import r from"../../core/Logger.js";import{removeMaybe as i}from"../../core/maybe.js";import a from"../../core/PerformanceSampler.js";import{isAborted as n,createAbortError as _,when as h}from"../../core/promiseUtils.js";import{watch as u,initial as o,when as d}from"../../core/reactiveUtils.js";import{signal as E}from"../../core/signal.js";import{Milliseconds as l}from"../../core/time.js";import{PromiseQueue as T}from"../../layers/support/PromiseQueue.js";import c from"./debugFlags.js";import{Yield as m}from"./Yield.js";function g(){return new k.Scheduler}var R;!function(e){e.RESOURCE_CONTROLLER_IMMEDIATE="immediate",e.RESOURCE_CONTROLLER="schedule",e.SLIDE="slide",e.STREAM_DATA_LOADER="stream loader",e.ELEVATION_QUERY="elevation query",e.TERRAIN_SURFACE="terrain",e.SURFACE_GEOMETRY_UPDATES="surface geometry updates",e.LOD_RENDERER="LoD renderer",e.GRAPHICS_CORE="Graphics3D",e.I3S_CONTROLLER="I3S",e.POINT_CLOUD_LAYER="point cloud",e.FEATURE_TILE_FETCHER="feature fetcher",e.STREAM_CONTROLLER="stream controller",e.OVERLAY="overlay",e.OVERLAY_RENDERER="overlay renderer",e.STAGE="stage",e.GRAPHICS_DECONFLICTOR="graphics deconflictor",e.FILTER_VISIBILITY="Graphics3D filter visibility",e.SCALE_VISIBILITY="Graphics3D scale visibility",e.FRUSTUM_VISIBILITY="Graphics3D frustum visibility",e.POINT_OF_INTEREST_FREQUENT="POI frequent",e.POINT_OF_INTEREST_INFREQUENT="POI infrequent",e.LABELER="labeler",e.FEATURE_QUERY_ENGINE="feature query",e.FEATURE_TILE_TREE="feature tile tree",e.FEATURE_TILE_TREE_ACTIVE="fast feature tile tree",e.ELEVATION_ALIGNMENT="elevation alignment",e.ELEVATION_ALIGNMENT_SCENE="elevation alignment scene",e.TEXT_TEXTURE_ATLAS="text texture atlas",e.TEXTURE_UNLOAD="texture unload",e.LINE_OF_SIGHT_TOOL="line of sight tool",e.LINE_OF_SIGHT_TOOL_INTERACTIVE="interactive line of sight tool",e.ELEVATION_PROFILE="elevation profile",e.SNAPPING="snapping",e.SHADOW_ACCUMULATOR="shadow accumulator",e.CLOUDS_GENERATOR="clouds generator",e.FLOW_GENERATOR="flow generator",e.MAPVIEW_FETCH_QUEUE="mapview fetch queue",e.MAPVIEW_LAYERVIEW_UPDATE="mapview layerview update",e.MAPVIEW_VECTOR_TILE_PARSING_QUEUE="mapview vector tile parsing queue",e[e.NONE=0]="NONE",e[e.TEST_PRIO=1]="TEST_PRIO"}(R||(R={}));const I=0,p=new Map([[R.RESOURCE_CONTROLLER_IMMEDIATE,I],[R.RESOURCE_CONTROLLER,4],[R.SLIDE,I],[R.STREAM_DATA_LOADER,I],[R.ELEVATION_QUERY,I],[R.TERRAIN_SURFACE,1],[R.SURFACE_GEOMETRY_UPDATES,1],[R.LOD_RENDERER,2],[R.GRAPHICS_CORE,2],[R.I3S_CONTROLLER,2],[R.POINT_CLOUD_LAYER,2],[R.FEATURE_TILE_FETCHER,2],[R.STREAM_CONTROLLER,2],[R.CLOUDS_GENERATOR,2],[R.OVERLAY,4],[R.OVERLAY_RENDERER,4],[R.STAGE,4],[R.GRAPHICS_DECONFLICTOR,4],[R.FILTER_VISIBILITY,4],[R.SCALE_VISIBILITY,4],[R.FRUSTUM_VISIBILITY,4],[R.POINT_OF_INTEREST_FREQUENT,6],[R.POINT_OF_INTEREST_INFREQUENT,30],[R.LABELER,8],[R.FEATURE_QUERY_ENGINE,8],[R.FEATURE_TILE_TREE,16],[R.FEATURE_TILE_TREE_ACTIVE,I],[R.ELEVATION_ALIGNMENT,12],[R.ELEVATION_ALIGNMENT_SCENE,14],[R.TEXT_TEXTURE_ATLAS,12],[R.TEXTURE_UNLOAD,12],[R.LINE_OF_SIGHT_TOOL,16],[R.LINE_OF_SIGHT_TOOL_INTERACTIVE,I],[R.SNAPPING,I],[R.SHADOW_ACCUMULATOR,30],[R.FLOW_GENERATOR,12],[R.MAPVIEW_FETCH_QUEUE,I],[R.MAPVIEW_LAYERVIEW_UPDATE,2],[R.MAPVIEW_VECTOR_TILE_PARSING_QUEUE,I]]);function f(e){return p.has(e)?p.get(e):"number"==typeof e?e:1}const L=l(6.5),O=l(1),A=l(30),N=l(1e3/30),S=l(100),b=.9;var k;!function(n){class _{get updating(){return this._updating.value}_updatingChanged(){this._updating.value=this._tasks.some(e=>e.needsUpdate)}constructor(){this._updating=E(!0),this._microTaskQueued=!1,this._frameNumber=0,this.performanceInfo={total:new a("total"),tasks:new Map},this._frameTaskTimes=new Map,this._budget=new g,this._state=1,this._tasks=new Array,this._runQueue=new Array,this._load=0,this._idleStateCallbacks=new Array,this._idleUpdatesStartFired=!1,this._forceTask=!1,this._debug=!1,this._debugHandle=u(()=>c.SCHEDULER_LOG_SLOW_TASKS,e=>this._debug=e,o);for(const e of Object.keys(R))this.performanceInfo.tasks.set(R[e],new a(R[e]))}destroy(){this._tasks.forEach(e=>e.remove()),this._tasks.length=0,this._idleStateCallbacks.length=0,this._runQueue.length=0,i(this._debugHandle),this._microTaskQueued=!1,this._updatingChanged()}taskRunningChanged(e){this._updatingChanged(),e&&this._budget.remaining>0&&!this._microTaskQueued&&(this._microTaskQueued=!0,queueMicrotask(()=>{this._microTaskQueued&&(this._microTaskQueued=!1,this._budget.remaining>0&&this._schedule()&&this._runFrame())}))}registerTask(e,t){const s=new h(this,e,t);return this._tasks.push(s),this._updatingChanged(),this.performanceInfo.tasks.has(e)||this.performanceInfo.tasks.set(e,new a(e)),s}registerIdleStateCallbacks(e,t){const s={idleBegin:e,idleEnd:t};this._idleStateCallbacks.push(s),2===this.state&&this._idleUpdatesStartFired&&s.idleBegin();const r=this;return{remove:()=>this._removeIdleStateCallbacks(s),set idleBegin(e){r._idleUpdatesStartFired&&(s.idleEnd(),2===r._state&&e()),s.idleBegin=e},set idleEnd(e){s.idleEnd=e}}}get load(){return this._load}set state(e){this._state!==e&&(this._state=e,2!==this.state&&this._idleUpdatesStartFired&&(this._idleUpdatesStartFired=!1,this._idleStateCallbacks.forEach(e=>e.idleEnd())))}get state(){return this._state}frame(e){this._startFrameTaskTimes();const t=this._updateBudget(e);if(t){const e=this._budget.now();this._runFrame(),this._recordFrameTaskTimes(this._budget.now()-e)}else this._recordFrameTaskTimes(0);return t}_updateBudget(e){this._test&&(this._test.usedBudget=0),++this._frameNumber;let t=L,s=e.frameDuration,r=O;switch(this.state){case 2:t=l(0),s=l(Math.max(S,e.frameDuration)),r=A;break;case 1:s=l(Math.max(N,e.frameDuration))}return s=l(s-e.elapsedFrameTime-t),2!==this.state&&s<O&&!this._forceTask?(this._forceTask=!0,!1):(s=l(Math.max(s,r)),this._budget.reset(s),this._updateLoad(),this._schedule())}_runFrame(){switch(this._forceTask=!1,this._microTaskQueued=!1,this.state){case 2:this._idleUpdatesStartFired||(this._idleUpdatesStartFired=!0,this._idleStateCallbacks.forEach(e=>e.idleBegin())),this._runIdle();break;case 1:this._runInteracting();break;default:this._runAnimating()}this._test&&(this._test.usedBudget=this._budget.elapsed)}stopFrame(){this._budget.reset(l(0)),this._budget.madeProgress()}_removeIdleStateCallbacks(t){this._idleUpdatesStartFired&&t.idleEnd(),e(this._idleStateCallbacks,t)}removeTask(t){e(this._tasks,t),e(this._runQueue,t),this._updatingChanged()}_updateTask(e){this._tasks.forEach(t=>{t.name===e&&t.setPriority(e)})}_getState(e){if(this._runQueue.some(t=>t.name===e))return"s";let t="i";return this._tasks.forEach(s=>{s.name===e&&s.needsUpdate&&(s.schedulePriority<=1?t="r":"r"!==t&&(t="w"))}),t}_getRuntime(e){let t=0;return this._tasks.forEach(s=>{s.name===e&&(t+=s.runtime)}),t}_resetRuntimes(){this._tasks.forEach(e=>e.runtime=0)}_getRunning(){const e=new Map;if(this._tasks.forEach(t=>{t.needsUpdate&&e.set(t.name,(e.get(t.name)||0)+1)}),0===e.size)return null;let t="";return e.forEach((e,s)=>{t+=e>1?` ${e}x ${s}`:` ${s}`}),t}_runIdle(){this._run()}_runInteracting(){this._run()}_runAnimating(){this._run()}_updateLoad(){const e=this._tasks.reduce((e,t)=>t.needsUpdate?++e:e,0);this._load=this._load*b+e*(1-b)}_schedule(){for(t(this._runQueue,e=>!!e.needsUpdate||(e.schedulePriority=e.basePriority,!1)),this._tasks.forEach(e=>{e.basePriority===I&&e.needsUpdate&&!this._runQueue.includes(e)&&e.blockFrame!==this._frameNumber&&this._runQueue.unshift(e)});0===this._runQueue.length;){let e=!1,t=0;if(this._tasks.forEach(s=>{if(s.needsUpdate&&0!==s.schedulePriority&&s.basePriority!==I&&s.blockFrame!==this._frameNumber)if(e=!0,t=Math.max(t,s.basePriority),1===s.schedulePriority)s.schedulePriority=0,this._runQueue.push(s);else--s.schedulePriority}),!e)return this._updatingChanged(),!1}return this._updatingChanged(),!0}_run(){do{for(;this._runQueue.length>0;){const t=this._budget.now(),s=this._runQueue.pop();this._budget.resetProgress();try{s.task.runTask(this._budget)===m&&(s.blockFrame=this._frameNumber)}catch(e){r.getLogger("esri.views.support.Scheduler").error(`Exception in task "${s.name}"`,e),s.blockFrame=this._frameNumber}!this._budget.hasProgressed&&s.blockFrame!==this._frameNumber&&s.needsUpdate&&(s.name,R.I3S_CONTROLLER,s.blockFrame=this._frameNumber),s.schedulePriority=s.basePriority;const i=this._budget.now()-t;if(s.runtime+=i,this._frameTaskTimes.set(s.priority,this._frameTaskTimes.get(s.priority)+i),this._budget.remaining<=0)return void this._updatingChanged()}}while(this._schedule());this._updatingChanged()}_startFrameTaskTimes(){for(const e of Object.keys(R))this._frameTaskTimes.set(R[e],0)}_recordFrameTaskTimes(e){this._frameTaskTimes.forEach((e,t)=>this.performanceInfo.tasks.get(t).push(e)),this.performanceInfo.total.push(e)}get test(){return this._test}}n.Scheduler=_;class h{get task(){return this._task.value}get updating(){return this._queue.running}constructor(e,t,r){this._scheduler=e,this.name=t,this.blockFrame=0,this.runtime=0,this._queue=new T,this._handles=new s,this._basePriority=f(t),this.schedulePriority=this._basePriority,this._task=E(null!=r?r:this._queue),this._handles.add(d(()=>this.task.running,t=>e.taskRunningChanged(t)))}remove(){this.processQueue(U),this._scheduler.removeTask(this),this.schedule=F.schedule,this.reschedule=F.reschedule,this._handles.destroy()}get basePriority(){return this._basePriority}setPriority(e){if(this.name===e)return;this.name=e;const t=f(e);this._basePriority!==I&&0===this.schedulePriority||(this.schedulePriority=t),this._basePriority=t}get priority(){return this.name}set priority(e){this.setPriority(e)}get needsUpdate(){return this.updating||!this.task.destroyed&&this.task.running}schedule(e,t,s){return this._queue.push(e,t,s)}reschedule(e,t,s){return this._queue.unshift(e,t,s)}processQueue(e){return this._queue.runTask(e)}}class g{constructor(){this._begin=performance?.now()??0,this._budget=0,this._done=!1,this._progressed=!1,this._enabled=!0}run(e){return!this.done&&(!0===e()&&this.madeProgress(),!0)}get done(){return this._done}get budget(){return this._budget}madeProgress(){return this._progressed=!0,this._done=this.elapsed>=this._budget&&this._enabled,this._done}get enabled(){return this._enabled}set enabled(e){this._enabled=e}reset(e){this._begin=this.now(),this._budget=e,this.resetProgress()}get remaining(){return Math.max(this._budget-this.elapsed,0)}now(){return performance.now()}get elapsed(){return this.now()-this._begin}resetProgress(){this._progressed=!1,this._done=!1}get hasProgressed(){return this._progressed}}n.Budget=g}(k||(k={}));const U=new k.Budget;function C(e){const t=new k.Budget;return t.reset(e),t}U.enabled=!1;class P{remove(){}processQueue(){}schedule(e,t,s){try{if(n(t)){const e=_();return s?Promise.resolve(s(e)):Promise.reject(e)}return h(e(U))}catch(r){return Promise.reject(r)}}reschedule(e,t,s){return this.schedule(e,t,s)}}const F=new P;export{F as ImmediateTask,R as TaskPriority,f as getTaskPriority,C as makeBudget,g as newScheduler,U as noBudget,p as taskPriorities};
5
+ import{removeUnordered as e,filterInPlace as t}from"../../core/arrayUtils.js";import s from"../../core/Handles.js";import"../../core/has.js";import r from"../../core/Logger.js";import{removeMaybe as i}from"../../core/maybe.js";import a from"../../core/PerformanceSampler.js";import{isAborted as n,createAbortError as h,when as u,isPromiseLike as _}from"../../core/promiseUtils.js";import{watch as o,initial as d,when as E}from"../../core/reactiveUtils.js";import{signal as l}from"../../core/signal.js";import{Milliseconds as c}from"../../core/time.js";import{PromiseQueue as T}from"../../layers/support/PromiseQueue.js";import m from"./debugFlags.js";import{Yield as g}from"./Yield.js";function R(){return new U.Scheduler}var I;!function(e){e.RESOURCE_CONTROLLER_IMMEDIATE="immediate",e.RESOURCE_CONTROLLER="schedule",e.SLIDE="slide",e.STREAM_DATA_LOADER="stream loader",e.ELEVATION_QUERY="elevation query",e.TERRAIN_SURFACE="terrain",e.SURFACE_GEOMETRY_UPDATES="surface geometry updates",e.LOD_RENDERER="LoD renderer",e.GRAPHICS_CORE="Graphics3D",e.I3S_CONTROLLER="I3S",e.POINT_CLOUD_LAYER="point cloud",e.FEATURE_TILE_FETCHER="feature fetcher",e.STREAM_CONTROLLER="stream controller",e.OVERLAY="overlay",e.OVERLAY_RENDERER="overlay renderer",e.STAGE="stage",e.GRAPHICS_DECONFLICTOR="graphics deconflictor",e.FILTER_VISIBILITY="Graphics3D filter visibility",e.SCALE_VISIBILITY="Graphics3D scale visibility",e.FRUSTUM_VISIBILITY="Graphics3D frustum visibility",e.POINT_OF_INTEREST_FREQUENT="POI frequent",e.POINT_OF_INTEREST_INFREQUENT="POI infrequent",e.LABELER="labeler",e.FEATURE_QUERY_ENGINE="feature query",e.FEATURE_TILE_TREE="feature tile tree",e.FEATURE_TILE_TREE_ACTIVE="fast feature tile tree",e.ELEVATION_ALIGNMENT="elevation alignment",e.ELEVATION_ALIGNMENT_SCENE="elevation alignment scene",e.TEXT_TEXTURE_ATLAS="text texture atlas",e.TEXTURE_UNLOAD="texture unload",e.LINE_OF_SIGHT_TOOL="line of sight tool",e.LINE_OF_SIGHT_TOOL_INTERACTIVE="interactive line of sight tool",e.ELEVATION_PROFILE="elevation profile",e.SNAPPING="snapping",e.SHADOW_ACCUMULATOR="shadow accumulator",e.CLOUDS_GENERATOR="clouds generator",e.FLOW_GENERATOR="flow generator",e.MAPVIEW_FETCH_QUEUE="mapview fetch queue",e.MAPVIEW_LAYERVIEW_UPDATE="mapview layerview update",e.MAPVIEW_VECTOR_TILE_PARSING_QUEUE="mapview vector tile parsing queue",e[e.NONE=0]="NONE",e[e.TEST_PRIO=1]="TEST_PRIO"}(I||(I={}));const p=0,f=new Map([[I.RESOURCE_CONTROLLER_IMMEDIATE,p],[I.RESOURCE_CONTROLLER,4],[I.SLIDE,p],[I.STREAM_DATA_LOADER,p],[I.ELEVATION_QUERY,p],[I.TERRAIN_SURFACE,1],[I.SURFACE_GEOMETRY_UPDATES,1],[I.LOD_RENDERER,2],[I.GRAPHICS_CORE,2],[I.I3S_CONTROLLER,2],[I.POINT_CLOUD_LAYER,2],[I.FEATURE_TILE_FETCHER,2],[I.STREAM_CONTROLLER,2],[I.CLOUDS_GENERATOR,2],[I.OVERLAY,4],[I.OVERLAY_RENDERER,4],[I.STAGE,4],[I.GRAPHICS_DECONFLICTOR,4],[I.FILTER_VISIBILITY,4],[I.SCALE_VISIBILITY,4],[I.FRUSTUM_VISIBILITY,4],[I.POINT_OF_INTEREST_FREQUENT,6],[I.POINT_OF_INTEREST_INFREQUENT,30],[I.LABELER,8],[I.FEATURE_QUERY_ENGINE,8],[I.FEATURE_TILE_TREE,16],[I.FEATURE_TILE_TREE_ACTIVE,p],[I.ELEVATION_ALIGNMENT,12],[I.ELEVATION_ALIGNMENT_SCENE,14],[I.TEXT_TEXTURE_ATLAS,12],[I.TEXTURE_UNLOAD,12],[I.LINE_OF_SIGHT_TOOL,16],[I.LINE_OF_SIGHT_TOOL_INTERACTIVE,p],[I.SNAPPING,p],[I.SHADOW_ACCUMULATOR,30],[I.FLOW_GENERATOR,12],[I.MAPVIEW_FETCH_QUEUE,p],[I.MAPVIEW_LAYERVIEW_UPDATE,2],[I.MAPVIEW_VECTOR_TILE_PARSING_QUEUE,p]]);function L(e){return f.has(e)?f.get(e):"number"==typeof e?e:1}const O=c(6.5),A=c(1),N=c(30),S=c(1e3/30),b=c(100),k=.9;var U;!function(n){class h{get updating(){return this._updating.value}_updatingChanged(){this._updating.value=this._tasks.some(e=>e.needsUpdate)}constructor(){this._updating=l(!0),this._microTaskQueued=!1,this._frameNumber=0,this.performanceInfo={total:new a("total"),tasks:new Map},this._frameTaskTimes=new Map,this._budget=new _,this._state=1,this._tasks=new Array,this._runQueue=new Array,this._load=0,this._idleStateCallbacks=new Array,this._idleUpdatesStartFired=!1,this._forceTask=!1,this._debug=!1,this._debugHandle=o(()=>m.SCHEDULER_LOG_SLOW_TASKS,e=>this._debug=e,d);for(const e of Object.keys(I))this.performanceInfo.tasks.set(I[e],new a(I[e]))}destroy(){this._tasks.forEach(e=>e.remove()),this._tasks.length=0,this._idleStateCallbacks.length=0,this._runQueue.length=0,i(this._debugHandle),this._microTaskQueued=!1,this._updatingChanged()}taskRunningChanged(e){this._updatingChanged(),e&&this._budget.remaining>0&&!this._microTaskQueued&&(this._microTaskQueued=!0,queueMicrotask(()=>{this._microTaskQueued&&(this._microTaskQueued=!1,this._budget.remaining>0&&this._schedule()&&this._runFrame())}))}registerTask(e,t){const s=new u(this,e,t);return this._tasks.push(s),this._updatingChanged(),this.performanceInfo.tasks.has(e)||this.performanceInfo.tasks.set(e,new a(e)),s}registerIdleStateCallbacks(e,t){const s={idleBegin:e,idleEnd:t};this._idleStateCallbacks.push(s),2===this.state&&this._idleUpdatesStartFired&&s.idleBegin();const r=this;return{remove:()=>this._removeIdleStateCallbacks(s),set idleBegin(e){r._idleUpdatesStartFired&&(s.idleEnd(),2===r._state&&e()),s.idleBegin=e},set idleEnd(e){s.idleEnd=e}}}get load(){return this._load}set state(e){this._state!==e&&(this._state=e,2!==this.state&&this._idleUpdatesStartFired&&(this._idleUpdatesStartFired=!1,this._idleStateCallbacks.forEach(e=>e.idleEnd())))}get state(){return this._state}frame(e){this._startFrameTaskTimes();const t=this._updateBudget(e);if(t){const e=this._budget.now();this._runFrame(),this._recordFrameTaskTimes(this._budget.now()-e)}else this._recordFrameTaskTimes(0);return t}_updateBudget(e){this._test&&(this._test.usedBudget=0),++this._frameNumber;let t=O,s=e.frameDuration,r=A;switch(this.state){case 2:t=c(0),s=c(Math.max(b,e.frameDuration)),r=N;break;case 1:s=c(Math.max(S,e.frameDuration))}return s=c(s-e.elapsedFrameTime-t),2!==this.state&&s<A&&!this._forceTask?(this._forceTask=!0,!1):(s=c(Math.max(s,r)),this._budget.reset(s),this._updateLoad(),this._schedule())}_runFrame(){switch(this._forceTask=!1,this._microTaskQueued=!1,this.state){case 2:this._idleUpdatesStartFired||(this._idleUpdatesStartFired=!0,this._idleStateCallbacks.forEach(e=>e.idleBegin())),this._runIdle();break;case 1:this._runInteracting();break;default:this._runAnimating()}this._test&&(this._test.usedBudget=this._budget.elapsed)}stopFrame(){this._budget.reset(c(0)),this._budget.madeProgress()}_removeIdleStateCallbacks(t){this._idleUpdatesStartFired&&t.idleEnd(),e(this._idleStateCallbacks,t)}removeTask(t){e(this._tasks,t),e(this._runQueue,t),this._updatingChanged()}_updateTask(e){this._tasks.forEach(t=>{t.name===e&&t.setPriority(e)})}_getState(e){if(this._runQueue.some(t=>t.name===e))return"s";let t="i";return this._tasks.forEach(s=>{s.name===e&&s.needsUpdate&&(s.schedulePriority<=1?t="r":"r"!==t&&(t="w"))}),t}_getRuntime(e){let t=0;return this._tasks.forEach(s=>{s.name===e&&(t+=s.runtime)}),t}_resetRuntimes(){this._tasks.forEach(e=>e.runtime=0)}_getRunning(){const e=new Map;if(this._tasks.forEach(t=>{t.needsUpdate&&e.set(t.name,(e.get(t.name)||0)+1)}),0===e.size)return null;let t="";return e.forEach((e,s)=>{t+=e>1?` ${e}x ${s}`:` ${s}`}),t}_runIdle(){this._run()}_runInteracting(){this._run()}_runAnimating(){this._run()}_updateLoad(){const e=this._tasks.reduce((e,t)=>t.needsUpdate?++e:e,0);this._load=this._load*k+e*(1-k)}_schedule(){for(t(this._runQueue,e=>!!e.needsUpdate||(e.schedulePriority=e.basePriority,!1)),this._tasks.forEach(e=>{e.basePriority===p&&e.needsUpdate&&!this._runQueue.includes(e)&&e.blockFrame!==this._frameNumber&&this._runQueue.unshift(e)});0===this._runQueue.length;){let e=!1,t=0;if(this._tasks.forEach(s=>{if(s.needsUpdate&&0!==s.schedulePriority&&s.basePriority!==p&&s.blockFrame!==this._frameNumber)if(e=!0,t=Math.max(t,s.basePriority),1===s.schedulePriority)s.schedulePriority=0,this._runQueue.push(s);else--s.schedulePriority}),!e)return this._updatingChanged(),!1}return this._updatingChanged(),!0}_run(){do{for(;this._runQueue.length>0;){const t=this._budget.now(),s=this._runQueue.pop();this._budget.resetProgress();try{s.task.runTask(this._budget)===g&&(s.blockFrame=this._frameNumber)}catch(e){r.getLogger("esri.views.support.Scheduler").error(`Exception in task "${s.name}"`,e),s.blockFrame=this._frameNumber}!this._budget.hasProgressed&&s.blockFrame!==this._frameNumber&&s.needsUpdate&&(s.name,I.I3S_CONTROLLER,s.blockFrame=this._frameNumber),s.schedulePriority=s.basePriority;const i=this._budget.now()-t;if(s.runtime+=i,this._frameTaskTimes.set(s.priority,this._frameTaskTimes.get(s.priority)+i),this._budget.remaining<=0)return void this._updatingChanged()}}while(this._schedule());this._updatingChanged()}_startFrameTaskTimes(){for(const e of Object.keys(I))this._frameTaskTimes.set(I[e],0)}_recordFrameTaskTimes(e){this._frameTaskTimes.forEach((e,t)=>this.performanceInfo.tasks.get(t).push(e)),this.performanceInfo.total.push(e)}get test(){return this._test}}n.Scheduler=h;class u{get task(){return this._task.value}get readyToRun(){return this._queue.readyToRun}get updating(){return this._queue.updating}constructor(e,t,r){this._scheduler=e,this.name=t,this.blockFrame=0,this.runtime=0,this._queue=new T,this._handles=new s,this._basePriority=L(t),this.schedulePriority=this._basePriority,this._task=l(null!=r?r:this._queue),this._handles.add(E(()=>this.task.readyToRun,t=>e.taskRunningChanged(t)))}remove(){this.processQueue(C),this._scheduler.removeTask(this),this.schedule=y.schedule,this.reschedule=y.reschedule,this.scheduleGenerator=y.scheduleGenerator,this.rescheduleGenerator=y.rescheduleGenerator,this._handles.destroy()}get basePriority(){return this._basePriority}setPriority(e){if(this.name===e)return;this.name=e;const t=L(e);this._basePriority!==p&&0===this.schedulePriority||(this.schedulePriority=t),this._basePriority=t}get priority(){return this.name}set priority(e){this.setPriority(e)}get needsUpdate(){return this.readyToRun||!this.task.destroyed&&this.task.readyToRun}schedule(e,t,s){return this._queue.push(e,t,s)}reschedule(e,t,s){return this._queue.unshift(e,t,s)}scheduleGenerator(e,t,s){return this._queue.pushGenerator(e,t,s)}rescheduleGenerator(e,t,s){return this._queue.unshiftGenerator(e,t,s)}processQueue(e){return this._queue.runTask(e)}}class _{constructor(){this._begin=performance?.now()??0,this._budget=0,this._done=!1,this._progressed=!1,this._enabled=!0}run(e){return!this.done&&(!0===e()&&this.madeProgress(),!0)}get done(){return this._done}get budget(){return this._budget}madeProgress(){return this._progressed=!0,this._done=this.elapsed>=this._budget&&this._enabled,this._done}get enabled(){return this._enabled}set enabled(e){this._enabled=e}reset(e){this._begin=this.now(),this._budget=e,this.resetProgress()}get remaining(){return Math.max(this._budget-this.elapsed,0)}now(){return performance.now()}get elapsed(){return this.now()-this._begin}resetProgress(){this._progressed=!1,this._done=!1}get hasProgressed(){return this._progressed}}n.Budget=_}(U||(U={}));const C=new U.Budget;function P(e){const t=new U.Budget;return t.reset(e),t}C.enabled=!1;class F{remove(){}processQueue(){}schedule(e,t,s){try{if(n(t)){const e=h();return s?Promise.resolve(s(e)):Promise.reject(e)}return u(e(C))}catch(r){return Promise.reject(r)}}reschedule(e,t,s){return this.schedule(e,t,s)}async scheduleGenerator(e,t,s){if(n(t)){const e=h();if(s)return s(e);throw e}const r=e(C);for(;;){const e=r.next(C),i=_(e)?await e:e;if(n(t)){const e=h();if(s)return s(e);throw e}if(i.done)return i.value}}rescheduleGenerator(e,t,s){return this.rescheduleGenerator(e,t,s)}}const y=new F;export{y as ImmediateTask,I as TaskPriority,L as getTaskPriority,P as makeBudget,R as newScheduler,C as noBudget,f as taskPriorities};
package/views/ui/UI.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as t}from"tslib";import"../../intl.js";import o from"../../core/Accessor.js";import{isSome as n}from"../../core/arrayUtils.js";import e from"../../core/Evented.js";import{makeHandle as i}from"../../core/handleUtils.js";import{watch as r,initial as s}from"../../core/reactiveUtils.js";import{property as a}from"../../core/accessorSupport/decorators/property.js";import{cast as p}from"../../core/accessorSupport/decorators/cast.js";import"../../core/has.js";import{subclass as d}from"../../core/accessorSupport/decorators/subclass.js";import{setCalciteModeClass as c}from"../../support/modeUtils.js";import l from"./Component.js";import{isRTL as h}from"../../widgets/support/widgetUtils.js";import{getLocale as m,onLocaleChange as u}from"../../intl/locale.js";const f={left:0,top:0,bottom:0,right:0},_={bottom:30,top:15,right:15,left:15},g="esri-ui",y={ui:g,corner:`${g}-corner`,innerContainer:`${g}-inner-container`,manualContainer:`${g}-manual-container`,cornerContainer:`${g}-corner-container`,topLeft:`${g}-top-left`,topRight:`${g}-top-right`,bottomLeft:`${g}-bottom-left`,bottomRight:`${g}-bottom-right`};function C(t){return t&&!t._started&&"function"==typeof t.postMixInProperties&&"function"==typeof t.buildRendering&&"function"==typeof t.postCreate&&"function"==typeof t.startup}function v(t){return 0===t?"0":`${t}px`}function b(t){const o="object"==typeof t&&null!==t&&Object.getPrototypeOf(t);return(null===o||o===Object.prototype)&&("component"in t||"index"in t||"position"in t)?t:null}function w(t,{top:o,bottom:n,left:e,right:i}){t.style.top=o,t.style.bottom=n,t.style.left=e,t.style.right=i}let P=class extends e.EventedAccessor{constructor(t){super(t),this._cornerNameToContainerLookup={},this._positionNameToContainerLookup={},this._components=new Array,this._componentMap=new Map,this._removeWidgetHandleKey=Symbol("componentOnRemoveSymbol"),this._locale=m(),this.view=null,this._applyViewPadding=()=>{const t=this.container;t&&w(t,this._toPixelPosition(this._getViewPadding()))},this._applyUIPadding=()=>{const t=this._innerContainer;t&&w(t,this._toPixelPosition(this.padding))},this._initContainers()}initialize(){this.addHandles([r(()=>[this.view?.padding,this.container],this._applyViewPadding,s),r(()=>this.padding,this._applyUIPadding,s),r(()=>[this.container,this._locale],([t,o])=>{t&&t.setAttribute("lang",o)},s),u(t=>{this._locale=t})])}destroy(){this.removeAllHandles(),this.container=null;for(const t of this._components)t.destroy();this._components.length=0,this._componentMap.clear(),this.view=null,this._set("view",null)}set container(t){const o=this._get("container");t!==o&&(t&&(t.classList.add(y.ui),c(t),this._attachContainers(t)),o&&(o.classList.remove(y.ui),w(o,{top:"",bottom:"",left:"",right:""}),o.textContent=""),this._set("container",t))}get height(){const t=this.view?.height??0;if(0===t)return t;const o=this._getViewPadding(),{top:n,bottom:e}=o;return Math.max(t-n-e,0)}get padding(){return this._get("padding")}set padding(t){this._overrideIfSome("padding",t)}castPadding(t){return"number"==typeof t?{bottom:t,top:t,right:t,left:t}:{..._,...t}}get width(){const t=this.view?.width??0;if(0===t)return t;const o=this._getViewPadding(),{left:n,right:e}=o;return Math.max(t-n-e,0)}add(t,o){let n,e,i;if(Array.isArray(t))return void t.forEach(t=>this.add(t,o));const r=b(t);r&&({index:n,position:o,component:t,key:e}=r),o&&"object"==typeof o&&({index:n,key:e,position:o,internal:i}=o),!t||o&&!this._isValidPosition(o)||this._add(t,o,n??this._getNumComponentsAtPosition(o),e,i)}remove(t,o){if(!t)return;if(Array.isArray(t))return t.map(t=>this.remove(t,o));const n=this._find(t);if(n){const t=this._componentMap.get(n);if(!t||t.key!==o)return;const e=this._components.indexOf(n),i=n.node.parentNode;return i?.removeChild(n.node),this._componentMap.delete(n),n.widget?.removeHandlesReference(this._removeWidgetHandleKey),this._components.forEach(o=>{const n=this._componentMap.get(o);n&&n.position===t.position&&n.index>t.index&&n.index--}),this._components.splice(e,1)[0]}}empty(t,o={removeInternal:!1}){if(Array.isArray(t)){for(const n of t)this.empty(n,o);return}const n=this._positionNameToContainerLookup[t??"manual"],e=Array.prototype.slice.call(n.children).map(t=>this._findByNode(t)).filter(t=>{if(null==t)return!1;return!(this._componentMap.get(t)?.internal??!1)||o.removeInternal});for(const i of e)this.remove(i)}move(t,o){if(Array.isArray(t)&&t.forEach(t=>this.move(t,o)),!t)return;let n;const e=b(t)||b(o);if(e&&(n=e.index,o=e.position,t=e.component||t),o&&!this._isValidPosition(o))return;const i=this.remove(t);i&&this.add(i,{position:o,index:n})}find(t){if(!t)return null;const o=this._findById(t);return o&&(o.widget||o.node)}getComponents(t,o={includeInternal:!1}){return t?Array.isArray(t)?t.flatMap(t=>this._getComponentsAtPosition(t,o)):this._getComponentsAtPosition(t,o):this._components.filter(t=>o.includeInternal||!this._componentMap.get(t)?.internal).map(({widget:t,node:o})=>t??o)}getPosition(t){for(const o in this._positionNameToContainerLookup){if(this._positionNameToContainerLookup[o].contains(t))return o}return null}_add(t,n,e,r,s){t instanceof l||(t=new l({node:t}));const{widget:a}=t;null!=a&&a instanceof o&&a.addHandles(i(()=>{queueMicrotask(()=>this.remove(t))}),this._removeWidgetHandleKey);this._components.some(t=>this._componentMap.get(t)?.position===n&&this._componentMap.get(t)?.index===e)&&this._components.forEach(t=>{const o=this._componentMap.get(t);o&&o.position===n&&o.index>=e&&o.index++}),this._place({component:t,position:n,index:e}),this._components.push(t),this._componentMap.set(t,{key:r,position:n,internal:s,index:e})}_find(t){return t?t instanceof l?this._findByComponent(t):"string"==typeof t?this._findById(t):"domNode"in t?this._findByNode(t.domNode):this._findByNode(t):null}_getViewPadding(){return this.view?.padding??f}_attachContainers(t){t.appendChild(this._innerContainer),t.appendChild(this._manualContainer)}_initContainers(){const t=document.createElement("div");t.classList.add(y.innerContainer,y.cornerContainer);const o=document.createElement("div");o.classList.add(y.innerContainer,y.manualContainer);const n=document.createElement("div");n.classList.add(y.topLeft,y.corner),t.appendChild(n);const e=document.createElement("div");e.classList.add(y.topRight,y.corner),t.appendChild(e);const i=document.createElement("div");i.classList.add(y.bottomLeft,y.corner),t.appendChild(i);const r=document.createElement("div");r.classList.add(y.bottomRight,y.corner),t.appendChild(r),this._innerContainer=t,this._manualContainer=o;const s=h();this._cornerNameToContainerLookup={"top-left":n,"top-right":e,"bottom-left":i,"bottom-right":r,"top-leading":s?e:n,"top-trailing":s?n:e,"bottom-leading":s?r:i,"bottom-trailing":s?i:r},this._positionNameToContainerLookup={manual:o,...this._cornerNameToContainerLookup}}_isValidPosition(t){return!!this._positionNameToContainerLookup[t]}_place(t){const o=t.position??"manual",{component:n,index:e}=t,i=this._positionNameToContainerLookup[o],r=null!=e&&e>-1;if(C(n.widget)&&n.widget.startup(),!r)return void i.appendChild(n.node);const s=Array.from(i.children);if(0!==s.length){for(const t of s){const o=this._findByNode(t);if(o&&e<(this._componentMap.get(o)?.index??0))return void t.parentNode?.insertBefore(n.node,t)}i.appendChild(n.node)}else i.appendChild(n.node)}_toPixelPosition(t){return{top:v(t.top),left:v(t.left),right:v(t.right),bottom:v(t.bottom)}}_findByComponent(t){return this._components.find(o=>o===t)??null}_findById(t){return this._components.find(({id:o})=>o===t)??null}_findByNode(t){return t?this._components.find(({node:o})=>o===t):null}_getComponentsAtPosition(t,o){const e=this._positionNameToContainerLookup[t];return Array.prototype.slice.call(e.children).map(t=>this._findByNode(t)).filter(n).filter(t=>o.includeInternal||!this._componentMap.get(t)?.internal).map(({widget:t,node:o})=>t??o)}_getNumComponentsAtPosition(t){const o=this._positionNameToContainerLookup[t];return o?.children.length??0}};t([a()],P.prototype,"_locale",void 0),t([a()],P.prototype,"container",null),t([a()],P.prototype,"height",null),t([a({value:_})],P.prototype,"padding",null),t([p("padding")],P.prototype,"castPadding",null),t([a()],P.prototype,"view",void 0),t([a()],P.prototype,"width",null),P=t([d("esri.views.ui.UI")],P);const x=P;export{x as default};
5
+ import{__decorate as t}from"tslib";import"../../intl.js";import o from"../../core/Accessor.js";import{isSome as n}from"../../core/arrayUtils.js";import{EventedAccessor as e}from"../../core/Evented.js";import{makeHandle as i}from"../../core/handleUtils.js";import{watch as r,initial as s}from"../../core/reactiveUtils.js";import{property as a}from"../../core/accessorSupport/decorators/property.js";import{cast as p}from"../../core/accessorSupport/decorators/cast.js";import"../../core/has.js";import{subclass as d}from"../../core/accessorSupport/decorators/subclass.js";import{setCalciteModeClass as c}from"../../support/modeUtils.js";import l from"./Component.js";import{isRTL as h}from"../../widgets/support/widgetUtils.js";import{getLocale as m,onLocaleChange as u}from"../../intl/locale.js";const f={left:0,top:0,bottom:0,right:0},_={bottom:30,top:15,right:15,left:15},g="esri-ui",y={ui:g,corner:`${g}-corner`,innerContainer:`${g}-inner-container`,manualContainer:`${g}-manual-container`,cornerContainer:`${g}-corner-container`,topLeft:`${g}-top-left`,topRight:`${g}-top-right`,bottomLeft:`${g}-bottom-left`,bottomRight:`${g}-bottom-right`};function C(t){return t&&!t._started&&"function"==typeof t.postMixInProperties&&"function"==typeof t.buildRendering&&"function"==typeof t.postCreate&&"function"==typeof t.startup}function v(t){return 0===t?"0":`${t}px`}function b(t){const o="object"==typeof t&&null!==t&&Object.getPrototypeOf(t);return(null===o||o===Object.prototype)&&("component"in t||"index"in t||"position"in t)?t:null}function w(t,{top:o,bottom:n,left:e,right:i}){t.style.top=o,t.style.bottom=n,t.style.left=e,t.style.right=i}let P=class extends e{constructor(t){super(t),this._cornerNameToContainerLookup={},this._positionNameToContainerLookup={},this._components=new Array,this._componentMap=new Map,this._removeWidgetHandleKey=Symbol("componentOnRemoveSymbol"),this._locale=m(),this.view=null,this._applyViewPadding=()=>{const t=this.container;t&&w(t,this._toPixelPosition(this._getViewPadding()))},this._applyUIPadding=()=>{const t=this._innerContainer;t&&w(t,this._toPixelPosition(this.padding))},this._initContainers()}initialize(){this.addHandles([r(()=>[this.view?.padding,this.container],this._applyViewPadding,s),r(()=>this.padding,this._applyUIPadding,s),r(()=>[this.container,this._locale],([t,o])=>{t&&t.setAttribute("lang",o)},s),u(t=>{this._locale=t})])}destroy(){this.removeAllHandles(),this.container=null;for(const t of this._components)t.destroy();this._components.length=0,this._componentMap.clear(),this.view=null,this._set("view",null)}set container(t){const o=this._get("container");t!==o&&(t&&(t.classList.add(y.ui),c(t),this._attachContainers(t)),o&&(o.classList.remove(y.ui),w(o,{top:"",bottom:"",left:"",right:""}),o.textContent=""),this._set("container",t))}get height(){const t=this.view?.height??0;if(0===t)return t;const o=this._getViewPadding(),{top:n,bottom:e}=o;return Math.max(t-n-e,0)}get padding(){return this._get("padding")}set padding(t){this._overrideIfSome("padding",t)}castPadding(t){return"number"==typeof t?{bottom:t,top:t,right:t,left:t}:{..._,...t}}get width(){const t=this.view?.width??0;if(0===t)return t;const o=this._getViewPadding(),{left:n,right:e}=o;return Math.max(t-n-e,0)}add(t,o){let n,e,i;if(Array.isArray(t))return void t.forEach(t=>this.add(t,o));const r=b(t);r&&({index:n,position:o,component:t,key:e}=r),o&&"object"==typeof o&&({index:n,key:e,position:o,internal:i}=o),!t||o&&!this._isValidPosition(o)||this._add(t,o,n??this._getNumComponentsAtPosition(o),e,i)}remove(t,o){if(!t)return;if(Array.isArray(t))return t.map(t=>this.remove(t,o));const n=this._find(t);if(n){const t=this._componentMap.get(n);if(!t||t.key!==o)return;const e=this._components.indexOf(n),i=n.node.parentNode;return i?.removeChild(n.node),this._componentMap.delete(n),n.widget?.removeHandlesReference(this._removeWidgetHandleKey),this._components.forEach(o=>{const n=this._componentMap.get(o);n&&n.position===t.position&&n.index>t.index&&n.index--}),this._components.splice(e,1)[0]}}empty(t,o={removeInternal:!1}){if(Array.isArray(t)){for(const n of t)this.empty(n,o);return}const n=this._positionNameToContainerLookup[t??"manual"],e=Array.prototype.slice.call(n.children).map(t=>this._findByNode(t)).filter(t=>{if(null==t)return!1;return!(this._componentMap.get(t)?.internal??!1)||o.removeInternal});for(const i of e)this.remove(i)}move(t,o){if(Array.isArray(t)&&t.forEach(t=>this.move(t,o)),!t)return;let n;const e=b(t)||b(o);if(e&&(n=e.index,o=e.position,t=e.component||t),o&&!this._isValidPosition(o))return;const i=this.remove(t);i&&this.add(i,{position:o,index:n})}find(t){if(!t)return null;const o=this._findById(t);return o&&(o.widget||o.node)}getComponents(t,o={includeInternal:!1}){return t?Array.isArray(t)?t.flatMap(t=>this._getComponentsAtPosition(t,o)):this._getComponentsAtPosition(t,o):this._components.filter(t=>o.includeInternal||!this._componentMap.get(t)?.internal).map(({widget:t,node:o})=>t??o)}getPosition(t){for(const o in this._positionNameToContainerLookup){if(this._positionNameToContainerLookup[o].contains(t))return o}return null}_add(t,n,e,r,s){t instanceof l||(t=new l({node:t}));const{widget:a}=t;null!=a&&a instanceof o&&a.addHandles(i(()=>{queueMicrotask(()=>this.remove(t))}),this._removeWidgetHandleKey);this._components.some(t=>this._componentMap.get(t)?.position===n&&this._componentMap.get(t)?.index===e)&&this._components.forEach(t=>{const o=this._componentMap.get(t);o&&o.position===n&&o.index>=e&&o.index++}),this._place({component:t,position:n,index:e}),this._components.push(t),this._componentMap.set(t,{key:r,position:n,internal:s,index:e})}_find(t){return t?t instanceof l?this._findByComponent(t):"string"==typeof t?this._findById(t):"domNode"in t?this._findByNode(t.domNode):this._findByNode(t):null}_getViewPadding(){return this.view?.padding??f}_attachContainers(t){t.appendChild(this._innerContainer),t.appendChild(this._manualContainer)}_initContainers(){const t=document.createElement("div");t.classList.add(y.innerContainer,y.cornerContainer);const o=document.createElement("div");o.classList.add(y.innerContainer,y.manualContainer);const n=document.createElement("div");n.classList.add(y.topLeft,y.corner),t.appendChild(n);const e=document.createElement("div");e.classList.add(y.topRight,y.corner),t.appendChild(e);const i=document.createElement("div");i.classList.add(y.bottomLeft,y.corner),t.appendChild(i);const r=document.createElement("div");r.classList.add(y.bottomRight,y.corner),t.appendChild(r),this._innerContainer=t,this._manualContainer=o;const s=h();this._cornerNameToContainerLookup={"top-left":n,"top-right":e,"bottom-left":i,"bottom-right":r,"top-leading":s?e:n,"top-trailing":s?n:e,"bottom-leading":s?r:i,"bottom-trailing":s?i:r},this._positionNameToContainerLookup={manual:o,...this._cornerNameToContainerLookup}}_isValidPosition(t){return!!this._positionNameToContainerLookup[t]}_place(t){const o=t.position??"manual",{component:n,index:e}=t,i=this._positionNameToContainerLookup[o],r=null!=e&&e>-1;if(C(n.widget)&&n.widget.startup(),!r)return void i.appendChild(n.node);const s=Array.from(i.children);if(0!==s.length){for(const t of s){const o=this._findByNode(t);if(o&&e<(this._componentMap.get(o)?.index??0))return void t.parentNode?.insertBefore(n.node,t)}i.appendChild(n.node)}else i.appendChild(n.node)}_toPixelPosition(t){return{top:v(t.top),left:v(t.left),right:v(t.right),bottom:v(t.bottom)}}_findByComponent(t){return this._components.find(o=>o===t)??null}_findById(t){return this._components.find(({id:o})=>o===t)??null}_findByNode(t){return t?this._components.find(({node:o})=>o===t):null}_getComponentsAtPosition(t,o){const e=this._positionNameToContainerLookup[t];return Array.prototype.slice.call(e.children).map(t=>this._findByNode(t)).filter(n).filter(t=>o.includeInternal||!this._componentMap.get(t)?.internal).map(({widget:t,node:o})=>t??o)}_getNumComponentsAtPosition(t){const o=this._positionNameToContainerLookup[t];return o?.children.length??0}};t([a()],P.prototype,"_locale",void 0),t([a()],P.prototype,"container",null),t([a()],P.prototype,"height",null),t([a({value:_})],P.prototype,"padding",null),t([p("padding")],P.prototype,"castPadding",null),t([a()],P.prototype,"view",void 0),t([a()],P.prototype,"width",null),P=t([d("esri.views.ui.UI")],P);const x=P;export{x as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as o}from"tslib";import r from"../core/Clonable.js";import e from"../core/JSONSupport.js";import{property as s}from"../core/accessorSupport/decorators/property.js";import"../core/has.js";import"../core/Logger.js";import"../core/RandomLCG.js";import{subclass as t}from"../core/accessorSupport/decorators/subclass.js";import{types as p}from"./geotriggersInfo/support/geotriggerTypes.js";let i=class extends(r.ClonableMixin(e)){constructor(o){super(o),this.geotriggers=null}};o([s({types:[p],json:{write:{isRequired:!0}}})],i.prototype,"geotriggers",void 0),i=o([t("esri.webdoc.GeotriggersInfo")],i);const c=i;export{c as default};
5
+ import{__decorate as r}from"tslib";import{ClonableMixin as o}from"../core/Clonable.js";import e from"../core/JSONSupport.js";import{property as s}from"../core/accessorSupport/decorators/property.js";import"../core/has.js";import"../core/Logger.js";import"../core/RandomLCG.js";import{subclass as t}from"../core/accessorSupport/decorators/subclass.js";import{types as p}from"./geotriggersInfo/support/geotriggerTypes.js";let i=class extends(o(e)){constructor(r){super(r),this.geotriggers=null}};r([s({types:[p],json:{write:{isRequired:!0}}})],i.prototype,"geotriggers",void 0),i=r([t("esri.webdoc.GeotriggersInfo")],i);const c=i;export{c as default};
package/webdoc/IPSInfo.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as o}from"tslib";import r from"../core/Clonable.js";import i from"../core/JSONSupport.js";import{property as t}from"../core/accessorSupport/decorators/property.js";import"../core/has.js";import"../core/Logger.js";import"../core/RandomLCG.js";import{subclass as s}from"../core/accessorSupport/decorators/subclass.js";import e from"./ips/Configuration.js";import p from"./ips/PositioningService.js";let c=class extends(r.ClonableMixin(i)){constructor(o){super(o),this.positioningService=null,this.configuration=null}};o([t({type:p,json:{write:{isRequired:!0}}})],c.prototype,"positioningService",void 0),o([t({type:e,json:{write:!0}})],c.prototype,"configuration",void 0),c=o([s("esri.webdoc.IPSInfo")],c);const n=c;export{n as default};
5
+ import{__decorate as o}from"tslib";import{ClonableMixin as r}from"../core/Clonable.js";import i from"../core/JSONSupport.js";import{property as t}from"../core/accessorSupport/decorators/property.js";import"../core/has.js";import"../core/Logger.js";import"../core/RandomLCG.js";import{subclass as s}from"../core/accessorSupport/decorators/subclass.js";import e from"./ips/Configuration.js";import p from"./ips/PositioningService.js";let c=class extends(r(i)){constructor(o){super(o),this.positioningService=null,this.configuration=null}};o([t({type:p,json:{write:{isRequired:!0}}})],c.prototype,"positioningService",void 0),o([t({type:e,json:{write:!0}})],c.prototype,"configuration",void 0),c=o([s("esri.webdoc.IPSInfo")],c);const n=c;export{n as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as o}from"tslib";import e from"../../core/Clonable.js";import{JSONMap as r}from"../../core/jsonMap.js";import t from"../../core/JSONSupport.js";import{property as s}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{subclass as i}from"../../core/accessorSupport/decorators/subclass.js";import p from"./ExpressionInfo.js";const c=new r({deviceLocation:"device-location"});let n=class extends(e.ClonableMixin(t)){constructor(o){super(o),this.filterExpression=null,this.type="device-location"}};o([s({type:p,json:{write:!0}})],n.prototype,"filterExpression",void 0),o([s({type:c.apiValues,readOnly:!0,json:{type:c.jsonValues,read:c.read,write:c.write}})],n.prototype,"type",void 0),n=o([i("esri.webdoc.geotriggersInfo.DeviceLocationFeed")],n);const a=n;export{a as default};
5
+ import{__decorate as o}from"tslib";import{ClonableMixin as r}from"../../core/Clonable.js";import{JSONMap as e}from"../../core/jsonMap.js";import t from"../../core/JSONSupport.js";import{property as s}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{subclass as i}from"../../core/accessorSupport/decorators/subclass.js";import p from"./ExpressionInfo.js";const c=new e({deviceLocation:"device-location"});let a=class extends(r(t)){constructor(o){super(o),this.filterExpression=null,this.type="device-location"}};o([s({type:p,json:{write:!0}})],a.prototype,"filterExpression",void 0),o([s({type:c.apiValues,readOnly:!0,json:{type:c.jsonValues,read:c.read,write:c.write}})],a.prototype,"type",void 0),a=o([i("esri.webdoc.geotriggersInfo.DeviceLocationFeed")],a);const n=a;export{n as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as r}from"tslib";import o from"../../core/Clonable.js";import e from"../../core/JSONSupport.js";import{property as t}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{subclass as s}from"../../core/accessorSupport/decorators/subclass.js";let i=class extends(o.ClonableMixin(e)){constructor(r){super(r),this.expression=null,this.returnType="string",this.title=null}};r([t({type:String,json:{write:{isRequired:!0}}})],i.prototype,"expression",void 0),r([t({type:["number","string"],json:{write:!0}})],i.prototype,"returnType",void 0),r([t({type:String,json:{write:!0}})],i.prototype,"title",void 0),i=r([s("esri.webdoc.geotriggersInfo.ExpressionInfo")],i);const p=i;export{p as default};
5
+ import{__decorate as r}from"tslib";import{ClonableMixin as o}from"../../core/Clonable.js";import t from"../../core/JSONSupport.js";import{property as e}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{subclass as s}from"../../core/accessorSupport/decorators/subclass.js";let p=class extends(o(t)){constructor(r){super(r),this.expression=null,this.returnType="string",this.title=null}};r([e({type:String,json:{write:{isRequired:!0}}})],p.prototype,"expression",void 0),r([e({type:["number","string"],json:{write:!0}})],p.prototype,"returnType",void 0),r([e({type:String,json:{write:!0}})],p.prototype,"title",void 0),p=r([s("esri.webdoc.geotriggersInfo.ExpressionInfo")],p);const i=p;export{i as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as r}from"tslib";import e from"../../core/Clonable.js";import o from"../../core/JSONSupport.js";import{property as t}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{enumeration as s}from"../../core/accessorSupport/decorators/enumeration.js";import{subclass as p}from"../../core/accessorSupport/decorators/subclass.js";import i from"./FeatureFilter.js";import c from"./FeatureLayerSource.js";let a=class extends(e.ClonableMixin(o)){constructor(r){super(r),this.fenceSource=null,this.filter=null,this.bufferDistance=null,this.type="features"}};r([t({type:c,json:{write:{isRequired:!0}}})],a.prototype,"fenceSource",void 0),r([t({type:i,json:{write:!0}})],a.prototype,"filter",void 0),r([t({type:Number,json:{write:!0}})],a.prototype,"bufferDistance",void 0),r([s({features:"features"},{readOnly:!0})],a.prototype,"type",void 0),a=r([p("esri.webdoc.geotriggersInfo.FeatureFenceParameters")],a);const u=a;export{u as default};
5
+ import{__decorate as r}from"tslib";import{ClonableMixin as e}from"../../core/Clonable.js";import o from"../../core/JSONSupport.js";import{property as t}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{enumeration as s}from"../../core/accessorSupport/decorators/enumeration.js";import{subclass as p}from"../../core/accessorSupport/decorators/subclass.js";import i from"./FeatureFilter.js";import c from"./FeatureLayerSource.js";let a=class extends(e(o)){constructor(r){super(r),this.fenceSource=null,this.filter=null,this.bufferDistance=null,this.type="features"}};r([t({type:c,json:{write:{isRequired:!0}}})],a.prototype,"fenceSource",void 0),r([t({type:i,json:{write:!0}})],a.prototype,"filter",void 0),r([t({type:Number,json:{write:!0}})],a.prototype,"bufferDistance",void 0),r([s({features:"features"},{readOnly:!0})],a.prototype,"type",void 0),a=r([p("esri.webdoc.geotriggersInfo.FeatureFenceParameters")],a);const u=a;export{u as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as o}from"tslib";import r from"../../core/Clonable.js";import e from"../../core/JSONSupport.js";import{property as t}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{subclass as s}from"../../core/accessorSupport/decorators/subclass.js";import{fromJSON as p}from"../../geometry/support/jsonUtils.js";import{geometryTypes as i}from"../../geometry/support/typeUtils.js";let m=class extends(r.ClonableMixin(e)){constructor(o){super(o),this.geometry=null,this.where=null}};o([t({types:i,json:{read:p,write:!0}})],m.prototype,"geometry",void 0),o([t({type:String,json:{write:!0}})],m.prototype,"where",void 0),m=o([s("esri.webdoc.geotriggersInfo.FeatureFilter")],m);const c=m;export{c as default};
5
+ import{__decorate as o}from"tslib";import{ClonableMixin as r}from"../../core/Clonable.js";import e from"../../core/JSONSupport.js";import{property as t}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{subclass as s}from"../../core/accessorSupport/decorators/subclass.js";import{fromJSON as p}from"../../geometry/support/jsonUtils.js";import{geometryTypes as i}from"../../geometry/support/typeUtils.js";let m=class extends(r(e)){constructor(o){super(o),this.geometry=null,this.where=null}};o([t({types:i,json:{read:p,write:!0}})],m.prototype,"geometry",void 0),o([t({type:String,json:{write:!0}})],m.prototype,"where",void 0),m=o([s("esri.webdoc.geotriggersInfo.FeatureFilter")],m);const c=m;export{c as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as r}from"tslib";import e from"../../core/Clonable.js";import o from"../../core/JSONSupport.js";import{property as t}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{enumeration as s}from"../../core/accessorSupport/decorators/enumeration.js";import{subclass as i}from"../../core/accessorSupport/decorators/subclass.js";let l=class extends(e.ClonableMixin(o)){constructor(r){super(r),this.layerId=null,this.layerUrl=null,this.type="feature-layer"}};r([t({type:String,json:{write:{overridePolicy(){return{isRequired:null===this.layerUrl}}}}})],l.prototype,"layerId",void 0),r([t({type:String,json:{write:{overridePolicy(){return{isRequired:null===this.layerId}}}}})],l.prototype,"layerUrl",void 0),r([s({featureLayer:"feature-layer"},{readOnly:!0})],l.prototype,"type",void 0),l=r([i("esri.webdoc.geotriggersInfo.FeatureLayerSource")],l);const p=l;export{p as default};
5
+ import{__decorate as r}from"tslib";import{ClonableMixin as e}from"../../core/Clonable.js";import o from"../../core/JSONSupport.js";import{property as t}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{enumeration as s}from"../../core/accessorSupport/decorators/enumeration.js";import{subclass as i}from"../../core/accessorSupport/decorators/subclass.js";let p=class extends(e(o)){constructor(r){super(r),this.layerId=null,this.layerUrl=null,this.type="feature-layer"}};r([t({type:String,json:{write:{overridePolicy(){return{isRequired:null===this.layerUrl}}}}})],p.prototype,"layerId",void 0),r([t({type:String,json:{write:{overridePolicy(){return{isRequired:null===this.layerId}}}}})],p.prototype,"layerUrl",void 0),r([s({featureLayer:"feature-layer"},{readOnly:!0})],p.prototype,"type",void 0),p=r([i("esri.webdoc.geotriggersInfo.FeatureLayerSource")],p);const a=p;export{a as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as o}from"tslib";import r from"../../core/Clonable.js";import e from"../../core/JSONSupport.js";import"../../core/Logger.js";import"../../core/has.js";import"../../core/RandomLCG.js";import"../../core/Error.js";import{enumeration as t}from"../../core/accessorSupport/decorators/enumeration.js";import{subclass as s}from"../../core/accessorSupport/decorators/subclass.js";let c=class extends(r.ClonableMixin(e)){constructor(o){super(o),this.type="fence"}};o([t({fence:"fence"},{readOnly:!0})],c.prototype,"type",void 0),c=o([s("esri.webdoc.geotriggersInfo.Geotrigger")],c);const p=c;export{p as default};
5
+ import{__decorate as o}from"tslib";import{ClonableMixin as r}from"../../core/Clonable.js";import e from"../../core/JSONSupport.js";import"../../core/Logger.js";import"../../core/has.js";import"../../core/RandomLCG.js";import"../../core/Error.js";import{enumeration as t}from"../../core/accessorSupport/decorators/enumeration.js";import{subclass as s}from"../../core/accessorSupport/decorators/subclass.js";let c=class extends(r(e)){constructor(o){super(o),this.type="fence"}};o([t({fence:"fence"},{readOnly:!0})],c.prototype,"type",void 0),c=o([s("esri.webdoc.geotriggersInfo.Geotrigger")],c);const p=c;export{p as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as o}from"tslib";import r from"../../core/Clonable.js";import e from"../../core/JSONSupport.js";import{property as s}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{subclass as t}from"../../core/accessorSupport/decorators/subclass.js";import i from"./ExpressionInfo.js";let p=class extends(r.ClonableMixin(e)){constructor(o){super(o),this.expressionInfo=null,this.requestedActions=null}};o([s({type:i,json:{write:!0}})],p.prototype,"expressionInfo",void 0),o([s({type:[String],json:{write:!0}})],p.prototype,"requestedActions",void 0),p=o([t("esri.webdoc.geotriggersInfo.GeotriggerNotificationOptions")],p);const n=p;export{n as default};
5
+ import{__decorate as o}from"tslib";import{ClonableMixin as r}from"../../core/Clonable.js";import e from"../../core/JSONSupport.js";import{property as s}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{subclass as t}from"../../core/accessorSupport/decorators/subclass.js";import i from"./ExpressionInfo.js";let p=class extends(r(e)){constructor(o){super(o),this.expressionInfo=null,this.requestedActions=null}};o([s({type:i,json:{write:!0}})],p.prototype,"expressionInfo",void 0),o([s({type:[String],json:{write:!0}})],p.prototype,"requestedActions",void 0),p=o([t("esri.webdoc.geotriggersInfo.GeotriggerNotificationOptions")],p);const c=p;export{c as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as o}from"tslib";import r from"../../core/Clonable.js";import e from"../../core/JSONSupport.js";import{property as s}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{subclass as t}from"../../core/accessorSupport/decorators/subclass.js";let p=class extends(r.ClonableMixin(e)){constructor(o){super(o),this.enabled=!0}};o([s({type:Boolean,nonNullable:!0,json:{write:!0}})],p.prototype,"enabled",void 0),p=o([t("esri.webdoc.ips.AppleIPSProperties")],p);const c=p;export{c as default};
5
+ import{__decorate as o}from"tslib";import{ClonableMixin as r}from"../../core/Clonable.js";import e from"../../core/JSONSupport.js";import{property as s}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{subclass as t}from"../../core/accessorSupport/decorators/subclass.js";let p=class extends(r(e)){constructor(o){super(o),this.enabled=!0}};o([s({type:Boolean,nonNullable:!0,json:{write:!0}})],p.prototype,"enabled",void 0),p=o([t("esri.webdoc.ips.AppleIPSProperties")],p);const c=p;export{c as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as o}from"tslib";import r from"../../core/Clonable.js";import t from"../../core/JSONSupport.js";import{property as p}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{subclass as e}from"../../core/accessorSupport/decorators/subclass.js";import s from"./AppleIPSProperties.js";import i from"./GNSSProperties.js";import n from"./PathSnappingProperties.js";import m from"./SmoothingProperties.js";let a=class extends(r.ClonableMixin(t)){constructor(o){super(o),this.appleIPS=null,this.gnss=null,this.smoothing=null,this.pathSnapping=null}};o([p({type:s,json:{name:"AppleIPS",write:!0}})],a.prototype,"appleIPS",void 0),o([p({type:i,json:{name:"GNSS",write:!0}})],a.prototype,"gnss",void 0),o([p({type:m,json:{write:!0}})],a.prototype,"smoothing",void 0),o([p({type:n,json:{write:!0}})],a.prototype,"pathSnapping",void 0),a=o([e("esri.webdoc.ips.Configuration")],a);const l=a;export{l as default};
5
+ import{__decorate as o}from"tslib";import{ClonableMixin as r}from"../../core/Clonable.js";import t from"../../core/JSONSupport.js";import{property as p}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{subclass as s}from"../../core/accessorSupport/decorators/subclass.js";import e from"./AppleIPSProperties.js";import i from"./GNSSProperties.js";import n from"./PathSnappingProperties.js";import m from"./SmoothingProperties.js";let a=class extends(r(t)){constructor(o){super(o),this.appleIPS=null,this.gnss=null,this.smoothing=null,this.pathSnapping=null}};o([p({type:e,json:{name:"AppleIPS",write:!0}})],a.prototype,"appleIPS",void 0),o([p({type:i,json:{name:"GNSS",write:!0}})],a.prototype,"gnss",void 0),o([p({type:m,json:{write:!0}})],a.prototype,"smoothing",void 0),o([p({type:n,json:{write:!0}})],a.prototype,"pathSnapping",void 0),a=o([s("esri.webdoc.ips.Configuration")],a);const c=a;export{c as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as o}from"tslib";import r from"../../core/Clonable.js";import e from"../../core/JSONSupport.js";import{property as s}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{subclass as t}from"../../core/accessorSupport/decorators/subclass.js";let p=class extends(r.ClonableMixin(e)){constructor(o){super(o),this.enabled=!0}};o([s({type:Boolean,nonNullable:!0,json:{write:!0}})],p.prototype,"enabled",void 0),p=o([t("esri.webdoc.ips.GNSSProperties")],p);const c=p;export{c as default};
5
+ import{__decorate as o}from"tslib";import{ClonableMixin as r}from"../../core/Clonable.js";import e from"../../core/JSONSupport.js";import{property as s}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{subclass as t}from"../../core/accessorSupport/decorators/subclass.js";let p=class extends(r(e)){constructor(o){super(o),this.enabled=!0}};o([s({type:Boolean,nonNullable:!0,json:{write:!0}})],p.prototype,"enabled",void 0),p=o([t("esri.webdoc.ips.GNSSProperties")],p);const c=p;export{c as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as o}from"tslib";import e from"../../core/Clonable.js";import r from"../../core/JSONSupport.js";import{property as t}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{subclass as s}from"../../core/accessorSupport/decorators/subclass.js";let p=class extends(e.ClonableMixin(r)){constructor(o){super(o),this.enabled=!0,this.distance=5,this.units="meter"}};o([t({type:Boolean,nonNullable:!0,json:{write:!0}})],p.prototype,"enabled",void 0),o([t({type:Number,nonNullable:!0,json:{write:!0}})],p.prototype,"distance",void 0),o([t({type:["feet","meter"],nonNullable:!0,json:{write:!0}})],p.prototype,"units",void 0),p=o([s("esri.webdoc.ips.PathSnappingProperties")],p);const i=p;export{i as default};
5
+ import{__decorate as o}from"tslib";import{ClonableMixin as e}from"../../core/Clonable.js";import r from"../../core/JSONSupport.js";import{property as t}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{subclass as s}from"../../core/accessorSupport/decorators/subclass.js";let p=class extends(e(r)){constructor(o){super(o),this.enabled=!0,this.distance=5,this.units="meter"}};o([t({type:Boolean,nonNullable:!0,json:{write:!0}})],p.prototype,"enabled",void 0),o([t({type:Number,nonNullable:!0,json:{write:!0}})],p.prototype,"distance",void 0),o([t({type:["feet","meter"],nonNullable:!0,json:{write:!0}})],p.prototype,"units",void 0),p=o([s("esri.webdoc.ips.PathSnappingProperties")],p);const i=p;export{i as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as r}from"tslib";import o from"../../core/Clonable.js";import t from"../../core/JSONSupport.js";import{property as e}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{reader as p}from"../../core/accessorSupport/decorators/reader.js";import{subclass as s}from"../../core/accessorSupport/decorators/subclass.js";import{writer as i}from"../../core/accessorSupport/decorators/writer.js";import m from"../../portal/PortalItem.js";let a=class extends(o.ClonableMixin(t)){constructor(r){super(r),this.portalItem=null}readPortalItem(r,o,t){const{itemId:e}=o;if(e)return new m({id:e,portal:t?.portal})}writePortalItem(r,o){r?.id&&(o.itemId=r.id)}};r([e({type:m,json:{write:{isRequired:!0}}})],a.prototype,"portalItem",void 0),r([p("portalItem",["itemId"])],a.prototype,"readPortalItem",null),r([i("portalItem",{itemId:{type:String}})],a.prototype,"writePortalItem",null),a=r([s("esri.webdoc.ips.PositioningService")],a);const c=a;export{c as default};
5
+ import{__decorate as r}from"tslib";import{ClonableMixin as o}from"../../core/Clonable.js";import t from"../../core/JSONSupport.js";import{property as e}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{reader as p}from"../../core/accessorSupport/decorators/reader.js";import{subclass as s}from"../../core/accessorSupport/decorators/subclass.js";import{writer as i}from"../../core/accessorSupport/decorators/writer.js";import m from"../../portal/PortalItem.js";let a=class extends(o(t)){constructor(r){super(r),this.portalItem=null}readPortalItem(r,o,t){const{itemId:e}=o;if(e)return new m({id:e,portal:t?.portal})}writePortalItem(r,o){r?.id&&(o.itemId=r.id)}};r([e({type:m,json:{write:{isRequired:!0}}})],a.prototype,"portalItem",void 0),r([p("portalItem",["itemId"])],a.prototype,"readPortalItem",null),r([i("portalItem",{itemId:{type:String}})],a.prototype,"writePortalItem",null),a=r([s("esri.webdoc.ips.PositioningService")],a);const c=a;export{c as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as o}from"tslib";import r from"../../core/Clonable.js";import e from"../../core/JSONSupport.js";import{property as s}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{subclass as t}from"../../core/accessorSupport/decorators/subclass.js";let p=class extends(r.ClonableMixin(e)){constructor(o){super(o),this.enabled=!0}};o([s({type:Boolean,nonNullable:!0,json:{write:!0}})],p.prototype,"enabled",void 0),p=o([t("esri.webdoc.ips.SmoothingProperties")],p);const c=p;export{c as default};
5
+ import{__decorate as o}from"tslib";import{ClonableMixin as r}from"../../core/Clonable.js";import e from"../../core/JSONSupport.js";import{property as s}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{subclass as t}from"../../core/accessorSupport/decorators/subclass.js";let p=class extends(r(e)){constructor(o){super(o),this.enabled=!0}};o([s({type:Boolean,nonNullable:!0,json:{write:!0}})],p.prototype,"enabled",void 0),p=o([t("esri.webdoc.ips.SmoothingProperties")],p);const c=p;export{c as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as t}from"tslib";import e from"../Viewpoint.js";import o from"../core/Error.js";import r from"../core/Identifiable.js";import i from"../core/JSONSupport.js";import{clone as n}from"../core/lang.js";import s from"../core/Logger.js";import{property as p}from"../core/accessorSupport/decorators/property.js";import{cast as m}from"../core/accessorSupport/decorators/cast.js";import{reader as a}from"../core/accessorSupport/decorators/reader.js";import{subclass as l}from"../core/accessorSupport/decorators/subclass.js";import{writer as c}from"../core/accessorSupport/decorators/writer.js";import{ensureType as u}from"../core/accessorSupport/ensureType.js";import{SlideThumbnail as w}from"../webdoc/support/SlideThumbnail.js";import{timeExtent as d}from"../webdoc/support/timeProperties.js";var h;let f=h=class extends(r.IdentifiableMixin(i)){constructor(t){super(t),this.name=null,this.thumbnail=new w,this.timeExtent=null}castThumbnail(t){return"string"==typeof t?new w({url:t}):u(w,t)}set viewpoint(t){const{targetGeometry:e,scale:o}=t;null!=e&&"point"===e.type&&null==o&&s.getLogger(this).warn("Bookmark.viewpoint should include 'scale' when its targetGeometry is a point.",t),this._set("viewpoint",t)}readViewpoint(t,o){const{extent:r,viewpoint:i}=o;return e.fromJSON(i||{targetGeometry:r})}writeViewpoint(t,e,r,i){if(!t)return;const{targetGeometry:n}=t;if(null!=n&&"extent"!==n.type){const t="Bookmark.viewpoint cannot be written to JSON when the viewpoint's targetGeometry is not an extent.";return void(i?.messages?i.messages.push(new o("property:unsupported",t)):s.getLogger(this).error(t))}null!=n&&(e.extent=n.toJSON()),e[r]=t.toJSON()}clone(){return new h(n({name:this.name,thumbnail:this.thumbnail,timeExtent:this.timeExtent,viewpoint:this.viewpoint}))}};t([p({type:String,nonNullable:!0,json:{write:{isRequired:!0}}})],f.prototype,"name",void 0),t([p({type:w,json:{write:{overridePolicy:t=>({enabled:!(!t||!t.url)})}}})],f.prototype,"thumbnail",void 0),t([m("thumbnail")],f.prototype,"castThumbnail",null),t([p(d)],f.prototype,"timeExtent",void 0),t([p({type:e,nonNullable:!0,json:{write:!0}})],f.prototype,"viewpoint",null),t([a("viewpoint",["extent","viewpoint"])],f.prototype,"readViewpoint",null),t([c("viewpoint")],f.prototype,"writeViewpoint",null),f=h=t([l("esri.webmap.Bookmark")],f);const y=f;export{y as default};
5
+ import{__decorate as t}from"tslib";import e from"../Viewpoint.js";import o from"../core/Error.js";import{IdentifiableMixin as r}from"../core/Identifiable.js";import i from"../core/JSONSupport.js";import{clone as n}from"../core/lang.js";import s from"../core/Logger.js";import{property as p}from"../core/accessorSupport/decorators/property.js";import{cast as m}from"../core/accessorSupport/decorators/cast.js";import{reader as a}from"../core/accessorSupport/decorators/reader.js";import{subclass as l}from"../core/accessorSupport/decorators/subclass.js";import{writer as c}from"../core/accessorSupport/decorators/writer.js";import{ensureType as u}from"../core/accessorSupport/ensureType.js";import{SlideThumbnail as w}from"../webdoc/support/SlideThumbnail.js";import{timeExtent as d}from"../webdoc/support/timeProperties.js";var h;let y=h=class extends(r(i)){constructor(t){super(t),this.name=null,this.thumbnail=new w,this.timeExtent=null}castThumbnail(t){return"string"==typeof t?new w({url:t}):u(w,t)}set viewpoint(t){const{targetGeometry:e,scale:o}=t;null!=e&&"point"===e.type&&null==o&&s.getLogger(this).warn("Bookmark.viewpoint should include 'scale' when its targetGeometry is a point.",t),this._set("viewpoint",t)}readViewpoint(t,o){const{extent:r,viewpoint:i}=o;return e.fromJSON(i||{targetGeometry:r})}writeViewpoint(t,e,r,i){if(!t)return;const{targetGeometry:n}=t;if(null!=n&&"extent"!==n.type){const t="Bookmark.viewpoint cannot be written to JSON when the viewpoint's targetGeometry is not an extent.";return void(i?.messages?i.messages.push(new o("property:unsupported",t)):s.getLogger(this).error(t))}null!=n&&(e.extent=n.toJSON()),e[r]=t.toJSON()}clone(){return new h(n({name:this.name,thumbnail:this.thumbnail,timeExtent:this.timeExtent,viewpoint:this.viewpoint}))}};t([p({type:String,nonNullable:!0,json:{write:{isRequired:!0}}})],y.prototype,"name",void 0),t([p({type:w,json:{write:{overridePolicy:t=>({enabled:!(!t||!t.url)})}}})],y.prototype,"thumbnail",void 0),t([m("thumbnail")],y.prototype,"castThumbnail",null),t([p(d)],y.prototype,"timeExtent",void 0),t([p({type:e,nonNullable:!0,json:{write:!0}})],y.prototype,"viewpoint",null),t([a("viewpoint",["extent","viewpoint"])],y.prototype,"readViewpoint",null),t([c("viewpoint")],y.prototype,"writeViewpoint",null),y=h=t([l("esri.webmap.Bookmark")],y);const f=y;export{f as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as o}from"tslib";import t from"../Viewpoint.js";import e from"../core/Accessor.js";import r from"../core/Clonable.js";import{property as i}from"../core/accessorSupport/decorators/property.js";import"../core/has.js";import"../core/Logger.js";import"../core/RandomLCG.js";import{subclass as p}from"../core/accessorSupport/decorators/subclass.js";import s from"../geometry/SpatialReference.js";import{system as n}from"../time/constants.js";import{T as m}from"../chunks/TimeExtent.js";import a from"../webdoc/RangeInfo.js";import c from"./background/ColorBackground.js";let l=class extends(r.ClonableMixin(e)){constructor(o){super(o),this.background=null,this.rangeInfo=null,this.spatialReference=null,this.timeExtent=null,this.timeZone=n,this.viewpoint=null}};o([i({type:c})],l.prototype,"background",void 0),o([i({type:a})],l.prototype,"rangeInfo",void 0),o([i({type:s})],l.prototype,"spatialReference",void 0),o([i({type:m})],l.prototype,"timeExtent",void 0),o([i({nonNullable:!0})],l.prototype,"timeZone",void 0),o([i({type:t})],l.prototype,"viewpoint",void 0),l=o([p("esri.webmap.InitialViewProperties")],l);const f=l;export{f as default};
5
+ import{__decorate as o}from"tslib";import t from"../Viewpoint.js";import e from"../core/Accessor.js";import{ClonableMixin as r}from"../core/Clonable.js";import{property as i}from"../core/accessorSupport/decorators/property.js";import"../core/has.js";import"../core/Logger.js";import"../core/RandomLCG.js";import{subclass as p}from"../core/accessorSupport/decorators/subclass.js";import s from"../geometry/SpatialReference.js";import{system as n}from"../time/constants.js";import{T as m}from"../chunks/TimeExtent.js";import c from"../webdoc/RangeInfo.js";import a from"./background/ColorBackground.js";let l=class extends(r(e)){constructor(o){super(o),this.background=null,this.rangeInfo=null,this.spatialReference=null,this.timeExtent=null,this.timeZone=n,this.viewpoint=null}};o([i({type:a})],l.prototype,"background",void 0),o([i({type:c})],l.prototype,"rangeInfo",void 0),o([i({type:s})],l.prototype,"spatialReference",void 0),o([i({type:m})],l.prototype,"timeExtent",void 0),o([i({nonNullable:!0})],l.prototype,"timeZone",void 0),o([i({type:t})],l.prototype,"viewpoint",void 0),l=o([p("esri.webmap.InitialViewProperties")],l);const f=l;export{f as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as e}from"tslib";import o from"../Viewpoint.js";import t from"../core/Clonable.js";import r from"../core/JSONSupport.js";import{property as i}from"../core/accessorSupport/decorators/property.js";import"../core/has.js";import"../core/Logger.js";import"../core/RandomLCG.js";import{subclass as s}from"../core/accessorSupport/decorators/subclass.js";import p from"../geometry/SpatialReference.js";import{timeExtent as n}from"../webdoc/support/timeProperties.js";import l from"./Environment.js";import{WebSceneAnalysesCollection as a,webSceneAnalysisCollectionProperty as m}from"./support/analysisUtils.js";let c=class extends(t.ClonableMixin(r)){constructor(e){super(e),this.analyses=new a,this.environment=new l,this.spatialReference=null,this.viewpoint=null,this.timeExtent=null}set viewingMode(e){this._set("viewingMode",e)}};e([i(m("analyses"))],c.prototype,"analyses",void 0),e([i({type:l,json:{write:{isRequired:!0}}})],c.prototype,"environment",void 0),e([i({type:p,json:{default:()=>p.WebMercator}})],c.prototype,"spatialReference",void 0),e([i({type:["local","global"],json:{default:"global"}})],c.prototype,"viewingMode",null),e([i({type:o,json:{write:{isRequired:!0}}})],c.prototype,"viewpoint",void 0),e([i(n)],c.prototype,"timeExtent",void 0),c=e([s("esri.webscene.InitialViewProperties")],c);const d=c;export{d as default};
5
+ import{__decorate as e}from"tslib";import o from"../Viewpoint.js";import{ClonableMixin as t}from"../core/Clonable.js";import r from"../core/JSONSupport.js";import{property as s}from"../core/accessorSupport/decorators/property.js";import"../core/has.js";import"../core/Logger.js";import"../core/RandomLCG.js";import{subclass as i}from"../core/accessorSupport/decorators/subclass.js";import p from"../geometry/SpatialReference.js";import{timeExtent as n}from"../webdoc/support/timeProperties.js";import a from"./Environment.js";import{WebSceneAnalysesCollection as l,webSceneAnalysisCollectionProperty as m}from"./support/analysisUtils.js";let c=class extends(t(r)){constructor(e){super(e),this.analyses=new l,this.environment=new a,this.spatialReference=null,this.viewpoint=null,this.timeExtent=null}set viewingMode(e){this._set("viewingMode",e)}};e([s(m("analyses"))],c.prototype,"analyses",void 0),e([s({type:a,json:{write:{isRequired:!0}}})],c.prototype,"environment",void 0),e([s({type:p,json:{default:()=>p.WebMercator}})],c.prototype,"spatialReference",void 0),e([s({type:["local","global"],json:{default:"global"}})],c.prototype,"viewingMode",null),e([s({type:o,json:{write:{isRequired:!0}}})],c.prototype,"viewpoint",void 0),e([s(n)],c.prototype,"timeExtent",void 0),c=e([i("esri.webscene.InitialViewProperties")],c);const d=c;export{d as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as o}from"tslib";import s from"../core/Clonable.js";import r from"../core/Collection.js";import{referenceSetter as e,castForReferenceSetter as t}from"../core/collectionUtils.js";import i from"../core/JSONSupport.js";import{property as c}from"../core/accessorSupport/decorators/property.js";import{cast as l}from"../core/accessorSupport/decorators/cast.js";import"../core/has.js";import"../core/RandomLCG.js";import{subclass as p}from"../core/accessorSupport/decorators/subclass.js";import m from"./Slide.js";const n=r.ofType(m);let a=class extends(s.ClonableMixin(i)){constructor(o){super(o),this.slides=new n}destroy(){this.slides.forEach(o=>o.destroy()),this.slides.removeAll()}set slides(o){o&&(o=o.filter(o=>!!o.viewpoint)),this._set("slides",e(o,this._get("slides"),n))}};o([c({type:n,nonNullable:!0,json:{write:!0}}),l(t)],a.prototype,"slides",null),a=o([p("esri.webscene.Presentation")],a);const d=a;export{d as default};
5
+ import{__decorate as o}from"tslib";import{ClonableMixin as s}from"../core/Clonable.js";import r from"../core/Collection.js";import{referenceSetter as e,castForReferenceSetter as t}from"../core/collectionUtils.js";import i from"../core/JSONSupport.js";import{property as c}from"../core/accessorSupport/decorators/property.js";import{cast as l}from"../core/accessorSupport/decorators/cast.js";import"../core/has.js";import"../core/RandomLCG.js";import{subclass as p}from"../core/accessorSupport/decorators/subclass.js";import m from"./Slide.js";const a=r.ofType(m);let n=class extends(s(i)){constructor(o){super(o),this.slides=new a}destroy(){this.slides.forEach(o=>o.destroy()),this.slides.removeAll()}set slides(o){o&&(o=o.filter(o=>!!o.viewpoint)),this._set("slides",e(o,this._get("slides"),a))}};o([c({type:a,nonNullable:!0,json:{write:!0}}),l(t)],n.prototype,"slides",null),n=o([p("esri.webscene.Presentation")],n);const d=n;export{d as default};
package/webscene/Slide.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as e}from"tslib";import t from"../Basemap.js";import i from"../Viewpoint.js";import{result as n}from"../core/asyncUtils.js";import r from"../core/Clonable.js";import o from"../core/Collection.js";import{referenceSetter as s}from"../core/collectionUtils.js";import a from"../core/JSONSupport.js";import l from"../core/Logger.js";import{moduloPositive as p}from"../core/mathUtils.js";import{destroyMaybe as m,removeMaybe as c}from"../core/maybe.js";import{onAbortOrThrow as h,createAbortError as d,isAbortError as u}from"../core/promiseUtils.js";import{whenOnce as y,when as g}from"../core/reactiveUtils.js";import{Milliseconds as b,Seconds as v}from"../core/time.js";import{property as w}from"../core/accessorSupport/decorators/property.js";import{cast as f}from"../core/accessorSupport/decorators/cast.js";import"../core/has.js";import"../core/RandomLCG.js";import{subclass as T}from"../core/accessorSupport/decorators/subclass.js";import{ensureType as j}from"../core/accessorSupport/ensureType.js";import{s as L}from"../chunks/vec32.js";import{create as C}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import _ from"../layers/Layer.js";import{basemapEnsureType as E,clonePreservingTiledLayers as S}from"../support/basemapEnsureType.js";import{TaskPriority as k}from"../views/support/Scheduler.js";import{SlideThumbnail as A}from"../webdoc/support/SlideThumbnail.js";import{timeExtent as V}from"../webdoc/support/timeProperties.js";import U from"./SunLighting.js";import x from"./VirtualLighting.js";import F from"./support/Description.js";import I from"./support/SlideElements.js";import{SlideEnvironment as D}from"./support/SlideEnvironment.js";import R from"./support/SlideGround.js";import{SlideVisibleLayer as M}from"./support/SlideVisibleLayer.js";import O from"./support/Title.js";let P=0;const q=o.ofType(M),B=["caption","cover","none"];let G=class extends(r.ClonableMixin(a)){constructor(e){super(e),this.id=Date.now().toString(16)+"-slide-"+P++,this.title=new O,this.description=new F,this.hidden=!1,this.thumbnail=new A,this.viewpoint=null,this.basemap=null,this.ground=null,this.layout="caption",this.enabledFocusAreas=null,this.environment=new D,this.timeExtent=null,this.elements=new I,this.visibleLayers=new q}destroy(){this.visibleLayers.removeAll(),this.enabledFocusAreas=null,this.basemap=null,this.thumbnail=m(this.thumbnail),this.description=null,this.title=null,this.thumbnail=null,this.elements=null}castTitle(e){return"string"==typeof e?new O({text:e}):j(O,e)}castDescription(e){return"string"==typeof e?new F({text:e}):j(F,e)}castThumbnail(e){return"string"==typeof e?new A({url:e}):j(A,e)}castBasemap(e){return E(e)}set visibleLayers(e){this._set("visibleLayers",s(e,this._get("visibleLayers"),q))}castVisibleLayers(e){return e&&"function"==typeof e.map?e.map(e=>{if("string"==typeof e)return{id:e};if(e instanceof _){const t=H(e);return{id:e.id,sublayerIds:t}}return e.id?{id:e.id,sublayerIds:"sublayerIds"in e?e.sublayerIds:void 0}:(l.getLogger(this).warn('Invalid visible layer, expected { id }, Layer or "id"'),e)}):null}async _updateVisibleLayers(e){const t=[];await Promise.allSettled(this._getLayers(e.map).map(i=>e.whenLayerView(i).then(e=>{if(e.visible){const n=H(i);t.push(new M({id:e.layer.id,sublayerIds:n}))}})).toArray()),this.visibleLayers.removeAll(),this.visibleLayers.addMany(t)}async updateFrom(e,t){const i={format:"png",quality:80,width:120,height:75,disableDecorations:!0,...t?.screenshot};await e.when(),this.viewpoint=e.viewpoint.clone(),this.environment.lighting="virtual"===e.environment.lighting.type?x.prototype.clone.apply(e.environment.lighting):U.prototype.clone.apply(e.environment.lighting),this.environment.weather=e.environment.weather.clone(),this.enabledFocusAreas=new o(e.focusAreasView?.enabledAreas.map(({id:e})=>e)??[]),this.basemap=e.map.basemap?.clone()||null,this.ground=e.map.ground?R.fromGround(e.map.ground):null,this.timeExtent=e.timeExtent?.clone()??null,this.elements.analyses.updateFrom(e),await this._updateVisibleLayers(e);const n=await e.takeScreenshot(i);return this.thumbnail=new A({url:n.dataUrl}),this}async applyTo(e,t){null!=this._applyToController&&this._applyToController.abort();let i=new AbortController;this._applyToController=i;const r=h(t,()=>i?.abort()),o=()=>{this._applyToController===i&&(this._applyToController=null),i=null,r?.remove()};try{await y(()=>e.ready,i.signal)}catch(c){throw o(),c}if(i.signal.aborted)throw o(),d();const s=e.resourceController.scheduler.registerTask(k.SLIDE);let a=!1;const l={animate:!0,...t,signal:this._applyToController.signal},p=async()=>{await Promise.all([s.schedule(async()=>a=await this._setViewpointOfInterest(e,l)),s.schedule(()=>this._applyBasemap(e,l),l.signal),s.schedule(()=>this._loadLayersWithSublayerVisibility(e))]),await Promise.all([s.schedule(()=>this._applyLayerVisibility(e),l.signal),s.schedule(()=>this._applyFocusAreaEnabled(e.map?.focusAreas.areas)),s.schedule(()=>this._applyGround(e),l.signal),s.schedule(()=>this.elements.analyses.applyTo(e),l.signal),s.schedule(()=>this._applyViewpoint(e,l),l.signal),s.schedule(()=>e.timeExtent=this.timeExtent?.clone()??null,l.signal),s.schedule(()=>e.environment.weather=this.environment.weather.clone())])},m=await n(e.addUpdatingPromise(p()));if(a&&(e.contentCamera=null),s.remove(),o(),!1===m.ok)throw m.error;return this}async _applyBasemap(e,t){if(this.basemap){try{await this.basemap.load(t)}catch(i){if(u(i))throw i}e.map.basemap=S(this.basemap,e.map.basemap)}}_applyGround(e){this.ground&&(e.map.ground=this.ground.cloneAndApplyTo(e.map.ground))}_applyFocusAreaEnabled(e){if(e&&this.enabledFocusAreas)for(const t of e)t.enabled=this.enabledFocusAreas.includes(t.id)}_getLayers(e){const t=new o;return this._collectLayers(e,t),this._collectLayers(e.ground,t),t}_collectLayers(e,t){e.layers.forEach(e=>{e.persistenceEnabled&&(t.add(e),"layers"in e&&this._collectLayers(e,t))})}async _loadLayersWithSublayerVisibility(e){this.visibleLayers&&await Promise.allSettled(this._getLayers(e.map).items.map(e=>{const t=this.visibleLayers.find(t=>t.id===e.id)?.sublayerIds;return t?e.load():null}))}_applyLayerVisibility(e){if(!this.visibleLayers)return;this._getLayers(e.map).forEach(e=>{const t=this.visibleLayers.find(t=>t.id===e.id);e.visible=null!=t;const i=t?.sublayerIds,n=W(e);i&&n&&n.forEach(e=>e.visible=i.includes(e.id))})}async _setViewpointOfInterest(e,t){if(e.state.fixedContentCamera||!this.viewpoint||t?.ignoreViewpoint||!t?.useDestinationCamera)return!1;const{toCameraAsync:i}=await import("../views/3d/support/viewpointUtils.js"),n=await i(e,this.viewpoint);return e.contentCamera=n,null!=n}async _applyViewpoint(e,t){if(this._applyCachedCameraTrackingEnabled(e),this.viewpoint&&!t.ignoreViewpoint){const i=this.environment.lighting;if(t.animate&&"sun"===i.type&&i.date)return this._animateToLighting(e,t);t.animate&&(e.environment.applyLighting(i.clone()),await e.goTo(this.viewpoint,t)),e.viewpoint=this.viewpoint}e.environment.applyLighting(this.environment.lighting.clone())}async _animateToLighting(e,t){let i=null;"virtual"!==e.environment.lighting.type&&"virtual"!==this.environment.lighting.type&&("global"===e.viewingMode&&(i=this._animateLightingWithCamera(e,e.environment.lighting,this.environment.lighting)),e.environment.cachedCameraTrackingEnabled=e.environment.lighting.cameraTrackingEnabled,e.environment.lighting.cameraTrackingEnabled=!1),e.environment.lighting.directShadowsEnabled=this.environment.lighting.directShadowsEnabled,"virtual"===this.environment.lighting.type||"virtual"===e.environment.lighting.type?(e.environment.applyLighting(this.environment.lighting.clone()),"virtual"!==e.environment.lighting.type&&(e.environment.cachedCameraTrackingEnabled=e.environment.lighting.cameraTrackingEnabled,e.environment.lighting.cameraTrackingEnabled=!1)):null!=this.environment.lighting.displayUTCOffset&&(e.environment.lighting.displayUTCOffset=this.environment.lighting.displayUTCOffset);return e.goTo(this.viewpoint,t).then(()=>{this._applyCachedCameraTrackingEnabled(e),e.environment.applyLighting(this.environment.lighting.clone())}).catch(t=>{throw null==e.animation&&this._applyCachedCameraTrackingEnabled(e),t}).finally(()=>{c(i)})}_applyCachedCameraTrackingEnabled(e){null!=e.environment.cachedCameraTrackingEnabled&&(e.environment.lighting.cameraTrackingEnabled=e.environment.cachedCameraTrackingEnabled,e.environment.cachedCameraTrackingEnabled=null)}_getTime(e){return[b(e.getTime()),v(3600*e.getUTCHours()+60*e.getUTCMinutes()+e.getUTCSeconds())]}_setTime(e,t,i){return e.setTime(t),e.setUTCHours(i/3600),e.setUTCMinutes(i%3600/60),e.setUTCSeconds(i%3600%60),e}_animateLightingWithCamera(e,t,i){const n=new Date(t.date.toString()),[r,o]=this._getTime(n),[s,a]=this._getTime(i.date),l=K(o,a),p=e.renderCoordsHelper,m=C();p.toRenderCoords(e.camera.position,m);const c=C(),h=C();null!=this.viewpoint.camera&&p.toRenderCoords(this.viewpoint.camera.position,c);const d=new Date;return g(()=>e.camera,e=>{p.toRenderCoords(e.position,h);const i=L(m,h),n=L(c,h);let a=0;i+n!==0&&(a=i/(i+n));const u=r+(s-r)*a,y=Q(o,v(l*a));t.date=this._setTime(d,u,y)})}write(e,t){const i=super.write(e,t);return i?.elements&&0===Object.keys(i.elements).length&&delete i.elements,i}static createFrom(e,t){return(new this).updateFrom(e,t)}};e([w({type:String,json:{write:{isRequired:!0}}})],G.prototype,"id",void 0),e([w({type:O,json:{default:()=>new O({text:""}),write:{isRequired:!0}}})],G.prototype,"title",void 0),e([f("title")],G.prototype,"castTitle",null),e([w({type:F,json:{write:{overridePolicy:e=>({enabled:!(!e||!e.text)})}}})],G.prototype,"description",void 0),e([f("description")],G.prototype,"castDescription",null),e([w({type:Boolean,nonNullable:!0,json:{write:!0,default:!1}})],G.prototype,"hidden",void 0),e([w({type:A,json:{default:()=>new A({url:""}),write:{isRequired:!0}}})],G.prototype,"thumbnail",void 0),e([f("thumbnail")],G.prototype,"castThumbnail",null),e([w({type:i,nonNullable:!0,json:{write:{isRequired:!0}}})],G.prototype,"viewpoint",void 0),e([w({type:t,json:{read:{source:"baseMap"},write:{target:"baseMap"}}})],G.prototype,"basemap",void 0),e([f("basemap")],G.prototype,"castBasemap",null),e([w({type:R,json:{write:!0}})],G.prototype,"ground",void 0),e([w({type:B,json:{write:!0,default:"caption"},nonNullable:!0})],G.prototype,"layout",void 0),e([w({type:q,json:{write:{isRequired:!0}}})],G.prototype,"visibleLayers",null),e([f("visibleLayers")],G.prototype,"castVisibleLayers",null),e([w({type:o.ofType(String),json:{write:!0},clonable:e=>e?new o(e.items):null})],G.prototype,"enabledFocusAreas",void 0),e([w({type:D,json:{write:!0}})],G.prototype,"environment",void 0),e([w(V)],G.prototype,"timeExtent",void 0),e([w({type:I,nonNullable:!0,json:{write:!0}})],G.prototype,"elements",void 0),G=e([T("esri.webscene.Slide")],G);const N=G;function W(e){if("building-scene"===e.type||"map-image"===e.type)return e.allSublayers.toArray()}function H(e){const t=W(e);if(t)return t.filter(e=>e.visible).map(e=>e.id)}const J=v(86400),z=v(43200);function K(e,t){let i=t-e;return i>z&&(i-=J),i<-z&&(i+=J),v(i)}function Q(e,t){return v(p(e+t,J))}export{N as default};
5
+ import{__decorate as e}from"tslib";import t from"../Basemap.js";import i from"../Viewpoint.js";import{result as n}from"../core/asyncUtils.js";import{ClonableMixin as r}from"../core/Clonable.js";import o from"../core/Collection.js";import{referenceSetter as s}from"../core/collectionUtils.js";import a from"../core/JSONSupport.js";import l from"../core/Logger.js";import{moduloPositive as p}from"../core/mathUtils.js";import{destroyMaybe as m,removeMaybe as c}from"../core/maybe.js";import{onAbortOrThrow as h,createAbortError as d,isAbortError as u}from"../core/promiseUtils.js";import{whenOnce as y,when as g}from"../core/reactiveUtils.js";import{Milliseconds as b,Seconds as v}from"../core/time.js";import{property as w}from"../core/accessorSupport/decorators/property.js";import{cast as f}from"../core/accessorSupport/decorators/cast.js";import"../core/has.js";import"../core/RandomLCG.js";import{subclass as T}from"../core/accessorSupport/decorators/subclass.js";import{ensureType as j}from"../core/accessorSupport/ensureType.js";import{s as L}from"../chunks/vec32.js";import{create as C}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import _ from"../layers/Layer.js";import{basemapEnsureType as E,clonePreservingTiledLayers as S}from"../support/basemapEnsureType.js";import{TaskPriority as k}from"../views/support/Scheduler.js";import{SlideThumbnail as A}from"../webdoc/support/SlideThumbnail.js";import{timeExtent as V}from"../webdoc/support/timeProperties.js";import U from"./SunLighting.js";import x from"./VirtualLighting.js";import F from"./support/Description.js";import I from"./support/SlideElements.js";import{SlideEnvironment as D}from"./support/SlideEnvironment.js";import R from"./support/SlideGround.js";import{SlideVisibleLayer as O}from"./support/SlideVisibleLayer.js";import P from"./support/Title.js";let q=0;const B=o.ofType(O),M=["caption","cover","none"];let G=class extends(r(a)){constructor(e){super(e),this.id=Date.now().toString(16)+"-slide-"+q++,this.title=new P,this.description=new F,this.hidden=!1,this.thumbnail=new A,this.viewpoint=null,this.basemap=null,this.ground=null,this.layout="caption",this.enabledFocusAreas=null,this.environment=new D,this.timeExtent=null,this.elements=new I,this.visibleLayers=new B}destroy(){this.visibleLayers.removeAll(),this.enabledFocusAreas=null,this.basemap=null,this.thumbnail=m(this.thumbnail),this.description=null,this.title=null,this.thumbnail=null,this.elements=null}castTitle(e){return"string"==typeof e?new P({text:e}):j(P,e)}castDescription(e){return"string"==typeof e?new F({text:e}):j(F,e)}castThumbnail(e){return"string"==typeof e?new A({url:e}):j(A,e)}castBasemap(e){return E(e)}set visibleLayers(e){this._set("visibleLayers",s(e,this._get("visibleLayers"),B))}castVisibleLayers(e){return e&&"function"==typeof e.map?e.map(e=>{if("string"==typeof e)return{id:e};if(e instanceof _){const t=H(e);return{id:e.id,sublayerIds:t}}return e.id?{id:e.id,sublayerIds:"sublayerIds"in e?e.sublayerIds:void 0}:(l.getLogger(this).warn('Invalid visible layer, expected { id }, Layer or "id"'),e)}):null}async _updateVisibleLayers(e){const t=[];await Promise.allSettled(this._getLayers(e.map).map(i=>e.whenLayerView(i).then(e=>{if(e.visible){const n=H(i);t.push(new O({id:e.layer.id,sublayerIds:n}))}})).toArray()),this.visibleLayers.removeAll(),this.visibleLayers.addMany(t)}async updateFrom(e,t){const i={format:"png",quality:80,width:120,height:75,disableDecorations:!0,...t?.screenshot};await e.when(),this.viewpoint=e.viewpoint.clone(),this.environment.lighting="virtual"===e.environment.lighting.type?x.prototype.clone.apply(e.environment.lighting):U.prototype.clone.apply(e.environment.lighting),this.environment.weather=e.environment.weather.clone(),this.enabledFocusAreas=new o(e.focusAreasView?.enabledAreas.map(({id:e})=>e)??[]),this.basemap=e.map.basemap?.clone()||null,this.ground=e.map.ground?R.fromGround(e.map.ground):null,this.timeExtent=e.timeExtent?.clone()??null,this.elements.analyses.updateFrom(e),await this._updateVisibleLayers(e);const n=await e.takeScreenshot(i);return this.thumbnail=new A({url:n.dataUrl}),this}async applyTo(e,t){null!=this._applyToController&&this._applyToController.abort();let i=new AbortController;this._applyToController=i;const r=h(t,()=>i?.abort()),o=()=>{this._applyToController===i&&(this._applyToController=null),i=null,r?.remove()};try{await y(()=>e.ready,i.signal)}catch(c){throw o(),c}if(i.signal.aborted)throw o(),d();const s=e.resourceController.scheduler.registerTask(k.SLIDE);let a=!1;const l={animate:!0,...t,signal:this._applyToController.signal},p=async()=>{await Promise.all([s.schedule(async()=>a=await this._setViewpointOfInterest(e,l)),s.schedule(()=>this._applyBasemap(e,l),l.signal),s.schedule(()=>this._loadLayersWithSublayerVisibility(e))]),await Promise.all([s.schedule(()=>this._applyLayerVisibility(e),l.signal),s.schedule(()=>this._applyFocusAreaEnabled(e.map?.focusAreas.areas)),s.schedule(()=>this._applyGround(e),l.signal),s.schedule(()=>this.elements.analyses.applyTo(e),l.signal),s.schedule(()=>this._applyViewpoint(e,l),l.signal),s.schedule(()=>e.timeExtent=this.timeExtent?.clone()??null,l.signal),s.schedule(()=>e.environment.weather=this.environment.weather.clone())])},m=await n(e.addUpdatingPromise(p()));if(a&&(e.contentCamera=null),s.remove(),o(),!1===m.ok)throw m.error;return this}async _applyBasemap(e,t){if(this.basemap){try{await this.basemap.load(t)}catch(i){if(u(i))throw i}e.map.basemap=S(this.basemap,e.map.basemap)}}_applyGround(e){this.ground&&(e.map.ground=this.ground.cloneAndApplyTo(e.map.ground))}_applyFocusAreaEnabled(e){if(e&&this.enabledFocusAreas)for(const t of e)t.enabled=this.enabledFocusAreas.includes(t.id)}_getLayers(e){const t=new o;return this._collectLayers(e,t),this._collectLayers(e.ground,t),t}_collectLayers(e,t){e.layers.forEach(e=>{e.persistenceEnabled&&(t.add(e),"layers"in e&&this._collectLayers(e,t))})}async _loadLayersWithSublayerVisibility(e){this.visibleLayers&&await Promise.allSettled(this._getLayers(e.map).items.map(e=>{const t=this.visibleLayers.find(t=>t.id===e.id)?.sublayerIds;return t?e.load():null}))}_applyLayerVisibility(e){if(!this.visibleLayers)return;this._getLayers(e.map).forEach(e=>{const t=this.visibleLayers.find(t=>t.id===e.id);e.visible=null!=t;const i=t?.sublayerIds,n=W(e);i&&n&&n.forEach(e=>e.visible=i.includes(e.id))})}async _setViewpointOfInterest(e,t){if(e.state.fixedContentCamera||!this.viewpoint||t?.ignoreViewpoint||!t?.useDestinationCamera)return!1;const{toCameraAsync:i}=await import("../views/3d/support/viewpointUtils.js"),n=await i(e,this.viewpoint);return e.contentCamera=n,null!=n}async _applyViewpoint(e,t){if(this._applyCachedCameraTrackingEnabled(e),this.viewpoint&&!t.ignoreViewpoint){const i=this.environment.lighting;if(t.animate&&"sun"===i.type&&i.date)return this._animateToLighting(e,t);t.animate&&(e.environment.applyLighting(i.clone()),await e.goTo(this.viewpoint,t)),e.viewpoint=this.viewpoint}e.environment.applyLighting(this.environment.lighting.clone())}async _animateToLighting(e,t){let i=null;"virtual"!==e.environment.lighting.type&&"virtual"!==this.environment.lighting.type&&("global"===e.viewingMode&&(i=this._animateLightingWithCamera(e,e.environment.lighting,this.environment.lighting)),e.environment.cachedCameraTrackingEnabled=e.environment.lighting.cameraTrackingEnabled,e.environment.lighting.cameraTrackingEnabled=!1),e.environment.lighting.directShadowsEnabled=this.environment.lighting.directShadowsEnabled,"virtual"===this.environment.lighting.type||"virtual"===e.environment.lighting.type?(e.environment.applyLighting(this.environment.lighting.clone()),"virtual"!==e.environment.lighting.type&&(e.environment.cachedCameraTrackingEnabled=e.environment.lighting.cameraTrackingEnabled,e.environment.lighting.cameraTrackingEnabled=!1)):null!=this.environment.lighting.displayUTCOffset&&(e.environment.lighting.displayUTCOffset=this.environment.lighting.displayUTCOffset);return e.goTo(this.viewpoint,t).then(()=>{this._applyCachedCameraTrackingEnabled(e),e.environment.applyLighting(this.environment.lighting.clone())}).catch(t=>{throw null==e.animation&&this._applyCachedCameraTrackingEnabled(e),t}).finally(()=>{c(i)})}_applyCachedCameraTrackingEnabled(e){null!=e.environment.cachedCameraTrackingEnabled&&(e.environment.lighting.cameraTrackingEnabled=e.environment.cachedCameraTrackingEnabled,e.environment.cachedCameraTrackingEnabled=null)}_getTime(e){return[b(e.getTime()),v(3600*e.getUTCHours()+60*e.getUTCMinutes()+e.getUTCSeconds())]}_setTime(e,t,i){return e.setTime(t),e.setUTCHours(i/3600),e.setUTCMinutes(i%3600/60),e.setUTCSeconds(i%3600%60),e}_animateLightingWithCamera(e,t,i){const n=new Date(t.date.toString()),[r,o]=this._getTime(n),[s,a]=this._getTime(i.date),l=K(o,a),p=e.renderCoordsHelper,m=C();p.toRenderCoords(e.camera.position,m);const c=C(),h=C();null!=this.viewpoint.camera&&p.toRenderCoords(this.viewpoint.camera.position,c);const d=new Date;return g(()=>e.camera,e=>{p.toRenderCoords(e.position,h);const i=L(m,h),n=L(c,h);let a=0;i+n!==0&&(a=i/(i+n));const u=r+(s-r)*a,y=Q(o,v(l*a));t.date=this._setTime(d,u,y)})}write(e,t){const i=super.write(e,t);return i?.elements&&0===Object.keys(i.elements).length&&delete i.elements,i}static createFrom(e,t){return(new this).updateFrom(e,t)}};e([w({type:String,json:{write:{isRequired:!0}}})],G.prototype,"id",void 0),e([w({type:P,json:{default:()=>new P({text:""}),write:{isRequired:!0}}})],G.prototype,"title",void 0),e([f("title")],G.prototype,"castTitle",null),e([w({type:F,json:{write:{overridePolicy:e=>({enabled:!(!e||!e.text)})}}})],G.prototype,"description",void 0),e([f("description")],G.prototype,"castDescription",null),e([w({type:Boolean,nonNullable:!0,json:{write:!0,default:!1}})],G.prototype,"hidden",void 0),e([w({type:A,json:{default:()=>new A({url:""}),write:{isRequired:!0}}})],G.prototype,"thumbnail",void 0),e([f("thumbnail")],G.prototype,"castThumbnail",null),e([w({type:i,nonNullable:!0,json:{write:{isRequired:!0}}})],G.prototype,"viewpoint",void 0),e([w({type:t,json:{read:{source:"baseMap"},write:{target:"baseMap"}}})],G.prototype,"basemap",void 0),e([f("basemap")],G.prototype,"castBasemap",null),e([w({type:R,json:{write:!0}})],G.prototype,"ground",void 0),e([w({type:M,json:{write:!0,default:"caption"},nonNullable:!0})],G.prototype,"layout",void 0),e([w({type:B,json:{write:{isRequired:!0}}})],G.prototype,"visibleLayers",null),e([f("visibleLayers")],G.prototype,"castVisibleLayers",null),e([w({type:o.ofType(String),json:{write:!0},clonable:e=>e?new o(e.items):null})],G.prototype,"enabledFocusAreas",void 0),e([w({type:D,json:{write:!0}})],G.prototype,"environment",void 0),e([w(V)],G.prototype,"timeExtent",void 0),e([w({type:I,nonNullable:!0,json:{write:!0}})],G.prototype,"elements",void 0),G=e([T("esri.webscene.Slide")],G);const N=G;function W(e){if("building-scene"===e.type||"map-image"===e.type)return e.allSublayers.toArray()}function H(e){const t=W(e);if(t)return t.filter(e=>e.visible).map(e=>e.id)}const J=v(86400),z=v(43200);function K(e,t){let i=t-e;return i>z&&(i-=J),i<-z&&(i+=J),v(i)}function Q(e,t){return v(p(e+t,J))}export{N as default};