@arcgis/core 4.24.0-next.20220430 → 4.24.0-next.20220503

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 (998) hide show
  1. package/Basemap.js +1 -1
  2. package/Color.js +1 -1
  3. package/Ground.js +1 -1
  4. package/Map.js +1 -1
  5. package/PopupTemplate.js +1 -1
  6. package/WebMap.js +1 -1
  7. package/WebScene.js +1 -1
  8. package/analysis/LinearDimension.js +1 -1
  9. package/analysis/SliceAnalysis.js +1 -1
  10. package/applications/SceneViewer/sceneViewerUtils.js +1 -1
  11. package/arcade/Dictionary.js +1 -1
  12. package/arcade/Feature.js +1 -1
  13. package/arcade/featureset/sources/FeatureLayerDynamic.js +1 -1
  14. package/arcade/featureset/support/FeatureSet.js +1 -1
  15. package/assets/esri/core/workers/RemoteClient.js +1 -1
  16. package/assets/esri/core/workers/chunks/{e06461703e6f1acfcfdc.js → 076d1b1101b59af0d389.js} +1 -1
  17. package/assets/esri/core/workers/chunks/0b72d123386dc4ec7538.js +1 -0
  18. package/assets/esri/core/workers/chunks/0d53e575f11198867619.js +1 -0
  19. package/assets/esri/core/workers/chunks/0e6e3cf07c84d9f040c0.js +1 -0
  20. package/assets/esri/core/workers/chunks/105728404ddd9e73d5c9.js +1 -0
  21. package/assets/esri/core/workers/chunks/11106873b009b98e4286.js +1 -0
  22. package/assets/esri/core/workers/chunks/11a7b156591d1feca952.js +1 -0
  23. package/assets/esri/core/workers/chunks/{94325f920a125610e1f5.js → 12feeace7215248be23f.js} +1 -1
  24. package/assets/esri/core/workers/chunks/17be5bd0d1c233d73d7a.js +1 -0
  25. package/assets/esri/core/workers/chunks/1b53bd65407ba5c479d7.js +1 -0
  26. package/assets/esri/core/workers/chunks/1d91aa745b49b2ab36cf.js +1 -0
  27. package/assets/esri/core/workers/chunks/{fd35b69872ac9393924f.js → 1db8bfb1731be3ae320c.js} +1 -1
  28. package/assets/esri/core/workers/chunks/{3433361f09c84b31aec4.js → 2290bd6dc2e6bb136e14.js} +1 -1
  29. package/assets/esri/core/workers/chunks/24217129d492e170f0f0.js +1 -0
  30. package/assets/esri/core/workers/chunks/24e194107e0e5090125b.js +1 -0
  31. package/assets/esri/core/workers/chunks/2a1301a1d0cd4c0c17cf.js +1 -0
  32. package/assets/esri/core/workers/chunks/{178831b0d0bdabcc45e7.js → 2a676221ca1fc8e0cf34.js} +1 -1
  33. package/assets/esri/core/workers/chunks/2aede0d1dcac8592436b.js +1 -0
  34. package/assets/esri/core/workers/chunks/2b93ad626f5e75b97692.js +1 -0
  35. package/assets/esri/core/workers/chunks/2d03210fc6b5884c6bf9.js +1 -0
  36. package/assets/esri/core/workers/chunks/{b10c333abe4f4e52841c.js → 2dfd3def105005fc72c7.js} +1 -1
  37. package/assets/esri/core/workers/chunks/2f8ff35b8ab15c0e39c2.js +1 -0
  38. package/assets/esri/core/workers/chunks/36272141b3c33cb19026.js +1 -0
  39. package/assets/esri/core/workers/chunks/36c8e8de9c3f67d32572.js +1 -0
  40. package/assets/esri/core/workers/chunks/3ab8c6ae2f2713f637b0.js +1 -0
  41. package/assets/esri/core/workers/chunks/3c058381adcfdc407aa1.js +1 -0
  42. package/assets/esri/core/workers/chunks/3f39df1dfc0a685e5f9d.js +1 -0
  43. package/assets/esri/core/workers/chunks/3fd52a03b3126556aee6.js +1 -0
  44. package/assets/esri/core/workers/chunks/4082d8573f41f952c72e.js +1 -0
  45. package/assets/esri/core/workers/chunks/40b11eea270f6688ff9c.js +1 -0
  46. package/assets/esri/core/workers/chunks/4281b4b27f4767cdd3ae.js +1 -0
  47. package/assets/esri/core/workers/chunks/43fcaaeb6fd179e9199b.js +1 -0
  48. package/assets/esri/core/workers/chunks/4c65b27d80b23c0c3101.js +1 -0
  49. package/assets/esri/core/workers/chunks/{a6406a248b7b2ed65f35.js → 4ec7d59b0c814dbaa7a4.js} +1 -1
  50. package/assets/esri/core/workers/chunks/4f378ad6f4299183df85.js +1 -0
  51. package/assets/esri/core/workers/chunks/505b0aa5ee3e5a26c351.js +1 -0
  52. package/assets/esri/core/workers/chunks/509a9cdd0228a730bcea.js +1 -0
  53. package/assets/esri/core/workers/chunks/52255ad573cec0a34720.js +1 -0
  54. package/assets/esri/core/workers/chunks/52d4fdc451a58a858af1.js +1 -0
  55. package/assets/esri/core/workers/chunks/5405f478af3563580926.js +1 -0
  56. package/assets/esri/core/workers/chunks/54577c2522ca3ff08f7e.js +1 -0
  57. package/assets/esri/core/workers/chunks/54d67e450da6ce2641b4.js +1 -0
  58. package/assets/esri/core/workers/chunks/56d3cb0ae0069a8eadde.js +1 -0
  59. package/assets/esri/core/workers/chunks/5b4efe0014162f777534.js +1 -0
  60. package/assets/esri/core/workers/chunks/5baa162351551817838b.js +1 -0
  61. package/assets/esri/core/workers/chunks/5cf2064bfd9d0847d9ec.js +1 -0
  62. package/assets/esri/core/workers/chunks/620dc3c13c345d5aa9f6.js +1 -0
  63. package/assets/esri/core/workers/chunks/7c290763920f52a1f504.js +1 -0
  64. package/assets/esri/core/workers/chunks/7dc266be958e34e81007.js +972 -0
  65. package/assets/esri/core/workers/chunks/7dfd70f4fa1096e56641.js +1 -0
  66. package/assets/esri/core/workers/chunks/7f097de06972a68cd08a.js +1 -0
  67. package/assets/esri/core/workers/chunks/8033531b0cc706b40d86.js +1 -0
  68. package/assets/esri/core/workers/chunks/814234844a056d9f1ddc.js +1 -0
  69. package/assets/esri/core/workers/chunks/83700cdd60ceecc639cd.js +1 -0
  70. package/assets/esri/core/workers/chunks/857df84cea67079a91e5.js +1 -0
  71. package/assets/esri/core/workers/chunks/8793070d288878d6f49b.js +1 -0
  72. package/assets/esri/core/workers/chunks/8865c5cc28df60364e60.js +1 -0
  73. package/assets/esri/core/workers/chunks/{e9f786d4ba3143ed9644.js → 8cc85d1d46dda16ad041.js} +1 -1
  74. package/assets/esri/core/workers/chunks/958a7ef2cbf048819988.js +1 -0
  75. package/assets/esri/core/workers/chunks/967af0aa4dc4da032fdc.js +1 -0
  76. package/assets/esri/core/workers/chunks/9722880bd7f455b2bd07.js +1 -0
  77. package/assets/esri/core/workers/chunks/9d738aab0d907cd09a9d.js +1 -0
  78. package/assets/esri/core/workers/chunks/{86b31ae136f931d7884a.js → 9e6df034d7949880471f.js} +1 -1
  79. package/assets/esri/core/workers/chunks/a056a79f31cddb066f15.js +1 -0
  80. package/assets/esri/core/workers/chunks/a2c9fd78d42df7314a3e.js +1 -0
  81. package/assets/esri/core/workers/chunks/a4dcb50f6622cb1444c8.js +1 -0
  82. package/assets/esri/core/workers/chunks/a6bfbe449b8c2fa5334c.js +1 -0
  83. package/assets/esri/core/workers/chunks/a8ed1a938dc164b401d9.js +1 -0
  84. package/assets/esri/core/workers/chunks/a9a73bc4875a5aeaf1b9.js +1 -0
  85. package/assets/esri/core/workers/chunks/ac0df52b2f2a4874e4ea.js +1 -0
  86. package/assets/esri/core/workers/chunks/{431efa172901ab8e4d53.js → acfa8eb19225f7862b1d.js} +1 -1
  87. package/assets/esri/core/workers/chunks/adae54f116f311d72d97.js +1 -0
  88. package/assets/esri/core/workers/chunks/{718073d13d3de67b629b.js → aeeb364b7c1876f6e7db.js} +1 -1
  89. package/assets/esri/core/workers/chunks/afddfe620e6539991e6b.js +1 -0
  90. package/assets/esri/core/workers/chunks/b02a83845d3da4caee9d.js +1 -0
  91. package/assets/esri/core/workers/chunks/{0d21506b7d4f9afdbb09.js → b3847a6bbd45d813f03c.js} +1 -1
  92. package/assets/esri/core/workers/chunks/b4c23630d6c85f7b59c0.js +1 -0
  93. package/assets/esri/core/workers/chunks/{c318b229911b60fc3cbf.js → b50ae3dc7e43ff452568.js} +1 -1
  94. package/assets/esri/core/workers/chunks/b5ede4df4620097c6528.js +1 -0
  95. package/assets/esri/core/workers/chunks/b7d7ad127f8939cbdec2.js +1 -0
  96. package/assets/esri/core/workers/chunks/bf1d1c02d12b526b0750.js +1 -0
  97. package/assets/esri/core/workers/chunks/c0e6dbecdbd30066a82c.js +1 -0
  98. package/assets/esri/core/workers/chunks/c2a36243eb105d570bff.js +1 -0
  99. package/assets/esri/core/workers/chunks/c8a3a28809542396c6fd.js +1 -0
  100. package/assets/esri/core/workers/chunks/cf1047ad176a25dcd2d6.js +1 -0
  101. package/assets/esri/core/workers/chunks/d03de043d43691665a93.js +1 -0
  102. package/assets/esri/core/workers/chunks/d3fecbaca51ef8844026.js +1 -0
  103. package/assets/esri/core/workers/chunks/dafe120243db6648a4ab.js +1 -0
  104. package/assets/esri/core/workers/chunks/dccc33d87cb7d902f5c7.js +1 -0
  105. package/assets/esri/core/workers/chunks/dd43f5647900ee27af22.js +1 -0
  106. package/assets/esri/core/workers/chunks/{52489e2f7748dc610263.js → dfdd853dd6c023089963.js} +1 -1
  107. package/assets/esri/core/workers/chunks/e6f76f62cf58fb1e67c6.js +1 -0
  108. package/assets/esri/core/workers/chunks/ea73a1d9cad5e1a5d861.js +1 -0
  109. package/assets/esri/core/workers/chunks/{4130ea1f5a9f197168d7.js → ed4519ac9533a4d340f1.js} +1 -1
  110. package/assets/esri/core/workers/chunks/f0e462f5a16852f33225.js +1 -0
  111. package/assets/esri/core/workers/chunks/f13c29bcc71aed8f3a2e.js +1 -0
  112. package/assets/esri/core/workers/chunks/f356e505c36397fda3cf.js +1 -0
  113. package/assets/esri/core/workers/chunks/f55cbaf5a1d6ee6ac171.js +1 -0
  114. package/assets/esri/core/workers/chunks/f6e613ae6812a347a26c.js +1 -0
  115. package/assets/esri/core/workers/chunks/fb3279408bd5323ec612.js +1 -0
  116. package/assets/esri/core/workers/chunks/fdf80a371b7b2a45f1ff.js +1 -0
  117. package/assets/esri/libs/vxl/vxlLayer.wasm +0 -0
  118. package/chunks/ChapmanAtmosphere.glsl.js +15 -15
  119. package/chunks/CheckerBoard.glsl.js +3 -3
  120. package/chunks/Clouds.glsl.js +2 -3
  121. package/chunks/CloudsComposition.glsl.js +3 -3
  122. package/chunks/ColorMaterial.glsl.js +11 -11
  123. package/chunks/DefaultMaterial.glsl.js +26 -26
  124. package/chunks/EdgeShader.glsl.js +3 -3
  125. package/chunks/Fog.glsl.js +6 -6
  126. package/chunks/HUDMaterial.glsl.js +48 -48
  127. package/chunks/HeatmapDensity.glsl.js +7 -7
  128. package/chunks/HighlightApply.glsl.js +3 -3
  129. package/chunks/LineCallout.glsl.js +3 -3
  130. package/chunks/LineMarker.glsl.js +22 -22
  131. package/chunks/MeasurementArrow.glsl.js +4 -4
  132. package/chunks/NativeLine.glsl.js +11 -11
  133. package/chunks/Path.glsl.js +16 -16
  134. package/chunks/Pattern.glsl.js +30 -30
  135. package/chunks/RasterColorizer.glsl.js +4 -4
  136. package/chunks/RealisticTree.glsl.js +20 -20
  137. package/chunks/RibbonLine.glsl.js +39 -39
  138. package/chunks/ShadedColorMaterial.glsl.js +10 -10
  139. package/chunks/ShadowCastVisualize.glsl.js +5 -5
  140. package/chunks/ShadowHighlight.glsl.js +2 -2
  141. package/chunks/SlicePlaneMaterial.glsl.js +3 -3
  142. package/chunks/Stars.glsl.js +2 -2
  143. package/chunks/WaterSurface.glsl.js +20 -20
  144. package/chunks/languageUtils.js +1 -1
  145. package/chunks/persistableUrlUtils.js +1 -1
  146. package/chunks/vec22.js +1 -1
  147. package/chunks/vec2f64.js +1 -1
  148. package/chunks/vec3.js +1 -1
  149. package/chunks/vec33.js +1 -1
  150. package/chunks/vec43.js +1 -1
  151. package/colorUtils.js +1 -1
  152. package/config.js +1 -1
  153. package/core/Accessor.js +1 -1
  154. package/core/AsyncUpdate.js +1 -1
  155. package/core/Clonable.js +1 -1
  156. package/core/Collection.js +1 -1
  157. package/core/HandleOwner.js +1 -1
  158. package/core/Loadable.js +1 -1
  159. package/core/NestedMap.js +1 -1
  160. package/core/accessorSupport/DefaultsStore.js +1 -1
  161. package/core/accessorSupport/Properties.js +1 -1
  162. package/core/accessorSupport/decorators/enumeration.js +1 -1
  163. package/core/accessorSupport/extensions/serializableProperty/reader.js +1 -1
  164. package/core/accessorSupport/extensions/serializableProperty/writePolicyUtils.js +1 -1
  165. package/core/accessorSupport/extensions/serializableProperty/writer.js +1 -1
  166. package/core/accessorSupport/read.js +1 -1
  167. package/core/accessorSupport/tracking.js +1 -1
  168. package/core/accessorSupport/write.js +1 -1
  169. package/core/devEnvironmentUtils.js +1 -1
  170. package/core/has.js +1 -1
  171. package/core/libs/gl-matrix-2/factories/vec2f64.js +1 -1
  172. package/core/libs/gl-matrix-2/math/vec3.js +1 -1
  173. package/core/libs/rbush/PooledRBush.js +1 -1
  174. package/core/promiseUtils.js +1 -1
  175. package/core/reactiveUtils.js +1 -1
  176. package/core/scheduling.js +1 -1
  177. package/core/throttle.js +1 -1
  178. package/core/urlUtils.js +1 -1
  179. package/core/watchUtils.js +1 -1
  180. package/core/workers/RemoteClient.js +1 -1
  181. package/core/workers/WorkerOwner.js +1 -1
  182. package/core/workers/loaderConfig.js +1 -1
  183. package/core/workers/workerFactory.js +1 -1
  184. package/geometry/Mesh.js +1 -1
  185. package/geometry/geometryEngine.js +1 -1
  186. package/geometry/geometryEngineAsync.js +1 -1
  187. package/geometry/projection.js +1 -1
  188. package/geometry/support/axisAngleDegrees.js +1 -1
  189. package/geometry/support/meshUtils/centerAt.js +1 -1
  190. package/geometry/support/meshUtils/deduplicate.js +1 -1
  191. package/geometry/support/meshUtils/elevation.js +1 -1
  192. package/geometry/support/meshUtils/geographicUtils.js +1 -1
  193. package/geometry/support/meshUtils/georeference.js +1 -1
  194. package/geometry/support/meshUtils/loadExternal.js +1 -1
  195. package/geometry/support/meshUtils/loadGLTFMesh.js +1 -1
  196. package/geometry/support/meshUtils/offset.js +1 -1
  197. package/geometry/support/meshUtils/rotate.js +1 -1
  198. package/geometry/support/meshUtils/scale.js +1 -1
  199. package/geometry/support/normalizeUtils.js +1 -1
  200. package/geometry/support/normalizeUtilsCommon.js +1 -1
  201. package/geometry/support/offset.js +1 -1
  202. package/geometry/support/rotate.js +1 -1
  203. package/identity/IdentityManagerBase.js +1 -1
  204. package/identity/IdentityModal.js +1 -1
  205. package/interfaces.d.ts +109 -2
  206. package/intl/locale.js +1 -1
  207. package/intl/messages.js +1 -1
  208. package/kernel.js +1 -1
  209. package/layers/AnalysisLayer.js +1 -1
  210. package/layers/CSVLayer.js +1 -1
  211. package/layers/FeatureLayer.js +1 -1
  212. package/layers/GeoJSONLayer.js +1 -1
  213. package/layers/GeoRSSLayer.js +1 -1
  214. package/layers/ImageryLayer.js +1 -1
  215. package/layers/ImageryTileLayer.js +1 -1
  216. package/layers/Layer.js +1 -1
  217. package/layers/MapImageLayer.js +1 -1
  218. package/layers/MapNotesLayer.js +1 -1
  219. package/layers/OGCFeatureLayer.js +1 -1
  220. package/layers/RouteLayer.js +1 -1
  221. package/layers/SceneLayer.js +1 -1
  222. package/layers/StreamLayer.js +1 -1
  223. package/layers/SubtypeGroupLayer.js +1 -1
  224. package/layers/TileLayer.js +1 -1
  225. package/layers/VectorTileLayer.js +1 -1
  226. package/layers/VoxelLayer.js +1 -1
  227. package/layers/VoxelWasmPerScene.js +1 -1
  228. package/layers/WCSLayer.js +1 -1
  229. package/layers/WFSLayer.js +1 -1
  230. package/layers/WMSLayer.js +1 -1
  231. package/layers/WMTSLayer.js +1 -1
  232. package/layers/buildingSublayers/BuildingComponentSublayer.js +1 -1
  233. package/layers/effects/EffectView.js +1 -1
  234. package/layers/effects/FeatureEffectView.js +1 -1
  235. package/layers/effects/jsonUtils.js +1 -1
  236. package/layers/graphics/OptimizedGeometry.js +1 -1
  237. package/layers/graphics/centroid.js +1 -1
  238. package/layers/graphics/controllers/FeatureTileController3D.js +1 -1
  239. package/layers/graphics/controllers/I3SOnDemandController.js +1 -1
  240. package/layers/graphics/data/QueryEngineResult.js +1 -1
  241. package/layers/graphics/data/StreamFeatureManager.js +1 -1
  242. package/layers/graphics/editingSupport.js +1 -1
  243. package/layers/graphics/objectIdUtils.js +1 -1
  244. package/layers/graphics/sources/CSVSource.js +1 -1
  245. package/layers/graphics/sources/FeatureLayerSource.js +1 -1
  246. package/layers/graphics/sources/GeoJSONSource.js +1 -1
  247. package/layers/graphics/sources/MemorySource.js +1 -1
  248. package/layers/graphics/sources/OGCFeatureSource.js +1 -1
  249. package/layers/graphics/sources/WFSSource.js +1 -1
  250. package/layers/graphics/sources/WFSSourceWorker.js +1 -1
  251. package/layers/graphics/sources/connections/WebSocketConnection.js +1 -1
  252. package/layers/graphics/sources/geojson/GeoJSONSourceWorker.js +1 -1
  253. package/layers/graphics/sources/geojson/geojson.js +1 -1
  254. package/layers/graphics/sources/support/CSVSourceWorker.js +1 -1
  255. package/layers/graphics/sources/support/QueryTask.js +1 -1
  256. package/layers/mixins/APIKeyMixin.js +1 -1
  257. package/layers/mixins/ArcGISImageService.js +1 -1
  258. package/layers/mixins/ArcGISMapService.js +1 -1
  259. package/layers/mixins/ImageryTileMixin.js +1 -1
  260. package/layers/mixins/OperationalLayer.js +1 -1
  261. package/layers/mixins/PortalLayer.js +1 -1
  262. package/layers/mixins/SceneService.js +1 -1
  263. package/layers/mixins/refresh.js +1 -1
  264. package/layers/ogc/dateUtils.js +1 -1
  265. package/layers/ogc/ogcFeatureUtils.js +1 -1
  266. package/layers/ogc/wfsUtils.js +1 -1
  267. package/layers/save/featureLayerUtils.js +1 -1
  268. package/layers/support/ExportImageParameters.js +1 -1
  269. package/layers/support/ExportImageServiceParameters.js +1 -1
  270. package/layers/support/ExportWMSImageParameters.js +1 -1
  271. package/layers/support/FeatureEffect.js +1 -1
  272. package/layers/support/FeatureType.js +1 -1
  273. package/layers/support/FetchAssociatedFeatureLayer.js +1 -1
  274. package/layers/support/LabelClass.js +1 -1
  275. package/layers/support/LayerContingentValuesCache.js +1 -1
  276. package/layers/support/RasterFunction.js +1 -1
  277. package/layers/support/RasterInfo.js +1 -1
  278. package/layers/support/RasterJobHandler.js +1 -1
  279. package/layers/support/RasterWorker.js +1 -1
  280. package/layers/support/Sublayer.js +1 -1
  281. package/layers/support/SubtypeSublayer.js +1 -1
  282. package/layers/support/TilemapCache.js +1 -1
  283. package/layers/support/TimeReference.d.ts +4 -0
  284. package/layers/support/WMTSSublayer.js +1 -1
  285. package/layers/support/arcgisLayers.js +1 -1
  286. package/layers/support/commonProperties.js +1 -1
  287. package/layers/support/editableLayers.js +1 -1
  288. package/layers/support/fieldUtils.js +1 -1
  289. package/layers/support/floorFilterUtils.js +1 -1
  290. package/layers/support/imageryRendererUtils.js +1 -1
  291. package/layers/support/layerUtils.js +1 -1
  292. package/layers/support/layersCreator.js +1 -1
  293. package/layers/support/rasterDatasets/BaseRaster.js +1 -1
  294. package/layers/support/rasterDatasets/CloudRaster.js +1 -1
  295. package/layers/support/rasterDatasets/ImageAuxRaster.js +1 -1
  296. package/layers/support/rasterDatasets/ImageServerRaster.js +1 -1
  297. package/layers/support/rasterDatasets/InMemoryRaster.js +1 -1
  298. package/layers/support/rasterDatasets/MRFRaster.js +1 -1
  299. package/layers/support/rasterDatasets/TIFFRaster.js +1 -1
  300. package/layers/support/rasterDatasets/WCSRaster.js +1 -1
  301. package/layers/support/rasterDatasets/multipartParser.js +1 -1
  302. package/layers/support/rasterDatasets/pamParser.js +1 -1
  303. package/layers/support/rasterDatasets/wcsCapabilitiesParser.js +1 -1
  304. package/layers/support/rasterDatasets/wcsCoverageParser.js +1 -1
  305. package/layers/support/rasterDatasets/xmlUtilities.js +1 -1
  306. package/layers/support/rasterFormats/Lerc.js +1 -1
  307. package/layers/support/rasterFormats/RasterCodec.js +1 -1
  308. package/layers/support/rasterFormats/TiffDecoder.js +1 -1
  309. package/layers/support/rasterFunctions/pixelUtils.js +1 -1
  310. package/layers/support/rasterFunctions/rasterProjectionHelper.js +1 -1
  311. package/layers/support/rasterFunctions/stretchUtils.js +1 -1
  312. package/layers/support/rasterFunctions/vectorFieldUtils.js +1 -1
  313. package/layers/support/rasterTransforms/PolynomialTransform.js +1 -1
  314. package/layers/support/rasterTransforms/utils.js +1 -1
  315. package/layers/support/source/DataLayerSource.js +1 -1
  316. package/layers/support/source/QueryTableDataSource.js +1 -1
  317. package/layers/support/vectorTileLayerLoader.js +1 -1
  318. package/layers/support/wmsUtils.js +1 -1
  319. package/layers/support/wmtsUtils.js +1 -1
  320. package/libs/maquette-advanced-projector/projector.js +1 -1
  321. package/networks/Network.js +1 -1
  322. package/networks/UtilityNetwork.js +1 -1
  323. package/networks/support/utils.js +1 -1
  324. package/package.json +1 -1
  325. package/popup/content/ExpressionContent.js +1 -1
  326. package/portal/Portal.js +1 -1
  327. package/portal/PortalItem.js +1 -1
  328. package/portal/support/geometryServiceUtils.js +1 -1
  329. package/portal/support/layersLoader.js +1 -1
  330. package/portal/support/portalItemUtils.js +1 -1
  331. package/portal/support/portalLayers.js +1 -1
  332. package/renderers/DictionaryRenderer.js +1 -1
  333. package/renderers/FlowRenderer.js +1 -1
  334. package/renderers/RasterColormapRenderer.js +1 -1
  335. package/renderers/RasterStretchRenderer.js +1 -1
  336. package/renderers/VectorFieldRenderer.js +1 -1
  337. package/renderers/support/RasterSymbolizer.js +1 -1
  338. package/renderers/support/UniqueValueInfo.js +1 -1
  339. package/renderers/support/colorRampUtils.js +1 -1
  340. package/renderers/support/heatmapUtils.js +1 -1
  341. package/renderers/support/rasterRendererHelper.js +1 -1
  342. package/request.js +1 -1
  343. package/rest/identify.js +1 -1
  344. package/rest/imageService.js +1 -1
  345. package/rest/networkService.js +1 -1
  346. package/rest/networks/support/SynthesizeAssociationGeometriesParameters.js +1 -1
  347. package/rest/operations/identify.js +1 -1
  348. package/rest/print.js +1 -1
  349. package/rest/query/executeQuery.js +1 -1
  350. package/rest/query/operations/query.js +1 -1
  351. package/rest/query/operations/queryRelatedRecords.js +1 -1
  352. package/rest/query/operations/queryTopFeatures.js +1 -1
  353. package/rest/route.js +1 -1
  354. package/rest/support/DirectionLine.js +1 -1
  355. package/rest/support/DirectionPoint.js +1 -1
  356. package/rest/support/DirectionsFeatureSet.js +1 -1
  357. package/rest/support/FeatureSet.js +1 -1
  358. package/rest/support/ImageSampleParameters.js +1 -1
  359. package/rest/support/PointBarrier.js +1 -1
  360. package/rest/support/PolygonBarrier.js +1 -1
  361. package/rest/support/PolylineBarrier.js +1 -1
  362. package/rest/support/RouteInfo.js +1 -1
  363. package/rest/support/Stop.js +1 -1
  364. package/rest/support/meshFeatureSet.js +1 -1
  365. package/rest/support/printTaskUtils.js +1 -1
  366. package/smartMapping/labels/clusters.js +1 -1
  367. package/smartMapping/raster/renderers/rgb.js +1 -1
  368. package/smartMapping/raster/renderers/uniqueValue.js +1 -1
  369. package/smartMapping/raster/support/adapters/ImageryLayerAdapter.js +1 -1
  370. package/smartMapping/raster/support/adapters/RasterLayerAdapter.js +1 -1
  371. package/smartMapping/raster/support/utils.js +1 -1
  372. package/smartMapping/renderers/color.js +1 -1
  373. package/smartMapping/renderers/size.js +1 -1
  374. package/smartMapping/renderers/support/utils.js +1 -1
  375. package/smartMapping/renderers/univariateColorSize.js +1 -1
  376. package/smartMapping/statistics/support/WorkerClient.js +1 -1
  377. package/smartMapping/support/adapters/CSVLayerAdapter.js +1 -1
  378. package/smartMapping/support/adapters/FeatureLayerAdapter.js +1 -1
  379. package/smartMapping/support/adapters/OGCFeatureLayerAdapter.js +1 -1
  380. package/smartMapping/support/adapters/SceneLayerAdapter.js +1 -1
  381. package/smartMapping/support/adapters/support/utils.js +1 -1
  382. package/statistics/utils.js +1 -1
  383. package/support/LayersMixin.js +1 -1
  384. package/support/TablesMixin.js +1 -1
  385. package/support/arcadeUtils.js +1 -1
  386. package/support/basemapUtils.js +1 -1
  387. package/support/popupUtils.js +1 -1
  388. package/support/revision.js +1 -1
  389. package/support/timeUtils.js +1 -1
  390. package/symbols/FillSymbol3DLayer.js +1 -1
  391. package/symbols/LineSymbol3DLayer.js +1 -1
  392. package/symbols/LineSymbolMarker.js +1 -1
  393. package/symbols/PictureFillSymbol.js +1 -1
  394. package/symbols/PointSymbol3D.js +1 -1
  395. package/symbols/SimpleLineSymbol.js +1 -1
  396. package/symbols/SimpleMarkerSymbol.js +1 -1
  397. package/symbols/cim/CIMResourceManager.js +1 -1
  398. package/symbols/cim/CIMSymbolDrawHelper.js +1 -1
  399. package/symbols/cim/CIMSymbolHelper.js +1 -1
  400. package/symbols/cim/ExpandedCIM.js +1 -1
  401. package/symbols/cim/SDFHelper.js +1 -1
  402. package/symbols/cim/cimAnalyzer.js +1 -1
  403. package/symbols/cim/effects/EffectControlMeasureLine.js +1 -1
  404. package/symbols/cim/effects/EffectDashes.js +1 -1
  405. package/symbols/cim/effects/EffectOffset.js +1 -1
  406. package/symbols/cim/placements/PlacementAlongLineSameSize.js +1 -1
  407. package/symbols/cim/utils.js +1 -1
  408. package/symbols/support/cimSymbolUtils.js +1 -1
  409. package/symbols/support/jsonUtils.js +1 -1
  410. package/symbols/support/previewCIMSymbol.js +1 -1
  411. package/symbols/support/previewSymbol2D.js +1 -1
  412. package/symbols/support/previewSymbol3D.js +1 -1
  413. package/symbols/support/previewWebStyleSymbol.js +1 -1
  414. package/symbols/support/svgUtils.js +1 -1
  415. package/symbols/support/symbolConversion.js +1 -1
  416. package/symbols/support/symbolUtils.js +1 -1
  417. package/tasks/GenerateRendererTask.js +1 -1
  418. package/views/2d/MapViewConstraints.js +1 -1
  419. package/views/2d/constraints/GeometryConstraint.js +1 -1
  420. package/views/2d/engine/Bitmap.js +1 -1
  421. package/views/2d/engine/Container.js +1 -1
  422. package/views/2d/engine/DisplayObject.js +1 -1
  423. package/views/2d/engine/Stage.js +1 -1
  424. package/views/2d/engine/imagery/BrushRasterBitmap.js +1 -1
  425. package/views/2d/engine/imagery/RasterBitmap.js +1 -1
  426. package/views/2d/engine/imagery/RasterVFDisplayObject.js +1 -1
  427. package/views/2d/engine/vectorTiles/TilemapRequest.js +1 -1
  428. package/views/2d/engine/vectorTiles/WorkerTileHandler.js +1 -1
  429. package/views/2d/engine/vectorTiles/buckets/FillBucket.js +1 -1
  430. package/views/2d/engine/vectorTiles/buckets/LineBucket.js +1 -1
  431. package/views/2d/engine/vectorTiles/expression/expression.js +1 -1
  432. package/views/2d/engine/vectorTiles/shaders/VTLMaterial.js +1 -1
  433. package/views/2d/engine/vectorTiles/style/StyleLayer.js +1 -1
  434. package/views/2d/engine/vectorTiles/style/StyleRepository.js +1 -1
  435. package/views/2d/engine/vectorTiles/style/VectorTileSource.js +1 -1
  436. package/views/2d/engine/webgl/FeatureTile.js +1 -1
  437. package/views/2d/engine/webgl/GraphicTile.js +1 -1
  438. package/views/2d/engine/webgl/TextureManager.js +1 -1
  439. package/views/2d/engine/webgl/brushes/WGLBrushHeatmap.js +1 -1
  440. package/views/2d/engine/webgl/brushes/WGLBrushVTLCircle.js +1 -1
  441. package/views/2d/engine/webgl/brushes/WGLBrushVTLFill.js +1 -1
  442. package/views/2d/engine/webgl/brushes/WGLBrushVTLLine.js +1 -1
  443. package/views/2d/engine/webgl/collisions/CollisionEngine.js +1 -1
  444. package/views/2d/engine/webgl/collisions/MetricReader.js +1 -1
  445. package/views/2d/engine/webgl/cpuMapped/DisplayRecordReader.js +1 -1
  446. package/views/2d/engine/webgl/cpuMapped/FreeList.js +1 -1
  447. package/views/2d/engine/webgl/mesh/MeshData.js +1 -1
  448. package/views/2d/engine/webgl/mesh/templates/WGLBaseLineTemplate.js +1 -1
  449. package/views/2d/engine/webgl/mesh/templates/WGLBaseMarkerTemplate.js +1 -1
  450. package/views/2d/engine/webgl/mesh/templates/WGLBaseTextTemplate.js +1 -1
  451. package/views/2d/engine/webgl/mesh/templates/WGLDynamicFillTemplate.js +1 -1
  452. package/views/2d/engine/webgl/mesh/templates/WGLLabelTemplate.js +1 -1
  453. package/views/2d/engine/webgl/mesh/templates/WGLLineTemplate.js +1 -1
  454. package/views/2d/engine/webgl/mesh/templates/WGLMeshTemplate.js +1 -1
  455. package/views/2d/engine/webgl/painter/RenderPass.js +1 -1
  456. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  457. package/views/2d/engine/webgl/techniques/dotDensity/TechniqueDotDensity.js +1 -1
  458. package/views/2d/input/MapViewInputManager.js +1 -1
  459. package/views/2d/input/handlers/GamepadNavigation.js +1 -1
  460. package/views/2d/interactive/editingTools/draw/DrawGraphicTool2D.js +1 -1
  461. package/views/2d/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiles2D.js +1 -1
  462. package/views/2d/layers/BaseLayerView2D.js +1 -1
  463. package/views/2d/layers/BaseLayerViewGL2D.js +1 -1
  464. package/views/2d/layers/BitmapTileLayerView2D.js +1 -1
  465. package/views/2d/layers/FeatureLayerView2D.js +1 -1
  466. package/views/2d/layers/GeoRSSLayerView2D.js +1 -1
  467. package/views/2d/layers/GraphicsLayerView2D.js +1 -1
  468. package/views/2d/layers/ImageryLayerView2D.js +1 -1
  469. package/views/2d/layers/ImageryTileLayerView2D.js +1 -1
  470. package/views/2d/layers/KMLLayerView2D.js +1 -1
  471. package/views/2d/layers/LayerView2D.js +1 -1
  472. package/views/2d/layers/SubtypeGroupLayerView2D.js +1 -1
  473. package/views/2d/layers/TileLayerView2D.js +1 -1
  474. package/views/2d/layers/VectorTileLayerView2D.js +1 -1
  475. package/views/2d/layers/WMTSLayerView2D.js +1 -1
  476. package/views/2d/layers/features/FeatureStore2D.js +1 -1
  477. package/views/2d/layers/features/Pipeline.js +1 -1
  478. package/views/2d/layers/features/batchUtils.js +1 -1
  479. package/views/2d/layers/features/controllers/FeatureController2D.js +1 -1
  480. package/views/2d/layers/features/controllers/support/sourceAdapters.js +1 -1
  481. package/views/2d/layers/features/createSymbolSchema.js +1 -1
  482. package/views/2d/layers/features/processors/SymbolProcessor.js +1 -1
  483. package/views/2d/layers/features/schemaUtils.js +1 -1
  484. package/views/2d/layers/features/sources/BaseFeatureSource.js +1 -1
  485. package/views/2d/layers/features/sources/DataTileSource.js +1 -1
  486. package/views/2d/layers/features/sources/DataTileSubscription.js +1 -1
  487. package/views/2d/layers/features/sources/SnapshotFeatureSource.js +1 -1
  488. package/views/2d/layers/features/support/ClusterStore.js +1 -1
  489. package/views/2d/layers/features/support/FeatureSetReader.js +1 -1
  490. package/views/2d/layers/features/support/FeatureSetReaderJSON.js +1 -1
  491. package/views/2d/layers/features/support/FeatureSetReaderPBF.js +1 -1
  492. package/views/2d/layers/features/support/FeatureSetReaderPBFHeader.js +1 -1
  493. package/views/2d/layers/features/support/ResourceManagerProxy.js +1 -1
  494. package/views/2d/layers/features/tileRenderers/SymbolTileRenderer.js +1 -1
  495. package/views/2d/layers/features/tileRenderers/support/WGLFeatureView.js +1 -1
  496. package/views/2d/layers/graphics/graphicsUtils.js +1 -1
  497. package/views/2d/layers/imagery/BaseImageryTileSubView2D.js +1 -1
  498. package/views/2d/layers/imagery/ImageryTileView2D.js +1 -1
  499. package/views/2d/layers/imagery/VectorFieldTileView2D.js +1 -1
  500. package/views/2d/layers/support/ExportStrategy.js +1 -1
  501. package/views/2d/layers/support/FeatureCommandQueue.js +1 -1
  502. package/views/2d/magnifier/MagnifierView2D.js +1 -1
  503. package/views/2d/support/engineHelpers.js +1 -1
  504. package/views/2d/tiling/TileManager.js +1 -1
  505. package/views/3d/analysis/AreaMeasurement/support/AreaMeasurementVisualization.js +1 -1
  506. package/views/3d/analysis/AreaMeasurementAnalysisView3D.js +1 -1
  507. package/views/3d/analysis/Dimensioning/DimensioningVisualization.js +5 -0
  508. package/views/3d/analysis/Dimensioning/LinearDimensionVisualization.js +5 -0
  509. package/views/3d/analysis/DimensioningAnalysisView3D.js +1 -1
  510. package/views/3d/analysis/DirectLineMeasurement/DirectLineMeasurementController.js +1 -1
  511. package/views/3d/analysis/DirectLineMeasurement/DirectLineMeasurementVisualization.js +1 -1
  512. package/views/3d/analysis/DirectLineMeasurementAnalysisView3D.js +1 -1
  513. package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
  514. package/views/3d/analysis/LineOfSightAnalysisView3D.js +1 -1
  515. package/views/3d/analysis/Slice/SliceTool.js +1 -1
  516. package/views/3d/analysis/SliceAnalysisView3D.js +1 -1
  517. package/views/3d/environment/ChapmanAtmosphere.glsl.js +1 -1
  518. package/views/3d/environment/ChapmanAtmosphere.js +1 -1
  519. package/views/3d/environment/Clouds.glsl.js +1 -1
  520. package/views/3d/environment/CloudsComposition.glsl.js +1 -1
  521. package/views/3d/environment/CloudsComposition.js +1 -1
  522. package/views/3d/environment/CloudsCompositionParameters.js +5 -0
  523. package/views/3d/environment/EnvironmentRenderer.js +1 -1
  524. package/views/3d/environment/Fog.glsl.js +1 -1
  525. package/views/3d/environment/Fog.js +1 -1
  526. package/views/3d/environment/Precipitation.js +1 -1
  527. package/views/3d/environment/SceneViewEnvironment.js +1 -1
  528. package/views/3d/environment/SceneViewEnvironmentManager.js +1 -1
  529. package/views/3d/environment/SimpleAtmosphere.js +1 -1
  530. package/views/3d/environment/Stars.glsl.js +1 -1
  531. package/views/3d/environment/Stars.js +1 -1
  532. package/views/3d/externalRenderers/ExternalRendererStore.js +1 -1
  533. package/views/3d/glTF/internal/Resource.js +1 -1
  534. package/views/3d/glTF/loader.js +1 -1
  535. package/views/3d/input/SceneInputManager.js +1 -1
  536. package/views/3d/input/handlers/TwoFingerTilt.js +1 -1
  537. package/views/3d/interactive/Manipulator3D.js +1 -1
  538. package/views/3d/interactive/editingTools/draw/DrawGraphicTool3D.js +1 -1
  539. package/views/3d/interactive/editingTools/manipulations/MoveManipulation.js +1 -1
  540. package/views/3d/interactive/editingTools/moveGraphic/isSupportedGraphic.js +1 -1
  541. package/views/3d/interactive/editingTools/reshapeGraphic/GraphicReshapeTool.js +1 -1
  542. package/views/3d/interactive/editingTools/reshapeGraphic/ReshapeOperation.js +1 -1
  543. package/views/3d/interactive/editingTools/reshapeGraphic/isSupportedGraphic.js +1 -1
  544. package/views/3d/interactive/editingTools/transformGraphic/GraphicScaleRotateTransform.js +1 -1
  545. package/views/3d/interactive/editingTools/transformGraphic/isSupportedGraphic.js +1 -1
  546. package/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DView.js +1 -1
  547. package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DView.js +1 -1
  548. package/views/3d/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiles3D.js +1 -1
  549. package/views/3d/interactive/visualElements/DrapedVisualElementResources.js +1 -1
  550. package/views/3d/interactive/visualElements/LineVisualElement.js +1 -1
  551. package/views/3d/interactive/visualElements/OutlineVisualElement.js +1 -1
  552. package/views/3d/interactive/visualElements/VisualElementResources.js +1 -1
  553. package/views/3d/layers/BuildingComponentSublayerView3D.js +1 -1
  554. package/views/3d/layers/ElevationLayerView3D.js +1 -1
  555. package/views/3d/layers/FeatureLayerView3D.js +1 -1
  556. package/views/3d/layers/FeatureLayerViewBase3D.js +1 -1
  557. package/views/3d/layers/FeatureLikeLayerView3D.js +1 -1
  558. package/views/3d/layers/GraphicsLayerView3D.js +1 -1
  559. package/views/3d/layers/GraphicsView3D.js +1 -1
  560. package/views/3d/layers/I3SMeshView3D.js +1 -1
  561. package/views/3d/layers/ImageryLayerView3D.js +1 -1
  562. package/views/3d/layers/ImageryTileLayerView3D.js +1 -1
  563. package/views/3d/layers/LayerView3D.js +1 -1
  564. package/views/3d/layers/RouteLayerView3D.js +1 -1
  565. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  566. package/views/3d/layers/SceneLayerView3D.js +1 -1
  567. package/views/3d/layers/SceneLayerWorker.js +1 -1
  568. package/views/3d/layers/StreamLayerView3D.js +1 -1
  569. package/views/3d/layers/TiledLayerView3D.js +1 -1
  570. package/views/3d/layers/VectorTileLayerView3D.js +1 -1
  571. package/views/3d/layers/VoxelLayerView3D.js +1 -1
  572. package/views/3d/layers/WMSLayerView3D.js +1 -1
  573. package/views/3d/layers/WMTSLayerView3D.js +1 -1
  574. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  575. package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
  576. package/views/3d/layers/graphics/Graphics3DFeatureProcessor.js +1 -1
  577. package/views/3d/layers/graphics/Graphics3DFilterVisibility.js +1 -1
  578. package/views/3d/layers/graphics/Graphics3DFrustumVisibility.js +1 -1
  579. package/views/3d/layers/graphics/Graphics3DLineSymbolLayer.js +1 -1
  580. package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
  581. package/views/3d/layers/graphics/Graphics3DObject3DGraphicLayer.js +1 -1
  582. package/views/3d/layers/graphics/Graphics3DPathSymbolLayer.js +1 -1
  583. package/views/3d/layers/graphics/Graphics3DPointSymbol.js +1 -1
  584. package/views/3d/layers/graphics/Graphics3DSymbol.js +1 -1
  585. package/views/3d/layers/graphics/Graphics3DSymbolLayer.js +1 -1
  586. package/views/3d/layers/graphics/GraphicsDeconflictor.js +1 -1
  587. package/views/3d/layers/graphics/GraphicsProcessor.js +1 -1
  588. package/views/3d/layers/graphics/Labeler.js +1 -1
  589. package/views/3d/layers/i3s/I3SAttributeOverrides.js +1 -1
  590. package/views/3d/layers/i3s/I3SMeshViewFilter.js +1 -1
  591. package/views/3d/layers/i3s/I3SStreamDataController.js +1 -1
  592. package/views/3d/layers/i3s/I3SUtil.js +1 -1
  593. package/views/3d/layers/support/FeatureTileTree3D.js +1 -1
  594. package/views/3d/layers/support/FeatureTileTree3DDebugger.js +1 -1
  595. package/views/3d/layers/support/HeatmapFeatureProcessor.js +1 -1
  596. package/views/3d/layers/support/StageLayerElevationProvider.js +1 -1
  597. package/views/3d/layers/support/featureTileQuery3D.js +1 -1
  598. package/views/3d/state/ConstraintsManager.js +1 -1
  599. package/views/3d/state/helpers/SceneIntersectionHelper.js +1 -1
  600. package/views/3d/support/ResourceController.js +1 -1
  601. package/views/3d/support/SharedSymbolResources.js +1 -1
  602. package/views/3d/support/TextureCollection.js +1 -1
  603. package/views/3d/support/cameraUtils.js +1 -1
  604. package/views/3d/support/pointsOfInterest/CameraOnSurface.js +1 -1
  605. package/views/3d/support/pointsOfInterest/Focus.js +1 -1
  606. package/views/3d/support/pointsOfInterest/PointsOfInterest.js +1 -1
  607. package/views/3d/support/pointsOfInterest/StableSurfaceCenter.js +1 -1
  608. package/views/3d/terrain/OverlayFramebufferObject.js +1 -1
  609. package/views/3d/terrain/OverlayManager.js +1 -1
  610. package/views/3d/terrain/OverlayRenderer.js +1 -1
  611. package/views/3d/terrain/PatchGeometry.js +1 -1
  612. package/views/3d/terrain/PatchGeometryFactory.js +1 -1
  613. package/views/3d/terrain/PatchRenderData.js +1 -1
  614. package/views/3d/terrain/PlanarPatch.js +1 -1
  615. package/views/3d/terrain/RasterColorizerTechnique.js +1 -1
  616. package/views/3d/terrain/RasterTile.js +1 -1
  617. package/views/3d/terrain/SphericalPatch.js +1 -1
  618. package/views/3d/terrain/TerrainRenderer.js +1 -1
  619. package/views/3d/terrain/TerrainSurface.js +1 -1
  620. package/views/3d/terrain/Tile.js +1 -1
  621. package/views/3d/terrain/TileCompositor.js +1 -1
  622. package/views/3d/terrain/TileRenderer.js +1 -1
  623. package/views/3d/terrain/TilingSchemeLogic.js +1 -1
  624. package/views/3d/terrain/terrainUtils.js +1 -1
  625. package/views/3d/webgl-engine/collections/Component/ComponentIntersectionData.js +1 -1
  626. package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
  627. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechnique.js +1 -1
  628. package/views/3d/webgl-engine/collections/Component/Material/shader/ComponentData.glsl.js +2 -2
  629. package/views/3d/webgl-engine/core/material/MaterialBase.js +1 -1
  630. package/views/3d/webgl-engine/core/shaderLibrary/ScreenSizeScaling.glsl.js +1 -1
  631. package/views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js +5 -5
  632. package/views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexPosition.glsl.js +8 -8
  633. package/views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js +6 -6
  634. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js +4 -4
  635. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js +2 -2
  636. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js +5 -5
  637. package/views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js +13 -13
  638. package/views/3d/webgl-engine/core/shaderLibrary/raster/BasicGrid.glsl.js +2 -2
  639. package/views/3d/webgl-engine/core/shaderLibrary/raster/Colormap.glsl.js +1 -1
  640. package/views/3d/webgl-engine/core/shaderLibrary/raster/Common.glsl.js +2 -2
  641. package/views/3d/webgl-engine/core/shaderLibrary/raster/Projection.glsl.js +1 -1
  642. package/views/3d/webgl-engine/core/shaderLibrary/raster/RasterColorizer.glsl.js +1 -1
  643. package/views/3d/webgl-engine/core/shaderLibrary/shading/ComputeMaterialColor.glsl.js +1 -1
  644. package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientLighting.glsl.js +5 -5
  645. package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js +3 -3
  646. package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js +13 -13
  647. package/views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js +17 -17
  648. package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js +1 -1
  649. package/views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js +7 -7
  650. package/views/3d/webgl-engine/core/shaderLibrary/shading/WaterDistortion.glsl.js +2 -2
  651. package/views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js +5 -5
  652. package/views/3d/webgl-engine/core/shaderLibrary/util/CameraSpace.glsl.js +2 -2
  653. package/views/3d/webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js +15 -15
  654. package/views/3d/webgl-engine/core/shaderLibrary/util/ScreenSizePerspective.glsl.js +2 -2
  655. package/views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js +1 -1
  656. package/views/3d/webgl-engine/core/shaderModules/BooleanPassUniform.js +5 -0
  657. package/views/3d/webgl-engine/core/shaderModules/Float4DrawUniform.js +5 -0
  658. package/views/3d/webgl-engine/core/shaderModules/{Matrix3Uniform.js → Float4PassUniform.js} +1 -1
  659. package/views/3d/webgl-engine/core/shaderModules/Float4Uniform.js +1 -1
  660. package/views/3d/webgl-engine/core/shaderModules/Matrix3DrawUniform.js +5 -0
  661. package/views/3d/webgl-engine/core/shaderModules/Matrix3PassUniform.js +5 -0
  662. package/views/3d/webgl-engine/core/shaderModules/{TextureCubeUniform.js → TextureCubePassUniform.js} +1 -1
  663. package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechniqueConfiguration.js +1 -1
  664. package/views/3d/webgl-engine/lib/AutoDisposable.js +1 -1
  665. package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
  666. package/views/3d/webgl-engine/lib/GLTextureMaterial.js +1 -1
  667. package/views/3d/webgl-engine/lib/RenderPluginManager.js +1 -1
  668. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  669. package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
  670. package/views/3d/webgl-engine/lib/ShadowHighlight.js +1 -1
  671. package/views/3d/webgl-engine/lib/ShadowMap.js +1 -1
  672. package/views/3d/webgl-engine/lib/Texture.js +1 -1
  673. package/views/3d/webgl-engine/lib/WebGLLayer.js +1 -1
  674. package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
  675. package/views/3d/webgl-engine/lib/intersectorUtilsConversions.js +1 -1
  676. package/views/3d/webgl-engine/lib/pathGeometryUtils.js +1 -1
  677. package/views/3d/webgl-engine/materials/CheckerBoardMaterial.js +1 -1
  678. package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
  679. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  680. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  681. package/views/3d/webgl-engine/materials/HeatmapDensityMaterial.js +1 -1
  682. package/views/3d/webgl-engine/materials/ImageMaterial.js +1 -1
  683. package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
  684. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  685. package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
  686. package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
  687. package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
  688. package/views/3d/webgl-engine/materials/PathTechnique.js +1 -1
  689. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  690. package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +1 -1
  691. package/views/3d/webgl-engine/materials/{VisualVariableMaterialParameters.js → VisualVariablePassParameters.js} +1 -1
  692. package/views/3d/webgl-engine/materials/WaterGLMaterial.js +1 -1
  693. package/views/3d/webgl-engine/materials/WaterTechnique.js +1 -1
  694. package/views/3d/webgl-engine/parts/RenderView.js +1 -1
  695. package/views/3d/webgl-engine/parts/requireUtils.js +1 -1
  696. package/views/3d/webgl-engine/shaders/CheckerBoard.glsl.js +1 -1
  697. package/views/3d/webgl-engine/shaders/CheckerBoardTechnique.js +1 -1
  698. package/views/3d/webgl-engine/shaders/ColorMaterial.glsl.js +1 -1
  699. package/views/3d/webgl-engine/shaders/DefaultMaterial.glsl.js +1 -1
  700. package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
  701. package/views/3d/webgl-engine/shaders/HUDMaterial.glsl.js +1 -1
  702. package/views/3d/webgl-engine/shaders/HUDMaterialTechnique.js +1 -1
  703. package/views/3d/webgl-engine/shaders/HeatmapDensity.glsl.js +1 -1
  704. package/views/3d/webgl-engine/shaders/HeatmapDensityTechnique.js +1 -1
  705. package/views/3d/webgl-engine/shaders/HeatmapTechnique.js +1 -1
  706. package/views/3d/webgl-engine/shaders/HighlightApply.glsl.js +1 -1
  707. package/views/3d/webgl-engine/shaders/LineCallout.glsl.js +1 -1
  708. package/views/3d/webgl-engine/shaders/LineMarker.glsl.js +1 -1
  709. package/views/3d/webgl-engine/shaders/Magnifier.glsl.js +3 -3
  710. package/views/3d/webgl-engine/shaders/MeasurementArrow.glsl.js +1 -1
  711. package/views/3d/webgl-engine/shaders/NativeLine.glsl.js +1 -1
  712. package/views/3d/webgl-engine/shaders/Path.glsl.js +1 -1
  713. package/views/3d/webgl-engine/shaders/Pattern.glsl.js +1 -1
  714. package/views/3d/webgl-engine/shaders/RealisticTree.glsl.js +1 -1
  715. package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
  716. package/views/3d/webgl-engine/shaders/ShadedColorMaterial.glsl.js +1 -1
  717. package/views/3d/webgl-engine/shaders/ShadowCastVisualize.glsl.js +1 -1
  718. package/views/3d/webgl-engine/shaders/ShadowHighlight.glsl.js +1 -1
  719. package/views/3d/webgl-engine/shaders/SlicePlaneMaterial.glsl.js +1 -1
  720. package/views/3d/webgl-engine/shaders/WaterSurface.glsl.js +1 -1
  721. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/AdjustProjectedPosition.glsl.js +3 -3
  722. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/EdgeShader.glsl.js +1 -1
  723. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/EdgeUtil.glsl.js +5 -5
  724. package/views/BasemapView.js +1 -1
  725. package/views/GroundView.js +1 -1
  726. package/views/LayerViewManager.js +1 -1
  727. package/views/MapView.js +1 -1
  728. package/views/SceneView.js +1 -1
  729. package/views/ToolViewManager.js +1 -1
  730. package/views/View.js +1 -1
  731. package/views/draw/DrawAction.js +1 -1
  732. package/views/draw/DrawGraphicTool.js +1 -1
  733. package/views/draw/DrawOperation.js +1 -1
  734. package/views/draw/DrawTool.js +1 -1
  735. package/views/draw/support/Box.js +1 -1
  736. package/views/draw/support/GraphicMover.js +1 -1
  737. package/views/draw/support/Reshape.js +1 -1
  738. package/views/interactive/coordinateHelper.js +1 -1
  739. package/views/interactive/editGeometry/operations/OffsetEdgeVertex.js +1 -1
  740. package/views/interactive/snapping/FeatureSnappingEngine.js +1 -1
  741. package/views/interactive/snapping/SnappingManager.js +1 -1
  742. package/views/interactive/snapping/featureSources/WorkerTileTreeDebugger.js +1 -1
  743. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceSnappingSourceWorkerHandle.js +1 -1
  744. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTileStore.js +1 -1
  745. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiledFetcher.js +1 -1
  746. package/views/layers/FeatureLayerView.js +1 -1
  747. package/views/layers/GroupLayerView.js +1 -1
  748. package/views/layers/ImageryLayerView.js +1 -1
  749. package/views/layers/ImageryTileLayerView.js +1 -1
  750. package/views/layers/LayerView.js +1 -1
  751. package/views/layers/MapImageLayerView.js +1 -1
  752. package/views/layers/WMSLayerView.js +1 -1
  753. package/views/support/AllocationTracer.js +1 -1
  754. package/views/support/DefaultsFromMap.js +1 -1
  755. package/views/support/geometry2dUtils.js +1 -1
  756. package/views/support/layerViewUtils.js +1 -1
  757. package/views/support/waitForResources.js +1 -1
  758. package/views/ui/UI.js +1 -1
  759. package/views/webgl/BufferObject.js +1 -1
  760. package/views/webgl/FramebufferObject.js +1 -1
  761. package/views/webgl/RenderingContext.js +1 -1
  762. package/views/webgl/Texture.js +1 -1
  763. package/views/webgl/UniformBufferLayout.js +1 -1
  764. package/views/webgl/VertexArrayObject.js +1 -1
  765. package/views/webgl/capabilities.js +1 -1
  766. package/views/webgl/rasterUtils.js +1 -1
  767. package/views/webgl/testFloatBufferBlend.js +1 -1
  768. package/webdoc/widgets/TimeSlider.js +1 -1
  769. package/webmap/Bookmark.js +1 -1
  770. package/webscene/Slide.js +1 -1
  771. package/widgets/AreaMeasurement2D/AreaMeasurement2DTool.js +1 -1
  772. package/widgets/AreaMeasurement2D/AreaMeasurement2DViewModel.js +1 -1
  773. package/widgets/AreaMeasurement2D.js +1 -1
  774. package/widgets/AreaMeasurement3D.js +1 -1
  775. package/widgets/Attribution.js +1 -1
  776. package/widgets/BasemapGallery/BasemapGalleryViewModel.js +1 -1
  777. package/widgets/BasemapGallery/support/BasemapGalleryItem.js +1 -1
  778. package/widgets/BasemapGallery/support/basemapCompatibilityUtils.js +1 -1
  779. package/widgets/BasemapLayerList.js +1 -1
  780. package/widgets/BasemapToggle/BasemapToggleViewModel.js +1 -1
  781. package/widgets/Bookmarks/BookmarksViewModel.js +1 -1
  782. package/widgets/Bookmarks.js +1 -1
  783. package/widgets/BuildingExplorer/BuildingDisciplinesTree/BuildingDisciplinesNode.js +1 -1
  784. package/widgets/BuildingExplorer/BuildingExplorerViewModel.js +1 -1
  785. package/widgets/BuildingExplorer/BuildingLevel.js +1 -1
  786. package/widgets/BuildingExplorer/BuildingLevelPicker/BuildingLevelPicker.js +1 -1
  787. package/widgets/BuildingExplorer/BuildingNumericFilterViewModel.js +1 -1
  788. package/widgets/BuildingExplorer/BuildingPhase.js +1 -1
  789. package/widgets/BuildingExplorer/support/buildingLayerUtils.js +1 -1
  790. package/widgets/BuildingExplorer.js +1 -1
  791. package/widgets/CoordinateConversion/CoordinateConversionViewModel.js +1 -1
  792. package/widgets/CoordinateConversion/support/Format.js +1 -1
  793. package/widgets/Daylight/DaylightViewModel.js +1 -1
  794. package/widgets/Daylight/support/SliderWithDropdown.js +1 -1
  795. package/widgets/Daylight.js +1 -1
  796. package/widgets/DirectLineMeasurement3D.js +1 -1
  797. package/widgets/Directions/DirectionsViewModel.js +1 -1
  798. package/widgets/Directions.js +1 -1
  799. package/widgets/DistanceMeasurement2D/DistanceMeasurement2DViewModel.js +1 -1
  800. package/widgets/DistanceMeasurement2D.js +1 -1
  801. package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
  802. package/widgets/Editor/CreateWorkflow.js +1 -1
  803. package/widgets/Editor/EditorViewModel.js +1 -1
  804. package/widgets/Editor/UpdateWorkflow.js +1 -1
  805. package/widgets/Editor/workflowUtils.js +1 -1
  806. package/widgets/Editor.js +1 -1
  807. package/widgets/ElevationProfile/ElevationProfileLineGround.js +1 -1
  808. package/widgets/ElevationProfile/ElevationProfileLineInput.js +1 -1
  809. package/widgets/ElevationProfile/ElevationProfileLineView.js +1 -1
  810. package/widgets/ElevationProfile/ElevationProfileTool.js +1 -1
  811. package/widgets/ElevationProfile/ElevationProfileViewModel.js +1 -1
  812. package/widgets/ElevationProfile/components/Statistics.js +1 -1
  813. package/widgets/ElevationProfile/support/elevationQuerySourceUtils.js +1 -1
  814. package/widgets/ElevationProfile/support/profileUtils.js +1 -1
  815. package/widgets/ElevationProfile.js +1 -1
  816. package/widgets/Expand.js +1 -1
  817. package/widgets/Feature/FeatureAttachments.js +1 -1
  818. package/widgets/Feature/FeatureContent.js +1 -1
  819. package/widgets/Feature/FeatureExpression/FeatureExpressionViewModel.js +1 -1
  820. package/widgets/Feature/FeatureExpression.js +1 -1
  821. package/widgets/Feature/FeatureFields/FeatureFieldsViewModel.js +1 -1
  822. package/widgets/Feature/FeatureFields.js +1 -1
  823. package/widgets/Feature/FeatureMedia/FeatureMediaViewModel.js +1 -1
  824. package/widgets/Feature/FeatureMedia.js +1 -1
  825. package/widgets/Feature/FeatureViewModel.js +1 -1
  826. package/widgets/Feature/support/arcadeFeatureUtils.js +1 -1
  827. package/widgets/Feature/support/featureUtils.js +1 -1
  828. package/widgets/Feature/support/relatedFeatureUtils.js +1 -1
  829. package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
  830. package/widgets/FeatureForm/InputField.js +1 -1
  831. package/widgets/FeatureForm/support/formTemplateUtils.js +1 -1
  832. package/widgets/FeatureForm.js +1 -1
  833. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  834. package/widgets/FeatureTable/FieldColumn.js +1 -1
  835. package/widgets/FeatureTable/Grid/Column.js +1 -1
  836. package/widgets/FeatureTable/Grid/EditorColumn.js +1 -1
  837. package/widgets/FeatureTable/Grid/Grid.js +1 -1
  838. package/widgets/FeatureTable/Grid/GridViewModel.js +1 -1
  839. package/widgets/FeatureTable/Grid/support/ButtonMenu.js +1 -1
  840. package/widgets/FeatureTable/Grid/support/LocalStore.js +1 -1
  841. package/widgets/FeatureTable/support/FeatureStore.js +1 -1
  842. package/widgets/FeatureTable.js +1 -1
  843. package/widgets/FeatureTemplates/FeatureTemplatesViewModel.js +1 -1
  844. package/widgets/FeatureTemplates/ItemList.js +1 -1
  845. package/widgets/FeatureTemplates/TemplateItem.js +1 -1
  846. package/widgets/FeatureTemplates.js +1 -1
  847. package/widgets/FloorFilter/FloorFilterViewModel.js +1 -1
  848. package/widgets/FloorFilter.js +1 -1
  849. package/widgets/Fullscreen.js +1 -1
  850. package/widgets/Home.js +1 -1
  851. package/widgets/LayerList/LayerListViewModel.js +1 -1
  852. package/widgets/LayerList/support/layerListUtils.js +1 -1
  853. package/widgets/LayerList.js +1 -1
  854. package/widgets/Legend/LegendViewModel.js +1 -1
  855. package/widgets/Legend/styles/Card.js +1 -1
  856. package/widgets/Legend/styles/support/univariateUtils.js +1 -1
  857. package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
  858. package/widgets/Legend/support/clusterUtils.js +1 -1
  859. package/widgets/Legend/support/sizeRampUtils.js +1 -1
  860. package/widgets/Locate/LocateViewModel.js +1 -1
  861. package/widgets/Popup/PopupViewModel.js +1 -1
  862. package/widgets/Popup/actionUtils.js +1 -1
  863. package/widgets/Popup.js +1 -1
  864. package/widgets/Print/PrintViewModel.js +1 -1
  865. package/widgets/Print.js +1 -1
  866. package/widgets/ScaleRangeSlider/ScaleRangeSliderViewModel.js +1 -1
  867. package/widgets/Search/LayerSearchSource.js +1 -1
  868. package/widgets/Search/SearchResultRenderer.js +1 -1
  869. package/widgets/Search/SearchViewModel.js +1 -1
  870. package/widgets/Search/support/geometryUtils.js +1 -1
  871. package/widgets/Search/support/layerSearchUtils.js +1 -1
  872. package/widgets/Search/support/locatorUtils.js +1 -1
  873. package/widgets/Search.js +1 -1
  874. package/widgets/ShadowCast/components/DiscreteConfigurator.js +1 -1
  875. package/widgets/ShadowCast/components/Label.js +1 -1
  876. package/widgets/ShadowCast/components/TimezonePicker.js +1 -1
  877. package/widgets/ShadowCast.js +1 -1
  878. package/widgets/Sketch/SketchViewModel.js +1 -1
  879. package/widgets/Sketch.js +1 -1
  880. package/widgets/Slider.js +1 -1
  881. package/widgets/Swipe/SwipeViewModel.js +1 -1
  882. package/widgets/TableList/TableListViewModel.js +1 -1
  883. package/widgets/TableList/support/tableListUtils.js +1 -1
  884. package/widgets/TableList.js +1 -1
  885. package/widgets/TimeSlider/TimeSliderViewModel.js +1 -1
  886. package/widgets/TimeSlider/utils.js +1 -1
  887. package/widgets/TimeSlider.js +1 -1
  888. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceViewModel.js +1 -1
  889. package/widgets/Weather.js +1 -1
  890. package/widgets/Widget.js +1 -1
  891. package/widgets/smartMapping/BinaryColorSizeSlider/BinaryColorSizeSliderViewModel.js +1 -1
  892. package/widgets/smartMapping/BinaryColorSizeSlider.js +1 -1
  893. package/widgets/smartMapping/ClassedColorSlider.js +1 -1
  894. package/widgets/smartMapping/ClassedSizeSlider.js +1 -1
  895. package/widgets/smartMapping/ColorSizeSlider.js +1 -1
  896. package/widgets/smartMapping/SizeSlider/SizeSliderViewModel.js +1 -1
  897. package/widgets/smartMapping/SmartMappingSliderBase.js +1 -1
  898. package/widgets/smartMapping/SmartMappingSliderViewModel.js +1 -1
  899. package/widgets/support/AnalysisViewModel.js +1 -1
  900. package/widgets/support/ColorPicker.js +1 -1
  901. package/widgets/support/DatePicker.js +1 -1
  902. package/widgets/support/InteractiveAnalysisViewModel.js +1 -1
  903. package/widgets/support/Popover.js +1 -1
  904. package/widgets/support/SelectionToolbar/SelectionToolbarViewModel.js +1 -1
  905. package/widgets/support/SelectionToolbar.js +1 -1
  906. package/widgets/support/Selector2D/SelectionOperation2D.js +1 -1
  907. package/widgets/support/Selector2D.js +1 -1
  908. package/widgets/support/SnappingControls/SnappingControlsViewModel.js +1 -1
  909. package/widgets/support/SnappingControls.js +1 -1
  910. package/widgets/support/jsxWidgetSupport.js +1 -1
  911. package/widgets/support/widgetUtils.js +1 -1
  912. package/assets/esri/core/workers/chunks/049c5c30bd37693dddb7.js +0 -1
  913. package/assets/esri/core/workers/chunks/055a0ebf22a82f859474.js +0 -1
  914. package/assets/esri/core/workers/chunks/0b12ff7b2ed2838afbb8.js +0 -1
  915. package/assets/esri/core/workers/chunks/0e25548573baf855e394.js +0 -1
  916. package/assets/esri/core/workers/chunks/0edd4c3ca6e7d749d0e5.js +0 -1
  917. package/assets/esri/core/workers/chunks/0fcbf7e2db58e38ee6d1.js +0 -1
  918. package/assets/esri/core/workers/chunks/133f971e72a1a6277ac4.js +0 -1
  919. package/assets/esri/core/workers/chunks/135a90ae61f3b3cae91b.js +0 -1
  920. package/assets/esri/core/workers/chunks/13fde7fd56c39fa3f2d5.js +0 -1
  921. package/assets/esri/core/workers/chunks/1c90855c3b0e5dcff908.js +0 -1
  922. package/assets/esri/core/workers/chunks/1dbef1919c7ac10a6bcc.js +0 -1
  923. package/assets/esri/core/workers/chunks/1facbda248863cf72cbd.js +0 -1
  924. package/assets/esri/core/workers/chunks/1fb2d7abe6c8efa84695.js +0 -1
  925. package/assets/esri/core/workers/chunks/2068377c2a796d5f2245.js +0 -1
  926. package/assets/esri/core/workers/chunks/28a5878cbe5880476855.js +0 -1
  927. package/assets/esri/core/workers/chunks/2cf3934b3ecabdf207c8.js +0 -1
  928. package/assets/esri/core/workers/chunks/2d42711a629384144625.js +0 -1
  929. package/assets/esri/core/workers/chunks/3021fda52083fc67d18c.js +0 -1
  930. package/assets/esri/core/workers/chunks/30333a95dc0a44e23fb5.js +0 -1
  931. package/assets/esri/core/workers/chunks/30837d93116f0337972f.js +0 -1
  932. package/assets/esri/core/workers/chunks/320543485c8e22485075.js +0 -1
  933. package/assets/esri/core/workers/chunks/3f0f7da92a6e4493686e.js +0 -1
  934. package/assets/esri/core/workers/chunks/42057f252ba4e82a8b45.js +0 -1
  935. package/assets/esri/core/workers/chunks/45a3f6033cdf4bc74a4c.js +0 -1
  936. package/assets/esri/core/workers/chunks/492b65fe99641f5740f0.js +0 -1
  937. package/assets/esri/core/workers/chunks/4d1cd7df617273c489f4.js +0 -1
  938. package/assets/esri/core/workers/chunks/4df9dfa80dbbae9b743d.js +0 -1
  939. package/assets/esri/core/workers/chunks/515c1c055666ff4740f3.js +0 -1
  940. package/assets/esri/core/workers/chunks/541e644fc77dbe527124.js +0 -1
  941. package/assets/esri/core/workers/chunks/59e341b2db44351bf557.js +0 -1
  942. package/assets/esri/core/workers/chunks/5a10b58533b4116115ac.js +0 -1
  943. package/assets/esri/core/workers/chunks/5f940853341d7e2bc852.js +0 -1
  944. package/assets/esri/core/workers/chunks/5ff2cdecf95e0136dd52.js +0 -1
  945. package/assets/esri/core/workers/chunks/6147bfbe2bd7292d6ad0.js +0 -1
  946. package/assets/esri/core/workers/chunks/6467f996fe9f136c370b.js +0 -1
  947. package/assets/esri/core/workers/chunks/682a8f15f352de76df69.js +0 -1
  948. package/assets/esri/core/workers/chunks/6a06635089761ee3e6d4.js +0 -972
  949. package/assets/esri/core/workers/chunks/725828a41917d3d56f2d.js +0 -1
  950. package/assets/esri/core/workers/chunks/794b47764ebb0257ed41.js +0 -1
  951. package/assets/esri/core/workers/chunks/7fd03a75eb07a09cda35.js +0 -1
  952. package/assets/esri/core/workers/chunks/86ad6b020c01850d9095.js +0 -1
  953. package/assets/esri/core/workers/chunks/86f9d1ce36661781d962.js +0 -1
  954. package/assets/esri/core/workers/chunks/8dcf6c836b53b40dfbf1.js +0 -1
  955. package/assets/esri/core/workers/chunks/8e98ff9404a802352037.js +0 -1
  956. package/assets/esri/core/workers/chunks/94e51fe1c539df6257c2.js +0 -1
  957. package/assets/esri/core/workers/chunks/9519a02b9b8db88a3150.js +0 -1
  958. package/assets/esri/core/workers/chunks/9a8b50ed75219b4a42e1.js +0 -1
  959. package/assets/esri/core/workers/chunks/9f3a094aa4b47e4eb046.js +0 -1
  960. package/assets/esri/core/workers/chunks/a0ebf25c9c9a7f839b93.js +0 -1
  961. package/assets/esri/core/workers/chunks/a25f0a195f9217665530.js +0 -1
  962. package/assets/esri/core/workers/chunks/a2be1e0b632cef87f6a4.js +0 -1
  963. package/assets/esri/core/workers/chunks/a4d8cf9829da9cfc5f36.js +0 -1
  964. package/assets/esri/core/workers/chunks/a562059dbdd1bf1fab66.js +0 -1
  965. package/assets/esri/core/workers/chunks/a59ee7d2b98c85f27dd2.js +0 -1
  966. package/assets/esri/core/workers/chunks/a5dbab94697757c87c49.js +0 -1
  967. package/assets/esri/core/workers/chunks/a5e65d5a7a536759d1cc.js +0 -1
  968. package/assets/esri/core/workers/chunks/a8ac0b6a3eba35e3a5b6.js +0 -1
  969. package/assets/esri/core/workers/chunks/acbd0f4d72d1f5d8e4e8.js +0 -1
  970. package/assets/esri/core/workers/chunks/acc97a210f36bff2d1b0.js +0 -1
  971. package/assets/esri/core/workers/chunks/ad68fe924456d6d7d4f0.js +0 -1
  972. package/assets/esri/core/workers/chunks/b06c949fc7d08e376a5f.js +0 -1
  973. package/assets/esri/core/workers/chunks/b26bd8fde2fc65bb67fb.js +0 -1
  974. package/assets/esri/core/workers/chunks/b4405e9fe6c0cf7250d3.js +0 -1
  975. package/assets/esri/core/workers/chunks/bc08fe3b03767bd694c5.js +0 -1
  976. package/assets/esri/core/workers/chunks/c11501e96ffd81bf39a0.js +0 -1
  977. package/assets/esri/core/workers/chunks/c44116378cc1bc627044.js +0 -1
  978. package/assets/esri/core/workers/chunks/c9b09099488d0e719dfb.js +0 -1
  979. package/assets/esri/core/workers/chunks/cbea4f1eb814115748db.js +0 -1
  980. package/assets/esri/core/workers/chunks/ce262a2accd982988ef1.js +0 -1
  981. package/assets/esri/core/workers/chunks/d15e6662d90718411d62.js +0 -1
  982. package/assets/esri/core/workers/chunks/d16aac3461af9cee0c29.js +0 -1
  983. package/assets/esri/core/workers/chunks/d60dd3e1028f714f2258.js +0 -1
  984. package/assets/esri/core/workers/chunks/d6c150c243ca1f6108f9.js +0 -1
  985. package/assets/esri/core/workers/chunks/d85748b57a71999caf3a.js +0 -1
  986. package/assets/esri/core/workers/chunks/d8c59b1d73650c060dfb.js +0 -1
  987. package/assets/esri/core/workers/chunks/dcb6e1b33402d7fa455b.js +0 -1
  988. package/assets/esri/core/workers/chunks/df653bca2b14dffc82d1.js +0 -1
  989. package/assets/esri/core/workers/chunks/e2a12142439d3037a3a7.js +0 -1
  990. package/assets/esri/core/workers/chunks/e3e1d87b8532bf84a18d.js +0 -1
  991. package/assets/esri/core/workers/chunks/e7744b7e0c16bba93151.js +0 -1
  992. package/assets/esri/core/workers/chunks/ea50effc5c39870dc871.js +0 -1
  993. package/assets/esri/core/workers/chunks/f1665a64564593f2a438.js +0 -1
  994. package/assets/esri/core/workers/chunks/f4c12f3a5e7f89106ae0.js +0 -1
  995. package/assets/esri/core/workers/chunks/fbefdc74b3aab716187f.js +0 -1
  996. package/assets/esri/core/workers/chunks/fc4fd9db056579e09bfe.js +0 -1
  997. package/assets/esri/core/workers/chunks/fd4907fa96f55128764d.js +0 -1
  998. package/views/3d/webgl-engine/core/shaderModules/BooleanUniform.js +0 -5
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.24/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import r from"../../request.js";import{throwIfAborted as s}from"../../core/promiseUtils.js";import{urlToObject as t}from"../../core/urlUtils.js";import{Version as o}from"../../core/Version.js";import{property as i}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{reader as p}from"../../core/accessorSupport/decorators/reader.js";import{subclass as a}from"../../core/accessorSupport/decorators/subclass.js";import l from"../../geometry/Extent.js";import n from"../../geometry/SpatialReference.js";import{id as u,popupEnabled as c}from"../support/commonProperties.js";const y=y=>{let d=class extends y{constructor(){super(...arguments),this.capabilities=void 0,this.copyright=null,this.fullExtent=null,this.legendEnabled=!0,this.spatialReference=null,this.version=void 0}readCapabilities(e,r){var s,t;const i=r.capabilities&&r.capabilities.split(",").map((e=>e.toLowerCase().trim()));if(!i)return{operations:{supportsExportMap:!1,supportsExportTiles:!1,supportsIdentify:!1,supportsQuery:!1,supportsTileMap:!1},exportMap:null,exportTiles:null};const p=this.type,a=i.includes("data"),l=i.includes("query"),n=i.includes("map"),u=!!r.exportTilesAllowed,c=i.includes("tilemap"),y="tile"!==p&&!!r.supportsDynamicLayers,d="tile"!==p&&(!r.tileInfo||y),m="tile"!==p&&(!r.tileInfo||y),h="tile"!==p,b=r.cimVersion&&o.parse(r.cimVersion),f=null!=(s=null==b?void 0:b.since(1,4))&&s,x=null!=(t=null==b?void 0:b.since(2,0))&&t;return{operations:{supportsExportMap:n,supportsExportTiles:u,supportsIdentify:l,supportsQuery:a,supportsTileMap:c},exportMap:n?{supportsArcadeExpressionForLabeling:f,supportsSublayersChanges:h,supportsDynamicLayers:y,supportsSublayerVisibility:d,supportsSublayerDefinitionExpression:m,supportsCIMSymbols:x}:null,exportTiles:u?{maxExportTilesCount:+r.maxExportTilesCount}:null}}readVersion(e,r){let s=r.currentVersion;return s||(s=r.hasOwnProperty("capabilities")||r.hasOwnProperty("tables")?10:r.hasOwnProperty("supportedImageFormatTypes")?9.31:9.3),s}async fetchSublayerInfo(e,r){return await this.fetchAllLayersAndTables(r),this._allLayersAndTablesMap.get(e)}async fetchAllLayersAndTables(e){await this.load(e),this._allLayersAndTablesPromise||(this._allLayersAndTablesPromise=r(t(this.url).path+"/layers",{responseType:"json",query:{f:"json",...this.customParameters,token:this.apiKey}}).then((e=>{this._allLayersAndTablesMap=new Map;for(const r of e.data.layers)this._allLayersAndTablesMap.set(r.id,r);return{result:e.data}}),(e=>({error:e}))));const o=await this._allLayersAndTablesPromise;if(s(e),"result"in o)return o.result;throw o.error}};return e([i({readOnly:!0})],d.prototype,"capabilities",void 0),e([p("service","capabilities",["capabilities","exportTilesAllowed","maxExportTilesCount","supportsDynamicLayers","tileInfo"])],d.prototype,"readCapabilities",null),e([i({json:{read:{source:"copyrightText"}}})],d.prototype,"copyright",void 0),e([i({type:l})],d.prototype,"fullExtent",void 0),e([i(u)],d.prototype,"id",void 0),e([i({type:Boolean,json:{origins:{service:{read:{enabled:!1}}},read:{source:"showLegend"},write:{target:"showLegend"}}})],d.prototype,"legendEnabled",void 0),e([i(c)],d.prototype,"popupEnabled",void 0),e([i({type:n})],d.prototype,"spatialReference",void 0),e([i({readOnly:!0})],d.prototype,"version",void 0),e([p("version",["currentVersion","capabilities","tables","supportedImageFormatTypes"])],d.prototype,"readVersion",null),d=e([a("esri.layers.mixins.ArcGISMapService")],d),d};export{y as ArcGISMapService};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import r from"../../request.js";import{throwIfAborted as s}from"../../core/promiseUtils.js";import{urlToObject as t}from"../../core/urlUtils.js";import{Version as o}from"../../core/Version.js";import{property as i}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{reader as p}from"../../core/accessorSupport/decorators/reader.js";import{subclass as a}from"../../core/accessorSupport/decorators/subclass.js";import l from"../../geometry/Extent.js";import n from"../../geometry/SpatialReference.js";import{id as u,popupEnabled as c}from"../support/commonProperties.js";const y=y=>{let d=class extends y{constructor(){super(...arguments),this.capabilities=void 0,this.copyright=null,this.fullExtent=null,this.legendEnabled=!0,this.spatialReference=null,this.version=void 0}readCapabilities(e,r){const s=r.capabilities&&r.capabilities.split(",").map((e=>e.toLowerCase().trim()));if(!s)return{operations:{supportsExportMap:!1,supportsExportTiles:!1,supportsIdentify:!1,supportsQuery:!1,supportsTileMap:!1},exportMap:null,exportTiles:null};const t=this.type,i=s.includes("data"),p=s.includes("query"),a=s.includes("map"),l=!!r.exportTilesAllowed,n=s.includes("tilemap"),u="tile"!==t&&!!r.supportsDynamicLayers,c="tile"!==t&&(!r.tileInfo||u),y="tile"!==t&&(!r.tileInfo||u),d="tile"!==t,m=r.cimVersion&&o.parse(r.cimVersion),h=m?.since(1,4)??!1,b=m?.since(2,0)??!1;return{operations:{supportsExportMap:a,supportsExportTiles:l,supportsIdentify:p,supportsQuery:i,supportsTileMap:n},exportMap:a?{supportsArcadeExpressionForLabeling:h,supportsSublayersChanges:d,supportsDynamicLayers:u,supportsSublayerVisibility:c,supportsSublayerDefinitionExpression:y,supportsCIMSymbols:b}:null,exportTiles:l?{maxExportTilesCount:+r.maxExportTilesCount}:null}}readVersion(e,r){let s=r.currentVersion;return s||(s=r.hasOwnProperty("capabilities")||r.hasOwnProperty("tables")?10:r.hasOwnProperty("supportedImageFormatTypes")?9.31:9.3),s}async fetchSublayerInfo(e,r){return await this.fetchAllLayersAndTables(r),this._allLayersAndTablesMap.get(e)}async fetchAllLayersAndTables(e){await this.load(e),this._allLayersAndTablesPromise||(this._allLayersAndTablesPromise=r(t(this.url).path+"/layers",{responseType:"json",query:{f:"json",...this.customParameters,token:this.apiKey}}).then((e=>{this._allLayersAndTablesMap=new Map;for(const r of e.data.layers)this._allLayersAndTablesMap.set(r.id,r);return{result:e.data}}),(e=>({error:e}))));const o=await this._allLayersAndTablesPromise;if(s(e),"result"in o)return o.result;throw o.error}};return e([i({readOnly:!0})],d.prototype,"capabilities",void 0),e([p("service","capabilities",["capabilities","exportTilesAllowed","maxExportTilesCount","supportsDynamicLayers","tileInfo"])],d.prototype,"readCapabilities",null),e([i({json:{read:{source:"copyrightText"}}})],d.prototype,"copyright",void 0),e([i({type:l})],d.prototype,"fullExtent",void 0),e([i(u)],d.prototype,"id",void 0),e([i({type:Boolean,json:{origins:{service:{read:{enabled:!1}}},read:{source:"showLegend"},write:{target:"showLegend"}}})],d.prototype,"legendEnabled",void 0),e([i(c)],d.prototype,"popupEnabled",void 0),e([i({type:n})],d.prototype,"spatialReference",void 0),e([i({readOnly:!0})],d.prototype,"version",void 0),e([p("version",["currentVersion","capabilities","tables","supportedImageFormatTypes"])],d.prototype,"readVersion",null),d=e([a("esri.layers.mixins.ArcGISMapService")],d),d};export{y as ArcGISMapService};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.24/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import"../../geometry.js";import{rasterRendererTypes as t}from"../../rasterRenderers.js";import r from"../../request.js";import i from"../../core/Logger.js";import{isNone as n,isSome as s}from"../../core/maybe.js";import{aliasOf as o}from"../../core/accessorSupport/decorators/aliasOf.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{property as a}from"../../core/accessorSupport/decorators/property.js";import{subclass as l}from"../../core/accessorSupport/decorators/subclass.js";import{getInfo as m}from"../../geometry/support/spatialReferenceUtils.js";import{sanitizeUrl as d}from"../support/arcgisLayerUrl.js";import{url as u}from"../support/commonProperties.js";import p from"../support/DimensionalDefinition.js";import h from"../support/RasterJobHandler.js";import c from"../support/TileInfo.js";import{isMultiSliceOrRangeDefinition as f}from"../support/rasterDatasets/multidimensionalUtils.js";import{convertVectorFieldData as y}from"../support/rasterFunctions/vectorFieldUtils.js";import{normalizeRendererJSON as b,getDefaultInterpolation as g,getDefaultBandCombination as I,createDefaultRenderer as v}from"../../renderers/support/rasterRendererHelper.js";import J from"../../renderers/support/RasterSymbolizer.js";import{createStreamlinesMesh as _}from"../../views/2d/engine/flow/dataUtils.js";import x from"../../geometry/Extent.js";import S from"../../geometry/SpatialReference.js";const R=i.getLogger("esri.layers.mixins.ImageryTileMixin"),D=i=>{let D=class extends i{constructor(){super(...arguments),this._rasterJobHandler={instance:null,refCount:0,connectionPromise:null},this.bandIds=null,this.copyright=null,this.fullExtent=null,this.interpolation="nearest",this.multidimensionalDefinition=null,this.raster=null,this.rasterInfo=null,this.sourceJSON=null,this.spatialReference=null,this.tileInfo=null,this.symbolizer=null}set url(e){this._set("url",d(e,R))}set renderer(e){this._set("renderer",e),this.updateRenderer()}async convertVectorFieldData(e,t){if(n(e))return null;const r=this._rasterJobHandler.instance,i=this.rasterInfo.dataType;return r?r.convertVectorFieldData({pixelBlock:e,dataType:i},t):y(e,i)}async createStreamlinesMesh(e,t){const r=this._rasterJobHandler.instance;return r?r.createStreamlinesMesh(e,t):_(e.rendererSettings,e.flowData,s(t.signal)?t.signal:(new AbortController).signal)}normalizeRasterFetchOptions(e){const{multidimensionalInfo:t}=this.rasterInfo;if(n(t))return e;let r=e.multidimensionalDefinition||this.multidimensionalDefinition;!n(r)&&r.length||(r=this._getDefaultSlice());const i=e.timeExtent||this.timeExtent;if(s(r)&&s(i)&&(s(i.start)||s(i.end))){var o,a;r=r.map((e=>e.clone()));const l=null==(o=t.variables.find((({name:e})=>e===r[0].variableName)))||null==(a=o.dimensions)?void 0:a.find((({name:e})=>"StdTime"===e)),m=r.find((({dimensionName:e})=>"StdTime"===e));if(!l||!m)return{...e,multidimensionalDefinition:null};const{start:d,end:u}=i,p=n(d)?null:d.getTime(),h=n(u)?null:u.getTime(),c=null!=p?p:h,f=null!=h?h:p;if(s(l.values)){const e=l.values.filter((e=>{if(Array.isArray(e)){if(c===f)return e[0]<=c&&e[1]>=c;const t=e[0]<=c&&e[1]>c||e[0]<f&&e[1]>=f,r=e[0]>=c&&e[1]<=f||e[0]<c&&e[1]>f;return t||r}return c===f?e===c:e>=c&&e<=f}));if(e.length){const t=e.sort(((e,t)=>{var r,i,n,s;if(c===f)return(null!=(n=e[0])?n:e)-(null!=(s=t[0])?s:t);return Math.abs((null!=(r=e[1])?r:e)-f)-Math.abs((null!=(i=t[1])?i:t)-f)}))[0];m.values=[t]}else r=null}else if(l.hasRegularIntervals&&l.extent){const[e,t]=l.extent;c>t||f<e?r=null:m.values=c===f?[c]:[Math.max(e,c),Math.min(t,f)]}}return{...e,multidimensionalDefinition:r}}async updateRenderer(){if(!this.loaded)return;if(JSON.stringify(this._cachedRendererJson)===JSON.stringify(this.renderer))return;const e=this._rasterJobHandler.instance;e&&(this.symbolizer.rendererJSON=b(this.renderer.toJSON()),this.symbolizer.bind(),await e.updateSymbolizer(this.symbolizer),this._cachedRendererJson=this.renderer.toJSON())}async applyRenderer(e,t){const r=e&&e.pixelBlock;if(!(s(r)&&r.pixels&&r.pixels.length>0))return null;let i;await this.updateRenderer();const n=this._rasterJobHandler.instance,{bandIds:o}=this;return i=n?await n.symbolize({...e,simpleStretchParams:t,bandIds:o}):this.symbolizer.symbolize({...e,simpleStretchParams:t,bandIds:o}),i}getTileUrl(e,t,r){return"RasterTileServer"===this.raster.datasetFormat?`${this.url}/tile/${e}/${t}/${r}`:""}getCompatibleTileInfo(e,t,r=!1){if(!this.loaded||n(t))return null;if(r&&e.equals(this.spatialReference))return this.tileInfo;const i=m(e);return c.create({size:256,spatialReference:e,origin:i?{x:i.origin[0],y:i.origin[1]}:{x:t.xmin,y:t.ymax}})}getCompatibleFullExtent(e){return this.loaded?(this._compatibleFullExtent&&this._compatibleFullExtent.spatialReference.equals(e)||(this._compatibleFullExtent=this.raster.computeExtent(e)),this._compatibleFullExtent):null}async fetchTile(e,t,i,o={}){if(o.requestAsImageElement){const n=this.getTileUrl(e,t,i);return r(n,{responseType:"image",query:{...this.refreshParameters,...this.raster.ioConfig.customFetchParameters},signal:o.signal}).then((e=>e.data))}if(s(this.rasterInfo.multidimensionalInfo)&&(o=this.normalizeRasterFetchOptions(o),n(o.multidimensionalDefinition))){const r=o.tileInfo||this.rasterInfo.storageInfo.tileInfo;return{extent:this.raster.getTileExtentFromTileInfo(e,t,i,r),pixelBlock:null}}return await this._initJobHandler(),"raster-shaded-relief"===this.renderer.type&&(o={...o,buffer:{cols:1,rows:1}}),this.raster.fetchTile(e,t,i,o)}async fetchPixels(e,t,r,i={}){return s(this.rasterInfo.multidimensionalInfo)&&(i=this.normalizeRasterFetchOptions(i),n(i.multidimensionalDefinition))?{extent:e,pixelBlock:null}:(await this._initJobHandler(),this.raster.fetchPixels(e,t,r,i))}async identify(e,t={}){if(s(this.rasterInfo.multidimensionalInfo)){if(!(this.rasterInfo.hasMultidimensionalTranspose&&!!(f(t.multidimensionalDefinition)||t.transposedVariableName||t.timeExtent))&&(t=this.normalizeRasterFetchOptions(t),n(t.multidimensionalDefinition)))return{location:e,value:null}}return this.raster.identify(e,t)}increaseRasterJobHandlerUsage(){this._rasterJobHandler.refCount++}decreaseRasterJobHandlerUsage(){this._rasterJobHandler.refCount--,this._rasterJobHandler.refCount<=0&&this._shutdownJobHandler()}hasStandardTime(){var e;const t=this.rasterInfo.multidimensionalInfo;if(n(t)||"standard-time"!==this.rasterInfo.dataType)return!1;const r=null==(e=this.multidimensionalDefinition[0])?void 0:e.variableName;return t.variables.some((e=>e.name===r&&e.dimensions.some((e=>"StdTime"===e.name))))}getStandardTimeValue(e){return new Date(24*(e-25569)*3600*1e3).toString()}_configDefaultSettings(){this._configDefaultInterpolation(),this.multidimensionalDefinition||(this.multidimensionalDefinition=this._getDefaultSlice()),this._configDefaultRenderer()}_initJobHandler(){if(null!=this._rasterJobHandler.connectionPromise)return this._rasterJobHandler.connectionPromise;const e=new h;return this._rasterJobHandler.connectionPromise=e.initialize().then((()=>{this._rasterJobHandler.instance=e,this.raster.rasterJobHandler=e,this.renderer&&this.updateRenderer()})).catch((()=>null)),this._rasterJobHandler.connectionPromise}_shutdownJobHandler(){this._rasterJobHandler.instance&&this._rasterJobHandler.instance.destroy(),this._rasterJobHandler.instance=null,this._rasterJobHandler.connectionPromise=null,this._rasterJobHandler.refCount=0,this.raster.rasterJobHandler=null}_configDefaultInterpolation(){if(null==this.interpolation){var e;const t=g(this.rasterInfo,this.raster.tileType,null==(e=this.sourceJSON)?void 0:e.defaultResamplingMethod);this._set("interpolation",t)}}_getDefaultSlice(){const{multidimensionalInfo:e}=this.raster.rasterInfo;if(n(e))return null;const t=e.variables[0];return t.dimensions.map((e=>{var r,i;return new p({variableName:t.name,dimensionName:e.name,values:[null!=(r=null==(i=e.values)?void 0:i[0])?r:e.extent[0]],isSlice:!0})}))}_configDefaultRenderer(){const e=this.raster.rasterInfo;var t;(this.bandIds||(this.bandIds=I(e)),this.renderer)||(this.renderer=v(e,{bandIds:this.bandIds,variableName:s(this.multidimensionalDefinition)?null==(t=this.multidimensionalDefinition[0])?void 0:t.variableName:null}));this.symbolizer?(this.symbolizer.rendererJSON=b(this.renderer.toJSON()),this.symbolizer.rasterInfo=e):this.symbolizer=new J({rendererJSON:this.renderer.toJSON(),rasterInfo:e});const r=this.symbolizer.bind();r.success||R.warn("imagery-tile-mixin",r.error||"The given renderer is not supported by the layer.")}};return e([a()],D.prototype,"_cachedRendererJson",void 0),e([a()],D.prototype,"_compatibleFullExtent",void 0),e([a()],D.prototype,"_rasterJobHandler",void 0),e([a()],D.prototype,"bandIds",void 0),e([a({json:{origins:{service:{read:{source:"copyrightText"}}}}})],D.prototype,"copyright",void 0),e([a({type:x,json:{read:!1}}),o("rasterInfo.extent")],D.prototype,"fullExtent",void 0),e([a()],D.prototype,"interpolation",void 0),e([a()],D.prototype,"ioConfig",void 0),e([a({type:[p]})],D.prototype,"multidimensionalDefinition",void 0),e([a()],D.prototype,"raster",void 0),e([a({readOnly:!0}),o("raster.rasterInfo")],D.prototype,"rasterInfo",void 0),e([a()],D.prototype,"sourceJSON",void 0),e([a({type:S,json:{read:!1}}),o("rasterInfo.spatialReference")],D.prototype,"spatialReference",void 0),e([a({type:c,json:{read:!1}}),o("rasterInfo.storageInfo.tileInfo")],D.prototype,"tileInfo",void 0),e([a(u)],D.prototype,"url",null),e([a({types:t})],D.prototype,"renderer",null),e([a()],D.prototype,"symbolizer",void 0),D=e([l("esri.layers.ImageryTileMixin")],D),D};export{D as ImageryTileMixin};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import"../../geometry.js";import{rasterRendererTypes as t}from"../../rasterRenderers.js";import r from"../../request.js";import i from"../../core/Logger.js";import{isNone as n,isSome as s}from"../../core/maybe.js";import{aliasOf as o}from"../../core/accessorSupport/decorators/aliasOf.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{property as a}from"../../core/accessorSupport/decorators/property.js";import{subclass as l}from"../../core/accessorSupport/decorators/subclass.js";import{getInfo as m}from"../../geometry/support/spatialReferenceUtils.js";import{sanitizeUrl as d}from"../support/arcgisLayerUrl.js";import{url as u}from"../support/commonProperties.js";import p from"../support/DimensionalDefinition.js";import h from"../support/RasterJobHandler.js";import c from"../support/TileInfo.js";import{isMultiSliceOrRangeDefinition as f}from"../support/rasterDatasets/multidimensionalUtils.js";import{convertVectorFieldData as y}from"../support/rasterFunctions/vectorFieldUtils.js";import{normalizeRendererJSON as b,getDefaultInterpolation as g,getDefaultBandCombination as I,createDefaultRenderer as J}from"../../renderers/support/rasterRendererHelper.js";import _ from"../../renderers/support/RasterSymbolizer.js";import{createStreamlinesMesh as x}from"../../views/2d/engine/flow/dataUtils.js";import v from"../../geometry/Extent.js";import S from"../../geometry/SpatialReference.js";const R=i.getLogger("esri.layers.mixins.ImageryTileMixin"),D=i=>{let D=class extends i{constructor(){super(...arguments),this._rasterJobHandler={instance:null,refCount:0,connectionPromise:null},this.bandIds=null,this.copyright=null,this.fullExtent=null,this.interpolation="nearest",this.multidimensionalDefinition=null,this.raster=null,this.rasterInfo=null,this.sourceJSON=null,this.spatialReference=null,this.tileInfo=null,this.symbolizer=null}set url(e){this._set("url",d(e,R))}set renderer(e){this._set("renderer",e),this.updateRenderer()}async convertVectorFieldData(e,t){if(n(e))return null;const r=this._rasterJobHandler.instance,i=this.rasterInfo.dataType;return r?r.convertVectorFieldData({pixelBlock:e,dataType:i},t):y(e,i)}async createStreamlinesMesh(e,t){const r=this._rasterJobHandler.instance;return r?r.createStreamlinesMesh(e,t):x(e.rendererSettings,e.flowData,s(t.signal)?t.signal:(new AbortController).signal)}normalizeRasterFetchOptions(e){const{multidimensionalInfo:t}=this.rasterInfo;if(n(t))return e;let r=e.multidimensionalDefinition||this.multidimensionalDefinition;!n(r)&&r.length||(r=this._getDefaultSlice());const i=e.timeExtent||this.timeExtent;if(s(r)&&s(i)&&(s(i.start)||s(i.end))){r=r.map((e=>e.clone()));const o=t.variables.find((({name:e})=>e===r[0].variableName))?.dimensions?.find((({name:e})=>"StdTime"===e)),a=r.find((({dimensionName:e})=>"StdTime"===e));if(!o||!a)return{...e,multidimensionalDefinition:null};const{start:l,end:m}=i,d=n(l)?null:l.getTime(),u=n(m)?null:m.getTime(),p=d??u,h=u??d;if(s(o.values)){const e=o.values.filter((e=>{if(Array.isArray(e)){if(p===h)return e[0]<=p&&e[1]>=p;const t=e[0]<=p&&e[1]>p||e[0]<h&&e[1]>=h,r=e[0]>=p&&e[1]<=h||e[0]<p&&e[1]>h;return t||r}return p===h?e===p:e>=p&&e<=h}));if(e.length){const t=e.sort(((e,t)=>{if(p===h)return(e[0]??e)-(t[0]??t);return Math.abs((e[1]??e)-h)-Math.abs((t[1]??t)-h)}))[0];a.values=[t]}else r=null}else if(o.hasRegularIntervals&&o.extent){const[e,t]=o.extent;p>t||h<e?r=null:a.values=p===h?[p]:[Math.max(e,p),Math.min(t,h)]}}return{...e,multidimensionalDefinition:r}}async updateRenderer(){if(!this.loaded)return;if(JSON.stringify(this._cachedRendererJson)===JSON.stringify(this.renderer))return;const e=this._rasterJobHandler.instance;e&&(this.symbolizer.rendererJSON=b(this.renderer.toJSON()),this.symbolizer.bind(),await e.updateSymbolizer(this.symbolizer),this._cachedRendererJson=this.renderer.toJSON())}async applyRenderer(e,t){const r=e&&e.pixelBlock;if(!(s(r)&&r.pixels&&r.pixels.length>0))return null;let i;await this.updateRenderer();const n=this._rasterJobHandler.instance,{bandIds:o}=this;return i=n?await n.symbolize({...e,simpleStretchParams:t,bandIds:o}):this.symbolizer.symbolize({...e,simpleStretchParams:t,bandIds:o}),i}getTileUrl(e,t,r){return"RasterTileServer"===this.raster.datasetFormat?`${this.url}/tile/${e}/${t}/${r}`:""}getCompatibleTileInfo(e,t,r=!1){if(!this.loaded||n(t))return null;if(r&&e.equals(this.spatialReference))return this.tileInfo;const i=m(e);return c.create({size:256,spatialReference:e,origin:i?{x:i.origin[0],y:i.origin[1]}:{x:t.xmin,y:t.ymax}})}getCompatibleFullExtent(e){return this.loaded?(this._compatibleFullExtent&&this._compatibleFullExtent.spatialReference.equals(e)||(this._compatibleFullExtent=this.raster.computeExtent(e)),this._compatibleFullExtent):null}async fetchTile(e,t,i,o={}){if(o.requestAsImageElement){const n=this.getTileUrl(e,t,i);return r(n,{responseType:"image",query:{...this.refreshParameters,...this.raster.ioConfig.customFetchParameters},signal:o.signal}).then((e=>e.data))}if(s(this.rasterInfo.multidimensionalInfo)&&(o=this.normalizeRasterFetchOptions(o),n(o.multidimensionalDefinition))){const r=o.tileInfo||this.rasterInfo.storageInfo.tileInfo;return{extent:this.raster.getTileExtentFromTileInfo(e,t,i,r),pixelBlock:null}}return await this._initJobHandler(),"raster-shaded-relief"===this.renderer.type&&(o={...o,buffer:{cols:1,rows:1}}),this.raster.fetchTile(e,t,i,o)}async fetchPixels(e,t,r,i={}){return s(this.rasterInfo.multidimensionalInfo)&&(i=this.normalizeRasterFetchOptions(i),n(i.multidimensionalDefinition))?{extent:e,pixelBlock:null}:(await this._initJobHandler(),this.raster.fetchPixels(e,t,r,i))}async identify(e,t={}){if(s(this.rasterInfo.multidimensionalInfo)){if(!(this.rasterInfo.hasMultidimensionalTranspose&&!!(f(t.multidimensionalDefinition)||t.transposedVariableName||t.timeExtent))&&(t=this.normalizeRasterFetchOptions(t),n(t.multidimensionalDefinition)))return{location:e,value:null}}return this.raster.identify(e,t)}increaseRasterJobHandlerUsage(){this._rasterJobHandler.refCount++}decreaseRasterJobHandlerUsage(){this._rasterJobHandler.refCount--,this._rasterJobHandler.refCount<=0&&this._shutdownJobHandler()}hasStandardTime(){const e=this.rasterInfo.multidimensionalInfo;if(n(e)||"standard-time"!==this.rasterInfo.dataType)return!1;const t=this.multidimensionalDefinition[0]?.variableName;return e.variables.some((e=>e.name===t&&e.dimensions.some((e=>"StdTime"===e.name))))}getStandardTimeValue(e){return new Date(24*(e-25569)*3600*1e3).toString()}_configDefaultSettings(){this._configDefaultInterpolation(),this.multidimensionalDefinition||(this.multidimensionalDefinition=this._getDefaultSlice()),this._configDefaultRenderer()}_initJobHandler(){if(null!=this._rasterJobHandler.connectionPromise)return this._rasterJobHandler.connectionPromise;const e=new h;return this._rasterJobHandler.connectionPromise=e.initialize().then((()=>{this._rasterJobHandler.instance=e,this.raster.rasterJobHandler=e,this.renderer&&this.updateRenderer()})).catch((()=>null)),this._rasterJobHandler.connectionPromise}_shutdownJobHandler(){this._rasterJobHandler.instance&&this._rasterJobHandler.instance.destroy(),this._rasterJobHandler.instance=null,this._rasterJobHandler.connectionPromise=null,this._rasterJobHandler.refCount=0,this.raster.rasterJobHandler=null}_configDefaultInterpolation(){if(null==this.interpolation){const e=g(this.rasterInfo,this.raster.tileType,this.sourceJSON?.defaultResamplingMethod);this._set("interpolation",e)}}_getDefaultSlice(){const{multidimensionalInfo:e}=this.raster.rasterInfo;if(n(e))return null;const t=e.variables[0];return t.dimensions.map((e=>new p({variableName:t.name,dimensionName:e.name,values:[e.values?.[0]??e.extent[0]],isSlice:!0})))}_configDefaultRenderer(){const e=this.raster.rasterInfo;this.bandIds||(this.bandIds=I(e)),this.renderer||(this.renderer=J(e,{bandIds:this.bandIds,variableName:s(this.multidimensionalDefinition)?this.multidimensionalDefinition[0]?.variableName:null})),this.symbolizer?(this.symbolizer.rendererJSON=b(this.renderer.toJSON()),this.symbolizer.rasterInfo=e):this.symbolizer=new _({rendererJSON:this.renderer.toJSON(),rasterInfo:e});const t=this.symbolizer.bind();t.success||R.warn("imagery-tile-mixin",t.error||"The given renderer is not supported by the layer.")}};return e([a()],D.prototype,"_cachedRendererJson",void 0),e([a()],D.prototype,"_compatibleFullExtent",void 0),e([a()],D.prototype,"_rasterJobHandler",void 0),e([a()],D.prototype,"bandIds",void 0),e([a({json:{origins:{service:{read:{source:"copyrightText"}}}}})],D.prototype,"copyright",void 0),e([a({type:v,json:{read:!1}}),o("rasterInfo.extent")],D.prototype,"fullExtent",void 0),e([a()],D.prototype,"interpolation",void 0),e([a()],D.prototype,"ioConfig",void 0),e([a({type:[p]})],D.prototype,"multidimensionalDefinition",void 0),e([a()],D.prototype,"raster",void 0),e([a({readOnly:!0}),o("raster.rasterInfo")],D.prototype,"rasterInfo",void 0),e([a()],D.prototype,"sourceJSON",void 0),e([a({type:S,json:{read:!1}}),o("rasterInfo.spatialReference")],D.prototype,"spatialReference",void 0),e([a({type:c,json:{read:!1}}),o("rasterInfo.storageInfo.tileInfo")],D.prototype,"tileInfo",void 0),e([a(u)],D.prototype,"url",null),e([a({types:t})],D.prototype,"renderer",null),e([a()],D.prototype,"symbolizer",void 0),D=e([l("esri.layers.ImageryTileMixin")],D),D};export{D as ImageryTileMixin};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.24/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import r from"../../core/Error.js";import{isBlobProtocol as t}from"../../core/urlUtils.js";import{property as o}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as i}from"../../core/accessorSupport/decorators/subclass.js";import{writer as s}from"../../core/accessorSupport/decorators/writer.js";import{readLoadable as a}from"../../core/accessorSupport/read.js";import{willPropertyWrite as n}from"../../core/accessorSupport/write.js";import{supportedTypes as p}from"./operationalLayers.js";import{listMode as l,opacity as y}from"../support/commonProperties.js";const u=u=>{let c=class extends u{constructor(){super(...arguments),this.title=null}writeListMode(e,r,t,o){(o&&"ground"===o.layerContainerType||e&&n(this,t,{},o))&&(r[t]=e)}writeOperationalLayerType(e,r,t,o){!e||o&&"tables"===o.layerContainerType||(r.layerType=e)}writeTitle(e,r){r.title=e||"Layer"}read(e,r){r&&(r.layer=this),a(this,e,(r=>super.read(e,r)),r)}write(e,o){if(null!=o&&o.origin){const e=`${o.origin}/${o.layerContainerType||"operational-layers"}`,t=p[e];let s=t&&t[this.operationalLayerType];var i;if("ArcGISTiledElevationServiceLayer"===this.operationalLayerType&&"web-scene/operational-layers"===e&&(s=!1),!s)return null==(i=o.messages)||i.push(new r("layer:unsupported",`Layers (${this.title}, ${this.id}) of type '${this.declaredClass}' are not supported in the context of '${e}'`,{layer:this})),null}const s=super.write(e,{...o,layer:this}),a=!!o&&!!o.messages&&!!o.messages.filter((e=>e instanceof r&&"web-document-write:property-required"===e.name)).length;var n;return t(null==s?void 0:s.url)?(null==o||null==(n=o.messages)||n.push(new r("layer:invalid-url",`Layer (${this.title}, ${this.id}) of type '${this.declaredClass}' using a Blob URL cannot be written to web scenes and web maps`,{layer:this})),null):!this.url&&a?null:s}beforeSave(){}};return e([o({type:String,json:{write:{ignoreOrigin:!0},origins:{"web-scene":{write:{isRequired:!0,ignoreOrigin:!0}},"portal-item":{write:!1}}}})],c.prototype,"id",void 0),e([o(l)],c.prototype,"listMode",void 0),e([s("listMode")],c.prototype,"writeListMode",null),e([o({type:String,readOnly:!0,json:{read:!1,write:{target:"layerType",ignoreOrigin:!0},origins:{"portal-item":{write:!1}}}})],c.prototype,"operationalLayerType",void 0),e([s("operationalLayerType")],c.prototype,"writeOperationalLayerType",null),e([o(y)],c.prototype,"opacity",void 0),e([o({type:String,json:{write:{ignoreOrigin:!0,writerEnsuresNonNull:!0},origins:{"web-scene":{write:{isRequired:!0,ignoreOrigin:!0,writerEnsuresNonNull:!0}},"portal-item":{write:!1}}},value:"Layer"})],c.prototype,"title",void 0),e([s("title")],c.prototype,"writeTitle",null),e([o({type:Boolean,json:{name:"visibility"}})],c.prototype,"visible",void 0),c=e([i("esri.layers.mixins.OperationalLayer")],c),c};function c(e){return"operationalLayerType"in e}export{u as OperationalLayer,c as isOperationalLayer};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import r from"../../core/Error.js";import{isBlobProtocol as t}from"../../core/urlUtils.js";import{property as o}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as i}from"../../core/accessorSupport/decorators/subclass.js";import{writer as s}from"../../core/accessorSupport/decorators/writer.js";import{readLoadable as a}from"../../core/accessorSupport/read.js";import{willPropertyWrite as p}from"../../core/accessorSupport/write.js";import{supportedTypes as n}from"./operationalLayers.js";import{listMode as l,opacity as y}from"../support/commonProperties.js";const c=c=>{let u=class extends c{constructor(){super(...arguments),this.title=null}writeListMode(e,r,t,o){(o&&"ground"===o.layerContainerType||e&&p(this,t,{},o))&&(r[t]=e)}writeOperationalLayerType(e,r,t,o){!e||o&&"tables"===o.layerContainerType||(r.layerType=e)}writeTitle(e,r){r.title=e||"Layer"}read(e,r){r&&(r.layer=this),a(this,e,(r=>super.read(e,r)),r)}write(e,o){if(o?.origin){const e=`${o.origin}/${o.layerContainerType||"operational-layers"}`,t=n[e];let i=t&&t[this.operationalLayerType];if("ArcGISTiledElevationServiceLayer"===this.operationalLayerType&&"web-scene/operational-layers"===e&&(i=!1),!i)return o.messages?.push(new r("layer:unsupported",`Layers (${this.title}, ${this.id}) of type '${this.declaredClass}' are not supported in the context of '${e}'`,{layer:this})),null}const i=super.write(e,{...o,layer:this}),s=!!o&&!!o.messages&&!!o.messages.filter((e=>e instanceof r&&"web-document-write:property-required"===e.name)).length;return t(i?.url)?(o?.messages?.push(new r("layer:invalid-url",`Layer (${this.title}, ${this.id}) of type '${this.declaredClass}' using a Blob URL cannot be written to web scenes and web maps`,{layer:this})),null):!this.url&&s?null:i}beforeSave(){}};return e([o({type:String,json:{write:{ignoreOrigin:!0},origins:{"web-scene":{write:{isRequired:!0,ignoreOrigin:!0}},"portal-item":{write:!1}}}})],u.prototype,"id",void 0),e([o(l)],u.prototype,"listMode",void 0),e([s("listMode")],u.prototype,"writeListMode",null),e([o({type:String,readOnly:!0,json:{read:!1,write:{target:"layerType",ignoreOrigin:!0},origins:{"portal-item":{write:!1}}}})],u.prototype,"operationalLayerType",void 0),e([s("operationalLayerType")],u.prototype,"writeOperationalLayerType",null),e([o(y)],u.prototype,"opacity",void 0),e([o({type:String,json:{write:{ignoreOrigin:!0,writerEnsuresNonNull:!0},origins:{"web-scene":{write:{isRequired:!0,ignoreOrigin:!0,writerEnsuresNonNull:!0}},"portal-item":{write:!1}}},value:"Layer"})],u.prototype,"title",void 0),e([s("title")],u.prototype,"writeTitle",null),e([o({type:Boolean,json:{name:"visibility"}})],u.prototype,"visible",void 0),u=e([i("esri.layers.mixins.OperationalLayer")],u),u};function u(e){return"operationalLayerType"in e}export{c as OperationalLayer,u as isOperationalLayer};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.24/esri/copyright.txt for details.
4
4
  */
