@arcgis/core 4.34.0-next.36 → 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 (613) 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/ElevationProfileLine.js +1 -1
  14. package/analysis/ElevationProfileLineChartOptions.js +1 -1
  15. package/analysis/ElevationProfileLineViewOptions.js +1 -1
  16. package/analysis/ElevationProfileUnits.js +1 -1
  17. package/analysis/LengthDimension.js +1 -1
  18. package/analysis/LineOfSightAnalysisObserver.js +1 -1
  19. package/analysis/LineOfSightAnalysisTarget.js +1 -1
  20. package/analysis/SlicePlane.js +1 -1
  21. package/analysis/Viewshed.js +1 -1
  22. package/analysis/VolumeMeasurement/CutFillOptions.js +1 -1
  23. package/analysis/support/AnalysisOriginWebScene.js +1 -1
  24. package/arcade/featureSetUtils.js +1 -1
  25. package/assets/esri/core/workers/RemoteClient.js +1 -1
  26. package/assets/esri/core/workers/chunks/02435c653064f879f547.js +1 -0
  27. package/assets/esri/core/workers/chunks/040a233ce6fbcc061cdb.js +1 -0
  28. package/assets/esri/core/workers/chunks/{4930bf8f57f481f3a4a3.js → 053086e0a043b00f1cca.js} +1 -1
  29. package/assets/esri/core/workers/chunks/05d6ccca0cf38c012873.js +1 -0
  30. package/assets/esri/core/workers/chunks/06bd2f5358c6b85d5420.js +1 -0
  31. package/assets/esri/core/workers/chunks/0801f9dde41ec5f36cca.js +1 -0
  32. package/assets/esri/core/workers/chunks/08b4a4c9f3d6478df40a.js +1 -0
  33. package/assets/esri/core/workers/chunks/0906f977d50b1c5d6ed5.js +1 -0
  34. package/assets/esri/core/workers/chunks/170fa807b71babedd185.js +1 -0
  35. package/assets/esri/core/workers/chunks/183130521210c855c565.js +1 -0
  36. package/assets/esri/core/workers/chunks/{ce8f0ed9179c0d314df8.js → 1a5ddb6d36249fe09cc8.js} +1 -1
  37. package/assets/esri/core/workers/chunks/1c87ed3a5960f8f06fc8.js +1 -0
  38. package/assets/esri/core/workers/chunks/1c8dbdb833a66f7183fc.js +1 -0
  39. package/assets/esri/core/workers/chunks/2177c0ef06c8e7e3e28e.js +1 -0
  40. package/assets/esri/core/workers/chunks/{a82d7e2eecfe654a65de.js → 21ea48186d01bf459ef6.js} +1 -1
  41. package/assets/esri/core/workers/chunks/23e0fd2d921f74834b12.js +1 -0
  42. package/assets/esri/core/workers/chunks/2b9c403f4b20b8f62804.js +1 -0
  43. package/assets/esri/core/workers/chunks/2d7bbd001b64138db3c1.js +1 -0
  44. package/assets/esri/core/workers/chunks/2f52a57e8c05a3ca1de8.js +1 -0
  45. package/assets/esri/core/workers/chunks/307df66d00ba5f88780d.js +1 -0
  46. package/assets/esri/core/workers/chunks/33aafaabea07b4f80209.js +1 -0
  47. package/assets/esri/core/workers/chunks/{209c70ba2925171ef742.js → 36d15d1dd19417b37d2f.js} +1 -1
  48. package/assets/esri/core/workers/chunks/{d6b2ab614f308db50c4a.js → 47cdd5a6351e0db3b2e9.js} +10 -10
  49. package/assets/esri/core/workers/chunks/4c7162883b228db563c6.js +1 -0
  50. package/assets/esri/core/workers/chunks/{236fc659747e812f6424.js → 4c77102f083198ae2a6a.js} +1 -1
  51. package/assets/esri/core/workers/chunks/4d2dcd667b30a98dd341.js +1 -0
  52. package/assets/esri/core/workers/chunks/4ff7c8420c77256f595a.js +1 -0
  53. package/assets/esri/core/workers/chunks/{82c10f2418e2f754388c.js → 50f56b417992eb30243e.js} +1 -1
  54. package/assets/esri/core/workers/chunks/5228f535719f5fc38b28.js +1 -0
  55. package/assets/esri/core/workers/chunks/{bd6c6acf23db2a2e8ef8.js → 53e166944a42af027345.js} +1 -1
  56. package/assets/esri/core/workers/chunks/54a686643e1ec1ea00ac.js +1 -0
  57. package/assets/esri/core/workers/chunks/568f49f9e50c505b2736.js +1 -0
  58. package/assets/esri/core/workers/chunks/56aafa6f8862629070d8.js +1 -0
  59. package/assets/esri/core/workers/chunks/5c5509147bda78ce338a.js +1 -0
  60. package/assets/esri/core/workers/chunks/{9742804f8ee350bf8052.js → 5c5678b15b59f9964bf0.js} +1 -1
  61. package/assets/esri/core/workers/chunks/5cdeb6dc72f452d6d1bc.js +1 -0
  62. package/assets/esri/core/workers/chunks/5d4e74eb4c659e8f42d6.js +1 -0
  63. package/assets/esri/core/workers/chunks/5fac0b2a5aa33e8a3a84.js +1 -0
  64. package/assets/esri/core/workers/chunks/64553b5eae4edc7f46dc.js +1 -0
  65. package/assets/esri/core/workers/chunks/67627b1965b27b2f1857.js +1 -0
  66. package/assets/esri/core/workers/chunks/{0e7e4426daba4a008849.js → 68edbc3b124eb8e28dd6.js} +1 -1
  67. package/assets/esri/core/workers/chunks/69dc5a7abc1fda2474ad.js +1 -0
  68. package/assets/esri/core/workers/chunks/{d6eff6cc30acdca04835.js → 6c167daf115cd6abb3e5.js} +1 -1
  69. package/assets/esri/core/workers/chunks/6f122e4a2a1f913523b4.js +1 -0
  70. package/assets/esri/core/workers/chunks/{1dc410bc070cabb7198d.js → 72e0fda211d980572292.js} +1 -1
  71. package/assets/esri/core/workers/chunks/761dab8780495286ec4e.js +1 -0
  72. package/assets/esri/core/workers/chunks/7641e24ffa0215d51c34.js +1 -0
  73. package/assets/esri/core/workers/chunks/7e9d5beca1991c961ed8.js +1 -0
  74. package/assets/esri/core/workers/chunks/826e4bf6374f324d7f19.js +1 -0
  75. package/assets/esri/core/workers/chunks/{69d44e08861fb8cdd954.js → 82de1b50ae286f1e6c44.js} +1 -1
  76. package/assets/esri/core/workers/chunks/860bd6d6f0c74ca301a4.js +1 -0
  77. package/assets/esri/core/workers/chunks/8e7dced4a8d089185c3a.js +1 -0
  78. package/assets/esri/core/workers/chunks/{7d25f57299c642e727a6.js → 938baf4f99332dfdf29d.js} +1 -1
  79. package/assets/esri/core/workers/chunks/9a4d0006c118ae5b45c0.js +1 -0
  80. package/assets/esri/core/workers/chunks/a1591d7f82e06cab5de4.js +1 -0
  81. package/assets/esri/core/workers/chunks/a76792c4edd1d688fba2.js +1 -0
  82. package/assets/esri/core/workers/chunks/ada46055fafb8ae21dbe.js +1 -0
  83. package/assets/esri/core/workers/chunks/{9f43736d6d80c8e858b2.js → ae667084cb6a08b97c37.js} +1 -1
  84. package/assets/esri/core/workers/chunks/{0550e775677597f3752c.js → afb51b8562f8cb29b97e.js} +1 -1
  85. package/assets/esri/core/workers/chunks/{b00ad853fa4826d0ceb3.js → b12c44faa1efa60067b0.js} +1 -1
  86. package/assets/esri/core/workers/chunks/{c9fe9792312f0161ef5a.js → b1b6300451cc4ccefd46.js} +1 -1
  87. package/assets/esri/core/workers/chunks/b2f2c1108fb7cbdd1a68.js +1 -0
  88. package/assets/esri/core/workers/chunks/{37bfc1a771792b6697fd.js → b3466edccd553ae0a5d0.js} +2 -2
  89. package/assets/esri/core/workers/chunks/b45dbbeae54cea2bbc10.js +1 -0
  90. package/assets/esri/core/workers/chunks/b49b73e2d0d643dfa351.js +1 -0
  91. package/assets/esri/core/workers/chunks/b810e2f87c9c59ae04b1.js +1 -0
  92. package/assets/esri/core/workers/chunks/{20a96c17d1a117dfdf77.js → b8c1a08020d44ee03a17.js} +1 -1
  93. package/assets/esri/core/workers/chunks/bb0c5275e51d170ac795.js +1 -0
  94. package/assets/esri/core/workers/chunks/{7a4730c1e6a5355b7a05.js → bb1213adeb05d89fbfdb.js} +1 -1
  95. package/assets/esri/core/workers/chunks/bd1ba44362b967977003.js +1 -0
  96. package/assets/esri/core/workers/chunks/c18ac2018aea6ba97eec.js +1 -0
  97. package/assets/esri/core/workers/chunks/c3d3e55abf01dae271fb.js +1 -0
  98. package/assets/esri/core/workers/chunks/c5c9f0c8da5f7bf41728.js +1 -0
  99. package/assets/esri/core/workers/chunks/c78d98ab82f31ddda362.js +1 -0
  100. package/assets/esri/core/workers/chunks/ca5f63c0297612059486.js +1 -0
  101. package/assets/esri/core/workers/chunks/cab294fd04f2a5eda81d.js +1 -0
  102. package/assets/esri/core/workers/chunks/cca36750c86352c6d1f9.js +1 -0
  103. package/assets/esri/core/workers/chunks/ccf3f29d0b1bde90c3cf.js +1 -0
  104. package/assets/esri/core/workers/chunks/cd9e6b86ab0103044370.js +1 -0
  105. package/assets/esri/core/workers/chunks/ce211163d078d3d742ce.js +1 -0
  106. package/assets/esri/core/workers/chunks/{0ca8d6516323fc28dd58.js → cf1f8fd1d62be0e02e10.js} +1 -1
  107. package/assets/esri/core/workers/chunks/d16484b389d56a43d204.js +1 -0
  108. package/assets/esri/core/workers/chunks/d54e18e0f30734610f35.js +1 -0
  109. package/assets/esri/core/workers/chunks/d7ec905d87a19a1061e7.js +1 -0
  110. package/assets/esri/core/workers/chunks/{e9a366c225b0687293e3.js → d80e26a1f4a61b1c4cf9.js} +1 -1
  111. package/assets/esri/core/workers/chunks/{eec36628e638e244f452.js → ddeaf688d72b2873c4ac.js} +1 -1
  112. package/assets/esri/core/workers/chunks/debd832b6c2c0b2ea362.js +1 -0
  113. package/assets/esri/core/workers/chunks/dfa3ad5d750d7b143a06.js +1 -0
  114. package/assets/esri/core/workers/chunks/dfc5936fbbd26f27a92a.js +1 -0
  115. package/assets/esri/core/workers/chunks/e01fa6389bd0b1ae51a5.js +1 -0
  116. package/assets/esri/core/workers/chunks/e4d08a85d158c705aa3d.js +1 -0
  117. package/assets/esri/core/workers/chunks/e59fdb8f625e9080f097.js +1 -0
  118. package/assets/esri/core/workers/chunks/ed1cd90e899dc9c15ee3.js +1 -0
  119. package/assets/esri/core/workers/chunks/ee28cd411a93245fb90c.js +1 -0
  120. package/assets/esri/core/workers/chunks/f5bb7c90f48cae594bc3.js +1 -0
  121. package/assets/esri/core/workers/chunks/f79c9b37f2842ed88a9b.js +1 -0
  122. package/assets/esri/core/workers/chunks/f88fe2e8fbc763bdc940.js +1 -0
  123. package/assets/esri/core/workers/chunks/faa0cfee8c1de9b5b78c.js +1 -0
  124. package/assets/esri/core/workers/chunks/fae53d825dd9fef0426c.js +1 -0
  125. package/chunks/TimeInterval.js +1 -1
  126. package/chunks/languageUtils.js +1 -1
  127. package/config.js +1 -1
  128. package/core/Clonable.d.ts +1 -1
  129. package/core/Clonable.js +1 -1
  130. package/core/Collection.js +1 -1
  131. package/core/Evented.d.ts +1 -1
  132. package/core/Evented.js +1 -1
  133. package/core/Identifiable.d.ts +1 -1
  134. package/core/Identifiable.js +1 -1
  135. package/core/Loadable.d.ts +1 -1
  136. package/core/Loadable.js +1 -1
  137. package/core/loadAll.js +1 -1
  138. package/editing/sharedTemplates/SharedTemplate.js +1 -1
  139. package/editing/sharedTemplates/SharedTemplateProvider.js +1 -1
  140. package/editing/sharedTemplates/templateDefinitions/TemplateDefinitionBase.js +1 -1
  141. package/effects/FocusArea.js +1 -1
  142. package/effects/FocusAreaOutline.js +1 -1
  143. package/effects/FocusAreas.js +1 -1
  144. package/form/elements/UtilityNetworkAssociationsElement.js +1 -1
  145. package/form/elements/inputs/attachments/Input.js +1 -1
  146. package/geometry/Mesh.js +1 -1
  147. package/geometry/support/MeshComponent.js +1 -1
  148. package/geometry/support/MeshGeoreferencedVertexSpace.js +1 -1
  149. package/geometry/support/MeshLocalVertexSpace.js +1 -1
  150. package/geometry/support/MeshMaterial.js +1 -1
  151. package/geometry/support/MeshTexture.js +1 -1
  152. package/geometry/support/MeshTextureTransform.js +1 -1
  153. package/geometry/support/MeshTransform.js +1 -1
  154. package/geometry/support/MeshVertexAttributes.js +1 -1
  155. package/geometry/support/meshUtils/Metadata.js +1 -1
  156. package/graphic/GeoRSSGraphicOrigin.d.ts +4 -0
  157. package/graphic/GeoRSSGraphicOrigin.js +5 -0
  158. package/graphic/GraphicOrigin.js +1 -1
  159. package/graphic/KnowledgeGraphGraphicOrigin.d.ts +4 -0
  160. package/graphic/KnowledgeGraphGraphicOrigin.js +5 -0
  161. package/graphic/MapImageGraphicOrigin.d.ts +4 -0
  162. package/graphic/MapImageGraphicOrigin.js +5 -0
  163. package/graphic/MapNotesGraphicOrigin.d.ts +4 -0
  164. package/graphic/MapNotesGraphicOrigin.js +5 -0
  165. package/graphic/OrientedImageryGraphicOrigin.d.ts +4 -0
  166. package/graphic/OrientedImageryGraphicOrigin.js +5 -0
  167. package/graphic/ParquetGraphicOrigin.d.ts +4 -0
  168. package/graphic/ParquetGraphicOrigin.js +5 -0
  169. package/graphic/SubtypeGroupGraphicOrigin.d.ts +4 -0
  170. package/graphic/SubtypeGroupGraphicOrigin.js +5 -0
  171. package/graphic/TileGraphicOrigin.d.ts +4 -0
  172. package/graphic/TileGraphicOrigin.js +5 -0
  173. package/graphic/graphicOrigins.d.ts +8 -0
  174. package/graphic/graphicOrigins.js +1 -1
  175. package/{views/3d/terrain/RenderOrder.js → graphic/isGeoRSSGraphicOrigin.js} +1 -0
  176. package/graphic/isKnowledgeGraphGraphicOrigin.js +5 -0
  177. package/graphic/isMapImageGraphicOrigin.js +5 -0
  178. package/graphic/isMapNotesGraphicOrigin.js +5 -0
  179. package/graphic/isOrientedImageryGraphicOrigin.js +5 -0
  180. package/graphic/isParquetGraphicOrigin.js +5 -0
  181. package/graphic/isSubtypeGroupGraphicOrigin.js +5 -0
  182. package/graphic/isTileGraphicOrigin.js +5 -0
  183. package/identity/IdentityManagerBase.js +1 -1
  184. package/interfaces.d.ts +228 -0
  185. package/kernel.js +1 -1
  186. package/layers/CSVLayer.js +1 -1
  187. package/layers/FeatureLayer.js +1 -1
  188. package/layers/GeoJSONLayer.js +1 -1
  189. package/layers/ImageryLayer.js +1 -1
  190. package/layers/ImageryTileLayer.js +1 -1
  191. package/layers/Layer.js +1 -1
  192. package/layers/MapNotesLayer.js +1 -1
  193. package/layers/OGCFeatureLayer.js +1 -1
  194. package/layers/OrientedImageryLayer.js +1 -1
  195. package/layers/ParquetLayer.js +1 -1
  196. package/layers/SceneLayer.js +1 -1
  197. package/layers/StreamLayer.js +1 -1
  198. package/layers/SubtypeGroupLayer.js +1 -1
  199. package/layers/WCSLayer.js +1 -1
  200. package/layers/WFSLayer.js +1 -1
  201. package/layers/buildingSublayers/BuildingComponentSublayer.js +1 -1
  202. package/layers/buildingSublayers/BuildingSublayer.js +1 -1
  203. package/layers/graphics/data/FeatureStore.js +1 -1
  204. package/layers/graphics/sources/CSVSource.js +1 -1
  205. package/layers/graphics/sources/FeatureLayerSource.js +1 -1
  206. package/layers/graphics/sources/GeoJSONSource.js +1 -1
  207. package/layers/graphics/sources/MemorySource.js +1 -1
  208. package/layers/graphics/sources/OGCFeatureSource.js +1 -1
  209. package/layers/graphics/sources/ParquetSource.js +1 -1
  210. package/layers/graphics/sources/WFSSource.js +1 -1
  211. package/layers/knowledgeGraph/KnowledgeGraphSublayer.js +1 -1
  212. package/layers/mixins/EditBusLayer.js +1 -1
  213. package/layers/orientedImagery/core/CameraOrientationHPR.js +1 -1
  214. package/layers/orientedImagery/core/CameraOrientationLTP.js +1 -1
  215. package/layers/orientedImagery/core/CameraOrientationOPK.js +1 -1
  216. package/layers/orientedImagery/core/CameraOrientationYPR.js +1 -1
  217. package/layers/orientedImagery/core/ElevationSourceDefinitions.js +1 -1
  218. package/layers/orientedImagery/core/ExposurePoint.js +1 -1
  219. package/layers/support/BuildingSummaryStatistics.js +1 -1
  220. package/layers/support/ControlPointsGeoreference.js +1 -1
  221. package/layers/support/DisplayFilter.js +1 -1
  222. package/layers/support/DisplayFilterInfo.js +1 -1
  223. package/layers/support/EditFieldsInfo.js +1 -1
  224. package/layers/support/ExpressionInfo.js +1 -1
  225. package/layers/support/FeatureIndex.js +1 -1
  226. package/layers/support/FeatureTemplate.js +1 -1
  227. package/layers/support/FeatureType.js +1 -1
  228. package/layers/support/GeometryFieldsInfo.js +1 -1
  229. package/layers/support/GeoreferenceBase.js +1 -1
  230. package/layers/support/KMLSublayer.js +1 -1
  231. package/layers/support/LayerContingentValuesCache.js +1 -1
  232. package/layers/support/LocalMediaElementSource.js +1 -1
  233. package/layers/support/MediaElementBase.js +1 -1
  234. package/layers/support/PlaybackInfo.js +1 -1
  235. package/layers/support/Relationship.js +1 -1
  236. package/layers/support/StreamConnection.js +1 -1
  237. package/layers/support/Sublayer.js +1 -1
  238. package/layers/support/Subtype.js +1 -1
  239. package/layers/support/SubtypeSublayer.js +1 -1
  240. package/layers/support/TelemetryData.js +1 -1
  241. package/layers/support/TelemetryDisplay.js +1 -1
  242. package/layers/support/TimeInfo.js +1 -1
  243. package/layers/support/TrackInfo.js +1 -1
  244. package/layers/support/TrackPartInfo.js +1 -1
  245. package/layers/support/VideoFrame.js +1 -1
  246. package/layers/support/VideoTimeExtent.js +1 -1
  247. package/layers/support/WMSSublayer.js +1 -1
  248. package/layers/voxel/VoxelColorStop.js +1 -1
  249. package/layers/voxel/VoxelDynamicSection.js +1 -1
  250. package/layers/voxel/VoxelIsosurface.js +1 -1
  251. package/layers/voxel/VoxelOpacityStop.js +1 -1
  252. package/layers/voxel/VoxelRangeFilter.js +1 -1
  253. package/layers/voxel/VoxelSection.js +1 -1
  254. package/layers/voxel/VoxelSlice.js +1 -1
  255. package/layers/voxel/VoxelTransferFunctionStyle.js +1 -1
  256. package/layers/voxel/VoxelUniqueValue.js +1 -1
  257. package/linkChart/ChronologicalLayoutSettings.js +1 -1
  258. package/linkChart/LayoutSettings.js +1 -1
  259. package/linkChart/LinkChartProperties.js +1 -1
  260. package/linkChart/NonspatialDataDisplay.js +1 -1
  261. package/linkChart/OrganicLayoutSettings.js +1 -1
  262. package/networks/Network.js +1 -1
  263. package/networks/RulesTable.js +1 -1
  264. package/networks/UtilityNetwork.js +1 -1
  265. package/networks/support/NetworkSystemLayers.js +1 -1
  266. package/networks/support/UtilityNetworkLookupHelper.js +1 -1
  267. package/package.json +1 -1
  268. package/popup/content/AttachmentsContent.js +1 -1
  269. package/popup/content/RelationshipContent.js +1 -1
  270. package/popup/content/UtilityNetworkAssociationsContent.js +1 -1
  271. package/popup/support/AttachmentsOrderByInfo.js +1 -1
  272. package/popup/support/FieldInfoFormat.js +1 -1
  273. package/popup/support/UtilityNetworkAssociationType.js +1 -1
  274. package/portal/Portal.js +1 -1
  275. package/portal/PortalItem.js +1 -1
  276. package/renderers/PieChartRenderer.js +1 -1
  277. package/renderers/support/HeatmapLegendOptions.js +1 -1
  278. package/renderers/support/OthersCategory.js +1 -1
  279. package/renderers/support/RasterPresetRenderer.js +1 -1
  280. package/renderers/support/RendererLegendOptions.js +1 -1
  281. package/renderers/support/UniqueValue.js +1 -1
  282. package/renderers/support/UniqueValueClass.js +1 -1
  283. package/renderers/support/UniqueValueGroup.js +1 -1
  284. package/renderers/visualVariables/support/VisualVariableLegendOptions.js +1 -1
  285. package/rest/featureService/FeatureService.js +1 -1
  286. package/rest/support/AttributeBinsFeatureSet.js +1 -1
  287. package/rest/support/AttributeBinsGrouping.js +1 -1
  288. package/rest/support/AttributeBinsQuery.js +1 -1
  289. package/rest/support/BinParametersBase.js +1 -1
  290. package/rest/support/ClosestFacilityParameters.js +1 -1
  291. package/rest/support/DataLayer.js +1 -1
  292. package/rest/support/DateBinTimeInterval.js +1 -1
  293. package/rest/support/DirectionLine.js +1 -1
  294. package/rest/support/DirectionPoint.js +1 -1
  295. package/rest/support/FindImagesParameters.js +1 -1
  296. package/rest/support/FullTextSearch.js +1 -1
  297. package/rest/support/ImageBoundaryParameters.js +1 -1
  298. package/rest/support/ImageGPSInfoParameters.js +1 -1
  299. package/rest/support/ImageToMapMultirayParameters.js +1 -1
  300. package/rest/support/ImageToMapParameters.js +1 -1
  301. package/rest/support/ImageUrlParameters.js +1 -1
  302. package/rest/support/ImageVolumeParameters.js +1 -1
  303. package/rest/support/MapToImageParameters.js +1 -1
  304. package/rest/support/NetworkUrl.js +1 -1
  305. package/rest/support/PointBarrier.js +1 -1
  306. package/rest/support/PolygonBarrier.js +1 -1
  307. package/rest/support/PolylineBarrier.js +1 -1
  308. package/rest/support/RouteInfo.js +1 -1
  309. package/rest/support/RouteParameters.js +1 -1
  310. package/rest/support/ServiceAreaParameters.js +1 -1
  311. package/rest/support/Stop.js +1 -1
  312. package/rest/support/TravelMode.js +1 -1
  313. package/smartMapping/raster/support/adapters/RasterLayerAdapter.js +1 -1
  314. package/smartMapping/support/adapters/LayerAdapter.js +1 -1
  315. package/support/actions/ActionBase.js +1 -1
  316. package/support/revision.js +1 -1
  317. package/symbols/LineStyleMarker3D.js +1 -1
  318. package/symbols/PathSymbol3DLayer.js +1 -1
  319. package/symbols/support/ElevationInfo.js +1 -1
  320. package/symbols/support/Symbol3DTextBackground.js +1 -1
  321. package/symbols/support/previewSymbol3D.js +1 -1
  322. package/tables/elements/AttributeTableAttachmentElement.js +1 -1
  323. package/tables/elements/AttributeTableFieldElement.js +1 -1
  324. package/tables/elements/AttributeTableGroupElement.js +1 -1
  325. package/tables/elements/AttributeTableRelationshipElement.js +1 -1
  326. package/tables/support/FieldOrder.js +1 -1
  327. package/undoredo/support/Services.js +1 -1
  328. package/versionManagement/VersionManagementService.js +1 -1
  329. package/versionManagement/VersioningState.js +1 -1
  330. package/views/2d/constraints/GeometryConstraint.js +1 -1
  331. package/views/2d/constraints/RotationConstraint.js +1 -1
  332. package/views/2d/constraints/ZoomConstraint.js +1 -1
  333. package/views/2d/engine/DisplayObject.js +1 -1
  334. package/views/2d/engine/ManagedCanvas.js +1 -1
  335. package/views/2d/engine/vectorTiles/decluttering/CollisionJob.js +1 -1
  336. package/views/2d/engine/vectorTiles/shaders/VTLBackgroundMaterial.js +1 -1
  337. package/views/2d/engine/vectorTiles/shaders/VTLCircleMaterial.js +1 -1
  338. package/views/2d/engine/vectorTiles/shaders/VTLFillMaterial.js +1 -1
  339. package/views/2d/engine/vectorTiles/shaders/VTLLineMaterial.js +1 -1
  340. package/views/2d/engine/vectorTiles/shaders/VTLMaterial.js +1 -1
  341. package/views/2d/engine/vectorTiles/shaders/VTLSymbolMaterial.js +1 -1
  342. package/views/2d/engine/webgl/Profiler.js +1 -1
  343. package/views/2d/engine/webgl/TextureManager.js +1 -1
  344. package/views/2d/engine/webgl/collisions/LabelMetric.js +1 -1
  345. package/views/2d/engine/webgl/shaderGraph/techniques/labels/LabelMeshWriter.js +1 -1
  346. package/views/2d/interactive/editingTools/ControlPointsTransformTool.js +1 -1
  347. package/views/2d/interactive/editingTools/TransformTool.js +1 -1
  348. package/views/2d/layers/FeatureLayerView2D.js +1 -1
  349. package/views/2d/layers/GeoRSSLayerView2D.js +1 -1
  350. package/views/2d/layers/StreamLayerView2D.js +1 -1
  351. package/views/2d/layers/features/FeatureSourceEventLog.js +1 -1
  352. package/views/2d/layers/features/layerAdapters/CatalogFootprintLayerAdapter.js +1 -1
  353. package/views/2d/layers/features/layerAdapters/FeatureLayerAdapter.js +1 -1
  354. package/views/2d/layers/features/layerAdapters/InMemoryLayerAdapter.js +1 -1
  355. package/views/2d/layers/features/layerAdapters/KnowledgeGraphSublayerAdapter.js +1 -1
  356. package/views/2d/layers/features/layerAdapters/OGCFeatureLayerAdapter.js +1 -1
  357. package/views/2d/layers/features/layerAdapters/OrientedImageryLayerAdapter.js +1 -1
  358. package/views/2d/layers/features/layerAdapters/ParquetLayerAdapter.js +1 -1
  359. package/views/2d/layers/features/layerAdapters/StreamLayerAdapter.js +1 -1
  360. package/views/2d/layers/features/layerAdapters/SubtypeGroupLayerAdapter.js +1 -1
  361. package/views/2d/layers/features/processor/AAggregateStrategy.js +1 -1
  362. package/views/2d/layers/features/schema/processor/LabelMatcherSchema.js +1 -1
  363. package/views/2d/layers/features/schema/processor/SimpleProcessorSchema.js +1 -1
  364. package/views/2d/layers/features/schema/processor/SubtypeProcessorSchema.js +1 -1
  365. package/views/2d/layers/features/sources/strategies/StreamLoadStrategy.js +1 -1
  366. package/views/2d/layers/features/sources/strategies/chunks/SourceChunkStore.js +1 -1
  367. package/views/2d/layers/features/support/TileStore.js +1 -1
  368. package/views/2d/layers/graphics/GraphicsView2D.js +1 -1
  369. package/views/2d/layers/support/RouteLayerInteraction.js +1 -1
  370. package/views/3d/analysis/AreaMeasurement/support/AreaMeasurementPathHelper.js +1 -1
  371. package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
  372. package/views/3d/analysis/LineOfSightAnalysisView3D.js +1 -1
  373. package/views/3d/constraints/AltitudeConstraint.js +1 -1
  374. package/views/3d/constraints/ClipDistanceConstraint.js +1 -1
  375. package/views/3d/constraints/Constraints.js +1 -1
  376. package/views/3d/constraints/TiltConstraint.js +1 -1
  377. package/views/3d/environment/EnvironmentManager.js +1 -1
  378. package/views/3d/environment/SunLighting.js +1 -1
  379. package/views/3d/environment/VirtualLighting.js +1 -1
  380. package/views/3d/interactive/Manipulator3D.js +1 -1
  381. package/views/3d/interactive/editingTools/ManipulatedObject3DGraphic.js +1 -1
  382. package/views/3d/interactive/editingTools/ManipulatedObject3DMediaElement.js +1 -1
  383. package/views/3d/interactive/editingTools/manipulations/MoveXYAxisManipulation.js +1 -1
  384. package/views/3d/interactive/editingTools/manipulations/MoveZManipulation.js +1 -1
  385. package/views/3d/interactive/editingTools/media/MediaElementManipulator3D.js +1 -1
  386. package/views/3d/interactive/editingTools/move/MoveTool3D.js +1 -1
  387. package/views/3d/interactive/editingTools/reshape/ReshapeOperation.js +1 -1
  388. package/views/3d/interactive/editingTools/reshape/ReshapeTool3D.js +1 -1
  389. package/views/3d/interactive/editingTools/transform/ExtentTransformTool.js +1 -1
  390. package/views/3d/interactive/editingTools/transform/ScaleRotateTransform.js +1 -1
  391. package/views/3d/interactive/editingTools/transform/TransformTool3D.js +1 -1
  392. package/views/3d/interactive/visualElements/DrapedVisualElementResources.js +1 -1
  393. package/views/3d/interactive/visualElements/OutlineVisualElement.js +1 -1
  394. package/views/3d/layers/BuildingSublayerView3D.js +1 -1
  395. package/views/3d/layers/FlowSubView3D.js +1 -1
  396. package/views/3d/layers/GraphicsView3D.js +1 -1
  397. package/views/3d/layers/GraphicsView3DDummyLayer.js +1 -1
  398. package/views/3d/layers/TiledLayerView3D.js +1 -1
  399. package/views/3d/layers/graphics/GraphicState.js +1 -1
  400. package/views/3d/layers/graphics/Graphics3DElevationAlignment.js +1 -1
  401. package/views/3d/layers/graphics/Graphics3DFeatureStore.js +1 -1
  402. package/views/3d/layers/graphics/pipeline/Feature3DPipelineWorker.js +1 -1
  403. package/views/3d/layers/graphics/pipeline/featureSet/TiledFeatureStore.js +1 -1
  404. package/views/3d/layers/i3s/I3SGraphicsMap.js +1 -1
  405. package/views/3d/layers/i3s/I3SQueryFeatureStore.js +1 -1
  406. package/views/3d/layers/i3s/LayerElevationProvider.js +1 -1
  407. package/views/3d/layers/support/StageLayerElevationProvider.js +1 -1
  408. package/views/3d/state/ViewState.js +1 -1
  409. package/views/3d/support/CombinedElevationProvider.js +1 -1
  410. package/views/3d/support/EventedSet.js +1 -1
  411. package/views/3d/support/GraphicsMap.js +1 -1
  412. package/views/3d/support/LimitGraphicsMap.js +1 -1
  413. package/views/3d/support/flow/geometryUtils.js +1 -1
  414. package/views/3d/support/pointsOfInterest/ContentGeometryUpdates.js +1 -1
  415. package/views/3d/support/pointsOfInterest/SurfaceGeometryUpdates.js +1 -1
  416. package/views/3d/terrain/OverlayRenderer.js +1 -1
  417. package/views/3d/terrain/TerrainRenderer.js +1 -1
  418. package/views/3d/terrain/TerrainSurface.js +1 -1
  419. package/views/3d/terrain/tileUtils.js +1 -1
  420. package/views/3d/webgl-engine/lib/TextTextureAtlas.js +1 -1
  421. package/views/3d/webgl-engine/lib/Texture.js +1 -1
  422. package/views/3d/webgl-engine/lib/TextureRepository.js +1 -1
  423. package/views/3d/webgl-engine/lib/WebGLLayer.js +1 -1
  424. package/views/3d/webgl-engine/lib/lodRendering/InstanceData.js +1 -1
  425. package/views/SelectionManager.js +1 -1
  426. package/views/Theme.js +1 -1
  427. package/views/VideoView.js +1 -1
  428. package/views/View.js +1 -1
  429. package/views/analysis/ElevationProfileResult.js +1 -1
  430. package/views/draw/DrawAction.js +1 -1
  431. package/views/draw/DrawGraphicTool.js +1 -1
  432. package/views/draw/DrawManipulator.js +1 -1
  433. package/views/draw/DrawOperation.js +1 -1
  434. package/views/draw/support/Box.js +1 -1
  435. package/views/draw/support/GraphicMover.js +1 -1
  436. package/views/draw/support/Reshape.js +1 -1
  437. package/views/interactive/GraphicManipulator.js +1 -1
  438. package/views/interactive/InteractiveToolBase.js +1 -1
  439. package/views/interactive/Tooltip.js +1 -1
  440. package/views/interactive/editGeometry/EditGeometry.js +1 -1
  441. package/views/interactive/editGeometry/EditGeometryOperations.js +1 -1
  442. package/views/interactive/snapping/SnappingManager.js +1 -1
  443. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceSnappingSourceWorker.js +1 -1
  444. package/views/layers/LayerView.js +1 -1
  445. package/views/support/GroundViewElevationSampler.js +1 -1
  446. package/views/ui/UI.js +1 -1
  447. package/webdoc/GeotriggersInfo.js +1 -1
  448. package/webdoc/IPSInfo.js +1 -1
  449. package/webdoc/geotriggersInfo/DeviceLocationFeed.js +1 -1
  450. package/webdoc/geotriggersInfo/ExpressionInfo.js +1 -1
  451. package/webdoc/geotriggersInfo/FeatureFenceParameters.js +1 -1
  452. package/webdoc/geotriggersInfo/FeatureFilter.js +1 -1
  453. package/webdoc/geotriggersInfo/FeatureLayerSource.js +1 -1
  454. package/webdoc/geotriggersInfo/Geotrigger.js +1 -1
  455. package/webdoc/geotriggersInfo/GeotriggerNotificationOptions.js +1 -1
  456. package/webdoc/ips/AppleIPSProperties.js +1 -1
  457. package/webdoc/ips/Configuration.js +1 -1
  458. package/webdoc/ips/GNSSProperties.js +1 -1
  459. package/webdoc/ips/PathSnappingProperties.js +1 -1
  460. package/webdoc/ips/PositioningService.js +1 -1
  461. package/webdoc/ips/SmoothingProperties.js +1 -1
  462. package/webmap/Bookmark.js +1 -1
  463. package/webmap/InitialViewProperties.js +1 -1
  464. package/webscene/InitialViewProperties.js +1 -1
  465. package/webscene/Presentation.js +1 -1
  466. package/webscene/Slide.js +1 -1
  467. package/webscene/SlideLegendInfo.js +1 -1
  468. package/webscene/support/Description.js +1 -1
  469. package/webscene/support/FeatureReference.js +1 -1
  470. package/webscene/support/FeatureReferenceId.js +1 -1
  471. package/webscene/support/LayerReference.js +1 -1
  472. package/webscene/support/SlideElements.js +1 -1
  473. package/webscene/support/SlideEnvironment.js +1 -1
  474. package/webscene/support/SlideGround.js +1 -1
  475. package/webscene/support/SlidePopupInfo.js +1 -1
  476. package/webscene/support/SlideVisibleLayer.js +1 -1
  477. package/webscene/support/Title.js +1 -1
  478. package/widgets/AreaMeasurement2D/AreaMeasurement2DTool.js +1 -1
  479. package/widgets/BasemapGallery/BasemapGalleryViewModel.js +1 -1
  480. package/widgets/BasemapGallery/support/BasemapGalleryItem.js +1 -1
  481. package/widgets/BasemapGallery/support/PortalBasemapsSource.js +1 -1
  482. package/widgets/BasemapLayerList/BasemapLayerListViewModel.js +1 -1
  483. package/widgets/BasemapLayerList.js +1 -1
  484. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.js +1 -1
  485. package/widgets/BatchAttributeForm/templates/ElementTemplateBase.js +1 -1
  486. package/widgets/Bookmarks/BookmarksViewModel.js +1 -1
  487. package/widgets/Bookmarks.js +1 -1
  488. package/widgets/CatalogLayerList/CatalogLayerListViewModel.js +1 -1
  489. package/widgets/CatalogLayerList.js +1 -1
  490. package/widgets/CoordinateConversion/CoordinateConversionViewModel.js +1 -1
  491. package/widgets/Daylight/DaylightViewModel.js +1 -1
  492. package/widgets/DirectionalPad/DirectionalPadViewModel.js +1 -1
  493. package/widgets/Directions/DirectionsViewModel.js +1 -1
  494. package/widgets/DistanceMeasurement2D/DistanceMeasurement2DTool.js +1 -1
  495. package/widgets/Editor/EditorViewModel.js +1 -1
  496. package/widgets/Editor/UpdateFeatureWorkflow.js +1 -1
  497. package/widgets/Editor/Workflow.js +1 -1
  498. package/widgets/Editor/support/SketchController.js +1 -1
  499. package/widgets/ElevationProfile/ElevationProfileInteraction.js +1 -1
  500. package/widgets/ElevationProfile/ElevationProfileLine.js +1 -1
  501. package/widgets/Feature/FeatureRelationship/FeatureRelationshipViewModel.js +1 -1
  502. package/widgets/Feature/FeatureViewModel.js +1 -1
  503. package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
  504. package/widgets/FeatureForm/UtilityNetworkAssociationInput.js +1 -1
  505. package/widgets/FeatureTable/Grid/GridViewModel.js +1 -1
  506. package/widgets/FeatureTemplates/FeatureTemplatesViewModel.js +1 -1
  507. package/widgets/FeatureTemplates/TemplateItemGroup.js +1 -1
  508. package/widgets/Home/HomeViewModel.js +1 -1
  509. package/widgets/LayerList/LayerListViewModel.js +1 -1
  510. package/widgets/LayerList/ListItem.js +1 -1
  511. package/widgets/LayerList/ListItemPanel.js +1 -1
  512. package/widgets/LayerList.js +1 -1
  513. package/widgets/LinkChartLayoutSwitcher/LinkChartLayoutSwitcherViewModel.js +1 -1
  514. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  515. package/widgets/OrientedImageryViewer/components/ImageOverlays.js +1 -1
  516. package/widgets/OrientedImageryViewer/components/ImageViewerViewModel.js +1 -1
  517. package/widgets/OrientedImageryViewer/components/NavigationAction.js +1 -1
  518. package/widgets/PanoramicViewer/PanoramicViewerViewModel.js +1 -1
  519. package/widgets/PanoramicViewer/PanoramicZoomConditions.js +1 -1
  520. package/widgets/Print/PrintViewModel.js +1 -1
  521. package/widgets/Search/SearchSource.js +1 -1
  522. package/widgets/Search/SearchViewModel.js +1 -1
  523. package/widgets/Sketch/SketchViewModel.js +1 -1
  524. package/widgets/Sketch/support/OperationHandle.js +1 -1
  525. package/widgets/TableList/ListItem.js +1 -1
  526. package/widgets/TableList/ListItemPanel.js +1 -1
  527. package/widgets/TableList/TableListViewModel.js +1 -1
  528. package/widgets/TableList.js +1 -1
  529. package/widgets/TimeSlider/TimeSliderViewModel.js +1 -1
  530. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceViewModel.js +1 -1
  531. package/widgets/ValuePicker/ValuePickerViewModel.js +1 -1
  532. package/widgets/Widget.js +1 -1
  533. package/widgets/support/AnchorElementViewModel.js +1 -1
  534. package/widgets/support/GeolocationPositioning.js +1 -1
  535. package/widgets/support/GridControls/GridControlsViewModel.js +1 -1
  536. package/widgets/support/SelectionToolbar/SelectionToolbarViewModel.js +1 -1
  537. package/widgets/support/Selector2D/SelectionOperation.js +1 -1
  538. package/widgets/support/UtilityNetworkAssociations/FeatureUtilityNetworkAssociationsViewModel.js +1 -1
  539. package/assets/esri/core/workers/chunks/038bd2fec9a91b5a949d.js +0 -1
  540. package/assets/esri/core/workers/chunks/093de3942e1ead231990.js +0 -1
  541. package/assets/esri/core/workers/chunks/0997e09fe5b0aba1f804.js +0 -1
  542. package/assets/esri/core/workers/chunks/0c0080b652cf8afc4e6b.js +0 -1
  543. package/assets/esri/core/workers/chunks/0f6207d84d15484a3181.js +0 -1
  544. package/assets/esri/core/workers/chunks/125fdea50620d4db2678.js +0 -1
  545. package/assets/esri/core/workers/chunks/152128775b4740e779ab.js +0 -1
  546. package/assets/esri/core/workers/chunks/173c5b8fa1ac7aa6e072.js +0 -1
  547. package/assets/esri/core/workers/chunks/1e58b1e191498417c21d.js +0 -1
  548. package/assets/esri/core/workers/chunks/2032b649350a75ba294f.js +0 -1
  549. package/assets/esri/core/workers/chunks/2105d2cc75e75bf8f1c0.js +0 -1
  550. package/assets/esri/core/workers/chunks/21246dfe99a4c5906f71.js +0 -1
  551. package/assets/esri/core/workers/chunks/221748295a5ec633177e.js +0 -1
  552. package/assets/esri/core/workers/chunks/2a695b50a384c45ace9a.js +0 -1
  553. package/assets/esri/core/workers/chunks/2ad63b8d6986ac21c398.js +0 -1
  554. package/assets/esri/core/workers/chunks/2c29f8a708a03cb703ab.js +0 -1
  555. package/assets/esri/core/workers/chunks/2df9bfddc737d89c94b8.js +0 -1
  556. package/assets/esri/core/workers/chunks/34ddb8da5c5c8533bd71.js +0 -1
  557. package/assets/esri/core/workers/chunks/40b0c5368b8322498189.js +0 -1
  558. package/assets/esri/core/workers/chunks/427deb82fae9c500b375.js +0 -1
  559. package/assets/esri/core/workers/chunks/4433c195c62a59739c06.js +0 -1
  560. package/assets/esri/core/workers/chunks/4ac6bf9ff1cfbde87c7b.js +0 -1
  561. package/assets/esri/core/workers/chunks/4b9003ddfe61dc3729f4.js +0 -1
  562. package/assets/esri/core/workers/chunks/4bb6148df66e62a5fcf0.js +0 -1
  563. package/assets/esri/core/workers/chunks/4fb13252a985131d3dae.js +0 -1
  564. package/assets/esri/core/workers/chunks/528212fb0474bdb2ec92.js +0 -1
  565. package/assets/esri/core/workers/chunks/5dba8c0c957becedf7f7.js +0 -1
  566. package/assets/esri/core/workers/chunks/5f995450f720483fcffa.js +0 -1
  567. package/assets/esri/core/workers/chunks/61aed9a292c981921869.js +0 -1
  568. package/assets/esri/core/workers/chunks/6aeff5908c41600a5dfc.js +0 -1
  569. package/assets/esri/core/workers/chunks/6c72e2c09ed62cb2fd79.js +0 -1
  570. package/assets/esri/core/workers/chunks/7099ff8dc699fedea931.js +0 -1
  571. package/assets/esri/core/workers/chunks/752eabfbed7b8b65cf3f.js +0 -1
  572. package/assets/esri/core/workers/chunks/7848ea5ca13ec350779a.js +0 -1
  573. package/assets/esri/core/workers/chunks/7a4ec66a577f7f7996c5.js +0 -1
  574. package/assets/esri/core/workers/chunks/81be8d23b8dfa4937eaf.js +0 -1
  575. package/assets/esri/core/workers/chunks/831d58235b8b9eb4cdc8.js +0 -1
  576. package/assets/esri/core/workers/chunks/90a0c1c5c851cc9b6d6d.js +0 -1
  577. package/assets/esri/core/workers/chunks/969a9edba4be8dcbcedd.js +0 -1
  578. package/assets/esri/core/workers/chunks/9a54c96b48e94d816881.js +0 -1
  579. package/assets/esri/core/workers/chunks/a53f2529b7067c28f320.js +0 -1
  580. package/assets/esri/core/workers/chunks/a6b6915b7321f77f765f.js +0 -1
  581. package/assets/esri/core/workers/chunks/aa12ba96fb8c91105473.js +0 -1
  582. package/assets/esri/core/workers/chunks/ab73df4f809430db6249.js +0 -1
  583. package/assets/esri/core/workers/chunks/acb95ae6203f708d71b4.js +0 -1
  584. package/assets/esri/core/workers/chunks/ae7f1499912c86973921.js +0 -1
  585. package/assets/esri/core/workers/chunks/b28855db6a30d4d4f348.js +0 -1
  586. package/assets/esri/core/workers/chunks/b4bbd38df56e57783cc0.js +0 -1
  587. package/assets/esri/core/workers/chunks/b98a049561b12a0555b7.js +0 -1
  588. package/assets/esri/core/workers/chunks/c0718a0461839be41a2a.js +0 -1
  589. package/assets/esri/core/workers/chunks/c0aee315b6218d6456cd.js +0 -1
  590. package/assets/esri/core/workers/chunks/c0ec1600a86bb9a848d4.js +0 -1
  591. package/assets/esri/core/workers/chunks/c9b11c7170c99f9e0e93.js +0 -1
  592. package/assets/esri/core/workers/chunks/ca88859fc69fcb4568c0.js +0 -1
  593. package/assets/esri/core/workers/chunks/cc3ca1729af33688c1e3.js +0 -1
  594. package/assets/esri/core/workers/chunks/cd150c7e1516134c7437.js +0 -1
  595. package/assets/esri/core/workers/chunks/cde79c3644166d4798a8.js +0 -1
  596. package/assets/esri/core/workers/chunks/d092a4b8fe3d37a6333d.js +0 -1
  597. package/assets/esri/core/workers/chunks/d4cadde4a9cbfe2c51d8.js +0 -1
  598. package/assets/esri/core/workers/chunks/d6a188a7d55db69ba30b.js +0 -1
  599. package/assets/esri/core/workers/chunks/d7172dc531b4548a8c60.js +0 -1
  600. package/assets/esri/core/workers/chunks/d88935ae5669d14c5b29.js +0 -1
  601. package/assets/esri/core/workers/chunks/dab82564928265b9f22d.js +0 -1
  602. package/assets/esri/core/workers/chunks/e82b1f91465d569012c4.js +0 -1
  603. package/assets/esri/core/workers/chunks/e892ed8b0b990d7eba28.js +0 -1
  604. package/assets/esri/core/workers/chunks/e897c5ce83db8a71b0a2.js +0 -1
  605. package/assets/esri/core/workers/chunks/efec0f496491a0647051.js +0 -1
  606. package/assets/esri/core/workers/chunks/f01a939af200616eb169.js +0 -1
  607. package/assets/esri/core/workers/chunks/f19426eb53d8430ded51.js +0 -1
  608. package/assets/esri/core/workers/chunks/f255b2232f6f049d462d.js +0 -1
  609. package/assets/esri/core/workers/chunks/f3358b19af0f03f16543.js +0 -1
  610. package/assets/esri/core/workers/chunks/f4c38a9c01c29b5a6244.js +0 -1
  611. package/assets/esri/core/workers/chunks/f6c1854f36b029fa6c37.js +0 -1
  612. package/assets/esri/core/workers/chunks/fa01d418237d7fa67efc.js +0 -1
  613. package/assets/esri/core/workers/chunks/ff736cb5a9fd18368244.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 t from"../config.js";import{id as r}from"../kernel.js";import s from"../request.js";import i from"../core/Error.js";import o from"../core/Evented.js";import{on as n}from"../core/events.js";import{fixJson as a}from"../core/lang.js";import{getDeepValue as h}from"../core/object.js";import{createResolver as l,onAbort as c,isAborted as d}from"../core/promiseUtils.js";import{urlToObject as u,hasSameOrigin as p,Url as _,queryToObject as f,base64UrlEncode as g,objectToQuery as m,normalize as v,getProxyRule as S,makeAbsolute as w,addQueryParameters as I}from"../core/urlUtils.js";import{property as A}from"../core/accessorSupport/decorators/property.js";import"../core/has.js";import"../core/Logger.js";import{subclass as k}from"../core/accessorSupport/decorators/subclass.js";import y from"./IdentityModal.js";import U from"./OAuthCredential.js";import T from"./OAuthInfo.js";import x from"./ServerInfo.js";import{isSecureProxyService as O,normalizeArcGISOnlineOrgDomain as P}from"../portal/support/urlUtils.js";const R={},C=e=>{const t=new _(e.owningSystemUrl).host,r=new _(e.server).host,s=/.+\.arcgis\.com$/i;return s.test(t)&&s.test(r)},D=(e,t)=>!!(C(e)&&t&&t.some(t=>t.test(e.server)));let b=null,q=null;try{b=window.localStorage,q=window.sessionStorage}catch{}class j extends o{constructor(){super(),this._portalConfig=globalThis.esriGeowConfig,this.serverInfos=[],this.oAuthInfos=[],this.credentials=[],this._soReqs=[],this._xoReqs=[],this._portals=[],this._defaultOAuthInfo=null,this._defaultTokenValidity=60,this.dialog=null,this.tokenValidity=null,this.normalizeWebTierAuth=!1,this._appOrigin="null"!==window.origin?window.origin:window.location.origin,this._appUrlObj=u(window.location.href),this._busy=null,this._rejectOnPersistedPageShow=!1,this._oAuthLocationParams=null,this._gwTokenUrl="/sharing/rest/generateToken",this._agsRest="/rest/services",this._agsPortal=/\/sharing(\/|$)/i,this._agsAdmin=/(https?:\/\/[^/]+\/[^/]+)\/admin\/?(\/.*)?$/i,this._adminSvcs=/\/rest\/admin\/services(\/|$)/i,this._gwDomains=[{regex:/^https?:\/\/www\.arcgis\.com/i,customBaseUrl:"maps.arcgis.com",tokenServiceUrl:"https://www.arcgis.com/sharing/rest/generateToken"},{regex:/^https?:\/\/(?:dev|[a-z\d-]+\.mapsdev)\.arcgis\.com/i,customBaseUrl:"mapsdev.arcgis.com",tokenServiceUrl:"https://dev.arcgis.com/sharing/rest/generateToken"},{regex:/^https?:\/\/(?:devext|[a-z\d-]+\.mapsdevext)\.arcgis\.com/i,customBaseUrl:"mapsdevext.arcgis.com",tokenServiceUrl:"https://devext.arcgis.com/sharing/rest/generateToken"},{regex:/^https?:\/\/(?:qaext|[a-z\d-]+\.mapsqa)\.arcgis\.com/i,customBaseUrl:"mapsqa.arcgis.com",tokenServiceUrl:"https://qaext.arcgis.com/sharing/rest/generateToken"},{regex:/^https?:\/\/[a-z\d-]+\.maps\.arcgis\.com/i,customBaseUrl:"maps.arcgis.com",tokenServiceUrl:"https://www.arcgis.com/sharing/rest/generateToken"}],this._legacyFed=[],this._regexSDirUrl=/http.+\/rest\/services\/?/gi,this._regexServerType=/(\/(FeatureServer|GPServer|GeoDataServer|GeocodeServer|GeoenrichmentServer|GeometryServer|GlobeServer|ImageServer|KnowledgeGraphServer|MapServer|MissionServer|MobileServer|NAServer|NetworkDiagramServer|OGCFeatureServer|ParcelFabricServer|RelationalCatalogServer|SceneServer|StreamServer|UtilityNetworkServer|ValidationServer|VectorTileServer|VersionManagementServer|VideoServer)).*/gi,this._gwUser=/http.+\/users\/([^/]+).*/i,this._gwItem=/http.+\/items\/([^/]+).*/i,this._gwGroup=/http.+\/groups\/([^/]+).*/i,this._rePortalTokenSvc=/\/sharing(\/rest)?\/generatetoken/i,this._createDefaultOAuthInfo=!0,this._hasTestedIfAppIsOnPortal=!1,this._getPlatformSelfError=null,this._getOAuthLocationParams(),window.addEventListener("pageshow",e=>{this._pageShowHandler(e)})}registerServers(e){const t=this.serverInfos;t?(e=e.filter(e=>!this.findServerInfo(e.server)),this.serverInfos=t.concat(e)):this.serverInfos=e,e.forEach(e=>{e.owningSystemUrl&&this._portals.push(e.owningSystemUrl),e.hasPortal&&this._portals.push(e.server)})}registerOAuthInfos(e){const t=this.oAuthInfos;if(t){for(const r of e){const e=this.findOAuthInfo(r.portalUrl);e&&t.splice(t.indexOf(e),1)}this.oAuthInfos=t.concat(e)}else this.oAuthInfos=e}registerToken(e){e={...e};const t=this._sanitizeUrl(e.server),r=this._isServerRsrc(t);let s,i=this.findServerInfo(t),o=!0;i||(i=new x,i.server=this._getServerInstanceRoot(t),r?i.hasServer=!0:(i.tokenServiceUrl=this._getTokenSvcUrl(t),i.hasPortal=!0),this.registerServers([i])),s=this._findCredential(t),s?(delete e.server,Object.assign(s,e),o=!1):(s=new E({userId:e.userId,server:i.server??void 0,token:e.token,expires:e.expires,ssl:e.ssl,scope:r?"server":"portal"}),s.resources=[t],this.credentials.push(s)),s.emitTokenChange(!1),o||s.refreshServerTokens()}toJSON(){return a({serverInfos:this.serverInfos.map(e=>e.toJSON()),oAuthInfos:this.oAuthInfos.map(e=>e.toJSON()),credentials:this.credentials.map(e=>e.toJSON())})}initialize(e){if(!e)return;"string"==typeof e&&(e=JSON.parse(e));const t=e.serverInfos,r=e.oAuthInfos,s=e.credentials;if(t){const e=[];t.forEach(t=>{t.server&&t.tokenServiceUrl&&e.push(t.declaredClass?t:new x(t))}),e.length&&this.registerServers(e)}if(r){const e=[];r.forEach(t=>{t.appId&&e.push(t.declaredClass?t:new T(t))}),e.length&&this.registerOAuthInfos(e)}s&&s.forEach(e=>{e.server&&e.token&&e.expires&&e.expires>Date.now()&&((e=e.declaredClass?e:new E(e)).emitTokenChange(),this.credentials.push(e))})}findServerInfo(e){let t;e=this._sanitizeUrl(e);for(const r of this.serverInfos)if(this._hasSameServerInstance(r.server,e)){t=r;break}return t}findOAuthInfo(e){let t;e=this._sanitizeUrl(e);for(const r of this.oAuthInfos)if(this._hasSameServerInstance(r.portalUrl,e)){t=r;break}return t}findCredential(e,t){if(!e)return;let r;e=this._sanitizeUrl(e);const s=this._isServerRsrc(e)?"server":"portal";if(t){for(const i of this.credentials)if(this._hasSameServerInstance(i.server,e)&&t===i.userId&&i.scope===s){r=i;break}}else for(const i of this.credentials)if(this._hasSameServerInstance(i.server,e)&&-1!==this._getIdenticalSvcIdx(e,i)&&i.scope===s){r=i;break}return r}getCredential(e,t){let r,s=!1,o=!0;t&&(s=!(!t.token&&!t.credential),r=t.error,o=!1!==t.prompt),t={...t},e=this._sanitizeUrl(e);const n=new AbortController,a=l();if(t.signal&&c(t.signal,()=>{n.abort()}),c(n,()=>{a.reject(new i("identity-manager:user-aborted","ABORTED"))}),d(n))return a.promise;t.signal=n.signal;const h=this._isAdminResource(e),u=s?this.findCredential(e):null;let _;if(u&&498===r?.details?.httpStatus)u.destroy();else if(u)return _=new i("identity-manager:not-authorized","You are currently signed in as: '"+u.userId+"'. You do not have access to this resource: "+e,{error:r}),a.reject(_),a.promise;const f=this._findCredential(e,t);if(f)return a.resolve(f),a.promise;let g=this.findServerInfo(e);if(g)!g.hasPortal&&g.server&&g.owningSystemUrl&&this._hasSameServerInstance(g.server,g.owningSystemUrl)&&(g.hasPortal=!0),!g.hasServer&&this._isServerRsrc(e)&&(g._restInfoPms=this._getTokenSvcUrl(e),g.hasServer=!0);else{const t=this._getTokenSvcUrl(e);if(!t)return _=new i("identity-manager:unknown-resource","Unknown resource - could not find token service endpoint."),a.reject(_),a.promise;g=new x,g.server=this._getServerInstanceRoot(e),"string"==typeof t?(g.tokenServiceUrl=t,g.hasPortal=!0):(g._restInfoPms=t,g.hasServer=!0),this.registerServers([g])}return g.hasPortal&&void 0===g._selfReq&&(o||p(g.tokenServiceUrl,this._appOrigin)||this._gwDomains.some(e=>e.tokenServiceUrl===g.tokenServiceUrl))&&(g._selfReq={owningTenant:t?.owningTenant,selfDfd:this._getPortalSelf(g.tokenServiceUrl.replace(this._rePortalTokenSvc,"/sharing/rest/portals/self"),e)}),this._enqueue(e,g,t,a,h)}getResourceName(e){return this._isRESTService(e)?e.replace(this._regexSDirUrl,"").replace(this._regexServerType,"")||"":this._gwUser.test(e)&&e.replace(this._gwUser,"$1")||this._gwItem.test(e)&&e.replace(this._gwItem,"$1")||this._gwGroup.test(e)&&e.replace(this._gwGroup,"$1")||""}generateToken(e,t,r){const o=this._rePortalTokenSvc.test(e.tokenServiceUrl),n=new _(this._appOrigin),a=e.shortLivedTokenValidity;let h,l,c,d,u,f,g,m;t&&(m=this.tokenValidity||a||this._defaultTokenValidity,m>a&&a>0&&(m=a)),r&&(h=r.isAdmin,l=r.serverUrl,c=r.token,f=r.signal,g=r.ssl,e.customParameters=r.customParameters),h?d=e.adminTokenServiceUrl:(d=e.tokenServiceUrl,u=new _(d.toLowerCase()),e.webTierAuth&&r?.serverUrl&&!g&&"http"===n.scheme&&(p(n.uri,d,!0)||"https"===u.scheme&&n.host===u.host&&"7080"===n.port&&"7443"===u.port)&&(d=d.replace(/^https:/i,"http:").replace(/:7443/i,":7080")));const v={query:{request:"getToken",username:t?.username,password:t?.password,serverUrl:l,token:c,expiration:m,referer:h||o?this._appOrigin:null,client:h?"referer":null,f:"json",...e.customParameters},method:"post",authMode:"anonymous",useProxy:this._useProxy(e,r),signal:f,...r?.ioArgs};o||(v.withCredentials=!1);return s(d,v).then(r=>{const s=r.data;if(!s?.token)return new i("identity-manager:authentication-failed","Unable to generate token");const o=e.server;return R[o]||(R[o]={}),t&&(R[o][t.username]=t.password),s.validity=m,s})}isBusy(){return!!this._busy}async checkSignInStatus(e){return(await this.checkAppAccess(e,"")).credential}checkAppAccess(e,t,r){let o=!1;return this.getCredential(e,{prompt:!1}).then(n=>{let a;const h={f:"json"};if("portal"===n.scope)if(t&&(this._doPortalSignIn(e)||r?.force))a=n.server+"/sharing/rest/oauth2/validateAppAccess",h.client_id=t;else{if(!n.token)return{credential:n};a=n.server+"/sharing/rest"}else{if(!n.token)return{credential:n};a=n.server+"/rest/services"}return n.token&&(h.token=n.token),s(a,{query:h,authMode:"anonymous"}).then(e=>{if(!1===e.data.valid)throw new i("identity-manager:not-authorized",`You are currently signed in as: '${n.userId}'.`,e.data);return o=!!e.data.viewOnlyUserTypeApp,{credential:n}}).catch(e=>{if("identity-manager:not-authorized"===e.name)throw e;const t=e.details?.httpStatus;if(498===t)throw n.destroy(),new i("identity-manager:not-authenticated","User is not signed in.");if(400===t)throw new i("identity-manager:invalid-request","Bad request");return{credential:n}})}).then(e=>({credential:e.credential,viewOnly:o}))}setOAuthResponseHash(e){e&&("#"===e.charAt(0)&&(e=e.slice(1)),this._processOAuthPopupParams(f(e)))}setOAuthRedirectionHandler(e){this._oAuthRedirectFunc=e}setProtocolErrorHandler(e){this._protocolFunc=e}signIn(e,t,r={}){const s=l(),o=()=>{h?.remove(),d?.remove(),this.dialog?.destroy(),this.dialog=h=d=null},n=()=>{o(),this._oAuthDfd=null,s.reject(new i("identity-manager:user-aborted","ABORTED"))};r.signal&&c(r.signal,()=>{n()});const a=new y({open:!0,resource:this.getResourceName(e),server:t.server});this.dialog=a,this.emit("dialog-create");let h=a.on("cancel",n),d=a.on("submit",e=>{this.generateToken(t,e,{isAdmin:r.isAdmin,signal:r.signal}).then(i=>{o();const n=new E({userId:e.username,server:t.server??void 0,token:i.token,expires:null!=i.expires?Number(i.expires):null,ssl:!!i.ssl,isAdmin:r.isAdmin,validity:i.validity});s.resolve(n)}).catch(e=>{a.error=e,a.signingIn=!1})});return s.promise}oAuthSignIn(e,t,r,s){this._oAuthDfd=l();const o=this._oAuthDfd;let n;s?.signal&&c(s.signal,()=>{const e=this._oAuthDfd&&this._oAuthDfd.oAuthWin_;e&&!e.closed?e.close():this.dialog&&u()}),o.resUrl_=e,o.sinfo_=t,o.oinfo_=r;const a=r._oAuthCred;if(a.storage&&("authorization-code"===r.flowType||"auto"===r.flowType&&t.currentVersion>=8.4)){let e=crypto.getRandomValues(new Uint8Array(32));n=g(e),a.codeVerifier=n,e=crypto.getRandomValues(new Uint8Array(32)),a.stateUID=g(e),a.save()||(a.codeVerifier=n=null)}else a.codeVerifier=null;let h,d;this._getCodeChallenge(n).then(i=>{const o=!s||!1!==s.oAuthPopupConfirmation;if(!r.popup||!o)return void this._doOAuthSignIn(e,t,r,i);const n=new y({oAuthPrompt:!0,server:t.server,open:!0});this.dialog=n,this.emit("dialog-create"),h=n.on("cancel",u),d=n.on("submit",()=>{p(),this._doOAuthSignIn(e,t,r,i)})});const u=()=>{p(),this._oAuthDfd=null,o.reject(new i("identity-manager:user-aborted","ABORTED"))},p=()=>{h?.remove(),d?.remove(),this.dialog?.destroy(),this.dialog=null};return o.promise}destroyCredentials(){if(this.credentials){this.credentials.slice().forEach(e=>{e.destroy()})}this.emit("credentials-destroy")}enablePostMessageAuth(e="https://www.arcgis.com/sharing/rest"){this._postMessageAuthHandle&&this._postMessageAuthHandle.remove(),this._postMessageAuthHandle=n(window,"message",t=>{if((t.origin===this._appOrigin||t.origin.endsWith(".arcgis.com"))&&"arcgis:auth:requestCredential"===t.data?.type){const r=t.source;this.getCredential(e).then(e=>{r.postMessage({type:"arcgis:auth:credential",credential:{expires:e.expires,server:e.server,ssl:e.ssl,token:e.token,userId:e.userId}},t.origin)}).catch(e=>{r.postMessage({type:"arcgis:auth:error",error:{name:e.name,message:e.message}},t.origin)})}})}disablePostMessageAuth(){this._postMessageAuthHandle&&(this._postMessageAuthHandle.remove(),this._postMessageAuthHandle=null)}_getOAuthLocationParams(){let e=window.location.hash;if(e){"#"===e.charAt(0)&&(e=e.slice(1));const t=f(e);let r=!1;if(t.access_token&&t.expires_in&&t.state&&t.hasOwnProperty("username"))try{t.state=JSON.parse(t.state),t.state.portalUrl&&(this._oAuthLocationParams=t,r=!0)}catch{}else if(t.error&&t.error_description&&(console.log("IdentityManager OAuth Error: ",t.error," - ",t.error_description),"access_denied"===t.error&&(r=!0,t.state)))try{t.state=JSON.parse(t.state)}catch{}r&&(window.location.hash=t.state?.hash||"")}let t=window.location.search;if(t){"?"===t.charAt(0)&&(t=t.slice(1));const e=f(t);let r=!1;if(e.code&&e.state)try{e.state=JSON.parse(e.state),e.state.portalUrl&&e.state.uid&&(this._oAuthLocationParams=e,r=!0)}catch{}else if(e.error&&e.error_description&&(console.log("IdentityManager OAuth Error: ",e.error," - ",e.error_description),"access_denied"===e.error&&(r=!0,e.state)))try{e.state=JSON.parse(e.state)}catch{}if(r){const t={...e};["code","error","error_description","message_code","persist","state"].forEach(e=>{delete t[e]});const r=m(t),s=window.location.pathname+(r?`?${r}`:"")+(e.state?.hash||"");window.history.replaceState(window.history.state,"",s)}}}_getOAuthToken(e,t,r,i,o){return e=e.replace(/^http:/i,"https:"),s(`${e}/sharing/rest/oauth2/token`,{authMode:"anonymous",method:"post",query:i&&o?{grant_type:"authorization_code",code:t,redirect_uri:i,client_id:r,code_verifier:o}:{grant_type:"refresh_token",refresh_token:t,client_id:r}}).then(e=>e.data)}async _getCodeChallenge(e){if(e&&globalThis.isSecureContext){const t=(new TextEncoder).encode(e),r=await crypto.subtle.digest("SHA-256",t);return g(new Uint8Array(r))}return null}_pageShowHandler(e){if(e.persisted&&this.isBusy()&&this._rejectOnPersistedPageShow){const e=new i("identity-manager:user-aborted","ABORTED");this._errbackFunc(e)}}_findCredential(e,t){let r,s,i,o,n=-1;const a=t?.token,h=t?.resource,l=this._isServerRsrc(e)?"server":"portal",c=this.credentials.filter(t=>this._hasSameServerInstance(t.server,e)&&t.scope===l);if(e=h||e,c.length)if(1===c.length){if(r=c[0],i=this.findServerInfo(r.server),s=i?.owningSystemUrl,o=s?this.findCredential(s,r.userId):void 0,n=this._getIdenticalSvcIdx(e,r),!a)return-1===n&&r.resources.push(e),this._addResource(e,o),r;-1!==n&&(r.resources.splice(n,1),this._removeResource(e,o))}else{let t,r;if(c.some(a=>(r=this._getIdenticalSvcIdx(e,a),-1!==r&&(t=a,i=this.findServerInfo(t.server),s=i?.owningSystemUrl,o=s?this.findCredential(s,t.userId):void 0,n=r,!0))),a)t&&(t.resources.splice(n,1),this._removeResource(e,o));else if(t)return this._addResource(e,o),t}}_findOAuthInfo(e){let t=this.findOAuthInfo(e);if(!t)for(const r of this.oAuthInfos)if(this._isIdProvider(r.portalUrl,e)){t=r;break}return t}_addResource(e,t){t&&-1===this._getIdenticalSvcIdx(e,t)&&t.resources.push(e)}_removeResource(e,t){let r=-1;t&&(r=this._getIdenticalSvcIdx(e,t),r>-1&&t.resources.splice(r,1))}_useProxy(e,t){return t?.isAdmin&&!p(e.adminTokenServiceUrl,this._appOrigin)||!this._isPortalDomain(e.tokenServiceUrl)&&"10.1"===String(e.currentVersion)&&!p(e.tokenServiceUrl,this._appOrigin)}_getOrigin(e){const t=new _(e);return t.scheme+"://"+t.host+(null!=t.port?":"+t.port:"")}_getServerInstanceRoot(e){const t=e.toLowerCase();let r=t.indexOf(this._agsRest);return-1===r&&this._isAdminResource(e)&&(r=this._agsAdmin.test(e)?e.replace(this._agsAdmin,"$1").length:e.search(this._adminSvcs)),-1!==r||O(t)||(r=t.indexOf("/sharing")),-1===r&&t.endsWith("/")&&(r=t.length-1),r>-1?e.slice(0,r):e}_hasSameServerInstance(e,t){return e.endsWith("/")&&(e=e.slice(0,-1)),e=e.toLowerCase(),t=this._getServerInstanceRoot(t).toLowerCase(),e=P(e),t=P(t),(e=e.slice(Math.max(0,e.indexOf(":"))))===(t=t.slice(Math.max(0,t.indexOf(":"))))}_sanitizeUrl(e){const r=(t.request.proxyUrl||"").toLowerCase(),s=r?e.toLowerCase().indexOf(r+"?"):-1;return-1!==s&&(e=e.slice(s+r.length+1)),e=v(e),u(e).path}_isRESTService(e){return e.includes(this._agsRest)}_isAdminResource(e){return this._agsAdmin.test(e)||this._adminSvcs.test(e)}_isServerRsrc(e){return this._isRESTService(e)||this._isAdminResource(e)}_isIdenticalService(e,t){let r=!1;if(this._isRESTService(e)&&this._isRESTService(t)){const s=this._getSuffix(e).toLowerCase(),i=this._getSuffix(t).toLowerCase();if(r=s===i,!r){const e=/(.*)\/(MapServer|FeatureServer|UtilityNetworkServer).*/gi;r=s.replaceAll(e,"$1")===i.replaceAll(e,"$1")}}else this._isAdminResource(e)&&this._isAdminResource(t)?r=!0:this._isServerRsrc(e)||this._isServerRsrc(t)||!this._isPortalDomain(e)||(r=!0);return r}_isPortalDomain(e){const r=new _(e.toLowerCase()),s=this._portalConfig;let i=this._gwDomains.some(e=>e.regex.test(r.uri));return!i&&s&&(i=this._hasSameServerInstance(this._getServerInstanceRoot(s.restBaseUrl),r.uri)),i||t.portalUrl&&(i=p(r,t.portalUrl,!0)),i||(i=this._portals.some(e=>this._hasSameServerInstance(e,r.uri))),i=i||this._agsPortal.test(r.path),i}_isIdProvider(e,t){let r=-1,s=-1;this._gwDomains.forEach((i,o)=>{-1===r&&i.regex.test(e)&&(r=o),-1===s&&i.regex.test(t)&&(s=o)});let i=!1;if(r>-1&&s>-1&&(0===r||4===r?0!==s&&4!==s||(i=!0):1===r?1!==s&&2!==s||(i=!0):2===r?2===s&&(i=!0):3===r&&3===s&&(i=!0)),!i){const r=this.findServerInfo(t),s=r?.owningSystemUrl;s&&C(r)&&this._isPortalDomain(s)&&this._isIdProvider(e,s)&&(i=!0)}return i}_getIdenticalSvcIdx(e,t){let r=-1;for(let s=0;s<t.resources.length;s++){const i=t.resources[s];if(this._isIdenticalService(e,i)){r=s;break}}return r}_getSuffix(e){return e.replace(this._regexSDirUrl,"").replace(this._regexServerType,"$1")}_getTokenSvcUrl(e){let t,r,i;if(this._isRESTService(e)||this._isAdminResource(e)){const i=this._getServerInstanceRoot(e);return t=i+"/admin/generateToken",r=s(e=i+"/rest/info",{query:{f:"json"}}).then(e=>e.data),{adminUrl:t,promise:r}}if(this._isPortalDomain(e)){let t="";if(this._gwDomains.some(r=>(r.regex.test(e)&&(t=r.tokenServiceUrl),!!t)),t||this._portals.some(r=>(this._hasSameServerInstance(r,e)&&(t=r+this._gwTokenUrl),!!t)),t||(i=e.toLowerCase().indexOf("/sharing"),-1!==i&&(t=e.slice(0,i)+this._gwTokenUrl)),t||(t=this._getOrigin(e)+this._gwTokenUrl),t){const r=new _(e).port;/^http:\/\//i.test(e)&&"7080"===r&&(t=t.replace(/:7080/i,":7443")),t=t.replace(/http:/i,"https:")}return t}}_processOAuthResponseParams(e,t,r){const s=t._oAuthCred;if(e.code){const i=s.codeVerifier;return s.codeVerifier=null,s.stateUID=null,s.save(),this._getOAuthToken(r.server,e.code,t.appId,this._getRedirectURI(t,!0),i).then(i=>{const o=new E({userId:i.username,server:r.server??void 0,token:i.access_token,expires:Date.now()+1e3*i.expires_in,ssl:i.ssl,oAuthState:e.state,_oAuthCred:s});return t.userId=o.userId,s.storage=i.persist?b:q,s.refreshToken=i.refresh_token,s.token=null,s.expires=i.refresh_token_expires_in?Date.now()+1e3*i.refresh_token_expires_in:null,s.userId=o.userId,s.ssl=o.ssl,s.save(),o})}const i=new E({userId:e.username,server:r.server??void 0,token:e.access_token,expires:Date.now()+1e3*Number(e.expires_in),ssl:"true"===e.ssl,oAuthState:e.state,_oAuthCred:s});return t.userId=i.userId,s.storage=e.persist?b:q,s.refreshToken=null,s.token=i.token,s.expires=i.expires,s.userId=i.userId,s.ssl=i.ssl,s.save(),Promise.resolve(i)}_processOAuthPopupParams(e){const t=this._oAuthDfd;if(this._oAuthDfd=null,t)if(clearInterval(this._oAuthIntervalId),this._oAuthOnPopupHandle?.remove(),e.error){const r="access_denied"===e.error,s=new i(r?"identity-manager:user-aborted":"identity-manager:authentication-failed",r?"ABORTED":"OAuth: "+e.error+" - "+e.error_description);t.reject(s)}else this._processOAuthResponseParams(e,t.oinfo_,t.sinfo_).then(e=>{t.resolve(e)}).catch(e=>{t.reject(e)})}_setOAuthResponseQueryString(e){e&&("?"===e.charAt(0)&&(e=e.slice(1)),this._processOAuthPopupParams(f(e)))}async _exchangeToken(e,t,r){return(await s(`${e}/sharing/rest/oauth2/exchangeToken`,{authMode:"anonymous",method:"post",query:{f:"json",client_id:t,token:r}})).data.token}async _getPlatformSelf(e,t){if(this._getPlatformSelfError&&Date.now()-this._getPlatformSelfError[1]<1e3)throw this._getPlatformSelfError[0];e=e.replace(/^http:/i,"https:");try{const r=await s(`${e}/sharing/rest/oauth2/platformSelf`,{authMode:"anonymous",headers:{"X-Esri-Auth-Client-Id":t,"X-Esri-Auth-Redirect-Uri":window.location.href.replace(/#.*$/,"")},method:"post",query:{f:"json",expiration:30},withCredentials:!0});return this._getPlatformSelfError=null,r.data}catch(r){throw"OAUTH_0066"===r.details?.messageCode&&(this._getPlatformSelfError=[r,Date.now()]),r}}_getPortalSelf(e,t){let r;if(this._gwDomains.some(t=>(t.regex.test(e)&&(r=t.customBaseUrl),!!r)),r)return Promise.resolve({allSSL:!0,currentVersion:"8.4",customBaseUrl:r,portalMode:"multitenant",supportsOAuth:!0});this._appOrigin.startsWith("https:")?e=e.replace(/^http:/i,"https:").replace(/:7080/i,":7443"):/^http:/i.test(t)&&(e=e.replace(/^https:/i,"http:").replace(/:7443/i,":7080"));return s(e,{query:{f:"json"},authMode:"anonymous",withCredentials:!0}).then(e=>e.data)}_doPortalSignIn(e){const t=this._portalConfig,r=window.location.href,s=this.findServerInfo(e);return!(!t&&!this._isPortalDomain(r)||!(s?s.hasPortal||s.owningSystemUrl&&this._isPortalDomain(s.owningSystemUrl):this._isPortalDomain(e))||!(this._isIdProvider(r,e)||t&&(this._hasSameServerInstance(this._getServerInstanceRoot(t.restBaseUrl),e)||this._isIdProvider(t.restBaseUrl,e))||p(r,e,!0)))}_checkProtocol(e,t,r,s){let o=!0;const n=s?t.adminTokenServiceUrl:t.tokenServiceUrl;if(n.trim().toLowerCase().startsWith("https:")&&!this._appOrigin.startsWith("https:")&&S(n)&&(o=!!this._protocolFunc&&!!this._protocolFunc({resourceUrl:e,serverInfo:t}),!o)){r(new i("identity-manager:aborted","Aborted the Sign-In process to avoid sending password over insecure connection."))}return o}_enqueue(e,t,r,s,i,o){return s||(s=l()),s.resUrl_=e,s.sinfo_=t,s.options_=r,s.admin_=i,s.refresh_=o,this._busy?this._hasSameServerInstance(this._getServerInstanceRoot(e),this._busy.resUrl_)?(this._oAuthDfd&&this._oAuthDfd.oAuthWin_&&this._oAuthDfd.oAuthWin_.focus(),this._soReqs.push(s)):this._xoReqs.push(s):this._doSignIn(s),s.promise}_doSignIn(e){this._busy=e,this._rejectOnPersistedPageShow=!1;const t=t=>{const r=e.options_?.resource,s=e.resUrl_,i=e.refresh_;let o=!1;this.credentials.includes(t)||(i&&this.credentials.includes(i)?(i.userId=t.userId,i.token=t.token,i.expires=t.expires,i.validity=t.validity,i.ssl=t.ssl,i.creationTime=t.creationTime,o=!0,t=i):this.credentials.push(t)),t.resources||(t.resources=[]),t.resources.includes(r||s)||t.resources.push(r||s),t.scope=this._isServerRsrc(s)?"server":"portal",t.emitTokenChange();const n=this._soReqs,a={};this._soReqs=[],n.forEach(e=>{if(!this._isIdenticalService(s,e.resUrl_)){const r=this._getSuffix(e.resUrl_);a[r]||(a[r]=!0,t.resources.push(e.resUrl_))}}),e.resolve(t),n.forEach(e=>{this._hasSameServerInstance(this._getServerInstanceRoot(s),e.resUrl_)?e.resolve(t):this._soReqs.push(e)}),this._busy=e.resUrl_=e.sinfo_=e.refresh_=null,o||this.emit("credential-create",{credential:t}),this._soReqs.length?this._doSignIn(this._soReqs.shift()):this._xoReqs.length&&this._doSignIn(this._xoReqs.shift())},r=t=>{e.reject(t),this._busy=e.resUrl_=e.sinfo_=e.refresh_=null,this._soReqs.length?this._doSignIn(this._soReqs.shift()):this._xoReqs.length&&this._doSignIn(this._xoReqs.shift())},s=(o,a,h,l)=>{const d=e.sinfo_,u=!e.options_||!1!==e.options_.prompt,_=d.hasPortal&&this._findOAuthInfo(e.resUrl_);let f,g;if(o)t(new E({userId:o,server:d.server??void 0,token:h??void 0,expires:null!=l?Number(l):null,ssl:!!a}));else if(window!==window.parent&&this._appUrlObj.query?.["arcgis-auth-origin"]&&this._appUrlObj.query?.["arcgis-auth-portal"]&&this._hasSameServerInstance(this._getServerInstanceRoot(this._appUrlObj.query["arcgis-auth-portal"]),e.resUrl_)){window.parent.postMessage({type:"arcgis:auth:requestCredential"},this._appUrlObj.query["arcgis-auth-origin"]);const s=n(window,"message",e=>{e.source===window.parent&&e.data&&("arcgis:auth:credential"===e.data.type?(s.remove(),e.data.credential.expires<Date.now()?r(new i("identity-manager:credential-request-failed","Parent application's token has expired.")):t(new E(e.data.credential))):"arcgis:auth:error"===e.data.type&&(s.remove(),"tokenExpiredError"===e.data.error.name?r(new i("identity-manager:credential-request-failed","Parent application's token has expired.")):r(i.fromJSON(e.data.error))))});c(e.options_?.signal,()=>{s.remove()})}else if(_){let o=_._oAuthCred;if(!o){const e=new U(_,b),t=new U(_,q);e.isValid()&&t.isValid()?e.expires>t.expires?(o=e,t.destroy()):(o=t,e.destroy()):o=e.isValid()?e:t,_._oAuthCred=o}if(o.isValid()){f=new E({userId:o.userId??void 0,server:d.server??void 0,token:o.token??void 0,expires:o.expires,ssl:o.ssl??void 0,_oAuthCred:o});const i=_.appId!==o.appId&&this._doPortalSignIn(e.resUrl_);i||o.refreshToken?(e._pendingDfd=o.refreshToken?this._getOAuthToken(d.server,o.refreshToken,o.appId).then(e=>(f.expires=Date.now()+1e3*e.expires_in,f.token=e.access_token,f)):Promise.resolve(f),e._pendingDfd.then(e=>i?this._exchangeToken(e.server,_.appId,e.token).then(t=>(e.token=t,e)).catch(()=>e):e).then(e=>{t(e)}).catch(e=>{const t=e.details?.httpStatus;t>0&&404!==t?(o.destroy(),s()):r(e)})):t(f)}else if(this._oAuthLocationParams&&this._hasSameServerInstance(_.portalUrl,this._oAuthLocationParams.state.portalUrl)&&(this._oAuthLocationParams.access_token||this._oAuthLocationParams.code&&this._oAuthLocationParams.state.uid===o.stateUID&&o.codeVerifier)){const s=this._oAuthLocationParams;this._oAuthLocationParams=null,e._pendingDfd=this._processOAuthResponseParams(s,_,d).then(e=>{t(e)}).catch(r)}else{const s=()=>{u?e._pendingDfd=this.oAuthSignIn(e.resUrl_,d,_,e.options_).then(t,r):(g=new i("identity-manager:not-authenticated","User is not signed in."),r(g))};this._doPortalSignIn(e.resUrl_)?e._pendingDfd=this._getPlatformSelf(d.server,_.appId).then(e=>{p(e.portalUrl,this._appOrigin,!0)?(f=new E({userId:e.username,server:d.server??void 0,expires:Date.now()+1e3*e.expires_in,token:e.token}),t(f)):s()}).catch(s):s()}}else if(u){if(this._checkProtocol(e.resUrl_,d,r,e.admin_)){let s=e.options_;e.admin_&&(s=s||{},s.isAdmin=!0),e._pendingDfd=this.signIn(e.resUrl_,d,s).then(t,r)}}else g=new i("identity-manager:not-authenticated","User is not signed in."),r(g)},o=()=>{const s=e.sinfo_,i=s.owningSystemUrl,o=e.options_;let n,a,h,l;if(o&&(n=o.token,a=o.error,h=o.prompt),l=this._findCredential(i,{token:n,resource:e.resUrl_}),!l)for(const e of this.credentials)if(this._isIdProvider(i,e.server)){l=e;break}if(l){const i=this.findCredential(e.resUrl_,l.userId);if(i)t(i);else if(D(s,this._legacyFed)){const e=l.toJSON();e.server=s.server,e.resources=null,t(new E(e))}else{(e._pendingDfd=this.generateToken(this.findServerInfo(l.server),null,{serverUrl:e.resUrl_,token:l.token,signal:e.options_.signal,ssl:l.ssl})).then(r=>{t(new E({userId:l?.userId,server:s.server??void 0,token:r.token,expires:null!=r.expires?Number(r.expires):null,ssl:!!r.ssl,isAdmin:e.admin_,validity:r.validity}))},r)}}else{this._busy=null,n&&(e.options_.token=null);(e._pendingDfd=this.getCredential(i.replace(/\/?$/,"/sharing"),{resource:e.resUrl_,owningTenant:s.owningTenant,signal:e.options_.signal,token:n,error:a,prompt:h})).then(()=>{this._enqueue(e.resUrl_,e.sinfo_,e.options_,e,e.admin_)},t=>{e.resUrl_=e.sinfo_=e.refresh_=null,e.reject(t)})}};this._errbackFunc=r;const a=e.sinfo_.owningSystemUrl,l=this._isServerRsrc(e.resUrl_),d=e.sinfo_._restInfoPms;d?d.promise.then(t=>{const r=e.sinfo_;if(r._restInfoPms){r.adminTokenServiceUrl=r._restInfoPms.adminUrl,r._restInfoPms=null,r.tokenServiceUrl=(h("authInfo.tokenServicesUrl",t)||h("authInfo.tokenServiceUrl",t)||h("tokenServiceUrl",t))??null,r.shortLivedTokenValidity=h("authInfo.shortLivedTokenValidity",t)??null,r.currentVersion=t.currentVersion,r.owningTenant=t.owningTenant;const e=r.owningSystemUrl=t.owningSystemUrl;e&&this._portals.push(e)}l&&r.owningSystemUrl?o():s()},()=>{e.sinfo_._restInfoPms=null;const t=new i("identity-manager:server-identification-failed","Unknown resource - could not find token service endpoint.");r(t)}):l&&a?o():e.sinfo_._selfReq?e.sinfo_._selfReq.selfDfd.then(t=>{const r={};let s,i,o,n;return t&&(s=t.user?.username,r.username=s,r.allSSL=t.allSSL,i=t.supportsOAuth,n=parseFloat(t.currentVersion),"multitenant"===t.portalMode&&(o=t.customBaseUrl),e.sinfo_.currentVersion=n),e.sinfo_.webTierAuth=!!s,s&&this.normalizeWebTierAuth?this.generateToken(e.sinfo_,null,{ssl:r.allSSL}).catch(()=>null).then(e=>(r.portalToken=e?.token,r.tokenExpiration=e?.expires,r)):!s&&i&&n>=4.4&&!this._findOAuthInfo(e.resUrl_)?this._generateOAuthInfo({portalUrl:e.sinfo_.server,customBaseUrl:o,owningTenant:e.sinfo_._selfReq.owningTenant}).catch(()=>null).then(()=>r):r}).catch(()=>null).then(t=>{e.sinfo_._selfReq=null,t?s(t.username,t.allSSL,t.portalToken,t.tokenExpiration):s()}):s()}_generateOAuthInfo(e){let t,r=null,i=e.portalUrl;const o=e.customBaseUrl,n=e.owningTenant,a=!this._defaultOAuthInfo&&this._createDefaultOAuthInfo&&!this._hasTestedIfAppIsOnPortal;if(a){r=this._appUrlObj.path;const e=r.search(/\/(apps|home)\//);r=e>-1?r.slice(0,e):null}return a&&r?(this._hasTestedIfAppIsOnPortal=!0,t=s(r+"/sharing/rest",{query:{f:"json"}}).then(()=>{this._defaultOAuthInfo=new T({appId:"arcgisonline",popupCallbackUrl:r+"/home/oauth-callback.html"})})):t=Promise.resolve(),t.then(()=>{if(this._defaultOAuthInfo)return i=i.replace(/^http:/i,"https:"),s(i+"/sharing/rest/oauth2/validateRedirectUri",{query:{accountId:n,client_id:this._defaultOAuthInfo.appId,redirect_uri:w(this._defaultOAuthInfo.popupCallbackUrl),f:"json"}}).then(e=>{if(e.data.valid){const t=this._defaultOAuthInfo.clone();e.data.urlKey&&o?t.portalUrl="https://"+e.data.urlKey.toLowerCase()+"."+o:t.portalUrl=i,t.popup=window!==window.top||!(p(i,this._appOrigin)||this._gwDomains.some(e=>e.regex.test(i)&&e.regex.test(this._appOrigin))),this.oAuthInfos.push(t)}})})}_doOAuthSignIn(e,t,r,s){const o=r._oAuthCred,a={portalUrl:r.portalUrl};!r.popup&&r.preserveUrlHash&&window.location.hash&&(a.hash=window.location.hash),o.stateUID&&(a.uid=o.stateUID);const h={client_id:r.appId,response_type:o.codeVerifier?"code":"token",state:JSON.stringify(a),expiration:r.expiration,locale:r.locale,redirect_uri:this._getRedirectURI(r,!!o.codeVerifier)};r.forceLogin&&(h.force_login=!0),r.forceUserId&&r.userId&&(h.prepopulatedusername=r.userId),!r.popup&&this._doPortalSignIn(e)&&(h.redirectToUserOrgUrl=!0),o.codeVerifier&&(h.code_challenge=s||o.codeVerifier,h.code_challenge_method=s?"S256":"plain");const l=r.portalUrl.replace(/^http:/i,"https:")+"/sharing/oauth2/authorize",c=l+"?"+m(h);if(r.popup){const e=window.open(c,"esriJSAPIOAuth",r.popupWindowFeatures);if(e)e.focus(),this._oAuthDfd.oAuthWin_=e,this._oAuthIntervalId=setInterval(()=>{if(e.closed){clearInterval(this._oAuthIntervalId),this._oAuthOnPopupHandle.remove();const e=this._oAuthDfd;if(e){const t=new i("identity-manager:user-aborted","ABORTED");e.reject(t)}}},500),this._oAuthOnPopupHandle=n(window,["arcgis:auth:hash","arcgis:auth:location:search"],e=>{"arcgis:auth:hash"===e.type?this.setOAuthResponseHash(e.detail):this._setOAuthResponseQueryString(e.detail)});else{const e=new i("identity-manager:popup-blocked","ABORTED");this._oAuthDfd.reject(e)}}else this._rejectOnPersistedPageShow=!0,this._oAuthRedirectFunc?this._oAuthRedirectFunc({authorizeParams:h,authorizeUrl:l,resourceUrl:e,serverInfo:t,oAuthInfo:r}):window.location.href=c}_getRedirectURI(e,t){const r=window.location.href.replace(/#.*$/,"");if(e.popup)return w(e.popupCallbackUrl);if(t){const e=u(r);return e.query&&["code","error","error_description","message_code","persist","state"].forEach(t=>{delete e.query[t]}),I(e.path,e.query)}return r}}j.prototype.declaredClass="esri.identity.IdentityManagerBase";let E=class extends o.EventedAccessor{constructor(e){super(e),this._oAuthCred=null,this.tokenRefreshBuffer=2,e?._oAuthCred&&(this._oAuthCred=e._oAuthCred)}initialize(){this.resources=this.resources||[],null==this.creationTime&&(this.creationTime=Date.now())}refreshToken(){const e=r,t=e.findServerInfo(this.server),s=t?.owningSystemUrl,i=!!s&&"server"===this.scope,o=i&&D(t,e._legacyFed),n=t.webTierAuth,a=n&&e.normalizeWebTierAuth,h=R[this.server],l=h?.[this.userId];let c,d=this.resources&&this.resources[0],u=i?e.findServerInfo(s):null,p={username:this.userId,password:l};if(n&&!a)return;i&&!u&&e.serverInfos.some(t=>(e._isIdProvider(s,t.server)&&(u=t),!!u));const _=u?e.findCredential(u.server,this.userId):null;if(!i||_){if(!o){if(i)c={serverUrl:d,token:_?.token,ssl:_?.ssl};else if(a)p=null,c={ssl:this.ssl};else{if(!l){let r;return d&&(d=e._sanitizeUrl(d),this._enqueued=1,r=e._enqueue(d,t,null,null,this.isAdmin,this),r.then(()=>{this._enqueued=0,this.refreshServerTokens()}).catch(()=>{this._enqueued=0})),r}this.isAdmin&&(c={isAdmin:!0})}return e.generateToken(i?u:t,i?null:p,c).then(e=>{this.token=e.token,this.expires=null!=e.expires?Number(e.expires):null,this.creationTime=Date.now(),this.validity=e.validity,this.emitTokenChange(),this.refreshServerTokens()}).catch(()=>{})}_?.refreshToken()}}refreshServerTokens(){if("portal"===this.scope){const e=r;e.credentials.forEach(t=>{const r=e.findServerInfo(t.server),s=r?.owningSystemUrl;t!==this&&t.userId===this.userId&&s&&"server"===t.scope&&(e._hasSameServerInstance(this.server,s)||e._isIdProvider(s,this.server))&&(D(r,e._legacyFed)?(t.token=this.token,t.expires=this.expires,t.creationTime=this.creationTime,t.validity=this.validity,t.emitTokenChange()):t.refreshToken())})}}emitTokenChange(e){clearTimeout(this._refreshTimer);const t=r,s=this.server?t.findServerInfo(this.server):null,i=s?.owningSystemUrl,o=i?t.findServerInfo(i):null;!1===e||i&&"portal"!==this.scope&&(!o?.webTierAuth||t.normalizeWebTierAuth)||null==this.expires&&null==this.validity||this._startRefreshTimer(),this.emit("token-change")}destroy(){this.userId=this.server=this.token=this.expires=this.validity=this.resources=this.creationTime=null,this._oAuthCred&&(this._oAuthCred.destroy(),this._oAuthCred=null);const e=r,t=e.credentials.indexOf(this);t>-1&&e.credentials.splice(t,1),this.emitTokenChange(),this.emit("destroy")}toJSON(){const e=a({userId:this.userId,server:this.server,token:this.token,expires:this.expires,validity:this.validity,ssl:this.ssl,isAdmin:this.isAdmin,creationTime:this.creationTime,scope:this.scope}),t=this.resources;return t&&t.length>0&&(e.resources=t.slice()),e}_startRefreshTimer(){clearTimeout(this._refreshTimer);const e=6e4*this.tokenRefreshBuffer,t=2**31-1;let r=(this.validity?this.creationTime+6e4*this.validity:this.expires)-Date.now();r<0?r=0:r>t&&(r=t),this._refreshTimer=setTimeout(this.refreshToken.bind(this),r>e?r-e:r)}};e([A()],E.prototype,"creationTime",void 0),e([A()],E.prototype,"expires",void 0),e([A()],E.prototype,"isAdmin",void 0),e([A()],E.prototype,"oAuthState",void 0),e([A()],E.prototype,"resources",void 0),e([A()],E.prototype,"scope",void 0),e([A()],E.prototype,"server",void 0),e([A()],E.prototype,"ssl",void 0),e([A()],E.prototype,"token",void 0),e([A()],E.prototype,"tokenRefreshBuffer",void 0),e([A()],E.prototype,"userId",void 0),e([A()],E.prototype,"validity",void 0),E=e([k("esri.identity.Credential")],E);export{E as Credential,j as IdentityManagerBase};
5
+ import{__decorate as e}from"tslib";import t from"../config.js";import{id as r}from"../kernel.js";import s from"../request.js";import i from"../core/Error.js";import{EventedAccessor as o,Evented as n}from"../core/Evented.js";import{on as a}from"../core/events.js";import{fixJson as h}from"../core/lang.js";import{getDeepValue as l}from"../core/object.js";import{createResolver as c,onAbort as d,isAborted as u}from"../core/promiseUtils.js";import{Url as p,urlToObject as _,hasSameOrigin as f,queryToObject as g,base64UrlEncode as m,objectToQuery as v,normalize as S,getProxyRule as w,makeAbsolute as I,addQueryParameters as A}from"../core/urlUtils.js";import{property as k}from"../core/accessorSupport/decorators/property.js";import"../core/has.js";import"../core/Logger.js";import{subclass as y}from"../core/accessorSupport/decorators/subclass.js";import U from"./IdentityModal.js";import T from"./OAuthCredential.js";import x from"./OAuthInfo.js";import O from"./ServerInfo.js";import{isSecureProxyService as P,normalizeArcGISOnlineOrgDomain as R}from"../portal/support/urlUtils.js";const C={},D=e=>{const t=new p(e.owningSystemUrl).host,r=new p(e.server).host,s=/.+\.arcgis\.com$/i;return s.test(t)&&s.test(r)},b=(e,t)=>!!(D(e)&&t&&t.some(t=>t.test(e.server)));let q=null,j=null;try{q=window.localStorage,j=window.sessionStorage}catch{}class E extends n{constructor(){super(),this._portalConfig=globalThis.esriGeowConfig,this.serverInfos=[],this.oAuthInfos=[],this.credentials=[],this._soReqs=[],this._xoReqs=[],this._portals=[],this._defaultOAuthInfo=null,this._defaultTokenValidity=60,this.dialog=null,this.tokenValidity=null,this.normalizeWebTierAuth=!1,this._appOrigin="null"!==window.origin?window.origin:window.location.origin,this._appUrlObj=_(window.location.href),this._busy=null,this._rejectOnPersistedPageShow=!1,this._oAuthLocationParams=null,this._gwTokenUrl="/sharing/rest/generateToken",this._agsRest="/rest/services",this._agsPortal=/\/sharing(\/|$)/i,this._agsAdmin=/(https?:\/\/[^/]+\/[^/]+)\/admin\/?(\/.*)?$/i,this._adminSvcs=/\/rest\/admin\/services(\/|$)/i,this._gwDomains=[{regex:/^https?:\/\/www\.arcgis\.com/i,customBaseUrl:"maps.arcgis.com",tokenServiceUrl:"https://www.arcgis.com/sharing/rest/generateToken"},{regex:/^https?:\/\/(?:dev|[a-z\d-]+\.mapsdev)\.arcgis\.com/i,customBaseUrl:"mapsdev.arcgis.com",tokenServiceUrl:"https://dev.arcgis.com/sharing/rest/generateToken"},{regex:/^https?:\/\/(?:devext|[a-z\d-]+\.mapsdevext)\.arcgis\.com/i,customBaseUrl:"mapsdevext.arcgis.com",tokenServiceUrl:"https://devext.arcgis.com/sharing/rest/generateToken"},{regex:/^https?:\/\/(?:qaext|[a-z\d-]+\.mapsqa)\.arcgis\.com/i,customBaseUrl:"mapsqa.arcgis.com",tokenServiceUrl:"https://qaext.arcgis.com/sharing/rest/generateToken"},{regex:/^https?:\/\/[a-z\d-]+\.maps\.arcgis\.com/i,customBaseUrl:"maps.arcgis.com",tokenServiceUrl:"https://www.arcgis.com/sharing/rest/generateToken"}],this._legacyFed=[],this._regexSDirUrl=/http.+\/rest\/services\/?/gi,this._regexServerType=/(\/(FeatureServer|GPServer|GeoDataServer|GeocodeServer|GeoenrichmentServer|GeometryServer|GlobeServer|ImageServer|KnowledgeGraphServer|MapServer|MissionServer|MobileServer|NAServer|NetworkDiagramServer|OGCFeatureServer|ParcelFabricServer|RelationalCatalogServer|SceneServer|StreamServer|UtilityNetworkServer|ValidationServer|VectorTileServer|VersionManagementServer|VideoServer)).*/gi,this._gwUser=/http.+\/users\/([^/]+).*/i,this._gwItem=/http.+\/items\/([^/]+).*/i,this._gwGroup=/http.+\/groups\/([^/]+).*/i,this._rePortalTokenSvc=/\/sharing(\/rest)?\/generatetoken/i,this._createDefaultOAuthInfo=!0,this._hasTestedIfAppIsOnPortal=!1,this._getPlatformSelfError=null,this._getOAuthLocationParams(),window.addEventListener("pageshow",e=>{this._pageShowHandler(e)})}registerServers(e){const t=this.serverInfos;t?(e=e.filter(e=>!this.findServerInfo(e.server)),this.serverInfos=t.concat(e)):this.serverInfos=e,e.forEach(e=>{e.owningSystemUrl&&this._portals.push(e.owningSystemUrl),e.hasPortal&&this._portals.push(e.server)})}registerOAuthInfos(e){const t=this.oAuthInfos;if(t){for(const r of e){const e=this.findOAuthInfo(r.portalUrl);e&&t.splice(t.indexOf(e),1)}this.oAuthInfos=t.concat(e)}else this.oAuthInfos=e}registerToken(e){e={...e};const t=this._sanitizeUrl(e.server),r=this._isServerRsrc(t);let s,i=this.findServerInfo(t),o=!0;i||(i=new O,i.server=this._getServerInstanceRoot(t),r?i.hasServer=!0:(i.tokenServiceUrl=this._getTokenSvcUrl(t),i.hasPortal=!0),this.registerServers([i])),s=this._findCredential(t),s?(delete e.server,Object.assign(s,e),o=!1):(s=new L({userId:e.userId,server:i.server??void 0,token:e.token,expires:e.expires,ssl:e.ssl,scope:r?"server":"portal"}),s.resources=[t],this.credentials.push(s)),s.emitTokenChange(!1),o||s.refreshServerTokens()}toJSON(){return h({serverInfos:this.serverInfos.map(e=>e.toJSON()),oAuthInfos:this.oAuthInfos.map(e=>e.toJSON()),credentials:this.credentials.map(e=>e.toJSON())})}initialize(e){if(!e)return;"string"==typeof e&&(e=JSON.parse(e));const t=e.serverInfos,r=e.oAuthInfos,s=e.credentials;if(t){const e=[];t.forEach(t=>{t.server&&t.tokenServiceUrl&&e.push(t.declaredClass?t:new O(t))}),e.length&&this.registerServers(e)}if(r){const e=[];r.forEach(t=>{t.appId&&e.push(t.declaredClass?t:new x(t))}),e.length&&this.registerOAuthInfos(e)}s&&s.forEach(e=>{e.server&&e.token&&e.expires&&e.expires>Date.now()&&((e=e.declaredClass?e:new L(e)).emitTokenChange(),this.credentials.push(e))})}findServerInfo(e){let t;e=this._sanitizeUrl(e);for(const r of this.serverInfos)if(this._hasSameServerInstance(r.server,e)){t=r;break}return t}findOAuthInfo(e){let t;e=this._sanitizeUrl(e);for(const r of this.oAuthInfos)if(this._hasSameServerInstance(r.portalUrl,e)){t=r;break}return t}findCredential(e,t){if(!e)return;let r;e=this._sanitizeUrl(e);const s=this._isServerRsrc(e)?"server":"portal";if(t){for(const i of this.credentials)if(this._hasSameServerInstance(i.server,e)&&t===i.userId&&i.scope===s){r=i;break}}else for(const i of this.credentials)if(this._hasSameServerInstance(i.server,e)&&-1!==this._getIdenticalSvcIdx(e,i)&&i.scope===s){r=i;break}return r}getCredential(e,t){let r,s=!1,o=!0;t&&(s=!(!t.token&&!t.credential),r=t.error,o=!1!==t.prompt),t={...t},e=this._sanitizeUrl(e);const n=new AbortController,a=c();if(t.signal&&d(t.signal,()=>{n.abort()}),d(n,()=>{a.reject(new i("identity-manager:user-aborted","ABORTED"))}),u(n))return a.promise;t.signal=n.signal;const h=this._isAdminResource(e),l=s?this.findCredential(e):null;let p;if(l&&498===r?.details?.httpStatus)l.destroy();else if(l)return p=new i("identity-manager:not-authorized","You are currently signed in as: '"+l.userId+"'. You do not have access to this resource: "+e,{error:r}),a.reject(p),a.promise;const _=this._findCredential(e,t);if(_)return a.resolve(_),a.promise;let g=this.findServerInfo(e);if(g)!g.hasPortal&&g.server&&g.owningSystemUrl&&this._hasSameServerInstance(g.server,g.owningSystemUrl)&&(g.hasPortal=!0),!g.hasServer&&this._isServerRsrc(e)&&(g._restInfoPms=this._getTokenSvcUrl(e),g.hasServer=!0);else{const t=this._getTokenSvcUrl(e);if(!t)return p=new i("identity-manager:unknown-resource","Unknown resource - could not find token service endpoint."),a.reject(p),a.promise;g=new O,g.server=this._getServerInstanceRoot(e),"string"==typeof t?(g.tokenServiceUrl=t,g.hasPortal=!0):(g._restInfoPms=t,g.hasServer=!0),this.registerServers([g])}return g.hasPortal&&void 0===g._selfReq&&(o||f(g.tokenServiceUrl,this._appOrigin)||this._gwDomains.some(e=>e.tokenServiceUrl===g.tokenServiceUrl))&&(g._selfReq={owningTenant:t?.owningTenant,selfDfd:this._getPortalSelf(g.tokenServiceUrl.replace(this._rePortalTokenSvc,"/sharing/rest/portals/self"),e)}),this._enqueue(e,g,t,a,h)}getResourceName(e){return this._isRESTService(e)?e.replace(this._regexSDirUrl,"").replace(this._regexServerType,"")||"":this._gwUser.test(e)&&e.replace(this._gwUser,"$1")||this._gwItem.test(e)&&e.replace(this._gwItem,"$1")||this._gwGroup.test(e)&&e.replace(this._gwGroup,"$1")||""}generateToken(e,t,r){const o=this._rePortalTokenSvc.test(e.tokenServiceUrl),n=new p(this._appOrigin),a=e.shortLivedTokenValidity;let h,l,c,d,u,_,g,m;t&&(m=this.tokenValidity||a||this._defaultTokenValidity,m>a&&a>0&&(m=a)),r&&(h=r.isAdmin,l=r.serverUrl,c=r.token,_=r.signal,g=r.ssl,e.customParameters=r.customParameters),h?d=e.adminTokenServiceUrl:(d=e.tokenServiceUrl,u=new p(d.toLowerCase()),e.webTierAuth&&r?.serverUrl&&!g&&"http"===n.scheme&&(f(n.uri,d,!0)||"https"===u.scheme&&n.host===u.host&&"7080"===n.port&&"7443"===u.port)&&(d=d.replace(/^https:/i,"http:").replace(/:7443/i,":7080")));const v={query:{request:"getToken",username:t?.username,password:t?.password,serverUrl:l,token:c,expiration:m,referer:h||o?this._appOrigin:null,client:h?"referer":null,f:"json",...e.customParameters},method:"post",authMode:"anonymous",useProxy:this._useProxy(e,r),signal:_,...r?.ioArgs};o||(v.withCredentials=!1);return s(d,v).then(r=>{const s=r.data;if(!s?.token)return new i("identity-manager:authentication-failed","Unable to generate token");const o=e.server;return C[o]||(C[o]={}),t&&(C[o][t.username]=t.password),s.validity=m,s})}isBusy(){return!!this._busy}async checkSignInStatus(e){return(await this.checkAppAccess(e,"")).credential}checkAppAccess(e,t,r){let o=!1;return this.getCredential(e,{prompt:!1}).then(n=>{let a;const h={f:"json"};if("portal"===n.scope)if(t&&(this._doPortalSignIn(e)||r?.force))a=n.server+"/sharing/rest/oauth2/validateAppAccess",h.client_id=t;else{if(!n.token)return{credential:n};a=n.server+"/sharing/rest"}else{if(!n.token)return{credential:n};a=n.server+"/rest/services"}return n.token&&(h.token=n.token),s(a,{query:h,authMode:"anonymous"}).then(e=>{if(!1===e.data.valid)throw new i("identity-manager:not-authorized",`You are currently signed in as: '${n.userId}'.`,e.data);return o=!!e.data.viewOnlyUserTypeApp,{credential:n}}).catch(e=>{if("identity-manager:not-authorized"===e.name)throw e;const t=e.details?.httpStatus;if(498===t)throw n.destroy(),new i("identity-manager:not-authenticated","User is not signed in.");if(400===t)throw new i("identity-manager:invalid-request","Bad request");return{credential:n}})}).then(e=>({credential:e.credential,viewOnly:o}))}setOAuthResponseHash(e){e&&("#"===e.charAt(0)&&(e=e.slice(1)),this._processOAuthPopupParams(g(e)))}setOAuthRedirectionHandler(e){this._oAuthRedirectFunc=e}setProtocolErrorHandler(e){this._protocolFunc=e}signIn(e,t,r={}){const s=c(),o=()=>{h?.remove(),l?.remove(),this.dialog?.destroy(),this.dialog=h=l=null},n=()=>{o(),this._oAuthDfd=null,s.reject(new i("identity-manager:user-aborted","ABORTED"))};r.signal&&d(r.signal,()=>{n()});const a=new U({open:!0,resource:this.getResourceName(e),server:t.server});this.dialog=a,this.emit("dialog-create");let h=a.on("cancel",n),l=a.on("submit",e=>{this.generateToken(t,e,{isAdmin:r.isAdmin,signal:r.signal}).then(i=>{o();const n=new L({userId:e.username,server:t.server??void 0,token:i.token,expires:null!=i.expires?Number(i.expires):null,ssl:!!i.ssl,isAdmin:r.isAdmin,validity:i.validity});s.resolve(n)}).catch(e=>{a.error=e,a.signingIn=!1})});return s.promise}oAuthSignIn(e,t,r,s){this._oAuthDfd=c();const o=this._oAuthDfd;let n;s?.signal&&d(s.signal,()=>{const e=this._oAuthDfd&&this._oAuthDfd.oAuthWin_;e&&!e.closed?e.close():this.dialog&&u()}),o.resUrl_=e,o.sinfo_=t,o.oinfo_=r;const a=r._oAuthCred;if(a.storage&&("authorization-code"===r.flowType||"auto"===r.flowType&&t.currentVersion>=8.4)){let e=crypto.getRandomValues(new Uint8Array(32));n=m(e),a.codeVerifier=n,e=crypto.getRandomValues(new Uint8Array(32)),a.stateUID=m(e),a.save()||(a.codeVerifier=n=null)}else a.codeVerifier=null;let h,l;this._getCodeChallenge(n).then(i=>{const o=!s||!1!==s.oAuthPopupConfirmation;if(!r.popup||!o)return void this._doOAuthSignIn(e,t,r,i);const n=new U({oAuthPrompt:!0,server:t.server,open:!0});this.dialog=n,this.emit("dialog-create"),h=n.on("cancel",u),l=n.on("submit",()=>{p(),this._doOAuthSignIn(e,t,r,i)})});const u=()=>{p(),this._oAuthDfd=null,o.reject(new i("identity-manager:user-aborted","ABORTED"))},p=()=>{h?.remove(),l?.remove(),this.dialog?.destroy(),this.dialog=null};return o.promise}destroyCredentials(){if(this.credentials){this.credentials.slice().forEach(e=>{e.destroy()})}this.emit("credentials-destroy")}enablePostMessageAuth(e="https://www.arcgis.com/sharing/rest"){this._postMessageAuthHandle&&this._postMessageAuthHandle.remove(),this._postMessageAuthHandle=a(window,"message",t=>{if((t.origin===this._appOrigin||t.origin.endsWith(".arcgis.com"))&&"arcgis:auth:requestCredential"===t.data?.type){const r=t.source;this.getCredential(e).then(e=>{r.postMessage({type:"arcgis:auth:credential",credential:{expires:e.expires,server:e.server,ssl:e.ssl,token:e.token,userId:e.userId}},t.origin)}).catch(e=>{r.postMessage({type:"arcgis:auth:error",error:{name:e.name,message:e.message}},t.origin)})}})}disablePostMessageAuth(){this._postMessageAuthHandle&&(this._postMessageAuthHandle.remove(),this._postMessageAuthHandle=null)}_getOAuthLocationParams(){let e=window.location.hash;if(e){"#"===e.charAt(0)&&(e=e.slice(1));const t=g(e);let r=!1;if(t.access_token&&t.expires_in&&t.state&&t.hasOwnProperty("username"))try{t.state=JSON.parse(t.state),t.state.portalUrl&&(this._oAuthLocationParams=t,r=!0)}catch{}else if(t.error&&t.error_description&&(console.log("IdentityManager OAuth Error: ",t.error," - ",t.error_description),"access_denied"===t.error&&(r=!0,t.state)))try{t.state=JSON.parse(t.state)}catch{}r&&(window.location.hash=t.state?.hash||"")}let t=window.location.search;if(t){"?"===t.charAt(0)&&(t=t.slice(1));const e=g(t);let r=!1;if(e.code&&e.state)try{e.state=JSON.parse(e.state),e.state.portalUrl&&e.state.uid&&(this._oAuthLocationParams=e,r=!0)}catch{}else if(e.error&&e.error_description&&(console.log("IdentityManager OAuth Error: ",e.error," - ",e.error_description),"access_denied"===e.error&&(r=!0,e.state)))try{e.state=JSON.parse(e.state)}catch{}if(r){const t={...e};["code","error","error_description","message_code","persist","state"].forEach(e=>{delete t[e]});const r=v(t),s=window.location.pathname+(r?`?${r}`:"")+(e.state?.hash||"");window.history.replaceState(window.history.state,"",s)}}}_getOAuthToken(e,t,r,i,o){return e=e.replace(/^http:/i,"https:"),s(`${e}/sharing/rest/oauth2/token`,{authMode:"anonymous",method:"post",query:i&&o?{grant_type:"authorization_code",code:t,redirect_uri:i,client_id:r,code_verifier:o}:{grant_type:"refresh_token",refresh_token:t,client_id:r}}).then(e=>e.data)}async _getCodeChallenge(e){if(e&&globalThis.isSecureContext){const t=(new TextEncoder).encode(e),r=await crypto.subtle.digest("SHA-256",t);return m(new Uint8Array(r))}return null}_pageShowHandler(e){if(e.persisted&&this.isBusy()&&this._rejectOnPersistedPageShow){const e=new i("identity-manager:user-aborted","ABORTED");this._errbackFunc(e)}}_findCredential(e,t){let r,s,i,o,n=-1;const a=t?.token,h=t?.resource,l=this._isServerRsrc(e)?"server":"portal",c=this.credentials.filter(t=>this._hasSameServerInstance(t.server,e)&&t.scope===l);if(e=h||e,c.length)if(1===c.length){if(r=c[0],i=this.findServerInfo(r.server),s=i?.owningSystemUrl,o=s?this.findCredential(s,r.userId):void 0,n=this._getIdenticalSvcIdx(e,r),!a)return-1===n&&r.resources.push(e),this._addResource(e,o),r;-1!==n&&(r.resources.splice(n,1),this._removeResource(e,o))}else{let t,r;if(c.some(a=>(r=this._getIdenticalSvcIdx(e,a),-1!==r&&(t=a,i=this.findServerInfo(t.server),s=i?.owningSystemUrl,o=s?this.findCredential(s,t.userId):void 0,n=r,!0))),a)t&&(t.resources.splice(n,1),this._removeResource(e,o));else if(t)return this._addResource(e,o),t}}_findOAuthInfo(e){let t=this.findOAuthInfo(e);if(!t)for(const r of this.oAuthInfos)if(this._isIdProvider(r.portalUrl,e)){t=r;break}return t}_addResource(e,t){t&&-1===this._getIdenticalSvcIdx(e,t)&&t.resources.push(e)}_removeResource(e,t){let r=-1;t&&(r=this._getIdenticalSvcIdx(e,t),r>-1&&t.resources.splice(r,1))}_useProxy(e,t){return t?.isAdmin&&!f(e.adminTokenServiceUrl,this._appOrigin)||!this._isPortalDomain(e.tokenServiceUrl)&&"10.1"===String(e.currentVersion)&&!f(e.tokenServiceUrl,this._appOrigin)}_getOrigin(e){const t=new p(e);return t.scheme+"://"+t.host+(null!=t.port?":"+t.port:"")}_getServerInstanceRoot(e){const t=e.toLowerCase();let r=t.indexOf(this._agsRest);return-1===r&&this._isAdminResource(e)&&(r=this._agsAdmin.test(e)?e.replace(this._agsAdmin,"$1").length:e.search(this._adminSvcs)),-1!==r||P(t)||(r=t.indexOf("/sharing")),-1===r&&t.endsWith("/")&&(r=t.length-1),r>-1?e.slice(0,r):e}_hasSameServerInstance(e,t){return e.endsWith("/")&&(e=e.slice(0,-1)),e=e.toLowerCase(),t=this._getServerInstanceRoot(t).toLowerCase(),e=R(e),t=R(t),(e=e.slice(Math.max(0,e.indexOf(":"))))===(t=t.slice(Math.max(0,t.indexOf(":"))))}_sanitizeUrl(e){const r=(t.request.proxyUrl||"").toLowerCase(),s=r?e.toLowerCase().indexOf(r+"?"):-1;return-1!==s&&(e=e.slice(s+r.length+1)),e=S(e),_(e).path}_isRESTService(e){return e.includes(this._agsRest)}_isAdminResource(e){return this._agsAdmin.test(e)||this._adminSvcs.test(e)}_isServerRsrc(e){return this._isRESTService(e)||this._isAdminResource(e)}_isIdenticalService(e,t){let r=!1;if(this._isRESTService(e)&&this._isRESTService(t)){const s=this._getSuffix(e).toLowerCase(),i=this._getSuffix(t).toLowerCase();if(r=s===i,!r){const e=/(.*)\/(MapServer|FeatureServer|UtilityNetworkServer).*/gi;r=s.replaceAll(e,"$1")===i.replaceAll(e,"$1")}}else this._isAdminResource(e)&&this._isAdminResource(t)?r=!0:this._isServerRsrc(e)||this._isServerRsrc(t)||!this._isPortalDomain(e)||(r=!0);return r}_isPortalDomain(e){const r=new p(e.toLowerCase()),s=this._portalConfig;let i=this._gwDomains.some(e=>e.regex.test(r.uri));return!i&&s&&(i=this._hasSameServerInstance(this._getServerInstanceRoot(s.restBaseUrl),r.uri)),i||t.portalUrl&&(i=f(r,t.portalUrl,!0)),i||(i=this._portals.some(e=>this._hasSameServerInstance(e,r.uri))),i=i||this._agsPortal.test(r.path),i}_isIdProvider(e,t){let r=-1,s=-1;this._gwDomains.forEach((i,o)=>{-1===r&&i.regex.test(e)&&(r=o),-1===s&&i.regex.test(t)&&(s=o)});let i=!1;if(r>-1&&s>-1&&(0===r||4===r?0!==s&&4!==s||(i=!0):1===r?1!==s&&2!==s||(i=!0):2===r?2===s&&(i=!0):3===r&&3===s&&(i=!0)),!i){const r=this.findServerInfo(t),s=r?.owningSystemUrl;s&&D(r)&&this._isPortalDomain(s)&&this._isIdProvider(e,s)&&(i=!0)}return i}_getIdenticalSvcIdx(e,t){let r=-1;for(let s=0;s<t.resources.length;s++){const i=t.resources[s];if(this._isIdenticalService(e,i)){r=s;break}}return r}_getSuffix(e){return e.replace(this._regexSDirUrl,"").replace(this._regexServerType,"$1")}_getTokenSvcUrl(e){let t,r,i;if(this._isRESTService(e)||this._isAdminResource(e)){const i=this._getServerInstanceRoot(e);return t=i+"/admin/generateToken",r=s(e=i+"/rest/info",{query:{f:"json"}}).then(e=>e.data),{adminUrl:t,promise:r}}if(this._isPortalDomain(e)){let t="";if(this._gwDomains.some(r=>(r.regex.test(e)&&(t=r.tokenServiceUrl),!!t)),t||this._portals.some(r=>(this._hasSameServerInstance(r,e)&&(t=r+this._gwTokenUrl),!!t)),t||(i=e.toLowerCase().indexOf("/sharing"),-1!==i&&(t=e.slice(0,i)+this._gwTokenUrl)),t||(t=this._getOrigin(e)+this._gwTokenUrl),t){const r=new p(e).port;/^http:\/\//i.test(e)&&"7080"===r&&(t=t.replace(/:7080/i,":7443")),t=t.replace(/http:/i,"https:")}return t}}_processOAuthResponseParams(e,t,r){const s=t._oAuthCred;if(e.code){const i=s.codeVerifier;return s.codeVerifier=null,s.stateUID=null,s.save(),this._getOAuthToken(r.server,e.code,t.appId,this._getRedirectURI(t,!0),i).then(i=>{const o=new L({userId:i.username,server:r.server??void 0,token:i.access_token,expires:Date.now()+1e3*i.expires_in,ssl:i.ssl,oAuthState:e.state,_oAuthCred:s});return t.userId=o.userId,s.storage=i.persist?q:j,s.refreshToken=i.refresh_token,s.token=null,s.expires=i.refresh_token_expires_in?Date.now()+1e3*i.refresh_token_expires_in:null,s.userId=o.userId,s.ssl=o.ssl,s.save(),o})}const i=new L({userId:e.username,server:r.server??void 0,token:e.access_token,expires:Date.now()+1e3*Number(e.expires_in),ssl:"true"===e.ssl,oAuthState:e.state,_oAuthCred:s});return t.userId=i.userId,s.storage=e.persist?q:j,s.refreshToken=null,s.token=i.token,s.expires=i.expires,s.userId=i.userId,s.ssl=i.ssl,s.save(),Promise.resolve(i)}_processOAuthPopupParams(e){const t=this._oAuthDfd;if(this._oAuthDfd=null,t)if(clearInterval(this._oAuthIntervalId),this._oAuthOnPopupHandle?.remove(),e.error){const r="access_denied"===e.error,s=new i(r?"identity-manager:user-aborted":"identity-manager:authentication-failed",r?"ABORTED":"OAuth: "+e.error+" - "+e.error_description);t.reject(s)}else this._processOAuthResponseParams(e,t.oinfo_,t.sinfo_).then(e=>{t.resolve(e)}).catch(e=>{t.reject(e)})}_setOAuthResponseQueryString(e){e&&("?"===e.charAt(0)&&(e=e.slice(1)),this._processOAuthPopupParams(g(e)))}async _exchangeToken(e,t,r){return(await s(`${e}/sharing/rest/oauth2/exchangeToken`,{authMode:"anonymous",method:"post",query:{f:"json",client_id:t,token:r}})).data.token}async _getPlatformSelf(e,t){if(this._getPlatformSelfError&&Date.now()-this._getPlatformSelfError[1]<1e3)throw this._getPlatformSelfError[0];e=e.replace(/^http:/i,"https:");try{const r=await s(`${e}/sharing/rest/oauth2/platformSelf`,{authMode:"anonymous",headers:{"X-Esri-Auth-Client-Id":t,"X-Esri-Auth-Redirect-Uri":window.location.href.replace(/#.*$/,"")},method:"post",query:{f:"json",expiration:30},withCredentials:!0});return this._getPlatformSelfError=null,r.data}catch(r){throw"OAUTH_0066"===r.details?.messageCode&&(this._getPlatformSelfError=[r,Date.now()]),r}}_getPortalSelf(e,t){let r;if(this._gwDomains.some(t=>(t.regex.test(e)&&(r=t.customBaseUrl),!!r)),r)return Promise.resolve({allSSL:!0,currentVersion:"8.4",customBaseUrl:r,portalMode:"multitenant",supportsOAuth:!0});this._appOrigin.startsWith("https:")?e=e.replace(/^http:/i,"https:").replace(/:7080/i,":7443"):/^http:/i.test(t)&&(e=e.replace(/^https:/i,"http:").replace(/:7443/i,":7080"));return s(e,{query:{f:"json"},authMode:"anonymous",withCredentials:!0}).then(e=>e.data)}_doPortalSignIn(e){const t=this._portalConfig,r=window.location.href,s=this.findServerInfo(e);return!(!t&&!this._isPortalDomain(r)||!(s?s.hasPortal||s.owningSystemUrl&&this._isPortalDomain(s.owningSystemUrl):this._isPortalDomain(e))||!(this._isIdProvider(r,e)||t&&(this._hasSameServerInstance(this._getServerInstanceRoot(t.restBaseUrl),e)||this._isIdProvider(t.restBaseUrl,e))||f(r,e,!0)))}_checkProtocol(e,t,r,s){let o=!0;const n=s?t.adminTokenServiceUrl:t.tokenServiceUrl;if(n.trim().toLowerCase().startsWith("https:")&&!this._appOrigin.startsWith("https:")&&w(n)&&(o=!!this._protocolFunc&&!!this._protocolFunc({resourceUrl:e,serverInfo:t}),!o)){r(new i("identity-manager:aborted","Aborted the Sign-In process to avoid sending password over insecure connection."))}return o}_enqueue(e,t,r,s,i,o){return s||(s=c()),s.resUrl_=e,s.sinfo_=t,s.options_=r,s.admin_=i,s.refresh_=o,this._busy?this._hasSameServerInstance(this._getServerInstanceRoot(e),this._busy.resUrl_)?(this._oAuthDfd&&this._oAuthDfd.oAuthWin_&&this._oAuthDfd.oAuthWin_.focus(),this._soReqs.push(s)):this._xoReqs.push(s):this._doSignIn(s),s.promise}_doSignIn(e){this._busy=e,this._rejectOnPersistedPageShow=!1;const t=t=>{const r=e.options_?.resource,s=e.resUrl_,i=e.refresh_;let o=!1;this.credentials.includes(t)||(i&&this.credentials.includes(i)?(i.userId=t.userId,i.token=t.token,i.expires=t.expires,i.validity=t.validity,i.ssl=t.ssl,i.creationTime=t.creationTime,o=!0,t=i):this.credentials.push(t)),t.resources||(t.resources=[]),t.resources.includes(r||s)||t.resources.push(r||s),t.scope=this._isServerRsrc(s)?"server":"portal",t.emitTokenChange();const n=this._soReqs,a={};this._soReqs=[],n.forEach(e=>{if(!this._isIdenticalService(s,e.resUrl_)){const r=this._getSuffix(e.resUrl_);a[r]||(a[r]=!0,t.resources.push(e.resUrl_))}}),e.resolve(t),n.forEach(e=>{this._hasSameServerInstance(this._getServerInstanceRoot(s),e.resUrl_)?e.resolve(t):this._soReqs.push(e)}),this._busy=e.resUrl_=e.sinfo_=e.refresh_=null,o||this.emit("credential-create",{credential:t}),this._soReqs.length?this._doSignIn(this._soReqs.shift()):this._xoReqs.length&&this._doSignIn(this._xoReqs.shift())},r=t=>{e.reject(t),this._busy=e.resUrl_=e.sinfo_=e.refresh_=null,this._soReqs.length?this._doSignIn(this._soReqs.shift()):this._xoReqs.length&&this._doSignIn(this._xoReqs.shift())},s=(o,n,h,l)=>{const c=e.sinfo_,u=!e.options_||!1!==e.options_.prompt,p=c.hasPortal&&this._findOAuthInfo(e.resUrl_);let _,g;if(o)t(new L({userId:o,server:c.server??void 0,token:h??void 0,expires:null!=l?Number(l):null,ssl:!!n}));else if(window!==window.parent&&this._appUrlObj.query?.["arcgis-auth-origin"]&&this._appUrlObj.query?.["arcgis-auth-portal"]&&this._hasSameServerInstance(this._getServerInstanceRoot(this._appUrlObj.query["arcgis-auth-portal"]),e.resUrl_)){window.parent.postMessage({type:"arcgis:auth:requestCredential"},this._appUrlObj.query["arcgis-auth-origin"]);const s=a(window,"message",e=>{e.source===window.parent&&e.data&&("arcgis:auth:credential"===e.data.type?(s.remove(),e.data.credential.expires<Date.now()?r(new i("identity-manager:credential-request-failed","Parent application's token has expired.")):t(new L(e.data.credential))):"arcgis:auth:error"===e.data.type&&(s.remove(),"tokenExpiredError"===e.data.error.name?r(new i("identity-manager:credential-request-failed","Parent application's token has expired.")):r(i.fromJSON(e.data.error))))});d(e.options_?.signal,()=>{s.remove()})}else if(p){let o=p._oAuthCred;if(!o){const e=new T(p,q),t=new T(p,j);e.isValid()&&t.isValid()?e.expires>t.expires?(o=e,t.destroy()):(o=t,e.destroy()):o=e.isValid()?e:t,p._oAuthCred=o}if(o.isValid()){_=new L({userId:o.userId??void 0,server:c.server??void 0,token:o.token??void 0,expires:o.expires,ssl:o.ssl??void 0,_oAuthCred:o});const i=p.appId!==o.appId&&this._doPortalSignIn(e.resUrl_);i||o.refreshToken?(e._pendingDfd=o.refreshToken?this._getOAuthToken(c.server,o.refreshToken,o.appId).then(e=>(_.expires=Date.now()+1e3*e.expires_in,_.token=e.access_token,_)):Promise.resolve(_),e._pendingDfd.then(e=>i?this._exchangeToken(e.server,p.appId,e.token).then(t=>(e.token=t,e)).catch(()=>e):e).then(e=>{t(e)}).catch(e=>{const t=e.details?.httpStatus;t>0&&404!==t?(o.destroy(),s()):r(e)})):t(_)}else if(this._oAuthLocationParams&&this._hasSameServerInstance(p.portalUrl,this._oAuthLocationParams.state.portalUrl)&&(this._oAuthLocationParams.access_token||this._oAuthLocationParams.code&&this._oAuthLocationParams.state.uid===o.stateUID&&o.codeVerifier)){const s=this._oAuthLocationParams;this._oAuthLocationParams=null,e._pendingDfd=this._processOAuthResponseParams(s,p,c).then(e=>{t(e)}).catch(r)}else{const s=()=>{u?e._pendingDfd=this.oAuthSignIn(e.resUrl_,c,p,e.options_).then(t,r):(g=new i("identity-manager:not-authenticated","User is not signed in."),r(g))};this._doPortalSignIn(e.resUrl_)?e._pendingDfd=this._getPlatformSelf(c.server,p.appId).then(e=>{f(e.portalUrl,this._appOrigin,!0)?(_=new L({userId:e.username,server:c.server??void 0,expires:Date.now()+1e3*e.expires_in,token:e.token}),t(_)):s()}).catch(s):s()}}else if(u){if(this._checkProtocol(e.resUrl_,c,r,e.admin_)){let s=e.options_;e.admin_&&(s=s||{},s.isAdmin=!0),e._pendingDfd=this.signIn(e.resUrl_,c,s).then(t,r)}}else g=new i("identity-manager:not-authenticated","User is not signed in."),r(g)},o=()=>{const s=e.sinfo_,i=s.owningSystemUrl,o=e.options_;let n,a,h,l;if(o&&(n=o.token,a=o.error,h=o.prompt),l=this._findCredential(i,{token:n,resource:e.resUrl_}),!l)for(const e of this.credentials)if(this._isIdProvider(i,e.server)){l=e;break}if(l){const i=this.findCredential(e.resUrl_,l.userId);if(i)t(i);else if(b(s,this._legacyFed)){const e=l.toJSON();e.server=s.server,e.resources=null,t(new L(e))}else{(e._pendingDfd=this.generateToken(this.findServerInfo(l.server),null,{serverUrl:e.resUrl_,token:l.token,signal:e.options_.signal,ssl:l.ssl})).then(r=>{t(new L({userId:l?.userId,server:s.server??void 0,token:r.token,expires:null!=r.expires?Number(r.expires):null,ssl:!!r.ssl,isAdmin:e.admin_,validity:r.validity}))},r)}}else{this._busy=null,n&&(e.options_.token=null);(e._pendingDfd=this.getCredential(i.replace(/\/?$/,"/sharing"),{resource:e.resUrl_,owningTenant:s.owningTenant,signal:e.options_.signal,token:n,error:a,prompt:h})).then(()=>{this._enqueue(e.resUrl_,e.sinfo_,e.options_,e,e.admin_)},t=>{e.resUrl_=e.sinfo_=e.refresh_=null,e.reject(t)})}};this._errbackFunc=r;const n=e.sinfo_.owningSystemUrl,h=this._isServerRsrc(e.resUrl_),c=e.sinfo_._restInfoPms;c?c.promise.then(t=>{const r=e.sinfo_;if(r._restInfoPms){r.adminTokenServiceUrl=r._restInfoPms.adminUrl,r._restInfoPms=null,r.tokenServiceUrl=(l("authInfo.tokenServicesUrl",t)||l("authInfo.tokenServiceUrl",t)||l("tokenServiceUrl",t))??null,r.shortLivedTokenValidity=l("authInfo.shortLivedTokenValidity",t)??null,r.currentVersion=t.currentVersion,r.owningTenant=t.owningTenant;const e=r.owningSystemUrl=t.owningSystemUrl;e&&this._portals.push(e)}h&&r.owningSystemUrl?o():s()},()=>{e.sinfo_._restInfoPms=null;const t=new i("identity-manager:server-identification-failed","Unknown resource - could not find token service endpoint.");r(t)}):h&&n?o():e.sinfo_._selfReq?e.sinfo_._selfReq.selfDfd.then(t=>{const r={};let s,i,o,n;return t&&(s=t.user?.username,r.username=s,r.allSSL=t.allSSL,i=t.supportsOAuth,n=parseFloat(t.currentVersion),"multitenant"===t.portalMode&&(o=t.customBaseUrl),e.sinfo_.currentVersion=n),e.sinfo_.webTierAuth=!!s,s&&this.normalizeWebTierAuth?this.generateToken(e.sinfo_,null,{ssl:r.allSSL}).catch(()=>null).then(e=>(r.portalToken=e?.token,r.tokenExpiration=e?.expires,r)):!s&&i&&n>=4.4&&!this._findOAuthInfo(e.resUrl_)?this._generateOAuthInfo({portalUrl:e.sinfo_.server,customBaseUrl:o,owningTenant:e.sinfo_._selfReq.owningTenant}).catch(()=>null).then(()=>r):r}).catch(()=>null).then(t=>{e.sinfo_._selfReq=null,t?s(t.username,t.allSSL,t.portalToken,t.tokenExpiration):s()}):s()}_generateOAuthInfo(e){let t,r=null,i=e.portalUrl;const o=e.customBaseUrl,n=e.owningTenant,a=!this._defaultOAuthInfo&&this._createDefaultOAuthInfo&&!this._hasTestedIfAppIsOnPortal;if(a){r=this._appUrlObj.path;const e=r.search(/\/(apps|home)\//);r=e>-1?r.slice(0,e):null}return a&&r?(this._hasTestedIfAppIsOnPortal=!0,t=s(r+"/sharing/rest",{query:{f:"json"}}).then(()=>{this._defaultOAuthInfo=new x({appId:"arcgisonline",popupCallbackUrl:r+"/home/oauth-callback.html"})})):t=Promise.resolve(),t.then(()=>{if(this._defaultOAuthInfo)return i=i.replace(/^http:/i,"https:"),s(i+"/sharing/rest/oauth2/validateRedirectUri",{query:{accountId:n,client_id:this._defaultOAuthInfo.appId,redirect_uri:I(this._defaultOAuthInfo.popupCallbackUrl),f:"json"}}).then(e=>{if(e.data.valid){const t=this._defaultOAuthInfo.clone();e.data.urlKey&&o?t.portalUrl="https://"+e.data.urlKey.toLowerCase()+"."+o:t.portalUrl=i,t.popup=window!==window.top||!(f(i,this._appOrigin)||this._gwDomains.some(e=>e.regex.test(i)&&e.regex.test(this._appOrigin))),this.oAuthInfos.push(t)}})})}_doOAuthSignIn(e,t,r,s){const o=r._oAuthCred,n={portalUrl:r.portalUrl};!r.popup&&r.preserveUrlHash&&window.location.hash&&(n.hash=window.location.hash),o.stateUID&&(n.uid=o.stateUID);const h={client_id:r.appId,response_type:o.codeVerifier?"code":"token",state:JSON.stringify(n),expiration:r.expiration,locale:r.locale,redirect_uri:this._getRedirectURI(r,!!o.codeVerifier)};r.forceLogin&&(h.force_login=!0),r.forceUserId&&r.userId&&(h.prepopulatedusername=r.userId),!r.popup&&this._doPortalSignIn(e)&&(h.redirectToUserOrgUrl=!0),o.codeVerifier&&(h.code_challenge=s||o.codeVerifier,h.code_challenge_method=s?"S256":"plain");const l=r.portalUrl.replace(/^http:/i,"https:")+"/sharing/oauth2/authorize",c=l+"?"+v(h);if(r.popup){const e=window.open(c,"esriJSAPIOAuth",r.popupWindowFeatures);if(e)e.focus(),this._oAuthDfd.oAuthWin_=e,this._oAuthIntervalId=setInterval(()=>{if(e.closed){clearInterval(this._oAuthIntervalId),this._oAuthOnPopupHandle.remove();const e=this._oAuthDfd;if(e){const t=new i("identity-manager:user-aborted","ABORTED");e.reject(t)}}},500),this._oAuthOnPopupHandle=a(window,["arcgis:auth:hash","arcgis:auth:location:search"],e=>{"arcgis:auth:hash"===e.type?this.setOAuthResponseHash(e.detail):this._setOAuthResponseQueryString(e.detail)});else{const e=new i("identity-manager:popup-blocked","ABORTED");this._oAuthDfd.reject(e)}}else this._rejectOnPersistedPageShow=!0,this._oAuthRedirectFunc?this._oAuthRedirectFunc({authorizeParams:h,authorizeUrl:l,resourceUrl:e,serverInfo:t,oAuthInfo:r}):window.location.href=c}_getRedirectURI(e,t){const r=window.location.href.replace(/#.*$/,"");if(e.popup)return I(e.popupCallbackUrl);if(t){const e=_(r);return e.query&&["code","error","error_description","message_code","persist","state"].forEach(t=>{delete e.query[t]}),A(e.path,e.query)}return r}}E.prototype.declaredClass="esri.identity.IdentityManagerBase";let L=class extends o{constructor(e){super(e),this._oAuthCred=null,this.tokenRefreshBuffer=2,e?._oAuthCred&&(this._oAuthCred=e._oAuthCred)}initialize(){this.resources=this.resources||[],null==this.creationTime&&(this.creationTime=Date.now())}refreshToken(){const e=r,t=e.findServerInfo(this.server),s=t?.owningSystemUrl,i=!!s&&"server"===this.scope,o=i&&b(t,e._legacyFed),n=t.webTierAuth,a=n&&e.normalizeWebTierAuth,h=C[this.server],l=h?.[this.userId];let c,d=this.resources&&this.resources[0],u=i?e.findServerInfo(s):null,p={username:this.userId,password:l};if(n&&!a)return;i&&!u&&e.serverInfos.some(t=>(e._isIdProvider(s,t.server)&&(u=t),!!u));const _=u?e.findCredential(u.server,this.userId):null;if(!i||_){if(!o){if(i)c={serverUrl:d,token:_?.token,ssl:_?.ssl};else if(a)p=null,c={ssl:this.ssl};else{if(!l){let r;return d&&(d=e._sanitizeUrl(d),this._enqueued=1,r=e._enqueue(d,t,null,null,this.isAdmin,this),r.then(()=>{this._enqueued=0,this.refreshServerTokens()}).catch(()=>{this._enqueued=0})),r}this.isAdmin&&(c={isAdmin:!0})}return e.generateToken(i?u:t,i?null:p,c).then(e=>{this.token=e.token,this.expires=null!=e.expires?Number(e.expires):null,this.creationTime=Date.now(),this.validity=e.validity,this.emitTokenChange(),this.refreshServerTokens()}).catch(()=>{})}_?.refreshToken()}}refreshServerTokens(){if("portal"===this.scope){const e=r;e.credentials.forEach(t=>{const r=e.findServerInfo(t.server),s=r?.owningSystemUrl;t!==this&&t.userId===this.userId&&s&&"server"===t.scope&&(e._hasSameServerInstance(this.server,s)||e._isIdProvider(s,this.server))&&(b(r,e._legacyFed)?(t.token=this.token,t.expires=this.expires,t.creationTime=this.creationTime,t.validity=this.validity,t.emitTokenChange()):t.refreshToken())})}}emitTokenChange(e){clearTimeout(this._refreshTimer);const t=r,s=this.server?t.findServerInfo(this.server):null,i=s?.owningSystemUrl,o=i?t.findServerInfo(i):null;!1===e||i&&"portal"!==this.scope&&(!o?.webTierAuth||t.normalizeWebTierAuth)||null==this.expires&&null==this.validity||this._startRefreshTimer(),this.emit("token-change")}destroy(){this.userId=this.server=this.token=this.expires=this.validity=this.resources=this.creationTime=null,this._oAuthCred&&(this._oAuthCred.destroy(),this._oAuthCred=null);const e=r,t=e.credentials.indexOf(this);t>-1&&e.credentials.splice(t,1),this.emitTokenChange(),this.emit("destroy")}toJSON(){const e=h({userId:this.userId,server:this.server,token:this.token,expires:this.expires,validity:this.validity,ssl:this.ssl,isAdmin:this.isAdmin,creationTime:this.creationTime,scope:this.scope}),t=this.resources;return t&&t.length>0&&(e.resources=t.slice()),e}_startRefreshTimer(){clearTimeout(this._refreshTimer);const e=6e4*this.tokenRefreshBuffer,t=2**31-1;let r=(this.validity?this.creationTime+6e4*this.validity:this.expires)-Date.now();r<0?r=0:r>t&&(r=t),this._refreshTimer=setTimeout(this.refreshToken.bind(this),r>e?r-e:r)}};e([k()],L.prototype,"creationTime",void 0),e([k()],L.prototype,"expires",void 0),e([k()],L.prototype,"isAdmin",void 0),e([k()],L.prototype,"oAuthState",void 0),e([k()],L.prototype,"resources",void 0),e([k()],L.prototype,"scope",void 0),e([k()],L.prototype,"server",void 0),e([k()],L.prototype,"ssl",void 0),e([k()],L.prototype,"token",void 0),e([k()],L.prototype,"tokenRefreshBuffer",void 0),e([k()],L.prototype,"userId",void 0),e([k()],L.prototype,"validity",void 0),L=e([y("esri.identity.Credential")],L);export{L as Credential,E as IdentityManagerBase};
package/interfaces.d.ts CHANGED
@@ -14419,6 +14419,22 @@ declare namespace __esri {
14419
14419
  constructor(layer: GeoJSONLayer);
14420
14420
  }
14421
14421
 
14422
+ export class GeoRSSGraphicOrigin extends GraphicOrigin {
14423
+ /**
14424
+ * The layer of the graphic origin.
14425
+ *
14426
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-graphic-GeoRSSGraphicOrigin.html#layer Read more...}
14427
+ */
14428
+ readonly layer: GeoRSSLayer;
14429
+ /**
14430
+ * The type of the graphic origin.
14431
+ *
14432
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-graphic-GeoRSSGraphicOrigin.html#type Read more...}
14433
+ */
14434
+ readonly type: "geo-rss";
14435
+ constructor(layer: GeoRSSLayer);
14436
+ }
14437
+
14422
14438
  export class GraphicOrigin {
14423
14439
  constructor();
14424
14440
  }
@@ -14462,6 +14478,14 @@ declare namespace __esri {
14462
14478
  * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-graphic-graphicOrigins.html#isGeoJSONGraphicOrigin Read more...}
14463
14479
  */
14464
14480
  isGeoJSONGraphicOrigin(origin: GraphicOrigin | nullish): origin is GeoJSONGraphicOrigin;
14481
+ /**
14482
+ * Checks if the provided `origin` is a {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-graphic-GeoRSSGraphicOrigin.html GeoRSSGraphicOrigin}.
14483
+ *
14484
+ * @param origin The graphic origin to check.
14485
+ *
14486
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-graphic-graphicOrigins.html#isGeoRSSGraphicOrigin Read more...}
14487
+ */
14488
+ isGeoRSSGraphicOrigin(origin: GraphicOrigin | nullish): origin is GeoRSSGraphicOrigin;
14465
14489
  /**
14466
14490
  * Checks if the provided `origin` is a {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-graphic-IntegratedMesh3DTilesGraphicOrigin.html IntegratedMesh3DTilesGraphicOrigin}.
14467
14491
  *
@@ -14478,6 +14502,30 @@ declare namespace __esri {
14478
14502
  * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-graphic-graphicOrigins.html#isIntegratedMeshGraphicOrigin Read more...}
14479
14503
  */
14480
14504
  isIntegratedMeshGraphicOrigin(origin: GraphicOrigin | nullish): origin is IntegratedMeshGraphicOrigin;
14505
+ /**
14506
+ * Checks if the provided `origin` is a {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-graphic-KnowledgeGraphGraphicOrigin.html KnowledgeGraphGraphicOrigin}.
14507
+ *
14508
+ * @param origin The graphic origin to check.
14509
+ *
14510
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-graphic-graphicOrigins.html#isKnowledgeGraphGraphicOrigin Read more...}
14511
+ */
14512
+ isKnowledgeGraphGraphicOrigin(origin: GraphicOrigin | nullish): origin is KnowledgeGraphGraphicOrigin;
14513
+ /**
14514
+ * Checks if the provided `origin` is a {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-graphic-MapImageGraphicOrigin.html MapImageGraphicOrigin}.
14515
+ *
14516
+ * @param origin The graphic origin to check.
14517
+ *
14518
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-graphic-graphicOrigins.html#isMapImageGraphicOrigin Read more...}
14519
+ */
14520
+ isMapImageGraphicOrigin(origin: GraphicOrigin | nullish): origin is MapImageGraphicOrigin;
14521
+ /**
14522
+ * Checks if the provided `origin` is a {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-graphic-MapNotesGraphicOrigin.html MapNotesGraphicOrigin}.
14523
+ *
14524
+ * @param origin The graphic origin to check.
14525
+ *
14526
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-graphic-graphicOrigins.html#isMapNotesGraphicOrigin Read more...}
14527
+ */
14528
+ isMapNotesGraphicOrigin(origin: GraphicOrigin | nullish): origin is MapNotesGraphicOrigin;
14481
14529
  /**
14482
14530
  * Checks if the provided `origin` is a {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-graphic-OGCFeatureGraphicOrigin.html OGCFeatureGraphicOrigin}.
14483
14531
  *
@@ -14486,6 +14534,22 @@ declare namespace __esri {
14486
14534
  * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-graphic-graphicOrigins.html#isOGCFeatureGraphicOrigin Read more...}
14487
14535
  */
14488
14536
  isOGCFeatureGraphicOrigin(origin: GraphicOrigin | nullish): origin is OGCFeatureGraphicOrigin;
14537
+ /**
14538
+ * Checks if the provided `origin` is a {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-graphic-OrientedImageryGraphicOrigin.html OrientedImageryGraphicOrigin}.
14539
+ *
14540
+ * @param origin The graphic origin to check.
14541
+ *
14542
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-graphic-graphicOrigins.html#isOrientedImageryGraphicOrigin Read more...}
14543
+ */
14544
+ isOrientedImageryGraphicOrigin(origin: GraphicOrigin | nullish): origin is OrientedImageryGraphicOrigin;
14545
+ /**
14546
+ * Checks if the provided `origin` is a {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-graphic-ParquetGraphicOrigin.html ParquetGraphicOrigin}.
14547
+ *
14548
+ * @param origin The graphic origin to check.
14549
+ *
14550
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-graphic-graphicOrigins.html#isParquetGraphicOrigin Read more...}
14551
+ */
14552
+ isParquetGraphicOrigin(origin: GraphicOrigin | nullish): origin is ParquetGraphicOrigin;
14489
14553
  /**
14490
14554
  * Checks if the provided `origin` is a {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-graphic-PointCloudGraphicOrigin.html PointCloudGraphicOrigin}.
14491
14555
  *
@@ -14510,6 +14574,22 @@ declare namespace __esri {
14510
14574
  * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-graphic-graphicOrigins.html#isStreamGraphicOrigin Read more...}
14511
14575
  */
14512
14576
  isStreamGraphicOrigin(origin: GraphicOrigin | nullish): origin is StreamGraphicOrigin;
14577
+ /**
14578
+ * Checks if the provided `origin` is a {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-graphic-SubtypeGroupGraphicOrigin.html SubtypeGroupGraphicOrigin}.
14579
+ *
14580
+ * @param origin The graphic origin to check.
14581
+ *
14582
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-graphic-graphicOrigins.html#isSubtypeGroupGraphicOrigin Read more...}
14583
+ */
14584
+ isSubtypeGroupGraphicOrigin(origin: GraphicOrigin | nullish): origin is SubtypeGroupGraphicOrigin;
14585
+ /**
14586
+ * Checks if the provided `origin` is a {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-graphic-TileGraphicOrigin.html TileGraphicOrigin}.
14587
+ *
14588
+ * @param origin The graphic origin to check.
14589
+ *
14590
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-graphic-graphicOrigins.html#isTileGraphicOrigin Read more...}
14591
+ */
14592
+ isTileGraphicOrigin(origin: GraphicOrigin | nullish): origin is TileGraphicOrigin;
14513
14593
  /**
14514
14594
  * Checks if the provided `origin` is a {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-graphic-VectorTileGraphicOrigin.html VectorTileGraphicOrigin}.
14515
14595
  *
@@ -14562,6 +14642,72 @@ declare namespace __esri {
14562
14642
  constructor(layer: IntegratedMeshLayer);
14563
14643
  }
14564
14644
 
14645
+ export class KnowledgeGraphGraphicOrigin extends GraphicOrigin {
14646
+ /**
14647
+ * The layer of the graphic origin.
14648
+ *
14649
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-graphic-KnowledgeGraphGraphicOrigin.html#layer Read more...}
14650
+ */
14651
+ readonly layer: KnowledgeGraphLayer;
14652
+ /**
14653
+ * The sublayer of the graphic origin.
14654
+ *
14655
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-graphic-KnowledgeGraphGraphicOrigin.html#sublayer Read more...}
14656
+ */
14657
+ readonly sublayer: KnowledgeGraphSublayer;
14658
+ /**
14659
+ * The type of the graphic origin.
14660
+ *
14661
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-graphic-KnowledgeGraphGraphicOrigin.html#type Read more...}
14662
+ */
14663
+ readonly type: "knowledge-graph";
14664
+ constructor(sublayer: KnowledgeGraphSublayer);
14665
+ }
14666
+
14667
+ export class MapImageGraphicOrigin extends GraphicOrigin {
14668
+ /**
14669
+ * The layer of the graphic origin.
14670
+ *
14671
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-graphic-MapImageGraphicOrigin.html#layer Read more...}
14672
+ */
14673
+ readonly layer: MapImageLayer;
14674
+ /**
14675
+ * The sublayer of the graphic origin.
14676
+ *
14677
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-graphic-MapImageGraphicOrigin.html#sublayer Read more...}
14678
+ */
14679
+ readonly sublayer: Sublayer;
14680
+ /**
14681
+ * The type of the graphic origin.
14682
+ *
14683
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-graphic-MapImageGraphicOrigin.html#type Read more...}
14684
+ */
14685
+ readonly type: "map-image";
14686
+ constructor(layer: MapImageLayer, sublayer: Sublayer);
14687
+ }
14688
+
14689
+ export class MapNotesGraphicOrigin extends GraphicOrigin {
14690
+ /**
14691
+ * The layer of the graphic origin.
14692
+ *
14693
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-graphic-MapNotesGraphicOrigin.html#layer Read more...}
14694
+ */
14695
+ readonly layer: MapNotesLayer;
14696
+ /**
14697
+ * The sublayer of the graphic origin.
14698
+ *
14699
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-graphic-MapNotesGraphicOrigin.html#sublayer Read more...}
14700
+ */
14701
+ readonly sublayer: GraphicsLayer;
14702
+ /**
14703
+ * The type of the graphic origin.
14704
+ *
14705
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-graphic-MapNotesGraphicOrigin.html#type Read more...}
14706
+ */
14707
+ readonly type: "map-notes";
14708
+ constructor(layer: MapNotesLayer, sublayer: GraphicsLayer);
14709
+ }
14710
+
14565
14711
  export class OGCFeatureGraphicOrigin extends GraphicOrigin {
14566
14712
  /**
14567
14713
  * The layer of the graphic origin.
@@ -14578,6 +14724,38 @@ declare namespace __esri {
14578
14724
  constructor(layer: OGCFeatureLayer);
14579
14725
  }
14580
14726
 
14727
+ export class OrientedImageryGraphicOrigin extends GraphicOrigin {
14728
+ /**
14729
+ * The layer of the graphic origin.
14730
+ *
14731
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-graphic-OrientedImageryGraphicOrigin.html#layer Read more...}
14732
+ */
14733
+ readonly layer: OrientedImageryLayer;
14734
+ /**
14735
+ * The type of the graphic origin.
14736
+ *
14737
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-graphic-OrientedImageryGraphicOrigin.html#type Read more...}
14738
+ */
14739
+ readonly type: "oriented-imagery";
14740
+ constructor(layer: OrientedImageryLayer);
14741
+ }
14742
+
14743
+ export class ParquetGraphicOrigin extends GraphicOrigin {
14744
+ /**
14745
+ * The layer of the graphic origin.
14746
+ *
14747
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-graphic-ParquetGraphicOrigin.html#layer Read more...}
14748
+ */
14749
+ readonly layer: ParquetLayer;
14750
+ /**
14751
+ * The type of the graphic origin.
14752
+ *
14753
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-graphic-ParquetGraphicOrigin.html#type Read more...}
14754
+ */
14755
+ readonly type: "parquet";
14756
+ constructor(layer: ParquetLayer);
14757
+ }
14758
+
14581
14759
  export class PointCloudGraphicOrigin extends GraphicOrigin {
14582
14760
  /**
14583
14761
  * The layer of the graphic origin.
@@ -14626,6 +14804,50 @@ declare namespace __esri {
14626
14804
  constructor(layer: StreamLayer);
14627
14805
  }
14628
14806
 
14807
+ export class SubtypeGroupGraphicOrigin extends GraphicOrigin {
14808
+ /**
14809
+ * The layer of the graphic origin.
14810
+ *
14811
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-graphic-SubtypeGroupGraphicOrigin.html#layer Read more...}
14812
+ */
14813
+ readonly layer: SubtypeGroupLayer;
14814
+ /**
14815
+ * The sublayer of the graphic origin.
14816
+ *
14817
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-graphic-SubtypeGroupGraphicOrigin.html#sublayer Read more...}
14818
+ */
14819
+ readonly sublayer: SubtypeSublayer;
14820
+ /**
14821
+ * The type of the graphic origin.
14822
+ *
14823
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-graphic-SubtypeGroupGraphicOrigin.html#type Read more...}
14824
+ */
14825
+ readonly type: "subtype-group";
14826
+ constructor(sublayer: SubtypeSublayer);
14827
+ }
14828
+
14829
+ export class TileGraphicOrigin extends GraphicOrigin {
14830
+ /**
14831
+ * The layer of the graphic origin.
14832
+ *
14833
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-graphic-TileGraphicOrigin.html#layer Read more...}
14834
+ */
14835
+ readonly layer: TileLayer;
14836
+ /**
14837
+ * The sublayer of the graphic origin.
14838
+ *
14839
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-graphic-TileGraphicOrigin.html#sublayer Read more...}
14840
+ */
14841
+ readonly sublayer: Sublayer;
14842
+ /**
14843
+ * The type of the graphic origin.
14844
+ *
14845
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-graphic-TileGraphicOrigin.html#type Read more...}
14846
+ */
14847
+ readonly type: "tile";
14848
+ constructor(layer: TileLayer, sublayer: Sublayer);
14849
+ }
14850
+
14629
14851
  export class VectorTileGraphicOrigin extends GraphicOrigin {
14630
14852
  /**
14631
14853
  * The layer of the graphic origin.
@@ -50910,6 +51132,12 @@ declare namespace __esri {
50910
51132
  }
50911
51133
 
50912
51134
  export class UtilityNetwork extends Network {
51135
+ /**
51136
+ * The associations table is used to store associations between network features.
51137
+ *
51138
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-networks-UtilityNetwork.html#associationsTable Read more...}
51139
+ */
51140
+ readonly associationsTable: FeatureLayer | nullish;
50913
51141
  /**
50914
51142
  * Returns all the [domain networks](https://pro.arcgis.com/en/pro-app/latest/help/data/utility-network/domain-network.htm) in the utility network.
50915
51143
  *
package/kernel.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 has from"./core/has.js";import{addQueryParameter as o}from"./core/urlUtils.js";export{buildDate,commitHash as revision}from"./support/revision.js";Symbol.dispose??=Symbol("Symbol.dispose"),Symbol.asyncDispose??=Symbol("Symbol.asyncDispose");const e="4.34";let s,r=e;function i(o){s=o}function t(e){const r=s?.findCredential(e);return r?.token?o(e,"token",r.token):e}r="4.34.0-next.36",has("host-webworker")||globalThis.$arcgis||Object.defineProperty(globalThis,"$arcgis",{configurable:!1,enumerable:!0,writable:!1,value:{}}),has("host-webworker");export{t as addTokenParameter,r as fullVersion,s as id,i as setId,e as version};
5
+ import has from"./core/has.js";import{addQueryParameter as o}from"./core/urlUtils.js";export{buildDate,commitHash as revision}from"./support/revision.js";Symbol.dispose??=Symbol("Symbol.dispose"),Symbol.asyncDispose??=Symbol("Symbol.asyncDispose");const e="4.34";let s,r=e;function i(o){s=o}function t(e){const r=s?.findCredential(e);return r?.token?o(e,"token",r.token):e}r="4.34.0-next.37",has("host-webworker")||globalThis.$arcgis||Object.defineProperty(globalThis,"$arcgis",{configurable:!1,enumerable:!0,writable:!1,value:{}}),has("host-webworker");export{t as addTokenParameter,r as fullVersion,s as id,i as setId,e as version};
@@ -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/Error.js";import{throwIfAbortError as r}from"../core/promiseUtils.js";import{urlToObject as i}from"../core/urlUtils.js";import{property as o}from"../core/accessorSupport/decorators/property.js";import"../core/has.js";import"../core/Logger.js";import"../core/RandomLCG.js";import{reader as s}from"../core/accessorSupport/decorators/reader.js";import{subclass as a}from"../core/accessorSupport/decorators/subclass.js";import l from"../geometry/SpatialReference.js";import n from"./FeatureLayer.js";import{CSVSource as u}from"./graphics/sources/CSVSource.js";import{createCapabilities as d}from"./graphics/sources/support/clientSideDefaults.js";import c from"../rest/support/Query.js";import{w as p,r as y}from"../chunks/persistableUrlUtils.js";function h(e,r){throw new t(r,`CSVLayer (title: ${e.title}, id: ${e.id}) cannot be saved to a portal item`)}let m=class extends n{constructor(...e){super(...e),this.geometryType="point",this.capabilities=d(!1,!1),this.delimiter=null,this.editingEnabled=!1,this.fields=null,this.latitudeField=null,this.locationType="coordinates",this.longitudeField=null,this.operationalLayerType="CSV",this.outFields=["*"],this.path=null,this.spatialReference=l.WGS84,this.source=null,this.type="csv"}normalizeCtorArgs(e,t){return"string"==typeof e?{url:e,...t}:e}load(e){const t=null!=e?e.signal:null,i=this.loadFromPortal({supportedTypes:["CSV"],supportsData:!1},e).catch(r).then(async()=>this.initLayerProperties(await this.createGraphicsSource(t)));return this.addResolvingPromise(i),Promise.resolve(this)}get isTable(){return this.loaded&&null==this.geometryType}readWebMapLabelsVisible(e,t){return null!=t.showLabels?t.showLabels:!!t.layerDefinition?.drawingInfo?.labelingInfo}set url(e){if(!e)return void this._set("url",e);const t=i(e);this._set("url",t.path),t.query&&(this.customParameters={...this.customParameters,...t.query})}async createGraphicsSource(e){const t=new u({loadOptions:{delimiter:this.delimiter,fields:this.fields,latitudeField:this.latitudeField??void 0,longitudeField:this.longitudeField??void 0,spatialReference:this.spatialReference??void 0,timeInfo:this.timeInfo??void 0,url:this.url},customParameters:this.customParameters??void 0});return this._set("source",t),await t.load({signal:e}),this.read({locationInfo:t.locationInfo,columnDelimiter:t.delimiter},{origin:"service",url:this.parsedUrl}),t}queryFeatures(e,t){return this.load().then(()=>this.source.queryFeatures(c.from(e)||this.createQuery())).then(e=>{if(e?.features)for(const t of e.features)t.layer=t.sourceLayer=this;return e})}async queryObjectIds(e,t){return await this.load(),this.source.queryObjectIds(c.from(e)||this.createQuery())}queryFeatureCount(e,t){return this.load().then(()=>this.source.queryFeatureCount(c.from(e)||this.createQuery()))}queryExtent(e,t){return this.load().then(()=>this.source.queryExtent(c.from(e)||this.createQuery()))}read(e,t){super.read(e,t),t&&"service"===t.origin&&this.revert(["latitudeField","longitudeField"],"service")}write(e,t){return super.write(e,{...t,writeLayerSchema:!0})}clone(){throw new t("csv-layer:clone",`CSVLayer (title: ${this.title}, id: ${this.id}) cannot be cloned`)}async save(e){return h(this,"csv-layer:save")}async saveAs(e,t){return h(this,"csv-layer:save-as")}async hasDataChanged(){try{const{dataChanged:e,updates:t}=await this.source.refresh(this.customParameters);return null!=t&&this.read(t,{origin:"service",url:this.parsedUrl,ignoreDefaults:!0}),e}catch{}return!1}_verifyFields(){}_verifySource(){}_hasMemorySource(){return!1}};e([o({readOnly:!0,json:{read:!1,write:!1}})],m.prototype,"capabilities",void 0),e([o({type:[","," ",";","|","\t"],json:{read:{source:"columnDelimiter"},write:{target:"columnDelimiter",ignoreOrigin:!0}}})],m.prototype,"delimiter",void 0),e([o({readOnly:!0,type:Boolean,json:{origins:{"web-scene":{read:!1,write:!1}}}})],m.prototype,"editingEnabled",void 0),e([o({json:{read:{source:"layerDefinition.fields"},write:{target:"layerDefinition.fields"}}})],m.prototype,"fields",void 0),e([o({type:Boolean,readOnly:!0})],m.prototype,"isTable",null),e([s("web-map","labelsVisible",["layerDefinition.drawingInfo.labelingInfo","showLabels"])],m.prototype,"readWebMapLabelsVisible",null),e([o({type:String,json:{read:{source:"locationInfo.latitudeFieldName"},write:{target:"locationInfo.latitudeFieldName",ignoreOrigin:!0}}})],m.prototype,"latitudeField",void 0),e([o({type:["show","hide"]})],m.prototype,"listMode",void 0),e([o({type:["coordinates"],json:{read:{source:"locationInfo.locationType"},write:{target:"locationInfo.locationType",ignoreOrigin:!0,isRequired:!0}}})],m.prototype,"locationType",void 0),e([o({type:String,json:{read:{source:"locationInfo.longitudeFieldName"},write:{target:"locationInfo.longitudeFieldName",ignoreOrigin:!0}}})],m.prototype,"longitudeField",void 0),e([o({type:["CSV"]})],m.prototype,"operationalLayerType",void 0),e([o()],m.prototype,"outFields",void 0),e([o({type:String,json:{origins:{"web-scene":{read:!1,write:!1}},read:!1,write:!1}})],m.prototype,"path",void 0),e([o({json:{read:!1},cast:null,type:u,readOnly:!0})],m.prototype,"source",void 0),e([o({json:{read:!1},value:"csv",readOnly:!0})],m.prototype,"type",void 0),e([o({json:{read:y,write:{isRequired:!0,ignoreOrigin:!0,writer:p}}})],m.prototype,"url",null),m=e([a("esri.layers.CSVLayer")],m);const f=m;export{f as default};
5
+ import{__decorate as e}from"tslib";import r from"../core/Error.js";import{throwIfAbortError as t}from"../core/promiseUtils.js";import{urlToObject as i}from"../core/urlUtils.js";import{property as o}from"../core/accessorSupport/decorators/property.js";import"../core/has.js";import"../core/Logger.js";import"../core/RandomLCG.js";import{reader as s}from"../core/accessorSupport/decorators/reader.js";import{subclass as a}from"../core/accessorSupport/decorators/subclass.js";import n from"../geometry/SpatialReference.js";import l from"../graphic/CSVGraphicOrigin.js";import d from"./FeatureLayer.js";import{CSVSource as u}from"./graphics/sources/CSVSource.js";import{createCapabilities as c}from"./graphics/sources/support/clientSideDefaults.js";import p from"../rest/support/Query.js";import{w as h,r as y}from"../chunks/persistableUrlUtils.js";function m(e,t){throw new r(t,`CSVLayer (title: ${e.title}, id: ${e.id}) cannot be saved to a portal item`)}let g=class extends d{constructor(...e){super(...e),this.geometryType="point",this.capabilities=c(!1,!1),this.delimiter=null,this.editingEnabled=!1,this.fields=null,this.graphicOrigin=new l(this),this.latitudeField=null,this.locationType="coordinates",this.longitudeField=null,this.operationalLayerType="CSV",this.outFields=["*"],this.path=null,this.spatialReference=n.WGS84,this.source=null,this.type="csv"}normalizeCtorArgs(e,r){return"string"==typeof e?{url:e,...r}:e}load(e){const r=null!=e?e.signal:null,i=this.loadFromPortal({supportedTypes:["CSV"],supportsData:!1},e).catch(t).then(async()=>this.initLayerProperties(await this.createGraphicsSource(r)));return this.addResolvingPromise(i),Promise.resolve(this)}get isTable(){return this.loaded&&null==this.geometryType}readWebMapLabelsVisible(e,r){return null!=r.showLabels?r.showLabels:!!r.layerDefinition?.drawingInfo?.labelingInfo}set url(e){if(!e)return void this._set("url",e);const r=i(e);this._set("url",r.path),r.query&&(this.customParameters={...this.customParameters,...r.query})}async createGraphicsSource(e){const r=new u({loadOptions:{delimiter:this.delimiter,fields:this.fields,latitudeField:this.latitudeField??void 0,longitudeField:this.longitudeField??void 0,spatialReference:this.spatialReference??void 0,timeInfo:this.timeInfo??void 0,url:this.url},customParameters:this.customParameters??void 0});return this._set("source",r),await r.load({signal:e}),this.read({locationInfo:r.locationInfo,columnDelimiter:r.delimiter},{origin:"service",url:this.parsedUrl}),r}queryFeatures(e,r){return this.load().then(()=>this.source.queryFeatures(p.from(e)||this.createQuery())).then(e=>{if(e?.features)for(const r of e.features)r.layer=r.sourceLayer=this,r.origin=this.graphicOrigin;return e})}async queryObjectIds(e,r){return await this.load(),this.source.queryObjectIds(p.from(e)||this.createQuery())}queryFeatureCount(e,r){return this.load().then(()=>this.source.queryFeatureCount(p.from(e)||this.createQuery()))}queryExtent(e,r){return this.load().then(()=>this.source.queryExtent(p.from(e)||this.createQuery()))}read(e,r){super.read(e,r),r&&"service"===r.origin&&this.revert(["latitudeField","longitudeField"],"service")}write(e,r){return super.write(e,{...r,writeLayerSchema:!0})}clone(){throw new r("csv-layer:clone",`CSVLayer (title: ${this.title}, id: ${this.id}) cannot be cloned`)}async save(e){return m(this,"csv-layer:save")}async saveAs(e,r){return m(this,"csv-layer:save-as")}async hasDataChanged(){try{const{dataChanged:e,updates:r}=await this.source.refresh(this.customParameters);return null!=r&&this.read(r,{origin:"service",url:this.parsedUrl,ignoreDefaults:!0}),e}catch{}return!1}_verifyFields(){}_verifySource(){}_hasMemorySource(){return!1}};e([o({readOnly:!0,json:{read:!1,write:!1}})],g.prototype,"capabilities",void 0),e([o({type:[","," ",";","|","\t"],json:{read:{source:"columnDelimiter"},write:{target:"columnDelimiter",ignoreOrigin:!0}}})],g.prototype,"delimiter",void 0),e([o({readOnly:!0,type:Boolean,json:{origins:{"web-scene":{read:!1,write:!1}}}})],g.prototype,"editingEnabled",void 0),e([o({json:{read:{source:"layerDefinition.fields"},write:{target:"layerDefinition.fields"}}})],g.prototype,"fields",void 0),e([o({readOnly:!0})],g.prototype,"graphicOrigin",void 0),e([o({type:Boolean,readOnly:!0})],g.prototype,"isTable",null),e([s("web-map","labelsVisible",["layerDefinition.drawingInfo.labelingInfo","showLabels"])],g.prototype,"readWebMapLabelsVisible",null),e([o({type:String,json:{read:{source:"locationInfo.latitudeFieldName"},write:{target:"locationInfo.latitudeFieldName",ignoreOrigin:!0}}})],g.prototype,"latitudeField",void 0),e([o({type:["show","hide"]})],g.prototype,"listMode",void 0),e([o({type:["coordinates"],json:{read:{source:"locationInfo.locationType"},write:{target:"locationInfo.locationType",ignoreOrigin:!0,isRequired:!0}}})],g.prototype,"locationType",void 0),e([o({type:String,json:{read:{source:"locationInfo.longitudeFieldName"},write:{target:"locationInfo.longitudeFieldName",ignoreOrigin:!0}}})],g.prototype,"longitudeField",void 0),e([o({type:["CSV"]})],g.prototype,"operationalLayerType",void 0),e([o()],g.prototype,"outFields",void 0),e([o({type:String,json:{origins:{"web-scene":{read:!1,write:!1}},read:!1,write:!1}})],g.prototype,"path",void 0),e([o({json:{read:!1},cast:null,type:u,readOnly:!0})],g.prototype,"source",void 0),e([o({json:{read:!1},value:"csv",readOnly:!0})],g.prototype,"type",void 0),e([o({json:{read:y,write:{isRequired:!0,ignoreOrigin:!0,writer:h}}})],g.prototype,"url",null),g=e([a("esri.layers.CSVLayer")],g);const f=g;export{f as default};