@arcgis/core 5.0.0-next.83 → 5.0.0-next.85

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 (914) hide show
  1. package/WebDocument2D.d.ts +3 -2
  2. package/WebDocument2D.js +1 -1
  3. package/WebScene.d.ts +3 -2
  4. package/WebScene.js +1 -1
  5. package/applications/Components/applySetUtils.d.ts +237 -0
  6. package/applications/Components/applySetUtils.js +5 -0
  7. package/applications/Components/editUtils.d.ts +92 -0
  8. package/applications/Components/editUtils.js +5 -0
  9. package/applications/Components/symbolUtils.d.ts +37 -0
  10. package/applications/Components/symbolUtils.js +5 -0
  11. package/applications/Components/templateUtils.d.ts +106 -0
  12. package/applications/Components/templateUtils.js +5 -0
  13. package/applications/SceneViewer/layerUtils.d.ts +3 -2
  14. package/applications/SceneViewer/layerUtils.js +1 -1
  15. package/assets/esri/core/workers/RemoteClient.js +1 -1
  16. package/assets/esri/core/workers/chunks/001fd3d30e5bb0d180c6.js +1 -0
  17. package/assets/esri/core/workers/chunks/0057d3a9522188090536.js +1 -0
  18. package/assets/esri/core/workers/chunks/008a555ce169640e2a35.js +2 -0
  19. package/assets/esri/core/workers/chunks/{f25bebd2b6eb0d0f6626.js.LICENSE.txt → 008a555ce169640e2a35.js.LICENSE.txt} +1 -1
  20. package/assets/esri/core/workers/chunks/00e135dc1b4cb024973d.js +1 -0
  21. package/assets/esri/core/workers/chunks/03da31c7635d077e8d99.js +1 -0
  22. package/assets/esri/core/workers/chunks/0402b7996940ba0f8cc8.js +2 -0
  23. package/assets/esri/core/workers/chunks/{73c416ae0ec5a1815591.js.LICENSE.txt → 0402b7996940ba0f8cc8.js.LICENSE.txt} +1 -1
  24. package/assets/esri/core/workers/chunks/04fddd41a8e6a4c1bc57.js +1 -0
  25. package/assets/esri/core/workers/chunks/055aead7135a2f8bca29.js +1 -0
  26. package/assets/esri/core/workers/chunks/05a75878baca3a04fee9.js +1 -0
  27. package/assets/esri/core/workers/chunks/05aa22778a85624cfa55.js +1 -0
  28. package/assets/esri/core/workers/chunks/06493efc57cbfbda050a.js +1 -0
  29. package/assets/esri/core/workers/chunks/0674ae3741bc99325879.js +1 -0
  30. package/assets/esri/core/workers/chunks/07c5a9e8f48b3c806ac7.js +1 -0
  31. package/assets/esri/core/workers/chunks/0889e3d1a034be031c9e.js +2 -0
  32. package/assets/esri/core/workers/chunks/{43e2c1d72cd9c8beed2f.js.LICENSE.txt → 0889e3d1a034be031c9e.js.LICENSE.txt} +1 -1
  33. package/assets/esri/core/workers/chunks/0abb084b8a137f4fcdfc.js +1 -0
  34. package/assets/esri/core/workers/chunks/0b0545538ce355cace52.js +1 -0
  35. package/assets/esri/core/workers/chunks/0c13591347d51d684561.js +1 -0
  36. package/assets/esri/core/workers/chunks/0e7daf348c3e4681dd44.js +1 -0
  37. package/assets/esri/core/workers/chunks/10a5bf887132821beaf0.js +1 -0
  38. package/assets/esri/core/workers/chunks/10b32aff749d3459ddcd.js +1 -0
  39. package/assets/esri/core/workers/chunks/114aecdbd2bd92b24de2.js +1 -0
  40. package/assets/esri/core/workers/chunks/14f8215ab716c6d9d5f8.js +1 -0
  41. package/assets/esri/core/workers/chunks/156c73a948bde11f0d53.js +1 -0
  42. package/assets/esri/core/workers/chunks/165cf8031af160c99d70.js +1 -0
  43. package/assets/esri/core/workers/chunks/1779e6eabc299831fc9f.js +1 -0
  44. package/assets/esri/core/workers/chunks/181fab86394f1f912490.js +1 -0
  45. package/assets/esri/core/workers/chunks/185c97bc63ce546995ce.js +1 -0
  46. package/assets/esri/core/workers/chunks/18cdd268fc921ffd92e2.js +1 -0
  47. package/assets/esri/core/workers/chunks/1a13b472e0cf9f88e8de.js +1 -0
  48. package/assets/esri/core/workers/chunks/1a41c9127ca5a260d5ef.js +1 -0
  49. package/assets/esri/core/workers/chunks/1a62c456e791c82050fe.js +1 -0
  50. package/assets/esri/core/workers/chunks/1c05906d1b5b92441c9b.js +1 -0
  51. package/assets/esri/core/workers/chunks/1cf289446619645487b6.js +1 -0
  52. package/assets/esri/core/workers/chunks/1e318e5cf417c8f13bc7.js +1 -0
  53. package/assets/esri/core/workers/chunks/1eb6f210ae69c317e1f6.js +1 -0
  54. package/assets/esri/core/workers/chunks/1facc1b45345a095b9a7.js +1 -0
  55. package/assets/esri/core/workers/chunks/1fe1a131be1d5e1e23ed.js +1 -0
  56. package/assets/esri/core/workers/chunks/21739c37160061f229ef.js +1 -0
  57. package/assets/esri/core/workers/chunks/22b1543b1a39db9acfc3.js +1 -0
  58. package/assets/esri/core/workers/chunks/249bc4abaa6482aaf288.js +1 -0
  59. package/assets/esri/core/workers/chunks/25a9ae17dc2ef44a4481.js +1 -0
  60. package/assets/esri/core/workers/chunks/25dead73dfc5a4c19285.js +1 -0
  61. package/assets/esri/core/workers/chunks/2767b69085c9f7a1e1af.js +1 -0
  62. package/assets/esri/core/workers/chunks/286a45e9aec0b2bf32ef.js +1 -0
  63. package/assets/esri/core/workers/chunks/289681e94e93dc1d3512.js +1 -0
  64. package/assets/esri/core/workers/chunks/2a81f08de9d642485669.js +1 -0
  65. package/assets/esri/core/workers/chunks/2b2283f1ee4bfc1baa18.js +1 -0
  66. package/assets/esri/core/workers/chunks/2bb82ae3ada57c066fdf.js +1 -0
  67. package/assets/esri/core/workers/chunks/2bdd28b4b5ef2c1e111f.js +1 -0
  68. package/assets/esri/core/workers/chunks/2c8b4d54ecf6ea2fecb1.js +1 -0
  69. package/assets/esri/core/workers/chunks/2ce845c990bb4d701362.js +1 -0
  70. package/assets/esri/core/workers/chunks/2f20cca2c5c058afc9af.js +1 -0
  71. package/assets/esri/core/workers/chunks/301fa6276f4098521106.js +1 -0
  72. package/assets/esri/core/workers/chunks/304ea784c28dc78e5e65.js +1 -0
  73. package/assets/esri/core/workers/chunks/3087910d19959fdc546b.js +1 -0
  74. package/assets/esri/core/workers/chunks/30cfa41017c2d434a89f.js +1 -0
  75. package/assets/esri/core/workers/chunks/33257fbd724ae188e259.js +1 -0
  76. package/assets/esri/core/workers/chunks/338768f94cc49559b209.js +1 -0
  77. package/assets/esri/core/workers/chunks/34073c8e4fc825f060f1.js +1 -0
  78. package/assets/esri/core/workers/chunks/34503f9b26c81e631174.js +1 -0
  79. package/assets/esri/core/workers/chunks/348560f083350ad0bf2e.js +1 -0
  80. package/assets/esri/core/workers/chunks/3606fc5537c4d11b9554.js +1 -0
  81. package/assets/esri/core/workers/chunks/3628e82707e7720c9e4c.js +1 -0
  82. package/assets/esri/core/workers/chunks/36b053decb87c9d32cd2.js +1 -0
  83. package/assets/esri/core/workers/chunks/37f5687dc1147b0a7bc1.js +1 -0
  84. package/assets/esri/core/workers/chunks/380a9b6d75992d6311c3.js +1 -0
  85. package/assets/esri/core/workers/chunks/3849dc35941e569fae5f.js +1 -0
  86. package/assets/esri/core/workers/chunks/388bd41c305d5a11f739.js +1 -0
  87. package/assets/esri/core/workers/chunks/389e2263a540f819d842.js +1 -0
  88. package/assets/esri/core/workers/chunks/38ca539f33e2d977771c.js +1 -0
  89. package/assets/esri/core/workers/chunks/39e1b04444389d2987be.js +1 -0
  90. package/assets/esri/core/workers/chunks/3ad7ec46adecf00ae1c2.js +1 -0
  91. package/assets/esri/core/workers/chunks/3aeb3e8220e7d9869652.js +1 -0
  92. package/assets/esri/core/workers/chunks/3afc221b3a9e209cceea.js +1 -0
  93. package/assets/esri/core/workers/chunks/3b67aa46a60e35469bf8.js +1 -0
  94. package/assets/esri/core/workers/chunks/3b6fc34b6d92eef030e5.js +1 -0
  95. package/assets/esri/core/workers/chunks/3bb28b59614fc36b2c50.js +1 -0
  96. package/assets/esri/core/workers/chunks/3eeaec74871e20b433d2.js +1 -0
  97. package/assets/esri/core/workers/chunks/418a778a4cbbb9dabecd.js +1 -0
  98. package/assets/esri/core/workers/chunks/42444285fd79a8d8e564.js +1 -0
  99. package/assets/esri/core/workers/chunks/428ca5900d882d7be499.js +1 -0
  100. package/assets/esri/core/workers/chunks/436c15ac34a205a13a37.js +1 -0
  101. package/assets/esri/core/workers/chunks/43e9eaedf65921b58eb2.js +1 -0
  102. package/assets/esri/core/workers/chunks/4487cf21fa9f0466450d.js +1 -0
  103. package/assets/esri/core/workers/chunks/45dbdf2ff95f7be1eb88.js +1 -0
  104. package/assets/esri/core/workers/chunks/4756f0dbbda129c760b1.js +1 -0
  105. package/assets/esri/core/workers/chunks/4a0760571ce536fbd8c8.js +1 -0
  106. package/assets/esri/core/workers/chunks/4b09d92c51c4619b548a.js +1 -0
  107. package/assets/esri/core/workers/chunks/4b24f72b56edc28bb15e.js +1 -0
  108. package/assets/esri/core/workers/chunks/4bb0c3b009493ea44632.js +1 -0
  109. package/assets/esri/core/workers/chunks/{f25bebd2b6eb0d0f6626.js → 4c07b2d1a14906371fc5.js} +2 -2
  110. package/assets/esri/core/workers/chunks/{6be530ab81291745485b.js.LICENSE.txt → 4c07b2d1a14906371fc5.js.LICENSE.txt} +1 -1
  111. package/assets/esri/core/workers/chunks/4c0e0beb1534d81ff648.js +1 -0
  112. package/assets/esri/core/workers/chunks/4c54cb80c4dc9bbbd395.js +1 -0
  113. package/assets/esri/core/workers/chunks/4caec60ac0a5851730c6.js +1 -0
  114. package/assets/esri/core/workers/chunks/4db259316b193fcc4541.js +1 -0
  115. package/assets/esri/core/workers/chunks/4f132d758f8b4795c43f.js +1 -0
  116. package/assets/esri/core/workers/chunks/4f4bdf9f5323fa702e6c.js +1 -0
  117. package/assets/esri/core/workers/chunks/4f53071b5eb23d4478c4.js +1 -0
  118. package/assets/esri/core/workers/chunks/4f8895eb57ec6ab4b318.js +1 -0
  119. package/assets/esri/core/workers/chunks/4ff3c03cfbec928c0720.js +1 -0
  120. package/assets/esri/core/workers/chunks/504ab6bf7bfbfd4c4211.js +1 -0
  121. package/assets/esri/core/workers/chunks/5119e3159617b8e1ea13.js +1 -0
  122. package/assets/esri/core/workers/chunks/52684c2abc9e8ce793cf.js +1 -0
  123. package/assets/esri/core/workers/chunks/5298f99c197c8607a690.js +1 -0
  124. package/assets/esri/core/workers/chunks/52ae2073604deef63ea2.js +1 -0
  125. package/assets/esri/core/workers/chunks/532935f420ed5f13c011.js +1 -0
  126. package/assets/esri/core/workers/chunks/5348e4dc55428de9bba7.js +1 -0
  127. package/assets/esri/core/workers/chunks/53a1c6e008287d1f12f0.js +1 -0
  128. package/assets/esri/core/workers/chunks/53d0b870c080236d82d1.js +1 -0
  129. package/assets/esri/core/workers/chunks/5543de9a0435c319f4f9.js +301 -0
  130. package/assets/esri/core/workers/chunks/55bf39611ae6028131a3.js +1 -0
  131. package/assets/esri/core/workers/chunks/5659e221e8805bb81210.js +1 -0
  132. package/assets/esri/core/workers/chunks/568fc92333a9ab1c06e6.js +1 -0
  133. package/assets/esri/core/workers/chunks/56bbd86b804cb2a59031.js +1 -0
  134. package/assets/esri/core/workers/chunks/57a749804da9a2b1fae9.js +1 -0
  135. package/assets/esri/core/workers/chunks/59d3f3fbae775fd7686e.js +1 -0
  136. package/assets/esri/core/workers/chunks/59e7a0215791b2b51180.js +1 -0
  137. package/assets/esri/core/workers/chunks/5a706eecd8a988fae6b7.js +1 -0
  138. package/assets/esri/core/workers/chunks/5b278b9980752ef495a2.js +1 -0
  139. package/assets/esri/core/workers/chunks/5b3bb636e3bec625e515.js +1 -0
  140. package/assets/esri/core/workers/chunks/5ba2bbbb42ef1920579d.js +1 -0
  141. package/assets/esri/core/workers/chunks/5cc731f161012b63c77a.js +1 -0
  142. package/assets/esri/core/workers/chunks/5eee48b02e1683f022df.js +2 -0
  143. package/assets/esri/core/workers/chunks/{0b7bbdc0d71ee6721751.js.LICENSE.txt → 5eee48b02e1683f022df.js.LICENSE.txt} +1 -1
  144. package/assets/esri/core/workers/chunks/5fa8fe6353dbdda0b06a.js +1 -0
  145. package/assets/esri/core/workers/chunks/5fc6cada83bf8462d54c.js +1 -0
  146. package/assets/esri/core/workers/chunks/6107b58457a70c8de9da.js +1 -0
  147. package/assets/esri/core/workers/chunks/63e930e76a181d54786d.js +1 -0
  148. package/assets/esri/core/workers/chunks/63ee7aa1b169dbec1e37.js +1 -0
  149. package/assets/esri/core/workers/chunks/6440d78ed2af2e7265aa.js +1 -0
  150. package/assets/esri/core/workers/chunks/645e086291b04bc036d7.js +1 -0
  151. package/assets/esri/core/workers/chunks/654eef3ad30f34c42e12.js +1 -0
  152. package/assets/esri/core/workers/chunks/681d9a923c0d1ace86e8.js +1 -0
  153. package/assets/esri/core/workers/chunks/68abe4e70ea48e978642.js +1 -0
  154. package/assets/esri/core/workers/chunks/6a083fde0e207625fd0b.js +1 -0
  155. package/assets/esri/core/workers/chunks/6bc7bacf01328ef10ff1.js +1 -0
  156. package/assets/esri/core/workers/chunks/6bcf5d6792e4f09cbc7b.js +1 -0
  157. package/assets/esri/core/workers/chunks/6d7eb784988ee9a33473.js +1 -0
  158. package/assets/esri/core/workers/chunks/6de843d1809cba61ded3.js +1 -0
  159. package/assets/esri/core/workers/chunks/6e04303500a9fbc3f14a.js +1 -0
  160. package/assets/esri/core/workers/chunks/6edcae8ec128c2e86a05.js +1 -0
  161. package/assets/esri/core/workers/chunks/6eeee6e278b5f516d1d2.js +1 -0
  162. package/assets/esri/core/workers/chunks/701775be0dad640a72b4.js +1 -0
  163. package/assets/esri/core/workers/chunks/70df4331ed29d823bf38.js +1 -0
  164. package/assets/esri/core/workers/chunks/7130b09300032d3a5925.js +1 -0
  165. package/assets/esri/core/workers/chunks/72f0e2e5dcddafa2a642.js +1 -0
  166. package/assets/esri/core/workers/chunks/73c87eb9bd8f0f848481.js +1 -0
  167. package/assets/esri/core/workers/chunks/746190bb70aa78ba0bfc.js +1039 -0
  168. package/assets/esri/core/workers/chunks/75d7290c73bb59f2c856.js +1 -0
  169. package/assets/esri/core/workers/chunks/780a1eba9a7f1ca690ce.js +1 -0
  170. package/assets/esri/core/workers/chunks/7815dbf49ef5a06705f3.js +1 -0
  171. package/assets/esri/core/workers/chunks/7892daeed58778453639.js +1 -0
  172. package/assets/esri/core/workers/chunks/7990c828447bc3a29965.js +1 -0
  173. package/assets/esri/core/workers/chunks/799829d0ae17c146196b.js +1 -0
  174. package/assets/esri/core/workers/chunks/7a1ec6ac88d974cc5074.js +1 -0
  175. package/assets/esri/core/workers/chunks/7a31717dafbd820bc2bf.js +1 -0
  176. package/assets/esri/core/workers/chunks/7d76a2245ac973efe1ed.js +1 -0
  177. package/assets/esri/core/workers/chunks/7f76566d9b3801742387.js +1 -0
  178. package/assets/esri/core/workers/chunks/7f7c4ffbdf7b20dc7a54.js +1 -0
  179. package/assets/esri/core/workers/chunks/8008bca4ef04c9424579.js +1 -0
  180. package/assets/esri/core/workers/chunks/815a25a5a8dba7921f8b.js +1 -0
  181. package/assets/esri/core/workers/chunks/8184c34b2c4969f14f3d.js +1 -0
  182. package/assets/esri/core/workers/chunks/81e395a93c67749c6487.js +1 -0
  183. package/assets/esri/core/workers/chunks/8351012ceb466f01b8fd.js +1 -0
  184. package/assets/esri/core/workers/chunks/83ddc0f6bfe68756f26f.js +1 -0
  185. package/assets/esri/core/workers/chunks/841058de8bc6e328fd68.js +1 -0
  186. package/assets/esri/core/workers/chunks/84a4390b1c277c415d44.js +1 -0
  187. package/assets/esri/core/workers/chunks/854adab6a06af861c104.js +1 -0
  188. package/assets/esri/core/workers/chunks/8765fe036d9664c25b1d.js +37 -0
  189. package/assets/esri/core/workers/chunks/88c3b60b403e2454b56e.js +1 -0
  190. package/assets/esri/core/workers/chunks/8a0a13f398ab488dbbe9.js +1 -0
  191. package/assets/esri/core/workers/chunks/8b1fa59d436e2815b2f1.js +2 -0
  192. package/assets/esri/core/workers/chunks/{25f3ee666f545a7a7993.js.LICENSE.txt → 8b1fa59d436e2815b2f1.js.LICENSE.txt} +1 -1
  193. package/assets/esri/core/workers/chunks/8cb13b3776f07536c79f.js +1 -0
  194. package/assets/esri/core/workers/chunks/{51093e552e31344cefa5.js → 8d9ec752136cbc5cb29a.js} +1 -1
  195. package/assets/esri/core/workers/chunks/8deae3a426eceae73186.js +1 -0
  196. package/assets/esri/core/workers/chunks/8f4ca0dfd9635eb10e02.js +1 -0
  197. package/assets/esri/core/workers/chunks/8faa0122d0a6e2e39153.js +1 -0
  198. package/assets/esri/core/workers/chunks/913c417ad278ce1caaf9.js +1 -0
  199. package/assets/esri/core/workers/chunks/9184089e72c24d91d23b.js +1 -0
  200. package/assets/esri/core/workers/chunks/91e307ca0d11804a7a1d.js +2 -0
  201. package/assets/esri/core/workers/chunks/9264cce4699284eae97c.js +2 -0
  202. package/assets/esri/core/workers/chunks/{37002a46f03a9fc5f644.js.LICENSE.txt → 9264cce4699284eae97c.js.LICENSE.txt} +1 -1
  203. package/assets/esri/core/workers/chunks/9279a5361bf6a54784ef.js +1 -0
  204. package/assets/esri/core/workers/chunks/92a42bbb8b9b39f3211c.js +1 -0
  205. package/assets/esri/core/workers/chunks/934ce3f004c54d542d2c.js +1 -0
  206. package/assets/esri/core/workers/chunks/93caf6fb8afab3dd8a46.js +1 -0
  207. package/assets/esri/core/workers/chunks/95e93884b39ca4b312d1.js +2 -0
  208. package/assets/esri/core/workers/chunks/{5b9f2aa3ba1bf12c3240.js.LICENSE.txt → 95e93884b39ca4b312d1.js.LICENSE.txt} +1 -1
  209. package/assets/esri/core/workers/chunks/97148a9966f55e69421e.js +1 -0
  210. package/assets/esri/core/workers/chunks/9748b8c35d56a5ee9c64.js +1 -0
  211. package/assets/esri/core/workers/chunks/97ad3eb25ad003c16148.js +1 -0
  212. package/assets/esri/core/workers/chunks/982e709d2cef971ecd82.js +1 -0
  213. package/assets/esri/core/workers/chunks/98e04c2382fa5ba382fc.js +1 -0
  214. package/assets/esri/core/workers/chunks/9919b3c345785e910c38.js +1 -0
  215. package/assets/esri/core/workers/chunks/9c6d34bb666f630d511f.js +1 -0
  216. package/assets/esri/core/workers/chunks/9cd7205bbc711914d74b.js +1 -0
  217. package/assets/esri/core/workers/chunks/9d17524f5f935b7b60bf.js +1 -0
  218. package/assets/esri/core/workers/chunks/9de8149ae0a0726a4ab2.js +1 -0
  219. package/assets/esri/core/workers/chunks/9fac9eda0a41f7f4c2c6.js +1 -0
  220. package/assets/esri/core/workers/chunks/9ff1e650ce0912afa780.js +1 -0
  221. package/assets/esri/core/workers/chunks/a09099697955eb44bfac.js +1 -0
  222. package/assets/esri/core/workers/chunks/a0d52a819302ed6f401e.js +1 -0
  223. package/assets/esri/core/workers/chunks/a1908b3fa61f02425a94.js +1 -0
  224. package/assets/esri/core/workers/chunks/a2046f85b9964693f053.js +1 -0
  225. package/assets/esri/core/workers/chunks/a24627400b3b9fe8431d.js +1 -0
  226. package/assets/esri/core/workers/chunks/a27c74fd2029583de933.js +1 -0
  227. package/assets/esri/core/workers/chunks/a2c0c1bb5e775abefc90.js +1 -0
  228. package/assets/esri/core/workers/chunks/a3184fb1ac7ce9af1a7e.js +1 -0
  229. package/assets/esri/core/workers/chunks/a4ee92867ad5cde25aed.js +1 -0
  230. package/assets/esri/core/workers/chunks/a56a5e00964d4cd59a66.js +1 -0
  231. package/assets/esri/core/workers/chunks/a774b4fc7df801503bea.js +1 -0
  232. package/assets/esri/core/workers/chunks/a9521578c0e21aaddbc7.js +1 -0
  233. package/assets/esri/core/workers/chunks/a9b30c3b604e314f1706.js +1 -0
  234. package/assets/esri/core/workers/chunks/aa0c648bd37787f62b1f.js +1 -0
  235. package/assets/esri/core/workers/chunks/aa1b8c06bdf8453a02d7.js +1 -0
  236. package/assets/esri/core/workers/chunks/aaac4eee709cd6d24910.js +1 -0
  237. package/assets/esri/core/workers/chunks/aafa33f661462f5afd2b.js +1 -0
  238. package/assets/esri/core/workers/chunks/ab3e457c82fa9bd0203f.js +1 -0
  239. package/assets/esri/core/workers/chunks/ac0949ea3d2cf3eb7383.js +1 -0
  240. package/assets/esri/core/workers/chunks/ac5da65af5da254acb16.js +1 -0
  241. package/assets/esri/core/workers/chunks/adecd31fd64d6753682d.js +1 -0
  242. package/assets/esri/core/workers/chunks/ae5798399607cb043ed2.js +1 -0
  243. package/assets/esri/core/workers/chunks/af3d4eba6fe24db3ceba.js +1 -0
  244. package/assets/esri/core/workers/chunks/b1015e1f25b60c08d2cf.js +1 -0
  245. package/assets/esri/core/workers/chunks/b1085fa91724e2d3b24f.js +1 -0
  246. package/assets/esri/core/workers/chunks/b12dc8fd3f2a2ff8073d.js +1 -0
  247. package/assets/esri/core/workers/chunks/b190a776de4859ac00f8.js +1 -0
  248. package/assets/esri/core/workers/chunks/b1c6a1759febad66927f.js +1 -0
  249. package/assets/esri/core/workers/chunks/b482a24c9567d8926897.js +1 -0
  250. package/assets/esri/core/workers/chunks/b48b0f512a1cd7226bdc.js +1 -0
  251. package/assets/esri/core/workers/chunks/b586d7e608e8ba8b88fe.js +1 -0
  252. package/assets/esri/core/workers/chunks/b599c6d4fa3189ed1762.js +1 -0
  253. package/assets/esri/core/workers/chunks/b6acf67316107902e31d.js +1 -0
  254. package/assets/esri/core/workers/chunks/b7576a5195615c465ea7.js +1 -0
  255. package/assets/esri/core/workers/chunks/b7e40118b4d645e9f8e1.js +1 -0
  256. package/assets/esri/core/workers/chunks/b8005b1996f42dee8237.js +1 -0
  257. package/assets/esri/core/workers/chunks/b91a157fb5f729de6597.js +1 -0
  258. package/assets/esri/core/workers/chunks/b9226dd0342cfd30ece0.js +1 -0
  259. package/assets/esri/core/workers/chunks/b977b9f5f50ae8027443.js +1 -0
  260. package/assets/esri/core/workers/chunks/bab6dee8f4715d05d984.js +1 -0
  261. package/assets/esri/core/workers/chunks/bbb409e54db77bfabdee.js +1 -0
  262. package/assets/esri/core/workers/chunks/bc4f513ea3a8f344c8da.js +1 -0
  263. package/assets/esri/core/workers/chunks/be26f8175a76e7dc8f7a.js +1 -0
  264. package/assets/esri/core/workers/chunks/befedcb6d8d1ff88125f.js +1 -0
  265. package/assets/esri/core/workers/chunks/bf73352b3366de82abbe.js +1 -0
  266. package/assets/esri/core/workers/chunks/c0265669fb616f052b65.js +1 -0
  267. package/assets/esri/core/workers/chunks/c133e57f2201b9bc6cbc.js +1 -0
  268. package/assets/esri/core/workers/chunks/c18a2948ae3cb527d8bb.js +1 -0
  269. package/assets/esri/core/workers/chunks/c2d7b32f0c8eb965fcf7.js +1 -0
  270. package/assets/esri/core/workers/chunks/c45a5bcf26659daf02a1.js +1 -0
  271. package/assets/esri/core/workers/chunks/c46a4681cbba638b58c1.js +1 -0
  272. package/assets/esri/core/workers/chunks/c477b0ce55211339c4cb.js +1 -0
  273. package/assets/esri/core/workers/chunks/c500b59cd7da54fe72ec.js +1 -0
  274. package/assets/esri/core/workers/chunks/c5c1b189b91e199e8b82.js +1 -0
  275. package/assets/esri/core/workers/chunks/c65a138c14a4c540cd3b.js +1 -0
  276. package/assets/esri/core/workers/chunks/c66a9477e1c30a5ca03f.js +1 -0
  277. package/assets/esri/core/workers/chunks/{d79d29b52a65fb6bf94d.js → c71fe727224da0aba6ca.js} +1 -1
  278. package/assets/esri/core/workers/chunks/c741f7bc5693ae7e5019.js +1 -0
  279. package/assets/esri/core/workers/chunks/c75a41a5c8c5bd40ae91.js +1 -0
  280. package/assets/esri/core/workers/chunks/c791e8ebf3ee0805c479.js +1 -0
  281. package/assets/esri/core/workers/chunks/c825ca22894bdb4d01ba.js +1 -0
  282. package/assets/esri/core/workers/chunks/c8f1075c45ecf9fef00f.js +1 -0
  283. package/assets/esri/core/workers/chunks/ca06811e636f1d96f3cb.js +1 -0
  284. package/assets/esri/core/workers/chunks/cb66a74448a6c0c20d5d.js +1 -0
  285. package/assets/esri/core/workers/chunks/cbab45550b06bcc38524.js +1 -0
  286. package/assets/esri/core/workers/chunks/cc2606b8e600eeaf4bc8.js +1 -0
  287. package/assets/esri/core/workers/chunks/cdf711afbaaf345101f0.js +1 -0
  288. package/assets/esri/core/workers/chunks/ce87a6e24e9c64d90da3.js +1 -0
  289. package/assets/esri/core/workers/chunks/ce9467dc1ff695d795e5.js +1 -0
  290. package/assets/esri/core/workers/chunks/d0c831a473642d1bd9d1.js +1 -0
  291. package/assets/esri/core/workers/chunks/d0d6f818851d9a2d7938.js +1 -0
  292. package/assets/esri/core/workers/chunks/d1dd1787b3bf27834a9e.js +1 -0
  293. package/assets/esri/core/workers/chunks/d28169816c768d55aa09.js +1 -0
  294. package/assets/esri/core/workers/chunks/d2d4bce67c711a404b73.js +1 -0
  295. package/assets/esri/core/workers/chunks/d31f62ecbb54bffc54f2.js +1 -0
  296. package/assets/esri/core/workers/chunks/d37f03714c9591fb2b06.js +1 -0
  297. package/assets/esri/core/workers/chunks/d3c69c9cb3d9c3f5c67a.js +1 -0
  298. package/assets/esri/core/workers/chunks/d436e1694f4b5bf05a90.js +1 -0
  299. package/assets/esri/core/workers/chunks/d4770dddfbfdc3845749.js +1 -0
  300. package/assets/esri/core/workers/chunks/d477def8bfd8482596d1.js +1 -0
  301. package/assets/esri/core/workers/chunks/d4c4dad52da5dcf4432c.js +1 -0
  302. package/assets/esri/core/workers/chunks/d4f4c0201d8b641709c0.js +1 -0
  303. package/assets/esri/core/workers/chunks/d525b3fa719a688d4899.js +1 -0
  304. package/assets/esri/core/workers/chunks/d6e11f05db698d14f21d.js +1 -0
  305. package/assets/esri/core/workers/chunks/d7c275717a2405b6ff87.js +1 -0
  306. package/assets/esri/core/workers/chunks/d9d2178d436597b1afaf.js +1 -0
  307. package/assets/esri/core/workers/chunks/da808dfb22c6de29e560.js +1 -0
  308. package/assets/esri/core/workers/chunks/db9a9712038df76e3eda.js +1 -0
  309. package/assets/esri/core/workers/chunks/dd0e65b18c634b64582e.js +1 -0
  310. package/assets/esri/core/workers/chunks/dd30c1f5da0af72becd1.js +1 -0
  311. package/assets/esri/core/workers/chunks/de216922b36267ab4aa1.js +1 -0
  312. package/assets/esri/core/workers/chunks/de6b3f80070abdd61d0f.js +1 -0
  313. package/assets/esri/core/workers/chunks/dea2e8caaf6e53ec56f8.js +1 -0
  314. package/assets/esri/core/workers/chunks/ded589862c22ea12d47a.js +1 -0
  315. package/assets/esri/core/workers/chunks/dedd9d47ccc019ffc484.js +1 -0
  316. package/assets/esri/core/workers/chunks/dfef6e3d7bbf099de498.js +1 -0
  317. package/assets/esri/core/workers/chunks/e1b677a135e164a29605.js +1 -0
  318. package/assets/esri/core/workers/chunks/e201bfe3158c025edc99.js +1 -0
  319. package/assets/esri/core/workers/chunks/e337b8d69d89f597cb58.js +1 -0
  320. package/assets/esri/core/workers/chunks/e370d213c307ad8bfaec.js +1 -0
  321. package/assets/esri/core/workers/chunks/e3a73d9acebccd3ba49b.js +1 -0
  322. package/assets/esri/core/workers/chunks/e43c6058c793d43fa5f3.js +1 -0
  323. package/assets/esri/core/workers/chunks/e462b167841fddaa80b8.js +1 -0
  324. package/assets/esri/core/workers/chunks/e51e35b5cef89b0e0db1.js +1 -0
  325. package/assets/esri/core/workers/chunks/e58ec49a5cd852cb46cb.js +1 -0
  326. package/assets/esri/core/workers/chunks/e7d28ebf684db4ecb8cb.js +1 -0
  327. package/assets/esri/core/workers/chunks/e8f6305744f87bbed961.js +1 -0
  328. package/assets/esri/core/workers/chunks/e9f8115c049f168d3c2b.js +1 -0
  329. package/assets/esri/core/workers/chunks/ea32a8478f3ccb19aced.js +1 -0
  330. package/assets/esri/core/workers/chunks/ea734de7d5271c487171.js +1 -0
  331. package/assets/esri/core/workers/chunks/eb765db525f4e2e2bda2.js +1 -0
  332. package/assets/esri/core/workers/chunks/ebbcd6196ef5c5ab233d.js +1 -0
  333. package/assets/esri/core/workers/chunks/ec00fa313794f177d9d3.js +1 -0
  334. package/assets/esri/core/workers/chunks/ec03d59984782529031a.js +1 -0
  335. package/assets/esri/core/workers/chunks/ec7f4e459c7466805f72.js +1 -0
  336. package/assets/esri/core/workers/chunks/ecf7d34b37ce6f0877af.js +1 -0
  337. package/assets/esri/core/workers/chunks/ed1c92a24a167e57e36e.js +1 -0
  338. package/assets/esri/core/workers/chunks/ed69b19366e3ce5805ac.js +1 -0
  339. package/assets/esri/core/workers/chunks/ee25d1eae52c8be82898.js +1 -0
  340. package/assets/esri/core/workers/chunks/ee905e24320241959965.js +1 -0
  341. package/assets/esri/core/workers/chunks/eea91681bae00819a5e9.js +1 -0
  342. package/assets/esri/core/workers/chunks/eed24607e9b5312b417f.js +1 -0
  343. package/assets/esri/core/workers/chunks/f0eb2bfe5a8607b251f5.js +1 -0
  344. package/assets/esri/core/workers/chunks/f370e60dc81d41368e0c.js +1 -0
  345. package/assets/esri/core/workers/chunks/f3fdf9970b3c7acd071d.js +1 -0
  346. package/assets/esri/core/workers/chunks/f40e413c68d99cf54d42.js +1 -0
  347. package/assets/esri/core/workers/chunks/f5b32bc3f7ee911e3c59.js +1 -0
  348. package/assets/esri/core/workers/chunks/f5dbffd5e8b3c16336a1.js +1 -0
  349. package/assets/esri/core/workers/chunks/f5ed6953a9255f0bed6a.js +2 -0
  350. package/assets/esri/core/workers/chunks/{9ccabf8142fb5de4d3e2.js.LICENSE.txt → f5ed6953a9255f0bed6a.js.LICENSE.txt} +1 -1
  351. package/assets/esri/core/workers/chunks/f627017adc9469144507.js +1 -0
  352. package/assets/esri/core/workers/chunks/f7ad285944e0e5164384.js +1 -0
  353. package/assets/esri/core/workers/chunks/f872d34d4236f8bedbd9.js +1 -0
  354. package/assets/esri/core/workers/chunks/f88adc930506ac2d5c90.js +1 -0
  355. package/assets/esri/core/workers/chunks/f890cfa4932955ecd4e7.js +1 -0
  356. package/assets/esri/core/workers/chunks/fd4bd04f85458cad849c.js +1 -0
  357. package/assets/esri/core/workers/chunks/fe98a068536e904ce257.js +1 -0
  358. package/assets/esri/core/workers/chunks/ffa9cc09e82f2e515993.js +1 -0
  359. package/assets/esri/libs/lyr3d/lyr3DMain.wasm +0 -0
  360. package/assets/esri/themes/base/widgets/_Compass.scss +1 -1
  361. package/assets/esri/themes/base/widgets/_Feature.scss +1 -1
  362. package/assets/esri/themes/base/widgets/_Features.scss +1 -1
  363. package/assets/esri/themes/base/widgets/_OrientedImageryViewer.scss +4 -4
  364. package/assets/esri/themes/base/widgets/_Widget.scss +1 -1
  365. package/assets/esri/themes/dark/main.css +1 -1
  366. package/assets/esri/themes/light/main.css +1 -1
  367. package/assets/esri/themes/light/view.css +1 -1
  368. package/chunks/HUDMaterial.glsl.js +1 -1
  369. package/config.js +1 -1
  370. package/copyright.txt +2 -2
  371. package/core/MultiOriginJSONSupport.d.ts +8 -0
  372. package/core/MultiOriginJSONSupport.js +1 -1
  373. package/core/ReadOnlyMultiOriginJSONSupport.d.ts +40 -0
  374. package/core/ReadOnlyMultiOriginJSONSupport.js +1 -1
  375. package/core/WriteableMultiOriginJSONMixin.js +1 -1
  376. package/core/accessorSupport/decorators/subclass.js +1 -1
  377. package/core/accessorSupport/types.d.ts +2 -0
  378. package/editing/sharedTemplates/templateLoader.js +5 -0
  379. package/editing/templateUtils.js +1 -1
  380. package/interfaces.d.ts +6 -0
  381. package/kernel.js +1 -1
  382. package/layers/BingMapsLayer.d.ts +3 -2
  383. package/layers/BingMapsLayer.js +1 -1
  384. package/layers/BuildingSceneLayer.d.ts +3 -2
  385. package/layers/BuildingSceneLayer.js +1 -1
  386. package/layers/CSVLayer.js +1 -1
  387. package/layers/CatalogLayer.d.ts +3 -2
  388. package/layers/CatalogLayer.js +1 -1
  389. package/layers/DimensionLayer.d.ts +3 -2
  390. package/layers/DimensionLayer.js +1 -1
  391. package/layers/ElevationLayer.d.ts +3 -2
  392. package/layers/ElevationLayer.js +1 -1
  393. package/layers/FeatureLayer.d.ts +3 -2
  394. package/layers/FeatureLayer.js +1 -1
  395. package/layers/GaussianSplatLayer.d.ts +3 -2
  396. package/layers/GaussianSplatLayer.js +1 -1
  397. package/layers/GeoJSONLayer.d.ts +3 -2
  398. package/layers/GeoJSONLayer.js +1 -1
  399. package/layers/GeoRSSLayer.d.ts +3 -2
  400. package/layers/GeoRSSLayer.js +1 -1
  401. package/layers/GroupLayer.d.ts +3 -2
  402. package/layers/GroupLayer.js +1 -1
  403. package/layers/ImageryLayer.d.ts +3 -2
  404. package/layers/ImageryLayer.js +1 -1
  405. package/layers/ImageryTileLayer.d.ts +3 -2
  406. package/layers/ImageryTileLayer.js +1 -1
  407. package/layers/IntegratedMesh3DTilesLayer.d.ts +3 -2
  408. package/layers/IntegratedMesh3DTilesLayer.js +1 -1
  409. package/layers/IntegratedMeshLayer.d.ts +3 -2
  410. package/layers/IntegratedMeshLayer.js +1 -1
  411. package/layers/KMLLayer.d.ts +3 -2
  412. package/layers/KMLLayer.js +1 -1
  413. package/layers/KnowledgeGraphLayer.d.ts +3 -2
  414. package/layers/KnowledgeGraphLayer.js +1 -1
  415. package/layers/LineOfSightLayer.d.ts +3 -2
  416. package/layers/LineOfSightLayer.js +1 -1
  417. package/layers/LinkChartLayer.d.ts +3 -2
  418. package/layers/LinkChartLayer.js +1 -1
  419. package/layers/MapImageLayer.d.ts +3 -2
  420. package/layers/MapImageLayer.js +1 -1
  421. package/layers/MapNotesLayer.d.ts +3 -2
  422. package/layers/MapNotesLayer.js +1 -1
  423. package/layers/MediaLayer.d.ts +3 -2
  424. package/layers/MediaLayer.js +1 -1
  425. package/layers/OGCFeatureLayer.d.ts +3 -2
  426. package/layers/OGCFeatureLayer.js +1 -1
  427. package/layers/ParquetLayer.d.ts +3 -2
  428. package/layers/ParquetLayer.js +1 -1
  429. package/layers/PointCloudLayer.d.ts +3 -2
  430. package/layers/PointCloudLayer.js +1 -1
  431. package/layers/RouteLayer.d.ts +3 -2
  432. package/layers/RouteLayer.js +1 -1
  433. package/layers/SceneLayer.d.ts +6 -2
  434. package/layers/SceneLayer.js +1 -1
  435. package/layers/StreamLayer.d.ts +3 -2
  436. package/layers/StreamLayer.js +1 -1
  437. package/layers/SubtypeGroupLayer.d.ts +3 -2
  438. package/layers/SubtypeGroupLayer.js +1 -1
  439. package/layers/TileLayer.d.ts +3 -2
  440. package/layers/TileLayer.js +1 -1
  441. package/layers/UnknownLayer.d.ts +3 -2
  442. package/layers/UnknownLayer.js +1 -1
  443. package/layers/UnsupportedLayer.d.ts +3 -2
  444. package/layers/UnsupportedLayer.js +1 -1
  445. package/layers/VectorTileLayer.d.ts +3 -2
  446. package/layers/VectorTileLayer.js +1 -1
  447. package/layers/VideoLayer.d.ts +3 -2
  448. package/layers/VideoLayer.js +1 -1
  449. package/layers/ViewshedLayer.d.ts +3 -2
  450. package/layers/ViewshedLayer.js +1 -1
  451. package/layers/VoxelLayer.d.ts +3 -2
  452. package/layers/VoxelLayer.js +1 -1
  453. package/layers/WCSLayer.d.ts +3 -2
  454. package/layers/WCSLayer.js +1 -1
  455. package/layers/WFSLayer.d.ts +3 -2
  456. package/layers/WFSLayer.js +1 -1
  457. package/layers/WMSLayer.d.ts +3 -2
  458. package/layers/WMSLayer.js +1 -1
  459. package/layers/WMTSLayer.d.ts +3 -2
  460. package/layers/WMTSLayer.js +1 -1
  461. package/layers/WebTileLayer.d.ts +3 -2
  462. package/layers/WebTileLayer.js +1 -1
  463. package/layers/buildingSublayers/BuildingSublayer.d.ts +3 -2
  464. package/layers/buildingSublayers/BuildingSublayer.js +1 -1
  465. package/layers/catalog/CatalogDynamicGroupLayer.d.ts +3 -2
  466. package/layers/catalog/CatalogDynamicGroupLayer.js +1 -1
  467. package/layers/catalog/CatalogFootprintLayer.d.ts +3 -2
  468. package/layers/catalog/CatalogFootprintLayer.js +1 -1
  469. package/layers/knowledgeGraph/KnowledgeGraphSublayer.d.ts +3 -2
  470. package/layers/knowledgeGraph/KnowledgeGraphSublayer.js +1 -1
  471. package/layers/media/types.d.ts +31 -5
  472. package/layers/mixins/ImageryTileMixin.js +1 -1
  473. package/layers/raster/datasets/FunctionRaster.js +1 -1
  474. package/layers/raster/functions/BaseRasterFunction.js +1 -1
  475. package/layers/raster/functions/StretchFunction.js +1 -1
  476. package/layers/raster/functions/rasterProjectionHelper.js +1 -1
  477. package/layers/support/ElevationQuery.js +1 -1
  478. package/layers/support/MediaElementBase.d.ts +5 -3
  479. package/layers/support/MediaElementBase.js +1 -1
  480. package/layers/support/RasterJobHandler.js +1 -1
  481. package/layers/support/RasterWorker.js +1 -1
  482. package/layers/support/Sublayer.d.ts +3 -2
  483. package/layers/support/Sublayer.js +1 -1
  484. package/layers/support/SubtypeSublayer.d.ts +3 -2
  485. package/layers/support/SubtypeSublayer.js +1 -1
  486. package/layers/support/WMSSublayer.d.ts +3 -2
  487. package/layers/support/WMSSublayer.js +1 -1
  488. package/layers/support/layerOriginUtils.js +1 -1
  489. package/linkChart/LinkChartProperties.d.ts +5 -3
  490. package/linkChart/LinkChartProperties.js +1 -1
  491. package/networks/CircuitManager.d.ts +1 -1
  492. package/networks/Network.d.ts +4 -2
  493. package/networks/Network.js +1 -1
  494. package/networks/support/NamedTraceConfiguration.d.ts +5 -3
  495. package/networks/support/NamedTraceConfiguration.js +1 -1
  496. package/networks/support/jsonTypes.d.ts +65 -0
  497. package/package.json +3 -3
  498. package/rest/featureService/types.d.ts +42 -5
  499. package/rest/networks/circuits/exportCircuits.js +1 -1
  500. package/rest/networks/circuits/support/ExportCircuitsParameters.d.ts +10 -2
  501. package/rest/networks/circuits/support/ExportCircuitsParameters.js +1 -1
  502. package/rest/support/Query.d.ts +12 -1
  503. package/support/revision.js +1 -1
  504. package/symbols/support/symbolUtils.js +1 -1
  505. package/views/2d/engine/BitmapTileContainer.js +1 -1
  506. package/views/2d/engine/DisplayObject.js +1 -1
  507. package/views/2d/engine/Stage.js +1 -1
  508. package/views/2d/engine/imagery/RasterTileContainer.js +1 -1
  509. package/views/2d/engine/imagery/RasterVFTileContainer.js +1 -1
  510. package/views/2d/engine/vectorTiles/VectorTileContainer.js +1 -1
  511. package/views/2d/engine/vectorTiles/decluttering/SymbolDeclutterer.js +1 -1
  512. package/views/2d/engine/vectorTiles/decluttering/SymbolFader.js +1 -1
  513. package/views/2d/engine/webgl/RenderingDevice.js +1 -1
  514. package/views/2d/engine/webgl/TileContainer.js +1 -1
  515. package/views/2d/engine/webgl/collisions/LabelMetric.js +1 -1
  516. package/views/2d/engine/webgl/shaderGraph/techniques/TechniqueProgramCache.js +1 -1
  517. package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueBackground.js +1 -1
  518. package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueFill.js +1 -1
  519. package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueLine.js +1 -1
  520. package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueSymbol.js +1 -1
  521. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  522. package/views/2d/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiles2D.js +1 -1
  523. package/views/2d/layers/TileLayerView2D.js +1 -1
  524. package/views/2d/layers/WMTSLayerView2D.js +1 -1
  525. package/views/2d/layers/features/FeatureContainer.js +1 -1
  526. package/views/2d/layers/features/Processor.js +1 -1
  527. package/views/2d/layers/features/support/Tile.js +1 -1
  528. package/views/2d/layers/imagery/BaseImageryTileSubView2D.js +1 -1
  529. package/views/2d/layers/imagery/ImageryTileView2D.js +1 -1
  530. package/views/2d/layers/imagery/VectorFieldTileView2D.js +1 -1
  531. package/views/2d/layers/support/imageUtils.js +1 -1
  532. package/views/2d/tiling/TileCache.js +1 -1
  533. package/views/2d/tiling/TileInfoView.js +1 -1
  534. package/views/2d/tiling/TileInfoViewPOT.js +1 -1
  535. package/views/3d/FocusAreasView.js +1 -1
  536. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillVisualization.js +1 -1
  537. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementShiftTool.js +1 -1
  538. package/views/3d/camera/intersectionUtils.js +1 -1
  539. package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
  540. package/views/3d/layers/ImageryTileLayerView3D.js +1 -1
  541. package/views/3d/layers/graphics/ElevationQuery.js +1 -1
  542. package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
  543. package/views/3d/layers/graphics/extrudeUtils.js +5 -0
  544. package/views/3d/support/gaussianSplatting/GaussianSplatDataStore.js +1 -1
  545. package/views/3d/support/gaussianSplatting/GaussianSplatFadeHelper.js +1 -1
  546. package/views/3d/webgl-engine/lib/GPUPointOcclusionQuery.js +1 -1
  547. package/views/interactive/snapping/SelfSnappingEngine.js +1 -1
  548. package/views/interactive/snapping/SnappingContext.js +1 -1
  549. package/widgets/Attribution.d.ts +1 -0
  550. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.d.ts +18 -0
  551. package/widgets/BatchAttributeForm.d.ts +2 -0
  552. package/widgets/BatchAttributeForm.js +1 -1
  553. package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
  554. package/widgets/Editor/workflowUtils.js +1 -1
  555. package/widgets/Feature/support/featureUtils.js +1 -1
  556. package/widgets/FeatureForm.js +1 -1
  557. package/widgets/FeatureTable/FeatureTableViewModel.d.ts +43 -4
  558. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  559. package/widgets/FeatureTable/FieldColumn.js +1 -1
  560. package/widgets/FeatureTable/Grid/EditorColumn.js +1 -1
  561. package/widgets/FeatureTable/Grid/types.d.ts +7 -1
  562. package/widgets/FeatureTable/support/FeatureStore.js +1 -1
  563. package/widgets/FeatureTable/support/tableUtils.js +1 -1
  564. package/widgets/FeatureTable.d.ts +43 -4
  565. package/widgets/FeatureTable.js +1 -1
  566. package/widgets/Legend/LegendViewModel.d.ts +6 -0
  567. package/widgets/Legend/styles/card/CardView.d.ts +19 -3
  568. package/widgets/Legend/styles/classic/ClassicView.d.ts +1 -0
  569. package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
  570. package/widgets/Legend.d.ts +15 -0
  571. package/widgets/Search/SearchViewModel.d.ts +5 -0
  572. package/widgets/Search/SearchViewModel.js +1 -1
  573. package/widgets/Search/support/layerSearchUtils.js +1 -1
  574. package/widgets/Search.js +1 -1
  575. package/widgets/smartMapping/BinaryColorSizeSlider.js +1 -1
  576. package/widgets/smartMapping/ClassedColorSlider.js +1 -1
  577. package/widgets/smartMapping/ClassedSizeSlider.d.ts +1 -1
  578. package/widgets/smartMapping/ClassedSizeSlider.js +1 -1
  579. package/widgets/smartMapping/ColorSizeSlider.js +1 -1
  580. package/widgets/smartMapping/ColorSlider.js +1 -1
  581. package/widgets/smartMapping/OpacitySlider.js +1 -1
  582. package/widgets/smartMapping/SizeSlider.js +1 -1
  583. package/assets/esri/core/workers/chunks/00c77f03dd511c6dbff2.js +0 -1
  584. package/assets/esri/core/workers/chunks/015492d609c28077d66c.js +0 -1
  585. package/assets/esri/core/workers/chunks/04176244b0a3539c9681.js +0 -1
  586. package/assets/esri/core/workers/chunks/0429ca6ba562ae29897e.js +0 -1
  587. package/assets/esri/core/workers/chunks/04958494022f82dca473.js +0 -1
  588. package/assets/esri/core/workers/chunks/049c125085028ffdd0dd.js +0 -1
  589. package/assets/esri/core/workers/chunks/05e3bfd07a7a227862fd.js +0 -1
  590. package/assets/esri/core/workers/chunks/095c1b88cdcb91ab837e.js +0 -1
  591. package/assets/esri/core/workers/chunks/09b77f82c22530b44daa.js +0 -1
  592. package/assets/esri/core/workers/chunks/0a39c6dc57bd60d5587e.js +0 -1
  593. package/assets/esri/core/workers/chunks/0b679d5a1bfdbd006d6e.js +0 -1
  594. package/assets/esri/core/workers/chunks/0b7bbdc0d71ee6721751.js +0 -2
  595. package/assets/esri/core/workers/chunks/0d9e1ccc3ba8b5ed3287.js +0 -1
  596. package/assets/esri/core/workers/chunks/0f4e9846d074864b39c2.js +0 -1
  597. package/assets/esri/core/workers/chunks/0fc22ad791d3ec0a9c5e.js +0 -1
  598. package/assets/esri/core/workers/chunks/1037b38aade2a847bf24.js +0 -1
  599. package/assets/esri/core/workers/chunks/108a4ab28b6586e281d9.js +0 -1
  600. package/assets/esri/core/workers/chunks/12f9a55253084a910b2e.js +0 -1
  601. package/assets/esri/core/workers/chunks/13137f35b9ab299d07e3.js +0 -1
  602. package/assets/esri/core/workers/chunks/13839d220e5c62404923.js +0 -1
  603. package/assets/esri/core/workers/chunks/1484a7ef4fcbd748b197.js +0 -1
  604. package/assets/esri/core/workers/chunks/14dedd80fb797303f91f.js +0 -1
  605. package/assets/esri/core/workers/chunks/1694b9154df3eccf602e.js +0 -1
  606. package/assets/esri/core/workers/chunks/16a7edb381621085a631.js +0 -1
  607. package/assets/esri/core/workers/chunks/16cfa7031d6dbf5aa09b.js +0 -1
  608. package/assets/esri/core/workers/chunks/18ab5959ebf8689f8fe8.js +0 -1
  609. package/assets/esri/core/workers/chunks/18b0ce0bc2a9737ffb1b.js +0 -1
  610. package/assets/esri/core/workers/chunks/1a6d2f525dd30d08cf9b.js +0 -1
  611. package/assets/esri/core/workers/chunks/1b284a6f32effe28aafc.js +0 -1
  612. package/assets/esri/core/workers/chunks/1c58bd3275c849d44b13.js +0 -1
  613. package/assets/esri/core/workers/chunks/1c742018eb7dfd5d23e3.js +0 -1
  614. package/assets/esri/core/workers/chunks/1dfa949cc4f4c18ed4cf.js +0 -1
  615. package/assets/esri/core/workers/chunks/1e848d9da1c61a27cf18.js +0 -1
  616. package/assets/esri/core/workers/chunks/20f4c6d8b310ecab97be.js +0 -1
  617. package/assets/esri/core/workers/chunks/218b2b767b40d85fb713.js +0 -1
  618. package/assets/esri/core/workers/chunks/22c115ec003351c7d8ee.js +0 -1
  619. package/assets/esri/core/workers/chunks/23545a9adc75564ecf6e.js +0 -1
  620. package/assets/esri/core/workers/chunks/23cf4cbc389d2b50e968.js +0 -1
  621. package/assets/esri/core/workers/chunks/24527b61c8c216becbc4.js +0 -1
  622. package/assets/esri/core/workers/chunks/24dab877047369de13e2.js +0 -1
  623. package/assets/esri/core/workers/chunks/25f3ee666f545a7a7993.js +0 -2
  624. package/assets/esri/core/workers/chunks/29471e0b3f7296dee096.js +0 -1
  625. package/assets/esri/core/workers/chunks/2b27499fa9de22970b7a.js +0 -1
  626. package/assets/esri/core/workers/chunks/2bd59ece927b5c1c9f80.js +0 -1
  627. package/assets/esri/core/workers/chunks/2c7038a7ffaf75344b02.js +0 -1
  628. package/assets/esri/core/workers/chunks/2d8b8880e6bff4414e95.js +0 -1
  629. package/assets/esri/core/workers/chunks/2dfa7abf2d39fa5a3874.js +0 -1
  630. package/assets/esri/core/workers/chunks/2e6ae1ca07df442fc966.js +0 -1
  631. package/assets/esri/core/workers/chunks/2e6bd743b88e83d43137.js +0 -1
  632. package/assets/esri/core/workers/chunks/3001568a99fdd14aada9.js +0 -1
  633. package/assets/esri/core/workers/chunks/30dd4a7c93b33988a270.js +0 -1
  634. package/assets/esri/core/workers/chunks/312b3cc1c91d5b419faf.js +0 -1
  635. package/assets/esri/core/workers/chunks/31fa3dd983e9e73fcb65.js +0 -1
  636. package/assets/esri/core/workers/chunks/33a13e80badd20ed8de2.js +0 -1
  637. package/assets/esri/core/workers/chunks/355c8d0eadfff9f62dfb.js +0 -1
  638. package/assets/esri/core/workers/chunks/35c98ea99000f411175f.js +0 -1
  639. package/assets/esri/core/workers/chunks/35e1d0cfc3c5a484422f.js +0 -1
  640. package/assets/esri/core/workers/chunks/360f263f32aa2342a897.js +0 -1
  641. package/assets/esri/core/workers/chunks/369f37060608342a4262.js +0 -1
  642. package/assets/esri/core/workers/chunks/36ecf951c0c7dad84b69.js +0 -1
  643. package/assets/esri/core/workers/chunks/37002a46f03a9fc5f644.js +0 -2
  644. package/assets/esri/core/workers/chunks/37258b702fe06bbcf748.js +0 -1
  645. package/assets/esri/core/workers/chunks/37a3e91791a18ed8b8da.js +0 -1
  646. package/assets/esri/core/workers/chunks/3a04153ca9d8e4f01185.js +0 -1
  647. package/assets/esri/core/workers/chunks/3b1982bf7b44ff897a35.js +0 -1
  648. package/assets/esri/core/workers/chunks/3b25f5d9c8f78bb6e011.js +0 -1
  649. package/assets/esri/core/workers/chunks/3c5f07ebe1b09dcdc958.js +0 -1
  650. package/assets/esri/core/workers/chunks/3c66dd52ad156711a6a2.js +0 -1
  651. package/assets/esri/core/workers/chunks/3ed317900f0edf635508.js +0 -1
  652. package/assets/esri/core/workers/chunks/3f0959b1abafe516146e.js +0 -1
  653. package/assets/esri/core/workers/chunks/41f487713c6278d389a1.js +0 -1
  654. package/assets/esri/core/workers/chunks/4319b89cfa02894a8cae.js +0 -1
  655. package/assets/esri/core/workers/chunks/43e2c1d72cd9c8beed2f.js +0 -2
  656. package/assets/esri/core/workers/chunks/44c228388a95fa958827.js +0 -1
  657. package/assets/esri/core/workers/chunks/45a9cd722e98dd1548ae.js +0 -1
  658. package/assets/esri/core/workers/chunks/46daa1ff5b412a97edc9.js +0 -1
  659. package/assets/esri/core/workers/chunks/46e547691bca424f2bc9.js +0 -1
  660. package/assets/esri/core/workers/chunks/4750f55a289bc0cf3d77.js +0 -1
  661. package/assets/esri/core/workers/chunks/47d2103b876b01bc26fd.js +0 -1
  662. package/assets/esri/core/workers/chunks/495af366ec1defd89a72.js +0 -1
  663. package/assets/esri/core/workers/chunks/4b14ee37b5ac50a734f9.js +0 -1
  664. package/assets/esri/core/workers/chunks/4bcd74951477e8977ba1.js +0 -1
  665. package/assets/esri/core/workers/chunks/4cbe78d6a5ff617e15d6.js +0 -1
  666. package/assets/esri/core/workers/chunks/4ce28c936eaffe57c448.js +0 -1
  667. package/assets/esri/core/workers/chunks/4d5591c1b4ef37075921.js +0 -1
  668. package/assets/esri/core/workers/chunks/4ef97eb67dc42e0052d6.js +0 -1
  669. package/assets/esri/core/workers/chunks/4fa230dc6e5e87b0dec1.js +0 -1
  670. package/assets/esri/core/workers/chunks/4fcf035582fa6e93d264.js +0 -1
  671. package/assets/esri/core/workers/chunks/509307a2ef990ad1da8f.js +0 -301
  672. package/assets/esri/core/workers/chunks/50eb381b18b84b9c75a3.js +0 -1
  673. package/assets/esri/core/workers/chunks/50f03813fba4b752ca9f.js +0 -1
  674. package/assets/esri/core/workers/chunks/52a14266fe239b95c5ce.js +0 -1
  675. package/assets/esri/core/workers/chunks/52bcfb3ea563c1a301d4.js +0 -1
  676. package/assets/esri/core/workers/chunks/53b5c77832df7df4d4e3.js +0 -1
  677. package/assets/esri/core/workers/chunks/558822b700e8bd844052.js +0 -1
  678. package/assets/esri/core/workers/chunks/55a9ea536c64976c3409.js +0 -1
  679. package/assets/esri/core/workers/chunks/563933a84fc9b0e021f6.js +0 -1
  680. package/assets/esri/core/workers/chunks/56569d0c2cf5c5167651.js +0 -1
  681. package/assets/esri/core/workers/chunks/575a33924ec900f9e537.js +0 -1
  682. package/assets/esri/core/workers/chunks/584c4602d97a008afb83.js +0 -1
  683. package/assets/esri/core/workers/chunks/58b3a776ef129f7f86dc.js +0 -1
  684. package/assets/esri/core/workers/chunks/590a7fd4f5476224ec89.js +0 -1
  685. package/assets/esri/core/workers/chunks/59a45533e96cedf1c480.js +0 -1
  686. package/assets/esri/core/workers/chunks/5a66b7f1f4da75da8e7f.js +0 -1
  687. package/assets/esri/core/workers/chunks/5b9f2aa3ba1bf12c3240.js +0 -2
  688. package/assets/esri/core/workers/chunks/5bbf20135c87a1cc8a18.js +0 -1
  689. package/assets/esri/core/workers/chunks/5cc217f188fd56006158.js +0 -1
  690. package/assets/esri/core/workers/chunks/5dc2f2e28c30386efadf.js +0 -1
  691. package/assets/esri/core/workers/chunks/5df49e1f283e2e83de46.js +0 -1
  692. package/assets/esri/core/workers/chunks/60764ea501a3a1aacc63.js +0 -1
  693. package/assets/esri/core/workers/chunks/6087d5dc40bb62ec48c8.js +0 -1
  694. package/assets/esri/core/workers/chunks/6094bba52ddada48c7ed.js +0 -1
  695. package/assets/esri/core/workers/chunks/60eeeea671a523bb6b15.js +0 -1
  696. package/assets/esri/core/workers/chunks/60f363ee2add089e8f0b.js +0 -1
  697. package/assets/esri/core/workers/chunks/6387308c4add226e5b83.js +0 -1
  698. package/assets/esri/core/workers/chunks/63b8193ad90b2ebe6884.js +0 -1
  699. package/assets/esri/core/workers/chunks/657602e6a84e8b4576fb.js +0 -1
  700. package/assets/esri/core/workers/chunks/65fd971d0574d69cbc26.js +0 -1
  701. package/assets/esri/core/workers/chunks/679cd6424e0e2d7f372b.js +0 -1
  702. package/assets/esri/core/workers/chunks/6800647240b7968be225.js +0 -1
  703. package/assets/esri/core/workers/chunks/68074a484d7f9bc713c0.js +0 -1
  704. package/assets/esri/core/workers/chunks/680f9c29ca96ea8e01da.js +0 -1
  705. package/assets/esri/core/workers/chunks/68cb43f2fa8cc826e99b.js +0 -1
  706. package/assets/esri/core/workers/chunks/69a68a6d6736c4b97a27.js +0 -1
  707. package/assets/esri/core/workers/chunks/6a3d66d7c92f90cc2a17.js +0 -1
  708. package/assets/esri/core/workers/chunks/6a544fb44f7da0e80f43.js +0 -1
  709. package/assets/esri/core/workers/chunks/6a782e8475bff4d56dbc.js +0 -1
  710. package/assets/esri/core/workers/chunks/6b85a8776ec2beff63cb.js +0 -1
  711. package/assets/esri/core/workers/chunks/6be530ab81291745485b.js +0 -2
  712. package/assets/esri/core/workers/chunks/6d3ae7969ea86a2e0b13.js +0 -1
  713. package/assets/esri/core/workers/chunks/6df484faf54e90a6cc77.js +0 -1
  714. package/assets/esri/core/workers/chunks/6ea6ad894ac634aa4391.js +0 -1
  715. package/assets/esri/core/workers/chunks/6ffc1a0400298fca00ee.js +0 -1
  716. package/assets/esri/core/workers/chunks/729c2d26ae23d9c86547.js +0 -1
  717. package/assets/esri/core/workers/chunks/73bee5659414b3687cfc.js +0 -1
  718. package/assets/esri/core/workers/chunks/73c416ae0ec5a1815591.js +0 -2
  719. package/assets/esri/core/workers/chunks/74b825d4f0e7ab567b10.js +0 -1
  720. package/assets/esri/core/workers/chunks/75c66e38bdc1c786c599.js +0 -1
  721. package/assets/esri/core/workers/chunks/75fd2ef1236a9364ca7f.js +0 -1
  722. package/assets/esri/core/workers/chunks/760a759f9697adde6dd4.js +0 -1
  723. package/assets/esri/core/workers/chunks/77509bd20ac5bc190c94.js +0 -1039
  724. package/assets/esri/core/workers/chunks/7763cf4a9a4343c28591.js +0 -1
  725. package/assets/esri/core/workers/chunks/7972954801b82e7afc72.js +0 -1
  726. package/assets/esri/core/workers/chunks/798d227205bd958de6a7.js +0 -1
  727. package/assets/esri/core/workers/chunks/7bc09e80bf45fe137055.js +0 -1
  728. package/assets/esri/core/workers/chunks/7be9bbae23895d1cfa92.js +0 -1
  729. package/assets/esri/core/workers/chunks/7bf30c254228f9b7f224.js +0 -1
  730. package/assets/esri/core/workers/chunks/7bf491b468cd74a4166c.js +0 -1
  731. package/assets/esri/core/workers/chunks/7d631ebf8f79225cf0f6.js +0 -1
  732. package/assets/esri/core/workers/chunks/7d744554d14057d9b2b1.js +0 -1
  733. package/assets/esri/core/workers/chunks/7d8664aeff66e34138bd.js +0 -1
  734. package/assets/esri/core/workers/chunks/7db52d2451494835c160.js +0 -1
  735. package/assets/esri/core/workers/chunks/818b5b8027d6fe8999d6.js +0 -1
  736. package/assets/esri/core/workers/chunks/8195310b4c53db902fc1.js +0 -1
  737. package/assets/esri/core/workers/chunks/82ace0195b63790b22c9.js +0 -1
  738. package/assets/esri/core/workers/chunks/83117d2747bdaf480c7b.js +0 -1
  739. package/assets/esri/core/workers/chunks/83c5dea24e36ac2e3497.js +0 -1
  740. package/assets/esri/core/workers/chunks/84440efe2cc337dab81f.js +0 -1
  741. package/assets/esri/core/workers/chunks/84ec8ea3e40e0864798f.js +0 -1
  742. package/assets/esri/core/workers/chunks/852007720e3bc29532db.js +0 -1
  743. package/assets/esri/core/workers/chunks/85c92726121cb43a2216.js +0 -1
  744. package/assets/esri/core/workers/chunks/86832d94190150c70c11.js +0 -1
  745. package/assets/esri/core/workers/chunks/873008572c1f21cea122.js +0 -2
  746. package/assets/esri/core/workers/chunks/87c6470ee295d736b06d.js +0 -1
  747. package/assets/esri/core/workers/chunks/88379cd8e8e1c7ae3c7c.js +0 -1
  748. package/assets/esri/core/workers/chunks/88cbaa91c495d86f4bb0.js +0 -1
  749. package/assets/esri/core/workers/chunks/89853fccdf2bfcc290c0.js +0 -1
  750. package/assets/esri/core/workers/chunks/8c1f1eb36198ce40ef13.js +0 -1
  751. package/assets/esri/core/workers/chunks/8d58e59ea13ecafdd45c.js +0 -1
  752. package/assets/esri/core/workers/chunks/8db723b8468e408dda46.js +0 -1
  753. package/assets/esri/core/workers/chunks/8dca61f8ba6689379f86.js +0 -1
  754. package/assets/esri/core/workers/chunks/8e354c7b4858db5880a9.js +0 -1
  755. package/assets/esri/core/workers/chunks/8e556ff730ae96290a69.js +0 -1
  756. package/assets/esri/core/workers/chunks/8e62a5fcc4c7e83a903a.js +0 -1
  757. package/assets/esri/core/workers/chunks/9086a4933d3d3d9ffa72.js +0 -1
  758. package/assets/esri/core/workers/chunks/91d9ade78854f40a962d.js +0 -1
  759. package/assets/esri/core/workers/chunks/91fba3bebd78cb956941.js +0 -1
  760. package/assets/esri/core/workers/chunks/920b4def081c78c0d586.js +0 -1
  761. package/assets/esri/core/workers/chunks/92928c56b312e1514600.js +0 -1
  762. package/assets/esri/core/workers/chunks/92a4f56232f81ca457fa.js +0 -1
  763. package/assets/esri/core/workers/chunks/92ef6071ea87b7f940e2.js +0 -1
  764. package/assets/esri/core/workers/chunks/9319d57494482668ab19.js +0 -1
  765. package/assets/esri/core/workers/chunks/9361834d2c3064eb41fc.js +0 -1
  766. package/assets/esri/core/workers/chunks/9382af94bf6bf1b09c8c.js +0 -1
  767. package/assets/esri/core/workers/chunks/942c80c425b1f13cced5.js +0 -1
  768. package/assets/esri/core/workers/chunks/95cb062cae4c31c07124.js +0 -1
  769. package/assets/esri/core/workers/chunks/968335b28b895e19913b.js +0 -1
  770. package/assets/esri/core/workers/chunks/979bc762ccc0d3fc2467.js +0 -1
  771. package/assets/esri/core/workers/chunks/9828b07b5f8fd9f40935.js +0 -1
  772. package/assets/esri/core/workers/chunks/98739414c107ad78e4d8.js +0 -1
  773. package/assets/esri/core/workers/chunks/988f5e003377d734d282.js +0 -1
  774. package/assets/esri/core/workers/chunks/9921c8d4487a0f580b93.js +0 -1
  775. package/assets/esri/core/workers/chunks/9a6bdcedcb7d2798ba30.js +0 -1
  776. package/assets/esri/core/workers/chunks/9afe220b5b60cfa44c95.js +0 -1
  777. package/assets/esri/core/workers/chunks/9ba8a2e1c0fb4e1efc7c.js +0 -1
  778. package/assets/esri/core/workers/chunks/9c93eadbd19bef1191b4.js +0 -1
  779. package/assets/esri/core/workers/chunks/9c9d359caf8354a8ec52.js +0 -1
  780. package/assets/esri/core/workers/chunks/9cc2832d5f625f81c08d.js +0 -1
  781. package/assets/esri/core/workers/chunks/9ccabf8142fb5de4d3e2.js +0 -2
  782. package/assets/esri/core/workers/chunks/9cec9d09f3aa5c21660d.js +0 -37
  783. package/assets/esri/core/workers/chunks/9d258f14199181dee424.js +0 -1
  784. package/assets/esri/core/workers/chunks/9e869fd6450cf874783a.js +0 -1
  785. package/assets/esri/core/workers/chunks/9f34cf024231f574009c.js +0 -1
  786. package/assets/esri/core/workers/chunks/a1594486177015e8a6c3.js +0 -1
  787. package/assets/esri/core/workers/chunks/a16e75ff5cd9b22be197.js +0 -1
  788. package/assets/esri/core/workers/chunks/a1b8722c6acafdf1c2bf.js +0 -1
  789. package/assets/esri/core/workers/chunks/a3407ca77b0ff62c0e75.js +0 -1
  790. package/assets/esri/core/workers/chunks/a41073263af5eba3c16d.js +0 -1
  791. package/assets/esri/core/workers/chunks/a623676c74745e040a2a.js +0 -1
  792. package/assets/esri/core/workers/chunks/a64cd02ca959d511101c.js +0 -1
  793. package/assets/esri/core/workers/chunks/a6742abe3ebe371e85f1.js +0 -1
  794. package/assets/esri/core/workers/chunks/a6d4256c327f07221117.js +0 -1
  795. package/assets/esri/core/workers/chunks/a6f29d1a6356e2de5a79.js +0 -1
  796. package/assets/esri/core/workers/chunks/a79fad422d41019c8232.js +0 -1
  797. package/assets/esri/core/workers/chunks/a8dfd246c797f3b979f5.js +0 -1
  798. package/assets/esri/core/workers/chunks/ab0275669e28e7a34c38.js +0 -1
  799. package/assets/esri/core/workers/chunks/ab5e2f823960c33cefe4.js +0 -1
  800. package/assets/esri/core/workers/chunks/acdbe0299024d58e1421.js +0 -1
  801. package/assets/esri/core/workers/chunks/ad253136c1e12f733d15.js +0 -1
  802. package/assets/esri/core/workers/chunks/adc68e2c6d2698a52bfe.js +0 -1
  803. package/assets/esri/core/workers/chunks/adff1791ae44631ad34a.js +0 -1
  804. package/assets/esri/core/workers/chunks/ae16fe50a54b5c0f9811.js +0 -1
  805. package/assets/esri/core/workers/chunks/ae18de425548bb865702.js +0 -1
  806. package/assets/esri/core/workers/chunks/ae6066ea6cb373dc6db3.js +0 -1
  807. package/assets/esri/core/workers/chunks/aeb524eded012217a865.js +0 -1
  808. package/assets/esri/core/workers/chunks/af00081b78fc30ac556c.js +0 -1
  809. package/assets/esri/core/workers/chunks/b211b53aa7616a093b90.js +0 -1
  810. package/assets/esri/core/workers/chunks/b28e0b89603d8b03f9e1.js +0 -1
  811. package/assets/esri/core/workers/chunks/b4349db7155673329432.js +0 -1
  812. package/assets/esri/core/workers/chunks/b48033645091c91e0d88.js +0 -1
  813. package/assets/esri/core/workers/chunks/b5e4a36784d598ae6679.js +0 -1
  814. package/assets/esri/core/workers/chunks/b64cfd86d9204be743c6.js +0 -1
  815. package/assets/esri/core/workers/chunks/b8988771bfa4e785ebd6.js +0 -1
  816. package/assets/esri/core/workers/chunks/ba6452acee3d6defb37e.js +0 -1
  817. package/assets/esri/core/workers/chunks/bb92a9daa0c5b019561f.js +0 -1
  818. package/assets/esri/core/workers/chunks/bc731ec9d5136f1d9253.js +0 -1
  819. package/assets/esri/core/workers/chunks/bd1d159dce4094694c93.js +0 -1
  820. package/assets/esri/core/workers/chunks/bd2a28b14e5c0a55d783.js +0 -1
  821. package/assets/esri/core/workers/chunks/bdbb5b33f0f49661bf6d.js +0 -1
  822. package/assets/esri/core/workers/chunks/befeca51530bba5e8073.js +0 -1
  823. package/assets/esri/core/workers/chunks/bf05164b7a3e4f31e9db.js +0 -1
  824. package/assets/esri/core/workers/chunks/bf88bd763fd6442a95fd.js +0 -1
  825. package/assets/esri/core/workers/chunks/bfe052b386ec4874f350.js +0 -1
  826. package/assets/esri/core/workers/chunks/c042269586921e337be9.js +0 -1
  827. package/assets/esri/core/workers/chunks/c0b15510a8cab98df77f.js +0 -1
  828. package/assets/esri/core/workers/chunks/c27842a34e73ccb46116.js +0 -1
  829. package/assets/esri/core/workers/chunks/c3272b09bff886b08ce1.js +0 -1
  830. package/assets/esri/core/workers/chunks/c38a07e936226b361b63.js +0 -1
  831. package/assets/esri/core/workers/chunks/c59c1e52acb5ac8f78f9.js +0 -1
  832. package/assets/esri/core/workers/chunks/c5cc0fc652432a9264cc.js +0 -1
  833. package/assets/esri/core/workers/chunks/c605bf7d1e12917ac482.js +0 -1
  834. package/assets/esri/core/workers/chunks/c743e561e7d73a100576.js +0 -1
  835. package/assets/esri/core/workers/chunks/c7838ac0db8570a2d2c1.js +0 -1
  836. package/assets/esri/core/workers/chunks/c8182c2cbb0ead202af6.js +0 -1
  837. package/assets/esri/core/workers/chunks/c91ef3814e7f024043cf.js +0 -1
  838. package/assets/esri/core/workers/chunks/c96083838f919a8f64cd.js +0 -1
  839. package/assets/esri/core/workers/chunks/cad1d7e5ce89f51b3ac9.js +0 -1
  840. package/assets/esri/core/workers/chunks/cade149fa19b4d06dd24.js +0 -1
  841. package/assets/esri/core/workers/chunks/cc50f96321a7c12f300b.js +0 -1
  842. package/assets/esri/core/workers/chunks/ccc743e41854eb225c23.js +0 -1
  843. package/assets/esri/core/workers/chunks/cd788ed111e1e35cf9c8.js +0 -1
  844. package/assets/esri/core/workers/chunks/ce3870db25566cd93d8e.js +0 -1
  845. package/assets/esri/core/workers/chunks/cfbe9993263fa6f69363.js +0 -1
  846. package/assets/esri/core/workers/chunks/d129a5a34e9ad09bd39e.js +0 -1
  847. package/assets/esri/core/workers/chunks/d14e75b160aa432233c6.js +0 -1
  848. package/assets/esri/core/workers/chunks/d21480925a8bc9c7de96.js +0 -1
  849. package/assets/esri/core/workers/chunks/d32aad968798948946e4.js +0 -1
  850. package/assets/esri/core/workers/chunks/d364096493ceeff34c10.js +0 -1
  851. package/assets/esri/core/workers/chunks/d373986588f6b1b8f2d5.js +0 -1
  852. package/assets/esri/core/workers/chunks/d3b1d1c389d70919fb02.js +0 -1
  853. package/assets/esri/core/workers/chunks/d52a0c3a855029c48bd2.js +0 -1
  854. package/assets/esri/core/workers/chunks/d66973e926bc03e2359a.js +0 -1
  855. package/assets/esri/core/workers/chunks/d7cd1d879768df629716.js +0 -1
  856. package/assets/esri/core/workers/chunks/d7df5e4028d502712317.js +0 -1
  857. package/assets/esri/core/workers/chunks/d90564fbafc00df2d56d.js +0 -1
  858. package/assets/esri/core/workers/chunks/d9ca754f51b9812bb179.js +0 -1
  859. package/assets/esri/core/workers/chunks/d9ef0b3341e2744d8f2f.js +0 -1
  860. package/assets/esri/core/workers/chunks/da5ce19ecf3a5e92a2a9.js +0 -1
  861. package/assets/esri/core/workers/chunks/da7685ec2b6eaf00fd2d.js +0 -1
  862. package/assets/esri/core/workers/chunks/dae715b2b0094641e42f.js +0 -1
  863. package/assets/esri/core/workers/chunks/db04b0a30cce9e476551.js +0 -1
  864. package/assets/esri/core/workers/chunks/db28d00171240b4fffac.js +0 -1
  865. package/assets/esri/core/workers/chunks/db4661fd82dc61162115.js +0 -1
  866. package/assets/esri/core/workers/chunks/dbd382546837aa7709e2.js +0 -1
  867. package/assets/esri/core/workers/chunks/dddb6cb44cbe4dc1af97.js +0 -1
  868. package/assets/esri/core/workers/chunks/de60421029fbcebe2950.js +0 -1
  869. package/assets/esri/core/workers/chunks/df33d5a08e1b6dc00f45.js +0 -1
  870. package/assets/esri/core/workers/chunks/e0369ce0d729c9656488.js +0 -1
  871. package/assets/esri/core/workers/chunks/e03c706e327f4989280a.js +0 -1
  872. package/assets/esri/core/workers/chunks/e0648f5aed9d939928dc.js +0 -1
  873. package/assets/esri/core/workers/chunks/e071b912539304564b69.js +0 -1
  874. package/assets/esri/core/workers/chunks/e10d6e511921394474ca.js +0 -1
  875. package/assets/esri/core/workers/chunks/e34b7acc963288ca0f04.js +0 -1
  876. package/assets/esri/core/workers/chunks/e4b6aa8f67c2bd285020.js +0 -1
  877. package/assets/esri/core/workers/chunks/e572ffc1d000e4e6325f.js +0 -1
  878. package/assets/esri/core/workers/chunks/e615a935bbf1168fac43.js +0 -1
  879. package/assets/esri/core/workers/chunks/e8bf362b2631f977b1cb.js +0 -1
  880. package/assets/esri/core/workers/chunks/e8e4d48ab4024e17108d.js +0 -1
  881. package/assets/esri/core/workers/chunks/e97787de88e2992add13.js +0 -1
  882. package/assets/esri/core/workers/chunks/eaadcc43837c465342cc.js +0 -1
  883. package/assets/esri/core/workers/chunks/eb7eb3b3b8800fd73f3e.js +0 -1
  884. package/assets/esri/core/workers/chunks/ecb4c223c0278971cdc9.js +0 -1
  885. package/assets/esri/core/workers/chunks/ed7e353e290b3a272457.js +0 -1
  886. package/assets/esri/core/workers/chunks/ee361690b456c12c30d8.js +0 -1
  887. package/assets/esri/core/workers/chunks/ef639d31c94d2b55b8d4.js +0 -1
  888. package/assets/esri/core/workers/chunks/ef977be20a647aeded0a.js +0 -1
  889. package/assets/esri/core/workers/chunks/efb631371b6bb3f043bb.js +0 -1
  890. package/assets/esri/core/workers/chunks/f0100b34f8b13fb37157.js +0 -1
  891. package/assets/esri/core/workers/chunks/f0914715e90e43466f8c.js +0 -1
  892. package/assets/esri/core/workers/chunks/f0a667d8d33bc51c795d.js +0 -1
  893. package/assets/esri/core/workers/chunks/f1e5d52e550326e49d1e.js +0 -1
  894. package/assets/esri/core/workers/chunks/f2b63597ae956db74eb3.js +0 -1
  895. package/assets/esri/core/workers/chunks/f32d4813b450a3eb4262.js +0 -1
  896. package/assets/esri/core/workers/chunks/f3b2c81f5ad26a58a4bd.js +0 -1
  897. package/assets/esri/core/workers/chunks/f54ec21fa67db6fef5a6.js +0 -1
  898. package/assets/esri/core/workers/chunks/f57b5720ce827f5845cd.js +0 -1
  899. package/assets/esri/core/workers/chunks/f5a695dc51793b138b23.js +0 -1
  900. package/assets/esri/core/workers/chunks/f5f584d325f8f2ea825f.js +0 -1
  901. package/assets/esri/core/workers/chunks/f65d26588d2d80680a26.js +0 -1
  902. package/assets/esri/core/workers/chunks/f65f1798f398bc549463.js +0 -1
  903. package/assets/esri/core/workers/chunks/f72e6c903f55ce95a6c5.js +0 -1
  904. package/assets/esri/core/workers/chunks/f77b93bef06bae03c1c6.js +0 -1
  905. package/assets/esri/core/workers/chunks/f7dfbf24859f4ac2421b.js +0 -1
  906. package/assets/esri/core/workers/chunks/f8438642a9bdd8980b4b.js +0 -1
  907. package/assets/esri/core/workers/chunks/f98689562017583f73ee.js +0 -1
  908. package/assets/esri/core/workers/chunks/fdb5b5d8a7c99a0bf5f9.js +0 -1
  909. package/assets/esri/core/workers/chunks/fdbe16e3b23e01655c0c.js +0 -1
  910. package/assets/esri/core/workers/chunks/fe07390e27f8cd5e93a8.js +0 -1
  911. package/assets/esri/core/workers/chunks/fe33b11ec3f58a0f541a.js +0 -1
  912. package/assets/esri/core/workers/chunks/ff8e2f998169ca3a7a68.js +0 -1
  913. package/assets/esri/core/workers/chunks/ffdba51e7256ebf8ebd3.js +0 -1
  914. /package/assets/esri/core/workers/chunks/{873008572c1f21cea122.js.LICENSE.txt → 91e307ca0d11804a7a1d.js.LICENSE.txt} +0 -0
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as e}from"tslib";import t from"../../../Color.js";import{addTokenParameter as i}from"../../../kernel.js";import s from"../../../request.js";import l from"../../../core/Accessor.js";import{isSome as r}from"../../../core/arrayUtils.js";import n from"../../../core/Collection.js";import has from"../../../core/has.js";import{JSONMap as a}from"../../../core/jsonMap.js";import o from"../../../core/Logger.js";import{clamp as u}from"../../../core/mathUtils.js";import{debounce as c}from"../../../core/promiseUtils.js";import{on as d,watch as y,initial as h,whenOnce as f}from"../../../core/reactiveUtils.js";import{px2pt as m}from"../../../core/screenUtils.js";import{parseWhereClause as p}from"../../../core/sql.js";import{addQueryParameters as g}from"../../../core/urlUtils.js";import{property as b,subclass as _}from"../../../core/accessorSupport/decorators.js";import{EffectView as S}from"../../../layers/effects/EffectView.js";import{getPixelValueRange as w}from"../../../layers/raster/formats/pixelRangeUtils.js";import{getEffectiveDisplayFilter as v}from"../../../layers/support/displayFilterUtils.js";import{ExportImageParameters as L}from"../../../layers/support/ExportImageParameters.js";import{collectFields as E,collectArcadeFieldNames as F}from"../../../layers/support/fieldUtils.js";import{isFeatureLayer as C,supportsFieldConfiguration as I}from"../../../layers/support/layerUtils.js";import{fromJSON as R}from"../../../renderers/support/jsonUtils.js";import{isSupportedRenderer3D as V}from"../../../renderers/support/rendererConversion.js";import D from"../../../renderers/visualVariables/SizeVariable.js";import x from"../../../renderers/visualVariables/support/SizeVariableLegendOptions.js";import{updateReferenceSizeSymbol as z}from"../../../smartMapping/renderers/support/referenceSizeUtils.js";import T from"../../../symbols/SimpleFillSymbol.js";import j from"../../../symbols/SimpleMarkerSymbol.js";import{applyCIMSymbolColor as O}from"../../../symbols/support/cimSymbolUtils.js";import{renderSymbol as k}from"../../../symbols/support/renderUtils.js";import{renderColorRampPreviewHTML as M,renderDotDensityPreviewHTML as P,renderPieChartPreviewHTML as U,renderPreviewHTML as A}from"../../../symbols/support/symbolUtils.js";import{getCSSFilterFromEffectList as B,isVolumetricSymbol as N}from"../../../symbols/support/utils.js";import{getEffectiveClusterSizeVariable as $}from"./clusterUtils.js";import{getColorFromPointCloudStops as H,getRampStopsForPointCloud as q,getStretchRampStops as W,getRampStops as G}from"./colorRampUtils.js";import{getHeatmapRampStops as J}from"./heatmapRampUtils.js";import{getRotationAngleForFocus as Z,getRelationshipRampElement as Q}from"./relationshipRampUtils.js";import{getRampStops as K,realWorldMaxSize as X,realWorldMinSize as Y}from"./sizeRampUtils.js";import{specialCharsLessThan as ee,specialCharsGreaterThan as te,getAuthoringInfoVisualVariableByTheme as ie,getSymbolForFlowRenderer as se,formatValue as le,getFormatOptions as re,mergeWhereClauses as ne,getMedianColor as ae,rgbImgSource as oe,getFormatOptionsForVisualVariable as ue}from"./utils.js";import{formatNumberLabel as ce}from"../../smartMapping/support/utils.js";const de=16,ye="https://utility.arcgis.com/sharing/tools/legend",he="esri.layers.ImageryLayer",fe="esri.layers.ImageryTileLayer",me="esri.layers.WCSLayer",pe=/^\s*(return\s+)?\$view\.scale\s*(;)?\s*$/i,ge=new a({esriGeometryPoint:"point",esriGeometryMultipoint:"multipoint",esriGeometryPolyline:"polyline",esriGeometryPolygon:"polygon",esriGeometryMultiPatch:"multipatch"}),be=new j({size:6,outline:{color:[128,128,128,.5],width:.5}}),_e=new T({style:"solid"});function Se(e){return"flow"===e.type}function we(e){return"vector-field"===e.type}function ve(e){return"raster-colormap"===e.type}function Le(e){return"raster-stretch"===e.type}function Ee(e){return"raster-shaded-relief"===e.type}function Fe(e){return"esri.renderers.SimpleRenderer"===e.declaredClass}function Ce(e){return"esri.renderers.ClassBreaksRenderer"===e.declaredClass}function Ie(e){return"esri.renderers.UniqueValueRenderer"===e.declaredClass}function Re(e){return"esri.renderers.HeatmapRenderer"===e.declaredClass}function Ve(e){return xe(e)||ze(e)||Te(e)||De(e)}function De(e){return"esri.renderers.PointCloudRGBRenderer"===e.declaredClass}function xe(e){return"esri.renderers.PointCloudClassBreaksRenderer"===e.declaredClass}function ze(e){return"esri.renderers.PointCloudStretchRenderer"===e.declaredClass}function Te(e){return"esri.renderers.PointCloudUniqueValueRenderer"===e.declaredClass}function je(e){return"esri.renderers.DotDensityRenderer"===e.declaredClass}function Oe(e){return"esri.renderers.PieChartRenderer"===e.declaredClass}function ke(e,t){return Fe(e)||Ce(e)||Ie(e)||Re(e)||je(e)||Oe(e)?"2d"===t.type||V(e):Le(e)||ve(e)||Ee(e)||xe(e)||ze(e)||Te(e)||we(e)||Se(e)}function Me(e){return"esri.layers.BuildingSceneLayer"===e.declaredClass}function Pe(e){return"esri.layers.SubtypeGroupLayer"===e.declaredClass}function Ue(e){return"esri.layers.VoxelLayer"===e.declaredClass}function Ae(e){return"esri.layers.WMSLayer"===e.declaredClass}function Be(e){return"esri.layers.WMTSLayer"===e.declaredClass}function Ne(e){return"esri.layers.MapImageLayer"===e.declaredClass}function $e(e){return"esri.layers.TileLayer"===e.declaredClass}function He(e){return e.declaredClass===he}function qe(e){return e.declaredClass===fe}function We(e){return e.declaredClass===me}function Ge(e){return"stretch-ramp"===e.type}function Je(e){const t="authoringInfo"in e?e?.authoringInfo:null;return"univariate-color-size"===t?.type}function Ze(e){const t="authoringInfo"in e?e?.authoringInfo:null;return"univariate-color-size"===t?.type&&"above-and-below"===t?.univariateTheme}function Qe(e){return"sublayers"in e}function Ke(e){return e&&"symbol"in e}function Xe(e,t){const{field:i,field2:s,field3:l,fieldDelimiter:r,valueExpression:n}=e;if(!i)return null;const a=!(!i&&!n||!s&&!l)?t?.toString().split(r||""):[t],o=i?{[i]:a?.[0]}:null;return o&&(s&&(o[s]=a?.[1]),l&&(o[l]=a?.[2])),o}const Ye=new j({style:"path",path:"M10,5 L5,0 0,5 M5,0 L5,15",size:15,outline:{width:1,color:[85,85,85,1]}});let et={};const tt=new WeakMap;let it=class extends l{constructor(e){super(e),this._hasColorRamp=!1,this._hasOpacityRamp=!1,this._hasSizeRamp=!1,this._loading=!1,this._webStyleSymbolCache=new Map,this._dotDensityUrlCache=new Map,this._scaleDrivenSizeVariable=null,this._clusterSizeVariable=null,this._layerDefinitionExpression=null,this._layerDefinitionExpressionClause=null,this._layerDisplayFilter=null,this._layerDisplayFilterClause=null,this.children=new n,this.layerView=null,this.layer=null,this.legendElements=[],this.parent=null,this.hideLayersNotInCurrentView=!1,this.keepCacheOnDestroy=!1,this.respectLayerDefinitionExpression=!1,this.respectLayerVisibility=!0,this.sublayerIds=[],this.title=null,this.view=null}initialize(){const e=()=>this.notifyChange("ready");this.addHandles([d(()=>this.children,"change",t=>{const{added:i,removed:s}=t;i.forEach(t=>{const i=`activeLayerInfo-ready-watcher-${t.layer.uid}`;this.addHandles(y(()=>t.ready,e,h),i)}),s.forEach(e=>this.removeHandles(e.layer.uid)),e()})]),this.keepCacheOnDestroy||(et={})}destroy(){this._webStyleSymbolCache=null,this._dotDensityUrlCache=null,this._scaleDrivenSizeVariable=null,this.keepCacheOnDestroy||(et=null),this._layerDefinitionExpressionClause=null}get cssEffectFilter(){const{layer:e,scale:t}=this,i="effect"in e?e.effect:null;if(!i)return null;const s=new S({effect:i});return s.endTransition(),s.scale=t,B(s,!0)}get loading(){return this.children.length>0?this.children.some(e=>e.loading):this._loading}get opacity(){const e=this.layer.opacity,t=this.parent?.opacity,i=this.layer.parent,s=i&&"uid"in i?this._getParentLayerOpacity(i):null;return null!=t?t*e:null!=s?s*e:e}get ready(){return null===this.layer||(this.children.length>0?this._isGroupActive():this.legendElements.length>0)}get scale(){return this.view?.scale??0}get isScaleDriven(){const e=this.layer;if(null===e)return!1;if("effect"in e&&e.effect&&Array.isArray(e.effect))return!0;if("featureReduction"in e&&e.featureReduction){if("cluster"===e.featureReduction.type)return!0;if("binning"===e.featureReduction.type&&"renderer"in e.featureReduction&&e.featureReduction.renderer)return this._isRendererScaleDriven(e.featureReduction.renderer)}return"renderer"in e&&e.renderer?!!("displayFilterInfo"in e&&e.displayFilterInfo&&Ie(e.renderer))||this._isRendererScaleDriven(e.renderer):this._isLayerScaleDriven(this.layer)}get version(){return this._get("version")+1}async buildLegendElementsForFeatureCollections(e){this._loading=!0;if(!(!this.hideLayersNotInCurrentView||await this._isLayerInCurrentView()))return this.legendElements=[],this._loading=!1,void this.notifyChange("ready");const t=Array.from(e,e=>{if(C(e))return this._getRendererLegendElements(e.renderer,{title:e.title});if(e.featureSet?.features.length){const t=e.layerDefinition,i=t?.drawingInfo,s=i&&R(i.renderer),l=ge.read(t.geometryType);return s?this._getRendererLegendElements(s,{title:e.name,geometryType:l}):(o.getLogger(this).warn("drawingInfo not available!"),null)}return null});try{const e=[],i=await Promise.allSettled(t);for(const t of i)if("fulfilled"===t.status)for(const i of t.value??[])e.push(i);this.legendElements=e}catch(i){o.getLogger(this).warn("error while building legend for layer!",i)}finally{this._loading=!1,this.notifyChange("ready")}}async buildLegendElementsForRenderer(e){try{this._loading=!0;const t=!this.hideLayersNotInCurrentView||await this._isLayerInCurrentView();this.legendElements=t?await this._getRendererLegendElements(e):[]}catch(t){o.getLogger(this).warn("error while building legend for layer!",t)}finally{this._loading=!1,this.notifyChange("ready")}}async buildLegendElementsForFeatureReduction(e){try{this._loading=!0,await this._waitForLayerViewUpdate(this.layerView);const t=!this.hideLayersNotInCurrentView||await this._isLayerInCurrentView();this.legendElements=t?await this._getLegendElementsForFeatureReduction(e):[]}catch(t){o.getLogger(this).warn("error while building legend for layer!",t)}finally{this._loading=!1,this.notifyChange("ready")}}async buildLegendElementsForTools(){this._loading=!0;const e=this.layer;if(Ue(e))await this._constructLegendElementsForVoxelLayer();else if(Be(e))this._constructLegendElementsForWMTSlayer();else if(Ae(e))await this._constructLegendElementsForWMSSublayers();else if(Me(e))await this._constructLegendElementsForBuildingSceneLayer();else if(Ne(e)||$e(e)||Pe(e))await this._constructLegendElementsForSublayers();else{this.removeHandles("imageryLayers-watcher");let t="default";if(He(e)){const i=e;t=(i?.rasterFunction?.functionName||"default")+"_"+(e.bandIds?.length?e.bandIds.join(""):"###")}if(qe(e)||"link-chart"===e.type)return;await this._getLegendLayers(`${e.uid}-${t}`).then(async t=>{this.legendElements=[];const i=t.map(async t=>{if(He(e)){const t=y(()=>[e.rasterFunction,e.bandIds],()=>c(async()=>{et.default=null,e.renderer?await this.buildLegendElementsForRenderer(e.renderer):await this.buildLegendElementsForTools()})());this.addHandles(t,"imageryLayers-watcher")}const i=this._generateSymbolTableElementForLegendLayer(t);i?.infos.length&&(He(e)&&(i.title=e.title),this.legendElements.push(i))});await Promise.allSettled(i)}).catch(e=>{o.getLogger(this).warn("Request to server for legend has failed!",e)})}this._loading=!1,this.notifyChange("ready")}async _isLayerInCurrentView(e){return this._checkFeatureCountForExpression(e,this.view.extent)}_getParentLayerOpacity(e){let t=1;const i=e.parent;return i&&"uid"in i&&(t=this._getParentLayerOpacity(i)),e.opacity*t}_isGroupActive(){return this.children.some(e=>e.ready)}_isRendererScaleDriven(e){if("dot-density"===e.type)return!0;const t="valueExpression"in e?e.valueExpression:null;if(pe.test(t))return!0;const i="visualVariables"in e?e.visualVariables:null;return!!i?.some(e=>this._isScaleDrivenSizeVariable(e))||this._hasScaleDrivenSymbols(e)}_hasScaleDrivenSymbols(e){switch(e.type){case"simple":return this._isScaleDrivenSymbol(e.symbol);case"class-breaks":return this._isScaleDrivenSymbol(e.defaultSymbol)||e.classBreakInfos.some(e=>this._isScaleDrivenSymbol(e.symbol));case"unique-value":return this._isScaleDrivenSymbol(e.defaultSymbol)||!!e.uniqueValueInfos?.some(e=>this._isScaleDrivenSymbol(e.symbol))}return!1}_isScaleDrivenSymbol(e){if("cim"===e?.type){const{primitiveOverrides:t,minScale:i,maxScale:s}=e.data,l=t?.some(e=>(e.valueExpressionInfo?.expression||"").includes("$view.scale"))??!1;return null!=i||null!=s||l}return!1}_isScaleDrivenSizeVariable(e){if(e&&"size"!==e.type)return!1;const t=e,i=t.minSize,s=t.maxSize;return!("object"!=typeof i||!i||!this._isScaleDrivenSizeVariable(i))||(!("object"!=typeof s||!s||!this._isScaleDrivenSizeVariable(s))||pe.test(t.valueExpression))}_isLayerScaleDriven(e){if("minScale"in e&&e.minScale>0||"maxScale"in e&&e.maxScale>0)return!0;if("sublayers"in e&&e.sublayers)return e.sublayers.some(e=>this._isLayerScaleDriven(e));const t=e.parent;if(!1===e.loaded&&t&&Ne(t)&&"source"in e&&e.source&&"map-layer"===e.source.type)for(const i of t.sourceJSON.layers??[])if(i.id===e.source.mapLayerId&&(i.minScale>0||i.maxScale>0))return!0;return!1}async _constructLegendElementsForVoxelLayer(){this._loading=!0,this.legendElements=[],this.removeHandles("voxel-style-watcher"),this.removeHandles("voxel-current-variable");const e=this.layer;this.addHandles(y(()=>e.currentVariableId,()=>this._constructLegendElementsForVoxelLayer()),"voxel-current-variable"),this.addHandles(y(()=>e.getVariableStyles(),()=>this._constructLegendElementsForVoxelLayer()),"voxel-style-watcher");const t=e.getVariableStyle(null),i=[];if(t)if(t.uniqueValues?.length){const e=[];t.uniqueValues.forEach(t=>{t.enabled&&e.push({label:t.label||`${t.value}`,value:t.value,symbol:new T({color:t.color,outline:null})})}),e.length&&i.push({type:"symbol-table",title:t.label,infos:e})}else if(t.transferFunction){const{colorStops:e,stretchRange:s}=t.transferFunction,l=e.toArray().reverse(),r=s.map((e,t)=>`${0===t?ee:te} ${ce(e)}`).reverse(),n=l.map(e=>({color:e.color,value:null,label:null}));n[0].label=r[0],n[n.length-1].label=r[1],i.push({type:"color-ramp",title:t.label,infos:n,preview:M(l.map(e=>e.color))})}await this._generatePreviewsForLegendElements(i,{opacity:e.opacity}),this.legendElements=i,this._loading=!1,this.notifyChange("ready")}_constructLegendElementsForWMTSlayer(){this._loading=!0,this.legendElements=[],this.removeHandles("wmts-activeLayer-watcher");const e=this.layer.activeLayer;this.addHandles(y(()=>{const{layer:e}=this;return e&&"activeLayer"in e&&e.activeLayer},()=>this._constructLegendElementsForWMTSlayer()),"wmts-activeLayer-watcher");const t=e.styleId?e.styles?.find(({id:t})=>t===e.styleId)?.legendUrl:void 0;t&&(this.legendElements=[{type:"symbol-table",title:e.title,infos:[{src:t,opacity:this.opacity}]}]),this._loading=!1,this.notifyChange("ready")}async _constructLegendElementsForWMSSublayers(){this._loading=!0,this.legendElements=[],this.removeHandles("wms-sublayers-watcher");const e=this.layer;let t=null;(e.customParameters||e.customLayerParameters)&&(t={...e.customParameters,...e.customLayerParameters}),this.addHandles(y(()=>{const{layer:e}=this;return e&&"sublayers"in e&&e.sublayers},()=>this._constructLegendElementsForWMSSublayers()),"wms-sublayers-watcher"),this.legendElements=await this._generateLegendElementsForWMSSublayers(e.sublayers,t),this._loading=!1,this.notifyChange("ready")}async _generateLegendElementsForWMSSublayers(e,t){const i=this.layer,s=[];this.addHandles(e.on("change",()=>this._constructLegendElementsForWMSSublayers()),"wms-sublayers-watcher");const l=this.sublayerIds?.map(e=>i.findSublayerById(e))?.filter(r)??[],n=l.length?l:e.toArray();for(const r of n){const e=y(()=>[r.title,r.visible,r.legendEnabled],()=>this._constructLegendElementsForWMSSublayers());if(this.addHandles(e,"wms-sublayers-watcher"),!this.respectLayerVisibility||r.visible&&r.legendEnabled){const e=await this._generateSymbolTableElementForWMSSublayer(r,t);e?.infos.length&&s.unshift(e)}}return s}async _generateSymbolTableElementForWMSSublayer(e,t){if(!e.legendUrl&&e.sublayers){const i=(await this._generateLegendElementsForWMSSublayers(e.sublayers,t)).filter(e=>e);return{type:"symbol-table",title:e.title,infos:i}}return this._generateSymbolTableElementForLegendUrl(e,t)}async _generateSymbolTableElementForLegendUrl(e,t){let i=e.legendUrl;if(!i)return;const l={type:"symbol-table",title:e.title||e.name||String(e.id??""),infos:[]};t&&(i=g(i,t));let r=null;const n=e.layer?.opacity;try{r=(await s(i,{responseType:"image"})).data,r&&(r.style.opacity=n)}catch{}return l.infos.push({src:i,preview:r,opacity:n}),l}_getLegendLayers(e,t){const i=et&&et[e];return i?Promise.resolve(i):this._legendRequest(t).then(t=>{const i=t.layers;return et[e]=i,i})}_legendRequest(e){const t=this.layer;let i={f:"json",dynamicLayers:e};if(He(t)){const e=t.exportImageServiceParameters.rasterFunction;if(e&&(i.renderingRule=JSON.stringify(e.functionDefinition?.toJSON()||e.toJSON())),t.bandIds&&(i.bandIds=t.bandIds.join()),t.raster||t.viewId||t.customParameters){const{raster:e,viewId:s,customParameters:l}=t;i={raster:e,viewId:s,...i,...l}}}let l=t.url.replace(/(\/)+$/,"");if("version"in t&&+t.version>=10.01){const e=l.indexOf("?");e>-1?l=l.slice(0,e)+"/legend"+l.slice(e):l+="/legend"}else{const e=l.toLowerCase().indexOf("/rest/"),t=-1===e?l:l.slice(0,e)+l.slice(e+5);l=ye+"?soapUrl="+encodeURI(t)+"&returnbytes=true"}return s(l,{query:i}).then(e=>e.data)}async _constructLegendElementsForBuildingSceneLayer(){this._loading=!0,this.legendElements=[],this.removeHandles("sublayers-watcher");const e=this.layer;this.addHandles(y(()=>e.sublayers,()=>this._constructLegendElementsForBuildingSceneLayer()),"sublayers-watcher");try{this.legendElements=await this._generateLegendElementsForBuildingSublayers(e.sublayers,this.opacity)}catch(t){o.getLogger(this).warn("Request to server for legend has failed!",t)}finally{this._loading=!1,this.notifyChange("ready")}}async _generateLegendElementsForBuildingSublayers(e,t){let i=[];this.addHandles(e.on("change",()=>this._constructLegendElementsForBuildingSceneLayer()),"sublayers-watcher");const s=e.toArray();for(const l of s){const e=y(()=>["renderer"in l&&l.renderer,l.opacity,l.title,l.visible],()=>this._constructLegendElementsForBuildingSceneLayer());if(this.addHandles(e,"sublayers-watcher"),!this.respectLayerVisibility||l.visible){const e=null!=l?.opacity?l.opacity:null,s=null!=e?e*t:t;if("building-group"===l.type){const e={type:"symbol-table",title:l.title,infos:[]},t=await this._generateLegendElementsForBuildingSublayers(l.sublayers,s);e.infos.push(...t),i=[e,...i]}else if(l.renderer){i=[...await this._getRendererLegendElements(l.renderer,{title:l.title,opacity:s,sublayer:l}),...i]}}}return i.filter(e=>!!e&&(!("infos"in e)||!e.infos||e.infos.length>0))}async _constructLegendElementsForSublayers(){this._loading=!0,this.removeHandles("sublayers-watcher");const e=this.layer;if(!(Ne(e)||$e(e)||Pe(e))||this.hideLayersNotInCurrentView&&!await this._isLayerInCurrentView())return this.legendElements=[],this._loading=!1,void this.notifyChange("ready");this.addHandles(y(()=>e.sublayers,()=>this._constructLegendElementsForSublayers),"sublayers-watcher");try{this.legendElements=await this._generateLegendElementsForSublayers(e.sublayers,this.opacity)}catch(t){o.getLogger(this).warn("Request to server for legend has failed!",t)}finally{this._loading=!1,this.notifyChange("ready")}}async _generateLegendElementsForSublayers(e,t,i){const s=this.layer;let l=[];this.addHandles(e.on("change",()=>this._constructLegendElementsForSublayers()),"sublayers-watcher");let n=e.toArray();!i&&this.sublayerIds&&this.sublayerIds.length&&(n=Pe(s)?this.sublayerIds.map(e=>s.findSublayerForSubtypeCode(e)).filter(r):this.sublayerIds.map(e=>s.findSublayerById(e)).filter(r));for(const r of n){const e=y(()=>[r.renderer,r.opacity,r.title,r.visible,r.legendEnabled],()=>this._constructLegendElementsForSublayers());this.addHandles(e,"sublayers-watcher");const s=r.createQuery().where,n=!this.hideLayersNotInCurrentView||await this._isLayerInCurrentView(s),a=!this.respectLayerVisibility||r.visible&&r.legendEnabled&&this._isSublayerInScale(r);if(n&&a){const e=null!=r?.opacity?r.opacity:null,s=null!=e?e*t:t,n=!Qe(r)||r.originIdOf("renderer")>2&&!r.sublayers;if(r.renderer&&n){await r.load();l=[...await this._getRendererLegendElements(r.renderer,{title:r.title,opacity:s,sublayer:r}),...l]}else if(Qe(r)){const e=await this._generateSymbolTableElementForSublayer(r,s,i);e&&l.unshift(e)}}}return l.filter(e=>!!e&&(!("infos"in e)||!e.infos||e.infos.length>0))}async _generateSymbolTableElementForSublayer(e,t,i){if(!i){i=new Map;const t=this.layer,s=e.source;let l=null;if(!(!s||"map-layer"===s.type&&s.mapLayerId===e.id&&(!s.gdbVersion||s.gdbVersion===("gdbVersion"in t&&t.gdbVersion)))||e.originIdOf("renderer")>2||e.originIdOf("labelingInfo")>2||e.originIdOf("labelsVisible")>2){const e=new L({layer:this.layer});l=e.hasDynamicLayers?e.dynamicLayers:null,e.destroy()}const r=l||`${t.uid}-default`;(await this._getLegendLayers(r,l)).forEach(e=>i.set(e.layerId,e))}const s=i.get(e.id);if((!s||s?.subLayerIds&&s.defaultVisibility)&&e.sublayers){const s=await this._generateLegendElementsForSublayers(e.sublayers,t,i);return{type:"symbol-table",title:e.title,infos:s}}return this._generateSymbolTableElementForLegendLayer(s,e,t)}_generateSymbolTableElementForLegendLayer(e,t,i){if(!e?.legend||this.respectLayerVisibility&&!this._isLegendLayerInScale(e,t))return null;const s=t?.renderer;let l=t?.title||e.layerName;if(s&&(!t||t?.originIdOf("renderer")>2)){const e=t?.title||this._getRendererTitle(s,t);e&&(l&&"string"!=typeof e&&"title"in e&&(e.title=l),l=e)}const r={type:"symbol-table",title:l,legendType:e.legendType||null,infos:[]},n=t?this._sanitizeLegendForSublayer(e.legend.slice(),t):e.legend;return e.legendGroups&&e.legendGroups.length>0?e.legendGroups.forEach(s=>{const l={type:"symbol-table",title:s.heading,legendType:e.legendType||null,infos:this._generateSymbolTableElementInfosForLegendLayer(n.filter(e=>e.groupId===s.id),e.layerId,s.heading||r.title||t?.title,i)};l.infos?.length>0&&r.infos.push(l)}):r.infos=this._generateSymbolTableElementInfosForLegendLayer(n,e.layerId,r.title||t?.title,i),r.infos.length>0?r:null}_generateSymbolTableElementInfosForLegendLayer(e,t,s,l){return e.map(e=>{let r=e.url;if(e.imageData&&e.imageData.length>0)r=`data:image/png;base64,${e.imageData}`;else{if(r.startsWith("http"))return null;r=i(`${this.layer.url}/${t}/images/${r}`)}let n=e.label;return"<all other values>"===n&&(n="others"),{previewAriaLabel:n||s,label:n,src:r,opacity:l??this.opacity,width:e.width,height:e.height}}).filter(r)}_isSublayerInScale(e){const t=e.minScale||0,i=e.maxScale||0;return!(t>0&&t<this.scale||i>this.scale)}_isLegendLayerInScale(e,t){const i=t||this.layer;let s=null,l=null,r=!0;return!i.minScale&&0!==i.minScale||!i.maxScale&&0!==i.maxScale?(0===e.minScale&&i.tileInfo&&(s=i.tileInfo.lods[0].scale),0===e.maxScale&&i.tileInfo&&(l=i.tileInfo.lods[i.tileInfo.lods.length-1].scale)):(s=Math.min(i.minScale,e.minScale)||i.minScale||e.minScale,l=Math.max(i.maxScale,e.maxScale)),(s>0&&s<this.scale||l>this.scale)&&(r=!1),r}_sanitizeLegendForSublayer(e,t){if("version"in this.layer&&+this.layer.version<10.1||0===e.length)return e;const i=t.renderer,s=e.some(e=>e.values);let l=0,r=null;return s&&e.some((e,t)=>(e.values||(l=t,r=e,r.label||(r.label="others")),null!=r)),i?"unique-value"===i.type?r&&(e.splice(l,1),e.push(r)):"class-breaks"===i.type&&(r&&e.splice(l,1),i.legendOptions?.order||e.reverse(),r&&e.push(r)):r&&(e.splice(l,1),e.push(r)),e}async _getRendererLegendElements(e,t={}){if(!ke(e,this.view))return o.getLogger(this).warn(`Renderer of type '${e.type}' not supported!`),[];if(Ve(e))return this._constructPointCloudRendererLegendElements(e,t);if(je(e))return this._constructDotDensityRendererLegendElements(e);const i=await this._loadRenderer(e);return Oe(i)?this._constructPieChartRendererLegendElements(i):this._constructRendererLegendElements(i,t)}async _getLegendElementsForFeatureReduction(e){let t=null;return"binning"===e.type?t=e.renderer:"cluster"===e.type&&(t=this._getClusterRenderer(e)),t?this._getRendererLegendElements(t,{isFeatureReductionRenderer:!0}):[]}_getPointCloudRendererTitle(e){return(e.legendOptions?.title||e.field)??""}async _constructPointCloudRendererLegendElements(e,t={}){const i=t.title,s=[];let l=null,r=null;if(xe(e))l={type:"symbol-table",title:i||this._getPointCloudRendererTitle(e),infos:[]},e.colorClassBreakInfos.forEach(e=>{l.infos.unshift({label:e.label||e.minValue+" - "+e.maxValue,value:[e.minValue,e.maxValue],symbol:this._getAppliedCloneSymbol(be,e.color)})});else if(ze(e)){const t=e.stops;let s=null;if(t?.length&&(1===t.length&&(s=t[0].color),!s)){const e=t[0].value,i=t[t.length-1].value;if(null!=e&&null!=i){s=H(e+(i-e)/2,t)}}l={type:"symbol-table",title:null,infos:[{label:null,value:null,symbol:this._getAppliedCloneSymbol(be,s||be.color)}]};const n=q(e.stops??[])??[];r={type:"color-ramp",title:i||this._getPointCloudRendererTitle(e),infos:n,preview:M(n.map(e=>e.color))}}else Te(e)&&(l={type:"symbol-table",title:i||this._getPointCloudRendererTitle(e),infos:[]},e.colorUniqueValueInfos?.forEach(e=>{l.infos.push({label:e.label||e.values.join(", "),value:e.values.join(", "),symbol:this._getAppliedCloneSymbol(be,e.color)})}));return l?.infos.length&&s.push(l),r?.infos.length&&s.push(r),await this._generatePreviewsForLegendElements(s,{opacity:this.opacity,symbolConfig:{applyColorModulation:!!e.colorModulation}}),s}async _getElementInfoForDotDensity(e,t){const{color:i,label:s,valueExpressionTitle:l}=t,{backgroundColor:r,outline:n,dotSize:a}=e,o=this.cssEffectFilter,u=a+"-"+i+"-"+r+"-"+(n&&JSON.stringify(n.toJSON()))+"-"+o,c=this._dotDensityUrlCache,d=c.has(u)?c.get(u):P(e,i);c.set(u,d);const y={shape:{type:"image",x:0,y:0,width:d.width,height:d.height,src:d.src},fill:null,stroke:null,offset:[0,0]},h=k([[y]],[d.width,d.height],{cssEffectFilter:this.cssEffectFilter});return{opacity:1,src:d.src,preview:h,width:d.width,height:d.height,previewAriaLabel:s||l}}async _constructDotDensityRendererLegendElements(e){const t=e.calculateDotValue(this.view.scale),i=e.legendOptions?.unit,s={type:"symbol-table",title:{value:t&&Math.round(t),unit:i||""},infos:[]};for(const l of e.attributes){const t=await this._getElementInfoForDotDensity(e,l);t.label=l.label||l.valueExpressionTitle||l.field,s.infos.push(t)}return[s]}async _constructPieChartRendererLegendElements(e){const t=[];let i=null;const s=e.outline;e.attributes.forEach(e=>{const i=new j({color:e.color,outline:s}),l=e.label||e.valueExpressionTitle||e.field;t.push({label:l,symbol:i})});const l=t.length?[...t]:[];if(e.othersCategory?.color&&0!==e.othersCategory?.threshold){const l=new j({color:e.othersCategory.color,outline:s});i=e.othersCategory.label||"Other",t.push({label:i,symbol:l})}if(e.defaultColor?.a){const i=new j({color:e.defaultColor,outline:s});t.push({label:e.defaultLabel,symbol:i})}const r=await this._getVisualVariableLegendElements(e,this.layer)||[];if(t.length){r.unshift({type:"symbol-table",title:null,infos:t});const n=l.filter(e=>e.label!==i).map(e=>e.symbol.color).filter(Boolean),a=U(n,{holePercentage:e.holePercentage,backgroundColor:e.backgroundFillSymbol?.color,cssEffectFilter:this.cssEffectFilter,outline:s});r.unshift({type:"pie-chart-ramp",title:this._getRendererTitle(e,this.layer),infos:t,preview:a})}return await this._generatePreviewsForLegendElements(r,{opacity:this.layer.opacity,cssEffectFilter:this.cssEffectFilter}),r}async _getWhereClause(e,t,i){const s=await p(e,i),l=new Set,{field:r,field2:n,field3:a}=t;E(l,i,[r,n,a]),await F(l,i,null,t.valueExpression);const o=new Set(Array.from(l,e=>e.toLowerCase())),u=s?.fieldNames.map(e=>e.toLowerCase());return u?.some(e=>!o.has(e))?null:s}async _processDefinitionExpression(e,t){if(!("definitionExpression"in e))return;const i=e.definitionExpression;i&&this.respectLayerDefinitionExpression?this._layerDefinitionExpression!==i&&(this._layerDefinitionExpressionClause=await this._getWhereClause(i,t,e.fieldsIndex)):this._layerDefinitionExpressionClause=null,this._layerDefinitionExpression=i}async _processDisplayFilter(e,t){if(!("displayFilterInfo"in e))return;const i=e.displayFilterInfo?v(e.displayFilterInfo,this.view):null;return i?.where?this._layerDisplayFilter?.id!==i?.id&&(this._layerDisplayFilterClause=await this._getWhereClause(i.where,t,e.fieldsIndex)):this._layerDisplayFilterClause=null,this._layerDisplayFilter=i,i}async _constructRendererLegendElements(e,t={}){const{title:i,sublayer:s,isFeatureReductionRenderer:l}=t,r=s||this.layer,n=ie(e,"reference-size"),a=ie(e,"spike"),o=l&&"renderer"in r&&r.renderer?r.renderer:e;let u=null;Ie(o)&&(await this._processDefinitionExpression(r,o),u=await this._processDisplayFilter(r,o)),this._hasColorRamp=!1,this._hasOpacityRamp=!1,this._hasSizeRamp=!1,this._scaleDrivenSizeVariable=null;const c=await this._getVisualVariableLegendElements(e,r)||[],d={type:"symbol-table",title:i||this._getRendererTitle(e,r),infos:[]};let y=null,h=!1;const f=new Set;if(Se(e)&&!this._hasSizeRamp){const t=await se(e);d.infos.push({label:null,symbol:t})}else if(Je(e)){let t=i;const s=Ze(e)?"univariate-above-and-below-ramp":"univariate-color-size-ramp",l=c.findIndex(e=>"color-ramp"===e.type),r=-1!==l?c.splice(l,1)[0]:null,n=c.findIndex(e=>"size-ramp"===e.type),a=-1!==n?c.splice(n,1)[0]:null,o=[];r&&(t=r.title,o.push(r)),a&&(t=a.title,o.push(a)),o.length>0&&c.push({type:s,title:t,infos:o})}else if(Re(e)){const t=J(e);c.push({type:"heatmap-ramp",title:i||this._getRendererTitle(e,r),infos:t,preview:M(t.map(e=>e.color),{cssEffectFilter:this.cssEffectFilter})})}else if(Ie(e)){const t=e.authoringInfo;if("relationship"===t?.type){const{numClasses:i,field1:s,field2:l}=t,n=t.focus;if(i&&s&&l){const t=[s,l];let a=Z(n)||0;for(const e of t){const{field:t,normalizationField:i,label:s}=e,l=s||{field:this._getFieldAlias(t,r),normField:i&&this._getFieldAlias(i,r)},n=Ye.clone();n.angle=a,d.infos.push({label:l,symbol:n}),f.add(n),a+=90}const o=Q({focus:n,numClasses:i,infos:e.uniqueValueInfos??[]});c.unshift(o)}}else if(He(this.layer)||qe(this.layer)){const{uniqueValueInfos:t}=e;if(t)for(const e of t)e.symbol&&await this._checkClausesForUVR(o,e.value)&&d.infos.push({label:e.label||e.value,value:e.value,symbol:e.symbol})}else{const{field:t,field2:s,field3:l,fieldDelimiter:a,valueExpression:c,defaultSymbol:y}=e,f=!(!t&&!c||!s&&!l),m=u?.title?.trim(),p=[],{uniqueValueGroups:g}=e;if(g)for(const e of g){const i={type:"symbol-table",title:e.heading,infos:[]},{classes:u}=e;if(u)for(const e of u){const{symbol:u,values:d}=e;if(u){const y=[],h=[];for(const e of d??[]){const{value:i,value2:n,value3:o}=e,u=[],d=[];(t||c)&&(u.push(i),d.push(this._getDomainName(t,i,r)??le(i,re(r,t,this.view.timeZone)))),s&&(u.push(n),d.push(this._getDomainName(s,n,r)??le(n,re(r,s,this.view.timeZone)))),l&&(u.push(o),d.push(this._getDomainName(l,o,r)??le(o,re(r,l,this.view.timeZone)))),y.push(f?u.join(a||""):u[0]),h.push(d.join(" - "))}const m=y.join(", ");let p=e.label;if(!p){const e=h.filter(Boolean);p=e.length?e.join(", "):m}let g=u;"cim"===g.type&&n&&(g=g.clone(),z(g,{innerDotSize:.5*de,outerRingSize:de}));let b=!1;for(const e of y)if(b=await this._checkClausesForUVR(o,e),b)break;b&&i.infos.push({label:p,value:m,symbol:g})}}i.infos.length&&p.push(i)}if(p.length){const t=p[0];if(1===p.length&&"title"in t&&!t.title){const e=t.infos?.filter(Ke)??[];d.infos.push(...e)}else y&&(p.push({type:"symbol-table",infos:[{label:e.defaultLabel||"others",symbol:y}]}),h=!0),d.infos.push(...p);i||e.legendOptions?.title||e.valueExpressionTitle?m&&(d.title=`${d.title} (${m})`):d.title=m}}e.defaultSymbol&&!h&&(d.infos.push({label:e.defaultLabel||"others",symbol:e.defaultSymbol}),h=!0)}else if(Ce(e)){if(!n&&!a){y=this._isUnclassedRenderer(e);if(!y||!this._hasSizeRamp){const t=e.classBreakInfos.filter(({symbol:e})=>e),i="ascending-values"===e.legendOptions?.order;for(const{label:e,minValue:s,maxValue:l,symbol:n}of t){const t=e||(y?null:`${s} - ${l}`),a={previewAriaLabel:t||d.title||r.title,label:t,value:[s,l],symbol:n};i?d.infos.push(a):d.infos.unshift(a)}y&&(d.title=null),this._updateInfosForClassedSizeRenderer(e,d.infos)}e.defaultSymbol&&!y&&(d.infos.push({label:e.defaultLabel||"others",symbol:e.defaultSymbol}),h=!0)}}else if(Le(e))if(qe(this.layer)||We(this.layer)){const t=await this._constructTileImageryStretchRendererElements(e);Ge(t)?c.push(t):d.infos=t}else{const t=this.layer;let i,s;e.customStatistics?.length&&({min:i,max:s}=e.customStatistics[0]);let l=[],r=t.serviceRasterInfo;if(t.rasterFunction)try{r=await t.generateRasterInfo(t.rasterFunction)}catch{}const n=w(r.pixelType);if(1===r.bandCount){const l=t.bandIds?.[0]||0;i=null!=i?i:r.statistics?r.statistics[l].min:n[0],s=null!=s?s:r.statistics?r.statistics[l].max:n[1],i||s?c.push(await this._getStretchLegendElements(e,{min:i,max:s})):this._getServerSideLegend()}else if(1===t.bandIds?.length)i=null!=i?i:r.statistics?r.statistics[t.bandIds[0]].min:n[0],s=null!=s?s:r.statistics?r.statistics[t.bandIds[0]].max:n[1],i||s?c.push(await this._getStretchLegendElements(e,{min:i,max:s})):this._getServerSideLegend();else if(r.bandCount>=3){const{bandInfos:e}=r,{bandIds:i}=t;e.length>=r.bandCount?3===i?.length?(l=i.map(t=>e[t].name),d.infos=this._createSymbolTableElementMultiBand(l)):"lerc"===t.format?(l=[0,1,2].map(t=>e[t].name),d.infos=this._createSymbolTableElementMultiBand(l)):this._getServerSideLegend():"lerc"===t.format?(l=["band1","band2","band3"],d.infos=this._createSymbolTableElementMultiBand(l)):this._getServerSideLegend()}else this._getServerSideLegend()}else if(ve(e))e.colormapInfos.forEach(e=>{d.infos.push({label:e.label,value:e.value,symbol:this._getAppliedCloneSymbol(_e,e.color)})});else if(Fe(e)){let i=e.symbol;switch(t.geometryType){case"point":i="pointSymbol"in r?r.pointSymbol:null;break;case"polyline":i="lineSymbol"in r?r.lineSymbol:null;break;case"polygon":i="polygonSymbol"in r?r.polygonSymbol:null}const s=this._clusterSizeVariable&&this._getClusterSymbol()||!this._hasSizeRamp;e.symbol&&s&&d.infos.push({previewAriaLabel:e.label||d.title||r.title,label:e.label,symbol:i})}else if(we(e)){e.outputUnit&&(this.title="("+e.toJSON().outputUnit+")"),d.title=e.attributeField;const t=e.getClassBreakInfos();t?.length?t.forEach(e=>{d.infos.push({label:e.minValue+" - "+e.maxValue,symbol:e.symbol})}):d.infos.push({label:e.attributeField,symbol:e.getDefaultSymbol()})}else Ee(e)&&c.push(await this._getStretchLegendElements(e,{min:0,max:255}));const m=e.defaultSymbol;!m||h||Fe(e)||y&&!this._hasColorRamp&&!this._hasSizeRamp&&!this._hasOpacityRamp||c.push({type:"symbol-table",infos:[{label:e.defaultLabel||"others",symbol:m}]}),d.infos.length&&c.unshift(d);const p=null==t.opacity?this.opacity:t.opacity,g=this._isTallSymbol("visualVariables"in e?e.visualVariables:null),b=He(this.layer)||qe(this.layer);return await this._generatePreviewsForLegendElements(c,{opacity:p,symbolConfig:{isTall:g,isSquareFill:b},cssEffectFilter:this.cssEffectFilter},{arrowMarkerSymbols:f}),e=null,c}async _waitForLayerViewUpdate(e){await f(()=>!e.updating)}async _checkFeatureCountForExpression(e,t){const i=this.layerView;if(!(i&&"createQuery"in i&&"queryFeatureCount"in i))return!0;try{await this._waitForLayerViewUpdate(i);const s=i.createQuery();e&&(s.where=ne(s.where,e)),t&&(s.geometry=t);return await i.queryFeatureCount(s)>0}catch{return!0}}async _checkClausesForUVR(e,t){const i=Xe(e,t);if(!i)return!0;return(!!!(!this._layerDefinitionExpressionClause&&this._layerDefinitionExpression&&this.respectLayerDefinitionExpression||!this._layerDisplayFilterClause&&this._layerDisplayFilter?.where)||await this._checkFeatureCountForExpression(`${e.field} = ${t}`))&&(!this._layerDefinitionExpressionClause||this._layerDefinitionExpressionClause.testFeature(i))&&(!this._layerDisplayFilterClause||this._layerDisplayFilterClause.testFeature(i))}_getServerSideLegend(){setTimeout(()=>this.buildLegendElementsForTools(),0)}_getAllInfos(e){const t=e?.infos;return t?t.reduce((e,t)=>e.concat(this._getAllInfos(t)),[]):[e]}async _constructTileImageryStretchRendererElements(e){const t=this.layer,i=t.symbolizer.rasterInfo??t.raster.rasterInfo;let s,l;const r=e?.customStatistics?.length?e.customStatistics:i?.statistics;if(r)({min:s,max:l}=r[0]);else{const e=w(i.pixelType);s=e[0],l=e[1]}if(t.hasStandardTime()&&(s=t.getStandardTimeValue(s),l=t.getStandardTimeValue(l)),1===i.bandCount||1===t.bandIds?.length)return this._getStretchLegendElements(e,{min:s,max:l});const n=(t?.bandIds?.length?t.bandIds:Array.from(Array(Math.min(i.bandCount,3)).keys())).map(e=>i.bandInfos[e].name);return n.length<3?n.push(n[1]):n.length>3&&n.splice(3),this._createSymbolTableElementMultiBand(n)}async _getStretchLegendElements(e,t){const i=e.colorRamp?.toJSON(),s=W(i,t);return{type:"stretch-ramp",title:"",infos:s,preview:M(s.map(e=>e.color))}}_getClusterSymbol(){const e=this.layer,t="featureReduction"in e&&e.featureReduction,i=t&&"symbol"in t&&t.renderer;return i&&!0!==i?.authoringInfo?.isAutoGenerated?null:t&&"symbol"in t?t.symbol:null}async _getSizeLegendElement(e,t,i,s){return{type:"size-ramp",title:this._clusterSizeVariable?this._getClusterTitle(t):e,infos:await K(i,t,await ae(i),this.scale,this.view,s,this._clusterSizeVariable?this._getClusterSymbol():null)}}_createSymbolTableElementMultiBand(e){const t=[],i=["red","green","blue"];return e.forEach((e,s)=>{t.push({label:{colorName:i[s],bandName:e},src:oe[s],opacity:this.opacity??1})}),t}_updateInfosForClassedSizeRenderer(e,t){const i="class-breaks-size"===e.authoringInfo?.type,s=e.classBreakInfos.some(e=>N(e.symbol));if(i&&s){const i=X,s=Y,l=e.classBreakInfos.length,r=(i-s)/(l>1?l-1:l);t.forEach((e,t)=>{e.size=i-r*t})}}_isTallSymbol(e){let t=!1,i=!1;if(e)for(let s=0;s<e.length&&(!t||!i);s++){const l=e[s];"size"===l.type&&("height"===l.axis&&(t=!0),"width-and-depth"===l.axis&&(i=!0))}return t&&i}async _generatePreviewsForLegendElements(e,t,i){const s=[];for(const l of e)for(const e of l.infos??[])if("infos"in e&&e.infos&&s.push(this._generatePreviewsForLegendElements([e],t,i)),Ke(e)&&e.symbol&&!e.preview){let r=!0;if("cim"===e.symbol.type){const{minScale:t,maxScale:i}=e.symbol.data;(t&&t<this.scale||i&&i>this.scale)&&(r=!1)}r&&s.push(this._generateSymbolPreviewForInfo(e,{...t,clipBloomEffect:"theme"in l&&"spike"===l.theme,cssEffectFilter:i?.arrowMarkerSymbols?.has(e.symbol)?null:t.cssEffectFilter},i?{applyScaleDrivenSize:!i.arrowMarkerSymbols?.has(e.symbol)}:void 0))}await Promise.all(s)}async _getSize(e,t){let i=null==e.size&&this._hasSizeRamp?m(22):e.size;if(this._scaleDrivenSizeVariable&&t?.applyScaleDrivenSize){const{getSize:t}=await import("../../../renderers/visualVariables/support/visualVariableUtils.js");i=t(this._scaleDrivenSizeVariable,null,{view:this.view.type,scale:this.scale,shape:"simple-marker"===e.symbol.type?e.symbol.style:null})}return i}_getPreviewCIMOptions(e){return{style:"legend",cimOptions:{allowScalingUp:this._hasSizeRamp||!(!this._scaleDrivenSizeVariable||!e?.applyScaleDrivenSize),viewParams:this.isScaleDriven?{viewingMode:"2d"===this.view?.type?"map":this.view?.viewingMode,scale:this.view?.scale}:null}}}async _generateSymbolPreviewForInfo(e,t={},i){const{symbol:s}=e;try{if(t.size=await this._getSize(e,i),t.scale=!1,"cim"===s.type){const e=this._getPreviewCIMOptions(i);t={...t,...e}}e.preview=await A(s,t)}catch{e.preview=null,o.getLogger(this).warn(`Generating symbol preview failed for symbol type: ${s?.type}`)}}_getClusterRenderer(e){this._clusterSizeVariable=null;const t="renderer"in this.layer?this.layer.renderer:null,i=e.renderer?.clone()||t?.clone(),s=$(e,this.layerView,this.view);if(s&&null!=i&&"visualVariables"in i){const t=i.visualVariables?.some(e=>"size"===e.type&&"outline"!==e.target&&!pe.test(e.valueExpression));if(!t){if("clusterMinSize"in e&&"clusterMaxSize"in e){const{clusterMinSize:t,clusterMaxSize:i}=e;s.legendOptions=new x({showLegend:t!==i})}const t=i.visualVariables||[];i.visualVariables=t.concat([s]),this._clusterSizeVariable=s}}return i}async _loadRenderer(e){if(tt.has(e))return tt.get(e);const t=[],i=e.clone(),s=await ae(i);if(Ce(i)||Ie(i)){const e=(i.classBreakInfos||i.uniqueValueInfos).map(e=>this._fetchSymbol(e.symbol,s).then(t=>{e.symbol=t}).catch(()=>{e.symbol=null}));Array.prototype.push.apply(t,e)}return t.push(this._fetchSymbol(i.symbol||i.defaultSymbol,i.defaultSymbol?null:s).then(e=>{this._applySymbolToRenderer(i,e,Fe(i))}).catch(()=>{this._applySymbolToRenderer(i,null,Fe(i))})),await Promise.allSettled(t),tt.set(e,i),i}_applySymbolToRenderer(e,t,i){i?e.symbol=t:e.defaultSymbol=t}async _fetchSymbol(e,t){if(!e)throw new Error;if("web-style"===e.type){const i=this._webStyleSymbolCache;try{const s=await e.fetchSymbol({cache:i});return this._getAppliedCloneSymbol(s,t)}catch{throw o.getLogger(this).warn("Fetching web-style failed!"),new Error}}return this._getAppliedCloneSymbol(e,t)}_getAppliedCloneSymbol(e,i){if(!e||!i)return e;const s=e.clone(),l=i&&i.toRgba();return s.type.includes("3d")?this._applyColorTo3dSymbol(s,l):"cim"===s.type?O(s,i):s.color&&(s.color=new t(l||s.color)),s}_applyColorTo3dSymbol(e,i){i&&e.symbolLayers.forEach(e=>{e&&(e.material||(e.material={}),e.material.color=new t(i))})}async _getVisualVariableLegendElements(e,t){if(!("visualVariables"in e)||"vector-field"===e.type)return null;const i=e.visualVariables??[],s=[],l=[],n=[],a=ie(e,"reference-size")??ie(e,"spike");let o;const c=this._clusterSizeVariable;if(2===a?.sizeStops?.length&&(Ce(e)||Ie(e))){const[e,t]=a.sizeStops,i=c?c.minDataValue:e.value,s=c?c.maxDataValue:t.value;o=new D({field:a.field??void 0,normalizationField:a.normalizationField,minSize:u(e.size,10,100),maxSize:u(t.size,50,150),minDataValue:i,maxDataValue:s}),l.push(o)}for(const r of i)if("color"===r.type)s.push(r);else if("size"===r.type){if("cluster_count"===r.field&&o)continue;l.push(r)}else"opacity"===r.type&&n.push(r);const d=[...s,...l,...n];let y,h;if(0===s.length&&Ce(e)&&e.classBreakInfos&&1===e.classBreakInfos.length){const t=e.classBreakInfos[0];y=t&&t.symbol}if(0===s.length&&Fe(e)&&(y=e.symbol),y)if(y.type.includes("3d")){const e=y.symbolLayers.at(0);"water"===e.type?null!=e.color&&(h=e.color):null!=e.material?.color&&(h=e.material.color)}else y.url||(h=y.color);const f=this.cssEffectFilter;return(await Promise.all(d.map(async i=>{if(!1!==i.legendOptions?.showLegend){const s=Se(e)?i.field:this._getRampTitle(i,t);let l=null;const r=ue(t,i,this.view.timeZone);if("color"===i.type){const e=await G(i,null,r)??[];l={type:"color-ramp",title:s,infos:e,preview:M(e.map(e=>e.color),{cssEffectFilter:f})},this._hasColorRamp||(this._hasColorRamp=e.length>0)}else if("size"===i.type&&"outline"!==i.target)pe.test(i.valueExpression)?this._clusterSizeVariable||(this._scaleDrivenSizeVariable=i):(l=await this._getSizeLegendElement(s,i,e,r),o===i&&"spike"===a?.theme&&(l.theme=a.theme),this._hasSizeRamp||(this._hasSizeRamp=!(null==l.infos||!l.infos.length)));else if("opacity"===i.type){const e=await G(i,h,r)??[];l={type:"opacity-ramp",title:s,infos:e,preview:M(e.map(e=>e.color),{cssEffectFilter:f})},this._hasOpacityRamp||(this._hasOpacityRamp=e.length>0)}return l?.infos?l:null}}))).filter(r)}_getDomainName(e,t,i){if(e&&"function"!=typeof e){const s="getField"in i&&i.getField?.(e),l=s&&"getFieldDomain"in i&&i.getFieldDomain?i.getFieldDomain(s.name,{excludeImpliedDomains:has("esri-widget-legacy-field-domain-calculation")}):null;return"coded-value"===l?.type?l.getName(t):null}return null}_getClusterTitle(e){const t=this.layer,i=e.field;if("featureReduction"in t&&"cluster"===t.featureReduction?.type){const e=t.featureReduction,s="popupTemplate"in e&&e.popupTemplate,l=s&&s.fieldInfos;if(l)for(const t of l)if(t.fieldName===i)return"cluster_count"===i?t.label||{showCount:!0}:t.label}return{showCount:!0}}_getRampTitle(e,t){let i=e.field,s=e.normalizationField,l=!1,r=!1,n=!1,a=null;i="function"==typeof i?null:i,s="function"==typeof s?null:s;const o=e.legendOptions?.title;if(null!=o)a=o;else if(e.valueExpressionTitle)a=e.valueExpressionTitle;else{if("renderer"in t&&t.renderer&&"authoringInfo"in t.renderer&&t.renderer.authoringInfo?.visualVariables){const e=t.renderer.authoringInfo.visualVariables;for(let t=0;t<e.length;t++){const i=e[t];if("color"===i.type){if("ratio"===i.style){l=!0;break}if("percent"===i.style){r=!0;break}if("percent-of-total"===i.style){n=!0;break}}}}a={field:i&&this._getFieldAlias(i,t),normField:s&&this._getFieldAlias(s,t),ratio:l,ratioPercent:r,ratioPercentTotal:n}}return a}_getRendererTitle(e,t){const i=e;if(i.legendOptions?.title)return i.legendOptions.title;if(i.valueExpressionTitle)return i.valueExpressionTitle;let s=i.field,l=null,r=null;if(Ce(i)&&(l=i.normalizationField,r="percent-of-total"===i.normalizationType),s="function"==typeof s?null:s,l="function"==typeof l?null:l,Ie(i)){const{field2:e,field3:l,fieldDelimiter:r}=i;let n=s&&this._getFieldAlias(s,t);return e&&(n=`<${n}>${r}<${this._getFieldAlias(e,t)}>`,l&&(n=`${n}${r}<${this._getFieldAlias(l,t)}>`)),n}let n=null;return(s||l)&&(n={field:s&&this._getFieldAlias(s,t),normField:l&&this._getFieldAlias(l,t),normByPct:r}),n}_getFieldAlias(e,t){const i="featureReduction"in t&&t.featureReduction;if(I(t)&&!i)return t.getFieldAlias(e)||e;const s="popupTemplate"in t?t.popupTemplate:null,l=s?.fieldInfos;let r=l?.find(t=>e===t.fieldName),n=null;"getField"in t&&t.getField?n=t.getField(e):"fieldsIndex"in t&&t.fieldsIndex&&(n=t.fieldsIndex.get(e));let a=null;i&&(r??="popupTemplate"in i?i.popupTemplate?.fieldInfos?.find(t=>e?.toLowerCase()===t.fieldName?.toLowerCase()):void 0,"fields"in i&&i.fields&&(a=i.fields.find(t=>t.name?.toLowerCase()===e?.toLowerCase())));const o=r||n||a;let u=null;return o&&(u=r?.label||n?.alias||a?.alias||"name"in o&&o.name||"fieldName"in o&&o.fieldName||null),u}_isUnclassedRenderer(e){const t=e.visualVariables;let i=!1;return Ce(e)&&e.classBreakInfos&&1===e.classBreakInfos.length&&t&&(i=e.field?t.some(t=>!(!t||e.field!==t.field||(e.normalizationField||t.normalizationField)&&e.normalizationField!==t.normalizationField)):!!t.length),i}};e([b()],it.prototype,"_loading",void 0),e([b()],it.prototype,"children",void 0),e([b({readOnly:!0})],it.prototype,"cssEffectFilter",null),e([b()],it.prototype,"layerView",void 0),e([b()],it.prototype,"layer",void 0),e([b()],it.prototype,"legendElements",void 0),e([b({readOnly:!0})],it.prototype,"loading",null),e([b({readOnly:!0})],it.prototype,"opacity",null),e([b()],it.prototype,"parent",void 0),e([b({readOnly:!0,dependsOn:[]})],it.prototype,"ready",null),e([b()],it.prototype,"hideLayersNotInCurrentView",void 0),e([b()],it.prototype,"keepCacheOnDestroy",void 0),e([b()],it.prototype,"respectLayerDefinitionExpression",void 0),e([b()],it.prototype,"respectLayerVisibility",void 0),e([b({readOnly:!0})],it.prototype,"scale",null),e([b()],it.prototype,"sublayerIds",void 0),e([b({readOnly:!0})],it.prototype,"isScaleDriven",null),e([b()],it.prototype,"title",void 0),e([b({readOnly:!0,dependsOn:["ready"],value:0})],it.prototype,"version",null),e([b()],it.prototype,"view",void 0),it=e([_("esri.widgets.Legend.support.ActiveLayerInfo")],it);export{it as default};
5
+ import{__decorate as e}from"tslib";import t from"../../../Color.js";import{addTokenParameter as i}from"../../../kernel.js";import s from"../../../request.js";import l from"../../../core/Accessor.js";import{isSome as r}from"../../../core/arrayUtils.js";import n from"../../../core/Collection.js";import{JSONMap as a}from"../../../core/jsonMap.js";import o from"../../../core/Logger.js";import{clamp as u}from"../../../core/mathUtils.js";import{debounce as c}from"../../../core/promiseUtils.js";import{on as d,watch as y,initial as h,whenOnce as f}from"../../../core/reactiveUtils.js";import{px2pt as m}from"../../../core/screenUtils.js";import{parseWhereClause as p}from"../../../core/sql.js";import{addQueryParameters as g}from"../../../core/urlUtils.js";import{property as b,subclass as _}from"../../../core/accessorSupport/decorators.js";import{EffectView as S}from"../../../layers/effects/EffectView.js";import{getPixelValueRange as w}from"../../../layers/raster/formats/pixelRangeUtils.js";import{getEffectiveDisplayFilter as v}from"../../../layers/support/displayFilterUtils.js";import{ExportImageParameters as L}from"../../../layers/support/ExportImageParameters.js";import{collectFields as E,collectArcadeFieldNames as F}from"../../../layers/support/fieldUtils.js";import{isFeatureLayer as C,supportsFieldConfiguration as I}from"../../../layers/support/layerUtils.js";import{fromJSON as R}from"../../../renderers/support/jsonUtils.js";import{isSupportedRenderer3D as V}from"../../../renderers/support/rendererConversion.js";import D from"../../../renderers/visualVariables/SizeVariable.js";import x from"../../../renderers/visualVariables/support/SizeVariableLegendOptions.js";import{updateReferenceSizeSymbol as z}from"../../../smartMapping/renderers/support/referenceSizeUtils.js";import T from"../../../symbols/SimpleFillSymbol.js";import j from"../../../symbols/SimpleMarkerSymbol.js";import{applyCIMSymbolColor as O}from"../../../symbols/support/cimSymbolUtils.js";import{renderSymbol as k}from"../../../symbols/support/renderUtils.js";import{renderColorRampPreviewHTML as M,renderDotDensityPreviewHTML as P,renderPieChartPreviewHTML as U,renderPreviewHTML as A}from"../../../symbols/support/symbolUtils.js";import{getCSSFilterFromEffectList as B,isVolumetricSymbol as N}from"../../../symbols/support/utils.js";import{getEffectiveClusterSizeVariable as $}from"./clusterUtils.js";import{getColorFromPointCloudStops as H,getRampStopsForPointCloud as q,getStretchRampStops as W,getRampStops as G}from"./colorRampUtils.js";import{getHeatmapRampStops as J}from"./heatmapRampUtils.js";import{getRotationAngleForFocus as Z,getRelationshipRampElement as Q}from"./relationshipRampUtils.js";import{getRampStops as K,realWorldMaxSize as X,realWorldMinSize as Y}from"./sizeRampUtils.js";import{specialCharsLessThan as ee,specialCharsGreaterThan as te,getAuthoringInfoVisualVariableByTheme as ie,getSymbolForFlowRenderer as se,formatValue as le,getFormatOptions as re,mergeWhereClauses as ne,getMedianColor as ae,rgbImgSource as oe,getFormatOptionsForVisualVariable as ue}from"./utils.js";import{formatNumberLabel as ce}from"../../smartMapping/support/utils.js";const de=16,ye="https://utility.arcgis.com/sharing/tools/legend",he="esri.layers.ImageryLayer",fe="esri.layers.ImageryTileLayer",me="esri.layers.WCSLayer",pe=/^\s*(return\s+)?\$view\.scale\s*(;)?\s*$/i,ge=new a({esriGeometryPoint:"point",esriGeometryMultipoint:"multipoint",esriGeometryPolyline:"polyline",esriGeometryPolygon:"polygon",esriGeometryMultiPatch:"multipatch"}),be=new j({size:6,outline:{color:[128,128,128,.5],width:.5}}),_e=new T({style:"solid"});function Se(e){return"flow"===e.type}function we(e){return"vector-field"===e.type}function ve(e){return"raster-colormap"===e.type}function Le(e){return"raster-stretch"===e.type}function Ee(e){return"raster-shaded-relief"===e.type}function Fe(e){return"esri.renderers.SimpleRenderer"===e.declaredClass}function Ce(e){return"esri.renderers.ClassBreaksRenderer"===e.declaredClass}function Ie(e){return"esri.renderers.UniqueValueRenderer"===e.declaredClass}function Re(e){return"esri.renderers.HeatmapRenderer"===e.declaredClass}function Ve(e){return xe(e)||ze(e)||Te(e)||De(e)}function De(e){return"esri.renderers.PointCloudRGBRenderer"===e.declaredClass}function xe(e){return"esri.renderers.PointCloudClassBreaksRenderer"===e.declaredClass}function ze(e){return"esri.renderers.PointCloudStretchRenderer"===e.declaredClass}function Te(e){return"esri.renderers.PointCloudUniqueValueRenderer"===e.declaredClass}function je(e){return"esri.renderers.DotDensityRenderer"===e.declaredClass}function Oe(e){return"esri.renderers.PieChartRenderer"===e.declaredClass}function ke(e,t){return Fe(e)||Ce(e)||Ie(e)||Re(e)||je(e)||Oe(e)?"2d"===t.type||V(e):Le(e)||ve(e)||Ee(e)||xe(e)||ze(e)||Te(e)||we(e)||Se(e)}function Me(e){return"esri.layers.BuildingSceneLayer"===e.declaredClass}function Pe(e){return"esri.layers.SubtypeGroupLayer"===e.declaredClass}function Ue(e){return"esri.layers.VoxelLayer"===e.declaredClass}function Ae(e){return"esri.layers.WMSLayer"===e.declaredClass}function Be(e){return"esri.layers.WMTSLayer"===e.declaredClass}function Ne(e){return"esri.layers.MapImageLayer"===e.declaredClass}function $e(e){return"esri.layers.TileLayer"===e.declaredClass}function He(e){return e.declaredClass===he}function qe(e){return e.declaredClass===fe}function We(e){return e.declaredClass===me}function Ge(e){return"stretch-ramp"===e.type}function Je(e){const t="authoringInfo"in e?e?.authoringInfo:null;return"univariate-color-size"===t?.type}function Ze(e){const t="authoringInfo"in e?e?.authoringInfo:null;return"univariate-color-size"===t?.type&&"above-and-below"===t?.univariateTheme}function Qe(e){return"sublayers"in e}function Ke(e){return e&&"symbol"in e}function Xe(e,t){const{field:i,field2:s,field3:l,fieldDelimiter:r,valueExpression:n}=e;if(!i)return null;const a=!(!i&&!n||!s&&!l)?t?.toString().split(r||""):[t],o=i?{[i]:a?.[0]}:null;return o&&(s&&(o[s]=a?.[1]),l&&(o[l]=a?.[2])),o}const Ye=new j({style:"path",path:"M10,5 L5,0 0,5 M5,0 L5,15",size:15,outline:{width:1,color:[85,85,85,1]}});let et={};const tt=new WeakMap;let it=class extends l{constructor(e){super(e),this._hasColorRamp=!1,this._hasOpacityRamp=!1,this._hasSizeRamp=!1,this._loading=!1,this._webStyleSymbolCache=new Map,this._dotDensityUrlCache=new Map,this._scaleDrivenSizeVariable=null,this._clusterSizeVariable=null,this._layerDefinitionExpression=null,this._layerDefinitionExpressionClause=null,this._layerDisplayFilter=null,this._layerDisplayFilterClause=null,this.children=new n,this.layerView=null,this.layer=null,this.legendElements=[],this.parent=null,this.hideLayersNotInCurrentView=!1,this.keepCacheOnDestroy=!1,this.respectLayerDefinitionExpression=!1,this.respectLayerVisibility=!0,this.sublayerIds=[],this.title=null,this.view=null}initialize(){const e=()=>this.notifyChange("ready");this.addHandles([d(()=>this.children,"change",t=>{const{added:i,removed:s}=t;i.forEach(t=>{const i=`activeLayerInfo-ready-watcher-${t.layer.uid}`;this.addHandles(y(()=>t.ready,e,h),i)}),s.forEach(e=>this.removeHandles(e.layer.uid)),e()})]),this.keepCacheOnDestroy||(et={})}destroy(){this._webStyleSymbolCache=null,this._dotDensityUrlCache=null,this._scaleDrivenSizeVariable=null,this.keepCacheOnDestroy||(et=null),this._layerDefinitionExpressionClause=null}get cssEffectFilter(){const{layer:e,scale:t}=this,i="effect"in e?e.effect:null;if(!i)return null;const s=new S({effect:i});return s.endTransition(),s.scale=t,B(s,!0)}get loading(){return this.children.length>0?this.children.some(e=>e.loading):this._loading}get opacity(){const e=this.layer.opacity,t=this.parent?.opacity,i=this.layer.parent,s=i&&"uid"in i?this._getParentLayerOpacity(i):null;return null!=t?t*e:null!=s?s*e:e}get ready(){return null===this.layer||(this.children.length>0?this._isGroupActive():this.legendElements.length>0)}get scale(){return this.view?.scale??0}get isScaleDriven(){const e=this.layer;if(null===e)return!1;if("effect"in e&&e.effect&&Array.isArray(e.effect))return!0;if("featureReduction"in e&&e.featureReduction){if("cluster"===e.featureReduction.type)return!0;if("binning"===e.featureReduction.type&&"renderer"in e.featureReduction&&e.featureReduction.renderer)return this._isRendererScaleDriven(e.featureReduction.renderer)}return"renderer"in e&&e.renderer?!!("displayFilterInfo"in e&&e.displayFilterInfo&&Ie(e.renderer))||this._isRendererScaleDriven(e.renderer):this._isLayerScaleDriven(this.layer)}get version(){return this._get("version")+1}async buildLegendElementsForFeatureCollections(e){this._loading=!0;if(!(!this.hideLayersNotInCurrentView||await this._isLayerInCurrentView()))return this.legendElements=[],this._loading=!1,void this.notifyChange("ready");const t=Array.from(e,e=>{if(C(e))return this._getRendererLegendElements(e.renderer,{title:e.title});if(e.featureSet?.features.length){const t=e.layerDefinition,i=t?.drawingInfo,s=i&&R(i.renderer),l=ge.read(t.geometryType);return s?this._getRendererLegendElements(s,{title:e.name,geometryType:l}):(o.getLogger(this).warn("drawingInfo not available!"),null)}return null});try{const e=[],i=await Promise.allSettled(t);for(const t of i)if("fulfilled"===t.status)for(const i of t.value??[])e.push(i);this.legendElements=e}catch(i){o.getLogger(this).warn("error while building legend for layer!",i)}finally{this._loading=!1,this.notifyChange("ready")}}async buildLegendElementsForRenderer(e){try{this._loading=!0;const t=!this.hideLayersNotInCurrentView||await this._isLayerInCurrentView();this.legendElements=t?await this._getRendererLegendElements(e):[]}catch(t){o.getLogger(this).warn("error while building legend for layer!",t)}finally{this._loading=!1,this.notifyChange("ready")}}async buildLegendElementsForFeatureReduction(e){try{this._loading=!0,await this._waitForLayerViewUpdate(this.layerView);const t=!this.hideLayersNotInCurrentView||await this._isLayerInCurrentView();this.legendElements=t?await this._getLegendElementsForFeatureReduction(e):[]}catch(t){o.getLogger(this).warn("error while building legend for layer!",t)}finally{this._loading=!1,this.notifyChange("ready")}}async buildLegendElementsForTools(){this._loading=!0;const e=this.layer;if(Ue(e))await this._constructLegendElementsForVoxelLayer();else if(Be(e))this._constructLegendElementsForWMTSlayer();else if(Ae(e))await this._constructLegendElementsForWMSSublayers();else if(Me(e))await this._constructLegendElementsForBuildingSceneLayer();else if(Ne(e)||$e(e)||Pe(e))await this._constructLegendElementsForSublayers();else{this.removeHandles("imageryLayers-watcher");let t="default";if(He(e)){const i=e;t=(i?.rasterFunction?.functionName||"default")+"_"+(e.bandIds?.length?e.bandIds.join(""):"###")}if(qe(e)||"link-chart"===e.type)return;await this._getLegendLayers(`${e.uid}-${t}`).then(async t=>{this.legendElements=[];const i=t.map(async t=>{if(He(e)){const t=y(()=>[e.rasterFunction,e.bandIds],()=>c(async()=>{et.default=null,e.renderer?await this.buildLegendElementsForRenderer(e.renderer):await this.buildLegendElementsForTools()})());this.addHandles(t,"imageryLayers-watcher")}const i=this._generateSymbolTableElementForLegendLayer(t);i?.infos.length&&(He(e)&&(i.title=e.title),this.legendElements.push(i))});await Promise.allSettled(i)}).catch(e=>{o.getLogger(this).warn("Request to server for legend has failed!",e)})}this._loading=!1,this.notifyChange("ready")}async _isLayerInCurrentView(e){return this._checkFeatureCountForExpression(e,this.view.extent)}_getParentLayerOpacity(e){let t=1;const i=e.parent;return i&&"uid"in i&&(t=this._getParentLayerOpacity(i)),e.opacity*t}_isGroupActive(){return this.children.some(e=>e.ready)}_isRendererScaleDriven(e){if("dot-density"===e.type)return!0;const t="valueExpression"in e?e.valueExpression:null;if(pe.test(t))return!0;const i="visualVariables"in e?e.visualVariables:null;return!!i?.some(e=>this._isScaleDrivenSizeVariable(e))||this._hasScaleDrivenSymbols(e)}_hasScaleDrivenSymbols(e){switch(e.type){case"simple":return this._isScaleDrivenSymbol(e.symbol);case"class-breaks":return this._isScaleDrivenSymbol(e.defaultSymbol)||e.classBreakInfos.some(e=>this._isScaleDrivenSymbol(e.symbol));case"unique-value":return this._isScaleDrivenSymbol(e.defaultSymbol)||!!e.uniqueValueInfos?.some(e=>this._isScaleDrivenSymbol(e.symbol))}return!1}_isScaleDrivenSymbol(e){if("cim"===e?.type){const{primitiveOverrides:t,minScale:i,maxScale:s}=e.data,l=t?.some(e=>(e.valueExpressionInfo?.expression||"").includes("$view.scale"))??!1;return null!=i||null!=s||l}return!1}_isScaleDrivenSizeVariable(e){if(e&&"size"!==e.type)return!1;const t=e,i=t.minSize,s=t.maxSize;return!("object"!=typeof i||!i||!this._isScaleDrivenSizeVariable(i))||(!("object"!=typeof s||!s||!this._isScaleDrivenSizeVariable(s))||pe.test(t.valueExpression))}_isLayerScaleDriven(e){if("minScale"in e&&e.minScale>0||"maxScale"in e&&e.maxScale>0)return!0;if("sublayers"in e&&e.sublayers)return e.sublayers.some(e=>this._isLayerScaleDriven(e));const t=e.parent;if(!1===e.loaded&&t&&Ne(t)&&"source"in e&&e.source&&"map-layer"===e.source.type)for(const i of t.sourceJSON.layers??[])if(i.id===e.source.mapLayerId&&(i.minScale>0||i.maxScale>0))return!0;return!1}async _constructLegendElementsForVoxelLayer(){this._loading=!0,this.legendElements=[],this.removeHandles("voxel-style-watcher"),this.removeHandles("voxel-current-variable");const e=this.layer;this.addHandles(y(()=>e.currentVariableId,()=>this._constructLegendElementsForVoxelLayer()),"voxel-current-variable"),this.addHandles(y(()=>e.getVariableStyles(),()=>this._constructLegendElementsForVoxelLayer()),"voxel-style-watcher");const t=e.getVariableStyle(null),i=[];if(t)if(t.uniqueValues?.length){const e=[];t.uniqueValues.forEach(t=>{t.enabled&&e.push({label:t.label||`${t.value}`,value:t.value,symbol:new T({color:t.color,outline:null})})}),e.length&&i.push({type:"symbol-table",title:t.label,infos:e})}else if(t.transferFunction){const{colorStops:e,stretchRange:s}=t.transferFunction,l=e.toArray().reverse(),r=s.map((e,t)=>`${0===t?ee:te} ${ce(e)}`).reverse(),n=l.map(e=>({color:e.color,value:null,label:null}));n[0].label=r[0],n[n.length-1].label=r[1],i.push({type:"color-ramp",title:t.label,infos:n,preview:M(l.map(e=>e.color))})}await this._generatePreviewsForLegendElements(i,{opacity:e.opacity}),this.legendElements=i,this._loading=!1,this.notifyChange("ready")}_constructLegendElementsForWMTSlayer(){this._loading=!0,this.legendElements=[],this.removeHandles("wmts-activeLayer-watcher");const e=this.layer.activeLayer;this.addHandles(y(()=>{const{layer:e}=this;return e&&"activeLayer"in e&&e.activeLayer},()=>this._constructLegendElementsForWMTSlayer()),"wmts-activeLayer-watcher");const t=e.styleId?e.styles?.find(({id:t})=>t===e.styleId)?.legendUrl:void 0;t&&(this.legendElements=[{type:"symbol-table",title:e.title,infos:[{src:t,opacity:this.opacity}]}]),this._loading=!1,this.notifyChange("ready")}async _constructLegendElementsForWMSSublayers(){this._loading=!0,this.legendElements=[],this.removeHandles("wms-sublayers-watcher");const e=this.layer;let t=null;(e.customParameters||e.customLayerParameters)&&(t={...e.customParameters,...e.customLayerParameters}),this.addHandles(y(()=>{const{layer:e}=this;return e&&"sublayers"in e&&e.sublayers},()=>this._constructLegendElementsForWMSSublayers()),"wms-sublayers-watcher"),this.legendElements=await this._generateLegendElementsForWMSSublayers(e.sublayers,t),this._loading=!1,this.notifyChange("ready")}async _generateLegendElementsForWMSSublayers(e,t){const i=this.layer,s=[];this.addHandles(e.on("change",()=>this._constructLegendElementsForWMSSublayers()),"wms-sublayers-watcher");const l=this.sublayerIds?.map(e=>i.findSublayerById(e))?.filter(r)??[],n=l.length?l:e.toArray();for(const r of n){const e=y(()=>[r.title,r.visible,r.legendEnabled],()=>this._constructLegendElementsForWMSSublayers());if(this.addHandles(e,"wms-sublayers-watcher"),!this.respectLayerVisibility||r.visible&&r.legendEnabled){const e=await this._generateSymbolTableElementForWMSSublayer(r,t);e?.infos.length&&s.unshift(e)}}return s}async _generateSymbolTableElementForWMSSublayer(e,t){if(!e.legendUrl&&e.sublayers){const i=(await this._generateLegendElementsForWMSSublayers(e.sublayers,t)).filter(e=>e);return{type:"symbol-table",title:e.title,infos:i}}return this._generateSymbolTableElementForLegendUrl(e,t)}async _generateSymbolTableElementForLegendUrl(e,t){let i=e.legendUrl;if(!i)return;const l={type:"symbol-table",title:e.title||e.name||String(e.id??""),infos:[]};t&&(i=g(i,t));let r=null;const n=e.layer?.opacity;try{r=(await s(i,{responseType:"image"})).data,r&&(r.style.opacity=n)}catch{}return l.infos.push({src:i,preview:r,opacity:n}),l}_getLegendLayers(e,t){const i=et&&et[e];return i?Promise.resolve(i):this._legendRequest(t).then(t=>{const i=t.layers;return et[e]=i,i})}_legendRequest(e){const t=this.layer;let i={f:"json",dynamicLayers:e};if(He(t)){const e=t.exportImageServiceParameters.rasterFunction;if(e&&(i.renderingRule=JSON.stringify(e.functionDefinition?.toJSON()||e.toJSON())),t.bandIds&&(i.bandIds=t.bandIds.join()),t.raster||t.viewId||t.customParameters){const{raster:e,viewId:s,customParameters:l}=t;i={raster:e,viewId:s,...i,...l}}}let l=t.url.replace(/(\/)+$/,"");if("version"in t&&+t.version>=10.01){const e=l.indexOf("?");e>-1?l=l.slice(0,e)+"/legend"+l.slice(e):l+="/legend"}else{const e=l.toLowerCase().indexOf("/rest/"),t=-1===e?l:l.slice(0,e)+l.slice(e+5);l=ye+"?soapUrl="+encodeURI(t)+"&returnbytes=true"}return s(l,{query:i}).then(e=>e.data)}async _constructLegendElementsForBuildingSceneLayer(){this._loading=!0,this.legendElements=[],this.removeHandles("sublayers-watcher");const e=this.layer;this.addHandles(y(()=>e.sublayers,()=>this._constructLegendElementsForBuildingSceneLayer()),"sublayers-watcher");try{this.legendElements=await this._generateLegendElementsForBuildingSublayers(e.sublayers,this.opacity)}catch(t){o.getLogger(this).warn("Request to server for legend has failed!",t)}finally{this._loading=!1,this.notifyChange("ready")}}async _generateLegendElementsForBuildingSublayers(e,t){let i=[];this.addHandles(e.on("change",()=>this._constructLegendElementsForBuildingSceneLayer()),"sublayers-watcher");const s=e.toArray();for(const l of s){const e=y(()=>["renderer"in l&&l.renderer,l.opacity,l.title,l.visible],()=>this._constructLegendElementsForBuildingSceneLayer());if(this.addHandles(e,"sublayers-watcher"),!this.respectLayerVisibility||l.visible){const e=null!=l?.opacity?l.opacity:null,s=null!=e?e*t:t;if("building-group"===l.type){const e={type:"symbol-table",title:l.title,infos:[]},t=await this._generateLegendElementsForBuildingSublayers(l.sublayers,s);e.infos.push(...t),i=[e,...i]}else if(l.renderer){i=[...await this._getRendererLegendElements(l.renderer,{title:l.title,opacity:s,sublayer:l}),...i]}}}return i.filter(e=>!!e&&(!("infos"in e)||!e.infos||e.infos.length>0))}async _constructLegendElementsForSublayers(){this._loading=!0,this.removeHandles("sublayers-watcher");const e=this.layer;if(!(Ne(e)||$e(e)||Pe(e))||this.hideLayersNotInCurrentView&&!await this._isLayerInCurrentView())return this.legendElements=[],this._loading=!1,void this.notifyChange("ready");this.addHandles(y(()=>e.sublayers,()=>this._constructLegendElementsForSublayers),"sublayers-watcher");try{this.legendElements=await this._generateLegendElementsForSublayers(e.sublayers,this.opacity)}catch(t){o.getLogger(this).warn("Request to server for legend has failed!",t)}finally{this._loading=!1,this.notifyChange("ready")}}async _generateLegendElementsForSublayers(e,t,i){const s=this.layer;let l=[];this.addHandles(e.on("change",()=>this._constructLegendElementsForSublayers()),"sublayers-watcher");let n=e.toArray();!i&&this.sublayerIds&&this.sublayerIds.length&&(n=Pe(s)?this.sublayerIds.map(e=>s.findSublayerForSubtypeCode(e)).filter(r):this.sublayerIds.map(e=>s.findSublayerById(e)).filter(r));for(const r of n){const e=y(()=>[r.renderer,r.opacity,r.title,r.visible,r.legendEnabled],()=>this._constructLegendElementsForSublayers());this.addHandles(e,"sublayers-watcher");const s=r.createQuery().where,n=!this.hideLayersNotInCurrentView||await this._isLayerInCurrentView(s),a=!this.respectLayerVisibility||r.visible&&r.legendEnabled&&this._isSublayerInScale(r);if(n&&a){const e=null!=r?.opacity?r.opacity:null,s=null!=e?e*t:t,n=!Qe(r)||r.originIdOf("renderer")>2&&!r.sublayers;if(r.renderer&&n){await r.load();l=[...await this._getRendererLegendElements(r.renderer,{title:r.title,opacity:s,sublayer:r}),...l]}else if(Qe(r)){const e=await this._generateSymbolTableElementForSublayer(r,s,i);e&&l.unshift(e)}}}return l.filter(e=>!!e&&(!("infos"in e)||!e.infos||e.infos.length>0))}async _generateSymbolTableElementForSublayer(e,t,i){if(!i){i=new Map;const t=this.layer,s=e.source;let l=null;if(!(!s||"map-layer"===s.type&&s.mapLayerId===e.id&&(!s.gdbVersion||s.gdbVersion===("gdbVersion"in t&&t.gdbVersion)))||e.originIdOf("renderer")>2||e.originIdOf("labelingInfo")>2||e.originIdOf("labelsVisible")>2){const e=new L({layer:this.layer});l=e.hasDynamicLayers?e.dynamicLayers:null,e.destroy()}const r=l||`${t.uid}-default`;(await this._getLegendLayers(r,l)).forEach(e=>i.set(e.layerId,e))}const s=i.get(e.id);if((!s||s?.subLayerIds&&s.defaultVisibility)&&e.sublayers){const s=await this._generateLegendElementsForSublayers(e.sublayers,t,i);return{type:"symbol-table",title:e.title,infos:s}}return this._generateSymbolTableElementForLegendLayer(s,e,t)}_generateSymbolTableElementForLegendLayer(e,t,i){if(!e?.legend||this.respectLayerVisibility&&!this._isLegendLayerInScale(e,t))return null;const s=t?.renderer;let l=t?.title||e.layerName;if(s&&(!t||t?.originIdOf("renderer")>2)){const e=t?.title||this._getRendererTitle(s,t);e&&(l&&"string"!=typeof e&&"title"in e&&(e.title=l),l=e)}const r={type:"symbol-table",title:l,legendType:e.legendType||null,infos:[]},n=t?this._sanitizeLegendForSublayer(e.legend.slice(),t):e.legend;return e.legendGroups&&e.legendGroups.length>0?e.legendGroups.forEach(s=>{const l={type:"symbol-table",title:s.heading,legendType:e.legendType||null,infos:this._generateSymbolTableElementInfosForLegendLayer(n.filter(e=>e.groupId===s.id),e.layerId,s.heading||r.title||t?.title,i)};l.infos?.length>0&&r.infos.push(l)}):r.infos=this._generateSymbolTableElementInfosForLegendLayer(n,e.layerId,r.title||t?.title,i),r.infos.length>0?r:null}_generateSymbolTableElementInfosForLegendLayer(e,t,s,l){return e.map(e=>{let r=e.url;if(e.imageData&&e.imageData.length>0)r=`data:image/png;base64,${e.imageData}`;else{if(r.startsWith("http"))return null;r=i(`${this.layer.url}/${t}/images/${r}`)}let n=e.label;return"<all other values>"===n&&(n="others"),{previewAriaLabel:n||s,label:n,src:r,opacity:l??this.opacity,width:e.width,height:e.height}}).filter(r)}_isSublayerInScale(e){const t=e.minScale||0,i=e.maxScale||0;return!(t>0&&t<this.scale||i>this.scale)}_isLegendLayerInScale(e,t){const i=t||this.layer;let s=null,l=null,r=!0;return!i.minScale&&0!==i.minScale||!i.maxScale&&0!==i.maxScale?(0===e.minScale&&i.tileInfo&&(s=i.tileInfo.lods[0].scale),0===e.maxScale&&i.tileInfo&&(l=i.tileInfo.lods[i.tileInfo.lods.length-1].scale)):(s=Math.min(i.minScale,e.minScale)||i.minScale||e.minScale,l=Math.max(i.maxScale,e.maxScale)),(s>0&&s<this.scale||l>this.scale)&&(r=!1),r}_sanitizeLegendForSublayer(e,t){if("version"in this.layer&&+this.layer.version<10.1||0===e.length)return e;const i=t.renderer,s=e.some(e=>e.values);let l=0,r=null;return s&&e.some((e,t)=>(e.values||(l=t,r=e,r.label||(r.label="others")),null!=r)),i?"unique-value"===i.type?r&&(e.splice(l,1),e.push(r)):"class-breaks"===i.type&&(r&&e.splice(l,1),i.legendOptions?.order||e.reverse(),r&&e.push(r)):r&&(e.splice(l,1),e.push(r)),e}async _getRendererLegendElements(e,t={}){if(!ke(e,this.view))return o.getLogger(this).warn(`Renderer of type '${e.type}' not supported!`),[];if(Ve(e))return this._constructPointCloudRendererLegendElements(e,t);if(je(e))return this._constructDotDensityRendererLegendElements(e);const i=await this._loadRenderer(e);return Oe(i)?this._constructPieChartRendererLegendElements(i):this._constructRendererLegendElements(i,t)}async _getLegendElementsForFeatureReduction(e){let t=null;return"binning"===e.type?t=e.renderer:"cluster"===e.type&&(t=this._getClusterRenderer(e)),t?this._getRendererLegendElements(t,{isFeatureReductionRenderer:!0}):[]}_getPointCloudRendererTitle(e){return(e.legendOptions?.title||e.field)??""}async _constructPointCloudRendererLegendElements(e,t={}){const i=t.title,s=[];let l=null,r=null;if(xe(e))l={type:"symbol-table",title:i||this._getPointCloudRendererTitle(e),infos:[]},e.colorClassBreakInfos.forEach(e=>{l.infos.unshift({label:e.label||e.minValue+" - "+e.maxValue,value:[e.minValue,e.maxValue],symbol:this._getAppliedCloneSymbol(be,e.color)})});else if(ze(e)){const t=e.stops;let s=null;if(t?.length&&(1===t.length&&(s=t[0].color),!s)){const e=t[0].value,i=t[t.length-1].value;if(null!=e&&null!=i){s=H(e+(i-e)/2,t)}}l={type:"symbol-table",title:null,infos:[{label:null,value:null,symbol:this._getAppliedCloneSymbol(be,s||be.color)}]};const n=q(e.stops??[])??[];r={type:"color-ramp",title:i||this._getPointCloudRendererTitle(e),infos:n,preview:M(n.map(e=>e.color))}}else Te(e)&&(l={type:"symbol-table",title:i||this._getPointCloudRendererTitle(e),infos:[]},e.colorUniqueValueInfos?.forEach(e=>{l.infos.push({label:e.label||e.values.join(", "),value:e.values.join(", "),symbol:this._getAppliedCloneSymbol(be,e.color)})}));return l?.infos.length&&s.push(l),r?.infos.length&&s.push(r),await this._generatePreviewsForLegendElements(s,{opacity:this.opacity,symbolConfig:{applyColorModulation:!!e.colorModulation}}),s}async _getElementInfoForDotDensity(e,t){const{color:i,label:s,valueExpressionTitle:l}=t,{backgroundColor:r,outline:n,dotSize:a}=e,o=this.cssEffectFilter,u=a+"-"+i+"-"+r+"-"+(n&&JSON.stringify(n.toJSON()))+"-"+o,c=this._dotDensityUrlCache,d=c.has(u)?c.get(u):P(e,i);c.set(u,d);const y={shape:{type:"image",x:0,y:0,width:d.width,height:d.height,src:d.src},fill:null,stroke:null,offset:[0,0]},h=k([[y]],[d.width,d.height],{cssEffectFilter:this.cssEffectFilter});return{opacity:1,src:d.src,preview:h,width:d.width,height:d.height,previewAriaLabel:s||l}}async _constructDotDensityRendererLegendElements(e){const t=e.calculateDotValue(this.view.scale),i=e.legendOptions?.unit,s={type:"symbol-table",title:{value:t&&Math.round(t),unit:i||""},infos:[]};for(const l of e.attributes){const t=await this._getElementInfoForDotDensity(e,l);t.label=l.label||l.valueExpressionTitle||l.field,s.infos.push(t)}return[s]}async _constructPieChartRendererLegendElements(e){const t=[];let i=null;const s=e.outline;e.attributes.forEach(e=>{const i=new j({color:e.color,outline:s}),l=e.label||e.valueExpressionTitle||e.field;t.push({label:l,symbol:i})});const l=t.length?[...t]:[];if(e.othersCategory?.color&&0!==e.othersCategory?.threshold){const l=new j({color:e.othersCategory.color,outline:s});i=e.othersCategory.label||"Other",t.push({label:i,symbol:l})}if(e.defaultColor?.a){const i=new j({color:e.defaultColor,outline:s});t.push({label:e.defaultLabel,symbol:i})}const r=await this._getVisualVariableLegendElements(e,this.layer)||[];if(t.length){r.unshift({type:"symbol-table",title:null,infos:t});const n=l.filter(e=>e.label!==i).map(e=>e.symbol.color).filter(Boolean),a=U(n,{holePercentage:e.holePercentage,backgroundColor:e.backgroundFillSymbol?.color,cssEffectFilter:this.cssEffectFilter,outline:s});r.unshift({type:"pie-chart-ramp",title:this._getRendererTitle(e,this.layer),infos:t,preview:a})}return await this._generatePreviewsForLegendElements(r,{opacity:this.layer.opacity,cssEffectFilter:this.cssEffectFilter}),r}async _getWhereClause(e,t,i){const s=await p(e,i),l=new Set,{field:r,field2:n,field3:a}=t;E(l,i,[r,n,a]),await F(l,i,null,t.valueExpression);const o=new Set(Array.from(l,e=>e.toLowerCase())),u=s?.fieldNames.map(e=>e.toLowerCase());return u?.some(e=>!o.has(e))?null:s}async _processDefinitionExpression(e,t){if(!("definitionExpression"in e))return;const i=e.definitionExpression;i&&this.respectLayerDefinitionExpression?this._layerDefinitionExpression!==i&&(this._layerDefinitionExpressionClause=await this._getWhereClause(i,t,e.fieldsIndex)):this._layerDefinitionExpressionClause=null,this._layerDefinitionExpression=i}async _processDisplayFilter(e,t){if(!("displayFilterInfo"in e))return;const i=e.displayFilterInfo?v(e.displayFilterInfo,this.view):null;return i?.where?this._layerDisplayFilter?.id!==i?.id&&(this._layerDisplayFilterClause=await this._getWhereClause(i.where,t,e.fieldsIndex)):this._layerDisplayFilterClause=null,this._layerDisplayFilter=i,i}async _constructRendererLegendElements(e,t={}){const{title:i,sublayer:s,isFeatureReductionRenderer:l}=t,r=s||this.layer,n=ie(e,"reference-size"),a=ie(e,"spike"),o=l&&"renderer"in r&&r.renderer?r.renderer:e;let u=null;Ie(o)&&(await this._processDefinitionExpression(r,o),u=await this._processDisplayFilter(r,o)),this._hasColorRamp=!1,this._hasOpacityRamp=!1,this._hasSizeRamp=!1,this._scaleDrivenSizeVariable=null;const c=await this._getVisualVariableLegendElements(e,r)||[],d={type:"symbol-table",title:i||this._getRendererTitle(e,r),infos:[]};let y=null,h=!1;const f=new Set;if(Se(e)&&!this._hasSizeRamp){const t=await se(e);d.infos.push({label:null,symbol:t})}else if(Je(e)){let t=i;const s=Ze(e)?"univariate-above-and-below-ramp":"univariate-color-size-ramp",l=c.findIndex(e=>"color-ramp"===e.type),r=-1!==l?c.splice(l,1)[0]:null,n=c.findIndex(e=>"size-ramp"===e.type),a=-1!==n?c.splice(n,1)[0]:null,o=[];r&&(t=r.title,o.push(r)),a&&(t=a.title,o.push(a)),o.length>0&&c.push({type:s,title:t,infos:o})}else if(Re(e)){const t=J(e);c.push({type:"heatmap-ramp",title:i||this._getRendererTitle(e,r),infos:t,preview:M(t.map(e=>e.color),{cssEffectFilter:this.cssEffectFilter})})}else if(Ie(e)){const t=e.authoringInfo;if("relationship"===t?.type){const{numClasses:i,field1:s,field2:l}=t,n=t.focus;if(i&&s&&l){const t=[s,l];let a=Z(n)||0;for(const e of t){const{field:t,normalizationField:i,label:s}=e,l=s||{field:this._getFieldAlias(t,r),normField:i&&this._getFieldAlias(i,r)},n=Ye.clone();n.angle=a,d.infos.push({label:l,symbol:n}),f.add(n),a+=90}const o=Q({focus:n,numClasses:i,infos:e.uniqueValueInfos??[]});c.unshift(o)}}else if(He(this.layer)||qe(this.layer)){const{uniqueValueInfos:t}=e;if(t)for(const e of t)e.symbol&&await this._checkClausesForUVR(o,e.value)&&d.infos.push({label:e.label||e.value,value:e.value,symbol:e.symbol})}else{const{field:t,field2:s,field3:l,fieldDelimiter:a,valueExpression:c,defaultSymbol:y}=e,f=!(!t&&!c||!s&&!l),m=u?.title?.trim(),p=[],{uniqueValueGroups:g}=e;if(g)for(const e of g){const i={type:"symbol-table",title:e.heading,infos:[]},{classes:u}=e;if(u)for(const e of u){const{symbol:u,values:d}=e;if(u){const y=[],h=[];for(const e of d??[]){const{value:i,value2:n,value3:o}=e,u=[],d=[];(t||c)&&(u.push(i),d.push(this._getDomainName(t,i,r)??le(i,re(r,t,this.view.timeZone)))),s&&(u.push(n),d.push(this._getDomainName(s,n,r)??le(n,re(r,s,this.view.timeZone)))),l&&(u.push(o),d.push(this._getDomainName(l,o,r)??le(o,re(r,l,this.view.timeZone)))),y.push(f?u.join(a||""):u[0]),h.push(d.join(" - "))}const m=y.join(", ");let p=e.label;if(!p){const e=h.filter(Boolean);p=e.length?e.join(", "):m}let g=u;"cim"===g.type&&n&&(g=g.clone(),z(g,{innerDotSize:.5*de,outerRingSize:de}));let b=!1;for(const e of y)if(b=await this._checkClausesForUVR(o,e),b)break;b&&i.infos.push({label:p,value:m,symbol:g})}}i.infos.length&&p.push(i)}if(p.length){const t=p[0];if(1===p.length&&"title"in t&&!t.title){const e=t.infos?.filter(Ke)??[];d.infos.push(...e)}else y&&(p.push({type:"symbol-table",infos:[{label:e.defaultLabel||"others",symbol:y}]}),h=!0),d.infos.push(...p);i||e.legendOptions?.title||e.valueExpressionTitle?m&&(d.title=`${d.title} (${m})`):d.title=m}}e.defaultSymbol&&!h&&(d.infos.push({label:e.defaultLabel||"others",symbol:e.defaultSymbol}),h=!0)}else if(Ce(e)){if(!n&&!a){y=this._isUnclassedRenderer(e);if(!y||!this._hasSizeRamp){const t=e.classBreakInfos.filter(({symbol:e})=>e),i="ascending-values"===e.legendOptions?.order;for(const{label:e,minValue:s,maxValue:l,symbol:n}of t){const t=e||(y?null:`${s} - ${l}`),a={previewAriaLabel:t||d.title||r.title,label:t,value:[s,l],symbol:n};i?d.infos.push(a):d.infos.unshift(a)}y&&(d.title=null),this._updateInfosForClassedSizeRenderer(e,d.infos)}e.defaultSymbol&&!y&&(d.infos.push({label:e.defaultLabel||"others",symbol:e.defaultSymbol}),h=!0)}}else if(Le(e))if(qe(this.layer)||We(this.layer)){const t=await this._constructTileImageryStretchRendererElements(e);Ge(t)?c.push(t):d.infos=t}else{const t=this.layer;let i,s;e.customStatistics?.length&&({min:i,max:s}=e.customStatistics[0]);let l=[],r=t.serviceRasterInfo;if(t.rasterFunction)try{r=await t.generateRasterInfo(t.rasterFunction)}catch{}const n=w(r.pixelType);if(1===r.bandCount){const l=t.bandIds?.[0]||0;i=null!=i?i:r.statistics?r.statistics[l].min:n[0],s=null!=s?s:r.statistics?r.statistics[l].max:n[1],i||s?c.push(await this._getStretchLegendElements(e,{min:i,max:s})):this._getServerSideLegend()}else if(1===t.bandIds?.length)i=null!=i?i:r.statistics?r.statistics[t.bandIds[0]].min:n[0],s=null!=s?s:r.statistics?r.statistics[t.bandIds[0]].max:n[1],i||s?c.push(await this._getStretchLegendElements(e,{min:i,max:s})):this._getServerSideLegend();else if(r.bandCount>=3){const{bandInfos:e}=r,{bandIds:i}=t;e.length>=r.bandCount?3===i?.length?(l=i.map(t=>e[t].name),d.infos=this._createSymbolTableElementMultiBand(l)):"lerc"===t.format?(l=[0,1,2].map(t=>e[t].name),d.infos=this._createSymbolTableElementMultiBand(l)):this._getServerSideLegend():"lerc"===t.format?(l=["band1","band2","band3"],d.infos=this._createSymbolTableElementMultiBand(l)):this._getServerSideLegend()}else this._getServerSideLegend()}else if(ve(e))e.colormapInfos.forEach(e=>{d.infos.push({label:e.label,value:e.value,symbol:this._getAppliedCloneSymbol(_e,e.color)})});else if(Fe(e)){let i=e.symbol;switch(t.geometryType){case"point":i="pointSymbol"in r?r.pointSymbol:null;break;case"polyline":i="lineSymbol"in r?r.lineSymbol:null;break;case"polygon":i="polygonSymbol"in r?r.polygonSymbol:null}const s=this._clusterSizeVariable&&this._getClusterSymbol()||!this._hasSizeRamp;e.symbol&&s&&d.infos.push({previewAriaLabel:e.label||d.title||r.title,label:e.label,symbol:i})}else if(we(e)){e.outputUnit&&(this.title="("+e.toJSON().outputUnit+")"),d.title=e.attributeField;const t=e.getClassBreakInfos();t?.length?t.forEach(e=>{d.infos.push({label:e.minValue+" - "+e.maxValue,symbol:e.symbol})}):d.infos.push({label:e.attributeField,symbol:e.getDefaultSymbol()})}else Ee(e)&&c.push(await this._getStretchLegendElements(e,{min:0,max:255}));const m=e.defaultSymbol;!m||h||Fe(e)||y&&!this._hasColorRamp&&!this._hasSizeRamp&&!this._hasOpacityRamp||c.push({type:"symbol-table",infos:[{label:e.defaultLabel||"others",symbol:m}]}),d.infos.length&&c.unshift(d);const p=null==t.opacity?this.opacity:t.opacity,g=this._isTallSymbol("visualVariables"in e?e.visualVariables:null),b=He(this.layer)||qe(this.layer);return await this._generatePreviewsForLegendElements(c,{opacity:p,symbolConfig:{isTall:g,isSquareFill:b},cssEffectFilter:this.cssEffectFilter},{arrowMarkerSymbols:f}),e=null,c}async _waitForLayerViewUpdate(e){await f(()=>!e.updating)}async _checkFeatureCountForExpression(e,t){const i=this.layerView;if(!(i&&"createQuery"in i&&"queryFeatureCount"in i))return!0;try{await this._waitForLayerViewUpdate(i);const s=i.createQuery();e&&(s.where=ne(s.where,e)),t&&(s.geometry=t);return await i.queryFeatureCount(s)>0}catch{return!0}}async _checkClausesForUVR(e,t){const i=Xe(e,t);if(!i)return!0;return(!!!(!this._layerDefinitionExpressionClause&&this._layerDefinitionExpression&&this.respectLayerDefinitionExpression||!this._layerDisplayFilterClause&&this._layerDisplayFilter?.where)||await this._checkFeatureCountForExpression(`${e.field} = ${t}`))&&(!this._layerDefinitionExpressionClause||this._layerDefinitionExpressionClause.testFeature(i))&&(!this._layerDisplayFilterClause||this._layerDisplayFilterClause.testFeature(i))}_getServerSideLegend(){setTimeout(()=>this.buildLegendElementsForTools(),0)}_getAllInfos(e){const t=e?.infos;return t?t.reduce((e,t)=>e.concat(this._getAllInfos(t)),[]):[e]}async _constructTileImageryStretchRendererElements(e){const t=this.layer,i=t.symbolizer.rasterInfo??t.raster.rasterInfo;let s,l;const r=e?.customStatistics?.length?e.customStatistics:i?.statistics;if(r)({min:s,max:l}=r[0]);else{const e=w(i.pixelType);s=e[0],l=e[1]}if(t.hasStandardTime()&&(s=t.getStandardTimeValue(s),l=t.getStandardTimeValue(l)),1===i.bandCount||1===t.bandIds?.length)return this._getStretchLegendElements(e,{min:s,max:l});const n=(t?.bandIds?.length?t.bandIds:Array.from(Array(Math.min(i.bandCount,3)).keys())).map(e=>i.bandInfos[e].name);return n.length<3?n.push(n[1]):n.length>3&&n.splice(3),this._createSymbolTableElementMultiBand(n)}async _getStretchLegendElements(e,t){const i=e.colorRamp?.toJSON(),s=W(i,t);return{type:"stretch-ramp",title:"",infos:s,preview:M(s.map(e=>e.color))}}_getClusterSymbol(){const e=this.layer,t="featureReduction"in e&&e.featureReduction,i=t&&"symbol"in t&&t.renderer;return i&&!0!==i?.authoringInfo?.isAutoGenerated?null:t&&"symbol"in t?t.symbol:null}async _getSizeLegendElement(e,t,i,s){return{type:"size-ramp",title:this._clusterSizeVariable?this._getClusterTitle(t):e,infos:await K(i,t,await ae(i),this.scale,this.view,s,this._clusterSizeVariable?this._getClusterSymbol():null)}}_createSymbolTableElementMultiBand(e){const t=[],i=["red","green","blue"];return e.forEach((e,s)=>{t.push({label:{colorName:i[s],bandName:e},src:oe[s],opacity:this.opacity??1})}),t}_updateInfosForClassedSizeRenderer(e,t){const i="class-breaks-size"===e.authoringInfo?.type,s=e.classBreakInfos.some(e=>N(e.symbol));if(i&&s){const i=X,s=Y,l=e.classBreakInfos.length,r=(i-s)/(l>1?l-1:l);t.forEach((e,t)=>{e.size=i-r*t})}}_isTallSymbol(e){let t=!1,i=!1;if(e)for(let s=0;s<e.length&&(!t||!i);s++){const l=e[s];"size"===l.type&&("height"===l.axis&&(t=!0),"width-and-depth"===l.axis&&(i=!0))}return t&&i}async _generatePreviewsForLegendElements(e,t,i){const s=[];for(const l of e)for(const e of l.infos??[])if("infos"in e&&e.infos&&s.push(this._generatePreviewsForLegendElements([e],t,i)),Ke(e)&&e.symbol&&!e.preview){let r=!0;if("cim"===e.symbol.type){const{minScale:t,maxScale:i}=e.symbol.data;(t&&t<this.scale||i&&i>this.scale)&&(r=!1)}r&&s.push(this._generateSymbolPreviewForInfo(e,{...t,clipBloomEffect:"theme"in l&&"spike"===l.theme,cssEffectFilter:i?.arrowMarkerSymbols?.has(e.symbol)?null:t.cssEffectFilter},i?{applyScaleDrivenSize:!i.arrowMarkerSymbols?.has(e.symbol)}:void 0))}await Promise.all(s)}async _getSize(e,t){let i=null==e.size&&this._hasSizeRamp?m(22):e.size;if(this._scaleDrivenSizeVariable&&t?.applyScaleDrivenSize){const{getSize:t}=await import("../../../renderers/visualVariables/support/visualVariableUtils.js");i=t(this._scaleDrivenSizeVariable,null,{view:this.view.type,scale:this.scale,shape:"simple-marker"===e.symbol.type?e.symbol.style:null})}return i}_getPreviewCIMOptions(e){return{style:"legend",cimOptions:{allowScalingUp:this._hasSizeRamp||!(!this._scaleDrivenSizeVariable||!e?.applyScaleDrivenSize),viewParams:this.isScaleDriven?{viewingMode:"2d"===this.view?.type?"map":this.view?.viewingMode,scale:this.view?.scale}:null}}}async _generateSymbolPreviewForInfo(e,t={},i){const{symbol:s}=e;try{if(t.size=await this._getSize(e,i),t.scale=!1,"cim"===s.type){const e=this._getPreviewCIMOptions(i);t={...t,...e}}e.preview=await A(s,t)}catch{e.preview=null,o.getLogger(this).warn(`Generating symbol preview failed for symbol type: ${s?.type}`)}}_getClusterRenderer(e){this._clusterSizeVariable=null;const t="renderer"in this.layer?this.layer.renderer:null,i=e.renderer?.clone()||t?.clone(),s=$(e,this.layerView,this.view);if(s&&null!=i&&"visualVariables"in i){const t=i.visualVariables?.some(e=>"size"===e.type&&"outline"!==e.target&&!pe.test(e.valueExpression));if(!t){if("clusterMinSize"in e&&"clusterMaxSize"in e){const{clusterMinSize:t,clusterMaxSize:i}=e;s.legendOptions=new x({showLegend:t!==i})}const t=i.visualVariables||[];i.visualVariables=t.concat([s]),this._clusterSizeVariable=s}}return i}async _loadRenderer(e){if(tt.has(e))return tt.get(e);const t=[],i=e.clone(),s=await ae(i);if(Ce(i)||Ie(i)){const e=(i.classBreakInfos||i.uniqueValueInfos).map(e=>this._fetchSymbol(e.symbol,s).then(t=>{e.symbol=t}).catch(()=>{e.symbol=null}));Array.prototype.push.apply(t,e)}return t.push(this._fetchSymbol(i.symbol||i.defaultSymbol,i.defaultSymbol?null:s).then(e=>{this._applySymbolToRenderer(i,e,Fe(i))}).catch(()=>{this._applySymbolToRenderer(i,null,Fe(i))})),await Promise.allSettled(t),tt.set(e,i),i}_applySymbolToRenderer(e,t,i){i?e.symbol=t:e.defaultSymbol=t}async _fetchSymbol(e,t){if(!e)throw new Error;if("web-style"===e.type){const i=this._webStyleSymbolCache;try{const s=await e.fetchSymbol({cache:i});return this._getAppliedCloneSymbol(s,t)}catch{throw o.getLogger(this).warn("Fetching web-style failed!"),new Error}}return this._getAppliedCloneSymbol(e,t)}_getAppliedCloneSymbol(e,i){if(!e||!i)return e;const s=e.clone(),l=i&&i.toRgba();return s.type.includes("3d")?this._applyColorTo3dSymbol(s,l):"cim"===s.type?O(s,i):s.color&&(s.color=new t(l||s.color)),s}_applyColorTo3dSymbol(e,i){i&&e.symbolLayers.forEach(e=>{e&&(e.material||(e.material={}),e.material.color=new t(i))})}async _getVisualVariableLegendElements(e,t){if(!("visualVariables"in e)||"vector-field"===e.type)return null;const i=e.visualVariables??[],s=[],l=[],n=[],a=ie(e,"reference-size")??ie(e,"spike");let o;const c=this._clusterSizeVariable;if(2===a?.sizeStops?.length&&(Ce(e)||Ie(e))){const[e,t]=a.sizeStops,i=c?c.minDataValue:e.value,s=c?c.maxDataValue:t.value;o=new D({field:a.field??void 0,normalizationField:a.normalizationField,minSize:u(e.size,10,100),maxSize:u(t.size,50,150),minDataValue:i,maxDataValue:s}),l.push(o)}for(const r of i)if("color"===r.type)s.push(r);else if("size"===r.type){if("cluster_count"===r.field&&o)continue;l.push(r)}else"opacity"===r.type&&n.push(r);const d=[...s,...l,...n];let y,h;if(0===s.length&&Ce(e)&&e.classBreakInfos&&1===e.classBreakInfos.length){const t=e.classBreakInfos[0];y=t&&t.symbol}if(0===s.length&&Fe(e)&&(y=e.symbol),y)if(y.type.includes("3d")){const e=y.symbolLayers.at(0);"water"===e.type?null!=e.color&&(h=e.color):null!=e.material?.color&&(h=e.material.color)}else y.url||(h=y.color);const f=this.cssEffectFilter;return(await Promise.all(d.map(async i=>{if(!1!==i.legendOptions?.showLegend){const s=Se(e)?i.field:this._getRampTitle(i,t);let l=null;const r=ue(t,i,this.view.timeZone);if("color"===i.type){const e=await G(i,null,r)??[];l={type:"color-ramp",title:s,infos:e,preview:M(e.map(e=>e.color),{cssEffectFilter:f})},this._hasColorRamp||(this._hasColorRamp=e.length>0)}else if("size"===i.type&&"outline"!==i.target)pe.test(i.valueExpression)?this._clusterSizeVariable||(this._scaleDrivenSizeVariable=i):(l=await this._getSizeLegendElement(s,i,e,r),o===i&&"spike"===a?.theme&&(l.theme=a.theme),this._hasSizeRamp||(this._hasSizeRamp=!(null==l.infos||!l.infos.length)));else if("opacity"===i.type){const e=await G(i,h,r)??[];l={type:"opacity-ramp",title:s,infos:e,preview:M(e.map(e=>e.color),{cssEffectFilter:f})},this._hasOpacityRamp||(this._hasOpacityRamp=e.length>0)}return l?.infos?l:null}}))).filter(r)}_getDomainName(e,t,i){if(e&&"function"!=typeof e){const s="getField"in i&&i.getField?.(e),l=s&&"getFieldDomain"in i&&i.getFieldDomain?i.getFieldDomain(s.name):null;return"coded-value"===l?.type?l.getName(t):null}return null}_getClusterTitle(e){const t=this.layer,i=e.field;if("featureReduction"in t&&"cluster"===t.featureReduction?.type){const e=t.featureReduction,s="popupTemplate"in e&&e.popupTemplate,l=s&&s.fieldInfos;if(l)for(const t of l)if(t.fieldName===i)return"cluster_count"===i?t.label||{showCount:!0}:t.label}return{showCount:!0}}_getRampTitle(e,t){let i=e.field,s=e.normalizationField,l=!1,r=!1,n=!1,a=null;i="function"==typeof i?null:i,s="function"==typeof s?null:s;const o=e.legendOptions?.title;if(null!=o)a=o;else if(e.valueExpressionTitle)a=e.valueExpressionTitle;else{if("renderer"in t&&t.renderer&&"authoringInfo"in t.renderer&&t.renderer.authoringInfo?.visualVariables){const e=t.renderer.authoringInfo.visualVariables;for(let t=0;t<e.length;t++){const i=e[t];if("color"===i.type){if("ratio"===i.style){l=!0;break}if("percent"===i.style){r=!0;break}if("percent-of-total"===i.style){n=!0;break}}}}a={field:i&&this._getFieldAlias(i,t),normField:s&&this._getFieldAlias(s,t),ratio:l,ratioPercent:r,ratioPercentTotal:n}}return a}_getRendererTitle(e,t){const i=e;if(i.legendOptions?.title)return i.legendOptions.title;if(i.valueExpressionTitle)return i.valueExpressionTitle;let s=i.field,l=null,r=null;if(Ce(i)&&(l=i.normalizationField,r="percent-of-total"===i.normalizationType),s="function"==typeof s?null:s,l="function"==typeof l?null:l,Ie(i)){const{field2:e,field3:l,fieldDelimiter:r}=i;let n=s&&this._getFieldAlias(s,t);return e&&(n=`<${n}>${r}<${this._getFieldAlias(e,t)}>`,l&&(n=`${n}${r}<${this._getFieldAlias(l,t)}>`)),n}let n=null;return(s||l)&&(n={field:s&&this._getFieldAlias(s,t),normField:l&&this._getFieldAlias(l,t),normByPct:r}),n}_getFieldAlias(e,t){const i="featureReduction"in t&&t.featureReduction;if(I(t)&&!i)return t.getFieldAlias(e)||e;const s="popupTemplate"in t?t.popupTemplate:null,l=s?.fieldInfos;let r=l?.find(t=>e===t.fieldName),n=null;"getField"in t&&t.getField?n=t.getField(e):"fieldsIndex"in t&&t.fieldsIndex&&(n=t.fieldsIndex.get(e));let a=null;i&&(r??="popupTemplate"in i?i.popupTemplate?.fieldInfos?.find(t=>e?.toLowerCase()===t.fieldName?.toLowerCase()):void 0,"fields"in i&&i.fields&&(a=i.fields.find(t=>t.name?.toLowerCase()===e?.toLowerCase())));const o=r||n||a;let u=null;return o&&(u=r?.label||n?.alias||a?.alias||"name"in o&&o.name||"fieldName"in o&&o.fieldName||null),u}_isUnclassedRenderer(e){const t=e.visualVariables;let i=!1;return Ce(e)&&e.classBreakInfos&&1===e.classBreakInfos.length&&t&&(i=e.field?t.some(t=>!(!t||e.field!==t.field||(e.normalizationField||t.normalizationField)&&e.normalizationField!==t.normalizationField)):!!t.length),i}};e([b()],it.prototype,"_loading",void 0),e([b()],it.prototype,"children",void 0),e([b({readOnly:!0})],it.prototype,"cssEffectFilter",null),e([b()],it.prototype,"layerView",void 0),e([b()],it.prototype,"layer",void 0),e([b()],it.prototype,"legendElements",void 0),e([b({readOnly:!0})],it.prototype,"loading",null),e([b({readOnly:!0})],it.prototype,"opacity",null),e([b()],it.prototype,"parent",void 0),e([b({readOnly:!0,dependsOn:[]})],it.prototype,"ready",null),e([b()],it.prototype,"hideLayersNotInCurrentView",void 0),e([b()],it.prototype,"keepCacheOnDestroy",void 0),e([b()],it.prototype,"respectLayerDefinitionExpression",void 0),e([b()],it.prototype,"respectLayerVisibility",void 0),e([b({readOnly:!0})],it.prototype,"scale",null),e([b()],it.prototype,"sublayerIds",void 0),e([b({readOnly:!0})],it.prototype,"isScaleDriven",null),e([b()],it.prototype,"title",void 0),e([b({readOnly:!0,dependsOn:["ready"],value:0})],it.prototype,"version",null),e([b()],it.prototype,"view",void 0),it=e([_("esri.widgets.Legend.support.ActiveLayerInfo")],it);export{it as default};
@@ -74,8 +74,23 @@ export interface LegendProperties extends WidgetProperties, Partial<Pick<Legend,
74
74
  viewModel?: LegendViewModelProperties;
