@arcgis/core 5.2.0-next.120 → 5.2.0-next.122

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 (534) hide show
  1. package/Ground.js +1 -1
  2. package/arcade/containerUtils.js +1 -1
  3. package/arcade/functions/feature.js +1 -1
  4. package/arcade/functions/featuresetstring.js +1 -1
  5. package/arcade/languageUtils.js +1 -1
  6. package/arcgisGlobal.d.ts +9 -0
  7. package/assets/components/assets/icon/addCellAbove16.json +1 -0
  8. package/assets/components/assets/icon/addCellAbove24.json +1 -0
  9. package/assets/components/assets/icon/addCellAbove32.json +1 -0
  10. package/assets/components/assets/icon/addCellBelow16.json +1 -0
  11. package/assets/components/assets/icon/addCellBelow24.json +1 -0
  12. package/assets/components/assets/icon/addCellBelow32.json +1 -0
  13. package/assets/components/assets/icon/linkedChart16.json +1 -0
  14. package/assets/components/assets/icon/linkedChart24.json +1 -0
  15. package/assets/components/assets/icon/linkedChart32.json +1 -0
  16. package/assets/components/assets/icon/polygonFromFeature16.json +1 -0
  17. package/assets/components/assets/icon/polygonFromFeature24.json +1 -0
  18. package/assets/components/assets/icon/polygonFromFeature32.json +1 -0
  19. package/assets/esri/core/workers/RemoteClient.js +1 -1
  20. package/assets/esri/core/workers/chunks/0148cb611bf7c8c5fe8a.js +1 -0
  21. package/assets/esri/core/workers/chunks/025da54eef112d7e8f66.js +1 -0
  22. package/assets/esri/core/workers/chunks/033debcbf6b3683dc4fe.js +2 -0
  23. package/assets/esri/core/workers/chunks/064445e6f9512817ac87.js +2 -0
  24. package/assets/esri/core/workers/chunks/{304462b049116f59accc.js → 09676cfa99b90fe0cc63.js} +1 -1
  25. package/assets/esri/core/workers/chunks/0aadee0437fa061e4ff5.js +1 -0
  26. package/assets/esri/core/workers/chunks/{deb5b1d772ca407654d4.js → 0acc754907395e83bbc6.js} +1 -1
  27. package/assets/esri/core/workers/chunks/1302bf9718747cd9fdd9.js +1 -0
  28. package/assets/esri/core/workers/chunks/{956432c9d45940983bc2.js → 1b42d163ef22e3565bb7.js} +1 -1
  29. package/assets/esri/core/workers/chunks/1b551ef3d84d9c1e93f9.js +1 -0
  30. package/assets/esri/core/workers/chunks/1c38ce72160d5a4e4b3d.js +1 -0
  31. package/assets/esri/core/workers/chunks/1c3b087fbf2d102376fc.js +1 -0
  32. package/assets/esri/core/workers/chunks/{e18b8646c7378213b618.js → 1e46703cb566c25458ad.js} +1 -1
  33. package/assets/esri/core/workers/chunks/1f135269aea3931e11b2.js +1 -0
  34. package/assets/esri/core/workers/chunks/{ea9e770efc85594e4dd2.js → 216d8cb86548e92a8196.js} +1 -1
  35. package/assets/esri/core/workers/chunks/23279303cd7698314c56.js +1 -0
  36. package/assets/esri/core/workers/chunks/{4bf2cc4d092601ff2b86.js → 24673aac70d6c949b6fa.js} +1 -1
  37. package/assets/esri/core/workers/chunks/24cf91aeab53a897e951.js +1 -0
  38. package/assets/esri/core/workers/chunks/26bc509a031788bfa678.js +1 -0
  39. package/assets/esri/core/workers/chunks/{d629708bf23da24ee523.js → 298f234f11a10c5120a2.js} +1 -1
  40. package/assets/esri/core/workers/chunks/29ae19206bbeb480be0f.js +1 -0
  41. package/assets/esri/core/workers/chunks/2ae6deade655fdbc28de.js +1 -0
  42. package/assets/esri/core/workers/chunks/{37cf4ca2083cd3b6002e.js → 2c7bb5c9751524687002.js} +1 -1
  43. package/assets/esri/core/workers/chunks/2c8957f9c7610805208c.js +1 -0
  44. package/assets/esri/core/workers/chunks/{dc1944a7601b518a9c48.js → 2ca49fb4590cc34a02bd.js} +1 -1
  45. package/assets/esri/core/workers/chunks/2d592c935571de80a2e2.js +1 -0
  46. package/assets/esri/core/workers/chunks/{a917a1df8270860dc514.js → 2f52ad525744b8793d49.js} +1 -1
  47. package/assets/esri/core/workers/chunks/{f890359d972cce54459e.js → 2f829321bfbd3bacd64f.js} +1 -1
  48. package/assets/esri/core/workers/chunks/{6efc5873747b9cd44fb9.js → 323451ef52d0c2805f1d.js} +1 -1
  49. package/assets/esri/core/workers/chunks/{7232fc11b23777b6be94.js → 369012c032ea6882607c.js} +1 -1
  50. package/assets/esri/core/workers/chunks/37ae52c71bf9c70fbb92.js +1 -0
  51. package/assets/esri/core/workers/chunks/38890ac5917942374ab8.js +1 -0
  52. package/assets/esri/core/workers/chunks/3e33d953e41b281a120b.js +1 -0
  53. package/assets/esri/core/workers/chunks/3e52351e06d85bf9bedd.js +1 -0
  54. package/assets/esri/core/workers/chunks/{9f760dc4492a03e0504c.js → 45d87af48a21644590c2.js} +1 -1
  55. package/assets/esri/core/workers/chunks/462fd57af8ed7921d6ba.js +1 -0
  56. package/assets/esri/core/workers/chunks/463d69f596d1d34ef275.js +2 -0
  57. package/assets/esri/core/workers/chunks/475906b079f4f1ddacf2.js +1 -0
  58. package/assets/esri/core/workers/chunks/48a2f68e06a2e90b77d0.js +1 -0
  59. package/assets/esri/core/workers/chunks/49affbed22e201f7c32b.js +1 -0
  60. package/assets/esri/core/workers/chunks/{b6ca73c1384f07b30b74.js → 4bb8432d99a39733368f.js} +1 -1
  61. package/assets/esri/core/workers/chunks/{cb983f65995e57fff7a1.js → 4f58e0322707f63f5bf2.js} +1 -1
  62. package/assets/esri/core/workers/chunks/{8f0ecf4d06ec7b67d4ed.js → 52744dfd430cd0c0edfb.js} +1 -1
  63. package/assets/esri/core/workers/chunks/58a17fb3c0dd07c63d57.js +2 -0
  64. package/assets/esri/core/workers/chunks/5993db944b9e7825e0bc.js +1 -0
  65. package/assets/esri/core/workers/chunks/{b0058619e0363002ad86.js → 59cd139712d919e6a738.js} +1 -1
  66. package/assets/esri/core/workers/chunks/59d5247ac4075b024244.js +1 -0
  67. package/assets/esri/core/workers/chunks/5b9f3c4f65412c66316f.js +1 -0
  68. package/assets/esri/core/workers/chunks/{be3421ffb5b391bca02e.js → 5d35e0c2665f5e625ee9.js} +1 -1
  69. package/assets/esri/core/workers/chunks/5e70bfb9d6235a87b87a.js +1 -0
  70. package/assets/esri/core/workers/chunks/6006bd8a5ed945fa2776.js +1 -0
  71. package/assets/esri/core/workers/chunks/618927cfcb93dd1d92fd.js +1 -0
  72. package/assets/esri/core/workers/chunks/6709d24867d275b33d24.js +1 -0
  73. package/assets/esri/core/workers/chunks/68e24fa3f564c2a5c9fd.js +1 -0
  74. package/assets/esri/core/workers/chunks/{6ab7bb3834841834f839.js → 724ea2e2843e6dac0a90.js} +1 -1
  75. package/assets/esri/core/workers/chunks/7441d121f00ce747c08e.js +1 -0
  76. package/assets/esri/core/workers/chunks/{090c9c2dbf92f2cac0b8.js → 770ca70d363184e39d60.js} +1 -1
  77. package/assets/esri/core/workers/chunks/781fa83e8063b8f685dc.js +1 -0
  78. package/assets/esri/core/workers/chunks/78c1b75b1a8937eaa3cd.js +1 -0
  79. package/assets/esri/core/workers/chunks/793b072519ded0dc6f34.js +1 -0
  80. package/assets/esri/core/workers/chunks/7994fce5f36963aadc51.js +1 -0
  81. package/assets/esri/core/workers/chunks/7adee504107cb9ad8563.js +1 -0
  82. package/assets/esri/core/workers/chunks/7efc45858ebd3fd3302e.js +1 -0
  83. package/assets/esri/core/workers/chunks/7ff536284942c5284a16.js +1 -0
  84. package/assets/esri/core/workers/chunks/813dd84933b407c8fe86.js +1 -0
  85. package/assets/esri/core/workers/chunks/83c7c4218bc6ba2f16ee.js +1 -0
  86. package/assets/esri/core/workers/chunks/8daeac785af725c3ebdf.js +1 -0
  87. package/assets/esri/core/workers/chunks/{3ab25279aaa30f035038.js → 8daed13400d9e63e65ae.js} +1 -1
  88. package/assets/esri/core/workers/chunks/9020bd7a0e488d55ef14.js +1 -0
  89. package/assets/esri/core/workers/chunks/92f35b2c3c5f13778308.js +1 -0
  90. package/assets/esri/core/workers/chunks/97cd4145c016cf379120.js +1 -0
  91. package/assets/esri/core/workers/chunks/{cf7c06702babd6fa88b4.js → 9af36ee6a0df224859bc.js} +1 -1
  92. package/assets/esri/core/workers/chunks/{452d069ba7ad6759b558.js → 9c46c7f00d42f5c02b26.js} +1 -1
  93. package/assets/esri/core/workers/chunks/{32fc7d1db4b311f6b880.js → 9e5b30b907102bc0c201.js} +1 -1
  94. package/assets/esri/core/workers/chunks/a3ab53b534e2872131be.js +1 -0
  95. package/assets/esri/core/workers/chunks/{f18ee2eaa96d103627a6.js → aa6b2cc8f6f5627891c1.js} +1 -1
  96. package/assets/esri/core/workers/chunks/ac7af417ebf7721d7400.js +1 -0
  97. package/assets/esri/core/workers/chunks/aed479c14d93955f4798.js +1 -0
  98. package/assets/esri/core/workers/chunks/{60c61f34733063730386.js → b013b70e40dfb6ce013e.js} +1 -1
  99. package/assets/esri/core/workers/chunks/b22de8bf4a4a739bc36d.js +1 -0
  100. package/assets/esri/core/workers/chunks/b39cd78d2d97bef9909e.js +1 -0
  101. package/assets/esri/core/workers/chunks/b5f50955c1eee55b67d1.js +1 -0
  102. package/assets/esri/core/workers/chunks/b688e6463a651779a016.js +1 -0
  103. package/assets/esri/core/workers/chunks/bb5ed2a796a45c41b0b4.js +1 -0
  104. package/assets/esri/core/workers/chunks/bdf012e591a8476db467.js +1 -0
  105. package/assets/esri/core/workers/chunks/{daf7b647bd960d8bad56.js → be52c319a0a81ce1ba36.js} +1 -1
  106. package/assets/esri/core/workers/chunks/{066b7f6866d602f963e0.js → c3008b20cb5fd38bd900.js} +1 -1
  107. package/assets/esri/core/workers/chunks/{22e85819e23202a8ba90.js → c39ebd8d469f1e8bb61e.js} +1 -1
  108. package/assets/esri/core/workers/chunks/{7f2ac03efaa4a4898ba2.js → c3b96d1d43afccd23e45.js} +2 -2
  109. package/assets/esri/core/workers/chunks/{89edaa1ffa566908ebca.js → ca5a4f62b09cc8579dc0.js} +1 -1
  110. package/assets/esri/core/workers/chunks/ce08e3369641da0d7a27.js +2 -0
  111. package/assets/esri/core/workers/chunks/ce1ccf9ec90b786591e5.js +1 -0
  112. package/assets/esri/core/workers/chunks/cf0bed7ae27021fd7b05.js +1 -0
  113. package/assets/esri/core/workers/chunks/cf6f671823fa6c2a9a5e.js +1 -0
  114. package/assets/esri/core/workers/chunks/d25210574168ead2f813.js +1 -0
  115. package/assets/esri/core/workers/chunks/d3378c479052d566317c.js +1 -0
  116. package/assets/esri/core/workers/chunks/{1742dbc6a827cfda471b.js → d3d48401462ef3bf0ad9.js} +1 -1
  117. package/assets/esri/core/workers/chunks/d3ef23923424ad8c5048.js +1 -0
  118. package/assets/esri/core/workers/chunks/{46388b86d1b10e6121bd.js → d507d7d7a7282fc38e8d.js} +1 -1
  119. package/assets/esri/core/workers/chunks/dc0816f064be576a2fa6.js +1 -0
  120. package/assets/esri/core/workers/chunks/{862e1acd80c4e43831dc.js → dc923e50958b68a50014.js} +1 -1
  121. package/assets/esri/core/workers/chunks/dd4ecf81250cc001d040.js +1 -0
  122. package/assets/esri/core/workers/chunks/e10fe4c77b8dc4492092.js +1 -0
  123. package/assets/esri/core/workers/chunks/e4e1db4e9e5f13167401.js +1 -0
  124. package/assets/esri/core/workers/chunks/e5ee64e2fb5bfcb716d8.js +1 -0
  125. package/assets/esri/core/workers/chunks/{e755075ac2e02e881fad.js → e6637f9176566382ed3e.js} +1 -1
  126. package/assets/esri/core/workers/chunks/e6dc68c4bd8eddb168d1.js +1 -0
  127. package/assets/esri/core/workers/chunks/eb780f2dafa14f776166.js +1 -0
  128. package/assets/esri/core/workers/chunks/{723478607badcde5706b.js → eb7f45736c852725b0bb.js} +150 -118
  129. package/assets/esri/core/workers/chunks/ed31ec586b754241474d.js +1 -0
  130. package/assets/esri/core/workers/chunks/f38d11be766043413659.js +1 -0
  131. package/assets/esri/core/workers/chunks/{98a5327fd96d9542b39f.js → f90cad9f007a11154c0d.js} +1 -1
  132. package/assets/esri/libs/pdfjs/pdf.worker.mjs +63075 -0
  133. package/assets/esri/libs/pdfjs/wasm/jbig2.wasm +0 -0
  134. package/assets/esri/libs/pdfjs/wasm/openjpeg.wasm +0 -0
  135. package/assets/esri/libs/pdfjs/wasm/qcms_bg.wasm +0 -0
  136. package/assets/esri/libs/pdfjs/wasm/quickjs-eval.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/assets/esri/widgets/support/SelectionToolbar/t9n/messages.en.json +1 -1
  141. package/basemaps/BasemapCollection.d.ts +148 -0
  142. package/basemaps/BasemapCollection.js +2 -0
  143. package/basemaps/BasemapsSource.d.ts +39 -0
  144. package/basemaps/BasemapsSource.js +2 -0
  145. package/basemaps/LocalBasemapsSource.d.ts +55 -0
  146. package/basemaps/LocalBasemapsSource.js +2 -0
  147. package/basemaps/PortalBasemapsSource.d.ts +98 -0
  148. package/basemaps/PortalBasemapsSource.js +2 -0
  149. package/basemaps/support/BasemapItem.d.ts +74 -0
  150. package/basemaps/support/BasemapItem.js +2 -0
  151. package/basemaps/support/basemapCompatibilityUtils.js +2 -0
  152. package/basemaps/types.d.ts +42 -0
  153. package/chunks/CheckerBoard.glsl.js +1 -1
  154. package/chunks/CloudsComposition.glsl.js +2 -2
  155. package/chunks/ColorMaterial.glsl.js +1 -1
  156. package/chunks/Component.glsl.js +11 -11
  157. package/chunks/DeepSky.glsl.js +1 -1
  158. package/chunks/DefaultMaterial.glsl.js +4 -4
  159. package/chunks/EdgeShader.glsl.js +1 -1
  160. package/chunks/FocusArea.glsl.js +1 -1
  161. package/chunks/GaussianSplat.glsl.js +9 -9
  162. package/chunks/GlobalIllumination.glsl.js +42 -13
  163. package/chunks/GlobalIlluminationBlur.glsl.js +1 -1
  164. package/chunks/HUDMaterial.glsl.js +1 -1
  165. package/chunks/ImageMaterial.glsl.js +1 -1
  166. package/chunks/LineCallout.glsl.js +1 -1
  167. package/chunks/LineMarker.glsl.js +97 -89
  168. package/chunks/NativeLine.glsl.js +1 -1
  169. package/chunks/Path.glsl.js +8 -7
  170. package/chunks/Pattern.glsl.js +1 -1
  171. package/chunks/PointRenderer.glsl.js +1 -1
  172. package/chunks/RealisticTree.glsl.js +4 -4
  173. package/chunks/RibbonLine.glsl.js +58 -56
  174. package/chunks/ShadowCastAccumulate.glsl.js +3 -3
  175. package/chunks/ShadowHighlight.glsl.js +4 -4
  176. package/chunks/ShadowHighlightBuffer.glsl.js +3 -3
  177. package/chunks/Terrain.glsl.js +12 -14
  178. package/chunks/Viewshed.glsl.js +1 -1
  179. package/chunks/Water.glsl.js +3 -3
  180. package/chunks/languageUtils.js +1 -1
  181. package/config.js +1 -1
  182. package/core/Accessor.d.ts +10 -0
  183. package/core/arrayUtils.js +1 -1
  184. package/core/workers/registry.js +1 -1
  185. package/geometry/support/geometryUtils.js +1 -1
  186. package/geometry/support/heightModelInfoUtils.js +1 -1
  187. package/geometry/support/meshUtils/elevation.js +1 -1
  188. package/kernel.js +1 -1
  189. package/layers/CSVLayer.js +1 -1
  190. package/layers/GeoJSONLayer.d.ts +1 -1
  191. package/layers/GeoJSONLayer.js +1 -1
  192. package/layers/GeospatialPDFLayer.d.ts +40 -0
  193. package/layers/GeospatialPDFLayer.js +2 -0
  194. package/layers/IntegratedMeshLayer.js +1 -1
  195. package/layers/OGCFeatureLayer.js +1 -1
  196. package/layers/StreamLayer.js +1 -1
  197. package/layers/geospatialPDF/GeospatialPDFFrame.js +2 -0
  198. package/layers/geospatialPDF/GeospatialPDFLayerWorker.js +5 -0
  199. package/layers/geospatialPDF/GeospatialPDFParserUtils.js +2 -0
  200. package/layers/geospatialPDF/GeospatialPDFWorkerClient.js +2 -0
  201. package/layers/geospatialPDF/LGIDictMapFrame.js +2 -0
  202. package/layers/geospatialPDF/Projection.js +2 -0
  203. package/layers/geospatialPDF/ViewportMeasureFrame.js +2 -0
  204. package/layers/geospatialPDF/renderExtentUtils.js +2 -0
  205. package/layers/geospatialPDF/sharedUtils.js +2 -0
  206. package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
  207. package/layers/mixins/ArcGISImageService.js +1 -1
  208. package/layers/mixins/FeatureLayerBase.js +1 -1
  209. package/layers/raster/datasets/GeospatialPDFRaster.js +2 -0
  210. package/layers/support/ElevationQuery.js +1 -1
  211. package/layers/support/LabelClass.d.ts +13 -4
  212. package/layers/support/LabelClass.js +1 -1
  213. package/layers/support/commonProperties.js +1 -1
  214. package/layers/support/layersLoader.js +1 -1
  215. package/layers/types.d.ts +1 -1
  216. package/legend/ActiveLayerInfo.d.ts +130 -0
  217. package/legend/ActiveLayerInfo.js +2 -0
  218. package/legend/LegendContent.d.ts +118 -0
  219. package/legend/LegendContent.js +2 -0
  220. package/legend/support/clusterUtils.js +2 -0
  221. package/legend/support/colorRampUtils.js +2 -0
  222. package/legend/support/heatmapRampUtils.js +2 -0
  223. package/legend/support/relationshipRampUtils.js +2 -0
  224. package/legend/support/sizeRampUtils.js +2 -0
  225. package/legend/support/utils.js +2 -0
  226. package/legend/types.d.ts +403 -0
  227. package/libs/i3s/I3SModule.js +1 -1
  228. package/package.json +7 -7
  229. package/portal/PortalItem.js +1 -1
  230. package/portal/support/portalLayers.js +1 -1
  231. package/support/revision.js +1 -1
  232. package/support/userTypeGuards/isBasemapsSource.js +2 -0
  233. package/symbols/cim/CIMOperators.js +1 -1
  234. package/symbols/cim/callouts/effects/BackgroundCallout.js +2 -0
  235. package/symbols/cim/callouts/effects/BalloonCallout.js +2 -0
  236. package/symbols/cim/callouts/effects/PointSymbolCallout.js +2 -0
  237. package/symbols/cim/callouts/effects/SimpleLineCallout.js +2 -0
  238. package/symbols/cim/callouts/effects/calloutUtils.js +2 -0
  239. package/symbols/cim/cimAnalyzer.js +1 -1
  240. package/symbols/cim/utils.js +1 -1
  241. package/symbols/support/typeUtils.js +1 -1
  242. package/views/2d/LabelManager.js +1 -1
  243. package/views/2d/engine/AFeatureContainer.js +1 -1
  244. package/views/2d/engine/vectorTiles/decluttering/SymbolRepository.js +1 -1
  245. package/views/2d/engine/webgl/FeatureDisplayList.js +1 -1
  246. package/views/2d/engine/webgl/FeatureTile.js +1 -1
  247. package/views/2d/engine/webgl/GlyphWorker.js +1 -1
  248. package/views/2d/engine/webgl/TileCpuState.js +1 -1
  249. package/views/2d/engine/webgl/TileGpuState.js +1 -1
  250. package/views/2d/engine/webgl/collisions/LabelMetric.js +1 -1
  251. package/views/2d/engine/webgl/collisions/LabelStore.js +2 -0
  252. package/views/2d/engine/webgl/cpuMapped/CpuBuffer.js +1 -1
  253. package/views/2d/engine/webgl/cpuMapped/CpuMeshData.js +1 -1
  254. package/views/2d/engine/webgl/cpuMapped/GpuMeshState.js +1 -1
  255. package/views/2d/engine/webgl/definitions.js +1 -1
  256. package/views/2d/engine/webgl/mesh/MeshData.js +1 -1
  257. package/views/2d/engine/webgl/mesh/MultiTileMeshData.js +1 -1
  258. package/views/2d/engine/webgl/mesh/factories/CalloutMeshWriterCoordinator.js +2 -0
  259. package/views/2d/engine/webgl/mesh/factories/FeatureMeshFactory.js +1 -1
  260. package/views/2d/engine/webgl/mesh/factories/MeshWriterGroupCoordinator.js +2 -0
  261. package/views/2d/engine/webgl/mesh/templates/segmentUtils.js +1 -1
  262. package/views/2d/engine/webgl/mesh/templates/shapingUtils.js +1 -1
  263. package/views/2d/engine/webgl/shaderGraph/graph/glsl.js +1 -1
  264. package/views/2d/engine/webgl/shaderGraph/techniques/FeatureInstanceStore.js +1 -1
  265. package/views/2d/engine/webgl/shaderGraph/techniques/GraphicInstanceStore.js +1 -1
  266. package/views/2d/engine/webgl/shaderGraph/techniques/TechniqueInstance.js +1 -1
  267. package/views/2d/engine/webgl/shaderGraph/techniques/TestDisplayObject.js +1 -1
  268. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AAnimatedPolyShader.js +1 -1
  269. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AAnimatedShader.js +1 -1
  270. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedFillShader.js +1 -1
  271. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerShader.js +1 -1
  272. package/views/2d/engine/webgl/shaderGraph/techniques/createGraphicSymbolMeshSchemas.js +1 -1
  273. package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityPolygonShader.js +1 -1
  274. package/views/2d/engine/webgl/shaderGraph/techniques/featureTechniqueUtils.js +1 -1
  275. package/views/2d/engine/webgl/shaderGraph/techniques/fill/AFillMeshWriter.js +1 -1
  276. package/views/2d/engine/webgl/shaderGraph/techniques/fill/ComplexOutlineFillMeshWriter.js +1 -1
  277. package/views/2d/engine/webgl/shaderGraph/techniques/fill/OutlineFillMeshWriter.js +1 -1
  278. package/views/2d/engine/webgl/shaderGraph/techniques/fill/PatternOutlineFillMeshWriter.js +1 -1
  279. package/views/2d/engine/webgl/shaderGraph/techniques/labels/LabelMeshWriter.js +1 -1
  280. package/views/2d/engine/webgl/shaderGraph/techniques/line/GradientStrokeTechnique.js +1 -1
  281. package/views/2d/engine/webgl/shaderGraph/techniques/line/LineMeshWriter.js +1 -1
  282. package/views/2d/engine/webgl/shaderGraph/techniques/markers/ComputedMarkerParams.js +1 -1
  283. package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerMeshWriter.js +1 -1
  284. package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerShader.js +1 -1
  285. package/views/2d/engine/webgl/shaderGraph/techniques/mesh/CalloutMeshWriterPolicy.js +2 -0
  286. package/views/2d/engine/webgl/shaderGraph/techniques/mesh/MeshWriter.js +1 -1
  287. package/views/2d/engine/webgl/shaderGraph/techniques/mesh/MeshWriterReferences.js +2 -0
  288. package/views/2d/engine/webgl/shaderGraph/techniques/mesh/MeshWriterVertexPack.js +1 -1
  289. package/views/2d/engine/webgl/shaderGraph/techniques/mesh/dataViewUtils.js +1 -1
  290. package/views/2d/engine/webgl/shaderGraph/techniques/pieChart/PieChartShader.js +1 -1
  291. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/AFeatureShader.js +1 -1
  292. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ComplexFillShader.js +1 -1
  293. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/FillShader.js +1 -1
  294. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/HeatmapAccumulateShader.js +1 -1
  295. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/LineShader.js +1 -1
  296. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/OutlineFillShader.js +1 -1
  297. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/constants.js +1 -1
  298. package/views/2d/engine/webgl/shaderGraph/techniques/text/TextMeshWriter.js +1 -1
  299. package/views/2d/engine/webgl/shaderGraph/techniques/text/TextShader.js +1 -1
  300. package/views/2d/engine/webgl/util/AnnotationMatcher.js +1 -1
  301. package/views/2d/engine/webgl/util/DimensionMatcher.js +1 -1
  302. package/views/2d/engine/webgl/util/IntervalMatcher.js +1 -1
  303. package/views/2d/engine/webgl/util/LabelMatcher.js +1 -1
  304. package/views/2d/engine/webgl/util/MapMatcher.js +1 -1
  305. package/views/2d/engine/webgl/util/Matcher.js +1 -1
  306. package/views/2d/engine/webgl/util/MatcherContext.js +1 -1
  307. package/views/2d/input/MapViewInputManager.js +1 -1
  308. package/views/2d/input/handlers/KeyPan.js +1 -1
  309. package/views/2d/input/handlers/KeyRotate.js +1 -1
  310. package/views/2d/layerViewModuleImportUtils.js +1 -1
  311. package/views/2d/layers/FeatureLikeLayerView2D.js +1 -1
  312. package/views/2d/layers/GeospatialPDFLayerView2D.js +2 -0
  313. package/views/2d/layers/MediaLayerView2D.js +1 -1
  314. package/views/2d/layers/TileLayerView2D.js +1 -1
  315. package/views/2d/layers/features/FeatureContainer.js +1 -1
  316. package/views/2d/layers/features/FeaturePipelineWorker.js +1 -1
  317. package/views/2d/layers/features/RenderState.js +1 -1
  318. package/views/2d/layers/features/schema/processor/symbols/ComplexSymbolSchema.js +1 -1
  319. package/views/2d/layers/features/schema/processor/symbols/SymbolSchema.js +1 -1
  320. package/views/2d/layers/features/support/GraphicsReader.js +1 -1
  321. package/views/2d/layers/graphics/AGraphicContainer.js +1 -1
  322. package/views/2d/layers/graphics/GraphicsView2D.js +1 -1
  323. package/views/2d/layers/imagery/BaseImageryTileSubView2D.js +1 -1
  324. package/views/2d/layers/imagery/ImageryTileView2D.js +1 -1
  325. package/views/2d/layers/support/annodime/MatcherGeometryOverride.js +1 -1
  326. package/views/2d/layers/support/annodime/PrivateMatcherGeometryOverrideEffect.js +1 -1
  327. package/views/2d/layers/support/annodime/annotationGraphic.js +1 -1
  328. package/views/2d/layers/support/annodime/cimAnnotations.js +1 -1
  329. package/views/2d/layers/support/annodime/debugUtils.js +1 -1
  330. package/views/2d/layers/support/annodime/virtualFields.js +1 -1
  331. package/views/2d/types.d.ts +2 -0
  332. package/views/3d/GroundView3D.js +1 -1
  333. package/views/3d/analysis/Slice/SliceTool.js +1 -1
  334. package/views/3d/input/SceneInputManager.js +1 -1
  335. package/views/3d/input/handlers/KeyboardNavigation.js +1 -1
  336. package/views/3d/input/handlers/ground/GroundDoubleClickMove.js +2 -0
  337. package/views/3d/interactive/editingTools/move/MoveTool3D.js +1 -1
  338. package/views/3d/layerViewModuleImportUtils.js +1 -1
  339. package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
  340. package/views/3d/layers/GeospatialPDFLayerView3D.js +2 -0
  341. package/views/3d/layers/I3SMeshView3D.js +1 -1
  342. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  343. package/views/3d/layers/IntegratedMeshLayerView3D.js +1 -1
  344. package/views/3d/layers/LayerView3D.js +1 -1
  345. package/views/3d/layers/SceneLayerWorker.js +1 -1
  346. package/views/3d/layers/i3s/I3SMaterialUtil.js +1 -1
  347. package/views/3d/layers/i3s/Intersector.js +1 -1
  348. package/views/3d/state/controllers/GamepadKeyboardController.js +1 -1
  349. package/views/3d/support/GroundAndIMSurface.js +1 -1
  350. package/views/3d/support/MemoryController.js +1 -1
  351. package/views/3d/support/gaussianSplatting/GaussianSplatOrderTexture.js +1 -1
  352. package/views/3d/support/hitTest.js +1 -1
  353. package/views/3d/terrain/isTerrainSurfaceLayer.js +1 -1
  354. package/views/3d/types.d.ts +2 -0
  355. package/views/3d/webgl-engine/collections/Component/Material/Component.glsl.js +1 -1
  356. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  357. package/views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js +1 -3
  358. package/views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js +1 -1
  359. package/views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js +1 -1
  360. package/views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js +8 -8
  361. package/views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexPosition.glsl.js +6 -6
  362. package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js +1 -1
  363. package/views/3d/webgl-engine/core/shaderLibrary/forwardLinearDepthToReadShadow.glsl.js +4 -0
  364. package/views/3d/webgl-engine/core/shaderLibrary/{ForwardLinearDepthToWriteShadowMap.glsl.js → forwardLinearDepthToWriteShadow.glsl.js} +5 -5
  365. package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js +8 -6
  366. package/views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js +2 -2
  367. package/views/3d/webgl-engine/core/shaderLibrary/shading/WaterColor.glsl.js +1 -1
  368. package/views/3d/webgl-engine/core/shaderLibrary/shading/WaterDistortion.glsl.js +1 -1
  369. package/views/3d/webgl-engine/core/shaderLibrary/shading/calculateUVZShadow.glsl.js +3 -4
  370. package/views/3d/webgl-engine/core/shaderLibrary/shading/calculateUVZShadowFromDepth.glsl.js +2 -2
  371. package/views/3d/webgl-engine/core/shaderLibrary/shading/readFragmentShadow.glsl.js +5 -0
  372. package/views/3d/webgl-engine/core/shaderLibrary/shading/readShadow.glsl.js +24 -0
  373. package/views/3d/webgl-engine/core/shaderLibrary/terrain/TerrainTexture.glsl.js +1 -1
  374. package/views/3d/webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js +6 -6
  375. package/views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js +1 -1
  376. package/views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js +1 -1
  377. package/views/3d/webgl-engine/effects/clouds/CloudsComposition.js +1 -1
  378. package/views/3d/webgl-engine/effects/focusArea/FocusArea.js +1 -1
  379. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.glsl.js +1 -1
  380. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.js +1 -1
  381. package/views/3d/webgl-engine/effects/highlight/ShadowHighlight.glsl.js +1 -1
  382. package/views/3d/webgl-engine/effects/highlight/ShadowHighlightBuffer.glsl.js +1 -1
  383. package/views/3d/webgl-engine/effects/highlight/ShadowHighlightTechnique.js +1 -1
  384. package/views/3d/webgl-engine/effects/shadowAccumulation/ShadowAccumulator.js +1 -1
  385. package/views/3d/webgl-engine/effects/shadowAccumulation/ShadowCastAccumulate.glsl.js +1 -1
  386. package/views/3d/webgl-engine/lib/LineMaterial.js +1 -1
  387. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  388. package/views/3d/webgl-engine/lib/ShadowMap.js +1 -1
  389. package/views/3d/webgl-engine/lib/intersectorUtilsConversions.js +1 -1
  390. package/views/3d/webgl-engine/materials/DrawParameters.js +1 -1
  391. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  392. package/views/3d/webgl-engine/materials/Path.glsl.js +1 -1
  393. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  394. package/views/3d/webgl-engine/materials/Water.glsl.js +1 -1
  395. package/views/3d/webgl-engine/shaders/DefaultMaterial.glsl.js +1 -1
  396. package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
  397. package/views/3d/webgl-engine/shaders/GaussianSplat.glsl.js +1 -1
  398. package/views/3d/webgl-engine/shaders/GaussianSplatPass.glsl.js +1 -1
  399. package/views/3d/webgl-engine/shaders/LineMarker.glsl.js +1 -1
  400. package/views/3d/webgl-engine/shaders/LineTechniqueConfiguration.js +1 -1
  401. package/views/3d/webgl-engine/shaders/RealisticTree.glsl.js +1 -1
  402. package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
  403. package/views/3d/webgl-engine/shaders/RibbonLineTechniqueConfiguration.js +1 -1
  404. package/views/3d/webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js +1 -1
  405. package/views/3d/webgl-engine/shaders/Terrain.glsl.js +1 -1
  406. package/views/3d/webgl-engine/shaders/{AnimatedLine.glsl.js → animatedAlpha.glsl.js} +11 -17
  407. package/views/SceneView.d.ts +31 -0
  408. package/views/SceneView.js +1 -1
  409. package/views/ToolViewManager.js +1 -1
  410. package/views/VideoView.js +1 -1
  411. package/views/View.d.ts +35 -0
  412. package/views/View.js +1 -1
  413. package/views/analysis/ElevationProfile/ElevationProfileLineGroundComputation.js +1 -1
  414. package/views/analysis/ElevationProfile/elevationProfileQuerySourceUtils.js +1 -1
  415. package/views/interactive/options/ViewOptions.d.ts +98 -0
  416. package/views/interactive/options/ViewOptions.js +2 -0
  417. package/views/interactive/support/Units.d.ts +10 -2
  418. package/views/interactive/support/Units.js +1 -1
  419. package/views/layers/FeatureLikeLayerView.d.ts +27 -5
  420. package/views/layers/GraphicsLayerView.d.ts +25 -2
  421. package/views/layers/ImageryTileLayerView.js +1 -1
  422. package/views/selection/types.d.ts +1 -1
  423. package/views/support/DefaultsFromMap.js +1 -1
  424. package/views/types.d.ts +9 -3
  425. package/widgets/BasemapGallery/BasemapGalleryViewModel.d.ts +3 -0
  426. package/widgets/BasemapGallery/support/BasemapGalleryItem.d.ts +3 -0
  427. package/widgets/BasemapGallery/support/LocalBasemapsSource.d.ts +2 -0
  428. package/widgets/BasemapGallery/support/PortalBasemapsSource.d.ts +2 -0
  429. package/widgets/BasemapGallery/types.d.ts +6 -1
  430. package/widgets/BatchAttributeForm/inputs/AttachmentElementInput.d.ts +2 -0
  431. package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
  432. package/widgets/Editor/EditorViewModel.d.ts +2 -1
  433. package/widgets/Editor/EditorViewModel.js +1 -1
  434. package/widgets/Editor/legacy/CreateFeaturesWorkflow.js +1 -1
  435. package/widgets/Editor.d.ts +2 -1
  436. package/widgets/Editor.js +1 -1
  437. package/widgets/ElevationProfile/ElevationProfileLineGround.js +1 -1
  438. package/widgets/HistogramRangeSlider/HistogramRangeSliderViewModel.d.ts +1 -0
  439. package/widgets/HistogramRangeSlider/HistogramRangeSliderViewModel.js +1 -1
  440. package/widgets/HistogramRangeSlider.js +1 -1
  441. package/widgets/Legend/LegendViewModel.d.ts +1 -0
  442. package/widgets/Legend/LegendViewModel.js +1 -1
  443. package/widgets/Legend/styles/card/CardView.d.ts +1 -0
  444. package/widgets/Legend/styles/card/CardView.js +1 -1
  445. package/widgets/Legend/styles/classic/ClassicView.d.ts +1 -0
  446. package/widgets/Legend/styles/classic/ClassicView.js +1 -1
  447. package/widgets/Legend/support/ActiveLayerInfo.d.ts +2 -0
  448. package/widgets/Legend.js +1 -1
  449. package/widgets/support/SelectionToolbar/SelectionToolbarViewModel.d.ts +8 -2
  450. package/widgets/support/SelectionToolbar/SelectionToolbarViewModel.js +1 -1
  451. package/widgets/support/SelectionToolbar/VisibleElements.d.ts +8 -1
  452. package/widgets/support/SelectionToolbar/VisibleElements.js +1 -1
  453. package/widgets/support/SelectionToolbar.d.ts +7 -1
  454. package/widgets/support/SelectionToolbar.js +1 -1
  455. package/assets/esri/core/workers/chunks/01ca17092545d72be7b6.js +0 -1
  456. package/assets/esri/core/workers/chunks/03918a862455191a8910.js +0 -1
  457. package/assets/esri/core/workers/chunks/0b727d7bf3e36e146725.js +0 -1
  458. package/assets/esri/core/workers/chunks/0bd067a5c0bac96caeb5.js +0 -1
  459. package/assets/esri/core/workers/chunks/0ff13f7a18b0123d253e.js +0 -1
  460. package/assets/esri/core/workers/chunks/114bc14c49176f64a2c5.js +0 -1
  461. package/assets/esri/core/workers/chunks/1630913399384030d0b9.js +0 -1
  462. package/assets/esri/core/workers/chunks/173417fe995e9bfc49d8.js +0 -1
  463. package/assets/esri/core/workers/chunks/1a39335aa2dce6d564d9.js +0 -1
  464. package/assets/esri/core/workers/chunks/25bb07d3c32b16a08813.js +0 -1
  465. package/assets/esri/core/workers/chunks/25cc6d7178a52f2f46b7.js +0 -1
  466. package/assets/esri/core/workers/chunks/2cf571d968118b6bdde0.js +0 -1
  467. package/assets/esri/core/workers/chunks/2e999b05ce179dd9fa08.js +0 -1
  468. package/assets/esri/core/workers/chunks/354912041363502c6a89.js +0 -1
  469. package/assets/esri/core/workers/chunks/36792b8a85e88044cb49.js +0 -1
  470. package/assets/esri/core/workers/chunks/3acc1299c1382c3b034d.js +0 -1
  471. package/assets/esri/core/workers/chunks/430802108b63194b7ddd.js +0 -2
  472. package/assets/esri/core/workers/chunks/43436c7ccc6baefc885d.js +0 -1
  473. package/assets/esri/core/workers/chunks/4396ef5ab3eb9e9a7df2.js +0 -1
  474. package/assets/esri/core/workers/chunks/445b0ca1b70730c9a2e6.js +0 -1
  475. package/assets/esri/core/workers/chunks/48d3da636be15581fd7d.js +0 -1
  476. package/assets/esri/core/workers/chunks/49e8ff5ed079a9e3be4b.js +0 -1
  477. package/assets/esri/core/workers/chunks/4efe5827a5c61db3b19d.js +0 -2
  478. package/assets/esri/core/workers/chunks/501df20cdd09384f6ee2.js +0 -1
  479. package/assets/esri/core/workers/chunks/50ae209237f104735a30.js +0 -1
  480. package/assets/esri/core/workers/chunks/54f9062526c2002b7fd7.js +0 -1
  481. package/assets/esri/core/workers/chunks/56b7ac280bf0be938c14.js +0 -1
  482. package/assets/esri/core/workers/chunks/5938d5f6e37f49867d5a.js +0 -1
  483. package/assets/esri/core/workers/chunks/61bcbafd676804ce3e1d.js +0 -1
  484. package/assets/esri/core/workers/chunks/63f7141c71f29dbe8270.js +0 -1
  485. package/assets/esri/core/workers/chunks/70347d25968975126fa7.js +0 -1
  486. package/assets/esri/core/workers/chunks/726ca458b98bb4334431.js +0 -1
  487. package/assets/esri/core/workers/chunks/75410a4de76e67ed5da4.js +0 -1
  488. package/assets/esri/core/workers/chunks/85780f4fa4b5509f864e.js +0 -1
  489. package/assets/esri/core/workers/chunks/862754d2d659528fe884.js +0 -1
  490. package/assets/esri/core/workers/chunks/8628c027198982baed7c.js +0 -1
  491. package/assets/esri/core/workers/chunks/8675ab3c4dec2f13b9c6.js +0 -1
  492. package/assets/esri/core/workers/chunks/8c521caf050a486b6548.js +0 -1
  493. package/assets/esri/core/workers/chunks/8ce14dd209462f88b163.js +0 -1
  494. package/assets/esri/core/workers/chunks/917dec9c004218c58950.js +0 -1
  495. package/assets/esri/core/workers/chunks/91f451b98e0f696043df.js +0 -1
  496. package/assets/esri/core/workers/chunks/9d92e6f0beed9a8580fa.js +0 -1
  497. package/assets/esri/core/workers/chunks/a42505b978d54d36d3b6.js +0 -1
  498. package/assets/esri/core/workers/chunks/a6d4132a16c51323a38a.js +0 -1
  499. package/assets/esri/core/workers/chunks/a86a4e550a92f770d6d5.js +0 -1
  500. package/assets/esri/core/workers/chunks/add834f867900a7091d2.js +0 -1
  501. package/assets/esri/core/workers/chunks/b45ebb1b64ee7314375e.js +0 -1
  502. package/assets/esri/core/workers/chunks/b56c5883a5468b18b122.js +0 -1
  503. package/assets/esri/core/workers/chunks/b5a102cf9f4377fb9842.js +0 -1
  504. package/assets/esri/core/workers/chunks/b6409d89914030d5854a.js +0 -1
  505. package/assets/esri/core/workers/chunks/baa8bce361a2677533ec.js +0 -1
  506. package/assets/esri/core/workers/chunks/c118b88a7c4359e68d9b.js +0 -1
  507. package/assets/esri/core/workers/chunks/c5e288d57bacb8451e2d.js +0 -2
  508. package/assets/esri/core/workers/chunks/ce3fb992f6c6ae7378a3.js +0 -1
  509. package/assets/esri/core/workers/chunks/ceda1e08c9ff26248db0.js +0 -1
  510. package/assets/esri/core/workers/chunks/cf1106eda10f3cccb1bd.js +0 -1
  511. package/assets/esri/core/workers/chunks/cfd8317ecd2e63af7c40.js +0 -1
  512. package/assets/esri/core/workers/chunks/d5e3f8e5b8d2576d3cb3.js +0 -2
  513. package/assets/esri/core/workers/chunks/d6130cd8a20d24dd9d3c.js +0 -1
  514. package/assets/esri/core/workers/chunks/da5b3421a984cb94fd58.js +0 -1
  515. package/assets/esri/core/workers/chunks/da6583e8d88441a1c02a.js +0 -1
  516. package/assets/esri/core/workers/chunks/ddb5d29a8998d0a76fd4.js +0 -1
  517. package/assets/esri/core/workers/chunks/de8a3a0796bd115426c0.js +0 -1
  518. package/assets/esri/core/workers/chunks/e52f30dfb7c82491a7f2.js +0 -1
  519. package/assets/esri/core/workers/chunks/e707534a700a2de687ca.js +0 -1
  520. package/assets/esri/core/workers/chunks/e88eee4c2fc4229c2a8b.js +0 -1
  521. package/assets/esri/core/workers/chunks/f465fb26541372fdc908.js +0 -2
  522. package/assets/esri/core/workers/chunks/f5423006fb07db7dd6ee.js +0 -1
  523. package/assets/esri/core/workers/chunks/f75e57d3e02f9828b049.js +0 -1
  524. package/assets/esri/core/workers/chunks/f774e5b94710ccee1af0.js +0 -1
  525. package/assets/esri/core/workers/chunks/fdad31bbe8aee68a6eaf.js +0 -1
  526. package/views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepthToReadShadowMap.glsl.js +0 -4
  527. package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js +0 -18
  528. package/views/3d/webgl-engine/core/shaderLibrary/shading/ShadowmapFiltering.glsl.js +0 -4
  529. /package/assets/esri/core/workers/chunks/{430802108b63194b7ddd.js.LICENSE.txt → 033debcbf6b3683dc4fe.js.LICENSE.txt} +0 -0
  530. /package/assets/esri/core/workers/chunks/{4efe5827a5c61db3b19d.js.LICENSE.txt → 064445e6f9512817ac87.js.LICENSE.txt} +0 -0
  531. /package/assets/esri/core/workers/chunks/{c5e288d57bacb8451e2d.js.LICENSE.txt → 463d69f596d1d34ef275.js.LICENSE.txt} +0 -0
  532. /package/assets/esri/core/workers/chunks/{d5e3f8e5b8d2576d3cb3.js.LICENSE.txt → 58a17fb3c0dd07c63d57.js.LICENSE.txt} +0 -0
  533. /package/assets/esri/core/workers/chunks/{7f2ac03efaa4a4898ba2.js.LICENSE.txt → c3b96d1d43afccd23e45.js.LICENSE.txt} +0 -0
  534. /package/assets/esri/core/workers/chunks/{f465fb26541372fdc908.js.LICENSE.txt → ce08e3369641da0d7a27.js.LICENSE.txt} +0 -0
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{result as e}from"../../core/asyncUtils.js";import t from"../../core/Error.js";import has from"../../core/has.js";import{assertIsSome as a}from"../../core/maybe.js";import{whenOrAbort as o,throwIfAbortError as n}from"../../core/promiseUtils.js";import{getMetersPerUnitForSR as i}from"../../core/units.js";import{initializeProjection as r,project as l}from"../../geometry/projectionUtils.js";import{fromExtent as s}from"../../geometry/support/aaBoundingRect.js";import{GeometryQueryContext as c,ExtentQueryContext as u,isTileInfoTilemapCache as m,getLods as f}from"./ElevationQueryContext.js";import{ElevationTile as p}from"./ElevationTile.js";import y from"./ElevationTileData.js";import{GeometryDescriptor as d}from"./GeometryDescriptor.js";import{TileElevationSampler as w}from"./TileElevationSampler.js";import{TileKey as h}from"./TileKey.js";async function g(e,a,o){if(e=o?.ignoreInvisibleLayers?e.filter(e=>e.visible):e.slice(),!e.length)throw new t(z,"Elevation queries require at least one elevation layer to fetch tiles from");const n=d.fromGeometry(a),i={...j,...o,returnSampleInfo:!0},r=e.pop(),l=await v(r,n,i),s=await I(e,l,i);return s.geometry=s.geometry.export(),o?.returnSampleInfo||delete s.sampleInfo,s}async function v(e,a,o){if(!e)throw new t(z,"Elevation queries require an elevation layer to fetch tiles from");if(!a||!(a instanceof d)&&"point"!==a.type&&"multipoint"!==a.type&&"polyline"!==a.type)throw new t("elevation-query:invalid-geometry","Only point, polyline and multipoint geometries can be used to query elevation");const n={...j,...o},i=n.signal;if("integrated-mesh-3dtiles"===e.type){const t=d.fromGeometry(a);if(e.queryElevationCallback&&(has("enable-feature:im-as-ground")?e.isUsedAsGroundLayer:e.replacesTerrain)){const r=12.9*(o?.minDemResolution||0)+.71,l=await e.queryElevationCallback(t,{signal:i,maxGeometricError:r}),s=t.coordinates.map(()=>({demResolution:1,source:e})),c=await l.project(a.spatialReference,i);if(c){if(void 0!==n.noDataValue&&n.noDataValue!==Number.MAX_VALUE)for(const e of c.coordinates)e.z===Number.MAX_VALUE&&(e.z=n.noDataValue);return{geometry:c.export(),noDataValue:n.noDataValue??Number.MAX_VALUE,sampleInfo:s}}}const r=t.coordinates.map(()=>({demResolution:-1,source:e}));return{geometry:t.export(),noDataValue:Number.MAX_VALUE,sampleInfo:r}}if("integrated-mesh"===e.type){const t=d.fromGeometry(a),o=t.coordinates.map(()=>({demResolution:-1,source:e}));return{geometry:t.export(),noDataValue:Number.MAX_VALUE,sampleInfo:o}}const r=new c(e,a.spatialReference,n);return await e.load({signal:i}),await L(r,a,i),await R(r,i),await G(r,i),k(r),N(r,i)}async function T(e,a,o){if(e=Array.isArray(e)?e:[e],0===(e=o?.ignoreInvisibleLayers?e.filter(e=>e.visible):e.slice()).length)throw new t(z,"Elevation queries require at least one elevation layer to fetch tiles from");if(!a||"extent"!==a.type)throw new t("elevation-query:invalid-extent","Invalid or undefined extent");const n={...j,...o,returnSampleInfo:!0},i=E(e[e.length-1],a,n);if(1===e.length)return i;return D(e,a,await i,n)}async function E(e,t,a,o){const n=a.signal;await e.load({signal:n});const i=t.spatialReference,s=e.tileInfo.spatialReference;i.equals(s)||(await r([{source:i,dest:s}],{signal:n}),t=l(t,s));const c=new u(e,t,a,o);await R(c,n),await G(c,n);const m=c.elevationTiles,f=c.layer.tileInfo,p=c.parameters.noDataValue;return new w({noDataValue:p,tiles:m,tileInfo:f})}async function D(e,t,a,o){if(e.pop(),!e.length)return a;const n=a.samplers.filter(e=>!e.tile.hasNoDataValues).map(e=>s(e.extent)),i=await E(e[e.length-1],t,o,n);if(0===i.samplers.length)return a;const r=a.samplers.concat(i.samplers),l=o.noDataValue;return D(e,t,new w({samplers:r,noDataValue:l}),o)}async function I(e,t,o){const n=t.geometry.coordinates,i=t.sampleInfo;a(i);const r=new Array,l=new Array;for(let a=0;a<n.length;a++){i[a].demResolution<0&&e.length&&(r.push(n[a]),l.push(a))}const s=e.pop();if(null==s||0===r.length)return t;const c=t.geometry.clone(r),u=await v(s,c,o),m=u.sampleInfo;if(!m)throw new Error("no sampleInfo");return l.forEach((e,t)=>{n[e].z=u.geometry.coordinates[t].z,i[e].demResolution=m[t].demResolution,i[e].source=m[t].source}),I(e,t,o)}async function R(e,a){"geometry"===e.type&&U(e);const o=e.parameters.demResolution;if("number"==typeof o)S(e,o);else if("finest-contiguous"===o)await x(e,a);else{if("auto"!==o)throw new t("elevation-query:invalid-dem-resolution",`Invalid dem resolution value '${o}', expected a number, "finest-contiguous" or "auto"`);await V(e,a)}}async function x(e,t){const{tileInfo:a,tilemapCache:o}=e.layer,n=q(a,o,e.parameters.minDemResolution);await A(e,n,t)}async function A(e,a,i){const r=e.layer;if(e.selectTilesAtLOD(a),a<0)return;const l=r.tilemapCache,s=e.getTilesToFetch();try{if(l&&!m(l))await o(Promise.all(s.map(e=>l.fetchAvailability(e.level,e.row,e.col,{signal:i}))),i);else if(await G(e,i),!e.allElevationTilesFetched())throw e.clearElevationTiles(),new t("elevation-query:has-unavailable-tiles","Some elevation tiles are unavailable")}catch(c){n(c),await A(e,a-1,i)}}async function V(t,a){F(t),M(t);const i=t.layer.tilemapCache;if(!i||m(i))return b(t,a);const r=t.getTilesToFetch(),l={},s=r.map(async t=>{const o=new h(0,0,0),r=await e(i.fetchAvailabilityUpsample(t.level,t.row,t.col,o,{signal:a}));!1!==r.ok?null!=t.id&&(l[t.id]=o):n(r.error)});await o(Promise.all(s),a),t.remapTiles(l)}async function b(e,t){const a=e.layer.tileInfo;await G(e,t);let o=!1;e.forEachTileToFetch((e,t)=>{a.upsampleTile(e)?o=!0:t()}),o&&await b(e,t)}function q(e,t,a=0){const o=f(e,t);let n=o.length-1;if(a>0){const t=a/i(e.spatialReference),r=o.findIndex(e=>e.resolution<t);0===r?n=0:r>0&&(n=r-1)}return n}const j={maximumAutoTileRequests:20,noDataValue:0,returnSampleInfo:!1,demResolution:"auto",minDemResolution:0,signal:null};async function L(e,a,o){let n;const i=e.layer.tileInfo.spatialReference;if(a instanceof d?n=await a.project(i,o):(await r([{source:a.spatialReference,dest:i}],{signal:o}),n=l(a,i)),!n)throw new t("elevation-query:spatial-reference-mismatch",`Cannot query elevation in '${a.spatialReference.wkid}' on an elevation service in '${i.wkid}'`);e.geometry=d.fromGeometry(n)}function U(e){if(null==e.layer.fullExtent)return;const t=new p(new h(-1,-1,-1));t.sample=()=>e.parameters.noDataValue,e.outsideExtentTile=t;const a=e.layer.fullExtent;e.geometry.coordinates.forEach(e=>{const o=e.x,n=e.y;(o<a.xmin||o>a.xmax||n<a.ymin||n>a.ymax)&&(e.elevationTile=t)})}function C(e,t){const{tileInfo:a,tilemapCache:o}=e.layer,n=t/i(a.spatialReference),r=f(a,o);let l=r[0],s=0;for(let i=1;i<r.length;i++){const e=r[i];Math.abs(e.resolution-n)<Math.abs(l.resolution-n)&&(l=e,s=i)}return s}function S(e,t){const a=C(e,t);e.selectTilesAtLOD(a)}function F(e){const{tileInfo:t,tilemapCache:a}=e.layer,o=q(t,a,e.parameters.minDemResolution);e.selectTilesAtLOD(o,e.parameters.maximumAutoTileRequests)}async function G(e,t){const a=e.getTilesToFetch(),n={},i=e.parameters.cache,r=e.parameters.noDataValue,l={noDataValue:r,signal:t},s=a.map(async t=>{if(null==t.id)return;const a=`${e.layer.uid}:${t.id}:${r}`,o=i?.get(a),s=o??y.from(await e.layer.fetchTile(t.level,t.row,t.col,l));i?.put(a,s),n[t.id]=new p(t,s)});await o(Promise.allSettled(s),t),e.populateElevationTiles(n)}function M(e){const t=e.layer.tileInfo;let a=0;const o={},n=e=>{null!=e.id&&(e.id in o?o[e.id]++:(o[e.id]=1,a++))},i=e=>{if(null==e.id)return;const t=o[e.id];1===t?(delete o[e.id],a--):o[e.id]=t-1};e.forEachTileToFetch(n,i);let r=!0;for(;r&&(r=!1,e.forEachTileToFetch(o=>{a<=e.parameters.maximumAutoTileRequests||(i(o),t.upsampleTile(o)&&(r=!0),n(o))},i),r););}function k(e){e.geometry.coordinates.forEach(t=>{const a=t.elevationTile;let o=e.parameters.noDataValue;if(a){const e=a.sample(t.x,t.y);null==e?t.elevationTile=null:o=e}t.z=o})}async function N(e,t){const o=await e.geometry.project(e.outSpatialReference,t);a(o);const n={geometry:o.export(),noDataValue:e.parameters.noDataValue};return e.parameters.returnSampleInfo&&(n.sampleInfo=$(e)),e.geometry.coordinates.forEach(e=>{e.tile=null,e.elevationTile=null}),n}function $(e){const t=e.layer.tileInfo,a=i(t.spatialReference);return e.geometry.coordinates.map(o=>{let n=-1;if(o.elevationTile&&o.elevationTile!==e.outsideExtentTile){n=t.lodAt(o.elevationTile.key.level).resolution*a}return{demResolution:n,source:-1===n?void 0:e.layer}})}const z="elevation-query:invalid-layer";export{z as InvalidLayerError,T as createSampler,j as defaultOptions,q as getFinestLodIndex,v as query,g as queryAll};
2
+ import{result as e}from"../../core/asyncUtils.js";import t from"../../core/Error.js";import has from"../../core/has.js";import{assertIsSome as a}from"../../core/maybe.js";import{whenOrAbort as o,throwIfAbortError as n}from"../../core/promiseUtils.js";import{getMetersPerUnitForSR as i}from"../../core/units.js";import{initializeProjection as r,project as l}from"../../geometry/projectionUtils.js";import{fromExtent as s}from"../../geometry/support/aaBoundingRect.js";import{GeometryQueryContext as c,ExtentQueryContext as u,isTileInfoTilemapCache as m,getLods as f}from"./ElevationQueryContext.js";import{ElevationTile as p}from"./ElevationTile.js";import y from"./ElevationTileData.js";import{GeometryDescriptor as d}from"./GeometryDescriptor.js";import{TileElevationSampler as w}from"./TileElevationSampler.js";import{TileKey as h}from"./TileKey.js";async function g(e,a,o){if(e=o?.ignoreInvisibleLayers?e.filter(e=>e.visible):e.slice(),!e.length)throw new t($,"Elevation queries require at least one elevation layer to fetch tiles from");const n=d.fromGeometry(a),i={...j,...o,returnSampleInfo:!0},r=e.pop(),l=await v(r,n,i),s=await I(e,l,i);return s.geometry=s.geometry.export(),o?.returnSampleInfo||delete s.sampleInfo,s}async function v(e,a,o){if(!e)throw new t($,"Elevation queries require an elevation layer to fetch tiles from");if(!a||!(a instanceof d)&&"point"!==a.type&&"multipoint"!==a.type&&"polyline"!==a.type)throw new t("elevation-query:invalid-geometry","Only point, polyline and multipoint geometries can be used to query elevation");const n={...j,...o},i=n.signal;if("integrated-mesh-3dtiles"===e.type){const t=d.fromGeometry(a);if(e.queryElevationCallback&&(has("enable-feature:im-as-ground")?e.isUsedAsGroundLayer:e.replacesTerrain)){const r=12.9*(o?.minDemResolution||0)+.71,l=await e.queryElevationCallback(t,{signal:i,maxGeometricError:r}),s=await l.project(a.spatialReference,i);if(s){if(void 0!==n.noDataValue&&n.noDataValue!==Number.MAX_VALUE)for(const e of s.coordinates)e.z===Number.MAX_VALUE&&(e.z=n.noDataValue);const t=n.noDataValue??Number.MAX_VALUE,a=s.coordinates.map(a=>({demResolution:a.z===t?-1:1,source:e}));return{geometry:s.export(),noDataValue:t,sampleInfo:a}}}const r=t.coordinates.map(()=>({demResolution:-1,source:e}));return{geometry:t.export(),noDataValue:Number.MAX_VALUE,sampleInfo:r}}if("integrated-mesh"===e.type){const t=d.fromGeometry(a),o=t.coordinates.map(()=>({demResolution:-1,source:e}));return{geometry:t.export(),noDataValue:Number.MAX_VALUE,sampleInfo:o}}const r=new c(e,a.spatialReference,n);return await e.load({signal:i}),await L(r,a,i),await R(r,i),await G(r,i),k(r),z(r,i)}async function T(e,a,o){if(e=Array.isArray(e)?e:[e],0===(e=o?.ignoreInvisibleLayers?e.filter(e=>e.visible):e.slice()).length)throw new t($,"Elevation queries require at least one elevation layer to fetch tiles from");if(!a||"extent"!==a.type)throw new t("elevation-query:invalid-extent","Invalid or undefined extent");const n={...j,...o,returnSampleInfo:!0},i=E(e[e.length-1],a,n);if(1===e.length)return i;return D(e,a,await i,n)}async function E(e,t,a,o){const n=a.signal;await e.load({signal:n});const i=t.spatialReference,s=e.tileInfo.spatialReference;i.equals(s)||(await r([{source:i,dest:s}],{signal:n}),t=l(t,s));const c=new u(e,t,a,o);await R(c,n),await G(c,n);const m=c.elevationTiles,f=c.layer.tileInfo,p=c.parameters.noDataValue;return new w({noDataValue:p,tiles:m,tileInfo:f})}async function D(e,t,a,o){if(e.pop(),!e.length)return a;const n=a.samplers.filter(e=>!e.tile.hasNoDataValues).map(e=>s(e.extent)),i=await E(e[e.length-1],t,o,n);if(0===i.samplers.length)return a;const r=a.samplers.concat(i.samplers),l=o.noDataValue;return D(e,t,new w({samplers:r,noDataValue:l}),o)}async function I(e,t,o){const n=t.geometry.coordinates,i=t.sampleInfo;a(i);const r=new Array,l=new Array;for(let a=0;a<n.length;a++){i[a].demResolution<0&&e.length&&(r.push(n[a]),l.push(a))}const s=e.pop();if(null==s||0===r.length)return t;const c=t.geometry.clone(r),u=await v(s,c,o),m=u.sampleInfo;if(!m)throw new Error("no sampleInfo");return l.forEach((e,t)=>{n[e].z=u.geometry.coordinates[t].z,i[e].demResolution=m[t].demResolution,i[e].source=m[t].source}),I(e,t,o)}async function R(e,a){"geometry"===e.type&&U(e);const o=e.parameters.demResolution;if("number"==typeof o)S(e,o);else if("finest-contiguous"===o)await x(e,a);else{if("auto"!==o)throw new t("elevation-query:invalid-dem-resolution",`Invalid dem resolution value '${o}', expected a number, "finest-contiguous" or "auto"`);await V(e,a)}}async function x(e,t){const{tileInfo:a,tilemapCache:o}=e.layer,n=q(a,o,e.parameters.minDemResolution);await A(e,n,t)}async function A(e,a,i){const r=e.layer;if(e.selectTilesAtLOD(a),a<0)return;const l=r.tilemapCache,s=e.getTilesToFetch();try{if(l&&!m(l))await o(Promise.all(s.map(e=>l.fetchAvailability(e.level,e.row,e.col,{signal:i}))),i);else if(await G(e,i),!e.allElevationTilesFetched())throw e.clearElevationTiles(),new t("elevation-query:has-unavailable-tiles","Some elevation tiles are unavailable")}catch(c){n(c),await A(e,a-1,i)}}async function V(t,a){F(t),M(t);const i=t.layer.tilemapCache;if(!i||m(i))return b(t,a);const r=t.getTilesToFetch(),l={},s=r.map(async t=>{const o=new h(0,0,0),r=await e(i.fetchAvailabilityUpsample(t.level,t.row,t.col,o,{signal:a}));!1!==r.ok?null!=t.id&&(l[t.id]=o):n(r.error)});await o(Promise.all(s),a),t.remapTiles(l)}async function b(e,t){const a=e.layer.tileInfo;await G(e,t);let o=!1;e.forEachTileToFetch((e,t)=>{a.upsampleTile(e)?o=!0:t()}),o&&await b(e,t)}function q(e,t,a=0){const o=f(e,t);let n=o.length-1;if(a>0){const t=a/i(e.spatialReference),r=o.findIndex(e=>e.resolution<t);0===r?n=0:r>0&&(n=r-1)}return n}const j={maximumAutoTileRequests:20,noDataValue:0,returnSampleInfo:!1,demResolution:"auto",minDemResolution:0,signal:null};async function L(e,a,o){let n;const i=e.layer.tileInfo.spatialReference;if(a instanceof d?n=await a.project(i,o):(await r([{source:a.spatialReference,dest:i}],{signal:o}),n=l(a,i)),!n)throw new t("elevation-query:spatial-reference-mismatch",`Cannot query elevation in '${a.spatialReference.wkid}' on an elevation service in '${i.wkid}'`);e.geometry=d.fromGeometry(n)}function U(e){if(null==e.layer.fullExtent)return;const t=new p(new h(-1,-1,-1));t.sample=()=>e.parameters.noDataValue,e.outsideExtentTile=t;const a=e.layer.fullExtent;e.geometry.coordinates.forEach(e=>{const o=e.x,n=e.y;(o<a.xmin||o>a.xmax||n<a.ymin||n>a.ymax)&&(e.elevationTile=t)})}function C(e,t){const{tileInfo:a,tilemapCache:o}=e.layer,n=t/i(a.spatialReference),r=f(a,o);let l=r[0],s=0;for(let i=1;i<r.length;i++){const e=r[i];Math.abs(e.resolution-n)<Math.abs(l.resolution-n)&&(l=e,s=i)}return s}function S(e,t){const a=C(e,t);e.selectTilesAtLOD(a)}function F(e){const{tileInfo:t,tilemapCache:a}=e.layer,o=q(t,a,e.parameters.minDemResolution);e.selectTilesAtLOD(o,e.parameters.maximumAutoTileRequests)}async function G(e,t){const a=e.getTilesToFetch(),n={},i=e.parameters.cache,r=e.parameters.noDataValue,l={noDataValue:r,signal:t},s=a.map(async t=>{if(null==t.id)return;const a=`${e.layer.uid}:${t.id}:${r}`,o=i?.get(a),s=o??y.from(await e.layer.fetchTile(t.level,t.row,t.col,l));i?.put(a,s),n[t.id]=new p(t,s)});await o(Promise.allSettled(s),t),e.populateElevationTiles(n)}function M(e){const t=e.layer.tileInfo;let a=0;const o={},n=e=>{null!=e.id&&(e.id in o?o[e.id]++:(o[e.id]=1,a++))},i=e=>{if(null==e.id)return;const t=o[e.id];1===t?(delete o[e.id],a--):o[e.id]=t-1};e.forEachTileToFetch(n,i);let r=!0;for(;r&&(r=!1,e.forEachTileToFetch(o=>{a<=e.parameters.maximumAutoTileRequests||(i(o),t.upsampleTile(o)&&(r=!0),n(o))},i),r););}function k(e){e.geometry.coordinates.forEach(t=>{const a=t.elevationTile;let o=e.parameters.noDataValue;if(a){const e=a.sample(t.x,t.y);null==e?t.elevationTile=null:o=e}t.z=o})}async function z(e,t){const o=await e.geometry.project(e.outSpatialReference,t);a(o);const n={geometry:o.export(),noDataValue:e.parameters.noDataValue};return e.parameters.returnSampleInfo&&(n.sampleInfo=N(e)),e.geometry.coordinates.forEach(e=>{e.tile=null,e.elevationTile=null}),n}function N(e){const t=e.layer.tileInfo,a=i(t.spatialReference);return e.geometry.coordinates.map(o=>{let n=-1;if(o.elevationTile&&o.elevationTile!==e.outsideExtentTile){n=t.lodAt(o.elevationTile.key.level).resolution*a}return{demResolution:n,source:-1===n?void 0:e.layer}})}const $="elevation-query:invalid-layer";export{$ as InvalidLayerError,T as createSampler,j as defaultOptions,q as getFinestLodIndex,v as query,g as queryAll};
@@ -1,14 +1,16 @@
1
1
  import type LabelExpressionInfo from "./LabelExpressionInfo.js";