5
- import{_ as t}from"../../chunks/tslib.es6.js";import{id as r}from"../../kernel.js";import e from"../../request.js";import{result as s}from"../../core/asyncUtils.js";import o from"../../core/Error.js";import i from"../../core/Logger.js";import{isNone as a,isSome as l}from"../../core/maybe.js";import{throwIfAborted as p,isAbortError as n,throwIfAbortError as m}from"../../core/promiseUtils.js";import{normalize as u,hasSamePortal as c}from"../../core/urlUtils.js";import{property as d}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{reader as h}from"../../core/accessorSupport/decorators/reader.js";import{subclass as f}from"../../core/accessorSupport/decorators/subclass.js";import{writer as y}from"../../core/accessorSupport/decorators/writer.js";import g from"../../portal/Portal.js";import I from"../../portal/PortalItem.js";import j from"../../portal/PortalUser.js";const v=i.getLogger("esri.layers.mixins.PortalLayer"),w=i=>{let w=class extends i{constructor(){super(...arguments),this.resourceReferences={portalItem:null,paths:[]},this.userHasEditingPrivileges=!0}destroy(){var t;null==(t=this.portalItem)||t.destroy(),this.portalItem=null}set portalItem(t){t!==this._get("portalItem")&&(this.removeOrigin("portal-item"),this._set("portalItem",t))}readPortalItem(t,r,e){if(r.itemId)return new I({id:r.itemId,portal:e&&e.portal})}writePortalItem(t,r){t&&t.id&&(r.itemId=t.id)}async loadFromPortal(t,r){if(this.portalItem&&this.portalItem.id)try{const e=await import("../../portal/support/layersLoader.js");return p(r),await e.load({instance:this,supportedTypes:t.supportedTypes,validateItem:t.validateItem,supportsData:t.supportsData},r)}catch(e){throw n(e)||v.warn(`Failed to load layer (${this.title}, ${this.id}) portal item (${this.portalItem.id})\n ${e}`),e}}async finishLoadEditablePortalLayer(t){this._set("userHasEditingPrivileges",await this._fetchUserHasEditingPrivileges(t).catch((t=>(m(t),!0))))}async _fetchUserHasEditingPrivileges(t){const e=this.url?null==r?void 0:r.findCredential(this.url):null;if(!e)return!0;const s=P.credential===e?P.user:await this._fetchEditingUser(t);return P.credential=e,P.user=s,a(s)||null==s.privileges||s.privileges.includes("features:user:edit")}async _fetchEditingUser(t){var o,i;const a=null==(o=this.portalItem)||null==(i=o.portal)?void 0:i.user;if(a)return a;const p=r.findServerInfo(this.url);if(null==p||!p.owningSystemUrl)return null;const n=`${p.owningSystemUrl}/sharing/rest`,m=g.getDefault();if(m&&m.loaded&&u(m.restUrl)===u(n))return m.user;const c=`${n}/community/self`,d=l(t)?t.signal:null,h=await s(e(c,{authMode:"no-prompt",query:{f:"json"},signal:d}));return h.ok?j.fromJSON(h.value.data):null}read(t,r){r&&(r.layer=this),super.read(t,r)}write(t,r){const e=r&&r.portal,s=this.portalItem&&this.portalItem.id&&(this.portalItem.portal||g.getDefault());return e&&s&&!c(s.restUrl,e.restUrl)?(r.messages&&r.messages.push(new o("layer:cross-portal",`The layer '${this.title} (${this.id})' cannot be persisted because it refers to an item on a different portal than the one being saved to. To save, set layer.portalItem to null or save to the same portal as the item associated with the layer`,{layer:this})),null):super.write(t,{...r,layer:this})}};return t([d({type:I})],w.prototype,"portalItem",null),t([h("web-document","portalItem",["itemId"])],w.prototype,"readPortalItem",null),t([y("web-document","portalItem",{itemId:{type:String}})],w.prototype,"writePortalItem",null),t([d({clonable:!1})],w.prototype,"resourceReferences",void 0),t([d({readOnly:!0})],w.prototype,"userHasEditingPrivileges",void 0),w=t([f("esri.layers.mixins.PortalLayer")],w),w},P={credential:null,user:null};export{w as PortalLayer};
5
+ import{_ as t}from"../../chunks/tslib.es6.js";import{id as r}from"../../kernel.js";import e from"../../request.js";import{result as s}from"../../core/asyncUtils.js";import o from"../../core/Error.js";import i from"../../core/Logger.js";import{isNone as a,isSome as l}from"../../core/maybe.js";import{throwIfAborted as p,isAbortError as n,throwIfAbortError as m}from"../../core/promiseUtils.js";import{normalize as c,hasSamePortal as u}from"../../core/urlUtils.js";import{property as d}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{reader as h}from"../../core/accessorSupport/decorators/reader.js";import{subclass as f}from"../../core/accessorSupport/decorators/subclass.js";import{writer as y}from"../../core/accessorSupport/decorators/writer.js";import g from"../../portal/Portal.js";import I from"../../portal/PortalItem.js";import j from"../../portal/PortalUser.js";const w=i.getLogger("esri.layers.mixins.PortalLayer"),v=i=>{let v=class extends i{constructor(){super(...arguments),this.resourceReferences={portalItem:null,paths:[]},this.userHasEditingPrivileges=!0}destroy(){this.portalItem?.destroy(),this.portalItem=null}set portalItem(t){t!==this._get("portalItem")&&(this.removeOrigin("portal-item"),this._set("portalItem",t))}readPortalItem(t,r,e){if(r.itemId)return new I({id:r.itemId,portal:e&&e.portal})}writePortalItem(t,r){t&&t.id&&(r.itemId=t.id)}async loadFromPortal(t,r){if(this.portalItem&&this.portalItem.id)try{const e=await import("../../portal/support/layersLoader.js");return p(r),await e.load({instance:this,supportedTypes:t.supportedTypes,validateItem:t.validateItem,supportsData:t.supportsData},r)}catch(e){throw n(e)||w.warn(`Failed to load layer (${this.title}, ${this.id}) portal item (${this.portalItem.id})\n ${e}`),e}}async finishLoadEditablePortalLayer(t){this._set("userHasEditingPrivileges",await this._fetchUserHasEditingPrivileges(t).catch((t=>(m(t),!0))))}async _fetchUserHasEditingPrivileges(t){const e=this.url?r?.findCredential(this.url):null;if(!e)return!0;const s=P.credential===e?P.user:await this._fetchEditingUser(t);return P.credential=e,P.user=s,a(s)||null==s.privileges||s.privileges.includes("features:user:edit")}async _fetchEditingUser(t){const o=this.portalItem?.portal?.user;if(o)return o;const i=r.findServerInfo(this.url);if(!i?.owningSystemUrl)return null;const a=`${i.owningSystemUrl}/sharing/rest`,p=g.getDefault();if(p&&p.loaded&&c(p.restUrl)===c(a))return p.user;const n=`${a}/community/self`,m=l(t)?t.signal:null,u=await s(e(n,{authMode:"no-prompt",query:{f:"json"},signal:m}));return u.ok?j.fromJSON(u.value.data):null}read(t,r){r&&(r.layer=this),super.read(t,r)}write(t,r){const e=r&&r.portal,s=this.portalItem&&this.portalItem.id&&(this.portalItem.portal||g.getDefault());return e&&s&&!u(s.restUrl,e.restUrl)?(r.messages&&r.messages.push(new o("layer:cross-portal",`The layer '${this.title} (${this.id})' cannot be persisted because it refers to an item on a different portal than the one being saved to. To save, set layer.portalItem to null or save to the same portal as the item associated with the layer`,{layer:this})),null):super.write(t,{...r,layer:this})}};return t([d({type:I})],v.prototype,"portalItem",null),t([h("web-document","portalItem",["itemId"])],v.prototype,"readPortalItem",null),t([y("web-document","portalItem",{itemId:{type:String}})],v.prototype,"writePortalItem",null),t([d({clonable:!1})],v.prototype,"resourceReferences",void 0),t([d({readOnly:!0})],v.prototype,"userHasEditingPrivileges",void 0),v=t([f("esri.layers.mixins.PortalLayer")],v),v},P={credential:null,user:null};export{v as PortalLayer};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.24/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../request.js";import r from"../../core/Error.js";import"../../core/has.js";import i from"../../core/Logger.js";import{isSome as o}from"../../core/maybe.js";import{debounce as s}from"../../core/promiseUtils.js";import{urlToObject as a}from"../../core/urlUtils.js";import{property as n}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/accessorSupport/ensureType.js";import{reader as l}from"../../core/accessorSupport/decorators/reader.js";import{subclass as p}from"../../core/accessorSupport/decorators/subclass.js";import{writer as d}from"../../core/accessorSupport/decorators/writer.js";import{updateOrigins as c}from"../../core/accessorSupport/originUtils.js";import u from"../../geometry/Extent.js";import m from"../../geometry/HeightModelInfo.js";import y from"../../geometry/SpatialReference.js";import{titleFromUrlAndName as h,parse as f,cleanTitle as v,sanitizeUrlWithLayerId as S,writeUrlWithLayerId as g}from"../support/arcgisLayerUrl.js";import{id as w,url as I}from"../support/commonProperties.js";import{fetchIndexInfo as x}from"../support/I3SIndexInfo.js";import b from"../../portal/Portal.js";import j from"../../portal/PortalItem.js";import{saveResources as _}from"../../webdoc/support/saveUtils.js";const R=i.getLogger("esri.layers.mixins.SceneService"),A=i=>{let A=class extends i{constructor(){super(...arguments),this.spatialReference=null,this.fullExtent=null,this.heightModelInfo=null,this.minScale=0,this.maxScale=0,this.version={major:Number.NaN,minor:Number.NaN,versionString:""},this.copyright=null,this.sublayerTitleMode="item-title",this.title=null,this.layerId=null,this.indexInfo=null,this._debouncedSaveOperations=s((async(e,t,r)=>{switch(e){case K.SAVE:return this._save(t);case K.SAVE_AS:return this._saveAs(r,t)}}))}readSpatialReference(e,t){return this._readSpatialReference(t)}_readSpatialReference(e){if(null!=e.spatialReference)return y.fromJSON(e.spatialReference);{const t=e.store,r=t.indexCRS||t.geographicCRS,i=r&&parseInt(r.substring(r.lastIndexOf("/")+1,r.length),10);return null!=i?new y(i):null}}readFullExtent(e,t,r){if(null!=e&&"object"==typeof e){const i=null==e.spatialReference?{...e,spatialReference:this._readSpatialReference(t)}:e;return u.fromJSON(i,r)}const i=t.store,o=this._readSpatialReference(t);return null==o||null==i||null==i.extent||!Array.isArray(i.extent)||i.extent.some((e=>e<N))?null:new u({xmin:i.extent[0],ymin:i.extent[1],xmax:i.extent[2],ymax:i.extent[3],spatialReference:o})}parseVersionString(e){const t={major:Number.NaN,minor:Number.NaN,versionString:e},r=e.split(".");return r.length>=2&&(t.major=parseInt(r[0],10),t.minor=parseInt(r[1],10)),t}readVersion(e,t){const r=t.store,i=null!=r.version?r.version.toString():"";return this.parseVersionString(i)}readTitlePortalItem(e){return"item-title"!==this.sublayerTitleMode?void 0:e}readTitleService(e,t){const r=this.portalItem&&this.portalItem.title;if("item-title"===this.sublayerTitleMode)return h(this.url,t.name);let i=t.name;if(!i&&this.url){const e=f(this.url);o(e)&&(i=e.title)}return"item-title-and-service-name"===this.sublayerTitleMode&&r&&(i=r+" - "+i),v(i)}set url(e){const t=S({layer:this,url:e,nonStandardUrlAllowed:!1,logger:R});this._set("url",t.url),null!=t.layerId&&this._set("layerId",t.layerId)}writeUrl(e,t,r,i){g(this,e,"layers",t,i)}get parsedUrl(){const e=this._get("url");if(!e)return null;const t=a(e);return null!=this.layerId&&(t.path=`${t.path}/layers/${this.layerId}`),t}async _fetchIndexAndUpdateExtent(e,t){this.indexInfo=x(this.parsedUrl.path,this.rootNode,e,this.apiKey,R,t),null==this.fullExtent||this.fullExtent.hasZ||this._updateExtent(await this.indexInfo)}_updateExtent(e){if("page"===(null==e?void 0:e.type)){var t,i;const o=e.rootIndex%e.pageSize,s=null==(t=e.rootPage)||null==(i=t.nodes)?void 0:i[o];if(null==s||null==s.obb||null==s.obb.center||null==s.obb.halfSize)throw new r("sceneservice:invalid-node-page","Invalid node page.");if(s.obb.center[0]<N||null==this.fullExtent||this.fullExtent.hasZ)return;const a=s.obb.halfSize,n=s.obb.center[2],l=Math.sqrt(a[0]*a[0]+a[1]*a[1]+a[2]*a[2]);this.fullExtent.zmin=n-l,this.fullExtent.zmax=n+l}else if("node"===(null==e?void 0:e.type)){var o;const t=null==(o=e.rootNode)?void 0:o.mbs;if(!Array.isArray(t)||4!==t.length||t[0]<N)return;const r=t[2],i=t[3];this.fullExtent.zmin=r-i,this.fullExtent.zmax=r+i}}async _fetchService(e){if(null==this.url)throw new r("sceneservice:url-not-set","Scene service can not be loaded without valid portal item or url");if(null==this.layerId&&/SceneServer\/*$/i.test(this.url)){const t=await this._fetchFirstLayerId(e);null!=t&&(this.layerId=t)}return this._fetchServiceLayer(e)}async _fetchFirstLayerId(e){const r=await t(this.url,{query:{f:"json",token:this.apiKey},responseType:"json",signal:e});if(r.data&&Array.isArray(r.data.layers)&&r.data.layers.length>0)return r.data.layers[0].id}async _fetchServiceLayer(e){const r=await t(this.parsedUrl.path,{query:{f:"json",token:this.apiKey},responseType:"json",signal:e});r.ssl&&(this.url=this.url.replace(/^http:/i,"https:"));let i=!1;if(r.data.layerType&&"Voxel"===r.data.layerType&&(i=!0),i)return this._fetchVoxelServiceLayer();const o=r.data;this.read(o,{origin:"service",url:this.parsedUrl}),this.validateLayer(o)}async _fetchVoxelServiceLayer(e){const r=(await t(this.parsedUrl.path+"/layer",{query:{f:"json",token:this.apiKey},responseType:"json",signal:e})).data;this.read(r,{origin:"service",url:this.parsedUrl}),this.validateLayer(r)}async _ensureLoadBeforeSave(){await this.load(),"beforeSave"in this&&"function"==typeof this.beforeSave&&await this.beforeSave()}validateLayer(e){}_updateTypeKeywords(e,t,r){e.typeKeywords||(e.typeKeywords=[]);const i=t.getTypeKeywords();for(const o of i)e.typeKeywords.push(o);e.typeKeywords&&(e.typeKeywords=e.typeKeywords.filter(((e,t,r)=>r.indexOf(e)===t)),r===U.newItem&&(e.typeKeywords=e.typeKeywords.filter((e=>"Hosted Service"!==e))))}async _saveAs(e,t){const i={...O,...t};let o=j.from(e);o||(R.error("_saveAs(): requires a portal item parameter"),await Promise.reject(new r("sceneservice:portal-item-required","_saveAs() requires a portal item to save to"))),o.id&&(o=o.clone(),o.id=null);const s=o.portal||b.getDefault();await this._ensureLoadBeforeSave(),o.type=T,o.portal=s;const a={origin:"portal-item",url:null,messages:[],portal:s,portalItem:o,writtenProperties:[],blockedRelativeUrls:[],resources:{toAdd:[],toUpdate:[],toKeep:[],pendingOperations:[]}},n={layers:[this.write({},a)]};return await Promise.all(a.resources.pendingOperations),await this._validateAgainstJSONSchema(n,a,i),o.url=this.url,o.title||(o.title=this.title),this._updateTypeKeywords(o,i,U.newItem),await s._signIn(),await s.user.addItem({item:o,folder:i&&i.folder,data:n}),await _(this.resourceReferences,a,null),this.portalItem=o,c(a),a.portalItem=o,o}async _save(e){const t={...O,...e};this.portalItem||(R.error("_save(): requires the .portalItem property to be set"),await Promise.reject(new r("sceneservice:portal-item-not-set","Portal item to save to has not been set on this SceneService"))),this.portalItem.type!==T&&(R.error("_save(): Non-matching portal item type. Got "+this.portalItem.type+", expected "+T),await Promise.reject(new r("sceneservice:portal-item-wrong-type",`Portal item needs to have type "${T}"`))),await this._ensureLoadBeforeSave();const i={origin:"portal-item",url:this.portalItem.itemUrl&&a(this.portalItem.itemUrl),messages:[],portal:this.portalItem.portal||b.getDefault(),portalItem:this.portalItem,writtenProperties:[],blockedRelativeUrls:[],resources:{toAdd:[],toUpdate:[],toKeep:[],pendingOperations:[]}},o={layers:[this.write({},i)]};return await Promise.all(i.resources.pendingOperations),await this._validateAgainstJSONSchema(o,i,t),this.portalItem.url=this.url,this.portalItem.title||(this.portalItem.title=this.title),this._updateTypeKeywords(this.portalItem,t,U.existingItem),await this.portalItem.update({data:o}),await _(this.resourceReferences,i,null),c(i),this.portalItem}async _validateAgainstJSONSchema(e,t,i){let o=t.messages.filter((e=>"error"===e.type)).map((e=>new r(e.name,e.message,e.details)));if(i&&i.validationOptions.ignoreUnsupported&&(o=o.filter((e=>"layer:unsupported"!==e.name&&"symbol:unsupported"!==e.name&&"symbol-layer:unsupported"!==e.name&&"property:unsupported"!==e.name&&"url:unsupported"!==e.name&&"scenemodification:unsupported"!==e.name))),i.validationOptions.enabled||E){const t=(await import("../support/schemaValidator.js")).validate(e,i.portalItemLayerType);if(t.length>0){const e=`Layer item did not validate:\n${t.join("\n")}`;if(R.error(`_validateAgainstJSONSchema(): ${e}`),"throw"===i.validationOptions.failPolicy){const e=t.map((e=>new r("sceneservice:schema-validation",e))).concat(o);throw new r("sceneservice-validate:error","Failed to save layer item due to schema validation, see `details.errors`.",{combined:e})}}}if(o.length>0)throw new r("sceneservice:save","Failed to save SceneService due to unsupported or invalid content. See 'details.errors' for more detailed information",{errors:o})}};return e([n(w)],A.prototype,"id",void 0),e([n({type:y})],A.prototype,"spatialReference",void 0),e([l("spatialReference",["spatialReference","store.indexCRS","store.geographicCRS"])],A.prototype,"readSpatialReference",null),e([n({type:u})],A.prototype,"fullExtent",void 0),e([l("fullExtent",["fullExtent","store.extent","spatialReference","store.indexCRS","store.geographicCRS"])],A.prototype,"readFullExtent",null),e([n({readOnly:!0,type:m})],A.prototype,"heightModelInfo",void 0),e([n({type:Number,json:{name:"layerDefinition.minScale",write:!0,origins:{service:{read:{source:"minScale"},write:!1}}}})],A.prototype,"minScale",void 0),e([n({type:Number,json:{name:"layerDefinition.maxScale",write:!0,origins:{service:{read:{source:"maxScale"},write:!1}}}})],A.prototype,"maxScale",void 0),e([n({readOnly:!0})],A.prototype,"version",void 0),e([l("version",["store.version"])],A.prototype,"readVersion",null),e([n({type:String,json:{read:{source:"copyrightText"}}})],A.prototype,"copyright",void 0),e([n({type:String,json:{read:!1}})],A.prototype,"sublayerTitleMode",void 0),e([n({type:String})],A.prototype,"title",void 0),e([l("portal-item","title")],A.prototype,"readTitlePortalItem",null),e([l("service","title",["name"])],A.prototype,"readTitleService",null),e([n({type:Number,json:{origins:{service:{read:{source:"id"}},"portal-item":{write:{target:"id",isRequired:!0,ignoreOrigin:!0},read:!1}}}})],A.prototype,"layerId",void 0),e([n(I)],A.prototype,"url",null),e([d("url")],A.prototype,"writeUrl",null),e([n()],A.prototype,"parsedUrl",null),e([n({readOnly:!0})],A.prototype,"store",void 0),e([n({type:String,readOnly:!0,json:{read:{source:"store.rootNode"}}})],A.prototype,"rootNode",void 0),A=e([p("esri.layers.mixins.SceneService")],A),A},N=-1e38,E=!1;var U;!function(e){e[e.existingItem=0]="existingItem",e[e.newItem=1]="newItem"}(U||(U={}));const T="Scene Service",O={getTypeKeywords:()=>[],portalItemLayerType:"unknown",validationOptions:{enabled:!0,ignoreUnsupported:!1,failPolicy:"throw"}};var K;!function(e){e[e.SAVE=0]="SAVE",e[e.SAVE_AS=1]="SAVE_AS"}(K||(K={}));export{T as SCENE_SERVICE_ITEM_TYPE,K as SaveOperationType,A as SceneService};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../request.js";import r from"../../core/Error.js";import"../../core/has.js";import i from"../../core/Logger.js";import{isSome as o}from"../../core/maybe.js";import{debounce as s}from"../../core/promiseUtils.js";import{urlToObject as a}from"../../core/urlUtils.js";import{property as n}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/accessorSupport/ensureType.js";import{reader as l}from"../../core/accessorSupport/decorators/reader.js";import{subclass as p}from"../../core/accessorSupport/decorators/subclass.js";import{writer as c}from"../../core/accessorSupport/decorators/writer.js";import{updateOrigins as d}from"../../core/accessorSupport/originUtils.js";import u from"../../geometry/Extent.js";import m from"../../geometry/HeightModelInfo.js";import y from"../../geometry/SpatialReference.js";import{titleFromUrlAndName as h,parse as f,cleanTitle as v,sanitizeUrlWithLayerId as S,writeUrlWithLayerId as g}from"../support/arcgisLayerUrl.js";import{id as w,url as I}from"../support/commonProperties.js";import{fetchIndexInfo as x}from"../support/I3SIndexInfo.js";import b from"../../portal/Portal.js";import j from"../../portal/PortalItem.js";import{saveResources as _}from"../../webdoc/support/saveUtils.js";const R=i.getLogger("esri.layers.mixins.SceneService"),A=i=>{let A=class extends i{constructor(){super(...arguments),this.spatialReference=null,this.fullExtent=null,this.heightModelInfo=null,this.minScale=0,this.maxScale=0,this.version={major:Number.NaN,minor:Number.NaN,versionString:""},this.copyright=null,this.sublayerTitleMode="item-title",this.title=null,this.layerId=null,this.indexInfo=null,this._debouncedSaveOperations=s((async(e,t,r)=>{switch(e){case K.SAVE:return this._save(t);case K.SAVE_AS:return this._saveAs(r,t)}}))}readSpatialReference(e,t){return this._readSpatialReference(t)}_readSpatialReference(e){if(null!=e.spatialReference)return y.fromJSON(e.spatialReference);{const t=e.store,r=t.indexCRS||t.geographicCRS,i=r&&parseInt(r.substring(r.lastIndexOf("/")+1,r.length),10);return null!=i?new y(i):null}}readFullExtent(e,t,r){if(null!=e&&"object"==typeof e){const i=null==e.spatialReference?{...e,spatialReference:this._readSpatialReference(t)}:e;return u.fromJSON(i,r)}const i=t.store,o=this._readSpatialReference(t);return null==o||null==i||null==i.extent||!Array.isArray(i.extent)||i.extent.some((e=>e<N))?null:new u({xmin:i.extent[0],ymin:i.extent[1],xmax:i.extent[2],ymax:i.extent[3],spatialReference:o})}parseVersionString(e){const t={major:Number.NaN,minor:Number.NaN,versionString:e},r=e.split(".");return r.length>=2&&(t.major=parseInt(r[0],10),t.minor=parseInt(r[1],10)),t}readVersion(e,t){const r=t.store,i=null!=r.version?r.version.toString():"";return this.parseVersionString(i)}readTitlePortalItem(e){return"item-title"!==this.sublayerTitleMode?void 0:e}readTitleService(e,t){const r=this.portalItem&&this.portalItem.title;if("item-title"===this.sublayerTitleMode)return h(this.url,t.name);let i=t.name;if(!i&&this.url){const e=f(this.url);o(e)&&(i=e.title)}return"item-title-and-service-name"===this.sublayerTitleMode&&r&&(i=r+" - "+i),v(i)}set url(e){const t=S({layer:this,url:e,nonStandardUrlAllowed:!1,logger:R});this._set("url",t.url),null!=t.layerId&&this._set("layerId",t.layerId)}writeUrl(e,t,r,i){g(this,e,"layers",t,i)}get parsedUrl(){const e=this._get("url");if(!e)return null;const t=a(e);return null!=this.layerId&&(t.path=`${t.path}/layers/${this.layerId}`),t}async _fetchIndexAndUpdateExtent(e,t){this.indexInfo=x(this.parsedUrl.path,this.rootNode,e,this.apiKey,R,t),null==this.fullExtent||this.fullExtent.hasZ||this._updateExtent(await this.indexInfo)}_updateExtent(e){if("page"===e?.type){const t=e.rootIndex%e.pageSize,i=e.rootPage?.nodes?.[t];if(null==i||null==i.obb||null==i.obb.center||null==i.obb.halfSize)throw new r("sceneservice:invalid-node-page","Invalid node page.");if(i.obb.center[0]<N||null==this.fullExtent||this.fullExtent.hasZ)return;const o=i.obb.halfSize,s=i.obb.center[2],a=Math.sqrt(o[0]*o[0]+o[1]*o[1]+o[2]*o[2]);this.fullExtent.zmin=s-a,this.fullExtent.zmax=s+a}else if("node"===e?.type){const t=e.rootNode?.mbs;if(!Array.isArray(t)||4!==t.length||t[0]<N)return;const r=t[2],i=t[3];this.fullExtent.zmin=r-i,this.fullExtent.zmax=r+i}}async _fetchService(e){if(null==this.url)throw new r("sceneservice:url-not-set","Scene service can not be loaded without valid portal item or url");if(null==this.layerId&&/SceneServer\/*$/i.test(this.url)){const t=await this._fetchFirstLayerId(e);null!=t&&(this.layerId=t)}return this._fetchServiceLayer(e)}async _fetchFirstLayerId(e){const r=await t(this.url,{query:{f:"json",token:this.apiKey},responseType:"json",signal:e});if(r.data&&Array.isArray(r.data.layers)&&r.data.layers.length>0)return r.data.layers[0].id}async _fetchServiceLayer(e){const r=await t(this.parsedUrl.path,{query:{f:"json",token:this.apiKey},responseType:"json",signal:e});r.ssl&&(this.url=this.url.replace(/^http:/i,"https:"));let i=!1;if(r.data.layerType&&"Voxel"===r.data.layerType&&(i=!0),i)return this._fetchVoxelServiceLayer();const o=r.data;this.read(o,{origin:"service",url:this.parsedUrl}),this.validateLayer(o)}async _fetchVoxelServiceLayer(e){const r=(await t(this.parsedUrl.path+"/layer",{query:{f:"json",token:this.apiKey},responseType:"json",signal:e})).data;this.read(r,{origin:"service",url:this.parsedUrl}),this.validateLayer(r)}async _ensureLoadBeforeSave(){await this.load(),"beforeSave"in this&&"function"==typeof this.beforeSave&&await this.beforeSave()}validateLayer(e){}_updateTypeKeywords(e,t,r){e.typeKeywords||(e.typeKeywords=[]);const i=t.getTypeKeywords();for(const o of i)e.typeKeywords.push(o);e.typeKeywords&&(e.typeKeywords=e.typeKeywords.filter(((e,t,r)=>r.indexOf(e)===t)),r===U.newItem&&(e.typeKeywords=e.typeKeywords.filter((e=>"Hosted Service"!==e))))}async _saveAs(e,t){const i={...O,...t};let o=j.from(e);o||(R.error("_saveAs(): requires a portal item parameter"),await Promise.reject(new r("sceneservice:portal-item-required","_saveAs() requires a portal item to save to"))),o.id&&(o=o.clone(),o.id=null);const s=o.portal||b.getDefault();await this._ensureLoadBeforeSave(),o.type=T,o.portal=s;const a={origin:"portal-item",url:null,messages:[],portal:s,portalItem:o,writtenProperties:[],blockedRelativeUrls:[],resources:{toAdd:[],toUpdate:[],toKeep:[],pendingOperations:[]}},n={layers:[this.write({},a)]};return await Promise.all(a.resources.pendingOperations),await this._validateAgainstJSONSchema(n,a,i),o.url=this.url,o.title||(o.title=this.title),this._updateTypeKeywords(o,i,U.newItem),await s._signIn(),await s.user.addItem({item:o,folder:i&&i.folder,data:n}),await _(this.resourceReferences,a,null),this.portalItem=o,d(a),a.portalItem=o,o}async _save(e){const t={...O,...e};this.portalItem||(R.error("_save(): requires the .portalItem property to be set"),await Promise.reject(new r("sceneservice:portal-item-not-set","Portal item to save to has not been set on this SceneService"))),this.portalItem.type!==T&&(R.error("_save(): Non-matching portal item type. Got "+this.portalItem.type+", expected "+T),await Promise.reject(new r("sceneservice:portal-item-wrong-type",`Portal item needs to have type "${T}"`))),await this._ensureLoadBeforeSave();const i={origin:"portal-item",url:this.portalItem.itemUrl&&a(this.portalItem.itemUrl),messages:[],portal:this.portalItem.portal||b.getDefault(),portalItem:this.portalItem,writtenProperties:[],blockedRelativeUrls:[],resources:{toAdd:[],toUpdate:[],toKeep:[],pendingOperations:[]}},o={layers:[this.write({},i)]};return await Promise.all(i.resources.pendingOperations),await this._validateAgainstJSONSchema(o,i,t),this.portalItem.url=this.url,this.portalItem.title||(this.portalItem.title=this.title),this._updateTypeKeywords(this.portalItem,t,U.existingItem),await this.portalItem.update({data:o}),await _(this.resourceReferences,i,null),d(i),this.portalItem}async _validateAgainstJSONSchema(e,t,i){let o=t.messages.filter((e=>"error"===e.type)).map((e=>new r(e.name,e.message,e.details)));if(i&&i.validationOptions.ignoreUnsupported&&(o=o.filter((e=>"layer:unsupported"!==e.name&&"symbol:unsupported"!==e.name&&"symbol-layer:unsupported"!==e.name&&"property:unsupported"!==e.name&&"url:unsupported"!==e.name&&"scenemodification:unsupported"!==e.name))),i.validationOptions.enabled||E){const t=(await import("../support/schemaValidator.js")).validate(e,i.portalItemLayerType);if(t.length>0){const e=`Layer item did not validate:\n${t.join("\n")}`;if(R.error(`_validateAgainstJSONSchema(): ${e}`),"throw"===i.validationOptions.failPolicy){const e=t.map((e=>new r("sceneservice:schema-validation",e))).concat(o);throw new r("sceneservice-validate:error","Failed to save layer item due to schema validation, see `details.errors`.",{combined:e})}}}if(o.length>0)throw new r("sceneservice:save","Failed to save SceneService due to unsupported or invalid content. See 'details.errors' for more detailed information",{errors:o})}};return e([n(w)],A.prototype,"id",void 0),e([n({type:y})],A.prototype,"spatialReference",void 0),e([l("spatialReference",["spatialReference","store.indexCRS","store.geographicCRS"])],A.prototype,"readSpatialReference",null),e([n({type:u})],A.prototype,"fullExtent",void 0),e([l("fullExtent",["fullExtent","store.extent","spatialReference","store.indexCRS","store.geographicCRS"])],A.prototype,"readFullExtent",null),e([n({readOnly:!0,type:m})],A.prototype,"heightModelInfo",void 0),e([n({type:Number,json:{name:"layerDefinition.minScale",write:!0,origins:{service:{read:{source:"minScale"},write:!1}}}})],A.prototype,"minScale",void 0),e([n({type:Number,json:{name:"layerDefinition.maxScale",write:!0,origins:{service:{read:{source:"maxScale"},write:!1}}}})],A.prototype,"maxScale",void 0),e([n({readOnly:!0})],A.prototype,"version",void 0),e([l("version",["store.version"])],A.prototype,"readVersion",null),e([n({type:String,json:{read:{source:"copyrightText"}}})],A.prototype,"copyright",void 0),e([n({type:String,json:{read:!1}})],A.prototype,"sublayerTitleMode",void 0),e([n({type:String})],A.prototype,"title",void 0),e([l("portal-item","title")],A.prototype,"readTitlePortalItem",null),e([l("service","title",["name"])],A.prototype,"readTitleService",null),e([n({type:Number,json:{origins:{service:{read:{source:"id"}},"portal-item":{write:{target:"id",isRequired:!0,ignoreOrigin:!0},read:!1}}}})],A.prototype,"layerId",void 0),e([n(I)],A.prototype,"url",null),e([c("url")],A.prototype,"writeUrl",null),e([n()],A.prototype,"parsedUrl",null),e([n({readOnly:!0})],A.prototype,"store",void 0),e([n({type:String,readOnly:!0,json:{read:{source:"store.rootNode"}}})],A.prototype,"rootNode",void 0),A=e([p("esri.layers.mixins.SceneService")],A),A},N=-1e38,E=!1;var U;!function(e){e[e.existingItem=0]="existingItem",e[e.newItem=1]="newItem"}(U||(U={}));const T="Scene Service",O={getTypeKeywords:()=>[],portalItemLayerType:"unknown",validationOptions:{enabled:!0,ignoreUnsupported:!1,failPolicy:"throw"}};var K;!function(e){e[e.SAVE=0]="SAVE",e[e.SAVE_AS=1]="SAVE_AS"}(K||(K={}));export{T as SCENE_SERVICE_ITEM_TYPE,K as SaveOperationType,A as SceneService};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.24/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../core/Collection.js";import"../../core/promiseUtils.js";import"../../core/accessorSupport/watch.js";import{autorun as r}from"../../core/accessorSupport/trackingUtils.js";const t=new e,o=new WeakMap;function n(e){c(e)&&t.push(e)}function s(e){c(e)&&t.includes(e)&&t.remove(e)}function c(e){return e&&"object"==typeof e&&"refreshInterval"in e&&"refresh"in e}function i(e,r){return Number.isFinite(e)&&Number.isFinite(r)?r<=0?e:i(r,e%r):0}let f=0,l=0;function a(){const e=Date.now();for(const n of t)if(n.refreshInterval){var r;e-(null!=(r=o.get(n))?r:0)+5>=6e4*n.refreshInterval&&(o.set(n,e),n.refresh(e))}}r((()=>{const e=Date.now();let r=0;for(const n of t)r=i(Math.round(6e4*n.refreshInterval),r),n.refreshInterval?o.get(n)||o.set(n,e):o.delete(n);if(r!==l){if(l=r,clearInterval(f),0===l)return void(f=0);f=setInterval(a,l)}}));const u={get hasRefreshTimer(){return f>0},get tickInterval(){return l},forceRefresh(){a()},hasLayer:e=>c(e)&&t.includes(e),clear(){for(const e of t)o.delete(e);t.removeAll()}};export{n as registerLayer,u as test,s as unregisterLayer};
5
+ import e from"../../core/Collection.js";import"../../core/promiseUtils.js";import"../../core/accessorSupport/watch.js";import{autorun as r}from"../../core/accessorSupport/trackingUtils.js";const t=new e,o=new WeakMap;function n(e){c(e)&&t.push(e)}function s(e){c(e)&&t.includes(e)&&t.remove(e)}function c(e){return e&&"object"==typeof e&&"refreshInterval"in e&&"refresh"in e}function i(e,r){return Number.isFinite(e)&&Number.isFinite(r)?r<=0?e:i(r,e%r):0}let f=0,a=0;function l(){const e=Date.now();for(const r of t)if(r.refreshInterval){e-(o.get(r)??0)+5>=6e4*r.refreshInterval&&(o.set(r,e),r.refresh(e))}}r((()=>{const e=Date.now();let r=0;for(const n of t)r=i(Math.round(6e4*n.refreshInterval),r),n.refreshInterval?o.get(n)||o.set(n,e):o.delete(n);if(r!==a){if(a=r,clearInterval(f),0===a)return void(f=0);f=setInterval(l,a)}}));const u={get hasRefreshTimer(){return f>0},get tickInterval(){return a},forceRefresh(){l()},hasLayer:e=>c(e)&&t.includes(e),clear(){for(const e of t)o.delete(e);t.removeAll()}};export{n as registerLayer,u as test,s as unregisterLayer};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.24/esri/copyright.txt for details.
4
4
  */
5
- function n(n){var s;return null!=(s=t(n))?s:e(n)}function e(n){const e=new Date(n).getTime();return Number.isNaN(e)?null:e}function t(n){var e,t,u,r;const o=s.exec(n);if(!o)return null;const l=o.groups,f=+l.year,i=+l.month-1,d=+l.day,a=+(null!=(e=l.hours)?e:"0"),c=+(null!=(t=l.minutes)?t:"0"),m=+(null!=(u=l.seconds)?u:"0");if(a>23)return null;if(c>59)return null;if(m>59)return null;const g=null!=(r=l.ms)?r:"0",T=g?+g.padEnd(3,"0").substring(0,3):0;let N;if(l.isUTC)N=Date.UTC(f,i,d,a,c,m,T);else if(l.offsetSign){const n=+l.offsetHours,e=+l.offsetMinutes;N=6e4*("+"===l.offsetSign?-1:1)*(60*n+e)+Date.UTC(f,i,d,a,c,m,T)}else N=new Date(f,i,d,a,c,m,T).getTime();return Number.isNaN(N)?null:N}const s=/^(?:(?<year>-?\d{4,})-(?<month>\d{2})-(?<day>\d{2}))(?:T(?<hours>\d{2}):(?<minutes>\d{2}):(?<seconds>\d{2})(?:\.(?<ms>\d+))?)?(?:(?<isUTC>Z)|(?:(?<offsetSign>\+|-)(?<offsetHours>\d{2}):(?<offsetMinutes>\d{2})))?$/;export{n as parseDate,e as parseJSDate};
5
+ function e(e){return t(e)??n(e)}function n(e){const n=new Date(e).getTime();return Number.isNaN(n)?null:n}function t(e){const n=s.exec(e);if(!n)return null;const t=n.groups,u=+t.year,o=+t.month-1,r=+t.day,f=+(t.hours??"0"),i=+(t.minutes??"0"),d=+(t.seconds??"0");if(f>23)return null;if(i>59)return null;if(d>59)return null;const l=t.ms??"0",c=l?+l.padEnd(3,"0").substring(0,3):0;let a;if(t.isUTC)a=Date.UTC(u,o,r,f,i,d,c);else if(t.offsetSign){const e=+t.offsetHours,n=+t.offsetMinutes;a=6e4*("+"===t.offsetSign?-1:1)*(60*e+n)+Date.UTC(u,o,r,f,i,d,c)}else a=new Date(u,o,r,f,i,d,c).getTime();return Number.isNaN(a)?null:a}const s=/^(?:(?<year>-?\d{4,})-(?<month>\d{2})-(?<day>\d{2}))(?:T(?<hours>\d{2}):(?<minutes>\d{2}):(?<seconds>\d{2})(?:\.(?<ms>\d+))?)?(?:(?<isUTC>Z)|(?:(?<offsetSign>\+|-)(?<offsetHours>\d{2}):(?<offsetMinutes>\d{2})))?$/;export{e as parseDate,n as parseJSDate};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.24/esri/copyright.txt for details.
4
4
  */
5
- import"../../geometry.js";import e from"../../request.js";import t from"../../core/Error.js";import i from"../../core/Logger.js";import{isNone as n,unwrapOr as r,isSome as a}from"../../core/maybe.js";import{WGS84 as s}from"../../geometry/support/spatialReferenceUtils.js";import{project as o}from"../../geometry/support/webMercatorUtils.js";import{convertToFeatureSet as l,convertToGeometry as c,convertFromGeometry as d}from"../graphics/featureConversionUtils.js";import u from"../graphics/OptimizedFeatureSet.js";import{validateGeoJSON as p,inferLayerProperties as m,createOptimizedFeatures as f}from"../graphics/sources/geojson/geojson.js";import{createDrawingInfo as g}from"../graphics/sources/support/clientSideDefaults.js";import y from"../support/FieldsIndex.js";import{kebabDict as w}from"../support/fieldType.js";import h from"../../geometry/SpatialReference.js";const b=i.getLogger("esri.layers.graphics.sources.ogcfeature"),j="http://www.opengis.net/def/crs/",F=`${j}OGC/1.3/CRS84`;async function I(i,r,a={},s=5){const{links:o}=i,l=G(o,"items","application/geo+json")||G(o,"http://www.opengis.net/def/rel/ogc/1.0/items","application/geo+json");if(n(l))throw new t("ogc-feature-layer:missing-items-page","Missing items url");const{data:c}=await e(l.href,{signal:a.signal,query:{limit:s,...a.customParameters,token:a.apiKey},headers:{accept:"application/geo+json"}});await p(c);const d=m(c,{geometryType:r.geometryType}),u=r.fields||d.fields||[],f=null!=r.hasZ?r.hasZ:d.hasZ,h=d.geometryType,j=r.objectIdField||d.objectIdFieldName||"OBJECTID";let F=r.timeInfo;const I=u.find((e=>e.name===j));if(!I){if(!d.objectIdFieldType)throw new t("ogc-feature-layer:missing-feature-id","Collection geojson require a feature id as a unique identifier");u.unshift({name:j,alias:j,type:"esriFieldTypeOID",editable:!1,nullable:!1})}else I.type="esriFieldTypeOID",I.editable=!1,I.nullable=!1;if(j!==d.objectIdFieldName){const e=u.find((e=>e.name===d.objectIdFieldName));e&&(e.type="esriFieldTypeInteger")}u===d.fields&&d.unknownFields.length>0&&b.warn({name:"ogc-feature-layer:unknown-field-types",message:"Some fields types couldn't be inferred from the features and were dropped",details:{unknownFields:d.unknownFields}});for(const e of u){if(null==e.name&&(e.name=e.alias),null==e.alias&&(e.alias=e.name),"esriFieldTypeOID"!==e.type&&"esriFieldTypeGlobalID"!==e.type&&(e.editable=null==e.editable||!!e.editable,e.nullable=null==e.nullable||!!e.nullable),!e.name)throw new t("ogc-feature-layer:invalid-field-name","field name is missing",{field:e});if(!w.jsonValues.includes(e.type))throw new t("ogc-feature-layer:invalid-field-type",`invalid type for field "${e.name}"`,{field:e})}if(F){const e=new y(u);if(F.startTimeField){const t=e.get(F.startTimeField);t?(F.startTimeField=t.name,t.type="esriFieldTypeDate"):F.startTimeField=null}if(F.endTimeField){const t=e.get(F.endTimeField);t?(F.endTimeField=t.name,t.type="esriFieldTypeDate"):F.endTimeField=null}if(F.trackIdField){const t=e.get(F.trackIdField);t?F.trackIdField=t.name:(F.trackIdField=null,b.warn({name:"ogc-feature-layer:invalid-timeInfo-trackIdField",message:"trackIdField is missing",details:{timeInfo:F}}))}F.startTimeField||F.endTimeField||(b.warn({name:"ogc-feature-layer:invalid-timeInfo",message:"startTimeField and endTimeField are missing",details:{timeInfo:F}}),F=null)}return{drawingInfo:h?g(h):null,geometryType:h,fields:u,hasZ:!!f,objectIdField:j,timeInfo:F}}async function T(i,r={}){const{links:a}=i,s=G(a,"data","application/json")||G(a,"http://www.opengis.net/def/rel/ogc/1.0/data","application/json");if(n(s))throw new t("ogc-feature-layer:missing-collections-page","Missing collections url");const{apiKey:o,customParameters:l,signal:c}=r,{data:d}=await e(s.href,{signal:c,headers:{accept:"application/json"},query:{...l,token:o}});return d}async function k(i,r={}){const{links:a}=i,s=G(a,"conformance","application/json")||G(a,"http://www.opengis.net/def/rel/ogc/1.0/conformance","application/json");if(n(s))throw new t("ogc-feature-layer:missing-conformance-page","Missing conformance url");const{apiKey:o,customParameters:l,signal:c}=r,{data:d}=await e(s.href,{signal:c,headers:{accept:"application/json"},query:{...l,token:o}});return d}async function S(t,i={}){const{apiKey:n,customParameters:r,signal:a}=i,{data:s}=await e(t,{signal:a,headers:{accept:"application/json"},query:{...r,token:n}});return s}async function x(t,i={}){const r="application/vnd.oai.openapi+json;version=3.0",a=G(t.links,"service-desc",r);if(n(a))return b.warn("ogc-feature-layer:missing-openapi-page","The OGC API-Features server does not have an OpenAPI page."),null;const{apiKey:s,customParameters:o,signal:l}=i,{data:c}=await e(a.href,{signal:l,headers:{accept:r},query:{...o,token:s}});return c}function v(e){const t=/^http:\/\/www\.opengis.net\/def\/crs\/(?<authority>.*)\/(?<version>.*)\/(?<code>.*)$/i.exec(e),i=null==t?void 0:t.groups;if(!i)return null;const{authority:n,code:r}=i;switch(n.toLowerCase()){case"ogc":switch(r.toLowerCase()){case"crs27":return h.GCS_NAD_1927.wkid;case"crs83":return 4269;case"crs84":case"crs84h":return h.WGS84.wkid;default:return null}case"esri":case"epsg":{const e=Number.parseInt(r,10);return Number.isNaN(e)?null:e}default:return null}}async function N(e,t,i){const n=await q(e,t,i);return l(n)}async function q(i,l,p){const{capabilities:{query:{maxRecordCount:m}},collection:g,layerDefinition:y,queryParameters:{apiKey:w,customParameters:b},spatialReference:j,supportedCrs:F}=i,{links:I}=g,T=G(I,"items","application/geo+json")||G(I,"http://www.opengis.net/def/rel/ogc/1.0/items","application/geo+json");if(n(T))throw new t("ogc-feature-layer:missing-items-page","Missing items url");const{geometry:k,num:S,start:x,timeExtent:v,where:N}=l;if(l.objectIds)throw new t("ogc-feature-layer:query-by-objectids-not-supported","Queries with objectids are not supported");const q=h.fromJSON(j),M=r(l.outSpatialReference,q),C=M.isWGS84?null:O(M,F),P=D(k,F),W=R(v),Z=$(N),K=null!=S?S:null!=x&&void 0!==x?10:m,{data:L}=await e(T.href,{...p,query:{...b,...P,crs:C,datetime:W,query:Z,limit:K,startindex:x,token:w},headers:{accept:"application/geo+json"}});let A=!1;if(L.links){const e=L.links.find((e=>"next"===e.rel));A=!!e}!A&&Number.isInteger(L.numberMatched)&&Number.isInteger(L.numberReturned)&&(A=L.numberReturned<L.numberMatched);const{fields:E,globalIdField:J,hasM:U,hasZ:_,objectIdField:z}=y,B=y.geometryType,Q=f(L,{geometryType:B,hasZ:_,objectIdField:z});if(!C&&M.isWebMercator)for(const e of Q)if(a(e.geometry)){const t=c(e.geometry,B,_,!1);t.spatialReference=h.WGS84,e.geometry=d(o(t,M))}for(const e of Q)e.objectId=e.attributes[z];const V=C||!C&&M.isWebMercator?M.toJSON():s,H=new u;return H.exceededTransferLimit=A,H.features=Q,H.fields=E,H.geometryType=B,H.globalIdFieldName=J,H.hasM=U,H.hasZ=_,H.objectIdFieldName=z,H.spatialReference=V,H}function M(e){return a(e)&&"extent"===e.type}function O(e,t){var i,n,r;const{isWebMercator:a,wkid:s}=e;if(!s)return null;const o=a?null!=(i=null!=(n=null!=(r=t[3857])?r:t[102100])?n:t[102113])?i:t[900913]:t[e.wkid];return o?`${j}${o}`:null}function C(e){if(n(e))return"";const{xmin:t,ymin:i,xmax:r,ymax:a}=e;return`${t},${i},${r},${a}`}function R(e){if(n(e))return null;const{start:t,end:i}=e;return`${a(t)?t.toISOString():".."}/${a(i)?i.toISOString():".."}`}function $(e){return n(e)||!e||"1=1"===e?null:e}function D(e,t){if(!M(e))return null;const{spatialReference:i}=e;if(!i||i.isWGS84)return{bbox:C(e)};const n=O(i,t);return a(n)?{bbox:C(e),"bbox-crs":n}:i.isWebMercator?{bbox:C(o(e,h.WGS84))}:null}function G(e,t,i){return e.find((e=>e.rel===t&&e.type===i))||e.find((e=>e.rel===t&&!e.type))}export{F as crsDefault,j as crsPrefix,I as getCollectionDefinition,T as getServerCollections,k as getServerConformance,S as getServerLandingPage,x as getServerOpenApi,v as getSpatialReferenceWkid,N as queryFeatureSetJSON,q as queryOptimizedFeatureSet};
5
+ import"../../geometry.js";import e from"../../request.js";import t from"../../core/Error.js";import i from"../../core/Logger.js";import{isNone as n,unwrapOr as r,isSome as a}from"../../core/maybe.js";import{WGS84 as s}from"../../geometry/support/spatialReferenceUtils.js";import{project as o}from"../../geometry/support/webMercatorUtils.js";import{convertToFeatureSet as l,convertToGeometry as c,convertFromGeometry as d}from"../graphics/featureConversionUtils.js";import u from"../graphics/OptimizedFeatureSet.js";import{validateGeoJSON as p,inferLayerProperties as m,createOptimizedFeatures as f}from"../graphics/sources/geojson/geojson.js";import{createDrawingInfo as g}from"../graphics/sources/support/clientSideDefaults.js";import y from"../support/FieldsIndex.js";import{kebabDict as w}from"../support/fieldType.js";import h from"../../geometry/SpatialReference.js";const b=i.getLogger("esri.layers.graphics.sources.ogcfeature"),j="http://www.opengis.net/def/crs/",F=`${j}OGC/1.3/CRS84`;async function I(i,r,a={},s=5){const{links:o}=i,l=G(o,"items","application/geo+json")||G(o,"http://www.opengis.net/def/rel/ogc/1.0/items","application/geo+json");if(n(l))throw new t("ogc-feature-layer:missing-items-page","Missing items url");const{data:c}=await e(l.href,{signal:a.signal,query:{limit:s,...a.customParameters,token:a.apiKey},headers:{accept:"application/geo+json"}});await p(c);const d=m(c,{geometryType:r.geometryType}),u=r.fields||d.fields||[],f=null!=r.hasZ?r.hasZ:d.hasZ,h=d.geometryType,j=r.objectIdField||d.objectIdFieldName||"OBJECTID";let F=r.timeInfo;const I=u.find((e=>e.name===j));if(!I){if(!d.objectIdFieldType)throw new t("ogc-feature-layer:missing-feature-id","Collection geojson require a feature id as a unique identifier");u.unshift({name:j,alias:j,type:"esriFieldTypeOID",editable:!1,nullable:!1})}else I.type="esriFieldTypeOID",I.editable=!1,I.nullable=!1;if(j!==d.objectIdFieldName){const e=u.find((e=>e.name===d.objectIdFieldName));e&&(e.type="esriFieldTypeInteger")}u===d.fields&&d.unknownFields.length>0&&b.warn({name:"ogc-feature-layer:unknown-field-types",message:"Some fields types couldn't be inferred from the features and were dropped",details:{unknownFields:d.unknownFields}});for(const e of u){if(null==e.name&&(e.name=e.alias),null==e.alias&&(e.alias=e.name),"esriFieldTypeOID"!==e.type&&"esriFieldTypeGlobalID"!==e.type&&(e.editable=null==e.editable||!!e.editable,e.nullable=null==e.nullable||!!e.nullable),!e.name)throw new t("ogc-feature-layer:invalid-field-name","field name is missing",{field:e});if(!w.jsonValues.includes(e.type))throw new t("ogc-feature-layer:invalid-field-type",`invalid type for field "${e.name}"`,{field:e})}if(F){const e=new y(u);if(F.startTimeField){const t=e.get(F.startTimeField);t?(F.startTimeField=t.name,t.type="esriFieldTypeDate"):F.startTimeField=null}if(F.endTimeField){const t=e.get(F.endTimeField);t?(F.endTimeField=t.name,t.type="esriFieldTypeDate"):F.endTimeField=null}if(F.trackIdField){const t=e.get(F.trackIdField);t?F.trackIdField=t.name:(F.trackIdField=null,b.warn({name:"ogc-feature-layer:invalid-timeInfo-trackIdField",message:"trackIdField is missing",details:{timeInfo:F}}))}F.startTimeField||F.endTimeField||(b.warn({name:"ogc-feature-layer:invalid-timeInfo",message:"startTimeField and endTimeField are missing",details:{timeInfo:F}}),F=null)}return{drawingInfo:h?g(h):null,geometryType:h,fields:u,hasZ:!!f,objectIdField:j,timeInfo:F}}async function T(i,r={}){const{links:a}=i,s=G(a,"data","application/json")||G(a,"http://www.opengis.net/def/rel/ogc/1.0/data","application/json");if(n(s))throw new t("ogc-feature-layer:missing-collections-page","Missing collections url");const{apiKey:o,customParameters:l,signal:c}=r,{data:d}=await e(s.href,{signal:c,headers:{accept:"application/json"},query:{...l,token:o}});return d}async function k(i,r={}){const{links:a}=i,s=G(a,"conformance","application/json")||G(a,"http://www.opengis.net/def/rel/ogc/1.0/conformance","application/json");if(n(s))throw new t("ogc-feature-layer:missing-conformance-page","Missing conformance url");const{apiKey:o,customParameters:l,signal:c}=r,{data:d}=await e(s.href,{signal:c,headers:{accept:"application/json"},query:{...l,token:o}});return d}async function S(t,i={}){const{apiKey:n,customParameters:r,signal:a}=i,{data:s}=await e(t,{signal:a,headers:{accept:"application/json"},query:{...r,token:n}});return s}async function x(t,i={}){const r="application/vnd.oai.openapi+json;version=3.0",a=G(t.links,"service-desc",r);if(n(a))return b.warn("ogc-feature-layer:missing-openapi-page","The OGC API-Features server does not have an OpenAPI page."),null;const{apiKey:s,customParameters:o,signal:l}=i,{data:c}=await e(a.href,{signal:l,headers:{accept:r},query:{...o,token:s}});return c}function N(e){const t=/^http:\/\/www\.opengis.net\/def\/crs\/(?<authority>.*)\/(?<version>.*)\/(?<code>.*)$/i.exec(e)?.groups;if(!t)return null;const{authority:i,code:n}=t;switch(i.toLowerCase()){case"ogc":switch(n.toLowerCase()){case"crs27":return h.GCS_NAD_1927.wkid;case"crs83":return 4269;case"crs84":case"crs84h":return h.WGS84.wkid;default:return null}case"esri":case"epsg":{const e=Number.parseInt(n,10);return Number.isNaN(e)?null:e}default:return null}}async function q(e,t,i){const n=await v(e,t,i);return l(n)}async function v(i,l,p){const{capabilities:{query:{maxRecordCount:m}},collection:g,layerDefinition:y,queryParameters:{apiKey:w,customParameters:b},spatialReference:j,supportedCrs:F}=i,{links:I}=g,T=G(I,"items","application/geo+json")||G(I,"http://www.opengis.net/def/rel/ogc/1.0/items","application/geo+json");if(n(T))throw new t("ogc-feature-layer:missing-items-page","Missing items url");const{geometry:k,num:S,start:x,timeExtent:N,where:q}=l;if(l.objectIds)throw new t("ogc-feature-layer:query-by-objectids-not-supported","Queries with objectids are not supported");const v=h.fromJSON(j),M=r(l.outSpatialReference,v),C=M.isWGS84?null:O(M,F),P=D(k,F),W=R(N),Z=$(q),K=S??(null!=x&&void 0!==x?10:m),{data:L}=await e(T.href,{...p,query:{...b,...P,crs:C,datetime:W,query:Z,limit:K,startindex:x,token:w},headers:{accept:"application/geo+json"}});let A=!1;if(L.links){const e=L.links.find((e=>"next"===e.rel));A=!!e}!A&&Number.isInteger(L.numberMatched)&&Number.isInteger(L.numberReturned)&&(A=L.numberReturned<L.numberMatched);const{fields:E,globalIdField:J,hasM:U,hasZ:_,objectIdField:z}=y,B=y.geometryType,Q=f(L,{geometryType:B,hasZ:_,objectIdField:z});if(!C&&M.isWebMercator)for(const e of Q)if(a(e.geometry)){const t=c(e.geometry,B,_,!1);t.spatialReference=h.WGS84,e.geometry=d(o(t,M))}for(const e of Q)e.objectId=e.attributes[z];const V=C||!C&&M.isWebMercator?M.toJSON():s,H=new u;return H.exceededTransferLimit=A,H.features=Q,H.fields=E,H.geometryType=B,H.globalIdFieldName=J,H.hasM=U,H.hasZ=_,H.objectIdFieldName=z,H.spatialReference=V,H}function M(e){return a(e)&&"extent"===e.type}function O(e,t){const{isWebMercator:i,wkid:n}=e;if(!n)return null;const r=i?t[3857]??t[102100]??t[102113]??t[900913]:t[e.wkid];return r?`${j}${r}`:null}function C(e){if(n(e))return"";const{xmin:t,ymin:i,xmax:r,ymax:a}=e;return`${t},${i},${r},${a}`}function R(e){if(n(e))return null;const{start:t,end:i}=e;return`${a(t)?t.toISOString():".."}/${a(i)?i.toISOString():".."}`}function $(e){return n(e)||!e||"1=1"===e?null:e}function D(e,t){if(!M(e))return null;const{spatialReference:i}=e;if(!i||i.isWGS84)return{bbox:C(e)};const n=O(i,t);return a(n)?{bbox:C(e),"bbox-crs":n}:i.isWebMercator?{bbox:C(o(e,h.WGS84))}:null}function G(e,t,i){return e.find((e=>e.rel===t&&e.type===i))||e.find((e=>e.rel===t&&!e.type))}export{F as crsDefault,j as crsPrefix,I as getCollectionDefinition,T as getServerCollections,k as getServerConformance,S as getServerLandingPage,x as getServerOpenApi,N as getSpatialReferenceWkid,q as queryFeatureSetJSON,v as queryOptimizedFeatureSet};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.24/esri/copyright.txt for details.
4
4
  */
5
- import"../../geometry.js";import e from"../../request.js";import t from"../../core/Error.js";import{find as r,cache as n}from"../../core/iteratorUtils.js";import{isNone as a,isSome as o}from"../../core/maybe.js";import{eachAlways as i}from"../../core/promiseUtils.js";import{isHTTPSProtocol as s,hasSameOrigin as u,toHTTPS as l}from"../../core/urlUtils.js";import{initializeProjection as p,project as c}from"../../geometry/projection.js";import{WGS84 as m,equals as y}from"../../geometry/support/spatialReferenceUtils.js";import{featureGeometryTypeKebabDictionary as f}from"../../geometry/support/typeUtils.js";import{getGeometryType as d}from"../graphics/sources/geojson/geojson.js";import{parseDate as g}from"./dateUtils.js";import{iterateXML as w,visitXML as b}from"./xmlUtils.js";import h from"../support/Field.js";import T from"../../geometry/SpatialReference.js";import F from"../../geometry/Extent.js";const S="xlink:href",x="2.0.0",v="__esri_wfs_id__",C="wfs-layer:getWFSLayerTypeInfo-error",E="wfs-layer:empty-service",N="wfs-layer:feature-type-not-found",P="wfs-layer:geojson-not-supported",R="wfs-layer:kvp-encoding-not-supported",j="wfs-layer:malformed-json",A="wfs-layer:unknown-geometry-type",G="wfs-layer:unknown-field-type",k="wfs-layer:unsupported-spatial-reference",U="wfs-layer:unsupported-wfs-version";async function D(t,r){const n=I((await e(t,{responseType:"text",query:{SERVICE:"WFS",REQUEST:"GetCapabilities",VERSION:x,...null==r?void 0:r.customParameters},signal:null==r?void 0:r.signal})).data);return $(t,n),n}function I(e){const t=te(e);ne(t),ae(t);const r=t.firstElementChild,a=n(M(r));return{operations:L(r),get featureTypes(){return Array.from(a())},readFeatureTypes:a}}const O=new Set(["json","application/json","geojson","application/json; subtype=geojson"]);function L(e){let r=!1;const n={GetCapabilities:{url:""},DescribeFeatureType:{url:""},GetFeature:{url:"",outputFormat:null,supportsPagination:!1}};if(b(e,{OperationsMetadata:{Operation:e=>{switch(e.getAttribute("name")){case"GetCapabilities":return{DCP:{HTTP:{Get:e=>{n.GetCapabilities.url=e.getAttribute(S)}}}};case"DescribeFeatureType":return{DCP:{HTTP:{Get:e=>{n.DescribeFeatureType.url=e.getAttribute(S)}}}};case"GetFeature":return{DCP:{HTTP:{Get:e=>{n.GetFeature.url=e.getAttribute(S)}}},Parameter:e=>{if("outputFormat"===e.getAttribute("name"))return{AllowedValues:{Value:e=>{const t=e.textContent;O.has(t.toLowerCase())&&(n.GetFeature.outputFormat=t)}}}}}}},Constraint:e=>{switch(e.getAttribute("name")){case"KVPEncoding":return{DefaultValue:e=>{r="true"===e.textContent.toLowerCase()}};case"ImplementsResultPaging":return{DefaultValue:e=>{n.GetFeature.supportsPagination="true"===e.textContent.toLowerCase()}}}}}}),!r)throw new t(R,"WFS service doesn't support key/value pair (KVP) encoding");if(a(n.GetFeature.outputFormat))throw new t(P,"WFS service doesn't support GeoJSON output format");return n}function $(e,t){s(e)&&(u(e,t.operations.DescribeFeatureType.url,!0)&&(t.operations.DescribeFeatureType.url=l(t.operations.DescribeFeatureType.url)),u(e,t.operations.GetFeature.url,!0)&&(t.operations.GetFeature.url=l(t.operations.GetFeature.url)))}function M(e){return w(e,{FeatureTypeList:{FeatureType:e=>{const t={typeName:"undefined:undefined",name:"",title:"",description:"",extent:null,namespacePrefix:"",namespaceUri:"",supportedSpatialReferences:[]},r=new Set([4326]),n=e=>{var t,n;const a=parseInt(null==(t=e.textContent.match(/(?<wkid>\d+$)/i))||null==(n=t.groups)?void 0:n.wkid,10);Number.isNaN(a)||r.add(a)};return b(e,{Name:e=>{const{name:r,prefix:n}=re(e.textContent);t.typeName=`${n}:${r}`,t.name=r,t.namespacePrefix=n,t.namespaceUri=e.lookupNamespaceURI(n)},Abstract:e=>{t.description=e.textContent},Title:e=>{t.title=e.textContent},WGS84BoundingBox:e=>{t.extent=V(e)},DefaultSRS:n,DefaultCRS:n,OtherSRS:n,OtherCRS:n}),t.title||(t.title=t.name),t.supportedSpatialReferences.push(...r),t}}})}function V(e){let t,r,n,a;for(const o of e.children)switch(o.localName){case"LowerCorner":[t,r]=o.textContent.split(" ").map((e=>Number.parseFloat(e)));break;case"UpperCorner":[n,a]=o.textContent.split(" ").map((e=>Number.parseFloat(e)))}return{xmin:t,ymin:r,xmax:n,ymax:a,spatialReference:m}}function W(e,t,n){return r(e,(e=>n?e.name===t&&e.namespaceUri===n:e.typeName===t||e.name===t))}async function X(e,t,r,n={}){var a;const{featureType:o,extent:i}=await Y(e,t,r,n),{fields:s,geometryType:u,swapXY:l,objectIdField:p,geometryField:c}=await q(e,o.typeName,n);return{url:e.operations.GetCapabilities.url,name:o.name,namespaceUri:o.namespaceUri,fields:s,geometryField:c,geometryType:u,objectIdField:p,spatialReference:null!=(a=n.spatialReference)?a:T.WGS84,extent:i,swapXY:l,wfsCapabilities:e,customParameters:n.customParameters}}async function Y(e,r,n,o={}){const{spatialReference:i=T.WGS84}=o,s=e.readFeatureTypes(),u=r?W(s,r,n):s.next().value;if(a(u))throw r?new t(N,`The type '${r}' could not be found in the service`):new t(E,"The service is empty");let l=new F({...u.extent,spatialReference:i});if(!y(i,m))try{await p(m,i,void 0,o),l=c(l,m)}catch{throw new t(k,"Projection not supported")}return{extent:l,spatialReference:i,featureType:u}}async function q(e,r,n={}){const[o,s]=await i([J(e.operations.DescribeFeatureType.url,r,n),_(e,r,n)]);if(o.error||s.error)throw new t(C,`An error occurred while getting info about the feature type '${r}'`,{error:o.error||s.error});const{fields:u,errors:l}=o.value,p=o.value.geometryType||s.value.geometryType,c=s.value.swapXY;if(a(p))throw new t(A,`The geometry type could not be determined for type '${r}`,{typeName:r,geometryType:p,fields:u,errors:l});return{...z(u),geometryType:p,swapXY:c}}function z(e){var t;const r=e.find((e=>"geometry"===e.type));let n=e.find((e=>"oid"===e.type));return e=e.filter((e=>"geometry"!==e.type)),n||(n=new h({name:v,type:"oid",alias:v}),e.unshift(n)),{geometryField:null!=(t=null==r?void 0:r.name)?t:null,objectIdField:n.name,fields:e}}async function _(t,r,n={}){var a;let o,i=!1;const[s,u]=await Promise.all([K(t.operations.GetFeature.url,r,t.operations.GetFeature.outputFormat,{...n,count:1}),e(t.operations.GetFeature.url,{responseType:"text",query:Z(r,void 0,{...n,count:1}),signal:null==n?void 0:n.signal})]),l="FeatureCollection"===s.type&&(null==(a=s.features[0])?void 0:a.geometry);if(l){let e;switch(o=f.fromJSON(d(l.type)),l.type){case"Point":e=l.coordinates;break;case"LineString":case"MultiPoint":e=l.coordinates[0];break;case"MultiLineString":case"Polygon":e=l.coordinates[0][0];break;case"MultiPolygon":e=l.coordinates[0][0][0]}const t=/<[^>]*pos[^>]*> *(-?\d+(?:\.\d+)?) (-?\d+(?:\.\d+)?)/.exec(u.data);if(t){const r=e[0].toFixed(3),n=e[1].toFixed(3),a=parseFloat(t[1]).toFixed(3);r===parseFloat(t[2]).toFixed(3)&&n===a&&(i=!0)}}return{geometryType:o,swapXY:i}}async function J(t,r,n){return Q(r,(await e(t,{responseType:"text",query:{SERVICE:"WFS",REQUEST:"DescribeFeatureType",VERSION:x,TYPENAME:r,...null==n?void 0:n.customParameters},signal:null==n?void 0:n.signal})).data)}function Q(e,n){const{name:a}=re(e),i=te(n);ae(i);const s=r(w(i.firstElementChild,{element:e=>({name:e.getAttribute("name"),typeName:re(e.getAttribute("type")).name})}),(({name:e})=>e===a));if(o(s)){const e=r(w(i.firstElementChild,{complexType:e=>e}),(e=>e.getAttribute("name")===s.typeName));if(o(e))return B(e)}throw new t(N,`Type '${e}' not found in document`,{document:(new XMLSerializer).serializeToString(i)})}const H=new Set(["objectid","fid"]);function B(e){var r,n;const a=[],o=[];let i;const s=w(e,{complexContent:{extension:{sequence:{element:e=>e}}}});for(const u of s){const s=u.getAttribute("name");if(!s)continue;let l,p;if(u.hasAttribute("type")?l=re(u.getAttribute("type")).name:b(u,{simpleType:{restriction:e=>(l=re(e.getAttribute("base")).name,{maxLength:e=>{p=+e.getAttribute("value")}})}}),!l)continue;const c="true"===u.getAttribute("nillable");let m=!1;switch(l.toLowerCase()){case"integer":case"nonpositiveinteger":case"negativeinteger":case"long":case"int":case"short":case"byte":case"nonnegativeinteger":case"unsignedlong":case"unsignedint":case"unsignedshort":case"unsignedbyte":case"positiveinteger":o.push(new h({name:s,alias:s,type:"integer",nullable:c}));break;case"float":case"double":case"decimal":o.push(new h({name:s,alias:s,type:"double",nullable:c}));break;case"boolean":case"string":case"gyearmonth":case"gyear":case"gmonthday":case"gday":case"gmonth":case"anyuri":case"qname":case"notation":case"normalizedstring":case"token":case"language":case"idrefs":case"entities":case"nmtoken":case"nmtokens":case"name":case"ncname":case"id":case"idref":case"entity":case"duration":case"time":o.push(new h({name:s,alias:s,type:"string",nullable:c,length:null!=(r=p)?r:255}));break;case"datetime":case"date":o.push(new h({name:s,alias:s,type:"date",nullable:c,length:null!=(n=p)?n:36}));break;case"pointpropertytype":i="point",m=!0;break;case"multipointpropertytype":i="multipoint",m=!0;break;case"curvepropertytype":case"multicurvepropertytype":case"multilinestringpropertytype":i="polyline",m=!0;break;case"surfacepropertytype":case"multisurfacepropertytype":case"multipolygonpropertytype":i="polygon",m=!0;break;case"geometrypropertytype":case"multigeometrypropertytype":m=!0,a.push(new t(A,`geometry type '${l}' is not supported`,{type:(new XMLSerializer).serializeToString(e)}));break;default:a.push(new t(G,`Unknown field type '${l}'`,{type:(new XMLSerializer).serializeToString(e)}))}m&&o.push(new h({name:s,alias:s,type:"geometry",nullable:c}))}for(const t of o)if("integer"===t.type&&!t.nullable&&H.has(t.name.toLowerCase())){t.type="oid";break}return{geometryType:i,fields:o,errors:a}}async function K(r,n,a,o){let{data:i}=await e(r,{responseType:"text",query:Z(n,a,o),signal:null==o?void 0:o.signal});i=i.replace(/": +(-?\d+),(\d+)(,)?/g,'": $1.$2$3');try{var s;if(null!=o&&null!=(s=o.dateFields)&&s.length){const e=new Set(o.dateFields);return JSON.parse(i,((t,r)=>e.has(t)?g(r):r))}return JSON.parse(i)}catch(u){throw new t(j,"Error while parsing the response",{response:i,error:u})}}function Z(e,t,r){return{SERVICE:"WFS",REQUEST:"GetFeature",VERSION:x,TYPENAMES:e,OUTPUTFORMAT:t,SRSNAME:"EPSG:4326",STARTINDEX:null==r?void 0:r.startIndex,COUNT:null==r?void 0:r.count,...null==r?void 0:r.customParameters}}async function ee(t,r,n){const a=te((await e(t,{responseType:"text",query:{SERVICE:"WFS",REQUEST:"GetFeature",VERSION:x,TYPENAMES:r,RESULTTYPE:"hits",...null==n?void 0:n.customParameters},signal:null==n?void 0:n.signal})).data);ae(a);const o=Number.parseFloat(a.firstElementChild.getAttribute("numberMatched"));return Number.isNaN(o)?0:o}function te(e){return(new DOMParser).parseFromString(e.trim(),"text/xml")}function re(e){const[t,r]=e.split(":");return{prefix:r?t:"",name:null!=r?r:t}}function ne(e){const r=e.firstElementChild.getAttribute("version");if(r&&r!==x)throw new t(U,`Unsupported WFS version ${r}. Supported version: ${x}`)}function ae(e){let r,n;if(b(e.firstElementChild,{Exception:e=>(r=e.getAttribute("exceptionCode"),{ExceptionText:e=>{n=e.textContent}})}),r)throw new t(`wfs-layer:${r}`,n)}export{v as WFS_OID_FIELD_NAME,J as describeFeatureType,W as findFeatureType,D as getCapabilities,K as getFeature,ee as getFeatureCount,Y as getFeatureTypeInfo,X as getWFSLayerInfo,Q as parseDescribeFeatureTypeResponse,I as parseGetCapabilitiesResponse,z as prepareWFSLayerFields};
5
+ import"../../geometry.js";import e from"../../request.js";import t from"../../core/Error.js";import{find as r,cache as n}from"../../core/iteratorUtils.js";import{isNone as a,isSome as o}from"../../core/maybe.js";import{eachAlways as s}from"../../core/promiseUtils.js";import{isHTTPSProtocol as i,hasSameOrigin as p,toHTTPS as u}from"../../core/urlUtils.js";import{initializeProjection as c,project as l}from"../../geometry/projection.js";import{WGS84 as m,equals as y}from"../../geometry/support/spatialReferenceUtils.js";import{featureGeometryTypeKebabDictionary as f}from"../../geometry/support/typeUtils.js";import{getGeometryType as d}from"../graphics/sources/geojson/geojson.js";import{parseDate as g}from"./dateUtils.js";import{iterateXML as w,visitXML as b}from"./xmlUtils.js";import h from"../support/Field.js";import T from"../../geometry/SpatialReference.js";import F from"../../geometry/Extent.js";const S="xlink:href",x="2.0.0",C="__esri_wfs_id__",E="wfs-layer:getWFSLayerTypeInfo-error",N="wfs-layer:empty-service",P="wfs-layer:feature-type-not-found",R="wfs-layer:geojson-not-supported",j="wfs-layer:kvp-encoding-not-supported",A="wfs-layer:malformed-json",G="wfs-layer:unknown-geometry-type",k="wfs-layer:unknown-field-type",v="wfs-layer:unsupported-spatial-reference",U="wfs-layer:unsupported-wfs-version";async function D(t,r){const n=I((await e(t,{responseType:"text",query:{SERVICE:"WFS",REQUEST:"GetCapabilities",VERSION:x,...r?.customParameters},signal:r?.signal})).data);return $(t,n),n}function I(e){const t=te(e);ne(t),ae(t);const r=t.firstElementChild,a=n(M(r));return{operations:L(r),get featureTypes(){return Array.from(a())},readFeatureTypes:a}}const O=new Set(["json","application/json","geojson","application/json; subtype=geojson"]);function L(e){let r=!1;const n={GetCapabilities:{url:""},DescribeFeatureType:{url:""},GetFeature:{url:"",outputFormat:null,supportsPagination:!1}};if(b(e,{OperationsMetadata:{Operation:e=>{switch(e.getAttribute("name")){case"GetCapabilities":return{DCP:{HTTP:{Get:e=>{n.GetCapabilities.url=e.getAttribute(S)}}}};case"DescribeFeatureType":return{DCP:{HTTP:{Get:e=>{n.DescribeFeatureType.url=e.getAttribute(S)}}}};case"GetFeature":return{DCP:{HTTP:{Get:e=>{n.GetFeature.url=e.getAttribute(S)}}},Parameter:e=>{if("outputFormat"===e.getAttribute("name"))return{AllowedValues:{Value:e=>{const t=e.textContent;O.has(t.toLowerCase())&&(n.GetFeature.outputFormat=t)}}}}}}},Constraint:e=>{switch(e.getAttribute("name")){case"KVPEncoding":return{DefaultValue:e=>{r="true"===e.textContent.toLowerCase()}};case"ImplementsResultPaging":return{DefaultValue:e=>{n.GetFeature.supportsPagination="true"===e.textContent.toLowerCase()}}}}}}),!r)throw new t(j,"WFS service doesn't support key/value pair (KVP) encoding");if(a(n.GetFeature.outputFormat))throw new t(R,"WFS service doesn't support GeoJSON output format");return n}function $(e,t){i(e)&&(p(e,t.operations.DescribeFeatureType.url,!0)&&(t.operations.DescribeFeatureType.url=u(t.operations.DescribeFeatureType.url)),p(e,t.operations.GetFeature.url,!0)&&(t.operations.GetFeature.url=u(t.operations.GetFeature.url)))}function M(e){return w(e,{FeatureTypeList:{FeatureType:e=>{const t={typeName:"undefined:undefined",name:"",title:"",description:"",extent:null,namespacePrefix:"",namespaceUri:"",supportedSpatialReferences:[]},r=new Set([4326]),n=e=>{const t=parseInt(e.textContent.match(/(?<wkid>\d+$)/i)?.groups?.wkid,10);Number.isNaN(t)||r.add(t)};return b(e,{Name:e=>{const{name:r,prefix:n}=re(e.textContent);t.typeName=`${n}:${r}`,t.name=r,t.namespacePrefix=n,t.namespaceUri=e.lookupNamespaceURI(n)},Abstract:e=>{t.description=e.textContent},Title:e=>{t.title=e.textContent},WGS84BoundingBox:e=>{t.extent=V(e)},DefaultSRS:n,DefaultCRS:n,OtherSRS:n,OtherCRS:n}),t.title||(t.title=t.name),t.supportedSpatialReferences.push(...r),t}}})}function V(e){let t,r,n,a;for(const o of e.children)switch(o.localName){case"LowerCorner":[t,r]=o.textContent.split(" ").map((e=>Number.parseFloat(e)));break;case"UpperCorner":[n,a]=o.textContent.split(" ").map((e=>Number.parseFloat(e)))}return{xmin:t,ymin:r,xmax:n,ymax:a,spatialReference:m}}function W(e,t,n){return r(e,(e=>n?e.name===t&&e.namespaceUri===n:e.typeName===t||e.name===t))}async function X(e,t,r,n={}){const{featureType:a,extent:o}=await Y(e,t,r,n),{fields:s,geometryType:i,swapXY:p,objectIdField:u,geometryField:c}=await q(e,a.typeName,n);return{url:e.operations.GetCapabilities.url,name:a.name,namespaceUri:a.namespaceUri,fields:s,geometryField:c,geometryType:i,objectIdField:u,spatialReference:n.spatialReference??T.WGS84,extent:o,swapXY:p,wfsCapabilities:e,customParameters:n.customParameters}}async function Y(e,r,n,o={}){const{spatialReference:s=T.WGS84}=o,i=e.readFeatureTypes(),p=r?W(i,r,n):i.next().value;if(a(p))throw r?new t(P,`The type '${r}' could not be found in the service`):new t(N,"The service is empty");let u=new F({...p.extent,spatialReference:s});if(!y(s,m))try{await c(m,s,void 0,o),u=l(u,m)}catch{throw new t(v,"Projection not supported")}return{extent:u,spatialReference:s,featureType:p}}async function q(e,r,n={}){const[o,i]=await s([J(e.operations.DescribeFeatureType.url,r,n),_(e,r,n)]);if(o.error||i.error)throw new t(E,`An error occurred while getting info about the feature type '${r}'`,{error:o.error||i.error});const{fields:p,errors:u}=o.value,c=o.value.geometryType||i.value.geometryType,l=i.value.swapXY;if(a(c))throw new t(G,`The geometry type could not be determined for type '${r}`,{typeName:r,geometryType:c,fields:p,errors:u});return{...z(p),geometryType:c,swapXY:l}}function z(e){const t=e.find((e=>"geometry"===e.type));let r=e.find((e=>"oid"===e.type));return e=e.filter((e=>"geometry"!==e.type)),r||(r=new h({name:C,type:"oid",alias:C}),e.unshift(r)),{geometryField:t?.name??null,objectIdField:r.name,fields:e}}async function _(t,r,n={}){let a,o=!1;const[s,i]=await Promise.all([K(t.operations.GetFeature.url,r,t.operations.GetFeature.outputFormat,{...n,count:1}),e(t.operations.GetFeature.url,{responseType:"text",query:Z(r,void 0,{...n,count:1}),signal:n?.signal})]),p="FeatureCollection"===s.type&&s.features[0]?.geometry;if(p){let e;switch(a=f.fromJSON(d(p.type)),p.type){case"Point":e=p.coordinates;break;case"LineString":case"MultiPoint":e=p.coordinates[0];break;case"MultiLineString":case"Polygon":e=p.coordinates[0][0];break;case"MultiPolygon":e=p.coordinates[0][0][0]}const t=/<[^>]*pos[^>]*> *(-?\d+(?:\.\d+)?) (-?\d+(?:\.\d+)?)/.exec(i.data);if(t){const r=e[0].toFixed(3),n=e[1].toFixed(3),a=parseFloat(t[1]).toFixed(3);r===parseFloat(t[2]).toFixed(3)&&n===a&&(o=!0)}}return{geometryType:a,swapXY:o}}async function J(t,r,n){return Q(r,(await e(t,{responseType:"text",query:{SERVICE:"WFS",REQUEST:"DescribeFeatureType",VERSION:x,TYPENAME:r,...n?.customParameters},signal:n?.signal})).data)}function Q(e,n){const{name:a}=re(e),s=te(n);ae(s);const i=r(w(s.firstElementChild,{element:e=>({name:e.getAttribute("name"),typeName:re(e.getAttribute("type")).name})}),(({name:e})=>e===a));if(o(i)){const e=r(w(s.firstElementChild,{complexType:e=>e}),(e=>e.getAttribute("name")===i.typeName));if(o(e))return B(e)}throw new t(P,`Type '${e}' not found in document`,{document:(new XMLSerializer).serializeToString(s)})}const H=new Set(["objectid","fid"]);function B(e){const r=[],n=[];let a;const o=w(e,{complexContent:{extension:{sequence:{element:e=>e}}}});for(const s of o){const o=s.getAttribute("name");if(!o)continue;let i,p;if(s.hasAttribute("type")?i=re(s.getAttribute("type")).name:b(s,{simpleType:{restriction:e=>(i=re(e.getAttribute("base")).name,{maxLength:e=>{p=+e.getAttribute("value")}})}}),!i)continue;const u="true"===s.getAttribute("nillable");let c=!1;switch(i.toLowerCase()){case"integer":case"nonpositiveinteger":case"negativeinteger":case"long":case"int":case"short":case"byte":case"nonnegativeinteger":case"unsignedlong":case"unsignedint":case"unsignedshort":case"unsignedbyte":case"positiveinteger":n.push(new h({name:o,alias:o,type:"integer",nullable:u}));break;case"float":case"double":case"decimal":n.push(new h({name:o,alias:o,type:"double",nullable:u}));break;case"boolean":case"string":case"gyearmonth":case"gyear":case"gmonthday":case"gday":case"gmonth":case"anyuri":case"qname":case"notation":case"normalizedstring":case"token":case"language":case"idrefs":case"entities":case"nmtoken":case"nmtokens":case"name":case"ncname":case"id":case"idref":case"entity":case"duration":case"time":n.push(new h({name:o,alias:o,type:"string",nullable:u,length:p??255}));break;case"datetime":case"date":n.push(new h({name:o,alias:o,type:"date",nullable:u,length:p??36}));break;case"pointpropertytype":a="point",c=!0;break;case"multipointpropertytype":a="multipoint",c=!0;break;case"curvepropertytype":case"multicurvepropertytype":case"multilinestringpropertytype":a="polyline",c=!0;break;case"surfacepropertytype":case"multisurfacepropertytype":case"multipolygonpropertytype":a="polygon",c=!0;break;case"geometrypropertytype":case"multigeometrypropertytype":c=!0,r.push(new t(G,`geometry type '${i}' is not supported`,{type:(new XMLSerializer).serializeToString(e)}));break;default:r.push(new t(k,`Unknown field type '${i}'`,{type:(new XMLSerializer).serializeToString(e)}))}c&&n.push(new h({name:o,alias:o,type:"geometry",nullable:u}))}for(const t of n)if("integer"===t.type&&!t.nullable&&H.has(t.name.toLowerCase())){t.type="oid";break}return{geometryType:a,fields:n,errors:r}}async function K(r,n,a,o){let{data:s}=await e(r,{responseType:"text",query:Z(n,a,o),signal:o?.signal});s=s.replace(/": +(-?\d+),(\d+)(,)?/g,'": $1.$2$3');try{if(o?.dateFields?.length){const e=new Set(o.dateFields);return JSON.parse(s,((t,r)=>e.has(t)?g(r):r))}return JSON.parse(s)}catch(i){throw new t(A,"Error while parsing the response",{response:s,error:i})}}function Z(e,t,r){return{SERVICE:"WFS",REQUEST:"GetFeature",VERSION:x,TYPENAMES:e,OUTPUTFORMAT:t,SRSNAME:"EPSG:4326",STARTINDEX:r?.startIndex,COUNT:r?.count,...r?.customParameters}}async function ee(t,r,n){const a=te((await e(t,{responseType:"text",query:{SERVICE:"WFS",REQUEST:"GetFeature",VERSION:x,TYPENAMES:r,RESULTTYPE:"hits",...n?.customParameters},signal:n?.signal})).data);ae(a);const o=Number.parseFloat(a.firstElementChild.getAttribute("numberMatched"));return Number.isNaN(o)?0:o}function te(e){return(new DOMParser).parseFromString(e.trim(),"text/xml")}function re(e){const[t,r]=e.split(":");return{prefix:r?t:"",name:r??t}}function ne(e){const r=e.firstElementChild.getAttribute("version");if(r&&r!==x)throw new t(U,`Unsupported WFS version ${r}. Supported version: ${x}`)}function ae(e){let r,n;if(b(e.firstElementChild,{Exception:e=>(r=e.getAttribute("exceptionCode"),{ExceptionText:e=>{n=e.textContent}})}),r)throw new t(`wfs-layer:${r}`,n)}export{C as WFS_OID_FIELD_NAME,J as describeFeatureType,W as findFeatureType,D as getCapabilities,K as getFeature,ee as getFeatureCount,Y as getFeatureTypeInfo,X as getWFSLayerInfo,Q as parseDescribeFeatureTypeResponse,I as parseGetCapabilitiesResponse,z as prepareWFSLayerFields};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.24/esri/copyright.txt for details.
4
4
  */
5
- import{difference as e}from"../../core/arrayUtils.js";import t from"../../core/Error.js";import r from"../../core/Logger.js";import{isNone as a,isSome as o}from"../../core/maybe.js";import{debounce as s,eachAlways as i}from"../../core/promiseUtils.js";import{updateOrigins as n}from"../../core/accessorSupport/originUtils.js";import l from"../FeatureLayer.js";import{fetchFeatureService as u}from"../support/arcgisLayers.js";import{isFeatureCollectionLayer as p}from"../support/layerUtils.js";import d from"../../portal/Portal.js";import c from"../../portal/PortalItem.js";import{createForItemWrite as f}from"../../portal/support/jsonContext.js";import{addTypeKeyword as m,TypeKeyword as y,getWGS84ExtentForItem as w,removeTypeKeyword as b}from"../../portal/support/portalItemUtils.js";const v=r.getLogger("esri.layers.FeatureLayer"),I="Feature Service";function h(e,t){return`Layer (title: ${e.title}, id: ${e.id}) of type '${e.declaredClass}' ${t}`}function g(e,r){if(r.type!==I)throw new t("feature-layer:portal-item-wrong-type",h(e,`should have portal item of type "${I}"`))}async function j(e){if(await e.load(),p(e))throw new t("feature-layer:save",h(e,"using an in-memory source cannot be saved to a portal item"));if(e.isTable)throw new t("feature-layer:save",h(e,"using a table source cannot be saved to a portal item"))}function S(e,r){let a=e.messages.filter((({type:e})=>"error"===e)).map((({name:e,message:r,details:a})=>new t(e,r,a)));if(null!=r&&r.ignoreUnsupported&&(a=a.filter((({name:e})=>"layer:unsupported"!==e&&"symbol:unsupported"!==e&&"symbol-layer:unsupported"!==e&&"property:unsupported"!==e&&"url:unsupported"!==e))),a.length>0)throw new t("feature-layer:save","Failed to save feature layer due to unsupported or invalid content. See 'details.errors' for more detailed information",{errors:a})}async function L(e,t,r){"beforeSave"in e&&"function"==typeof e.beforeSave&&await e.beforeSave();const a=e.write({},t);return S(t,r),a}function x(e,t){return e.isTable?{layers:[],tables:[t]}:{layers:[t],tables:[]}}function E(e){m(e,y.JSAPI),e.typeKeywords&&(e.typeKeywords=e.typeKeywords.filter(((e,t,r)=>r.indexOf(e)===t)))}function T(e){const r=e.portalItem;if(!r)throw v.error("save: requires the portalItem property to be set"),new t("feature-layer:portal-item-not-set",h(e,"requires the portalItem property to be set"));if(!r.loaded)throw new t("feature-layer:portal-item-not-loaded",h(e,"cannot be saved to a portal item that does not exist or is inaccessible"));g(e,r)}async function U(e,t){const r=e.portalItem;if(/\/\d+\/?$/.test(r.url))return x(e,t);let a=await r.fetchData("json");return a&&null!=a.layers&&null!=a.tables||(a=await A(e,a)),J(e,t,a),a}async function A(e,t){var r,a;t||(t={}),(r=t).layers||(r.layers=[]),(a=t).tables||(a.tables=[]);const{url:o,layerId:s,customParameters:i,apiKey:n}=e,{serviceJSON:l,layersJSON:p}=await u(o,{customParameters:i,apiKey:n}),d=P(t.layers,l.layers,s),c=P(t.tables,l.tables,s);t.layers=d.itemResources,t.tables=c.itemResources;const f=[...d.added,...c.added],m=p?[...p.layers,...p.tables]:[];return await $(t,f,o,m),t}function P(t,r,a){const o=e(t,r,((e,t)=>e.id===t.id));t=t.filter((e=>!o.removed.some((t=>t.id===e.id))));const s=o.added.map((({id:e})=>({id:e})));return s.forEach((({id:e})=>{t.push({id:e})})),{itemResources:t,added:s.filter((({id:e})=>e!==a))}}async function $(e,t,r,o){const s=t.map((({id:e})=>new l({url:r,layerId:e,sourceJSON:o.find((({id:t})=>t===e))})));await i(s.map((e=>e.load()))),s.forEach((t=>{const{layerId:r,loaded:o,defaultPopupTemplate:s}=t;if(!o||a(s))return;J(t,{id:r,popupInfo:s.toJSON()},e)}))}function J(e,t,r){e.isTable?K(r.tables,t):K(r.layers,t)}function K(e,t){const r=e.findIndex((({id:e})=>e===t.id));-1===r?e.push(t):e[r]=t}function N(e,t){var r,a;let o=c.from(t);return o.id&&(o=o.clone(),o.id=null),null!=(r=o).type||(r.type=I),null!=(a=o).portal||(a.portal=d.getDefault()),g(e,o),o}async function O(e,t){const{url:r,title:a,fullExtent:s,isTable:i}=e;t.url=r,t.title||(t.title=a),t.extent=null,!i&&o(s)&&(t.extent=await w(s)),b(t,y.METADATA),b(t,y.MULTI_LAYER),m(t,y.SINGLE_LAYER),E(t)}async function R(e,t,r){const a=e.portal;await a._signIn(),await a.user.addItem({item:e,data:t,folder:null==r?void 0:r.folder})}const F=s(D);async function D(e,t){await j(e),T(e);const r=e.portalItem,a=f(r),o=await L(e,a,t),s=await U(e,o);return E(r),await r.update({data:s}),n(a),r}const _=s(q);async function q(e,t,r){await j(e);const a=N(e,t),o=f(a),s=x(e,await L(e,o,r));return await O(e,a),await R(a,s,r),e.portalItem=a,n(o),a}export{F as save,_ as saveAs};
5
+ import{difference as e}from"../../core/arrayUtils.js";import t from"../../core/Error.js";import r from"../../core/Logger.js";import{isNone as a,isSome as o}from"../../core/maybe.js";import{debounce as s,eachAlways as i}from"../../core/promiseUtils.js";import{updateOrigins as n}from"../../core/accessorSupport/originUtils.js";import l from"../FeatureLayer.js";import{fetchFeatureService as p}from"../support/arcgisLayers.js";import{isFeatureCollectionLayer as u}from"../support/layerUtils.js";import d from"../../portal/Portal.js";import c from"../../portal/PortalItem.js";import{createForItemWrite as f}from"../../portal/support/jsonContext.js";import{addTypeKeyword as m,TypeKeyword as y,getWGS84ExtentForItem as w,removeTypeKeyword as b}from"../../portal/support/portalItemUtils.js";const v=r.getLogger("esri.layers.FeatureLayer"),I="Feature Service";function h(e,t){return`Layer (title: ${e.title}, id: ${e.id}) of type '${e.declaredClass}' ${t}`}function g(e,r){if(r.type!==I)throw new t("feature-layer:portal-item-wrong-type",h(e,`should have portal item of type "${I}"`))}async function j(e){if(await e.load(),u(e))throw new t("feature-layer:save",h(e,"using an in-memory source cannot be saved to a portal item"));if(e.isTable)throw new t("feature-layer:save",h(e,"using a table source cannot be saved to a portal item"))}function S(e,r){let a=e.messages.filter((({type:e})=>"error"===e)).map((({name:e,message:r,details:a})=>new t(e,r,a)));if(r?.ignoreUnsupported&&(a=a.filter((({name:e})=>"layer:unsupported"!==e&&"symbol:unsupported"!==e&&"symbol-layer:unsupported"!==e&&"property:unsupported"!==e&&"url:unsupported"!==e))),a.length>0)throw new t("feature-layer:save","Failed to save feature layer due to unsupported or invalid content. See 'details.errors' for more detailed information",{errors:a})}async function L(e,t,r){"beforeSave"in e&&"function"==typeof e.beforeSave&&await e.beforeSave();const a=e.write({},t);return S(t,r),a}function x(e,t){return e.isTable?{layers:[],tables:[t]}:{layers:[t],tables:[]}}function E(e){m(e,y.JSAPI),e.typeKeywords&&(e.typeKeywords=e.typeKeywords.filter(((e,t,r)=>r.indexOf(e)===t)))}function T(e){const r=e.portalItem;if(!r)throw v.error("save: requires the portalItem property to be set"),new t("feature-layer:portal-item-not-set",h(e,"requires the portalItem property to be set"));if(!r.loaded)throw new t("feature-layer:portal-item-not-loaded",h(e,"cannot be saved to a portal item that does not exist or is inaccessible"));g(e,r)}async function U(e,t){const r=e.portalItem;if(/\/\d+\/?$/.test(r.url))return x(e,t);let a=await r.fetchData("json");return a&&null!=a.layers&&null!=a.tables||(a=await A(e,a)),J(e,t,a),a}async function A(e,t){var r,a;t||(t={}),(r=t).layers||(r.layers=[]),(a=t).tables||(a.tables=[]);const{url:o,layerId:s,customParameters:i,apiKey:n}=e,{serviceJSON:l,layersJSON:u}=await p(o,{customParameters:i,apiKey:n}),d=P(t.layers,l.layers,s),c=P(t.tables,l.tables,s);t.layers=d.itemResources,t.tables=c.itemResources;const f=[...d.added,...c.added],m=u?[...u.layers,...u.tables]:[];return await $(t,f,o,m),t}function P(t,r,a){const o=e(t,r,((e,t)=>e.id===t.id));t=t.filter((e=>!o.removed.some((t=>t.id===e.id))));const s=o.added.map((({id:e})=>({id:e})));return s.forEach((({id:e})=>{t.push({id:e})})),{itemResources:t,added:s.filter((({id:e})=>e!==a))}}async function $(e,t,r,o){const s=t.map((({id:e})=>new l({url:r,layerId:e,sourceJSON:o.find((({id:t})=>t===e))})));await i(s.map((e=>e.load()))),s.forEach((t=>{const{layerId:r,loaded:o,defaultPopupTemplate:s}=t;if(!o||a(s))return;J(t,{id:r,popupInfo:s.toJSON()},e)}))}function J(e,t,r){e.isTable?K(r.tables,t):K(r.layers,t)}function K(e,t){const r=e.findIndex((({id:e})=>e===t.id));-1===r?e.push(t):e[r]=t}function N(e,t){var r,a;let o=c.from(t);return o.id&&(o=o.clone(),o.id=null),(r=o).type??(r.type=I),(a=o).portal??(a.portal=d.getDefault()),g(e,o),o}async function O(e,t){const{url:r,title:a,fullExtent:s,isTable:i}=e;t.url=r,t.title||(t.title=a),t.extent=null,!i&&o(s)&&(t.extent=await w(s)),b(t,y.METADATA),b(t,y.MULTI_LAYER),m(t,y.SINGLE_LAYER),E(t)}async function R(e,t,r){const a=e.portal;await a._signIn(),await a.user.addItem({item:e,data:t,folder:r?.folder})}const F=s(D);async function D(e,t){await j(e),T(e);const r=e.portalItem,a=f(r),o=await L(e,a,t),s=await U(e,o);return E(r),await r.update({data:s}),n(a),r}const _=s(q);async function q(e,t,r){await j(e);const a=N(e,t),o=f(a),s=x(e,await L(e,o,r));return await O(e,a),await R(a,s,r),e.portalItem=a,n(o),a}export{F as save,_ as saveAs};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.24/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import r from"../../core/Accessor.js";import{HandleOwnerMixin as s}from"../../core/HandleOwner.js";import{isSome as t}from"../../core/maybe.js";import{sqlAnd as i}from"../../core/sql.js";import{property as o}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as a}from"../../core/accessorSupport/decorators/subclass.js";import{combinedViewLayerTimeExtentProperty as l}from"./commonProperties.js";import{getLayerFloorFilterClause as n}from"./floorFilterUtils.js";import{isExportDynamic as y}from"./sublayerUtils.js";const m={visible:"visibleSublayers",definitionExpression:"layerDefs",labelingInfo:"hasDynamicLayers",labelsVisible:"hasDynamicLayers",opacity:"hasDynamicLayers",minScale:"visibleSublayers",maxScale:"visibleSublayers",renderer:"hasDynamicLayers",source:"hasDynamicLayers"};let c=class extends(s(r)){constructor(e){super(e),this.floors=null,this.scale=0}destroy(){this.layer=null}get dynamicLayers(){if(!this.hasDynamicLayers)return null;const e=this.visibleSublayers.map((e=>{const r=n(this.floors,e);return e.toExportImageJSON(r)}));return e.length?JSON.stringify(e):null}get hasDynamicLayers(){return this.layer&&y(this.visibleSublayers,this.layer.serviceSublayers,this.layer.gdbVersion)}set layer(e){this._get("layer")!==e&&(this._set("layer",e),this.handles.remove("layer"),e&&this.handles.add([e.allSublayers.on("change",(()=>this.notifyChange("visibleSublayers"))),e.on("sublayer-update",(e=>this.notifyChange(m[e.propertyName])))],"layer"))}get layers(){const e=this.visibleSublayers;return e?e.length?"show:"+e.map((e=>e.id)).join(","):"show:-1":null}get layerDefs(){var e;const r=!(null==(e=this.floors)||!e.length),s=this.visibleSublayers.filter((e=>null!=e.definitionExpression||r&&null!=e.floorInfo));return s.length?JSON.stringify(s.reduce(((e,r)=>{const s=n(this.floors,r),o=i(s,r.definitionExpression);return t(o)&&(e[r.id]=o),e}),{})):null}get version(){this.commitProperty("layers"),this.commitProperty("layerDefs"),this.commitProperty("dynamicLayers"),this.commitProperty("timeExtent");const e=this.layer;return e&&(e.commitProperty("dpi"),e.commitProperty("imageFormat"),e.commitProperty("imageTransparency"),e.commitProperty("gdbVersion")),(this._get("version")||0)+1}get visibleSublayers(){const e=[];if(!this.layer)return e;const r=this.layer.sublayers,s=r=>{const t=this.scale,i=0===t,o=0===r.minScale||t<=r.minScale,a=0===r.maxScale||t>=r.maxScale;r.visible&&(i||o&&a)&&(r.sublayers?r.sublayers.forEach(s):e.unshift(r))};r&&r.forEach(s);const t=this._get("visibleSublayers");return!t||t.length!==e.length||t.some(((r,s)=>e[s]!==r))?e:t}toJSON(){const e=this.layer;let r={dpi:e.dpi,format:e.imageFormat,transparent:e.imageTransparency,gdbVersion:e.gdbVersion||null};return this.hasDynamicLayers&&this.dynamicLayers?r.dynamicLayers=this.dynamicLayers:r={...r,layers:this.layers,layerDefs:this.layerDefs},r}};e([o({readOnly:!0})],c.prototype,"dynamicLayers",null),e([o()],c.prototype,"floors",void 0),e([o({readOnly:!0})],c.prototype,"hasDynamicLayers",null),e([o()],c.prototype,"layer",null),e([o({readOnly:!0})],c.prototype,"layers",null),e([o({readOnly:!0})],c.prototype,"layerDefs",null),e([o({type:Number})],c.prototype,"scale",void 0),e([o(l)],c.prototype,"timeExtent",void 0),e([o({readOnly:!0})],c.prototype,"version",null),e([o({readOnly:!0})],c.prototype,"visibleSublayers",null),c=e([a("esri.layers.mixins.ExportImageParameters")],c);export{c as ExportImageParameters};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import r from"../../core/Accessor.js";import{HandleOwnerMixin as s}from"../../core/HandleOwner.js";import{isSome as t}from"../../core/maybe.js";import{sqlAnd as i}from"../../core/sql.js";import{property as o}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as a}from"../../core/accessorSupport/decorators/subclass.js";import{combinedViewLayerTimeExtentProperty as l}from"./commonProperties.js";import{getLayerFloorFilterClause as n}from"./floorFilterUtils.js";import{isExportDynamic as y}from"./sublayerUtils.js";const m={visible:"visibleSublayers",definitionExpression:"layerDefs",labelingInfo:"hasDynamicLayers",labelsVisible:"hasDynamicLayers",opacity:"hasDynamicLayers",minScale:"visibleSublayers",maxScale:"visibleSublayers",renderer:"hasDynamicLayers",source:"hasDynamicLayers"};let c=class extends(s(r)){constructor(e){super(e),this.floors=null,this.scale=0}destroy(){this.layer=null}get dynamicLayers(){if(!this.hasDynamicLayers)return null;const e=this.visibleSublayers.map((e=>{const r=n(this.floors,e);return e.toExportImageJSON(r)}));return e.length?JSON.stringify(e):null}get hasDynamicLayers(){return this.layer&&y(this.visibleSublayers,this.layer.serviceSublayers,this.layer.gdbVersion)}set layer(e){this._get("layer")!==e&&(this._set("layer",e),this.handles.remove("layer"),e&&this.handles.add([e.allSublayers.on("change",(()=>this.notifyChange("visibleSublayers"))),e.on("sublayer-update",(e=>this.notifyChange(m[e.propertyName])))],"layer"))}get layers(){const e=this.visibleSublayers;return e?e.length?"show:"+e.map((e=>e.id)).join(","):"show:-1":null}get layerDefs(){const e=!!this.floors?.length,r=this.visibleSublayers.filter((r=>null!=r.definitionExpression||e&&null!=r.floorInfo));return r.length?JSON.stringify(r.reduce(((e,r)=>{const s=n(this.floors,r),o=i(s,r.definitionExpression);return t(o)&&(e[r.id]=o),e}),{})):null}get version(){this.commitProperty("layers"),this.commitProperty("layerDefs"),this.commitProperty("dynamicLayers"),this.commitProperty("timeExtent");const e=this.layer;return e&&(e.commitProperty("dpi"),e.commitProperty("imageFormat"),e.commitProperty("imageTransparency"),e.commitProperty("gdbVersion")),(this._get("version")||0)+1}get visibleSublayers(){const e=[];if(!this.layer)return e;const r=this.layer.sublayers,s=r=>{const t=this.scale,i=0===t,o=0===r.minScale||t<=r.minScale,a=0===r.maxScale||t>=r.maxScale;r.visible&&(i||o&&a)&&(r.sublayers?r.sublayers.forEach(s):e.unshift(r))};r&&r.forEach(s);const t=this._get("visibleSublayers");return!t||t.length!==e.length||t.some(((r,s)=>e[s]!==r))?e:t}toJSON(){const e=this.layer;let r={dpi:e.dpi,format:e.imageFormat,transparent:e.imageTransparency,gdbVersion:e.gdbVersion||null};return this.hasDynamicLayers&&this.dynamicLayers?r.dynamicLayers=this.dynamicLayers:r={...r,layers:this.layers,layerDefs:this.layerDefs},r}};e([o({readOnly:!0})],c.prototype,"dynamicLayers",null),e([o()],c.prototype,"floors",void 0),e([o({readOnly:!0})],c.prototype,"hasDynamicLayers",null),e([o()],c.prototype,"layer",null),e([o({readOnly:!0})],c.prototype,"layers",null),e([o({readOnly:!0})],c.prototype,"layerDefs",null),e([o({type:Number})],c.prototype,"scale",void 0),e([o(l)],c.prototype,"timeExtent",void 0),e([o({readOnly:!0})],c.prototype,"version",null),e([o({readOnly:!0})],c.prototype,"visibleSublayers",null),c=e([a("esri.layers.mixins.ExportImageParameters")],c);export{c as ExportImageParameters};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.24/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import{JSONSupport as r}from"../../core/JSONSupport.js";import{aliasOf as t}from"../../core/accessorSupport/decorators/aliasOf.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{property as o}from"../../core/accessorSupport/decorators/property.js";import{subclass as i}from"../../core/accessorSupport/decorators/subclass.js";import{writer as s}from"../../core/accessorSupport/decorators/writer.js";import{isSupportedRendererType as n,combineRenderingRules as a,convertRendererToRenderingRule as p,convertRenderingRuleToRFT as l}from"./imageryRendererUtils.js";import c from"./MosaicRule.js";import{interpolationKebab as m,noDataInterpretationKebab as u}from"./rasterEnums.js";import y from"./RasterFunction.js";let d=class extends r{constructor(){super(...arguments),this.layer=null,this.adjustAspectRatio=void 0,this.bandIds=void 0,this.compression=void 0,this.compressionQuality=void 0,this.compressionTolerance=.01,this.format=null,this.interpolation=null,this.noData=null,this.noDataInterpretation=void 0,this.pixelType=void 0,this.lercVersion=2}writeAdjustAspectRatio(e,r,t){this.layer.version<10.3||(r[t]=e)}writeCompressionQuality(e,r,t){this.format&&this.format.toLowerCase().includes("jpg")&&null!=e&&(r[t]=e)}writeCompressionTolerance(e,r,t){"lerc"===this.format&&null!=e&&(r[t]=e)}writeLercVersion(e,r,t){"lerc"===this.format&&this.layer.version>=10.5&&(r[t]=e)}get version(){const e=this.layer;return e.commitProperty("bandIds"),e.commitProperty("format"),e.commitProperty("compressionQuality"),e.commitProperty("compressionTolerance"),e.commitProperty("interpolation"),e.commitProperty("noData"),e.commitProperty("noDataInterpretation"),e.commitProperty("mosaicRule"),e.commitProperty("renderingRule"),e.commitProperty("adjustAspectRatio"),e.commitProperty("pixelFilter"),e.commitProperty("renderer"),e.commitProperty("definitionExpression"),(this._get("version")||0)+1}set version(e){this._set("version",e)}get mosaicRule(){const e=this.layer;let r=e.mosaicRule;const t=e.definitionExpression;return r?t&&t!==r.where&&(r=r.clone(),r.where=t):t&&(r=new c({where:t})),r}get renderingRule(){const e=this.layer;let r=e.renderingRule;const t=e.pixelFilter,o=!e.format||e.format.includes("jpg")||e.format.includes("png");return r=this._addResampleRasterFunction(r),o&&!t&&(r=this.combineRendererWithRenderingRule()),r}combineRendererWithRenderingRule(){var e;const r=this.layer,{rasterInfo:t,renderingRule:o,renderer:i}=r;if(!i||!n(i))return o;return a(p(i,{rasterAttributeTable:t.attributeTable,pixelType:t.pixelType,dataType:t.dataType,bandProperties:null==(e=t.keyProperties)?void 0:e.BandProperties,convertColorRampToColormap:r.version<10.6,convertToRFT:!(null==o||!o.rasterFunctionDefinition)}),o)}_addResampleRasterFunction(e){var r;if(!("vector-field"===(null==(r=this.layer.renderer)?void 0:r.type))||"Resample"===(null==e?void 0:e.functionName))return e;const t="esriImageServiceDataTypeVector-UV"===this.layer.serviceDataType?7:10;let o=new y({functionName:"Resample",functionArguments:{ResamplingType:t,InputCellSize:{x:this.layer.pixelSizeX,y:this.layer.pixelSizeY}}});return o=null!=e&&e.rasterFunctionDefinition?new y({rasterFunctionDefinition:l(o)}):o,a(o,e)}};e([o()],d.prototype,"layer",void 0),e([o({json:{write:!0}})],d.prototype,"adjustAspectRatio",void 0),e([s("adjustAspectRatio")],d.prototype,"writeAdjustAspectRatio",null),e([o({json:{write:!0}}),t("layer.bandIds")],d.prototype,"bandIds",void 0),e([o({json:{write:!0}})],d.prototype,"compression",void 0),e([o({json:{write:!0}}),t("layer.compressionQuality")],d.prototype,"compressionQuality",void 0),e([s("compressionQuality")],d.prototype,"writeCompressionQuality",null),e([o({json:{write:!0}}),t("layer.compressionTolerance")],d.prototype,"compressionTolerance",void 0),e([s("compressionTolerance")],d.prototype,"writeCompressionTolerance",null),e([o({json:{write:!0}}),t("layer.format")],d.prototype,"format",void 0),e([o({type:String,json:{read:{reader:m.read},write:{writer:m.write}}}),t("layer.interpolation")],d.prototype,"interpolation",void 0),e([o({json:{write:!0}}),t("layer.noData")],d.prototype,"noData",void 0),e([o({type:String,json:{read:{reader:u.read},write:{writer:u.write}}}),t("layer.noDataInterpretation")],d.prototype,"noDataInterpretation",void 0),e([o({json:{write:!0}})],d.prototype,"pixelType",void 0),e([o({json:{write:!0}})],d.prototype,"lercVersion",void 0),e([s("lercVersion")],d.prototype,"writeLercVersion",null),e([o({type:Number})],d.prototype,"version",null),e([o({json:{write:!0}})],d.prototype,"mosaicRule",null),e([o({json:{write:!0}})],d.prototype,"renderingRule",null),d=e([i("esri.layers.mixins.ExportImageServiceParameters")],d);export{d as ExportImageServiceParameters};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import{JSONSupport as r}from"../../core/JSONSupport.js";import{aliasOf as t}from"../../core/accessorSupport/decorators/aliasOf.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{property as o}from"../../core/accessorSupport/decorators/property.js";import{subclass as i}from"../../core/accessorSupport/decorators/subclass.js";import{writer as s}from"../../core/accessorSupport/decorators/writer.js";import{isSupportedRendererType as n,combineRenderingRules as a,convertRendererToRenderingRule as p,convertRenderingRuleToRFT as l}from"./imageryRendererUtils.js";import c from"./MosaicRule.js";import{interpolationKebab as m,noDataInterpretationKebab as y}from"./rasterEnums.js";import u from"./RasterFunction.js";let d=class extends r{constructor(){super(...arguments),this.layer=null,this.adjustAspectRatio=void 0,this.bandIds=void 0,this.compression=void 0,this.compressionQuality=void 0,this.compressionTolerance=.01,this.format=null,this.interpolation=null,this.noData=null,this.noDataInterpretation=void 0,this.pixelType=void 0,this.lercVersion=2}writeAdjustAspectRatio(e,r,t){this.layer.version<10.3||(r[t]=e)}writeCompressionQuality(e,r,t){this.format&&this.format.toLowerCase().includes("jpg")&&null!=e&&(r[t]=e)}writeCompressionTolerance(e,r,t){"lerc"===this.format&&null!=e&&(r[t]=e)}writeLercVersion(e,r,t){"lerc"===this.format&&this.layer.version>=10.5&&(r[t]=e)}get version(){const e=this.layer;return e.commitProperty("bandIds"),e.commitProperty("format"),e.commitProperty("compressionQuality"),e.commitProperty("compressionTolerance"),e.commitProperty("interpolation"),e.commitProperty("noData"),e.commitProperty("noDataInterpretation"),e.commitProperty("mosaicRule"),e.commitProperty("renderingRule"),e.commitProperty("adjustAspectRatio"),e.commitProperty("pixelFilter"),e.commitProperty("renderer"),e.commitProperty("definitionExpression"),(this._get("version")||0)+1}set version(e){this._set("version",e)}get mosaicRule(){const e=this.layer;let r=e.mosaicRule;const t=e.definitionExpression;return r?t&&t!==r.where&&(r=r.clone(),r.where=t):t&&(r=new c({where:t})),r}get renderingRule(){const e=this.layer;let r=e.renderingRule;const t=e.pixelFilter,o=!e.format||e.format.includes("jpg")||e.format.includes("png");return r=this._addResampleRasterFunction(r),o&&!t&&(r=this.combineRendererWithRenderingRule()),r}combineRendererWithRenderingRule(){const e=this.layer,{rasterInfo:r,renderingRule:t,renderer:o}=e;if(!o||!n(o))return t;return a(p(o,{rasterAttributeTable:r.attributeTable,pixelType:r.pixelType,dataType:r.dataType,bandProperties:r.keyProperties?.BandProperties,convertColorRampToColormap:e.version<10.6,convertToRFT:!!t?.rasterFunctionDefinition}),t)}_addResampleRasterFunction(e){if(!("vector-field"===this.layer.renderer?.type)||"Resample"===e?.functionName)return e;const r="esriImageServiceDataTypeVector-UV"===this.layer.serviceDataType?7:10;let t=new u({functionName:"Resample",functionArguments:{ResamplingType:r,InputCellSize:{x:this.layer.pixelSizeX,y:this.layer.pixelSizeY}}});return t=e?.rasterFunctionDefinition?new u({rasterFunctionDefinition:l(t)}):t,a(t,e)}};e([o()],d.prototype,"layer",void 0),e([o({json:{write:!0}})],d.prototype,"adjustAspectRatio",void 0),e([s("adjustAspectRatio")],d.prototype,"writeAdjustAspectRatio",null),e([o({json:{write:!0}}),t("layer.bandIds")],d.prototype,"bandIds",void 0),e([o({json:{write:!0}})],d.prototype,"compression",void 0),e([o({json:{write:!0}}),t("layer.compressionQuality")],d.prototype,"compressionQuality",void 0),e([s("compressionQuality")],d.prototype,"writeCompressionQuality",null),e([o({json:{write:!0}}),t("layer.compressionTolerance")],d.prototype,"compressionTolerance",void 0),e([s("compressionTolerance")],d.prototype,"writeCompressionTolerance",null),e([o({json:{write:!0}}),t("layer.format")],d.prototype,"format",void 0),e([o({type:String,json:{read:{reader:m.read},write:{writer:m.write}}}),t("layer.interpolation")],d.prototype,"interpolation",void 0),e([o({json:{write:!0}}),t("layer.noData")],d.prototype,"noData",void 0),e([o({type:String,json:{read:{reader:y.read},write:{writer:y.write}}}),t("layer.noDataInterpretation")],d.prototype,"noDataInterpretation",void 0),e([o({json:{write:!0}})],d.prototype,"pixelType",void 0),e([o({json:{write:!0}})],d.prototype,"lercVersion",void 0),e([s("lercVersion")],d.prototype,"writeLercVersion",null),e([o({type:Number})],d.prototype,"version",null),e([o({json:{write:!0}})],d.prototype,"mosaicRule",null),e([o({json:{write:!0}})],d.prototype,"renderingRule",null),d=e([i("esri.layers.mixins.ExportImageServiceParameters")],d);export{d as ExportImageServiceParameters};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.24/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import r from"../../core/Accessor.js";import{HandleOwnerMixin as s}from"../../core/HandleOwner.js";import{property as t}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as o}from"../../core/accessorSupport/decorators/subclass.js";const a={visible:"visibleSublayers"};let l=class extends(s(r)){constructor(e){super(e),this.scale=0}set layer(e){this._get("layer")!==e&&(this._set("layer",e),this.handles.remove("layer"),e&&this.handles.add([e.sublayers.on("change",(()=>this.notifyChange("visibleSublayers"))),e.on("wms-sublayer-update",(e=>this.notifyChange(a[e.propertyName])))],"layer"))}get layers(){const{visibleSublayers:e}=this;return e.filter((e=>e.name)).map((e=>e.name)).join(",")}get version(){this.commitProperty("layers");const e=this.layer;return e&&e.commitProperty("imageTransparency"),(this._get("version")||0)+1}get visibleSublayers(){const{layer:e,scale:r}=this,s=null==e?void 0:e.sublayers,t=[],o=e=>{const{minScale:s,maxScale:a,sublayers:l,visible:i}=e;i&&(0===r||(0===s||r<=s)&&(0===a||r>=a))&&(l?l.forEach(o):t.unshift(e))};return null==s||s.forEach(o),t}toJSON(){const{layer:e,layers:r}=this,{imageFormat:s,imageTransparency:t,version:o}=e;return{format:s,request:"GetMap",service:"WMS",styles:"",transparent:t?"TRUE":"FALSE",version:o,layers:r}}};e([t()],l.prototype,"layer",null),e([t({readOnly:!0})],l.prototype,"layers",null),e([t({type:Number})],l.prototype,"scale",void 0),e([t({readOnly:!0})],l.prototype,"version",null),e([t({readOnly:!0})],l.prototype,"visibleSublayers",null),l=e([o("esri.layers.support.ExportWMSImageParameters")],l);export{l as ExportWMSImageParameters};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import r from"../../core/Accessor.js";import{HandleOwnerMixin as s}from"../../core/HandleOwner.js";import{property as t}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as o}from"../../core/accessorSupport/decorators/subclass.js";const a={visible:"visibleSublayers"};let l=class extends(s(r)){constructor(e){super(e),this.scale=0}set layer(e){this._get("layer")!==e&&(this._set("layer",e),this.handles.remove("layer"),e&&this.handles.add([e.sublayers.on("change",(()=>this.notifyChange("visibleSublayers"))),e.on("wms-sublayer-update",(e=>this.notifyChange(a[e.propertyName])))],"layer"))}get layers(){const{visibleSublayers:e}=this;return e.filter((e=>e.name)).map((e=>e.name)).join(",")}get version(){this.commitProperty("layers");const e=this.layer;return e&&e.commitProperty("imageTransparency"),(this._get("version")||0)+1}get visibleSublayers(){const{layer:e,scale:r}=this,s=e?.sublayers,t=[],o=e=>{const{minScale:s,maxScale:a,sublayers:l,visible:i}=e;i&&(0===r||(0===s||r<=s)&&(0===a||r>=a))&&(l?l.forEach(o):t.unshift(e))};return s?.forEach(o),t}toJSON(){const{layer:e,layers:r}=this,{imageFormat:s,imageTransparency:t,version:o}=e;return{format:s,request:"GetMap",service:"WMS",styles:"",transparent:t?"TRUE":"FALSE",version:o,layers:r}}};e([t()],l.prototype,"layer",null),e([t({readOnly:!0})],l.prototype,"layers",null),e([t({type:Number})],l.prototype,"scale",void 0),e([t({readOnly:!0})],l.prototype,"version",null),e([t({readOnly:!0})],l.prototype,"visibleSublayers",null),l=e([o("esri.layers.support.ExportWMSImageParameters")],l);export{l as ExportWMSImageParameters};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.24/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import r from"../../core/Error.js";import{JSONSupport as t}from"../../core/JSONSupport.js";import{isSome as l}from"../../core/maybe.js";import{setDeepValue as i}from"../../core/object.js";import{property as o}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as s}from"../../core/accessorSupport/decorators/subclass.js";import{read as c,write as u}from"../effects/jsonUtils.js";import f from"./FeatureFilter.js";var d;const n={read:{reader:c},write:{writer:u,overridePolicy(){return{allowNull:null!=this.excludedEffect,isRequired:null==this.excludedEffect}}}},a={read:{reader:c},write:{writer:u,overridePolicy(){return{allowNull:null!=this.includedEffect,isRequired:null==this.includedEffect}}}},p={name:"showExcludedLabels",default:!0};let m=d=class extends t{constructor(e){super(e),this.filter=null,this.includedEffect=null,this.excludedEffect=null,this.excludedLabelsVisible=!1}write(e,t){const l=super.write(e,t);if(null!=t&&t.origin){if(l.filter){const e=Object.keys(l.filter);var i;if(e.length>1||"where"!==e[0])return null==(i=t.messages)||i.push(new r("web-document-write:unsupported-feature-effect","Invalid feature effect 'filter'. A filter can only contain a 'where' property",{layer:t.layer,effect:this})),null}var o;if("showExcludedLabels"in l)return null==(o=t.messages)||o.push(new r("web-document-write:unsupported-feature-effect","Invalid value for property 'excludedLabelsVisible' which should always be 'true'",{layer:t.layer,effect:this})),null}return l}clone(){return new d({filter:l(this.filter)&&this.filter.clone(),includedEffect:this.includedEffect,excludedEffect:this.excludedEffect,excludedLabelsVisible:this.excludedLabelsVisible})}};e([o({type:f,json:{write:{allowNull:!0,writer(e,r,t,l){const o=null==e?void 0:e.write({},l);o&&0!==Object.keys(o).length?i(t,o,r):i(t,null,r)}}}})],m.prototype,"filter",void 0),e([o({json:{write:!0,origins:{"web-map":n,"portal-item":n}}})],m.prototype,"includedEffect",void 0),e([o({json:{write:!0,origins:{"web-map":a,"portal-item":a}}})],m.prototype,"excludedEffect",void 0),e([o({type:Boolean,json:{write:!0,name:"showExcludedLabels",origins:{"web-map":p,"portal-item":p}}})],m.prototype,"excludedLabelsVisible",void 0),m=d=e([s("esri.layers.support.FeatureEffect")],m);const w=m;export{w as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import r from"../../core/Error.js";import{JSONSupport as t}from"../../core/JSONSupport.js";import{isSome as l}from"../../core/maybe.js";import{setDeepValue as i}from"../../core/object.js";import{property as s}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as o}from"../../core/accessorSupport/decorators/subclass.js";import{read as c,write as u}from"../effects/jsonUtils.js";import f from"./FeatureFilter.js";var d;const n={read:{reader:c},write:{writer:u,overridePolicy(){return{allowNull:null!=this.excludedEffect,isRequired:null==this.excludedEffect}}}},a={read:{reader:c},write:{writer:u,overridePolicy(){return{allowNull:null!=this.includedEffect,isRequired:null==this.includedEffect}}}},p={name:"showExcludedLabels",default:!0};let m=d=class extends t{constructor(e){super(e),this.filter=null,this.includedEffect=null,this.excludedEffect=null,this.excludedLabelsVisible=!1}write(e,t){const l=super.write(e,t);if(t?.origin){if(l.filter){const e=Object.keys(l.filter);if(e.length>1||"where"!==e[0])return t.messages?.push(new r("web-document-write:unsupported-feature-effect","Invalid feature effect 'filter'. A filter can only contain a 'where' property",{layer:t.layer,effect:this})),null}if("showExcludedLabels"in l)return t.messages?.push(new r("web-document-write:unsupported-feature-effect","Invalid value for property 'excludedLabelsVisible' which should always be 'true'",{layer:t.layer,effect:this})),null}return l}clone(){return new d({filter:l(this.filter)&&this.filter.clone(),includedEffect:this.includedEffect,excludedEffect:this.excludedEffect,excludedLabelsVisible:this.excludedLabelsVisible})}};e([s({type:f,json:{write:{allowNull:!0,writer(e,r,t,l){const s=e?.write({},l);s&&0!==Object.keys(s).length?i(t,s,r):i(t,null,r)}}}})],m.prototype,"filter",void 0),e([s({json:{write:!0,origins:{"web-map":n,"portal-item":n}}})],m.prototype,"includedEffect",void 0),e([s({json:{write:!0,origins:{"web-map":a,"portal-item":a}}})],m.prototype,"excludedEffect",void 0),e([s({type:Boolean,json:{write:!0,name:"showExcludedLabels",origins:{"web-map":p,"portal-item":p}}})],m.prototype,"excludedLabelsVisible",void 0),m=d=e([o("esri.layers.support.FeatureEffect")],m);const w=m;export{w as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.24/esri/copyright.txt for details.
4
4
  */
5
- import{_ as o}from"../../chunks/tslib.es6.js";import{ClonableMixin as r}from"../../core/Clonable.js";import{JSONSupport as s}from"../../core/JSONSupport.js";import{property as t}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{reader as e}from"../../core/accessorSupport/decorators/reader.js";import{subclass as p}from"../../core/accessorSupport/decorators/subclass.js";import{writer as i}from"../../core/accessorSupport/decorators/writer.js";import{fromJSON as a}from"./domains.js";import m from"./FeatureTemplate.js";let c=class extends(r(s)){constructor(o){super(o),this.id=null,this.name=null,this.domains=null,this.templates=null}readDomains(o){const r={};for(const s of Object.keys(o))r[s]=a(o[s]);return r}writeDomains(o,r){const s={};for(const e of Object.keys(o)){var t;if(o[e])s[e]=null==(t=o[e])?void 0:t.toJSON()}r.domains=s}};o([t({json:{write:!0}})],c.prototype,"id",void 0),o([t({json:{write:!0}})],c.prototype,"name",void 0),o([t({json:{write:!0}})],c.prototype,"domains",void 0),o([e("domains")],c.prototype,"readDomains",null),o([i("domains")],c.prototype,"writeDomains",null),o([t({type:[m],json:{write:!0}})],c.prototype,"templates",void 0),c=o([p("esri.layers.support.FeatureType")],c);const n=c;export{n as default};
5
+ import{_ as o}from"../../chunks/tslib.es6.js";import{ClonableMixin as r}from"../../core/Clonable.js";import{JSONSupport as s}from"../../core/JSONSupport.js";import{property as t}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{reader as e}from"../../core/accessorSupport/decorators/reader.js";import{subclass as p}from"../../core/accessorSupport/decorators/subclass.js";import{writer as i}from"../../core/accessorSupport/decorators/writer.js";import{fromJSON as a}from"./domains.js";import m from"./FeatureTemplate.js";let c=class extends(r(s)){constructor(o){super(o),this.id=null,this.name=null,this.domains=null,this.templates=null}readDomains(o){const r={};for(const s of Object.keys(o))r[s]=a(o[s]);return r}writeDomains(o,r){const s={};for(const t of Object.keys(o))o[t]&&(s[t]=o[t]?.toJSON());r.domains=s}};o([t({json:{write:!0}})],c.prototype,"id",void 0),o([t({json:{write:!0}})],c.prototype,"name",void 0),o([t({json:{write:!0}})],c.prototype,"domains",void 0),o([e("domains")],c.prototype,"readDomains",null),o([i("domains")],c.prototype,"writeDomains",null),o([t({type:[m],json:{write:!0}})],c.prototype,"templates",void 0),c=o([p("esri.layers.support.FeatureType")],c);const n=c;export{n as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.24/esri/copyright.txt for details.
4
4
  */
5
- import{id as t}from"../../kernel.js";import r from"../../request.js";import{isNone as e,isSome as a}from"../../core/maybe.js";import{throwIfAbortError as i}from"../../core/promiseUtils.js";import s from"../FeatureLayer.js";import n from"../../portal/Portal.js";import o from"../../portal/PortalItem.js";class l{constructor(t,r,e,a){this.parsedUrl=t,this.portalItem=r,this.apiKey=e,this.signal=a,this.rootDocument=null;const i=this.parsedUrl.path.match(/^(.*)\/SceneServer\/layers\/([\d]*)\/?$/i);i&&(this.urlParts={root:i[1],layerId:parseInt(i[2],10)})}async fetch(){var t;if(!this.urlParts)return null;const r=null!=(t=this.portalItem)?t:await this._portalItemFromServiceItemId();if(e(r))return this._loadFromUrl();const a=await this._findAndLoadRelatedPortalItem(r);return e(a)?null:this._loadFeatureLayerFromPortalItem(a)}async fetchPortalItem(){var t;if(!this.urlParts)return null;const r=null!=(t=this.portalItem)?t:await this._portalItemFromServiceItemId();return e(r)?null:this._findAndLoadRelatedPortalItem(r)}async _fetchRootDocument(){if(a(this.rootDocument))return this.rootDocument;if(e(this.urlParts))return this.rootDocument={},{};const t={query:{f:"json",token:this.apiKey},responseType:"json",signal:this.signal},i=`${this.urlParts.root}/SceneServer`;try{const e=await r(i,t);this.rootDocument=e.data}catch{this.rootDocument={}}return this.rootDocument}async _fetchServiceOwningPortalUrl(){var e;const a=null==(e=t)?void 0:e.findServerInfo(this.parsedUrl.path);if(null!=a&&a.owningSystemUrl)return a.owningSystemUrl;const s=this.parsedUrl.path.replace(/(.*\/rest)\/.*/i,"$1")+"/info";try{const t=(await r(s,{query:{f:"json"},responseType:"json",signal:this.signal})).data.owningSystemUrl;if(t)return t}catch(n){i(n)}return null}async _findAndLoadRelatedPortalItem(t){try{return(await t.fetchRelatedItems({relationshipType:"Service2Service",direction:"reverse"},{signal:this.signal})).find((t=>"Feature Service"===t.type))||null}catch(r){return i(r),null}}async _loadFeatureLayerFromPortalItem(t){await t.load({signal:this.signal});const r=await this._findMatchingAssociatedSublayerUrl(t.url);return new s({url:r,portalItem:t}).load({signal:this.signal})}async _loadFromUrl(){const t=await this._findMatchingAssociatedSublayerUrl(`${this.urlParts.root}/FeatureServer`);return new s({url:t}).load({signal:this.signal})}async _findMatchingAssociatedSublayerUrl(t){const e=t.replace(/^(.*FeatureServer)(\/[\d]*\/?)?$/i,"$1"),a={query:{f:"json"},responseType:"json",authMode:"no-prompt",signal:this.signal},i=this.urlParts.layerId,s=this._fetchRootDocument(),n=r(e,a),[o,l]=await Promise.all([n,s]),c=l&&l.layers,h=o.data&&o.data.layers;if(!Array.isArray(h))throw new Error("expected layers array");if(Array.isArray(c))for(let r=0;r<Math.min(c.length,h.length);r++){if(c[r].id===i)return`${e}/${h[r].id}`}else if(i<h.length)return`${e}/${h[i].id}`;throw new Error("could not find matching associated sublayer")}async _portalItemFromServiceItemId(){const t=(await this._fetchRootDocument()).serviceItemId;if(!t)return null;const r=new o({id:t,apiKey:this.apiKey}),e=await this._fetchServiceOwningPortalUrl();a(e)&&(r.portal=new n({url:e}));try{return r.load({signal:this.signal})}catch(s){return i(s),null}}}export{l as FetchAssociatedFeatureLayer};
5
+ import{id as t}from"../../kernel.js";import r from"../../request.js";import{isNone as e,isSome as a}from"../../core/maybe.js";import{throwIfAbortError as s}from"../../core/promiseUtils.js";import i from"../FeatureLayer.js";import o from"../../portal/Portal.js";import n from"../../portal/PortalItem.js";class l{constructor(t,r,e,a){this.parsedUrl=t,this.portalItem=r,this.apiKey=e,this.signal=a,this.rootDocument=null;const s=this.parsedUrl.path.match(/^(.*)\/SceneServer\/layers\/([\d]*)\/?$/i);s&&(this.urlParts={root:s[1],layerId:parseInt(s[2],10)})}async fetch(){if(!this.urlParts)return null;const t=this.portalItem??await this._portalItemFromServiceItemId();if(e(t))return this._loadFromUrl();const r=await this._findAndLoadRelatedPortalItem(t);return e(r)?null:this._loadFeatureLayerFromPortalItem(r)}async fetchPortalItem(){if(!this.urlParts)return null;const t=this.portalItem??await this._portalItemFromServiceItemId();return e(t)?null:this._findAndLoadRelatedPortalItem(t)}async _fetchRootDocument(){if(a(this.rootDocument))return this.rootDocument;if(e(this.urlParts))return this.rootDocument={},{};const t={query:{f:"json",token:this.apiKey},responseType:"json",signal:this.signal},s=`${this.urlParts.root}/SceneServer`;try{const e=await r(s,t);this.rootDocument=e.data}catch{this.rootDocument={}}return this.rootDocument}async _fetchServiceOwningPortalUrl(){const e=t?.findServerInfo(this.parsedUrl.path);if(e?.owningSystemUrl)return e.owningSystemUrl;const a=this.parsedUrl.path.replace(/(.*\/rest)\/.*/i,"$1")+"/info";try{const t=(await r(a,{query:{f:"json"},responseType:"json",signal:this.signal})).data.owningSystemUrl;if(t)return t}catch(i){s(i)}return null}async _findAndLoadRelatedPortalItem(t){try{return(await t.fetchRelatedItems({relationshipType:"Service2Service",direction:"reverse"},{signal:this.signal})).find((t=>"Feature Service"===t.type))||null}catch(r){return s(r),null}}async _loadFeatureLayerFromPortalItem(t){await t.load({signal:this.signal});const r=await this._findMatchingAssociatedSublayerUrl(t.url);return new i({url:r,portalItem:t}).load({signal:this.signal})}async _loadFromUrl(){const t=await this._findMatchingAssociatedSublayerUrl(`${this.urlParts.root}/FeatureServer`);return new i({url:t}).load({signal:this.signal})}async _findMatchingAssociatedSublayerUrl(t){const e=t.replace(/^(.*FeatureServer)(\/[\d]*\/?)?$/i,"$1"),a={query:{f:"json"},responseType:"json",authMode:"no-prompt",signal:this.signal},s=this.urlParts.layerId,i=this._fetchRootDocument(),o=r(e,a),[n,l]=await Promise.all([o,i]),c=l&&l.layers,h=n.data&&n.data.layers;if(!Array.isArray(h))throw new Error("expected layers array");if(Array.isArray(c))for(let r=0;r<Math.min(c.length,h.length);r++){if(c[r].id===s)return`${e}/${h[r].id}`}else if(s<h.length)return`${e}/${h[s].id}`;throw new Error("could not find matching associated sublayer")}async _portalItemFromServiceItemId(){const t=(await this._fetchRootDocument()).serviceItemId;if(!t)return null;const r=new n({id:t,apiKey:this.apiKey}),e=await this._fetchServiceOwningPortalUrl();a(e)&&(r.portal=new o({url:e}));try{return r.load({signal:this.signal})}catch(i){return s(i),null}}}export{l as FetchAssociatedFeatureLayer};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.24/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import{symbolTypesLabel as r,symbolTypesLabel3D as t}from"../../symbols.js";import{JSONMap as o}from"../../core/jsonMap.js";import{JSONSupport as n}from"../../core/JSONSupport.js";import{clone as i}from"../../core/lang.js";import{toPt as l}from"../../core/screenUtils.js";import{property as s}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import{reader as a}from"../../core/accessorSupport/decorators/reader.js";import{subclass as p}from"../../core/accessorSupport/decorators/subclass.js";import{writer as c}from"../../core/accessorSupport/decorators/writer.js";import b from"./LabelExpressionInfo.js";import{templateStringToSql as u,getSingleFieldArcadeExpression as m,getLabelExpression as v,getLabelExpressionArcade as w,getLabelExpressionSingleField as f}from"./labelUtils.js";import{defaultTextSymbol2D as S}from"../../symbols/support/defaults.js";import{writeLabelSymbol as h}from"../../symbols/support/jsonUtils.js";var d;const y=new o({esriServerPointLabelPlacementAboveCenter:"above-center",esriServerPointLabelPlacementAboveLeft:"above-left",esriServerPointLabelPlacementAboveRight:"above-right",esriServerPointLabelPlacementBelowCenter:"below-center",esriServerPointLabelPlacementBelowLeft:"below-left",esriServerPointLabelPlacementBelowRight:"below-right",esriServerPointLabelPlacementCenterCenter:"center-center",esriServerPointLabelPlacementCenterLeft:"center-left",esriServerPointLabelPlacementCenterRight:"center-right",esriServerLinePlacementAboveAfter:"above-after",esriServerLinePlacementAboveAlong:"above-along",esriServerLinePlacementAboveBefore:"above-before",esriServerLinePlacementAboveStart:"above-start",esriServerLinePlacementAboveEnd:"above-end",esriServerLinePlacementBelowAfter:"below-after",esriServerLinePlacementBelowAlong:"below-along",esriServerLinePlacementBelowBefore:"below-before",esriServerLinePlacementBelowStart:"below-start",esriServerLinePlacementBelowEnd:"below-end",esriServerLinePlacementCenterAfter:"center-after",esriServerLinePlacementCenterAlong:"center-along",esriServerLinePlacementCenterBefore:"center-before",esriServerLinePlacementCenterStart:"center-start",esriServerLinePlacementCenterEnd:"center-end",esriServerPolygonPlacementAlwaysHorizontal:"always-horizontal"},{ignoreUnknown:!0});function x(e){var r;return!e||"service"!==e.origin&&!("map-image"===(null==(r=e.layer)?void 0:r.type))}function L(e){return"map-image"===(null==e?void 0:e.type)}function P(e){var r,t;return!!L(e)&&!(null==(r=e.capabilities)||null==(t=r.exportMap)||!t.supportsArcadeExpressionForLabeling)}function g(e){return x(e)||P(e.layer)}let E=d=class extends n{constructor(e){super(e),this.type="label",this.name=null,this.allowOverrun=!1,this.deconflictionStrategy="static",this.labelExpression=null,this.labelExpressionInfo=null,this.labelPlacement=null,this.labelPosition="curved",this.maxScale=0,this.minScale=0,this.repeatLabel=!0,this.repeatLabelDistance=null,this.symbol=S,this.useCodedValues=void 0,this.where=null}static evaluateWhere(e,r){const t=(e,r,t)=>{switch(r){case"=":return e==t;case"<>":return e!=t;case">":return e>t;case">=":return e>=t;case"<":return e<t;case"<=":return e<=t}return!1};try{if(null==e)return!0;const o=e.split(" ");if(3===o.length)return t(r[o[0]],o[1],o[2]);if(7===o.length){const e=t(r[o[0]],o[1],o[2]),n=o[3],i=t(r[o[4]],o[5],o[6]);switch(n){case"AND":return e&&i;case"OR":return e||i}}return!1}catch(o){console.log("Error.: can't parse = "+e)}}readLabelExpression(e,r){const t=r.labelExpressionInfo;if(!t||!t.value&&!t.expression)return e}writeLabelExpression(e,r,t){if(this.labelExpressionInfo)if(null!=this.labelExpressionInfo.value)e=u(this.labelExpressionInfo.value);else if(null!=this.labelExpressionInfo.expression){const r=m(this.labelExpressionInfo.expression);r&&(e="["+r+"]")}null!=e&&(r[t]=e)}writeLabelExpressionInfo(e,r,t,o){if(null==e&&null!=this.labelExpression&&x(o))e=new b({expression:this.getLabelExpressionArcade()});else if(!e)return;const n=e.toJSON(o);n.expression&&(r[t]=n)}writeMaxScale(e,r){(e||this.minScale)&&(r.maxScale=e)}writeMinScale(e,r){(e||this.maxScale)&&(r.minScale=e)}getLabelExpression(){return v(this)}getLabelExpressionArcade(){return w(this)}getLabelExpressionSingleField(){return f(this)}hash(){return JSON.stringify(this)}clone(){return new d({allowOverrun:this.allowOverrun,deconflictionStrategy:this.deconflictionStrategy,labelExpression:this.labelExpression,labelExpressionInfo:i(this.labelExpressionInfo),labelPosition:this.labelPosition,labelPlacement:this.labelPlacement,maxScale:this.maxScale,minScale:this.minScale,name:this.name,repeatLabel:this.repeatLabel,repeatLabelDistance:this.repeatLabelDistance,symbol:i(this.symbol),where:this.where,useCodedValues:this.useCodedValues})}};e([s({type:String,json:{write:!0}})],E.prototype,"name",void 0),e([s({type:Boolean,json:{write:!0,default:!1,origins:{"web-scene":{write:!1}}}})],E.prototype,"allowOverrun",void 0),e([s({type:String,json:{write:!0,default:"static",origins:{"web-scene":{write:!1}}}})],E.prototype,"deconflictionStrategy",void 0),e([s({type:String,json:{write:{overridePolicy(e,r,t){return this.labelExpressionInfo&&"service"===(null==t?void 0:t.origin)&&P(t.layer)?{enabled:!1}:{allowNull:!0}}}}})],E.prototype,"labelExpression",void 0),e([a("labelExpression")],E.prototype,"readLabelExpression",null),e([c("labelExpression")],E.prototype,"writeLabelExpression",null),e([s({type:b,json:{write:{overridePolicy:(e,r,t)=>g(t)?{allowNull:!0}:{enabled:!1}}}})],E.prototype,"labelExpressionInfo",void 0),e([c("labelExpressionInfo")],E.prototype,"writeLabelExpressionInfo",null),e([s({type:y.apiValues,json:{type:y.jsonValues,read:y.read,write:y.write}})],E.prototype,"labelPlacement",void 0),e([s({type:["curved","parallel"],json:{write:!0,origins:{"web-map":{write:!1},"web-scene":{write:!1},"portal-item":{write:!1}}}})],E.prototype,"labelPosition",void 0),e([s({type:Number})],E.prototype,"maxScale",void 0),e([c("maxScale")],E.prototype,"writeMaxScale",null),e([s({type:Number})],E.prototype,"minScale",void 0),e([c("minScale")],E.prototype,"writeMinScale",null),e([s({type:Boolean,json:{write:!0,origins:{"web-scene":{write:!1},"portal-item":{write:!1}}}})],E.prototype,"repeatLabel",void 0),e([s({type:Number,cast:l,json:{write:!0,origins:{"web-scene":{write:!1}}}})],E.prototype,"repeatLabelDistance",void 0),e([s({types:r,json:{origins:{"web-scene":{types:t,write:h,default:null}},write:h,default:null}})],E.prototype,"symbol",void 0),e([s({type:Boolean,json:{write:!0}})],E.prototype,"useCodedValues",void 0),e([s({type:String,json:{write:!0}})],E.prototype,"where",void 0),E=d=e([p("esri.layers.support.LabelClass")],E);const j=E;export{j as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import{symbolTypesLabel as r,symbolTypesLabel3D as t}from"../../symbols.js";import{JSONMap as o}from"../../core/jsonMap.js";import{JSONSupport as n}from"../../core/JSONSupport.js";import{clone as s}from"../../core/lang.js";import{toPt as i}from"../../core/screenUtils.js";import{property as l}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import{reader as a}from"../../core/accessorSupport/decorators/reader.js";import{subclass as p}from"../../core/accessorSupport/decorators/subclass.js";import{writer as c}from"../../core/accessorSupport/decorators/writer.js";import b from"./LabelExpressionInfo.js";import{templateStringToSql as m,getSingleFieldArcadeExpression as u,getLabelExpression as w,getLabelExpressionArcade as f,getLabelExpressionSingleField as v}from"./labelUtils.js";import{defaultTextSymbol2D as S}from"../../symbols/support/defaults.js";import{writeLabelSymbol as h}from"../../symbols/support/jsonUtils.js";var y;const d=new o({esriServerPointLabelPlacementAboveCenter:"above-center",esriServerPointLabelPlacementAboveLeft:"above-left",esriServerPointLabelPlacementAboveRight:"above-right",esriServerPointLabelPlacementBelowCenter:"below-center",esriServerPointLabelPlacementBelowLeft:"below-left",esriServerPointLabelPlacementBelowRight:"below-right",esriServerPointLabelPlacementCenterCenter:"center-center",esriServerPointLabelPlacementCenterLeft:"center-left",esriServerPointLabelPlacementCenterRight:"center-right",esriServerLinePlacementAboveAfter:"above-after",esriServerLinePlacementAboveAlong:"above-along",esriServerLinePlacementAboveBefore:"above-before",esriServerLinePlacementAboveStart:"above-start",esriServerLinePlacementAboveEnd:"above-end",esriServerLinePlacementBelowAfter:"below-after",esriServerLinePlacementBelowAlong:"below-along",esriServerLinePlacementBelowBefore:"below-before",esriServerLinePlacementBelowStart:"below-start",esriServerLinePlacementBelowEnd:"below-end",esriServerLinePlacementCenterAfter:"center-after",esriServerLinePlacementCenterAlong:"center-along",esriServerLinePlacementCenterBefore:"center-before",esriServerLinePlacementCenterStart:"center-start",esriServerLinePlacementCenterEnd:"center-end",esriServerPolygonPlacementAlwaysHorizontal:"always-horizontal"},{ignoreUnknown:!0});function x(e){return!e||"service"!==e.origin&&!("map-image"===e.layer?.type)}function L(e){return"map-image"===e?.type}function P(e){return!!L(e)&&!!e.capabilities?.exportMap?.supportsArcadeExpressionForLabeling}function g(e){return x(e)||P(e.layer)}let E=y=class extends n{constructor(e){super(e),this.type="label",this.name=null,this.allowOverrun=!1,this.deconflictionStrategy="static",this.labelExpression=null,this.labelExpressionInfo=null,this.labelPlacement=null,this.labelPosition="curved",this.maxScale=0,this.minScale=0,this.repeatLabel=!0,this.repeatLabelDistance=null,this.symbol=S,this.useCodedValues=void 0,this.where=null}static evaluateWhere(e,r){const t=(e,r,t)=>{switch(r){case"=":return e==t;case"<>":return e!=t;case">":return e>t;case">=":return e>=t;case"<":return e<t;case"<=":return e<=t}return!1};try{if(null==e)return!0;const o=e.split(" ");if(3===o.length)return t(r[o[0]],o[1],o[2]);if(7===o.length){const e=t(r[o[0]],o[1],o[2]),n=o[3],s=t(r[o[4]],o[5],o[6]);switch(n){case"AND":return e&&s;case"OR":return e||s}}return!1}catch(o){console.log("Error.: can't parse = "+e)}}readLabelExpression(e,r){const t=r.labelExpressionInfo;if(!t||!t.value&&!t.expression)return e}writeLabelExpression(e,r,t){if(this.labelExpressionInfo)if(null!=this.labelExpressionInfo.value)e=m(this.labelExpressionInfo.value);else if(null!=this.labelExpressionInfo.expression){const r=u(this.labelExpressionInfo.expression);r&&(e="["+r+"]")}null!=e&&(r[t]=e)}writeLabelExpressionInfo(e,r,t,o){if(null==e&&null!=this.labelExpression&&x(o))e=new b({expression:this.getLabelExpressionArcade()});else if(!e)return;const n=e.toJSON(o);n.expression&&(r[t]=n)}writeMaxScale(e,r){(e||this.minScale)&&(r.maxScale=e)}writeMinScale(e,r){(e||this.maxScale)&&(r.minScale=e)}getLabelExpression(){return w(this)}getLabelExpressionArcade(){return f(this)}getLabelExpressionSingleField(){return v(this)}hash(){return JSON.stringify(this)}clone(){return new y({allowOverrun:this.allowOverrun,deconflictionStrategy:this.deconflictionStrategy,labelExpression:this.labelExpression,labelExpressionInfo:s(this.labelExpressionInfo),labelPosition:this.labelPosition,labelPlacement:this.labelPlacement,maxScale:this.maxScale,minScale:this.minScale,name:this.name,repeatLabel:this.repeatLabel,repeatLabelDistance:this.repeatLabelDistance,symbol:s(this.symbol),where:this.where,useCodedValues:this.useCodedValues})}};e([l({type:String,json:{write:!0}})],E.prototype,"name",void 0),e([l({type:Boolean,json:{write:!0,default:!1,origins:{"web-scene":{write:!1}}}})],E.prototype,"allowOverrun",void 0),e([l({type:String,json:{write:!0,default:"static",origins:{"web-scene":{write:!1}}}})],E.prototype,"deconflictionStrategy",void 0),e([l({type:String,json:{write:{overridePolicy(e,r,t){return this.labelExpressionInfo&&"service"===t?.origin&&P(t.layer)?{enabled:!1}:{allowNull:!0}}}}})],E.prototype,"labelExpression",void 0),e([a("labelExpression")],E.prototype,"readLabelExpression",null),e([c("labelExpression")],E.prototype,"writeLabelExpression",null),e([l({type:b,json:{write:{overridePolicy:(e,r,t)=>g(t)?{allowNull:!0}:{enabled:!1}}}})],E.prototype,"labelExpressionInfo",void 0),e([c("labelExpressionInfo")],E.prototype,"writeLabelExpressionInfo",null),e([l({type:d.apiValues,json:{type:d.jsonValues,read:d.read,write:d.write}})],E.prototype,"labelPlacement",void 0),e([l({type:["curved","parallel"],json:{write:!0,origins:{"web-map":{write:!1},"web-scene":{write:!1},"portal-item":{write:!1}}}})],E.prototype,"labelPosition",void 0),e([l({type:Number})],E.prototype,"maxScale",void 0),e([c("maxScale")],E.prototype,"writeMaxScale",null),e([l({type:Number})],E.prototype,"minScale",void 0),e([c("minScale")],E.prototype,"writeMinScale",null),e([l({type:Boolean,json:{write:!0,origins:{"web-scene":{write:!1},"portal-item":{write:!1}}}})],E.prototype,"repeatLabel",void 0),e([l({type:Number,cast:i,json:{write:!0,origins:{"web-scene":{write:!1}}}})],E.prototype,"repeatLabelDistance",void 0),e([l({types:r,json:{origins:{"web-scene":{types:t,write:h,default:null}},write:h,default:null}})],E.prototype,"symbol",void 0),e([l({type:Boolean,json:{write:!0}})],E.prototype,"useCodedValues",void 0),e([l({type:String,json:{write:!0}})],E.prototype,"where",void 0),E=y=e([p("esri.layers.support.LabelClass")],E);const j=E;export{j as default};