75
75
  }
76
76
 
77
+ /**
78
+ * Represents the allowed values for the [style](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Legend.html#style) property,
79
+ * as defined by the `type` property of the [CardView](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Legend-styles-card-CardView.html) and [ClassicView](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Legend-styles-classic-ClassicView.html) classes.
80
+ *
81
+ * @see [style](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Legend.html#style)
82
+ * @see [CardView#type](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Legend-styles-card-CardView.html#type)
83
+ * @see [ClassicView#type](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Legend-styles-classic-ClassicView.html#type)
84
+ * @since 5.0
85
+ */
77
86
  export type StyleType = CardView["type"] | ClassicView["type"];
78
87
 
88
+ /**
89
+ * Represents the allowed styles for the [style](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Legend.html#style) property.
90
+ *
91
+ * @see [style](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Legend.html#style)
92
+ * @since 5.0
93
+ */
79
94
  export type LegendStyle = CardView | ClassicView;
80
95
 
81
96
  /**
@@ -1,6 +1,7 @@
1
1
  import type Graphic from "../../Graphic.js";
2
2
  import type PopupTemplate from "../../PopupTemplate.js";
3
3
  import type Collection from "../../core/Collection.js";
4
+ import type Point from "../../geometry/Point.js";
4
5
  import type Portal from "../../portal/Portal.js";
5
6
  import type { EventedAccessor, EventedMixinProperties } from "../../core/Evented.js";
6
7
  import type { AbortOptions } from "../../core/promiseUtils.js";
@@ -204,6 +205,8 @@ export interface SearchViewModelEvents {
204
205
  }
205
206
 
206
207
  export interface SearchViewModelSelectResultEvent {
208
+ /** Whether the popup is enabled for the selected result. */
209
+ popupEnabled: boolean;
207
210
  /** An object containing the results of the search. */
