@arcgis/core 4.32.0-next.20250121 → 4.32.0-next.20250123

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 (867) hide show
  1. package/Graphic.js +1 -1
  2. package/Viewpoint.js +1 -1
  3. package/WebLinkChart.js +1 -1
  4. package/analysis/LengthDimension.js +1 -1
  5. package/analysis/SlicePlane.js +1 -1
  6. package/analysis/Viewshed.js +1 -1
  7. package/analysis/ViewshedAnalysis.js +1 -1
  8. package/arcade/featureSetUtils.js +1 -1
  9. package/arcade/featureset/sources/FeatureLayerMemory.js +1 -1
  10. package/arcade/featureset/support/shared.js +1 -1
  11. package/arcade/functions/knowledgegraph.js +1 -1
  12. package/arcade/treeAnalysis.js +1 -1
  13. package/assets/components/assets/icon/crosshair16.json +1 -0
  14. package/assets/components/assets/icon/crosshair24.json +1 -0
  15. package/assets/components/assets/icon/crosshair32.json +1 -0
  16. package/assets/components/assets/icon/utilityNetworkLayer16.json +1 -0
  17. package/assets/components/assets/icon/utilityNetworkLayer24.json +1 -0
  18. package/assets/components/assets/icon/utilityNetworkLayer32.json +1 -0
  19. package/assets/esri/core/t9n/Units_ar.json +1 -1
  20. package/assets/esri/core/t9n/Units_bg.json +1 -1
  21. package/assets/esri/core/t9n/Units_bs.json +1 -1
  22. package/assets/esri/core/t9n/Units_ca.json +1 -1
  23. package/assets/esri/core/t9n/Units_cs.json +1 -1
  24. package/assets/esri/core/t9n/Units_da.json +1 -1
  25. package/assets/esri/core/t9n/Units_de.json +1 -1
  26. package/assets/esri/core/t9n/Units_el.json +1 -1
  27. package/assets/esri/core/t9n/Units_es.json +1 -1
  28. package/assets/esri/core/t9n/Units_et.json +1 -1
  29. package/assets/esri/core/t9n/Units_fi.json +1 -1
  30. package/assets/esri/core/t9n/Units_fr.json +1 -1
  31. package/assets/esri/core/t9n/Units_he.json +1 -1
  32. package/assets/esri/core/t9n/Units_hr.json +1 -1
  33. package/assets/esri/core/t9n/Units_hu.json +1 -1
  34. package/assets/esri/core/t9n/Units_id.json +1 -1
  35. package/assets/esri/core/t9n/Units_it.json +1 -1
  36. package/assets/esri/core/t9n/Units_ja.json +1 -1
  37. package/assets/esri/core/t9n/Units_ko.json +1 -1
  38. package/assets/esri/core/t9n/Units_lt.json +1 -1
  39. package/assets/esri/core/t9n/Units_lv.json +1 -1
  40. package/assets/esri/core/t9n/Units_nl.json +1 -1
  41. package/assets/esri/core/t9n/Units_no.json +1 -1
  42. package/assets/esri/core/t9n/Units_pl.json +1 -1
  43. package/assets/esri/core/t9n/Units_pt-BR.json +1 -1
  44. package/assets/esri/core/t9n/Units_pt-PT.json +1 -1
  45. package/assets/esri/core/t9n/Units_ro.json +1 -1
  46. package/assets/esri/core/t9n/Units_ru.json +1 -1
  47. package/assets/esri/core/t9n/Units_sk.json +1 -1
  48. package/assets/esri/core/t9n/Units_sl.json +1 -1
  49. package/assets/esri/core/t9n/Units_sr.json +1 -1
  50. package/assets/esri/core/t9n/Units_sv.json +1 -1
  51. package/assets/esri/core/t9n/Units_th.json +1 -1
  52. package/assets/esri/core/t9n/Units_tr.json +1 -1
  53. package/assets/esri/core/t9n/Units_uk.json +1 -1
  54. package/assets/esri/core/t9n/Units_vi.json +1 -1
  55. package/assets/esri/core/t9n/Units_zh-CN.json +1 -1
  56. package/assets/esri/core/t9n/Units_zh-HK.json +1 -1
  57. package/assets/esri/core/t9n/Units_zh-TW.json +1 -1
  58. package/assets/esri/core/workers/RemoteClient.js +1 -1
  59. package/assets/esri/core/workers/chunks/00479bc2393e5ad0e9b7.js +1 -0
  60. package/assets/esri/core/workers/chunks/0167cf867d8e46c818b0.js +1 -0
  61. package/assets/esri/core/workers/chunks/{6d17488396583d83d9be.js → 0711d3ad4d403bcfdcad.js} +1 -1
  62. package/assets/esri/core/workers/chunks/07360fde6ea65664e6ca.js +1 -0
  63. package/assets/esri/core/workers/chunks/{f8e188af5608293d5b2b.js → 07bff9e742f3e5877f3f.js} +1 -1
  64. package/assets/esri/core/workers/chunks/08ba4ab873a0da6a95eb.js +1 -0
  65. package/assets/esri/core/workers/chunks/{baf6b773b8c714d86cba.js → 0982611dd86f0805d102.js} +1 -1
  66. package/assets/esri/core/workers/chunks/12dd892cf61a76fb40ad.js +1 -0
  67. package/assets/esri/core/workers/chunks/13453393e40ab80329d9.js +1 -0
  68. package/assets/esri/core/workers/chunks/15e08e8a8a72b177d74c.js +1 -0
  69. package/assets/esri/core/workers/chunks/16f82e9d98371431b46d.js +1 -0
  70. package/assets/esri/core/workers/chunks/1787932b984ec8977095.js +1 -0
  71. package/assets/esri/core/workers/chunks/1e3ab66d0e8a7f160f33.js +1 -0
  72. package/assets/esri/core/workers/chunks/1f8eb143f5d665b95593.js +1 -0
  73. package/assets/esri/core/workers/chunks/2079d6e3da42d1ceb4c5.js +1 -0
  74. package/assets/esri/core/workers/chunks/207c040b0e42358a5389.js +1 -0
  75. package/assets/esri/core/workers/chunks/21016d58428b15f7427c.js +1 -0
  76. package/assets/esri/core/workers/chunks/{af0b0a7eedebcf99d05d.js → 2118e9ffb24178ed7f59.js} +1 -1
  77. package/assets/esri/core/workers/chunks/21c12edc0632eb911e73.js +1 -0
  78. package/assets/esri/core/workers/chunks/{12b2c8251ec2d0e2ca46.js → 22721fa9d1e8a8d47b0e.js} +1 -1
  79. package/assets/esri/core/workers/chunks/24a86c52c8bdd0b5eb4d.js +1 -0
  80. package/assets/esri/core/workers/chunks/{9970e0e74cf2877a7ffc.js → 2503beb30f905b78d85f.js} +2 -2
  81. package/assets/esri/core/workers/chunks/2503beb30f905b78d85f.js.LICENSE.txt +15 -0
  82. package/assets/esri/core/workers/chunks/25a6641938a9ccab39b7.js +1 -0
  83. package/assets/esri/core/workers/chunks/26a2bd432e7a1b3870c3.js +1 -0
  84. package/assets/esri/core/workers/chunks/26e9a1889d069e81a483.js +1 -0
  85. package/assets/esri/core/workers/chunks/2840705ae7fa909ab4ed.js +1 -0
  86. package/assets/esri/core/workers/chunks/2971266a49226e769360.js +1 -0
  87. package/assets/esri/core/workers/chunks/298da83f8d507d128213.js +1 -0
  88. package/assets/esri/core/workers/chunks/2a33e83ff2ef16a2b421.js +1 -0
  89. package/assets/esri/core/workers/chunks/2a7f5d09cdc0333fa4bd.js +1 -0
  90. package/assets/esri/core/workers/chunks/2e82c8882a0989ed5431.js +1 -0
  91. package/assets/esri/core/workers/chunks/2ea5e5e6c4660a06b516.js +1 -0
  92. package/assets/esri/core/workers/chunks/304722106439951da6e1.js +1 -0
  93. package/assets/esri/core/workers/chunks/324a5547c64a3bae670d.js +1 -0
  94. package/assets/esri/core/workers/chunks/349f31a1fb489fbfe60d.js +1 -0
  95. package/assets/esri/core/workers/chunks/{f95d4fb1199161d8b683.js → 34b31091e172e910d750.js} +1 -1
  96. package/assets/esri/core/workers/chunks/{c690268f48bc84778b23.js → 3b6f2e5ec0a372ae8b94.js} +1 -1
  97. package/assets/esri/core/workers/chunks/3c23e567cfb7372c44ba.js +1 -0
  98. package/assets/esri/core/workers/chunks/{66d40a486aa3caa76106.js → 3c591f76e7d6204b7780.js} +1 -1
  99. package/assets/esri/core/workers/chunks/3f25b7844816bbc3a9fe.js +1 -0
  100. package/assets/esri/core/workers/chunks/402de76b5de05615e111.js +1 -0
  101. package/assets/esri/core/workers/chunks/453f71ac3579524221b2.js +1 -0
  102. package/assets/esri/core/workers/chunks/454034bad60414a9ab7f.js +1 -0
  103. package/assets/esri/core/workers/chunks/472564bd841d0c5d8f17.js +1 -0
  104. package/assets/esri/core/workers/chunks/483787099d2ba8b8022d.js +1 -0
  105. package/assets/esri/core/workers/chunks/499e845c727b7891283d.js +2 -0
  106. package/assets/esri/core/workers/chunks/{34b86b4b9e6c1937ee39.js.LICENSE.txt → 499e845c727b7891283d.js.LICENSE.txt} +4 -6
  107. package/assets/esri/core/workers/chunks/4d7bd2bbe9045a2fee7a.js +1 -0
  108. package/assets/esri/core/workers/chunks/4e5cf2d489db2a57d3bd.js +1 -0
  109. package/assets/esri/core/workers/chunks/52a1c14dc33964e197f6.js +1 -0
  110. package/assets/esri/core/workers/chunks/{f8b85c0074d4fe4c158e.js → 571a0af503dbe8093814.js} +1 -1
  111. package/assets/esri/core/workers/chunks/57ebfa7f163a1b40cd1e.js +1 -0
  112. package/assets/esri/core/workers/chunks/589777dab423b619da47.js +1 -0
  113. package/assets/esri/core/workers/chunks/{2de5fe03e28ca8a72597.js → 5a83f90b55a5efbe1ef2.js} +1 -1
  114. package/assets/esri/core/workers/chunks/5c57aa9fdc4e1bab61ac.js +1 -0
  115. package/assets/esri/core/workers/chunks/5e889a675cbaff03ad5a.js +1 -0
  116. package/assets/esri/core/workers/chunks/5fbdb5fea7d6676fcf19.js +1 -0
  117. package/assets/esri/core/workers/chunks/610b33b7291cffcc4e5d.js +1 -0
  118. package/assets/esri/core/workers/chunks/644e83f48752a34f0d1a.js +1 -0
  119. package/assets/esri/core/workers/chunks/{c81204ae663e58c7b689.js → 6aa6a56bcece0793967e.js} +1 -1
  120. package/assets/esri/core/workers/chunks/6d179eb8edcefb91d5d7.js +1 -0
  121. package/assets/esri/core/workers/chunks/6df1bda3826a4a3c1dc9.js +1 -0
  122. package/assets/esri/core/workers/chunks/6e6422eda398774acbc7.js +1 -0
  123. package/assets/esri/core/workers/chunks/6eb829a7959df2269b0e.js +1 -0
  124. package/assets/esri/core/workers/chunks/7719fe672ea74cdc87be.js +1 -0
  125. package/assets/esri/core/workers/chunks/774cbf14c74504458a6f.js +1 -0
  126. package/assets/esri/core/workers/chunks/79afe4674a0557eb26e4.js +1 -0
  127. package/assets/esri/core/workers/chunks/{02b2175132c9720bc756.js → 7a0415db78c68d31733f.js} +1 -1
  128. package/assets/esri/core/workers/chunks/7a9e1696dc6120df15b0.js +1 -0
  129. package/assets/esri/core/workers/chunks/7ae1f26ded268099f429.js +1 -0
  130. package/assets/esri/core/workers/chunks/7bf08823f861628144a1.js +1 -0
  131. package/assets/esri/core/workers/chunks/7d49b5bc9eb102e467ab.js +1 -0
  132. package/assets/esri/core/workers/chunks/7e4d72279cc599b7029c.js +1 -0
  133. package/assets/esri/core/workers/chunks/{89198ca24466d939e4e8.js → 7ee2d34d9eaab5e8f589.js} +1 -1
  134. package/assets/esri/core/workers/chunks/7fd48f0a2b35779e680a.js +1 -0
  135. package/assets/esri/core/workers/chunks/81efe1f47fd41b7a5cc1.js +1 -0
  136. package/assets/esri/core/workers/chunks/835fa4484c58d9b31c78.js +1 -0
  137. package/assets/esri/core/workers/chunks/{44ec3c77339b9765aaa4.js → 8584ccce34972e28c040.js} +1 -1
  138. package/assets/esri/core/workers/chunks/86149b4a5a148744c7d1.js +1 -0
  139. package/assets/esri/core/workers/chunks/86b63a4805f7dfbf5857.js +1 -0
  140. package/assets/esri/core/workers/chunks/89df68dd6a0386210d5d.js +1 -0
  141. package/assets/esri/core/workers/chunks/8a13cd313d309281dbb9.js +1 -0
  142. package/assets/esri/core/workers/chunks/{1bf472f3ca67b0275667.js → 8a1e4f65fc81aba7a704.js} +1 -1
  143. package/assets/esri/core/workers/chunks/8b8dd0771fbc582e1e24.js +2 -0
  144. package/assets/esri/core/workers/chunks/{280b7b885b96a5a68716.js.LICENSE.txt → 8b8dd0771fbc582e1e24.js.LICENSE.txt} +4 -6
  145. package/assets/esri/core/workers/chunks/8e334fa440ae542e2e34.js +1 -0
  146. package/assets/esri/core/workers/chunks/91384398f01485631f70.js +1 -0
  147. package/assets/esri/core/workers/chunks/92155d112ebb6a4c6c6e.js +1 -0
  148. package/assets/esri/core/workers/chunks/{6a737f056b2b95f09776.js → 92871ebb339a7b6ff29c.js} +1 -1
  149. package/assets/esri/core/workers/chunks/92d243c7bc2f92f6cd33.js +1 -0
  150. package/assets/esri/core/workers/chunks/971c956de1f8dd230d0f.js +1 -0
  151. package/assets/esri/core/workers/chunks/9848e9b9cc62328bfeb4.js +1 -0
  152. package/assets/esri/core/workers/chunks/9848f496d534feff6df1.js +314 -0
  153. package/assets/esri/core/workers/chunks/9bd22cdf6eb158555906.js +1 -0
  154. package/assets/esri/core/workers/chunks/{3a3e9701e5d7b05f41b7.js → 9bfb091cec7eed6c8111.js} +1 -1
  155. package/assets/esri/core/workers/chunks/9c5c6ecaf5be24279fa5.js +1 -0
  156. package/assets/esri/core/workers/chunks/9c6380af3bc3130658e1.js +1 -0
  157. package/assets/esri/core/workers/chunks/{17726b0ab1bf66185d66.js → 9d6d82419de2b76508d8.js} +1 -1
  158. package/assets/esri/core/workers/chunks/9ed1691eab19dfb1cf04.js +1 -0
  159. package/assets/esri/core/workers/chunks/a0a4c7605c678d2de7ef.js +1 -0
  160. package/assets/esri/core/workers/chunks/a3ae5ea96898de327147.js +1 -0
  161. package/assets/esri/core/workers/chunks/aca9a39eb1181a7733bb.js +1 -0
  162. package/assets/esri/core/workers/chunks/ad215219e5eef8598745.js +1 -0
  163. package/assets/esri/core/workers/chunks/ad7596e7f81f557bb2c8.js +1 -0
  164. package/assets/esri/core/workers/chunks/adf361e8b2887921a69c.js +1 -0
  165. package/assets/esri/core/workers/chunks/adfa126cea32298c28e9.js +1 -0
  166. package/assets/esri/core/workers/chunks/b21b152fa15896577242.js +2 -0
  167. package/assets/esri/core/workers/chunks/b21b152fa15896577242.js.LICENSE.txt +8 -0
  168. package/assets/esri/core/workers/chunks/b3aeda290470dcb2bdd2.js +1 -0
  169. package/assets/esri/core/workers/chunks/b3f9d7a676076a7557f5.js +1 -0
  170. package/assets/esri/core/workers/chunks/b42ecc7c3eb2fd8d1308.js +1 -0
  171. package/assets/esri/core/workers/chunks/b44cf0e4c2f93408cabc.js +1 -0
  172. package/assets/esri/core/workers/chunks/b70a9d23e549d0e60e0f.js +1 -0
  173. package/assets/esri/core/workers/chunks/b882f921387e21fb263d.js +1 -0
  174. package/assets/esri/core/workers/chunks/ba3c18d1efde46461231.js +1 -0
  175. package/assets/esri/core/workers/chunks/bb73cd34fbae935ccbcc.js +1 -0
  176. package/assets/esri/core/workers/chunks/bbdf93f2ac9bd80338b2.js +1 -0
  177. package/assets/esri/core/workers/chunks/bc0183350841e09d71fa.js +1 -0
  178. package/assets/esri/core/workers/chunks/bddfdbb2fb1dd813e8f2.js +1 -0
  179. package/assets/esri/core/workers/chunks/bf3c4c1bff8b71bc0b13.js +1 -0
  180. package/assets/esri/core/workers/chunks/c1970657a287ec96001e.js +1 -0
  181. package/assets/esri/core/workers/chunks/{399e67ccb69a5b206354.js → c1fd87af3129873369fd.js} +1 -1
  182. package/assets/esri/core/workers/chunks/{82266ca8002554198208.js → c2336d1f5b2b7bf6e7a7.js} +1 -1
  183. package/assets/esri/core/workers/chunks/c571c2155589d711005c.js +1 -0
  184. package/assets/esri/core/workers/chunks/c83b26ff96e39266adc2.js +1 -0
  185. package/assets/esri/core/workers/chunks/ca5bd71bc2c1b1b3f9d9.js +1 -0
  186. package/assets/esri/core/workers/chunks/{98da074899c82f0ded0b.js → cdd8983cf3a301805680.js} +1 -1
  187. package/assets/esri/core/workers/chunks/{435c037ccba71f1e22d3.js → d31f7598629f7cc50233.js} +1 -1
  188. package/assets/esri/core/workers/chunks/d45ff061bf71b73e9f26.js +1 -0
  189. package/assets/esri/core/workers/chunks/d4760e583dfac95dc8a1.js +1 -0
  190. package/assets/esri/core/workers/chunks/{7fe92f072d3641ec4662.js → d5a749156cb4ade92128.js} +1 -1
  191. package/assets/esri/core/workers/chunks/d6f2a023ddd26a544eb4.js +1 -0
  192. package/assets/esri/core/workers/chunks/d71a5c029fc9f4820589.js +1 -0
  193. package/assets/esri/core/workers/chunks/d7ccbe9b36e89b385040.js +1 -0
  194. package/assets/esri/core/workers/chunks/{e9c21907fabcedbd32ae.js → d8386803854f4b3e2576.js} +1 -1
  195. package/assets/esri/core/workers/chunks/d8c762ca94e3a11b125d.js +1 -0
  196. package/assets/esri/core/workers/chunks/da01b509b2237689faad.js +1 -0
  197. package/assets/esri/core/workers/chunks/daeca0feb37bbb198677.js +1 -0
  198. package/assets/esri/core/workers/chunks/dbc447413ab40a79ba87.js +1 -0
  199. package/assets/esri/core/workers/chunks/de2ca2dc1b5d62c0d82e.js +1 -0
  200. package/assets/esri/core/workers/chunks/df86a49ddc505b4a7c4a.js +1 -0
  201. package/assets/esri/core/workers/chunks/dfa4be2e07cc4c0938b0.js +1 -0
  202. package/assets/esri/core/workers/chunks/{fa331c8b556bb7fb8ae3.js → dfaf1da323906ee60549.js} +1 -1
  203. package/assets/esri/core/workers/chunks/e067cef3b3ac3af49b88.js +1 -0
  204. package/assets/esri/core/workers/chunks/e1108227821a85a784bc.js +2 -0
  205. package/assets/esri/core/workers/chunks/e1108227821a85a784bc.js.LICENSE.txt +9 -0
  206. package/assets/esri/core/workers/chunks/e42c8045f54aa88c9f6e.js +1 -0
  207. package/assets/esri/core/workers/chunks/e56647e61296643c5f84.js +1 -0
  208. package/assets/esri/core/workers/chunks/e6087eda5e3b7e5ad3e1.js +1 -0
  209. package/assets/esri/core/workers/chunks/e89439cc20b7f4c6a9d1.js +1 -0
  210. package/assets/esri/core/workers/chunks/e9993d4f2bfdc434fbcc.js +1 -0
  211. package/assets/esri/core/workers/chunks/ecc3a2adc384677bec38.js +1 -0
  212. package/assets/esri/core/workers/chunks/{54c149f90bf94b797b36.js → ed30f46236da29c15430.js} +1 -1
  213. package/assets/esri/core/workers/chunks/f2cf05fbbb51d657d300.js +1 -0
  214. package/assets/esri/core/workers/chunks/{1c67f4f84fff70e20902.js → f31a9d88113bb86d946e.js} +2 -2
  215. package/assets/esri/core/workers/chunks/{1c67f4f84fff70e20902.js.LICENSE.txt → f31a9d88113bb86d946e.js.LICENSE.txt} +4 -6
  216. package/assets/esri/core/workers/chunks/f62f657f9fef28f492e0.js +1 -0
  217. package/assets/esri/core/workers/chunks/fd1506eedb1cee717822.js +2 -0
  218. package/assets/esri/core/workers/chunks/fd1506eedb1cee717822.js.LICENSE.txt +3 -0
  219. package/assets/esri/core/workers/chunks/fef135e55706d84d1947.js +1 -0
  220. package/assets/esri/libs/lyr3d/lyr3DMain.wasm +0 -0
  221. package/assets/esri/libs/lyr3d/lyr3DWorker.wasm +0 -0
  222. package/assets/esri/rest/knowledgeGraph/wasmInterface/arcgis-knowledge-client-core-simd.wasm +0 -0
  223. package/assets/esri/rest/knowledgeGraph/wasmInterface/arcgis-knowledge-client-core.wasm +0 -0
  224. package/assets/esri/themes/base/widgets/_FeatureTable.scss +8 -7
  225. package/assets/esri/themes/base/widgets/_OrientedImageryViewer.scss +24 -0
  226. package/assets/esri/themes/base/widgets/_UtilityNetworkTrace.scss +49 -24
  227. package/assets/esri/themes/dark/main.css +1 -1
  228. package/assets/esri/themes/light/main.css +1 -1
  229. package/assets/esri/themes/light/view.css +1 -1
  230. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer.json +1 -1
  231. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ar.json +1 -1
  232. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bg.json +1 -1
  233. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bs.json +1 -1
  234. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ca.json +1 -1
  235. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_cs.json +1 -1
  236. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_da.json +1 -1
  237. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_de.json +1 -1
  238. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_el.json +1 -1
  239. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_en.json +1 -1
  240. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_es.json +1 -1
  241. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_et.json +1 -1
  242. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fi.json +1 -1
  243. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fr.json +1 -1
  244. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_he.json +1 -1
  245. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hr.json +1 -1
  246. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hu.json +1 -1
  247. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_id.json +1 -1
  248. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_it.json +1 -1
  249. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ja.json +1 -1
  250. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ko.json +1 -1
  251. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lt.json +1 -1
  252. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lv.json +1 -1
  253. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_nl.json +1 -1
  254. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_no.json +1 -1
  255. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pl.json +1 -1
  256. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-BR.json +1 -1
  257. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-PT.json +1 -1
  258. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ro.json +1 -1
  259. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ru.json +1 -1
  260. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sk.json +1 -1
  261. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sl.json +1 -1
  262. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sr.json +1 -1
  263. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sv.json +1 -1
  264. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_th.json +1 -1
  265. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_tr.json +1 -1
  266. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_uk.json +1 -1
  267. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_vi.json +1 -1
  268. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-CN.json +1 -1
  269. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-HK.json +1 -1
  270. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-TW.json +1 -1
  271. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace.json +1 -1
  272. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ar.json +1 -1
  273. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_bg.json +1 -1
  274. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_bs.json +1 -1
  275. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ca.json +1 -1
  276. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_cs.json +1 -1
  277. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_da.json +1 -1
  278. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_de.json +1 -1
  279. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_el.json +1 -1
  280. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_en.json +1 -1
  281. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_es.json +1 -1
  282. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_et.json +1 -1
  283. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_fi.json +1 -1
  284. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_fr.json +1 -1
  285. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_he.json +1 -1
  286. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_hr.json +1 -1
  287. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_hu.json +1 -1
  288. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_id.json +1 -1
  289. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_it.json +1 -1
  290. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ja.json +1 -1
  291. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ko.json +1 -1
  292. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_lt.json +1 -1
  293. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_lv.json +1 -1
  294. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_nl.json +1 -1
  295. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_no.json +1 -1
  296. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_pl.json +1 -1
  297. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_pt-BR.json +1 -1
  298. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_pt-PT.json +1 -1
  299. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ro.json +1 -1
  300. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ru.json +1 -1
  301. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_sk.json +1 -1
  302. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_sl.json +1 -1
  303. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_sr.json +1 -1
  304. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_sv.json +1 -1
  305. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_th.json +1 -1
  306. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_tr.json +1 -1
  307. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_uk.json +1 -1
  308. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_vi.json +1 -1
  309. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_zh-CN.json +1 -1
  310. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_zh-HK.json +1 -1
  311. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_zh-TW.json +1 -1
  312. package/chunks/BloomComposition.glsl.js +33 -23
  313. package/chunks/Fog.glsl.js +4 -6
  314. package/chunks/Viewshed.glsl.js +7 -15
  315. package/chunks/arcgis-knowledge-client-core-simd.js +1 -1
  316. package/chunks/arcgis-knowledge-client-core.js +1 -1
  317. package/chunks/cameraUtilsPlanar.js +1 -1
  318. package/chunks/cameraUtilsSpherical.js +1 -1
  319. package/chunks/lyr3DMain.js +1 -1
  320. package/chunks/lyr3DWorker.js +1 -1
  321. package/core/quantity.d.ts +1 -1
  322. package/core/quantity.js +5 -0
  323. package/core/units.d.ts +1 -1
  324. package/core/units.js +5 -0
  325. package/editing/sharedTemplates/SharedTemplate.js +1 -1
  326. package/editing/sharedTemplates/SharedTemplateMetadata.d.ts +4 -0
  327. package/editing/sharedTemplates/SharedTemplateMetadata.js +1 -1
  328. package/editing/sharedTemplates/templateDefinitions/parts/PresetTemplatePart.js +1 -1
  329. package/editing/templateUtils.js +5 -0
  330. package/form/elements/UtilityNetworkAssociationsElement.js +1 -1
  331. package/geometry/geometryEngine.js +1 -1
  332. package/geometry/geometryEngineAsync.js +1 -1
  333. package/geometry/operators/projectOperator.d.ts +4 -0
  334. package/geometry/operators/shapePreservingProjectOperator.d.ts +4 -0
  335. package/geometry/operators/support/GeographicTransformation.d.ts +4 -0
  336. package/geometry/operators/support/GeographicTransformation.js +1 -1
  337. package/geometry/operators/support/GeographicTransformationStep.d.ts +4 -0
  338. package/geometry/operators/support/apiConverter.js +1 -1
  339. package/geometry/operators/support/geographicTransformationUtils.d.ts +4 -0
  340. package/geometry/support/GeographicTransformation.d.ts +2 -2
  341. package/geometry/support/GeographicTransformationStep.d.ts +2 -2
  342. package/geometry/support/geodesicUtils.js +1 -1
  343. package/geometry/support/geometryUtils.js +1 -1
  344. package/geometry/support/meshUtils/elevation.js +1 -1
  345. package/geometry/support/near.js +1 -1
  346. package/geometry/support/rotate.js +1 -1
  347. package/geometry/support/typeUtils.js +1 -1
  348. package/geometry.js +1 -1
  349. package/grids/MeasuredGrid.js +1 -1
  350. package/interfaces.d.ts +2069 -622
  351. package/layers/BaseElevationLayer.js +1 -1
  352. package/layers/BingMapsLayer.js +1 -1
  353. package/layers/CSVLayer.js +1 -1
  354. package/layers/FeatureLayer.js +1 -1
  355. package/layers/GeoJSONLayer.js +1 -1
  356. package/layers/GeoRSSLayer.js +1 -1
  357. package/layers/ILyr3DWasmPerSceneView.js +1 -1
  358. package/layers/KMLLayer.js +1 -1
  359. package/layers/KnowledgeGraphLayer.js +1 -1
  360. package/layers/Layer.js +1 -1
  361. package/layers/LinkChartLayer.js +1 -1
  362. package/layers/Lyr3DWasmPerSceneView.js +1 -1
  363. package/layers/MapNotesLayer.js +1 -1
  364. package/layers/OGCFeatureLayer.js +1 -1
  365. package/layers/OpenStreetMapLayer.js +1 -1
  366. package/layers/ParquetLayer.js +1 -1
  367. package/layers/RouteLayer.js +1 -1
  368. package/layers/SceneLayer.js +1 -1
  369. package/layers/StreamLayer.js +1 -1
  370. package/layers/VideoLayer.js +1 -1
  371. package/layers/WFSLayer.js +1 -1
  372. package/layers/WebTileLayer.js +1 -1
  373. package/layers/buildingSublayers/BuildingComponentSublayer.js +1 -1
  374. package/layers/catalog/CatalogFootprintLayer.js +1 -1
  375. package/layers/graphics/controllers/FeatureTileController3D.js +1 -1
  376. package/layers/graphics/controllers/StreamController.js +1 -1
  377. package/layers/graphics/data/QueryEngineResult.js +1 -1
  378. package/layers/graphics/hydratedFeatures.js +1 -1
  379. package/layers/graphics/sources/CSVSource.js +1 -1
  380. package/layers/graphics/sources/FeatureLayerSource.js +1 -1
  381. package/layers/graphics/sources/GeoJSONSource.js +1 -1
  382. package/layers/graphics/sources/MemorySource.js +1 -1
  383. package/layers/graphics/sources/OGCFeatureSource.js +1 -1
  384. package/layers/graphics/sources/ParquetSource.js +1 -1
  385. package/layers/graphics/sources/WFSSource.js +1 -1
  386. package/layers/graphics/sources/connections/GeoEventConnection.js +1 -1
  387. package/layers/graphics/sources/support/CSVSourceWorker.js +1 -1
  388. package/layers/graphics/sources/support/uploadAssets.js +1 -1
  389. package/layers/knowledgeGraph/KnowledgeGraphLayerDataManager.js +1 -1
  390. package/layers/knowledgeGraph/KnowledgeGraphSublayer.js +1 -1
  391. package/layers/knowledgeGraph/SessionMemoryStorage.js +1 -1
  392. package/layers/knowledgeGraph/supportUtils.js +1 -1
  393. package/layers/mixins/ArcGISCachedService.js +1 -1
  394. package/layers/mixins/ArcGISImageService.js +1 -1
  395. package/layers/mixins/FeatureReductionLayer.js +1 -1
  396. package/layers/mixins/ImageryTileMixin.js +1 -1
  397. package/layers/ogc/ogcFeatureUtils.js +1 -1
  398. package/layers/ogc/wfsUtils.js +1 -1
  399. package/layers/orientedImagery/core/ExposurePoint.js +1 -1
  400. package/layers/orientedImagery/core/coverageUtils.js +1 -1
  401. package/layers/orientedImagery/queries.js +1 -1
  402. package/layers/orientedImagery/transformations/imageToWorld.js +1 -1
  403. package/layers/orientedImagery/transformations/rectifyMapPoint.js +1 -1
  404. package/layers/orientedImagery/transformations/utils.js +1 -1
  405. package/layers/support/ElevationSampler.js +1 -1
  406. package/layers/support/FeatureFilter.js +1 -1
  407. package/layers/support/FeatureReductionBinning.js +1 -1
  408. package/layers/support/FeatureReductionCluster.js +1 -1
  409. package/layers/support/KMLMapImage.js +1 -1
  410. package/layers/support/KMLSublayer.js +1 -1
  411. package/layers/support/LabelClass.js +1 -1
  412. package/layers/support/LocalMediaElementSource.js +1 -1
  413. package/layers/support/MultidimensionalSubset.js +1 -1
  414. package/layers/support/OrderByInfo.d.ts +4 -0
  415. package/layers/support/RasterWorker.js +1 -1
  416. package/layers/support/RouteStopSymbols.js +1 -1
  417. package/layers/support/RouteSymbols.js +1 -1
  418. package/layers/support/SceneModification.js +1 -1
  419. package/layers/support/Sublayer.js +1 -1
  420. package/layers/support/SubtypeSublayer.js +1 -1
  421. package/layers/support/TelemetryData.js +1 -1
  422. package/layers/support/TrackInfo.js +1 -1
  423. package/layers/support/VideoFrame.js +1 -1
  424. package/layers/support/featureLayerUtils.js +1 -1
  425. package/layers/support/mediaUtils.js +1 -1
  426. package/layers/support/rasterDatasets/BaseRaster.js +1 -1
  427. package/layers/support/rasterDatasets/ImageAuxRaster.js +1 -1
  428. package/layers/support/rasterDatasets/ImageServerRaster.js +1 -1
  429. package/layers/support/rasterDatasets/InMemoryRaster.js +1 -1
  430. package/layers/support/rasterDatasets/MRFRaster.js +1 -1
  431. package/layers/support/rasterDatasets/RawBlockCache.js +1 -1
  432. package/layers/support/rasterDatasets/TIFFRaster.js +1 -1
  433. package/layers/support/rasterDatasets/WCSRaster.js +1 -1
  434. package/layers/support/rasterDatasets/covJSONParser.js +1 -1
  435. package/layers/support/rasterDatasets/pamParser.js +1 -1
  436. package/layers/support/rasterFunctions/ClipFunctionArguments.js +1 -1
  437. package/layers/support/rasterFunctions/rasterProjectionHelper.js +1 -1
  438. package/layers/support/rasterTransforms/PolynomialTransform.js +1 -1
  439. package/layers/support/serviceCapabilitiesUtils.js +1 -1
  440. package/layers/support/source/QueryTableDataSource.js +1 -1
  441. package/layers/support/subtypeGroupLayerUtils.js +1 -1
  442. package/networks/Network.js +1 -1
  443. package/networks/support/utils.js +1 -1
  444. package/package.json +2 -2
  445. package/pointCloudRenderers.js +1 -1
  446. package/rasterRenderers.js +1 -1
  447. package/renderers/ClassBreaksRenderer.js +1 -1
  448. package/renderers/HeatmapRenderer.js +1 -1
  449. package/renderers/PieChartRenderer.js +1 -1
  450. package/renderers/UniqueValueRenderer.js +1 -1
  451. package/renderers/VectorFieldRenderer.js +1 -1
  452. package/renderers/support/RasterPresetRenderer.js +1 -1
  453. package/renderers/support/commonProperties.js +1 -1
  454. package/renderers/support/jsonUtils.js +1 -1
  455. package/renderers/support/rasterRendererHelper.js +1 -1
  456. package/renderers/support/rasterTypeUtils.js +5 -0
  457. package/renderers/support/typeUtils.js +5 -0
  458. package/renderers.js +1 -1
  459. package/rest/featureService/FeatureService.js +1 -1
  460. package/rest/geometryService/autoComplete.js +1 -1
  461. package/rest/geometryService/buffer.js +1 -1
  462. package/rest/geometryService/cut.js +1 -1
  463. package/rest/geometryService/trimExtend.js +1 -1
  464. package/rest/imageService.js +1 -1
  465. package/rest/knowledgeGraph/Entity.js +1 -1
  466. package/rest/knowledgeGraph/GraphQueryStreaming.js +1 -1
  467. package/rest/knowledgeGraph/ProtoFeatureCollection.js +1 -1
  468. package/rest/knowledgeGraph/Relationship.js +1 -1
  469. package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsConfiguration.d.ts +4 -0
  470. package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsConfiguration.js +5 -0
  471. package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsEntity.d.ts +4 -0
  472. package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsEntity.js +5 -0
  473. package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsPathFilter.d.ts +4 -0
  474. package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsPathFilter.js +5 -0
  475. package/rest/knowledgeGraph/toolService/findPaths/CIMKGTraversalDirection.d.ts +4 -0
  476. package/rest/knowledgeGraph/toolService/findPaths/CIMKGTraversalDirection.js +5 -0
  477. package/rest/knowledgeGraph/toolService/findPaths/FindPathsToolSettings.d.ts +4 -0
  478. package/rest/knowledgeGraph/toolService/findPaths/FindPathsToolSettings.js +5 -0
  479. package/rest/knowledgeGraph/wasmInterface/queryToWasmEncodedFactories.js +1 -1
  480. package/rest/knowledgeGraph/wasmInterface/updateToWasmEncodedFactories.js +1 -1
  481. package/rest/knowledgeGraph/wasmInterface/wasmToQueryResponseObjFactories.js +1 -1
  482. package/rest/knowledgeGraphService.js +1 -1
  483. package/rest/networks/support/Association.js +1 -1
  484. package/rest/networks/support/ValidateNetworkTopologyParameters.js +1 -1
  485. package/rest/places.js +1 -1
  486. package/rest/print.js +1 -1
  487. package/rest/query/executeForExtent.js +1 -1
  488. package/rest/query/executeForTopExtents.js +1 -1
  489. package/rest/support/AddressToLocationsParameters.js +1 -1
  490. package/rest/support/AddressesToLocationsParameters.js +1 -1
  491. package/rest/support/AggregateFeatureSet.js +1 -1
  492. package/rest/support/AttributeBinsQuery.js +1 -1
  493. package/rest/support/BaseImageMeasureParameters.js +1 -1
  494. package/rest/support/BufferParameters.js +1 -1
  495. package/rest/support/ClosestFacilityParameters.js +1 -1
  496. package/rest/support/DataLayer.js +1 -1
  497. package/rest/support/DensifyParameters.js +1 -1
  498. package/rest/support/DirectionLine.js +1 -1
  499. package/rest/support/DirectionPoint.js +1 -1
  500. package/rest/support/DirectionsEvent.js +1 -1
  501. package/rest/support/DirectionsFeature.js +1 -1
  502. package/rest/support/DirectionsFeatureSet.js +1 -1
  503. package/rest/support/DistanceParameters.js +1 -1
  504. package/rest/support/FeatureSet.js +1 -1
  505. package/rest/support/FindParameters.js +1 -1
  506. package/rest/support/FindResult.js +1 -1
  507. package/rest/support/IdentifyParameters.js +1 -1
  508. package/rest/support/IdentifyResult.js +1 -1
  509. package/rest/support/ImageAngleParameters.js +1 -1
  510. package/rest/support/ImageAngleResult.js +1 -1
  511. package/rest/support/ImageAreaParameters.js +1 -1
  512. package/rest/support/ImageBoundaryResult.js +1 -1
  513. package/rest/support/ImageDistanceParameters.js +1 -1
  514. package/rest/support/ImageGPSInfoParameters.js +1 -1
  515. package/rest/support/ImageHeightParameters.js +1 -1
  516. package/rest/support/ImageHistogramParameters.js +1 -1
  517. package/rest/support/ImageIdentifyParameters.js +1 -1
  518. package/rest/support/ImagePixelLocationParameters.js +1 -1
  519. package/rest/support/ImagePointParameters.js +1 -1
  520. package/rest/support/ImagePointResult.js +1 -1
  521. package/rest/support/ImageSampleParameters.js +1 -1
  522. package/rest/support/ImageToMapMultirayParameters.js +1 -1
  523. package/rest/support/ImageToMapParameters.js +1 -1
  524. package/rest/support/ImageVolumeParameters.js +1 -1
  525. package/rest/support/LengthsParameters.js +1 -1
  526. package/rest/support/LocationToAddressParameters.js +1 -1
  527. package/rest/support/MapToImageParameters.js +1 -1
  528. package/rest/support/MeasureAreaFromImageResult.js +1 -1
  529. package/rest/support/MeasureFromImageParameters.js +1 -1
  530. package/rest/support/MeasureLengthFromImageResult.js +1 -1
  531. package/rest/support/PointBarrier.js +1 -1
  532. package/rest/support/PolygonBarrier.js +1 -1
  533. package/rest/support/PolylineBarrier.js +1 -1
  534. package/rest/support/ProjectParameters.js +1 -1
  535. package/rest/support/QuantizationParameters.js +1 -1
  536. package/rest/support/Query.js +1 -1
  537. package/rest/support/RelationshipQuery.js +1 -1
  538. package/rest/support/RouteInfo.js +1 -1
  539. package/rest/support/RouteParameters.js +1 -1
  540. package/rest/support/ServiceAreaParameters.js +1 -1
  541. package/rest/support/Stop.js +1 -1
  542. package/rest/support/SuggestLocationsParameters.js +1 -1
  543. package/rest/support/TopFeaturesQuery.js +1 -1
  544. package/rest/support/TrimExtendParameters.js +1 -1
  545. package/rest/support/meshFeatureAttributes.js +1 -1
  546. package/smartMapping/labels/support/utils.js +1 -1
  547. package/smartMapping/raster/support/adapters/ImageryLayerAdapter.js +1 -1
  548. package/smartMapping/renderers/color.js +1 -1
  549. package/smartMapping/renderers/dotDensity.js +1 -1
  550. package/smartMapping/renderers/heatmap.js +1 -1
  551. package/smartMapping/renderers/location.js +1 -1
  552. package/smartMapping/renderers/pieChart.js +1 -1
  553. package/smartMapping/renderers/size.js +1 -1
  554. package/smartMapping/renderers/support/referenceSizeUtils.js +1 -1
  555. package/smartMapping/renderers/support/utils.js +1 -1
  556. package/smartMapping/renderers/type.js +1 -1
  557. package/smartMapping/statistics/support/utils.js +1 -1
  558. package/support/arcadeOnDemand.js +1 -1
  559. package/support/arcadeUtils.js +1 -1
  560. package/support/revision.js +1 -1
  561. package/symbols/cim/CIMSymbolHelper.js +1 -1
  562. package/symbols/cim/cimAnalyzer.js +1 -1
  563. package/symbols/cim/effects/EffectBuffer.js +1 -1
  564. package/symbols/cim/effects/EffectDonut.js +1 -1
  565. package/symbols/cim/effects/EffectOffset.js +1 -1
  566. package/symbols/support/cimConversionUtils.js +1 -1
  567. package/symbols/support/defaults3D.js +1 -1
  568. package/symbols/support/jsonUtils.js +1 -1
  569. package/symbols/support/symbolConversion.js +1 -1
  570. package/symbols/support/typeUtils.js +5 -0
  571. package/symbols/support/utils.js +1 -1
  572. package/symbols/support/webStyleSymbolUtils.js +1 -1
  573. package/symbols.js +1 -1
  574. package/undoredo/support/Services.js +1 -1
  575. package/unionTypes.d.ts +4 -0
  576. package/unionTypes.js +5 -0
  577. package/views/2d/AnimationManager.js +1 -1
  578. package/views/2d/MapViewConstraints.js +1 -1
  579. package/views/2d/ViewState.js +1 -1
  580. package/views/2d/ViewStateManager.js +1 -1
  581. package/views/2d/engine/flow/FlowStrategy.js +1 -1
  582. package/views/2d/engine/flow/dataUtils.js +1 -1
  583. package/views/2d/engine/vectorTiles/tileInfoUtils.js +1 -1
  584. package/views/2d/engine/webgl/OverlayMultipoint.js +1 -1
  585. package/views/2d/engine/webgl/shaderGraph/techniques/createTestMeshData.js +1 -1
  586. package/views/2d/engine/webgl/shaderGraph/techniques/markers/ComputedMarkerParams.js +1 -1
  587. package/views/2d/grid/gridUtils.js +1 -1
  588. package/views/2d/interactive/SnappingVisualizer2D.js +1 -1
  589. package/views/2d/interactive/editingTools/ControlPointsTransformTool.js +1 -1
  590. package/views/2d/interactive/editingTools/TransformTool.js +1 -1
  591. package/views/2d/interactive/editingTools/draw/DrawGraphicTool2D.js +1 -1
  592. package/views/2d/interactive/editingTools/draw/symbols.js +1 -1
  593. package/views/2d/layers/FeatureLayerView2D.js +1 -1
  594. package/views/2d/layers/MediaLayerView2D.js +1 -1
  595. package/views/2d/layers/TileLayerView2D.js +1 -1
  596. package/views/2d/layers/VideoLayerView2D.js +1 -1
  597. package/views/2d/layers/features/processor/BinningStrategy.js +1 -1
  598. package/views/2d/layers/features/processor/TrackStrategy.js +1 -1
  599. package/views/2d/layers/features/schema/processor/symbols/SymbolSchema.js +1 -1
  600. package/views/2d/layers/features/support/FeatureSetReader.js +1 -1
  601. package/views/2d/layers/imagery/BaseImageryTileSubView2D.js +1 -1
  602. package/views/2d/layers/support/clusterUtils.js +1 -1
  603. package/views/2d/navigation/actions/Pan.js +1 -1
  604. package/views/2d/navigation/actions/Rotate.js +1 -1
  605. package/views/2d/pointToPoint/Camera.js +1 -1
  606. package/views/3d/analysis/Dimension/DimensionTool.js +1 -1
  607. package/views/3d/analysis/Dimension/LengthDimensionSubTool.js +1 -1
  608. package/views/3d/analysis/Dimension/lengthDimensionConstraintUtils.js +1 -1
  609. package/views/3d/analysis/Dimension/lengthDimensionManipulatorUtils.js +1 -1
  610. package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
  611. package/views/3d/analysis/LineOfSight/LineOfSightRayIntersector.js +1 -1
  612. package/views/3d/analysis/Slice/sliceToolUtils.js +1 -1
  613. package/views/3d/analysis/Viewshed/ViewshedComputedData.js +1 -1
  614. package/views/3d/analysis/Viewshed/ViewshedSubTool.js +1 -1
  615. package/views/3d/analysis/Viewshed/ViewshedTool.js +1 -1
  616. package/views/3d/environment/EnvironmentManager.js +1 -1
  617. package/views/3d/environment/Fog.glsl.js +1 -1
  618. package/views/3d/interactive/Manipulator3D.js +1 -1
  619. package/views/3d/interactive/editingTools/dragEventPipeline3D.js +1 -1
  620. package/views/3d/interactive/editingTools/media/MediaElementControllerControlPoints.js +1 -1
  621. package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DTool.js +1 -1
  622. package/views/3d/layers/I3SMeshViewLabeler.js +1 -1
  623. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  624. package/views/3d/layers/Lyr3DWasm.js +1 -1
  625. package/views/3d/layers/VoxelLayerView3D.js +1 -1
  626. package/views/3d/layers/graphics/ElevationQuery.js +1 -1
  627. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  628. package/views/3d/layers/graphics/Graphics3DLineSymbolLayer.js +1 -1
  629. package/views/3d/layers/graphics/QueryEngine.js +1 -1
  630. package/views/3d/layers/graphics/elevationAlignPointsInFeatures.js +1 -1
  631. package/views/3d/layers/graphics/polygonUtils.js +1 -1
  632. package/views/3d/layers/i3s/I3SMeshViewFilter.js +1 -1
  633. package/views/3d/layers/i3s/I3SUtil.js +1 -1
  634. package/views/3d/layers/support/FeatureTile.js +1 -1
  635. package/views/3d/layers/support/FeatureTileDescriptor.js +1 -1
  636. package/views/3d/layers/support/FeatureTileFetcher3D.js +1 -1
  637. package/views/3d/layers/support/FeatureTileFetcher3DDebugger.js +1 -1
  638. package/views/3d/layers/support/FeatureTileMeasurements3D.js +1 -1
  639. package/views/3d/layers/support/FeatureTileTree3D.js +1 -1
  640. package/views/3d/layers/support/FeatureTileTree3DDebugger.js +1 -1
  641. package/views/3d/layers/support/FeatureTileVisibility3D.js +1 -1
  642. package/views/3d/layers/support/I3STreeDebugger.js +1 -1
  643. package/views/3d/layers/support/TerrainTileTree3DDebugger.js +1 -1
  644. package/views/3d/state/ViewStateManager.js +1 -1
  645. package/views/3d/support/FrustumExtentIntersection.js +1 -1
  646. package/views/3d/support/cameraUtilsPlanar.js +1 -1
  647. package/views/3d/support/cameraUtilsSpherical.js +1 -1
  648. package/views/3d/support/debugUtils.js +1 -1
  649. package/views/3d/support/hitTest.js +1 -1
  650. package/views/3d/support/viewpointUtils.js +1 -1
  651. package/views/3d/terrain/PlanarPatch.js +1 -1
  652. package/views/3d/terrain/SphericalPatch.js +1 -1
  653. package/views/3d/terrain/TerrainRenderer.js +1 -1
  654. package/views/3d/terrain/TerrainSurface.js +1 -1
  655. package/views/3d/terrain/Tile.js +1 -1
  656. package/views/3d/terrain/TilingScheme.js +1 -1
  657. package/views/3d/webgl-engine/effects/RenderPluginManager.js +1 -1
  658. package/views/3d/webgl-engine/effects/bloom/BloomComposition.glsl.js +1 -1
  659. package/views/3d/webgl-engine/effects/bloom/BloomRenderNode.js +1 -1
  660. package/views/3d/webgl-engine/effects/debug/RenderNodeVisualizerNode.js +1 -1
  661. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  662. package/views/3d/webgl-engine/lib/Viewshed.js +1 -1
  663. package/views/3d/webgl-engine/shaders/Viewshed.glsl.js +1 -1
  664. package/views/SceneView.js +1 -1
  665. package/views/VideoView.js +1 -1
  666. package/views/View2D.js +1 -1
  667. package/views/draw/MultipointDrawAction.js +1 -1
  668. package/views/draw/PointDrawAction.js +1 -1
  669. package/views/draw/PolygonDrawAction.js +1 -1
  670. package/views/draw/PolylineDrawAction.js +1 -1
  671. package/views/draw/SegmentDrawAction.js +1 -1
  672. package/views/draw/drawSurfaces.js +1 -1
  673. package/views/draw/support/Box.js +1 -1
  674. package/views/draw/support/GraphicMover.js +1 -1
  675. package/views/draw/support/Reshape.js +1 -1
  676. package/views/draw/support/createUtils.js +1 -1
  677. package/views/draw/support/surfaceCoordinateSystems.js +1 -1
  678. package/views/interactive/sketch/constraintUtils.js +1 -1
  679. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceSnappingSourceWorker.js +1 -1
  680. package/views/layers/support/Geometry.js +1 -1
  681. package/views/support/HighlightOptions.d.ts +4 -0
  682. package/views/support/drapedUtils.js +1 -1
  683. package/webdoc/geotriggersInfo/FeatureFilter.js +1 -1
  684. package/widgets/AreaMeasurement2D/AreaMeasurement2DTool.js +1 -1
  685. package/widgets/CoordinateConversion/CoordinateConversionViewModel.js +1 -1
  686. package/widgets/CoordinateConversion/support/Format.js +1 -1
  687. package/widgets/CoordinateConversion/support/coordinateConversionUtils.js +1 -1
  688. package/widgets/DistanceMeasurement2D/DistanceMeasurement2DTool.js +1 -1
  689. package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
  690. package/widgets/Editor/UpdateWorkflow.js +1 -1
  691. package/widgets/Editor/workflowUtils.js +1 -1
  692. package/widgets/ElevationProfile/support/ProfileLine2D.js +1 -1
  693. package/widgets/Feature/FeatureExpression/FeatureExpressionViewModel.js +1 -1
  694. package/widgets/Feature/FeatureViewModel.js +1 -1
  695. package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/FeatureFormUtilityNetworkAssociationList.js +1 -1
  696. package/widgets/FeatureForm/UtilityNetworkAssociationInput.js +1 -1
  697. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  698. package/widgets/FeatureTable/support/FeatureStore.js +1 -1
  699. package/widgets/FeatureTable.js +1 -1
  700. package/widgets/FeatureTemplates/FeatureTemplatesViewModel.js +1 -1
  701. package/widgets/FeatureTemplates/TemplateItem.js +1 -1
  702. package/widgets/FeatureTemplates/featureTemplatesUtils.js +1 -1
  703. package/widgets/FeatureTemplates.js +1 -1
  704. package/widgets/Features/FeaturesViewModel.js +1 -1
  705. package/widgets/LayerList/LayerListItem.js +1 -1
  706. package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
  707. package/widgets/Legend/support/sizeRampUtils.js +1 -1
  708. package/widgets/Legend/support/utils.js +1 -1
  709. package/widgets/Locate.js +1 -1
  710. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  711. package/widgets/OrientedImageryViewer/OrientedImageryViewerVisibleElements.js +1 -1
  712. package/widgets/OrientedImageryViewer/adapters/sketch/MeasurementAdapter.js +1 -1
  713. package/widgets/OrientedImageryViewer/adapters/view/MapViewAdapter.js +1 -1
  714. package/widgets/OrientedImageryViewer/adapters/view/SceneViewAdapter.js +1 -1
  715. package/widgets/OrientedImageryViewer/components/ImageAreaMeasurement.js +5 -0
  716. package/widgets/OrientedImageryViewer/components/ImageDistanceMeasurement.js +5 -0
  717. package/widgets/OrientedImageryViewer/components/ImageMeasurement.js +5 -0
  718. package/widgets/OrientedImageryViewer/components/ImageViewerViewModel.js +1 -1
  719. package/widgets/OrientedImageryViewer/css.js +1 -1
  720. package/widgets/OrientedImageryViewer/imageMeasurementUtils.js +1 -1
  721. package/widgets/OrientedImageryViewer/symbols.js +1 -1
  722. package/widgets/OrientedImageryViewer.js +1 -1
  723. package/widgets/PanoramicViewer/PanoramicViewerViewModel.js +1 -1
  724. package/widgets/PanoramicViewer/constants.js +1 -1
  725. package/widgets/PanoramicViewer/utils.js +1 -1
  726. package/widgets/Print/PrintViewModel.js +1 -1
  727. package/widgets/Print.js +1 -1
  728. package/widgets/ScaleBar/ScaleBarViewModel.js +1 -1
  729. package/widgets/Search/SearchViewModel.js +1 -1
  730. package/widgets/Sketch/SketchViewModel.js +1 -1
  731. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceFeature.js +5 -0
  732. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceFeaturesDrillIn.js +5 -0
  733. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceViewModel.js +1 -1
  734. package/widgets/UtilityNetworkTrace/support/GeometryHandler.js +1 -1
  735. package/widgets/UtilityNetworkTrace.js +1 -1
  736. package/widgets/support/GridControls/GridControlsViewModel.js +1 -1
  737. package/widgets/support/Selector2D/SelectionOperation.js +1 -1
  738. package/widgets/support/UtilityNetworkAssociations/UtilityNetworkAssociationList.js +1 -1
  739. package/widgets/support/UtilityNetworkAssociations/UtilityNetworkAssociationsViewModel.js +1 -1
  740. package/assets/esri/core/workers/chunks/0651586dc7bd2e8b34db.js +0 -1
  741. package/assets/esri/core/workers/chunks/077070295499b9bfabb6.js +0 -1
  742. package/assets/esri/core/workers/chunks/090cfc7f088a729afd47.js +0 -1
  743. package/assets/esri/core/workers/chunks/0d387baa64a89f88b1de.js +0 -1
  744. package/assets/esri/core/workers/chunks/105dcc7b7284b1e965b7.js +0 -1
  745. package/assets/esri/core/workers/chunks/134de9fa142129a43b1e.js +0 -1
  746. package/assets/esri/core/workers/chunks/16fa0a5f73ab67a8d3e4.js +0 -1
  747. package/assets/esri/core/workers/chunks/1797f62e9bf8f1ac8d13.js +0 -1
  748. package/assets/esri/core/workers/chunks/182722e2fe0a35c4d8db.js +0 -1
  749. package/assets/esri/core/workers/chunks/184846d2dde25ee12904.js +0 -1
  750. package/assets/esri/core/workers/chunks/1b3215f3290fb2f07ab8.js +0 -1
  751. package/assets/esri/core/workers/chunks/1d34a146b32b959923b0.js +0 -1
  752. package/assets/esri/core/workers/chunks/1f4dd96aacf8c40a1120.js +0 -1
  753. package/assets/esri/core/workers/chunks/1fa705ee39556ef4bb3b.js +0 -1
  754. package/assets/esri/core/workers/chunks/206194cf069ad4bcc3ad.js +0 -1
  755. package/assets/esri/core/workers/chunks/217f8139bea225d1fcc6.js +0 -1
  756. package/assets/esri/core/workers/chunks/22748779ca94eda44de5.js +0 -1
  757. package/assets/esri/core/workers/chunks/2427a01678f3d9fbf30b.js +0 -1
  758. package/assets/esri/core/workers/chunks/243520d9f4a118e63bbc.js +0 -1
  759. package/assets/esri/core/workers/chunks/26c8e30a5ee8db0314c8.js +0 -1
  760. package/assets/esri/core/workers/chunks/2779cf112299b612a73a.js +0 -1
  761. package/assets/esri/core/workers/chunks/280b7b885b96a5a68716.js +0 -2
  762. package/assets/esri/core/workers/chunks/299ed506209562be4fad.js +0 -1
  763. package/assets/esri/core/workers/chunks/2f5722844208d0f5d616.js +0 -1
  764. package/assets/esri/core/workers/chunks/2fb884799de54182d2c3.js +0 -2
  765. package/assets/esri/core/workers/chunks/2fb884799de54182d2c3.js.LICENSE.txt +0 -11
  766. package/assets/esri/core/workers/chunks/300a5f4842b90bda55b3.js +0 -1
  767. package/assets/esri/core/workers/chunks/33a13544b9e5f4f20bce.js +0 -1
  768. package/assets/esri/core/workers/chunks/33eebe5cb22a03ae90c8.js +0 -1
  769. package/assets/esri/core/workers/chunks/346ec2f8c373337c18c7.js +0 -1
  770. package/assets/esri/core/workers/chunks/34b86b4b9e6c1937ee39.js +0 -2
  771. package/assets/esri/core/workers/chunks/3512d53abe9abee7f420.js +0 -1
  772. package/assets/esri/core/workers/chunks/423329432fbf007c620b.js +0 -1
  773. package/assets/esri/core/workers/chunks/467bd3c0da9518a0058b.js +0 -1
  774. package/assets/esri/core/workers/chunks/47745c4f74830f981fd4.js +0 -1
  775. package/assets/esri/core/workers/chunks/4af0674fabfc965f1660.js +0 -1
  776. package/assets/esri/core/workers/chunks/4c1d11a91291b28a73be.js +0 -1
  777. package/assets/esri/core/workers/chunks/4c40fd932113a71cbe8e.js +0 -1
  778. package/assets/esri/core/workers/chunks/51fbbd082ca78e4417d9.js +0 -1
  779. package/assets/esri/core/workers/chunks/5a937486b9fd62b57dca.js +0 -1
  780. package/assets/esri/core/workers/chunks/5c05c899f7e6f764fedd.js +0 -1
  781. package/assets/esri/core/workers/chunks/636b944604480a905888.js +0 -1
  782. package/assets/esri/core/workers/chunks/6400f39a965900f66ce7.js +0 -1
  783. package/assets/esri/core/workers/chunks/643da327858a68ffbd88.js +0 -1
  784. package/assets/esri/core/workers/chunks/6c1470dc0bd4389d1a2d.js +0 -1
  785. package/assets/esri/core/workers/chunks/6c3862f42b6b27edf1cf.js +0 -2
  786. package/assets/esri/core/workers/chunks/6c3862f42b6b27edf1cf.js.LICENSE.txt +0 -10
  787. package/assets/esri/core/workers/chunks/6e804ee2d96d4de85a5f.js +0 -1
  788. package/assets/esri/core/workers/chunks/712f0dd46932c544df68.js +0 -1
  789. package/assets/esri/core/workers/chunks/71e88c90e9f9a9bddcd8.js +0 -1
  790. package/assets/esri/core/workers/chunks/7341108896d0e4d44dab.js +0 -1
  791. package/assets/esri/core/workers/chunks/74ba752dfab8ea5b6d2a.js +0 -314
  792. package/assets/esri/core/workers/chunks/79903647d4ed16d9a402.js +0 -1
  793. package/assets/esri/core/workers/chunks/7b4880b2dc6b01d70ccc.js +0 -1
  794. package/assets/esri/core/workers/chunks/7c98e4fcba1dc24eb788.js +0 -1
  795. package/assets/esri/core/workers/chunks/7d0fc25ce1f74adcfeb6.js +0 -1
  796. package/assets/esri/core/workers/chunks/8249351daa45ca82ca0c.js +0 -1
  797. package/assets/esri/core/workers/chunks/87ddc3d5d751d565cd97.js +0 -1
  798. package/assets/esri/core/workers/chunks/87f33a60768801ca1ce8.js +0 -1
  799. package/assets/esri/core/workers/chunks/885205379220ccee5802.js +0 -1
  800. package/assets/esri/core/workers/chunks/88bb55bca76f978c0aa3.js +0 -1
  801. package/assets/esri/core/workers/chunks/8b2f0c33e10e163d5c8f.js +0 -1
  802. package/assets/esri/core/workers/chunks/8c5d1fd2b2c7c26e8ff5.js +0 -1
  803. package/assets/esri/core/workers/chunks/8cda8dbd95f0a78063a8.js +0 -1
  804. package/assets/esri/core/workers/chunks/8e0e5183c88a45fbfd8e.js +0 -1
  805. package/assets/esri/core/workers/chunks/90eea0c2435bb5d10460.js +0 -1
  806. package/assets/esri/core/workers/chunks/93c1541241f92fc07eaa.js +0 -1
  807. package/assets/esri/core/workers/chunks/964f2897794d8d71dcb7.js +0 -1
  808. package/assets/esri/core/workers/chunks/97169740043b4a0a40fb.js +0 -1
  809. package/assets/esri/core/workers/chunks/976daa00d35ee7f27a26.js +0 -1
  810. package/assets/esri/core/workers/chunks/97d66b0d0ff1132966de.js +0 -1
  811. package/assets/esri/core/workers/chunks/984d5533dcc831c426be.js +0 -1
  812. package/assets/esri/core/workers/chunks/9970e0e74cf2877a7ffc.js.LICENSE.txt +0 -17
  813. package/assets/esri/core/workers/chunks/99b4f146d0f1661a217c.js +0 -1
  814. package/assets/esri/core/workers/chunks/9e4d68da11995a5b66c3.js +0 -1
  815. package/assets/esri/core/workers/chunks/a6095a6abb2610bb95c1.js +0 -1
  816. package/assets/esri/core/workers/chunks/aa96a05b94ae642c1c9f.js +0 -1
  817. package/assets/esri/core/workers/chunks/b0055e7b2e840d478de8.js +0 -1
  818. package/assets/esri/core/workers/chunks/b1bf8ad629a6b8f4489a.js +0 -1
  819. package/assets/esri/core/workers/chunks/b1e3448ba51557ff6c13.js +0 -1
  820. package/assets/esri/core/workers/chunks/b30046a40bcfbec8abe4.js +0 -1
  821. package/assets/esri/core/workers/chunks/b538d02706a25bbbe2d0.js +0 -1
  822. package/assets/esri/core/workers/chunks/b81b8a800eec9db7ece2.js +0 -1
  823. package/assets/esri/core/workers/chunks/c1c216b0aebe86311fae.js +0 -1
  824. package/assets/esri/core/workers/chunks/c436a112a3119ceabebf.js +0 -1
  825. package/assets/esri/core/workers/chunks/c609bc34b14e4956292e.js +0 -1
  826. package/assets/esri/core/workers/chunks/c8a09db652389f0d254d.js +0 -1
  827. package/assets/esri/core/workers/chunks/c8a645601d041f411060.js +0 -1
  828. package/assets/esri/core/workers/chunks/c9741eb7a66ff7ec9184.js +0 -1
  829. package/assets/esri/core/workers/chunks/cb3b7f83b3efb315bd14.js +0 -1
  830. package/assets/esri/core/workers/chunks/cdc5e4cd1214362e752a.js +0 -1
  831. package/assets/esri/core/workers/chunks/ce0fb7cbf72bbb4cfe98.js +0 -1
  832. package/assets/esri/core/workers/chunks/cf244cbd0558cc1142ed.js +0 -1
  833. package/assets/esri/core/workers/chunks/d181447e2be06beaa23f.js +0 -1
  834. package/assets/esri/core/workers/chunks/d5c93caa3a8bb06a0b3f.js +0 -1
  835. package/assets/esri/core/workers/chunks/da5fc368eb5b3592d05e.js +0 -1
  836. package/assets/esri/core/workers/chunks/dae7e8357936466482fe.js +0 -1
  837. package/assets/esri/core/workers/chunks/db20b986a5681316070b.js +0 -2
  838. package/assets/esri/core/workers/chunks/db20b986a5681316070b.js.LICENSE.txt +0 -5
  839. package/assets/esri/core/workers/chunks/dc7fb41ebe57b463d408.js +0 -1
  840. package/assets/esri/core/workers/chunks/dd935b6335c674b6f596.js +0 -1
  841. package/assets/esri/core/workers/chunks/ddd20894b5107b76b815.js +0 -1
  842. package/assets/esri/core/workers/chunks/de00150030003de05146.js +0 -1
  843. package/assets/esri/core/workers/chunks/decd316936df1ad3fa65.js +0 -1
  844. package/assets/esri/core/workers/chunks/df4d7f100222ea671730.js +0 -1
  845. package/assets/esri/core/workers/chunks/e2320e4e6fd976966c0b.js +0 -1
  846. package/assets/esri/core/workers/chunks/e418c4f7866d03d5352e.js +0 -1
  847. package/assets/esri/core/workers/chunks/e4f4ad67d778dea5b956.js +0 -1
  848. package/assets/esri/core/workers/chunks/e610dd938d30f75778bc.js +0 -1
  849. package/assets/esri/core/workers/chunks/eb256e8488e341c4a6f2.js +0 -1
  850. package/assets/esri/core/workers/chunks/ebc0094355504ec09fb8.js +0 -1
  851. package/assets/esri/core/workers/chunks/ec195549b274cca09d81.js +0 -1
  852. package/assets/esri/core/workers/chunks/ec4a45b40021abdead45.js +0 -1
  853. package/assets/esri/core/workers/chunks/ee5f43fbe4c2cc199e64.js +0 -1
  854. package/assets/esri/core/workers/chunks/f0334d31c8cac38baa25.js +0 -1
  855. package/assets/esri/core/workers/chunks/f1b63f092e239f84b849.js +0 -1
  856. package/assets/esri/core/workers/chunks/f2126b79f41dc62cc576.js +0 -1
  857. package/assets/esri/core/workers/chunks/f3a75dffb285590cb451.js +0 -1
  858. package/assets/esri/core/workers/chunks/f3e0b0f07a622fcdd6ae.js +0 -1
  859. package/assets/esri/core/workers/chunks/f581aec77accce7411e0.js +0 -1
  860. package/assets/esri/core/workers/chunks/f606350e4d040ad70f4d.js +0 -1
  861. package/assets/esri/core/workers/chunks/f849ffe8e551bd5896ef.js +0 -1
  862. package/assets/esri/core/workers/chunks/f877bcbd277a28154d82.js +0 -1
  863. package/assets/esri/core/workers/chunks/fa1c68f2ffcdff7986b6.js +0 -1
  864. package/assets/esri/core/workers/chunks/fa849ff6132c2cd6d8e8.js +0 -1
  865. package/assets/esri/core/workers/chunks/feeb36ffdffb227c4353.js +0 -1
  866. package/renderers/support/types.js +0 -5
  867. package/widgets/support/templateUtils.js +0 -5
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{_ as t}from"../../../../chunks/tslib.es6.js";import e from"../../../../Color.js";import i from"../../../../Graphic.js";import"../../../../symbols.js";import{destroyMaybe as o}from"../../../../core/maybe.js";import{watch as r}from"../../../../core/reactiveUtils.js";import{property as s}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/has.js";import"../../../../core/Logger.js";import"../../../../core/RandomLCG.js";import{subclass as n}from"../../../../core/accessorSupport/decorators/subclass.js";import{project as a,initializeProjection as h}from"../../../../geometry/projection.js";import{isValid as c}from"../../../../geometry/support/spatialReferenceUtils.js";import l from"../../../../layers/GraphicsLayer.js";import{applyCIMSymbolColor as p}from"../../../../symbols/support/cimSymbolUtils.js";import{ViewingMode as d}from"../../../ViewingMode.js";import{DragManipulation as m}from"./manipulations/DragManipulation.js";import{primaryKey as y}from"../../../input/keys.js";import{InteractiveToolBase as _}from"../../../interactive/InteractiveToolBase.js";import{EditGeometryOperations as g}from"../../../interactive/editGeometry/EditGeometryOperations.js";import{AccumulationBehavior as f}from"../../../interactive/editGeometry/interfaces.js";import u from"../../../../symbols/CIMSymbol.js";const P={up:"ArrowUp",down:"ArrowDown",left:"ArrowLeft",right:"ArrowRight",toggleOpacity:"t",shift:"Shift",primaryKey:y},v=1,S=10,k=new e("#009af2");let b=class extends _{constructor(t){super(t),this._isOpacityToggled=!1,this._isModifierActive=!1,this._factor=1,this._initialControlPoints=null,this._graphicsLayer=new l({internal:!0,listMode:"hide",visible:!1,effect:"drop-shadow(0px, 0px, 3px)"}),this._undoStack=[],this._redoStack=[],this._sharedUndoStack=[],this._sharedRedoStack=[],this._highlightHandle=null,this.activeHandle=0,this.type="reshape"}initialize(){this._initialize()}destroy(){const{map:t}=this.view;this._controlPointManipulations.forEach((t=>t.destroy())),this._controlPointEditGeometryOperations.forEach((t=>t.destroy())),t.removeMany([this._graphicsLayer]),this._graphicsLayer.removeAll(),this._graphicsLayer=o(this._graphicsLayer),this._georeference=null,this._controlPointGraphics=null,this._controlPointManipulations=null,this._graphicsLayer=null,this._controlPointEditGeometryOperations=null,this._undoStack=null,this._redoStack=null,this._initialControlPoints=null,this._sharedUndoStack=null,this._sharedRedoStack=null}get _hasValidSpatialReference(){return c(this.view.spatialReference)}onActivate(){this.visible=!0}onDeactivate(){this.visible=!1}onShow(){this._graphicsLayer.visible=!0}onHide(){this._graphicsLayer.visible=!1}canUndo(){const t=this._undoStack[this._undoStack.length-1];return null!=t&&this._controlPointEditGeometryOperations[t].canUndo}canRedo(){const t=this._redoStack[this._redoStack.length-1];return null!=t&&this._controlPointEditGeometryOperations[t].canRedo}undo(){if(this._undoStack.length>0){const t=this._undoStack.pop();this._controlPointEditGeometryOperations[t].undo(),this.updateGraphics(),this._redoStack.push(t)}}redo(){if(this._redoStack.length>0){const t=this._redoStack.pop();this._controlPointEditGeometryOperations[t].redo(),this.updateGraphics(),this._undoStack.push(t)}}refresh(){const{mediaElement:t}=this;if(null==t.georeference)return;const e=t.georeference;"control-points"===e.type&&null!=e.coords&&(this._georeference=e,this._georeference.controlPoints.forEach((({mapPoint:t},e)=>{const i=this._controlPointEditGeometryOperations[e],o=i.data.components[0].vertices[0];i.setVertexPosition(o,i.data.coordinateHelper.pointToVector(t))})),this.updateGraphics())}reset(){this._georeference.controlPoints=this._initialControlPoints,this.refresh(),this._sharedUndoStack.length=0,this._sharedRedoStack.length=0}updateGraphics(){const t=this._georeference,e=t.controlPoints,i=e[0].mapPoint.spatialReference,o=this._hasValidSpatialReference;this._georeference.controlPoints=this._controlPointEditGeometryOperations.map(((r,s)=>{const n=r.data.geometry;return this._controlPointGraphics[s].geometry=n,{mapPoint:a(n,i),sourcePoint:o?e[s].sourcePoint:t.toSource(n)}}))}updateActiveHandle(t){if(this.activeHandle===t)return;const e=this._controlPointGraphics[this.activeHandle].symbol.clone();p(e,this.view.effectiveTheme.accentColor),this._controlPointGraphics[this.activeHandle].symbol=e;const i=this._controlPointGraphics[t].symbol.clone();p(i,k),this._controlPointGraphics[t].symbol=i,this.activeHandle=t,this.view.surface===document.activeElement&&this.highlightActiveHandle()}async highlightActiveHandle(){this.removeHighlightActiveHandle();const t=await this.view.whenLayerView(this._graphicsLayer);this._highlightHandle=t.highlight(this._controlPointGraphics[this.activeHandle])}removeHighlightActiveHandle(){this._highlightHandle&&this._highlightHandle.remove()}setSharedUndoStack(t){this._sharedUndoStack=t}setSharedRedoStack(t){this._sharedRedoStack=t}async _initialize(){const{view:t,mediaElement:e}=this;if(null==e.georeference)return;const o=e.georeference;"control-points"===o.type&&null!=o.coords&&(this._georeference=o,this._initialControlPoints=this._georeference.controlPoints,t.map.addMany([this._graphicsLayer]),t.focus(),this.visible=!1,this.finishToolCreation(),await this._loadProjectionEngine(),this._controlPointEditGeometryOperations=this._georeference.controlPoints.map((({mapPoint:e})=>g.fromGeometry(a(e,t.spatialReference),d.Local))),this._controlPointGraphics=this._controlPointEditGeometryOperations.map(((t,e)=>new i({symbol:new u({data:{type:"CIMSymbolReference",symbol:{type:"CIMPointSymbol",symbolLayers:[{type:"CIMVectorMarker",enable:!0,colorLocked:!0,anchorPoint:{x:0,y:-15.75},anchorPointUnits:"Absolute",dominantSizeAxis3D:"Y",size:9,billboardMode3D:"FaceNearPlane",frame:{xmin:0,ymin:0,xmax:84.3,ymax:84.3},markerGraphics:[{type:"CIMMarkerGraphic",geometry:{rings:[[[83.2,32.5],[84.3,40.7],[83.8,48.9],[81.7,56.9],[78.1,64.3],[73,70.9],[66.9,76.4],[59.7,80.5],[51.9,83.2],[43.7,84.3],[35.4,83.8],[27.4,81.7],[20,78],[13.4,73],[7.9,66.8],[3.8,59.7],[1.1,51.9],[0,43.7],[.5,35.4],[2.6,27.4],[6.3,20],[11.3,13.4],[17.5,7.9],[24.7,3.8],[32.5,1.1],[39.8,.1],[47.1,.3],[54.3,1.8],[61.1,4.5],[67.4,8.4],[72.9,13.3],[77.4,19.1],[80.9,25.5],[83.2,32.5]]]},symbol:{type:"CIMPolygonSymbol",symbolLayers:[{type:"CIMSolidFill",enable:!0,color:[255,255,255,255]}]}}],scaleSymbolsProportionally:!0,respectFrame:!0,clippingPath:{type:"CIMClippingPath",clippingType:"Intersect",path:{rings:[[[0,0],[84.3,0],[84.3,84.3],[0,84.3],[0,0]]]}},rotation:0},{type:"CIMVectorMarker",enable:!0,anchorPoint:{x:0,y:-11.25},anchorPointUnits:"Absolute",dominantSizeAxis3D:"Y",size:22.5,billboardMode3D:"FaceNearPlane",frame:{xmin:0,ymin:0,xmax:197.7,ymax:294.7},markerGraphics:[{type:"CIMMarkerGraphic",geometry:{rings:[[[98.9,0],[119.4,23.2],[139.4,49.3],[156.8,75.2],[171.2,100.8],[182.4,125.3],[190.6,148.8],[195.7,171.4],[197.7,192.9],[197.7,195.8],[197.7,200.3],[197.6,202.5],[197.5,204.8],[197.3,207.1],[197,209.4],[196.7,211.7],[196.4,214.1],[196,216.4],[195.5,218.7],[195,221.1],[194.4,223.4],[193.7,225.8],[193,228.1],[192.2,230.5],[191.4,232.8],[190.5,235.1],[189.5,237.5],[188.5,239.7],[187.4,242],[186.2,244.3],[185,246.5],[183.7,248.7],[182.4,250.9],[181,253.1],[179.5,255.2],[178,257.3],[176.4,259.4],[174.7,261.4],[173.1,263.3],[171.3,265.3],[169.5,267.2],[167.7,269],[165.8,270.8],[163.9,272.5],[161.9,274.2],[159.9,275.8],[157.8,277.4],[155.7,278.9],[153.6,280.4],[151.4,281.7],[149.2,283.1],[147,284.4],[144.8,285.6],[142.5,286.7],[140.3,287.8],[138,288.8],[135.7,289.8],[133.4,290.7],[131,291.5],[128.7,292.3],[126.4,293],[124,293.6],[121.7,294.2],[119.4,294.7],[117,295.2],[114.7,295.6],[112.4,296],[110.1,296.3],[107.8,296.5],[105.5,296.7],[103.3,296.8],[101.1,296.9],[98.8,296.9],[83.1,295.7],[67.8,292],[53.3,285.9],[39.9,277.5],[28.1,267.2],[18,255.1],[10,241.5],[4.2,226.9],[.9,211.5],[0,195.8],[.1,192.9],[2.1,171.4],[7.2,148.8],[15.4,125.3],[26.6,100.8],[41,75.2],[58.4,49.3],[78.4,23.2],[98.9,0]]]},symbol:{type:"CIMPolygonSymbol",symbolLayers:[{type:"CIMSolidFill",enable:!0,color:e===this.activeHandle?k.toArray():this.view.effectiveTheme.accentColor.toArray()}]}}],scaleSymbolsProportionally:!0,respectFrame:!0,clippingPath:{type:"CIMClippingPath",clippingType:"Intersect",path:{rings:[[[0,0],[197.7,0],[197.7,294.7],[0,294.7],[0,0]]]}},rotation:0}],haloSize:1,scaleX:1,angleAlignment:"Display",angle:0}}}),geometry:t.data.geometry}))),this._graphicsLayer.graphics.addMany([...this._controlPointGraphics]),this._controlPointManipulations=this._controlPointGraphics.map((e=>new m({tool:this,view:t,graphic:e}))),this.addHandles([...this._controlPointManipulations.map(((t,e)=>t.createDragPipeline(this._getInfo.bind(this,e),((t,i)=>{"start"===t.action&&(this._undoStack.push(e),this._redoStack=[],this._sharedUndoStack.push({tool:this,operation:i}),this._sharedRedoStack.length=0),this.updateGraphics()})))),r((()=>this.view.scale),(()=>this.active?this.updateGraphics():null))]),this._controlPointManipulations.forEach(((t,e)=>{const i=t=>{this.addHandles([t.events.on(["click","grab-changed"],(t=>this.updateActiveHandle(e)))])};t.forEachManipulator(i)})),this.addHandles([t.on("key-down",(i=>{t.activeTool===this&&(i.key!==P.shift||i.repeat||(this._isModifierActive=!0,i.stopPropagation()),i.key!==P.toggleOpacity||i.repeat||(e.opacity*=this._isOpacityToggled?2:.5,this._isOpacityToggled=!this._isOpacityToggled,i.stopPropagation()),i.key!==P.primaryKey||i.repeat||(this._factor=S,i.stopPropagation()),this._isModifierActive&&(i.key===P.up&&(this._move(0,this._factor),i.stopPropagation()),i.key===P.down&&(this._move(0,-this._factor),i.stopPropagation()),i.key===P.left&&(this._move(-this._factor,0),i.stopPropagation()),i.key===P.right&&(this._move(this._factor,0),i.stopPropagation())))})),t.on("key-up",(e=>{t.activeTool===this&&(e.key===P.shift&&(this._isModifierActive=!1,e.stopPropagation()),e.key===P.primaryKey&&(this._factor=v,e.stopPropagation()))}))]))}async _loadProjectionEngine(){const t=this._georeference.controlPoints[0].mapPoint;return h(t.spatialReference,this.view.spatialReference)}_getInfo(t){return{editGeometryOperations:this._controlPointEditGeometryOperations[t],constraints:this._hasValidSpatialReference?null:{xmin:0,ymin:0,xmax:this._georeference.width,ymax:this._georeference.height}}}_move(t,e){const i=this._controlPointEditGeometryOperations[this.activeHandle].move(t*this.view.resolution,e*this.view.resolution,0,f.NEW_STEP);this._sharedUndoStack.push({tool:this,operation:i}),this._sharedRedoStack.length=0,this.updateGraphics()}};t([s()],b.prototype,"_hasValidSpatialReference",null),t([s()],b.prototype,"activeHandle",void 0),t([s({constructOnly:!0,nonNullable:!0})],b.prototype,"mediaElement",void 0),t([s({readOnly:!0})],b.prototype,"type",void 0),t([s({constructOnly:!0})],b.prototype,"view",void 0),b=t([n("esri.views.2d.interactive.editingTools.ControlPointsTransformTool")],b);export{b as ControlPointsTransformTool,P as keys};
5
+ import{_ as t}from"../../../../chunks/tslib.es6.js";import e from"../../../../Color.js";import i from"../../../../Graphic.js";import{destroyMaybe as o}from"../../../../core/maybe.js";import{watch as r}from"../../../../core/reactiveUtils.js";import{property as s}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/has.js";import"../../../../core/Logger.js";import"../../../../core/RandomLCG.js";import{subclass as n}from"../../../../core/accessorSupport/decorators/subclass.js";import{project as a,initializeProjection as h}from"../../../../geometry/projection.js";import{isValid as c}from"../../../../geometry/support/spatialReferenceUtils.js";import l from"../../../../layers/GraphicsLayer.js";import p from"../../../../symbols/CIMSymbol.js";import{applyCIMSymbolColor as d}from"../../../../symbols/support/cimSymbolUtils.js";import{ViewingMode as m}from"../../../ViewingMode.js";import{DragManipulation as y}from"./manipulations/DragManipulation.js";import{primaryKey as _}from"../../../input/keys.js";import{InteractiveToolBase as g}from"../../../interactive/InteractiveToolBase.js";import{EditGeometryOperations as f}from"../../../interactive/editGeometry/EditGeometryOperations.js";import{AccumulationBehavior as u}from"../../../interactive/editGeometry/interfaces.js";const P={up:"ArrowUp",down:"ArrowDown",left:"ArrowLeft",right:"ArrowRight",toggleOpacity:"t",shift:"Shift",primaryKey:_},v=1,S=10,k=new e("#009af2");let b=class extends g{constructor(t){super(t),this._isOpacityToggled=!1,this._isModifierActive=!1,this._factor=1,this._initialControlPoints=null,this._graphicsLayer=new l({internal:!0,listMode:"hide",visible:!1,effect:"drop-shadow(0px, 0px, 3px)"}),this._undoStack=[],this._redoStack=[],this._sharedUndoStack=[],this._sharedRedoStack=[],this._highlightHandle=null,this.activeHandle=0,this.type="reshape"}initialize(){this._initialize()}destroy(){const{map:t}=this.view;this._controlPointManipulations.forEach((t=>t.destroy())),this._controlPointEditGeometryOperations.forEach((t=>t.destroy())),t.removeMany([this._graphicsLayer]),this._graphicsLayer.removeAll(),this._graphicsLayer=o(this._graphicsLayer),this._georeference=null,this._controlPointGraphics=null,this._controlPointManipulations=null,this._graphicsLayer=null,this._controlPointEditGeometryOperations=null,this._undoStack=null,this._redoStack=null,this._initialControlPoints=null,this._sharedUndoStack=null,this._sharedRedoStack=null}get _hasValidSpatialReference(){return c(this.view.spatialReference)}onActivate(){this.visible=!0}onDeactivate(){this.visible=!1}onShow(){this._graphicsLayer.visible=!0}onHide(){this._graphicsLayer.visible=!1}canUndo(){const t=this._undoStack[this._undoStack.length-1];return null!=t&&this._controlPointEditGeometryOperations[t].canUndo}canRedo(){const t=this._redoStack[this._redoStack.length-1];return null!=t&&this._controlPointEditGeometryOperations[t].canRedo}undo(){if(this._undoStack.length>0){const t=this._undoStack.pop();this._controlPointEditGeometryOperations[t].undo(),this.updateGraphics(),this._redoStack.push(t)}}redo(){if(this._redoStack.length>0){const t=this._redoStack.pop();this._controlPointEditGeometryOperations[t].redo(),this.updateGraphics(),this._undoStack.push(t)}}refresh(){const{mediaElement:t}=this;if(null==t.georeference)return;const e=t.georeference;"control-points"===e.type&&null!=e.coords&&(this._georeference=e,this._georeference.controlPoints.forEach((({mapPoint:t},e)=>{const i=this._controlPointEditGeometryOperations[e],o=i.data.components[0].vertices[0];i.setVertexPosition(o,i.data.coordinateHelper.pointToVector(t))})),this.updateGraphics())}reset(){this._georeference.controlPoints=this._initialControlPoints,this.refresh(),this._sharedUndoStack.length=0,this._sharedRedoStack.length=0}updateGraphics(){const t=this._georeference,e=t.controlPoints,i=e[0].mapPoint.spatialReference,o=this._hasValidSpatialReference;this._georeference.controlPoints=this._controlPointEditGeometryOperations.map(((r,s)=>{const n=r.data.geometry;return this._controlPointGraphics[s].geometry=n,{mapPoint:a(n,i),sourcePoint:o?e[s].sourcePoint:t.toSource(n)}}))}updateActiveHandle(t){if(this.activeHandle===t)return;const e=this._controlPointGraphics[this.activeHandle].symbol.clone();d(e,this.view.effectiveTheme.accentColor),this._controlPointGraphics[this.activeHandle].symbol=e;const i=this._controlPointGraphics[t].symbol.clone();d(i,k),this._controlPointGraphics[t].symbol=i,this.activeHandle=t,this.view.surface===document.activeElement&&this.highlightActiveHandle()}async highlightActiveHandle(){this.removeHighlightActiveHandle();const t=await this.view.whenLayerView(this._graphicsLayer);this._highlightHandle=t.highlight(this._controlPointGraphics[this.activeHandle])}removeHighlightActiveHandle(){this._highlightHandle&&this._highlightHandle.remove()}setSharedUndoStack(t){this._sharedUndoStack=t}setSharedRedoStack(t){this._sharedRedoStack=t}async _initialize(){const{view:t,mediaElement:e}=this;if(null==e.georeference)return;const o=e.georeference;"control-points"===o.type&&null!=o.coords&&(this._georeference=o,this._initialControlPoints=this._georeference.controlPoints,t.map.addMany([this._graphicsLayer]),t.focus(),this.visible=!1,this.finishToolCreation(),await this._loadProjectionEngine(),this._controlPointEditGeometryOperations=this._georeference.controlPoints.map((({mapPoint:e})=>f.fromGeometry(a(e,t.spatialReference),m.Local))),this._controlPointGraphics=this._controlPointEditGeometryOperations.map(((t,e)=>new i({symbol:new p({data:{type:"CIMSymbolReference",symbol:{type:"CIMPointSymbol",symbolLayers:[{type:"CIMVectorMarker",enable:!0,colorLocked:!0,anchorPoint:{x:0,y:-15.75},anchorPointUnits:"Absolute",dominantSizeAxis3D:"Y",size:9,billboardMode3D:"FaceNearPlane",frame:{xmin:0,ymin:0,xmax:84.3,ymax:84.3},markerGraphics:[{type:"CIMMarkerGraphic",geometry:{rings:[[[83.2,32.5],[84.3,40.7],[83.8,48.9],[81.7,56.9],[78.1,64.3],[73,70.9],[66.9,76.4],[59.7,80.5],[51.9,83.2],[43.7,84.3],[35.4,83.8],[27.4,81.7],[20,78],[13.4,73],[7.9,66.8],[3.8,59.7],[1.1,51.9],[0,43.7],[.5,35.4],[2.6,27.4],[6.3,20],[11.3,13.4],[17.5,7.9],[24.7,3.8],[32.5,1.1],[39.8,.1],[47.1,.3],[54.3,1.8],[61.1,4.5],[67.4,8.4],[72.9,13.3],[77.4,19.1],[80.9,25.5],[83.2,32.5]]]},symbol:{type:"CIMPolygonSymbol",symbolLayers:[{type:"CIMSolidFill",enable:!0,color:[255,255,255,255]}]}}],scaleSymbolsProportionally:!0,respectFrame:!0,clippingPath:{type:"CIMClippingPath",clippingType:"Intersect",path:{rings:[[[0,0],[84.3,0],[84.3,84.3],[0,84.3],[0,0]]]}},rotation:0},{type:"CIMVectorMarker",enable:!0,anchorPoint:{x:0,y:-11.25},anchorPointUnits:"Absolute",dominantSizeAxis3D:"Y",size:22.5,billboardMode3D:"FaceNearPlane",frame:{xmin:0,ymin:0,xmax:197.7,ymax:294.7},markerGraphics:[{type:"CIMMarkerGraphic",geometry:{rings:[[[98.9,0],[119.4,23.2],[139.4,49.3],[156.8,75.2],[171.2,100.8],[182.4,125.3],[190.6,148.8],[195.7,171.4],[197.7,192.9],[197.7,195.8],[197.7,200.3],[197.6,202.5],[197.5,204.8],[197.3,207.1],[197,209.4],[196.7,211.7],[196.4,214.1],[196,216.4],[195.5,218.7],[195,221.1],[194.4,223.4],[193.7,225.8],[193,228.1],[192.2,230.5],[191.4,232.8],[190.5,235.1],[189.5,237.5],[188.5,239.7],[187.4,242],[186.2,244.3],[185,246.5],[183.7,248.7],[182.4,250.9],[181,253.1],[179.5,255.2],[178,257.3],[176.4,259.4],[174.7,261.4],[173.1,263.3],[171.3,265.3],[169.5,267.2],[167.7,269],[165.8,270.8],[163.9,272.5],[161.9,274.2],[159.9,275.8],[157.8,277.4],[155.7,278.9],[153.6,280.4],[151.4,281.7],[149.2,283.1],[147,284.4],[144.8,285.6],[142.5,286.7],[140.3,287.8],[138,288.8],[135.7,289.8],[133.4,290.7],[131,291.5],[128.7,292.3],[126.4,293],[124,293.6],[121.7,294.2],[119.4,294.7],[117,295.2],[114.7,295.6],[112.4,296],[110.1,296.3],[107.8,296.5],[105.5,296.7],[103.3,296.8],[101.1,296.9],[98.8,296.9],[83.1,295.7],[67.8,292],[53.3,285.9],[39.9,277.5],[28.1,267.2],[18,255.1],[10,241.5],[4.2,226.9],[.9,211.5],[0,195.8],[.1,192.9],[2.1,171.4],[7.2,148.8],[15.4,125.3],[26.6,100.8],[41,75.2],[58.4,49.3],[78.4,23.2],[98.9,0]]]},symbol:{type:"CIMPolygonSymbol",symbolLayers:[{type:"CIMSolidFill",enable:!0,color:e===this.activeHandle?k.toArray():this.view.effectiveTheme.accentColor.toArray()}]}}],scaleSymbolsProportionally:!0,respectFrame:!0,clippingPath:{type:"CIMClippingPath",clippingType:"Intersect",path:{rings:[[[0,0],[197.7,0],[197.7,294.7],[0,294.7],[0,0]]]}},rotation:0}],haloSize:1,scaleX:1,angleAlignment:"Display",angle:0}}}),geometry:t.data.geometry}))),this._graphicsLayer.graphics.addMany([...this._controlPointGraphics]),this._controlPointManipulations=this._controlPointGraphics.map((e=>new y({tool:this,view:t,graphic:e}))),this.addHandles([...this._controlPointManipulations.map(((t,e)=>t.createDragPipeline(this._getInfo.bind(this,e),((t,i)=>{"start"===t.action&&(this._undoStack.push(e),this._redoStack=[],this._sharedUndoStack.push({tool:this,operation:i}),this._sharedRedoStack.length=0),this.updateGraphics()})))),r((()=>this.view.scale),(()=>this.active?this.updateGraphics():null))]),this._controlPointManipulations.forEach(((t,e)=>{const i=t=>{this.addHandles([t.events.on(["click","grab-changed"],(t=>this.updateActiveHandle(e)))])};t.forEachManipulator(i)})),this.addHandles([t.on("key-down",(i=>{t.activeTool===this&&(i.key!==P.shift||i.repeat||(this._isModifierActive=!0,i.stopPropagation()),i.key!==P.toggleOpacity||i.repeat||(e.opacity*=this._isOpacityToggled?2:.5,this._isOpacityToggled=!this._isOpacityToggled,i.stopPropagation()),i.key!==P.primaryKey||i.repeat||(this._factor=S,i.stopPropagation()),this._isModifierActive&&(i.key===P.up&&(this._move(0,this._factor),i.stopPropagation()),i.key===P.down&&(this._move(0,-this._factor),i.stopPropagation()),i.key===P.left&&(this._move(-this._factor,0),i.stopPropagation()),i.key===P.right&&(this._move(this._factor,0),i.stopPropagation())))})),t.on("key-up",(e=>{t.activeTool===this&&(e.key===P.shift&&(this._isModifierActive=!1,e.stopPropagation()),e.key===P.primaryKey&&(this._factor=v,e.stopPropagation()))}))]))}async _loadProjectionEngine(){const t=this._georeference.controlPoints[0].mapPoint;return h(t.spatialReference,this.view.spatialReference)}_getInfo(t){return{editGeometryOperations:this._controlPointEditGeometryOperations[t],constraints:this._hasValidSpatialReference?null:{xmin:0,ymin:0,xmax:this._georeference.width,ymax:this._georeference.height}}}_move(t,e){const i=this._controlPointEditGeometryOperations[this.activeHandle].move(t*this.view.resolution,e*this.view.resolution,0,u.NEW_STEP);this._sharedUndoStack.push({tool:this,operation:i}),this._sharedRedoStack.length=0,this.updateGraphics()}};t([s()],b.prototype,"_hasValidSpatialReference",null),t([s()],b.prototype,"activeHandle",void 0),t([s({constructOnly:!0,nonNullable:!0})],b.prototype,"mediaElement",void 0),t([s({readOnly:!0})],b.prototype,"type",void 0),t([s({constructOnly:!0})],b.prototype,"view",void 0),b=t([n("esri.views.2d.interactive.editingTools.ControlPointsTransformTool")],b);export{b as ControlPointsTransformTool,P as keys};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../../../chunks/tslib.es6.js";import"../../../../geometry.js";import t from"../../../../Graphic.js";import"../../../../symbols.js";import{getContrast as i}from"../../../../core/colorUtils.js";import{destroyMaybe as s}from"../../../../core/maybe.js";import{watch as o}from"../../../../core/reactiveUtils.js";import{getMetersPerUnitForSR as r}from"../../../../core/unitUtils.js";import{property as a}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/has.js";import"../../../../core/Logger.js";import"../../../../core/RandomLCG.js";import{subclass as n}from"../../../../core/accessorSupport/decorators/subclass.js";import{subtract as c,normalize as h}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{create as l,UNIT_X as p}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{h as d,l as m,n as _,g as y,m as g,d as u}from"../../../../chunks/vec32.js";import{create as f}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{project as v,initializeProjection as G}from"../../../../geometry/projection.js";import{d as w,a as R}from"../../../../chunks/boundedPlane.js";import{equals as b}from"../../../../geometry/support/spatialReferenceUtils.js";import j from"../../../../layers/GraphicsLayer.js";import{ViewingMode as C}from"../../../ViewingMode.js";import{DragManipulation as k}from"./manipulations/DragManipulation.js";import{RotateManipulation as P}from"./manipulations/RotateManipulation.js";import{ScaleManipulation as S}from"./manipulations/ScaleManipulation.js";import{PreserveAspectRatio as T,SnapRotation as A}from"./manipulations/utils.js";import{InteractiveToolBase as M}from"../../../interactive/InteractiveToolBase.js";import{mediaKeys as x,KeyBindings as O}from"../../../interactive/keybindings.js";import{EditGeometry as D}from"../../../interactive/editGeometry/EditGeometry.js";import{EditGeometryOperations as U}from"../../../interactive/editGeometry/EditGeometryOperations.js";import{AccumulationBehavior as E}from"../../../interactive/editGeometry/interfaces.js";import{AccumulationType as L}from"../../../interactive/editGeometry/operations/UpdateVertices.js";import{calculateOrientedBounds as B}from"../../../interactive/editGeometry/support/editPlaneUtils.js";import{findFirstGraphicHit as H}from"../../../support/hitTestSelectUtils.js";import{createScreenPointFromEvent as I}from"../../../support/screenUtils.js";import V from"../../../../geometry/Polygon.js";import z from"../../../../geometry/Point.js";import N from"../../../../symbols/SimpleFillSymbol.js";import W from"../../../../symbols/SimpleMarkerSymbol.js";const q=80,F=10,J=30,K=[[1,1],[1,-1],[-1,-1],[-1,1],[1,0],[0,-1],[-1,0],[0,1]],Q=1,X=10;let Y=class extends M{constructor(e){super(e),this._initialControlPoints=null,this._initialGeometry=null,this._graphic=null,this._planeCache=w(),this._displayPlaneCache=w(),this._mainAxisCache=l(),this._rotationHandleCache=f(),this._cornerA=f(),this._cornerB=f(),this._cornerC=f(),this._cornerD=f(),this._avgAB=f(),this._avgBC=f(),this._avgCD=f(),this._avgDA=f(),this._preserveAspectRatio=new T,this._snapRotation=new A,this._graphicsLayer=new j({internal:!0,listMode:"hide",visible:!1}),this._sharedUndoStack=[],this._sharedRedoStack=[],this._isOpacityToggled=!1,this._factor=Q,this.preserveAspectRatio=null,this.snapRotation=null,this.type="transform"}initialize(){this._initialize()}destroy(){const{map:e}=this.view;this._dragManipulation.destroy(),this._rotateManipulation.destroy(),this._scaleManipulations.forEach((e=>e.destroy())),this._editGeometryOperations.destroy(),e.removeMany([this._graphicsLayer]),this._graphicsLayer.removeAll(),this._graphicsLayer=s(this._graphicsLayer),this._initialControlPoints=null,this._initialGeometry=null,this._graphic=null,this._preserveAspectRatio=null,this._snapRotation=null,this._planeCache=null,this._displayPlaneCache=null,this._rotationHandleCache=null,this._mainAxisCache=null,this._cornerA=null,this._cornerB=null,this._cornerC=null,this._cornerD=null,this._avgAB=null,this._avgBC=null,this._avgCD=null,this._avgDA=null,this._sharedUndoStack=null,this._sharedRedoStack=null}get _plane(){const e=this._graphic.geometry;if(null==e)return null;const t=this._editGeometryOperations.data,i=t.components[0].edges[0],s=c(this._mainAxisCache,i.leftVertex.pos,i.rightVertex.pos);h(s,s);let o=q*this.view.resolution;const a=this.view.spatialReference;return b(a,e.spatialReference)&&(o*=r(a)/r(e.spatialReference)),B(s,t,o,this._planeCache)}get _displayPlane(){const e=this._plane;if(!e)return null;const t=this._displayPlaneCache;R(e,t);const i=F*this.view.resolution;return d(t.basis1,t.basis1,1+i/m(t.basis1)),d(t.basis2,t.basis2,1+i/m(t.basis2)),t}get _backgroundGraphicGeometry(){const e=this._displayPlane;if(!e)return null;const t=this.view.spatialReference;return this._updateDisplayPlaneConrers(e),new V({spatialReference:t,rings:[[this._cornerA,this._cornerB,this._cornerC,this._cornerD,this._cornerA]]})}get _rotateGraphicGeometry(){const e=this._plane;if(!e)return null;const t=this._rotationHandleCache;return _(t,e.basis1),d(t,t,J*this.view.resolution),y(t,t,e.origin),y(t,t,e.basis1),new z({x:t[0],y:t[1],spatialReference:this.view.spatialReference})}get _scaleGraphicGeometries(){const e=this._displayPlane;if(!e)return[];const t=this.view.spatialReference;this._updateDisplayPlaneConrers(e);const{_cornerA:i,_cornerB:s,_cornerC:o,_cornerD:r}=this,a=g(this._avgAB,i,s,.5),n=g(this._avgBC,s,o,.5),c=g(this._avgCD,o,r,.5),h=g(this._avgDA,r,i,.5);return[new z({x:i[0],y:i[1],spatialReference:t}),new z({x:s[0],y:s[1],spatialReference:t}),new z({x:o[0],y:o[1],spatialReference:t}),new z({x:r[0],y:r[1],spatialReference:t}),new z({x:a[0],y:a[1],spatialReference:t}),new z({x:n[0],y:n[1],spatialReference:t}),new z({x:c[0],y:c[1],spatialReference:t}),new z({x:h[0],y:h[1],spatialReference:t})]}onActivate(){this.visible=!0}onDeactivate(){this.visible=!1}onShow(){this._graphicsLayer.visible=!0}onHide(){this._graphicsLayer.visible=!1}canUndo(){return this._editGeometryOperations.canUndo}canRedo(){return this._editGeometryOperations.canRedo}undo(){this._editGeometryOperations.undo(),this.updateGraphics()}redo(){this._editGeometryOperations.redo(),this.updateGraphics()}refresh(){const{view:e,target:t}=this,i="georeference"in t?t.georeference.coords:t.geometry,s=this._editGeometryOperations,o=s.data.components[0].vertices,r=D.fromGeometry(v(i,e.spatialReference),C.Local).components[0].vertices;o.forEach(((e,t)=>{s.setVertexPosition(e,r[t].pos)})),this.updateGraphics()}reset(){const{target:e}=this;if("georeference"in e){const t=e.georeference;"control-points"===t.type&&(t.controlPoints=this._initialControlPoints)}else e.geometry=this._initialGeometry;this.refresh(),this._sharedUndoStack.length=0,this._sharedRedoStack.length=0}updateGraphics(){const e=this._editGeometryOperations.data.geometry;if("georeference"in this.target){this.target.georeference.coords=e}this._graphic.geometry=e,this._backgroundGraphic.geometry=this._backgroundGraphicGeometry,this._rotateGraphic.geometry=this._rotateGraphicGeometry,this._scaleGraphicGeometries.forEach(((e,t)=>{this._scaleGraphics[t].geometry=e}))}setSharedUndoStack(e){this._sharedUndoStack=e}setSharedRedoStack(e){this._sharedRedoStack=e}async _initialize(){const{view:e,target:s}=this;if("georeference"in s){const e=s.georeference;this._graphic=new t({geometry:e.coords}),this._initialControlPoints="control-points"===e.type?e.controlPoints:null}else this._graphic=s,this._initialGeometry=s.geometry;e.map.addMany([this._graphicsLayer]),e.focus(),this.visible=!1,this.finishToolCreation(),await this._loadProjectionEngine(),this._editGeometryOperations=U.fromGeometry(v(this._graphic.geometry,e.spatialReference),C.Local),this._backgroundGraphic=new t({symbol:new N({color:"transparent",outline:{type:"simple-line",color:e.effectiveTheme.accentColor,width:2}}),geometry:this._backgroundGraphicGeometry}),this._rotateGraphic=new t({symbol:new W({color:i(e.effectiveTheme.accentColor),outline:{type:"simple-line",color:e.effectiveTheme.accentColor,width:1}}),geometry:this._rotateGraphicGeometry}),this._scaleGraphics=this._scaleGraphicGeometries.map((s=>new t({symbol:new W({size:6,style:"square",color:i(e.effectiveTheme.accentColor),outline:{type:"simple-line",color:e.effectiveTheme.accentColor,width:1}}),geometry:s}))),this._graphicsLayer.graphics.addMany([this._backgroundGraphic,this._rotateGraphic,...this._scaleGraphics]),this._dragManipulation=new k({tool:this,view:e,graphic:this._graphic}),this._rotateManipulation=new P({tool:this,view:e,graphic:this._rotateGraphic,snapRotation:this._snapRotation}),this._scaleManipulations=this._scaleGraphics.map(((t,i)=>new S({tool:this,view:e,graphic:t,direction:K[i],preserveAspectRatio:this._preserveAspectRatio}))),this.addHandles([this._dragManipulation.createDragPipeline(this._getInfo.bind(this),this._updateGraphics.bind(this)),this._rotateManipulation.createDragPipeline(this._getInfo.bind(this),this._updateGraphics.bind(this)),...this._scaleManipulations.map((e=>e.createDragPipeline(this._getInfo.bind(this),this._updateGraphics.bind(this)))),o((()=>this.view.scale),(()=>this.active?this.updateGraphics():null)),e.on("click",(async t=>{if(null!=e.activeTool&&e.activeTool!==this)return;const i=I(t),o=[];e.map.allLayers.forEach((e=>{"vector-tile"!==e.type&&"imagery"!==e.type||o.push(e)}));const r=await this.view.hitTest(i,{exclude:o}),a=r.results;if(0===a.length)e.activeTool=null;else{const t=H(r.results),i="georeference"in s,o=a.map((e=>"media"===e.type?e.element:null)).filter(Boolean),n=new Set([...this._graphicsLayer.graphics,i?null:s].filter(Boolean));i&&o.includes(s)||null!=t&&n.has(t.graphic)?null==e.activeTool&&(e.activeTool=this):e.activeTool=null}}))]);const r=e=>{this.addHandles(e.events.on("grab-changed",(e=>{"georeference"in s&&("start"===e.action?s.opacity*=.5:"end"===e.action&&(s.opacity*=2))})))};this._dragManipulation.forEachManipulator(r),this._rotateManipulation.forEachManipulator(r),this._scaleManipulations.forEach((e=>e.forEachManipulator(r)));const a=new O;a.addToggle(x.preserveAspectRatio,(()=>{null==this.preserveAspectRatio&&(this._preserveAspectRatio.enabled=!this._preserveAspectRatio.enabled)})),a.addToggle(x.rotateIncrements,(()=>{null==this.snapRotation&&(this._snapRotation.enabled=!this._snapRotation.enabled)})),a.add(x.toggleOpacity,(()=>{"georeference"in s&&(s.opacity*=this._isOpacityToggled?2:.5,this._isOpacityToggled=!this._isOpacityToggled)})),a.addToggle(x.factorModifier,(e=>this._factor="key-down"===e.type?X:Q)),a.add(x.scaleUp,(()=>this._scale(this._factor))),a.add(x.scaleDown,(()=>this._scale(-this._factor))),a.add(x.moveUp,(()=>this._move(0,this._factor))),a.add(x.moveDown,(()=>this._move(0,-this._factor))),a.add(x.moveLeft,(()=>this._move(-this._factor,0))),a.add(x.moveRight,(()=>this._move(this._factor,0))),this.addHandles([e.on("key-down",(t=>{e.activeTool===this&&a.dispatch(e.inputManager,t)})),e.on("key-up",(t=>{e.activeTool===this&&a.dispatch(e.inputManager,t)}))])}async _loadProjectionEngine(){const e=this._graphic.geometry;return G(e.spatialReference,this.view.spatialReference)}_updateDisplayPlaneConrers(e){const{basis1:t,basis2:i,origin:s}=e,o=this._cornerA;y(o,s,t),y(o,o,i);const r=this._cornerB;y(r,s,t),u(r,r,i);const a=this._cornerC;u(a,s,t),u(a,a,i);const n=this._cornerD;u(n,s,t),y(n,n,i)}_getInfo(){return{editGeometryOperations:this._editGeometryOperations,plane:this._plane,displayPlane:this._displayPlane}}_updateGraphics(e,t){"start"===e.action&&(this._sharedUndoStack.push({tool:this,operation:t}),this._sharedRedoStack.length=0),this.updateGraphics()}_scale(e){const t=this._editGeometryOperations,i=t.data.geometry.extent?.width,s=(i+e*this.view.resolution)/i,o=t.scale(this._plane.origin,p,s,s,E.NEW_STEP,L.REPLACE);this._sharedUndoStack.push({tool:this,operation:o}),this._sharedRedoStack.length=0,this.updateGraphics()}_move(e,t){const i=this._editGeometryOperations.move(e*this.view.resolution,t*this.view.resolution,0,E.NEW_STEP);this._sharedUndoStack.push({tool:this,operation:i}),this._sharedRedoStack.length=0,this.updateGraphics()}};e([a()],Y.prototype,"_plane",null),e([a()],Y.prototype,"_backgroundGraphicGeometry",null),e([a()],Y.prototype,"_rotateGraphicGeometry",null),e([a()],Y.prototype,"_scaleGraphicGeometries",null),e([a()],Y.prototype,"preserveAspectRatio",void 0),e([a()],Y.prototype,"snapRotation",void 0),e([a({constructOnly:!0,nonNullable:!0})],Y.prototype,"target",void 0),e([a({readOnly:!0})],Y.prototype,"type",void 0),e([a({constructOnly:!0})],Y.prototype,"view",void 0),Y=e([n("esri.views.2d.interactive.editingTools.TransformTool")],Y);export{Y as TransformTool};
5
+ import{_ as e}from"../../../../chunks/tslib.es6.js";import t from"../../../../Graphic.js";import{getContrast as i}from"../../../../core/colorUtils.js";import{destroyMaybe as s}from"../../../../core/maybe.js";import{watch as o}from"../../../../core/reactiveUtils.js";import{getMetersPerUnitForSR as r}from"../../../../core/unitUtils.js";import{property as a}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/has.js";import"../../../../core/Logger.js";import"../../../../core/RandomLCG.js";import{subclass as n}from"../../../../core/accessorSupport/decorators/subclass.js";import{subtract as c,normalize as h}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{create as l,UNIT_X as p}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{h as d,l as _,n as m,g as u,m as y,d as g}from"../../../../chunks/vec32.js";import{create as f}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import v from"../../../../geometry/Point.js";import G from"../../../../geometry/Polygon.js";import{project as w,initializeProjection as R}from"../../../../geometry/projection.js";import{d as b,a as j}from"../../../../chunks/boundedPlane.js";import{equals as C}from"../../../../geometry/support/spatialReferenceUtils.js";import k from"../../../../layers/GraphicsLayer.js";import P from"../../../../symbols/SimpleFillSymbol.js";import S from"../../../../symbols/SimpleMarkerSymbol.js";import{ViewingMode as T}from"../../../ViewingMode.js";import{DragManipulation as A}from"./manipulations/DragManipulation.js";import{RotateManipulation as M}from"./manipulations/RotateManipulation.js";import{ScaleManipulation as x}from"./manipulations/ScaleManipulation.js";import{PreserveAspectRatio as O,SnapRotation as D}from"./manipulations/utils.js";import{InteractiveToolBase as U}from"../../../interactive/InteractiveToolBase.js";import{mediaKeys as E,KeyBindings as L}from"../../../interactive/keybindings.js";import{EditGeometry as B}from"../../../interactive/editGeometry/EditGeometry.js";import{EditGeometryOperations as H}from"../../../interactive/editGeometry/EditGeometryOperations.js";import{AccumulationBehavior as I}from"../../../interactive/editGeometry/interfaces.js";import{AccumulationType as V}from"../../../interactive/editGeometry/operations/UpdateVertices.js";import{calculateOrientedBounds as z}from"../../../interactive/editGeometry/support/editPlaneUtils.js";import{findFirstGraphicHit as N}from"../../../support/hitTestSelectUtils.js";import{createScreenPointFromEvent as W}from"../../../support/screenUtils.js";const q=80,F=10,J=30,K=[[1,1],[1,-1],[-1,-1],[-1,1],[1,0],[0,-1],[-1,0],[0,1]],Q=1,X=10;let Y=class extends U{constructor(e){super(e),this._initialControlPoints=null,this._initialGeometry=null,this._graphic=null,this._planeCache=b(),this._displayPlaneCache=b(),this._mainAxisCache=l(),this._rotationHandleCache=f(),this._cornerA=f(),this._cornerB=f(),this._cornerC=f(),this._cornerD=f(),this._avgAB=f(),this._avgBC=f(),this._avgCD=f(),this._avgDA=f(),this._preserveAspectRatio=new O,this._snapRotation=new D,this._graphicsLayer=new k({internal:!0,listMode:"hide",visible:!1}),this._sharedUndoStack=[],this._sharedRedoStack=[],this._isOpacityToggled=!1,this._factor=Q,this.preserveAspectRatio=null,this.snapRotation=null,this.type="transform"}initialize(){this._initialize()}destroy(){const{map:e}=this.view;this._dragManipulation.destroy(),this._rotateManipulation.destroy(),this._scaleManipulations.forEach((e=>e.destroy())),this._editGeometryOperations.destroy(),e.removeMany([this._graphicsLayer]),this._graphicsLayer.removeAll(),this._graphicsLayer=s(this._graphicsLayer),this._initialControlPoints=null,this._initialGeometry=null,this._graphic=null,this._preserveAspectRatio=null,this._snapRotation=null,this._planeCache=null,this._displayPlaneCache=null,this._rotationHandleCache=null,this._mainAxisCache=null,this._cornerA=null,this._cornerB=null,this._cornerC=null,this._cornerD=null,this._avgAB=null,this._avgBC=null,this._avgCD=null,this._avgDA=null,this._sharedUndoStack=null,this._sharedRedoStack=null}get _plane(){const e=this._graphic.geometry;if(null==e)return null;const t=this._editGeometryOperations.data,i=t.components[0].edges[0],s=c(this._mainAxisCache,i.leftVertex.pos,i.rightVertex.pos);h(s,s);let o=q*this.view.resolution;const a=this.view.spatialReference;return C(a,e.spatialReference)&&(o*=r(a)/r(e.spatialReference)),z(s,t,o,this._planeCache)}get _displayPlane(){const e=this._plane;if(!e)return null;const t=this._displayPlaneCache;j(e,t);const i=F*this.view.resolution;return d(t.basis1,t.basis1,1+i/_(t.basis1)),d(t.basis2,t.basis2,1+i/_(t.basis2)),t}get _backgroundGraphicGeometry(){const e=this._displayPlane;if(!e)return null;const t=this.view.spatialReference;return this._updateDisplayPlaneConrers(e),new G({spatialReference:t,rings:[[this._cornerA,this._cornerB,this._cornerC,this._cornerD,this._cornerA]]})}get _rotateGraphicGeometry(){const e=this._plane;if(!e)return null;const t=this._rotationHandleCache;return m(t,e.basis1),d(t,t,J*this.view.resolution),u(t,t,e.origin),u(t,t,e.basis1),new v({x:t[0],y:t[1],spatialReference:this.view.spatialReference})}get _scaleGraphicGeometries(){const e=this._displayPlane;if(!e)return[];const t=this.view.spatialReference;this._updateDisplayPlaneConrers(e);const{_cornerA:i,_cornerB:s,_cornerC:o,_cornerD:r}=this,a=y(this._avgAB,i,s,.5),n=y(this._avgBC,s,o,.5),c=y(this._avgCD,o,r,.5),h=y(this._avgDA,r,i,.5);return[new v({x:i[0],y:i[1],spatialReference:t}),new v({x:s[0],y:s[1],spatialReference:t}),new v({x:o[0],y:o[1],spatialReference:t}),new v({x:r[0],y:r[1],spatialReference:t}),new v({x:a[0],y:a[1],spatialReference:t}),new v({x:n[0],y:n[1],spatialReference:t}),new v({x:c[0],y:c[1],spatialReference:t}),new v({x:h[0],y:h[1],spatialReference:t})]}onActivate(){this.visible=!0}onDeactivate(){this.visible=!1}onShow(){this._graphicsLayer.visible=!0}onHide(){this._graphicsLayer.visible=!1}canUndo(){return this._editGeometryOperations.canUndo}canRedo(){return this._editGeometryOperations.canRedo}undo(){this._editGeometryOperations.undo(),this.updateGraphics()}redo(){this._editGeometryOperations.redo(),this.updateGraphics()}refresh(){const{view:e,target:t}=this,i="georeference"in t?t.georeference.coords:t.geometry,s=this._editGeometryOperations,o=s.data.components[0].vertices,r=B.fromGeometry(w(i,e.spatialReference),T.Local).components[0].vertices;o.forEach(((e,t)=>{s.setVertexPosition(e,r[t].pos)})),this.updateGraphics()}reset(){const{target:e}=this;if("georeference"in e){const t=e.georeference;"control-points"===t.type&&(t.controlPoints=this._initialControlPoints)}else e.geometry=this._initialGeometry;this.refresh(),this._sharedUndoStack.length=0,this._sharedRedoStack.length=0}updateGraphics(){const e=this._editGeometryOperations.data.geometry;if("georeference"in this.target){this.target.georeference.coords=e}this._graphic.geometry=e,this._backgroundGraphic.geometry=this._backgroundGraphicGeometry,this._rotateGraphic.geometry=this._rotateGraphicGeometry,this._scaleGraphicGeometries.forEach(((e,t)=>{this._scaleGraphics[t].geometry=e}))}setSharedUndoStack(e){this._sharedUndoStack=e}setSharedRedoStack(e){this._sharedRedoStack=e}async _initialize(){const{view:e,target:s}=this;if("georeference"in s){const e=s.georeference;this._graphic=new t({geometry:e.coords}),this._initialControlPoints="control-points"===e.type?e.controlPoints:null}else this._graphic=s,this._initialGeometry=s.geometry;e.map.addMany([this._graphicsLayer]),e.focus(),this.visible=!1,this.finishToolCreation(),await this._loadProjectionEngine(),this._editGeometryOperations=H.fromGeometry(w(this._graphic.geometry,e.spatialReference),T.Local),this._backgroundGraphic=new t({symbol:new P({color:"transparent",outline:{type:"simple-line",color:e.effectiveTheme.accentColor,width:2}}),geometry:this._backgroundGraphicGeometry}),this._rotateGraphic=new t({symbol:new S({color:i(e.effectiveTheme.accentColor),outline:{type:"simple-line",color:e.effectiveTheme.accentColor,width:1}}),geometry:this._rotateGraphicGeometry}),this._scaleGraphics=this._scaleGraphicGeometries.map((s=>new t({symbol:new S({size:6,style:"square",color:i(e.effectiveTheme.accentColor),outline:{type:"simple-line",color:e.effectiveTheme.accentColor,width:1}}),geometry:s}))),this._graphicsLayer.graphics.addMany([this._backgroundGraphic,this._rotateGraphic,...this._scaleGraphics]),this._dragManipulation=new A({tool:this,view:e,graphic:this._graphic}),this._rotateManipulation=new M({tool:this,view:e,graphic:this._rotateGraphic,snapRotation:this._snapRotation}),this._scaleManipulations=this._scaleGraphics.map(((t,i)=>new x({tool:this,view:e,graphic:t,direction:K[i],preserveAspectRatio:this._preserveAspectRatio}))),this.addHandles([this._dragManipulation.createDragPipeline(this._getInfo.bind(this),this._updateGraphics.bind(this)),this._rotateManipulation.createDragPipeline(this._getInfo.bind(this),this._updateGraphics.bind(this)),...this._scaleManipulations.map((e=>e.createDragPipeline(this._getInfo.bind(this),this._updateGraphics.bind(this)))),o((()=>this.view.scale),(()=>this.active?this.updateGraphics():null)),e.on("click",(async t=>{if(null!=e.activeTool&&e.activeTool!==this)return;const i=W(t),o=[];e.map.allLayers.forEach((e=>{"vector-tile"!==e.type&&"imagery"!==e.type||o.push(e)}));const r=await this.view.hitTest(i,{exclude:o}),a=r.results;if(0===a.length)e.activeTool=null;else{const t=N(r.results),i="georeference"in s,o=a.map((e=>"media"===e.type?e.element:null)).filter(Boolean),n=new Set([...this._graphicsLayer.graphics,i?null:s].filter(Boolean));i&&o.includes(s)||null!=t&&n.has(t.graphic)?null==e.activeTool&&(e.activeTool=this):e.activeTool=null}}))]);const r=e=>{this.addHandles(e.events.on("grab-changed",(e=>{"georeference"in s&&("start"===e.action?s.opacity*=.5:"end"===e.action&&(s.opacity*=2))})))};this._dragManipulation.forEachManipulator(r),this._rotateManipulation.forEachManipulator(r),this._scaleManipulations.forEach((e=>e.forEachManipulator(r)));const a=new L;a.addToggle(E.preserveAspectRatio,(()=>{null==this.preserveAspectRatio&&(this._preserveAspectRatio.enabled=!this._preserveAspectRatio.enabled)})),a.addToggle(E.rotateIncrements,(()=>{null==this.snapRotation&&(this._snapRotation.enabled=!this._snapRotation.enabled)})),a.add(E.toggleOpacity,(()=>{"georeference"in s&&(s.opacity*=this._isOpacityToggled?2:.5,this._isOpacityToggled=!this._isOpacityToggled)})),a.addToggle(E.factorModifier,(e=>this._factor="key-down"===e.type?X:Q)),a.add(E.scaleUp,(()=>this._scale(this._factor))),a.add(E.scaleDown,(()=>this._scale(-this._factor))),a.add(E.moveUp,(()=>this._move(0,this._factor))),a.add(E.moveDown,(()=>this._move(0,-this._factor))),a.add(E.moveLeft,(()=>this._move(-this._factor,0))),a.add(E.moveRight,(()=>this._move(this._factor,0))),this.addHandles([e.on("key-down",(t=>{e.activeTool===this&&a.dispatch(e.inputManager,t)})),e.on("key-up",(t=>{e.activeTool===this&&a.dispatch(e.inputManager,t)}))])}async _loadProjectionEngine(){const e=this._graphic.geometry;return R(e.spatialReference,this.view.spatialReference)}_updateDisplayPlaneConrers(e){const{basis1:t,basis2:i,origin:s}=e,o=this._cornerA;u(o,s,t),u(o,o,i);const r=this._cornerB;u(r,s,t),g(r,r,i);const a=this._cornerC;g(a,s,t),g(a,a,i);const n=this._cornerD;g(n,s,t),u(n,n,i)}_getInfo(){return{editGeometryOperations:this._editGeometryOperations,plane:this._plane,displayPlane:this._displayPlane}}_updateGraphics(e,t){"start"===e.action&&(this._sharedUndoStack.push({tool:this,operation:t}),this._sharedRedoStack.length=0),this.updateGraphics()}_scale(e){const t=this._editGeometryOperations,i=t.data.geometry.extent?.width,s=(i+e*this.view.resolution)/i,o=t.scale(this._plane.origin,p,s,s,I.NEW_STEP,V.REPLACE);this._sharedUndoStack.push({tool:this,operation:o}),this._sharedRedoStack.length=0,this.updateGraphics()}_move(e,t){const i=this._editGeometryOperations.move(e*this.view.resolution,t*this.view.resolution,0,I.NEW_STEP);this._sharedUndoStack.push({tool:this,operation:i}),this._sharedRedoStack.length=0,this.updateGraphics()}};e([a()],Y.prototype,"_plane",null),e([a()],Y.prototype,"_backgroundGraphicGeometry",null),e([a()],Y.prototype,"_rotateGraphicGeometry",null),e([a()],Y.prototype,"_scaleGraphicGeometries",null),e([a()],Y.prototype,"preserveAspectRatio",void 0),e([a()],Y.prototype,"snapRotation",void 0),e([a({constructOnly:!0,nonNullable:!0})],Y.prototype,"target",void 0),e([a({readOnly:!0})],Y.prototype,"type",void 0),e([a({constructOnly:!0})],Y.prototype,"view",void 0),Y=e([n("esri.views.2d.interactive.editingTools.TransformTool")],Y);export{Y as TransformTool};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../../../../chunks/tslib.es6.js";import"../../../../../geometry.js";import t from"../../../../../Graphic.js";import{makeHandle as i}from"../../../../../core/handleUtils.js";import{destroyMaybe as r}from"../../../../../core/maybe.js";import{watch as s,initial as a}from"../../../../../core/reactiveUtils.js";import{property as l}from"../../../../../core/accessorSupport/decorators/property.js";import"../../../../../core/has.js";import"../../../../../core/Logger.js";import"../../../../../core/RandomLCG.js";import{subclass as n}from"../../../../../core/accessorSupport/decorators/subclass.js";import{SnappingVisualizer2D as o}from"../../SnappingVisualizer2D.js";import{outline as c,regularVertices as h,activeVertex as m}from"./symbols.js";import{DrawGraphicTool as p,geometryTypeToDrawOperationGeometryType as u}from"../../../../draw/DrawGraphicTool.js";import{DrawOperation as v}from"../../../../draw/DrawOperation.js";import{MapDrawSurface as y}from"../../../../draw/drawSurfaces.js";import d from"../../../../../geometry/Point.js";import g from"../../../../../geometry/Multipoint.js";let E=class extends p{constructor(e){super(e),this._visualElementGraphics={regularVertices:null,activeVertex:null,activeEdge:null},this.activeFillSymbol=null,this.type="draw-2d",this._visualElementSymbols={outline:e.activeLineSymbol??c,regularVertices:e.regularVerticesSymbol??h,activeVertex:e.activeVertexSymbol??m,fill:e.activeFillSymbol},e.activeVertexSymbol||this.addHandles(s((()=>this.view?.effectiveTheme?.accentColor),(e=>{if(!e)return;const t=this._visualElementSymbols.activeVertex.clone().set({color:e});this._visualElementGraphics.activeVertex?.set("symbol",t),this._visualElementSymbols={...this._visualElementSymbols,activeVertex:t}}),a))}normalizeCtorArgs(e){const t={...e};return delete t.activeFillSymbol,delete t.activeVertexSymbol,delete t.regularVerticesSymbol,delete t.activeLineSymbol,t}initializeGraphic(e){return null!=this._visualElementSymbols.fill&&(e.symbol=this._visualElementSymbols.fill),this.internalGraphicsLayer.graphics.sort(G),i()}makeDrawOperation(){const{defaultZ:e,hasZ:t,view:i}=this;return this._createOrUpdateGraphic(null),new v({view:i,manipulators:this.manipulators,geometryType:u(this.geometryType),drawingMode:this.mode,hasZ:t,defaultZ:e,snapToSceneEnabled:this.snapToScene,drawSurface:new y(i,t,e),hasM:!1,snappingManager:this.snappingManager,snappingVisualizer:new o(this.internalGraphicsLayer),graphic:this.graphic,cursor:this.cursor,constraintsEnabled:!0})}onActiveVertexChanged(e){if("point"===this.geometryType)return i();const[s,a]=e,l=new d({x:s,y:a,spatialReference:this.view.spatialReference});return null!=this._visualElementGraphics.activeVertex?(this._visualElementGraphics.activeVertex.geometry=l,i()):(this._visualElementGraphics.activeVertex=new t({geometry:l,symbol:this._visualElementSymbols.activeVertex,attributes:{displayOrder:2}}),this.internalGraphicsLayer.add(this._visualElementGraphics.activeVertex),this.internalGraphicsLayer.graphics.sort(G),i((()=>{null!=this._visualElementGraphics.activeVertex&&(this.internalGraphicsLayer.remove(this._visualElementGraphics.activeVertex),this._visualElementGraphics.activeVertex=r(this._visualElementGraphics.activeVertex))})))}onCursorEdgeChanged(e){return null!=this._visualElementGraphics.activeEdge?(this._visualElementGraphics.activeEdge.geometry=e,i()):(this._visualElementGraphics.activeEdge=new t({geometry:e,symbol:this._visualElementSymbols.outline,attributes:{displayOrder:0}}),this.internalGraphicsLayer.add(this._visualElementGraphics.activeEdge),this.internalGraphicsLayer.graphics.sort(G),i((()=>{null!=this._visualElementGraphics.activeEdge&&(this.internalGraphicsLayer.remove(this._visualElementGraphics.activeEdge),this._visualElementGraphics.activeEdge=r(this._visualElementGraphics.activeEdge))})))}onRegularVerticesChanged(e){const s=new g({points:e,spatialReference:this.view.spatialReference});return null!=this._visualElementGraphics.regularVertices?(this._visualElementGraphics.regularVertices.geometry=s,i()):(this._visualElementGraphics.regularVertices=new t({geometry:s,symbol:this._visualElementSymbols.regularVertices,attributes:{displayOrder:1}}),this.internalGraphicsLayer.add(this._visualElementGraphics.regularVertices),this.internalGraphicsLayer.graphics.sort(G),i((()=>{null!=this._visualElementGraphics.regularVertices&&(this.internalGraphicsLayer.remove(this._visualElementGraphics.regularVertices),this._visualElementGraphics.regularVertices=r(this._visualElementGraphics.regularVertices))})))}};function G(e,t){return(e.attributes?.displayOrder??-1/0)-(t.attributes?.displayOrder??-1/0)}e([l()],E.prototype,"activeFillSymbol",void 0),e([l({readOnly:!0})],E.prototype,"type",void 0),e([l({constructOnly:!0,nonNullable:!0})],E.prototype,"view",void 0),E=e([n("esri.views.2d.interactive.editingTools.draw.DrawGraphicTool2D")],E);export{E as DrawGraphicTool2D};
5
+ import{_ as e}from"../../../../../chunks/tslib.es6.js";import t from"../../../../../Graphic.js";import{makeHandle as i}from"../../../../../core/handleUtils.js";import{destroyMaybe as r}from"../../../../../core/maybe.js";import{watch as s,initial as a}from"../../../../../core/reactiveUtils.js";import{property as l}from"../../../../../core/accessorSupport/decorators/property.js";import"../../../../../core/has.js";import"../../../../../core/Logger.js";import"../../../../../core/RandomLCG.js";import{subclass as n}from"../../../../../core/accessorSupport/decorators/subclass.js";import o from"../../../../../geometry/Multipoint.js";import c from"../../../../../geometry/Point.js";import{SnappingVisualizer2D as h}from"../../SnappingVisualizer2D.js";import{outline as m,regularVertices as p,activeVertex as u}from"./symbols.js";import{DrawGraphicTool as v,geometryTypeToDrawOperationGeometryType as y}from"../../../../draw/DrawGraphicTool.js";import{DrawOperation as d}from"../../../../draw/DrawOperation.js";import{MapDrawSurface as g}from"../../../../draw/drawSurfaces.js";let E=class extends v{constructor(e){super(e),this._visualElementGraphics={regularVertices:null,activeVertex:null,activeEdge:null},this.activeFillSymbol=null,this.type="draw-2d",this._visualElementSymbols={outline:e.activeLineSymbol??m,regularVertices:e.regularVerticesSymbol??p,activeVertex:e.activeVertexSymbol??u,fill:e.activeFillSymbol},e.activeVertexSymbol||this.addHandles(s((()=>this.view?.effectiveTheme?.accentColor),(e=>{if(!e)return;const t=this._visualElementSymbols.activeVertex.clone().set({color:e});this._visualElementGraphics.activeVertex?.set("symbol",t),this._visualElementSymbols={...this._visualElementSymbols,activeVertex:t}}),a))}normalizeCtorArgs(e){const t={...e};return delete t.activeFillSymbol,delete t.activeVertexSymbol,delete t.regularVerticesSymbol,delete t.activeLineSymbol,t}initializeGraphic(e){return null!=this._visualElementSymbols.fill&&(e.symbol=this._visualElementSymbols.fill),this.internalGraphicsLayer.graphics.sort(G),i()}makeDrawOperation(){const{defaultZ:e,hasZ:t,view:i}=this;return this._createOrUpdateGraphic(null),new d({view:i,manipulators:this.manipulators,geometryType:y(this.geometryType),drawingMode:this.mode,hasZ:t,defaultZ:e,snapToSceneEnabled:this.snapToScene,drawSurface:new g(i,t,e),hasM:!1,snappingManager:this.snappingManager,snappingVisualizer:new h(this.internalGraphicsLayer),graphic:this.graphic,cursor:this.cursor,constraintsEnabled:!0})}onActiveVertexChanged(e){if("point"===this.geometryType)return i();const[s,a]=e,l=new c({x:s,y:a,spatialReference:this.view.spatialReference});return null!=this._visualElementGraphics.activeVertex?(this._visualElementGraphics.activeVertex.geometry=l,i()):(this._visualElementGraphics.activeVertex=new t({geometry:l,symbol:this._visualElementSymbols.activeVertex,attributes:{displayOrder:2}}),this.internalGraphicsLayer.add(this._visualElementGraphics.activeVertex),this.internalGraphicsLayer.graphics.sort(G),i((()=>{null!=this._visualElementGraphics.activeVertex&&(this.internalGraphicsLayer.remove(this._visualElementGraphics.activeVertex),this._visualElementGraphics.activeVertex=r(this._visualElementGraphics.activeVertex))})))}onCursorEdgeChanged(e){return null!=this._visualElementGraphics.activeEdge?(this._visualElementGraphics.activeEdge.geometry=e,i()):(this._visualElementGraphics.activeEdge=new t({geometry:e,symbol:this._visualElementSymbols.outline,attributes:{displayOrder:0}}),this.internalGraphicsLayer.add(this._visualElementGraphics.activeEdge),this.internalGraphicsLayer.graphics.sort(G),i((()=>{null!=this._visualElementGraphics.activeEdge&&(this.internalGraphicsLayer.remove(this._visualElementGraphics.activeEdge),this._visualElementGraphics.activeEdge=r(this._visualElementGraphics.activeEdge))})))}onRegularVerticesChanged(e){const s=new o({points:e,spatialReference:this.view.spatialReference});return null!=this._visualElementGraphics.regularVertices?(this._visualElementGraphics.regularVertices.geometry=s,i()):(this._visualElementGraphics.regularVertices=new t({geometry:s,symbol:this._visualElementSymbols.regularVertices,attributes:{displayOrder:1}}),this.internalGraphicsLayer.add(this._visualElementGraphics.regularVertices),this.internalGraphicsLayer.graphics.sort(G),i((()=>{null!=this._visualElementGraphics.regularVertices&&(this.internalGraphicsLayer.remove(this._visualElementGraphics.regularVertices),this._visualElementGraphics.regularVertices=r(this._visualElementGraphics.regularVertices))})))}};function G(e,t){return(e.attributes?.displayOrder??-1/0)-(t.attributes?.displayOrder??-1/0)}e([l()],E.prototype,"activeFillSymbol",void 0),e([l({readOnly:!0})],E.prototype,"type",void 0),e([l({constructOnly:!0,nonNullable:!0})],E.prototype,"view",void 0),E=e([n("esri.views.2d.interactive.editingTools.draw.DrawGraphicTool2D")],E);export{E as DrawGraphicTool2D};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import"../../../../../symbols.js";import e from"../../../../../symbols/CIMSymbol.js";import o from"../../../../../symbols/SimpleMarkerSymbol.js";const t=new e({data:{type:"CIMSymbolReference",symbol:{type:"CIMLineSymbol",symbolLayers:[{type:"CIMSolidStroke",effects:[{type:"CIMGeometricEffectDashes",dashTemplate:[3.75,3.75],lineDashEnding:"HalfPattern",controlPointEnding:"NoConstraint"}],enable:!0,capStyle:"Butt",joinStyle:"Round",miterLimit:10,width:1.6,color:[255,255,255,255]},{type:"CIMSolidStroke",enable:!0,capStyle:"Butt",joinStyle:"Round",miterLimit:10,width:2,color:[0,0,0,255]}]}}}),l=new o({style:"circle",size:6,color:[127,127,127,1],outline:{color:[50,50,50],width:1}}),i=new o({style:"circle",size:6,color:[255,127,0,1],outline:{color:[50,50,50],width:1}});export{i as activeVertex,t as outline,l as regularVertices};
5
+ import e from"../../../../../symbols/CIMSymbol.js";import o from"../../../../../symbols/SimpleMarkerSymbol.js";const t=new e({data:{type:"CIMSymbolReference",symbol:{type:"CIMLineSymbol",symbolLayers:[{type:"CIMSolidStroke",effects:[{type:"CIMGeometricEffectDashes",dashTemplate:[3.75,3.75],lineDashEnding:"HalfPattern",controlPointEnding:"NoConstraint"}],enable:!0,capStyle:"Butt",joinStyle:"Round",miterLimit:10,width:1.6,color:[255,255,255,255]},{type:"CIMSolidStroke",enable:!0,capStyle:"Butt",joinStyle:"Round",miterLimit:10,width:2,color:[0,0,0,255]}]}}}),l=new o({style:"circle",size:6,color:[127,127,127,1],outline:{color:[50,50,50],width:1}}),i=new o({style:"circle",size:6,color:[255,127,0,1],outline:{color:[50,50,50],width:1}});export{i as activeVertex,t as outline,l as regularVertices};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../../chunks/tslib.es6.js";import t from"../../../AggregateGraphic.js";import"../../../geometry.js";import r from"../../../Graphic.js";import i from"../../../TrackGraphic.js";import{isSome as s}from"../../../core/arrayUtils.js";import a from"../../../core/Collection.js";import{neverReached as o}from"../../../core/compilerUtils.js";import n from"../../../core/Error.js";import{makeHandle as u,handlesGroup as l}from"../../../core/handleUtils.js";import has from"../../../core/has.js";import h from"../../../core/Logger.js";import{destroyMaybe as c}from"../../../core/maybe.js";import{notDeepEqual as p}from"../../../core/object.js";import{createAbortError as d,createResolver as y,ignoreAbortErrors as g,throwIfNotAbortError as f,isAbortError as m}from"../../../core/promiseUtils.js";import{watch as w}from"../../../core/reactiveUtils.js";import{sqlAnd as _}from"../../../core/sql.js";import{property as v}from"../../../core/accessorSupport/decorators/property.js";import{subclass as b}from"../../../core/accessorSupport/decorators/subclass.js";import{UpdatingHandles as F}from"../../../core/support/UpdatingHandles.js";import A from"../../../layers/effects/FeatureEffectView.js";import{convertFromFeature as S}from"../../../layers/graphics/featureConversionUtils.js";import j from"../../../layers/support/FeatureFilter.js";import{checkCurrentUserSupport as I}from"../../../layers/support/featureLayerUtils.js";import{packFields as x}from"../../../layers/support/fieldUtils.js";import{getEffectiveLayerCapabilities as U}from"../../../layers/support/layerUtils.js";import{combineTimeExtent as E}from"../../../layers/support/timeSupport.js";import k from"../../../rest/support/AggregateFeatureSet.js";import C from"../../../rest/support/AttributeBinsFeatureSet.js";import R from"../../../rest/support/AttributeBinsQuery.js";import V from"../../../rest/support/FeatureSet.js";import q from"../../../rest/support/Query.js";import{LayerView2DMixin as Q}from"./LayerView2D.js";import{FeatureContainer as O}from"./features/FeatureContainer.js";import{createFeaturePipelineWorkerProxy as L}from"./features/FeaturePipelineWorkerProxy.js";import{FeatureSourceEventLog as T}from"./features/FeatureSourceEventLog.js";import{CatalogFootprintLayerAdapter as H}from"./features/layerAdapters/CatalogFootprintLayerAdapter.js";import{FeatureLayerAdapter as W}from"./features/layerAdapters/FeatureLayerAdapter.js";import{InMemoryLayerAdapter as P}from"./features/layerAdapters/InMemoryLayerAdapter.js";import{KnowledgeGraphSublayerAdapter as D}from"./features/layerAdapters/KnowledgeGraphSublayerAdapter.js";import{OGCFeatureLayerAdapter as M}from"./features/layerAdapters/OGCFeatureLayerAdapter.js";import{OrientedImageryLayerAdapter as N}from"./features/layerAdapters/OrientedImageryLayerAdapter.js";import{ParquetLayerAdapter as G}from"./features/layerAdapters/ParquetLayerAdapter.js";import{StreamLayerAdapter as J}from"./features/layerAdapters/StreamLayerAdapter.js";import{SubtypeGroupLayerAdapter as $}from"./features/layerAdapters/SubtypeGroupLayerAdapter.js";import{createComplexSymbolInstances as B}from"./features/schema/processor/symbols/ComplexSymbolSchema.js";import z from"./support/FeatureCommandQueue.js";import{handleNoEngineError as Z}from"./support/handleNoEngineError.js";import{HighlightCounter as K}from"./support/HighlightCounter.js";import{toJSONGeometryType as X}from"./support/util.js";import{FeatureTileSubscriptionManager as Y}from"../tiling/FeatureTileSubscriptionManager.js";import ee from"../../layers/FeatureLayerView.js";import te from"../../layers/LayerView.js";import re from"../../layers/RefreshableLayerView.js";import{defaultHighlightName as ie}from"../../support/HighlightDefaults.js";import se from"../../../geometry/Extent.js";function ae(e,t){const r=new Set;return e&&e.forEach((e=>r.add(e))),t&&t.forEach((e=>r.add(e))),r.has("*")?["*"]:Array.from(r)}const oe=4294967294;function ne(e,t){return l(e.map((e=>w((()=>{const t=e();return t&&"object"==typeof t?"getTime"in t&&"function"==typeof t.getTime?t.getTime():JSON.stringify(t):t}),t))))}let ue=class extends(ee(re(Q(te)))){constructor(){super(...arguments),this._commandsQueue=new z({process:e=>{switch(e.type){case"override":return this._doOverride(e.message);case"update":return this._doUpdate();case"highlight":return this._updateHighlights()}}}),this._visibilityOverrides=new Set,this._highlightCounter=new K,this._lastAvailableFields=[],this._lastTargetState=null,this.eventLog=new T,this._sourceRefreshVersion=1,this._displayRefreshVersion=1,this._pipelineUpdating=!1,this._editUpdatingHandles=new F,this._fields=null,this._sourceUpdating=!1,this.featureEffectView=new A}destroy(){this._workerProxy?.destroy(),this._workerAttached.reject(d()),this._commandsQueue.destroy()}initialize(){this._workerAttached=y(),g(this._workerAttached.promise),this.addResolvingPromise(this._initProxy()),this.featureEffectView.featureEffect=this.featureEffect,this.featureEffectView.endTransition()}async _initProxy(){const e=this.layer;if("isTable"in e&&e.isTable)throw new n("featurelayerview:table-not-supported","table feature layer can't be displayed",{layer:e});if("mesh"===e.geometryType)throw new n("featurelayerview:geometry-type-not-supported",`Geometry type of ${e.geometryType} is not supported`,{layer:e});if(("feature"===e.type||"subtype-group"===e.type)&&!1===U(e)?.operations.supportsQuery)throw new n("featurelayerview:query-not-supported","layer view requires a layer with query capability",{layer:e});this._workerProxy&&this._workerProxy.destroy();const t=this._createClientOptions();this._workerProxy=await L(t)}async _attachProxy(){const e={service:await this.layerAdapter.createServiceOptions(this.view),tileInfoJSON:this.view?.featuresTilingScheme?.tileInfo?.toJSON()};let t=[];Array.isArray(e.service.source)&&(t=e.service.source);try{await this._workerProxy.pipeline.onAttach(e,{transferList:t}),this._workerAttached.resolve()}catch(r){this._workerAttached.reject(d()),f(r)}}async _detachProxy(){return this._workerProxy.pipeline.onDetach()}async getWorker(){return await this._workerAttached.promise,this._workerProxy}get dataUpdating(){return this._sourceUpdating||this._editUpdatingHandles.updating}get hasAllFeatures(){return this.layer.visible&&!this.suspended&&this.eventLog.hasAllData&&this.eventLog.willQueryAllFeatures}get hasAllFeaturesInView(){const e=this.effectiveDisplayFilter?.where||null,t=!this.eventLog.willQueryAllFeatures&&null!=e&&"1=1"!==e;return this.layer.visible&&!this.suspended&&this.eventLog.hasAllData&&!t}get hasFullGeometries(){return this.layer.visible&&!this.suspended&&this.eventLog.hasAllData&&this.eventLog.willQueryFullResolutionGeometry}get labelingCollisionInfos(){const e=this.layerAdapter.getLabelingDeconflictionInfo(this.view),t=this.layer.geometryType,r=!this.suspended;return e.map((({vvEvaluators:e,deconflictionEnabled:i})=>({container:this.featureContainer,vvEvaluators:e,deconflictionEnabled:i,geometryType:t,visible:r})))}get layerAdapter(){switch(this.layer.type){case"feature":return"memory"===this.layer.source.type?new P(this.layer):new W(this.layer);case"geojson":case"csv":case"wfs":return new P(this.layer);case"parquet":return new G(this.layer);case"subtype-group":return new $(this.layer);case"ogc-feature":return new M(this.layer);case"stream":return new J(this.layer);case"oriented-imagery":return new N(this.layer);case"knowledge-graph-sublayer":return new D(this.layer);case"catalog-footprint":return new H(this.layer);default:o(this.layer)}return null}get timeExtent(){return E(this.layerAdapter.timeOptions,this.view?.timeExtent,this._get("timeExtent"))}getDisplayStatistics(e,t){return this.featureContainer?.getDisplayStatistics(e,t)}async queryHeatmapStatistics(e){return(await this.getWorker()).pipeline.queryHeatmapStatistics(e)}highlight(e,t){let i;e instanceof r?i=[e.getObjectId()]:"number"==typeof e||"string"==typeof e?i=[e]:a.isCollection(e)&&e.length>0?i=e.map((e=>e?.getObjectId())).toArray():Array.isArray(e)&&e.length>0&&(i="number"==typeof e[0]||"string"==typeof e[0]?e:e.map((e=>e?.getObjectId())));const o=i?.filter(s);if(!o?.length)return u();const n=t?.name??ie;return this._addHighlights(o,n),u((()=>this._removeHighlights(o,n)))}getHighlightIds(){return Array.from(this._highlightCounter.ids())}hasHighlight(){return!this._highlightCounter.empty}async hitTest(e,s){const a=await this.featureContainer.hitTest(s);if(0===a.length)return null;const o=await this.getWorker(),{features:n,aggregates:u,tracks:l}=await o.pipeline.getDisplayFeatures(a),h=this.featureContainer.getSortKeys(a),c=({displayId:e},{displayId:t})=>h.has(e)&&h.has(t)?h.get(e)-h.get(t):e-t;return n.sort(c).reverse(),u.sort(c).reverse(),[...u.map((r=>this._createGraphicHit(e,t.fromJSON(r)))),...l.map((t=>this._createGraphicHit(e,i.fromJSON(t)))),...n.map((t=>this._createGraphicHit(e,r.fromJSON(t))))]}async queryStatistics(){const e=await this.getWorker();return Z(e.pipeline.queryStatistics(),{featureCount:0,ringCount:0,vertexCount:0})}async querySummaryStatistics(e,t,r){const i=await this.getWorker(),s={...t,scale:this.view.scale},a=i.features.executeQueryForSummaryStatistics(this._cleanUpQuery(e),s,r);return Z(a,{})}async queryAggregateSummaryStatistics(e,t,r){const i={...t,scale:this.view.scale},s=(await this.getWorker()).aggregates.executeQueryForSummaryStatistics(this._cleanUpAggregateQuery(e),i,r);return Z(s,{})}async queryUniqueValues(e,t,r){const i=await this.getWorker(),s={...t,scale:this.view.scale},a=i.features.executeQueryForUniqueValues(this._cleanUpQuery(e),s,r);return Z(a,{uniqueValueInfos:[]})}async queryAggregateUniqueValues(e,t,r){const i=await this.getWorker(),s={...t,scale:this.view.scale},a=i.aggregates.executeQueryForUniqueValues(this._cleanUpAggregateQuery(e),s,r);return Z(a,{uniqueValueInfos:[]})}async queryClassBreaks(e,t,r){const i=await this.getWorker(),s={...t,scale:this.view.scale},a=i.features.executeQueryForClassBreaks(this._cleanUpQuery(e),s,r);return Z(a,{classBreakInfos:[]})}async queryAggregateClassBreaks(e,t,r){const i=await this.getWorker(),s={...t,scale:this.view.scale},a=i.aggregates.executeQueryForClassBreaks(this._cleanUpAggregateQuery(e),s,r);return Z(a,{classBreakInfos:[]})}async queryHistogram(e,t,r){const i=await this.getWorker(),s={...t,scale:this.view.scale},a=i.features.executeQueryForHistogram(this._cleanUpQuery(e),s,r);return Z(a,{bins:[],maxValue:null,minValue:null,normalizationTotal:null})}async queryAggregateHistogram(e,t,r){const i=await this.getWorker(),s={...t,scale:this.view.scale},a=i.aggregates.executeQueryForHistogram(this._cleanUpAggregateQuery(e),s,r);return Z(a,{bins:[],maxValue:null,minValue:null,normalizationTotal:null})}queryFeatures(e,t){return this.queryFeaturesJSON(e,t).then((e=>{const t=V.fromJSON(e);return t.features.forEach((e=>this._setLayersForFeature(e))),t}))}async queryVisibleFeatures(e,t){const r=(await this.getWorker()).pipeline.queryVisibleFeatures(this._cleanUpQuery(e),t),i=await Z(r,{features:[]}),s=V.fromJSON(i);return s.features.forEach((e=>this._setLayersForFeature(e))),s}async queryAggregates(e,t){const r=(await this.getWorker()).aggregates.executeQuery(this._cleanUpAggregateQuery(e),t),i=await Z(r,{features:[]}),s=k.fromJSON(i);return s.features.forEach((e=>this._setLayersForFeature(e))),s}async queryAggregateIds(e,t){const r=(await this.getWorker()).aggregates.executeQueryForIds(this._cleanUpAggregateQuery(e),t);return Z(r,[])}async queryAggregateCount(e,t){const r=(await this.getWorker()).aggregates.executeQueryForCount(this._cleanUpAggregateQuery(e),t);return Z(r,0)}async queryAggregateJSON(e,t){const r=(await this.getWorker()).aggregates.executeQuery(this._cleanUpAggregateQuery(e),t);return Z(r,{features:[]})}async queryFeaturesJSON(e,t){const r=(await this.getWorker()).features.executeQuery(this._cleanUpQuery(e),t);return Z(r,{features:[]})}async queryObjectIds(e,t){const r=(await this.getWorker()).features.executeQueryForIds(this._cleanUpQuery(e),t);return Z(r,[])}async queryFeatureCount(e,t){const r=(await this.getWorker()).features.executeQueryForCount(this._cleanUpQuery(e),t);return Z(r,0)}async queryExtent(e,t){const r=(await this.getWorker()).features.executeQueryForExtent(this._cleanUpQuery(e),t),i=await Z(r,{count:0,extent:null});return{count:i.count,extent:se.fromJSON(i.extent)}}async queryAttributeBins(e,t){const r=(await this.getWorker()).features.executeAttributeBinsQuery(this._cleanUpAttributeBinsQuery(e),t),i=await Z(r,{features:[]});return C.fromJSON(i)}async getSampleFeatures(e){return(await this.getWorker()).pipeline.getSampleFeatures(e)}setVisibility(e,t){t?this._visibilityOverrides.delete(e):this._visibilityOverrides.add(e),this._update()}update(e){if(!this._subscriptionManager)return;this.view.animation&&!this._lastTargetState&&(this._lastTargetState=e.state.clone()),!this.view.animation&&this._lastTargetState&&(this._lastTargetState=null);const t=this._subscriptionManager.update(e.targetState,this._lastTargetState);this.featureContainer.setVisibleTiles(t)}attach(){has("esri-2d-update-debug")&&console.debug("FeatureLayerView2D.attach"),g(this._updatingHandles.addPromise(this._workerAttached.promise)),g(this._attachProxy()),this.featureContainer=new O(this),this.container.addChild(this.featureContainer),this.view.timeline.record(`${this.layer.title} (FeatureLayer) Attach`),this._subscriptionManager=new Y({tileInfoView:this.view.featuresTilingScheme,updateSubscriptions:e=>{this.featureContainer.updateSubscriptions(e),g(this._updatingHandles.addPromise(this.getWorker().then((t=>t.pipeline.updateSubscriptions(e)))))},isDone:e=>this.featureContainer.isDone(e)}),this.requestUpdate(),this.addAttachHandles([ne([()=>this._displayRefreshVersion,()=>this.layer.displayFilterInfo,()=>this.timeExtent,()=>this.clips,()=>this.filter,()=>this.effectiveDisplayFilter?.where||null,()=>this.featureEffect,()=>this._sourceRefreshVersion,()=>this.view.timeZone,()=>this.view.timeExtent,...this.layerAdapter.getUpdateHashProperties(this.view)],(()=>this._update())),w((()=>this.updateSuspended),(e=>{e||(this._subscriptionManager.resume(),this.view.labelManager.requestUpdate())})),w((()=>this.visible),(e=>{this.view.labelManager.requestUpdate()}))]),this._update(),"stream"!==this.layer.type&&"parquet"!==this.layer.type&&"catalog-footprint"!==this.layer.type&&this.addAttachHandles(this.layer.on("edits",(e=>this._editUpdatingHandles.addPromise(this._edit(e)))))}detach(){has("esri-2d-update-debug")&&console.debug("FeatureLayerView2D.detach"),this._detachProxy(),this._fields=null,this.featureContainer.destroy(),this.featureContainer=null,this._commandsQueue.clear(),this.container.removeAllChildren(),this._subscriptionManager=c(this._subscriptionManager),this._workerProxy.pipeline.onDetach(),this._workerAttached=y(),g(this._workerAttached.promise),this._lastAvailableFields=[],this._lastSchema=null}viewChange(){this.requestUpdate()}moveEnd(){this.requestUpdate()}isUpdating(){const e="renderer"in this.layer&&null!=this.layer.renderer,t=this._commandsQueue.updateTracking.updating,r=null!=this._updatingRequiredFieldsPromise,i=this.featureContainer.updatingHandles.updating,s=this.updateRequested||e&&(t||r)||i||this._pipelineUpdating||this.dataUpdating;if(has("esri-2d-log-updating")){console.log(`Updating FLV2D (${this.layer.id}): ${s}\n -> updateRequested ${this.updateRequested}\n -> hasRenderer ${e}\n -> updatingRequiredFields ${r}\n -> hasPendingCommand ${t}\n -> dataUpdating ${this.dataUpdating}\n -> processing ${this._pipelineUpdating}\n -> updatingContainer ${i}\n`);for(const e of this.featureContainer.subscriptions())console.log(` -> Tile[${e.id}] Done: ${e.done}`)}return s}_createClientOptions(){const e=this;return{get container(){return e.featureContainer},setUpdating:e=>{this._set("_pipelineUpdating",e.pipeline),this._set("_sourceUpdating",e.source)},emitEvent:e=>{this.emit(e.name,e.event)},get eventLog(){return e.eventLog},fetch:async t=>{if(has("esri-2d-stabilize-glyphs")){const r=[];for(const i of t)r.push(await e.view.stage.painter.textureManager.rasterizeItem(i));return r}return Promise.all(t.map((t=>e.view.stage.painter.textureManager.rasterizeItem(t))))},fetchDictionary:e=>Promise.all(e.map((e=>this._fetchDictionaryRequest(e))))}}async _fetchDictionaryRequest(e){try{if("subtype-group"===this.layer.type)throw new Error("InternalError: SubtypeGroupLayer does not support dictionary renderer");const t=this.layer.renderer;if(!t||"dictionary"!==t.type)throw new Error("InternalError: Expected layer to have a DictionaryRenderer");const r=this._lastSchema.processor.mesh.factory.symbology;if("dictionary"!==r.type)throw new Error("InternalError: Expected schema to be of type 'dictionary'");const i={cimAnalyzer:this.view.stage.cimAnalyzer,cimResourceManager:this.view.stage.painter.textureManager.resourceManager,store:this.featureContainer.instanceStore,scaleExpression:r.scaleExpression};this._fields||(this._fields=this.layer.fields.map((e=>e.toJSON())));const s=r.visualVariableUniforms,a=await t.getSymbolAsync(e.feature,{fields:this._fields});if(!a||!a.data)return{type:"dictionary-response",meshes:[]};return{type:"dictionary-response",meshes:await B(a.data,{uniforms:s,path:"renderer",schemaOptions:i})}}catch(t){return{type:"dictionary-response",meshes:[]}}}_cleanUpQuery(e){const t=q.from(e)||this.createQuery();return t.outSpatialReference||(t.outSpatialReference=this.view.spatialReference),t.toJSON()}_cleanUpAttributeBinsQuery(e){const t=R.from(e);return t.outSpatialReference||(t.outSpatialReference=this.view.spatialReference),t.toJSON()}_cleanUpAggregateQuery(e){const t=q.from(e)||this.createAggregateQuery();t.outSpatialReference||(t.outSpatialReference=this.view.spatialReference);const r=t.objectIds??[];for(const i of t.aggregateIds??[])r.push(i);return t.objectIds=r,t.aggregateIds=[],t.toJSON()}async _update(){return this._commandsQueue.push({type:"update"})}async _edit(e){if(this.updateSuspended)return void this._subscriptionManager.suspend();const t=this.layer,r=e.historicMoment?.getTime()??null,i="layerId"in t&&e.editedFeatures?.find((e=>e.layerId===t.layerId));if(i&&this._canEditByFeature(i)){const{adds:e,deletes:t,updates:s}=i.editedFeatures,a=this.layer.objectIdField,o=s.map((e=>e.current)),n=t.map((e=>"attributes"in e?{objectId:a?e.attributes[a]:null}:e)),u=await this._resolveIdenifiers(n);return this.addOverrides({added:e,updated:o,removed:u,historicMoment:r,isWeak:!0})}const[s,a,o]=await Promise.all([this._resolveIdenifiers(e.addedFeatures),this._resolveIdenifiers(e.updatedFeatures),this._resolveIdenifiers(e.deletedFeatures)]),n=[...s,...a];return this._commandsQueue.push({type:"override-by-id",updates:n,removed:o,historicMoment:r,isWeak:!0}).catch(f)}async doRefresh(e){this.attached&&(this.updateSuspended&&e||(e?this.incrementSourceRefreshVersion():this.incrementDisplayRefreshVersion()))}incrementSourceRefreshVersion(){this._sourceRefreshVersion=(this._sourceRefreshVersion+1)%oe+1}incrementDisplayRefreshVersion(){this._displayRefreshVersion=(this._displayRefreshVersion+1)%oe+1}async _resolveIdenifiers(e){const t=[],r=[];for(const a of e)null==a.objectId||-1===a.objectId?null==a.globalId?h.getLogger(this).warn("mapview-apply-edits","A feature identifier must contain either a GlobalId or ObjectId. Ignoring",{identifier:a}):r.push(a.globalId):t.push(a.objectId);const i="globalIdField"in this.layer&&this.layer.globalIdField,s=i&&this.availableFields.includes(i);if(r.length&&!s)return h.getLogger(this).error(new n("mapview-apply-edits",`Editing the specified service requires the layer's globalIdField, ${i} to be included the layer's outFields for updates to be reflected on the map`)),t;if(r.length){const e=await this._workerProxy.pipeline.getObjectIdsFromGlobalIds(r);for(const r of e)t.push(r)}return t}async addOverrides(e){const t=!1,r=!1,i=X(this.layer.geometryType),s=this.layer.objectIdField,a=[];for(const o of e.added){const e=S(o,i,t,r,s);if(null==e.objectId)throw new n("featurelayerview:bad-override","Feature does not have an objectId",{feature:o});a.push(e)}for(const o of e.updated){const e=S(o,i,t,r,s);if(null==e.objectId)throw new n("featurelayerview:bad-override","Feature does not have an objectId",{feature:o});a.push(e)}for(const o of e.removed)if(null==o)throw new n("featurelayerview:bad-override","Tried to remove an invalid objectId",{objectId:o});return this._commandsQueue.push({type:"override",updates:a,removed:e.removed,release:[],isWeak:e.isWeak??!1,historicMoment:e.historicMoment??null})}async removeOverrides(e){for(const t of e)if(null==t)throw new n("featurelayerview:bad-override","Tried to remove an override for an invalid objectId",{objectId:t});return this._commandsQueue.push({type:"override",updates:[],removed:[],release:e,isWeak:!1,historicMoment:null})}_canEditByFeature(e){const{adds:t,updates:r}=e.editedFeatures;return t.every((e=>this.view.spatialReference.equals(e.geometry?.spatialReference)))&&r.every((e=>this.view.spatialReference.equals(e.current.geometry?.spatialReference)))}async _doUpdate(){"featureReduction"in this.layer&&this.layer.featureReduction&&this.layer.featureReduction!==this._lastFeatureReduction&&(this.layer.featureReduction=this.layer.featureReduction?.clone(),this._lastFeatureReduction=this.layer.featureReduction);try{if(await Promise.allSettled([this._updateRequiredFields(),I(this.layer)]),this.destroyed||!this.layerAdapter?.hasRequiredSupport||!this._subscriptionManager)return;const e=this.featureContainer.instanceStore;this.featureContainer.attributeView.lockTextureUploads(),e.updateStart();const t=this.featureEffect,r={store:e,cimAnalyzer:this.view.stage.cimAnalyzer,cimResourceManager:this.view.stage.painter.textureManager.resourceManager,scaleExpression:void 0},i=this._createViewSchemaConfig(),s={source:this.layerAdapter.createSourceSchema(i,this._sourceRefreshVersion),processor:await this.layerAdapter.createProcessorSchema(r,i,this._displayRefreshVersion)},a=p(this._lastSchema?.source.mutable,s.source.mutable)||p(this._lastSchema?.processor,s.processor);if(!a)return this.featureContainer.requestRender(),this.featureContainer.attributeView.unlockTextureUploads(),e.updateEnd(),void(this.featureEffectView.featureEffect=t);this._lastSchema=s,this._fields=null;const o=Math.round(performance.now());has("esri-2d-update-debug")&&console.debug(`Id[${this.layer.uid}] Version[${o}] FeatureLayerView2D._doUpdate`,{changes:a});const n=await this.getWorker();await n.pipeline.updateSchema(s,o),e.updateEnd(),this.featureEffectView.featureEffect=t,this.featureEffectView.endTransition(),this.featureContainer.restartAllAnimations(),this.featureContainer.attributeView.unlockTextureUploads(),this.featureContainer.trySwapRenderState(),this.featureContainer.requestRender(),has("esri-2d-update-debug")&&console.debug(`Version[${o}] FeatureLayerView2D.updateEnd`),this.requestUpdate()}catch(e){has("esri-2d-update-debug")&&console.error("Encountered an error during update",e)}}async _doOverride(e){const t=await this.getWorker();try{this.featureContainer.editStart(),await t.pipeline.onOverride(e),this.featureContainer.editEnd()}catch(r){m(r),0}}_getEffectiveAvailableFields(e){const t=ae(this._lastAvailableFields,e);return this._lastAvailableFields=t,x(this.layer.fieldsIndex,t)}_createViewSchemaConfig(){const e=[le(this.view,this.layerAdapter,this.timeExtent,this._visibilityOverrides,this.filter,this.effectiveDisplayFilter?.where),this.featureEffect?.filter?.toJSON()??null];return{availableFields:this._getEffectiveAvailableFields(this.availableFields),displayFilterEnabled:this.displayFilterEnabled,filters:e,scale:this.view.scale,timeZone:this.view.timeZone,timeExtent:this.view.timeExtent}}_addHighlights(e,t){this._highlightCounter.addGroup(e,t)&&this._commandsQueue.push({type:"highlight"})}_removeHighlights(e,t){this._highlightCounter.deleteGroup(e,t)&&this._commandsQueue.push({type:"highlight"})}async _updateHighlights(){const e=[];for(const i of this._highlightCounter.ids()){const t=this._highlightCounter.getHighlightNames(i),r=this._getHighlightBits(t);e.push({objectId:i,highlightFlags:r})}const t=await this.getWorker();if(this.destroyed)return;const r=t.pipeline.updateHighlight({highlights:e}).catch((e=>{m(e)||h.getLogger(this).error(e)}));this._updatingHandles.addPromise(r)}_setLayersForFeature(e){e.layer=e.sourceLayer=this.layer,this.layerAdapter.setGraphicOrigin&&this.layerAdapter.setGraphicOrigin(e)}_createGraphicHit(e,t){return this._setLayersForFeature(t),null!=t.geometry&&(t.geometry.spatialReference=this.view.spatialReference),{type:"graphic",graphic:t,layer:this.layer,mapPoint:e}}};function le(e,t,r,i,s,a){s&&(s=s.clone());const o=null!=s?s.timeExtent:null,n=null!=r&&null!=o?r.intersection(o):r||o;n&&(s??=new j,s.timeExtent=n),s=t.addFilters?.(s,e)??s,a&&(s??=new j,s.where=_(s.where,a));let u=s?.toJSON()??null;return i.size&&(u??=(new j).toJSON(),u.hiddenIds=Array.from(i)),u}e([v()],ue.prototype,"_commandsQueue",void 0),e([v()],ue.prototype,"_sourceRefreshVersion",void 0),e([v()],ue.prototype,"_displayRefreshVersion",void 0),e([v({readOnly:!0})],ue.prototype,"_pipelineUpdating",void 0),e([v()],ue.prototype,"_sourceUpdating",void 0),e([v({readOnly:!0})],ue.prototype,"dataUpdating",null),e([v({readOnly:!0})],ue.prototype,"hasAllFeatures",null),e([v({readOnly:!0})],ue.prototype,"hasAllFeaturesInView",null),e([v({readOnly:!0})],ue.prototype,"hasFullGeometries",null),e([v()],ue.prototype,"featureEffectView",void 0),e([v()],ue.prototype,"labelingCollisionInfos",null),e([v()],ue.prototype,"layerAdapter",null),e([v({readOnly:!0})],ue.prototype,"timeExtent",null),e([v()],ue.prototype,"updating",void 0),ue=e([b("esri.views.2d.layers.FeatureLayerView2D")],ue);const he=ue;export{he as default};
5
+ import{_ as e}from"../../../chunks/tslib.es6.js";import t from"../../../AggregateGraphic.js";import r from"../../../Graphic.js";import i from"../../../TrackGraphic.js";import{isSome as s}from"../../../core/arrayUtils.js";import a from"../../../core/Collection.js";import{neverReached as o}from"../../../core/compilerUtils.js";import n from"../../../core/Error.js";import{makeHandle as u,handlesGroup as l}from"../../../core/handleUtils.js";import has from"../../../core/has.js";import h from"../../../core/Logger.js";import{destroyMaybe as c}from"../../../core/maybe.js";import{notDeepEqual as p}from"../../../core/object.js";import{createAbortError as d,createResolver as y,ignoreAbortErrors as g,throwIfNotAbortError as f,isAbortError as m}from"../../../core/promiseUtils.js";import{watch as w}from"../../../core/reactiveUtils.js";import{sqlAnd as _}from"../../../core/sql.js";import{property as v}from"../../../core/accessorSupport/decorators/property.js";import{subclass as b}from"../../../core/accessorSupport/decorators/subclass.js";import{UpdatingHandles as F}from"../../../core/support/UpdatingHandles.js";import A from"../../../geometry/Extent.js";import S from"../../../layers/effects/FeatureEffectView.js";import{convertFromFeature as j}from"../../../layers/graphics/featureConversionUtils.js";import I from"../../../layers/support/FeatureFilter.js";import{checkCurrentUserSupport as x}from"../../../layers/support/featureLayerUtils.js";import{packFields as U}from"../../../layers/support/fieldUtils.js";import{getEffectiveLayerCapabilities as E}from"../../../layers/support/layerUtils.js";import{combineTimeExtent as k}from"../../../layers/support/timeSupport.js";import C from"../../../rest/support/AggregateFeatureSet.js";import R from"../../../rest/support/AttributeBinsFeatureSet.js";import V from"../../../rest/support/AttributeBinsQuery.js";import q from"../../../rest/support/FeatureSet.js";import Q from"../../../rest/support/Query.js";import{LayerView2DMixin as O}from"./LayerView2D.js";import{FeatureContainer as L}from"./features/FeatureContainer.js";import{createFeaturePipelineWorkerProxy as T}from"./features/FeaturePipelineWorkerProxy.js";import{FeatureSourceEventLog as H}from"./features/FeatureSourceEventLog.js";import{CatalogFootprintLayerAdapter as W}from"./features/layerAdapters/CatalogFootprintLayerAdapter.js";import{FeatureLayerAdapter as P}from"./features/layerAdapters/FeatureLayerAdapter.js";import{InMemoryLayerAdapter as D}from"./features/layerAdapters/InMemoryLayerAdapter.js";import{KnowledgeGraphSublayerAdapter as M}from"./features/layerAdapters/KnowledgeGraphSublayerAdapter.js";import{OGCFeatureLayerAdapter as N}from"./features/layerAdapters/OGCFeatureLayerAdapter.js";import{OrientedImageryLayerAdapter as G}from"./features/layerAdapters/OrientedImageryLayerAdapter.js";import{ParquetLayerAdapter as J}from"./features/layerAdapters/ParquetLayerAdapter.js";import{StreamLayerAdapter as $}from"./features/layerAdapters/StreamLayerAdapter.js";import{SubtypeGroupLayerAdapter as B}from"./features/layerAdapters/SubtypeGroupLayerAdapter.js";import{createComplexSymbolInstances as z}from"./features/schema/processor/symbols/ComplexSymbolSchema.js";import Z from"./support/FeatureCommandQueue.js";import{handleNoEngineError as K}from"./support/handleNoEngineError.js";import{HighlightCounter as X}from"./support/HighlightCounter.js";import{toJSONGeometryType as Y}from"./support/util.js";import{FeatureTileSubscriptionManager as ee}from"../tiling/FeatureTileSubscriptionManager.js";import te from"../../layers/FeatureLayerView.js";import re from"../../layers/LayerView.js";import ie from"../../layers/RefreshableLayerView.js";import{defaultHighlightName as se}from"../../support/HighlightDefaults.js";function ae(e,t){const r=new Set;return e&&e.forEach((e=>r.add(e))),t&&t.forEach((e=>r.add(e))),r.has("*")?["*"]:Array.from(r)}const oe=4294967294;function ne(e,t){return l(e.map((e=>w((()=>{const t=e();return t&&"object"==typeof t?"getTime"in t&&"function"==typeof t.getTime?t.getTime():JSON.stringify(t):t}),t))))}let ue=class extends(te(ie(O(re)))){constructor(){super(...arguments),this._commandsQueue=new Z({process:e=>{switch(e.type){case"override":return this._doOverride(e.message);case"update":return this._doUpdate();case"highlight":return this._updateHighlights()}}}),this._visibilityOverrides=new Set,this._highlightCounter=new X,this._lastAvailableFields=[],this._lastTargetState=null,this.eventLog=new H,this._sourceRefreshVersion=1,this._displayRefreshVersion=1,this._pipelineUpdating=!1,this._editUpdatingHandles=new F,this._fields=null,this._sourceUpdating=!1,this.featureEffectView=new S}destroy(){this._workerProxy?.destroy(),this._workerAttached.reject(d()),this._commandsQueue.destroy()}initialize(){this._workerAttached=y(),g(this._workerAttached.promise),this.addResolvingPromise(this._initProxy()),this.featureEffectView.featureEffect=this.featureEffect,this.featureEffectView.endTransition()}async _initProxy(){const e=this.layer;if("isTable"in e&&e.isTable)throw new n("featurelayerview:table-not-supported","table feature layer can't be displayed",{layer:e});if("mesh"===e.geometryType)throw new n("featurelayerview:geometry-type-not-supported",`Geometry type of ${e.geometryType} is not supported`,{layer:e});if(("feature"===e.type||"subtype-group"===e.type)&&!1===E(e)?.operations.supportsQuery)throw new n("featurelayerview:query-not-supported","layer view requires a layer with query capability",{layer:e});this._workerProxy&&this._workerProxy.destroy();const t=this._createClientOptions();this._workerProxy=await T(t)}async _attachProxy(){const e={service:await this.layerAdapter.createServiceOptions(this.view),tileInfoJSON:this.view?.featuresTilingScheme?.tileInfo?.toJSON()};let t=[];Array.isArray(e.service.source)&&(t=e.service.source);try{await this._workerProxy.pipeline.onAttach(e,{transferList:t}),this._workerAttached.resolve()}catch(r){this._workerAttached.reject(d()),f(r)}}async _detachProxy(){return this._workerProxy.pipeline.onDetach()}async getWorker(){return await this._workerAttached.promise,this._workerProxy}get dataUpdating(){return this._sourceUpdating||this._editUpdatingHandles.updating}get hasAllFeatures(){return this.layer.visible&&!this.suspended&&this.eventLog.hasAllData&&this.eventLog.willQueryAllFeatures}get hasAllFeaturesInView(){const e=this.effectiveDisplayFilter?.where||null,t=!this.eventLog.willQueryAllFeatures&&null!=e&&"1=1"!==e;return this.layer.visible&&!this.suspended&&this.eventLog.hasAllData&&!t}get hasFullGeometries(){return this.layer.visible&&!this.suspended&&this.eventLog.hasAllData&&this.eventLog.willQueryFullResolutionGeometry}get labelingCollisionInfos(){const e=this.layerAdapter.getLabelingDeconflictionInfo(this.view),t=this.layer.geometryType,r=!this.suspended;return e.map((({vvEvaluators:e,deconflictionEnabled:i})=>({container:this.featureContainer,vvEvaluators:e,deconflictionEnabled:i,geometryType:t,visible:r})))}get layerAdapter(){switch(this.layer.type){case"feature":return"memory"===this.layer.source.type?new D(this.layer):new P(this.layer);case"geojson":case"csv":case"wfs":return new D(this.layer);case"parquet":return new J(this.layer);case"subtype-group":return new B(this.layer);case"ogc-feature":return new N(this.layer);case"stream":return new $(this.layer);case"oriented-imagery":return new G(this.layer);case"knowledge-graph-sublayer":return new M(this.layer);case"catalog-footprint":return new W(this.layer);default:o(this.layer)}return null}get timeExtent(){return k(this.layerAdapter.timeOptions,this.view?.timeExtent,this._get("timeExtent"))}getDisplayStatistics(e,t){return this.featureContainer?.getDisplayStatistics(e,t)}async queryHeatmapStatistics(e){return(await this.getWorker()).pipeline.queryHeatmapStatistics(e)}highlight(e,t){let i;e instanceof r?i=[e.getObjectId()]:"number"==typeof e||"string"==typeof e?i=[e]:a.isCollection(e)&&e.length>0?i=e.map((e=>e?.getObjectId())).toArray():Array.isArray(e)&&e.length>0&&(i="number"==typeof e[0]||"string"==typeof e[0]?e:e.map((e=>e?.getObjectId())));const o=i?.filter(s);if(!o?.length)return u();const n=t?.name??se;return this._addHighlights(o,n),u((()=>this._removeHighlights(o,n)))}getHighlightIds(){return Array.from(this._highlightCounter.ids())}hasHighlight(){return!this._highlightCounter.empty}async hitTest(e,s){const a=await this.featureContainer.hitTest(s);if(0===a.length)return null;const o=await this.getWorker(),{features:n,aggregates:u,tracks:l}=await o.pipeline.getDisplayFeatures(a),h=this.featureContainer.getSortKeys(a),c=({displayId:e},{displayId:t})=>h.has(e)&&h.has(t)?h.get(e)-h.get(t):e-t;return n.sort(c).reverse(),u.sort(c).reverse(),[...u.map((r=>this._createGraphicHit(e,t.fromJSON(r)))),...l.map((t=>this._createGraphicHit(e,i.fromJSON(t)))),...n.map((t=>this._createGraphicHit(e,r.fromJSON(t))))]}async queryStatistics(){const e=await this.getWorker();return K(e.pipeline.queryStatistics(),{featureCount:0,ringCount:0,vertexCount:0})}async querySummaryStatistics(e,t,r){const i=await this.getWorker(),s={...t,scale:this.view.scale},a=i.features.executeQueryForSummaryStatistics(this._cleanUpQuery(e),s,r);return K(a,{})}async queryAggregateSummaryStatistics(e,t,r){const i={...t,scale:this.view.scale},s=(await this.getWorker()).aggregates.executeQueryForSummaryStatistics(this._cleanUpAggregateQuery(e),i,r);return K(s,{})}async queryUniqueValues(e,t,r){const i=await this.getWorker(),s={...t,scale:this.view.scale},a=i.features.executeQueryForUniqueValues(this._cleanUpQuery(e),s,r);return K(a,{uniqueValueInfos:[]})}async queryAggregateUniqueValues(e,t,r){const i=await this.getWorker(),s={...t,scale:this.view.scale},a=i.aggregates.executeQueryForUniqueValues(this._cleanUpAggregateQuery(e),s,r);return K(a,{uniqueValueInfos:[]})}async queryClassBreaks(e,t,r){const i=await this.getWorker(),s={...t,scale:this.view.scale},a=i.features.executeQueryForClassBreaks(this._cleanUpQuery(e),s,r);return K(a,{classBreakInfos:[]})}async queryAggregateClassBreaks(e,t,r){const i=await this.getWorker(),s={...t,scale:this.view.scale},a=i.aggregates.executeQueryForClassBreaks(this._cleanUpAggregateQuery(e),s,r);return K(a,{classBreakInfos:[]})}async queryHistogram(e,t,r){const i=await this.getWorker(),s={...t,scale:this.view.scale},a=i.features.executeQueryForHistogram(this._cleanUpQuery(e),s,r);return K(a,{bins:[],maxValue:null,minValue:null,normalizationTotal:null})}async queryAggregateHistogram(e,t,r){const i=await this.getWorker(),s={...t,scale:this.view.scale},a=i.aggregates.executeQueryForHistogram(this._cleanUpAggregateQuery(e),s,r);return K(a,{bins:[],maxValue:null,minValue:null,normalizationTotal:null})}queryFeatures(e,t){return this.queryFeaturesJSON(e,t).then((e=>{const t=q.fromJSON(e);return t.features.forEach((e=>this._setLayersForFeature(e))),t}))}async queryVisibleFeatures(e,t){const r=(await this.getWorker()).pipeline.queryVisibleFeatures(this._cleanUpQuery(e),t),i=await K(r,{features:[]}),s=q.fromJSON(i);return s.features.forEach((e=>this._setLayersForFeature(e))),s}async queryAggregates(e,t){const r=(await this.getWorker()).aggregates.executeQuery(this._cleanUpAggregateQuery(e),t),i=await K(r,{features:[]}),s=C.fromJSON(i);return s.features.forEach((e=>this._setLayersForFeature(e))),s}async queryAggregateIds(e,t){const r=(await this.getWorker()).aggregates.executeQueryForIds(this._cleanUpAggregateQuery(e),t);return K(r,[])}async queryAggregateCount(e,t){const r=(await this.getWorker()).aggregates.executeQueryForCount(this._cleanUpAggregateQuery(e),t);return K(r,0)}async queryAggregateJSON(e,t){const r=(await this.getWorker()).aggregates.executeQuery(this._cleanUpAggregateQuery(e),t);return K(r,{features:[]})}async queryFeaturesJSON(e,t){const r=(await this.getWorker()).features.executeQuery(this._cleanUpQuery(e),t);return K(r,{features:[]})}async queryObjectIds(e,t){const r=(await this.getWorker()).features.executeQueryForIds(this._cleanUpQuery(e),t);return K(r,[])}async queryFeatureCount(e,t){const r=(await this.getWorker()).features.executeQueryForCount(this._cleanUpQuery(e),t);return K(r,0)}async queryExtent(e,t){const r=(await this.getWorker()).features.executeQueryForExtent(this._cleanUpQuery(e),t),i=await K(r,{count:0,extent:null});return{count:i.count,extent:A.fromJSON(i.extent)}}async queryAttributeBins(e,t){const r=(await this.getWorker()).features.executeAttributeBinsQuery(this._cleanUpAttributeBinsQuery(e),t),i=await K(r,{features:[]});return R.fromJSON(i)}async getSampleFeatures(e){return(await this.getWorker()).pipeline.getSampleFeatures(e)}setVisibility(e,t){t?this._visibilityOverrides.delete(e):this._visibilityOverrides.add(e),this._update()}update(e){if(!this._subscriptionManager)return;this.view.animation&&!this._lastTargetState&&(this._lastTargetState=e.state.clone()),!this.view.animation&&this._lastTargetState&&(this._lastTargetState=null);const t=this._subscriptionManager.update(e.targetState,this._lastTargetState);this.featureContainer.setVisibleTiles(t)}attach(){has("esri-2d-update-debug")&&console.debug("FeatureLayerView2D.attach"),g(this._updatingHandles.addPromise(this._workerAttached.promise)),g(this._attachProxy()),this.featureContainer=new L(this),this.container.addChild(this.featureContainer),this.view.timeline.record(`${this.layer.title} (FeatureLayer) Attach`),this._subscriptionManager=new ee({tileInfoView:this.view.featuresTilingScheme,updateSubscriptions:e=>{this.featureContainer.updateSubscriptions(e),g(this._updatingHandles.addPromise(this.getWorker().then((t=>t.pipeline.updateSubscriptions(e)))))},isDone:e=>this.featureContainer.isDone(e)}),this.requestUpdate(),this.addAttachHandles([ne([()=>this._displayRefreshVersion,()=>this.layer.displayFilterInfo,()=>this.timeExtent,()=>this.clips,()=>this.filter,()=>this.effectiveDisplayFilter?.where||null,()=>this.featureEffect,()=>this._sourceRefreshVersion,()=>this.view.timeZone,()=>this.view.timeExtent,...this.layerAdapter.getUpdateHashProperties(this.view)],(()=>this._update())),w((()=>this.updateSuspended),(e=>{e||(this._subscriptionManager.resume(),this.view.labelManager.requestUpdate())})),w((()=>this.visible),(e=>{this.view.labelManager.requestUpdate()}))]),this._update(),"stream"!==this.layer.type&&"parquet"!==this.layer.type&&"catalog-footprint"!==this.layer.type&&this.addAttachHandles(this.layer.on("edits",(e=>this._editUpdatingHandles.addPromise(this._edit(e)))))}detach(){has("esri-2d-update-debug")&&console.debug("FeatureLayerView2D.detach"),this._detachProxy(),this._fields=null,this.featureContainer.destroy(),this.featureContainer=null,this._commandsQueue.clear(),this.container.removeAllChildren(),this._subscriptionManager=c(this._subscriptionManager),this._workerProxy.pipeline.onDetach(),this._workerAttached=y(),g(this._workerAttached.promise),this._lastAvailableFields=[],this._lastSchema=null}viewChange(){this.requestUpdate()}moveEnd(){this.requestUpdate()}isUpdating(){const e="renderer"in this.layer&&null!=this.layer.renderer,t=this._commandsQueue.updateTracking.updating,r=null!=this._updatingRequiredFieldsPromise,i=this.featureContainer.updatingHandles.updating,s=this.updateRequested||e&&(t||r)||i||this._pipelineUpdating||this.dataUpdating;if(has("esri-2d-log-updating")){console.log(`Updating FLV2D (${this.layer.id}): ${s}\n -> updateRequested ${this.updateRequested}\n -> hasRenderer ${e}\n -> updatingRequiredFields ${r}\n -> hasPendingCommand ${t}\n -> dataUpdating ${this.dataUpdating}\n -> processing ${this._pipelineUpdating}\n -> updatingContainer ${i}\n`);for(const e of this.featureContainer.subscriptions())console.log(` -> Tile[${e.id}] Done: ${e.done}`)}return s}_createClientOptions(){const e=this;return{get container(){return e.featureContainer},setUpdating:e=>{this._set("_pipelineUpdating",e.pipeline),this._set("_sourceUpdating",e.source)},emitEvent:e=>{this.emit(e.name,e.event)},get eventLog(){return e.eventLog},fetch:async t=>{if(has("esri-2d-stabilize-glyphs")){const r=[];for(const i of t)r.push(await e.view.stage.painter.textureManager.rasterizeItem(i));return r}return Promise.all(t.map((t=>e.view.stage.painter.textureManager.rasterizeItem(t))))},fetchDictionary:e=>Promise.all(e.map((e=>this._fetchDictionaryRequest(e))))}}async _fetchDictionaryRequest(e){try{if("subtype-group"===this.layer.type)throw new Error("InternalError: SubtypeGroupLayer does not support dictionary renderer");const t=this.layer.renderer;if(!t||"dictionary"!==t.type)throw new Error("InternalError: Expected layer to have a DictionaryRenderer");const r=this._lastSchema.processor.mesh.factory.symbology;if("dictionary"!==r.type)throw new Error("InternalError: Expected schema to be of type 'dictionary'");const i={cimAnalyzer:this.view.stage.cimAnalyzer,cimResourceManager:this.view.stage.painter.textureManager.resourceManager,store:this.featureContainer.instanceStore,scaleExpression:r.scaleExpression};this._fields||(this._fields=this.layer.fields.map((e=>e.toJSON())));const s=r.visualVariableUniforms,a=await t.getSymbolAsync(e.feature,{fields:this._fields});if(!a||!a.data)return{type:"dictionary-response",meshes:[]};return{type:"dictionary-response",meshes:await z(a.data,{uniforms:s,path:"renderer",schemaOptions:i})}}catch(t){return{type:"dictionary-response",meshes:[]}}}_cleanUpQuery(e){const t=Q.from(e)||this.createQuery();return t.outSpatialReference||(t.outSpatialReference=this.view.spatialReference),t.toJSON()}_cleanUpAttributeBinsQuery(e){const t=V.from(e);return t.outSpatialReference||(t.outSpatialReference=this.view.spatialReference),t.toJSON()}_cleanUpAggregateQuery(e){const t=Q.from(e)||this.createAggregateQuery();t.outSpatialReference||(t.outSpatialReference=this.view.spatialReference);const r=t.objectIds??[];for(const i of t.aggregateIds??[])r.push(i);return t.objectIds=r,t.aggregateIds=[],t.toJSON()}async _update(){return this._commandsQueue.push({type:"update"})}async _edit(e){if(this.updateSuspended)return void this._subscriptionManager.suspend();const t=this.layer,r=e.historicMoment?.getTime()??null,i="layerId"in t&&e.editedFeatures?.find((e=>e.layerId===t.layerId));if(i&&this._canEditByFeature(i)){const{adds:e,deletes:t,updates:s}=i.editedFeatures,a=this.layer.objectIdField,o=s.map((e=>e.current)),n=t.map((e=>"attributes"in e?{objectId:a?e.attributes[a]:null}:e)),u=await this._resolveIdenifiers(n);return this.addOverrides({added:e,updated:o,removed:u,historicMoment:r,isWeak:!0})}const[s,a,o]=await Promise.all([this._resolveIdenifiers(e.addedFeatures),this._resolveIdenifiers(e.updatedFeatures),this._resolveIdenifiers(e.deletedFeatures)]),n=[...s,...a];return this._commandsQueue.push({type:"override-by-id",updates:n,removed:o,historicMoment:r,isWeak:!0}).catch(f)}async doRefresh(e){this.attached&&(this.updateSuspended&&e||(e?this.incrementSourceRefreshVersion():this.incrementDisplayRefreshVersion()))}incrementSourceRefreshVersion(){this._sourceRefreshVersion=(this._sourceRefreshVersion+1)%oe+1}incrementDisplayRefreshVersion(){this._displayRefreshVersion=(this._displayRefreshVersion+1)%oe+1}async _resolveIdenifiers(e){const t=[],r=[];for(const a of e)null==a.objectId||-1===a.objectId?null==a.globalId?h.getLogger(this).warn("mapview-apply-edits","A feature identifier must contain either a GlobalId or ObjectId. Ignoring",{identifier:a}):r.push(a.globalId):t.push(a.objectId);const i="globalIdField"in this.layer&&this.layer.globalIdField,s=i&&this.availableFields.includes(i);if(r.length&&!s)return h.getLogger(this).error(new n("mapview-apply-edits",`Editing the specified service requires the layer's globalIdField, ${i} to be included the layer's outFields for updates to be reflected on the map`)),t;if(r.length){const e=await this._workerProxy.pipeline.getObjectIdsFromGlobalIds(r);for(const r of e)t.push(r)}return t}async addOverrides(e){const t=!1,r=!1,i=Y(this.layer.geometryType),s=this.layer.objectIdField,a=[];for(const o of e.added){const e=j(o,i,t,r,s);if(null==e.objectId)throw new n("featurelayerview:bad-override","Feature does not have an objectId",{feature:o});a.push(e)}for(const o of e.updated){const e=j(o,i,t,r,s);if(null==e.objectId)throw new n("featurelayerview:bad-override","Feature does not have an objectId",{feature:o});a.push(e)}for(const o of e.removed)if(null==o)throw new n("featurelayerview:bad-override","Tried to remove an invalid objectId",{objectId:o});return this._commandsQueue.push({type:"override",updates:a,removed:e.removed,release:[],isWeak:e.isWeak??!1,historicMoment:e.historicMoment??null})}async removeOverrides(e){for(const t of e)if(null==t)throw new n("featurelayerview:bad-override","Tried to remove an override for an invalid objectId",{objectId:t});return this._commandsQueue.push({type:"override",updates:[],removed:[],release:e,isWeak:!1,historicMoment:null})}_canEditByFeature(e){const{adds:t,updates:r}=e.editedFeatures;return t.every((e=>this.view.spatialReference.equals(e.geometry?.spatialReference)))&&r.every((e=>this.view.spatialReference.equals(e.current.geometry?.spatialReference)))}async _doUpdate(){"featureReduction"in this.layer&&this.layer.featureReduction&&this.layer.featureReduction!==this._lastFeatureReduction&&(this.layer.featureReduction=this.layer.featureReduction?.clone(),this._lastFeatureReduction=this.layer.featureReduction);try{if(await Promise.allSettled([this._updateRequiredFields(),x(this.layer)]),this.destroyed||!this.layerAdapter?.hasRequiredSupport||!this._subscriptionManager)return;const e=this.featureContainer.instanceStore;this.featureContainer.attributeView.lockTextureUploads(),e.updateStart();const t=this.featureEffect,r={store:e,cimAnalyzer:this.view.stage.cimAnalyzer,cimResourceManager:this.view.stage.painter.textureManager.resourceManager,scaleExpression:void 0},i=this._createViewSchemaConfig(),s={source:this.layerAdapter.createSourceSchema(i,this._sourceRefreshVersion),processor:await this.layerAdapter.createProcessorSchema(r,i,this._displayRefreshVersion)},a=p(this._lastSchema?.source.mutable,s.source.mutable)||p(this._lastSchema?.processor,s.processor);if(!a)return this.featureContainer.requestRender(),this.featureContainer.attributeView.unlockTextureUploads(),e.updateEnd(),void(this.featureEffectView.featureEffect=t);this._lastSchema=s,this._fields=null;const o=Math.round(performance.now());has("esri-2d-update-debug")&&console.debug(`Id[${this.layer.uid}] Version[${o}] FeatureLayerView2D._doUpdate`,{changes:a});const n=await this.getWorker();await n.pipeline.updateSchema(s,o),e.updateEnd(),this.featureEffectView.featureEffect=t,this.featureEffectView.endTransition(),this.featureContainer.restartAllAnimations(),this.featureContainer.attributeView.unlockTextureUploads(),this.featureContainer.trySwapRenderState(),this.featureContainer.requestRender(),has("esri-2d-update-debug")&&console.debug(`Version[${o}] FeatureLayerView2D.updateEnd`),this.requestUpdate()}catch(e){has("esri-2d-update-debug")&&console.error("Encountered an error during update",e)}}async _doOverride(e){const t=await this.getWorker();try{this.featureContainer.editStart(),await t.pipeline.onOverride(e),this.featureContainer.editEnd()}catch(r){m(r),0}}_getEffectiveAvailableFields(e){const t=ae(this._lastAvailableFields,e);return this._lastAvailableFields=t,U(this.layer.fieldsIndex,t)}_createViewSchemaConfig(){const e=[le(this.view,this.layerAdapter,this.timeExtent,this._visibilityOverrides,this.filter,this.effectiveDisplayFilter?.where),this.featureEffect?.filter?.toJSON()??null];return{availableFields:this._getEffectiveAvailableFields(this.availableFields),displayFilterEnabled:this.displayFilterEnabled,filters:e,scale:this.view.scale,timeZone:this.view.timeZone,timeExtent:this.view.timeExtent}}_addHighlights(e,t){this._highlightCounter.addGroup(e,t)&&this._commandsQueue.push({type:"highlight"})}_removeHighlights(e,t){this._highlightCounter.deleteGroup(e,t)&&this._commandsQueue.push({type:"highlight"})}async _updateHighlights(){const e=[];for(const i of this._highlightCounter.ids()){const t=this._highlightCounter.getHighlightNames(i),r=this._getHighlightBits(t);e.push({objectId:i,highlightFlags:r})}const t=await this.getWorker();if(this.destroyed)return;const r=t.pipeline.updateHighlight({highlights:e}).catch((e=>{m(e)||h.getLogger(this).error(e)}));this._updatingHandles.addPromise(r)}_setLayersForFeature(e){e.layer=e.sourceLayer=this.layer,this.layerAdapter.setGraphicOrigin&&this.layerAdapter.setGraphicOrigin(e)}_createGraphicHit(e,t){return this._setLayersForFeature(t),null!=t.geometry&&(t.geometry.spatialReference=this.view.spatialReference),{type:"graphic",graphic:t,layer:this.layer,mapPoint:e}}};function le(e,t,r,i,s,a){s&&(s=s.clone());const o=null!=s?s.timeExtent:null,n=null!=r&&null!=o?r.intersection(o):r||o;n&&(s??=new I,s.timeExtent=n),s=t.addFilters?.(s,e)??s,a&&(s??=new I,s.where=_(s.where,a));let u=s?.toJSON()??null;return i.size&&(u??=(new I).toJSON(),u.hiddenIds=Array.from(i)),u}e([v()],ue.prototype,"_commandsQueue",void 0),e([v()],ue.prototype,"_sourceRefreshVersion",void 0),e([v()],ue.prototype,"_displayRefreshVersion",void 0),e([v({readOnly:!0})],ue.prototype,"_pipelineUpdating",void 0),e([v()],ue.prototype,"_sourceUpdating",void 0),e([v({readOnly:!0})],ue.prototype,"dataUpdating",null),e([v({readOnly:!0})],ue.prototype,"hasAllFeatures",null),e([v({readOnly:!0})],ue.prototype,"hasAllFeaturesInView",null),e([v({readOnly:!0})],ue.prototype,"hasFullGeometries",null),e([v()],ue.prototype,"featureEffectView",void 0),e([v()],ue.prototype,"labelingCollisionInfos",null),e([v()],ue.prototype,"layerAdapter",null),e([v({readOnly:!0})],ue.prototype,"timeExtent",null),e([v()],ue.prototype,"updating",void 0),ue=e([b("esri.views.2d.layers.FeatureLayerView2D")],ue);const he=ue;export{he as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../../chunks/tslib.es6.js";import"../../../geometry.js";import"../../../Graphic.js";import"../../../renderers/ClassBreaksRenderer.js";import"../../../renderers/DictionaryRenderer.js";import"../../../renderers/DotDensityRenderer.js";import"../../../renderers/HeatmapRenderer.js";import"../../../renderers/PieChartRenderer.js";import"../../../renderers/Renderer.js";import"../../../renderers/SimpleRenderer.js";import"../../../renderers/UniqueValueRenderer.js";import"../../../renderers/support/jsonUtils.js";import t from"../../../core/Logger.js";import"../../../symbols.js";import i from"../../../core/Collection.js";import r from"../../../core/Error.js";import"../../../core/has.js";import{getOrCreateMapValue as s}from"../../../core/MapUtils.js";import{isAbortError as o}from"../../../core/promiseUtils.js";import{watch as n,on as l,syncAndInitial as m}from"../../../core/reactiveUtils.js";import{property as a}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/RandomLCG.js";import{subclass as p}from"../../../core/accessorSupport/decorators/subclass.js";import{create as c}from"../../../geometry/support/aaBoundingRect.js";import{ringsContainsCoords as h}from"../../../geometry/support/contains.js";import{extentIntersectsPolygon as d}from"../../../geometry/support/intersectsBase.js";import{MediaElementView as g}from"../../../layers/support/MediaElementView.js";import"../../../core/scheduling.js";import"../../../core/accessorSupport/tracking/Flags.js";import"../../../core/colorUtils.js";import"../../../config.js";import"../../../symbols/cim/defaultCIMValues.js";import"../../../symbols/cim/enums.js";import"../../../core/floatRGBA.js";import u from"../../../geometry/Extent.js";import"../../../geometry/Geometry.js";import"../../../geometry/Multipoint.js";import"../../../geometry/Point.js";import"../../../geometry/Polygon.js";import"../../../geometry/Polyline.js";import"../engine/webgl/definitions.js";import"../engine/webgl/animations/instructions.js";import"../../../symbols/Font.js";import"../../../core/mathUtils.js";import"../../../core/ObjectPool.js";import"../../../geometry/support/Axis.js";import"../../../geometry/support/spatialReferenceUtils.js";import"../../../geometry/support/TileClipper.js";import"../../../symbols/cim/effects/EffectAddControlPoints.js";import"../../../symbols/cim/effects/EffectArrow.js";import"../../../symbols/cim/effects/EffectBuffer.js";import"../../../symbols/cim/effects/EffectControlMeasureLine.js";import"../../../symbols/cim/effects/EffectCut.js";import"../../../symbols/cim/effects/EffectDashes.js";import"../../../symbols/cim/effects/EffectDonut.js";import"../../../symbols/cim/effects/EffectJog.js";import"../../../symbols/cim/effects/EffectMove.js";import"../../../symbols/cim/effects/EffectOffset.js";import"../../../symbols/cim/effects/EffectReverse.js";import"../../../symbols/cim/effects/EffectRotate.js";import"../../../symbols/cim/effects/EffectScale.js";import"../../../symbols/cim/effects/EffectWave.js";import"../../../symbols/cim/placements/PlacementAlongLineSameSize.js";import"../../../symbols/cim/placements/PlacementAtExtremities.js";import"../../../symbols/cim/placements/PlacementAtRatioPositions.js";import"../../../symbols/cim/placements/PlacementInsidePolygon.js";import"../../../symbols/cim/placements/PlacementOnLine.js";import"../../../symbols/cim/placements/PlacementOnVertices.js";import"../../../symbols/cim/placements/PlacementPolygonCenter.js";import"../../../core/libs/gl-matrix-2/factories/vec2f32.js";import"../engine/webgl/alignmentUtils.js";import"../../../symbols/support/defaults.js";import"../../../symbols/cim/OverrideHelper.js";import"../../../layers/effects/EffectView.js";import"../../../core/Evented.js";import"../engine/transitions/FadeTransition.js";import"../engine/webgl/enums.js";import"../../../core/libs/gl-matrix-2/factories/vec4f32.js";import"../../webgl/checkWebGLError.js";import"../../webgl/enums.js";import"../../webgl/FramebufferObject.js";import"../../webgl/GLObjectType.js";import"../../webgl/Texture.js";import"../engine/webgl/shaders/BackgroundPrograms.js";import"../engine/webgl/DefaultVertexAttributeLayouts.js";import"../engine/webgl/AFeatureTile.js";import"../engine/webgl/DisplayEntity.js";import"../engine/webgl/shaderGraph/techniques/featureTechniqueUtils.js";import"../engine/webgl/number.js";import"../engine/webgl/PooledUint32Array.js";import"../engine/webgl/shaders/TileInfoPrograms.js";import"../engine/vectorTiles/style/StyleDefinition.js";import"../engine/vectorTiles/enums.js";import"../engine/webgl/shaders/BitBlitPrograms.js";import"../../../request.js";import"../../../core/urlUtils.js";import"../../../core/pbf.js";import"../engine/webgl/shaders/StencilPrograms.js";import"../engine/webgl/shaderGraph/techniques/TechniqueType.js";import"../engine/webgl/shaderGraph/techniques/shaders/BlendShader.js";import"../engine/webgl/shaderGraph/techniques/shaders/OpacityShader.js";import"../engine/webgl/shaders/HighlightPrograms.js";import"../engine/webgl/meshing/SimpleMesh.js";import"../engine/webgl/Profiler.js";import"../engine/webgl/shaderGraph/techniques/TechniqueRegistry.js";import"../../../Color.js";import"../engine/webgl/shaderGraph/techniques/shaders/constants.js";import"../engine/webgl/shaderGraph/techniques/dotDensity/DotDensityMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/ComplexFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/ComplexOutlineFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/FillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/GradientFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/OutlineFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/PatternFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/PatternOutlineFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/heatmap/HeatmapMeshWriter.js";import"../../../geometry/support/aaBoundingBox.js";import"../engine/webgl/shaderGraph/techniques/text/TextMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/line/GradientStrokeMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/line/LineMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/line/TexturedLineMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/markers/MarkerMeshWriter.js";import"../../../arcade/ArcadeDate.js";import"../engine/webgl/shaderGraph/techniques/pieChart/PieChartMeshWriter.js";import"../../webgl/renderState.js";import"../../3d/webgl-engine/core/shaderModules/interfaces.js";import"../../webgl/testSVGPremultipliedAlpha.js";import"../LabelManager.js";import"./graphics/GraphicsView2D.js";import"../../../chunks/earcut.js";import"../../../core/libs/gl-matrix-2/factories/vec3f32.js";import"../../../geometry/support/normalizeUtilsCommon.js";import"../../../geometry/SpatialReference.js";import"../../../geometry/support/Ellipsoid.js";import"../../../kernel.js";import"./support/util.js";import"../navigation/MapViewNavigation.js";import"../../../core/asyncUtils.js";import"../../../core/support/UpdatingHandles.js";import"../engine/webgl/shaderGraph/techniques/shaders/MagnifierShader.js";import"../../../core/unitUtils.js";import"../../../geometry/ellipsoidUtils.js";import"../../../chunks/pe.js";import"../../../geometry/projection/projectors.js";import"../engine/webgl/shaderGraph/techniques/shaders/GridShader.js";import"../../../geometry/support/geodesicConstants.js";import"../tiling/TileInfoView.js";import"../tiling/TileKey.js";import f from"../tiling/TileQueue.js";import j from"../tiling/TileStrategy.js";import y from"../engine/webgl/Overlay.js";import b from"../engine/webgl/OverlayContainer.js";import{LayerView2DMixin as w}from"./LayerView2D.js";import _ from"../../layers/LayerView.js";import v from"../../layers/MediaLayerView.js";import{TaskPriority as E}from"../../support/Scheduler.js";let G=class extends(w(v(_))){constructor(){super(...arguments),this._overlayContainer=null,this._fetchQueue=null,this._tileStrategy=null,this._elementReferences=new Map,this._debugGraphicsView=null,this._interaction=null,this.layer=null,this.elements=new i}initialize(){this.addHandles([n((()=>[this.interactive,this.suspended]),(async()=>{if(this.interactive&&!this._interaction){const{MediaLayerInteraction:e}=await import("./support/MediaLayerInteraction.js");this._interaction=new e({view:this.view,layer:this.layer}),this.selectedElement!==this._interaction.selectedElement&&(this._interaction.selectedElement=this.selectedElement),this.interactionOptions!==this._interaction.options&&(this._interaction.options=this.interactionOptions)}this._interaction&&(this._interaction.enabled=!this.suspended&&this.interactive)}),m),n((()=>this.interactionOptions),(e=>{this._interaction&&(this._interaction.options=e)}),m),n((()=>this.selectedElement),(e=>{this._interaction&&(this._interaction.selectedElement=e)}),m)])}attach(){this.addAttachHandles([l((()=>this.layer.effectiveSource),"refresh",(()=>{this._tileStrategy.refresh((e=>this._updateTile(e))),this.requestUpdate()})),l((()=>this.layer.effectiveSource),"change",(({element:e})=>this._elementUpdateHandler(e)))]),this._overlayContainer=new b,this.container.addChild(this._overlayContainer),this._fetchQueue=new f({tileInfoView:this.view.featuresTilingScheme,concurrency:10,process:(e,t)=>this._queryElements(e,t),scheduler:this.scheduler,priority:E.MAPVIEW_FETCH_QUEUE}),this._tileStrategy=new j({cachePolicy:"purge",resampling:!0,acquireTile:e=>this._acquireTile(e),releaseTile:e=>this._releaseTile(e),tileInfoView:this.view.featuresTilingScheme}),this.requestUpdate()}detach(){this.elements.removeAll(),this._tileStrategy.destroy(),this._fetchQueue.destroy(),this._overlayContainer.removeAllChildren(),this.container.removeAllChildren(),this._elementReferences.clear(),this._debugGraphicsView?.destroy()}supportsSpatialReference(e){return!0}viewChange(){this.requestUpdate()}moveEnd(){this.requestUpdate()}update(e){this._tileStrategy.update(e),this._debugGraphicsView?.update(e)}async hitTest(e,t){const i=[],r=e.normalize(),s=[r.x,r.y];for(const{elementView:{normalizedCoords:o,element:n}}of this._elementReferences.values())null!=o&&h(o.rings,s)&&i.push({type:"media",element:n,layer:this.layer,mapPoint:e,sourcePoint:n.toSource(e)});return i.reverse()}canResume(){return null!=this.layer.source&&super.canResume()}async doRefresh(){this._fetchQueue.reset(),this._tileStrategy.refresh((e=>this._updateTile(e)))}_acquireTile(e){const t=new C(e.clone());return this._updateTile(t),t}_updateTile(e){this._updatingHandles.addPromise(this._fetchQueue.push(e.key).then((t=>{const[i,r]=e.setElements(t);this._referenceElements(e,i),this._dereferenceElements(e,r),this.requestUpdate()}),(e=>{o(e)||t.getLogger(this).error(e)})))}_releaseTile(e){this._fetchQueue.abort(e.key.id),e.elements&&this._dereferenceElements(e,e.elements),this.requestUpdate()}async _queryElements(e,t){const i=this.layer.effectiveSource;if(null==i)return[];this.view.featuresTilingScheme.getTileBounds(q,e,!0);const r=new u({xmin:q[0],ymin:q[1],xmax:q[2],ymax:q[3],spatialReference:this.view.spatialReference});return i.queryElements(r,t)}_referenceElements(e,t){if(null!=this.layer.source)for(const i of t)this._referenceElement(e,i)}_referenceElement(e,i){s(this._elementReferences,i.uid,(()=>{const e=new g({element:i,spatialReference:this.view.spatialReference}),s=new y(e);return this._overlayContainer.addChild(s),this.elements.add(i),this._updatingHandles.addPromise(i.load().catch((e=>{t.getLogger("esri.views.2d.layers.MediaLayerView2D").error(new r("element-load-error","Element cannot be displayed",{element:i,error:e}))}))),{debugGraphic:null,elementView:e,overlay:s,tiles:new Set}})).tiles.add(e)}_dereferenceElements(e,t){for(const i of t)this._dereferenceElement(e,i)}_dereferenceElement(e,t){const i=this._elementReferences.get(t.uid);i.tiles.delete(e),i.tiles.size||(this._overlayContainer.removeChild(i.overlay),i.overlay.destroy(),i.elementView.destroy(),this._elementReferences.delete(t.uid),this.elements.remove(t),this._debugGraphicsView?.graphics.remove(i.debugGraphic))}_elementUpdateHandler(e){let t=this._elementReferences.get(e.uid);if(t){const i=t.elementView.normalizedCoords;if(null==i)return this._overlayContainer.removeChild(t.overlay),t.overlay.destroy(),t.elementView.destroy(),this._elementReferences.delete(e.uid),this.elements.remove(e),void this._debugGraphicsView?.graphics.remove(t.debugGraphic);const r=[],s=[];for(const e of this._tileStrategy.tiles){const o=R(this.view.featuresTilingScheme,e,i);t.tiles.has(e)?o||s.push(e):o&&r.push(e)}for(const t of r)this._referenceElement(t,e);for(const t of s)this._dereferenceElement(t,e);return t=this._elementReferences.get(e.uid),void(t?.debugGraphic&&(t.debugGraphic.geometry=t.elementView.normalizedCoords,this._debugGraphicsView.graphicUpdateHandler({graphic:t.debugGraphic,property:"geometry"})))}const i=new g({element:e,spatialReference:this.view.spatialReference}).normalizedCoords;if(null!=i)for(const r of this._tileStrategy.tiles){R(this.view.featuresTilingScheme,r,i)&&this._referenceElement(r,e)}}};e([a()],G.prototype,"layer",void 0),e([a({readOnly:!0})],G.prototype,"elements",void 0),G=e([p("esri.views.2d.layers.MediaLayerView2D")],G);const q=c(),S={xmin:0,ymin:0,xmax:0,ymax:0};function R(e,t,i){return e.getTileBounds(q,t.key,!0),S.xmin=q[0],S.ymin=q[1],S.xmax=q[2],S.ymax=q[3],d(S,i)}class C{constructor(e){this.key=e,this.elements=null,this.isReady=!1,this.visible=!0}setElements(e){const t=[],i=new Set(this.elements);this.elements=e;for(const r of e)i.has(r)?i.delete(r):t.push(r);return this.isReady=!0,[t,Array.from(i)]}destroy(){}}const T=G;export{T as default};
5
+ import{_ as e}from"../../../chunks/tslib.es6.js";import"../../../Graphic.js";import t from"../../../core/Collection.js";import i from"../../../core/Error.js";import"../../../core/has.js";import s from"../../../core/Logger.js";import{getOrCreateMapValue as r}from"../../../core/MapUtils.js";import{isAbortError as o}from"../../../core/promiseUtils.js";import{watch as n,on as l,syncAndInitial as m}from"../../../core/reactiveUtils.js";import{property as a}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/RandomLCG.js";import{subclass as c}from"../../../core/accessorSupport/decorators/subclass.js";import p from"../../../geometry/Extent.js";import{create as h}from"../../../geometry/support/aaBoundingRect.js";import{ringsContainsCoords as d}from"../../../geometry/support/contains.js";import{extentIntersectsPolygon as g}from"../../../geometry/support/intersectsBase.js";import{MediaElementView as u}from"../../../layers/support/MediaElementView.js";import"../../../renderers/SimpleRenderer.js";import"../../../symbols/SimpleFillSymbol.js";import"../../../core/scheduling.js";import"../../../core/accessorSupport/tracking/Flags.js";import"../../../core/colorUtils.js";import"../../../config.js";import"../../../symbols/cim/defaultCIMValues.js";import"../../../symbols/cim/enums.js";import"../../../core/floatRGBA.js";import"../../../geometry/Geometry.js";import"../../../geometry/Multipoint.js";import"../../../geometry/Point.js";import"../../../geometry/Polygon.js";import"../../../geometry/Polyline.js";import"../engine/webgl/definitions.js";import"../engine/webgl/animations/instructions.js";import"../../../symbols/Font.js";import"../../../core/mathUtils.js";import"../../../core/ObjectPool.js";import"../../../geometry/support/Axis.js";import"../../../geometry/support/spatialReferenceUtils.js";import"../../../geometry/support/TileClipper.js";import"../../../symbols/cim/effects/EffectAddControlPoints.js";import"../../../symbols/cim/effects/EffectArrow.js";import"../../../symbols/cim/effects/EffectBuffer.js";import"../../../symbols/cim/effects/EffectControlMeasureLine.js";import"../../../symbols/cim/effects/EffectCut.js";import"../../../symbols/cim/effects/EffectDashes.js";import"../../../symbols/cim/effects/EffectDonut.js";import"../../../symbols/cim/effects/EffectJog.js";import"../../../symbols/cim/effects/EffectMove.js";import"../../../symbols/cim/effects/EffectOffset.js";import"../../../symbols/cim/effects/EffectReverse.js";import"../../../symbols/cim/effects/EffectRotate.js";import"../../../symbols/cim/effects/EffectScale.js";import"../../../symbols/cim/effects/EffectWave.js";import"../../../symbols/cim/placements/PlacementAlongLineSameSize.js";import"../../../symbols/cim/placements/PlacementAtExtremities.js";import"../../../symbols/cim/placements/PlacementAtRatioPositions.js";import"../../../symbols/cim/placements/PlacementInsidePolygon.js";import"../../../symbols/cim/placements/PlacementOnLine.js";import"../../../symbols/cim/placements/PlacementOnVertices.js";import"../../../symbols/cim/placements/PlacementPolygonCenter.js";import"../../../core/libs/gl-matrix-2/factories/vec2f32.js";import"../engine/webgl/alignmentUtils.js";import"../../../symbols/support/defaults.js";import"../../../symbols/cim/OverrideHelper.js";import"../../../layers/effects/EffectView.js";import"../../../core/Evented.js";import"../engine/transitions/FadeTransition.js";import"../engine/webgl/enums.js";import"../../../core/libs/gl-matrix-2/factories/vec4f32.js";import"../../webgl/checkWebGLError.js";import"../../webgl/enums.js";import"../../webgl/FramebufferObject.js";import"../../webgl/GLObjectType.js";import"../../webgl/Texture.js";import"../engine/webgl/shaders/BackgroundPrograms.js";import"../engine/webgl/DefaultVertexAttributeLayouts.js";import"../engine/webgl/AFeatureTile.js";import"../engine/webgl/DisplayEntity.js";import"../engine/webgl/shaderGraph/techniques/featureTechniqueUtils.js";import"../engine/webgl/number.js";import"../engine/webgl/PooledUint32Array.js";import"../engine/webgl/shaders/TileInfoPrograms.js";import"../engine/vectorTiles/style/StyleDefinition.js";import"../engine/vectorTiles/enums.js";import"../engine/webgl/shaders/BitBlitPrograms.js";import"../../../request.js";import"../../../core/urlUtils.js";import"../../../core/pbf.js";import"../engine/webgl/shaders/StencilPrograms.js";import"../engine/webgl/shaderGraph/techniques/TechniqueType.js";import"../engine/webgl/shaderGraph/techniques/shaders/BlendShader.js";import"../engine/webgl/shaderGraph/techniques/shaders/OpacityShader.js";import"../engine/webgl/shaders/HighlightPrograms.js";import"../engine/webgl/meshing/SimpleMesh.js";import"../engine/webgl/Profiler.js";import"../engine/webgl/shaderGraph/techniques/TechniqueRegistry.js";import"../../../Color.js";import"../engine/webgl/shaderGraph/techniques/shaders/constants.js";import"../engine/webgl/shaderGraph/techniques/dotDensity/DotDensityMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/ComplexFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/ComplexOutlineFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/FillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/GradientFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/OutlineFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/PatternFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/PatternOutlineFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/heatmap/HeatmapMeshWriter.js";import"../../../geometry/support/aaBoundingBox.js";import"../engine/webgl/shaderGraph/techniques/text/TextMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/line/GradientStrokeMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/line/LineMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/line/TexturedLineMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/markers/MarkerMeshWriter.js";import"../../../arcade/ArcadeDate.js";import"../../../geometry/SpatialReference.js";import"../engine/webgl/shaderGraph/techniques/pieChart/PieChartMeshWriter.js";import"../../webgl/renderState.js";import"../../3d/webgl-engine/core/shaderModules/interfaces.js";import"../../webgl/testSVGPremultipliedAlpha.js";import"../LabelManager.js";import"./graphics/GraphicsView2D.js";import"../../../chunks/earcut.js";import"../../../core/libs/gl-matrix-2/factories/vec3f32.js";import"../../../geometry/support/normalizeUtilsCommon.js";import"../../../geometry/support/Ellipsoid.js";import"../../../kernel.js";import"./support/util.js";import"../navigation/MapViewNavigation.js";import"../../../core/asyncUtils.js";import"../../../core/support/UpdatingHandles.js";import"../engine/webgl/shaderGraph/techniques/shaders/MagnifierShader.js";import"../../../core/unitUtils.js";import"../../../geometry/ellipsoidUtils.js";import"../../../chunks/pe.js";import"../../../geometry/projection/projectors.js";import"../engine/webgl/shaderGraph/techniques/shaders/GridShader.js";import"../../../geometry/support/geodesicConstants.js";import"../tiling/TileInfoView.js";import"../tiling/TileKey.js";import f from"../tiling/TileQueue.js";import y from"../tiling/TileStrategy.js";import j from"../engine/webgl/Overlay.js";import b from"../engine/webgl/OverlayContainer.js";import{LayerView2DMixin as w}from"./LayerView2D.js";import _ from"../../layers/LayerView.js";import v from"../../layers/MediaLayerView.js";import{TaskPriority as E}from"../../support/Scheduler.js";let G=class extends(w(v(_))){constructor(){super(...arguments),this._overlayContainer=null,this._fetchQueue=null,this._tileStrategy=null,this._elementReferences=new Map,this._debugGraphicsView=null,this._interaction=null,this.layer=null,this.elements=new t}initialize(){this.addHandles([n((()=>[this.interactive,this.suspended]),(async()=>{if(this.interactive&&!this._interaction){const{MediaLayerInteraction:e}=await import("./support/MediaLayerInteraction.js");this._interaction=new e({view:this.view,layer:this.layer}),this.selectedElement!==this._interaction.selectedElement&&(this._interaction.selectedElement=this.selectedElement),this.interactionOptions!==this._interaction.options&&(this._interaction.options=this.interactionOptions)}this._interaction&&(this._interaction.enabled=!this.suspended&&this.interactive)}),m),n((()=>this.interactionOptions),(e=>{this._interaction&&(this._interaction.options=e)}),m),n((()=>this.selectedElement),(e=>{this._interaction&&(this._interaction.selectedElement=e)}),m)])}attach(){this.addAttachHandles([l((()=>this.layer.effectiveSource),"refresh",(()=>{this._tileStrategy.refresh((e=>this._updateTile(e))),this.requestUpdate()})),l((()=>this.layer.effectiveSource),"change",(({element:e})=>this._elementUpdateHandler(e)))]),this._overlayContainer=new b,this.container.addChild(this._overlayContainer),this._fetchQueue=new f({tileInfoView:this.view.featuresTilingScheme,concurrency:10,process:(e,t)=>this._queryElements(e,t),scheduler:this.scheduler,priority:E.MAPVIEW_FETCH_QUEUE}),this._tileStrategy=new y({cachePolicy:"purge",resampling:!0,acquireTile:e=>this._acquireTile(e),releaseTile:e=>this._releaseTile(e),tileInfoView:this.view.featuresTilingScheme}),this.requestUpdate()}detach(){this.elements.removeAll(),this._tileStrategy.destroy(),this._fetchQueue.destroy(),this._overlayContainer.removeAllChildren(),this.container.removeAllChildren(),this._elementReferences.clear(),this._debugGraphicsView?.destroy()}supportsSpatialReference(e){return!0}viewChange(){this.requestUpdate()}moveEnd(){this.requestUpdate()}update(e){this._tileStrategy.update(e),this._debugGraphicsView?.update(e)}async hitTest(e,t){const i=[],s=e.normalize(),r=[s.x,s.y];for(const{elementView:{normalizedCoords:o,element:n}}of this._elementReferences.values())null!=o&&d(o.rings,r)&&i.push({type:"media",element:n,layer:this.layer,mapPoint:e,sourcePoint:n.toSource(e)});return i.reverse()}canResume(){return null!=this.layer.source&&super.canResume()}async doRefresh(){this._fetchQueue.reset(),this._tileStrategy.refresh((e=>this._updateTile(e)))}_acquireTile(e){const t=new C(e.clone());return this._updateTile(t),t}_updateTile(e){this._updatingHandles.addPromise(this._fetchQueue.push(e.key).then((t=>{const[i,s]=e.setElements(t);this._referenceElements(e,i),this._dereferenceElements(e,s),this.requestUpdate()}),(e=>{o(e)||s.getLogger(this).error(e)})))}_releaseTile(e){this._fetchQueue.abort(e.key.id),e.elements&&this._dereferenceElements(e,e.elements),this.requestUpdate()}async _queryElements(e,t){const i=this.layer.effectiveSource;if(null==i)return[];this.view.featuresTilingScheme.getTileBounds(S,e,!0);const s=new p({xmin:S[0],ymin:S[1],xmax:S[2],ymax:S[3],spatialReference:this.view.spatialReference});return i.queryElements(s,t)}_referenceElements(e,t){if(null!=this.layer.source)for(const i of t)this._referenceElement(e,i)}_referenceElement(e,t){r(this._elementReferences,t.uid,(()=>{const e=new u({element:t,spatialReference:this.view.spatialReference}),r=new j(e);return this._overlayContainer.addChild(r),this.elements.add(t),this._updatingHandles.addPromise(t.load().catch((e=>{s.getLogger("esri.views.2d.layers.MediaLayerView2D").error(new i("element-load-error","Element cannot be displayed",{element:t,error:e}))}))),{debugGraphic:null,elementView:e,overlay:r,tiles:new Set}})).tiles.add(e)}_dereferenceElements(e,t){for(const i of t)this._dereferenceElement(e,i)}_dereferenceElement(e,t){const i=this._elementReferences.get(t.uid);i.tiles.delete(e),i.tiles.size||(this._overlayContainer.removeChild(i.overlay),i.overlay.destroy(),i.elementView.destroy(),this._elementReferences.delete(t.uid),this.elements.remove(t),this._debugGraphicsView?.graphics.remove(i.debugGraphic))}_elementUpdateHandler(e){let t=this._elementReferences.get(e.uid);if(t){const i=t.elementView.normalizedCoords;if(null==i)return this._overlayContainer.removeChild(t.overlay),t.overlay.destroy(),t.elementView.destroy(),this._elementReferences.delete(e.uid),this.elements.remove(e),void this._debugGraphicsView?.graphics.remove(t.debugGraphic);const s=[],r=[];for(const e of this._tileStrategy.tiles){const o=T(this.view.featuresTilingScheme,e,i);t.tiles.has(e)?o||r.push(e):o&&s.push(e)}for(const t of s)this._referenceElement(t,e);for(const t of r)this._dereferenceElement(t,e);return t=this._elementReferences.get(e.uid),void(t?.debugGraphic&&(t.debugGraphic.geometry=t.elementView.normalizedCoords,this._debugGraphicsView.graphicUpdateHandler({graphic:t.debugGraphic,property:"geometry"})))}const i=new u({element:e,spatialReference:this.view.spatialReference}).normalizedCoords;if(null!=i)for(const s of this._tileStrategy.tiles){T(this.view.featuresTilingScheme,s,i)&&this._referenceElement(s,e)}}};e([a()],G.prototype,"layer",void 0),e([a({readOnly:!0})],G.prototype,"elements",void 0),G=e([c("esri.views.2d.layers.MediaLayerView2D")],G);const S=h(),q={xmin:0,ymin:0,xmax:0,ymax:0};function T(e,t,i){return e.getTileBounds(S,t.key,!0),q.xmin=S[0],q.ymin=S[1],q.xmax=S[2],q.ymax=S[3],g(q,i)}class C{constructor(e){this.key=e,this.elements=null,this.isReady=!1,this.visible=!0}setElements(e){const t=[],i=new Set(this.elements);this.elements=e;for(const s of e)i.has(s)?i.delete(s):t.push(s);return this.isReady=!0,[t,Array.from(i)]}destroy(){}}const M=G;export{M as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../../chunks/tslib.es6.js";import{makeHandle as i}from"../../../core/handleUtils.js";import t from"../../../core/Logger.js";import{isAbortError as s,waitTick as r}from"../../../core/promiseUtils.js";import{property as o}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/RandomLCG.js";import{subclass as l}from"../../../core/accessorSupport/decorators/subclass.js";import{equals as a}from"../../../geometry/support/spatialReferenceUtils.js";import{GraphicsCollection as h}from"../../../support/GraphicsCollection.js";import"../../../core/Error.js";import"../../../core/scheduling.js";import"../../../core/accessorSupport/tracking/Flags.js";import"../../../core/colorUtils.js";import"../../../config.js";import"../../../symbols/cim/defaultCIMValues.js";import"../../../symbols/cim/enums.js";import"../../../core/floatRGBA.js";import"../../../geometry/Extent.js";import"../../../geometry/Geometry.js";import"../../../geometry/Multipoint.js";import"../../../geometry/Point.js";import"../../../geometry/Polygon.js";import"../../../geometry/Polyline.js";import"../engine/webgl/definitions.js";import"../engine/webgl/animations/instructions.js";import"../../../core/mathUtils.js";import"../../../symbols/Font.js";import"../../../core/ObjectPool.js";import"../../../geometry/support/Axis.js";import"../../../geometry/support/TileClipper.js";import"../../../symbols/cim/effects/EffectAddControlPoints.js";import"../../../symbols/cim/effects/EffectArrow.js";import"../../../symbols/cim/effects/EffectBuffer.js";import"../../../symbols/cim/effects/EffectControlMeasureLine.js";import"../../../symbols/cim/effects/EffectCut.js";import"../../../symbols/cim/effects/EffectDashes.js";import"../../../symbols/cim/effects/EffectDonut.js";import"../../../symbols/cim/effects/EffectJog.js";import"../../../symbols/cim/effects/EffectMove.js";import"../../../symbols/cim/effects/EffectOffset.js";import"../../../symbols/cim/effects/EffectReverse.js";import"../../../symbols/cim/effects/EffectRotate.js";import"../../../symbols/cim/effects/EffectScale.js";import"../../../symbols/cim/effects/EffectWave.js";import"../../../symbols/cim/placements/PlacementAlongLineSameSize.js";import"../../../symbols/cim/placements/PlacementAtExtremities.js";import"../../../symbols/cim/placements/PlacementAtRatioPositions.js";import"../../../symbols/cim/placements/PlacementInsidePolygon.js";import"../../../symbols/cim/placements/PlacementOnLine.js";import"../../../symbols/cim/placements/PlacementOnVertices.js";import"../../../symbols/cim/placements/PlacementPolygonCenter.js";import"../../../core/libs/gl-matrix-2/factories/vec2f32.js";import"../engine/webgl/alignmentUtils.js";import"../../../symbols/support/defaults.js";import"../../../symbols/cim/OverrideHelper.js";import"../../../layers/effects/EffectView.js";import"../../../core/Evented.js";import"../engine/transitions/FadeTransition.js";import"../engine/webgl/enums.js";import"../../../core/libs/gl-matrix-2/factories/vec4f32.js";import"../../webgl/checkWebGLError.js";import"../../webgl/enums.js";import"../../webgl/FramebufferObject.js";import"../../webgl/GLObjectType.js";import"../../webgl/Texture.js";import"../engine/webgl/shaders/BackgroundPrograms.js";import"../engine/webgl/DefaultVertexAttributeLayouts.js";import"../engine/webgl/AFeatureTile.js";import"../engine/webgl/DisplayEntity.js";import"../engine/webgl/shaderGraph/techniques/featureTechniqueUtils.js";import"../engine/webgl/number.js";import"../engine/webgl/PooledUint32Array.js";import"../engine/webgl/shaders/TileInfoPrograms.js";import"../engine/vectorTiles/style/StyleDefinition.js";import"../engine/vectorTiles/enums.js";import"../engine/webgl/shaders/BitBlitPrograms.js";import"../../../request.js";import"../../../core/urlUtils.js";import"../../../core/pbf.js";import"../engine/webgl/shaders/StencilPrograms.js";import"../engine/webgl/shaderGraph/techniques/TechniqueType.js";import"../engine/webgl/shaderGraph/techniques/shaders/BlendShader.js";import"../engine/webgl/shaderGraph/techniques/shaders/OpacityShader.js";import"../engine/webgl/shaders/HighlightPrograms.js";import"../engine/webgl/meshing/SimpleMesh.js";import"../engine/webgl/Profiler.js";import"../engine/webgl/shaderGraph/techniques/TechniqueRegistry.js";import"../../../Color.js";import"../engine/webgl/shaderGraph/techniques/shaders/constants.js";import"../engine/webgl/shaderGraph/techniques/dotDensity/DotDensityMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/ComplexFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/ComplexOutlineFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/FillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/GradientFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/OutlineFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/PatternFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/PatternOutlineFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/heatmap/HeatmapMeshWriter.js";import"../../../geometry/support/aaBoundingBox.js";import"../engine/webgl/shaderGraph/techniques/text/TextMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/line/GradientStrokeMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/line/LineMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/line/TexturedLineMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/markers/MarkerMeshWriter.js";import"../../../geometry.js";import"../../../arcade/ArcadeDate.js";import"../engine/webgl/shaderGraph/techniques/pieChart/PieChartMeshWriter.js";import"../../webgl/renderState.js";import"../../3d/webgl-engine/core/shaderModules/interfaces.js";import"../../webgl/testSVGPremultipliedAlpha.js";import"../LabelManager.js";import n from"./graphics/GraphicsView2D.js";import"../../../core/asyncUtils.js";import"../../../core/Collection.js";import"../../../core/accessorSupport/watch.js";import"../../../core/accessorSupport/tracking/SimpleTrackingTarget.js";import"../../../chunks/earcut.js";import"../../../core/libs/gl-matrix-2/factories/vec3f32.js";import"../../../geometry/support/normalizeUtilsCommon.js";import"../../../geometry/SpatialReference.js";import"../../../geometry/support/Ellipsoid.js";import"../../../kernel.js";import"./support/util.js";import"../navigation/MapViewNavigation.js";import"../../../core/support/UpdatingHandles.js";import"../engine/webgl/shaderGraph/techniques/shaders/MagnifierShader.js";import"../../../core/unitUtils.js";import"../../../geometry/ellipsoidUtils.js";import"../../../chunks/pe.js";import"../../../geometry/projection/projectors.js";import"../engine/webgl/shaderGraph/techniques/shaders/GridShader.js";import"../../../geometry/support/geodesicConstants.js";import{BitmapTileLayerView2D as p}from"./BitmapTileLayerView2D.js";import{LayerView2DMixin as m}from"./LayerView2D.js";import c from"./graphics/HighlightGraphicContainer.js";import{createBlankImage as g,resampleImage as u}from"./support/imageUtils.js";import f from"../tiling/TileInfoView.js";import j from"../tiling/TileKey.js";import d from"../tiling/TileQueue.js";import y from"../tiling/TileStrategy.js";import w from"../../layers/LayerView.js";import b from"../../layers/RefreshableLayerView.js";import{isMapServiceLayerView as _,MapServiceLayerViewHelper as T}from"../../layers/support/MapServiceLayerViewHelper.js";import{createQueryGeometry as q}from"../../support/drapedUtils.js";import{TaskPriority as V}from"../../support/Scheduler.js";const G=[0,0];let I=class extends(b(p(m(w)))){constructor(){super(...arguments),this._fetchQueue=null,this._highlightGraphics=new h,this._highlightView=null,this._popupHighlightHelper=null,this._tileStrategy=null,this.layer=null}get resampling(){return!("resampling"in this.layer)||!1!==this.layer.resampling}get tilemapCache(){return"tilemapCache"in this.layer?this.layer.tilemapCache:null}update(e){this._fetchQueue.pause(),this._fetchQueue.state=e.state,this._tileStrategy.update(e),this._fetchQueue.resume(),this._highlightView?.processUpdate(e)}attach(){const e="tileServers"in this.layer?this.layer.tileServers:null,i=this.tilemapCache;if(this._tileInfoView=new f(this.layer.tileInfo,this.layer.fullExtent,i?.effectiveMinLOD,i?.effectiveMaxLOD),this._fetchQueue=new d({tileInfoView:this._tileInfoView,concurrency:e&&10*e.length||10,process:(e,i)=>this.fetchTile(e,i),scheduler:this.scheduler,priority:V.MAPVIEW_FETCH_QUEUE}),this._tileStrategy=new y({cachePolicy:"keep",resampling:this.resampling,acquireTile:e=>this.acquireTile(e),releaseTile:e=>this.releaseTile(e),tileInfoView:this._tileInfoView}),_(this,this.layer)){const e=this._highlightView=new n({view:this.view,graphics:this._highlightGraphics,requestUpdateCallback:()=>this.requestUpdate(),container:new c(this.view.featuresTilingScheme),defaultPointSymbolEnabled:!1});this.container.addChild(this._highlightView.container),this._popupHighlightHelper=new T({createFetchPopupFeaturesQueryGeometry:(e,i)=>q(e,i,this.view),highlightGraphics:this._highlightGraphics,highlightGraphicUpdated:(i,t)=>{e.graphicUpdateHandler({graphic:i,property:t})},layerView:this,updatingHandles:this._updatingHandles})}this.requestUpdate(),this.addAttachHandles(this._updatingHandles.add((()=>this.resampling),(()=>{this.doRefresh()}))),super.attach()}detach(){super.detach(),this._tileStrategy.destroy(),this._fetchQueue.clear(),this.container.removeAllChildren(),this._popupHighlightHelper?.destroy(),this._highlightView?.destroy(),this._fetchQueue=this._tileStrategy=this._tileInfoView=this._popupHighlightHelper=null}async fetchPopupFeaturesAtLocation(e,i){return this._popupHighlightHelper?this._popupHighlightHelper.fetchPopupFeaturesAtLocation(e,i):[]}highlight(e){return this._popupHighlightHelper?this._popupHighlightHelper.highlight(e):i()}viewChange(){this.requestUpdate()}moveEnd(){this.requestUpdate()}supportsSpatialReference(e){return a(this.layer.tileInfo?.spatialReference,e)}async doRefresh(){if(this.attached){if(this.suspended)return this._tileStrategy.clear(),void this.requestUpdate();this._fetchQueue.reset(),this._tileStrategy.refresh((e=>this._updatingHandles.addPromise(this._enqueueTileFetch(e))))}}acquireTile(e){const i=this._bitmapView.createTile(e),t=i.bitmap;return[t.x,t.y]=this._tileInfoView.getTileCoords(G,i.key),t.resolution=this._tileInfoView.getTileResolution(i.key),[t.width,t.height]=this._tileInfoView.tileInfo.size,this._updatingHandles.addPromise(this._enqueueTileFetch(i)),this._bitmapView.addChild(i),this.requestUpdate(),i}releaseTile(e){this._fetchQueue.abort(e.key.id),this._bitmapView.removeChild(e),e.once("detach",(()=>e.destroy())),this.requestUpdate()}async fetchTile(e,i={}){return this.tilemapCache?this._fetchTileWithTilemapCache(e,i):this._fetchTileWithoutTilemapCache(e,i)}async _fetchTileWithoutTilemapCache(e,i={}){const{signal:t,resamplingLevel:r=0}=i;try{return await this._fetchImage(e,t)}catch(o){if(s(o))throw o;if(!this.resampling)return g(this._tileInfoView.tileInfo.size);if(r<3){const t=this._tileInfoView.getTileParentId(e.id);if(t){const s=new j(t),o=await this._fetchTileWithoutTilemapCache(s,{...i,resamplingLevel:r+1});return u(this._tileInfoView,o,s,e)}}return g(this._tileInfoView.tileInfo.size)}}async _fetchTileWithTilemapCache(e,i={}){const t=this.tilemapCache,{signal:o,resamplingLevel:l=0}=i,a=new j(0,0,0,0);let h,n=null;try{if(n=await t.fetchAvailabilityUpsample(e.level,e.row,e.col,a,{signal:o}),!this.resampling&&a.level!==e.level)return await r(i),g(this._tileInfoView.tileInfo.size);h=await this._fetchImage(a,o)}catch(p){if(s(p))throw p;if(this.resampling&&"unknown"===n&&l<3){const t=this._tileInfoView.getTileParentId(e.id);if(t){a.set(t);try{h=await this._fetchTileWithTilemapCache(a,{...i,resamplingLevel:l+1})}catch{}}}}return h?this.resampling?u(this._tileInfoView,h,a,e):h:g(this._tileInfoView.tileInfo.size)}async _enqueueTileFetch(e){if(!this._fetchQueue.has(e.key.id)){try{const i=await this._fetchQueue.push(e.key);e.bitmap.source=i,e.bitmap.width=this._tileInfoView.tileInfo.size[0],e.bitmap.height=this._tileInfoView.tileInfo.size[1],e.once("attach",(()=>this.requestUpdate()))}catch(i){s(i)||t.getLogger(this).error(i)}this.requestUpdate()}}async _fetchImage(e,i){return this.layer.fetchImageBitmapTile(e.level,e.row,e.col,{signal:i})}};e([o()],I.prototype,"resampling",null),e([o()],I.prototype,"tilemapCache",null),I=e([l("esri.views.2d.layers.TileLayerView2D")],I);const C=I;export{C as default};
5
+ import{_ as e}from"../../../chunks/tslib.es6.js";import{makeHandle as i}from"../../../core/handleUtils.js";import t from"../../../core/Logger.js";import{isAbortError as s,waitTick as r}from"../../../core/promiseUtils.js";import{property as o}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/RandomLCG.js";import{subclass as l}from"../../../core/accessorSupport/decorators/subclass.js";import{equals as a}from"../../../geometry/support/spatialReferenceUtils.js";import{GraphicsCollection as h}from"../../../support/GraphicsCollection.js";import"../../../core/Error.js";import"../../../core/scheduling.js";import"../../../core/accessorSupport/tracking/Flags.js";import"../../../core/colorUtils.js";import"../../../config.js";import"../../../symbols/cim/defaultCIMValues.js";import"../../../symbols/cim/enums.js";import"../../../core/floatRGBA.js";import"../../../geometry/Extent.js";import"../../../geometry/Geometry.js";import"../../../geometry/Multipoint.js";import"../../../geometry/Point.js";import"../../../geometry/Polygon.js";import"../../../geometry/Polyline.js";import"../engine/webgl/definitions.js";import"../engine/webgl/animations/instructions.js";import"../../../core/mathUtils.js";import"../../../symbols/Font.js";import"../../../core/ObjectPool.js";import"../../../geometry/support/Axis.js";import"../../../geometry/support/TileClipper.js";import"../../../symbols/cim/effects/EffectAddControlPoints.js";import"../../../symbols/cim/effects/EffectArrow.js";import"../../../symbols/cim/effects/EffectBuffer.js";import"../../../symbols/cim/effects/EffectControlMeasureLine.js";import"../../../symbols/cim/effects/EffectCut.js";import"../../../symbols/cim/effects/EffectDashes.js";import"../../../symbols/cim/effects/EffectDonut.js";import"../../../symbols/cim/effects/EffectJog.js";import"../../../symbols/cim/effects/EffectMove.js";import"../../../symbols/cim/effects/EffectOffset.js";import"../../../symbols/cim/effects/EffectReverse.js";import"../../../symbols/cim/effects/EffectRotate.js";import"../../../symbols/cim/effects/EffectScale.js";import"../../../symbols/cim/effects/EffectWave.js";import"../../../symbols/cim/placements/PlacementAlongLineSameSize.js";import"../../../symbols/cim/placements/PlacementAtExtremities.js";import"../../../symbols/cim/placements/PlacementAtRatioPositions.js";import"../../../symbols/cim/placements/PlacementInsidePolygon.js";import"../../../symbols/cim/placements/PlacementOnLine.js";import"../../../symbols/cim/placements/PlacementOnVertices.js";import"../../../symbols/cim/placements/PlacementPolygonCenter.js";import"../../../core/libs/gl-matrix-2/factories/vec2f32.js";import"../engine/webgl/alignmentUtils.js";import"../../../symbols/support/defaults.js";import"../../../symbols/cim/OverrideHelper.js";import"../../../layers/effects/EffectView.js";import"../../../core/Evented.js";import"../engine/transitions/FadeTransition.js";import"../engine/webgl/enums.js";import"../../../core/libs/gl-matrix-2/factories/vec4f32.js";import"../../webgl/checkWebGLError.js";import"../../webgl/enums.js";import"../../webgl/FramebufferObject.js";import"../../webgl/GLObjectType.js";import"../../webgl/Texture.js";import"../engine/webgl/shaders/BackgroundPrograms.js";import"../engine/webgl/DefaultVertexAttributeLayouts.js";import"../engine/webgl/AFeatureTile.js";import"../engine/webgl/DisplayEntity.js";import"../engine/webgl/shaderGraph/techniques/featureTechniqueUtils.js";import"../engine/webgl/number.js";import"../engine/webgl/PooledUint32Array.js";import"../engine/webgl/shaders/TileInfoPrograms.js";import"../engine/vectorTiles/style/StyleDefinition.js";import"../engine/vectorTiles/enums.js";import"../engine/webgl/shaders/BitBlitPrograms.js";import"../../../request.js";import"../../../core/urlUtils.js";import"../../../core/pbf.js";import"../engine/webgl/shaders/StencilPrograms.js";import"../engine/webgl/shaderGraph/techniques/TechniqueType.js";import"../engine/webgl/shaderGraph/techniques/shaders/BlendShader.js";import"../engine/webgl/shaderGraph/techniques/shaders/OpacityShader.js";import"../engine/webgl/shaders/HighlightPrograms.js";import"../engine/webgl/meshing/SimpleMesh.js";import"../engine/webgl/Profiler.js";import"../engine/webgl/shaderGraph/techniques/TechniqueRegistry.js";import"../../../Color.js";import"../engine/webgl/shaderGraph/techniques/shaders/constants.js";import"../engine/webgl/shaderGraph/techniques/dotDensity/DotDensityMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/ComplexFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/ComplexOutlineFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/FillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/GradientFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/OutlineFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/PatternFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/PatternOutlineFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/heatmap/HeatmapMeshWriter.js";import"../../../geometry/support/aaBoundingBox.js";import"../engine/webgl/shaderGraph/techniques/text/TextMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/line/GradientStrokeMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/line/LineMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/line/TexturedLineMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/markers/MarkerMeshWriter.js";import"../../../arcade/ArcadeDate.js";import"../../../geometry/SpatialReference.js";import"../engine/webgl/shaderGraph/techniques/pieChart/PieChartMeshWriter.js";import"../../webgl/renderState.js";import"../../3d/webgl-engine/core/shaderModules/interfaces.js";import"../../webgl/testSVGPremultipliedAlpha.js";import"../LabelManager.js";import n from"./graphics/GraphicsView2D.js";import"../../../core/asyncUtils.js";import"../../../core/Collection.js";import"../../../core/accessorSupport/watch.js";import"../../../core/accessorSupport/tracking/SimpleTrackingTarget.js";import"../../../chunks/earcut.js";import"../../../core/libs/gl-matrix-2/factories/vec3f32.js";import"../../../geometry/support/normalizeUtilsCommon.js";import"../../../geometry/support/Ellipsoid.js";import"../../../kernel.js";import"./support/util.js";import"../navigation/MapViewNavigation.js";import"../../../core/support/UpdatingHandles.js";import"../engine/webgl/shaderGraph/techniques/shaders/MagnifierShader.js";import"../../../core/unitUtils.js";import"../../../geometry/ellipsoidUtils.js";import"../../../chunks/pe.js";import"../../../geometry/projection/projectors.js";import"../engine/webgl/shaderGraph/techniques/shaders/GridShader.js";import"../../../geometry/support/geodesicConstants.js";import{BitmapTileLayerView2D as p}from"./BitmapTileLayerView2D.js";import{LayerView2DMixin as m}from"./LayerView2D.js";import c from"./graphics/HighlightGraphicContainer.js";import{createBlankImage as g,resampleImage as u}from"./support/imageUtils.js";import f from"../tiling/TileInfoView.js";import j from"../tiling/TileKey.js";import d from"../tiling/TileQueue.js";import y from"../tiling/TileStrategy.js";import w from"../../layers/LayerView.js";import b from"../../layers/RefreshableLayerView.js";import{isMapServiceLayerView as _,MapServiceLayerViewHelper as T}from"../../layers/support/MapServiceLayerViewHelper.js";import{createQueryGeometry as q}from"../../support/drapedUtils.js";import{TaskPriority as V}from"../../support/Scheduler.js";const G=[0,0];let I=class extends(b(p(m(w)))){constructor(){super(...arguments),this._fetchQueue=null,this._highlightGraphics=new h,this._highlightView=null,this._popupHighlightHelper=null,this._tileStrategy=null,this.layer=null}get resampling(){return!("resampling"in this.layer)||!1!==this.layer.resampling}get tilemapCache(){return"tilemapCache"in this.layer?this.layer.tilemapCache:null}update(e){this._fetchQueue.pause(),this._fetchQueue.state=e.state,this._tileStrategy.update(e),this._fetchQueue.resume(),this._highlightView?.processUpdate(e)}attach(){const e="tileServers"in this.layer?this.layer.tileServers:null,i=this.tilemapCache;if(this._tileInfoView=new f(this.layer.tileInfo,this.layer.fullExtent,i?.effectiveMinLOD,i?.effectiveMaxLOD),this._fetchQueue=new d({tileInfoView:this._tileInfoView,concurrency:e&&10*e.length||10,process:(e,i)=>this.fetchTile(e,i),scheduler:this.scheduler,priority:V.MAPVIEW_FETCH_QUEUE}),this._tileStrategy=new y({cachePolicy:"keep",resampling:this.resampling,acquireTile:e=>this.acquireTile(e),releaseTile:e=>this.releaseTile(e),tileInfoView:this._tileInfoView}),_(this,this.layer)){const e=this._highlightView=new n({view:this.view,graphics:this._highlightGraphics,requestUpdateCallback:()=>this.requestUpdate(),container:new c(this.view.featuresTilingScheme),defaultPointSymbolEnabled:!1});this.container.addChild(this._highlightView.container),this._popupHighlightHelper=new T({createFetchPopupFeaturesQueryGeometry:(e,i)=>q(e,i,this.view),highlightGraphics:this._highlightGraphics,highlightGraphicUpdated:(i,t)=>{e.graphicUpdateHandler({graphic:i,property:t})},layerView:this,updatingHandles:this._updatingHandles})}this.requestUpdate(),this.addAttachHandles(this._updatingHandles.add((()=>this.resampling),(()=>{this.doRefresh()}))),super.attach()}detach(){super.detach(),this._tileStrategy.destroy(),this._fetchQueue.clear(),this.container.removeAllChildren(),this._popupHighlightHelper?.destroy(),this._highlightView?.destroy(),this._fetchQueue=this._tileStrategy=this._tileInfoView=this._popupHighlightHelper=null}async fetchPopupFeaturesAtLocation(e,i){return this._popupHighlightHelper?this._popupHighlightHelper.fetchPopupFeaturesAtLocation(e,i):[]}highlight(e){return this._popupHighlightHelper?this._popupHighlightHelper.highlight(e):i()}viewChange(){this.requestUpdate()}moveEnd(){this.requestUpdate()}supportsSpatialReference(e){return a(this.layer.tileInfo?.spatialReference,e)}async doRefresh(){if(this.attached){if(this.suspended)return this._tileStrategy.clear(),void this.requestUpdate();this._fetchQueue.reset(),this._tileStrategy.refresh((e=>this._updatingHandles.addPromise(this._enqueueTileFetch(e))))}}acquireTile(e){const i=this._bitmapView.createTile(e),t=i.bitmap;return[t.x,t.y]=this._tileInfoView.getTileCoords(G,i.key),t.resolution=this._tileInfoView.getTileResolution(i.key),[t.width,t.height]=this._tileInfoView.tileInfo.size,this._updatingHandles.addPromise(this._enqueueTileFetch(i)),this._bitmapView.addChild(i),this.requestUpdate(),i}releaseTile(e){this._fetchQueue.abort(e.key.id),this._bitmapView.removeChild(e),e.once("detach",(()=>e.destroy())),this.requestUpdate()}async fetchTile(e,i={}){return this.tilemapCache?this._fetchTileWithTilemapCache(e,i):this._fetchTileWithoutTilemapCache(e,i)}async _fetchTileWithoutTilemapCache(e,i={}){const{signal:t,resamplingLevel:r=0}=i;try{return await this._fetchImage(e,t)}catch(o){if(s(o))throw o;if(!this.resampling)return g(this._tileInfoView.tileInfo.size);if(r<3){const t=this._tileInfoView.getTileParentId(e.id);if(t){const s=new j(t),o=await this._fetchTileWithoutTilemapCache(s,{...i,resamplingLevel:r+1});return u(this._tileInfoView,o,s,e)}}return g(this._tileInfoView.tileInfo.size)}}async _fetchTileWithTilemapCache(e,i={}){const t=this.tilemapCache,{signal:o,resamplingLevel:l=0}=i,a=new j(0,0,0,0);let h,n=null;try{if(n=await t.fetchAvailabilityUpsample(e.level,e.row,e.col,a,{signal:o}),!this.resampling&&a.level!==e.level)return await r(i),g(this._tileInfoView.tileInfo.size);h=await this._fetchImage(a,o)}catch(p){if(s(p))throw p;if(this.resampling&&"unknown"===n&&l<3){const t=this._tileInfoView.getTileParentId(e.id);if(t){a.set(t);try{h=await this._fetchTileWithTilemapCache(a,{...i,resamplingLevel:l+1})}catch{}}}}return h?this.resampling?u(this._tileInfoView,h,a,e):h:g(this._tileInfoView.tileInfo.size)}async _enqueueTileFetch(e){if(!this._fetchQueue.has(e.key.id)){try{const i=await this._fetchQueue.push(e.key);e.bitmap.source=i,e.bitmap.width=this._tileInfoView.tileInfo.size[0],e.bitmap.height=this._tileInfoView.tileInfo.size[1],e.once("attach",(()=>this.requestUpdate()))}catch(i){s(i)||t.getLogger(this).error(i)}this.requestUpdate()}}async _fetchImage(e,i){return this.layer.fetchImageBitmapTile(e.level,e.row,e.col,{signal:i})}};e([o()],I.prototype,"resampling",null),e([o()],I.prototype,"tilemapCache",null),I=e([l("esri.views.2d.layers.TileLayerView2D")],I);const C=I;export{C as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../../chunks/tslib.es6.js";import i from"../../../Color.js";import r from"../../../Graphic.js";import"../../../symbols.js";import{destroyMaybe as t}from"../../../core/maybe.js";import{watch as s,initial as l}from"../../../core/reactiveUtils.js";import{property as a}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/Logger.js";import"../../../core/RandomLCG.js";import{subclass as o}from"../../../core/accessorSupport/decorators/subclass.js";import n from"../../../layers/GraphicsLayer.js";import h from"../../../layers/support/TelemetryDisplay.js";import m from"../engine/webgl/OverlayContainer.js";import y from"../engine/webgl/OverlayMultipoint.js";import{LayerView2DMixin as p}from"./LayerView2D.js";import c from"./graphics/GraphicContainer.js";import f from"./graphics/GraphicsView2D.js";import d from"../../layers/LayerView.js";import g from"../../../symbols/SimpleFillSymbol.js";import u from"../../../symbols/SimpleLineSymbol.js";import b from"../../../symbols/SimpleMarkerSymbol.js";const v=new i([255,127,0]);let _=class extends(p(d)){constructor(){super(...arguments),this._graphicsLayer=new n,this._frameOutlineGraphic=new r({symbol:new g({outline:{type:"simple-line",color:v}})}),this._sensorTrailGraphic=new r({symbol:new u({color:v})}),this._lineOfSightGraphic=new r({symbol:new u({color:v})}),this._sensorLocationGraphic=new r({symbol:new b({color:v})}),this._frameCenterGraphic=new r({symbol:new b({color:v,style:"cross"})}),this._overlayContainer=null,this.layer=null,this.symbolColor=v,this.visibleTelemetryElements=null}destroy(){this._graphicsLayer=t(this._graphicsLayer)}initialize(){this.addHandles(s((()=>this.symbolColor),(()=>{this._frameOutlineGraphic.symbol.outline.color=this.symbolColor,this._sensorTrailGraphic.symbol.color=this.symbolColor,this._lineOfSightGraphic.symbol.color=this.symbolColor,this._sensorLocationGraphic.symbol.color=this.symbolColor,this._frameCenterGraphic.symbol.color=this.symbolColor}),l)),this._graphicsLayer.graphics.addMany([this._frameOutlineGraphic,this._sensorTrailGraphic,this._lineOfSightGraphic,this._sensorLocationGraphic,this._frameCenterGraphic]),this.visibleTelemetryElements=new h({frame:this.layer.telemetryDisplay?.frame??!1,frameCenter:this.layer.telemetryDisplay?.frameCenter??!0,frameOutline:this.layer.telemetryDisplay?.frameOutline??!0,lineOfSight:this.layer.telemetryDisplay?.lineOfSight??!0,sensorLocation:this.layer.telemetryDisplay?.sensorLocation??!0,sensorTrail:this.layer.telemetryDisplay?.sensorTrail??!0})}attach(){this._overlayContainer=new m,this.container.addChild(this._overlayContainer),this._addOverlayMultipoint(),this.graphicsView=new f({requestUpdateCallback:()=>this.requestUpdate(),view:this.view,graphics:this._graphicsLayer.graphics,container:new c(this.view.featuresTilingScheme)}),this.container.addChild(this.graphicsView.container),this.addAttachHandles(this._graphicsLayer.on("graphic-update",this.graphicsView.graphicUpdateHandler)),this.addAttachHandles([s((()=>[this.layer.telemetryDisplay?.frame,this.layer.telemetryDisplay?.frameCenter,this.layer.telemetryDisplay?.frameOutline,this.layer.telemetryDisplay?.sensorLocation,this.layer.telemetryDisplay?.sensorTrail,this.layer.telemetryDisplay?.lineOfSight]),(()=>this._updateVisibleTelemetryElements()),l),s((()=>[this.layer.telemetry,this.visibleTelemetryElements?.frameCenter,this.visibleTelemetryElements?.frameOutline,this.visibleTelemetryElements?.sensorLocation,this.visibleTelemetryElements?.sensorTrail,this.visibleTelemetryElements?.lineOfSight]),(()=>this._updateGraphicGeometries()),l)])}detach(){this._overlayContainer.removeAllChildren(),this.container.removeAllChildren(),this.graphicsView=t(this.graphicsView)}supportsSpatialReference(e){return!0}moveEnd(){}viewChange(){this.graphicsView.viewChange()}update(e){this.graphicsView.processUpdate(e)}isUpdating(){return!this.graphicsView||this.graphicsView.updating}_updateVisibleTelemetryElements(){this.visibleTelemetryElements&&this.layer.telemetryDisplay&&(this.visibleTelemetryElements.frame=this.layer.telemetryDisplay.frame,this.visibleTelemetryElements.frameCenter=this.layer.telemetryDisplay.frameCenter,this.visibleTelemetryElements.frameOutline=this.layer.telemetryDisplay.frameOutline,this.visibleTelemetryElements.lineOfSight=this.layer.telemetryDisplay.lineOfSight,this.visibleTelemetryElements.sensorLocation=this.layer.telemetryDisplay.sensorLocation,this.visibleTelemetryElements.sensorTrail=this.layer.telemetryDisplay.sensorTrail)}_updateGraphicGeometries(){const{telemetry:e}=this.layer,{visibleTelemetryElements:i}=this;e&&i&&(i.frameOutline&&e.frameOutline?this._frameOutlineGraphic.geometry=this.layer.telemetry.frameOutline:this._frameOutlineGraphic.geometry=null,i.sensorTrail&&e.sensorTrail?this._sensorTrailGraphic.geometry=this.layer.telemetry.sensorTrail:this._sensorTrailGraphic.geometry=null,i.lineOfSight&&e.lineOfSight?this._lineOfSightGraphic.geometry=this.layer.telemetry.lineOfSight:this._lineOfSightGraphic.geometry=null,i.sensorLocation&&e.sensorLocation?this._sensorLocationGraphic.geometry=this.layer.telemetry.sensorLocation:this._sensorLocationGraphic.geometry=null,i.frameCenter&&e.frameCenter?this._frameCenterGraphic.geometry=this.layer.telemetry.frameCenter:this._frameCenterGraphic.geometry=null)}async _addOverlayMultipoint(){if(!this.layer.videoElement)return;const e=new y(this.layer.videoElement);this.addAttachHandles([s((()=>[this.layer.frameHorizonPoints,this.layer.groundControlPoints]),(()=>{const{visibleTelemetryElements:i}=this;i?.frame?(e.frameHorizonPoints=this.layer.frameHorizonPoints,e.groundControlPoints=this.layer.groundControlPoints,e.opacity=1):e.opacity=0}),l)]),this._overlayContainer.addChild(e),this.view.stage.requestRender()}};e([a()],_.prototype,"graphicsView",void 0),e([a()],_.prototype,"layer",void 0),e([a()],_.prototype,"symbolColor",void 0),e([a({type:h})],_.prototype,"visibleTelemetryElements",void 0),_=e([o("esri.views.2d.layers.VideoLayerView2D")],_);const C=_;export{C as default};
5
+ import{_ as e}from"../../../chunks/tslib.es6.js";import i from"../../../Color.js";import r from"../../../Graphic.js";import{destroyMaybe as t}from"../../../core/maybe.js";import{watch as s,initial as l}from"../../../core/reactiveUtils.js";import{property as a}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/Logger.js";import"../../../core/RandomLCG.js";import{subclass as o}from"../../../core/accessorSupport/decorators/subclass.js";import n from"../../../layers/GraphicsLayer.js";import h from"../../../layers/support/TelemetryDisplay.js";import m from"../../../symbols/SimpleFillSymbol.js";import y from"../../../symbols/SimpleLineSymbol.js";import p from"../../../symbols/SimpleMarkerSymbol.js";import c from"../engine/webgl/OverlayContainer.js";import f from"../engine/webgl/OverlayMultipoint.js";import{LayerView2DMixin as d}from"./LayerView2D.js";import g from"./graphics/GraphicContainer.js";import u from"./graphics/GraphicsView2D.js";import b from"../../layers/LayerView.js";const v=new i([255,127,0]);let _=class extends(d(b)){constructor(){super(...arguments),this._graphicsLayer=new n,this._frameOutlineGraphic=new r({symbol:new m({outline:{type:"simple-line",color:v}})}),this._sensorTrailGraphic=new r({symbol:new y({color:v})}),this._lineOfSightGraphic=new r({symbol:new y({color:v})}),this._sensorLocationGraphic=new r({symbol:new p({color:v})}),this._frameCenterGraphic=new r({symbol:new p({color:v,style:"cross"})}),this._overlayContainer=null,this.layer=null,this.symbolColor=v,this.visibleTelemetryElements=null}destroy(){this._graphicsLayer=t(this._graphicsLayer)}initialize(){this.addHandles(s((()=>this.symbolColor),(()=>{this._frameOutlineGraphic.symbol.outline.color=this.symbolColor,this._sensorTrailGraphic.symbol.color=this.symbolColor,this._lineOfSightGraphic.symbol.color=this.symbolColor,this._sensorLocationGraphic.symbol.color=this.symbolColor,this._frameCenterGraphic.symbol.color=this.symbolColor}),l)),this._graphicsLayer.graphics.addMany([this._frameOutlineGraphic,this._sensorTrailGraphic,this._lineOfSightGraphic,this._sensorLocationGraphic,this._frameCenterGraphic]),this.visibleTelemetryElements=new h({frame:this.layer.telemetryDisplay?.frame??!1,frameCenter:this.layer.telemetryDisplay?.frameCenter??!0,frameOutline:this.layer.telemetryDisplay?.frameOutline??!0,lineOfSight:this.layer.telemetryDisplay?.lineOfSight??!0,sensorLocation:this.layer.telemetryDisplay?.sensorLocation??!0,sensorTrail:this.layer.telemetryDisplay?.sensorTrail??!0})}attach(){this._overlayContainer=new c,this.container.addChild(this._overlayContainer),this._addOverlayMultipoint(),this.graphicsView=new u({requestUpdateCallback:()=>this.requestUpdate(),view:this.view,graphics:this._graphicsLayer.graphics,container:new g(this.view.featuresTilingScheme)}),this.container.addChild(this.graphicsView.container),this.addAttachHandles(this._graphicsLayer.on("graphic-update",this.graphicsView.graphicUpdateHandler)),this.addAttachHandles([s((()=>[this.layer.telemetryDisplay?.frame,this.layer.telemetryDisplay?.frameCenter,this.layer.telemetryDisplay?.frameOutline,this.layer.telemetryDisplay?.sensorLocation,this.layer.telemetryDisplay?.sensorTrail,this.layer.telemetryDisplay?.lineOfSight]),(()=>this._updateVisibleTelemetryElements()),l),s((()=>[this.layer.telemetry,this.visibleTelemetryElements?.frameCenter,this.visibleTelemetryElements?.frameOutline,this.visibleTelemetryElements?.sensorLocation,this.visibleTelemetryElements?.sensorTrail,this.visibleTelemetryElements?.lineOfSight]),(()=>this._updateGraphicGeometries()),l)])}detach(){this._overlayContainer.removeAllChildren(),this.container.removeAllChildren(),this.graphicsView=t(this.graphicsView)}supportsSpatialReference(e){return!0}moveEnd(){}viewChange(){this.graphicsView.viewChange()}update(e){this.graphicsView.processUpdate(e)}isUpdating(){return!this.graphicsView||this.graphicsView.updating}_updateVisibleTelemetryElements(){this.visibleTelemetryElements&&this.layer.telemetryDisplay&&(this.visibleTelemetryElements.frame=this.layer.telemetryDisplay.frame,this.visibleTelemetryElements.frameCenter=this.layer.telemetryDisplay.frameCenter,this.visibleTelemetryElements.frameOutline=this.layer.telemetryDisplay.frameOutline,this.visibleTelemetryElements.lineOfSight=this.layer.telemetryDisplay.lineOfSight,this.visibleTelemetryElements.sensorLocation=this.layer.telemetryDisplay.sensorLocation,this.visibleTelemetryElements.sensorTrail=this.layer.telemetryDisplay.sensorTrail)}_updateGraphicGeometries(){const{telemetry:e}=this.layer,{visibleTelemetryElements:i}=this;e&&i&&(i.frameOutline&&e.frameOutline?this._frameOutlineGraphic.geometry=this.layer.telemetry.frameOutline:this._frameOutlineGraphic.geometry=null,i.sensorTrail&&e.sensorTrail?this._sensorTrailGraphic.geometry=this.layer.telemetry.sensorTrail:this._sensorTrailGraphic.geometry=null,i.lineOfSight&&e.lineOfSight?this._lineOfSightGraphic.geometry=this.layer.telemetry.lineOfSight:this._lineOfSightGraphic.geometry=null,i.sensorLocation&&e.sensorLocation?this._sensorLocationGraphic.geometry=this.layer.telemetry.sensorLocation:this._sensorLocationGraphic.geometry=null,i.frameCenter&&e.frameCenter?this._frameCenterGraphic.geometry=this.layer.telemetry.frameCenter:this._frameCenterGraphic.geometry=null)}async _addOverlayMultipoint(){if(!this.layer.videoElement)return;const e=new f(this.layer.videoElement);this.addAttachHandles([s((()=>[this.layer.frameHorizonPoints,this.layer.groundControlPoints]),(()=>{const{visibleTelemetryElements:i}=this;i?.frame?(e.frameHorizonPoints=this.layer.frameHorizonPoints,e.groundControlPoints=this.layer.groundControlPoints,e.opacity=1):e.opacity=0}),l)]),this._overlayContainer.addChild(e),this.view.stage.requestRender()}};e([a()],_.prototype,"graphicsView",void 0),e([a()],_.prototype,"layer",void 0),e([a()],_.prototype,"symbolColor",void 0),e([a({type:h})],_.prototype,"visibleTelemetryElements",void 0),_=e([o("esri.views.2d.layers.VideoLayerView2D")],_);const C=_;export{C as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import"../../../../../geometry.js";import{unquantizeOptimizedGeometry as e,convertToFeature as t}from"../../../../../layers/graphics/featureConversionUtils.js";import{OptimizedFeature as s}from"../../../../../layers/graphics/OptimizedFeature.js";import{checkProjectionSupport as r}from"../../../../../layers/graphics/data/projectionSupport.js";import a from"../../../../../layers/support/FieldsIndex.js";import{ComputedAggregateField as i}from"../aggregation/ComputedAggregateField.js";import{AAggregateStrategy as o}from"./AAggregateStrategy.js";import{ASendState as n}from"./AProcessorStrategy.js";import{FeatureTileAppendMessage as l,FeatureTileUpdateMessage as d}from"../sources/FeatureSourceMessage.js";import{ComputedAttributeStorage as c}from"../support/ComputedAttributeStorage.js";import u from"../support/FeatureFilter.js";import{FeatureMetadata as f}from"../support/FeatureMetadata.js";import{FeatureSetReaderJSON as p}from"../support/FeatureSetReaderJSON.js";import h from"../../../tiling/TileKey.js";import m from"../../../../../geometry/SpatialReference.js";class g extends n{constructor(e,t){super(e),this.bins=new Map,this.featureCache=new Map,this.done=!1,this._store=t}reset(){this.destroy(),this.done=!1}destroy(){const e=this.subscription.tile.key.level;for(const t of this.featureCache.keys())this._store.releaseDisplayIdForObjectId(`${t}.${e}`);this.bins.clear(),this.featureCache.clear(),this.handledChunks.clear()}get tile(){return this.subscription.tile}*featuresWorldSpace(){for(const t of this.featureCache.values()){const s=t.clone();s.geometry&&e(s.geometry,s.geometry,!1,!1,this.subscription.tile.transform),yield s}}}class y extends o{static async create(e,t,s,a,o){const n=new c({spatialReference:t}),l=await Promise.all(e.fields.map((async e=>i.create(n,e)))),d=e.featureFilter?await u.create({geometryType:s.metadata.geometryType,hasM:!1,hasZ:!1,timeInfo:s.metadata.timeInfo,fieldsIndex:s.metadata.fieldsIndex,spatialReference:t,filterJSON:e.featureFilter}):null;return"geohash"===e.index.type&&await r(t,m.WGS84),new y(e,d,o,l,t,s,a)}constructor(e,t,s,r,i,o,n){super(o,n,i,r),this._schema=e,this._featureFilter=t,this._arcadeContextInfo=s,this._metadata=f.createFeature({geometryType:"esriGeometryPolygon",objectIdField:"aggregateId",fieldsIndex:new a(e.fields).toJSON(),globalIdField:null,spatialReference:o.metadata.spatialReference,subtypeField:null,subtypes:null,timeInfo:null,timeReferenceUnknownClient:null,dateFieldsTimeZone:null,typeIdField:null,types:null})}createState(e){return new g(e,this._attributeStore)}async*applyOverrideUpdate(e){for(const t of this._sendStates.values()){t.reset();const e=new l(t.subscription,p.empty(this._source.metadata),!0,!1,{});yield e}}displayMap(e,t,s){const r=new Map(e.map((e=>[t(e),e]))),a=[];for(const i of this._sendStates.values())for(const e of i.featuresWorldSpace()){const{objectId:t,displayId:i}=e,o=r.get(t);if(null!=o){const e=s(i,o,t);a.push(e),r.delete(t)}}return a}getDisplayFeatures(e){const s=new Set(e),r=new Set,a=[];for(const i of this._sendStates.values())for(const e of i.featuresWorldSpace())s.has(e.displayId)&&!r.has(e.objectId)&&(e.geometry&&a.push({...t(e,this._metadata.geometryType,!1,!1),displayId:e.displayId}),r.add(e.objectId));return{features:[],aggregates:a,tracks:[]}}getFeatureObjectIdsForAggregate(e){for(const t of this._sendStates.values())for(const s of t.bins.values())if(s.id===e)return Array.from(s.containedObjectIds);return[]}async*updateChunks(){for(const e of this._sendStates.values())yield*this._update(e,this._source)}forEachAggregateWorldSpace(e){const t=new Set;for(const s of this._sendStates.values())for(const r of s.featuresWorldSpace())t.has(r.objectId)||(e(r),t.add(r.objectId))}_createIndexOptions(e){switch(this._schema.index.type){case"geohash":return{type:"geohash",fields:this.aggregateFields,featureFilter:this._featureFilter,geohashLevel:this._schema.index.fixBinLevel,spatialReference:this.spatialReference,arcadeContextInfo:this._arcadeContextInfo,scale:e.scale};case"grid":{const t=this._schema.index.fixedBinLevel,s=null!=t?e.tileInfoView.getLODInfoAt(t).scale:e.scale;return{type:"grid",fields:this.aggregateFields,cellSize:this._schema.index.size,featureFilter:this._featureFilter,spatialReference:this.spatialReference,arcadeContextInfo:this._arcadeContextInfo,scale:s}}}}async*_update(e,t){const{handledChunks:r,subscription:a,bins:i,featureCache:o}=e,n=a.tile;if(e.done)return;for(const s of t.chunks()){if(r.has(s.chunkId))continue;r.add(s.chunkId);const t=s.queryInfo;if("tileId"in t){const e=new h(t.tileId);if(e.level!==n.level||e.world!==n.key.world)continue}s.getAggregateIndex(this._createIndexOptions(e.tile)).putBounded(i,e.tile.extent,e.tile.resolution)}const l=[],c=a.tile.transform,u=a.tile.key.level;for(const d of i.values()){let e=o.get(d.id);if(e)e.attributes=d.getAttributes();else{const t=d.getGeometry(this.spatialReference,c);e=new s(t,d.getAttributes(),null,d.id),t||(e.centroid=d.getGeometricCentroid(this.spatialReference,c)),e.displayId=this._attributeStore.createDisplayIdForObjectId(`${e.objectId}.${u}`),o.set(d.id,e)}l.push(e)}this.events.emit("changed"),e.done=!t.updateTracking.updating;const f=p.fromOptimizedFeatures(l,this._metadata,c),m=f.getCursor(),g=e.subscription.tile.createArcadeEvaluationOptions(this._arcadeContextInfo);for(;m.next();)this._attributeStore.setAttributeData(m.getDisplayId(),m,g);const y=new d(e.subscription,f,[],e.done,{});yield y}}export{g as BinningState,y as BinningStrategy};
5
+ import e from"../../../../../geometry/SpatialReference.js";import{unquantizeOptimizedGeometry as t,convertToFeature as s}from"../../../../../layers/graphics/featureConversionUtils.js";import{OptimizedFeature as r}from"../../../../../layers/graphics/OptimizedFeature.js";import{checkProjectionSupport as a}from"../../../../../layers/graphics/data/projectionSupport.js";import i from"../../../../../layers/support/FieldsIndex.js";import{ComputedAggregateField as o}from"../aggregation/ComputedAggregateField.js";import{AAggregateStrategy as n}from"./AAggregateStrategy.js";import{ASendState as l}from"./AProcessorStrategy.js";import{FeatureTileAppendMessage as d,FeatureTileUpdateMessage as c}from"../sources/FeatureSourceMessage.js";import{ComputedAttributeStorage as u}from"../support/ComputedAttributeStorage.js";import f from"../support/FeatureFilter.js";import{FeatureMetadata as p}from"../support/FeatureMetadata.js";import{FeatureSetReaderJSON as h}from"../support/FeatureSetReaderJSON.js";import g from"../../../tiling/TileKey.js";class m extends l{constructor(e,t){super(e),this.bins=new Map,this.featureCache=new Map,this.done=!1,this._store=t}reset(){this.destroy(),this.done=!1}destroy(){const e=this.subscription.tile.key.level;for(const t of this.featureCache.keys())this._store.releaseDisplayIdForObjectId(`${t}.${e}`);this.bins.clear(),this.featureCache.clear(),this.handledChunks.clear()}get tile(){return this.subscription.tile}*featuresWorldSpace(){for(const e of this.featureCache.values()){const s=e.clone();s.geometry&&t(s.geometry,s.geometry,!1,!1,this.subscription.tile.transform),yield s}}}class y extends n{static async create(t,s,r,i,n){const l=new u({spatialReference:s}),d=await Promise.all(t.fields.map((async e=>o.create(l,e)))),c=t.featureFilter?await f.create({geometryType:r.metadata.geometryType,hasM:!1,hasZ:!1,timeInfo:r.metadata.timeInfo,fieldsIndex:r.metadata.fieldsIndex,spatialReference:s,filterJSON:t.featureFilter}):null;return"geohash"===t.index.type&&await a(s,e.WGS84),new y(t,c,n,d,s,r,i)}constructor(e,t,s,r,a,o,n){super(o,n,a,r),this._schema=e,this._featureFilter=t,this._arcadeContextInfo=s,this._metadata=p.createFeature({geometryType:"esriGeometryPolygon",objectIdField:"aggregateId",fieldsIndex:new i(e.fields).toJSON(),globalIdField:null,spatialReference:o.metadata.spatialReference,subtypeField:null,subtypes:null,timeInfo:null,timeReferenceUnknownClient:null,dateFieldsTimeZone:null,typeIdField:null,types:null})}createState(e){return new m(e,this._attributeStore)}async*applyOverrideUpdate(e){for(const t of this._sendStates.values()){t.reset();const e=new d(t.subscription,h.empty(this._source.metadata),!0,!1,{});yield e}}displayMap(e,t,s){const r=new Map(e.map((e=>[t(e),e]))),a=[];for(const i of this._sendStates.values())for(const e of i.featuresWorldSpace()){const{objectId:t,displayId:i}=e,o=r.get(t);if(null!=o){const e=s(i,o,t);a.push(e),r.delete(t)}}return a}getDisplayFeatures(e){const t=new Set(e),r=new Set,a=[];for(const i of this._sendStates.values())for(const e of i.featuresWorldSpace())t.has(e.displayId)&&!r.has(e.objectId)&&(e.geometry&&a.push({...s(e,this._metadata.geometryType,!1,!1),displayId:e.displayId}),r.add(e.objectId));return{features:[],aggregates:a,tracks:[]}}getFeatureObjectIdsForAggregate(e){for(const t of this._sendStates.values())for(const s of t.bins.values())if(s.id===e)return Array.from(s.containedObjectIds);return[]}async*updateChunks(){for(const e of this._sendStates.values())yield*this._update(e,this._source)}forEachAggregateWorldSpace(e){const t=new Set;for(const s of this._sendStates.values())for(const r of s.featuresWorldSpace())t.has(r.objectId)||(e(r),t.add(r.objectId))}_createIndexOptions(e){switch(this._schema.index.type){case"geohash":return{type:"geohash",fields:this.aggregateFields,featureFilter:this._featureFilter,geohashLevel:this._schema.index.fixBinLevel,spatialReference:this.spatialReference,arcadeContextInfo:this._arcadeContextInfo,scale:e.scale};case"grid":{const t=this._schema.index.fixedBinLevel,s=null!=t?e.tileInfoView.getLODInfoAt(t).scale:e.scale;return{type:"grid",fields:this.aggregateFields,cellSize:this._schema.index.size,featureFilter:this._featureFilter,spatialReference:this.spatialReference,arcadeContextInfo:this._arcadeContextInfo,scale:s}}}}async*_update(e,t){const{handledChunks:s,subscription:a,bins:i,featureCache:o}=e,n=a.tile;if(e.done)return;for(const r of t.chunks()){if(s.has(r.chunkId))continue;s.add(r.chunkId);const t=r.queryInfo;if("tileId"in t){const e=new g(t.tileId);if(e.level!==n.level||e.world!==n.key.world)continue}r.getAggregateIndex(this._createIndexOptions(e.tile)).putBounded(i,e.tile.extent,e.tile.resolution)}const l=[],d=a.tile.transform,u=a.tile.key.level;for(const c of i.values()){let e=o.get(c.id);if(e)e.attributes=c.getAttributes();else{const t=c.getGeometry(this.spatialReference,d);e=new r(t,c.getAttributes(),null,c.id),t||(e.centroid=c.getGeometricCentroid(this.spatialReference,d)),e.displayId=this._attributeStore.createDisplayIdForObjectId(`${e.objectId}.${u}`),o.set(c.id,e)}l.push(e)}this.events.emit("changed"),e.done=!t.updateTracking.updating;const f=h.fromOptimizedFeatures(l,this._metadata,d),p=f.getCursor(),m=e.subscription.tile.createArcadeEvaluationOptions(this._arcadeContextInfo);for(;p.next();)this._attributeStore.setAttributeData(p.getDisplayId(),p,m);const y=new c(e.subscription,f,[],e.done,{});yield y}}export{m as BinningState,y as BinningStrategy};