@arcgis/core 5.0.0-next.84 → 5.0.0-next.86

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 (845) hide show
  1. package/Basemap.d.ts +2 -2
  2. package/Camera.d.ts +3 -3
  3. package/CameraLayout.d.ts +2 -2
  4. package/Graphic.d.ts +3 -3
  5. package/Ground.d.ts +2 -2
  6. package/Map.d.ts +2 -2
  7. package/PopupTemplate.d.ts +3 -3
  8. package/Viewpoint.d.ts +2 -2
  9. package/WebDocument2D.d.ts +3 -3
  10. package/WebScene.d.ts +3 -3
  11. package/analysis/Analysis.d.ts +3 -3
  12. package/analysis/Dimension/types.d.ts +0 -1
  13. package/analysis/DimensionSimpleStyle.d.ts +3 -3
  14. package/analysis/ElevationProfile/ElevationProfileDisplayUnits.d.ts +2 -2
  15. package/analysis/ElevationProfile/ElevationProfileLine.d.ts +2 -2
  16. package/analysis/ElevationProfile/ElevationProfileLineChartOptions.d.ts +2 -2
  17. package/analysis/ElevationProfile/ElevationProfileLineViewOptions.d.ts +2 -2
  18. package/analysis/ElevationProfile/ElevationProfileViewOptions.d.ts +2 -2
  19. package/analysis/LengthDimension.d.ts +3 -3
  20. package/analysis/LineOfSightAnalysisObserver.d.ts +3 -3
  21. package/analysis/LineOfSightAnalysisTarget.d.ts +3 -3
  22. package/analysis/ShadowCast/DiscreteOptions.d.ts +2 -2
  23. package/analysis/ShadowCast/MinDurationOptions.d.ts +2 -2
  24. package/analysis/ShadowCast/TotalDurationOptions.d.ts +2 -2
  25. package/analysis/ShadowCast/types.d.ts +0 -1
  26. package/analysis/SlicePlane.d.ts +3 -3
  27. package/analysis/Viewshed.d.ts +3 -3
  28. package/analysis/VolumeMeasurement/VolumeMeasurementCutFillOptions.d.ts +3 -3
  29. package/analysis/VolumeMeasurement/VolumeMeasurementDisplayUnits.d.ts +3 -3
  30. package/analysis/VolumeMeasurement/VolumeMeasurementInputUnits.d.ts +3 -3
  31. package/analysis/VolumeMeasurement/types.d.ts +0 -1
  32. package/analysis/support/AnalysisOriginWebScene.d.ts +2 -2
  33. package/applications/Components/applySetUtils.d.ts +237 -0
  34. package/applications/Components/applySetUtils.js +5 -0
  35. package/applications/Components/editUtils.d.ts +92 -0
  36. package/applications/Components/editUtils.js +5 -0
  37. package/applications/Components/symbolUtils.d.ts +37 -0
  38. package/applications/Components/symbolUtils.js +5 -0
  39. package/applications/Components/templateUtils.d.ts +135 -0
  40. package/applications/Components/templateUtils.js +5 -0
  41. package/assets/esri/core/workers/RemoteClient.js +1 -1
  42. package/assets/esri/core/workers/chunks/001fd3d30e5bb0d180c6.js +1 -0
  43. package/assets/esri/core/workers/chunks/008a555ce169640e2a35.js.LICENSE.txt +1 -1
  44. package/assets/esri/core/workers/chunks/{9919b3c345785e910c38.js → 03d037f9f04f165aac63.js} +1 -1
  45. package/assets/esri/core/workers/chunks/0402b7996940ba0f8cc8.js +2 -0
  46. package/assets/esri/core/workers/chunks/{534ed6574e4a1613ba05.js.LICENSE.txt → 0402b7996940ba0f8cc8.js.LICENSE.txt} +1 -1
  47. package/assets/esri/core/workers/chunks/0889e3d1a034be031c9e.js +2 -0
  48. package/assets/esri/core/workers/chunks/{21ac84b5c7dedcfd747d.js.LICENSE.txt → 0889e3d1a034be031c9e.js.LICENSE.txt} +1 -1
  49. package/assets/esri/core/workers/chunks/09ca0d05b090e9a70e61.js +1 -0
  50. package/assets/esri/core/workers/chunks/{84a4390b1c277c415d44.js → 0c358199ada2ff71e7d9.js} +1 -1
  51. package/assets/esri/core/workers/chunks/{bbb409e54db77bfabdee.js → 0dcf1f3b6aa84cbe03a9.js} +1 -1
  52. package/assets/esri/core/workers/chunks/{59e7a0215791b2b51180.js → 126183819921e6025c90.js} +1 -1
  53. package/assets/esri/core/workers/chunks/{1a41c9127ca5a260d5ef.js → 15132d36e7ccbb3c009e.js} +1 -1
  54. package/assets/esri/core/workers/chunks/1919ed99166e70021917.js +1 -0
  55. package/assets/esri/core/workers/chunks/{9fac9eda0a41f7f4c2c6.js → 198ae9e02366870d3ec8.js} +1 -1
  56. package/assets/esri/core/workers/chunks/{6de843d1809cba61ded3.js → 1aee859eaffa54ef2515.js} +1 -1
  57. package/assets/esri/core/workers/chunks/1c68befc39d39799fcb8.js +1 -0
  58. package/assets/esri/core/workers/chunks/{df40be5a050b8d20617a.js → 1cf27708d17a4de75b68.js} +1 -1
  59. package/assets/esri/core/workers/chunks/{f3fdf9970b3c7acd071d.js → 21163137e345badb1aaf.js} +1 -1
  60. package/assets/esri/core/workers/chunks/21739c37160061f229ef.js +1 -0
  61. package/assets/esri/core/workers/chunks/{5b0ca8d2154ef59da600.js → 32b09ca094377a305881.js} +1 -1
  62. package/assets/esri/core/workers/chunks/365cb8aab4ca56999b47.js +1 -0
  63. package/assets/esri/core/workers/chunks/{c825ca22894bdb4d01ba.js → 3b434f318fdbbe4111e3.js} +1 -1
  64. package/assets/esri/core/workers/chunks/{98e04c2382fa5ba382fc.js → 3dc1ae04cfa2c06daf48.js} +1 -1
  65. package/assets/esri/core/workers/chunks/{c46a4681cbba638b58c1.js → 3ebd4cdafa7682062447.js} +1 -1
  66. package/assets/esri/core/workers/chunks/45c1a3376b138eeee329.js +1 -0
  67. package/assets/esri/core/workers/chunks/{76d6843d56bff0d4c45e.js → 476e51284e6ed7dc5c99.js} +1 -1
  68. package/assets/esri/core/workers/chunks/{18cdd268fc921ffd92e2.js → 47bea83ae7fe0e1acee0.js} +1 -1
  69. package/assets/esri/core/workers/chunks/{304ea784c28dc78e5e65.js → 4a857a7f5e00dfab2b44.js} +1 -1
  70. package/assets/esri/core/workers/chunks/4c07b2d1a14906371fc5.js +2 -0
  71. package/assets/esri/core/workers/chunks/{e3d3fc87789fd711f161.js.LICENSE.txt → 4c07b2d1a14906371fc5.js.LICENSE.txt} +1 -1
  72. package/assets/esri/core/workers/chunks/{04fddd41a8e6a4c1bc57.js → 5139bbe8f94df01467c7.js} +1 -1
  73. package/assets/esri/core/workers/chunks/{e881629bf230a148963d.js → 52ae2073604deef63ea2.js} +1 -1
  74. package/assets/esri/core/workers/chunks/5734aefbce8b6425630c.js +1 -0
  75. package/assets/esri/core/workers/chunks/{3909217130048b5feeae.js → 5852d291ef41201030d5.js} +12 -12
  76. package/assets/esri/core/workers/chunks/{348560f083350ad0bf2e.js → 5a0c5271304189a2401d.js} +1 -1
  77. package/assets/esri/core/workers/chunks/{1fe1a131be1d5e1e23ed.js → 5a1921c177580f17ff96.js} +1 -1
  78. package/assets/esri/core/workers/chunks/{1a13b472e0cf9f88e8de.js → 5d791bfca20791d8e0af.js} +1 -1
  79. package/assets/esri/core/workers/chunks/5eee48b02e1683f022df.js +2 -0
  80. package/assets/esri/core/workers/chunks/{ef519984fa691aad8d87.js.LICENSE.txt → 5eee48b02e1683f022df.js.LICENSE.txt} +1 -1
  81. package/assets/esri/core/workers/chunks/{3b6fc34b6d92eef030e5.js → 6298e71e6c480d6f46e3.js} +1 -1
  82. package/assets/esri/core/workers/chunks/{854adab6a06af861c104.js → 68d0bae1816061d96307.js} +1 -1
  83. package/assets/esri/core/workers/chunks/6d9e92d9c2503d5dc8dd.js +1 -0
  84. package/assets/esri/core/workers/chunks/{156c73a948bde11f0d53.js → 743165f9bc4d85748a0d.js} +1 -1
  85. package/assets/esri/core/workers/chunks/{9ff1e650ce0912afa780.js → 7449af8f3637c1694660.js} +1 -1
  86. package/assets/esri/core/workers/chunks/7f15d15c7e2c5d3e70c3.js +1 -0
  87. package/assets/esri/core/workers/chunks/{5e3dd05f1ecfdb21350e.js → 7f7c4ffbdf7b20dc7a54.js} +1 -1
  88. package/assets/esri/core/workers/chunks/804c9666d0dc548b9f79.js +1 -0
  89. package/assets/esri/core/workers/chunks/8258b1c8ba6d44ba19c3.js +1 -0
  90. package/assets/esri/core/workers/chunks/890833e98e79b8fd3747.js +1 -0
  91. package/assets/esri/core/workers/chunks/{d6e11f05db698d14f21d.js → 8a7f56139b7de0011a37.js} +1 -1
  92. package/assets/esri/core/workers/chunks/{dc57400b835724204909.js → 8b1fa59d436e2815b2f1.js} +2 -2
  93. package/assets/esri/core/workers/chunks/{dc57400b835724204909.js.LICENSE.txt → 8b1fa59d436e2815b2f1.js.LICENSE.txt} +1 -1
  94. package/assets/esri/core/workers/chunks/{ec03d59984782529031a.js → 8b575ac55bc396c0c477.js} +1 -1
  95. package/assets/esri/core/workers/chunks/{db9a9712038df76e3eda.js → 8ef337e25d65670eb73b.js} +1 -1
  96. package/assets/esri/core/workers/chunks/8f2fc50eb988c0228b05.js +1 -0
  97. package/assets/esri/core/workers/chunks/{c500b59cd7da54fe72ec.js → 8f3abaabc61858e929a5.js} +1 -1
  98. package/assets/esri/core/workers/chunks/9264cce4699284eae97c.js +2 -0
  99. package/assets/esri/core/workers/chunks/{5aee84e827e6fcc9c4c4.js.LICENSE.txt → 9264cce4699284eae97c.js.LICENSE.txt} +1 -1
  100. package/assets/esri/core/workers/chunks/{e201bfe3158c025edc99.js → 93faad2a759b08dce619.js} +1 -1
  101. package/assets/esri/core/workers/chunks/{1779e6eabc299831fc9f.js → 94c4ef224ff38eca7b87.js} +1 -1
  102. package/assets/esri/core/workers/chunks/95e93884b39ca4b312d1.js +2 -0
  103. package/assets/esri/core/workers/chunks/{90a53bfe95ed687c28c1.js.LICENSE.txt → 95e93884b39ca4b312d1.js.LICENSE.txt} +1 -1
  104. package/assets/esri/core/workers/chunks/{e8f6305744f87bbed961.js → 96616126aaf319cd1c6f.js} +1 -1
  105. package/assets/esri/core/workers/chunks/{d8c8f54532714d4db2cd.js → 981f05b5ef6f9c3f7e8a.js} +1 -1
  106. package/assets/esri/core/workers/chunks/{841058de8bc6e328fd68.js → 9d77a7d04872b4535e9e.js} +1 -1
  107. package/assets/esri/core/workers/chunks/{338768f94cc49559b209.js → 9ebc4303e29ee0fc1716.js} +1 -1
  108. package/assets/esri/core/workers/chunks/a270e34bb248114ec280.js +1 -0
  109. package/assets/esri/core/workers/chunks/a6b8ce1c2996ee392bdf.js +1 -0
  110. package/assets/esri/core/workers/chunks/{6610d23d8539f06e64ca.js → adecd31fd64d6753682d.js} +1 -1
  111. package/assets/esri/core/workers/chunks/{b91a157fb5f729de6597.js → b5ca894a6cb1a19676d5.js} +1 -1
  112. package/assets/esri/core/workers/chunks/{a2c0c1bb5e775abefc90.js → b6530c66804bede649d7.js} +1 -1
  113. package/assets/esri/core/workers/chunks/{3849dc35941e569fae5f.js → c12c095937b21e39ad3c.js} +1 -1
  114. package/assets/esri/core/workers/chunks/c18a2948ae3cb527d8bb.js +1 -0
  115. package/assets/esri/core/workers/chunks/{4ff3c03cfbec928c0720.js → c4fb3f0b0cfb21e68413.js} +1 -1
  116. package/assets/esri/core/workers/chunks/{f5b32bc3f7ee911e3c59.js → c5d56b85d34026507902.js} +1 -1
  117. package/assets/esri/core/workers/chunks/{181fab86394f1f912490.js → cc464d5a83f8f405e66c.js} +1 -1
  118. package/assets/esri/core/workers/chunks/cee29c3a94376f6740d7.js +1 -0
  119. package/assets/esri/core/workers/chunks/d6d9d56b3733622deab6.js +1 -0
  120. package/assets/esri/core/workers/chunks/{ce9467dc1ff695d795e5.js → d8b72c6f5f9b2d013b7f.js} +1 -1
  121. package/assets/esri/core/workers/chunks/{f0eb2bfe5a8607b251f5.js → dc2c9b584f8e4627de7f.js} +1 -1
  122. package/assets/esri/core/workers/chunks/{b586d7e608e8ba8b88fe.js → e067bbf12f711fd5b9a6.js} +1 -1
  123. package/assets/esri/core/workers/chunks/e271065410ba5c872f53.js +1 -0
  124. package/assets/esri/core/workers/chunks/{d9d2178d436597b1afaf.js → e7e508258ad27468a6a5.js} +1 -1
  125. package/assets/esri/core/workers/chunks/e8a0654cebafa22b5b56.js +1 -0
  126. package/assets/esri/core/workers/chunks/e95f90d59041640727da.js +1 -0
  127. package/assets/esri/core/workers/chunks/eb063660c37093f85349.js +1 -0
  128. package/assets/esri/core/workers/chunks/{2a1898c5b8d7757e39e3.js → f1e1666bede364c069fc.js} +1 -1
  129. package/assets/esri/core/workers/chunks/{ac0949ea3d2cf3eb7383.js → f25eb512592a84a508c1.js} +1 -1
  130. package/assets/esri/core/workers/chunks/f5ed6953a9255f0bed6a.js.LICENSE.txt +1 -1
  131. package/assets/esri/core/workers/chunks/f64ec13167eb51da2f9b.js +1 -0
  132. package/assets/esri/core/workers/chunks/{14f8215ab716c6d9d5f8.js → fbf21fda283836e8633c.js} +1 -1
  133. package/assets/esri/core/workers/chunks/fc763ce37d631e006199.js +1 -0
  134. package/assets/esri/core/workers/chunks/ff2a170acd98edfd0e06.js +1 -0
  135. package/assets/esri/libs/lyr3d/lyr3DMain.wasm +0 -0
  136. package/assets/esri/libs/lyr3d/lyr3DWorker.wasm +0 -0
  137. package/assets/esri/themes/dark/main.css +1 -1
  138. package/assets/esri/themes/light/main.css +1 -1
  139. package/assets/esri/themes/light/view.css +1 -1
  140. package/chunks/HUDMaterial.glsl.js +1 -1
  141. package/config.js +1 -1
  142. package/copyright.txt +2 -2
  143. package/core/Clonable.d.ts +0 -2
  144. package/core/Collection.d.ts +1 -1
  145. package/core/Error.d.ts +0 -1
  146. package/core/Evented.d.ts +0 -2
  147. package/core/Identifiable.d.ts +0 -1
  148. package/core/JSONSupport.d.ts +0 -2
  149. package/core/MultiOriginJSONSupport.d.ts +1 -3
  150. package/core/Promise.d.ts +8 -4
  151. package/core/ReadOnlyMultiOriginJSONSupport.d.ts +0 -2
  152. package/core/Version.d.ts +0 -1
  153. package/core/accessorSupport/types.d.ts +0 -1
  154. package/core/sql/types.d.ts +0 -1
  155. package/core/timeUtils.js +1 -1
  156. package/core/types.d.ts +0 -1
  157. package/core/units.d.ts +1 -1
  158. package/editing/sharedTemplates/templateLoader.js +5 -0
  159. package/editing/sharedTemplates/types.d.ts +0 -1
  160. package/editing/templateUtils.js +1 -1
  161. package/effects/FocusArea.d.ts +3 -3
  162. package/effects/FocusAreaOutline.d.ts +3 -3
  163. package/effects/FocusAreas.d.ts +3 -3
  164. package/effects/types.d.ts +0 -1
  165. package/form/ExpressionInfo.d.ts +2 -2
  166. package/form/FormTemplate.d.ts +2 -2
  167. package/form/elements/Element.d.ts +2 -2
  168. package/form/elements/UtilityNetworkAssociationsElement.d.ts +2 -2
  169. package/geometry/Geometry.d.ts +2 -2
  170. package/geometry/HeightModelInfo.d.ts +2 -2
  171. package/geometry/Mesh.d.ts +3 -3
  172. package/geometry/SpatialReference.d.ts +2 -2
  173. package/geometry/geometryEngineTypes.d.ts +0 -1
  174. package/geometry/support/MeshComponent.d.ts +3 -3
  175. package/geometry/support/MeshGeoreferencedVertexSpace.d.ts +3 -3
  176. package/geometry/support/MeshLocalVertexSpace.d.ts +3 -3
  177. package/geometry/support/MeshMaterial.d.ts +3 -3
  178. package/geometry/support/MeshTexture.d.ts +3 -3
  179. package/geometry/support/MeshTextureTransform.d.ts +3 -3
  180. package/geometry/support/MeshTransform.d.ts +3 -3
  181. package/geometry/support/MeshVertexAttributes.d.ts +3 -3
  182. package/graphic/GraphicOrigin.d.ts +0 -1
  183. package/ground/NavigationConstraint.d.ts +2 -2
  184. package/identity/Credential.d.ts +2 -2
  185. package/identity/OAuthInfo.d.ts +2 -2
  186. package/identity/ServerInfo.d.ts +2 -2
  187. package/interfaces.d.ts +8 -3
  188. package/intl/locale.d.ts +0 -1
  189. package/intl/messages.d.ts +0 -1
  190. package/intl/number.d.ts +0 -1
  191. package/intl/substitute.d.ts +0 -1
  192. package/intl/t9n.d.ts +0 -1
  193. package/kernel.js +1 -1
  194. package/layers/BaseElevationLayer.d.ts +3 -4
  195. package/layers/BingMapsLayer.d.ts +2 -2
  196. package/layers/BuildingSceneLayer.d.ts +5 -4
  197. package/layers/CatalogLayer.d.ts +3 -3
  198. package/layers/DimensionLayer.d.ts +2 -2
  199. package/layers/ElevationLayer.d.ts +3 -4
  200. package/layers/ElevationLayer.js +1 -1
  201. package/layers/FeatureLayer.d.ts +4 -4
  202. package/layers/GaussianSplatLayer.d.ts +2 -2
  203. package/layers/GeoJSONLayer.d.ts +2 -2
  204. package/layers/GeoRSSLayer.d.ts +2 -2
  205. package/layers/GroupLayer.d.ts +2 -2
  206. package/layers/ImageryLayer.d.ts +3 -3
  207. package/layers/ImageryTileLayer.d.ts +3 -3
  208. package/layers/IntegratedMesh3DTilesLayer.d.ts +2 -2
  209. package/layers/IntegratedMeshLayer.d.ts +5 -4
  210. package/layers/KMLLayer.d.ts +2 -2
  211. package/layers/KnowledgeGraphLayer.d.ts +2 -2
  212. package/layers/Layer.d.ts +2 -2
  213. package/layers/LineOfSightLayer.d.ts +2 -2
  214. package/layers/LinkChartLayer.d.ts +2 -2
  215. package/layers/MapImageLayer.d.ts +2 -2
  216. package/layers/MapNotesLayer.d.ts +2 -2
  217. package/layers/MediaLayer.d.ts +2 -2
  218. package/layers/OGCFeatureLayer.d.ts +2 -2
  219. package/layers/ParquetLayer.d.ts +3 -3
  220. package/layers/PointCloudLayer.d.ts +5 -4
  221. package/layers/RouteLayer.d.ts +2 -2
  222. package/layers/SceneLayer.d.ts +6 -5
  223. package/layers/StreamLayer.d.ts +3 -3
  224. package/layers/SubtypeGroupLayer.d.ts +4 -4
  225. package/layers/TileLayer.d.ts +2 -2
  226. package/layers/UnknownLayer.d.ts +2 -2
  227. package/layers/UnsupportedLayer.d.ts +2 -2
  228. package/layers/VectorTileLayer.d.ts +2 -2
  229. package/layers/VideoLayer.d.ts +2 -2
  230. package/layers/ViewshedLayer.d.ts +2 -2
  231. package/layers/VoxelLayer.d.ts +2 -2
  232. package/layers/WCSLayer.d.ts +3 -3
  233. package/layers/WFSLayer.d.ts +2 -2
  234. package/layers/WMSLayer.d.ts +2 -2
  235. package/layers/WMTSLayer.d.ts +2 -2
  236. package/layers/WebTileLayer.d.ts +2 -2
  237. package/layers/buildingSublayers/BuildingComponentSublayer.d.ts +2 -2
  238. package/layers/buildingSublayers/BuildingGroupSublayer.d.ts +1 -1
  239. package/layers/buildingSublayers/BuildingSublayer.d.ts +2 -2
  240. package/layers/catalog/CatalogDynamicGroupLayer.d.ts +2 -2
  241. package/layers/catalog/CatalogFootprintLayer.d.ts +2 -2
  242. package/layers/effects/types.d.ts +0 -1
  243. package/layers/knowledgeGraph/IdTypePair.d.ts +0 -1
  244. package/layers/knowledgeGraph/KnowledgeGraphSublayer.d.ts +2 -2
  245. package/layers/mixins/APIKeyMixin.d.ts +0 -1
  246. package/layers/mixins/CustomParametersMixin.d.ts +0 -1
  247. package/layers/mixins/EditBusLayer.d.ts +0 -2
  248. package/layers/mixins/ImageryTileMixin.js +1 -1
  249. package/layers/mixins/OperationalLayer.d.ts +0 -1
  250. package/layers/mixins/ScaleRangeLayer.d.ts +0 -1
  251. package/layers/mixins/SceneService.d.ts +0 -6
  252. package/layers/pointCloudFilters/PointCloudFilter.d.ts +2 -2
  253. package/layers/raster/datasets/FunctionRaster.js +1 -1
  254. package/layers/raster/datasets/pixelReader.d.ts +0 -1
  255. package/layers/raster/datasets/types.d.ts +0 -1
  256. package/layers/raster/functions/BaseRasterFunction.js +1 -1
  257. package/layers/raster/functions/StretchFunction.js +1 -1
  258. package/layers/raster/functions/changeDetectionUtils.d.ts +0 -1
  259. package/layers/raster/functions/focalStatUtils.d.ts +0 -1
  260. package/layers/scene/types.d.ts +11 -0
  261. package/layers/support/AggregateField.d.ts +2 -2
  262. package/layers/support/BuildingFilter.d.ts +2 -2
  263. package/layers/support/BuildingFilterBlock.d.ts +2 -2
  264. package/layers/support/BuildingSummaryStatistics.d.ts +3 -3
  265. package/layers/support/CodedValue.d.ts +2 -2
  266. package/layers/support/ControlPoint.d.ts +2 -2
  267. package/layers/support/ControlPointsGeoreference.d.ts +2 -2
  268. package/layers/support/DimensionalDefinition.d.ts +2 -2
  269. package/layers/support/DisplayFilter.d.ts +3 -3
  270. package/layers/support/DisplayFilterInfo.d.ts +3 -3
  271. package/layers/support/Domain.d.ts +2 -2
  272. package/layers/support/EditFieldsInfo.d.ts +3 -3
  273. package/layers/support/ElevationQuery.js +1 -1
  274. package/layers/support/ElevationTileData.js +1 -1
  275. package/layers/support/ExpressionInfo.d.ts +3 -3
  276. package/layers/support/FacilityLayerInfo.d.ts +2 -2
  277. package/layers/support/FeatureEffect.d.ts +2 -2
  278. package/layers/support/FeatureFilter.d.ts +2 -2
  279. package/layers/support/FeatureReductionBinning.d.ts +2 -2
  280. package/layers/support/FeatureReductionCluster.d.ts +2 -2
  281. package/layers/support/FeatureReductionSelection.d.ts +2 -2
  282. package/layers/support/FeatureTemplate.d.ts +3 -3
  283. package/layers/support/FeatureType.d.ts +3 -3
  284. package/layers/support/Field.d.ts +2 -2
  285. package/layers/support/FieldConfiguration.d.ts +3 -3
  286. package/layers/support/GeometryFieldsInfo.d.ts +3 -3
  287. package/layers/support/KMLSublayer.d.ts +3 -3
  288. package/layers/support/LOD.d.ts +2 -2
  289. package/layers/support/LabelClass.d.ts +2 -2
  290. package/layers/support/LabelExpressionInfo.d.ts +2 -2
  291. package/layers/support/LayerFloorInfo.d.ts +2 -2
  292. package/layers/support/LevelLayerInfo.d.ts +2 -2
  293. package/layers/support/LocalMediaElementSource.d.ts +3 -3
  294. package/layers/support/MapImage.d.ts +2 -2
  295. package/layers/support/MediaElementBase.d.ts +2 -2
  296. package/layers/support/MosaicRule.d.ts +2 -2
  297. package/layers/support/MultidimensionalSubset.d.ts +13 -4
  298. package/layers/support/OrderByInfo.d.ts +2 -2
  299. package/layers/support/ParquetGeometryEncodingLocation.d.ts +3 -3
  300. package/layers/support/ParquetGeometryEncodingWkb.d.ts +3 -3
  301. package/layers/support/PixelBlock.d.ts +2 -2
  302. package/layers/support/PlaybackInfo.d.ts +3 -3
  303. package/layers/support/PurgeOptions.d.ts +2 -2
  304. package/layers/support/RasterBandInfo.d.ts +2 -2
  305. package/layers/support/RasterFunction.d.ts +2 -2
  306. package/layers/support/RasterInfo.d.ts +2 -2
  307. package/layers/support/RasterJobHandler.js +1 -1
  308. package/layers/support/RasterSensorInfo.d.ts +2 -2
  309. package/layers/support/RasterWorker.js +1 -1
  310. package/layers/support/Relationship.d.ts +5 -3
  311. package/layers/support/RouteStopSymbols.d.ts +2 -2
  312. package/layers/support/RouteSymbols.d.ts +2 -2
  313. package/layers/support/SceneFilter.d.ts +2 -2
  314. package/layers/support/SceneLayerViewFilter.js +5 -0
  315. package/layers/support/SceneModification.d.ts +2 -2
  316. package/layers/support/SceneModifications.d.ts +1 -1
  317. package/layers/support/SiteLayerInfo.d.ts +2 -2
  318. package/layers/support/Sublayer.d.ts +2 -2
  319. package/layers/support/Subtype.d.ts +3 -3
  320. package/layers/support/SubtypeSublayer.d.ts +3 -3
  321. package/layers/support/TelemetryData.d.ts +3 -3
  322. package/layers/support/TelemetryDisplay.d.ts +3 -3
  323. package/layers/support/TileInfo.d.ts +2 -2
  324. package/layers/support/TileMatrixSet.d.ts +2 -2
  325. package/layers/support/TimeInfo.d.ts +3 -3
  326. package/layers/support/TrackInfo.d.ts +3 -3
  327. package/layers/support/TrackPartInfo.d.ts +3 -3
  328. package/layers/support/VideoTimeExtent.d.ts +3 -3
  329. package/layers/support/WMSSublayer.d.ts +2 -2
  330. package/layers/support/WMTSStyle.d.ts +2 -2
  331. package/layers/support/WMTSSublayer.d.ts +2 -2
  332. package/layers/support/types.d.ts +32 -0
  333. package/layers/video/types.d.ts +0 -1
  334. package/layers/voxel/VoxelColorStop.d.ts +3 -3
  335. package/layers/voxel/VoxelDynamicSection.d.ts +3 -3
  336. package/layers/voxel/VoxelIsosurface.d.ts +3 -3
  337. package/layers/voxel/VoxelOpacityStop.d.ts +3 -3
  338. package/layers/voxel/VoxelRangeFilter.d.ts +3 -3
  339. package/layers/voxel/VoxelSlice.d.ts +3 -3
  340. package/layers/voxel/VoxelTransferFunctionStyle.d.ts +3 -3
  341. package/layers/voxel/VoxelUniqueValue.d.ts +3 -3
  342. package/layers/voxel/VoxelVariable.d.ts +2 -2
  343. package/layers/voxel/VoxelVariableStyle.d.ts +2 -2
  344. package/layers/voxel/VoxelVolumeStyle.d.ts +2 -2
  345. package/layers/wms/types.d.ts +0 -1
  346. package/layers/wmts/types.d.ts +0 -1
  347. package/linkChart/ChronologicalLayoutSettings.d.ts +3 -3
  348. package/linkChart/LayoutSettings.d.ts +3 -3
  349. package/linkChart/LinkChartProperties.d.ts +3 -3
  350. package/linkChart/NonspatialDataDisplay.d.ts +3 -3
  351. package/linkChart/OrganicLayoutSettings.d.ts +3 -3
  352. package/linkChart/types.d.ts +0 -1
  353. package/networks/CircuitManager.d.ts +3 -3
  354. package/networks/Network.d.ts +2 -2
  355. package/networks/UnitIdentifierManager.d.ts +2 -2
  356. package/networks/support/Circuit.d.ts +2 -2
  357. package/networks/support/CircuitLocation.d.ts +2 -2
  358. package/networks/support/CircuitPath.d.ts +2 -2
  359. package/networks/support/CircuitPathConnectivityElement.d.ts +2 -2
  360. package/networks/support/CircuitSection.d.ts +2 -2
  361. package/networks/support/NamedTraceConfiguration.d.ts +2 -2
  362. package/networks/support/Subcircuit.d.ts +2 -2
  363. package/networks/support/Terminal.d.ts +2 -2
  364. package/networks/support/TerminalConfiguration.d.ts +2 -2
  365. package/networks/support/TraceConfiguration.d.ts +2 -2
  366. package/networks/support/UNTraceConfiguration.d.ts +2 -2
  367. package/networks/support/jsonTypes.d.ts +65 -0
  368. package/networks/support/typeUtils.d.ts +0 -1
  369. package/package.json +1 -1
  370. package/popup/ElementExpressionInfo.d.ts +2 -2
  371. package/popup/ExpressionInfo.d.ts +2 -2
  372. package/popup/FieldInfo.d.ts +3 -3
  373. package/popup/LayerOptions.d.ts +2 -2
  374. package/popup/RelatedRecordsInfo.d.ts +2 -2
  375. package/popup/content/AttachmentsContent.d.ts +2 -2
  376. package/popup/content/Content.d.ts +2 -2
  377. package/popup/content/RelationshipContent.d.ts +2 -2
  378. package/popup/content/UtilityNetworkAssociationsContent.d.ts +2 -2
  379. package/popup/content/mixins/MediaInfo.d.ts +2 -2
  380. package/popup/content/support/ChartMediaInfoValue.d.ts +2 -2
  381. package/popup/content/support/ImageMediaInfoValue.d.ts +2 -2
  382. package/popup/support/AttachmentsOrderByInfo.d.ts +3 -3
  383. package/popup/support/FieldInfoFormat.d.ts +3 -3
  384. package/popup/support/RelatedRecordsInfoFieldOrder.d.ts +2 -2
  385. package/popup/support/UtilityNetworkAssociationType.d.ts +3 -3
  386. package/portal/Portal.d.ts +2 -2
  387. package/portal/PortalFolder.d.ts +2 -2
  388. package/portal/PortalGroup.d.ts +2 -2
  389. package/portal/PortalItem.d.ts +2 -2
  390. package/portal/PortalUser.d.ts +2 -2
  391. package/portal/timeUnitKebabDictionary.js +1 -1
  392. package/renderers/FlowRenderer.d.ts +2 -2
  393. package/renderers/PieChartRenderer.d.ts +2 -2
  394. package/renderers/PointCloudRenderer.d.ts +2 -2
  395. package/renderers/RasterColormapRenderer.d.ts +2 -2
  396. package/renderers/RasterShadedReliefRenderer.d.ts +2 -2
  397. package/renderers/RasterStretchRenderer.d.ts +2 -2
  398. package/renderers/Renderer.d.ts +2 -2
  399. package/renderers/VectorFieldRenderer.d.ts +2 -2
  400. package/renderers/support/AttributeColorInfo.d.ts +2 -2
  401. package/renderers/support/AuthoringInfo.d.ts +2 -2
  402. package/renderers/support/AuthoringInfoClassBreakInfo.d.ts +2 -2
  403. package/renderers/support/AuthoringInfoFieldInfo.d.ts +2 -2
  404. package/renderers/support/AuthoringInfoVisualVariable.d.ts +2 -2
  405. package/renderers/support/ClassBreakInfo.d.ts +2 -2
  406. package/renderers/support/ColormapInfo.d.ts +2 -2
  407. package/renderers/support/DotDensityLegendOptions.d.ts +2 -2
  408. package/renderers/support/HeatmapColorStop.d.ts +2 -2
  409. package/renderers/support/HeatmapLegendOptions.d.ts +3 -3
  410. package/renderers/support/OthersCategory.d.ts +3 -3
  411. package/renderers/support/RasterPresetRenderer.d.ts +3 -3
  412. package/renderers/support/RendererLegendOptions.d.ts +3 -3
  413. package/renderers/support/UniqueValue.d.ts +3 -3
  414. package/renderers/support/UniqueValueClass.d.ts +3 -3
  415. package/renderers/support/UniqueValueGroup.d.ts +3 -3
  416. package/renderers/support/UniqueValueInfo.d.ts +2 -2
  417. package/renderers/support/pointCloud/ColorClassBreakInfo.d.ts +2 -2
  418. package/renderers/support/pointCloud/ColorModulation.d.ts +2 -2
  419. package/renderers/support/pointCloud/ColorUniqueValueInfo.d.ts +2 -2
  420. package/renderers/visualVariables/VisualVariable.d.ts +2 -2
  421. package/renderers/visualVariables/support/ColorSizeStop.d.ts +2 -2
  422. package/renderers/visualVariables/support/ColorStop.d.ts +2 -2
  423. package/renderers/visualVariables/support/OpacityStop.d.ts +2 -2
  424. package/renderers/visualVariables/support/SizeStop.d.ts +2 -2
  425. package/renderers/visualVariables/support/VisualVariableLegendOptions.d.ts +3 -3
  426. package/rest/featureService/FeatureService.d.ts +2 -2
  427. package/rest/featureService/types.d.ts +42 -5
  428. package/rest/geoprocessor/GPOptions.d.ts +2 -2
  429. package/rest/geoprocessor/utils.js +1 -1
  430. package/rest/knowledgeGraph/DataModel.d.ts +2 -2
  431. package/rest/knowledgeGraph/FieldIndex.d.ts +2 -2
  432. package/rest/knowledgeGraph/GraphObject.d.ts +2 -2
  433. package/rest/knowledgeGraph/GraphObjectType.d.ts +2 -2
  434. package/rest/knowledgeGraph/GraphProperty.d.ts +2 -2
  435. package/rest/knowledgeGraph/KnowledgeGraph.d.ts +2 -2
  436. package/rest/knowledgeGraph/Path.d.ts +2 -2
  437. package/rest/knowledgeGraph/ServiceDefinition.d.ts +2 -2
  438. package/rest/knowledgeGraph/SourceTypeValueBehavior.d.ts +2 -2
  439. package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsConfiguration.d.ts +2 -2
  440. package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsEntity.d.ts +2 -2
  441. package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsPathFilter.d.ts +2 -2
  442. package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsResultJSON.d.ts +0 -1
  443. package/rest/knowledgeGraph/toolService/findPaths/CIMKGTraversalDirection.d.ts +2 -2
  444. package/rest/knowledgeGraph/wasmInterface/WasmDataModelWrapperInterfaces.d.ts +0 -1
  445. package/rest/lastMileDelivery/types.d.ts +0 -1
  446. package/rest/layerSources/DynamicDataLayer.d.ts +2 -2
  447. package/rest/layerSources/DynamicMapLayer.d.ts +2 -2
  448. package/rest/layerSources/JoinTableDataSource.d.ts +2 -2
  449. package/rest/layerSources/QueryTableDataSource.d.ts +2 -2
  450. package/rest/layerSources/RasterDataSource.d.ts +2 -2
  451. package/rest/layerSources/TableDataSource.d.ts +2 -2
  452. package/rest/networks/circuits/exportCircuits.js +1 -1
  453. package/rest/networks/circuits/support/CircuitTraceResult.d.ts +2 -2
  454. package/rest/networks/circuits/support/ExportCircuitsParameters.d.ts +11 -3
  455. package/rest/networks/circuits/support/ExportCircuitsParameters.js +1 -1
  456. package/rest/networks/circuits/support/QueryCircuitsParameters.d.ts +2 -2
  457. package/rest/networks/support/AggregatedGeometry.d.ts +2 -2
  458. package/rest/networks/support/Association.d.ts +2 -2
  459. package/rest/networks/support/AssociationGeometriesResult.d.ts +2 -2
  460. package/rest/networks/support/FunctionResult.d.ts +2 -2
  461. package/rest/networks/support/NetworkElement.d.ts +2 -2
  462. package/rest/networks/support/QueryAssociationsParameters.d.ts +2 -2
  463. package/rest/networks/support/QueryAssociationsResult.d.ts +2 -2
  464. package/rest/networks/support/QueryNamedTraceConfigurationsParameters.d.ts +2 -2
  465. package/rest/networks/support/SynthesizeAssociationGeometriesParameters.d.ts +2 -2
  466. package/rest/networks/support/TraceLocation.d.ts +3 -3
  467. package/rest/networks/support/TraceParameters.d.ts +2 -2
  468. package/rest/networks/support/TraceResult.d.ts +2 -2
  469. package/rest/networks/support/ValidateNetworkTopologyParameters.d.ts +2 -2
  470. package/rest/networks/support/ValidateNetworkTopologyResult.d.ts +2 -2
  471. package/rest/query/support/AttachmentInfo.d.ts +2 -2
  472. package/rest/support/AddressCandidate.d.ts +2 -2
  473. package/rest/support/AddressToLocationsParameters.d.ts +2 -2
  474. package/rest/support/AddressesToLocationsParameters.d.ts +2 -2
  475. package/rest/support/ArealUnit.d.ts +2 -2
  476. package/rest/support/AreasAndLengthsParameters.d.ts +2 -2
  477. package/rest/support/AttachmentQuery.d.ts +2 -2
  478. package/rest/support/AttributeBinsFeatureSet.d.ts +2 -2
  479. package/rest/support/AttributeBinsGrouping.d.ts +3 -3
  480. package/rest/support/AttributeBinsQuery.d.ts +3 -3
  481. package/rest/support/BaseImageMeasureParameters.d.ts +2 -2
  482. package/rest/support/BaseImageMeasureResult.d.ts +2 -2
  483. package/rest/support/BaseImageMeasureResultValue.d.ts +2 -2
  484. package/rest/support/BinParametersBase.d.ts +3 -3
  485. package/rest/support/BufferParameters.d.ts +2 -2
  486. package/rest/support/CameraInfo.d.ts +2 -2
  487. package/rest/support/CameraInfoMixin.d.ts +0 -1
  488. package/rest/support/ClosestFacilityParameters.d.ts +3 -3
  489. package/rest/support/ClosestFacilitySolveResult.d.ts +2 -2
  490. package/rest/support/ColorRamp.d.ts +2 -2
  491. package/rest/support/DataFile.d.ts +2 -2
  492. package/rest/support/DataLayer.d.ts +3 -3
  493. package/rest/support/DateBinTimeInterval.d.ts +3 -3
  494. package/rest/support/DensifyParameters.d.ts +2 -2
  495. package/rest/support/DirectionLine.d.ts +3 -3
  496. package/rest/support/DirectionPoint.d.ts +3 -3
  497. package/rest/support/DirectionsEvent.d.ts +2 -2
  498. package/rest/support/DirectionsString.d.ts +2 -2
  499. package/rest/support/FeatureSet.d.ts +2 -2
  500. package/rest/support/FindImagesParameters.d.ts +3 -3
  501. package/rest/support/FindImagesResult.d.ts +2 -2
  502. package/rest/support/FindParameters.d.ts +2 -2
  503. package/rest/support/FindResult.d.ts +2 -2
  504. package/rest/support/GPMessage.d.ts +2 -2
  505. package/rest/support/GeneralizeParameters.d.ts +2 -2
  506. package/rest/support/IdentifyParameters.d.ts +2 -2
  507. package/rest/support/IdentifyResult.d.ts +2 -2
  508. package/rest/support/ImageAngleParameters.d.ts +2 -2
  509. package/rest/support/ImageAngleResult.d.ts +2 -2
  510. package/rest/support/ImageBoundaryParameters.d.ts +3 -3
  511. package/rest/support/ImageBoundaryResult.d.ts +2 -2
  512. package/rest/support/ImageGPSInfo.d.ts +2 -2
  513. package/rest/support/ImageGPSInfoParameters.d.ts +3 -3
  514. package/rest/support/ImageGPSInfoResult.d.ts +2 -2
  515. package/rest/support/ImageHistogramParameters.d.ts +2 -2
  516. package/rest/support/ImageIdentifyParameters.d.ts +2 -2
  517. package/rest/support/ImageIdentifyResult.d.ts +2 -2
  518. package/rest/support/ImageInspectionInfo.d.ts +2 -2
  519. package/rest/support/ImagePixelLocationParameters.d.ts +2 -2
  520. package/rest/support/ImagePixelLocationResult.d.ts +2 -2
  521. package/rest/support/ImageSample.d.ts +2 -2
  522. package/rest/support/ImageSampleParameters.d.ts +2 -2
  523. package/rest/support/ImageSampleResult.d.ts +2 -2
  524. package/rest/support/ImageToMapMultirayParameters.d.ts +3 -3
  525. package/rest/support/ImageToMapParameters.d.ts +3 -3
  526. package/rest/support/ImageUrlParameters.d.ts +3 -3
  527. package/rest/support/ImageUrlResult.d.ts +2 -2
  528. package/rest/support/ImageVolume.d.ts +2 -2
  529. package/rest/support/ImageVolumeParameters.d.ts +3 -3
  530. package/rest/support/ImageVolumeResult.d.ts +2 -2
  531. package/rest/support/JobInfo.d.ts +2 -2
  532. package/rest/support/LastMileDeliveryParameters.d.ts +3 -3
  533. package/rest/support/LegendLayer.d.ts +2 -2
  534. package/rest/support/LengthsParameters.d.ts +2 -2
  535. package/rest/support/LinearUnit.d.ts +2 -2
  536. package/rest/support/LocateSettingBase.d.ts +3 -3
  537. package/rest/support/LocateSettingSource.d.ts +3 -3
  538. package/rest/support/LocateSettings.d.ts +3 -3
  539. package/rest/support/LocateSettingsOverrides.d.ts +3 -3
  540. package/rest/support/LocationToAddressParameters.d.ts +2 -2
  541. package/rest/support/MapToImageParameters.d.ts +3 -3
  542. package/rest/support/MeasureAreaFromImageResult.d.ts +2 -2
  543. package/rest/support/MeasureFromImageParameters.d.ts +2 -2
  544. package/rest/support/MeasureLengthFromImageResult.d.ts +2 -2
  545. package/rest/support/NetworkUrl.d.ts +3 -3
  546. package/rest/support/NormalizationBinParametersMixin.d.ts +0 -1
  547. package/rest/support/OffsetParameters.d.ts +2 -2
  548. package/rest/support/ParameterValue.d.ts +4 -2
  549. package/rest/support/PointBarrier.d.ts +3 -3
  550. package/rest/support/PolygonBarrier.d.ts +3 -3
  551. package/rest/support/PolylineBarrier.d.ts +3 -3
  552. package/rest/support/ProjectParameters.d.ts +2 -2
  553. package/rest/support/QuantizationParameters.d.ts +2 -2
  554. package/rest/support/Query.d.ts +13 -2
  555. package/rest/support/RasterData.d.ts +2 -2
  556. package/rest/support/RelationParameters.d.ts +2 -2
  557. package/rest/support/RelationshipQuery.d.ts +2 -2
  558. package/rest/support/RouteInfo.d.ts +3 -3
  559. package/rest/support/RouteParameters.d.ts +3 -3
  560. package/rest/support/RouteResult.d.ts +2 -2
  561. package/rest/support/RouteSolveResult.d.ts +2 -2
  562. package/rest/support/ServiceAreaParameters.d.ts +3 -3
  563. package/rest/support/ServiceAreaSolveResult.d.ts +2 -2
  564. package/rest/support/StatisticDefinition.d.ts +2 -2
  565. package/rest/support/Stop.d.ts +3 -3
  566. package/rest/support/SuggestLocationsParameters.d.ts +2 -2
  567. package/rest/support/TimeUnit.d.ts +42 -0
  568. package/rest/support/TimeUnit.js +5 -0
  569. package/rest/support/TopFeaturesQuery.d.ts +2 -2
  570. package/rest/support/TopFilter.d.ts +2 -2
  571. package/rest/support/TravelMode.d.ts +3 -3
  572. package/rest/support/TrimExtendParameters.d.ts +2 -2
  573. package/rest/support/parameterValueUtils.js +1 -1
  574. package/rest/types.d.ts +1 -1
  575. package/rest/versionManagement/gdbVersion/support/AlterVersionParameters.d.ts +2 -2
  576. package/rest/versionManagement/gdbVersion/support/ReconcileParameters.d.ts +2 -2
  577. package/rest/versionManagement/support/CreateVersionParameters.d.ts +2 -2
  578. package/rest/versionManagement/support/GetVersionInfosParameters.d.ts +2 -2
  579. package/statistics/types.d.ts +0 -1
  580. package/support/MapFloorInfo.d.ts +2 -2
  581. package/support/revision.js +1 -1
  582. package/symbols/Font.d.ts +2 -2
  583. package/symbols/LineStyleMarker3D.d.ts +3 -3
  584. package/symbols/LineSymbolMarker.d.ts +2 -2
  585. package/symbols/Symbol.d.ts +2 -2
  586. package/symbols/Symbol3DLayer.d.ts +2 -2
  587. package/symbols/callouts/Callout3D.d.ts +2 -2
  588. package/symbols/callouts/LineCallout3DBorder.d.ts +2 -2
  589. package/symbols/edges/Edges3D.d.ts +2 -2
  590. package/symbols/patterns/LinePattern3D.d.ts +2 -2
  591. package/symbols/patterns/Pattern3D.d.ts +2 -2
  592. package/symbols/support/ElevationInfo.d.ts +10 -4
  593. package/symbols/support/FeatureExpressionInfo.d.ts +2 -2
  594. package/symbols/support/IconSymbol3DLayerResource.d.ts +2 -2
  595. package/symbols/support/ObjectSymbol3DLayerResource.d.ts +2 -2
  596. package/symbols/support/OccludedVisibility.d.ts +3 -3
  597. package/symbols/support/Symbol3DFillMaterial.js +1 -1
  598. package/symbols/support/Symbol3DHalo.d.ts +2 -2
  599. package/symbols/support/Symbol3DIconOutline.d.ts +2 -2
  600. package/symbols/support/Symbol3DMaterial.d.ts +6 -4
  601. package/symbols/support/Symbol3DMaterial.js +1 -1
  602. package/symbols/support/Symbol3DOutline.d.ts +2 -2
  603. package/symbols/support/Symbol3DTextBackground.d.ts +3 -3
  604. package/symbols/support/Symbol3DVerticalOffset.d.ts +2 -2
  605. package/symbols/support/symbolUtils.js +1 -1
  606. package/symbols/support/types.d.ts +0 -1
  607. package/tables/AttributeTableTemplate.d.ts +2 -2
  608. package/tables/elements/AttributeTableAttachmentElement.d.ts +2 -2
  609. package/tables/elements/AttributeTableElement.d.ts +2 -2
  610. package/tables/elements/AttributeTableFieldElement.d.ts +2 -2
  611. package/tables/elements/AttributeTableGroupElement.d.ts +2 -2
  612. package/tables/elements/AttributeTableRelationshipElement.d.ts +2 -2
  613. package/tables/support/FieldOrder.d.ts +3 -3
  614. package/time/TimeExtent.d.ts +2 -2
  615. package/time/TimeExtent.js +1 -1
  616. package/time/TimeInterval.d.ts +3 -3
  617. package/time/types.d.ts +0 -1
  618. package/versionManagement/VersionManagementService.d.ts +2 -2
  619. package/versionManagement/VersioningState.d.ts +2 -2
  620. package/versionManagement/support/type.d.ts +0 -1
  621. package/views/2d/ViewState.d.ts +2 -2
  622. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  623. package/views/2d/layers/imagery/BaseImageryTileSubView2D.js +1 -1
  624. package/views/2d/layers/imagery/ImageryTileView2D.js +1 -1
  625. package/views/2d/layers/support/MediaLayerInteractionOptions.d.ts +0 -1
  626. package/views/3d/analysis/Dimension/types.d.ts +0 -1
  627. package/views/3d/analysis/Slice/types.d.ts +0 -1
  628. package/views/3d/analysis/Viewshed/types.d.ts +0 -1
  629. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementShiftTool.js +1 -1
  630. package/views/3d/camera/intersectionUtils.js +1 -1
  631. package/views/3d/constraints/AltitudeConstraint.d.ts +2 -2
  632. package/views/3d/constraints/ClipDistanceConstraint.d.ts +2 -2
  633. package/views/3d/constraints/Constraints.d.ts +2 -2
  634. package/views/3d/constraints/TiltConstraint.d.ts +2 -2
  635. package/views/3d/environment/CloudyWeather.d.ts +2 -2
  636. package/views/3d/environment/FoggyWeather.d.ts +2 -2
  637. package/views/3d/environment/RainyWeather.d.ts +2 -2
  638. package/views/3d/environment/SnowyWeather.d.ts +2 -2
  639. package/views/3d/environment/SunLighting.d.ts +2 -2
  640. package/views/3d/environment/SunnyWeather.d.ts +2 -2
  641. package/views/3d/environment/VirtualLighting.d.ts +2 -2
  642. package/views/3d/layers/ElevationLayerView3D.js +1 -1
  643. package/views/3d/layers/FlowSubView3D.js +1 -1
  644. package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
  645. package/views/3d/support/flow/FlowSubViewTiles3D.js +1 -1
  646. package/views/3d/support/gaussianSplatting/GaussianSplatDataStore.js +1 -1
  647. package/views/3d/support/pointsOfInterest/StableSurfaceCenter.js +1 -1
  648. package/views/3d/webgl/ManagedFBO.js +1 -1
  649. package/views/3d/webgl/ManagedFBOResource.d.ts +0 -1
  650. package/views/3d/webgl/RenderNode.d.ts +1 -1
  651. package/views/3d/webgl/RenderNode.js +1 -1
  652. package/views/3d/webgl/types.d.ts +0 -1
  653. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  654. package/views/3d/webgl-engine/effects/debug/RenderNodeVisualizerNode.js +1 -1
  655. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskNode.js +1 -1
  656. package/views/3d/webgl-engine/effects/highlight/ShadowHighlight.js +1 -1
  657. package/views/3d/webgl-engine/effects/smaa/SMAA.js +1 -1
  658. package/views/3d/webgl-engine/lib/CutFillColor.js +1 -1
  659. package/views/3d/webgl-engine/lib/CutFillDepth.js +1 -1
  660. package/views/3d/webgl-engine/lib/GPUPointOcclusionQuery.js +1 -1
  661. package/views/3d/webgl-engine/lib/GaussianSplatRenderNode.js +1 -1
  662. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  663. package/views/3d/webgl-engine/statistics/RendererPerformanceInfo.js +1 -1
  664. package/views/3d/webgl.d.ts +16 -8
  665. package/views/3d/webgl.js +1 -1
  666. package/views/Theme.d.ts +2 -2
  667. package/views/VideoView.d.ts +4 -4
  668. package/views/View.d.ts +3 -3
  669. package/views/View2D.d.ts +2 -2
  670. package/views/ViewAnimation.d.ts +2 -2
  671. package/views/Viewport2DMixin.d.ts +0 -2
  672. package/views/analysis/ElevationProfile/ElevationProfileResult.d.ts +2 -2
  673. package/views/animation/types.d.ts +0 -1
  674. package/views/draw/CursorUpdateEvent.d.ts +0 -1
  675. package/views/draw/DrawAction.d.ts +3 -3
  676. package/views/draw/DrawCompleteEvent.d.ts +0 -1
  677. package/views/draw/VertexAddEvent.d.ts +0 -1
  678. package/views/draw/VertexRemoveEvent.d.ts +0 -1
  679. package/views/draw/support/managers/{DrawTooltipManager.js → TooltipManager.js} +1 -1
  680. package/views/draw/types.d.ts +0 -1
  681. package/views/interactive/Tooltip.d.ts +2 -2
  682. package/views/interactive/snapping/SelfSnappingEngine.js +1 -1
  683. package/views/interactive/snapping/SnappingContext.js +1 -1
  684. package/views/interactive/tooltip/types.d.ts +0 -1
  685. package/views/layers/ImageryTileLayerViewMixin.d.ts +0 -1
  686. package/views/layers/LayerView.d.ts +3 -3
  687. package/views/layers/SceneLayerView.js +1 -1
  688. package/views/layers/types.d.ts +0 -1
  689. package/views/navigation/types.d.ts +0 -1
  690. package/views/support/AttributionItem.d.ts +0 -1
  691. package/views/ui/UI.d.ts +2 -2
  692. package/webdoc/GeotriggersInfo.d.ts +3 -3
  693. package/webdoc/IPSInfo.d.ts +3 -3
  694. package/webdoc/Widgets.d.ts +2 -2
  695. package/webdoc/applicationProperties/Search.d.ts +2 -2
  696. package/webdoc/applicationProperties/SearchLayer.d.ts +2 -2
  697. package/webdoc/applicationProperties/SearchLayerField.d.ts +2 -2
  698. package/webdoc/applicationProperties/SearchTable.d.ts +2 -2
  699. package/webdoc/applicationProperties/SearchTableField.d.ts +2 -2
  700. package/webdoc/applicationProperties/Viewing.d.ts +2 -2
  701. package/webdoc/geotriggersInfo/DeviceLocationFeed.d.ts +3 -3
  702. package/webdoc/geotriggersInfo/ExpressionInfo.d.ts +3 -3
  703. package/webdoc/geotriggersInfo/FeatureFenceParameters.d.ts +3 -3
  704. package/webdoc/geotriggersInfo/FeatureFilter.d.ts +3 -3
  705. package/webdoc/geotriggersInfo/FeatureLayerSource.d.ts +3 -3
  706. package/webdoc/geotriggersInfo/Geotrigger.d.ts +3 -3
  707. package/webdoc/geotriggersInfo/GeotriggerNotificationOptions.d.ts +3 -3
  708. package/webdoc/geotriggersInfo/support/typeUtils.d.ts +0 -1
  709. package/webdoc/ips/AppleIPSProperties.d.ts +3 -3
  710. package/webdoc/ips/Configuration.d.ts +3 -3
  711. package/webdoc/ips/GNSSProperties.d.ts +3 -3
  712. package/webdoc/ips/PathSnappingProperties.d.ts +3 -3
  713. package/webdoc/ips/PositioningService.d.ts +3 -3
  714. package/webdoc/ips/SmoothingProperties.d.ts +3 -3
  715. package/webdoc/support/SlideThumbnail.d.ts +3 -3
  716. package/webdoc/support/types.d.ts +0 -1
  717. package/webdoc/widgets/FloorFilter.d.ts +2 -2
  718. package/webdoc/widgets/TimeSlider.d.ts +2 -2
  719. package/webmap/ApplicationProperties.d.ts +2 -2
  720. package/webmap/Bookmark.d.ts +2 -2
  721. package/webmap/InitialViewProperties.d.ts +2 -2
  722. package/webmap/background/ColorBackground.d.ts +2 -2
  723. package/webscene/ApplicationProperties.d.ts +2 -2
  724. package/webscene/Environment.d.ts +2 -2
  725. package/webscene/InitialViewProperties.d.ts +3 -3
  726. package/webscene/Presentation.d.ts +3 -3
  727. package/webscene/Slide.d.ts +4 -4
  728. package/webscene/SlideLegendInfo.d.ts +3 -3
  729. package/webscene/SunLighting.d.ts +2 -2
  730. package/webscene/VirtualLighting.d.ts +2 -2
  731. package/webscene/background/Background.d.ts +2 -2
  732. package/webscene/support/Description.d.ts +3 -3
  733. package/webscene/support/FeatureReference.d.ts +3 -3
  734. package/webscene/support/FeatureReferenceId.d.ts +3 -3
  735. package/webscene/support/LayerReference.d.ts +3 -3
  736. package/webscene/support/SlideElements.d.ts +3 -3
  737. package/webscene/support/SlideEnvironment.d.ts +3 -3
  738. package/webscene/support/SlideGround.d.ts +3 -3
  739. package/webscene/support/SlidePopupInfo.d.ts +3 -3
  740. package/webscene/support/SlideVisibleLayer.d.ts +3 -3
  741. package/webscene/support/Title.d.ts +3 -3
  742. package/widgets/Attachments/types.d.ts +0 -1
  743. package/widgets/BasemapGallery/support/PortalBasemapsSource.d.ts +2 -2
  744. package/widgets/BasemapLayerList/BasemapLayerListViewModel.d.ts +2 -2
  745. package/widgets/BasemapLayerList/types.d.ts +0 -1
  746. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.d.ts +20 -2
  747. package/widgets/BatchAttributeForm.d.ts +2 -0
  748. package/widgets/BatchAttributeForm.js +1 -1
  749. package/widgets/Bookmarks/BookmarksViewModel.d.ts +2 -2
  750. package/widgets/CatalogLayerList/CatalogLayerListViewModel.d.ts +2 -2
  751. package/widgets/CatalogLayerList/types.d.ts +0 -1
  752. package/widgets/CoordinateConversion/CoordinateConversionViewModel.d.ts +2 -2
  753. package/widgets/Daylight/DaylightViewModel.d.ts +2 -2
  754. package/widgets/Daylight/types.d.ts +0 -1
  755. package/widgets/DirectionalPad/DirectionalPadViewModel.d.ts +2 -2
  756. package/widgets/DirectionalPad/types.d.ts +0 -1
  757. package/widgets/Directions/DirectionsViewModel.d.ts +2 -2
  758. package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
  759. package/widgets/Editor/EditorViewModel.d.ts +2 -2
  760. package/widgets/Editor/UpdateFeaturesWorkflowData.d.ts +2 -2
  761. package/widgets/Editor/Workflow.d.ts +2 -2
  762. package/widgets/Editor/workflowUtils.js +1 -1
  763. package/widgets/ElevationProfile/ElevationProfileLine.d.ts +2 -2
  764. package/widgets/Feature/support/featureUtils.js +1 -1
  765. package/widgets/FeatureForm/FeatureFormViewModel.d.ts +3 -3
  766. package/widgets/FeatureTable/FeatureTableViewModel.d.ts +43 -4
  767. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  768. package/widgets/FeatureTable/Grid/GridViewModel.d.ts +2 -2
  769. package/widgets/FeatureTable/Grid/types.d.ts +7 -1
  770. package/widgets/FeatureTable/support/ColumnTemplateBase.d.ts +3 -3
  771. package/widgets/FeatureTable/support/EditableColumnTemplateMixin.d.ts +0 -1
  772. package/widgets/FeatureTable/support/FeatureStore.js +1 -1
  773. package/widgets/FeatureTable/support/TableTemplate.d.ts +3 -3
  774. package/widgets/FeatureTable.d.ts +43 -4
  775. package/widgets/FeatureTable.js +1 -1
  776. package/widgets/FeatureTemplates/FeatureTemplatesViewModel.d.ts +2 -2
  777. package/widgets/Features/FeaturesViewModel.d.ts +2 -2
  778. package/widgets/Histogram/types.d.ts +0 -1
  779. package/widgets/HistogramRangeSlider/types.d.ts +0 -1
  780. package/widgets/Home/HomeViewModel.d.ts +2 -2
  781. package/widgets/Home.d.ts +1 -2
  782. package/widgets/LayerList/LayerListViewModel.d.ts +2 -2
  783. package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
  784. package/widgets/LinkChartLayoutSwitcher/LinkChartLayoutSwitcherViewModel.d.ts +2 -2
  785. package/widgets/Measurement/types.d.ts +0 -1
  786. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.d.ts +3 -3
  787. package/widgets/OrientedImageryViewer/types.d.ts +0 -1
  788. package/widgets/Print/CustomTemplate.d.ts +2 -2
  789. package/widgets/Print/PrintViewModel.d.ts +3 -3
  790. package/widgets/ScaleRangeSlider/types.d.ts +0 -1
  791. package/widgets/Search/SearchSource.d.ts +2 -2
  792. package/widgets/Search/SearchViewModel.d.ts +8 -4
  793. package/widgets/Search/SearchViewModel.js +1 -1
  794. package/widgets/Search/support/layerSearchUtils.js +1 -1
  795. package/widgets/Search.js +1 -1
  796. package/widgets/ShadowCast/types.d.ts +0 -1
  797. package/widgets/Sketch/SketchViewModel.d.ts +2 -2
  798. package/widgets/Swipe/types.d.ts +0 -1
  799. package/widgets/TableList/TableListViewModel.d.ts +2 -2
  800. package/widgets/TimeSlider/TimeSliderViewModel.d.ts +2 -2
  801. package/widgets/Track/types.d.ts +0 -1
  802. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceViewModel.d.ts +2 -2
  803. package/widgets/ValuePicker/types.d.ts +0 -1
  804. package/widgets/Weather/types.d.ts +0 -1
  805. package/widgets/Widget.d.ts +3 -3
  806. package/widgets/support/GeolocationPositioning.d.ts +2 -2
  807. package/widgets/support/GridControls/GridControlsViewModel.d.ts +2 -2
  808. package/widgets/support/GridControls/types.d.ts +0 -1
  809. package/widgets/support/forms/types.d.ts +0 -1
  810. package/widgets/types.d.ts +1 -2
  811. package/assets/esri/core/workers/chunks/21ac84b5c7dedcfd747d.js +0 -2
  812. package/assets/esri/core/workers/chunks/22503abc06354741d28a.js +0 -1
  813. package/assets/esri/core/workers/chunks/3606fc5537c4d11b9554.js +0 -1
  814. package/assets/esri/core/workers/chunks/3ad7ec46adecf00ae1c2.js +0 -1
  815. package/assets/esri/core/workers/chunks/3b67aa46a60e35469bf8.js +0 -1
  816. package/assets/esri/core/workers/chunks/4b09d92c51c4619b548a.js +0 -1
  817. package/assets/esri/core/workers/chunks/52684c2abc9e8ce793cf.js +0 -1
  818. package/assets/esri/core/workers/chunks/532935f420ed5f13c011.js +0 -1
  819. package/assets/esri/core/workers/chunks/5348e4dc55428de9bba7.js +0 -1
  820. package/assets/esri/core/workers/chunks/534ed6574e4a1613ba05.js +0 -2
  821. package/assets/esri/core/workers/chunks/53a1c6e008287d1f12f0.js +0 -1
  822. package/assets/esri/core/workers/chunks/5aee84e827e6fcc9c4c4.js +0 -2
  823. package/assets/esri/core/workers/chunks/5fc6cada83bf8462d54c.js +0 -1
  824. package/assets/esri/core/workers/chunks/7b2f848947b296c7c785.js +0 -1
  825. package/assets/esri/core/workers/chunks/7f76566d9b3801742387.js +0 -1
  826. package/assets/esri/core/workers/chunks/81e395a93c67749c6487.js +0 -1
  827. package/assets/esri/core/workers/chunks/8deae3a426eceae73186.js +0 -1
  828. package/assets/esri/core/workers/chunks/90a53bfe95ed687c28c1.js +0 -2
  829. package/assets/esri/core/workers/chunks/911912b0ef7ffed875be.js +0 -1
  830. package/assets/esri/core/workers/chunks/a4ee92867ad5cde25aed.js +0 -1
  831. package/assets/esri/core/workers/chunks/ab3e457c82fa9bd0203f.js +0 -1
  832. package/assets/esri/core/workers/chunks/af3d4eba6fe24db3ceba.js +0 -1
  833. package/assets/esri/core/workers/chunks/b1085fa91724e2d3b24f.js +0 -1
  834. package/assets/esri/core/workers/chunks/b48b0f512a1cd7226bdc.js +0 -1
  835. package/assets/esri/core/workers/chunks/c0265669fb616f052b65.js +0 -1
  836. package/assets/esri/core/workers/chunks/c16115cfbca879dd6717.js +0 -1
  837. package/assets/esri/core/workers/chunks/d3c69c9cb3d9c3f5c67a.js +0 -1
  838. package/assets/esri/core/workers/chunks/d477def8bfd8482596d1.js +0 -1
  839. package/assets/esri/core/workers/chunks/dd30c1f5da0af72becd1.js +0 -1
  840. package/assets/esri/core/workers/chunks/dfef6e3d7bbf099de498.js +0 -1
  841. package/assets/esri/core/workers/chunks/e3d3fc87789fd711f161.js +0 -2
  842. package/assets/esri/core/workers/chunks/ef519984fa691aad8d87.js +0 -2
  843. package/layers/support/ElevationTileData.d.ts +0 -32
  844. package/rest/geoprocessor/execute.d.ts +0 -6
  845. /package/layers/buildingSublayers/{utils.d.ts → types.d.ts} +0 -0
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as e}from"tslib";import t from"../../../Color.js";import{addTokenParameter as i}from"../../../kernel.js";import s from"../../../request.js";import l from"../../../core/Accessor.js";import{isSome as r}from"../../../core/arrayUtils.js";import n from"../../../core/Collection.js";import has from"../../../core/has.js";import{JSONMap as a}from"../../../core/jsonMap.js";import o from"../../../core/Logger.js";import{clamp as u}from"../../../core/mathUtils.js";import{debounce as c}from"../../../core/promiseUtils.js";import{on as d,watch as y,initial as h,whenOnce as f}from"../../../core/reactiveUtils.js";import{px2pt as m}from"../../../core/screenUtils.js";import{parseWhereClause as p}from"../../../core/sql.js";import{addQueryParameters as g}from"../../../core/urlUtils.js";import{property as b,subclass as _}from"../../../core/accessorSupport/decorators.js";import{EffectView as S}from"../../../layers/effects/EffectView.js";import{getPixelValueRange as w}from"../../../layers/raster/formats/pixelRangeUtils.js";import{getEffectiveDisplayFilter as v}from"../../../layers/support/displayFilterUtils.js";import{ExportImageParameters as L}from"../../../layers/support/ExportImageParameters.js";import{collectFields as E,collectArcadeFieldNames as F}from"../../../layers/support/fieldUtils.js";import{isFeatureLayer as C,supportsFieldConfiguration as I}from"../../../layers/support/layerUtils.js";import{fromJSON as R}from"../../../renderers/support/jsonUtils.js";import{isSupportedRenderer3D as V}from"../../../renderers/support/rendererConversion.js";import D from"../../../renderers/visualVariables/SizeVariable.js";import x from"../../../renderers/visualVariables/support/SizeVariableLegendOptions.js";import{updateReferenceSizeSymbol as z}from"../../../smartMapping/renderers/support/referenceSizeUtils.js";import T from"../../../symbols/SimpleFillSymbol.js";import j from"../../../symbols/SimpleMarkerSymbol.js";import{applyCIMSymbolColor as O}from"../../../symbols/support/cimSymbolUtils.js";import{renderSymbol as k}from"../../../symbols/support/renderUtils.js";import{renderColorRampPreviewHTML as M,renderDotDensityPreviewHTML as P,renderPieChartPreviewHTML as U,renderPreviewHTML as A}from"../../../symbols/support/symbolUtils.js";import{getCSSFilterFromEffectList as B,isVolumetricSymbol as N}from"../../../symbols/support/utils.js";import{getEffectiveClusterSizeVariable as $}from"./clusterUtils.js";import{getColorFromPointCloudStops as H,getRampStopsForPointCloud as q,getStretchRampStops as W,getRampStops as G}from"./colorRampUtils.js";import{getHeatmapRampStops as J}from"./heatmapRampUtils.js";import{getRotationAngleForFocus as Z,getRelationshipRampElement as Q}from"./relationshipRampUtils.js";import{getRampStops as K,realWorldMaxSize as X,realWorldMinSize as Y}from"./sizeRampUtils.js";import{specialCharsLessThan as ee,specialCharsGreaterThan as te,getAuthoringInfoVisualVariableByTheme as ie,getSymbolForFlowRenderer as se,formatValue as le,getFormatOptions as re,mergeWhereClauses as ne,getMedianColor as ae,rgbImgSource as oe,getFormatOptionsForVisualVariable as ue}from"./utils.js";import{formatNumberLabel as ce}from"../../smartMapping/support/utils.js";const de=16,ye="https://utility.arcgis.com/sharing/tools/legend",he="esri.layers.ImageryLayer",fe="esri.layers.ImageryTileLayer",me="esri.layers.WCSLayer",pe=/^\s*(return\s+)?\$view\.scale\s*(;)?\s*$/i,ge=new a({esriGeometryPoint:"point",esriGeometryMultipoint:"multipoint",esriGeometryPolyline:"polyline",esriGeometryPolygon:"polygon",esriGeometryMultiPatch:"multipatch"}),be=new j({size:6,outline:{color:[128,128,128,.5],width:.5}}),_e=new T({style:"solid"});function Se(e){return"flow"===e.type}function we(e){return"vector-field"===e.type}function ve(e){return"raster-colormap"===e.type}function Le(e){return"raster-stretch"===e.type}function Ee(e){return"raster-shaded-relief"===e.type}function Fe(e){return"esri.renderers.SimpleRenderer"===e.declaredClass}function Ce(e){return"esri.renderers.ClassBreaksRenderer"===e.declaredClass}function Ie(e){return"esri.renderers.UniqueValueRenderer"===e.declaredClass}function Re(e){return"esri.renderers.HeatmapRenderer"===e.declaredClass}function Ve(e){return xe(e)||ze(e)||Te(e)||De(e)}function De(e){return"esri.renderers.PointCloudRGBRenderer"===e.declaredClass}function xe(e){return"esri.renderers.PointCloudClassBreaksRenderer"===e.declaredClass}function ze(e){return"esri.renderers.PointCloudStretchRenderer"===e.declaredClass}function Te(e){return"esri.renderers.PointCloudUniqueValueRenderer"===e.declaredClass}function je(e){return"esri.renderers.DotDensityRenderer"===e.declaredClass}function Oe(e){return"esri.renderers.PieChartRenderer"===e.declaredClass}function ke(e,t){return Fe(e)||Ce(e)||Ie(e)||Re(e)||je(e)||Oe(e)?"2d"===t.type||V(e):Le(e)||ve(e)||Ee(e)||xe(e)||ze(e)||Te(e)||we(e)||Se(e)}function Me(e){return"esri.layers.BuildingSceneLayer"===e.declaredClass}function Pe(e){return"esri.layers.SubtypeGroupLayer"===e.declaredClass}function Ue(e){return"esri.layers.VoxelLayer"===e.declaredClass}function Ae(e){return"esri.layers.WMSLayer"===e.declaredClass}function Be(e){return"esri.layers.WMTSLayer"===e.declaredClass}function Ne(e){return"esri.layers.MapImageLayer"===e.declaredClass}function $e(e){return"esri.layers.TileLayer"===e.declaredClass}function He(e){return e.declaredClass===he}function qe(e){return e.declaredClass===fe}function We(e){return e.declaredClass===me}function Ge(e){return"stretch-ramp"===e.type}function Je(e){const t="authoringInfo"in e?e?.authoringInfo:null;return"univariate-color-size"===t?.type}function Ze(e){const t="authoringInfo"in e?e?.authoringInfo:null;return"univariate-color-size"===t?.type&&"above-and-below"===t?.univariateTheme}function Qe(e){return"sublayers"in e}function Ke(e){return e&&"symbol"in e}function Xe(e,t){const{field:i,field2:s,field3:l,fieldDelimiter:r,valueExpression:n}=e;if(!i)return null;const a=!(!i&&!n||!s&&!l)?t?.toString().split(r||""):[t],o=i?{[i]:a?.[0]}:null;return o&&(s&&(o[s]=a?.[1]),l&&(o[l]=a?.[2])),o}const Ye=new j({style:"path",path:"M10,5 L5,0 0,5 M5,0 L5,15",size:15,outline:{width:1,color:[85,85,85,1]}});let et={};const tt=new WeakMap;let it=class extends l{constructor(e){super(e),this._hasColorRamp=!1,this._hasOpacityRamp=!1,this._hasSizeRamp=!1,this._loading=!1,this._webStyleSymbolCache=new Map,this._dotDensityUrlCache=new Map,this._scaleDrivenSizeVariable=null,this._clusterSizeVariable=null,this._layerDefinitionExpression=null,this._layerDefinitionExpressionClause=null,this._layerDisplayFilter=null,this._layerDisplayFilterClause=null,this.children=new n,this.layerView=null,this.layer=null,this.legendElements=[],this.parent=null,this.hideLayersNotInCurrentView=!1,this.keepCacheOnDestroy=!1,this.respectLayerDefinitionExpression=!1,this.respectLayerVisibility=!0,this.sublayerIds=[],this.title=null,this.view=null}initialize(){const e=()=>this.notifyChange("ready");this.addHandles([d(()=>this.children,"change",t=>{const{added:i,removed:s}=t;i.forEach(t=>{const i=`activeLayerInfo-ready-watcher-${t.layer.uid}`;this.addHandles(y(()=>t.ready,e,h),i)}),s.forEach(e=>this.removeHandles(e.layer.uid)),e()})]),this.keepCacheOnDestroy||(et={})}destroy(){this._webStyleSymbolCache=null,this._dotDensityUrlCache=null,this._scaleDrivenSizeVariable=null,this.keepCacheOnDestroy||(et=null),this._layerDefinitionExpressionClause=null}get cssEffectFilter(){const{layer:e,scale:t}=this,i="effect"in e?e.effect:null;if(!i)return null;const s=new S({effect:i});return s.endTransition(),s.scale=t,B(s,!0)}get loading(){return this.children.length>0?this.children.some(e=>e.loading):this._loading}get opacity(){const e=this.layer.opacity,t=this.parent?.opacity,i=this.layer.parent,s=i&&"uid"in i?this._getParentLayerOpacity(i):null;return null!=t?t*e:null!=s?s*e:e}get ready(){return null===this.layer||(this.children.length>0?this._isGroupActive():this.legendElements.length>0)}get scale(){return this.view?.scale??0}get isScaleDriven(){const e=this.layer;if(null===e)return!1;if("effect"in e&&e.effect&&Array.isArray(e.effect))return!0;if("featureReduction"in e&&e.featureReduction){if("cluster"===e.featureReduction.type)return!0;if("binning"===e.featureReduction.type&&"renderer"in e.featureReduction&&e.featureReduction.renderer)return this._isRendererScaleDriven(e.featureReduction.renderer)}return"renderer"in e&&e.renderer?!!("displayFilterInfo"in e&&e.displayFilterInfo&&Ie(e.renderer))||this._isRendererScaleDriven(e.renderer):this._isLayerScaleDriven(this.layer)}get version(){return this._get("version")+1}async buildLegendElementsForFeatureCollections(e){this._loading=!0;if(!(!this.hideLayersNotInCurrentView||await this._isLayerInCurrentView()))return this.legendElements=[],this._loading=!1,void this.notifyChange("ready");const t=Array.from(e,e=>{if(C(e))return this._getRendererLegendElements(e.renderer,{title:e.title});if(e.featureSet?.features.length){const t=e.layerDefinition,i=t?.drawingInfo,s=i&&R(i.renderer),l=ge.read(t.geometryType);return s?this._getRendererLegendElements(s,{title:e.name,geometryType:l}):(o.getLogger(this).warn("drawingInfo not available!"),null)}return null});try{const e=[],i=await Promise.allSettled(t);for(const t of i)if("fulfilled"===t.status)for(const i of t.value??[])e.push(i);this.legendElements=e}catch(i){o.getLogger(this).warn("error while building legend for layer!",i)}finally{this._loading=!1,this.notifyChange("ready")}}async buildLegendElementsForRenderer(e){try{this._loading=!0;const t=!this.hideLayersNotInCurrentView||await this._isLayerInCurrentView();this.legendElements=t?await this._getRendererLegendElements(e):[]}catch(t){o.getLogger(this).warn("error while building legend for layer!",t)}finally{this._loading=!1,this.notifyChange("ready")}}async buildLegendElementsForFeatureReduction(e){try{this._loading=!0,await this._waitForLayerViewUpdate(this.layerView);const t=!this.hideLayersNotInCurrentView||await this._isLayerInCurrentView();this.legendElements=t?await this._getLegendElementsForFeatureReduction(e):[]}catch(t){o.getLogger(this).warn("error while building legend for layer!",t)}finally{this._loading=!1,this.notifyChange("ready")}}async buildLegendElementsForTools(){this._loading=!0;const e=this.layer;if(Ue(e))await this._constructLegendElementsForVoxelLayer();else if(Be(e))this._constructLegendElementsForWMTSlayer();else if(Ae(e))await this._constructLegendElementsForWMSSublayers();else if(Me(e))await this._constructLegendElementsForBuildingSceneLayer();else if(Ne(e)||$e(e)||Pe(e))await this._constructLegendElementsForSublayers();else{this.removeHandles("imageryLayers-watcher");let t="default";if(He(e)){const i=e;t=(i?.rasterFunction?.functionName||"default")+"_"+(e.bandIds?.length?e.bandIds.join(""):"###")}if(qe(e)||"link-chart"===e.type)return;await this._getLegendLayers(`${e.uid}-${t}`).then(async t=>{this.legendElements=[];const i=t.map(async t=>{if(He(e)){const t=y(()=>[e.rasterFunction,e.bandIds],()=>c(async()=>{et.default=null,e.renderer?await this.buildLegendElementsForRenderer(e.renderer):await this.buildLegendElementsForTools()})());this.addHandles(t,"imageryLayers-watcher")}const i=this._generateSymbolTableElementForLegendLayer(t);i?.infos.length&&(He(e)&&(i.title=e.title),this.legendElements.push(i))});await Promise.allSettled(i)}).catch(e=>{o.getLogger(this).warn("Request to server for legend has failed!",e)})}this._loading=!1,this.notifyChange("ready")}async _isLayerInCurrentView(e){return this._checkFeatureCountForExpression(e,this.view.extent)}_getParentLayerOpacity(e){let t=1;const i=e.parent;return i&&"uid"in i&&(t=this._getParentLayerOpacity(i)),e.opacity*t}_isGroupActive(){return this.children.some(e=>e.ready)}_isRendererScaleDriven(e){if("dot-density"===e.type)return!0;const t="valueExpression"in e?e.valueExpression:null;if(pe.test(t))return!0;const i="visualVariables"in e?e.visualVariables:null;return!!i?.some(e=>this._isScaleDrivenSizeVariable(e))||this._hasScaleDrivenSymbols(e)}_hasScaleDrivenSymbols(e){switch(e.type){case"simple":return this._isScaleDrivenSymbol(e.symbol);case"class-breaks":return this._isScaleDrivenSymbol(e.defaultSymbol)||e.classBreakInfos.some(e=>this._isScaleDrivenSymbol(e.symbol));case"unique-value":return this._isScaleDrivenSymbol(e.defaultSymbol)||!!e.uniqueValueInfos?.some(e=>this._isScaleDrivenSymbol(e.symbol))}return!1}_isScaleDrivenSymbol(e){if("cim"===e?.type){const{primitiveOverrides:t,minScale:i,maxScale:s}=e.data,l=t?.some(e=>(e.valueExpressionInfo?.expression||"").includes("$view.scale"))??!1;return null!=i||null!=s||l}return!1}_isScaleDrivenSizeVariable(e){if(e&&"size"!==e.type)return!1;const t=e,i=t.minSize,s=t.maxSize;return!("object"!=typeof i||!i||!this._isScaleDrivenSizeVariable(i))||(!("object"!=typeof s||!s||!this._isScaleDrivenSizeVariable(s))||pe.test(t.valueExpression))}_isLayerScaleDriven(e){if("minScale"in e&&e.minScale>0||"maxScale"in e&&e.maxScale>0)return!0;if("sublayers"in e&&e.sublayers)return e.sublayers.some(e=>this._isLayerScaleDriven(e));const t=e.parent;if(!1===e.loaded&&t&&Ne(t)&&"source"in e&&e.source&&"map-layer"===e.source.type)for(const i of t.sourceJSON.layers??[])if(i.id===e.source.mapLayerId&&(i.minScale>0||i.maxScale>0))return!0;return!1}async _constructLegendElementsForVoxelLayer(){this._loading=!0,this.legendElements=[],this.removeHandles("voxel-style-watcher"),this.removeHandles("voxel-current-variable");const e=this.layer;this.addHandles(y(()=>e.currentVariableId,()=>this._constructLegendElementsForVoxelLayer()),"voxel-current-variable"),this.addHandles(y(()=>e.getVariableStyles(),()=>this._constructLegendElementsForVoxelLayer()),"voxel-style-watcher");const t=e.getVariableStyle(null),i=[];if(t)if(t.uniqueValues?.length){const e=[];t.uniqueValues.forEach(t=>{t.enabled&&e.push({label:t.label||`${t.value}`,value:t.value,symbol:new T({color:t.color,outline:null})})}),e.length&&i.push({type:"symbol-table",title:t.label,infos:e})}else if(t.transferFunction){const{colorStops:e,stretchRange:s}=t.transferFunction,l=e.toArray().reverse(),r=s.map((e,t)=>`${0===t?ee:te} ${ce(e)}`).reverse(),n=l.map(e=>({color:e.color,value:null,label:null}));n[0].label=r[0],n[n.length-1].label=r[1],i.push({type:"color-ramp",title:t.label,infos:n,preview:M(l.map(e=>e.color))})}await this._generatePreviewsForLegendElements(i,{opacity:e.opacity}),this.legendElements=i,this._loading=!1,this.notifyChange("ready")}_constructLegendElementsForWMTSlayer(){this._loading=!0,this.legendElements=[],this.removeHandles("wmts-activeLayer-watcher");const e=this.layer.activeLayer;this.addHandles(y(()=>{const{layer:e}=this;return e&&"activeLayer"in e&&e.activeLayer},()=>this._constructLegendElementsForWMTSlayer()),"wmts-activeLayer-watcher");const t=e.styleId?e.styles?.find(({id:t})=>t===e.styleId)?.legendUrl:void 0;t&&(this.legendElements=[{type:"symbol-table",title:e.title,infos:[{src:t,opacity:this.opacity}]}]),this._loading=!1,this.notifyChange("ready")}async _constructLegendElementsForWMSSublayers(){this._loading=!0,this.legendElements=[],this.removeHandles("wms-sublayers-watcher");const e=this.layer;let t=null;(e.customParameters||e.customLayerParameters)&&(t={...e.customParameters,...e.customLayerParameters}),this.addHandles(y(()=>{const{layer:e}=this;return e&&"sublayers"in e&&e.sublayers},()=>this._constructLegendElementsForWMSSublayers()),"wms-sublayers-watcher"),this.legendElements=await this._generateLegendElementsForWMSSublayers(e.sublayers,t),this._loading=!1,this.notifyChange("ready")}async _generateLegendElementsForWMSSublayers(e,t){const i=this.layer,s=[];this.addHandles(e.on("change",()=>this._constructLegendElementsForWMSSublayers()),"wms-sublayers-watcher");const l=this.sublayerIds?.map(e=>i.findSublayerById(e))?.filter(r)??[],n=l.length?l:e.toArray();for(const r of n){const e=y(()=>[r.title,r.visible,r.legendEnabled],()=>this._constructLegendElementsForWMSSublayers());if(this.addHandles(e,"wms-sublayers-watcher"),!this.respectLayerVisibility||r.visible&&r.legendEnabled){const e=await this._generateSymbolTableElementForWMSSublayer(r,t);e?.infos.length&&s.unshift(e)}}return s}async _generateSymbolTableElementForWMSSublayer(e,t){if(!e.legendUrl&&e.sublayers){const i=(await this._generateLegendElementsForWMSSublayers(e.sublayers,t)).filter(e=>e);return{type:"symbol-table",title:e.title,infos:i}}return this._generateSymbolTableElementForLegendUrl(e,t)}async _generateSymbolTableElementForLegendUrl(e,t){let i=e.legendUrl;if(!i)return;const l={type:"symbol-table",title:e.title||e.name||String(e.id??""),infos:[]};t&&(i=g(i,t));let r=null;const n=e.layer?.opacity;try{r=(await s(i,{responseType:"image"})).data,r&&(r.style.opacity=n)}catch{}return l.infos.push({src:i,preview:r,opacity:n}),l}_getLegendLayers(e,t){const i=et&&et[e];return i?Promise.resolve(i):this._legendRequest(t).then(t=>{const i=t.layers;return et[e]=i,i})}_legendRequest(e){const t=this.layer;let i={f:"json",dynamicLayers:e};if(He(t)){const e=t.exportImageServiceParameters.rasterFunction;if(e&&(i.renderingRule=JSON.stringify(e.functionDefinition?.toJSON()||e.toJSON())),t.bandIds&&(i.bandIds=t.bandIds.join()),t.raster||t.viewId||t.customParameters){const{raster:e,viewId:s,customParameters:l}=t;i={raster:e,viewId:s,...i,...l}}}let l=t.url.replace(/(\/)+$/,"");if("version"in t&&+t.version>=10.01){const e=l.indexOf("?");e>-1?l=l.slice(0,e)+"/legend"+l.slice(e):l+="/legend"}else{const e=l.toLowerCase().indexOf("/rest/"),t=-1===e?l:l.slice(0,e)+l.slice(e+5);l=ye+"?soapUrl="+encodeURI(t)+"&returnbytes=true"}return s(l,{query:i}).then(e=>e.data)}async _constructLegendElementsForBuildingSceneLayer(){this._loading=!0,this.legendElements=[],this.removeHandles("sublayers-watcher");const e=this.layer;this.addHandles(y(()=>e.sublayers,()=>this._constructLegendElementsForBuildingSceneLayer()),"sublayers-watcher");try{this.legendElements=await this._generateLegendElementsForBuildingSublayers(e.sublayers,this.opacity)}catch(t){o.getLogger(this).warn("Request to server for legend has failed!",t)}finally{this._loading=!1,this.notifyChange("ready")}}async _generateLegendElementsForBuildingSublayers(e,t){let i=[];this.addHandles(e.on("change",()=>this._constructLegendElementsForBuildingSceneLayer()),"sublayers-watcher");const s=e.toArray();for(const l of s){const e=y(()=>["renderer"in l&&l.renderer,l.opacity,l.title,l.visible],()=>this._constructLegendElementsForBuildingSceneLayer());if(this.addHandles(e,"sublayers-watcher"),!this.respectLayerVisibility||l.visible){const e=null!=l?.opacity?l.opacity:null,s=null!=e?e*t:t;if("building-group"===l.type){const e={type:"symbol-table",title:l.title,infos:[]},t=await this._generateLegendElementsForBuildingSublayers(l.sublayers,s);e.infos.push(...t),i=[e,...i]}else if(l.renderer){i=[...await this._getRendererLegendElements(l.renderer,{title:l.title,opacity:s,sublayer:l}),...i]}}}return i.filter(e=>!!e&&(!("infos"in e)||!e.infos||e.infos.length>0))}async _constructLegendElementsForSublayers(){this._loading=!0,this.removeHandles("sublayers-watcher");const e=this.layer;if(!(Ne(e)||$e(e)||Pe(e))||this.hideLayersNotInCurrentView&&!await this._isLayerInCurrentView())return this.legendElements=[],this._loading=!1,void this.notifyChange("ready");this.addHandles(y(()=>e.sublayers,()=>this._constructLegendElementsForSublayers),"sublayers-watcher");try{this.legendElements=await this._generateLegendElementsForSublayers(e.sublayers,this.opacity)}catch(t){o.getLogger(this).warn("Request to server for legend has failed!",t)}finally{this._loading=!1,this.notifyChange("ready")}}async _generateLegendElementsForSublayers(e,t,i){const s=this.layer;let l=[];this.addHandles(e.on("change",()=>this._constructLegendElementsForSublayers()),"sublayers-watcher");let n=e.toArray();!i&&this.sublayerIds&&this.sublayerIds.length&&(n=Pe(s)?this.sublayerIds.map(e=>s.findSublayerForSubtypeCode(e)).filter(r):this.sublayerIds.map(e=>s.findSublayerById(e)).filter(r));for(const r of n){const e=y(()=>[r.renderer,r.opacity,r.title,r.visible,r.legendEnabled],()=>this._constructLegendElementsForSublayers());this.addHandles(e,"sublayers-watcher");const s=r.createQuery().where,n=!this.hideLayersNotInCurrentView||await this._isLayerInCurrentView(s),a=!this.respectLayerVisibility||r.visible&&r.legendEnabled&&this._isSublayerInScale(r);if(n&&a){const e=null!=r?.opacity?r.opacity:null,s=null!=e?e*t:t,n=!Qe(r)||r.originIdOf("renderer")>2&&!r.sublayers;if(r.renderer&&n){await r.load();l=[...await this._getRendererLegendElements(r.renderer,{title:r.title,opacity:s,sublayer:r}),...l]}else if(Qe(r)){const e=await this._generateSymbolTableElementForSublayer(r,s,i);e&&l.unshift(e)}}}return l.filter(e=>!!e&&(!("infos"in e)||!e.infos||e.infos.length>0))}async _generateSymbolTableElementForSublayer(e,t,i){if(!i){i=new Map;const t=this.layer,s=e.source;let l=null;if(!(!s||"map-layer"===s.type&&s.mapLayerId===e.id&&(!s.gdbVersion||s.gdbVersion===("gdbVersion"in t&&t.gdbVersion)))||e.originIdOf("renderer")>2||e.originIdOf("labelingInfo")>2||e.originIdOf("labelsVisible")>2){const e=new L({layer:this.layer});l=e.hasDynamicLayers?e.dynamicLayers:null,e.destroy()}const r=l||`${t.uid}-default`;(await this._getLegendLayers(r,l)).forEach(e=>i.set(e.layerId,e))}const s=i.get(e.id);if((!s||s?.subLayerIds&&s.defaultVisibility)&&e.sublayers){const s=await this._generateLegendElementsForSublayers(e.sublayers,t,i);return{type:"symbol-table",title:e.title,infos:s}}return this._generateSymbolTableElementForLegendLayer(s,e,t)}_generateSymbolTableElementForLegendLayer(e,t,i){if(!e?.legend||this.respectLayerVisibility&&!this._isLegendLayerInScale(e,t))return null;const s=t?.renderer;let l=t?.title||e.layerName;if(s&&(!t||t?.originIdOf("renderer")>2)){const e=t?.title||this._getRendererTitle(s,t);e&&(l&&"string"!=typeof e&&"title"in e&&(e.title=l),l=e)}const r={type:"symbol-table",title:l,legendType:e.legendType||null,infos:[]},n=t?this._sanitizeLegendForSublayer(e.legend.slice(),t):e.legend;return e.legendGroups&&e.legendGroups.length>0?e.legendGroups.forEach(s=>{const l={type:"symbol-table",title:s.heading,legendType:e.legendType||null,infos:this._generateSymbolTableElementInfosForLegendLayer(n.filter(e=>e.groupId===s.id),e.layerId,s.heading||r.title||t?.title,i)};l.infos?.length>0&&r.infos.push(l)}):r.infos=this._generateSymbolTableElementInfosForLegendLayer(n,e.layerId,r.title||t?.title,i),r.infos.length>0?r:null}_generateSymbolTableElementInfosForLegendLayer(e,t,s,l){return e.map(e=>{let r=e.url;if(e.imageData&&e.imageData.length>0)r=`data:image/png;base64,${e.imageData}`;else{if(r.startsWith("http"))return null;r=i(`${this.layer.url}/${t}/images/${r}`)}let n=e.label;return"<all other values>"===n&&(n="others"),{previewAriaLabel:n||s,label:n,src:r,opacity:l??this.opacity,width:e.width,height:e.height}}).filter(r)}_isSublayerInScale(e){const t=e.minScale||0,i=e.maxScale||0;return!(t>0&&t<this.scale||i>this.scale)}_isLegendLayerInScale(e,t){const i=t||this.layer;let s=null,l=null,r=!0;return!i.minScale&&0!==i.minScale||!i.maxScale&&0!==i.maxScale?(0===e.minScale&&i.tileInfo&&(s=i.tileInfo.lods[0].scale),0===e.maxScale&&i.tileInfo&&(l=i.tileInfo.lods[i.tileInfo.lods.length-1].scale)):(s=Math.min(i.minScale,e.minScale)||i.minScale||e.minScale,l=Math.max(i.maxScale,e.maxScale)),(s>0&&s<this.scale||l>this.scale)&&(r=!1),r}_sanitizeLegendForSublayer(e,t){if("version"in this.layer&&+this.layer.version<10.1||0===e.length)return e;const i=t.renderer,s=e.some(e=>e.values);let l=0,r=null;return s&&e.some((e,t)=>(e.values||(l=t,r=e,r.label||(r.label="others")),null!=r)),i?"unique-value"===i.type?r&&(e.splice(l,1),e.push(r)):"class-breaks"===i.type&&(r&&e.splice(l,1),i.legendOptions?.order||e.reverse(),r&&e.push(r)):r&&(e.splice(l,1),e.push(r)),e}async _getRendererLegendElements(e,t={}){if(!ke(e,this.view))return o.getLogger(this).warn(`Renderer of type '${e.type}' not supported!`),[];if(Ve(e))return this._constructPointCloudRendererLegendElements(e,t);if(je(e))return this._constructDotDensityRendererLegendElements(e);const i=await this._loadRenderer(e);return Oe(i)?this._constructPieChartRendererLegendElements(i):this._constructRendererLegendElements(i,t)}async _getLegendElementsForFeatureReduction(e){let t=null;return"binning"===e.type?t=e.renderer:"cluster"===e.type&&(t=this._getClusterRenderer(e)),t?this._getRendererLegendElements(t,{isFeatureReductionRenderer:!0}):[]}_getPointCloudRendererTitle(e){return(e.legendOptions?.title||e.field)??""}async _constructPointCloudRendererLegendElements(e,t={}){const i=t.title,s=[];let l=null,r=null;if(xe(e))l={type:"symbol-table",title:i||this._getPointCloudRendererTitle(e),infos:[]},e.colorClassBreakInfos.forEach(e=>{l.infos.unshift({label:e.label||e.minValue+" - "+e.maxValue,value:[e.minValue,e.maxValue],symbol:this._getAppliedCloneSymbol(be,e.color)})});else if(ze(e)){const t=e.stops;let s=null;if(t?.length&&(1===t.length&&(s=t[0].color),!s)){const e=t[0].value,i=t[t.length-1].value;if(null!=e&&null!=i){s=H(e+(i-e)/2,t)}}l={type:"symbol-table",title:null,infos:[{label:null,value:null,symbol:this._getAppliedCloneSymbol(be,s||be.color)}]};const n=q(e.stops??[])??[];r={type:"color-ramp",title:i||this._getPointCloudRendererTitle(e),infos:n,preview:M(n.map(e=>e.color))}}else Te(e)&&(l={type:"symbol-table",title:i||this._getPointCloudRendererTitle(e),infos:[]},e.colorUniqueValueInfos?.forEach(e=>{l.infos.push({label:e.label||e.values.join(", "),value:e.values.join(", "),symbol:this._getAppliedCloneSymbol(be,e.color)})}));return l?.infos.length&&s.push(l),r?.infos.length&&s.push(r),await this._generatePreviewsForLegendElements(s,{opacity:this.opacity,symbolConfig:{applyColorModulation:!!e.colorModulation}}),s}async _getElementInfoForDotDensity(e,t){const{color:i,label:s,valueExpressionTitle:l}=t,{backgroundColor:r,outline:n,dotSize:a}=e,o=this.cssEffectFilter,u=a+"-"+i+"-"+r+"-"+(n&&JSON.stringify(n.toJSON()))+"-"+o,c=this._dotDensityUrlCache,d=c.has(u)?c.get(u):P(e,i);c.set(u,d);const y={shape:{type:"image",x:0,y:0,width:d.width,height:d.height,src:d.src},fill:null,stroke:null,offset:[0,0]},h=k([[y]],[d.width,d.height],{cssEffectFilter:this.cssEffectFilter});return{opacity:1,src:d.src,preview:h,width:d.width,height:d.height,previewAriaLabel:s||l}}async _constructDotDensityRendererLegendElements(e){const t=e.calculateDotValue(this.view.scale),i=e.legendOptions?.unit,s={type:"symbol-table",title:{value:t&&Math.round(t),unit:i||""},infos:[]};for(const l of e.attributes){const t=await this._getElementInfoForDotDensity(e,l);t.label=l.label||l.valueExpressionTitle||l.field,s.infos.push(t)}return[s]}async _constructPieChartRendererLegendElements(e){const t=[];let i=null;const s=e.outline;e.attributes.forEach(e=>{const i=new j({color:e.color,outline:s}),l=e.label||e.valueExpressionTitle||e.field;t.push({label:l,symbol:i})});const l=t.length?[...t]:[];if(e.othersCategory?.color&&0!==e.othersCategory?.threshold){const l=new j({color:e.othersCategory.color,outline:s});i=e.othersCategory.label||"Other",t.push({label:i,symbol:l})}if(e.defaultColor?.a){const i=new j({color:e.defaultColor,outline:s});t.push({label:e.defaultLabel,symbol:i})}const r=await this._getVisualVariableLegendElements(e,this.layer)||[];if(t.length){r.unshift({type:"symbol-table",title:null,infos:t});const n=l.filter(e=>e.label!==i).map(e=>e.symbol.color).filter(Boolean),a=U(n,{holePercentage:e.holePercentage,backgroundColor:e.backgroundFillSymbol?.color,cssEffectFilter:this.cssEffectFilter,outline:s});r.unshift({type:"pie-chart-ramp",title:this._getRendererTitle(e,this.layer),infos:t,preview:a})}return await this._generatePreviewsForLegendElements(r,{opacity:this.layer.opacity,cssEffectFilter:this.cssEffectFilter}),r}async _getWhereClause(e,t,i){const s=await p(e,i),l=new Set,{field:r,field2:n,field3:a}=t;E(l,i,[r,n,a]),await F(l,i,null,t.valueExpression);const o=new Set(Array.from(l,e=>e.toLowerCase())),u=s?.fieldNames.map(e=>e.toLowerCase());return u?.some(e=>!o.has(e))?null:s}async _processDefinitionExpression(e,t){if(!("definitionExpression"in e))return;const i=e.definitionExpression;i&&this.respectLayerDefinitionExpression?this._layerDefinitionExpression!==i&&(this._layerDefinitionExpressionClause=await this._getWhereClause(i,t,e.fieldsIndex)):this._layerDefinitionExpressionClause=null,this._layerDefinitionExpression=i}async _processDisplayFilter(e,t){if(!("displayFilterInfo"in e))return;const i=e.displayFilterInfo?v(e.displayFilterInfo,this.view):null;return i?.where?this._layerDisplayFilter?.id!==i?.id&&(this._layerDisplayFilterClause=await this._getWhereClause(i.where,t,e.fieldsIndex)):this._layerDisplayFilterClause=null,this._layerDisplayFilter=i,i}async _constructRendererLegendElements(e,t={}){const{title:i,sublayer:s,isFeatureReductionRenderer:l}=t,r=s||this.layer,n=ie(e,"reference-size"),a=ie(e,"spike"),o=l&&"renderer"in r&&r.renderer?r.renderer:e;let u=null;Ie(o)&&(await this._processDefinitionExpression(r,o),u=await this._processDisplayFilter(r,o)),this._hasColorRamp=!1,this._hasOpacityRamp=!1,this._hasSizeRamp=!1,this._scaleDrivenSizeVariable=null;const c=await this._getVisualVariableLegendElements(e,r)||[],d={type:"symbol-table",title:i||this._getRendererTitle(e,r),infos:[]};let y=null,h=!1;const f=new Set;if(Se(e)&&!this._hasSizeRamp){const t=await se(e);d.infos.push({label:null,symbol:t})}else if(Je(e)){let t=i;const s=Ze(e)?"univariate-above-and-below-ramp":"univariate-color-size-ramp",l=c.findIndex(e=>"color-ramp"===e.type),r=-1!==l?c.splice(l,1)[0]:null,n=c.findIndex(e=>"size-ramp"===e.type),a=-1!==n?c.splice(n,1)[0]:null,o=[];r&&(t=r.title,o.push(r)),a&&(t=a.title,o.push(a)),o.length>0&&c.push({type:s,title:t,infos:o})}else if(Re(e)){const t=J(e);c.push({type:"heatmap-ramp",title:i||this._getRendererTitle(e,r),infos:t,preview:M(t.map(e=>e.color),{cssEffectFilter:this.cssEffectFilter})})}else if(Ie(e)){const t=e.authoringInfo;if("relationship"===t?.type){const{numClasses:i,field1:s,field2:l}=t,n=t.focus;if(i&&s&&l){const t=[s,l];let a=Z(n)||0;for(const e of t){const{field:t,normalizationField:i,label:s}=e,l=s||{field:this._getFieldAlias(t,r),normField:i&&this._getFieldAlias(i,r)},n=Ye.clone();n.angle=a,d.infos.push({label:l,symbol:n}),f.add(n),a+=90}const o=Q({focus:n,numClasses:i,infos:e.uniqueValueInfos??[]});c.unshift(o)}}else if(He(this.layer)||qe(this.layer)){const{uniqueValueInfos:t}=e;if(t)for(const e of t)e.symbol&&await this._checkClausesForUVR(o,e.value)&&d.infos.push({label:e.label||e.value,value:e.value,symbol:e.symbol})}else{const{field:t,field2:s,field3:l,fieldDelimiter:a,valueExpression:c,defaultSymbol:y}=e,f=!(!t&&!c||!s&&!l),m=u?.title?.trim(),p=[],{uniqueValueGroups:g}=e;if(g)for(const e of g){const i={type:"symbol-table",title:e.heading,infos:[]},{classes:u}=e;if(u)for(const e of u){const{symbol:u,values:d}=e;if(u){const y=[],h=[];for(const e of d??[]){const{value:i,value2:n,value3:o}=e,u=[],d=[];(t||c)&&(u.push(i),d.push(this._getDomainName(t,i,r)??le(i,re(r,t,this.view.timeZone)))),s&&(u.push(n),d.push(this._getDomainName(s,n,r)??le(n,re(r,s,this.view.timeZone)))),l&&(u.push(o),d.push(this._getDomainName(l,o,r)??le(o,re(r,l,this.view.timeZone)))),y.push(f?u.join(a||""):u[0]),h.push(d.join(" - "))}const m=y.join(", ");let p=e.label;if(!p){const e=h.filter(Boolean);p=e.length?e.join(", "):m}let g=u;"cim"===g.type&&n&&(g=g.clone(),z(g,{innerDotSize:.5*de,outerRingSize:de}));let b=!1;for(const e of y)if(b=await this._checkClausesForUVR(o,e),b)break;b&&i.infos.push({label:p,value:m,symbol:g})}}i.infos.length&&p.push(i)}if(p.length){const t=p[0];if(1===p.length&&"title"in t&&!t.title){const e=t.infos?.filter(Ke)??[];d.infos.push(...e)}else y&&(p.push({type:"symbol-table",infos:[{label:e.defaultLabel||"others",symbol:y}]}),h=!0),d.infos.push(...p);i||e.legendOptions?.title||e.valueExpressionTitle?m&&(d.title=`${d.title} (${m})`):d.title=m}}e.defaultSymbol&&!h&&(d.infos.push({label:e.defaultLabel||"others",symbol:e.defaultSymbol}),h=!0)}else if(Ce(e)){if(!n&&!a){y=this._isUnclassedRenderer(e);if(!y||!this._hasSizeRamp){const t=e.classBreakInfos.filter(({symbol:e})=>e),i="ascending-values"===e.legendOptions?.order;for(const{label:e,minValue:s,maxValue:l,symbol:n}of t){const t=e||(y?null:`${s} - ${l}`),a={previewAriaLabel:t||d.title||r.title,label:t,value:[s,l],symbol:n};i?d.infos.push(a):d.infos.unshift(a)}y&&(d.title=null),this._updateInfosForClassedSizeRenderer(e,d.infos)}e.defaultSymbol&&!y&&(d.infos.push({label:e.defaultLabel||"others",symbol:e.defaultSymbol}),h=!0)}}else if(Le(e))if(qe(this.layer)||We(this.layer)){const t=await this._constructTileImageryStretchRendererElements(e);Ge(t)?c.push(t):d.infos=t}else{const t=this.layer;let i,s;e.customStatistics?.length&&({min:i,max:s}=e.customStatistics[0]);let l=[],r=t.serviceRasterInfo;if(t.rasterFunction)try{r=await t.generateRasterInfo(t.rasterFunction)}catch{}const n=w(r.pixelType);if(1===r.bandCount){const l=t.bandIds?.[0]||0;i=null!=i?i:r.statistics?r.statistics[l].min:n[0],s=null!=s?s:r.statistics?r.statistics[l].max:n[1],i||s?c.push(await this._getStretchLegendElements(e,{min:i,max:s})):this._getServerSideLegend()}else if(1===t.bandIds?.length)i=null!=i?i:r.statistics?r.statistics[t.bandIds[0]].min:n[0],s=null!=s?s:r.statistics?r.statistics[t.bandIds[0]].max:n[1],i||s?c.push(await this._getStretchLegendElements(e,{min:i,max:s})):this._getServerSideLegend();else if(r.bandCount>=3){const{bandInfos:e}=r,{bandIds:i}=t;e.length>=r.bandCount?3===i?.length?(l=i.map(t=>e[t].name),d.infos=this._createSymbolTableElementMultiBand(l)):"lerc"===t.format?(l=[0,1,2].map(t=>e[t].name),d.infos=this._createSymbolTableElementMultiBand(l)):this._getServerSideLegend():"lerc"===t.format?(l=["band1","band2","band3"],d.infos=this._createSymbolTableElementMultiBand(l)):this._getServerSideLegend()}else this._getServerSideLegend()}else if(ve(e))e.colormapInfos.forEach(e=>{d.infos.push({label:e.label,value:e.value,symbol:this._getAppliedCloneSymbol(_e,e.color)})});else if(Fe(e)){let i=e.symbol;switch(t.geometryType){case"point":i="pointSymbol"in r?r.pointSymbol:null;break;case"polyline":i="lineSymbol"in r?r.lineSymbol:null;break;case"polygon":i="polygonSymbol"in r?r.polygonSymbol:null}const s=this._clusterSizeVariable&&this._getClusterSymbol()||!this._hasSizeRamp;e.symbol&&s&&d.infos.push({previewAriaLabel:e.label||d.title||r.title,label:e.label,symbol:i})}else if(we(e)){e.outputUnit&&(this.title="("+e.toJSON().outputUnit+")"),d.title=e.attributeField;const t=e.getClassBreakInfos();t?.length?t.forEach(e=>{d.infos.push({label:e.minValue+" - "+e.maxValue,symbol:e.symbol})}):d.infos.push({label:e.attributeField,symbol:e.getDefaultSymbol()})}else Ee(e)&&c.push(await this._getStretchLegendElements(e,{min:0,max:255}));const m=e.defaultSymbol;!m||h||Fe(e)||y&&!this._hasColorRamp&&!this._hasSizeRamp&&!this._hasOpacityRamp||c.push({type:"symbol-table",infos:[{label:e.defaultLabel||"others",symbol:m}]}),d.infos.length&&c.unshift(d);const p=null==t.opacity?this.opacity:t.opacity,g=this._isTallSymbol("visualVariables"in e?e.visualVariables:null),b=He(this.layer)||qe(this.layer);return await this._generatePreviewsForLegendElements(c,{opacity:p,symbolConfig:{isTall:g,isSquareFill:b},cssEffectFilter:this.cssEffectFilter},{arrowMarkerSymbols:f}),e=null,c}async _waitForLayerViewUpdate(e){await f(()=>!e.updating)}async _checkFeatureCountForExpression(e,t){const i=this.layerView;if(!(i&&"createQuery"in i&&"queryFeatureCount"in i))return!0;try{await this._waitForLayerViewUpdate(i);const s=i.createQuery();e&&(s.where=ne(s.where,e)),t&&(s.geometry=t);return await i.queryFeatureCount(s)>0}catch{return!0}}async _checkClausesForUVR(e,t){const i=Xe(e,t);if(!i)return!0;return(!!!(!this._layerDefinitionExpressionClause&&this._layerDefinitionExpression&&this.respectLayerDefinitionExpression||!this._layerDisplayFilterClause&&this._layerDisplayFilter?.where)||await this._checkFeatureCountForExpression(`${e.field} = ${t}`))&&(!this._layerDefinitionExpressionClause||this._layerDefinitionExpressionClause.testFeature(i))&&(!this._layerDisplayFilterClause||this._layerDisplayFilterClause.testFeature(i))}_getServerSideLegend(){setTimeout(()=>this.buildLegendElementsForTools(),0)}_getAllInfos(e){const t=e?.infos;return t?t.reduce((e,t)=>e.concat(this._getAllInfos(t)),[]):[e]}async _constructTileImageryStretchRendererElements(e){const t=this.layer,i=t.symbolizer.rasterInfo??t.raster.rasterInfo;let s,l;const r=e?.customStatistics?.length?e.customStatistics:i?.statistics;if(r)({min:s,max:l}=r[0]);else{const e=w(i.pixelType);s=e[0],l=e[1]}if(t.hasStandardTime()&&(s=t.getStandardTimeValue(s),l=t.getStandardTimeValue(l)),1===i.bandCount||1===t.bandIds?.length)return this._getStretchLegendElements(e,{min:s,max:l});const n=(t?.bandIds?.length?t.bandIds:Array.from(Array(Math.min(i.bandCount,3)).keys())).map(e=>i.bandInfos[e].name);return n.length<3?n.push(n[1]):n.length>3&&n.splice(3),this._createSymbolTableElementMultiBand(n)}async _getStretchLegendElements(e,t){const i=e.colorRamp?.toJSON(),s=W(i,t);return{type:"stretch-ramp",title:"",infos:s,preview:M(s.map(e=>e.color))}}_getClusterSymbol(){const e=this.layer,t="featureReduction"in e&&e.featureReduction,i=t&&"symbol"in t&&t.renderer;return i&&!0!==i?.authoringInfo?.isAutoGenerated?null:t&&"symbol"in t?t.symbol:null}async _getSizeLegendElement(e,t,i,s){return{type:"size-ramp",title:this._clusterSizeVariable?this._getClusterTitle(t):e,infos:await K(i,t,await ae(i),this.scale,this.view,s,this._clusterSizeVariable?this._getClusterSymbol():null)}}_createSymbolTableElementMultiBand(e){const t=[],i=["red","green","blue"];return e.forEach((e,s)=>{t.push({label:{colorName:i[s],bandName:e},src:oe[s],opacity:this.opacity??1})}),t}_updateInfosForClassedSizeRenderer(e,t){const i="class-breaks-size"===e.authoringInfo?.type,s=e.classBreakInfos.some(e=>N(e.symbol));if(i&&s){const i=X,s=Y,l=e.classBreakInfos.length,r=(i-s)/(l>1?l-1:l);t.forEach((e,t)=>{e.size=i-r*t})}}_isTallSymbol(e){let t=!1,i=!1;if(e)for(let s=0;s<e.length&&(!t||!i);s++){const l=e[s];"size"===l.type&&("height"===l.axis&&(t=!0),"width-and-depth"===l.axis&&(i=!0))}return t&&i}async _generatePreviewsForLegendElements(e,t,i){const s=[];for(const l of e)for(const e of l.infos??[])if("infos"in e&&e.infos&&s.push(this._generatePreviewsForLegendElements([e],t,i)),Ke(e)&&e.symbol&&!e.preview){let r=!0;if("cim"===e.symbol.type){const{minScale:t,maxScale:i}=e.symbol.data;(t&&t<this.scale||i&&i>this.scale)&&(r=!1)}r&&s.push(this._generateSymbolPreviewForInfo(e,{...t,clipBloomEffect:"theme"in l&&"spike"===l.theme,cssEffectFilter:i?.arrowMarkerSymbols?.has(e.symbol)?null:t.cssEffectFilter},i?{applyScaleDrivenSize:!i.arrowMarkerSymbols?.has(e.symbol)}:void 0))}await Promise.all(s)}async _getSize(e,t){let i=null==e.size&&this._hasSizeRamp?m(22):e.size;if(this._scaleDrivenSizeVariable&&t?.applyScaleDrivenSize){const{getSize:t}=await import("../../../renderers/visualVariables/support/visualVariableUtils.js");i=t(this._scaleDrivenSizeVariable,null,{view:this.view.type,scale:this.scale,shape:"simple-marker"===e.symbol.type?e.symbol.style:null})}return i}_getPreviewCIMOptions(e){return{style:"legend",cimOptions:{allowScalingUp:this._hasSizeRamp||!(!this._scaleDrivenSizeVariable||!e?.applyScaleDrivenSize),viewParams:this.isScaleDriven?{viewingMode:"2d"===this.view?.type?"map":this.view?.viewingMode,scale:this.view?.scale}:null}}}async _generateSymbolPreviewForInfo(e,t={},i){const{symbol:s}=e;try{if(t.size=await this._getSize(e,i),t.scale=!1,"cim"===s.type){const e=this._getPreviewCIMOptions(i);t={...t,...e}}e.preview=await A(s,t)}catch{e.preview=null,o.getLogger(this).warn(`Generating symbol preview failed for symbol type: ${s?.type}`)}}_getClusterRenderer(e){this._clusterSizeVariable=null;const t="renderer"in this.layer?this.layer.renderer:null,i=e.renderer?.clone()||t?.clone(),s=$(e,this.layerView,this.view);if(s&&null!=i&&"visualVariables"in i){const t=i.visualVariables?.some(e=>"size"===e.type&&"outline"!==e.target&&!pe.test(e.valueExpression));if(!t){if("clusterMinSize"in e&&"clusterMaxSize"in e){const{clusterMinSize:t,clusterMaxSize:i}=e;s.legendOptions=new x({showLegend:t!==i})}const t=i.visualVariables||[];i.visualVariables=t.concat([s]),this._clusterSizeVariable=s}}return i}async _loadRenderer(e){if(tt.has(e))return tt.get(e);const t=[],i=e.clone(),s=await ae(i);if(Ce(i)||Ie(i)){const e=(i.classBreakInfos||i.uniqueValueInfos).map(e=>this._fetchSymbol(e.symbol,s).then(t=>{e.symbol=t}).catch(()=>{e.symbol=null}));Array.prototype.push.apply(t,e)}return t.push(this._fetchSymbol(i.symbol||i.defaultSymbol,i.defaultSymbol?null:s).then(e=>{this._applySymbolToRenderer(i,e,Fe(i))}).catch(()=>{this._applySymbolToRenderer(i,null,Fe(i))})),await Promise.allSettled(t),tt.set(e,i),i}_applySymbolToRenderer(e,t,i){i?e.symbol=t:e.defaultSymbol=t}async _fetchSymbol(e,t){if(!e)throw new Error;if("web-style"===e.type){const i=this._webStyleSymbolCache;try{const s=await e.fetchSymbol({cache:i});return this._getAppliedCloneSymbol(s,t)}catch{throw o.getLogger(this).warn("Fetching web-style failed!"),new Error}}return this._getAppliedCloneSymbol(e,t)}_getAppliedCloneSymbol(e,i){if(!e||!i)return e;const s=e.clone(),l=i&&i.toRgba();return s.type.includes("3d")?this._applyColorTo3dSymbol(s,l):"cim"===s.type?O(s,i):s.color&&(s.color=new t(l||s.color)),s}_applyColorTo3dSymbol(e,i){i&&e.symbolLayers.forEach(e=>{e&&(e.material||(e.material={}),e.material.color=new t(i))})}async _getVisualVariableLegendElements(e,t){if(!("visualVariables"in e)||"vector-field"===e.type)return null;const i=e.visualVariables??[],s=[],l=[],n=[],a=ie(e,"reference-size")??ie(e,"spike");let o;const c=this._clusterSizeVariable;if(2===a?.sizeStops?.length&&(Ce(e)||Ie(e))){const[e,t]=a.sizeStops,i=c?c.minDataValue:e.value,s=c?c.maxDataValue:t.value;o=new D({field:a.field??void 0,normalizationField:a.normalizationField,minSize:u(e.size,10,100),maxSize:u(t.size,50,150),minDataValue:i,maxDataValue:s}),l.push(o)}for(const r of i)if("color"===r.type)s.push(r);else if("size"===r.type){if("cluster_count"===r.field&&o)continue;l.push(r)}else"opacity"===r.type&&n.push(r);const d=[...s,...l,...n];let y,h;if(0===s.length&&Ce(e)&&e.classBreakInfos&&1===e.classBreakInfos.length){const t=e.classBreakInfos[0];y=t&&t.symbol}if(0===s.length&&Fe(e)&&(y=e.symbol),y)if(y.type.includes("3d")){const e=y.symbolLayers.at(0);"water"===e.type?null!=e.color&&(h=e.color):null!=e.material?.color&&(h=e.material.color)}else y.url||(h=y.color);const f=this.cssEffectFilter;return(await Promise.all(d.map(async i=>{if(!1!==i.legendOptions?.showLegend){const s=Se(e)?i.field:this._getRampTitle(i,t);let l=null;const r=ue(t,i,this.view.timeZone);if("color"===i.type){const e=await G(i,null,r)??[];l={type:"color-ramp",title:s,infos:e,preview:M(e.map(e=>e.color),{cssEffectFilter:f})},this._hasColorRamp||(this._hasColorRamp=e.length>0)}else if("size"===i.type&&"outline"!==i.target)pe.test(i.valueExpression)?this._clusterSizeVariable||(this._scaleDrivenSizeVariable=i):(l=await this._getSizeLegendElement(s,i,e,r),o===i&&"spike"===a?.theme&&(l.theme=a.theme),this._hasSizeRamp||(this._hasSizeRamp=!(null==l.infos||!l.infos.length)));else if("opacity"===i.type){const e=await G(i,h,r)??[];l={type:"opacity-ramp",title:s,infos:e,preview:M(e.map(e=>e.color),{cssEffectFilter:f})},this._hasOpacityRamp||(this._hasOpacityRamp=e.length>0)}return l?.infos?l:null}}))).filter(r)}_getDomainName(e,t,i){if(e&&"function"!=typeof e){const s="getField"in i&&i.getField?.(e),l=s&&"getFieldDomain"in i&&i.getFieldDomain?i.getFieldDomain(s.name,{excludeImpliedDomains:has("esri-widget-legacy-field-domain-calculation")}):null;return"coded-value"===l?.type?l.getName(t):null}return null}_getClusterTitle(e){const t=this.layer,i=e.field;if("featureReduction"in t&&"cluster"===t.featureReduction?.type){const e=t.featureReduction,s="popupTemplate"in e&&e.popupTemplate,l=s&&s.fieldInfos;if(l)for(const t of l)if(t.fieldName===i)return"cluster_count"===i?t.label||{showCount:!0}:t.label}return{showCount:!0}}_getRampTitle(e,t){let i=e.field,s=e.normalizationField,l=!1,r=!1,n=!1,a=null;i="function"==typeof i?null:i,s="function"==typeof s?null:s;const o=e.legendOptions?.title;if(null!=o)a=o;else if(e.valueExpressionTitle)a=e.valueExpressionTitle;else{if("renderer"in t&&t.renderer&&"authoringInfo"in t.renderer&&t.renderer.authoringInfo?.visualVariables){const e=t.renderer.authoringInfo.visualVariables;for(let t=0;t<e.length;t++){const i=e[t];if("color"===i.type){if("ratio"===i.style){l=!0;break}if("percent"===i.style){r=!0;break}if("percent-of-total"===i.style){n=!0;break}}}}a={field:i&&this._getFieldAlias(i,t),normField:s&&this._getFieldAlias(s,t),ratio:l,ratioPercent:r,ratioPercentTotal:n}}return a}_getRendererTitle(e,t){const i=e;if(i.legendOptions?.title)return i.legendOptions.title;if(i.valueExpressionTitle)return i.valueExpressionTitle;let s=i.field,l=null,r=null;if(Ce(i)&&(l=i.normalizationField,r="percent-of-total"===i.normalizationType),s="function"==typeof s?null:s,l="function"==typeof l?null:l,Ie(i)){const{field2:e,field3:l,fieldDelimiter:r}=i;let n=s&&this._getFieldAlias(s,t);return e&&(n=`<${n}>${r}<${this._getFieldAlias(e,t)}>`,l&&(n=`${n}${r}<${this._getFieldAlias(l,t)}>`)),n}let n=null;return(s||l)&&(n={field:s&&this._getFieldAlias(s,t),normField:l&&this._getFieldAlias(l,t),normByPct:r}),n}_getFieldAlias(e,t){const i="featureReduction"in t&&t.featureReduction;if(I(t)&&!i)return t.getFieldAlias(e)||e;const s="popupTemplate"in t?t.popupTemplate:null,l=s?.fieldInfos;let r=l?.find(t=>e===t.fieldName),n=null;"getField"in t&&t.getField?n=t.getField(e):"fieldsIndex"in t&&t.fieldsIndex&&(n=t.fieldsIndex.get(e));let a=null;i&&(r??="popupTemplate"in i?i.popupTemplate?.fieldInfos?.find(t=>e?.toLowerCase()===t.fieldName?.toLowerCase()):void 0,"fields"in i&&i.fields&&(a=i.fields.find(t=>t.name?.toLowerCase()===e?.toLowerCase())));const o=r||n||a;let u=null;return o&&(u=r?.label||n?.alias||a?.alias||"name"in o&&o.name||"fieldName"in o&&o.fieldName||null),u}_isUnclassedRenderer(e){const t=e.visualVariables;let i=!1;return Ce(e)&&e.classBreakInfos&&1===e.classBreakInfos.length&&t&&(i=e.field?t.some(t=>!(!t||e.field!==t.field||(e.normalizationField||t.normalizationField)&&e.normalizationField!==t.normalizationField)):!!t.length),i}};e([b()],it.prototype,"_loading",void 0),e([b()],it.prototype,"children",void 0),e([b({readOnly:!0})],it.prototype,"cssEffectFilter",null),e([b()],it.prototype,"layerView",void 0),e([b()],it.prototype,"layer",void 0),e([b()],it.prototype,"legendElements",void 0),e([b({readOnly:!0})],it.prototype,"loading",null),e([b({readOnly:!0})],it.prototype,"opacity",null),e([b()],it.prototype,"parent",void 0),e([b({readOnly:!0,dependsOn:[]})],it.prototype,"ready",null),e([b()],it.prototype,"hideLayersNotInCurrentView",void 0),e([b()],it.prototype,"keepCacheOnDestroy",void 0),e([b()],it.prototype,"respectLayerDefinitionExpression",void 0),e([b()],it.prototype,"respectLayerVisibility",void 0),e([b({readOnly:!0})],it.prototype,"scale",null),e([b()],it.prototype,"sublayerIds",void 0),e([b({readOnly:!0})],it.prototype,"isScaleDriven",null),e([b()],it.prototype,"title",void 0),e([b({readOnly:!0,dependsOn:["ready"],value:0})],it.prototype,"version",null),e([b()],it.prototype,"view",void 0),it=e([_("esri.widgets.Legend.support.ActiveLayerInfo")],it);export{it as default};
5
+ import{__decorate as e}from"tslib";import t from"../../../Color.js";import{addTokenParameter as i}from"../../../kernel.js";import s from"../../../request.js";import l from"../../../core/Accessor.js";import{isSome as r}from"../../../core/arrayUtils.js";import n from"../../../core/Collection.js";import{JSONMap as a}from"../../../core/jsonMap.js";import o from"../../../core/Logger.js";import{clamp as u}from"../../../core/mathUtils.js";import{debounce as c}from"../../../core/promiseUtils.js";import{on as d,watch as y,initial as h,whenOnce as f}from"../../../core/reactiveUtils.js";import{px2pt as m}from"../../../core/screenUtils.js";import{parseWhereClause as p}from"../../../core/sql.js";import{addQueryParameters as g}from"../../../core/urlUtils.js";import{property as b,subclass as _}from"../../../core/accessorSupport/decorators.js";import{EffectView as S}from"../../../layers/effects/EffectView.js";import{getPixelValueRange as w}from"../../../layers/raster/formats/pixelRangeUtils.js";import{getEffectiveDisplayFilter as v}from"../../../layers/support/displayFilterUtils.js";import{ExportImageParameters as L}from"../../../layers/support/ExportImageParameters.js";import{collectFields as E,collectArcadeFieldNames as F}from"../../../layers/support/fieldUtils.js";import{isFeatureLayer as C,supportsFieldConfiguration as I}from"../../../layers/support/layerUtils.js";import{fromJSON as R}from"../../../renderers/support/jsonUtils.js";import{isSupportedRenderer3D as V}from"../../../renderers/support/rendererConversion.js";import D from"../../../renderers/visualVariables/SizeVariable.js";import x from"../../../renderers/visualVariables/support/SizeVariableLegendOptions.js";import{updateReferenceSizeSymbol as z}from"../../../smartMapping/renderers/support/referenceSizeUtils.js";import T from"../../../symbols/SimpleFillSymbol.js";import j from"../../../symbols/SimpleMarkerSymbol.js";import{applyCIMSymbolColor as O}from"../../../symbols/support/cimSymbolUtils.js";import{renderSymbol as k}from"../../../symbols/support/renderUtils.js";import{renderColorRampPreviewHTML as M,renderDotDensityPreviewHTML as P,renderPieChartPreviewHTML as U,renderPreviewHTML as A}from"../../../symbols/support/symbolUtils.js";import{getCSSFilterFromEffectList as B,isVolumetricSymbol as N}from"../../../symbols/support/utils.js";import{getEffectiveClusterSizeVariable as $}from"./clusterUtils.js";import{getColorFromPointCloudStops as H,getRampStopsForPointCloud as q,getStretchRampStops as W,getRampStops as G}from"./colorRampUtils.js";import{getHeatmapRampStops as J}from"./heatmapRampUtils.js";import{getRotationAngleForFocus as Z,getRelationshipRampElement as Q}from"./relationshipRampUtils.js";import{getRampStops as K,realWorldMaxSize as X,realWorldMinSize as Y}from"./sizeRampUtils.js";import{specialCharsLessThan as ee,specialCharsGreaterThan as te,getAuthoringInfoVisualVariableByTheme as ie,getSymbolForFlowRenderer as se,formatValue as le,getFormatOptions as re,mergeWhereClauses as ne,getMedianColor as ae,rgbImgSource as oe,getFormatOptionsForVisualVariable as ue}from"./utils.js";import{formatNumberLabel as ce}from"../../smartMapping/support/utils.js";const de=16,ye="https://utility.arcgis.com/sharing/tools/legend",he="esri.layers.ImageryLayer",fe="esri.layers.ImageryTileLayer",me="esri.layers.WCSLayer",pe=/^\s*(return\s+)?\$view\.scale\s*(;)?\s*$/i,ge=new a({esriGeometryPoint:"point",esriGeometryMultipoint:"multipoint",esriGeometryPolyline:"polyline",esriGeometryPolygon:"polygon",esriGeometryMultiPatch:"multipatch"}),be=new j({size:6,outline:{color:[128,128,128,.5],width:.5}}),_e=new T({style:"solid"});function Se(e){return"flow"===e.type}function we(e){return"vector-field"===e.type}function ve(e){return"raster-colormap"===e.type}function Le(e){return"raster-stretch"===e.type}function Ee(e){return"raster-shaded-relief"===e.type}function Fe(e){return"esri.renderers.SimpleRenderer"===e.declaredClass}function Ce(e){return"esri.renderers.ClassBreaksRenderer"===e.declaredClass}function Ie(e){return"esri.renderers.UniqueValueRenderer"===e.declaredClass}function Re(e){return"esri.renderers.HeatmapRenderer"===e.declaredClass}function Ve(e){return xe(e)||ze(e)||Te(e)||De(e)}function De(e){return"esri.renderers.PointCloudRGBRenderer"===e.declaredClass}function xe(e){return"esri.renderers.PointCloudClassBreaksRenderer"===e.declaredClass}function ze(e){return"esri.renderers.PointCloudStretchRenderer"===e.declaredClass}function Te(e){return"esri.renderers.PointCloudUniqueValueRenderer"===e.declaredClass}function je(e){return"esri.renderers.DotDensityRenderer"===e.declaredClass}function Oe(e){return"esri.renderers.PieChartRenderer"===e.declaredClass}function ke(e,t){return Fe(e)||Ce(e)||Ie(e)||Re(e)||je(e)||Oe(e)?"2d"===t.type||V(e):Le(e)||ve(e)||Ee(e)||xe(e)||ze(e)||Te(e)||we(e)||Se(e)}function Me(e){return"esri.layers.BuildingSceneLayer"===e.declaredClass}function Pe(e){return"esri.layers.SubtypeGroupLayer"===e.declaredClass}function Ue(e){return"esri.layers.VoxelLayer"===e.declaredClass}function Ae(e){return"esri.layers.WMSLayer"===e.declaredClass}function Be(e){return"esri.layers.WMTSLayer"===e.declaredClass}function Ne(e){return"esri.layers.MapImageLayer"===e.declaredClass}function $e(e){return"esri.layers.TileLayer"===e.declaredClass}function He(e){return e.declaredClass===he}function qe(e){return e.declaredClass===fe}function We(e){return e.declaredClass===me}function Ge(e){return"stretch-ramp"===e.type}function Je(e){const t="authoringInfo"in e?e?.authoringInfo:null;return"univariate-color-size"===t?.type}function Ze(e){const t="authoringInfo"in e?e?.authoringInfo:null;return"univariate-color-size"===t?.type&&"above-and-below"===t?.univariateTheme}function Qe(e){return"sublayers"in e}function Ke(e){return e&&"symbol"in e}function Xe(e,t){const{field:i,field2:s,field3:l,fieldDelimiter:r,valueExpression:n}=e;if(!i)return null;const a=!(!i&&!n||!s&&!l)?t?.toString().split(r||""):[t],o=i?{[i]:a?.[0]}:null;return o&&(s&&(o[s]=a?.[1]),l&&(o[l]=a?.[2])),o}const Ye=new j({style:"path",path:"M10,5 L5,0 0,5 M5,0 L5,15",size:15,outline:{width:1,color:[85,85,85,1]}});let et={};const tt=new WeakMap;let it=class extends l{constructor(e){super(e),this._hasColorRamp=!1,this._hasOpacityRamp=!1,this._hasSizeRamp=!1,this._loading=!1,this._webStyleSymbolCache=new Map,this._dotDensityUrlCache=new Map,this._scaleDrivenSizeVariable=null,this._clusterSizeVariable=null,this._layerDefinitionExpression=null,this._layerDefinitionExpressionClause=null,this._layerDisplayFilter=null,this._layerDisplayFilterClause=null,this.children=new n,this.layerView=null,this.layer=null,this.legendElements=[],this.parent=null,this.hideLayersNotInCurrentView=!1,this.keepCacheOnDestroy=!1,this.respectLayerDefinitionExpression=!1,this.respectLayerVisibility=!0,this.sublayerIds=[],this.title=null,this.view=null}initialize(){const e=()=>this.notifyChange("ready");this.addHandles([d(()=>this.children,"change",t=>{const{added:i,removed:s}=t;i.forEach(t=>{const i=`activeLayerInfo-ready-watcher-${t.layer.uid}`;this.addHandles(y(()=>t.ready,e,h),i)}),s.forEach(e=>this.removeHandles(e.layer.uid)),e()})]),this.keepCacheOnDestroy||(et={})}destroy(){this._webStyleSymbolCache=null,this._dotDensityUrlCache=null,this._scaleDrivenSizeVariable=null,this.keepCacheOnDestroy||(et=null),this._layerDefinitionExpressionClause=null}get cssEffectFilter(){const{layer:e,scale:t}=this,i="effect"in e?e.effect:null;if(!i)return null;const s=new S({effect:i});return s.endTransition(),s.scale=t,B(s,!0)}get loading(){return this.children.length>0?this.children.some(e=>e.loading):this._loading}get opacity(){const e=this.layer.opacity,t=this.parent?.opacity,i=this.layer.parent,s=i&&"uid"in i?this._getParentLayerOpacity(i):null;return null!=t?t*e:null!=s?s*e:e}get ready(){return null===this.layer||(this.children.length>0?this._isGroupActive():this.legendElements.length>0)}get scale(){return this.view?.scale??0}get isScaleDriven(){const e=this.layer;if(null===e)return!1;if("effect"in e&&e.effect&&Array.isArray(e.effect))return!0;if("featureReduction"in e&&e.featureReduction){if("cluster"===e.featureReduction.type)return!0;if("binning"===e.featureReduction.type&&"renderer"in e.featureReduction&&e.featureReduction.renderer)return this._isRendererScaleDriven(e.featureReduction.renderer)}return"renderer"in e&&e.renderer?!!("displayFilterInfo"in e&&e.displayFilterInfo&&Ie(e.renderer))||this._isRendererScaleDriven(e.renderer):this._isLayerScaleDriven(this.layer)}get version(){return this._get("version")+1}async buildLegendElementsForFeatureCollections(e){this._loading=!0;if(!(!this.hideLayersNotInCurrentView||await this._isLayerInCurrentView()))return this.legendElements=[],this._loading=!1,void this.notifyChange("ready");const t=Array.from(e,e=>{if(C(e))return this._getRendererLegendElements(e.renderer,{title:e.title});if(e.featureSet?.features.length){const t=e.layerDefinition,i=t?.drawingInfo,s=i&&R(i.renderer),l=ge.read(t.geometryType);return s?this._getRendererLegendElements(s,{title:e.name,geometryType:l}):(o.getLogger(this).warn("drawingInfo not available!"),null)}return null});try{const e=[],i=await Promise.allSettled(t);for(const t of i)if("fulfilled"===t.status)for(const i of t.value??[])e.push(i);this.legendElements=e}catch(i){o.getLogger(this).warn("error while building legend for layer!",i)}finally{this._loading=!1,this.notifyChange("ready")}}async buildLegendElementsForRenderer(e){try{this._loading=!0;const t=!this.hideLayersNotInCurrentView||await this._isLayerInCurrentView();this.legendElements=t?await this._getRendererLegendElements(e):[]}catch(t){o.getLogger(this).warn("error while building legend for layer!",t)}finally{this._loading=!1,this.notifyChange("ready")}}async buildLegendElementsForFeatureReduction(e){try{this._loading=!0,await this._waitForLayerViewUpdate(this.layerView);const t=!this.hideLayersNotInCurrentView||await this._isLayerInCurrentView();this.legendElements=t?await this._getLegendElementsForFeatureReduction(e):[]}catch(t){o.getLogger(this).warn("error while building legend for layer!",t)}finally{this._loading=!1,this.notifyChange("ready")}}async buildLegendElementsForTools(){this._loading=!0;const e=this.layer;if(Ue(e))await this._constructLegendElementsForVoxelLayer();else if(Be(e))this._constructLegendElementsForWMTSlayer();else if(Ae(e))await this._constructLegendElementsForWMSSublayers();else if(Me(e))await this._constructLegendElementsForBuildingSceneLayer();else if(Ne(e)||$e(e)||Pe(e))await this._constructLegendElementsForSublayers();else{this.removeHandles("imageryLayers-watcher");let t="default";if(He(e)){const i=e;t=(i?.rasterFunction?.functionName||"default")+"_"+(e.bandIds?.length?e.bandIds.join(""):"###")}if(qe(e)||"link-chart"===e.type)return;await this._getLegendLayers(`${e.uid}-${t}`).then(async t=>{this.legendElements=[];const i=t.map(async t=>{if(He(e)){const t=y(()=>[e.rasterFunction,e.bandIds],()=>c(async()=>{et.default=null,e.renderer?await this.buildLegendElementsForRenderer(e.renderer):await this.buildLegendElementsForTools()})());this.addHandles(t,"imageryLayers-watcher")}const i=this._generateSymbolTableElementForLegendLayer(t);i?.infos.length&&(He(e)&&(i.title=e.title),this.legendElements.push(i))});await Promise.allSettled(i)}).catch(e=>{o.getLogger(this).warn("Request to server for legend has failed!",e)})}this._loading=!1,this.notifyChange("ready")}async _isLayerInCurrentView(e){return this._checkFeatureCountForExpression(e,this.view.extent)}_getParentLayerOpacity(e){let t=1;const i=e.parent;return i&&"uid"in i&&(t=this._getParentLayerOpacity(i)),e.opacity*t}_isGroupActive(){return this.children.some(e=>e.ready)}_isRendererScaleDriven(e){if("dot-density"===e.type)return!0;const t="valueExpression"in e?e.valueExpression:null;if(pe.test(t))return!0;const i="visualVariables"in e?e.visualVariables:null;return!!i?.some(e=>this._isScaleDrivenSizeVariable(e))||this._hasScaleDrivenSymbols(e)}_hasScaleDrivenSymbols(e){switch(e.type){case"simple":return this._isScaleDrivenSymbol(e.symbol);case"class-breaks":return this._isScaleDrivenSymbol(e.defaultSymbol)||e.classBreakInfos.some(e=>this._isScaleDrivenSymbol(e.symbol));case"unique-value":return this._isScaleDrivenSymbol(e.defaultSymbol)||!!e.uniqueValueInfos?.some(e=>this._isScaleDrivenSymbol(e.symbol))}return!1}_isScaleDrivenSymbol(e){if("cim"===e?.type){const{primitiveOverrides:t,minScale:i,maxScale:s}=e.data,l=t?.some(e=>(e.valueExpressionInfo?.expression||"").includes("$view.scale"))??!1;return null!=i||null!=s||l}return!1}_isScaleDrivenSizeVariable(e){if(e&&"size"!==e.type)return!1;const t=e,i=t.minSize,s=t.maxSize;return!("object"!=typeof i||!i||!this._isScaleDrivenSizeVariable(i))||(!("object"!=typeof s||!s||!this._isScaleDrivenSizeVariable(s))||pe.test(t.valueExpression))}_isLayerScaleDriven(e){if("minScale"in e&&e.minScale>0||"maxScale"in e&&e.maxScale>0)return!0;if("sublayers"in e&&e.sublayers)return e.sublayers.some(e=>this._isLayerScaleDriven(e));const t=e.parent;if(!1===e.loaded&&t&&Ne(t)&&"source"in e&&e.source&&"map-layer"===e.source.type)for(const i of t.sourceJSON.layers??[])if(i.id===e.source.mapLayerId&&(i.minScale>0||i.maxScale>0))return!0;return!1}async _constructLegendElementsForVoxelLayer(){this._loading=!0,this.legendElements=[],this.removeHandles("voxel-style-watcher"),this.removeHandles("voxel-current-variable");const e=this.layer;this.addHandles(y(()=>e.currentVariableId,()=>this._constructLegendElementsForVoxelLayer()),"voxel-current-variable"),this.addHandles(y(()=>e.getVariableStyles(),()=>this._constructLegendElementsForVoxelLayer()),"voxel-style-watcher");const t=e.getVariableStyle(null),i=[];if(t)if(t.uniqueValues?.length){const e=[];t.uniqueValues.forEach(t=>{t.enabled&&e.push({label:t.label||`${t.value}`,value:t.value,symbol:new T({color:t.color,outline:null})})}),e.length&&i.push({type:"symbol-table",title:t.label,infos:e})}else if(t.transferFunction){const{colorStops:e,stretchRange:s}=t.transferFunction,l=e.toArray().reverse(),r=s.map((e,t)=>`${0===t?ee:te} ${ce(e)}`).reverse(),n=l.map(e=>({color:e.color,value:null,label:null}));n[0].label=r[0],n[n.length-1].label=r[1],i.push({type:"color-ramp",title:t.label,infos:n,preview:M(l.map(e=>e.color))})}await this._generatePreviewsForLegendElements(i,{opacity:e.opacity}),this.legendElements=i,this._loading=!1,this.notifyChange("ready")}_constructLegendElementsForWMTSlayer(){this._loading=!0,this.legendElements=[],this.removeHandles("wmts-activeLayer-watcher");const e=this.layer.activeLayer;this.addHandles(y(()=>{const{layer:e}=this;return e&&"activeLayer"in e&&e.activeLayer},()=>this._constructLegendElementsForWMTSlayer()),"wmts-activeLayer-watcher");const t=e.styleId?e.styles?.find(({id:t})=>t===e.styleId)?.legendUrl:void 0;t&&(this.legendElements=[{type:"symbol-table",title:e.title,infos:[{src:t,opacity:this.opacity}]}]),this._loading=!1,this.notifyChange("ready")}async _constructLegendElementsForWMSSublayers(){this._loading=!0,this.legendElements=[],this.removeHandles("wms-sublayers-watcher");const e=this.layer;let t=null;(e.customParameters||e.customLayerParameters)&&(t={...e.customParameters,...e.customLayerParameters}),this.addHandles(y(()=>{const{layer:e}=this;return e&&"sublayers"in e&&e.sublayers},()=>this._constructLegendElementsForWMSSublayers()),"wms-sublayers-watcher"),this.legendElements=await this._generateLegendElementsForWMSSublayers(e.sublayers,t),this._loading=!1,this.notifyChange("ready")}async _generateLegendElementsForWMSSublayers(e,t){const i=this.layer,s=[];this.addHandles(e.on("change",()=>this._constructLegendElementsForWMSSublayers()),"wms-sublayers-watcher");const l=this.sublayerIds?.map(e=>i.findSublayerById(e))?.filter(r)??[],n=l.length?l:e.toArray();for(const r of n){const e=y(()=>[r.title,r.visible,r.legendEnabled],()=>this._constructLegendElementsForWMSSublayers());if(this.addHandles(e,"wms-sublayers-watcher"),!this.respectLayerVisibility||r.visible&&r.legendEnabled){const e=await this._generateSymbolTableElementForWMSSublayer(r,t);e?.infos.length&&s.unshift(e)}}return s}async _generateSymbolTableElementForWMSSublayer(e,t){if(!e.legendUrl&&e.sublayers){const i=(await this._generateLegendElementsForWMSSublayers(e.sublayers,t)).filter(e=>e);return{type:"symbol-table",title:e.title,infos:i}}return this._generateSymbolTableElementForLegendUrl(e,t)}async _generateSymbolTableElementForLegendUrl(e,t){let i=e.legendUrl;if(!i)return;const l={type:"symbol-table",title:e.title||e.name||String(e.id??""),infos:[]};t&&(i=g(i,t));let r=null;const n=e.layer?.opacity;try{r=(await s(i,{responseType:"image"})).data,r&&(r.style.opacity=n)}catch{}return l.infos.push({src:i,preview:r,opacity:n}),l}_getLegendLayers(e,t){const i=et&&et[e];return i?Promise.resolve(i):this._legendRequest(t).then(t=>{const i=t.layers;return et[e]=i,i})}_legendRequest(e){const t=this.layer;let i={f:"json",dynamicLayers:e};if(He(t)){const e=t.exportImageServiceParameters.rasterFunction;if(e&&(i.renderingRule=JSON.stringify(e.functionDefinition?.toJSON()||e.toJSON())),t.bandIds&&(i.bandIds=t.bandIds.join()),t.raster||t.viewId||t.customParameters){const{raster:e,viewId:s,customParameters:l}=t;i={raster:e,viewId:s,...i,...l}}}let l=t.url.replace(/(\/)+$/,"");if("version"in t&&+t.version>=10.01){const e=l.indexOf("?");e>-1?l=l.slice(0,e)+"/legend"+l.slice(e):l+="/legend"}else{const e=l.toLowerCase().indexOf("/rest/"),t=-1===e?l:l.slice(0,e)+l.slice(e+5);l=ye+"?soapUrl="+encodeURI(t)+"&returnbytes=true"}return s(l,{query:i}).then(e=>e.data)}async _constructLegendElementsForBuildingSceneLayer(){this._loading=!0,this.legendElements=[],this.removeHandles("sublayers-watcher");const e=this.layer;this.addHandles(y(()=>e.sublayers,()=>this._constructLegendElementsForBuildingSceneLayer()),"sublayers-watcher");try{this.legendElements=await this._generateLegendElementsForBuildingSublayers(e.sublayers,this.opacity)}catch(t){o.getLogger(this).warn("Request to server for legend has failed!",t)}finally{this._loading=!1,this.notifyChange("ready")}}async _generateLegendElementsForBuildingSublayers(e,t){let i=[];this.addHandles(e.on("change",()=>this._constructLegendElementsForBuildingSceneLayer()),"sublayers-watcher");const s=e.toArray();for(const l of s){const e=y(()=>["renderer"in l&&l.renderer,l.opacity,l.title,l.visible],()=>this._constructLegendElementsForBuildingSceneLayer());if(this.addHandles(e,"sublayers-watcher"),!this.respectLayerVisibility||l.visible){const e=null!=l?.opacity?l.opacity:null,s=null!=e?e*t:t;if("building-group"===l.type){const e={type:"symbol-table",title:l.title,infos:[]},t=await this._generateLegendElementsForBuildingSublayers(l.sublayers,s);e.infos.push(...t),i=[e,...i]}else if(l.renderer){i=[...await this._getRendererLegendElements(l.renderer,{title:l.title,opacity:s,sublayer:l}),...i]}}}return i.filter(e=>!!e&&(!("infos"in e)||!e.infos||e.infos.length>0))}async _constructLegendElementsForSublayers(){this._loading=!0,this.removeHandles("sublayers-watcher");const e=this.layer;if(!(Ne(e)||$e(e)||Pe(e))||this.hideLayersNotInCurrentView&&!await this._isLayerInCurrentView())return this.legendElements=[],this._loading=!1,void this.notifyChange("ready");this.addHandles(y(()=>e.sublayers,()=>this._constructLegendElementsForSublayers),"sublayers-watcher");try{this.legendElements=await this._generateLegendElementsForSublayers(e.sublayers,this.opacity)}catch(t){o.getLogger(this).warn("Request to server for legend has failed!",t)}finally{this._loading=!1,this.notifyChange("ready")}}async _generateLegendElementsForSublayers(e,t,i){const s=this.layer;let l=[];this.addHandles(e.on("change",()=>this._constructLegendElementsForSublayers()),"sublayers-watcher");let n=e.toArray();!i&&this.sublayerIds&&this.sublayerIds.length&&(n=Pe(s)?this.sublayerIds.map(e=>s.findSublayerForSubtypeCode(e)).filter(r):this.sublayerIds.map(e=>s.findSublayerById(e)).filter(r));for(const r of n){const e=y(()=>[r.renderer,r.opacity,r.title,r.visible,r.legendEnabled],()=>this._constructLegendElementsForSublayers());this.addHandles(e,"sublayers-watcher");const s=r.createQuery().where,n=!this.hideLayersNotInCurrentView||await this._isLayerInCurrentView(s),a=!this.respectLayerVisibility||r.visible&&r.legendEnabled&&this._isSublayerInScale(r);if(n&&a){const e=null!=r?.opacity?r.opacity:null,s=null!=e?e*t:t,n=!Qe(r)||r.originIdOf("renderer")>2&&!r.sublayers;if(r.renderer&&n){await r.load();l=[...await this._getRendererLegendElements(r.renderer,{title:r.title,opacity:s,sublayer:r}),...l]}else if(Qe(r)){const e=await this._generateSymbolTableElementForSublayer(r,s,i);e&&l.unshift(e)}}}return l.filter(e=>!!e&&(!("infos"in e)||!e.infos||e.infos.length>0))}async _generateSymbolTableElementForSublayer(e,t,i){if(!i){i=new Map;const t=this.layer,s=e.source;let l=null;if(!(!s||"map-layer"===s.type&&s.mapLayerId===e.id&&(!s.gdbVersion||s.gdbVersion===("gdbVersion"in t&&t.gdbVersion)))||e.originIdOf("renderer")>2||e.originIdOf("labelingInfo")>2||e.originIdOf("labelsVisible")>2){const e=new L({layer:this.layer});l=e.hasDynamicLayers?e.dynamicLayers:null,e.destroy()}const r=l||`${t.uid}-default`;(await this._getLegendLayers(r,l)).forEach(e=>i.set(e.layerId,e))}const s=i.get(e.id);if((!s||s?.subLayerIds&&s.defaultVisibility)&&e.sublayers){const s=await this._generateLegendElementsForSublayers(e.sublayers,t,i);return{type:"symbol-table",title:e.title,infos:s}}return this._generateSymbolTableElementForLegendLayer(s,e,t)}_generateSymbolTableElementForLegendLayer(e,t,i){if(!e?.legend||this.respectLayerVisibility&&!this._isLegendLayerInScale(e,t))return null;const s=t?.renderer;let l=t?.title||e.layerName;if(s&&(!t||t?.originIdOf("renderer")>2)){const e=t?.title||this._getRendererTitle(s,t);e&&(l&&"string"!=typeof e&&"title"in e&&(e.title=l),l=e)}const r={type:"symbol-table",title:l,legendType:e.legendType||null,infos:[]},n=t?this._sanitizeLegendForSublayer(e.legend.slice(),t):e.legend;return e.legendGroups&&e.legendGroups.length>0?e.legendGroups.forEach(s=>{const l={type:"symbol-table",title:s.heading,legendType:e.legendType||null,infos:this._generateSymbolTableElementInfosForLegendLayer(n.filter(e=>e.groupId===s.id),e.layerId,s.heading||r.title||t?.title,i)};l.infos?.length>0&&r.infos.push(l)}):r.infos=this._generateSymbolTableElementInfosForLegendLayer(n,e.layerId,r.title||t?.title,i),r.infos.length>0?r:null}_generateSymbolTableElementInfosForLegendLayer(e,t,s,l){return e.map(e=>{let r=e.url;if(e.imageData&&e.imageData.length>0)r=`data:image/png;base64,${e.imageData}`;else{if(r.startsWith("http"))return null;r=i(`${this.layer.url}/${t}/images/${r}`)}let n=e.label;return"<all other values>"===n&&(n="others"),{previewAriaLabel:n||s,label:n,src:r,opacity:l??this.opacity,width:e.width,height:e.height}}).filter(r)}_isSublayerInScale(e){const t=e.minScale||0,i=e.maxScale||0;return!(t>0&&t<this.scale||i>this.scale)}_isLegendLayerInScale(e,t){const i=t||this.layer;let s=null,l=null,r=!0;return!i.minScale&&0!==i.minScale||!i.maxScale&&0!==i.maxScale?(0===e.minScale&&i.tileInfo&&(s=i.tileInfo.lods[0].scale),0===e.maxScale&&i.tileInfo&&(l=i.tileInfo.lods[i.tileInfo.lods.length-1].scale)):(s=Math.min(i.minScale,e.minScale)||i.minScale||e.minScale,l=Math.max(i.maxScale,e.maxScale)),(s>0&&s<this.scale||l>this.scale)&&(r=!1),r}_sanitizeLegendForSublayer(e,t){if("version"in this.layer&&+this.layer.version<10.1||0===e.length)return e;const i=t.renderer,s=e.some(e=>e.values);let l=0,r=null;return s&&e.some((e,t)=>(e.values||(l=t,r=e,r.label||(r.label="others")),null!=r)),i?"unique-value"===i.type?r&&(e.splice(l,1),e.push(r)):"class-breaks"===i.type&&(r&&e.splice(l,1),i.legendOptions?.order||e.reverse(),r&&e.push(r)):r&&(e.splice(l,1),e.push(r)),e}async _getRendererLegendElements(e,t={}){if(!ke(e,this.view))return o.getLogger(this).warn(`Renderer of type '${e.type}' not supported!`),[];if(Ve(e))return this._constructPointCloudRendererLegendElements(e,t);if(je(e))return this._constructDotDensityRendererLegendElements(e);const i=await this._loadRenderer(e);return Oe(i)?this._constructPieChartRendererLegendElements(i):this._constructRendererLegendElements(i,t)}async _getLegendElementsForFeatureReduction(e){let t=null;return"binning"===e.type?t=e.renderer:"cluster"===e.type&&(t=this._getClusterRenderer(e)),t?this._getRendererLegendElements(t,{isFeatureReductionRenderer:!0}):[]}_getPointCloudRendererTitle(e){return(e.legendOptions?.title||e.field)??""}async _constructPointCloudRendererLegendElements(e,t={}){const i=t.title,s=[];let l=null,r=null;if(xe(e))l={type:"symbol-table",title:i||this._getPointCloudRendererTitle(e),infos:[]},e.colorClassBreakInfos.forEach(e=>{l.infos.unshift({label:e.label||e.minValue+" - "+e.maxValue,value:[e.minValue,e.maxValue],symbol:this._getAppliedCloneSymbol(be,e.color)})});else if(ze(e)){const t=e.stops;let s=null;if(t?.length&&(1===t.length&&(s=t[0].color),!s)){const e=t[0].value,i=t[t.length-1].value;if(null!=e&&null!=i){s=H(e+(i-e)/2,t)}}l={type:"symbol-table",title:null,infos:[{label:null,value:null,symbol:this._getAppliedCloneSymbol(be,s||be.color)}]};const n=q(e.stops??[])??[];r={type:"color-ramp",title:i||this._getPointCloudRendererTitle(e),infos:n,preview:M(n.map(e=>e.color))}}else Te(e)&&(l={type:"symbol-table",title:i||this._getPointCloudRendererTitle(e),infos:[]},e.colorUniqueValueInfos?.forEach(e=>{l.infos.push({label:e.label||e.values.join(", "),value:e.values.join(", "),symbol:this._getAppliedCloneSymbol(be,e.color)})}));return l?.infos.length&&s.push(l),r?.infos.length&&s.push(r),await this._generatePreviewsForLegendElements(s,{opacity:this.opacity,symbolConfig:{applyColorModulation:!!e.colorModulation}}),s}async _getElementInfoForDotDensity(e,t){const{color:i,label:s,valueExpressionTitle:l}=t,{backgroundColor:r,outline:n,dotSize:a}=e,o=this.cssEffectFilter,u=a+"-"+i+"-"+r+"-"+(n&&JSON.stringify(n.toJSON()))+"-"+o,c=this._dotDensityUrlCache,d=c.has(u)?c.get(u):P(e,i);c.set(u,d);const y={shape:{type:"image",x:0,y:0,width:d.width,height:d.height,src:d.src},fill:null,stroke:null,offset:[0,0]},h=k([[y]],[d.width,d.height],{cssEffectFilter:this.cssEffectFilter});return{opacity:1,src:d.src,preview:h,width:d.width,height:d.height,previewAriaLabel:s||l}}async _constructDotDensityRendererLegendElements(e){const t=e.calculateDotValue(this.view.scale),i=e.legendOptions?.unit,s={type:"symbol-table",title:{value:t&&Math.round(t),unit:i||""},infos:[]};for(const l of e.attributes){const t=await this._getElementInfoForDotDensity(e,l);t.label=l.label||l.valueExpressionTitle||l.field,s.infos.push(t)}return[s]}async _constructPieChartRendererLegendElements(e){const t=[];let i=null;const s=e.outline;e.attributes.forEach(e=>{const i=new j({color:e.color,outline:s}),l=e.label||e.valueExpressionTitle||e.field;t.push({label:l,symbol:i})});const l=t.length?[...t]:[];if(e.othersCategory?.color&&0!==e.othersCategory?.threshold){const l=new j({color:e.othersCategory.color,outline:s});i=e.othersCategory.label||"Other",t.push({label:i,symbol:l})}if(e.defaultColor?.a){const i=new j({color:e.defaultColor,outline:s});t.push({label:e.defaultLabel,symbol:i})}const r=await this._getVisualVariableLegendElements(e,this.layer)||[];if(t.length){r.unshift({type:"symbol-table",title:null,infos:t});const n=l.filter(e=>e.label!==i).map(e=>e.symbol.color).filter(Boolean),a=U(n,{holePercentage:e.holePercentage,backgroundColor:e.backgroundFillSymbol?.color,cssEffectFilter:this.cssEffectFilter,outline:s});r.unshift({type:"pie-chart-ramp",title:this._getRendererTitle(e,this.layer),infos:t,preview:a})}return await this._generatePreviewsForLegendElements(r,{opacity:this.layer.opacity,cssEffectFilter:this.cssEffectFilter}),r}async _getWhereClause(e,t,i){const s=await p(e,i),l=new Set,{field:r,field2:n,field3:a}=t;E(l,i,[r,n,a]),await F(l,i,null,t.valueExpression);const o=new Set(Array.from(l,e=>e.toLowerCase())),u=s?.fieldNames.map(e=>e.toLowerCase());return u?.some(e=>!o.has(e))?null:s}async _processDefinitionExpression(e,t){if(!("definitionExpression"in e))return;const i=e.definitionExpression;i&&this.respectLayerDefinitionExpression?this._layerDefinitionExpression!==i&&(this._layerDefinitionExpressionClause=await this._getWhereClause(i,t,e.fieldsIndex)):this._layerDefinitionExpressionClause=null,this._layerDefinitionExpression=i}async _processDisplayFilter(e,t){if(!("displayFilterInfo"in e))return;const i=e.displayFilterInfo?v(e.displayFilterInfo,this.view):null;return i?.where?this._layerDisplayFilter?.id!==i?.id&&(this._layerDisplayFilterClause=await this._getWhereClause(i.where,t,e.fieldsIndex)):this._layerDisplayFilterClause=null,this._layerDisplayFilter=i,i}async _constructRendererLegendElements(e,t={}){const{title:i,sublayer:s,isFeatureReductionRenderer:l}=t,r=s||this.layer,n=ie(e,"reference-size"),a=ie(e,"spike"),o=l&&"renderer"in r&&r.renderer?r.renderer:e;let u=null;Ie(o)&&(await this._processDefinitionExpression(r,o),u=await this._processDisplayFilter(r,o)),this._hasColorRamp=!1,this._hasOpacityRamp=!1,this._hasSizeRamp=!1,this._scaleDrivenSizeVariable=null;const c=await this._getVisualVariableLegendElements(e,r)||[],d={type:"symbol-table",title:i||this._getRendererTitle(e,r),infos:[]};let y=null,h=!1;const f=new Set;if(Se(e)&&!this._hasSizeRamp){const t=await se(e);d.infos.push({label:null,symbol:t})}else if(Je(e)){let t=i;const s=Ze(e)?"univariate-above-and-below-ramp":"univariate-color-size-ramp",l=c.findIndex(e=>"color-ramp"===e.type),r=-1!==l?c.splice(l,1)[0]:null,n=c.findIndex(e=>"size-ramp"===e.type),a=-1!==n?c.splice(n,1)[0]:null,o=[];r&&(t=r.title,o.push(r)),a&&(t=a.title,o.push(a)),o.length>0&&c.push({type:s,title:t,infos:o})}else if(Re(e)){const t=J(e);c.push({type:"heatmap-ramp",title:i||this._getRendererTitle(e,r),infos:t,preview:M(t.map(e=>e.color),{cssEffectFilter:this.cssEffectFilter})})}else if(Ie(e)){const t=e.authoringInfo;if("relationship"===t?.type){const{numClasses:i,field1:s,field2:l}=t,n=t.focus;if(i&&s&&l){const t=[s,l];let a=Z(n)||0;for(const e of t){const{field:t,normalizationField:i,label:s}=e,l=s||{field:this._getFieldAlias(t,r),normField:i&&this._getFieldAlias(i,r)},n=Ye.clone();n.angle=a,d.infos.push({label:l,symbol:n}),f.add(n),a+=90}const o=Q({focus:n,numClasses:i,infos:e.uniqueValueInfos??[]});c.unshift(o)}}else if(He(this.layer)||qe(this.layer)){const{uniqueValueInfos:t}=e;if(t)for(const e of t)e.symbol&&await this._checkClausesForUVR(o,e.value)&&d.infos.push({label:e.label||e.value,value:e.value,symbol:e.symbol})}else{const{field:t,field2:s,field3:l,fieldDelimiter:a,valueExpression:c,defaultSymbol:y}=e,f=!(!t&&!c||!s&&!l),m=u?.title?.trim(),p=[],{uniqueValueGroups:g}=e;if(g)for(const e of g){const i={type:"symbol-table",title:e.heading,infos:[]},{classes:u}=e;if(u)for(const e of u){const{symbol:u,values:d}=e;if(u){const y=[],h=[];for(const e of d??[]){const{value:i,value2:n,value3:o}=e,u=[],d=[];(t||c)&&(u.push(i),d.push(this._getDomainName(t,i,r)??le(i,re(r,t,this.view.timeZone)))),s&&(u.push(n),d.push(this._getDomainName(s,n,r)??le(n,re(r,s,this.view.timeZone)))),l&&(u.push(o),d.push(this._getDomainName(l,o,r)??le(o,re(r,l,this.view.timeZone)))),y.push(f?u.join(a||""):u[0]),h.push(d.join(" - "))}const m=y.join(", ");let p=e.label;if(!p){const e=h.filter(Boolean);p=e.length?e.join(", "):m}let g=u;"cim"===g.type&&n&&(g=g.clone(),z(g,{innerDotSize:.5*de,outerRingSize:de}));let b=!1;for(const e of y)if(b=await this._checkClausesForUVR(o,e),b)break;b&&i.infos.push({label:p,value:m,symbol:g})}}i.infos.length&&p.push(i)}if(p.length){const t=p[0];if(1===p.length&&"title"in t&&!t.title){const e=t.infos?.filter(Ke)??[];d.infos.push(...e)}else y&&(p.push({type:"symbol-table",infos:[{label:e.defaultLabel||"others",symbol:y}]}),h=!0),d.infos.push(...p);i||e.legendOptions?.title||e.valueExpressionTitle?m&&(d.title=`${d.title} (${m})`):d.title=m}}e.defaultSymbol&&!h&&(d.infos.push({label:e.defaultLabel||"others",symbol:e.defaultSymbol}),h=!0)}else if(Ce(e)){if(!n&&!a){y=this._isUnclassedRenderer(e);if(!y||!this._hasSizeRamp){const t=e.classBreakInfos.filter(({symbol:e})=>e),i="ascending-values"===e.legendOptions?.order;for(const{label:e,minValue:s,maxValue:l,symbol:n}of t){const t=e||(y?null:`${s} - ${l}`),a={previewAriaLabel:t||d.title||r.title,label:t,value:[s,l],symbol:n};i?d.infos.push(a):d.infos.unshift(a)}y&&(d.title=null),this._updateInfosForClassedSizeRenderer(e,d.infos)}e.defaultSymbol&&!y&&(d.infos.push({label:e.defaultLabel||"others",symbol:e.defaultSymbol}),h=!0)}}else if(Le(e))if(qe(this.layer)||We(this.layer)){const t=await this._constructTileImageryStretchRendererElements(e);Ge(t)?c.push(t):d.infos=t}else{const t=this.layer;let i,s;e.customStatistics?.length&&({min:i,max:s}=e.customStatistics[0]);let l=[],r=t.serviceRasterInfo;if(t.rasterFunction)try{r=await t.generateRasterInfo(t.rasterFunction)}catch{}const n=w(r.pixelType);if(1===r.bandCount){const l=t.bandIds?.[0]||0;i=null!=i?i:r.statistics?r.statistics[l].min:n[0],s=null!=s?s:r.statistics?r.statistics[l].max:n[1],i||s?c.push(await this._getStretchLegendElements(e,{min:i,max:s})):this._getServerSideLegend()}else if(1===t.bandIds?.length)i=null!=i?i:r.statistics?r.statistics[t.bandIds[0]].min:n[0],s=null!=s?s:r.statistics?r.statistics[t.bandIds[0]].max:n[1],i||s?c.push(await this._getStretchLegendElements(e,{min:i,max:s})):this._getServerSideLegend();else if(r.bandCount>=3){const{bandInfos:e}=r,{bandIds:i}=t;e.length>=r.bandCount?3===i?.length?(l=i.map(t=>e[t].name),d.infos=this._createSymbolTableElementMultiBand(l)):"lerc"===t.format?(l=[0,1,2].map(t=>e[t].name),d.infos=this._createSymbolTableElementMultiBand(l)):this._getServerSideLegend():"lerc"===t.format?(l=["band1","band2","band3"],d.infos=this._createSymbolTableElementMultiBand(l)):this._getServerSideLegend()}else this._getServerSideLegend()}else if(ve(e))e.colormapInfos.forEach(e=>{d.infos.push({label:e.label,value:e.value,symbol:this._getAppliedCloneSymbol(_e,e.color)})});else if(Fe(e)){let i=e.symbol;switch(t.geometryType){case"point":i="pointSymbol"in r?r.pointSymbol:null;break;case"polyline":i="lineSymbol"in r?r.lineSymbol:null;break;case"polygon":i="polygonSymbol"in r?r.polygonSymbol:null}const s=this._clusterSizeVariable&&this._getClusterSymbol()||!this._hasSizeRamp;e.symbol&&s&&d.infos.push({previewAriaLabel:e.label||d.title||r.title,label:e.label,symbol:i})}else if(we(e)){e.outputUnit&&(this.title="("+e.toJSON().outputUnit+")"),d.title=e.attributeField;const t=e.getClassBreakInfos();t?.length?t.forEach(e=>{d.infos.push({label:e.minValue+" - "+e.maxValue,symbol:e.symbol})}):d.infos.push({label:e.attributeField,symbol:e.getDefaultSymbol()})}else Ee(e)&&c.push(await this._getStretchLegendElements(e,{min:0,max:255}));const m=e.defaultSymbol;!m||h||Fe(e)||y&&!this._hasColorRamp&&!this._hasSizeRamp&&!this._hasOpacityRamp||c.push({type:"symbol-table",infos:[{label:e.defaultLabel||"others",symbol:m}]}),d.infos.length&&c.unshift(d);const p=null==t.opacity?this.opacity:t.opacity,g=this._isTallSymbol("visualVariables"in e?e.visualVariables:null),b=He(this.layer)||qe(this.layer);return await this._generatePreviewsForLegendElements(c,{opacity:p,symbolConfig:{isTall:g,isSquareFill:b},cssEffectFilter:this.cssEffectFilter},{arrowMarkerSymbols:f}),e=null,c}async _waitForLayerViewUpdate(e){await f(()=>!e.updating)}async _checkFeatureCountForExpression(e,t){const i=this.layerView;if(!(i&&"createQuery"in i&&"queryFeatureCount"in i))return!0;try{await this._waitForLayerViewUpdate(i);const s=i.createQuery();e&&(s.where=ne(s.where,e)),t&&(s.geometry=t);return await i.queryFeatureCount(s)>0}catch{return!0}}async _checkClausesForUVR(e,t){const i=Xe(e,t);if(!i)return!0;return(!!!(!this._layerDefinitionExpressionClause&&this._layerDefinitionExpression&&this.respectLayerDefinitionExpression||!this._layerDisplayFilterClause&&this._layerDisplayFilter?.where)||await this._checkFeatureCountForExpression(`${e.field} = ${t}`))&&(!this._layerDefinitionExpressionClause||this._layerDefinitionExpressionClause.testFeature(i))&&(!this._layerDisplayFilterClause||this._layerDisplayFilterClause.testFeature(i))}_getServerSideLegend(){setTimeout(()=>this.buildLegendElementsForTools(),0)}_getAllInfos(e){const t=e?.infos;return t?t.reduce((e,t)=>e.concat(this._getAllInfos(t)),[]):[e]}async _constructTileImageryStretchRendererElements(e){const t=this.layer,i=t.symbolizer.rasterInfo??t.raster.rasterInfo;let s,l;const r=e?.customStatistics?.length?e.customStatistics:i?.statistics;if(r)({min:s,max:l}=r[0]);else{const e=w(i.pixelType);s=e[0],l=e[1]}if(t.hasStandardTime()&&(s=t.getStandardTimeValue(s),l=t.getStandardTimeValue(l)),1===i.bandCount||1===t.bandIds?.length)return this._getStretchLegendElements(e,{min:s,max:l});const n=(t?.bandIds?.length?t.bandIds:Array.from(Array(Math.min(i.bandCount,3)).keys())).map(e=>i.bandInfos[e].name);return n.length<3?n.push(n[1]):n.length>3&&n.splice(3),this._createSymbolTableElementMultiBand(n)}async _getStretchLegendElements(e,t){const i=e.colorRamp?.toJSON(),s=W(i,t);return{type:"stretch-ramp",title:"",infos:s,preview:M(s.map(e=>e.color))}}_getClusterSymbol(){const e=this.layer,t="featureReduction"in e&&e.featureReduction,i=t&&"symbol"in t&&t.renderer;return i&&!0!==i?.authoringInfo?.isAutoGenerated?null:t&&"symbol"in t?t.symbol:null}async _getSizeLegendElement(e,t,i,s){return{type:"size-ramp",title:this._clusterSizeVariable?this._getClusterTitle(t):e,infos:await K(i,t,await ae(i),this.scale,this.view,s,this._clusterSizeVariable?this._getClusterSymbol():null)}}_createSymbolTableElementMultiBand(e){const t=[],i=["red","green","blue"];return e.forEach((e,s)=>{t.push({label:{colorName:i[s],bandName:e},src:oe[s],opacity:this.opacity??1})}),t}_updateInfosForClassedSizeRenderer(e,t){const i="class-breaks-size"===e.authoringInfo?.type,s=e.classBreakInfos.some(e=>N(e.symbol));if(i&&s){const i=X,s=Y,l=e.classBreakInfos.length,r=(i-s)/(l>1?l-1:l);t.forEach((e,t)=>{e.size=i-r*t})}}_isTallSymbol(e){let t=!1,i=!1;if(e)for(let s=0;s<e.length&&(!t||!i);s++){const l=e[s];"size"===l.type&&("height"===l.axis&&(t=!0),"width-and-depth"===l.axis&&(i=!0))}return t&&i}async _generatePreviewsForLegendElements(e,t,i){const s=[];for(const l of e)for(const e of l.infos??[])if("infos"in e&&e.infos&&s.push(this._generatePreviewsForLegendElements([e],t,i)),Ke(e)&&e.symbol&&!e.preview){let r=!0;if("cim"===e.symbol.type){const{minScale:t,maxScale:i}=e.symbol.data;(t&&t<this.scale||i&&i>this.scale)&&(r=!1)}r&&s.push(this._generateSymbolPreviewForInfo(e,{...t,clipBloomEffect:"theme"in l&&"spike"===l.theme,cssEffectFilter:i?.arrowMarkerSymbols?.has(e.symbol)?null:t.cssEffectFilter},i?{applyScaleDrivenSize:!i.arrowMarkerSymbols?.has(e.symbol)}:void 0))}await Promise.all(s)}async _getSize(e,t){let i=null==e.size&&this._hasSizeRamp?m(22):e.size;if(this._scaleDrivenSizeVariable&&t?.applyScaleDrivenSize){const{getSize:t}=await import("../../../renderers/visualVariables/support/visualVariableUtils.js");i=t(this._scaleDrivenSizeVariable,null,{view:this.view.type,scale:this.scale,shape:"simple-marker"===e.symbol.type?e.symbol.style:null})}return i}_getPreviewCIMOptions(e){return{style:"legend",cimOptions:{allowScalingUp:this._hasSizeRamp||!(!this._scaleDrivenSizeVariable||!e?.applyScaleDrivenSize),viewParams:this.isScaleDriven?{viewingMode:"2d"===this.view?.type?"map":this.view?.viewingMode,scale:this.view?.scale}:null}}}async _generateSymbolPreviewForInfo(e,t={},i){const{symbol:s}=e;try{if(t.size=await this._getSize(e,i),t.scale=!1,"cim"===s.type){const e=this._getPreviewCIMOptions(i);t={...t,...e}}e.preview=await A(s,t)}catch{e.preview=null,o.getLogger(this).warn(`Generating symbol preview failed for symbol type: ${s?.type}`)}}_getClusterRenderer(e){this._clusterSizeVariable=null;const t="renderer"in this.layer?this.layer.renderer:null,i=e.renderer?.clone()||t?.clone(),s=$(e,this.layerView,this.view);if(s&&null!=i&&"visualVariables"in i){const t=i.visualVariables?.some(e=>"size"===e.type&&"outline"!==e.target&&!pe.test(e.valueExpression));if(!t){if("clusterMinSize"in e&&"clusterMaxSize"in e){const{clusterMinSize:t,clusterMaxSize:i}=e;s.legendOptions=new x({showLegend:t!==i})}const t=i.visualVariables||[];i.visualVariables=t.concat([s]),this._clusterSizeVariable=s}}return i}async _loadRenderer(e){if(tt.has(e))return tt.get(e);const t=[],i=e.clone(),s=await ae(i);if(Ce(i)||Ie(i)){const e=(i.classBreakInfos||i.uniqueValueInfos).map(e=>this._fetchSymbol(e.symbol,s).then(t=>{e.symbol=t}).catch(()=>{e.symbol=null}));Array.prototype.push.apply(t,e)}return t.push(this._fetchSymbol(i.symbol||i.defaultSymbol,i.defaultSymbol?null:s).then(e=>{this._applySymbolToRenderer(i,e,Fe(i))}).catch(()=>{this._applySymbolToRenderer(i,null,Fe(i))})),await Promise.allSettled(t),tt.set(e,i),i}_applySymbolToRenderer(e,t,i){i?e.symbol=t:e.defaultSymbol=t}async _fetchSymbol(e,t){if(!e)throw new Error;if("web-style"===e.type){const i=this._webStyleSymbolCache;try{const s=await e.fetchSymbol({cache:i});return this._getAppliedCloneSymbol(s,t)}catch{throw o.getLogger(this).warn("Fetching web-style failed!"),new Error}}return this._getAppliedCloneSymbol(e,t)}_getAppliedCloneSymbol(e,i){if(!e||!i)return e;const s=e.clone(),l=i&&i.toRgba();return s.type.includes("3d")?this._applyColorTo3dSymbol(s,l):"cim"===s.type?O(s,i):s.color&&(s.color=new t(l||s.color)),s}_applyColorTo3dSymbol(e,i){i&&e.symbolLayers.forEach(e=>{e&&(e.material||(e.material={}),e.material.color=new t(i))})}async _getVisualVariableLegendElements(e,t){if(!("visualVariables"in e)||"vector-field"===e.type)return null;const i=e.visualVariables??[],s=[],l=[],n=[],a=ie(e,"reference-size")??ie(e,"spike");let o;const c=this._clusterSizeVariable;if(2===a?.sizeStops?.length&&(Ce(e)||Ie(e))){const[e,t]=a.sizeStops,i=c?c.minDataValue:e.value,s=c?c.maxDataValue:t.value;o=new D({field:a.field??void 0,normalizationField:a.normalizationField,minSize:u(e.size,10,100),maxSize:u(t.size,50,150),minDataValue:i,maxDataValue:s}),l.push(o)}for(const r of i)if("color"===r.type)s.push(r);else if("size"===r.type){if("cluster_count"===r.field&&o)continue;l.push(r)}else"opacity"===r.type&&n.push(r);const d=[...s,...l,...n];let y,h;if(0===s.length&&Ce(e)&&e.classBreakInfos&&1===e.classBreakInfos.length){const t=e.classBreakInfos[0];y=t&&t.symbol}if(0===s.length&&Fe(e)&&(y=e.symbol),y)if(y.type.includes("3d")){const e=y.symbolLayers.at(0);"water"===e.type?null!=e.color&&(h=e.color):null!=e.material?.color&&(h=e.material.color)}else y.url||(h=y.color);const f=this.cssEffectFilter;return(await Promise.all(d.map(async i=>{if(!1!==i.legendOptions?.showLegend){const s=Se(e)?i.field:this._getRampTitle(i,t);let l=null;const r=ue(t,i,this.view.timeZone);if("color"===i.type){const e=await G(i,null,r)??[];l={type:"color-ramp",title:s,infos:e,preview:M(e.map(e=>e.color),{cssEffectFilter:f})},this._hasColorRamp||(this._hasColorRamp=e.length>0)}else if("size"===i.type&&"outline"!==i.target)pe.test(i.valueExpression)?this._clusterSizeVariable||(this._scaleDrivenSizeVariable=i):(l=await this._getSizeLegendElement(s,i,e,r),o===i&&"spike"===a?.theme&&(l.theme=a.theme),this._hasSizeRamp||(this._hasSizeRamp=!(null==l.infos||!l.infos.length)));else if("opacity"===i.type){const e=await G(i,h,r)??[];l={type:"opacity-ramp",title:s,infos:e,preview:M(e.map(e=>e.color),{cssEffectFilter:f})},this._hasOpacityRamp||(this._hasOpacityRamp=e.length>0)}return l?.infos?l:null}}))).filter(r)}_getDomainName(e,t,i){if(e&&"function"!=typeof e){const s="getField"in i&&i.getField?.(e),l=s&&"getFieldDomain"in i&&i.getFieldDomain?i.getFieldDomain(s.name):null;return"coded-value"===l?.type?l.getName(t):null}return null}_getClusterTitle(e){const t=this.layer,i=e.field;if("featureReduction"in t&&"cluster"===t.featureReduction?.type){const e=t.featureReduction,s="popupTemplate"in e&&e.popupTemplate,l=s&&s.fieldInfos;if(l)for(const t of l)if(t.fieldName===i)return"cluster_count"===i?t.label||{showCount:!0}:t.label}return{showCount:!0}}_getRampTitle(e,t){let i=e.field,s=e.normalizationField,l=!1,r=!1,n=!1,a=null;i="function"==typeof i?null:i,s="function"==typeof s?null:s;const o=e.legendOptions?.title;if(null!=o)a=o;else if(e.valueExpressionTitle)a=e.valueExpressionTitle;else{if("renderer"in t&&t.renderer&&"authoringInfo"in t.renderer&&t.renderer.authoringInfo?.visualVariables){const e=t.renderer.authoringInfo.visualVariables;for(let t=0;t<e.length;t++){const i=e[t];if("color"===i.type){if("ratio"===i.style){l=!0;break}if("percent"===i.style){r=!0;break}if("percent-of-total"===i.style){n=!0;break}}}}a={field:i&&this._getFieldAlias(i,t),normField:s&&this._getFieldAlias(s,t),ratio:l,ratioPercent:r,ratioPercentTotal:n}}return a}_getRendererTitle(e,t){const i=e;if(i.legendOptions?.title)return i.legendOptions.title;if(i.valueExpressionTitle)return i.valueExpressionTitle;let s=i.field,l=null,r=null;if(Ce(i)&&(l=i.normalizationField,r="percent-of-total"===i.normalizationType),s="function"==typeof s?null:s,l="function"==typeof l?null:l,Ie(i)){const{field2:e,field3:l,fieldDelimiter:r}=i;let n=s&&this._getFieldAlias(s,t);return e&&(n=`<${n}>${r}<${this._getFieldAlias(e,t)}>`,l&&(n=`${n}${r}<${this._getFieldAlias(l,t)}>`)),n}let n=null;return(s||l)&&(n={field:s&&this._getFieldAlias(s,t),normField:l&&this._getFieldAlias(l,t),normByPct:r}),n}_getFieldAlias(e,t){const i="featureReduction"in t&&t.featureReduction;if(I(t)&&!i)return t.getFieldAlias(e)||e;const s="popupTemplate"in t?t.popupTemplate:null,l=s?.fieldInfos;let r=l?.find(t=>e===t.fieldName),n=null;"getField"in t&&t.getField?n=t.getField(e):"fieldsIndex"in t&&t.fieldsIndex&&(n=t.fieldsIndex.get(e));let a=null;i&&(r??="popupTemplate"in i?i.popupTemplate?.fieldInfos?.find(t=>e?.toLowerCase()===t.fieldName?.toLowerCase()):void 0,"fields"in i&&i.fields&&(a=i.fields.find(t=>t.name?.toLowerCase()===e?.toLowerCase())));const o=r||n||a;let u=null;return o&&(u=r?.label||n?.alias||a?.alias||"name"in o&&o.name||"fieldName"in o&&o.fieldName||null),u}_isUnclassedRenderer(e){const t=e.visualVariables;let i=!1;return Ce(e)&&e.classBreakInfos&&1===e.classBreakInfos.length&&t&&(i=e.field?t.some(t=>!(!t||e.field!==t.field||(e.normalizationField||t.normalizationField)&&e.normalizationField!==t.normalizationField)):!!t.length),i}};e([b()],it.prototype,"_loading",void 0),e([b()],it.prototype,"children",void 0),e([b({readOnly:!0})],it.prototype,"cssEffectFilter",null),e([b()],it.prototype,"layerView",void 0),e([b()],it.prototype,"layer",void 0),e([b()],it.prototype,"legendElements",void 0),e([b({readOnly:!0})],it.prototype,"loading",null),e([b({readOnly:!0})],it.prototype,"opacity",null),e([b()],it.prototype,"parent",void 0),e([b({readOnly:!0,dependsOn:[]})],it.prototype,"ready",null),e([b()],it.prototype,"hideLayersNotInCurrentView",void 0),e([b()],it.prototype,"keepCacheOnDestroy",void 0),e([b()],it.prototype,"respectLayerDefinitionExpression",void 0),e([b()],it.prototype,"respectLayerVisibility",void 0),e([b({readOnly:!0})],it.prototype,"scale",null),e([b()],it.prototype,"sublayerIds",void 0),e([b({readOnly:!0})],it.prototype,"isScaleDriven",null),e([b()],it.prototype,"title",void 0),e([b({readOnly:!0,dependsOn:["ready"],value:0})],it.prototype,"version",null),e([b()],it.prototype,"view",void 0),it=e([_("esri.widgets.Legend.support.ActiveLayerInfo")],it);export{it as default};
@@ -1,8 +1,8 @@
1
1
  import type LinkChartView from "../../views/LinkChartView.js";