208
211
  result: SearchResult;
209
212
  /**
@@ -447,6 +450,8 @@ export default class SearchViewModel extends SearchViewModelSuperclass {
447
450
  * @default true
448
451
  */
449
452
  accessor resultGraphicEnabled: boolean;
453
+ /** The point used to show a popup for the result graphic. */
454
+ get resultLocation(): Point | null | undefined;
450
455
  /** An array of current results from the search. */
451
456
  get results(): SearchResults[] | null | undefined;
452
457
  /**
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as e}from"tslib";import{getAssetUrl as t}from"../../assets.js";import s from"../../Graphic.js";import r from"../../PopupTemplate.js";import{isSome as o}from"../../core/arrayUtils.js";import i from"../../core/Error.js";import{EventedAccessor as l}from"../../core/Evented.js";import a from"../../core/Logger.js";import{mappedFind as n}from"../../core/maybe.js";import{eachAlways as u,after as c}from"../../core/promiseUtils.js";import{watch as h,initial as p,whenOnce as g}from"../../core/reactiveUtils.js";import{property as d,subclass as m}from"../../core/accessorSupport/decorators.js";import y from"../../geometry/Point.js";import f from"../../geometry/SpatialReference.js";import{getPointFromGeometry as S,getPointWithElevation as _}from"../../geometry/support/geometryUtils.js";import v from"../../portal/Portal.js";import{isApiKeyApplicable as w}from"../../support/apiKeyUtils.js";import b from"../../symbols/PictureMarkerSymbol.js";import x from"../../symbols/SimpleFillSymbol.js";import L from"../../symbols/SimpleLineSymbol.js";import I from"../../symbols/TextSymbol.js";import{popupFromView as T,closePopup as E}from"../../views/popupAdapter.js";import{highlightsSupported as R}from"../../views/support/layerViewUtils.js";import F from"./LayerSearchSource.js";import P from"./LocatorSearchSource.js";import{SourceCollection as j}from"./types.js";import{isArcGISWorldGeocoder as G,meteredArcGISLocatorUrl as C,isProxiedArcGISWorldGeocoder as O,isMeteredArcGISWorldGeocoder as A}from"./support/locatorUtils.js";import{supported as N,getCurrentPosition as D,positionToPoint as M}from"../support/geolocationUtils.js";import{GoTo as V}from"../support/GoTo.js";function J(e,t){return e.hasOwnProperty(t)&&null!=e[t]&&""!==e[t]}const U="highlight",H=f.WGS84,k="esri/images/search/search-symbol-32.png",B=/<[\s\S]*?>/g,Q=-1;let Z=class extends(V(l)){constructor(e){super(e),this._defaultPopupTemplate=new r({content:"{Match_addr}"}),this._gotoController=null,this._searching=null,this._updatingPromise=null,this._createdFeatureLayers=[],this.autoNavigate=!0,this.autoSelect=!0,this.defaultSources=new j,this.defaultSymbols={point:new b({url:t(k),size:24,width:24,height:24}),polyline:new L({color:[130,130,130,1],width:2}),polygon:new x({color:[235,235,235,.4],outline:{color:[130,130,130,1],width:2}})},this.includeDefaultSources=!0,this.maxInputLength=128,this.maxResults=6,this.maxSuggestions=6,this.messages=null,this.minSuggestCharacters=3,this.popupEnabled=!0,this.popupTemplate=null,this.portal=v.getDefault(),this.resultCount=null,this.resultGraphicEnabled=!0,this.resultGraphic=null,this.results=null,this.selectedSuggestion=null,this.searchAllEnabled=!0,this.selectedResult=null,this.sources=new j,this.suggestionDelay=350,this.suggestionCount=null,this.suggestions=null,this.suggestionsEnabled=!0,this.view=null}initialize(){this.addHandles([h(()=>[this.includeDefaultSources,this.view,this.portal],()=>this._update(),p),h(()=>this.messages,()=>{this._defaultPopupTemplate.title=this.messages?.searchResult??"",this._update()},p)])}destroy(){this._destroyFeatureLayers(),this._abortGoTo(),this.clearGraphics()}static{this.ALL_INDEX=Q}get activeSource(){return this.allSources.at(this.activeSourceIndex)??null}get activeSourceIndex(){return 1===this.allSources.length||!this.searchAllEnabled?0:Q}set activeSourceIndex(e){this._overrideIfSome("activeSourceIndex",e)}get allPlaceholder(){return this.messages?.allPlaceholder}set allPlaceholder(e){this._overrideIfSome("allPlaceholder",e)}get allSources(){const{sources:e,defaultSources:t,includeDefaultSources:s}=this,r="function"==typeof s?s.call(null,{sources:e,defaultSources:t}):s?t.concat(e):e,o=this._get("allSources")||new j;return o.removeAll(),o.addMany(r.filter(Boolean)),o}get defaultPopupTemplate(){return this._defaultPopupTemplate}set defaultPopupTemplate(e){this._overrideIfSome("defaultPopupTemplate",e)}get locationEnabled(){return this._get("locationEnabled")||N()}set locationEnabled(e){if(void 0===e)return void this._clearOverride("locationEnabled");const t=N();if(e&&!t){const e=new i("locationEnabled:geolocation-unsupported","Geolocation API is unsupported.",{geolocation:navigator.geolocation});a.getLogger(this).error(e)}this._override("locationEnabled",!!e&&t)}get placeholder(){const{allSources:e,activeSourceIndex:t,allPlaceholder:s}=this;if(t===Q)return s??"";const r=e.at(t);return r?.placeholder??""}set searchTerm(e){this._set("searchTerm",e||""),this.clearGraphics(),this.selectedSuggestion&&this.selectedSuggestion.text!==e&&this._set("selectedSuggestion",null),""===e&&this._clear()}get searchTerm(){return this._get("searchTerm")||""}get state(){return this._searching?"searching":this.updating?"loading":0===this.allSources.length?"disabled":"ready"}get updating(){return null!=this._updatingPromise}clear(){this.searchTerm=""}clearGraphics(){this._removeHighlight(),this._closePopup();const{view:e,resultGraphic:t}=this;e&&t&&e.graphics.remove(t),this._set("resultGraphic",null)}search(e,t){this.emit("search-start"),this.clearGraphics();const s=this._createSuggestionForSearch(e),r=(async()=>{try{await this.when();const e=await this._getResultsFromSources(s,t);if(t?.signal?.aborted)return null;const r={activeSourceIndex:this.activeSourceIndex,searchTerm:s.text??"",numResults:0,numErrors:0,errors:[],results:[]};this._formatResponse(r,e,s);const o=this._getFirstResult(r.results),i=s.location&&o?o.name:s.text,l=i?.replaceAll(B,"");return this._set("searchTerm",l),(s.key&&"number"==typeof s.sourceIndex||s.location)&&this._set("selectedSuggestion",s),this._set("results",r.results),this._set("resultCount",r.results.reduce((e,t)=>e+(t.results?.length??0),0)),this.emit("search-complete",r),await this._selectFirstResult(o),r}finally{this._clearSearching()}})();return this._searching=r,r}async searchNearby(e){if(!this.locationEnabled){const e=new i("searchNearby:geolocation-unsupported","Geolocation API is unsupported.",{geolocation:navigator.geolocation});throw a.getLogger(this).error(e),e}const t=(async()=>{try{const t=await D(),s=await M({position:t,view:this.view},e);return await this.search(s,e)}finally{this._clearSearching()}})();return this._searching=t,t}async select(e){if(this.clearGraphics(),!e){const t=new i("select:missing-parameter","Cannot select without a searchResult.",{value:e});throw a.getLogger(this).error(t),t}const{view:t}=this,r=J(e,"sourceIndex")?e.sourceIndex:this._getSourceIndexOfResult(e),o=null!=r?this.allSources.at(r):null;if(!o){const e=new i("select:missing-source","Cannot select without a source.",{source:o});throw a.getLogger(this).error(e),e}const l=o instanceof F?this._getLayerSourcePopupTemplate(o):o.popupTemplate,n=o.resultSymbol||this._getDefaultSymbol(e),c=J(o,"resultGraphicEnabled")?o.resultGraphicEnabled:this.resultGraphicEnabled,h=J(o,"autoNavigate")?o.autoNavigate:this.autoNavigate,p=J(o,"popupEnabled")?o.popupEnabled:this.popupEnabled,g=p?l||this.popupTemplate||this.defaultPopupTemplate:null,{feature:d}=e;if(!d){const e=new i("select:missing-feature","Cannot select without a feature.",{feature:d});throw a.getLogger(this).error(e),e}const{attributes:m,geometry:y,layer:f,sourceLayer:v}=d,w=y?S(y):null,b={layerViewQuery:this._getLayerView(d),elevationQuery:t&&null!=w?_(w,t):Promise.resolve(w)},x=await u(b),L=x.layerViewQuery.value,E=x.elevationQuery.value;n instanceof I&&(n.text=e.name);const P=t&&h?e.target||e.extent:null,j=null!=P?this._goToSearchResult(P):Promise.resolve();await j;const G=L?d:new s({geometry:y,symbol:n,attributes:m,layer:f,sourceLayer:v,popupTemplate:g}),C=T(t),O=C&&p&&G.getEffectivePopupTemplate(C.defaultPopupTemplateEnabled);return O&&this.emit("popup-open",{features:[G],location:E??null}),L&&R(L)&&!O&&this._highlightFeature({graphic:G,layerView:L}),!L&&c&&t&&t.graphics.push(G),this._setResultFloor(e),this._set("selectedResult",e),this._set("resultGraphic",G),this.emit("select-result",{result:e,source:o,sourceIndex:r}),e}async suggest(e,t,s){const r=e||this.searchTerm;this.emit("suggest-start",{searchTerm:r}),await this._suggestTimer(t,s);const o=await this._suggestImmediate(r,s);return this._set("suggestions",o?.results),this._set("suggestionCount",o?.results.reduce((e,t)=>e+(t.results?.length??0),0)??null),this.emit("suggest-complete",o),o}async when(){await g(()=>!this.updating)}async _update(){const{portal:e,view:t}=this;if(this.includeDefaultSources){const s=this._updatingPromise=u([e?.load(),t?.when()]);if(this.destroyed)return;if(await s,s!==this._updatingPromise)return}this.destroyed||this._updateDefaultSources(),this._updatingPromise=null}_clearSearching(){this._searching=null}_convertHelperServices(){const e=this.portal?.helperServices?.geocode;if(!e)return[];return e.map(e=>{if(!1===e.placefinding)return;const t=G(e.url)&&w(e.url)?{url:C}:null,s=P.fromJSON({...e,...t}),r=s.url;if(G(r)||O(r)||A(r)){const e=s.outFields??["Addr_type","Match_addr","StAddr","City"],t=(s.placeholder||this.messages?.placeholder)??"",r="number"==typeof s.defaultZoomScale?s.defaultZoomScale:2500;s.singleLineFieldName="SingleLine",s.outFields=e,s.placeholder=t,s.defaultZoomScale=r}return s.singleLineFieldName?s:void 0}).filter(o)}_destroyFeatureLayers(){this._createdFeatureLayers.forEach(e=>e?.destroy()),this._createdFeatureLayers=[]}_getLayerSources(e,t){const s=this.view?.map;return e.map(e=>{const r=s.findLayerById(e.id);if(!r)return;const o=this._getLayerJSON(e),i=F.fromJSON(o);return i.placeholder=t,this._getLayer(r,o).then(e=>{i.layer=e}),i}).filter(o).toArray()}_getTableSources(e,t){const s=this.view?.map;return e.map(e=>{if(!e.id)return;const r=s.findTableById(e.id);if(!r)return;const o=this._getLayerJSON(e),i=F.fromJSON(o);return i.placeholder=t,this._getLayer(r,o).then(e=>{i.layer=e}),i}).filter(o).toArray()}_convertApplicationProperties(){const e=this.view?.map,t=e?.applicationProperties?.viewing?.search;if(!t)return[];const{enabled:s,hintText:r,layers:o,tables:i}=t;if(!s)return[];return[...this._getLayerSources(o,r),...this._getTableSources(i,r)]}async _getSubLayer(e,t){if(await e.load(),!e.allSublayers)throw new Error;const s=e.allSublayers.find(e=>e.id===t.subLayer);if(!s)throw new Error;const r=await(s.createFeatureLayer?.());if(!r)throw new Error;return this._createdFeatureLayers.push(r),r}async _getBuildingSubLayer(e,t){await e.load();const s=e.allSublayers.find(e=>e.id===t.subLayer);if("building-component"!==s?.type)throw new Error;if(await s.load(),null==s.associatedLayer)throw new Error;return await s.associatedLayer.load(),s}async _getLayer(e,t){if("feature"===e.type||"scene"===e.type||"csv"===e.type||"geojson"===e.type||"ogc-feature"===e.type)return e;if("map-image"===e.type)try{return await this._getSubLayer(e,t)}catch(s){const t=new i("search:create-featurelayer","Could not create a FeatureLayer from the MapImageLayer",{layer:e});return a.getLogger(this).error(t),null}return"building-scene"===e.type?this._getBuildingSubLayer(e,t):null}_getLayerJSON(e){return"function"==typeof e.toJSON?e.toJSON():e}_updateDefaultSources(){const{defaultSources:e,includeDefaultSources:t}=this;this._destroyFeatureLayers(),e.removeAll(),t&&e.addMany([...this._convertApplicationProperties(),...this._convertHelperServices()])}_abortGoTo(){this._gotoController&&this._gotoController.abort(),this._gotoController=null}_clear(){this._abortGoTo(),this._set("resultCount",null),this._set("results",null),this._set("suggestions",null),this._set("suggestionCount",null),this._set("selectedResult",null),this._set("selectedSuggestion",null),this.emit("search-clear")}_closePopup(){const e=T(this.view),{resultGraphic:t}=this;if(!e||!t)return;const s="selectedFeature"in e,r=s?e.selectedFeature:null;s&&(r&&r===t)&&E(this.view?.popup,this.view?.popupElement)}_suggestTimer(e,t){const s=null!=e?e:this.suggestionDelay;return c(s,null,t?.signal)}_createLocationForSearch(e){return e instanceof s&&e.geometry?S(e.geometry):e instanceof y?e:Array.isArray(e)&&2===e.length?new y({longitude:e[0],latitude:e[1]}):null}_createSuggestionForSearch(e){if(e&&J(e,"key")&&J(e,"text")&&J(e,"sourceIndex"))return e;const t=this._createLocationForSearch(e),s="string"==typeof e?e:this.searchTerm,{selectedSuggestion:r,selectedResult:o}=this,i=!e&&r&&o,l=i&&r.key===o.key&&r.sourceIndex===o.sourceIndex,a=i&&r.location;return l||a?r:{location:t,text:t?"":s,sourceIndex:null,key:null}}_getFirstResult(e){return n(e,({results:e})=>e?.[0])??null}async _selectFirstResult(e){return this.autoSelect&&e?this.select(e):null}async _suggestImmediate(e,t){await this.when();const s=await this._getSuggestionsFromSources(e,t);if(t?.signal?.aborted)return null;const r={activeSourceIndex:this.activeSourceIndex,searchTerm:e??"",numResults:0,numErrors:0,errors:[],results:[]};return this._formatResponse(r,s),r}_formatSourceResponse(e,t,s){const r=t?.value||[],o=t?.error,i=this.allSources.at(s);if(o){const t={sourceIndex:s,source:i,error:o};e.errors.push(t),a.getLogger(this).error(o),e.numErrors++}else{const t={sourceIndex:s,source:i,results:r};e.results.push(t),e.numResults+=r.length}}_formatResponse(e,t,s){if(t)if(e.activeSourceIndex===Q){const r=s&&J(s,"sourceIndex")&&-1!==s.sourceIndex?s.sourceIndex:void 0;t.forEach((t,s)=>{const o=void 0!==r?r:s;this._formatSourceResponse(e,t,o)})}else this._formatSourceResponse(e,t[0],e.activeSourceIndex)}async _getResultsFromSources(e,t){const{allSources:s}=this,r=!e.location&&J(e,"sourceIndex")?e.sourceIndex:this.activeSourceIndex,o=[];if(!s.length){const e=new i("search:no-sources-defined","At least one source is required.",{allSources:s});throw a.getLogger(this).error(e),e}return r===Q?s.forEach((s,r)=>{o.push(this._getResultsFromSource(e,r,t))}):o.push(this._getResultsFromSource(e,r,t)),u(o)}async _getSuggestionsFromSources(e,t){const{allSources:s,activeSourceIndex:r}=this,o=[];if(!s.length){const e=new i("suggest:no-sources-defined","At least one source is required.",{allSources:s});throw a.getLogger(this).error(e),e}return r===Q?s.forEach((s,r)=>{o.push(this._getSuggestionsFromSource(e,r,t))}):o.push(this._getSuggestionsFromSource(e,r,t)),u(o)}async _getResultsFromSource(e,t,s){const r=null!=t?this.allSources.at(t):null;if(!r)return null;const{location:o=null}=e,i=this.view?.spatialReference??H,l=J(r,"maxResults")?r.maxResults:this.maxResults,a=!!(r instanceof F&&J(r,"exactMatch"))&&r.exactMatch,{view:n}=this;return r.getResults?.({exactMatch:a,location:o,maxResults:l,sourceIndex:t,spatialReference:i,suggestResult:e,view:n},s)}async _getSuggestionsFromSource(e,t,s){const r=this.allSources.at(t);if(!r)return null;e??="";const o=J(r,"suggestionsEnabled")?r.suggestionsEnabled:this.suggestionsEnabled,i=e?.length,l=J(r,"minSuggestCharacters")?r.minSuggestCharacters:this.minSuggestCharacters;if(o&&e.trim()&&i>=l){const o=this.view?.spatialReference||H,i=J(r,"maxSuggestions")?r.maxSuggestions:this.maxSuggestions,{view:l}=this,a=!!(r instanceof F&&J(r,"exactMatch"))&&r.exactMatch;return r.getSuggestions?.({view:l,sourceIndex:t,suggestTerm:e,spatialReference:o,maxSuggestions:i,exactMatch:a},s)}return null}_getLayerSourcePopupTemplate(e){const{layer:t}=e;if(t)return J(e,"popupTemplate")?e.popupTemplate:t.popupTemplate}_getSourceIndexOfResult(e){return n(this.results??[],({results:t,sourceIndex:s})=>{const r=t?.includes(e);return r?s:null})??null}async _goToSearchResult(e){this._abortGoTo();const t=new AbortController;this._gotoController=t;const s={target:{target:e},options:{signal:t.signal}};e||(s.options.animate=!1),await this.callGoTo(s),this._gotoController=null}_getDefaultSymbol(e){const{defaultSymbols:t}=this,s=e.feature?.geometry;if(null==s)return null;switch(s.type){case"point":case"multipoint":return t.point;case"polyline":return t.polyline;case"extent":case"polygon":return t.polygon;default:return null}}_removeHighlight(){this.removeHandles(U)}async _getLayerView(e){const{view:t}=this;if(!e||!t)return null;const{layer:s,sourceLayer:r}=e,o=s??r;return o&&"building-component"!==o.type&&"subtype-sublayer"!==o.type?(await t.when(),t.whenLayerView(o)):null}_highlightFeature(e){const{graphic:t,layerView:s}=e,{attributes:r,layer:o,sourceLayer:i}=t,l=o??i,{objectIdField:a}=l,n=(a&&r?.[a])??null,u=s.highlight(n??t);this.addHandles(u,U)}_setResultFloor(e){const{view:t}=this,s=e.feature?.attributes,r=e.feature?.sourceLayer;if(r&&"floorInfo"in r&&r?.floorInfo?.floorField&&s){const e=s[r.floorInfo.floorField];t?.emit("select-result-floor",e)}}};e([d()],Z.prototype,"_searching",void 0),e([d()],Z.prototype,"_updatingPromise",void 0),e([d({readOnly:!0,value:null})],Z.prototype,"activeSource",null),e([d()],Z.prototype,"activeSourceIndex",null),e([d()],Z.prototype,"allPlaceholder",null),e([d({readOnly:!0})],Z.prototype,"allSources",null),e([d()],Z.prototype,"autoNavigate",void 0),e([d()],Z.prototype,"autoSelect",void 0),e([d({type:r})],Z.prototype,"defaultPopupTemplate",null),e([d({readOnly:!0})],Z.prototype,"defaultSources",void 0),e([d()],Z.prototype,"defaultSymbols",void 0),e([d()],Z.prototype,"includeDefaultSources",void 0),e([d()],Z.prototype,"locationEnabled",null),e([d()],Z.prototype,"maxInputLength",void 0),e([d()],Z.prototype,"maxResults",void 0),e([d()],Z.prototype,"maxSuggestions",void 0),e([d()],Z.prototype,"messages",void 0),e([d()],Z.prototype,"minSuggestCharacters",void 0),e([d({readOnly:!0})],Z.prototype,"placeholder",null),e([d()],Z.prototype,"popupEnabled",void 0),e([d({type:r})],Z.prototype,"popupTemplate",void 0),e([d({type:v})],Z.prototype,"portal",void 0),e([d()],Z.prototype,"resultCount",void 0),e([d()],Z.prototype,"resultGraphicEnabled",void 0),e([d({readOnly:!0})],Z.prototype,"resultGraphic",void 0),e([d({readOnly:!0})],Z.prototype,"results",void 0),e([d({readOnly:!0})],Z.prototype,"selectedSuggestion",void 0),e([d()],Z.prototype,"searchAllEnabled",void 0),e([d({readOnly:!0})],Z.prototype,"selectedResult",void 0),e([d()],Z.prototype,"searchTerm",null),e([d({type:j})],Z.prototype,"sources",void 0),e([d({readOnly:!0})],Z.prototype,"state",null),e([d()],Z.prototype,"suggestionDelay",void 0),e([d()],Z.prototype,"suggestionCount",void 0),e([d({readOnly:!0})],Z.prototype,"suggestions",void 0),e([d()],Z.prototype,"suggestionsEnabled",void 0),e([d({readOnly:!0})],Z.prototype,"updating",null),e([d()],Z.prototype,"view",void 0),e([d()],Z.prototype,"clear",null),Z=e([m("esri.widgets.Search.SearchViewModel")],Z);const q=Z;export{q as default};
5
+ import{__decorate as e}from"tslib";import{getAssetUrl as t}from"../../assets.js";import s from"../../Graphic.js";import r from"../../PopupTemplate.js";import{isSome as o}from"../../core/arrayUtils.js";import i from"../../core/Error.js";import{EventedAccessor as l}from"../../core/Evented.js";import a from"../../core/Logger.js";import{mappedFind as n}from"../../core/maybe.js";import{eachAlways as u,after as c}from"../../core/promiseUtils.js";import{watch as h,initial as p,whenOnce as g}from"../../core/reactiveUtils.js";import{property as d,subclass as m}from"../../core/accessorSupport/decorators.js";import y from"../../geometry/Point.js";import f from"../../geometry/SpatialReference.js";import{getPointFromGeometry as S,getPointWithElevation as _}from"../../geometry/support/geometryUtils.js";import v from"../../portal/Portal.js";import{isApiKeyApplicable as w}from"../../support/apiKeyUtils.js";import b from"../../symbols/PictureMarkerSymbol.js";import x from"../../symbols/SimpleFillSymbol.js";import L from"../../symbols/SimpleLineSymbol.js";import I from"../../symbols/TextSymbol.js";import{highlightsSupported as T}from"../../views/support/layerViewUtils.js";import R from"./LayerSearchSource.js";import E from"./LocatorSearchSource.js";import{SourceCollection as F}from"./types.js";import{isArcGISWorldGeocoder as P,meteredArcGISLocatorUrl as j,isProxiedArcGISWorldGeocoder as C,isMeteredArcGISWorldGeocoder as G}from"./support/locatorUtils.js";import{supported as O,getCurrentPosition as A,positionToPoint as N}from"../support/geolocationUtils.js";import{GoTo as D}from"../support/GoTo.js";function M(e,t){return e.hasOwnProperty(t)&&null!=e[t]&&""!==e[t]}const V="highlight",J=f.WGS84,U="esri/images/search/search-symbol-32.png",H=/<[\s\S]*?>/g,k=-1;let B=class extends(D(l)){constructor(e){super(e),this._defaultPopupTemplate=new r({content:"{Match_addr}"}),this._gotoController=null,this._searching=null,this._updatingPromise=null,this._createdFeatureLayers=[],this.autoNavigate=!0,this.autoSelect=!0,this.defaultSources=new F,this.defaultSymbols={point:new b({url:t(U),size:24,width:24,height:24}),polyline:new L({color:[130,130,130,1],width:2}),polygon:new x({color:[235,235,235,.4],outline:{color:[130,130,130,1],width:2}})},this.includeDefaultSources=!0,this.maxInputLength=128,this.maxResults=6,this.maxSuggestions=6,this.messages=null,this.minSuggestCharacters=3,this.popupEnabled=!0,this.popupTemplate=null,this.portal=v.getDefault(),this.resultCount=null,this.resultGraphicEnabled=!0,this.resultGraphic=null,this.resultLocation=null,this.results=null,this.selectedSuggestion=null,this.searchAllEnabled=!0,this.selectedResult=null,this.sources=new F,this.suggestionDelay=350,this.suggestionCount=null,this.suggestions=null,this.suggestionsEnabled=!0,this.view=null}initialize(){this.addHandles([h(()=>[this.includeDefaultSources,this.view,this.portal],()=>this._update(),p),h(()=>this.messages,()=>{this._defaultPopupTemplate.title=this.messages?.searchResult??"",this._update()},p)])}destroy(){this._destroyFeatureLayers(),this._abortGoTo(),this.clearGraphics()}static{this.ALL_INDEX=k}get activeSource(){return this.allSources.at(this.activeSourceIndex)??null}get activeSourceIndex(){return 1===this.allSources.length||!this.searchAllEnabled?0:k}set activeSourceIndex(e){this._overrideIfSome("activeSourceIndex",e)}get allPlaceholder(){return this.messages?.allPlaceholder}set allPlaceholder(e){this._overrideIfSome("allPlaceholder",e)}get allSources(){const{sources:e,defaultSources:t,includeDefaultSources:s}=this,r="function"==typeof s?s.call(null,{sources:e,defaultSources:t}):s?t.concat(e):e,o=this._get("allSources")||new F;return o.removeAll(),o.addMany(r.filter(Boolean)),o}get defaultPopupTemplate(){return this._defaultPopupTemplate}set defaultPopupTemplate(e){this._overrideIfSome("defaultPopupTemplate",e)}get locationEnabled(){return this._get("locationEnabled")||O()}set locationEnabled(e){if(void 0===e)return void this._clearOverride("locationEnabled");const t=O();if(e&&!t){const e=new i("locationEnabled:geolocation-unsupported","Geolocation API is unsupported.",{geolocation:navigator.geolocation});a.getLogger(this).error(e)}this._override("locationEnabled",!!e&&t)}get placeholder(){const{allSources:e,activeSourceIndex:t,allPlaceholder:s}=this;if(t===k)return s??"";const r=e.at(t);return r?.placeholder??""}set searchTerm(e){this._set("searchTerm",e||""),this.clearGraphics(),this.selectedSuggestion&&this.selectedSuggestion.text!==e&&this._set("selectedSuggestion",null),""===e&&this._clear()}get searchTerm(){return this._get("searchTerm")||""}get state(){return this._searching?"searching":this.updating?"loading":0===this.allSources.length?"disabled":"ready"}get updating(){return null!=this._updatingPromise}clear(){this.searchTerm=""}clearGraphics(){this._removeHighlight();const{view:e,resultGraphic:t}=this;e&&t&&e.graphics.remove(t),this._set("resultLocation",null),this._set("resultGraphic",null)}search(e,t){this.emit("search-start"),this.clearGraphics();const s=this._createSuggestionForSearch(e),r=(async()=>{try{await this.when();const e=await this._getResultsFromSources(s,t);if(t?.signal?.aborted)return null;const r={activeSourceIndex:this.activeSourceIndex,searchTerm:s.text??"",numResults:0,numErrors:0,errors:[],results:[]};this._formatResponse(r,e,s);const o=this._getFirstResult(r.results),i=s.location&&o?o.name:s.text,l=i?.replaceAll(H,"");return this._set("searchTerm",l),(s.key&&"number"==typeof s.sourceIndex||s.location)&&this._set("selectedSuggestion",s),this._set("results",r.results),this._set("resultCount",r.results.reduce((e,t)=>e+(t.results?.length??0),0)),this.emit("search-complete",r),await this._selectFirstResult(o),r}finally{this._clearSearching()}})();return this._searching=r,r}async searchNearby(e){if(!this.locationEnabled){const e=new i("searchNearby:geolocation-unsupported","Geolocation API is unsupported.",{geolocation:navigator.geolocation});throw a.getLogger(this).error(e),e}const t=(async()=>{try{const t=await A(),s=await N({position:t,view:this.view},e);return await this.search(s,e)}finally{this._clearSearching()}})();return this._searching=t,t}async select(e){if(this.clearGraphics(),!e){const t=new i("select:missing-parameter","Cannot select without a searchResult.",{value:e});throw a.getLogger(this).error(t),t}const{view:t}=this,r=M(e,"sourceIndex")?e.sourceIndex:this._getSourceIndexOfResult(e),o=null!=r?this.allSources.at(r):null;if(!o){const e=new i("select:missing-source","Cannot select without a source.",{source:o});throw a.getLogger(this).error(e),e}const l=o instanceof R?this._getLayerSourcePopupTemplate(o):o.popupTemplate,n=o.resultSymbol||this._getDefaultSymbol(e),c=M(o,"resultGraphicEnabled")?!!o.resultGraphicEnabled:this.resultGraphicEnabled,h=M(o,"autoNavigate")?!!o.autoNavigate:this.autoNavigate,p=M(o,"popupEnabled")?!!o.popupEnabled:this.popupEnabled,g=p?l||this.popupTemplate||this.defaultPopupTemplate:null,{feature:d}=e;if(!d){const e=new i("select:missing-feature","Cannot select without a feature.",{feature:d});throw a.getLogger(this).error(e),e}const{attributes:m,geometry:y,layer:f,sourceLayer:v}=d,w=y?S(y):null,b={layerViewQuery:this._getLayerView(d),elevationQuery:t&&null!=w?_(w,t):Promise.resolve(w)},x=await u(b),L=x.layerViewQuery.value,E=x.elevationQuery.value;n instanceof I&&(n.text=e.name);const F=t&&h?e.target||e.extent:null,P=null!=F?this._goToSearchResult(F):Promise.resolve();await P;const j=L?d:new s({geometry:y,symbol:n,attributes:m,layer:f,sourceLayer:v,popupTemplate:g});return L&&T(L)&&!p&&this._highlightFeature({graphic:j,layerView:L}),!L&&c&&t&&t.graphics.push(j),this._setResultFloor(e),this._set("selectedResult",e),this._set("resultGraphic",j),this._set("resultLocation",E),this.emit("select-result",{popupEnabled:p,result:e,source:o,sourceIndex:r}),e}async suggest(e,t,s){const r=e||this.searchTerm;this.emit("suggest-start",{searchTerm:r}),await this._suggestTimer(t,s);const o=await this._suggestImmediate(r,s);return this._set("suggestions",o?.results),this._set("suggestionCount",o?.results.reduce((e,t)=>e+(t.results?.length??0),0)??null),this.emit("suggest-complete",o),o}async when(){await g(()=>!this.updating)}async _update(){const{portal:e,view:t}=this;if(this.includeDefaultSources){const s=this._updatingPromise=u([e?.load(),t?.when()]);if(this.destroyed)return;if(await s,s!==this._updatingPromise)return}this.destroyed||this._updateDefaultSources(),this._updatingPromise=null}_clearSearching(){this._searching=null}_convertHelperServices(){const e=this.portal?.helperServices?.geocode;if(!e)return[];return e.map(e=>{if(!1===e.placefinding)return;const t=P(e.url)&&w(e.url)?{url:j}:null,s=E.fromJSON({...e,...t}),r=s.url;if(P(r)||C(r)||G(r)){const e=s.outFields??["Addr_type","Match_addr","StAddr","City"],t=(s.placeholder||this.messages?.placeholder)??"",r="number"==typeof s.defaultZoomScale?s.defaultZoomScale:2500;s.singleLineFieldName="SingleLine",s.outFields=e,s.placeholder=t,s.defaultZoomScale=r}return s.singleLineFieldName?s:void 0}).filter(o)}_destroyFeatureLayers(){this._createdFeatureLayers.forEach(e=>e?.destroy()),this._createdFeatureLayers=[]}_getLayerSources(e,t){const s=this.view?.map;return e.map(e=>{const r=s.findLayerById(e.id);if(!r)return;const o=this._getLayerJSON(e),i=R.fromJSON(o);return i.placeholder=t,this._getLayer(r,o).then(e=>{i.layer=e}),i}).filter(o).toArray()}_getTableSources(e,t){const s=this.view?.map;return e.map(e=>{if(!e.id)return;const r=s.findTableById(e.id);if(!r)return;const o=this._getLayerJSON(e),i=R.fromJSON(o);return i.placeholder=t,this._getLayer(r,o).then(e=>{i.layer=e}),i}).filter(o).toArray()}_convertApplicationProperties(){const e=this.view?.map,t=e?.applicationProperties?.viewing?.search;if(!t)return[];const{enabled:s,hintText:r,layers:o,tables:i}=t;if(!s)return[];return[...this._getLayerSources(o,r),...this._getTableSources(i,r)]}async _getSubLayer(e,t){if(await e.load(),!e.allSublayers)throw new Error;const s=e.allSublayers.find(e=>e.id===t.subLayer);if(!s)throw new Error;const r=await(s.createFeatureLayer?.());if(!r)throw new Error;return this._createdFeatureLayers.push(r),r}async _getBuildingSubLayer(e,t){await e.load();const s=e.allSublayers.find(e=>e.id===t.subLayer);if("building-component"!==s?.type)throw new Error;if(await s.load(),null==s.associatedLayer)throw new Error;return await s.associatedLayer.load(),s}async _getLayer(e,t){if("feature"===e.type||"scene"===e.type||"csv"===e.type||"geojson"===e.type||"ogc-feature"===e.type||"subtype-group"===e.type)return e;if("map-image"===e.type)try{return await this._getSubLayer(e,t)}catch(s){const t=new i("search:create-featurelayer","Could not create a FeatureLayer from the MapImageLayer",{layer:e});return a.getLogger(this).error(t),null}return"building-scene"===e.type?this._getBuildingSubLayer(e,t):null}_getLayerJSON(e){return"function"==typeof e.toJSON?e.toJSON():e}_updateDefaultSources(){const{defaultSources:e,includeDefaultSources:t}=this;this._destroyFeatureLayers(),e.removeAll(),t&&e.addMany([...this._convertApplicationProperties(),...this._convertHelperServices()])}_abortGoTo(){this._gotoController&&this._gotoController.abort(),this._gotoController=null}_clear(){this._abortGoTo(),this._set("resultCount",null),this._set("results",null),this._set("suggestions",null),this._set("suggestionCount",null),this._set("selectedResult",null),this._set("selectedSuggestion",null),this.emit("search-clear")}_suggestTimer(e,t){const s=null!=e?e:this.suggestionDelay;return c(s,null,t?.signal)}_createLocationForSearch(e){return e instanceof s&&e.geometry?S(e.geometry):e instanceof y?e:Array.isArray(e)&&2===e.length?new y({longitude:e[0],latitude:e[1]}):null}_createSuggestionForSearch(e){if(e&&M(e,"key")&&M(e,"text")&&M(e,"sourceIndex"))return e;const t=this._createLocationForSearch(e),s="string"==typeof e?e:this.searchTerm,{selectedSuggestion:r,selectedResult:o}=this,i=!e&&r&&o,l=i&&r.key===o.key&&r.sourceIndex===o.sourceIndex,a=i&&r.location;return l||a?r:{location:t,text:t?"":s,sourceIndex:null,key:null}}_getFirstResult(e){return n(e,({results:e})=>e?.[0])??null}async _selectFirstResult(e){return this.autoSelect&&e?this.select(e):null}async _suggestImmediate(e,t){await this.when();const s=await this._getSuggestionsFromSources(e,t);if(t?.signal?.aborted)return null;const r={activeSourceIndex:this.activeSourceIndex,searchTerm:e??"",numResults:0,numErrors:0,errors:[],results:[]};return this._formatResponse(r,s),r}_formatSourceResponse(e,t,s){const r=t?.value||[],o=t?.error,i=this.allSources.at(s);if(o){const t={sourceIndex:s,source:i,error:o};e.errors.push(t),a.getLogger(this).error(o),e.numErrors++}else{const t={sourceIndex:s,source:i,results:r};e.results.push(t),e.numResults+=r.length}}_formatResponse(e,t,s){if(t)if(e.activeSourceIndex===k){const r=s&&M(s,"sourceIndex")&&-1!==s.sourceIndex?s.sourceIndex:void 0;t.forEach((t,s)=>{const o=void 0!==r?r:s;this._formatSourceResponse(e,t,o)})}else this._formatSourceResponse(e,t[0],e.activeSourceIndex)}async _getResultsFromSources(e,t){const{allSources:s}=this,r=!e.location&&M(e,"sourceIndex")?e.sourceIndex:this.activeSourceIndex,o=[];if(!s.length){const e=new i("search:no-sources-defined","At least one source is required.",{allSources:s});throw a.getLogger(this).error(e),e}return r===k?s.forEach((s,r)=>{o.push(this._getResultsFromSource(e,r,t))}):o.push(this._getResultsFromSource(e,r,t)),u(o)}async _getSuggestionsFromSources(e,t){const{allSources:s,activeSourceIndex:r}=this,o=[];if(!s.length){const e=new i("suggest:no-sources-defined","At least one source is required.",{allSources:s});throw a.getLogger(this).error(e),e}return r===k?s.forEach((s,r)=>{o.push(this._getSuggestionsFromSource(e,r,t))}):o.push(this._getSuggestionsFromSource(e,r,t)),u(o)}async _getResultsFromSource(e,t,s){const r=null!=t?this.allSources.at(t):null;if(!r)return null;const{location:o=null}=e,i=this.view?.spatialReference??J,l=M(r,"maxResults")?r.maxResults:this.maxResults,a=!!(r instanceof R&&M(r,"exactMatch"))&&r.exactMatch,{view:n}=this;return r.getResults?.({exactMatch:a,location:o,maxResults:l,sourceIndex:t,spatialReference:i,suggestResult:e,view:n},s)}async _getSuggestionsFromSource(e,t,s){const r=this.allSources.at(t);if(!r)return null;e??="";const o=M(r,"suggestionsEnabled")?r.suggestionsEnabled:this.suggestionsEnabled,i=e?.length,l=M(r,"minSuggestCharacters")?r.minSuggestCharacters:this.minSuggestCharacters;if(o&&e.trim()&&i>=l){const o=this.view?.spatialReference||J,i=M(r,"maxSuggestions")?r.maxSuggestions:this.maxSuggestions,{view:l}=this,a=!!(r instanceof R&&M(r,"exactMatch"))&&r.exactMatch;return r.getSuggestions?.({view:l,sourceIndex:t,suggestTerm:e,spatialReference:o,maxSuggestions:i,exactMatch:a},s)}return null}_getLayerSourcePopupTemplate(e){const{layer:t}=e;if(t)return M(e,"popupTemplate")?e.popupTemplate:t.popupTemplate}_getSourceIndexOfResult(e){return n(this.results??[],({results:t,sourceIndex:s})=>{const r=t?.includes(e);return r?s:null})??null}async _goToSearchResult(e){this._abortGoTo();const t=new AbortController;this._gotoController=t;const s={target:{target:e},options:{signal:t.signal}};e||(s.options.animate=!1),await this.callGoTo(s),this._gotoController=null}_getDefaultSymbol(e){const{defaultSymbols:t}=this,s=e.feature?.geometry;if(null==s)return null;switch(s.type){case"point":case"multipoint":return t.point;case"polyline":return t.polyline;case"extent":case"polygon":return t.polygon;default:return null}}_removeHighlight(){this.removeHandles(V)}async _getLayerView(e){const{view:t}=this;if(!e||!t)return null;const{layer:s,sourceLayer:r}=e,o=s??r;return o&&"building-component"!==o.type&&"subtype-sublayer"!==o.type?(await t.when(),t.whenLayerView(o)):null}_highlightFeature(e){const{graphic:t,layerView:s}=e,{attributes:r,layer:o,sourceLayer:i}=t,l=o??i,{objectIdField:a}=l,n=(a&&r?.[a])??null,u=s.highlight(n??t);this.addHandles(u,V)}_setResultFloor(e){const{view:t}=this,s=e.feature?.attributes,r=e.feature?.sourceLayer;if(r&&"floorInfo"in r&&r?.floorInfo?.floorField&&s){const e=s[r.floorInfo.floorField];t?.emit("select-result-floor",e)}}};e([d()],B.prototype,"_searching",void 0),e([d()],B.prototype,"_updatingPromise",void 0),e([d({readOnly:!0,value:null})],B.prototype,"activeSource",null),e([d()],B.prototype,"activeSourceIndex",null),e([d()],B.prototype,"allPlaceholder",null),e([d({readOnly:!0})],B.prototype,"allSources",null),e([d()],B.prototype,"autoNavigate",void 0),e([d()],B.prototype,"autoSelect",void 0),e([d({type:r})],B.prototype,"defaultPopupTemplate",null),e([d({readOnly:!0})],B.prototype,"defaultSources",void 0),e([d()],B.prototype,"defaultSymbols",void 0),e([d()],B.prototype,"includeDefaultSources",void 0),e([d()],B.prototype,"locationEnabled",null),e([d()],B.prototype,"maxInputLength",void 0),e([d()],B.prototype,"maxResults",void 0),e([d()],B.prototype,"maxSuggestions",void 0),e([d()],B.prototype,"messages",void 0),e([d()],B.prototype,"minSuggestCharacters",void 0),e([d({readOnly:!0})],B.prototype,"placeholder",null),e([d()],B.prototype,"popupEnabled",void 0),e([d({type:r})],B.prototype,"popupTemplate",void 0),e([d({type:v})],B.prototype,"portal",void 0),e([d()],B.prototype,"resultCount",void 0),e([d()],B.prototype,"resultGraphicEnabled",void 0),e([d({readOnly:!0})],B.prototype,"resultGraphic",void 0),e([d({readOnly:!0})],B.prototype,"resultLocation",void 0),e([d({readOnly:!0})],B.prototype,"results",void 0),e([d({readOnly:!0})],B.prototype,"selectedSuggestion",void 0),e([d()],B.prototype,"searchAllEnabled",void 0),e([d({readOnly:!0})],B.prototype,"selectedResult",void 0),e([d()],B.prototype,"searchTerm",null),e([d({type:F})],B.prototype,"sources",void 0),e([d({readOnly:!0})],B.prototype,"state",null),e([d()],B.prototype,"suggestionDelay",void 0),e([d()],B.prototype,"suggestionCount",void 0),e([d({readOnly:!0})],B.prototype,"suggestions",void 0),e([d()],B.prototype,"suggestionsEnabled",void 0),e([d({readOnly:!0})],B.prototype,"updating",null),e([d()],B.prototype,"view",void 0),e([d()],B.prototype,"clear",null),B=e([m("esri.widgets.Search.SearchViewModel")],B);const Q=B;export{Q as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{substitute as e,formatDate as t}from"../../../intl.js";import r from"../../../core/Error.js";import has from"../../../core/has.js";import{clone as i}from"../../../core/lang.js";import n from"../../../core/Logger.js";import{mappedFind as l}from"../../../core/maybe.js";import{getMetersPerUnitForSR as o}from"../../../core/units.js";import s from"../../../geometry/Polygon.js";import{createExtentFromGeometry as a,scaleExtent as u}from"../../../geometry/support/geometryUtils.js";import c from"../../../rest/support/FullTextSearch.js";const d=/https?:\/\/services.*\.arcgis\.com/i,f=/(?:\{([^}]+)\})/g,m=()=>n.getLogger("esri.widgets.Search.support.layerSearchUtils");function p(e,t){const{exactMatch:i=!1,location:n,maxResults:l,spatialReference:s,source:a,sourceIndex:u,suggestResult:c,view:d}=e,{layer:f,filter:p,zoomScale:g}=a,b=d?.scale,L=y(a,d),R=t?.signal;return x(f).then(()=>{const e=f.popupTemplate;return e?e.getRequiredFields(f.fieldsIndex):null}).then(e=>{const{objectIdField:t,returnZ:y}=f,x=S(a);if(!j(f,x))throw m().error("invalid-field: displayField is invalid."),new r("getResults():invalid-field","displayField is invalid.");const C=e?.length?e:[x],E=a.outFields||C,D=h(E);E.includes(t)||D||E.push(t),f.floorInfo?.floorField&&E.push(f.floorInfo.floorField);if(!(D||I(f,E)))throw m().error("invalid-field: outField is invalid."),new r("getResults():invalid-field","outField is invalid.");const A=f.createQuery(),{orderByFields:N}=a;if(N&&(A.orderByFields=N),s){A.outSpatialReference=s;const e=1/o(s);e&&(A.maxAllowableOffset=e)}const k="mesh"===f.geometryType||"multipatch"===f.geometryType,O=f.capabilities?.data?.supportsZ&&!k;if(A.returnZ=O&&!1!==y,A.returnGeometry=!0,A.multipatchOption=k?"xyFootprint":null,E&&(A.outFields=E),n)A.geometry=n;else if(c.key)A.objectIds=[c.key];else{const e=a.searchFields||[x];if(!I(f,e))throw m().error("invalid-field: search field is invalid."),new r("getResults():invalid-field","search field is invalid.");T(f)&&(A.num=l),L&&(A.geometry=L);const t=c.text?.trim();if(!t)return[];const n=c.text,{prefix:o="",suffix:s=""}=a,u=q(`${o}${n}${s}`);$(f)&&v(f,e)&&!i&&n&&(A.fullText=w({text:n,searchFields:e}));const d=M({searchTerm:u,layer:f,searchFields:e,filter:p,exactMatch:i,query:A,type:"search"});if(A.where=d,!F(A))return[]}return f.queryFeatures(A,{signal:R}).then(e=>G(e,d,a,u,x,b,g))})}function g(e,t){const{source:i,spatialReference:n,view:l,suggestTerm:o,maxSuggestions:s,sourceIndex:a,exactMatch:u}=e,{layer:c,filter:d}=i,p=t?.signal,g=y(i,l);return x(c).then(()=>{if(!T(c))return[];const e=S(i),t=i.searchFields||[e],l=[];i.suggestionTemplate?i.suggestionTemplate.replaceAll(f,(e,t)=>(l.push(t),e)):l.push(e);const y=h(l);l.includes(c.objectIdField)||y||l.push(c.objectIdField);const x=j(c,e),b=y||I(c,l),L=I(c,t);if(!x)throw m().error("invalid-field: displayField is invalid."),new r("getSuggestions():invalid-field","displayField is invalid.");if(!b)throw m().error("invalid-field: outField is invalid."),new r("getSuggestions():invalid-field","outField is invalid.");if(!L)throw m().error("invalid-field: search field is invalid."),new r("getSuggestions():invalid-field","search field is invalid.");const R=c.createQuery(),{orderByFields:C}=i;C&&(R.orderByFields=C),R.outSpatialReference=n,R.returnGeometry=!1,R.num=s,R.outFields=l,g&&(R.geometry=g);if(!o.trim())return[];const{prefix:E="",suffix:D=""}=i,A=q(`${E}${o}${D}`);$(c)&&v(c,t)&&!u&&o&&(R.fullText=w({text:o,searchFields:t}));const N=M({searchTerm:A,layer:c,searchFields:t,filter:d,exactMatch:u,query:R,type:"suggest"});return R.where=N,F(R)?c.queryFeatures(R,{signal:p}).then(t=>B(t,i,a,e)):[]})}function y(e,t){const{filter:r,withinViewEnabled:i}=e,n=t?.extent,l=r?.geometry;return l??(i&&n?n:void 0)}function h(e){return e&&e.includes("*")}async function x(e){e&&await e.load()}function F(e){return!(!e.fullText&&!e.where)}function v(e,t){const r=e?.indexes;if(!r||!t?.length)return!1;return r.filter(e=>"FullText"===e.indexType).some(e=>{const r=e.fields?.split(",").map(e=>e.trim().toLowerCase())||[];return t.every(e=>r.includes(e.toLowerCase()))})}function w({text:e,searchFields:t}){return e.trim().split(" ").filter(e=>!!e.trim()).map(e=>new c({onFields:t,searchTerm:e,searchType:"prefix"}))}function $(e){return e?.capabilities?.query?.supportsFullTextSearch??!1}function T(e){return e?.capabilities?.query?.supportsPagination??!1}function b(e){return e?.fieldsIndex?.fields?.find(e=>"string"===e.type)?.name??""}function S(e){return e.displayField||e.layer.displayField||b(e.layer)}function I(e,t){return!(!e||!t?.length)&&t.every(t=>j(e,t))}function j(e,t){return!!e.getField(t)}function L(e){for(let t=0;t<e.length;t++)if(e.charCodeAt(t)>255)return!0;return!1}function R({codedValues:e},t,r){return l(e??[],e=>{const i=e.name,n=r?i:i.toLowerCase();return(r?t:t.toLowerCase())===n?e.code.toString():null})??null}function q(e){return e.replaceAll("'","''")}function C(e,t){const r=t?.where;return r?`(${e}) AND (${r})`:e}function E({currentTerm:e,field:t,filter:r,exactMatch:i,url:n,type:l}){const o=t?.type,s=t?.name;if("string"===o||"date"===o||"global-id"===o){const t=d.test(n??""),o=t&&L(e)?"N":"";if(i&&"search"===l)return C(`${s} = ${o}'${e}'`,r);if(t){return C(`${s} LIKE ${o}${`'${e}%'`}`,r)}return C(`${`LOWER(${s})`} LIKE ${o}${`'${e.toLowerCase()}%'`}`,r)}if("oid"===o||"small-integer"===o||"integer"===o||"single"===o||"double"===o){const t=Number(e);return isNaN(t)?null:C(`${s} = ${t}`,r)}return C(`${s} = ${e}`,r)}function D(e,t){return e?` OR (${t})`:`(${t})`}function M({searchTerm:e,layer:t,searchFields:r,filter:i,exactMatch:n,query:l,type:o}){const{definitionExpression:s,url:a}=t;let u="";return!l.fullText&&e&&r&&r.forEach(r=>{const l=t.getField(r),s=t.getFieldDomain?.(r,{excludeImpliedDomains:has("esri-widget-legacy-field-domain-calculation")}),c=("coded-value"===s?.type?R(s,e,n):null)||e||null;if(null!==c){const e=E({currentTerm:c,field:l,filter:i,exactMatch:n,url:a,type:o});e&&(u+=D(u,e))}}),s&&u?`(${s}) AND (${u})`:s||u}function A(e,t){let r=null;const{codedValues:i}=e;return i&&i.length&&i.some(e=>e.code===t&&(r=e.name,!0)),r}function N(e,t){return e[t]??e[Object.keys(e).find(e=>e.toLowerCase()===t.toLowerCase())]}function k(r,i,n){const l=r.sourceLayer,{attributes:o}=r,s=l.getFieldDomain?.(n,{feature:r,excludeImpliedDomains:has("esri-widget-legacy-field-domain-calculation")});if(i)return e(i,o);if(n&&o){const e=l.getField(n),r=N(o,n);return null==r?"":"coded-value"===s?.type?A(s,r)??"":"date"===e?.type?t(new Date(r)):"number"==typeof r?r.toString():"string"!=typeof r?"":r.trim()}return""}function O(e,t,r,i){const n=e.sourceLayer,{attributes:l}=e,{objectIdField:o}=n,s=o?l[o]:null;return{text:k(e,t.suggestionTemplate,i),key:s,sourceIndex:r}}function B(e,t,r,i){return e.features.map(e=>O(e,t,r,i))}function V(e){return null!=e&&null!=e.minScale&&null!=e.maxScale}function Z(e,t,r,n,l,o,c){const d=e.clone();d.layer=e.layer;const f=e.sourceLayer,m=f?.objectIdField,p=m?e.attributes[m]:null,g=k(e,r.searchTemplate,l);null!=o&&V(f)&&(f.minScale&&f.minScale<o?o=f.minScale:f.maxScale&&f.maxScale>o&&(o=f.maxScale));const y=d.geometry?a(d.geometry,t??void 0,o??void 0):void 0,h="number"==typeof c&&y?u(i(y),t??void 0,c):y,x=e.clone();return x.layer=e.layer,null!=h&&(x.geometry=s.fromExtent(h)),{extent:h,target:x,feature:d,key:p,name:g,sourceIndex:n}}function G(e,t,r,i,n,l,o){return e.features.map(e=>Z(e,t,r,i,n,l,o))}export{w as createFullTextSearchInfos,p as getResults,g as getSuggestions};
5
+ import{substitute as e,formatDate as t}from"../../../intl.js";import r from"../../../core/Error.js";import{clone as i}from"../../../core/lang.js";import n from"../../../core/Logger.js";import{mappedFind as l}from"../../../core/maybe.js";import{getMetersPerUnitForSR as o}from"../../../core/units.js";import s from"../../../geometry/Polygon.js";import{createExtentFromGeometry as u,scaleExtent as a}from"../../../geometry/support/geometryUtils.js";import c from"../../../rest/support/FullTextSearch.js";const d=/https?:\/\/services.*\.arcgis\.com/i,f=/(?:\{([^}]+)\})/g,m=()=>n.getLogger("esri.widgets.Search.support.layerSearchUtils");function p(e,t){const{exactMatch:i=!1,location:n,maxResults:l,spatialReference:s,source:u,sourceIndex:a,suggestResult:c,view:d}=e,{layer:f,filter:p,zoomScale:y}=u,b=d?.scale,L=g(u,d),R=t?.signal;return x(f).then(()=>{const e=f.popupTemplate;return e?e.getRequiredFields(f.fieldsIndex):null}).then(e=>{const{objectIdField:t,returnZ:g}=f,x=S(u);if(!I(f,x))throw m().error("invalid-field: displayField is invalid."),new r("getResults():invalid-field","displayField is invalid.");const C=e?.length?e:[x],E=u.outFields||C,M=h(E);E.includes(t)||M||E.push(t),f.floorInfo?.floorField&&E.push(f.floorInfo.floorField);if(!(M||j(f,E)))throw m().error("invalid-field: outField is invalid."),new r("getResults():invalid-field","outField is invalid.");const N=f.createQuery(),{orderByFields:k}=u;if(k&&(N.orderByFields=k),s){N.outSpatialReference=s;const e=1/o(s);e&&(N.maxAllowableOffset=e)}const D="mesh"===f.geometryType||"multipatch"===f.geometryType,O=f.capabilities?.data?.supportsZ&&!D;if(N.returnZ=O&&!1!==g,N.returnGeometry=!0,N.multipatchOption=D?"xyFootprint":null,E&&(N.outFields=E),n)N.geometry=n;else if(c.key)N.objectIds=[c.key];else{const e=u.searchFields||[x];if(!j(f,e))throw m().error("invalid-field: search field is invalid."),new r("getResults():invalid-field","search field is invalid.");T(f)&&(N.num=l),L&&(N.geometry=L);const t=c.text?.trim();if(!t)return[];const n=c.text,{prefix:o="",suffix:s=""}=u,a=q(`${o}${n}${s}`);$(f)&&v(f,e)&&!i&&n&&(N.fullText=w({text:n,searchFields:e}));const d=A({searchTerm:a,layer:f,searchFields:e,filter:p,exactMatch:i,query:N,type:"search"});if(N.where=d,!F(N))return[]}return f.queryFeatures(N,{signal:R}).then(e=>G(e,d,u,a,x,b,y))})}function y(e,t){const{source:i,spatialReference:n,view:l,suggestTerm:o,maxSuggestions:s,sourceIndex:u,exactMatch:a}=e,{layer:c,filter:d}=i,p=t?.signal,y=g(i,l);return x(c).then(()=>{if(!T(c))return[];const e=S(i),t=i.searchFields||[e],l=[];i.suggestionTemplate?i.suggestionTemplate.replaceAll(f,(e,t)=>(l.push(t),e)):l.push(e);const g=h(l);l.includes(c.objectIdField)||g||l.push(c.objectIdField);const x=I(c,e),b=g||j(c,l),L=j(c,t);if(!x)throw m().error("invalid-field: displayField is invalid."),new r("getSuggestions():invalid-field","displayField is invalid.");if(!b)throw m().error("invalid-field: outField is invalid."),new r("getSuggestions():invalid-field","outField is invalid.");if(!L)throw m().error("invalid-field: search field is invalid."),new r("getSuggestions():invalid-field","search field is invalid.");const R=c.createQuery(),{orderByFields:C}=i;C&&(R.orderByFields=C),R.outSpatialReference=n,R.returnGeometry=!1,R.num=s,R.outFields=l,y&&(R.geometry=y);if(!o.trim())return[];const{prefix:E="",suffix:M=""}=i,N=q(`${E}${o}${M}`);$(c)&&v(c,t)&&!a&&o&&(R.fullText=w({text:o,searchFields:t}));const k=A({searchTerm:N,layer:c,searchFields:t,filter:d,exactMatch:a,query:R,type:"suggest"});return R.where=k,F(R)?c.queryFeatures(R,{signal:p}).then(t=>B(t,i,u,e)):[]})}function g(e,t){const{filter:r,withinViewEnabled:i}=e,n=t?.extent,l=r?.geometry;return l??(i&&n?n:void 0)}function h(e){return e&&e.includes("*")}async function x(e){e&&await e.load()}function F(e){return!(!e.fullText&&!e.where)}function v(e,t){const r=e?.indexes;if(!r||!t?.length)return!1;return r.filter(e=>"FullText"===e.indexType).some(e=>{const r=e.fields?.split(",").map(e=>e.trim().toLowerCase())||[];return t.every(e=>r.includes(e.toLowerCase()))})}function w({text:e,searchFields:t}){return e.trim().split(" ").filter(e=>!!e.trim()).map(e=>new c({onFields:t,searchTerm:e,searchType:"prefix"}))}function $(e){return e?.capabilities?.query?.supportsFullTextSearch??!1}function T(e){return e?.capabilities?.query?.supportsPagination??!1}function b(e){return e?.fieldsIndex?.fields?.find(e=>"string"===e.type)?.name??""}function S(e){return e.displayField||e.layer.displayField||b(e.layer)}function j(e,t){return!(!e||!t?.length)&&t.every(t=>I(e,t))}function I(e,t){return!!e.getField(t)}function L(e){for(let t=0;t<e.length;t++)if(e.charCodeAt(t)>255)return!0;return!1}function R({codedValues:e},t,r){return l(e??[],e=>{const i=e.name,n=r?i:i.toLowerCase();return(r?t:t.toLowerCase())===n?e.code.toString():null})??null}function q(e){return e.replaceAll("'","''")}function C(e,t){const r=t?.where;return r?`(${e}) AND (${r})`:e}function E({currentTerm:e,field:t,filter:r,exactMatch:i,url:n,type:l}){const o=t?.type,s=t?.name;if("string"===o||"date"===o||"global-id"===o){const t=d.test(n??""),o=t&&L(e)?"N":"";if(i&&"search"===l)return C(`${s} = ${o}'${e}'`,r);if(t){return C(`${s} LIKE ${o}${`'${e}%'`}`,r)}return C(`${`LOWER(${s})`} LIKE ${o}${`'${e.toLowerCase()}%'`}`,r)}if("oid"===o||"small-integer"===o||"integer"===o||"single"===o||"double"===o){const t=Number(e);return isNaN(t)?null:C(`${s} = ${t}`,r)}return C(`${s} = ${e}`,r)}function M(e,t){return e?` OR (${t})`:`(${t})`}function A({searchTerm:e,layer:t,searchFields:r,filter:i,exactMatch:n,query:l,type:o}){const{definitionExpression:s,url:u}=t;let a="";return!l.fullText&&e&&r&&r.forEach(r=>{const l=t.getField(r),s=t.getFieldDomain?.(r),c=("coded-value"===s?.type?R(s,e,n):null)||e||null;if(null!==c){const e=E({currentTerm:c,field:l,filter:i,exactMatch:n,url:u,type:o});e&&(a+=M(a,e))}}),s&&a?`(${s}) AND (${a})`:s||a}function N(e,t){let r=null;const{codedValues:i}=e;return i&&i.length&&i.some(e=>e.code===t&&(r=e.name,!0)),r}function k(e,t){return e[t]??e[Object.keys(e).find(e=>e.toLowerCase()===t.toLowerCase())]}function D(r,i,n){const l=r.sourceLayer,{attributes:o}=r,s=l.getFieldDomain?.(n,{feature:r});if(i)return e(i,o);if(n&&o){const e=l.getField(n),r=k(o,n);return null==r?"":"coded-value"===s?.type?N(s,r)??"":"date"===e?.type?t(new Date(r)):"number"==typeof r?r.toString():"string"!=typeof r?"":r.trim()}return""}function O(e,t,r,i){const n=e.sourceLayer,{attributes:l}=e,{objectIdField:o}=n,s=o?l[o]:null;return{text:D(e,t.suggestionTemplate,i),key:s,sourceIndex:r}}function B(e,t,r,i){return e.features.map(e=>O(e,t,r,i))}function V(e){return null!=e&&null!=e.minScale&&null!=e.maxScale}function Z(e,t,r,n,l,o,c){const d=e.clone();d.layer=e.layer;const f=e.sourceLayer,m=f?.objectIdField,p=m?e.attributes[m]:null,y=D(e,r.searchTemplate,l);null!=o&&V(f)&&(f.minScale&&f.minScale<o?o=f.minScale:f.maxScale&&f.maxScale>o&&(o=f.maxScale));const g=d.geometry?u(d.geometry,t??void 0,o??void 0):void 0,h="number"==typeof c&&g?a(i(g),t??void 0,c):g,x=e.clone();return x.layer=e.layer,null!=h&&(x.geometry=s.fromExtent(h)),{extent:h,target:x,feature:d,key:p,name:y,sourceIndex:n}}function G(e,t,r,i,n,l,o){return e.features.map(e=>Z(e,t,r,i,n,l,o))}export{w as createFullTextSearchInfos,p as getResults,y as getSuggestions};
package/widgets/Search.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as e}from"tslib";import{substitute as t}from"../intl.js";import s from"../PopupTemplate.js";import{deprecateWidget as o,deprecatedPropertyValue as r}from"../core/deprecate.js";import i from"../core/Logger.js";import{destroyMaybe as l,abortMaybe as n}from"../core/maybe.js";import{ignoreAbortErrors as a,isAbortError as c}from"../core/promiseUtils.js";import{watch as u,on as h,initial as d}from"../core/reactiveUtils.js";import{waitAnimationFrame as p}from"../core/scheduling.js";import{property as g,subclass as m}from"../core/accessorSupport/decorators.js";import v from"../portal/Portal.js";import _ from"./Widget.js";import{css as w}from"./Search/css.js";import M from"./Search/SearchResultRenderer.js";import S from"./Search/SearchViewModel.js";import{SourceCollection as b}from"./Search/types.js";import{loadCalciteComponents as y}from"./support/componentsUtils.js";import{globalCss as f}from"./support/globalCss.js";import{messageBundle as C,vmEvent as T,tsx as A}from"./support/widget.js";let R=class extends _{constructor(e,t){super(e,t),this._currentLocationValue=`${this.id}-search-use-current-location`,this._autocompleteNode=null,this._focusAbortController=null,this._searchResultRenderer=new M,this._suggestController=null,this._searchController=null,this._lastSearchTerm="",this._locateFailed=!1,this._showNoResults=!1,this.disabled=!1,this.messages=null,this.messagesCommon=null,this.viewModel=new S,this._renderSearchResultsContent=()=>this._searchResultRenderer,o(i.getLogger(this),"Search","arcgis-search",{version:"4.33"}),this.addHandles([u(()=>this.viewModel,e=>this._searchResultRenderer.viewModel=e,d),u(()=>this.viewModel.results,()=>this._searchResultRenderer.showMoreResultsOpen=!1),u(()=>this.messages,e=>this.viewModel.messages=e),u(()=>this.viewModel?.defaultPopupTemplate,e=>{e&&(e.content=this._renderSearchResultsContent)},d),u(()=>this.viewModel?.view?.popupElement&&this.viewModel?.defaultPopupTemplate,()=>{if(this.viewModel?.defaultPopupTemplate&&this.viewModel?.view?.popupElement){const e=document.createElement("arcgis-search-result-renderer");e.viewModel=this.viewModel,e.messages=this.messages,this.viewModel.defaultPopupTemplate.content=e}},d),h(()=>this.viewModel,"popup-open",async e=>{const{features:t,location:s}=e;await(this.view?.openPopup({features:t,location:s??void 0}))})])}loadDependencies(){return y({autocomplete:()=>import("@esri/calcite-components/dist/components/calcite-autocomplete"),"autocomplete-item-group":()=>import("@esri/calcite-components/dist/components/calcite-autocomplete-item-group"),"autocomplete-item":()=>import("@esri/calcite-components/dist/components/calcite-autocomplete-item"),button:()=>import("@esri/calcite-components/dist/components/calcite-button"),dropdown:()=>import("@esri/calcite-components/dist/components/calcite-dropdown"),"dropdown-group":()=>import("@esri/calcite-components/dist/components/calcite-dropdown-group"),"dropdown-item":()=>import("@esri/calcite-components/dist/components/calcite-dropdown-item"),notice:()=>import("@esri/calcite-components/dist/components/calcite-notice")})}destroy(){this._cancelQueries(),this._searchResultRenderer=l(this._searchResultRenderer),this._focusAbortController?.abort()}get _isDisabled(){const{state:e}=this.viewModel;return"disabled"===e||"loading"===e||this.disabled}get _showCurrentLocation(){return this.locationEnabled&&!this.searchTerm?.trim()}get _effectiveActiveMenu(){const{activeMenu:e}=this;return this._isDisabled?"none":"warning"===e?"suggestion":e}get activeMenu(){return"none"}set activeMenu(e){"warning"===e&&r(i.getLogger(this),"activeMenu","warning",{replacement:"Use the value 'suggestion' instead",version:"4.32",warnOnce:!0}),this._overrideIfSome("activeMenu",e)}get activeSource(){return this.viewModel?.activeSource}get activeSourceIndex(){return this.viewModel.activeSourceIndex}set activeSourceIndex(e){this.viewModel.activeSourceIndex=e}get allPlaceholder(){return this.viewModel.allPlaceholder}set allPlaceholder(e){this.viewModel.allPlaceholder=e}get allSources(){return this.viewModel.allSources}get autoNavigate(){return this.viewModel.autoNavigate}set autoNavigate(e){this.viewModel.autoNavigate=e}get autoSelect(){return this.viewModel.autoSelect}set autoSelect(e){this.viewModel.autoSelect=e}get defaultSources(){return this.viewModel.defaultSources}get goToOverride(){return this.viewModel.goToOverride}set goToOverride(e){this.viewModel.goToOverride=e}get icon(){return"search"}set icon(e){this._overrideIfSome("icon",e)}get includeDefaultSources(){return this.viewModel.includeDefaultSources}set includeDefaultSources(e){this.viewModel.includeDefaultSources=e}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get locationEnabled(){return this.viewModel.locationEnabled}set locationEnabled(e){this.viewModel.locationEnabled=e}get maxResults(){return this.viewModel.maxResults}set maxResults(e){this.viewModel.maxResults=e}get maxSuggestions(){return this.viewModel.maxSuggestions}set maxSuggestions(e){this.viewModel.maxSuggestions=e}get minSuggestCharacters(){return this.viewModel.minSuggestCharacters}set minSuggestCharacters(e){this.viewModel.minSuggestCharacters=e}get popupEnabled(){return this.viewModel.popupEnabled}set popupEnabled(e){this.viewModel.popupEnabled=e}get popupTemplate(){return this.viewModel.popupTemplate}set popupTemplate(e){this.viewModel.popupTemplate=e}get portal(){return this.viewModel?.portal}set portal(e){this.viewModel&&(this.viewModel.portal=e)}get resultGraphic(){return this.viewModel.resultGraphic}set resultGraphic(e){this.viewModel.resultGraphic=e}get resultGraphicEnabled(){return this.viewModel.resultGraphicEnabled}set resultGraphicEnabled(e){this.viewModel.resultGraphicEnabled=e}get results(){return this.viewModel.results}get searchAllEnabled(){return this.viewModel.searchAllEnabled}set searchAllEnabled(e){this.viewModel.searchAllEnabled=e}get searchTerm(){return this.viewModel.searchTerm}set searchTerm(e){this.viewModel.searchTerm=e}get selectedResult(){return this.viewModel.selectedResult}get sources(){return this.viewModel.sources}set sources(e){this.viewModel.sources=e}get suggestions(){return this.viewModel.suggestions}get suggestionsEnabled(){return this.viewModel.suggestionsEnabled}set suggestionsEnabled(e){this.viewModel.suggestionsEnabled=e}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}clear(){this._locateFailed=!1,this.viewModel.clear()}focus(){this._handleFocus(),this._emitFocus()}blur(){this._autocompleteNode?.blur(),this._emitBlur()}async search(e){this._cancelQueries();const t=new AbortController,{signal:s}=t;this._searchController=t;try{const o=await this.viewModel.search(e,{signal:s});if(this._searchController!==t)return;return o?.numResults||(this._showNoResults=!0,this.activeMenu="suggestion"),this._searchController=null,o}catch(o){if(this._searchController!==t)return;return void(this._searchController=null)}}async suggest(e){this._cancelSuggest();const t=new AbortController,{signal:s}=t;this._suggestController=t;try{const o=await this.viewModel.suggest(e,null,{signal:s});if(this._suggestController!==t)return;return this._suggestController=null,o?.numResults&&(this.activeMenu="suggestion",this._scrollToTopSuggestion()),o}catch(o){return this._suggestController!==t||(this._suggestController=null),null}}render(){return A("div",{class:this.classes(w.base,f.widget)},A("div",{class:w.container},this._renderSourcesMenu(),this._renderForm()))}_handleInputKeydown(e){"Tab"===e.key&&this._cancelSuggest()}_emitFocus(){this.emit("search-focus")}_emitBlur(){this.emit("search-blur")}async _handleFocus(){this._focusAbortController?.abort(),this._focusAbortController=new AbortController;const e=this._focusAbortController.signal;await a(p(e)),this._autocompleteNode?.setFocus()}_renderSourcesMenu(){const{messages:e,_isDisabled:t,_effectiveActiveMenu:s}=this,{allSources:o,searchAllEnabled:r}=this.viewModel;return o.length>1?A("calcite-dropdown",{bind:this,class:w.dropdown,disabled:t,open:"source"===s,overlayPositioning:"fixed",onCalciteDropdownClose:this._handleSourceClose,onCalciteDropdownOpen:this._handleSourceOpen,onCalciteDropdownSelect:this._handleSourceSelect},A("calcite-button",{appearance:"outline-fill",iconStart:"caret-down",kind:"neutral",label:e.searchIn,slot:"trigger"}),A("calcite-dropdown-group",{groupTitle:e.searchIn},r?this._renderSource(S.ALL_INDEX):null,o.map((e,t)=>this._renderSource(t)).toArray())):null}_renderUseCurrentLocation(){const{_currentLocationValue:e}=this;return A("calcite-autocomplete-item",{heading:this.messages.useCurrentLocation,iconStart:"gps-on",key:e,value:e})}_handleAutocompleteCreate(e){this._autocompleteNode=e}_handleCalciteAutocompleteTextInput(e){const t=e.target.inputValue;t!==this.viewModel.searchTerm&&(this.viewModel.searchTerm=t,t||this.clear(),this.suggest())}_handleAutocompleteOpen(){this.activeMenu="suggestion"}_handleAutocompleteClose(){"suggestion"===this.activeMenu&&(this.activeMenu="none")}_handleCalciteAutocompleteChange(e){const t=e.target.value;if(t===this._currentLocationValue)return void this._useCurrentLocation();const s=JSON.parse(t),o=this.viewModel.suggestions?.find(({sourceIndex:e})=>e===s.sourceIndex)?.results?.find(({key:e})=>`${e}`==`${s.key}`);o&&this.search(o)}_renderAutocomplete(){const{_effectiveActiveMenu:e,messages:t,_isDisabled:s}=this,{maxInputLength:o,placeholder:r,searchTerm:i,state:l}=this.viewModel,n=this.label??t.searchButtonTitle??"";return A("calcite-autocomplete",{afterCreate:this._handleAutocompleteCreate,autocomplete:"off",bind:this,class:w.autocomplete,disabled:s,icon:this.icon||!1,inputValue:i,label:n,loading:"searching"===l,maxLength:o,name:this.id,onblur:this._emitBlur,onfocus:this._emitFocus,onkeydown:this._handleInputKeydown,open:"suggestion"===e,overlayPositioning:"fixed",placeholder:r,title:i?"":r,onCalciteAutocompleteChange:this._handleCalciteAutocompleteChange,onCalciteAutocompleteClose:this._handleAutocompleteClose,onCalciteAutocompleteOpen:this._handleAutocompleteOpen,onCalciteAutocompleteTextChange:this._handleCalciteAutocompleteTextInput,onCalciteAutocompleteTextInput:this._handleCalciteAutocompleteTextInput},this._renderSuggestions(),this._renderNotices())}_renderForm(){return A("form",{bind:this,class:w.form,disabled:this._isDisabled,key:w.form,onsubmit:this._formSubmit,role:"search"},this._renderAutocomplete(),A("button",{class:w.submitButton,type:"submit"},this.label??this.messages.searchButtonTitle??""))}_renderSuggestGroup(e){return e.results?.map(e=>this._renderSuggestion(e))}_renderSuggestions(){const{suggestions:e}=this.viewModel;return this._showNoResults?null:this._showCurrentLocation?this._renderUseCurrentLocation():e?.map(e=>this._renderSuggestResults(e))}_renderSuggestResults(e){const{allSources:t,activeSourceIndex:s}=this.viewModel,{sourceIndex:o}=e,r=e.results?.length,i=t.length>1&&s===S.ALL_INDEX,l=this._getSourceName(o);return r&&i?A("calcite-autocomplete-item-group",{heading:l,key:`suggestion-group-${l}-${o}`},this._renderSuggestGroup(e)):this._renderSuggestGroup(e)}_renderSuggestion({key:e,sourceIndex:t,text:s}){const o={key:e,sourceIndex:t};return A("calcite-autocomplete-item",{heading:s??this.messages.untitledResult,key:`suggestion_${e}`,value:JSON.stringify(o)})}_renderSource(e){const t=this._getSourceName(e);return A("calcite-dropdown-item",{"data-source-index":`${e}`,key:`source-${t}-${e}`,selected:e===this.viewModel.activeSourceIndex},t)}_renderNoResultsWarning(e){const{messages:s}=this,o=e?t(s.noResultsFoundForValue,{value:`"${e}"`}):s.noResultsFound;return A("calcite-notice",{icon:"exclamation-mark-triangle",key:"no-results-warning",kind:"warning",open:!0,slot:"content-bottom"},A("div",{slot:"title"},s.noResults),A("div",{slot:"message"},o))}_renderLocateError(){return A("calcite-notice",{icon:"exclamation-mark-circle",key:"locate-warning",kind:"danger",open:!0,slot:"content-bottom"},A("div",{slot:"message"},this.messages.locateError))}_renderNotices(){return this._locateFailed?this._renderLocateError():this._showNoResults?this._renderNoResultsWarning(this._lastSearchTerm??this.viewModel.searchTerm):null}async _useCurrentLocation(){this._cancelQueries();const e=new AbortController,{signal:t}=e;this._searchController=e;try{await this.viewModel.searchNearby({signal:t})}catch(s){c(s)||(this._locateFailed=!0,this.activeMenu="suggestion")}finally{this._searchController=null}}_handleSourceOpen(){this.activeMenu="source"}_handleSourceClose(){"source"===this.activeMenu&&(this.activeMenu="none")}_handleSourceSelect(e){const t=e.target.selectedItems[0].getAttribute("data-source-index");t&&(this.viewModel.activeSourceIndex=parseInt(t,10))}_cancelSuggest(){this.activeMenu="none",this._locateFailed=!1,this._showNoResults=!1,this._suggestController=n(this._suggestController)}_cancelQueries(){this._cancelSuggest(),this._searchController=n(this._searchController)}_scrollToTopSuggestion(){this._autocompleteNode?.scrollContentTo({top:0})}_formSubmit(e){e.preventDefault(),this.activeMenu="none",this._lastSearchTerm=this.searchTerm,this.searchTerm&&this.search()}_getSourceName(e){const{messages:t}=this,{allSources:s}=this.viewModel,o=s.at(e);return e===S.ALL_INDEX?t.all:o?.name||t.untitledSource}};e([g()],R.prototype,"_locateFailed",void 0),e([g()],R.prototype,"_showNoResults",void 0),e([g()],R.prototype,"_isDisabled",null),e([g()],R.prototype,"_showCurrentLocation",null),e([g()],R.prototype,"_effectiveActiveMenu",null),e([g()],R.prototype,"activeMenu",null),e([g({readOnly:!0})],R.prototype,"activeSource",null),e([g()],R.prototype,"activeSourceIndex",null),e([g()],R.prototype,"allPlaceholder",null),e([g({readOnly:!0})],R.prototype,"allSources",null),e([g()],R.prototype,"autoNavigate",null),e([g()],R.prototype,"autoSelect",null),e([g({readOnly:!0})],R.prototype,"defaultSources",null),e([g()],R.prototype,"disabled",void 0),e([g()],R.prototype,"goToOverride",null),e([g()],R.prototype,"icon",null),e([g()],R.prototype,"includeDefaultSources",null),e([g()],R.prototype,"label",null),e([g()],R.prototype,"locationEnabled",null),e([g()],R.prototype,"maxResults",null),e([g()],R.prototype,"maxSuggestions",null),e([g(),C("esri/widgets/Search/t9n/Search")],R.prototype,"messages",void 0),e([g(),C("esri/t9n/common")],R.prototype,"messagesCommon",void 0),e([g()],R.prototype,"minSuggestCharacters",null),e([g()],R.prototype,"popupEnabled",null),e([g({type:s})],R.prototype,"popupTemplate",null),e([g({type:v})],R.prototype,"portal",null),e([g()],R.prototype,"resultGraphic",null),e([g()],R.prototype,"resultGraphicEnabled",null),e([g({readOnly:!0})],R.prototype,"results",null),e([g()],R.prototype,"searchAllEnabled",null),e([g()],R.prototype,"searchTerm",null),e([g({readOnly:!0})],R.prototype,"selectedResult",null),e([g({type:b})],R.prototype,"sources",null),e([g({readOnly:!0})],R.prototype,"suggestions",null),e([g()],R.prototype,"suggestionsEnabled",null),e([g()],R.prototype,"view",null),e([T(["search-complete","search-clear","search-start","select-result","suggest-start","suggest-complete"]),g({type:S})],R.prototype,"viewModel",void 0),R=e([m("esri.widgets.Search")],R);const x=R;export{x as default};
5
+ import{__decorate as e}from"tslib";import{substitute as t}from"../intl.js";import s from"../PopupTemplate.js";import{deprecateWidget as o,deprecatedPropertyValue as r}from"../core/deprecate.js";import i from"../core/Logger.js";import{destroyMaybe as l,abortMaybe as n}from"../core/maybe.js";import{ignoreAbortErrors as a,isAbortError as c}from"../core/promiseUtils.js";import{watch as u,on as h,initial as d}from"../core/reactiveUtils.js";import{waitAnimationFrame as p}from"../core/scheduling.js";import{property as g,subclass as m}from"../core/accessorSupport/decorators.js";import v from"../portal/Portal.js";import{popupFromView as _,closePopup as w}from"../views/popupAdapter.js";import M from"./Widget.js";import{css as S}from"./Search/css.js";import b from"./Search/SearchResultRenderer.js";import y from"./Search/SearchViewModel.js";import{SourceCollection as f}from"./Search/types.js";import{loadCalciteComponents as C}from"./support/componentsUtils.js";import{globalCss as T}from"./support/globalCss.js";import{messageBundle as A,vmEvent as R,tsx as E}from"./support/widget.js";let x=class extends M{constructor(e,t){super(e,t),this._currentLocationValue=`${this.id}-search-use-current-location`,this._autocompleteNode=null,this._focusAbortController=null,this._searchResultRenderer=new b,this._suggestController=null,this._searchController=null,this._lastSearchTerm="",this._locateFailed=!1,this._showNoResults=!1,this.disabled=!1,this.messages=null,this.messagesCommon=null,this.viewModel=new y,this._renderSearchResultsContent=()=>this._searchResultRenderer,o(i.getLogger(this),"Search","arcgis-search",{version:"4.33"}),this.addHandles([u(()=>this.viewModel,e=>this._searchResultRenderer.viewModel=e,d),u(()=>this.viewModel.results,()=>this._searchResultRenderer.showMoreResultsOpen=!1),u(()=>this.messages,e=>this.viewModel.messages=e),u(()=>this.viewModel?.defaultPopupTemplate,e=>{e&&(e.content=this._renderSearchResultsContent)},d),u(()=>this.viewModel?.view?.popupElement&&this.viewModel?.defaultPopupTemplate,()=>{if(this.viewModel?.defaultPopupTemplate&&this.viewModel?.view?.popupElement){const e=document.createElement("arcgis-search-result-renderer");e.viewModel=this.viewModel,e.messages=this.messages,this.viewModel.defaultPopupTemplate.content=e}},d),u(()=>this.viewModel?.resultGraphic,(e,t)=>this._closePopup(t)),h(()=>this.viewModel,"select-result",e=>{const{popupEnabled:t}=e,{view:s,resultGraphic:o,resultLocation:r}=this.viewModel,i=_(s);s&&i&&t&&r&&o?.getEffectivePopupTemplate(i.defaultPopupTemplateEnabled)&&s.openPopup({features:o?[o]:[],location:r})})])}loadDependencies(){return C({autocomplete:()=>import("@esri/calcite-components/dist/components/calcite-autocomplete"),"autocomplete-item-group":()=>import("@esri/calcite-components/dist/components/calcite-autocomplete-item-group"),"autocomplete-item":()=>import("@esri/calcite-components/dist/components/calcite-autocomplete-item"),button:()=>import("@esri/calcite-components/dist/components/calcite-button"),dropdown:()=>import("@esri/calcite-components/dist/components/calcite-dropdown"),"dropdown-group":()=>import("@esri/calcite-components/dist/components/calcite-dropdown-group"),"dropdown-item":()=>import("@esri/calcite-components/dist/components/calcite-dropdown-item"),notice:()=>import("@esri/calcite-components/dist/components/calcite-notice")})}destroy(){this._cancelQueries(),this._searchResultRenderer=l(this._searchResultRenderer),this._focusAbortController?.abort()}get _isDisabled(){const{state:e}=this.viewModel;return"disabled"===e||"loading"===e||this.disabled}get _showCurrentLocation(){return this.locationEnabled&&!this.searchTerm?.trim()}get _effectiveActiveMenu(){const{activeMenu:e}=this;return this._isDisabled?"none":"warning"===e?"suggestion":e}get activeMenu(){return"none"}set activeMenu(e){"warning"===e&&r(i.getLogger(this),"activeMenu","warning",{replacement:"Use the value 'suggestion' instead",version:"4.32",warnOnce:!0}),this._overrideIfSome("activeMenu",e)}get activeSource(){return this.viewModel?.activeSource}get activeSourceIndex(){return this.viewModel.activeSourceIndex}set activeSourceIndex(e){this.viewModel.activeSourceIndex=e}get allPlaceholder(){return this.viewModel.allPlaceholder}set allPlaceholder(e){this.viewModel.allPlaceholder=e}get allSources(){return this.viewModel.allSources}get autoNavigate(){return this.viewModel.autoNavigate}set autoNavigate(e){this.viewModel.autoNavigate=e}get autoSelect(){return this.viewModel.autoSelect}set autoSelect(e){this.viewModel.autoSelect=e}get defaultSources(){return this.viewModel.defaultSources}get goToOverride(){return this.viewModel.goToOverride}set goToOverride(e){this.viewModel.goToOverride=e}get icon(){return"search"}set icon(e){this._overrideIfSome("icon",e)}get includeDefaultSources(){return this.viewModel.includeDefaultSources}set includeDefaultSources(e){this.viewModel.includeDefaultSources=e}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get locationEnabled(){return this.viewModel.locationEnabled}set locationEnabled(e){this.viewModel.locationEnabled=e}get maxResults(){return this.viewModel.maxResults}set maxResults(e){this.viewModel.maxResults=e}get maxSuggestions(){return this.viewModel.maxSuggestions}set maxSuggestions(e){this.viewModel.maxSuggestions=e}get minSuggestCharacters(){return this.viewModel.minSuggestCharacters}set minSuggestCharacters(e){this.viewModel.minSuggestCharacters=e}get popupEnabled(){return this.viewModel.popupEnabled}set popupEnabled(e){this.viewModel.popupEnabled=e}get popupTemplate(){return this.viewModel.popupTemplate}set popupTemplate(e){this.viewModel.popupTemplate=e}get portal(){return this.viewModel?.portal}set portal(e){this.viewModel&&(this.viewModel.portal=e)}get resultGraphic(){return this.viewModel.resultGraphic}set resultGraphic(e){this.viewModel.resultGraphic=e}get resultGraphicEnabled(){return this.viewModel.resultGraphicEnabled}set resultGraphicEnabled(e){this.viewModel.resultGraphicEnabled=e}get results(){return this.viewModel.results}get searchAllEnabled(){return this.viewModel.searchAllEnabled}set searchAllEnabled(e){this.viewModel.searchAllEnabled=e}get searchTerm(){return this.viewModel.searchTerm}set searchTerm(e){this.viewModel.searchTerm=e}get selectedResult(){return this.viewModel.selectedResult}get sources(){return this.viewModel.sources}set sources(e){this.viewModel.sources=e}get suggestions(){return this.viewModel.suggestions}get suggestionsEnabled(){return this.viewModel.suggestionsEnabled}set suggestionsEnabled(e){this.viewModel.suggestionsEnabled=e}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}clear(){this._locateFailed=!1,this.viewModel.clear()}focus(){this._handleFocus(),this._emitFocus()}blur(){this._autocompleteNode?.blur(),this._emitBlur()}async search(e){this._cancelQueries();const t=new AbortController,{signal:s}=t;this._searchController=t;try{const o=await this.viewModel.search(e,{signal:s});if(this._searchController!==t)return;return o?.numResults||(this._showNoResults=!0,this.activeMenu="suggestion"),this._searchController=null,o}catch(o){if(this._searchController!==t)return;return void(this._searchController=null)}}async suggest(e){this._cancelSuggest();const t=new AbortController,{signal:s}=t;this._suggestController=t;try{const o=await this.viewModel.suggest(e,null,{signal:s});if(this._suggestController!==t)return;return this._suggestController=null,o?.numResults&&(this.activeMenu="suggestion",this._scrollToTopSuggestion()),o}catch(o){return this._suggestController!==t||(this._suggestController=null),null}}render(){return E("div",{class:this.classes(S.base,T.widget)},E("div",{class:S.container},this._renderSourcesMenu(),this._renderForm()))}_closePopup(e){const t=_(this.view);e&&t?.selectedFeature===e&&w(this.view?.popup,this.view?.popupElement)}_handleInputKeydown(e){"Tab"===e.key&&this._cancelSuggest()}_emitFocus(){this.emit("search-focus")}_emitBlur(){this.emit("search-blur")}async _handleFocus(){this._focusAbortController?.abort(),this._focusAbortController=new AbortController;const e=this._focusAbortController.signal;await a(p(e)),this._autocompleteNode?.setFocus()}_renderSourcesMenu(){const{messages:e,_isDisabled:t,_effectiveActiveMenu:s}=this,{allSources:o,searchAllEnabled:r}=this.viewModel;return o.length>1?E("calcite-dropdown",{bind:this,class:S.dropdown,disabled:t,open:"source"===s,overlayPositioning:"fixed",onCalciteDropdownClose:this._handleSourceClose,onCalciteDropdownOpen:this._handleSourceOpen,onCalciteDropdownSelect:this._handleSourceSelect},E("calcite-button",{appearance:"outline-fill",iconStart:"caret-down",kind:"neutral",label:e.searchIn,slot:"trigger"}),E("calcite-dropdown-group",{groupTitle:e.searchIn},r?this._renderSource(y.ALL_INDEX):null,o.map((e,t)=>this._renderSource(t)).toArray())):null}_renderUseCurrentLocation(){const{_currentLocationValue:e}=this;return E("calcite-autocomplete-item",{heading:this.messages.useCurrentLocation,iconStart:"gps-on",key:e,value:e})}_handleAutocompleteCreate(e){this._autocompleteNode=e}_handleCalciteAutocompleteTextInput(e){const t=e.target.inputValue;t!==this.viewModel.searchTerm&&(this.viewModel.searchTerm=t,t||this.clear(),this.suggest())}_handleAutocompleteOpen(){this.activeMenu="suggestion"}_handleAutocompleteClose(){"suggestion"===this.activeMenu&&(this.activeMenu="none")}_handleCalciteAutocompleteChange(e){const t=e.target.value;if(t===this._currentLocationValue)return void this._useCurrentLocation();const s=JSON.parse(t),o=this.viewModel.suggestions?.find(({sourceIndex:e})=>e===s.sourceIndex)?.results?.find(({key:e})=>`${e}`==`${s.key}`);o&&this.search(o)}_renderAutocomplete(){const{_effectiveActiveMenu:e,messages:t,_isDisabled:s}=this,{maxInputLength:o,placeholder:r,searchTerm:i,state:l}=this.viewModel,n=this.label??t.searchButtonTitle??"";return E("calcite-autocomplete",{afterCreate:this._handleAutocompleteCreate,autocomplete:"off",bind:this,class:S.autocomplete,disabled:s,icon:this.icon||!1,inputValue:i,label:n,loading:"searching"===l,maxLength:o,name:this.id,onblur:this._emitBlur,onfocus:this._emitFocus,onkeydown:this._handleInputKeydown,open:"suggestion"===e,overlayPositioning:"fixed",placeholder:r,title:i?"":r,onCalciteAutocompleteChange:this._handleCalciteAutocompleteChange,onCalciteAutocompleteClose:this._handleAutocompleteClose,onCalciteAutocompleteOpen:this._handleAutocompleteOpen,onCalciteAutocompleteTextChange:this._handleCalciteAutocompleteTextInput,onCalciteAutocompleteTextInput:this._handleCalciteAutocompleteTextInput},this._renderSuggestions(),this._renderNotices())}_renderForm(){return E("form",{bind:this,class:S.form,disabled:this._isDisabled,key:S.form,onsubmit:this._formSubmit,role:"search"},this._renderAutocomplete(),E("button",{class:S.submitButton,type:"submit"},this.label??this.messages.searchButtonTitle??""))}_renderSuggestGroup(e){return e.results?.map(e=>this._renderSuggestion(e))}_renderSuggestions(){const{suggestions:e}=this.viewModel;return this._showNoResults?null:this._showCurrentLocation?this._renderUseCurrentLocation():e?.map(e=>this._renderSuggestResults(e))}_renderSuggestResults(e){const{allSources:t,activeSourceIndex:s}=this.viewModel,{sourceIndex:o}=e,r=e.results?.length,i=t.length>1&&s===y.ALL_INDEX,l=this._getSourceName(o);return r&&i?E("calcite-autocomplete-item-group",{heading:l,key:`suggestion-group-${l}-${o}`},this._renderSuggestGroup(e)):this._renderSuggestGroup(e)}_renderSuggestion({key:e,sourceIndex:t,text:s}){const o={key:e,sourceIndex:t};return E("calcite-autocomplete-item",{heading:s??this.messages.untitledResult,key:`suggestion_${e}`,value:JSON.stringify(o)})}_renderSource(e){const t=this._getSourceName(e);return E("calcite-dropdown-item",{"data-source-index":`${e}`,key:`source-${t}-${e}`,selected:e===this.viewModel.activeSourceIndex},t)}_renderNoResultsWarning(e){const{messages:s}=this,o=e?t(s.noResultsFoundForValue,{value:`"${e}"`}):s.noResultsFound;return E("calcite-notice",{icon:"exclamation-mark-triangle",key:"no-results-warning",kind:"warning",open:!0,slot:"content-bottom"},E("div",{slot:"title"},s.noResults),E("div",{slot:"message"},o))}_renderLocateError(){return E("calcite-notice",{icon:"exclamation-mark-circle",key:"locate-warning",kind:"danger",open:!0,slot:"content-bottom"},E("div",{slot:"message"},this.messages.locateError))}_renderNotices(){return this._locateFailed?this._renderLocateError():this._showNoResults?this._renderNoResultsWarning(this._lastSearchTerm??this.viewModel.searchTerm):null}async _useCurrentLocation(){this._cancelQueries();const e=new AbortController,{signal:t}=e;this._searchController=e;try{await this.viewModel.searchNearby({signal:t})}catch(s){c(s)||(this._locateFailed=!0,this.activeMenu="suggestion")}finally{this._searchController=null}}_handleSourceOpen(){this.activeMenu="source"}_handleSourceClose(){"source"===this.activeMenu&&(this.activeMenu="none")}_handleSourceSelect(e){const t=e.target.selectedItems[0].getAttribute("data-source-index");t&&(this.viewModel.activeSourceIndex=parseInt(t,10))}_cancelSuggest(){this.activeMenu="none",this._locateFailed=!1,this._showNoResults=!1,this._suggestController=n(this._suggestController)}_cancelQueries(){this._cancelSuggest(),this._searchController=n(this._searchController)}_scrollToTopSuggestion(){this._autocompleteNode?.scrollContentTo({top:0})}_formSubmit(e){e.preventDefault(),this.activeMenu="none",this._lastSearchTerm=this.searchTerm,this.searchTerm&&this.search()}_getSourceName(e){const{messages:t}=this,{allSources:s}=this.viewModel,o=s.at(e);return e===y.ALL_INDEX?t.all:o?.name||t.untitledSource}};e([g()],x.prototype,"_locateFailed",void 0),e([g()],x.prototype,"_showNoResults",void 0),e([g()],x.prototype,"_isDisabled",null),e([g()],x.prototype,"_showCurrentLocation",null),e([g()],x.prototype,"_effectiveActiveMenu",null),e([g()],x.prototype,"activeMenu",null),e([g({readOnly:!0})],x.prototype,"activeSource",null),e([g()],x.prototype,"activeSourceIndex",null),e([g()],x.prototype,"allPlaceholder",null),e([g({readOnly:!0})],x.prototype,"allSources",null),e([g()],x.prototype,"autoNavigate",null),e([g()],x.prototype,"autoSelect",null),e([g({readOnly:!0})],x.prototype,"defaultSources",null),e([g()],x.prototype,"disabled",void 0),e([g()],x.prototype,"goToOverride",null),e([g()],x.prototype,"icon",null),e([g()],x.prototype,"includeDefaultSources",null),e([g()],x.prototype,"label",null),e([g()],x.prototype,"locationEnabled",null),e([g()],x.prototype,"maxResults",null),e([g()],x.prototype,"maxSuggestions",null),e([g(),A("esri/widgets/Search/t9n/Search")],x.prototype,"messages",void 0),e([g(),A("esri/t9n/common")],x.prototype,"messagesCommon",void 0),e([g()],x.prototype,"minSuggestCharacters",null),e([g()],x.prototype,"popupEnabled",null),e([g({type:s})],x.prototype,"popupTemplate",null),e([g({type:v})],x.prototype,"portal",null),e([g()],x.prototype,"resultGraphic",null),e([g()],x.prototype,"resultGraphicEnabled",null),e([g({readOnly:!0})],x.prototype,"results",null),e([g()],x.prototype,"searchAllEnabled",null),e([g()],x.prototype,"searchTerm",null),e([g({readOnly:!0})],x.prototype,"selectedResult",null),e([g({type:f})],x.prototype,"sources",null),e([g({readOnly:!0})],x.prototype,"suggestions",null),e([g()],x.prototype,"suggestionsEnabled",null),e([g()],x.prototype,"view",null),e([R(["search-complete","search-clear","search-start","select-result","suggest-start","suggest-complete"]),g({type:y})],x.prototype,"viewModel",void 0),x=e([m("esri.widgets.Search")],x);const I=x;export{I as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as e}from"tslib";import r from"../../Color.js";import{property as t,cast as s,subclass as i}from"../../core/accessorSupport/decorators.js";import{authoringInfoFirstVariableSliderMinMax as a}from"../../renderers/support/authoringInfoUtils.js";import o from"../../renderers/visualVariables/support/SizeStop.js";import{getCIMSymbolColor as l}from"../../symbols/support/cimSymbolUtils.js";import n from"./SmartMappingSliderBase.js";import d from"./BinaryColorSizeSlider/BinaryColorSizeSliderViewModel.js";import{getSizesFromVariable as p,getFillFromColor as m,getDynamicPathForSizeStops as u}from"./support/utils.js";import{globalCss as c}from"../support/globalCss.js";import{messageBundle as h,tsx as v}from"../support/widget.js";import{storeNode as g}from"../support/widgetUtils.js";var y;const b="esri-binary-color-size-slider",f={base:b,rampElement:`${b}__ramp`,sliderContainer:`${b}__slider-container`,histogramContainer:`${b}__histogram-container`,primaryHandle:`${b}--primary-handle`,track:`${b}--interactive-track`},w={trackBackgroundColor:new r([224,224,224]),trackAboveFillColor:new r([149,149,149]),trackBelowFillColor:new r([149,149,149])};let S=y=class extends n{constructor(e,r){super(e,r),this._minRampFillWidth=.2,this._rampNode=null,this.messages=null,this.style={...w},this.viewModel=new d,this._rampFillId=`${this.id}-linear-gradient`}get handlesSyncedToPrimary(){return this.viewModel.handlesSyncedToPrimary}set handlesSyncedToPrimary(e){this.viewModel.handlesSyncedToPrimary=e}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get persistSizeRangeEnabled(){return this.viewModel.persistSizeRangeEnabled}set persistSizeRangeEnabled(e){this.viewModel.persistSizeRangeEnabled=e}get stops(){return this.viewModel.stops}set stops(e){this.viewModel.stops=e}castStyle(e){return{...w,...e}}static fromRendererResult(e,r){const{size:{visualVariables:t},statistics:s}=e,{avg:i,stddev:o}=s,l=t[0].stops,[n,d]=a(e.renderer.authoringInfo),p=C(e.renderer.classBreakInfos);return new y({max:d,min:n,stops:l??void 0,histogramConfig:{average:i??void 0,standardDeviation:o??void 0,bins:r?r.bins:[]},style:p,handlesSyncedToPrimary:!0,persistSizeRangeEnabled:!0})}updateFromRendererResult(e,r){const{size:{visualVariables:t},statistics:s}=e,{avg:i,stddev:o}=s,l=t[0].stops,[n,d]=a(e.renderer.authoringInfo),p=C(e.renderer.classBreakInfos);this.set({max:d,min:n,stops:l,histogramConfig:{average:i,standardDeviation:o,bins:r?r.bins:[]},style:p,handlesSyncedToPrimary:!0,persistSizeRangeEnabled:!0})}updateRenderer(e){if("univariate-color-size"!==e.authoringInfo?.type||"above-and-below"!==e.authoringInfo?.univariateTheme)return console.error("Input renderer must be a univariate renderer with an above-and-below theme."),null;const r=e.clone(),t=r.visualVariables?.find(e=>"size"===e.type&&"outline"!==e.target&&e.stops),{stops:s}=this;if(!r.visualVariables||!t||!s)return console.error("No size stops available."),null;const i=r.visualVariables.indexOf(t);r.visualVariables.splice(i,1),t.stops=s,r.visualVariables.push(t);const a=s[5===s.length?2:1].value;return r.classBreakInfos[0].maxValue=a,r.classBreakInfos[1].minValue=a,r}updateFromVisualVariable(e){if(!e)return;const{maxDataValue:r,minDataValue:t,stops:s}=e;if(s)this.stops=s;else{const[s,i]=p(e);this.stops=[new o({value:t??void 0,size:i}),new o({value:r??void 0,size:s})]}}render(){const{label:e,state:r,viewModel:{primaryHandleEnabled:t},visibleElements:s}=this,i="disabled"===r,a=this.classes(f.base,c.widget,c.panel,{[c.disabled]:i,[f.primaryHandle]:t,[f.track]:!!s.interactiveTrack});return v("div",{"aria-label":e,class:a},i?null:this.renderContent(this._renderRamp(),f.sliderContainer,f.histogramContainer))}_renderRamp(){const{style:{trackBackgroundColor:e},zoomOptions:r}=this;return v("div",{afterCreate:g,bind:this,class:f.rampElement,"data-node-ref":"_rampNode"},v("svg",{key:"ramp-svg",xmlns:"http://www.w3.org/2000/svg"},v("rect",{fill:m(e),height:"100%",width:"100%",x:"0",y:"0"}),this._renderPrimaryRamp(),this._renderPath()),r?this.renderZoomCaps():null)}_renderPrimaryRamp(){const{_rampFillId:e,style:{trackAboveFillColor:r,trackBelowFillColor:t},viewModel:s}=this;return[v("defs",null,this.renderRampFillDefinition(e,s.getGradientStopInfo(r,t)))]}_renderPath(){if(!this._rampNode)return;const{offsetHeight:e=0,offsetWidth:r=0}=this._rampNode;if(null==e||null==r)return;const{stops:t,viewModel:{max:s,min:i},_rampFillId:a,_minRampFillWidth:o}=this,l=u({max:s,min:i,pathHeight:e,pathWidth:r,stops:t,padding:o});return v("path",{d:l,fill:`url(#${a})`})}};e([t()],S.prototype,"handlesSyncedToPrimary",null),e([t()],S.prototype,"label",null),e([t(),h("esri/widgets/smartMapping/SizeSlider/t9n/SizeSlider")],S.prototype,"messages",void 0),e([t()],S.prototype,"persistSizeRangeEnabled",null),e([t()],S.prototype,"stops",null),e([t()],S.prototype,"style",void 0),e([s("style")],S.prototype,"castStyle",null),e([t({type:d})],S.prototype,"viewModel",void 0),S=y=e([i("esri.widgets.smartMapping.BinaryColorSizeSlider")],S);const z=S;function C(e){if(e.length<=1)return{};const r=e=>{if("cim"===e.type)return l(e);if(e.symbolLayers){const r=e.symbolLayers?.at(0);return r.material?.color}return e.color};return{trackBelowFillColor:r(e[0].symbol)??void 0,trackAboveFillColor:r(e[1].symbol)??void 0}}export{z as default};
5
+ import{__decorate as e}from"tslib";import r from"../../Color.js";import{property as t,cast as s,subclass as i}from"../../core/accessorSupport/decorators.js";import{authoringInfoFirstVariableSliderMinMax as a}from"../../renderers/support/authoringInfoUtils.js";import o from"../../renderers/visualVariables/support/SizeStop.js";import{getCIMSymbolColor as l}from"../../symbols/support/cimSymbolUtils.js";import n from"./SmartMappingSliderBase.js";import d from"./BinaryColorSizeSlider/BinaryColorSizeSliderViewModel.js";import{getSizesFromVariable as p,getFillFromColor as m,getDynamicPathForSizeStops as u}from"./support/utils.js";import{globalCss as h}from"../support/globalCss.js";import{messageBundle as c,tsx as v}from"../support/widget.js";import{storeNode as g}from"../support/widgetUtils.js";var y;const b="esri-binary-color-size-slider",f={base:b,rampElement:`${b}__ramp`,sliderContainer:`${b}__slider-container`,histogramContainer:`${b}__histogram-container`,primaryHandle:`${b}--primary-handle`,track:`${b}--interactive-track`},w={trackBackgroundColor:new r([224,224,224]),trackAboveFillColor:new r([149,149,149]),trackBelowFillColor:new r([149,149,149])};let S=y=class extends n{constructor(e,r){super(e,r),this._minRampFillWidth=.2,this._rampNode=null,this.messages=null,this.style={...w},this.viewModel=new d,this._rampFillId=`${this.id}-linear-gradient`}get handlesSyncedToPrimary(){return this.viewModel.handlesSyncedToPrimary}set handlesSyncedToPrimary(e){this.viewModel.handlesSyncedToPrimary=e}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get persistSizeRangeEnabled(){return this.viewModel.persistSizeRangeEnabled}set persistSizeRangeEnabled(e){this.viewModel.persistSizeRangeEnabled=e}get stops(){return this.viewModel.stops}set stops(e){this.viewModel.stops=e}castStyle(e){return{...w,...e}}static fromRendererResult(e,r){const{size:{visualVariables:t},statistics:s}=e,{avg:i,stddev:o}=s,l=t[0].stops,[n,d]=a(e.renderer.authoringInfo),p=z(e.renderer.classBreakInfos);return new y({max:d,min:n,stops:l??void 0,histogramConfig:{average:i??void 0,standardDeviation:o??void 0,bins:r?r.bins:[]},style:p,handlesSyncedToPrimary:!0,persistSizeRangeEnabled:!0})}updateFromRendererResult(e,r){const{size:{visualVariables:t},statistics:s}=e,{avg:i,stddev:o}=s,l=t[0].stops,[n,d]=a(e.renderer.authoringInfo),p=z(e.renderer.classBreakInfos);this.set({max:d,min:n,stops:l,histogramConfig:{...this.histogramConfig,average:i,standardDeviation:o,bins:r?r.bins:[]},style:p,handlesSyncedToPrimary:!0,persistSizeRangeEnabled:!0})}updateRenderer(e){if("univariate-color-size"!==e.authoringInfo?.type||"above-and-below"!==e.authoringInfo?.univariateTheme)return console.error("Input renderer must be a univariate renderer with an above-and-below theme."),null;const r=e.clone(),t=r.visualVariables?.find(e=>"size"===e.type&&"outline"!==e.target&&e.stops),{stops:s}=this;if(!r.visualVariables||!t||!s)return console.error("No size stops available."),null;const i=r.visualVariables.indexOf(t);r.visualVariables.splice(i,1),t.stops=s,r.visualVariables.push(t);const a=s[5===s.length?2:1].value;return r.classBreakInfos[0].maxValue=a,r.classBreakInfos[1].minValue=a,r}updateFromVisualVariable(e){if(!e)return;const{maxDataValue:r,minDataValue:t,stops:s}=e;if(s)this.stops=s;else{const[s,i]=p(e);this.stops=[new o({value:t??void 0,size:i}),new o({value:r??void 0,size:s})]}}render(){const{label:e,state:r,viewModel:{primaryHandleEnabled:t},visibleElements:s}=this,i="disabled"===r,a=this.classes(f.base,h.widget,h.panel,{[h.disabled]:i,[f.primaryHandle]:t,[f.track]:!!s.interactiveTrack});return v("div",{"aria-label":e,class:a},i?null:this.renderContent(this._renderRamp(),f.sliderContainer,f.histogramContainer))}_renderRamp(){const{style:{trackBackgroundColor:e},zoomOptions:r}=this;return v("div",{afterCreate:g,bind:this,class:f.rampElement,"data-node-ref":"_rampNode"},v("svg",{key:"ramp-svg",xmlns:"http://www.w3.org/2000/svg"},v("rect",{fill:m(e),height:"100%",width:"100%",x:"0",y:"0"}),this._renderPrimaryRamp(),this._renderPath()),r?this.renderZoomCaps():null)}_renderPrimaryRamp(){const{_rampFillId:e,style:{trackAboveFillColor:r,trackBelowFillColor:t},viewModel:s}=this;return[v("defs",null,this.renderRampFillDefinition(e,s.getGradientStopInfo(r,t)))]}_renderPath(){if(!this._rampNode)return;const{offsetHeight:e=0,offsetWidth:r=0}=this._rampNode;if(null==e||null==r)return;const{stops:t,viewModel:{max:s,min:i},_rampFillId:a,_minRampFillWidth:o}=this,l=u({max:s,min:i,pathHeight:e,pathWidth:r,stops:t,padding:o});return v("path",{d:l,fill:`url(#${a})`})}};e([t()],S.prototype,"handlesSyncedToPrimary",null),e([t()],S.prototype,"label",null),e([t(),c("esri/widgets/smartMapping/SizeSlider/t9n/SizeSlider")],S.prototype,"messages",void 0),e([t()],S.prototype,"persistSizeRangeEnabled",null),e([t()],S.prototype,"stops",null),e([t()],S.prototype,"style",void 0),e([s("style")],S.prototype,"castStyle",null),e([t({type:d})],S.prototype,"viewModel",void 0),S=y=e([i("esri.widgets.smartMapping.BinaryColorSizeSlider")],S);const C=S;function z(e){if(e.length<=1)return{};const r=e=>{if("cim"===e.type)return l(e);if(e.symbolLayers){const r=e.symbolLayers?.at(0);return r.material?.color}return e.color};return{trackBelowFillColor:r(e[0].symbol)??void 0,trackAboveFillColor:r(e[1].symbol)??void 0}}export{C as default};