2
+ import type CIMSymbol from "../../symbols/CIMSymbol.js";
2
3
  import type LabelSymbol3D from "../../symbols/LabelSymbol3D.js";
3
4
  import type TextSymbol from "../../symbols/TextSymbol.js";
4
5
  import type { JSONSupport } from "../../core/JSONSupport.js";
5
6
  import type { PlacementType3D, PointPlacement, PolylinePlacement, PolygonPlacement } from "./types.js";
6
7
  import type { LabelPosition } from "../../portal/jsonTypes.js";
7
8
  import type { LabelExpressionInfoProperties } from "./LabelExpressionInfo.js";
9
+ import type { CIMSymbolProperties } from "../../symbols/CIMSymbol.js";
8
10
  import type { LabelSymbol3DProperties } from "../../symbols/LabelSymbol3D.js";
9
11
  import type { TextSymbolProperties } from "../../symbols/TextSymbol.js";
10
12
 
11
- export interface LabelClassProperties extends Partial<Pick<LabelClass, "allowOverrun" | "deconflictionStrategy" | "labelExpression" | "labelPlacement" | "labelPosition" | "maxScale" | "minScale" | "name" | "repeatLabel" | "useCodedValues" | "where">> {
13
+ export interface LabelClassProperties extends Partial<Pick<LabelClass, "allowOverrun" | "deconflictionStrategy" | "labelExpression" | "labelPlacement" | "labelPosition" | "maxScale" | "minScale" | "name" | "offsetDistance" | "repeatLabel" | "useCodedValues" | "where">> {
12
14
  /**
13
15
  * Defines the labels for a [FeatureLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/).
14
16
  *
@@ -74,7 +76,7 @@ export interface LabelClassProperties extends Partial<Pick<LabelClass, "allowOve
74
76
  * haloSize: 1
75
77
  * };
76
78
  */
77
- symbol?: (TextSymbolProperties & { type: "text" }) | (LabelSymbol3DProperties & { type: "label-3d" });
79
+ symbol?: (TextSymbolProperties & { type: "text" }) | (LabelSymbol3DProperties & { type: "label-3d" }) | (CIMSymbolProperties & { type: "cim" });
78
80
  }
79
81
 
80
82
  /**
@@ -305,6 +307,13 @@ export default class LabelClass extends JSONSupport {
305
307
  * @since 5.0
306
308
  */
307
309
  accessor name: string | null | undefined;
310
+ /**
311
+ * Label offset authored by feature services.
312
+ *
313
+ * @default 0
314
+ * @internal
315
+ */
316
+ accessor offsetDistance: number;
308
317
  /**
309
318
  * Indicates whether or not to repeat the label along the polyline feature.
310
319
  * If `true`, the label will be repeated according to the [repeatLabelDistance](https://developers.arcgis.com/javascript/latest/references/core/layers/support/LabelClass/#repeatLabelDistance).
@@ -370,8 +379,8 @@ export default class LabelClass extends JSONSupport {
370
379
  * haloSize: 1
371
380
  * };
372
381
  */
373
- get symbol(): TextSymbol | LabelSymbol3D;
374
- set symbol(value: (TextSymbolProperties & { type: "text" }) | (LabelSymbol3DProperties & { type: "label-3d" }));
382
+ get symbol(): TextSymbol | LabelSymbol3D | CIMSymbol;
383
+ set symbol(value: (TextSymbolProperties & { type: "text" }) | (LabelSymbol3DProperties & { type: "label-3d" }) | (CIMSymbolProperties & { type: "cim" }));
375
384
  /**
376
385
  * Indicates whether to use domain names if the fields in the [labelExpression](https://developers.arcgis.com/javascript/latest/references/core/layers/support/LabelClass/#labelExpression)
377
386
  * or [labelExpressionInfo](https://developers.arcgis.com/javascript/latest/references/core/layers/support/LabelClass/#labelExpressionInfo) have domains.
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import"../../core/has.js";import{JSONMap as r}from"../../core/jsonMap.js";import{JSONSupport as t}from"../../core/JSONSupport.js";import{clone as o}from"../../core/lang.js";import{toPt as i}from"../../core/screenUtils.js";import{property as l,subclass as n}from"../../core/accessorSupport/decorators.js";import s from"./LabelExpressionInfo.js";import{templateStringToSql as a,getSingleFieldArcadeExpression as p,getLabelExpression as c,getLabelExpressionArcade as b,getLabelExpressionSingleField as m,LabelClassSymbol as u}from"./labelUtils.js";import{isSceneServiceLayer as w}from"./layerUtils.js";import{defaultTextSymbol2D as f}from"../../symbols/support/defaults.js";import{writeLabelSymbol as v}from"../../symbols/support/jsonUtils.js";import{symbolTypesLabel3D as y,symbolTypesLabel as h}from"../../symbols/support/typeUtils.js";import{reader as d}from"../../core/accessorSupport/decorators/reader.js";import{writer as S}from"../../core/accessorSupport/decorators/writer.js";var L,P;const x=new r({esriServerPointLabelPlacementAboveCenter:"above-center",esriServerPointLabelPlacementAboveLeft:"above-left",esriServerPointLabelPlacementAboveRight:"above-right",esriServerPointLabelPlacementBelowCenter:"below-center",esriServerPointLabelPlacementBelowLeft:"below-left",esriServerPointLabelPlacementBelowRight:"below-right",esriServerPointLabelPlacementCenterCenter:"center-center",esriServerPointLabelPlacementCenterLeft:"center-left",esriServerPointLabelPlacementCenterRight:"center-right",esriServerLinePlacementAboveAfter:"above-after",esriServerLinePlacementAboveAlong:"above-along",esriServerLinePlacementAboveBefore:"above-before",esriServerLinePlacementAboveStart:"above-start",esriServerLinePlacementAboveEnd:"above-end",esriServerLinePlacementBelowAfter:"below-after",esriServerLinePlacementBelowAlong:"below-along",esriServerLinePlacementBelowBefore:"below-before",esriServerLinePlacementBelowStart:"below-start",esriServerLinePlacementBelowEnd:"below-end",esriServerLinePlacementCenterAfter:"center-after",esriServerLinePlacementCenterAlong:"center-along",esriServerLinePlacementCenterBefore:"center-before",esriServerLinePlacementCenterStart:"center-start",esriServerLinePlacementCenterEnd:"center-end",esriServerPolygonPlacementAlwaysHorizontal:"always-horizontal"},{ignoreUnknown:!0});function g(e,r,t){return{enabled:!w(t?.layer)}}function E(e){return!e||"service"!==e.origin&&!("map-image"===e.layer?.type)}function j(e){return"map-image"===e?.type}function A(e){return!!j(e)&&!!e.capabilities?.exportMap?.supportsArcadeExpressionForLabeling}function C(e){return E(e)||A(e?.layer)}let I=class extends t{static{L=u}static{P=this}static evaluateWhere(e,r){const t=(e,r,t)=>{switch(r){case"=":return e==t;case"<>":return e!=t;case">":return e>t;case">=":return e>=t;case"<":return e<t;case"<=":return e<=t}return!1};try{if(null==e)return!0;const o=e.split(" ");if(3===o.length)return t(r[o[0]],o[1],o[2]);if(7===o.length){const e=t(r[o[0]],o[1],o[2]),i=o[3],l=t(r[o[4]],o[5],o[6]);switch(i){case"AND":return e&&l;case"OR":return e||l}}return!1}catch(o){}}constructor(e){super(e),this[L]=!0,this.type="label",this.name=null,this.allowOverrun=!1,this.deconflictionStrategy="static",this.labelExpression=null,this.labelExpressionInfo=null,this.labelPlacement=null,this.labelPosition="curved",this.maxScale=0,this.minScale=0,this.repeatLabel=!0,this.symbol=f,this.useCodedValues=void 0,this.where=null}readLabelExpression(e,r){const t=r.labelExpressionInfo;if(!t||!t.value&&!t.expression)return e}writeLabelExpression(e,r,t){if(this.labelExpressionInfo)if(null!=this.labelExpressionInfo.value)e=a(this.labelExpressionInfo.value);else if(null!=this.labelExpressionInfo.expression){const r=p(this.labelExpressionInfo.expression);r&&(e="["+r+"]")}null!=e&&(r[t]=e)}writeLabelExpressionInfo(e,r,t,o){if(null==e&&null!=this.labelExpression&&E(o))e=new s({expression:this.getLabelExpressionArcade()});else if(!e)return;const i=e.toJSON(o);i.expression&&(r[t]=i)}writeMaxScale(e,r){(e||this.minScale)&&(r.maxScale=e)}writeMinScale(e,r){(e||this.maxScale)&&(r.minScale=e)}get repeatLabelDistance(){return this._get("repeatLabelDistance")}set repeatLabelDistance(e){this._set("repeatLabelDistance",e)}getLabelExpression(){return c(this)}getLabelExpressionArcade(){return b(this)}getLabelExpressionSingleField(){return m(this)}hash(){return JSON.stringify(this)}clone(){return new P({allowOverrun:this.allowOverrun,deconflictionStrategy:this.deconflictionStrategy,labelExpression:this.labelExpression,labelExpressionInfo:o(this.labelExpressionInfo),labelPosition:this.labelPosition,labelPlacement:this.labelPlacement,maxScale:this.maxScale,minScale:this.minScale,name:this.name,repeatLabel:this.repeatLabel,repeatLabelDistance:this.repeatLabelDistance,symbol:o(this.symbol),where:this.where,useCodedValues:this.useCodedValues})}};e([l({type:String,json:{write:!0}})],I.prototype,"name",void 0),e([l({type:Boolean,json:{write:!0,default:!1,origins:{"web-scene":{write:!1},"portal-item":{default:!1,write:{overridePolicy:g}}}}})],I.prototype,"allowOverrun",void 0),e([l({type:String,json:{write:!0,default:"static",origins:{"web-scene":{write:!1},"portal-item":{default:"static",write:{overridePolicy:g}}}}})],I.prototype,"deconflictionStrategy",void 0),e([l({type:String,json:{write:{overridePolicy(e,r,t){return this.labelExpressionInfo&&"service"===t?.origin&&A(t.layer)?{enabled:!1}:{allowNull:!0}}}}})],I.prototype,"labelExpression",void 0),e([d("labelExpression")],I.prototype,"readLabelExpression",null),e([S("labelExpression")],I.prototype,"writeLabelExpression",null),e([l({type:s,json:{write:{overridePolicy:(e,r,t)=>C(t)?{allowNull:!0}:{enabled:!1}}}})],I.prototype,"labelExpressionInfo",void 0),e([S("labelExpressionInfo")],I.prototype,"writeLabelExpressionInfo",null),e([l({type:x.apiValues,json:{type:x.jsonValues,read:x.read,write:x.write}})],I.prototype,"labelPlacement",void 0),e([l({type:["curved","parallel"],json:{write:!0,origins:{"web-map":{write:!1},"web-scene":{write:!1},"portal-item":{write:!1}}}})],I.prototype,"labelPosition",void 0),e([l({type:Number})],I.prototype,"maxScale",void 0),e([S("maxScale")],I.prototype,"writeMaxScale",null),e([l({type:Number})],I.prototype,"minScale",void 0),e([S("minScale")],I.prototype,"writeMinScale",null),e([l({type:Boolean,json:{write:!0,origins:{"web-scene":{write:!1},"portal-item":{write:{overridePolicy:g}}}}})],I.prototype,"repeatLabel",void 0),e([l({type:Number,cast:i,json:{write:!0,origins:{"web-scene":{write:!1},"portal-item":{write:{overridePolicy:g}}}}})],I.prototype,"repeatLabelDistance",null),e([l({types:h,json:{origins:{"web-scene":{types:y,write:v,default:null}},write:v,default:null}})],I.prototype,"symbol",void 0),e([l({type:Boolean,json:{write:!0}})],I.prototype,"useCodedValues",void 0),e([l({type:String,json:{write:!0}})],I.prototype,"where",void 0),I=P=e([n("esri.layers.support.LabelClass")],I);export{I as default};
2
+ import{__decorate as e}from"tslib";import"../../core/has.js";import{JSONMap as r}from"../../core/jsonMap.js";import{JSONSupport as t}from"../../core/JSONSupport.js";import{clone as o}from"../../core/lang.js";import{toPt as i}from"../../core/screenUtils.js";import{property as s,subclass as n}from"../../core/accessorSupport/decorators.js";import{createTypeReader as l}from"../../core/accessorSupport/extensions/serializableProperty/reader.js";import a from"./LabelExpressionInfo.js";import{templateStringToSql as p,getSingleFieldArcadeExpression as c,getLabelExpression as b,getLabelExpressionArcade as m,getLabelExpressionSingleField as u,LabelClassSymbol as f}from"./labelUtils.js";import{isSceneServiceLayer as w}from"./layerUtils.js";import{defaultTextSymbol2D as v}from"../../symbols/support/defaults.js";import{writeLabelSymbol as y}from"../../symbols/support/jsonUtils.js";import{symbolTypesLabel3D as d,symbolTypesLabel as h}from"../../symbols/support/typeUtils.js";import{reader as S}from"../../core/accessorSupport/decorators/reader.js";import{writer as L}from"../../core/accessorSupport/decorators/writer.js";var P,x;const g=new r({esriServerPointLabelPlacementAboveCenter:"above-center",esriServerPointLabelPlacementAboveLeft:"above-left",esriServerPointLabelPlacementAboveRight:"above-right",esriServerPointLabelPlacementBelowCenter:"below-center",esriServerPointLabelPlacementBelowLeft:"below-left",esriServerPointLabelPlacementBelowRight:"below-right",esriServerPointLabelPlacementCenterCenter:"center-center",esriServerPointLabelPlacementCenterLeft:"center-left",esriServerPointLabelPlacementCenterRight:"center-right",esriServerLinePlacementAboveAfter:"above-after",esriServerLinePlacementAboveAlong:"above-along",esriServerLinePlacementAboveBefore:"above-before",esriServerLinePlacementAboveStart:"above-start",esriServerLinePlacementAboveEnd:"above-end",esriServerLinePlacementBelowAfter:"below-after",esriServerLinePlacementBelowAlong:"below-along",esriServerLinePlacementBelowBefore:"below-before",esriServerLinePlacementBelowStart:"below-start",esriServerLinePlacementBelowEnd:"below-end",esriServerLinePlacementCenterAfter:"center-after",esriServerLinePlacementCenterAlong:"center-along",esriServerLinePlacementCenterBefore:"center-before",esriServerLinePlacementCenterStart:"center-start",esriServerLinePlacementCenterEnd:"center-end",esriServerPolygonPlacementAlwaysHorizontal:"always-horizontal"},{ignoreUnknown:!0});function E(e,r,t){return{enabled:!w(t?.layer)}}function j(e){return!e||"service"!==e.origin&&!("map-image"===e.layer?.type)}function A(e){return"map-image"===e?.type}function C(e){return!!A(e)&&!!e.capabilities?.exportMap?.supportsArcadeExpressionForLabeling}function I(e){return j(e)||C(e?.layer)}let B=class extends t{static{P=f}static{x=this}static evaluateWhere(e,r){const t=(e,r,t)=>{switch(r){case"=":return e==t;case"<>":return e!=t;case">":return e>t;case">=":return e>=t;case"<":return e<t;case"<=":return e<=t}return!1};try{if(null==e)return!0;const o=e.split(" ");if(3===o.length)return t(r[o[0]],o[1],o[2]);if(7===o.length){const e=t(r[o[0]],o[1],o[2]),i=o[3],s=t(r[o[4]],o[5],o[6]);switch(i){case"AND":return e&&s;case"OR":return e||s}}return!1}catch(o){}}constructor(e){super(e),this[P]=!0,this.type="label",this.name=null,this.allowOverrun=!1,this.deconflictionStrategy="static",this.labelExpression=null,this.labelExpressionInfo=null,this.labelPlacement=null,this.offsetDistance=0,this.labelPosition="curved",this.maxScale=0,this.minScale=0,this.repeatLabel=!0,this.symbol=v,this.useCodedValues=void 0,this.where=null}readLabelExpression(e,r){const t=r.labelExpressionInfo;if(!t||!t.value&&!t.expression)return e}writeLabelExpression(e,r,t){if(this.labelExpressionInfo)if(null!=this.labelExpressionInfo.value)e=p(this.labelExpressionInfo.value);else if(null!=this.labelExpressionInfo.expression){const r=c(this.labelExpressionInfo.expression);r&&(e="["+r+"]")}null!=e&&(r[t]=e)}writeLabelExpressionInfo(e,r,t,o){if(null==e&&null!=this.labelExpression&&j(o))e=new a({expression:this.getLabelExpressionArcade()});else if(!e)return;const i=e.toJSON(o);i.expression&&(r[t]=i)}writeMaxScale(e,r){(e||this.minScale)&&(r.maxScale=e)}writeMinScale(e,r){(e||this.maxScale)&&(r.minScale=e)}get repeatLabelDistance(){return this._get("repeatLabelDistance")}set repeatLabelDistance(e){this._set("repeatLabelDistance",e)}getLabelExpression(){return b(this)}getLabelExpressionArcade(){return m(this)}getLabelExpressionSingleField(){return u(this)}hash(){return JSON.stringify(this)}clone(){return new x({allowOverrun:this.allowOverrun,deconflictionStrategy:this.deconflictionStrategy,labelExpression:this.labelExpression,labelExpressionInfo:o(this.labelExpressionInfo),labelPosition:this.labelPosition,labelPlacement:this.labelPlacement,offsetDistance:this.offsetDistance,maxScale:this.maxScale,minScale:this.minScale,name:this.name,repeatLabel:this.repeatLabel,repeatLabelDistance:this.repeatLabelDistance,symbol:o(this.symbol),where:this.where,useCodedValues:this.useCodedValues})}};e([s({type:String,json:{write:!0}})],B.prototype,"name",void 0),e([s({type:Boolean,json:{write:!0,default:!1,origins:{"web-scene":{write:!1},"portal-item":{default:!1,write:{overridePolicy:E}}}}})],B.prototype,"allowOverrun",void 0),e([s({type:String,json:{write:!0,default:"static",origins:{"web-scene":{write:!1},"portal-item":{default:"static",write:{overridePolicy:E}}}}})],B.prototype,"deconflictionStrategy",void 0),e([s({type:String,json:{write:{overridePolicy(e,r,t){return this.labelExpressionInfo&&"service"===t?.origin&&C(t.layer)?{enabled:!1}:{allowNull:!0}}}}})],B.prototype,"labelExpression",void 0),e([S("labelExpression")],B.prototype,"readLabelExpression",null),e([L("labelExpression")],B.prototype,"writeLabelExpression",null),e([s({type:a,json:{write:{overridePolicy:(e,r,t)=>I(t)?{allowNull:!0}:{enabled:!1}}}})],B.prototype,"labelExpressionInfo",void 0),e([L("labelExpressionInfo")],B.prototype,"writeLabelExpressionInfo",null),e([s({type:g.apiValues,json:{type:g.jsonValues,read:g.read,write:g.write}})],B.prototype,"labelPlacement",void 0),e([s({type:Number,json:{read:!0,write:!0,default:0,origins:{"web-scene":{write:!1}}}})],B.prototype,"offsetDistance",void 0),e([s({type:["curved","parallel"],json:{write:!0,origins:{"web-map":{write:!1},"web-scene":{write:!1},"portal-item":{write:!1}}}})],B.prototype,"labelPosition",void 0),e([s({type:Number})],B.prototype,"maxScale",void 0),e([L("maxScale")],B.prototype,"writeMaxScale",null),e([s({type:Number})],B.prototype,"minScale",void 0),e([L("minScale")],B.prototype,"writeMinScale",null),e([s({type:Boolean,json:{write:!0,origins:{"web-scene":{write:!1},"portal-item":{write:{overridePolicy:E}}}}})],B.prototype,"repeatLabel",void 0),e([s({type:Number,cast:i,json:{write:!0,origins:{"web-scene":{write:!1},"portal-item":{write:{overridePolicy:E}}}}})],B.prototype,"repeatLabelDistance",null),e([s({types:h,json:{types:h,origins:{"portal-item":{types:h,read:{reader:l({types:h})},default:null},"web-scene":{types:d,read:{reader:l({types:d})},write:y,default:null}},write:y,default:null}})],B.prototype,"symbol",void 0),e([s({type:Boolean,json:{write:!0}})],B.prototype,"useCodedValues",void 0),e([s({type:String,json:{write:!0}})],B.prototype,"where",void 0),B=x=e([n("esri.layers.support.LabelClass")],B);export{B as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{JSONMap as e}from"../../core/jsonMap.js";import{excludeTables as r}from"../../core/accessorSupport/layerContainerType.js";import n from"../../geometry/Extent.js";import i from"../../geometry/SpatialReference.js";import{w as a}from"../../chunks/persistableUrlUtils.js";import o from"../../symbols/support/ElevationInfo.js";import t from"../../tables/AttributeTableTemplate.js";import{transparencyToOpacity as s}from"../../webdoc/support/opacityUtils.js";const l={type:Boolean,value:!0,json:{origins:{service:{read:!1,write:!1},"web-map":{read:!1,write:!1}},name:"screenSizePerspective",write:{enabled:!0,layerContainerTypes:r}}},p={type:Boolean,value:!0,json:{name:"disablePopup",read:{reader:(e,r)=>!r.disablePopup},write:{enabled:!0,writer(e,r,n){r[n]=!e}}}},y={type:Boolean,value:!0,nonNullable:!0,json:{name:"showLabels",write:{enabled:!0,layerContainerTypes:r}}},d={type:String,json:{origins:{"portal-item":{write:!1}},write:{isRequired:!0,ignoreOrigin:!0,writer:a}}},m={type:Boolean,value:!0,nonNullable:!0,json:{origins:{service:{read:{enabled:!1}}},name:"showLegend",write:{enabled:!0,layerContainerTypes:r}}},c={value:null,type:o,json:{origins:{service:{name:"elevationInfo",write:!0}},name:"layerDefinition.elevationInfo",write:{enabled:!0,layerContainerTypes:r}}};function w(e){return{type:e,readOnly:!0,json:{origins:{service:{read:!0}},read:!1}}}const f={write:{enabled:!0,layerContainerTypes:r},read:!0},g={type:Number,json:{origins:{"web-document":f,"portal-item":{write:{layerContainerTypes:r}}}}},u={...g,json:{...g.json,origins:{"web-document":{...f,write:{enabled:!0,layerContainerTypes:r,target:{opacity:{type:Number},"layerDefinition.drawingInfo.transparency":{type:Number}}}}},read:{source:["layerDefinition.drawingInfo.transparency","drawingInfo.transparency"],reader:(e,r,n)=>n&&"service"!==n.origin||!r.drawingInfo||void 0===r.drawingInfo.transparency?r.layerDefinition?.drawingInfo&&void 0!==r.layerDefinition.drawingInfo.transparency?s(r.layerDefinition.drawingInfo.transparency):void 0:s(r.drawingInfo.transparency)}}},b={type:n,readOnly:!0,json:{origins:{service:{read:{source:["fullExtent","spatialReference"],reader:(e,r)=>{const a=n.fromJSON(e);return null!=r.spatialReference&&"object"==typeof r.spatialReference&&(a.spatialReference=i.fromJSON(r.spatialReference)),a}}}},read:!1}},j={type:String,json:{origins:{service:{read:!1},"portal-item":{read:!1}}}},v={type:Number,json:{origins:{service:{write:{enabled:!1}}},name:"layerDefinition.minScale",write:{layerContainerTypes:r}}},T={type:Number,json:{origins:{service:{write:{enabled:!1}}},name:"layerDefinition.maxScale",write:{layerContainerTypes:r}}},I={json:{write:{ignoreOrigin:!0,layerContainerTypes:r},origins:{"web-map":{read:!1,write:!1}}}},C={type:t,json:{name:"attributeTableInfo",write:!0}},N=new e({High:"high",Medium:"medium",Low:"low",None:"none"}),h={type:N.apiValues,json:{name:"layerDefinition.barrierWeight",default:"high",read:N.read,write:N.write,origins:{service:{read:!1}}}};export{C as attributeTableTemplate,h as barrierWeight,c as elevationInfo,j as id,y as labelsVisible,m as legendEnabled,I as listMode,T as maxScale,v as minScale,g as opacity,u as opacityDrawingInfo,p as popupEnabled,w as readOnlyService,b as sceneLayerFullExtent,l as screenSizePerspectiveEnabled,d as url};
2
+ import{JSONMap as e}from"../../core/jsonMap.js";import{setDeepValue as r}from"../../core/object.js";import{excludeTables as n}from"../../core/accessorSupport/layerContainerType.js";import i from"../../geometry/Extent.js";import a from"../../geometry/SpatialReference.js";import{w as o}from"../../chunks/persistableUrlUtils.js";import t from"../../symbols/support/ElevationInfo.js";import s from"../../tables/AttributeTableTemplate.js";import{transparencyToOpacity as l}from"../../webdoc/support/opacityUtils.js";const p={type:Boolean,value:!0,json:{origins:{service:{read:!1,write:!1},"web-map":{read:!1,write:!1}},name:"screenSizePerspective",write:{enabled:!0,layerContainerTypes:n}}},y={type:Boolean,value:!0,json:{name:"disablePopup",read:{reader:(e,r)=>!r.disablePopup},write:{enabled:!0,writer(e,r,n){r[n]=!e}}}},d={type:Boolean,value:!0,nonNullable:!0,json:{name:"showLabels",write:{enabled:!0,layerContainerTypes:n}}},m={type:String,json:{origins:{"portal-item":{write:!1}},write:{isRequired:!0,ignoreOrigin:!0,writer:o}}},c={type:Boolean,value:!0,nonNullable:!0,json:{origins:{service:{read:{enabled:!1}}},name:"showLegend",write:{enabled:!0,layerContainerTypes:n}}},f={value:null,type:t,json:{origins:{service:{name:"elevationInfo",write:!0}},name:"layerDefinition.elevationInfo",write:{enabled:!0,layerContainerTypes:n}}};function w(e){return{type:e,readOnly:!0,json:{origins:{service:{read:!0}},read:!1}}}const g={write:{enabled:!0,layerContainerTypes:n},read:!0},u={type:Number,json:{origins:{"web-document":g,"portal-item":{write:{layerContainerTypes:n}}}}},b={...u,json:{...u.json,origins:{"web-document":{...g,write:{enabled:!0,layerContainerTypes:n,target:{opacity:{type:Number},"layerDefinition.drawingInfo.transparency":{type:Number}}}}},read:{source:["layerDefinition.drawingInfo.transparency","drawingInfo.transparency"],reader:(e,r,n)=>n&&"service"!==n.origin||!r.drawingInfo||void 0===r.drawingInfo.transparency?r.layerDefinition?.drawingInfo&&void 0!==r.layerDefinition.drawingInfo.transparency?l(r.layerDefinition.drawingInfo.transparency):void 0:l(r.drawingInfo.transparency)}}},j={type:i,readOnly:!0,json:{origins:{service:{read:{source:["fullExtent","spatialReference"],reader:(e,r)=>{const n=i.fromJSON(e);return null!=r.spatialReference&&"object"==typeof r.spatialReference&&(n.spatialReference=a.fromJSON(r.spatialReference)),n}}}},read:!1}},v={type:String,json:{origins:{service:{read:!1},"portal-item":{read:!1}}}},I={type:Number,json:{origins:{service:{write:{enabled:!1}}},name:"layerDefinition.minScale",write:{layerContainerTypes:n}}},T={type:Number,json:{origins:{service:{write:{enabled:!1}}},name:"layerDefinition.maxScale",write:{layerContainerTypes:n}}},N={json:{write:{ignoreOrigin:!0,layerContainerTypes:n},origins:{"web-map":{read:!1,write:!1}}}},C={type:s,json:{name:"attributeTableInfo",write:!0}},O=new e({High:"high",Medium:"medium",Low:"low",None:"none"}),h={type:O.apiValues,json:{name:"layerDefinition.barrierWeight",default:"high",read:O.read,write:O.write,origins:{service:{read:!1}}}};function D(e){return{name:"layerDefinition.timeInfo",read:!0,write:{enabled:!0,overridePolicy(r,n){return{enabled:!0,ignoreOrigin:!!e&&this.originIdOf(n)<3}},writer:(e,n,i,a)=>{if(e){const o=e.toJSON({...a,writeExportOptions:!1});r(i,o,n)}}}}}function S(e){const r=e?.alwaysWriteNonItemOrigin;return{json:{name:e?.name,origins:{"web-map":D(r),"portal-item":D(r)}}}}export{C as attributeTableTemplate,h as barrierWeight,f as elevationInfo,v as id,d as labelsVisible,c as legendEnabled,N as listMode,T as maxScale,I as minScale,u as opacity,b as opacityDrawingInfo,y as popupEnabled,w as readOnlyService,j as sceneLayerFullExtent,p as screenSizePerspectiveEnabled,S as timeInfo,m as url};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- const a={AnnotationFeatureLayer:async()=>(await(import("../AnnotationFeatureLayer.js"))).default,BingMapsLayer:async()=>(await(import("../BingMapsLayer.js"))).default,BuildingSceneLayer:async()=>(await(import("../BuildingSceneLayer.js"))).default,CSVLayer:async()=>(await(import("../CSVLayer.js"))).default,CatalogLayer:async()=>(await(import("../CatalogLayer.js"))).default,DimensionFeatureLayer:async()=>(await(import("../DimensionFeatureLayer.js"))).default,DimensionLayer:async()=>(await(import("../DimensionLayer.js"))).default,ElevationLayer:async()=>(await(import("../ElevationLayer.js"))).default,FeatureLayer:async()=>(await(import("../FeatureLayer.js"))).default,GaussianSplatLayer:async()=>(await(import("../GaussianSplatLayer.js"))).default,GeoJSONLayer:async()=>(await(import("../GeoJSONLayer.js"))).default,GeoRSSLayer:async()=>(await(import("../GeoRSSLayer.js"))).default,GroupLayer:async()=>(await(import("../GroupLayer.js"))).default,ImageryLayer:async()=>(await(import("../ImageryLayer.js"))).default,ImageryTileLayer:async()=>(await(import("../ImageryTileLayer.js"))).default,IntegratedMesh3DTilesLayer:async()=>(await(import("../IntegratedMesh3DTilesLayer.js"))).default,IntegratedMeshLayer:async()=>(await(import("../IntegratedMeshLayer.js"))).default,KMLLayer:async()=>(await(import("../KMLLayer.js"))).default,KnowledgeGraphLayer:async()=>(await(import("../KnowledgeGraphLayer.js"))).default,LineOfSightLayer:async()=>(await(import("../LineOfSightLayer.js"))).default,LinkChartLayer:async()=>(await(import("../LinkChartLayer.js"))).default,MapImageLayer:async()=>(await(import("../MapImageLayer.js"))).default,MapNotesLayer:async()=>(await(import("../MapNotesLayer.js"))).default,MediaLayer:async()=>(await(import("../MediaLayer.js"))).default,OGCFeatureLayer:async()=>(await(import("../OGCFeatureLayer.js"))).default,OpenStreetMapLayer:async()=>(await(import("../OpenStreetMapLayer.js"))).default,OrientedImageryLayer:async()=>(await(import("../OrientedImageryLayer.js"))).default,ParquetLayer:async()=>(await(import("../ParquetLayer.js"))).default,PointCloudLayer:async()=>(await(import("../PointCloudLayer.js"))).default,RouteLayer:async()=>(await(import("../RouteLayer.js"))).default,SceneLayer:async()=>(await(import("../SceneLayer.js"))).default,StreamLayer:async()=>(await(import("../StreamLayer.js"))).default,SubtypeGroupLayer:async()=>(await(import("../SubtypeGroupLayer.js"))).default,TileLayer:async()=>(await(import("../TileLayer.js"))).default,UnknownLayer:async()=>(await(import("../UnknownLayer.js"))).default,UnsupportedLayer:async()=>(await(import("../UnsupportedLayer.js"))).default,VectorTileLayer:async()=>(await(import("../VectorTileLayer.js"))).default,VideoLayer:async()=>(await(import("../VideoLayer.js"))).default,ViewshedLayer:async()=>(await(import("../ViewshedLayer.js"))).default,VoxelLayer:async()=>(await(import("../VoxelLayer.js"))).default,WCSLayer:async()=>(await(import("../WCSLayer.js"))).default,WFSLayer:async()=>(await(import("../WFSLayer.js"))).default,WMSLayer:async()=>(await(import("../WMSLayer.js"))).default,WMTSLayer:async()=>(await(import("../WMTSLayer.js"))).default,WebTileLayer:async()=>(await(import("../WebTileLayer.js"))).default};export{a as layersLoaderMap};
2
+ const a={AnnotationFeatureLayer:async()=>(await(import("../AnnotationFeatureLayer.js"))).default,BingMapsLayer:async()=>(await(import("../BingMapsLayer.js"))).default,BuildingSceneLayer:async()=>(await(import("../BuildingSceneLayer.js"))).default,CSVLayer:async()=>(await(import("../CSVLayer.js"))).default,CatalogLayer:async()=>(await(import("../CatalogLayer.js"))).default,DimensionFeatureLayer:async()=>(await(import("../DimensionFeatureLayer.js"))).default,DimensionLayer:async()=>(await(import("../DimensionLayer.js"))).default,ElevationLayer:async()=>(await(import("../ElevationLayer.js"))).default,FeatureLayer:async()=>(await(import("../FeatureLayer.js"))).default,GaussianSplatLayer:async()=>(await(import("../GaussianSplatLayer.js"))).default,GeoJSONLayer:async()=>(await(import("../GeoJSONLayer.js"))).default,GeoRSSLayer:async()=>(await(import("../GeoRSSLayer.js"))).default,GeospatialPDFLayer:async()=>(await(import("../GeospatialPDFLayer.js"))).default,GroupLayer:async()=>(await(import("../GroupLayer.js"))).default,ImageryLayer:async()=>(await(import("../ImageryLayer.js"))).default,ImageryTileLayer:async()=>(await(import("../ImageryTileLayer.js"))).default,IntegratedMesh3DTilesLayer:async()=>(await(import("../IntegratedMesh3DTilesLayer.js"))).default,IntegratedMeshLayer:async()=>(await(import("../IntegratedMeshLayer.js"))).default,KMLLayer:async()=>(await(import("../KMLLayer.js"))).default,KnowledgeGraphLayer:async()=>(await(import("../KnowledgeGraphLayer.js"))).default,LineOfSightLayer:async()=>(await(import("../LineOfSightLayer.js"))).default,LinkChartLayer:async()=>(await(import("../LinkChartLayer.js"))).default,MapImageLayer:async()=>(await(import("../MapImageLayer.js"))).default,MapNotesLayer:async()=>(await(import("../MapNotesLayer.js"))).default,MediaLayer:async()=>(await(import("../MediaLayer.js"))).default,OGCFeatureLayer:async()=>(await(import("../OGCFeatureLayer.js"))).default,OpenStreetMapLayer:async()=>(await(import("../OpenStreetMapLayer.js"))).default,OrientedImageryLayer:async()=>(await(import("../OrientedImageryLayer.js"))).default,ParquetLayer:async()=>(await(import("../ParquetLayer.js"))).default,PointCloudLayer:async()=>(await(import("../PointCloudLayer.js"))).default,RouteLayer:async()=>(await(import("../RouteLayer.js"))).default,SceneLayer:async()=>(await(import("../SceneLayer.js"))).default,StreamLayer:async()=>(await(import("../StreamLayer.js"))).default,SubtypeGroupLayer:async()=>(await(import("../SubtypeGroupLayer.js"))).default,TileLayer:async()=>(await(import("../TileLayer.js"))).default,UnknownLayer:async()=>(await(import("../UnknownLayer.js"))).default,UnsupportedLayer:async()=>(await(import("../UnsupportedLayer.js"))).default,VectorTileLayer:async()=>(await(import("../VectorTileLayer.js"))).default,VideoLayer:async()=>(await(import("../VideoLayer.js"))).default,ViewshedLayer:async()=>(await(import("../ViewshedLayer.js"))).default,VoxelLayer:async()=>(await(import("../VoxelLayer.js"))).default,WCSLayer:async()=>(await(import("../WCSLayer.js"))).default,WFSLayer:async()=>(await(import("../WFSLayer.js"))).default,WMSLayer:async()=>(await(import("../WMSLayer.js"))).default,WMTSLayer:async()=>(await(import("../WMTSLayer.js"))).default,WebTileLayer:async()=>(await(import("../WebTileLayer.js"))).default};export{a as layersLoaderMap};
package/layers/types.d.ts CHANGED
@@ -33,7 +33,7 @@ import type { TimeZone } from "../time/types.js";
33
33
  * @see [Layer.type](https://developers.arcgis.com/javascript/latest/references/core/layers/Layer/#type)
34
34
  * @since 5.0
35
35
  */
36
- export type LayerType = "annotation-feature" | "base-dynamic" | "base-elevation" | "base-tile" | "bing-maps" | "building-scene" | "catalog" | "catalog-footprint" | "catalog-dynamic-group" | "csv" | "dimension" | "dimension-feature" | "elevation" | "feature" | "geo-rss" | "geojson" | "parquet" | "gaussian-splat" | "graphics" | "group" | "imagery" | "imagery-tile" | "integrated-mesh" | "integrated-mesh-3dtiles" | "kml" | "knowledge-graph" | "knowledge-graph-sublayer" | "line-of-sight" | "link-chart" | "map-image" | "map-notes" | "media" | "video" | "ogc-feature" | "open-street-map" | "oriented-imagery" | "point-cloud" | "route" | "scene" | "stream" | "subtype-group" | "tile" | "unknown" | "unsupported" | "vector-tile" | "viewshed" | "voxel" | "wcs" | "web-tile" | "wfs" | "wms" | "wmts";
36
+ export type LayerType = "annotation-feature" | "base-dynamic" | "base-elevation" | "base-tile" | "bing-maps" | "building-scene" | "catalog" | "catalog-footprint" | "catalog-dynamic-group" | "csv" | "dimension" | "dimension-feature" | "elevation" | "feature" | "geospatial-pdf" | "geo-rss" | "geojson" | "parquet" | "gaussian-splat" | "graphics" | "group" | "imagery" | "imagery-tile" | "integrated-mesh" | "integrated-mesh-3dtiles" | "kml" | "knowledge-graph" | "knowledge-graph-sublayer" | "line-of-sight" | "link-chart" | "map-image" | "map-notes" | "media" | "video" | "ogc-feature" | "open-street-map" | "oriented-imagery" | "point-cloud" | "route" | "scene" | "stream" | "subtype-group" | "tile" | "unknown" | "unsupported" | "vector-tile" | "viewshed" | "voxel" | "wcs" | "web-tile" | "wfs" | "wms" | "wmts";
37
37
 
38
38
  /**
39
39
  * Indicates how the layer should display in the [Layer List](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-layer-list/) component.
@@ -0,0 +1,130 @@
1
+ import type Accessor from "../core/Accessor.js";
2
+ import type Collection from "../core/Collection.js";
3
+ import type Layer from "../layers/Layer.js";
4
+ import type LayerView from "../views/layers/LayerView.js";
5
+ import type { LegendElement } from "./types.js";
6
+ import type { MapViewOrSceneView } from "../views/MapViewOrSceneView.js";
7
+
8
+ export interface ActiveLayerInfoProperties extends Partial<Pick<ActiveLayerInfo, "children" | "hideLayersNotInCurrentView" | "keepCacheOnDestroy" | "layer" | "layerView" | "legendElements" | "parent" | "respectLayerDefinitionExpression" | "respectLayerVisibility" | "sublayerIds" | "title" | "view">> {}
9
+
10
+ /**
11
+ * Represents the legend content for a layer or sublayer in a
12
+ * [LegendContent](https://developers.arcgis.com/javascript/latest/references/core/legend/LegendContent/) instance.
13
+ *
14
+ * An `ActiveLayerInfo` is added to or removed from
15
+ * [LegendContent.activeLayerInfos](https://developers.arcgis.com/javascript/latest/references/core/legend/LegendContent/#activeLayerInfos) as layers become visible or invisible in the view. It maintains
16
+ * parent and child relationships and generates the [legend elements](https://developers.arcgis.com/javascript/latest/references/core/legend/ActiveLayerInfo/#legendElements)
17
+ * required to render the layer's symbology.
18
+ *
19
+ * You can use this class to build custom, interactive legends without using the
20
+ * [Legend component](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-legend/).
21
+ *
22
+ * @since 5.2
23
+ */
24
+ export default class ActiveLayerInfo extends Accessor {
25
+ constructor(properties?: ActiveLayerInfoProperties);
26
+ /**
27
+ * A collection of child activeLayerInfos. This only applies to renderers of
28
+ * [Sublayers](https://developers.arcgis.com/javascript/latest/references/core/layers/support/Sublayer/) or the children
29
+ * of [GroupLayers](https://developers.arcgis.com/javascript/latest/references/core/layers/GroupLayer/).
30
+ */
31
+ accessor children: Collection<ActiveLayerInfo>;
32
+ /** The CSS filter string representing the effects applied to the active layer. */
33
+ get cssEffectFilter(): string | null | undefined;
34
+ /**
35
+ * When `true`, layers will only be shown in the legend if
36
+ * they are visible in the view's extent. When data from a layer
37
+ * is not visible in the view, the layer's legend information
38
+ * will be hidden.
39
+ *
40
+ * To hide layers completely
41
+ * from the legend, you should set the `legendEnabled` property of
42
+ * the layer to `false`.
43
+ *
44
+ * @default false
45
+ * @see [respectLayerVisibility](https://developers.arcgis.com/javascript/latest/references/core/legend/ActiveLayerInfo/#respectLayerVisibility)
46
+ */
47
+ accessor hideLayersNotInCurrentView: boolean;
48
+ /**
49
+ * Indicates if the legend's display of the layer's renderer is driven by the scale of the view.
50
+ * This is true of [Sublayer](https://developers.arcgis.com/javascript/latest/references/core/layers/support/Sublayer/) renderers, any renderer that uses
51
+ * a `valueExpression` (Arcade expression), [DotDensityRenderer](https://developers.arcgis.com/javascript/latest/references/core/renderers/DotDensityRenderer/), and
52
+ * layers that have [FeatureReductionLayer.featureReduction](https://developers.arcgis.com/javascript/latest/references/core/layers/mixins/FeatureReductionLayer/#featureReduction) enabled.
53
+ */
54
+ get isScaleDriven(): boolean;
55
+ /**
56
+ * Indicates whether cached legend responses should be preserved when the active layer info is destroyed.
57
+ * Preserving the cache can avoid repeating legend requests when creating another active layer info for the same layer.
58
+ *
59
+ * @default false
60
+ */
61
+ accessor keepCacheOnDestroy: boolean;
62
+ /** The layer represented by the ActiveLayerInfo object. */
63
+ accessor layer: Layer;
64
+ /** The layerView represented by the ActiveLayerInfo object's layer. */
65
+ accessor layerView: LayerView;
66
+ /**
67
+ * The legendElements is constructed using the layer [Renderer](https://developers.arcgis.com/javascript/latest/references/core/renderers/Renderer/). It reflects the actual
68
+ * structure of the legend.
69
+ */
70
+ accessor legendElements: LegendElement[];
71
+ /** Indicates whether legend elements are currently being generated for this layer or its children. */
72
+ get loading(): boolean;
73
+ /** The opacity of the layer or parent element. */
74
+ get opacity(): number;
75
+ /** The ActiveLayerInfo of the parent [Sublayer](https://developers.arcgis.com/javascript/latest/references/core/layers/support/Sublayer/) or [GroupLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/GroupLayer/). */
76
+ accessor parent: ActiveLayerInfo | null | undefined;
77
+ /**
78
+ * Indicates if the activeLayerInfo is ready. It is set to `true` when all its [legendElements](https://developers.arcgis.com/javascript/latest/references/core/legend/ActiveLayerInfo/#legendElements) are computed.
79
+ * It is set to `false` when the layer renderer changes so that the legendElements can recomputed.
80
+ */
81
+ get ready(): boolean;
82
+ /**
83
+ * Indicates whether the layer's definition expression should be applied when generating legend information.
84
+ *
85
+ * @default false
86
+ */
87
+ accessor respectLayerDefinitionExpression: boolean;
88
+ /**
89
+ * Determines whether to respect the properties of the layers in the map that
90
+ * control the legend's visibility (`minScale`, `maxScale`, `legendEnabled`).
91
+ * By default, a layer's legend elements **will
92
+ * not render** in the legend given the following conditions:
93
+ *
94
+ * - The [FeatureLayer.legendEnabled](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/#legendEnabled) property
95
+ * is set to `false`.
96
+ * - If the view's scale is outside the visibility range
97
+ * defined by the [ScaleRangeLayer.minScale](https://developers.arcgis.com/javascript/latest/references/core/layers/mixins/ScaleRangeLayer/#minScale) and
98
+ * [ScaleRangeLayer.maxScale](https://developers.arcgis.com/javascript/latest/references/core/layers/mixins/ScaleRangeLayer/#maxScale) properties.
99
+ *
100
+ * When the `respectLayerVisibility` property of the legend is set to `false`, the legend elements for each
101
+ * layer in the map will always display, thus disregarding the `minScale`, `maxScale`,
102
+ * and `legendEnabled` properties for each layer in the map.
103
+ *
104
+ * @default true
105
+ * @see [hideLayersNotInCurrentView](https://developers.arcgis.com/javascript/latest/references/core/legend/ActiveLayerInfo/#hideLayersNotInCurrentView)
106
+ */
107
+ accessor respectLayerVisibility: boolean;
108
+ /** The scale of the view instance in which the Legend is rendered. */
109
+ get scale(): number;
110
+ /**
111
+ * Only applies if the [layer](https://developers.arcgis.com/javascript/latest/references/core/legend/ActiveLayerInfo/#layer) is a [MapImageLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/MapImageLayer/). An array of
112
+ * MapImageLayer [Sublayer](https://developers.arcgis.com/javascript/latest/references/core/layers/support/Sublayer/) IDs for which to display legend information. For example,
113
+ * if a MapImageLayer contains 100 sublayers, but you want to display the legend for two sublayers,
114
+ * then specifying the IDs of both sublayers will allow the Legend to only display legend information for those sublayers.
115
+ */
116
+ accessor sublayerIds: number[];
117
+ /**
118
+ * The text string that represents the legend's title. This value is read from the `layerInfo` of the
119
+ * corresponding layer in the legend. If not provided, this value comes from the
120
+ * [Layer.title](https://developers.arcgis.com/javascript/latest/references/core/layers/Layer/#title).
121
+ */
122
+ accessor title: string | null | undefined;
123
+ /**
124
+ * The version of the ActiveLayerInfo. It increases by `1` whenever [ready](https://developers.arcgis.com/javascript/latest/references/core/legend/ActiveLayerInfo/#ready) property of ActiveLayerInfo changes.
125
+ * This property should watched in the view for ActiveLayerInfo changes and update the DOM accordingly.
126
+ */
127
+ get version(): number;
128
+ /** The view in which the Legend is rendered. */
129
+ accessor view: MapViewOrSceneView;
130
+ }
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ 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{getColorWithEmissiveStrength as a}from"../core/colorUtils.js";import{JSONMap as o}from"../core/jsonMap.js";import u from"../core/Logger.js";import{clamp as c}from"../core/mathUtils.js";import{debounce as d}from"../core/promiseUtils.js";import{on as y,watch as h,initial as f,whenOnce as m}from"../core/reactiveUtils.js";import{px2pt as p}from"../core/screenUtils.js";import{parseWhereClause as g,sqlName as b,sqlLiteral as _}from"../core/sql.js";import{addQueryParameters as S}from"../core/urlUtils.js";import{property as w,subclass as v}from"../core/accessorSupport/decorators.js";import{runUntracked as L}from"../core/accessorSupport/tracking.js";import{EffectView as E}from"../layers/effects/EffectView.js";import{getPixelValueRange as F}from"../layers/raster/formats/pixelRangeUtils.js";import{getEffectiveDisplayFilter as C}from"../layers/support/displayFilterUtils.js";import{ExportImageParameters as I}from"../layers/support/ExportImageParameters.js";import{collectFields as R,collectArcadeFieldNames as V}from"../layers/support/fieldUtils.js";import{isFeatureLayer as x,getFieldConfigurationsContainer as D}from"../layers/support/layerUtils.js";import{getEffectiveClusterSizeVariable as z}from"./support/clusterUtils.js";import{getColorFromPointCloudStops as T,getRampStopsForPointCloud as j,getStretchRampStops as k,getRampStops as P}from"./support/colorRampUtils.js";import{getHeatmapRampStops as O}from"./support/heatmapRampUtils.js";import{getRelationshipRampElement as U,getRotationAngleForFocus as M}from"./support/relationshipRampUtils.js";import{getRampStops as A,realWorldMaxSize as B,realWorldMinSize as N}from"./support/sizeRampUtils.js";import{specialCharsLessThan as $,specialCharsGreaterThan as H,getAuthoringInfoVisualVariableByTheme as W,getSymbolForFlowRenderer as q,formatValue as G,getFormatOptions as J,mergeWhereClauses as Z,getMedianColor as Q,rgbImgSource as K,getFormatOptionsForVisualVariable as X}from"./support/utils.js";import{fromJSON as Y}from"../renderers/support/jsonUtils.js";import{isSupportedRenderer3D as ee}from"../renderers/support/rendererConversion.js";import{getScaleDependentSymbol as te}from"../renderers/support/scaleDependentSymbolUtils.js";import ie from"../renderers/visualVariables/SizeVariable.js";import se from"../renderers/visualVariables/support/SizeVariableLegendOptions.js";import{updateReferenceSizeSymbol as le}from"../smartMapping/renderers/support/referenceSizeUtils.js";import re from"../symbols/SimpleFillSymbol.js";import ne from"../symbols/SimpleMarkerSymbol.js";import{applyCIMSymbolColor as ae}from"../symbols/support/cimSymbolUtils.js";import{renderSymbol as oe}from"../symbols/support/renderUtils.js";import{renderColorRampPreviewHTML as ue,renderDotDensityPreviewHTML as ce,renderPieChartPreviewHTML as de,renderPreviewHTML as ye,getEmissiveFromSymbol as he}from"../symbols/support/symbolUtils.js";import{getCSSFilterFromEffectList as fe,isVolumetricSymbol as me}from"../symbols/support/utils.js";import{formatNumberLabel as pe}from"../widgets/smartMapping/support/utils.js";const ge=16,be="https://utility.arcgis.com/sharing/tools/legend",_e="esri.layers.ImageryLayer",Se="esri.layers.ImageryTileLayer",we="esri.layers.WCSLayer",ve=/^\s*(return\s+)?\$view\.scale\s*(;)?\s*$/i,Le=new o({esriGeometryPoint:"point",esriGeometryMultipoint:"multipoint",esriGeometryPolyline:"polyline",esriGeometryPolygon:"polygon",esriGeometryMultiPatch:"multipatch"}),Ee=new ne({size:6,outline:{color:[128,128,128,.5],width:.5}}),Fe=new re({style:"solid"});function Ce(e){return"flow"===e.type}function Ie(e){return"vector-field"===e.type}function Re(e){return"raster-colormap"===e.type}function Ve(e){return"raster-stretch"===e.type}function xe(e){return"raster-shaded-relief"===e.type}function De(e){return"esri.renderers.SimpleRenderer"===e.declaredClass}function ze(e){return"esri.renderers.ClassBreaksRenderer"===e.declaredClass}function Te(e){return"esri.renderers.UniqueValueRenderer"===e.declaredClass}function je(e){return"esri.renderers.HeatmapRenderer"===e.declaredClass}function ke(e){return Oe(e)||Ue(e)||Me(e)||Pe(e)}function Pe(e){return"esri.renderers.PointCloudRGBRenderer"===e.declaredClass}function Oe(e){return"esri.renderers.PointCloudClassBreaksRenderer"===e.declaredClass}function Ue(e){return"esri.renderers.PointCloudStretchRenderer"===e.declaredClass}function Me(e){return"esri.renderers.PointCloudUniqueValueRenderer"===e.declaredClass}function Ae(e){return"esri.renderers.DotDensityRenderer"===e.declaredClass}function Be(e){return"esri.renderers.PieChartRenderer"===e.declaredClass}function Ne(e,t){return De(e)||ze(e)||Te(e)||je(e)||Ae(e)||Be(e)?"2d"===t.type||ee(e):Ve(e)||Re(e)||xe(e)||Oe(e)||Ue(e)||Me(e)||Ie(e)||Ce(e)}function $e(e){return"esri.layers.BuildingSceneLayer"===e.declaredClass}function He(e){return"esri.layers.SubtypeGroupLayer"===e.declaredClass}function We(e){return"esri.layers.VoxelLayer"===e.declaredClass}function qe(e){return"esri.layers.WMSLayer"===e.declaredClass}function Ge(e){return"esri.layers.WMTSLayer"===e.declaredClass}function Je(e){return"esri.layers.MapImageLayer"===e.declaredClass}function Ze(e){return"esri.layers.TileLayer"===e.declaredClass}function Qe(e){return e.declaredClass===_e}function Ke(e){return e.declaredClass===Se}function Xe(e){return e.declaredClass===we}function Ye(e){return"stretch-ramp"===e.type}function et(e){const t="authoringInfo"in e?e?.authoringInfo:null;return"univariate-color-size"===t?.type}function tt(e){const t="authoringInfo"in e?e?.authoringInfo:null;return"univariate-color-size"===t?.type&&"above-and-below"===t?.univariateTheme}function it(e){return"sublayers"in e}function st(e){return e&&"symbol"in e}function lt(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 rt=new ne({style:"path",path:"M10,5 L5,0 0,5 M5,0 L5,15",size:15,outline:{width:1,color:[85,85,85,1]}});let nt={},at={};const ot=new WeakMap;let ut=class extends l{constructor(e){super(e),this._hasColorRamp=!1,this._hasOpacityRamp=!1,this._hasSizeRamp=!1,this._loading=!1,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.hideLayersNotInCurrentView=!1,this.keepCacheOnDestroy=!1,this.layer=null,this.layerView=null,this.legendElements=[],this.parent=null,this.respectLayerDefinitionExpression=!1,this.respectLayerVisibility=!0,this.sublayerIds=[],this.title=null,this.view=null}initialize(){const e=()=>this.notifyChange("ready");this.addHandles([y(()=>this.children,"change",t=>{const{added:i,removed:s}=t;i.forEach(t=>{const i=`activeLayerInfo-ready-watcher-${t.layer.uid}`;this.addHandles(h(()=>t.ready,e,f),i)}),s.forEach(e=>this.removeHandles(e.layer.uid)),e()})]),this.keepCacheOnDestroy||(nt={},at={})}destroy(){this._dotDensityUrlCache=null,this._scaleDrivenSizeVariable=null,this.keepCacheOnDestroy||(nt=null,at=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 E({effect:i});return s.endTransition(),s.scale=t,fe(s,!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&&Te(e.renderer))||this._isRendererScaleDriven(e.renderer):this._isLayerScaleDriven(this.layer)}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 L(()=>null===this.layer||(this.children.length>0?this._isGroupActive():this.legendElements.length>0))}get scale(){return this.view?.scale??0}get version(){return this.commitProperty("ready"),L(()=>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(x(e))return this._getRendererLegendElements(e.renderer,{title:e.title});if(e.featureSet?.features.length){const t=e.layerDefinition,i=t?.drawingInfo,s=i&&Y(i.renderer),l=Le.read(t.geometryType);return s?this._getRendererLegendElements(s,{title:e.name,geometryType:l}):(u.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){u.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){u.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){u.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(We(e))await this._constructLegendElementsForVoxelLayer();else if(Ge(e))this._constructLegendElementsForWMTSlayer();else if(qe(e))await this._constructLegendElementsForWMSSublayers();else if($e(e))await this._constructLegendElementsForBuildingSceneLayer();else if(Je(e)||Ze(e)||He(e))await this._constructLegendElementsForSublayers();else{this.removeHandles("imageryLayers-watcher");let t="default";if(Qe(e)){const i=e;t=(i?.rasterFunction?.functionName||"default")+"_"+(e.bandIds?.length?e.bandIds.join(""):"###")}if(Ke(e)||"link-chart"===e.type)return;await this._getLegendLayers(`${e.uid}-${t}`).then(async t=>{this.legendElements=[];const i=t.map(async t=>{if(Qe(e)){const t=h(()=>[e.rasterFunction,e.bandIds],()=>d(async()=>{nt.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&&(Qe(e)&&(i.title=e.title),this.legendElements.push(i))});await Promise.allSettled(i)}).catch(e=>{u.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(ve.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))||ve.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&&Je(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(h(()=>e.currentVariableId,()=>this._constructLegendElementsForVoxelLayer()),"voxel-current-variable"),this.addHandles(h(()=>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 re({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?$:H} ${pe(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:ue(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(h(()=>{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(h(()=>{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=h(()=>[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=S(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=nt&&nt[e];if(i)return Promise.resolve(i);const s=at?.[e];if(null!=s)return s;const l=this._legendRequest(t).then(t=>{const i=t.layers;return nt&&(nt[e]=i),i}).finally(()=>{at&&delete at[e]});return at[e]=l,l}_legendRequest(e){const t=this.layer;let i={f:"json",dynamicLayers:e};if(Qe(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=be+"?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(h(()=>e.sublayers,()=>this._constructLegendElementsForBuildingSceneLayer()),"sublayers-watcher");try{this.legendElements=await this._generateLegendElementsForBuildingSublayers(e.sublayers,this.opacity)}catch(t){u.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=h(()=>["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(!(Je(e)||Ze(e)||He(e))||this.hideLayersNotInCurrentView&&!await this._isLayerInCurrentView())return this.legendElements=[],this._loading=!1,void this.notifyChange("ready");this.addHandles(h(()=>e.sublayers,()=>this._constructLegendElementsForSublayers),"sublayers-watcher");try{this.legendElements=await this._generateLegendElementsForSublayers(e.sublayers,this.opacity)}catch(t){u.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=He(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=h(()=>[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=!it(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(it(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 I({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}`)}const n=e.label;return{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(!Ne(e,this.view))return u.getLogger(this).warn(`Renderer of type '${e.type}' not supported!`),[];if(ke(e))return this._constructPointCloudRendererLegendElements(e,t);if(Ae(e))return this._constructDotDensityRendererLegendElements(e);const i=await this._loadRenderer(e);return Be(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(Oe(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(Ee,e.color)})});else if(Ue(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=T(e+(i-e)/2,t)}}l={type:"symbol-table",title:null,infos:[{label:null,value:null,symbol:this._getAppliedCloneSymbol(Ee,s||Ee.color)}]};const n=j(e.stops??[])??[];r={type:"color-ramp",title:i||this._getPointCloudRendererTitle(e),infos:n,preview:ue(n.map(e=>e.color))}}else Me(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(Ee,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):ce(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=oe([[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 ne({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 ne({color:e.othersCategory.color,outline:s});i=e.othersCategory.label||"Other",t.push({label:i,symbol:l})}if(e.defaultColor?.a){const i=new ne({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=de(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 g(e,i),l=new Set,{field:r,field2:n,field3:a}=t;R(l,i,[r,n,a]),await V(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?C(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=W(e,"reference-size"),a=W(e,"spike"),o=l&&"renderer"in r&&r.renderer?r.renderer:e;let u=null;Te(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(Ce(e)&&!this._hasSizeRamp){const t=await q(e);d.infos.push({label:null,symbol:t})}else if(et(e)){let t=i;const s=tt(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(je(e)){const t=O(e);c.push({type:"heatmap-ramp",title:i||this._getRendererTitle(e,r),infos:t,preview:ue(t.map(e=>e.color),{cssEffectFilter:this.cssEffectFilter})})}else if(Te(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=M(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=rt.clone();n.angle=a,d.infos.push({label:l,symbol:n}),f.add(n),a+=90}const o=U({focus:n,numClasses:i,infos:e.uniqueValueInfos??[]});c.unshift(o)}}else if(Qe(this.layer)||Ke(this.layer)){const{uniqueValueInfos:t}=e;if(t)for(const e of t)e.symbol&&await this._checkClausesForUVR(o,e.value,r)&&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)??G(i,J(r,t,this.view.timeZone)))),s&&(u.push(n),d.push(this._getDomainName(s,n,r)??G(n,J(r,s,this.view.timeZone)))),l&&(u.push(o),d.push(this._getDomainName(l,o,r)??G(o,J(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=te(e,this.view.scale)??u;"cim"===g.type&&n&&(g=g.clone(),le(g,{innerDotSize:.5*ge,outerRingSize:ge}));let b=!1;for(const e of y)if(b=await this._checkClausesForUVR(o,e,r),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(st)??[];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(ze(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 e of t){const{label:t,minValue:s,maxValue:l}=e,n=te(e,this.view.scale)??e.symbol,a=t||(y?null:`${s} - ${l}`),o={previewAriaLabel:a||d.title||r.title,label:a,value:[s,l],symbol:n};i?d.infos.push(o):d.infos.unshift(o)}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(Ve(e))if(Ke(this.layer)||Xe(this.layer)){const t=await this._constructTileImageryStretchRendererElements(e);Ye(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=F(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(Re(e))e.colormapInfos.forEach(e=>{d.infos.push({label:e.label,value:e.value,symbol:this._getAppliedCloneSymbol(Fe,e.color)})});else if(De(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(Ie(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 xe(e)&&c.push(await this._getStretchLegendElements(e,{min:0,max:255}));const m=e.defaultSymbol;!m||h||De(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=Qe(this.layer)||Ke(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 m(()=>!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=Z(s.where,e)),t&&(s.geometry=t);return await i.queryFeatureCount(s)>0}catch{return!0}}_getUVRFeatureCountExpression(e,t){return Object.entries(e).map(([e,i])=>{const s="getField"in t&&t.getField?t.getField(e):null,l=b(e);if(null==i)return`${l} IS NULL`;try{return`${l} = ${_(i,null,s?{type:s.type}:null)}`}catch{return`${l} = ${_(i)}`}}).join(" AND ")}async _checkClausesForUVR(e,t,i){const s=lt(e,t);if(!s)return!0;const l=!!(!this._layerDefinitionExpressionClause&&this._layerDefinitionExpression&&this.respectLayerDefinitionExpression||!this._layerDisplayFilterClause&&this._layerDisplayFilter?.where),r=this._getUVRFeatureCountExpression(s,i);return(!l||!r||await this._checkFeatureCountForExpression(r))&&(this._layerDefinitionExpressionClause?.testFeature(s)??!0)&&(this._layerDisplayFilterClause?.testFeature(s)??!0)}_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=F(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=k(i,t);return{type:"stretch-ramp",title:"",infos:s,preview:ue(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 A(i,t,await Q(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:K[s],opacity:this.opacity??1})}),t}_updateInfosForClassedSizeRenderer(e,t){const i="class-breaks-size"===e.authoringInfo?.type,s=e.classBreakInfos.some(e=>me(e.symbol));if(i&&s){const i=B,s=N,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)),st(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?p(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 ye(s,t)}catch{e.preview=null,u.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=z(e,this.layerView,this.view);if(s&&null!=i&&"visualVariables"in i){const t=i.visualVariables?.some(e=>"size"===e.type&&"outline"!==e.target&&!ve.test(e.valueExpression));if(!t){if("clusterMinSize"in e&&"clusterMaxSize"in e){const{clusterMinSize:t,clusterMaxSize:i}=e;s.legendOptions=new se({showLegend:t!==i})}const t=i.visualVariables||[];i.visualVariables=t.concat([s]),this._clusterSizeVariable=s}}return i}async _loadRenderer(e){if(ot.has(e))return ot.get(e);const t=[],i=e.clone(),s=await Q(i);if(ze(i)||Te(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,De(i))}).catch(()=>{this._applySymbolToRenderer(i,null,De(i))})),await Promise.allSettled(t),ot.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)try{const i=await e.fetchSymbol();return this._getAppliedCloneSymbol(i,t)}catch{throw u.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?ae(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=W(e,"reference-size")??W(e,"spike");let o;const u=this._clusterSizeVariable;if(2===a?.sizeStops?.length&&(ze(e)||Te(e))){const[e,t]=a.sizeStops,i=u?u.minDataValue:e.value,s=u?u.maxDataValue:t.value;o=new ie({field:a.field??void 0,normalizationField:a.normalizationField,minSize:c(e.size,10,100),maxSize:c(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&&ze(e)&&e.classBreakInfos&&1===e.classBreakInfos.length){const t=e.classBreakInfos[0];y=t&&t.symbol}0===s.length&&De(e)&&(y=e.symbol);let f=null;if(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);f=he(y)}const m=this.cssEffectFilter;return(await Promise.all(d.map(async i=>{if(!1!==i.legendOptions?.showLegend){const s=Ce(e)?i.field:this._getRampTitle(i,t);let l=null;const r=X(t,i,this.view.timeZone);if("color"===i.type){const t=await P(i,null,r)??[],n=this._getColorRampInfosWithEmissiveColors(t,e,f);l={type:"color-ramp",title:s,infos:n,preview:ue(n.map(e=>e.color),{cssEffectFilter:m})},this._hasColorRamp||(this._hasColorRamp=t.length>0)}else if("size"===i.type&&"outline"!==i.target)ve.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 t=await P(i,h,r)??[],n=this._getColorRampPreviewColors(t,e,f);l={type:"opacity-ramp",title:s,infos:t,preview:ue(n,{cssEffectFilter:m})},this._hasOpacityRamp||(this._hasOpacityRamp=t.length>0)}return l?.infos?l:null}}))).filter(r)}_getColorRampPreviewColors(e,t,i){return this._getColorRampInfosWithEmissiveColors(e,t,i).map(e=>e.color)}_getColorRampInfosWithEmissiveColors(e,t,i){return e.map(e=>{const s=ze(t)?this._getStopEmissiveForColorRampInfo(e,t):i;return void 0===s?e:{...e,color:a(e.color,s)}})}_getStopEmissiveForColorRampInfo(e,t){if(!e.value)return;const i=t.getBreakIndexfromInfos(e.value),s=-1!==i?t.classBreakInfos[i]:null;return he(s?.symbol??t.defaultSymbol??null)}_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(ze(i)&&(l=i.normalizationField,r="percent-of-total"===i.normalizationType),s="function"==typeof s?null:s,l="function"==typeof l?null:l,Te(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=D(t,{checkFeatureReduction:!0});if(i)return i.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;const o="featureReduction"in t&&t.featureReduction;o&&(r??="popupTemplate"in o?o.popupTemplate?.fieldInfos?.find(t=>e?.toLowerCase()===t.fieldName?.toLowerCase()):void 0,"fields"in o&&o.fields&&(a=o.fields.find(t=>t.name?.toLowerCase()===e?.toLowerCase())));const u=r||n||a;let c=null;return u&&(c=r?.label||n?.alias||a?.alias||"name"in u&&u.name||"fieldName"in u&&u.fieldName||null),c}_isUnclassedRenderer(e){const t=e.visualVariables;let i=!1;return ze(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([w()],ut.prototype,"_loading",void 0),e([w()],ut.prototype,"children",void 0),e([w({readOnly:!0})],ut.prototype,"cssEffectFilter",null),e([w()],ut.prototype,"hideLayersNotInCurrentView",void 0),e([w({readOnly:!0})],ut.prototype,"isScaleDriven",null),e([w()],ut.prototype,"keepCacheOnDestroy",void 0),e([w()],ut.prototype,"layer",void 0),e([w()],ut.prototype,"layerView",void 0),e([w()],ut.prototype,"legendElements",void 0),e([w({readOnly:!0})],ut.prototype,"loading",null),e([w({readOnly:!0})],ut.prototype,"opacity",null),e([w()],ut.prototype,"parent",void 0),e([w({readOnly:!0})],ut.prototype,"ready",null),e([w()],ut.prototype,"respectLayerDefinitionExpression",void 0),e([w()],ut.prototype,"respectLayerVisibility",void 0),e([w({readOnly:!0})],ut.prototype,"scale",null),e([w()],ut.prototype,"sublayerIds",void 0),e([w()],ut.prototype,"title",void 0),e([w({readOnly:!0,value:0})],ut.prototype,"version",null),e([w()],ut.prototype,"view",void 0),ut=e([v("esri.legend.ActiveLayerInfo")],ut);const ct=ut;export{ct as default};
@@ -0,0 +1,118 @@
1
+ import type Accessor from "../core/Accessor.js";
2
+ import type Collection from "../core/Collection.js";
3
+ import type ActiveLayerInfo from "./ActiveLayerInfo.js";
4
+ import type LinkChartView from "../views/LinkChartView.js";
5
+ import type { LayerInfo, LegendContentState } from "./types.js";
6
+ import type { MapViewOrSceneView } from "../views/MapViewOrSceneView.js";
7
+ import type { ActiveLayerInfoProperties } from "./ActiveLayerInfo.js";
8
+ import type { ReadonlyArrayOrCollection } from "../core/Collection.js";
9
+
10
+ export interface LegendContentProperties extends Partial<Pick<LegendContent, "basemapLegendVisible" | "groundLegendVisible" | "hideLayersNotInCurrentView" | "keepCacheOnDestroy" | "layerInfos" | "respectLayerDefinitionExpression" | "respectLayerVisibility" | "view">> {
11
+ /**
12
+ * Collection of [ActiveLayerInfo](https://developers.arcgis.com/javascript/latest/references/core/legend/ActiveLayerInfo/) objects used by the legend view to
13
+ * display data in the legend. Use this property to hide or display the layer's symbols in the legend when
14
+ * an [ActiveLayerInfo](https://developers.arcgis.com/javascript/latest/references/core/legend/ActiveLayerInfo/) is removed from or added to this collection.
15
+ */
16
+ activeLayerInfos?: ReadonlyArrayOrCollection<ActiveLayerInfoProperties>;
17
+ }
18
+
19
+ /**
20
+ * Manages the reactive content displayed by the [Legend component](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-legend/)
21
+ * and by custom legends. It tracks supported layer views, maintains the hierarchy of
22
+ * [ActiveLayerInfo](https://developers.arcgis.com/javascript/latest/references/core/legend/ActiveLayerInfo/) objects, and coordinates legend element generation as the view changes.
23
+ *
24
+ * @since 5.2
25
+ * @example
26
+ * const legendContent = new LegendContent({
27
+ * view,
28
+ * layerInfos: [{ layer: map.allLayers.getItemAt(0) }],
29
+ * });
30
+ */
31
+ export default class LegendContent extends Accessor {
32
+ constructor(properties?: LegendContentProperties);
33
+ /**
34
+ * Collection of [ActiveLayerInfo](https://developers.arcgis.com/javascript/latest/references/core/legend/ActiveLayerInfo/) objects used by the legend view to
35
+ * display data in the legend. Use this property to hide or display the layer's symbols in the legend when
36
+ * an [ActiveLayerInfo](https://developers.arcgis.com/javascript/latest/references/core/legend/ActiveLayerInfo/) is removed from or added to this collection.
37
+ */
38
+ get activeLayerInfos(): Collection<ActiveLayerInfo>;
39
+ set activeLayerInfos(value: ReadonlyArrayOrCollection<ActiveLayerInfoProperties>);
40
+ /**
41
+ * Indicates whether to show the [Basemap](https://developers.arcgis.com/javascript/latest/references/core/Basemap/) layers in the legend.
42
+ *
43
+ * @default false
44
+ */
45
+ accessor basemapLegendVisible: boolean;
46
+ /**
47
+ * Indicates whether to include [Ground](https://developers.arcgis.com/javascript/latest/references/core/Ground/) layers in the legend.
48
+ *
49
+ * @default false
50
+ */
51
+ accessor groundLegendVisible: boolean;
52
+ /**
53
+ * When `true`, layers will only be shown in the legend if
54
+ * they are visible in the view's extent. When data from a layer
55
+ * is not visible in the view, the layer's legend information
56
+ * will be hidden.
57
+ *
58
+ * To hide layers completely
59
+ * from the legend, you should set the `legendEnabled` property of
60
+ * the layer to `false`.
61
+ *
62
+ * @default false
63
+ * @see [respectLayerVisibility](https://developers.arcgis.com/javascript/latest/references/core/legend/LegendContent/#respectLayerVisibility)
64
+ */
65
+ accessor hideLayersNotInCurrentView: boolean;
66
+ /**
67
+ * Indicates whether cached legend responses should be preserved when active layer info objects are destroyed.
68
+ * Preserving the cache can avoid repeating legend requests when rebuilding legend content.
69
+ *
70
+ * @default false
71
+ */
72
+ accessor keepCacheOnDestroy: boolean;
73
+ /**
74
+ * Defines which layers and sublayers are shown in the legend, including any [basemap layers](https://developers.arcgis.com/javascript/latest/references/core/legend/LegendContent/#basemapLegendVisible) you want visible.
75
+ * If not set, all layers in the map are displayed in the legend by default, including basemap layers when
76
+ * [basemapLegendVisible](https://developers.arcgis.com/javascript/latest/references/core/legend/LegendContent/#basemapLegendVisible) is `true`.
77
+ */
78
+ accessor layerInfos: LayerInfo[];
79
+ /** Indicates whether one or more active layer info objects are currently generating legend elements. */
80
+ get loading(): boolean;
81
+ /**
82
+ * If a layer uses a unique value renderer, only features that satisfy the layer's
83
+ * [definition expression](https://developers.arcgis.com/javascript/latest/references/core/layers/mixins/FeatureLayerBase/#definitionExpression)
84
+ * will be displayed in the legend when set to true.
85
+ *
86
+ * @default false
87
+ * @see [FeatureLayerBase.definitionExpression](https://developers.arcgis.com/javascript/latest/references/core/layers/mixins/FeatureLayerBase/#definitionExpression)
88
+ */
89
+ accessor respectLayerDefinitionExpression: boolean;
90
+ /**
91
+ * Determines whether to respect the properties of the layers in the map that
92
+ * control the legend's visibility (`minScale`, `maxScale`, `legendEnabled`).
93
+ * By default, a layer's legend elements **will
94
+ * not render** in the legend given the following conditions:
95
+ *
96
+ * - The [FeatureLayer.legendEnabled](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/#legendEnabled) property
97
+ * is set to `false`.
98
+ * - If the view's scale is outside the visibility range
99
+ * defined by the [ScaleRangeLayer.minScale](https://developers.arcgis.com/javascript/latest/references/core/layers/mixins/ScaleRangeLayer/#minScale) and
100
+ * [ScaleRangeLayer.maxScale](https://developers.arcgis.com/javascript/latest/references/core/layers/mixins/ScaleRangeLayer/#maxScale) properties.
101
+ *
102
+ * When the `respectLayerVisibility` property of the legend is set to `false`, the legend elements for each
103
+ * layer in the map will always display, thus disregarding the `minScale`, `maxScale`,
104
+ * and `legendEnabled` properties for each layer in the map.
105
+ *
106
+ * @default true
107
+ * @see [hideLayersNotInCurrentView](https://developers.arcgis.com/javascript/latest/references/core/legend/LegendContent/#hideLayersNotInCurrentView)
108
+ */
109
+ accessor respectLayerVisibility: boolean;
110
+ /**
111
+ * The current state of the legend content.
112
+ *
113
+ * @default "disabled"
114
+ */
115
+ get state(): LegendContentState;
116
+ /** The map, scene, or link chart view whose layer views supply the legend content. */
117
+ accessor view: MapViewOrSceneView | LinkChartView | null | undefined;
118
+ }