2
- import type { EventedAccessor, EventedMixinProperties } from "../../core/Evented.js";
2
+ import type { EventedAccessor } from "../../core/Evented.js";
3
3
  import type { LayoutMode } from "../../layers/knowledgeGraph/LayoutMode.js";
4
4
 
5
- export interface LinkChartLayoutSwitcherViewModelProperties extends EventedMixinProperties, Partial<Pick<LinkChartLayoutSwitcherViewModel, "view">> {
5
+ export interface LinkChartLayoutSwitcherViewModelProperties extends Partial<Pick<LinkChartLayoutSwitcherViewModel, "view">> {
6
6
  /**
7
7
  * The current selected link chart layout.
8
8
  *
@@ -1,4 +1,3 @@
1
-
2
1
  /** @since 5.0 */
3
2
  export type MeasurementComponentType2D = "area" | "distance";
4
3
 
@@ -1,8 +1,8 @@
1
1
  import type OrientedImageryLayer from "../../layers/OrientedImageryLayer.js";
2
- import type { EventedMixin, EventedMixinProperties } from "../../core/Evented.js";
3
- import type { EsriPromise, EsriPromiseMixinProperties } from "../../core/Promise.js";
2
+ import type { EventedMixin } from "../../core/Evented.js";
3
+ import type { EsriPromise } from "../../core/Promise.js";
4
4
 
5
- export interface OrientedImageryViewerViewModelProperties extends EsriPromiseMixinProperties, EventedMixinProperties, Partial<Pick<OrientedImageryViewerViewModel, "brightness" | "contrast" | "currentCoverageVisible" | "disabled" | "isAdditionalCoverageVisible" | "isAdditionalPointSourcesVisible" | "layer" | "mapImageConversionToolState" | "sharpness">> {}
5
+ export interface OrientedImageryViewerViewModelProperties extends Partial<Pick<OrientedImageryViewerViewModel, "brightness" | "contrast" | "currentCoverageVisible" | "disabled" | "isAdditionalCoverageVisible" | "isAdditionalPointSourcesVisible" | "layer" | "mapImageConversionToolState" | "sharpness">> {}
6
6
 
7
7
  /**
8
8
  * Provides the logic for the [OrientedImageryViewer](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-OrientedImageryViewer.html) widget and [component](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-oriented-imagery-viewer/).
@@ -1,4 +1,3 @@
1
-
2
1
  /**
3
2
  * Represents the pixel location in image space, where (0, 0) corresponds to the center of the upper left pixel.
4
3
  *
@@ -1,10 +1,10 @@
1
1
  import type PortalItem from "../../portal/PortalItem.js";
2
- import type { JSONSupport, JSONSupportMixinProperties } from "../../core/JSONSupport.js";
2
+ import type { JSONSupport } from "../../core/JSONSupport.js";
3
3
  import type { Unit } from "../../core/units.js";
4
4
  import type { PrintLayoutTemplate, PrintFileFormat } from "../../rest/support/types.js";
5
5
  import type { LayoutTemplateInfo, MapSurroundInfo } from "./types.js";
6
6
 
7
- export interface CustomTemplateProperties extends JSONSupportMixinProperties, Partial<Pick<CustomTemplate, "format">> {}
7
+ export interface CustomTemplateProperties extends Partial<Pick<CustomTemplate, "format">> {}
8
8
 
9
9
  export interface LayoutOptions {
10
10
  /** Indicates whether the legend will be included in the print-out. */
@@ -8,9 +8,9 @@ import type MapView from "../../views/MapView.js";
8
8
  import type CustomTemplate from "./CustomTemplate.js";
9
9
  import type FileLink from "./FileLink.js";
10
10
  import type TemplateOptions from "./TemplateOptions.js";
11
- import type { EventedAccessor, EventedMixinProperties } from "../../core/Evented.js";
11
+ import type { EventedAccessor } from "../../core/Evented.js";
12
12
  import type { LoadableMixin, LoadableMixinProperties } from "../../core/Loadable.js";
13
- import type { EsriPromiseMixin, EsriPromiseMixinProperties } from "../../core/Promise.js";
13
+ import type { EsriPromiseMixin } from "../../core/Promise.js";
14
14
  import type { PrintResponse } from "../../rest/types.js";
15
15
  import type { Formats, Layouts, State, TemplateCustomTextElements, TemplatesInfo } from "./types.js";
16
16
  import type { FileLinkProperties } from "./FileLink.js";
@@ -19,7 +19,7 @@ import type { SpatialReferenceProperties } from "../../geometry/SpatialReference
19
19
  import type { PortalProperties } from "../../portal/Portal.js";
20
20
  import type { TemplateOptionsProperties } from "./TemplateOptions.js";
21
21
 
22
- export interface PrintViewModelProperties extends EventedMixinProperties, EsriPromiseMixinProperties, LoadableMixinProperties, Partial<Pick<PrintViewModel, "allowedFormats" | "allowedLayouts" | "extraParameters" | "includeDefaultTemplates" | "printServiceUrl" | "printTimeout" | "showPrintAreaEnabled" | "templateCustomTextElements" | "updateDelay" | "view">> {
22
+ export interface PrintViewModelProperties extends LoadableMixinProperties, Partial<Pick<PrintViewModel, "allowedFormats" | "allowedLayouts" | "extraParameters" | "includeDefaultTemplates" | "printServiceUrl" | "printTimeout" | "showPrintAreaEnabled" | "templateCustomTextElements" | "updateDelay" | "view">> {
23
23
  /**
24
24
  * The collection of links exported from Print.
25
25
  *
@@ -1,4 +1,3 @@
1
-
2
1
  /**
3
2
  * The region that the scale thumbnails will focus on.
4
3
  * Each region comes from the [ISO 3166-1 alpha-2 code](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes).
@@ -1,11 +1,11 @@
1
1
  import type PopupTemplate from "../../PopupTemplate.js";
2
2
  import type { IdentifiableMixin, IdentifiableMixinProperties } from "../../core/Identifiable.js";
3
- import type { JSONSupport, JSONSupportMixinProperties } from "../../core/JSONSupport.js";
3
+ import type { JSONSupport } from "../../core/JSONSupport.js";
4
4
  import type { SymbolUnion } from "../../symbols/types.js";
5
5
  import type { GetResultsCallback, GetSuggestionsCallback, SearchFilter } from "./types.js";
6
6
  import type { PopupTemplateProperties } from "../../PopupTemplate.js";
7
7
 
8
- export interface SearchSourceProperties extends JSONSupportMixinProperties, IdentifiableMixinProperties, Partial<Pick<SearchSource, "autoNavigate" | "filter" | "getResults" | "getSuggestions" | "maxResults" | "maxSuggestions" | "minSuggestCharacters" | "outFields" | "placeholder" | "popupEnabled" | "prefix" | "resultGraphicEnabled" | "resultSymbol" | "suffix" | "suggestionsEnabled" | "withinViewEnabled" | "zoomScale">> {
8
+ export interface SearchSourceProperties extends IdentifiableMixinProperties, Partial<Pick<SearchSource, "autoNavigate" | "filter" | "getResults" | "getSuggestions" | "maxResults" | "maxSuggestions" | "minSuggestCharacters" | "outFields" | "placeholder" | "popupEnabled" | "prefix" | "resultGraphicEnabled" | "resultSymbol" | "suffix" | "suggestionsEnabled" | "withinViewEnabled" | "zoomScale">> {
9
9
  /**
10
10
  * The popup template used to display search results.
11
11
  * If no popup is needed, set the source's popupTemplate to `null`.
@@ -1,8 +1,9 @@
1
1
  import type Graphic from "../../Graphic.js";
2
2
  import type PopupTemplate from "../../PopupTemplate.js";
3
3
  import type Collection from "../../core/Collection.js";
4
+ import type Point from "../../geometry/Point.js";
4
5
  import type Portal from "../../portal/Portal.js";
5
- import type { EventedAccessor, EventedMixinProperties } from "../../core/Evented.js";
6
+ import type { EventedAccessor } from "../../core/Evented.js";
6
7
  import type { AbortOptions } from "../../core/promiseUtils.js";
7
8
  import type { MapViewOrSceneView } from "../../views/MapViewOrSceneView.js";
8
9
  import type { SearchItem, SearchResult, SuggestResult, SupportedSearchSource, SearchResponse, SuggestResponse, SearchResults, SuggestResults, SearchDefaultSymbols, SourcesHandler } from "./types.js";
@@ -12,9 +13,8 @@ import type { PortalProperties } from "../../portal/Portal.js";
12
13
  import type { LayerSearchSourceProperties } from "./LayerSearchSource.js";
13
14
  import type { LocatorSearchSourceProperties } from "./LocatorSearchSource.js";
14
15
  import type { ReadonlyArrayOrCollection } from "../../core/Collection.js";
15
- type SearchMessages = Record<string, unknown>;
16
16
 
17
- export interface SearchViewModelProperties extends EventedMixinProperties, GoToProperties, Partial<Pick<SearchViewModel, "allPlaceholder" | "autoNavigate" | "autoSelect" | "defaultSymbols" | "includeDefaultSources" | "locationEnabled" | "maxInputLength" | "maxResults" | "maxSuggestions" | "messages" | "minSuggestCharacters" | "popupEnabled" | "resultCount" | "resultGraphicEnabled" | "searchAllEnabled" | "suggestionCount" | "suggestionDelay" | "suggestionsEnabled" | "view">> {
17
+ export interface SearchViewModelProperties extends GoToProperties, Partial<Pick<SearchViewModel, "allPlaceholder" | "autoNavigate" | "autoSelect" | "defaultSymbols" | "includeDefaultSources" | "locationEnabled" | "maxInputLength" | "maxResults" | "maxSuggestions" | "messages" | "minSuggestCharacters" | "popupEnabled" | "resultCount" | "resultGraphicEnabled" | "searchAllEnabled" | "suggestionCount" | "suggestionDelay" | "suggestionsEnabled" | "view">> {
18
18
  /**
19
19
  * The selected source's index. This value is `-1` when all sources are selected.
20
20
  *
@@ -204,6 +204,8 @@ export interface SearchViewModelEvents {
204
204
  }
205
205
 
206
206
  export interface SearchViewModelSelectResultEvent {
207
+ /** Whether the popup is enabled for the selected result. */
208
+ popupEnabled: boolean;
207
209
  /** An object containing the results of the search. */
208
210
  result: SearchResult;
209
211
  /**
@@ -394,7 +396,7 @@ export default class SearchViewModel extends SearchViewModelSuperclass {
394
396
  */
395
397
  accessor maxSuggestions: number;
396
398
  /** The associated message bundle. */
397
- accessor messages: SearchMessages | null | undefined;
399
+ accessor messages: Record<string, unknown> | null | undefined;
398
400
  /**
399
401
  * The minimum number of characters needed for the search if not specified by the source.
400
402
  *
@@ -447,6 +449,8 @@ export default class SearchViewModel extends SearchViewModelSuperclass {
447
449
  * @default true
448
450
  */
449
451
  accessor resultGraphicEnabled: boolean;
452
+ /** The point used to show a popup for the result graphic. */
453
+ get resultLocation(): Point | null | undefined;
450
454
  /** An array of current results from the search. */
451
455
  get results(): SearchResults[] | null | undefined;
452
456
  /**
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as e}from"tslib";import{getAssetUrl as t}from"../../assets.js";import s from"../../Graphic.js";import r from"../../PopupTemplate.js";import{isSome as o}from"../../core/arrayUtils.js";import i from"../../core/Error.js";import{EventedAccessor as l}from"../../core/Evented.js";import a from"../../core/Logger.js";import{mappedFind as n}from"../../core/maybe.js";import{eachAlways as u,after as c}from"../../core/promiseUtils.js";import{watch as h,initial as p,whenOnce as g}from"../../core/reactiveUtils.js";import{property as d,subclass as m}from"../../core/accessorSupport/decorators.js";import y from"../../geometry/Point.js";import f from"../../geometry/SpatialReference.js";import{getPointFromGeometry as S,getPointWithElevation as _}from"../../geometry/support/geometryUtils.js";import v from"../../portal/Portal.js";import{isApiKeyApplicable as w}from"../../support/apiKeyUtils.js";import b from"../../symbols/PictureMarkerSymbol.js";import x from"../../symbols/SimpleFillSymbol.js";import L from"../../symbols/SimpleLineSymbol.js";import I from"../../symbols/TextSymbol.js";import{popupFromView as T,closePopup as E}from"../../views/popupAdapter.js";import{highlightsSupported as R}from"../../views/support/layerViewUtils.js";import F from"./LayerSearchSource.js";import P from"./LocatorSearchSource.js";import{SourceCollection as j}from"./types.js";import{isArcGISWorldGeocoder as G,meteredArcGISLocatorUrl as C,isProxiedArcGISWorldGeocoder as O,isMeteredArcGISWorldGeocoder as A}from"./support/locatorUtils.js";import{supported as N,getCurrentPosition as D,positionToPoint as M}from"../support/geolocationUtils.js";import{GoTo as V}from"../support/GoTo.js";function J(e,t){return e.hasOwnProperty(t)&&null!=e[t]&&""!==e[t]}const U="highlight",H=f.WGS84,k="esri/images/search/search-symbol-32.png",B=/<[\s\S]*?>/g,Q=-1;let Z=class extends(V(l)){constructor(e){super(e),this._defaultPopupTemplate=new r({content:"{Match_addr}"}),this._gotoController=null,this._searching=null,this._updatingPromise=null,this._createdFeatureLayers=[],this.autoNavigate=!0,this.autoSelect=!0,this.defaultSources=new j,this.defaultSymbols={point:new b({url:t(k),size:24,width:24,height:24}),polyline:new L({color:[130,130,130,1],width:2}),polygon:new x({color:[235,235,235,.4],outline:{color:[130,130,130,1],width:2}})},this.includeDefaultSources=!0,this.maxInputLength=128,this.maxResults=6,this.maxSuggestions=6,this.messages=null,this.minSuggestCharacters=3,this.popupEnabled=!0,this.popupTemplate=null,this.portal=v.getDefault(),this.resultCount=null,this.resultGraphicEnabled=!0,this.resultGraphic=null,this.results=null,this.selectedSuggestion=null,this.searchAllEnabled=!0,this.selectedResult=null,this.sources=new j,this.suggestionDelay=350,this.suggestionCount=null,this.suggestions=null,this.suggestionsEnabled=!0,this.view=null}initialize(){this.addHandles([h(()=>[this.includeDefaultSources,this.view,this.portal],()=>this._update(),p),h(()=>this.messages,()=>{this._defaultPopupTemplate.title=this.messages?.searchResult??"",this._update()},p)])}destroy(){this._destroyFeatureLayers(),this._abortGoTo(),this.clearGraphics()}static{this.ALL_INDEX=Q}get activeSource(){return this.allSources.at(this.activeSourceIndex)??null}get activeSourceIndex(){return 1===this.allSources.length||!this.searchAllEnabled?0:Q}set activeSourceIndex(e){this._overrideIfSome("activeSourceIndex",e)}get allPlaceholder(){return this.messages?.allPlaceholder}set allPlaceholder(e){this._overrideIfSome("allPlaceholder",e)}get allSources(){const{sources:e,defaultSources:t,includeDefaultSources:s}=this,r="function"==typeof s?s.call(null,{sources:e,defaultSources:t}):s?t.concat(e):e,o=this._get("allSources")||new j;return o.removeAll(),o.addMany(r.filter(Boolean)),o}get defaultPopupTemplate(){return this._defaultPopupTemplate}set defaultPopupTemplate(e){this._overrideIfSome("defaultPopupTemplate",e)}get locationEnabled(){return this._get("locationEnabled")||N()}set locationEnabled(e){if(void 0===e)return void this._clearOverride("locationEnabled");const t=N();if(e&&!t){const e=new i("locationEnabled:geolocation-unsupported","Geolocation API is unsupported.",{geolocation:navigator.geolocation});a.getLogger(this).error(e)}this._override("locationEnabled",!!e&&t)}get placeholder(){const{allSources:e,activeSourceIndex:t,allPlaceholder:s}=this;if(t===Q)return s??"";const r=e.at(t);return r?.placeholder??""}set searchTerm(e){this._set("searchTerm",e||""),this.clearGraphics(),this.selectedSuggestion&&this.selectedSuggestion.text!==e&&this._set("selectedSuggestion",null),""===e&&this._clear()}get searchTerm(){return this._get("searchTerm")||""}get state(){return this._searching?"searching":this.updating?"loading":0===this.allSources.length?"disabled":"ready"}get updating(){return null!=this._updatingPromise}clear(){this.searchTerm=""}clearGraphics(){this._removeHighlight(),this._closePopup();const{view:e,resultGraphic:t}=this;e&&t&&e.graphics.remove(t),this._set("resultGraphic",null)}search(e,t){this.emit("search-start"),this.clearGraphics();const s=this._createSuggestionForSearch(e),r=(async()=>{try{await this.when();const e=await this._getResultsFromSources(s,t);if(t?.signal?.aborted)return null;const r={activeSourceIndex:this.activeSourceIndex,searchTerm:s.text??"",numResults:0,numErrors:0,errors:[],results:[]};this._formatResponse(r,e,s);const o=this._getFirstResult(r.results),i=s.location&&o?o.name:s.text,l=i?.replaceAll(B,"");return this._set("searchTerm",l),(s.key&&"number"==typeof s.sourceIndex||s.location)&&this._set("selectedSuggestion",s),this._set("results",r.results),this._set("resultCount",r.results.reduce((e,t)=>e+(t.results?.length??0),0)),this.emit("search-complete",r),await this._selectFirstResult(o),r}finally{this._clearSearching()}})();return this._searching=r,r}async searchNearby(e){if(!this.locationEnabled){const e=new i("searchNearby:geolocation-unsupported","Geolocation API is unsupported.",{geolocation:navigator.geolocation});throw a.getLogger(this).error(e),e}const t=(async()=>{try{const t=await D(),s=await M({position:t,view:this.view},e);return await this.search(s,e)}finally{this._clearSearching()}})();return this._searching=t,t}async select(e){if(this.clearGraphics(),!e){const t=new i("select:missing-parameter","Cannot select without a searchResult.",{value:e});throw a.getLogger(this).error(t),t}const{view:t}=this,r=J(e,"sourceIndex")?e.sourceIndex:this._getSourceIndexOfResult(e),o=null!=r?this.allSources.at(r):null;if(!o){const e=new i("select:missing-source","Cannot select without a source.",{source:o});throw a.getLogger(this).error(e),e}const l=o instanceof F?this._getLayerSourcePopupTemplate(o):o.popupTemplate,n=o.resultSymbol||this._getDefaultSymbol(e),c=J(o,"resultGraphicEnabled")?o.resultGraphicEnabled:this.resultGraphicEnabled,h=J(o,"autoNavigate")?o.autoNavigate:this.autoNavigate,p=J(o,"popupEnabled")?o.popupEnabled:this.popupEnabled,g=p?l||this.popupTemplate||this.defaultPopupTemplate:null,{feature:d}=e;if(!d){const e=new i("select:missing-feature","Cannot select without a feature.",{feature:d});throw a.getLogger(this).error(e),e}const{attributes:m,geometry:y,layer:f,sourceLayer:v}=d,w=y?S(y):null,b={layerViewQuery:this._getLayerView(d),elevationQuery:t&&null!=w?_(w,t):Promise.resolve(w)},x=await u(b),L=x.layerViewQuery.value,E=x.elevationQuery.value;n instanceof I&&(n.text=e.name);const P=t&&h?e.target||e.extent:null,j=null!=P?this._goToSearchResult(P):Promise.resolve();await j;const G=L?d:new s({geometry:y,symbol:n,attributes:m,layer:f,sourceLayer:v,popupTemplate:g}),C=T(t),O=C&&p&&G.getEffectivePopupTemplate(C.defaultPopupTemplateEnabled);return O&&this.emit("popup-open",{features:[G],location:E??null}),L&&R(L)&&!O&&this._highlightFeature({graphic:G,layerView:L}),!L&&c&&t&&t.graphics.push(G),this._setResultFloor(e),this._set("selectedResult",e),this._set("resultGraphic",G),this.emit("select-result",{result:e,source:o,sourceIndex:r}),e}async suggest(e,t,s){const r=e||this.searchTerm;this.emit("suggest-start",{searchTerm:r}),await this._suggestTimer(t,s);const o=await this._suggestImmediate(r,s);return this._set("suggestions",o?.results),this._set("suggestionCount",o?.results.reduce((e,t)=>e+(t.results?.length??0),0)??null),this.emit("suggest-complete",o),o}async when(){await g(()=>!this.updating)}async _update(){const{portal:e,view:t}=this;if(this.includeDefaultSources){const s=this._updatingPromise=u([e?.load(),t?.when()]);if(this.destroyed)return;if(await s,s!==this._updatingPromise)return}this.destroyed||this._updateDefaultSources(),this._updatingPromise=null}_clearSearching(){this._searching=null}_convertHelperServices(){const e=this.portal?.helperServices?.geocode;if(!e)return[];return e.map(e=>{if(!1===e.placefinding)return;const t=G(e.url)&&w(e.url)?{url:C}:null,s=P.fromJSON({...e,...t}),r=s.url;if(G(r)||O(r)||A(r)){const e=s.outFields??["Addr_type","Match_addr","StAddr","City"],t=(s.placeholder||this.messages?.placeholder)??"",r="number"==typeof s.defaultZoomScale?s.defaultZoomScale:2500;s.singleLineFieldName="SingleLine",s.outFields=e,s.placeholder=t,s.defaultZoomScale=r}return s.singleLineFieldName?s:void 0}).filter(o)}_destroyFeatureLayers(){this._createdFeatureLayers.forEach(e=>e?.destroy()),this._createdFeatureLayers=[]}_getLayerSources(e,t){const s=this.view?.map;return e.map(e=>{const r=s.findLayerById(e.id);if(!r)return;const o=this._getLayerJSON(e),i=F.fromJSON(o);return i.placeholder=t,this._getLayer(r,o).then(e=>{i.layer=e}),i}).filter(o).toArray()}_getTableSources(e,t){const s=this.view?.map;return e.map(e=>{if(!e.id)return;const r=s.findTableById(e.id);if(!r)return;const o=this._getLayerJSON(e),i=F.fromJSON(o);return i.placeholder=t,this._getLayer(r,o).then(e=>{i.layer=e}),i}).filter(o).toArray()}_convertApplicationProperties(){const e=this.view?.map,t=e?.applicationProperties?.viewing?.search;if(!t)return[];const{enabled:s,hintText:r,layers:o,tables:i}=t;if(!s)return[];return[...this._getLayerSources(o,r),...this._getTableSources(i,r)]}async _getSubLayer(e,t){if(await e.load(),!e.allSublayers)throw new Error;const s=e.allSublayers.find(e=>e.id===t.subLayer);if(!s)throw new Error;const r=await(s.createFeatureLayer?.());if(!r)throw new Error;return this._createdFeatureLayers.push(r),r}async _getBuildingSubLayer(e,t){await e.load();const s=e.allSublayers.find(e=>e.id===t.subLayer);if("building-component"!==s?.type)throw new Error;if(await s.load(),null==s.associatedLayer)throw new Error;return await s.associatedLayer.load(),s}async _getLayer(e,t){if("feature"===e.type||"scene"===e.type||"csv"===e.type||"geojson"===e.type||"ogc-feature"===e.type)return e;if("map-image"===e.type)try{return await this._getSubLayer(e,t)}catch(s){const t=new i("search:create-featurelayer","Could not create a FeatureLayer from the MapImageLayer",{layer:e});return a.getLogger(this).error(t),null}return"building-scene"===e.type?this._getBuildingSubLayer(e,t):null}_getLayerJSON(e){return"function"==typeof e.toJSON?e.toJSON():e}_updateDefaultSources(){const{defaultSources:e,includeDefaultSources:t}=this;this._destroyFeatureLayers(),e.removeAll(),t&&e.addMany([...this._convertApplicationProperties(),...this._convertHelperServices()])}_abortGoTo(){this._gotoController&&this._gotoController.abort(),this._gotoController=null}_clear(){this._abortGoTo(),this._set("resultCount",null),this._set("results",null),this._set("suggestions",null),this._set("suggestionCount",null),this._set("selectedResult",null),this._set("selectedSuggestion",null),this.emit("search-clear")}_closePopup(){const e=T(this.view),{resultGraphic:t}=this;if(!e||!t)return;const s="selectedFeature"in e,r=s?e.selectedFeature:null;s&&(r&&r===t)&&E(this.view?.popup,this.view?.popupElement)}_suggestTimer(e,t){const s=null!=e?e:this.suggestionDelay;return c(s,null,t?.signal)}_createLocationForSearch(e){return e instanceof s&&e.geometry?S(e.geometry):e instanceof y?e:Array.isArray(e)&&2===e.length?new y({longitude:e[0],latitude:e[1]}):null}_createSuggestionForSearch(e){if(e&&J(e,"key")&&J(e,"text")&&J(e,"sourceIndex"))return e;const t=this._createLocationForSearch(e),s="string"==typeof e?e:this.searchTerm,{selectedSuggestion:r,selectedResult:o}=this,i=!e&&r&&o,l=i&&r.key===o.key&&r.sourceIndex===o.sourceIndex,a=i&&r.location;return l||a?r:{location:t,text:t?"":s,sourceIndex:null,key:null}}_getFirstResult(e){return n(e,({results:e})=>e?.[0])??null}async _selectFirstResult(e){return this.autoSelect&&e?this.select(e):null}async _suggestImmediate(e,t){await this.when();const s=await this._getSuggestionsFromSources(e,t);if(t?.signal?.aborted)return null;const r={activeSourceIndex:this.activeSourceIndex,searchTerm:e??"",numResults:0,numErrors:0,errors:[],results:[]};return this._formatResponse(r,s),r}_formatSourceResponse(e,t,s){const r=t?.value||[],o=t?.error,i=this.allSources.at(s);if(o){const t={sourceIndex:s,source:i,error:o};e.errors.push(t),a.getLogger(this).error(o),e.numErrors++}else{const t={sourceIndex:s,source:i,results:r};e.results.push(t),e.numResults+=r.length}}_formatResponse(e,t,s){if(t)if(e.activeSourceIndex===Q){const r=s&&J(s,"sourceIndex")&&-1!==s.sourceIndex?s.sourceIndex:void 0;t.forEach((t,s)=>{const o=void 0!==r?r:s;this._formatSourceResponse(e,t,o)})}else this._formatSourceResponse(e,t[0],e.activeSourceIndex)}async _getResultsFromSources(e,t){const{allSources:s}=this,r=!e.location&&J(e,"sourceIndex")?e.sourceIndex:this.activeSourceIndex,o=[];if(!s.length){const e=new i("search:no-sources-defined","At least one source is required.",{allSources:s});throw a.getLogger(this).error(e),e}return r===Q?s.forEach((s,r)=>{o.push(this._getResultsFromSource(e,r,t))}):o.push(this._getResultsFromSource(e,r,t)),u(o)}async _getSuggestionsFromSources(e,t){const{allSources:s,activeSourceIndex:r}=this,o=[];if(!s.length){const e=new i("suggest:no-sources-defined","At least one source is required.",{allSources:s});throw a.getLogger(this).error(e),e}return r===Q?s.forEach((s,r)=>{o.push(this._getSuggestionsFromSource(e,r,t))}):o.push(this._getSuggestionsFromSource(e,r,t)),u(o)}async _getResultsFromSource(e,t,s){const r=null!=t?this.allSources.at(t):null;if(!r)return null;const{location:o=null}=e,i=this.view?.spatialReference??H,l=J(r,"maxResults")?r.maxResults:this.maxResults,a=!!(r instanceof F&&J(r,"exactMatch"))&&r.exactMatch,{view:n}=this;return r.getResults?.({exactMatch:a,location:o,maxResults:l,sourceIndex:t,spatialReference:i,suggestResult:e,view:n},s)}async _getSuggestionsFromSource(e,t,s){const r=this.allSources.at(t);if(!r)return null;e??="";const o=J(r,"suggestionsEnabled")?r.suggestionsEnabled:this.suggestionsEnabled,i=e?.length,l=J(r,"minSuggestCharacters")?r.minSuggestCharacters:this.minSuggestCharacters;if(o&&e.trim()&&i>=l){const o=this.view?.spatialReference||H,i=J(r,"maxSuggestions")?r.maxSuggestions:this.maxSuggestions,{view:l}=this,a=!!(r instanceof F&&J(r,"exactMatch"))&&r.exactMatch;return r.getSuggestions?.({view:l,sourceIndex:t,suggestTerm:e,spatialReference:o,maxSuggestions:i,exactMatch:a},s)}return null}_getLayerSourcePopupTemplate(e){const{layer:t}=e;if(t)return J(e,"popupTemplate")?e.popupTemplate:t.popupTemplate}_getSourceIndexOfResult(e){return n(this.results??[],({results:t,sourceIndex:s})=>{const r=t?.includes(e);return r?s:null})??null}async _goToSearchResult(e){this._abortGoTo();const t=new AbortController;this._gotoController=t;const s={target:{target:e},options:{signal:t.signal}};e||(s.options.animate=!1),await this.callGoTo(s),this._gotoController=null}_getDefaultSymbol(e){const{defaultSymbols:t}=this,s=e.feature?.geometry;if(null==s)return null;switch(s.type){case"point":case"multipoint":return t.point;case"polyline":return t.polyline;case"extent":case"polygon":return t.polygon;default:return null}}_removeHighlight(){this.removeHandles(U)}async _getLayerView(e){const{view:t}=this;if(!e||!t)return null;const{layer:s,sourceLayer:r}=e,o=s??r;return o&&"building-component"!==o.type&&"subtype-sublayer"!==o.type?(await t.when(),t.whenLayerView(o)):null}_highlightFeature(e){const{graphic:t,layerView:s}=e,{attributes:r,layer:o,sourceLayer:i}=t,l=o??i,{objectIdField:a}=l,n=(a&&r?.[a])??null,u=s.highlight(n??t);this.addHandles(u,U)}_setResultFloor(e){const{view:t}=this,s=e.feature?.attributes,r=e.feature?.sourceLayer;if(r&&"floorInfo"in r&&r?.floorInfo?.floorField&&s){const e=s[r.floorInfo.floorField];t?.emit("select-result-floor",e)}}};e([d()],Z.prototype,"_searching",void 0),e([d()],Z.prototype,"_updatingPromise",void 0),e([d({readOnly:!0,value:null})],Z.prototype,"activeSource",null),e([d()],Z.prototype,"activeSourceIndex",null),e([d()],Z.prototype,"allPlaceholder",null),e([d({readOnly:!0})],Z.prototype,"allSources",null),e([d()],Z.prototype,"autoNavigate",void 0),e([d()],Z.prototype,"autoSelect",void 0),e([d({type:r})],Z.prototype,"defaultPopupTemplate",null),e([d({readOnly:!0})],Z.prototype,"defaultSources",void 0),e([d()],Z.prototype,"defaultSymbols",void 0),e([d()],Z.prototype,"includeDefaultSources",void 0),e([d()],Z.prototype,"locationEnabled",null),e([d()],Z.prototype,"maxInputLength",void 0),e([d()],Z.prototype,"maxResults",void 0),e([d()],Z.prototype,"maxSuggestions",void 0),e([d()],Z.prototype,"messages",void 0),e([d()],Z.prototype,"minSuggestCharacters",void 0),e([d({readOnly:!0})],Z.prototype,"placeholder",null),e([d()],Z.prototype,"popupEnabled",void 0),e([d({type:r})],Z.prototype,"popupTemplate",void 0),e([d({type:v})],Z.prototype,"portal",void 0),e([d()],Z.prototype,"resultCount",void 0),e([d()],Z.prototype,"resultGraphicEnabled",void 0),e([d({readOnly:!0})],Z.prototype,"resultGraphic",void 0),e([d({readOnly:!0})],Z.prototype,"results",void 0),e([d({readOnly:!0})],Z.prototype,"selectedSuggestion",void 0),e([d()],Z.prototype,"searchAllEnabled",void 0),e([d({readOnly:!0})],Z.prototype,"selectedResult",void 0),e([d()],Z.prototype,"searchTerm",null),e([d({type:j})],Z.prototype,"sources",void 0),e([d({readOnly:!0})],Z.prototype,"state",null),e([d()],Z.prototype,"suggestionDelay",void 0),e([d()],Z.prototype,"suggestionCount",void 0),e([d({readOnly:!0})],Z.prototype,"suggestions",void 0),e([d()],Z.prototype,"suggestionsEnabled",void 0),e([d({readOnly:!0})],Z.prototype,"updating",null),e([d()],Z.prototype,"view",void 0),e([d()],Z.prototype,"clear",null),Z=e([m("esri.widgets.Search.SearchViewModel")],Z);const q=Z;export{q as default};
5
+ import{__decorate as e}from"tslib";import{getAssetUrl as t}from"../../assets.js";import s from"../../Graphic.js";import r from"../../PopupTemplate.js";import{isSome as o}from"../../core/arrayUtils.js";import i from"../../core/Error.js";import{EventedAccessor as l}from"../../core/Evented.js";import a from"../../core/Logger.js";import{mappedFind as n}from"../../core/maybe.js";import{eachAlways as u,after as c}from"../../core/promiseUtils.js";import{watch as h,initial as p,whenOnce as g}from"../../core/reactiveUtils.js";import{property as d,subclass as m}from"../../core/accessorSupport/decorators.js";import y from"../../geometry/Point.js";import f from"../../geometry/SpatialReference.js";import{getPointFromGeometry as S,getPointWithElevation as _}from"../../geometry/support/geometryUtils.js";import v from"../../portal/Portal.js";import{isApiKeyApplicable as w}from"../../support/apiKeyUtils.js";import b from"../../symbols/PictureMarkerSymbol.js";import x from"../../symbols/SimpleFillSymbol.js";import L from"../../symbols/SimpleLineSymbol.js";import I from"../../symbols/TextSymbol.js";import{highlightsSupported as T}from"../../views/support/layerViewUtils.js";import R from"./LayerSearchSource.js";import E from"./LocatorSearchSource.js";import{SourceCollection as F}from"./types.js";import{isArcGISWorldGeocoder as P,meteredArcGISLocatorUrl as j,isProxiedArcGISWorldGeocoder as C,isMeteredArcGISWorldGeocoder as G}from"./support/locatorUtils.js";import{supported as O,getCurrentPosition as A,positionToPoint as N}from"../support/geolocationUtils.js";import{GoTo as D}from"../support/GoTo.js";function M(e,t){return e.hasOwnProperty(t)&&null!=e[t]&&""!==e[t]}const V="highlight",J=f.WGS84,U="esri/images/search/search-symbol-32.png",H=/<[\s\S]*?>/g,k=-1;let B=class extends(D(l)){constructor(e){super(e),this._defaultPopupTemplate=new r({content:"{Match_addr}"}),this._gotoController=null,this._searching=null,this._updatingPromise=null,this._createdFeatureLayers=[],this.autoNavigate=!0,this.autoSelect=!0,this.defaultSources=new F,this.defaultSymbols={point:new b({url:t(U),size:24,width:24,height:24}),polyline:new L({color:[130,130,130,1],width:2}),polygon:new x({color:[235,235,235,.4],outline:{color:[130,130,130,1],width:2}})},this.includeDefaultSources=!0,this.maxInputLength=128,this.maxResults=6,this.maxSuggestions=6,this.messages=null,this.minSuggestCharacters=3,this.popupEnabled=!0,this.popupTemplate=null,this.portal=v.getDefault(),this.resultCount=null,this.resultGraphicEnabled=!0,this.resultGraphic=null,this.resultLocation=null,this.results=null,this.selectedSuggestion=null,this.searchAllEnabled=!0,this.selectedResult=null,this.sources=new F,this.suggestionDelay=350,this.suggestionCount=null,this.suggestions=null,this.suggestionsEnabled=!0,this.view=null}initialize(){this.addHandles([h(()=>[this.includeDefaultSources,this.view,this.portal],()=>this._update(),p),h(()=>this.messages,()=>{this._defaultPopupTemplate.title=this.messages?.searchResult??"",this._update()},p)])}destroy(){this._destroyFeatureLayers(),this._abortGoTo(),this.clearGraphics()}static{this.ALL_INDEX=k}get activeSource(){return this.allSources.at(this.activeSourceIndex)??null}get activeSourceIndex(){return 1===this.allSources.length||!this.searchAllEnabled?0:k}set activeSourceIndex(e){this._overrideIfSome("activeSourceIndex",e)}get allPlaceholder(){return this.messages?.allPlaceholder}set allPlaceholder(e){this._overrideIfSome("allPlaceholder",e)}get allSources(){const{sources:e,defaultSources:t,includeDefaultSources:s}=this,r="function"==typeof s?s.call(null,{sources:e,defaultSources:t}):s?t.concat(e):e,o=this._get("allSources")||new F;return o.removeAll(),o.addMany(r.filter(Boolean)),o}get defaultPopupTemplate(){return this._defaultPopupTemplate}set defaultPopupTemplate(e){this._overrideIfSome("defaultPopupTemplate",e)}get locationEnabled(){return this._get("locationEnabled")||O()}set locationEnabled(e){if(void 0===e)return void this._clearOverride("locationEnabled");const t=O();if(e&&!t){const e=new i("locationEnabled:geolocation-unsupported","Geolocation API is unsupported.",{geolocation:navigator.geolocation});a.getLogger(this).error(e)}this._override("locationEnabled",!!e&&t)}get placeholder(){const{allSources:e,activeSourceIndex:t,allPlaceholder:s}=this;if(t===k)return s??"";const r=e.at(t);return r?.placeholder??""}set searchTerm(e){this._set("searchTerm",e||""),this.clearGraphics(),this.selectedSuggestion&&this.selectedSuggestion.text!==e&&this._set("selectedSuggestion",null),""===e&&this._clear()}get searchTerm(){return this._get("searchTerm")||""}get state(){return this._searching?"searching":this.updating?"loading":0===this.allSources.length?"disabled":"ready"}get updating(){return null!=this._updatingPromise}clear(){this.searchTerm=""}clearGraphics(){this._removeHighlight();const{view:e,resultGraphic:t}=this;e&&t&&e.graphics.remove(t),this._set("resultLocation",null),this._set("resultGraphic",null)}search(e,t){this.emit("search-start"),this.clearGraphics();const s=this._createSuggestionForSearch(e),r=(async()=>{try{await this.when();const e=await this._getResultsFromSources(s,t);if(t?.signal?.aborted)return null;const r={activeSourceIndex:this.activeSourceIndex,searchTerm:s.text??"",numResults:0,numErrors:0,errors:[],results:[]};this._formatResponse(r,e,s);const o=this._getFirstResult(r.results),i=s.location&&o?o.name:s.text,l=i?.replaceAll(H,"");return this._set("searchTerm",l),(s.key&&"number"==typeof s.sourceIndex||s.location)&&this._set("selectedSuggestion",s),this._set("results",r.results),this._set("resultCount",r.results.reduce((e,t)=>e+(t.results?.length??0),0)),this.emit("search-complete",r),await this._selectFirstResult(o),r}finally{this._clearSearching()}})();return this._searching=r,r}async searchNearby(e){if(!this.locationEnabled){const e=new i("searchNearby:geolocation-unsupported","Geolocation API is unsupported.",{geolocation:navigator.geolocation});throw a.getLogger(this).error(e),e}const t=(async()=>{try{const t=await A(),s=await N({position:t,view:this.view},e);return await this.search(s,e)}finally{this._clearSearching()}})();return this._searching=t,t}async select(e){if(this.clearGraphics(),!e){const t=new i("select:missing-parameter","Cannot select without a searchResult.",{value:e});throw a.getLogger(this).error(t),t}const{view:t}=this,r=M(e,"sourceIndex")?e.sourceIndex:this._getSourceIndexOfResult(e),o=null!=r?this.allSources.at(r):null;if(!o){const e=new i("select:missing-source","Cannot select without a source.",{source:o});throw a.getLogger(this).error(e),e}const l=o instanceof R?this._getLayerSourcePopupTemplate(o):o.popupTemplate,n=o.resultSymbol||this._getDefaultSymbol(e),c=M(o,"resultGraphicEnabled")?!!o.resultGraphicEnabled:this.resultGraphicEnabled,h=M(o,"autoNavigate")?!!o.autoNavigate:this.autoNavigate,p=M(o,"popupEnabled")?!!o.popupEnabled:this.popupEnabled,g=p?l||this.popupTemplate||this.defaultPopupTemplate:null,{feature:d}=e;if(!d){const e=new i("select:missing-feature","Cannot select without a feature.",{feature:d});throw a.getLogger(this).error(e),e}const{attributes:m,geometry:y,layer:f,sourceLayer:v}=d,w=y?S(y):null,b={layerViewQuery:this._getLayerView(d),elevationQuery:t&&null!=w?_(w,t):Promise.resolve(w)},x=await u(b),L=x.layerViewQuery.value,E=x.elevationQuery.value;n instanceof I&&(n.text=e.name);const F=t&&h?e.target||e.extent:null,P=null!=F?this._goToSearchResult(F):Promise.resolve();await P;const j=L?d:new s({geometry:y,symbol:n,attributes:m,layer:f,sourceLayer:v,popupTemplate:g});return L&&T(L)&&!p&&this._highlightFeature({graphic:j,layerView:L}),!L&&c&&t&&t.graphics.push(j),this._setResultFloor(e),this._set("selectedResult",e),this._set("resultGraphic",j),this._set("resultLocation",E),this.emit("select-result",{popupEnabled:p,result:e,source:o,sourceIndex:r}),e}async suggest(e,t,s){const r=e||this.searchTerm;this.emit("suggest-start",{searchTerm:r}),await this._suggestTimer(t,s);const o=await this._suggestImmediate(r,s);return this._set("suggestions",o?.results),this._set("suggestionCount",o?.results.reduce((e,t)=>e+(t.results?.length??0),0)??null),this.emit("suggest-complete",o),o}async when(){await g(()=>!this.updating)}async _update(){const{portal:e,view:t}=this;if(this.includeDefaultSources){const s=this._updatingPromise=u([e?.load(),t?.when()]);if(this.destroyed)return;if(await s,s!==this._updatingPromise)return}this.destroyed||this._updateDefaultSources(),this._updatingPromise=null}_clearSearching(){this._searching=null}_convertHelperServices(){const e=this.portal?.helperServices?.geocode;if(!e)return[];return e.map(e=>{if(!1===e.placefinding)return;const t=P(e.url)&&w(e.url)?{url:j}:null,s=E.fromJSON({...e,...t}),r=s.url;if(P(r)||C(r)||G(r)){const e=s.outFields??["Addr_type","Match_addr","StAddr","City"],t=(s.placeholder||this.messages?.placeholder)??"",r="number"==typeof s.defaultZoomScale?s.defaultZoomScale:2500;s.singleLineFieldName="SingleLine",s.outFields=e,s.placeholder=t,s.defaultZoomScale=r}return s.singleLineFieldName?s:void 0}).filter(o)}_destroyFeatureLayers(){this._createdFeatureLayers.forEach(e=>e?.destroy()),this._createdFeatureLayers=[]}_getLayerSources(e,t){const s=this.view?.map;return e.map(e=>{const r=s.findLayerById(e.id);if(!r)return;const o=this._getLayerJSON(e),i=R.fromJSON(o);return i.placeholder=t,this._getLayer(r,o).then(e=>{i.layer=e}),i}).filter(o).toArray()}_getTableSources(e,t){const s=this.view?.map;return e.map(e=>{if(!e.id)return;const r=s.findTableById(e.id);if(!r)return;const o=this._getLayerJSON(e),i=R.fromJSON(o);return i.placeholder=t,this._getLayer(r,o).then(e=>{i.layer=e}),i}).filter(o).toArray()}_convertApplicationProperties(){const e=this.view?.map,t=e?.applicationProperties?.viewing?.search;if(!t)return[];const{enabled:s,hintText:r,layers:o,tables:i}=t;if(!s)return[];return[...this._getLayerSources(o,r),...this._getTableSources(i,r)]}async _getSubLayer(e,t){if(await e.load(),!e.allSublayers)throw new Error;const s=e.allSublayers.find(e=>e.id===t.subLayer);if(!s)throw new Error;const r=await(s.createFeatureLayer?.());if(!r)throw new Error;return this._createdFeatureLayers.push(r),r}async _getBuildingSubLayer(e,t){await e.load();const s=e.allSublayers.find(e=>e.id===t.subLayer);if("building-component"!==s?.type)throw new Error;if(await s.load(),null==s.associatedLayer)throw new Error;return await s.associatedLayer.load(),s}async _getLayer(e,t){if("feature"===e.type||"scene"===e.type||"csv"===e.type||"geojson"===e.type||"ogc-feature"===e.type||"subtype-group"===e.type)return e;if("map-image"===e.type)try{return await this._getSubLayer(e,t)}catch(s){const t=new i("search:create-featurelayer","Could not create a FeatureLayer from the MapImageLayer",{layer:e});return a.getLogger(this).error(t),null}return"building-scene"===e.type?this._getBuildingSubLayer(e,t):null}_getLayerJSON(e){return"function"==typeof e.toJSON?e.toJSON():e}_updateDefaultSources(){const{defaultSources:e,includeDefaultSources:t}=this;this._destroyFeatureLayers(),e.removeAll(),t&&e.addMany([...this._convertApplicationProperties(),...this._convertHelperServices()])}_abortGoTo(){this._gotoController&&this._gotoController.abort(),this._gotoController=null}_clear(){this._abortGoTo(),this._set("resultCount",null),this._set("results",null),this._set("suggestions",null),this._set("suggestionCount",null),this._set("selectedResult",null),this._set("selectedSuggestion",null),this.emit("search-clear")}_suggestTimer(e,t){const s=null!=e?e:this.suggestionDelay;return c(s,null,t?.signal)}_createLocationForSearch(e){return e instanceof s&&e.geometry?S(e.geometry):e instanceof y?e:Array.isArray(e)&&2===e.length?new y({longitude:e[0],latitude:e[1]}):null}_createSuggestionForSearch(e){if(e&&M(e,"key")&&M(e,"text")&&M(e,"sourceIndex"))return e;const t=this._createLocationForSearch(e),s="string"==typeof e?e:this.searchTerm,{selectedSuggestion:r,selectedResult:o}=this,i=!e&&r&&o,l=i&&r.key===o.key&&r.sourceIndex===o.sourceIndex,a=i&&r.location;return l||a?r:{location:t,text:t?"":s,sourceIndex:null,key:null}}_getFirstResult(e){return n(e,({results:e})=>e?.[0])??null}async _selectFirstResult(e){return this.autoSelect&&e?this.select(e):null}async _suggestImmediate(e,t){await this.when();const s=await this._getSuggestionsFromSources(e,t);if(t?.signal?.aborted)return null;const r={activeSourceIndex:this.activeSourceIndex,searchTerm:e??"",numResults:0,numErrors:0,errors:[],results:[]};return this._formatResponse(r,s),r}_formatSourceResponse(e,t,s){const r=t?.value||[],o=t?.error,i=this.allSources.at(s);if(o){const t={sourceIndex:s,source:i,error:o};e.errors.push(t),a.getLogger(this).error(o),e.numErrors++}else{const t={sourceIndex:s,source:i,results:r};e.results.push(t),e.numResults+=r.length}}_formatResponse(e,t,s){if(t)if(e.activeSourceIndex===k){const r=s&&M(s,"sourceIndex")&&-1!==s.sourceIndex?s.sourceIndex:void 0;t.forEach((t,s)=>{const o=void 0!==r?r:s;this._formatSourceResponse(e,t,o)})}else this._formatSourceResponse(e,t[0],e.activeSourceIndex)}async _getResultsFromSources(e,t){const{allSources:s}=this,r=!e.location&&M(e,"sourceIndex")?e.sourceIndex:this.activeSourceIndex,o=[];if(!s.length){const e=new i("search:no-sources-defined","At least one source is required.",{allSources:s});throw a.getLogger(this).error(e),e}return r===k?s.forEach((s,r)=>{o.push(this._getResultsFromSource(e,r,t))}):o.push(this._getResultsFromSource(e,r,t)),u(o)}async _getSuggestionsFromSources(e,t){const{allSources:s,activeSourceIndex:r}=this,o=[];if(!s.length){const e=new i("suggest:no-sources-defined","At least one source is required.",{allSources:s});throw a.getLogger(this).error(e),e}return r===k?s.forEach((s,r)=>{o.push(this._getSuggestionsFromSource(e,r,t))}):o.push(this._getSuggestionsFromSource(e,r,t)),u(o)}async _getResultsFromSource(e,t,s){const r=null!=t?this.allSources.at(t):null;if(!r)return null;const{location:o=null}=e,i=this.view?.spatialReference??J,l=M(r,"maxResults")?r.maxResults:this.maxResults,a=!!(r instanceof R&&M(r,"exactMatch"))&&r.exactMatch,{view:n}=this;return r.getResults?.({exactMatch:a,location:o,maxResults:l,sourceIndex:t,spatialReference:i,suggestResult:e,view:n},s)}async _getSuggestionsFromSource(e,t,s){const r=this.allSources.at(t);if(!r)return null;e??="";const o=M(r,"suggestionsEnabled")?r.suggestionsEnabled:this.suggestionsEnabled,i=e?.length,l=M(r,"minSuggestCharacters")?r.minSuggestCharacters:this.minSuggestCharacters;if(o&&e.trim()&&i>=l){const o=this.view?.spatialReference||J,i=M(r,"maxSuggestions")?r.maxSuggestions:this.maxSuggestions,{view:l}=this,a=!!(r instanceof R&&M(r,"exactMatch"))&&r.exactMatch;return r.getSuggestions?.({view:l,sourceIndex:t,suggestTerm:e,spatialReference:o,maxSuggestions:i,exactMatch:a},s)}return null}_getLayerSourcePopupTemplate(e){const{layer:t}=e;if(t)return M(e,"popupTemplate")?e.popupTemplate:t.popupTemplate}_getSourceIndexOfResult(e){return n(this.results??[],({results:t,sourceIndex:s})=>{const r=t?.includes(e);return r?s:null})??null}async _goToSearchResult(e){this._abortGoTo();const t=new AbortController;this._gotoController=t;const s={target:{target:e},options:{signal:t.signal}};e||(s.options.animate=!1),await this.callGoTo(s),this._gotoController=null}_getDefaultSymbol(e){const{defaultSymbols:t}=this,s=e.feature?.geometry;if(null==s)return null;switch(s.type){case"point":case"multipoint":return t.point;case"polyline":return t.polyline;case"extent":case"polygon":return t.polygon;default:return null}}_removeHighlight(){this.removeHandles(V)}async _getLayerView(e){const{view:t}=this;if(!e||!t)return null;const{layer:s,sourceLayer:r}=e,o=s??r;return o&&"building-component"!==o.type&&"subtype-sublayer"!==o.type?(await t.when(),t.whenLayerView(o)):null}_highlightFeature(e){const{graphic:t,layerView:s}=e,{attributes:r,layer:o,sourceLayer:i}=t,l=o??i,{objectIdField:a}=l,n=(a&&r?.[a])??null,u=s.highlight(n??t);this.addHandles(u,V)}_setResultFloor(e){const{view:t}=this,s=e.feature?.attributes,r=e.feature?.sourceLayer;if(r&&"floorInfo"in r&&r?.floorInfo?.floorField&&s){const e=s[r.floorInfo.floorField];t?.emit("select-result-floor",e)}}};e([d()],B.prototype,"_searching",void 0),e([d()],B.prototype,"_updatingPromise",void 0),e([d({readOnly:!0,value:null})],B.prototype,"activeSource",null),e([d()],B.prototype,"activeSourceIndex",null),e([d()],B.prototype,"allPlaceholder",null),e([d({readOnly:!0})],B.prototype,"allSources",null),e([d()],B.prototype,"autoNavigate",void 0),e([d()],B.prototype,"autoSelect",void 0),e([d({type:r})],B.prototype,"defaultPopupTemplate",null),e([d({readOnly:!0})],B.prototype,"defaultSources",void 0),e([d()],B.prototype,"defaultSymbols",void 0),e([d()],B.prototype,"includeDefaultSources",void 0),e([d()],B.prototype,"locationEnabled",null),e([d()],B.prototype,"maxInputLength",void 0),e([d()],B.prototype,"maxResults",void 0),e([d()],B.prototype,"maxSuggestions",void 0),e([d()],B.prototype,"messages",void 0),e([d()],B.prototype,"minSuggestCharacters",void 0),e([d({readOnly:!0})],B.prototype,"placeholder",null),e([d()],B.prototype,"popupEnabled",void 0),e([d({type:r})],B.prototype,"popupTemplate",void 0),e([d({type:v})],B.prototype,"portal",void 0),e([d()],B.prototype,"resultCount",void 0),e([d()],B.prototype,"resultGraphicEnabled",void 0),e([d({readOnly:!0})],B.prototype,"resultGraphic",void 0),e([d({readOnly:!0})],B.prototype,"resultLocation",void 0),e([d({readOnly:!0})],B.prototype,"results",void 0),e([d({readOnly:!0})],B.prototype,"selectedSuggestion",void 0),e([d()],B.prototype,"searchAllEnabled",void 0),e([d({readOnly:!0})],B.prototype,"selectedResult",void 0),e([d()],B.prototype,"searchTerm",null),e([d({type:F})],B.prototype,"sources",void 0),e([d({readOnly:!0})],B.prototype,"state",null),e([d()],B.prototype,"suggestionDelay",void 0),e([d()],B.prototype,"suggestionCount",void 0),e([d({readOnly:!0})],B.prototype,"suggestions",void 0),e([d()],B.prototype,"suggestionsEnabled",void 0),e([d({readOnly:!0})],B.prototype,"updating",null),e([d()],B.prototype,"view",void 0),e([d()],B.prototype,"clear",null),B=e([m("esri.widgets.Search.SearchViewModel")],B);const Q=B;export{Q 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/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{substitute as e,formatDate as t}from"../../../intl.js";import r from"../../../core/Error.js";import has from"../../../core/has.js";import{clone as i}from"../../../core/lang.js";import n from"../../../core/Logger.js";import{mappedFind as l}from"../../../core/maybe.js";import{getMetersPerUnitForSR as o}from"../../../core/units.js";import s from"../../../geometry/Polygon.js";import{createExtentFromGeometry as a,scaleExtent as u}from"../../../geometry/support/geometryUtils.js";import c from"../../../rest/support/FullTextSearch.js";const d=/https?:\/\/services.*\.arcgis\.com/i,f=/(?:\{([^}]+)\})/g,m=()=>n.getLogger("esri.widgets.Search.support.layerSearchUtils");function p(e,t){const{exactMatch:i=!1,location:n,maxResults:l,spatialReference:s,source:a,sourceIndex:u,suggestResult:c,view:d}=e,{layer:f,filter:p,zoomScale:g}=a,b=d?.scale,L=y(a,d),R=t?.signal;return x(f).then(()=>{const e=f.popupTemplate;return e?e.getRequiredFields(f.fieldsIndex):null}).then(e=>{const{objectIdField:t,returnZ:y}=f,x=S(a);if(!j(f,x))throw m().error("invalid-field: displayField is invalid."),new r("getResults():invalid-field","displayField is invalid.");const C=e?.length?e:[x],E=a.outFields||C,D=h(E);E.includes(t)||D||E.push(t),f.floorInfo?.floorField&&E.push(f.floorInfo.floorField);if(!(D||I(f,E)))throw m().error("invalid-field: outField is invalid."),new r("getResults():invalid-field","outField is invalid.");const A=f.createQuery(),{orderByFields:N}=a;if(N&&(A.orderByFields=N),s){A.outSpatialReference=s;const e=1/o(s);e&&(A.maxAllowableOffset=e)}const k="mesh"===f.geometryType||"multipatch"===f.geometryType,O=f.capabilities?.data?.supportsZ&&!k;if(A.returnZ=O&&!1!==y,A.returnGeometry=!0,A.multipatchOption=k?"xyFootprint":null,E&&(A.outFields=E),n)A.geometry=n;else if(c.key)A.objectIds=[c.key];else{const e=a.searchFields||[x];if(!I(f,e))throw m().error("invalid-field: search field is invalid."),new r("getResults():invalid-field","search field is invalid.");T(f)&&(A.num=l),L&&(A.geometry=L);const t=c.text?.trim();if(!t)return[];const n=c.text,{prefix:o="",suffix:s=""}=a,u=q(`${o}${n}${s}`);$(f)&&v(f,e)&&!i&&n&&(A.fullText=w({text:n,searchFields:e}));const d=M({searchTerm:u,layer:f,searchFields:e,filter:p,exactMatch:i,query:A,type:"search"});if(A.where=d,!F(A))return[]}return f.queryFeatures(A,{signal:R}).then(e=>G(e,d,a,u,x,b,g))})}function g(e,t){const{source:i,spatialReference:n,view:l,suggestTerm:o,maxSuggestions:s,sourceIndex:a,exactMatch:u}=e,{layer:c,filter:d}=i,p=t?.signal,g=y(i,l);return x(c).then(()=>{if(!T(c))return[];const e=S(i),t=i.searchFields||[e],l=[];i.suggestionTemplate?i.suggestionTemplate.replaceAll(f,(e,t)=>(l.push(t),e)):l.push(e);const y=h(l);l.includes(c.objectIdField)||y||l.push(c.objectIdField);const x=j(c,e),b=y||I(c,l),L=I(c,t);if(!x)throw m().error("invalid-field: displayField is invalid."),new r("getSuggestions():invalid-field","displayField is invalid.");if(!b)throw m().error("invalid-field: outField is invalid."),new r("getSuggestions():invalid-field","outField is invalid.");if(!L)throw m().error("invalid-field: search field is invalid."),new r("getSuggestions():invalid-field","search field is invalid.");const R=c.createQuery(),{orderByFields:C}=i;C&&(R.orderByFields=C),R.outSpatialReference=n,R.returnGeometry=!1,R.num=s,R.outFields=l,g&&(R.geometry=g);if(!o.trim())return[];const{prefix:E="",suffix:D=""}=i,A=q(`${E}${o}${D}`);$(c)&&v(c,t)&&!u&&o&&(R.fullText=w({text:o,searchFields:t}));const N=M({searchTerm:A,layer:c,searchFields:t,filter:d,exactMatch:u,query:R,type:"suggest"});return R.where=N,F(R)?c.queryFeatures(R,{signal:p}).then(t=>B(t,i,a,e)):[]})}function y(e,t){const{filter:r,withinViewEnabled:i}=e,n=t?.extent,l=r?.geometry;return l??(i&&n?n:void 0)}function h(e){return e&&e.includes("*")}async function x(e){e&&await e.load()}function F(e){return!(!e.fullText&&!e.where)}function v(e,t){const r=e?.indexes;if(!r||!t?.length)return!1;return r.filter(e=>"FullText"===e.indexType).some(e=>{const r=e.fields?.split(",").map(e=>e.trim().toLowerCase())||[];return t.every(e=>r.includes(e.toLowerCase()))})}function w({text:e,searchFields:t}){return e.trim().split(" ").filter(e=>!!e.trim()).map(e=>new c({onFields:t,searchTerm:e,searchType:"prefix"}))}function $(e){return e?.capabilities?.query?.supportsFullTextSearch??!1}function T(e){return e?.capabilities?.query?.supportsPagination??!1}function b(e){return e?.fieldsIndex?.fields?.find(e=>"string"===e.type)?.name??""}function S(e){return e.displayField||e.layer.displayField||b(e.layer)}function I(e,t){return!(!e||!t?.length)&&t.every(t=>j(e,t))}function j(e,t){return!!e.getField(t)}function L(e){for(let t=0;t<e.length;t++)if(e.charCodeAt(t)>255)return!0;return!1}function R({codedValues:e},t,r){return l(e??[],e=>{const i=e.name,n=r?i:i.toLowerCase();return(r?t:t.toLowerCase())===n?e.code.toString():null})??null}function q(e){return e.replaceAll("'","''")}function C(e,t){const r=t?.where;return r?`(${e}) AND (${r})`:e}function E({currentTerm:e,field:t,filter:r,exactMatch:i,url:n,type:l}){const o=t?.type,s=t?.name;if("string"===o||"date"===o||"global-id"===o){const t=d.test(n??""),o=t&&L(e)?"N":"";if(i&&"search"===l)return C(`${s} = ${o}'${e}'`,r);if(t){return C(`${s} LIKE ${o}${`'${e}%'`}`,r)}return C(`${`LOWER(${s})`} LIKE ${o}${`'${e.toLowerCase()}%'`}`,r)}if("oid"===o||"small-integer"===o||"integer"===o||"single"===o||"double"===o){const t=Number(e);return isNaN(t)?null:C(`${s} = ${t}`,r)}return C(`${s} = ${e}`,r)}function D(e,t){return e?` OR (${t})`:`(${t})`}function M({searchTerm:e,layer:t,searchFields:r,filter:i,exactMatch:n,query:l,type:o}){const{definitionExpression:s,url:a}=t;let u="";return!l.fullText&&e&&r&&r.forEach(r=>{const l=t.getField(r),s=t.getFieldDomain?.(r,{excludeImpliedDomains:has("esri-widget-legacy-field-domain-calculation")}),c=("coded-value"===s?.type?R(s,e,n):null)||e||null;if(null!==c){const e=E({currentTerm:c,field:l,filter:i,exactMatch:n,url:a,type:o});e&&(u+=D(u,e))}}),s&&u?`(${s}) AND (${u})`:s||u}function A(e,t){let r=null;const{codedValues:i}=e;return i&&i.length&&i.some(e=>e.code===t&&(r=e.name,!0)),r}function N(e,t){return e[t]??e[Object.keys(e).find(e=>e.toLowerCase()===t.toLowerCase())]}function k(r,i,n){const l=r.sourceLayer,{attributes:o}=r,s=l.getFieldDomain?.(n,{feature:r,excludeImpliedDomains:has("esri-widget-legacy-field-domain-calculation")});if(i)return e(i,o);if(n&&o){const e=l.getField(n),r=N(o,n);return null==r?"":"coded-value"===s?.type?A(s,r)??"":"date"===e?.type?t(new Date(r)):"number"==typeof r?r.toString():"string"!=typeof r?"":r.trim()}return""}function O(e,t,r,i){const n=e.sourceLayer,{attributes:l}=e,{objectIdField:o}=n,s=o?l[o]:null;return{text:k(e,t.suggestionTemplate,i),key:s,sourceIndex:r}}function B(e,t,r,i){return e.features.map(e=>O(e,t,r,i))}function V(e){return null!=e&&null!=e.minScale&&null!=e.maxScale}function Z(e,t,r,n,l,o,c){const d=e.clone();d.layer=e.layer;const f=e.sourceLayer,m=f?.objectIdField,p=m?e.attributes[m]:null,g=k(e,r.searchTemplate,l);null!=o&&V(f)&&(f.minScale&&f.minScale<o?o=f.minScale:f.maxScale&&f.maxScale>o&&(o=f.maxScale));const y=d.geometry?a(d.geometry,t??void 0,o??void 0):void 0,h="number"==typeof c&&y?u(i(y),t??void 0,c):y,x=e.clone();return x.layer=e.layer,null!=h&&(x.geometry=s.fromExtent(h)),{extent:h,target:x,feature:d,key:p,name:g,sourceIndex:n}}function G(e,t,r,i,n,l,o){return e.features.map(e=>Z(e,t,r,i,n,l,o))}export{w as createFullTextSearchInfos,p as getResults,g as getSuggestions};
5
+ import{substitute as e,formatDate as t}from"../../../intl.js";import r from"../../../core/Error.js";import{clone as i}from"../../../core/lang.js";import n from"../../../core/Logger.js";import{mappedFind as l}from"../../../core/maybe.js";import{getMetersPerUnitForSR as o}from"../../../core/units.js";import s from"../../../geometry/Polygon.js";import{createExtentFromGeometry as u,scaleExtent as a}from"../../../geometry/support/geometryUtils.js";import c from"../../../rest/support/FullTextSearch.js";const d=/https?:\/\/services.*\.arcgis\.com/i,f=/(?:\{([^}]+)\})/g,m=()=>n.getLogger("esri.widgets.Search.support.layerSearchUtils");function p(e,t){const{exactMatch:i=!1,location:n,maxResults:l,spatialReference:s,source:u,sourceIndex:a,suggestResult:c,view:d}=e,{layer:f,filter:p,zoomScale:y}=u,b=d?.scale,L=g(u,d),R=t?.signal;return x(f).then(()=>{const e=f.popupTemplate;return e?e.getRequiredFields(f.fieldsIndex):null}).then(e=>{const{objectIdField:t,returnZ:g}=f,x=S(u);if(!I(f,x))throw m().error("invalid-field: displayField is invalid."),new r("getResults():invalid-field","displayField is invalid.");const C=e?.length?e:[x],E=u.outFields||C,M=h(E);E.includes(t)||M||E.push(t),f.floorInfo?.floorField&&E.push(f.floorInfo.floorField);if(!(M||j(f,E)))throw m().error("invalid-field: outField is invalid."),new r("getResults():invalid-field","outField is invalid.");const N=f.createQuery(),{orderByFields:k}=u;if(k&&(N.orderByFields=k),s){N.outSpatialReference=s;const e=1/o(s);e&&(N.maxAllowableOffset=e)}const D="mesh"===f.geometryType||"multipatch"===f.geometryType,O=f.capabilities?.data?.supportsZ&&!D;if(N.returnZ=O&&!1!==g,N.returnGeometry=!0,N.multipatchOption=D?"xyFootprint":null,E&&(N.outFields=E),n)N.geometry=n;else if(c.key)N.objectIds=[c.key];else{const e=u.searchFields||[x];if(!j(f,e))throw m().error("invalid-field: search field is invalid."),new r("getResults():invalid-field","search field is invalid.");T(f)&&(N.num=l),L&&(N.geometry=L);const t=c.text?.trim();if(!t)return[];const n=c.text,{prefix:o="",suffix:s=""}=u,a=q(`${o}${n}${s}`);$(f)&&v(f,e)&&!i&&n&&(N.fullText=w({text:n,searchFields:e}));const d=A({searchTerm:a,layer:f,searchFields:e,filter:p,exactMatch:i,query:N,type:"search"});if(N.where=d,!F(N))return[]}return f.queryFeatures(N,{signal:R}).then(e=>G(e,d,u,a,x,b,y))})}function y(e,t){const{source:i,spatialReference:n,view:l,suggestTerm:o,maxSuggestions:s,sourceIndex:u,exactMatch:a}=e,{layer:c,filter:d}=i,p=t?.signal,y=g(i,l);return x(c).then(()=>{if(!T(c))return[];const e=S(i),t=i.searchFields||[e],l=[];i.suggestionTemplate?i.suggestionTemplate.replaceAll(f,(e,t)=>(l.push(t),e)):l.push(e);const g=h(l);l.includes(c.objectIdField)||g||l.push(c.objectIdField);const x=I(c,e),b=g||j(c,l),L=j(c,t);if(!x)throw m().error("invalid-field: displayField is invalid."),new r("getSuggestions():invalid-field","displayField is invalid.");if(!b)throw m().error("invalid-field: outField is invalid."),new r("getSuggestions():invalid-field","outField is invalid.");if(!L)throw m().error("invalid-field: search field is invalid."),new r("getSuggestions():invalid-field","search field is invalid.");const R=c.createQuery(),{orderByFields:C}=i;C&&(R.orderByFields=C),R.outSpatialReference=n,R.returnGeometry=!1,R.num=s,R.outFields=l,y&&(R.geometry=y);if(!o.trim())return[];const{prefix:E="",suffix:M=""}=i,N=q(`${E}${o}${M}`);$(c)&&v(c,t)&&!a&&o&&(R.fullText=w({text:o,searchFields:t}));const k=A({searchTerm:N,layer:c,searchFields:t,filter:d,exactMatch:a,query:R,type:"suggest"});return R.where=k,F(R)?c.queryFeatures(R,{signal:p}).then(t=>B(t,i,u,e)):[]})}function g(e,t){const{filter:r,withinViewEnabled:i}=e,n=t?.extent,l=r?.geometry;return l??(i&&n?n:void 0)}function h(e){return e&&e.includes("*")}async function x(e){e&&await e.load()}function F(e){return!(!e.fullText&&!e.where)}function v(e,t){const r=e?.indexes;if(!r||!t?.length)return!1;return r.filter(e=>"FullText"===e.indexType).some(e=>{const r=e.fields?.split(",").map(e=>e.trim().toLowerCase())||[];return t.every(e=>r.includes(e.toLowerCase()))})}function w({text:e,searchFields:t}){return e.trim().split(" ").filter(e=>!!e.trim()).map(e=>new c({onFields:t,searchTerm:e,searchType:"prefix"}))}function $(e){return e?.capabilities?.query?.supportsFullTextSearch??!1}function T(e){return e?.capabilities?.query?.supportsPagination??!1}function b(e){return e?.fieldsIndex?.fields?.find(e=>"string"===e.type)?.name??""}function S(e){return e.displayField||e.layer.displayField||b(e.layer)}function j(e,t){return!(!e||!t?.length)&&t.every(t=>I(e,t))}function I(e,t){return!!e.getField(t)}function L(e){for(let t=0;t<e.length;t++)if(e.charCodeAt(t)>255)return!0;return!1}function R({codedValues:e},t,r){return l(e??[],e=>{const i=e.name,n=r?i:i.toLowerCase();return(r?t:t.toLowerCase())===n?e.code.toString():null})??null}function q(e){return e.replaceAll("'","''")}function C(e,t){const r=t?.where;return r?`(${e}) AND (${r})`:e}function E({currentTerm:e,field:t,filter:r,exactMatch:i,url:n,type:l}){const o=t?.type,s=t?.name;if("string"===o||"date"===o||"global-id"===o){const t=d.test(n??""),o=t&&L(e)?"N":"";if(i&&"search"===l)return C(`${s} = ${o}'${e}'`,r);if(t){return C(`${s} LIKE ${o}${`'${e}%'`}`,r)}return C(`${`LOWER(${s})`} LIKE ${o}${`'${e.toLowerCase()}%'`}`,r)}if("oid"===o||"small-integer"===o||"integer"===o||"single"===o||"double"===o){const t=Number(e);return isNaN(t)?null:C(`${s} = ${t}`,r)}return C(`${s} = ${e}`,r)}function M(e,t){return e?` OR (${t})`:`(${t})`}function A({searchTerm:e,layer:t,searchFields:r,filter:i,exactMatch:n,query:l,type:o}){const{definitionExpression:s,url:u}=t;let a="";return!l.fullText&&e&&r&&r.forEach(r=>{const l=t.getField(r),s=t.getFieldDomain?.(r),c=("coded-value"===s?.type?R(s,e,n):null)||e||null;if(null!==c){const e=E({currentTerm:c,field:l,filter:i,exactMatch:n,url:u,type:o});e&&(a+=M(a,e))}}),s&&a?`(${s}) AND (${a})`:s||a}function N(e,t){let r=null;const{codedValues:i}=e;return i&&i.length&&i.some(e=>e.code===t&&(r=e.name,!0)),r}function k(e,t){return e[t]??e[Object.keys(e).find(e=>e.toLowerCase()===t.toLowerCase())]}function D(r,i,n){const l=r.sourceLayer,{attributes:o}=r,s=l.getFieldDomain?.(n,{feature:r});if(i)return e(i,o);if(n&&o){const e=l.getField(n),r=k(o,n);return null==r?"":"coded-value"===s?.type?N(s,r)??"":"date"===e?.type?t(new Date(r)):"number"==typeof r?r.toString():"string"!=typeof r?"":r.trim()}return""}function O(e,t,r,i){const n=e.sourceLayer,{attributes:l}=e,{objectIdField:o}=n,s=o?l[o]:null;return{text:D(e,t.suggestionTemplate,i),key:s,sourceIndex:r}}function B(e,t,r,i){return e.features.map(e=>O(e,t,r,i))}function V(e){return null!=e&&null!=e.minScale&&null!=e.maxScale}function Z(e,t,r,n,l,o,c){const d=e.clone();d.layer=e.layer;const f=e.sourceLayer,m=f?.objectIdField,p=m?e.attributes[m]:null,y=D(e,r.searchTemplate,l);null!=o&&V(f)&&(f.minScale&&f.minScale<o?o=f.minScale:f.maxScale&&f.maxScale>o&&(o=f.maxScale));const g=d.geometry?u(d.geometry,t??void 0,o??void 0):void 0,h="number"==typeof c&&g?a(i(g),t??void 0,c):g,x=e.clone();return x.layer=e.layer,null!=h&&(x.geometry=s.fromExtent(h)),{extent:h,target:x,feature:d,key:p,name:y,sourceIndex:n}}function G(e,t,r,i,n,l,o){return e.features.map(e=>Z(e,t,r,i,n,l,o))}export{w as createFullTextSearchInfos,p as getResults,y as getSuggestions};