@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 o}from"../../chunks/tslib.es6.js";import e from"../../core/Accessor.js";import{deprecatedProperty as t}from"../../core/deprecate.js";import n from"../../core/Logger.js";import{property as l}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/RandomLCG.js";import{subclass as r}from"../../core/accessorSupport/decorators/subclass.js";let a=class extends e{constructor(){super(...arguments),this.additionalFootprintToggle=!0,this.additionalCameraLocationsToggle=!0,this.currentFootprintToggle=!0,this.imageEnhancement=!0,this.imageGallery=!0,this.imageOverlays=!0,this.mapImageConversionTool=!0,this.menu=!0,this.navigationTool=!0,this.digitization=!0,this.title=!0,this.showPopupsAction=!0}get coverageMenu(){return t(n.getLogger(this),"coverageMenu",{replacement:"menu"}),this.menu}set coverageMenu(o){t(n.getLogger(this),"coverageMenu",{replacement:"menu"}),this.menu=o}};o([l({type:Boolean,nonNullable:!0})],a.prototype,"additionalFootprintToggle",void 0),o([l({type:Boolean,nonNullable:!0})],a.prototype,"additionalCameraLocationsToggle",void 0),o([l({type:Boolean,nonNullable:!0})],a.prototype,"currentFootprintToggle",void 0),o([l({type:Boolean,nonNullable:!0})],a.prototype,"coverageMenu",null),o([l({type:Boolean,nonNullable:!0})],a.prototype,"imageEnhancement",void 0),o([l({type:Boolean,nonNullable:!0})],a.prototype,"imageGallery",void 0),o([l({type:Boolean,nonNullable:!0})],a.prototype,"imageOverlays",void 0),o([l({type:Boolean,nonNullable:!0})],a.prototype,"mapImageConversionTool",void 0),o([l({type:Boolean,nonNullable:!0})],a.prototype,"menu",void 0),o([l({type:Boolean,nonNullable:!0})],a.prototype,"navigationTool",void 0),o([l({type:Boolean,nonNullable:!0})],a.prototype,"digitization",void 0),o([l({type:Boolean,nonNullable:!0})],a.prototype,"title",void 0),o([l({type:Boolean,nonNullable:!0})],a.prototype,"showPopupsAction",void 0),a=o([r("esri.widgets.OrientedImageryViewer.OrientedImageryViewerVisibleElements")],a);const i=a;export{i as default};
5
+ import{_ as o}from"../../chunks/tslib.es6.js";import e from"../../core/Accessor.js";import{deprecatedProperty as t}from"../../core/deprecate.js";import n from"../../core/Logger.js";import{property as l}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/RandomLCG.js";import{subclass as r}from"../../core/accessorSupport/decorators/subclass.js";let a=class extends e{constructor(){super(...arguments),this.additionalFootprintToggle=!0,this.additionalCameraLocationsToggle=!0,this.currentFootprintToggle=!0,this.imageEnhancement=!0,this.imageGallery=!0,this.imageOverlays=!0,this.measurementTools=!0,this.mapImageConversionTool=!0,this.menu=!0,this.navigationTool=!0,this.digitization=!0,this.title=!0,this.showPopupsAction=!0}get coverageMenu(){return t(n.getLogger(this),"coverageMenu",{replacement:"menu"}),this.menu}set coverageMenu(o){t(n.getLogger(this),"coverageMenu",{replacement:"menu"}),this.menu=o}};o([l({type:Boolean,nonNullable:!0})],a.prototype,"additionalFootprintToggle",void 0),o([l({type:Boolean,nonNullable:!0})],a.prototype,"additionalCameraLocationsToggle",void 0),o([l({type:Boolean,nonNullable:!0})],a.prototype,"currentFootprintToggle",void 0),o([l({type:Boolean,nonNullable:!0})],a.prototype,"coverageMenu",null),o([l({type:Boolean,nonNullable:!0})],a.prototype,"imageEnhancement",void 0),o([l({type:Boolean,nonNullable:!0})],a.prototype,"imageGallery",void 0),o([l({type:Boolean,nonNullable:!0})],a.prototype,"imageOverlays",void 0),o([l({type:Boolean,nonNullable:!0})],a.prototype,"measurementTools",void 0),o([l({type:Boolean,nonNullable:!0})],a.prototype,"mapImageConversionTool",void 0),o([l({type:Boolean,nonNullable:!0})],a.prototype,"menu",void 0),o([l({type:Boolean,nonNullable:!0})],a.prototype,"navigationTool",void 0),o([l({type:Boolean,nonNullable:!0})],a.prototype,"digitization",void 0),o([l({type:Boolean,nonNullable:!0})],a.prototype,"title",void 0),o([l({type:Boolean,nonNullable:!0})],a.prototype,"showPopupsAction",void 0),a=o([r("esri.widgets.OrientedImageryViewer.OrientedImageryViewerVisibleElements")],a);const i=a;export{i as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../../../chunks/tslib.es6.js";import{createTask as t}from"../../../../core/asyncUtils.js";import s from"../../../../core/Promise.js";import{throwIfAborted as a}from"../../../../core/promiseUtils.js";import{property as r}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/has.js";import"../../../../core/Logger.js";import"../../../../core/RandomLCG.js";import{subclass as i}from"../../../../core/accessorSupport/decorators/subclass.js";import{load as n}from"../../../../geometry/projection.js";import{pixelAreaMeasurement2D as o,pixelDistanceMeasurement2D as l}from"../../imageMeasurementUtils.js";import{SketchHandlerMixin as c}from"../../mixins/SketchHandlerMixin.js";let u=[],h=[],m=0,p=class extends(c(s)){constructor(e){super(e),this.type="measurement",this.measurementArray=[],this.pixelMeasurement=0,this.pixelAreaMeasurement=0,this.polygonVertices=[],this._calculationTask=null,this._distanceCalculation=0,this._areaCalculation=null}initialize(){this.addResolvingPromise(n())}async handleCreate(e){const t=e.toolEventInfo;switch(e.tool){case"polyline":this.handlePolylineEvents(e,t);break;case"polygon":this.handlePolygonEvents(e,t)}}handleDelete(e){this.resetDistanceMeasurements(),this.resetAreaMeasurements()}handleDestroy(){this.resetDistanceMeasurements(),this.resetAreaMeasurements()}async calculateAreaMeasurement(e,t){if(e.length<3||!this.viewModel.currentBestFeature||!this.viewModel.activeViewer?.imageSize)return null;a(t);const s=await this.viewModel.getMeasurementProperties();return s?await o(e,s,!0):null}async calculateDistanceMeasurement(e){if(this.measurementArray.length<2||!this.viewModel.currentBestFeature||!this.viewModel.activeViewer?.imageSize)return null;a(e);const t=await this.viewModel.getMeasurementProperties();return t?await l([this.measurementArray.at(0),this.measurementArray.at(-1)],t,!0):null}cursorUpdatePolylineHandler(e){this.measurementArray.push(e.coordinates);const t=h.reduce(((e,t)=>e+t),0)+this.pixelMeasurement;this.viewModel.distanceMeasurementResult=t}async cursorUpdatePolygonHandler(e){const t=e.coordinates;if(u=[...this.polygonVertices],u.push(t),u.length<3||!this.viewModel.currentBestFeature||!this.viewModel.activeViewer?.imageSize)return;const s=u[0];u=u.filter(((e,t)=>0===t||t===u.length-1||JSON.stringify(e)!==JSON.stringify(s)));const a=await this._getAreaFromTask(u);a?.area&&a?.perimeter&&(m=a.area)}async handlePolylineEvents(e,t){switch("cancel"===e.state&&(this.resetDistanceMeasurements(),this.viewModel.distanceMeasurementResult=0),t?.type){case"cursor-update":this.cursorUpdatePolylineHandler(t);break;case"vertex-add":this.vertexUpdatePolylineHandler()}const s=await this._getDistanceFromTask();this.pixelMeasurement=s??this.pixelMeasurement}async handlePolygonEvents(e,t){if("cancel"===e.state)return this.resetAreaMeasurements(),void(this.viewModel.areaMeasurementResult=0);switch(t?.type){case"vertex-add":await this.vertexAddPolygonHandler(t);break;case"cursor-update":await this.cursorUpdatePolygonHandler(t)}this.viewModel.areaMeasurementResult=m>0?m:this.pixelAreaMeasurement}async vertexAddPolygonHandler(e){const t=e.added,s=t[t.length-1];if(!Array.isArray(s))return;if(this.polygonVertices.push(s),this.polygonVertices.length<3||!this.viewModel.currentBestFeature||!this.viewModel.activeViewer?.imageSize)return;const a=this.polygonVertices[0];this.polygonVertices=this.polygonVertices.filter(((e,t)=>0===t||t===this.polygonVertices.length-1||JSON.stringify(e)!==JSON.stringify(a)));const r=await this._getAreaFromTask(this.polygonVertices);if(!r?.area||!r?.perimeter)return;const{area:i}=r;this.pixelAreaMeasurement=i}vertexUpdatePolylineHandler(){this.measurementArray=this.measurementArray.slice(-1);const e=h.reduce(((e,t)=>e+t),0)+this.pixelMeasurement;this.viewModel.distanceMeasurementResult=e,this.pixelMeasurement>0&&h.push(this.pixelMeasurement)}resetDistanceMeasurements(){this.measurementArray=[],this.pixelMeasurement=0,h=[],this.viewModel.displayNewMeasurementButton=!0}resetAreaMeasurements(){this.polygonVertices=[],this.pixelAreaMeasurement=0,m=0,this.viewModel.displayNewAreaMeasurementButton=!0}async _getAreaFromTask(e){return this._calculationTask?.abort(),this._calculationTask=t((async t=>{this._areaCalculation=null;const s=await this.calculateAreaMeasurement(e,t);a(t),this._areaCalculation=s})),await this._calculationTask.promise,this._areaCalculation}async _getDistanceFromTask(){return this._calculationTask?.abort(),this._calculationTask=t((async e=>{this._distanceCalculation=0;const t=await this.calculateDistanceMeasurement(e);a(e),this._distanceCalculation=t})),await this._calculationTask.promise,this._distanceCalculation}};e([r()],p.prototype,"type",void 0),e([r()],p.prototype,"measurementArray",void 0),e([r()],p.prototype,"pixelMeasurement",void 0),e([r()],p.prototype,"pixelAreaMeasurement",void 0),e([r()],p.prototype,"polygonVertices",void 0),p=e([i("esri.widgets.OrientedImageryViewer.adapters.sketch.MeasurementAdapter")],p);const d=p;export{d as default};
5
+ import{_ as e}from"../../../../chunks/tslib.es6.js";import{createTask as t}from"../../../../core/asyncUtils.js";import a from"../../../../core/Promise.js";import{throwIfAborted as s}from"../../../../core/promiseUtils.js";import{property as i}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/has.js";import"../../../../core/Logger.js";import"../../../../core/RandomLCG.js";import{subclass as r}from"../../../../core/accessorSupport/decorators/subclass.js";import{load as n}from"../../../../geometry/projection.js";import{SketchHandlerMixin as o}from"../../mixins/SketchHandlerMixin.js";let c=[],l=[],u=0,h=class extends(o(a)){constructor(e){super(e),this.type="measurement",this.measurementArray=[],this.pixelMeasurement=0,this.pixelAreaMeasurement=0,this.polygonVertices=[],this._calculationTask=null,this._distanceCalculation=0,this._areaCalculation=null}initialize(){this.addResolvingPromise(n())}async handleCreate(e){const t=e.toolEventInfo;switch(e.tool){case"polyline":this.handlePolylineEvents(e,t);break;case"polygon":this.handlePolygonEvents(e,t)}}handleDelete(e){this.resetDistanceMeasurements(),this.resetAreaMeasurements()}handleDestroy(){this.resetDistanceMeasurements(),this.resetAreaMeasurements()}cursorUpdatePolylineHandler(e){this.measurementArray.push(e.coordinates);const t=l.reduce(((e,t)=>e+t),0)+this.pixelMeasurement;this.viewModel.distanceMeasurementResult=t}async cursorUpdatePolygonHandler(e){const t=e.coordinates;if(c=[...this.polygonVertices],c.push(t),c.length<3||!this.viewModel.currentBestFeature||!this.viewModel.activeViewer?.imageSize)return;const a=c[0];c=c.filter(((e,t)=>0===t||t===c.length-1||JSON.stringify(e)!==JSON.stringify(a)));const s=await this._getAreaFromTask(c);s?.area&&s?.perimeter&&(u=s.area)}async handlePolylineEvents(e,t){const a=this.viewModel.layer?.orientationAccuracy.some((e=>0!==e));if("cancel"===e.state)return this.resetDistanceMeasurements(),this.viewModel.distanceMeasurementResult=0,this.viewModel.distanceAccuracyArray=[],void(this.viewModel.displayNewMeasurementButton=!0);if("complete"===e.state&&e.graphic)return this.viewModel.activeViewer?.addGraphic(e.graphic),this.viewModel.measurementGraphic=e.graphic,void this.resetDistanceMeasurements();switch(t?.type){case"cursor-update":this.cursorUpdatePolylineHandler(t);break;case"vertex-add":if(this.measurementArray.length&&a){const e=await this._getAccuracyFromTask();e&&this.viewModel.distanceAccuracyArray.push(e)}this.vertexUpdatePolylineHandler()}const s=await this._getDistanceFromTask();this.pixelMeasurement=s??this.pixelMeasurement}async handlePolygonEvents(e,t){const a=this.viewModel.layer?.orientationAccuracy.some((e=>0!==e));if("cancel"===e.state)return this.resetAreaMeasurements(),this.viewModel.areaMeasurementResult=0,this.viewModel.areaMeasurementAccuracy=0,void(this.viewModel.displayNewMeasurementButton=!0);if("complete"===e.state&&e.graphic)return this.viewModel.activeViewer?.addGraphic(e.graphic),this.viewModel.measurementGraphic=e.graphic,void this.resetAreaMeasurements();switch(t?.type){case"vertex-add":await this.vertexAddPolygonHandler(t,a);break;case"cursor-update":await this.cursorUpdatePolygonHandler(t)}this.viewModel.areaMeasurementResult=u>0?u:this.pixelAreaMeasurement}async vertexAddPolygonHandler(e,t){const a=e.added,s=a[a.length-1];if(!Array.isArray(s))return;if(this.polygonVertices.push(s),this.polygonVertices.length<3||!this.viewModel.currentBestFeature||!this.viewModel.activeViewer?.imageSize)return;if(t){const e=await this._getAreaAccuracyFromTask(this.polygonVertices);this.viewModel.areaMeasurementAccuracy=e&&e>this.viewModel.areaMeasurementAccuracy?e:this.viewModel.areaMeasurementAccuracy}const i=this.polygonVertices[0];this.polygonVertices=this.polygonVertices.filter(((e,t)=>0===t||t===this.polygonVertices.length-1||JSON.stringify(e)!==JSON.stringify(i)));const r=await this._getAreaFromTask(this.polygonVertices);if(!r?.area||!r?.perimeter)return;const{area:n}=r;this.pixelAreaMeasurement=n}vertexUpdatePolylineHandler(){this.measurementArray=this.measurementArray.slice(-1);const e=l.reduce(((e,t)=>e+t),0)+this.pixelMeasurement;this.viewModel.distanceMeasurementResult=e,this.pixelMeasurement>0&&l.push(this.pixelMeasurement)}resetDistanceMeasurements(){this.measurementArray=[],this.pixelMeasurement=0,l=[]}resetAreaMeasurements(){this.polygonVertices=[],this.pixelAreaMeasurement=0,u=0}async _getAreaFromTask(e){return this._calculationTask?.abort(),this._calculationTask=t((async t=>{this._areaCalculation=null;const a=await this.viewModel.calculateAreaMeasurement(e,t);s(t),this._areaCalculation=a})),await this._calculationTask.promise,this._areaCalculation}async _getDistanceFromTask(){return this._calculationTask?.abort(),this._calculationTask=t((async e=>{this._distanceCalculation=0;const t=await this.viewModel.calculateDistanceMeasurement(this.measurementArray,e);s(e),this._distanceCalculation=t})),await this._calculationTask.promise,this._distanceCalculation}async _getAccuracyFromTask(){return this._calculationTask?.abort(),this._calculationTask=t((async e=>{this._distanceCalculation=0;const t=await this.viewModel.calculateAccuracy(this.measurementArray,"distance",e);s(e),this._distanceCalculation=t})),await this._calculationTask.promise,this._distanceCalculation}async _getAreaAccuracyFromTask(e){return this._calculationTask?.abort(),this._calculationTask=t((async t=>{this._distanceCalculation=0;const a=await this.viewModel.calculateAccuracy(e,"area",t);s(t),this._distanceCalculation=a})),await this._calculationTask.promise,this._distanceCalculation}};e([i()],h.prototype,"type",void 0),e([i()],h.prototype,"measurementArray",void 0),e([i()],h.prototype,"pixelMeasurement",void 0),e([i()],h.prototype,"pixelAreaMeasurement",void 0),e([i()],h.prototype,"polygonVertices",void 0),h=e([r("esri.widgets.OrientedImageryViewer.adapters.sketch.MeasurementAdapter")],h);const m=h;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"../../../../geometry.js";import e from"../../../../Graphic.js";import{isSome as t}from"../../../../core/arrayUtils.js";import i from"../../../../core/Logger.js";import{waitTick as o,throwIfAborted as r,isAbortError as a}from"../../../../core/promiseUtils.js";import{convertOrientationToPixelLocation as s}from"../../../../layers/orientedImagery/transformations/utils.js";import{activePolygonSymbol as n,polygonSymbol as l}from"../../symbols.js";import m from"../../../../geometry/Polygon.js";class c{constructor(c){this.viewModel=c,this.createFootprints=async t=>{await o(t);const{coveragePolygons:i,currentBestFeature:r,isAdditionalCoverageVisible:a}=this.viewModel;for(const o of i)o?.imageID===r.attributes.objectId?this.viewModel.bestFeatureFootprint=new e({attributes:{imageID:o?.imageID},geometry:o,symbol:n,visible:!1}):this.viewModel.additionalFootprints.push(new e({attributes:{imageID:o?.imageID},geometry:o,symbol:l.clone(),visible:a}))},this.updateFootprint=async(o,s)=>{const{activeViewer:l,currentBestFeature:c,currentCoverageVisible:g,footprintExtent:u}=this.viewModel,p=l?.imageSize;if(c&&p&&u)try{const i=await this.viewModel.getMapPoint(o,{feature:c,mode:"default",imageSize:p});r(s);const a=i.filter(t);if(!a.length)return;const l=[a.map((({x:e,y:t})=>[e,t,1]))];l[0].push(l[0][0]);const u=new m({rings:l,spatialReference:a[0].spatialReference});this.viewModel.updateCurrentCoveragePolygon(new e({geometry:u,attributes:{imageID:c.attributes.objectId},symbol:n,visible:g}))}catch(d){a(d)||i.getLogger(this.viewModel).error("update-footprint",d)}else this.viewModel.updateCurrentCoveragePolygon(null)},this.updateFootprintPanorama=async(t,i)=>{const{horizontalFieldOfView:o,pitch:a,verticalFieldOfView:l,yaw:c}=t,{activeViewer:g,currentBestFeature:u,currentCoverageVisible:p,footprintExtent:d}=this.viewModel,f=g?.imageSize;if(!u||!f||!d)return void this.viewModel.updateCurrentCoveragePolygon(null);const{cameraPitch:v,objectId:h}=u.attributes;if(a+v-l/2>180)return void this.viewModel.updateCurrentCoveragePolygon(null);let w=[];if(a+v+l/2<180){w=[[-o/2,l/2],[o/2,l/2],...a-l/2<0?[[-o/2,-l/2],[o/2,-l/2]]:[[o/2,-l/2],[-o/2,-l/2]]]}else if(a+v-l/2<180&&a+v+l/2>180){w=[[-o/2,-l/2]];const e=Math.floor(o/6),t=o/e;for(let i=0;i<=e;i++)w.push([i*t-o/2,90-a]);w.push([o/2,-l/2]);a-l/2<0&&([w[0],w[w.length-1]]=[w[w.length-1],w[0]])}const y=w.map((([e,t])=>s(c+e,a+t,f[0],f[1]))),b=await this.viewModel.getMapPoint(y,{feature:u,mode:"panorama",imageSize:f});r(i);const M=[b.map((({x:e,y:t})=>[e,t,1]))];M[0].push(M[0][0]);const C=new m({rings:M,spatialReference:b[0].spatialReference});this.viewModel.updateCurrentCoveragePolygon(new e({geometry:C,attributes:{imageID:h},symbol:n.clone(),visible:p}))}}}export{c as default};
5
+ import e from"../../../../Graphic.js";import{isSome as t}from"../../../../core/arrayUtils.js";import i from"../../../../core/Logger.js";import{waitTick as o,throwIfAborted as r,isAbortError as a}from"../../../../core/promiseUtils.js";import s from"../../../../geometry/Polygon.js";import{convertOrientationToPixelLocation as n}from"../../../../layers/orientedImagery/transformations/utils.js";import{activePolygonSymbol as l,polygonSymbol as c}from"../../symbols.js";class m{constructor(m){this.viewModel=m,this.createFootprints=async t=>{await o(t);const{coveragePolygons:i,currentBestFeature:r,isAdditionalCoverageVisible:a}=this.viewModel;for(const o of i)o?.imageID===r.attributes.objectId?this.viewModel.bestFeatureFootprint=new e({attributes:{imageID:o?.imageID},geometry:o,symbol:l,visible:!1}):this.viewModel.additionalFootprints.push(new e({attributes:{imageID:o?.imageID},geometry:o,symbol:c.clone(),visible:a}))},this.updateFootprint=async(o,n)=>{const{activeViewer:c,currentBestFeature:m,currentCoverageVisible:u,footprintExtent:g}=this.viewModel,p=c?.imageSize;if(m&&p&&g)try{const i=await this.viewModel.getMapPoint(o,{feature:m,mode:"default",imageSize:p});r(n);const a=i.filter(t);if(!a.length)return;const c=[a.map((({x:e,y:t})=>[e,t,1]))];c[0].push(c[0][0]);const g=new s({rings:c,spatialReference:a[0].spatialReference});this.viewModel.updateCurrentCoveragePolygon(new e({geometry:g,attributes:{imageID:m.attributes.objectId},symbol:l,visible:u}))}catch(d){a(d)||i.getLogger(this.viewModel).error("update-footprint",d)}else this.viewModel.updateCurrentCoveragePolygon(null)},this.updateFootprintPanorama=async(t,i)=>{const{horizontalFieldOfView:o,pitch:a,verticalFieldOfView:c,yaw:m}=t,{activeViewer:u,currentBestFeature:g,currentCoverageVisible:p,footprintExtent:d}=this.viewModel,f=u?.imageSize;if(!g||!f||!d)return void this.viewModel.updateCurrentCoveragePolygon(null);const{cameraPitch:v,objectId:h}=g.attributes;if(a+v-c/2>180)return void this.viewModel.updateCurrentCoveragePolygon(null);let w=[];if(a+v+c/2<180){w=[[-o/2,c/2],[o/2,c/2],...a-c/2<0?[[-o/2,-c/2],[o/2,-c/2]]:[[o/2,-c/2],[-o/2,-c/2]]]}else if(a+v-c/2<180&&a+v+c/2>180){w=[[-o/2,-c/2]];const e=Math.floor(o/6),t=o/e;for(let i=0;i<=e;i++)w.push([i*t-o/2,90-a]);w.push([o/2,-c/2]);a-c/2<0&&([w[0],w[w.length-1]]=[w[w.length-1],w[0]])}const y=w.map((([e,t])=>n(m+e,a+t,f[0],f[1]))),b=await this.viewModel.getMapPoint(y,{feature:g,mode:"panorama",imageSize:f});r(i);const M=[b.map((({x:e,y:t})=>[e,t,1]))];M[0].push(M[0][0]);const C=new s({rings:M,spatialReference:b[0].spatialReference});this.viewModel.updateCurrentCoveragePolygon(new e({geometry:C,attributes:{imageID:h},symbol:l.clone(),visible:p}))}}}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"../../../../geometry.js";import e from"../../../../Graphic.js";import{isSome as t}from"../../../../core/arrayUtils.js";import{throwIfAborted as i,waitTick as r}from"../../../../core/promiseUtils.js";import{ensureType as o}from"../../../../core/accessorSupport/ensureType.js";import a from"../../../../geometry/Mesh.js";import{projectWithZConversion as s}from"../../../../geometry/projection.js";import{MeshVertexAttributes as n}from"../../../../geometry/support/MeshVertexAttributes.js";import{projectVertices as l,updateFrustum as c,createCoveragePolygon as m}from"../../../../layers/orientedImagery/core/coverageUtils.js";import{activeFrustumSymbol as p,additionalFrustumSymbol as u}from"../../symbols.js";import f from"../../../../geometry/Point.js";class d{constructor(f){this.viewModel=f,this.createFootprints=async r=>{const{coverageFrustums:o,currentBestFeature:c,isAdditionalCoverageVisible:m,view:f}=this.viewModel,d=o.filter(t);for(const t of d){let o=t.clone();if(!f.spatialReference.equals(o.spatialReference)){const{components:e,spatialReference:t,origin:c,vertexAttributes:m,vertexSpace:p}=o;if("local"===p.type){const e=await s(c,f.spatialReference,r);i(r),o.centerAt(e)}else{const s=m.position,c=Float64Array.from(await l([...s],t.clone(),f.spatialReference.clone(),r));i(r),o=new a({vertexAttributes:new n({position:c}),components:e,spatialReference:f.spatialReference.clone()})}}t.imageID===c.attributes.objectId?this.viewModel.bestFeatureFootprint=new e({attributes:{imageID:t.imageID},geometry:o,symbol:p.clone(),visible:!1}):this.viewModel.additionalFootprints.push(new e({attributes:{imageID:t.imageID},geometry:o,symbol:u.clone(),visible:m}))}},this.updateFootprint=async(r,n)=>{const{currentBestFeature:l,activeViewer:m,footprintExtent:u,view:f}=this.viewModel,d=o(a,this.viewModel.bestFeatureFootprint.geometry),g=m?.imageSize;if(!(l&&d&&g&&u))return void this.viewModel.updateCurrentCoveragePolygon(null);const{cameraHeight:y,location:v,cameraPitch:h,horizontalFieldOfView:b,verticalFieldOfView:F,cameraRoll:M}=l.attributes,R=v.toArray(),{vertexAttributes:{position:j},spatialReference:V}=d,A=await w(j,V,v.spatialReference),I=await this.viewModel.getMapPoint(r,{feature:l,mode:"default",imageSize:g});i(n);let P=I.filter(t);if(!P.length)return;P[0].spatialReference.equals(v.spatialReference)||(P=await Promise.all(P.map((async e=>{const t=await s(e,v.spatialReference,n);return i(n),t}))));const C=await c(r.map((({x:e,y:t})=>[e,t])),P.map((e=>e.toArray())),{cameraHeight:y,cameraLocation:R,cameraPitch:h,frustumVertices:A,horizontalFieldOfView:b,imageHeight:g[1],imageWidth:g[0],inSRS:{wkid:v.spatialReference.wkid},outSRS:{wkid:f.spatialReference.wkid},verticalFieldOfView:F,cameraRoll:M??0,options:n});this.viewModel.updateCurrentCoveragePolygon(new e({attributes:{imageID:l.attributes.objectId},geometry:C,symbol:p.clone(),visible:this.viewModel.currentCoverageVisible}))},this.updateFootprintPanorama=async(t,i)=>{await r(i);const{horizontalFieldOfView:o,pitch:a,verticalFieldOfView:s,yaw:n}=t,l=this.viewModel.currentBestFeature?.clone();if(!l)return;const{attributes:c}=l;c.orientedImageryType=null,c.cameraHeading=(n+c.cameraHeading)%360,c.cameraPitch=a,c.horizontalFieldOfView=o,c.verticalFieldOfView=s,c.cameraRoll=0;const{frustum:u}=m(c);u?this.viewModel.updateCurrentCoveragePolygon(new e({attributes:{imageID:c.objectId},geometry:u,symbol:p.clone(),visible:this.viewModel.currentCoverageVisible})):this.viewModel.updateCurrentCoveragePolygon(null)}}updateGroundElevation(e,t){const{geometry:i}=this.viewModel.currentBestFeature,r=t.queryElevation(i);e.forEach((e=>{const{geometry:t}=e;switch(t?.type){case"mesh":{const{vertexAttributes:{position:e}}=t,i=Math.floor(e.length/3);for(let t=0;t<i;t+=1)e[3*t+2]+=r?.z??0;break}case"point":t.z=(t.z??0)+(r?.z??0)}}))}}async function w(e,t,i,r){return Float64Array.from((await Promise.all(e.reduce(((e,t,i)=>{const r=Math.floor(i/3);return e[r]=e[r]??[],e[r].push(t),e}),new Array).map((async e=>(await s(new f(e,t),i,r)).toArray())))).flat())}export{d as default};
5
+ import e from"../../../../Graphic.js";import{isSome as t}from"../../../../core/arrayUtils.js";import{throwIfAborted as i,waitTick as r}from"../../../../core/promiseUtils.js";import{ensureType as o}from"../../../../core/accessorSupport/ensureType.js";import a from"../../../../geometry/Mesh.js";import s from"../../../../geometry/Point.js";import{projectWithZConversion as n}from"../../../../geometry/projection.js";import{MeshVertexAttributes as l}from"../../../../geometry/support/MeshVertexAttributes.js";import{projectVertices as c,updateFrustum as m,createCoveragePolygon as p}from"../../../../layers/orientedImagery/core/coverageUtils.js";import{activeFrustumSymbol as u,additionalFrustumSymbol as f}from"../../symbols.js";class d{constructor(s){this.viewModel=s,this.createFootprints=async r=>{const{coverageFrustums:o,currentBestFeature:s,isAdditionalCoverageVisible:m,view:p}=this.viewModel,d=o.filter(t);for(const t of d){let o=t.clone();if(!p.spatialReference.equals(o.spatialReference)){const{components:e,spatialReference:t,origin:s,vertexAttributes:m,vertexSpace:u}=o;if("local"===u.type){const e=await n(s,p.spatialReference,r);i(r),o.centerAt(e)}else{const s=m.position,n=Float64Array.from(await c([...s],t.clone(),p.spatialReference.clone(),r));i(r),o=new a({vertexAttributes:new l({position:n}),components:e,spatialReference:p.spatialReference.clone()})}}t.imageID===s.attributes.objectId?this.viewModel.bestFeatureFootprint=new e({attributes:{imageID:t.imageID},geometry:o,symbol:u.clone(),visible:!1}):this.viewModel.additionalFootprints.push(new e({attributes:{imageID:t.imageID},geometry:o,symbol:f.clone(),visible:m}))}},this.updateFootprint=async(r,s)=>{const{currentBestFeature:l,activeViewer:c,footprintExtent:p,view:f}=this.viewModel,d=o(a,this.viewModel.bestFeatureFootprint.geometry),g=c?.imageSize;if(!(l&&d&&g&&p))return void this.viewModel.updateCurrentCoveragePolygon(null);const{cameraHeight:v,location:y,cameraPitch:h,horizontalFieldOfView:b,verticalFieldOfView:F,cameraRoll:M}=l.attributes,R=y.toArray(),{vertexAttributes:{position:j},spatialReference:V}=d,A=await w(j,V,y.spatialReference),I=await this.viewModel.getMapPoint(r,{feature:l,mode:"default",imageSize:g});i(s);let P=I.filter(t);if(!P.length)return;P[0].spatialReference.equals(y.spatialReference)||(P=await Promise.all(P.map((async e=>{const t=await n(e,y.spatialReference,s);return i(s),t}))));const C=await m(r.map((({x:e,y:t})=>[e,t])),P.map((e=>e.toArray())),{cameraHeight:v,cameraLocation:R,cameraPitch:h,frustumVertices:A,horizontalFieldOfView:b,imageHeight:g[1],imageWidth:g[0],inSRS:{wkid:y.spatialReference.wkid},outSRS:{wkid:f.spatialReference.wkid},verticalFieldOfView:F,cameraRoll:M??0,options:s});this.viewModel.updateCurrentCoveragePolygon(new e({attributes:{imageID:l.attributes.objectId},geometry:C,symbol:u.clone(),visible:this.viewModel.currentCoverageVisible}))},this.updateFootprintPanorama=async(t,i)=>{await r(i);const{horizontalFieldOfView:o,pitch:a,verticalFieldOfView:s,yaw:n}=t,l=this.viewModel.currentBestFeature?.clone();if(!l)return;const{attributes:c}=l;c.orientedImageryType=null,c.cameraHeading=(n+c.cameraHeading)%360,c.cameraPitch=a,c.horizontalFieldOfView=o,c.verticalFieldOfView=s,c.cameraRoll=0;const{frustum:m}=p(c);m?this.viewModel.updateCurrentCoveragePolygon(new e({attributes:{imageID:c.objectId},geometry:m,symbol:u.clone(),visible:this.viewModel.currentCoverageVisible})):this.viewModel.updateCurrentCoveragePolygon(null)}}updateGroundElevation(e,t){const{geometry:i}=this.viewModel.currentBestFeature,r=t.queryElevation(i);e.forEach((e=>{const{geometry:t}=e;switch(t?.type){case"mesh":{const{vertexAttributes:{position:e}}=t,i=Math.floor(e.length/3);for(let t=0;t<i;t+=1)e[3*t+2]+=r?.z??0;break}case"point":t.z=(t.z??0)+(r?.z??0)}}))}}async function w(e,t,i,r){return Float64Array.from((await Promise.all(e.reduce(((e,t,i)=>{const r=Math.floor(i/3);return e[r]=e[r]??[],e[r].push(t),e}),new Array).map((async e=>(await n(new s(e,t),i,r)).toArray())))).flat())}export{d as default};
@@ -0,0 +1,5 @@
1
+ /*
2
+ All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
+ See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
+ */
5
+ import{_ as e}from"../../../chunks/tslib.es6.js";import{measurementAreaUnits as t}from"../../../core/unitUtils.js";import"../../../core/Logger.js";import"../../../core/has.js";import"../../../core/RandomLCG.js";import"../../../core/Error.js";import{subclass as a}from"../../../core/accessorSupport/decorators/subclass.js";import{css as s}from"../css.js";import c from"./ImageMeasurement.js";import{loadCalciteComponents as r}from"../../support/componentsUtils.js";import{tsx as o}from"../../support/jsxFactory.js";import{UnitSelect as n}from"../../support/UnitSelect.js";let i=class extends c{constructor(e){super(e)}loadDependencies(){return r({action:()=>import("@esri/calcite-components/dist/components/calcite-action"),panel:()=>import("@esri/calcite-components/dist/components/calcite-panel"),button:()=>import("@esri/calcite-components/dist/components/calcite-button"),table:()=>import("@esri/calcite-components/dist/components/calcite-table"),icon:()=>import("@esri/calcite-components/dist/components/calcite-icon"),"table-row":()=>import("@esri/calcite-components/dist/components/calcite-table-row"),"table-header":()=>import("@esri/calcite-components/dist/components/calcite-table-header"),"table-cell":()=>import("@esri/calcite-components/dist/components/calcite-table-cell")})}render(){const{oiViewModel:{displayNewMeasurementButton:e,areaMeasurementResult:a},pixelAreaMeasurementUnit:c,messages:r}=this;return o("calcite-panel",{class:s.measurementResults,key:"measurement-result-container-area"},!e&&!a&&o("div",{class:s.measurementDisplay,key:"measurement-result-area"},r.startMeasurement),o("calcite-button",{class:s.measurementsButton,onclick:()=>this.oiViewModel.newMeasurement("area")},r.newMeasurement),a?o("div",{class:s.measurementsBar},o(n,{options:t,selectLabel:"",value:c,onChange:e=>this.handleAreaMeasurementUnitChange(e)}),a?o("calcite-action",{bind:this,icon:"copy-to-clipboard",onclick:()=>this.copyMeasurementResult("area"),scale:"s",text:""}):null):null,a?o("calcite-table",{bordered:!0,caption:"Measurement Table",class:s.measurementsTable,scale:"s"},o("calcite-table-row",{slot:"table-header"},o("calcite-table-header",{alignment:"center",heading:r.value}),o("calcite-table-header",{alignment:"center",heading:r.accuracy})),o("calcite-table-row",null,o("calcite-table-cell",{alignment:"center"},this.getConvertedAreaString("measurement")),o("calcite-table-cell",{alignment:"center"},this.oiViewModel.areaMeasurementAccuracy?this.getAccuracy("area"):o("calcite-icon",{icon:"hourglass-active",scale:"s"})))):null)}};i=e([a("esri.widgets.OrientedImageryViewer.components.ImageAreaMeasurement")],i);const l=i;export{l as default};
@@ -0,0 +1,5 @@
1
+ /*
2
+ All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
+ See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
+ */
5
+ import{_ as e}from"../../../chunks/tslib.es6.js";import{measurementLengthUnits as t}from"../../../core/unitUtils.js";import"../../../core/Logger.js";import"../../../core/has.js";import"../../../core/RandomLCG.js";import"../../../core/Error.js";import{subclass as s}from"../../../core/accessorSupport/decorators/subclass.js";import{css as c}from"../css.js";import a from"./ImageMeasurement.js";import{loadCalciteComponents as n}from"../../support/componentsUtils.js";import{tsx as i}from"../../support/jsxFactory.js";import{UnitSelect as o}from"../../support/UnitSelect.js";let r=class extends a{constructor(e){super(e)}loadDependencies(){return n({action:()=>import("@esri/calcite-components/dist/components/calcite-action"),panel:()=>import("@esri/calcite-components/dist/components/calcite-panel"),button:()=>import("@esri/calcite-components/dist/components/calcite-button"),table:()=>import("@esri/calcite-components/dist/components/calcite-table"),icon:()=>import("@esri/calcite-components/dist/components/calcite-icon"),"table-row":()=>import("@esri/calcite-components/dist/components/calcite-table-row"),"table-header":()=>import("@esri/calcite-components/dist/components/calcite-table-header"),"table-cell":()=>import("@esri/calcite-components/dist/components/calcite-table-cell")})}render(){const{oiViewModel:{displayNewMeasurementButton:e,distanceMeasurementResult:s},pixelMeasurementUnit:a,messages:n}=this;return i("calcite-panel",{class:c.measurementResults,key:"measurement-result-container-distance"},!e&&!s&&i("div",{class:c.measurementDisplay,key:"measurement-result-distance"},n.startMeasurement),i("calcite-button",{class:c.measurementsButton,onclick:()=>this.oiViewModel.newMeasurement("distance")},n.newMeasurement),s?i("div",{class:c.measurementsBar},i(o,{options:t,selectLabel:"",value:a,onChange:e=>this.handleDistanceMeasurementUnitChange(e)}),s?i("calcite-action",{bind:this,icon:"copy-to-clipboard",onclick:()=>this.copyMeasurementResult("distance"),scale:"s",text:""}):null):null,s?i("calcite-table",{bordered:!0,caption:"Measurement Table",class:c.measurementsTable,scale:"s"},i("calcite-table-row",{slot:"table-header"},i("calcite-table-header",{alignment:"center",heading:n.value}),i("calcite-table-header",{alignment:"center",heading:n.accuracy})),i("calcite-table-row",null,i("calcite-table-cell",{alignment:"center"},this.getConvertedDistanceString("measurement")),i("calcite-table-cell",{alignment:"center"},this.oiViewModel.distanceAccuracyArray.length?this.getAccuracy("distance"):i("calcite-icon",{icon:"hourglass-active",scale:"s"})))):null)}};r=e([s("esri.widgets.OrientedImageryViewer.components.ImageDistanceMeasurement")],r);const l=r;export{l as default};
@@ -0,0 +1,5 @@
1
+ /*
2
+ All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
+ See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
+ */
5
+ import{_ as e}from"../../../chunks/tslib.es6.js";import"../../../intl.js";import t from"../../../core/Identifiable.js";import{property as r}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/Logger.js";import"../../../core/RandomLCG.js";import{subclass as s}from"../../../core/accessorSupport/decorators/subclass.js";import a from"../../Widget.js";import{getConvertedArea as i,getConvertedDistance as n}from"../imageMeasurementUtils.js";import{substitute as c}from"../../../intl/substitute.js";let o=class extends(t.IdentifiableMixin(a)){constructor(e){super(e),this.messages=null,this.pixelMeasurementUnit="meters",this.pixelAreaMeasurementUnit="square-meters"}copyMeasurementResult(e){let t,r;switch(e){case"area":t={measurement:this.getConvertedAreaString("measurement"),accuracy:this.getConvertedAreaString("accuracy")},r="{measurement} ± {accuracy}";break;case"distance":t={measurement:this.getConvertedDistanceString("measurement"),accuracy:this.getConvertedDistanceString("accuracy")},r="{measurement} ± {accuracy}"}const s=c(r,t);this.oiViewModel.copyToClipboard(s)}getAccuracy(e){let t,r;switch(e){case"area":return t={accuracy:this.getConvertedAreaString("accuracy")},r="± {accuracy}",c(r,t);case"distance":return t={accuracy:this.getConvertedDistanceString("accuracy")},r="± {accuracy}",c(r,t)}}getConvertedAreaString(e){const{oiViewModel:t,measurementUnitMessages:r,pixelAreaMeasurementUnit:s,messages:a}=this;return i(e,t.areaMeasurementResult,t.areaMeasurementAccuracy,r,s,a.startMeasurement)}getConvertedDistanceString(e){const{oiViewModel:t,measurementUnitMessages:r,pixelMeasurementUnit:s,messages:a}=this;return n(e,t.distanceMeasurementResult,t.distanceAccuracyArray,r,s,a.startMeasurement)}handleDistanceMeasurementUnitChange(e){this.pixelMeasurementUnit=e}handleAreaMeasurementUnitChange(e){this.pixelAreaMeasurementUnit=e}};e([r()],o.prototype,"messages",void 0),e([r()],o.prototype,"measurementUnitMessages",void 0),e([r()],o.prototype,"pixelMeasurementUnit",void 0),e([r()],o.prototype,"pixelAreaMeasurementUnit",void 0),e([r()],o.prototype,"oiViewModel",void 0),o=e([s("esri.widgets.OrientedImageryViewer.components.ImageMeasurement")],o);const m=o;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"../../../geometry.js";import t from"../../../Map.js";import r from"../../../core/Error.js";import i from"../../../core/Evented.js";import s from"../../../core/Logger.js";import{clamp as a}from"../../../core/mathUtils.js";import{destroyMaybe as o}from"../../../core/maybe.js";import{isAbortError as n}from"../../../core/promiseUtils.js";import{watch as m,syncAndInitial as l,initial as h}from"../../../core/reactiveUtils.js";import{property as c}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/RandomLCG.js";import{subclass as d}from"../../../core/accessorSupport/decorators/subclass.js";import{rotate as p,intersect as g,nearestCoordinate as y}from"../../../geometry/geometryEngine.js";import u from"../../../layers/GraphicsLayer.js";import _ from"../../../layers/ImageryTileLayer.js";import f from"../../../layers/support/RasterFunction.js";import{convolutionKernel as v}from"../../../layers/support/rasterFunctionConstants.js";import R from"../../../layers/support/TileInfo.js";import x from"../../../views/MapView.js";import{getResolutionToScaleFactor as w}from"../../../views/2d/viewpointUtils.js";import{logAndThrow as C,getMissingPropertyErrorName as I,getMissingPropertyErrorMessage as b,castImageSource as j}from"../utils.js";import P from"../../../geometry/SpatialReference.js";import S from"../../../geometry/Polygon.js";import k from"../../../geometry/Point.js";const E={click:"click-handle",enhancements:"enhancements-handle",rotation:"rotation-handle"};let L=class extends i.EventedAccessor{constructor(e){super(e),this._imageChanged=!1,this._panConstraint=null,this._image=null,this._loadController=null,this._overlays=new u({blendMode:"source-atop"}),this._map=new t,this.autoLoad=!1,this.clickAction="none",this.error=null,this.imageSource=null,this.imageRotation=0,this.state="ready",this._cancelLoadWithController=()=>{this._loadController?.abort(),this._loadController=null},this._createImageHandles=()=>{this.removeHandles(E.enhancements),this.addHandles(m((()=>[this.brightness,this.contrast,this.sharpness]),(([e,t,r])=>{this.image?.loaded&&(this.image.effect=`contrast(${10*(t+10)}%) brightness(${10*(e+10)}%)`,this.sharpenImage(this.image,r))}),l))},this._createPanConstraint=()=>{const{image:e,imageRenderer:t}=this,r=r=>{if(!(e&&t&&r.targetGeometry&&e.serviceRasterInfo))return r;const{extent:i}=e.serviceRasterInfo,{constraints:s,rotation:a,width:o,height:n}=t,{extent:m}=p(S.fromExtent(i),a),{width:l,height:h}=m,c=r.targetGeometry.clone(),d=s.scaleToZoom(r.scale),g=1/2**d,u=o/n;let _=g*l,f=g*h;d&&(l/o>h/n?f=_/u:_=f*u);const v=m.clone();return v.xmin+=_/2,v.xmax-=_/2,v.ymin+=f/2,v.ymax-=f/2,r.targetGeometry=y(v,c).coordinate,this.state="image-loaded",r};return{constrain:r,applyPanConstraint:r}},this._createResizeHandles=e=>{e.removeHandles("resize"),e.addHandles(m((()=>{if(!this.imageRenderer.ready)return;const{extent:t}=e.serviceRasterInfo,{width:r,height:i,rotation:s}=this.imageRenderer,{extent:a}=p(S.fromExtent(t),s),{width:o,height:n}=a;return Math.max(o/r,n/i)}),(e=>{if(!this.imageRenderer||null==e)return;const{constraints:t,scale:r,spatialReference:i}=this.imageRenderer,s=t.minScale,a=w(i),o=.25*a,n=a*e;let m=n;const l=[];for(;m>o;)l.push(m),m/=2;l.push(m);const{lods:h}=R.create({scales:l});if(t.set({minScale:n,lods:h}),this._imageChanged)return this.imageRenderer.scale=n,void(this._imageChanged=!1);this.imageRenderer.scale=Math.abs(r-s)<=1e-6?n:r}),l),"resize")},this._loadImageInternal=(e,t={})=>{this.clearImage(),this.error=null,this._imageChanged=!0,this.state="image-loading";const r="string"==typeof e,i=r?void 0:e.datasetFormat,a=r?e:e.url,{customParameters:o,options:m}=t;return this._image=new _({ioConfig:{skipExtensions:["aux.xml","jgw"],skipMapInfo:!0,datasetFormat:i},url:a,customParameters:o}),this._image.when((e=>{this._updatePanConstraint(),this._createResizeHandles(e),this._map.add(e),this.state="image-loaded"}),(t=>{n(t)?this.state="image-load-aborted":(this.state="image-load-error",this.error=t,s.getLogger(this).error(`error occurred while loading image ${r?e:JSON.stringify(e)}`,t),this.imageSource=null)})),this._image.load(m)},this._loadWithController=()=>{this._cancelLoadWithController(),this._loadController=new AbortController,this.loadImage(this._loadController)},this._updatePanConstraint=()=>{this._panConstraint&&this.imageRenderer.constraints.customConstraints.remove(this._panConstraint),this._panConstraint=this._createPanConstraint(),this.imageRenderer.constraints.customConstraints.add(this._panConstraint)},this.addGraphic=(e,t)=>{this._overlays.graphics.add(e,t)},this.addManyGraphics=e=>{this._overlays.addMany(e)},this.clearGraphics=()=>{this._overlays.graphics.removeAll()},this.clearImage=()=>{this.image&&(this._map.layers.remove(this.image),this._image=o(this._image))},this.loadImage=e=>{const{customParameters:t,imageSource:i}=this;return i?this._loadImageInternal(i,{customParameters:t,options:e}):C(this.declaredClass,new r(I("image-viewer"),b("ImageViewerViewModel","imageSource")))},this.removeGraphic=e=>{this._overlays.remove(e)},this.removeManyGraphics=e=>{this._overlays.removeMany(e)},this._imageRenderer=new x({constraints:{snapToZoom:!0,rotationEnabled:!1},map:this._map,popupEnabled:!1,spatialReference:P.WebMercator,ui:{components:["zoom"]}})}destroy(){this._imageRenderer.destroy()}initialize(){this.state="initialized",this.addHandles([m((()=>this.imageSource),(e=>{e&&this.autoLoad&&this._loadWithController()}),l),m((()=>this.image?.loaded),(()=>{this._createImageHandles()})),m((()=>this.imageRotation),(()=>{this._rotateImage()})),m((()=>this.imageRenderer.map),((e,t)=>{t?.layers.remove(this._overlays),e?.layers.add(this._overlays)}),h),m((()=>this.imageRenderer.map.allLayers.length),(e=>{e&&this.imageRenderer.map.layers.reorder(this._overlays,e-1)}),l),m((()=>this.clickAction),(e=>{this.removeHandles(E.click),"none"!==e&&this.addHandles(this.imageRenderer.on("click",(t=>{if(this.image?.loaded&&this.imageRenderer.ready)switch(e){case"emit":t.stopPropagation(),this.emit("click",t);break;case"hittest":t.stopPropagation(),t.async((async()=>{const e=await this.imageRenderer.hitTest(t.screenPoint,{include:this._overlays});this.emit("hittest-response",e)}));break;case"pixel-location":{if(t.stopPropagation(),!this.image?.serviceRasterInfo||!t.mapPoint)return void this.emit("pixel-location",null);const{extent:e,pixelSize:r}=this.image.serviceRasterInfo,i=(t.mapPoint.x-e.xmin)*r.x,s=(e.ymax-t.mapPoint.y)*r.y,a=new k({x:i,y:s,spatialReference:e.spatialReference});this.emit("pixel-location",a);break}}})))}),l)])}get brightness(){return this._get("brightness")??0}set brightness(e){this._set("brightness",a(e,-10,10))}get contrast(){return this._get("contrast")??0}set contrast(e){this._set("contrast",a(e,-10,10))}get image(){return this._image}get imagePointsInView(){const{extent:e,ready:t}=this.imageRenderer,r=this.imageRotation,i=this.image?.fullExtent,s=this.image?.serviceRasterInfo,a=!0===this._imageRenderer.allLayerViews.find((({layer:e})=>e===this.image))?.attached;if(!(t&&e&&i&&s&&a))return null;const o=p(S.fromExtent(e),r),n=S.fromExtent(i),m=g(o,n),{rings:l}=m;return l.flat().map((([e,t])=>({x:(e-s.extent.xmin)*s.pixelSize.x,y:(s.extent.ymax-t)*s.pixelSize.y})))}get imageSize(){const{image:e}=this;if(!e?.raster)return null;const{width:t,height:r}=e.raster.rasterInfo;return[t,r]}get imageRenderer(){return this._imageRenderer}get imageView(){return this.imageRenderer.allLayerViews.find((e=>e.layer===this.image))}get sharpness(){return this._get("sharpness")??0}set sharpness(e){this._set("sharpness",a(e,0,1))}_rotateImage(){this.imageRenderer.constraints.rotationEnabled=!0,this.imageRenderer.rotation=this.imageRotation,this.imageRenderer.constraints.rotationEnabled=!1}sharpenImage(e,t){if(!t)return void(e.rasterFunction=null);const r=[0,-1*t,0,-1*t,4*t+1,-1*t,0,-1*t,0],i=new f({functionName:"Convolution",functionArguments:{type:v.userDefined,cols:3,rows:3,kernel:r,convolutionType:v.userDefined}});e.rasterFunction=i}};e([c()],L.prototype,"_image",void 0),e([c()],L.prototype,"_imageRenderer",void 0),e([c()],L.prototype,"_loadController",void 0),e([c()],L.prototype,"_overlays",void 0),e([c()],L.prototype,"_map",void 0),e([c({type:Boolean})],L.prototype,"autoLoad",void 0),e([c({type:Number})],L.prototype,"brightness",null),e([c()],L.prototype,"clickAction",void 0),e([c({type:Number})],L.prototype,"contrast",null),e([c({type:Object})],L.prototype,"customParameters",void 0),e([c({type:r})],L.prototype,"error",void 0),e([c({readOnly:!0})],L.prototype,"image",null),e([c({readOnly:!0})],L.prototype,"imagePointsInView",null),e([c({readOnly:!0})],L.prototype,"imageSize",null),e([c({cast:j})],L.prototype,"imageSource",void 0),e([c({readOnly:!0})],L.prototype,"imageRenderer",null),e([c({type:Number})],L.prototype,"imageRotation",void 0),e([c()],L.prototype,"imageView",null),e([c({type:Number})],L.prototype,"sharpness",null),e([c()],L.prototype,"state",void 0),L=e([d("esri.widgets.OrientedImageryViewer.components.ImageViewerViewModel")],L);const M=L;export{M as default};
5
+ import{_ as e}from"../../../chunks/tslib.es6.js";import t from"../../../Map.js";import r from"../../../core/Error.js";import i from"../../../core/Evented.js";import s from"../../../core/Logger.js";import{clamp as a}from"../../../core/mathUtils.js";import{destroyMaybe as o}from"../../../core/maybe.js";import{isAbortError as n}from"../../../core/promiseUtils.js";import{watch as m,syncAndInitial as l,initial as h}from"../../../core/reactiveUtils.js";import{property as c}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/RandomLCG.js";import{subclass as d}from"../../../core/accessorSupport/decorators/subclass.js";import{rotate as p,intersect as g,nearestCoordinate as u}from"../../../geometry/geometryEngine.js";import y from"../../../geometry/Point.js";import _ from"../../../geometry/Polygon.js";import f from"../../../geometry/SpatialReference.js";import v from"../../../layers/GraphicsLayer.js";import R from"../../../layers/ImageryTileLayer.js";import x from"../../../layers/support/RasterFunction.js";import{convolutionKernel as w}from"../../../layers/support/rasterFunctionConstants.js";import C from"../../../layers/support/TileInfo.js";import I from"../../../views/MapView.js";import{getResolutionToScaleFactor as b}from"../../../views/2d/viewpointUtils.js";import{logAndThrow as j,getMissingPropertyErrorName as P,getMissingPropertyErrorMessage as S,castImageSource as k}from"../utils.js";const E={click:"click-handle",enhancements:"enhancements-handle",rotation:"rotation-handle"};let L=class extends i.EventedAccessor{constructor(e){super(e),this._imageChanged=!1,this._panConstraint=null,this._image=null,this._loadController=null,this._overlays=new v({blendMode:"source-atop"}),this._map=new t,this.autoLoad=!1,this.clickAction="none",this.error=null,this.imageSource=null,this.imageRotation=0,this.state="ready",this._cancelLoadWithController=()=>{this._loadController?.abort(),this._loadController=null},this._createImageHandles=()=>{this.removeHandles(E.enhancements),this.addHandles(m((()=>[this.brightness,this.contrast,this.sharpness]),(([e,t,r])=>{this.image?.loaded&&(this.image.effect=`contrast(${10*(t+10)}%) brightness(${10*(e+10)}%)`,this.sharpenImage(this.image,r))}),l))},this._createPanConstraint=()=>{const{image:e,imageRenderer:t}=this,r=r=>{if(!(e&&t&&r.targetGeometry&&e.serviceRasterInfo))return r;const{extent:i}=e.serviceRasterInfo,{constraints:s,rotation:a,width:o,height:n}=t,{extent:m}=p(_.fromExtent(i),a),{width:l,height:h}=m,c=r.targetGeometry.clone(),d=s.scaleToZoom(r.scale),g=1/2**d,y=o/n;let f=g*l,v=g*h;d&&(l/o>h/n?v=f/y:f=v*y);const R=m.clone();return R.xmin+=f/2,R.xmax-=f/2,R.ymin+=v/2,R.ymax-=v/2,r.targetGeometry=u(R,c).coordinate,this.state="image-loaded",r};return{constrain:r,applyPanConstraint:r}},this._createResizeHandles=e=>{e.removeHandles("resize"),e.addHandles(m((()=>{if(!this.imageRenderer.ready)return;const{extent:t}=e.serviceRasterInfo,{width:r,height:i,rotation:s}=this.imageRenderer,{extent:a}=p(_.fromExtent(t),s),{width:o,height:n}=a;return Math.max(o/r,n/i)}),(e=>{if(!this.imageRenderer||null==e)return;const{constraints:t,scale:r,spatialReference:i}=this.imageRenderer,s=t.minScale,a=b(i),o=.25*a,n=a*e;let m=n;const l=[];for(;m>o;)l.push(m),m/=2;l.push(m);const{lods:h}=C.create({scales:l});if(t.set({minScale:n,lods:h}),this._imageChanged)return this.imageRenderer.scale=n,void(this._imageChanged=!1);this.imageRenderer.scale=Math.abs(r-s)<=1e-6?n:r}),l),"resize")},this._loadImageInternal=(e,t={})=>{this.clearImage(),this.error=null,this._imageChanged=!0,this.state="image-loading";const r="string"==typeof e,i=r?void 0:e.datasetFormat,a=r?e:e.url,{customParameters:o,options:m}=t;return this._image=new R({ioConfig:{skipExtensions:["aux.xml","jgw"],skipMapInfo:!0,datasetFormat:i},url:a,customParameters:o}),this._image.when((e=>{this._updatePanConstraint(),this._createResizeHandles(e),this._map.add(e),this.state="image-loaded"}),(t=>{n(t)?this.state="image-load-aborted":(this.state="image-load-error",this.error=t,s.getLogger(this).error(`error occurred while loading image ${r?e:JSON.stringify(e)}`,t),this.imageSource=null)})),this._image.load(m)},this._loadWithController=()=>{this._cancelLoadWithController(),this._loadController=new AbortController,this.loadImage(this._loadController)},this._updatePanConstraint=()=>{this._panConstraint&&this.imageRenderer.constraints.customConstraints.remove(this._panConstraint),this._panConstraint=this._createPanConstraint(),this.imageRenderer.constraints.customConstraints.add(this._panConstraint)},this.addGraphic=(e,t)=>{this._overlays.graphics.add(e,t)},this.addManyGraphics=e=>{this._overlays.addMany(e)},this.clearGraphics=()=>{this._overlays.graphics.removeAll()},this.clearImage=()=>{this.image&&(this._map.layers.remove(this.image),this._image=o(this._image))},this.loadImage=e=>{const{customParameters:t,imageSource:i}=this;return i?this._loadImageInternal(i,{customParameters:t,options:e}):j(this.declaredClass,new r(P("image-viewer"),S("ImageViewerViewModel","imageSource")))},this.removeGraphic=e=>{this._overlays.remove(e)},this.removeManyGraphics=e=>{this._overlays.removeMany(e)},this._imageRenderer=new I({constraints:{snapToZoom:!0,rotationEnabled:!1},map:this._map,popupEnabled:!1,spatialReference:f.WebMercator,ui:{components:["zoom"]}})}destroy(){this._imageRenderer.destroy()}initialize(){this.state="initialized",this.addHandles([m((()=>this.imageSource),(e=>{e&&this.autoLoad&&this._loadWithController()}),l),m((()=>this.image?.loaded),(()=>{this._createImageHandles()})),m((()=>this.imageRotation),(()=>{this._rotateImage()})),m((()=>this.imageRenderer.map),((e,t)=>{t?.layers.remove(this._overlays),e?.layers.add(this._overlays)}),h),m((()=>this.imageRenderer.map.allLayers.length),(e=>{e&&this.imageRenderer.map.layers.reorder(this._overlays,e-1)}),l),m((()=>this.clickAction),(e=>{this.removeHandles(E.click),"none"!==e&&this.addHandles(this.imageRenderer.on("click",(t=>{if(this.image?.loaded&&this.imageRenderer.ready)switch(e){case"emit":t.stopPropagation(),this.emit("click",t);break;case"hittest":t.stopPropagation(),t.async((async()=>{const e=await this.imageRenderer.hitTest(t.screenPoint,{include:this._overlays});this.emit("hittest-response",e)}));break;case"pixel-location":{if(t.stopPropagation(),!this.image?.serviceRasterInfo||!t.mapPoint)return void this.emit("pixel-location",null);const{extent:e,pixelSize:r}=this.image.serviceRasterInfo,i=(t.mapPoint.x-e.xmin)*r.x,s=(e.ymax-t.mapPoint.y)*r.y,a=new y({x:i,y:s,spatialReference:e.spatialReference});this.emit("pixel-location",a);break}}})))}),l)])}get brightness(){return this._get("brightness")??0}set brightness(e){this._set("brightness",a(e,-10,10))}get contrast(){return this._get("contrast")??0}set contrast(e){this._set("contrast",a(e,-10,10))}get image(){return this._image}get imagePointsInView(){const{extent:e,ready:t}=this.imageRenderer,r=this.imageRotation,i=this.image?.fullExtent,s=this.image?.serviceRasterInfo,a=!0===this._imageRenderer.allLayerViews.find((({layer:e})=>e===this.image))?.attached;if(!(t&&e&&i&&s&&a))return null;const o=p(_.fromExtent(e),r),n=_.fromExtent(i),m=g(o,n),{rings:l}=m;return l.flat().map((([e,t])=>({x:(e-s.extent.xmin)*s.pixelSize.x,y:(s.extent.ymax-t)*s.pixelSize.y})))}get imageSize(){const{image:e}=this;if(!e?.raster)return null;const{width:t,height:r}=e.raster.rasterInfo;return[t,r]}get imageRenderer(){return this._imageRenderer}get imageView(){return this.imageRenderer.allLayerViews.find((e=>e.layer===this.image))}get sharpness(){return this._get("sharpness")??0}set sharpness(e){this._set("sharpness",a(e,0,1))}_rotateImage(){this.imageRenderer.constraints.rotationEnabled=!0,this.imageRenderer.rotation=this.imageRotation,this.imageRenderer.constraints.rotationEnabled=!1}sharpenImage(e,t){if(!t)return void(e.rasterFunction=null);const r=[0,-1*t,0,-1*t,4*t+1,-1*t,0,-1*t,0],i=new x({functionName:"Convolution",functionArguments:{type:w.userDefined,cols:3,rows:3,kernel:r,convolutionType:w.userDefined}});e.rasterFunction=i}};e([c()],L.prototype,"_image",void 0),e([c()],L.prototype,"_imageRenderer",void 0),e([c()],L.prototype,"_loadController",void 0),e([c()],L.prototype,"_overlays",void 0),e([c()],L.prototype,"_map",void 0),e([c({type:Boolean})],L.prototype,"autoLoad",void 0),e([c({type:Number})],L.prototype,"brightness",null),e([c()],L.prototype,"clickAction",void 0),e([c({type:Number})],L.prototype,"contrast",null),e([c({type:Object})],L.prototype,"customParameters",void 0),e([c({type:r})],L.prototype,"error",void 0),e([c({readOnly:!0})],L.prototype,"image",null),e([c({readOnly:!0})],L.prototype,"imagePointsInView",null),e([c({readOnly:!0})],L.prototype,"imageSize",null),e([c({cast:k})],L.prototype,"imageSource",void 0),e([c({readOnly:!0})],L.prototype,"imageRenderer",null),e([c({type:Number})],L.prototype,"imageRotation",void 0),e([c()],L.prototype,"imageView",null),e([c({type:Number})],L.prototype,"sharpness",null),e([c()],L.prototype,"state",void 0),L=e([d("esri.widgets.OrientedImageryViewer.components.ImageViewerViewModel")],L);const M=L;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
- const e="esri-oriented-imagery-viewer",o=`${e}__carousel`,a=`${e}__image-enhancement`,t=`${e}__navigation`,r="--oi-navigation-tool-rotation-from",n="--oi-navigation-tool-rotation-to",i=`${e}__image-overlays`,s={alert:`${e}__alert`,addCoverage:`${e}__body-additional-coverage`,addExpPoints:`${e}__body-additional-camera-locations`,body:`${e}__body`,carousel:`${e}__carousel`,carouselContainer:`${o}-container`,carouselContent:`${o}-content`,carouselItem:`${o}-item`,carouselItemWrapper:`${o}-item-wrapper`,close:`${e}__close`,currentCoverage:`${e}__body-current-coverage`,feature:`${t}-feature`,footprint:`${e}__body-footprint`,imageEnhancementToolContainer:`${a}-tool-container`,imageEnhancementTools:`${a}-tools`,imageEnhancementWrapper:`${a}-wrapper`,imageOverlays:i,imageOverlaysContainer:`${i}-container`,imageOverlaysNoResult:`${i}-no-result`,imageOverlaysIncreasedHeight:`${i}-increased-height`,imageOverlaysLayerList:`${i}-layer-list`,messageBox:`${e}__message-box`,navigationPathOffset0:`${t}-feature-path-stop-offset-0`,navigationPathOffset1:`${t}-feature-path-stop-offset-1`,navigationWrapper:`${t}-wrapper`,navigationZoomed:`${t}-wrapper--zoomed`,north:`${t}-pointer-north`,outerSector:`${t}-sector-outer`,overlaysSwitch:`${i}-switch`,pointer:`${t}-pointer`,rotateWithAnimation:`${t}-animate`,sector:`${t}-sector`,sectorCross:`${t}-sector-cross`,sectorDisabled:`${t}-sector-disabled`,sectorEnabled:`${t}-sector-enabled`,sectorSeparator:`${t}-sector-separator`,selectedFeaturePath:`${t}-feature-path`,submenu:`${e}__submenu`,viewer:`${e}__viewer`,viewerHidden:`${e}__viewer--hidden`,viewerContainer:`${e}__viewer-container`};export{o as carousel,s as css,a as imageEnhancement,t as navigation,r as navigationToolRotationFrom,n as navigationToolRotationTo,e as root};
5
+ const e="esri-oriented-imagery-viewer",a=`${e}__carousel`,t=`${e}__image-enhancement`,r=`${e}__navigation`,o="--oi-navigation-tool-rotation-from",n="--oi-navigation-tool-rotation-to",s=`${e}__image-overlays`,i={alert:`${e}__alert`,addCoverage:`${e}__body-additional-coverage`,addExpPoints:`${e}__body-additional-camera-locations`,body:`${e}__body`,carousel:`${e}__carousel`,carouselContainer:`${a}-container`,carouselContent:`${a}-content`,carouselItem:`${a}-item`,carouselItemWrapper:`${a}-item-wrapper`,close:`${e}__close`,currentCoverage:`${e}__body-current-coverage`,feature:`${r}-feature`,footprint:`${e}__body-footprint`,imageEnhancementToolContainer:`${t}-tool-container`,imageEnhancementTools:`${t}-tools`,imageEnhancementWrapper:`${t}-wrapper`,imageOverlays:s,imageOverlaysContainer:`${s}-container`,imageOverlaysNoResult:`${s}-no-result`,imageOverlaysIncreasedHeight:`${s}-increased-height`,imageOverlaysLayerList:`${s}-layer-list`,measurementResults:`${e}__measurement-results`,measurementsBar:`${e}__measurements-bar`,measurementsButton:`${e}__measurements-button`,measurementsTable:`${e}__measurements-table`,measurementDisplay:`${e}__measurement-display`,messageBox:`${e}__message-box`,navigationPathOffset0:`${r}-feature-path-stop-offset-0`,navigationPathOffset1:`${r}-feature-path-stop-offset-1`,navigationWrapper:`${r}-wrapper`,navigationZoomed:`${r}-wrapper--zoomed`,north:`${r}-pointer-north`,outerSector:`${r}-sector-outer`,overlaysSwitch:`${s}-switch`,pointer:`${r}-pointer`,rotateWithAnimation:`${r}-animate`,sector:`${r}-sector`,sectorCross:`${r}-sector-cross`,sectorDisabled:`${r}-sector-disabled`,sectorEnabled:`${r}-sector-enabled`,sectorSeparator:`${r}-sector-separator`,selectedFeaturePath:`${r}-feature-path`,submenu:`${e}__submenu`,viewer:`${e}__viewer`,viewerHidden:`${e}__viewer--hidden`,viewerContainer:`${e}__viewer-container`};export{a as carousel,i as css,t as imageEnhancement,r as navigation,o as navigationToolRotationFrom,n as navigationToolRotationTo,e as root};
@@ -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{geodesicDensify as e,simplify as r,planarLength as t,planarArea as n,geodesicLength as o,geodesicArea as s}from"../../geometry/geometryEngine.js";import{project as i}from"../../geometry/projection.js";import{isSupported as a,geodesicLengths as m,geodesicAreas as c}from"../../geometry/support/geodesicUtils.js";import{imageToWorld as u}from"../../layers/orientedImagery/transformations/imageToWorld.js";import p from"../../geometry/Polyline.js";import f from"../../geometry/Polygon.js";import l from"../../geometry/SpatialReference.js";const y=1e5;async function g(e,r,t=!1){if(e.length<3)return null;const n=W(e,t),o=await d(n,r),s=o.map((({x:e,y:r})=>[e,r]));e.push(e[0]),s.push(s[0]);const i=o[0].spatialReference,a=new p({paths:[s],spatialReference:i}),m=new f({rings:[s],spatialReference:i});return i.isGeographic?h(i,a,m):i.isWebMercator?w(a,m):R(a,m)}async function j(e,r,t=!1){const n=W(e,t);return x(q(await d(n,r)))}function h(t,n,o){if(a(t)){const e=m([n],"meters")[0];return{area:c([o],"square-meters")[0],perimeter:e}}const s=l.WGS84,u=i(n,s),p=i(o,s);let f=e(p,y);if(f=r(f),!f)return null;const g=m([u],"meters")[0];return{area:c([f],"square-meters")[0],perimeter:g}}function R(e,o){const s=r(o);if(!s)return null;const i=t(e,"meters");return{area:n(s,"square-meters"),perimeter:i}}function w(t,n){let i=e(n,y,"meters");if(i=r(i),!i)return null;const a=o(t,"meters");return{area:s(i,"square-meters"),perimeter:a}}function W(e,r){return e.map((e=>({x:r?.5+e[0]:e[0],y:r?.5-e[1]:e[1]})))}async function d(e,r){const{updateElevationProps:t,...n}=r;return await u(e,n,t)}function q(e){const r=e.map((e=>[e.x,e.y])),t=e[0].spatialReference;return new p({paths:[r],spatialReference:t})}function x(e){const r=e.spatialReference;if(r.isGeographic){if(a(r))return m([e],"meters")[0];const t=i(e,l.WGS84);return m([t],"meters")[0]}return r.isWebMercator?o(e,"meters"):t(e,"meters")}export{g as pixelAreaMeasurement2D,j as pixelDistanceMeasurement2D};
5
+ import{formatLength as e,formatArea as r}from"../../core/quantityFormatUtils.js";import{createLength as t,createArea as n}from"../../core/quantityUtils.js";import{geodesicDensify as o,simplify as s,planarLength as i,planarArea as a,geodesicLength as m,geodesicArea as c}from"../../geometry/geometryEngine.js";import u from"../../geometry/Polygon.js";import f from"../../geometry/Polyline.js";import{project as p}from"../../geometry/projection.js";import l from"../../geometry/SpatialReference.js";import{isSupported as y,geodesicLengths as g,geodesicAreas as j}from"../../geometry/support/geodesicUtils.js";import{imageToWorld as d}from"../../layers/orientedImagery/transformations/imageToWorld.js";const h=1e5;async function q(e,r,t=!1){if(e.length<3)return null;const n=G(e,t),o=await v(n,r),s=o.map((({x:e,y:r})=>[e,r]));e.push(e[0]),s.push(s[0]);const i=o[0].spatialReference,a=new f({paths:[s],spatialReference:i}),m=new u({rings:[s],spatialReference:i});return i.isGeographic?w(i,a,m):i.isWebMercator?x(a,m):W(a,m)}async function R(e,r,t=!1){const n=G(e,t);return S(P(await v(n,r)))}function w(e,r,t){if(y(e)){const e=g([r],"meters")[0];return{area:j([t],"square-meters")[0],perimeter:e}}const n=l.WGS84,i=p(r,n),a=p(t,n);let m=o(a,h);if(m=s(m),!m)return null;const c=g([i],"meters")[0];return{area:j([m],"square-meters")[0],perimeter:c}}function W(e,r){const t=s(r);if(!t)return null;const n=i(e,"meters");return{area:a(t,"square-meters"),perimeter:n}}function x(e,r){let t=o(r,h,"meters");if(t=s(t),!t)return null;const n=m(e,"meters");return{area:c(t,"square-meters"),perimeter:n}}function G(e,r){return e.map((e=>({x:r?.5+e[0]:e[0],y:r?.5-e[1]:e[1]})))}async function v(e,r){const{updateElevationProps:t,...n}=r;return await d(e,n,t)}function P(e){const r=e.map((e=>[e.x,e.y])),t=e[0].spatialReference;return new f({paths:[r],spatialReference:t})}function S(e){const r=e.spatialReference;if(r.isGeographic){if(y(r))return g([e],"meters")[0];const t=p(e,l.WGS84);return g([t],"meters")[0]}return r.isWebMercator?m(e,"meters"):i(e,"meters")}function U(r,n,o,s,i,a){const m="measurement"===r?n:o.reduce(((e,r)=>e+r),0);if(!i||!m)return a;const c="accuracy"===r?6:void 0;return e(s,t(m,"meters"),i,c)||null}function b(e,t,o,s,i,a){const m="measurement"===e?t:o;if(!i||!m)return a;const c="accuracy"===e?6:void 0;return r(s,n(m,"square-meters"),i,c)||null}export{b as getConvertedArea,U as getConvertedDistance,q as pixelAreaMeasurement2D,R as pixelDistanceMeasurement2D};
@@ -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 o from"../../core/Collection.js";import{getContrast as e,multiplyOpacity as l}from"../../core/colorUtils.js";import r from"../../symbols/CIMSymbol.js";import t from"../../symbols/SimpleMarkerSymbol.js";import s from"../../symbols/SimpleFillSymbol.js";import i from"../../symbols/PointSymbol3D.js";import m from"../../symbols/IconSymbol3DLayer.js";import y from"../../symbols/ObjectSymbol3DLayer.js";import n from"../../symbols/MeshSymbol3D.js";import a from"../../symbols/FillSymbol3DLayer.js";const c=new t({size:15,style:"circle",color:[255,102,102,.5],outline:null}),b=new t({size:10,style:"circle",color:[0,128,192,.5],outline:null}),p=new s({style:"solid",color:[0,128,192,.5],outline:null}),d=new s({style:"solid",color:[255,102,102,.5],outline:null}),S=new t({size:10,style:"diamond",color:[255,102,102],outline:null}),w=new i({symbolLayers:new o([new m({size:10,material:{color:"red"},resource:{primitive:"x"},outline:{color:"black",size:1}})])}),u=new i({symbolLayers:new o([new y({width:9,height:9,depth:9,material:{color:[255,102,102]},resource:{primitive:"diamond"},castShadows:!1})])}),f=new r({data:{type:"CIMSymbolReference",symbol:{type:"CIMPointSymbol",symbolLayers:[{type:"CIMVectorMarker",enable:!0,size:10,frame:{xmin:-5,ymin:-5,xmax:5,ymax:5},markerGraphics:[{type:"CIMMarkerGraphic",geometry:{rings:[[[0,1.4142135623730951],[3.585786437626905,5],[5,3.585786437626905],[1.4142135623730951,0],[5,-3.585786437626905],[3.585786437626905,-5],[0,-1.4142135623730951],[-3.585786437626905,-5],[-5,-3.585786437626905],[-1.4142135623730951,0],[-5,3.585786437626905],[-3.585786437626905,5],[0,1.4142135623730951]]]},symbol:{type:"CIMPolygonSymbol",symbolLayers:[{type:"CIMSolidStroke",enable:!0,width:1,color:[0,0,0,100]},{type:"CIMSolidFill",enable:!0,color:[255,0,0,255]}]}}]}]}}}),M=new n({symbolLayers:new o([new a({material:{color:[255,102,102,.5]},edges:null})])}),h=new n({symbolLayers:new o([new a({material:{color:[0,128,192,.25]},edges:null})])}),C=o=>new r({data:{type:"CIMSymbolReference",symbol:{type:"CIMLineSymbol",symbolLayers:[{type:"CIMSolidStroke",effects:[{type:"CIMGeometricEffectDashes",dashTemplate:[14,12],lineDashEnding:"FullGap",controlPointEnding:"NoConstraint"}],enable:!0,capStyle:"Butt",joinStyle:"Round",width:3.5,color:e(o).toArray()},{type:"CIMSolidStroke",enable:!0,capStyle:"Butt",joinStyle:"Round",width:5,color:o.toArray()}]}}}),j=o=>new s({color:l(o,.3),outline:{color:o,width:2}});export{M as activeFrustumSymbol,d as activePolygonSymbol,c as activeSourcePointSymbol,h as additionalFrustumSymbol,f as crossSymbol,w as crossSymbol3D,S as diamondSymbol,u as diamondSymbol3D,j as measurementPolygonSymbol,C as measurementPolylineSymbol,p as polygonSymbol,b as sourcePointSymbol};
5
+ import o from"../../core/Collection.js";import{getContrast as e,multiplyOpacity as l}from"../../core/colorUtils.js";import r from"../../symbols/CIMSymbol.js";import t from"../../symbols/FillSymbol3DLayer.js";import s from"../../symbols/IconSymbol3DLayer.js";import i from"../../symbols/MeshSymbol3D.js";import m from"../../symbols/ObjectSymbol3DLayer.js";import y from"../../symbols/PointSymbol3D.js";import n from"../../symbols/SimpleFillSymbol.js";import a from"../../symbols/SimpleMarkerSymbol.js";const c=new a({size:15,style:"circle",color:[255,102,102,.5],outline:null}),b=new a({size:10,style:"circle",color:[0,128,192,.5],outline:null}),p=new n({style:"solid",color:[0,128,192,.5],outline:null}),d=new n({style:"solid",color:[255,102,102,.5],outline:null}),S=new a({size:10,style:"diamond",color:[255,102,102],outline:null}),w=new y({symbolLayers:new o([new s({size:10,material:{color:"red"},resource:{primitive:"x"},outline:{color:"black",size:1}})])}),u=new y({symbolLayers:new o([new m({width:9,height:9,depth:9,material:{color:[255,102,102]},resource:{primitive:"diamond"},castShadows:!1})])}),f=new r({data:{type:"CIMSymbolReference",symbol:{type:"CIMPointSymbol",symbolLayers:[{type:"CIMVectorMarker",enable:!0,size:10,frame:{xmin:-5,ymin:-5,xmax:5,ymax:5},markerGraphics:[{type:"CIMMarkerGraphic",geometry:{rings:[[[0,1.4142135623730951],[3.585786437626905,5],[5,3.585786437626905],[1.4142135623730951,0],[5,-3.585786437626905],[3.585786437626905,-5],[0,-1.4142135623730951],[-3.585786437626905,-5],[-5,-3.585786437626905],[-1.4142135623730951,0],[-5,3.585786437626905],[-3.585786437626905,5],[0,1.4142135623730951]]]},symbol:{type:"CIMPolygonSymbol",symbolLayers:[{type:"CIMSolidStroke",enable:!0,width:1,color:[0,0,0,100]},{type:"CIMSolidFill",enable:!0,color:[255,0,0,255]}]}}]}]}}}),M=new i({symbolLayers:new o([new t({material:{color:[255,102,102,.5]},edges:null})])}),h=new i({symbolLayers:new o([new t({material:{color:[0,128,192,.25]},edges:null})])}),C=o=>new r({data:{type:"CIMSymbolReference",symbol:{type:"CIMLineSymbol",symbolLayers:[{type:"CIMSolidStroke",effects:[{type:"CIMGeometricEffectDashes",dashTemplate:[14,12],lineDashEnding:"FullGap",controlPointEnding:"NoConstraint"}],enable:!0,capStyle:"Butt",joinStyle:"Round",width:3.5,color:e(o).toArray()},{type:"CIMSolidStroke",enable:!0,capStyle:"Butt",joinStyle:"Round",width:5,color:o.toArray()}]}}}),I=o=>new n({color:l(o,.3),outline:{color:o,width:2}});export{M as activeFrustumSymbol,d as activePolygonSymbol,c as activeSourcePointSymbol,h as additionalFrustumSymbol,f as crossSymbol,w as crossSymbol3D,S as diamondSymbol,u as diamondSymbol3D,I as measurementPolygonSymbol,C as measurementPolylineSymbol,p as polygonSymbol,b as sourcePointSymbol};
@@ -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"../intl.js";import{prefersReducedMotion as t}from"../core/a11yUtils.js";import i from"../core/Collection.js";import{deprecatedProperty as a}from"../core/deprecate.js";import s from"../core/Logger.js";import{deg2rad as o}from"../core/mathUtils.js";import{formatArea as r,formatLength as n}from"../core/quantityFormatUtils.js";import{createArea as l,createLength as c}from"../core/quantityUtils.js";import d from"../core/ReactiveMap.js";import{watch as h,initial as g,syncAndInitial as m,whenOnce as p}from"../core/reactiveUtils.js";import{property as v}from"../core/accessorSupport/decorators/property.js";import"../core/has.js";import"../core/RandomLCG.js";import{subclass as u}from"../core/accessorSupport/decorators/subclass.js";import{rotatePixel as y}from"../layers/orientedImagery/transformations/utils.js";import w from"../layers/support/rasterDatasets/RasterFactory.js";import _ from"../support/actions/ActionToggle.js";import b from"./Widget.js";import{getAllArcPath as M}from"./OrientedImageryViewer/arcUtils.js";import{segmentArcs as C,sectorsRadii as f,featureCircleRadius as T,navigationToolDimensionLength as I}from"./OrientedImageryViewer/constants.js";import{css as O,navigation as A,navigationToolRotationFrom as E,navigationToolRotationTo as F,root as L}from"./OrientedImageryViewer/css.js";import{isValidDigitizationLayer as k}from"./OrientedImageryViewer/digitizationUtils.js";import V from"./OrientedImageryViewer/OrientedImageryViewerViewModel.js";import x from"./OrientedImageryViewer/OrientedImageryViewerVisibleElements.js";import S from"./OrientedImageryViewer/components/ImageOverlays.js";import{loadCalciteComponents as P}from"./support/componentsUtils.js";import{globalCss as j}from"./support/globalCss.js";import"./support/widgetUtils.js";import{messageBundle as G}from"./support/decorators/messageBundle.js";import{vmEvent as $}from"./support/decorators/vmEvent.js";import{tsx as B}from"./support/jsxFactory.js";import{substitute as R}from"../intl/substitute.js";const H={overlayMapFeatures:"overlay-map-features",overlayed:"overlayed",overlaysActionHandles:"overlays-action-handles"};let U=class extends b{constructor(e,t){super(e,t),this.galleryOpened=!1,this.imageEnhancementToolActive=!1,this.imageOverlaysOpened=!1,this.navigationToolActive=!1,this.onOverlayAction=e=>{this._onOverlayAction(e)},this.viewModel=new V,this.messagesCommon=null,this.messagesSketch=null,this.pixelMeasurementUnit="meters",this.pixelAreaMeasurementUnit="square-meters",this.showCameraLocations=!1,this.showMapFeatures=!1,this.visibleElements=new x,this._actionItems=new d,this._currentAction=null,this._navigationToolExpanded=!1,this._navigationTool=null,this._warningTitleElement=null,this._galleryController=new AbortController,this._galleryObserver=new IntersectionObserver(this._lazyLoadImage.bind(this)),this._overlayedLayers=new i,this._handleOverlayLayerDeselect=e=>{const t=e.layer;this.viewModel.removeOverlayedGraphicsOnImage(`${t.id}`),this.removeHandles(`${H.overlayed}-${t.id}`)},this._handleOverlayLayerSelect=e=>{const t=e.layer;this.viewModel.overlayMapFeatures(t,this.showMapFeatures),this.addHandles(h((()=>t.visible),(()=>{this.viewModel.toggleOverlayMapFeatures(t.id,t.visible)})),`${H.overlayed}-${t.id}`)},this._highlight=e=>{const t=e.target?.dataset.objectid;t&&this.viewModel.highlight(t)},this._onImageOverlayClosed=()=>{this.imageOverlaysOpened=!1},this._onOverlayAction=async({action:e,item:t})=>{switch(this._currentAction&&this._currentAction!==e&&(this._currentAction.value=!1,this._currentAction=null),e.id){case"create-features":this._currentAction=e;e.value?(this.digitizationLayer=t.layer,await this.viewModel.loadDigitizationAdapter(),this.viewModel.activeViewer?.imageRenderer.map.add(this.viewModel.sketch.layer,this.viewModel.activeViewer?.imageRenderer.map.allLayers.length-1),this.sketchViewModel?.updateGraphics.removeAll(),this.sketchViewModel?.create(this.digitizationLayer.geometryType)):(this.sketchViewModel?.updateGraphics.removeAll(),this.viewModel.activeViewer?.imageRenderer.map.remove(this.viewModel.sketch.layer),this.digitizationLayer=null);break}},this._onShowCameraLocationsChanged=e=>{this.showCameraLocations=e},this._onShowMapFeaturesChanged=e=>{this.showMapFeatures=e},this._overlayLayerListItemCreatedFunction=async e=>{const{item:t}=e,a=t.layer;if(await(a?.load()),!a||!k(a))return;const s=new i;s.add(new _({icon:"pencil",id:"create-features",title:this.messages.addOrUpdateDigitizationFeatures})),t.actionsSections=new i([s])},this._removeHighlight=()=>this.viewModel.removeHighlight(),this._scaleNavigationTool=()=>{this._navigationToolExpanded=!this._navigationToolExpanded},this._toggleImageAttributes=()=>{this.viewModel.toggleImageAttributes()},this._loadImageFromGallery=this._loadImageFromGallery.bind(this),this._registerGalleryItem=this._registerGalleryItem.bind(this),this._unregisterGalleryItem=this._unregisterGalleryItem.bind(this),this.loadImageFromSource=this.loadImageFromSource.bind(this),this.updateSuitabilities=this.updateSuitabilities.bind(this)}initialize(){this.addHandles([h((()=>[this.viewModel?.bestFeatureAngle,this._navigationTool]),(([e,t])=>{t&&this._updateNavigationTool(t)}),g),h((()=>this.currentCoverageVisible),(e=>this._onCurrentCoverageVisibilityChange(e))),h((()=>this.isAdditionalCoverageVisible),(e=>this._onAdditionalCoverageVisibilityChange(e))),h((()=>this.isAdditionalPointSourcesVisible),(e=>this._onAdditionalCameraLocationsVisibility(e))),h((()=>({features:this.currentBestFeature,showCameraLocations:this.showCameraLocations,state:this.viewModel.state})),(({showCameraLocations:e,state:t})=>{"image-loaded"===t&&this.viewModel.overlayCameraLocations(e)}),m),h((()=>({feature:this.currentBestFeature,showMapFeatures:this.showMapFeatures,state:this.viewModel.state})),((e,t)=>{e.showMapFeatures!==t?.showMapFeatures&&this.viewModel.toggleAllOverlayMapFeatures(e.showMapFeatures),null!=e.feature&&e.feature!==t?.feature&&p((()=>"image-loaded"===this.viewModel.state)).then((()=>{this.viewModel.removeAllOverlayMapFeatures(),this._overlayedLayers?.forEach((t=>{this.viewModel.overlayMapFeatures(t,e.showMapFeatures)}))}))}),g)])}loadDependencies(){return P({"action-bar":()=>import("@esri/calcite-components/dist/components/calcite-action-bar"),"action-group":()=>import("@esri/calcite-components/dist/components/calcite-action-group"),action:()=>import("@esri/calcite-components/dist/components/calcite-action"),label:()=>import("@esri/calcite-components/dist/components/calcite-label"),notice:()=>import("@esri/calcite-components/dist/components/calcite-notice"),panel:()=>import("@esri/calcite-components/dist/components/calcite-panel"),shell:()=>import("@esri/calcite-components/dist/components/calcite-shell"),slider:()=>import("@esri/calcite-components/dist/components/calcite-slider"),tooltip:()=>import("@esri/calcite-components/dist/components/calcite-tooltip")})}destroy(){this._galleryController.abort(),this._galleryObserver.disconnect()}get activeLayer(){return a(s.getLogger(this),"activeLayer",{replacement:"layer"}),this.layer}set activeLayer(e){a(s.getLogger(this),"activeLayer",{replacement:"layer"}),this.layer=e}get currentBestFeature(){return this.viewModel.currentBestFeature}set currentBestFeature(e){this.viewModel.currentBestFeature=e}get currentCoverageVisible(){return this.viewModel.currentCoverageVisible}set currentCoverageVisible(e){this.viewModel.currentCoverageVisible=e}get digitizationLayer(){return this.viewModel.digitizationLayer}set digitizationLayer(e){this.viewModel.digitizationLayer=e}get disabled(){return this.viewModel.disabled}set disabled(e){this.viewModel.disabled=e}get displayMessage(){return this.viewModel.displayMessage}get features(){return this.viewModel.features}get imagePointsInView(){return this.viewModel.imagePointsInView}get icon(){return"oriented-imagery-widget"}set icon(e){this._overrideIfSome("icon",e)}get imageGalleryEnabled(){return this.viewModel.imageGalleryEnabled}get invalidCameraHeading(){return this.viewModel.invalidCameraHeading}get isAdditionalCoverageVisible(){return this.viewModel.isAdditionalCoverageVisible}set isAdditionalCoverageVisible(e){this.viewModel.isAdditionalCoverageVisible=e}get isAdditionalPointSourcesVisible(){return this.viewModel.isAdditionalPointSourcesVisible}set isAdditionalPointSourcesVisible(e){this.viewModel.isAdditionalPointSourcesVisible=e}get mapImageConversionToolState(){return this.viewModel.mapImageConversionToolState}set mapImageConversionToolState(e){this.viewModel.mapImageConversionToolState=e}get layer(){return this.viewModel.layer}set layer(e){this.viewModel.layer=e}get listItemCreatedFunction(){return this._get("listItemCreatedFunction")??this._overlayLayerListItemCreatedFunction}set listItemCreatedFunction(e){this._set("listItemCreatedFunction",e)}get popupEnabled(){const{popupEnabled:e,state:t}=this.viewModel;return"image-loaded"===t&&e}get referencePoint(){return this.viewModel.referencePoint??null}get sketchViewModel(){return this.viewModel.sketch}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}set determineWorkflowForFeature(e){this.viewModel.determineWorkflowForFeature=e}get determineWorkflowForFeature(){return this.viewModel.determineWorkflowForFeature}set updateFootprint(e){this.viewModel.updateFootprint=e}get updateFootprint(){return this.viewModel.updateFootprint}_renderActionBar(){return B("calcite-action-bar",{expandDisabled:!0,layout:"horizontal",slot:"action-bar"},B("calcite-action-group",null,this._currentFootprintToggle(),this._additionalFootprintToggle(),this._additionalPointSourcesToggle()),B("calcite-action-group",null,this._mapImageConversionToggle(),this._navigationToolToggle(),this._imageEnhancementsToggle()),B("calcite-action-group",null,this._imageGalleryToggle(),this._imageOverlaysToggle(),this._openPopupAction()),this._actionTooltips())}_actionTooltips(){return[...this._actionItems].map((([e,t])=>B("calcite-tooltip",{key:e,referenceElement:t},B("span",null,e))))}_additionalFootprintToggle(){const{isAdditionalCoverageVisible:e,invalidCameraHeading:t,visibleElements:{additionalFootprintToggle:i}}=this;return i?B("calcite-action",{active:e,afterCreate:this._storeActionElement,bind:this,class:O.addCoverage,disabled:t,icon:"trapezoid-area",onclick:this._toggleAdditionalCoverage,text:this.messages.additionalFootprints}):null}_additionalPointSourcesToggle(){const{isAdditionalPointSourcesVisible:e,invalidCameraHeading:t,visibleElements:{additionalCameraLocationsToggle:i}}=this;return i?B("calcite-action",{active:e,afterCreate:this._storeActionElement,bind:this,class:O.addExpPoints,disabled:t,icon:"circle-area",onclick:this._toggleAdditionalCameraLocations,text:this.messages.additionalCameraLocations}):null}_renderRoot(){const{viewModel:{state:e}}=this;return B("calcite-panel",null,B("calcite-shell",null,B("calcite-panel",{bind:this,class:O.viewerContainer,heading:this.visibleElements.title?this.messages.title:void 0,loading:"image-loading"===e},this.visibleElements.menu?this._renderActionBar():null,this._imageViewer,this._panoramicViewer,this._messageBox,this.invalidCameraHeading?[this._renderWarning(this.messages.invalidCameraHeadingWarningTitle),this._renderWarningTooltip(this.messages.invalidCameraHeadingWarningDescription)]:[this._imageGalleryPanel,this._renderNavigation,this._imageOverlaysPanel],this._imageEnhancementTools)))}_currentFootprintToggle(){const{currentCoverageVisible:e,invalidCameraHeading:t}=this,{currentFootprintToggle:i}=this.visibleElements;return i?B("calcite-action",{active:e,afterCreate:this._storeActionElement,bind:this,class:O.currentCoverage,disabled:t,icon:"trapezoid-area",onclick:this._toggleCurrentCoverage,text:this.messages.currentFootprint}):null}get _imageEnhancementTools(){const{imageEnhancementToolActive:e,viewModel:{brightness:t,contrast:i,sharpness:a,state:s}}=this;return e&&"image-loaded"===s?B("calcite-panel",{bind:this,class:O.imageEnhancementWrapper,closable:!0,closed:!e,heading:this.messages.imageEnhancement,key:this.messages.imageEnhancement,onCalcitePanelClose:this._toggleImageEnhancementToolState},B("div",{class:O.imageEnhancementTools},B("div",{class:O.imageEnhancementToolContainer},B("calcite-label",null,this.messages.brightness,B("calcite-slider",{bind:this,labelTicks:!0,max:10,min:-10,ticks:5,value:t,onCalciteSliderInput:this._handleBrightnessChange}))),B("div",{class:O.imageEnhancementToolContainer},B("calcite-label",null,this.messages.contrast,B("calcite-slider",{bind:this,labelTicks:!0,max:10,min:-10,ticks:5,value:i,onCalciteSliderInput:this._handleContrastChange}))),B("div",{class:O.imageEnhancementToolContainer},B("calcite-label",null,this.messages.sharpness,B("calcite-slider",{bind:this,labelTicks:!0,max:1,min:0,step:.1,ticks:.5,value:a,onCalciteSliderInput:this._handleSharpnessChange})))),B("calcite-action",{bind:this,icon:"reset",onclick:this._resetImageTools,slot:"header-actions-end",text:this.messagesCommon.reset})):null}_imageEnhancementsToggle(){const{state:e,mode:t}=this.viewModel,{imageEnhancement:i}=this.visibleElements;return i?B("calcite-action",{active:this.imageEnhancementToolActive,afterCreate:this._storeActionElement,bind:this,disabled:"default"!==t||"image-loaded"!==e,icon:"sliders-horizontal",onclick:this._toggleImageEnhancementToolState,text:this.messages.imageEnhancement}):null}get _imageGalleryPanel(){const{container:e,galleryOpened:t,imageGalleryEnabled:i,viewModel:{thumbnails:a},invalidCameraHeading:s}=this;return i&&t&&(e&&a)?B("calcite-panel",{bind:this,class:O.carousel,closable:!0,closed:!t,disabled:s,heading:this.messages.imageGallery,key:this.messages.imageGallery,onCalcitePanelClose:this._toggleImageGallery},B("div",{class:O.carouselContainer},this._renderThumbnails(a))):null}_imageGalleryToggle(){const{imageGalleryEnabled:e,invalidCameraHeading:t,visibleElements:{imageGallery:i}}=this;return i?B("calcite-action",{active:this.galleryOpened,afterCreate:this._storeActionElement,bind:this,disabled:!e||t,icon:"images",onclick:this._toggleImageGallery,text:this.messages.imageGallery}):null}get _imageOverlaysComponent(){return B(S,{closed:!this.imageOverlaysOpened,messages:this._imageOverlayMessages,overlayedLayers:this._overlayedLayers,showCameraLocations:this.showCameraLocations,showMapFeatures:this.showMapFeatures,view:this.view,onImageOverlaysClosed:this._onImageOverlayClosed,onLayerDeselected:this._handleOverlayLayerDeselect,onLayerSelected:this._handleOverlayLayerSelect,onListItemAction:this._onOverlayAction,onShowCameraLocationsChanged:this._onShowCameraLocationsChanged,onShowMapFeaturesChanged:this._onShowMapFeaturesChanged})}get _imageOverlayMessages(){return{...this.messages,...this.messagesSketch}}get _imageOverlaysPanel(){const{imageOverlaysOpened:e,viewModel:{state:t}}=this;if(e&&"image-loaded"===t)return B("div",{class:O.imageOverlaysContainer,key:this.messages.imageOverlays},this._imageOverlaysComponent)}_imageOverlaysToggle(){const{viewModel:{state:e},imageOverlaysOpened:t,invalidCameraHeading:i,visibleElements:{imageOverlays:a}}=this;return a?B("calcite-action",{active:t,afterCreate:this._storeActionElement,bind:this,disabled:"image-loaded"!==e||i,icon:"layers",onclick:this._toggleImageOverlays,text:this.messages.imageOverlays}):null}get _imageViewer(){const{displayMessage:e,loadImageViewer:t,mode:i}=this.viewModel,a=null!=e||"default"!==i,s=this.classes({[O.viewer]:!a,[O.viewerHidden]:a});return B("calcite-panel",{afterCreate:t,bind:this,class:s})}_mapImageConversionToggle(){const{mapImageConversionToolState:e,viewModel:{state:t},invalidCameraHeading:i,visibleElements:{mapImageConversionTool:a}}=this;return a?B("calcite-action",{active:e,afterCreate:this._storeActionElement,bind:this,disabled:"image-loaded"!==t||i,icon:"image-pin",onclick:this._toggleMapImageConversionToolState,text:this.messages.mapImageConversionTool}):null}get _messageBox(){const{messages:e,viewModel:{displayMessage:t}}=this;if(!t)return null;const{data:i,key:a,map:s}=t,o=`${s?R(e[a],s):e[a]}`;return B("span",{class:O.messageBox},i?`${o} ${i}`:o)}_navigationToolToggle(){const{state:e}=this.viewModel,{visibleElements:{navigationTool:t}}=this;return t?B("calcite-action",{active:this.navigationToolActive,afterCreate:this._storeActionElement,bind:this,disabled:"image-loaded"!==e||this.invalidCameraHeading,icon:"explore",onclick:this._toggleNavigationTool,text:this.messages.navigationTool}):null}_openPopupAction(){const{showPopupsAction:e}=this.visibleElements;return e?B("calcite-action",{afterCreate:this._storeActionElement,bind:this,disabled:!this.popupEnabled,icon:"popup",onclick:this._toggleImageAttributes,text:this.messages.showPopups}):null}get _panoramicViewer(){const{displayMessage:e,loadPanoramicViewer:t,mode:i}=this.viewModel,a=null!=e||"panoramic"!==i,s=this.classes({[O.viewer]:!a,[O.viewerHidden]:a});return B("calcite-panel",{afterCreate:t,bind:this,class:s})}async _getThumbnailPixelBlockInternal(e,t){const{level:i,offset:a,size:o}=this._getMaxLevelRasterParameters(e);try{const{pixelBlock:s}=await e.fetchRawPixels(i,a,o,t);return s}catch(r){s.getLogger(this).warn("failed to create canvas with pixel data",r)}return null}_getMaxLevelRasterParameters(e){const{storageInfo:t,width:i,height:a}=e.rasterInfo,{maximumPyramidLevel:s,pyramidScalingFactor:o}=t,r=o??2;return{level:s,offset:{x:0,y:0},size:{width:Math.ceil(i/r**s),height:Math.ceil(a/r**s)}}}async _getThumbnailPixelBlock(e){const{signal:t}=this._galleryController;try{const{origin:i,pathname:a,searchParams:s}=new URL(e),o=await w.open({ioConfig:{customFetchParameters:Object.fromEntries(s),skipMapInfo:!0},url:`${i}${a}`,signal:t});return o?await this._getThumbnailPixelBlockInternal(o,{signal:t}):null}catch(i){s.getLogger(this).error("failed to create thumbnail",i)}return null}_handleBrightnessChange(e){this.viewModel.brightness=e.currentTarget.value??0}_handleContrastChange(e){this.viewModel.contrast=e.currentTarget.value??0}_handleSharpnessChange(e){this.viewModel.sharpness=e.currentTarget.value??0}_lazyLoadImage(e,t){e.forEach((async e=>{if(e.isIntersecting){const i=e.target,a=i.getAttribute("data-src"),r=i.getAttribute("data-rotation"),n=r?parseFloat(r)%360:null;if(!a)return;const l=await this._getThumbnailPixelBlock(a);if(!l)return;i.width=l.width,i.height=l.height;const c=i.getContext("2d");if(!c)return;const d=c.createImageData(i.width,i.height);if(d.data.set(l.getAsRGBA()),"number"==typeof n&&0!==n){const e=o(n),a=document.createElement("canvas"),r=a.getContext("2d");if(r){a.width=d.width,a.height=d.height,r.putImageData(d,0,0);const s=y(0,0,e),o=y(d.width,0,e),n=y(d.width,d.height,e),l=y(0,d.height,e),h=Math.max(s[0],o[0],n[0],l[0])-Math.min(s[0],o[0],n[0],l[0]),g=Math.max(s[1],o[1],n[1],l[1])-Math.min(s[1],o[1],n[1],l[1]),m=Math.min(i.width/h,i.height/g);return c.save(),c.clearRect(0,0,i.width,i.height),c.translate(i.width/2,i.height/2),c.rotate(e),c.scale(m,m),c.drawImage(a,-d.width/2,-d.height/2,d.width,d.height),c.restore(),t.unobserve(i)}s.getLogger(this).warn("oriented-imagery-viewer:image-gallery","failed to apply rotation on thumbnail")}c.putImageData(d,0,0),t.unobserve(i)}}))}_loadImageFromGallery(e){const{target:t}=e;if(!t)return;const i=t.getAttribute("data-objectid");i&&this.viewModel.currentBestFeature?.attributes.objectId!==Number(i)&&this.viewModel.selectBestFeature(i)}_onAdditionalCoverageVisibilityChange(e){this.viewModel.setAdditionalCoverageVisibility(e)}_onAdditionalCameraLocationsVisibility(e){this.viewModel.setAdditionalCameraLocationsVisibility(e)}_onCurrentCoverageVisibilityChange(e){this.viewModel.setCurrentCoverageVisibility(e)}_registerGalleryItem(e){this._galleryObserver.observe(e)}_renderWarning(e){const{invalidCameraHeading:t,viewModel:{state:i}}=this;return t&&"image-loaded"===i?[B("calcite-notice",{class:O.alert,closable:!0,icon:"exclamation-mark-triangle-f",iconFlipRtl:!0,kind:"warning",open:!0,scale:"s"},B("div",{afterCreate:e=>this._storeWarningTitleElement(e),slot:"title"},e))]:null}_renderWarningTooltip(e){const{_warningTitleElement:t}=this;if(e?.length&&t)return B("calcite-tooltip",{closeOnClick:!0,referenceElement:t},e)}get _renderNavigation(){const{viewModel:{sectorData:e,navigatorCurrentBestFeature:i,currentBestFeature:a,state:s}}=this;if(!this.container||!a)return null;let o,r,n,l,c;if(i){const{x:e,y:t,direction:a}=i,[s,d,h,g]=C[a];o=`M ${e} ${t} L ${s} ${d} A ${f[2]} ${f[2]} 0 0 1 ${h} ${g} Z`,r=e,l=t,n=C[a][4],c=C[a][5]}const d=e=>{const t=e.target.dataset?.sector;t&&this.viewModel.handleSectorClick(+t)},h=e=>{const t=e.target.dataset;if(!t)return;const{featureIndexInSector:i,sector:a}=t;i&&a&&this.viewModel.handleFeatureClick({sector:a,featureIndexInSector:+i})},g=e=>{e.removeEventListener("click",h)},m=a.attributes.objectId,p=e?.map((e=>e?.items)).filter(Boolean).flatMap((e=>e?.map((({x:e,y:t,objectID:i,featureIndexInSector:a,sector:s})=>B("circle",{afterRemoved:g,class:this.classes(O.feature,{selected:m===i}),cx:e,cy:t,"data-feature-index-in-sector":a,"data-sector":s,key:`${O.feature}-${i}`,onclick:h,r:T}))))),v=e=>{e.removeEventListener("click",d)},u=this.classes({[O.navigationWrapper]:!0,[O.navigationZoomed]:this._navigationToolExpanded});return this.navigationToolActive&&"image-loaded"===s?B("div",{bind:this,class:u,key:this.messages.navigationTool},B("svg",{afterCreate:e=>this._storeNavigationToolReference(e),class:t()?A:O.rotateWithAnimation,focusable:"false",height:I,role:"img",width:I,xmlns:"http://www.w3.org/2000/svg"},B("defs",null,B("linearGradient",{gradientUnits:"userSpaceOnUse",id:`${this.id}-coverage-fill`,x1:r,x2:n,y1:l,y2:c},B("stop",{class:O.navigationPathOffset0,offset:0}),B("stop",{class:O.navigationPathOffset1,offset:1}))),B("g",null,B("circle",{class:this.classes(O.sector,O.outerSector),cx:f[3],cy:f[3],onclick:this._scaleNavigationTool,r:f[3]}),B("circle",{class:O.sector,cx:f[3],cy:f[3],r:f[2]}),B("circle",{class:O.sector,cx:f[3],cy:f[3],r:f[1]}),B("circle",{class:O.sector,cx:f[3],cy:f[3],r:f[0]}),B("path",{class:O.pointer,d:"M 56.5 6.06217782649107 L 60 0 L 63.5 6.06217782649107 Z",key:`${O.pointer}-west`}),B("path",{class:this.classes(O.pointer,O.north),d:"M 113.93782217350893 56.5 L 120 60 L 113.93782217350893 63.5 Z",key:`${O.pointer}-north`}),B("path",{class:O.pointer,d:"M 56.5 113.93782217350893 L 60 120 L 63.5 113.93782217350893 Z",key:`${O.pointer}-east`}),B("path",{class:O.pointer,d:"M 6.06217782649107 56.5 L 0 60 L 6.06217782649107 63.5 Z",key:`${O.pointer}-south`}),B("path",{class:this.classes(O.sector,O.sectorSeparator),d:"M 23.937554159486076 23.937554159486076 L 96.06244584051393 96.06244584051393 M 23.937554159486076 96.06244584051393 L 96.06244584051393 23.937554159486076",key:O.sectorSeparator}),M([f[2],f[1],f[0]],f[3],f[3]).map(((t,i)=>B("path",{afterRemoved:v,class:this.classes(O.sector,e?.[i]?.length?O.sectorEnabled:O.sectorDisabled),d:t,"data-sector":`${i}`,key:`${O.sector}-${i}`,onclick:d}))),B("path",{class:this.classes(O.sector,O.sectorCross),d:"M 56.4 56.4 L 63.53 63.53 M 63.53 56.4 L 56.4 63.53",key:O.sectorCross}),p,a.attributes.cameraPitch>=5&&o?B("path",{class:O.selectedFeaturePath,d:o,fill:`url(#${this.id}-coverage-fill)`,key:O.selectedFeaturePath}):null))):null}_renderThumbnails(e){const{currentBestFeature:t}=this.viewModel;return t?B("div",{class:O.carouselContent},e.items.map((({url:e,objectId:i,rotation:a},s)=>B("div",{class:`${O.carouselItemWrapper}${t.attributes.objectId===i?"--selected":""}`,key:`${O.carouselItemWrapper}-${s}`},B("canvas",{afterCreate:this._registerGalleryItem,afterRemoved:this._unregisterGalleryItem,alt:`thumbnail-${i}`,class:O.carouselItem,"data-objectid":`${i}`,"data-rotation":`${a}`,"data-src":e,onclick:this._loadImageFromGallery,onmouseenter:this._highlight,onmouseleave:this._removeHighlight}))))):null}_resetImageTools(){this.viewModel.sharpness=this.viewModel.brightness=this.viewModel.contrast=0}_storeActionElement(e){this._actionItems.set(e.text,e)}_storeNavigationToolReference(e){this._navigationTool=e}_storeWarningTitleElement(e){this._warningTitleElement=e}_toggleAdditionalCameraLocations(){this.isAdditionalPointSourcesVisible=!this.isAdditionalPointSourcesVisible}_toggleAdditionalCoverage(){this.isAdditionalCoverageVisible=!this.isAdditionalCoverageVisible}_toggleCurrentCoverage(){this.currentCoverageVisible=!this.currentCoverageVisible}_toggleImageEnhancementToolState(e){e.stopPropagation(),this.imageEnhancementToolActive=!this.imageEnhancementToolActive,this.imageEnhancementToolActive&&(this.galleryOpened&&(this.galleryOpened=!1),this.navigationToolActive&&(this.navigationToolActive=!1),this.imageOverlaysOpened&&(this.imageOverlaysOpened=!1))}_toggleImageOverlays(e){e.stopPropagation(),this.imageOverlaysOpened=!this.imageOverlaysOpened,this.imageOverlaysOpened&&(this.galleryOpened&&(this.galleryOpened=!1),this.navigationToolActive&&(this.navigationToolActive=!1),this.imageEnhancementToolActive&&(this.imageEnhancementToolActive=!1))}_toggleImageGallery(e){e.stopPropagation(),this.galleryOpened=!!this.imageGalleryEnabled&&!this.galleryOpened,this.galleryOpened&&(this.imageEnhancementToolActive&&(this.imageEnhancementToolActive=!1),this.navigationToolActive&&(this.navigationToolActive=!1),this.imageOverlaysOpened&&(this.imageOverlaysOpened=!1))}_toggleNavigationTool(){this.navigationToolActive=!this.navigationToolActive,this.navigationToolActive&&(this.galleryOpened&&(this.galleryOpened=!1),this.imageEnhancementToolActive&&(this.imageEnhancementToolActive=!1),this.imageOverlaysOpened&&(this.imageOverlaysOpened=!1))}_toggleMapImageConversionToolState(){this.mapImageConversionToolState=!this.mapImageConversionToolState}_unregisterGalleryItem(e){this._galleryObserver.unobserve(e)}_updateNavigationTool(e){const{previousFeatureAngle:t,bestFeatureAngle:i}=this.viewModel,a=(i-t+540)%360-180;e.style.setProperty(E,`${t}deg`),e.style.setProperty(F,`${t+a}deg`)}getConvertedAreaMeasurement(){const{viewModel:{areaMeasurementResult:e},measurementUnitMessages:t,pixelAreaMeasurementUnit:i,messages:{startMeasurement:a}}=this;return i&&e?r(t,l(e,"square-meters"),i):a}getConvertedMeasurement(){const{viewModel:{distanceMeasurementResult:e},measurementUnitMessages:t,pixelMeasurementUnit:i,messages:{startMeasurement:a}}=this;return i&&e?n(t,c(e,"meters"),i):a}async loadBestImage(e){return this.viewModel.loadBestImage(e)}loadImageFromSource(e,t){return this.viewModel.loadImageFromSource(e,t)}async plotMapPoint(e){return this.viewModel.plotMapPoint(e)}plotReferencePointOnGround(e){this.viewModel.plotReferencePointOnGround(e)}plotReferencePointOnImage(e){this.viewModel.plotReferencePointOnImage(e)}resetImage(){this.viewModel.resetImage()}render(){return B("div",{class:this.classes(j.widget,L)},this._renderRoot())}updateSuitabilities(e){this.viewModel.updateSuitabilities(e)}};e([v()],U.prototype,"activeLayer",null),e([v()],U.prototype,"currentBestFeature",null),e([v()],U.prototype,"currentCoverageVisible",null),e([v()],U.prototype,"digitizationLayer",null),e([v()],U.prototype,"disabled",null),e([v()],U.prototype,"features",null),e([v()],U.prototype,"imagePointsInView",null),e([v()],U.prototype,"galleryOpened",void 0),e([v()],U.prototype,"icon",null),e([v()],U.prototype,"imageEnhancementToolActive",void 0),e([v({readOnly:!0})],U.prototype,"imageGalleryEnabled",null),e([v()],U.prototype,"imageOverlaysOpened",void 0),e([v({readOnly:!0})],U.prototype,"invalidCameraHeading",null),e([v()],U.prototype,"isAdditionalCoverageVisible",null),e([v()],U.prototype,"isAdditionalPointSourcesVisible",null),e([v()],U.prototype,"mapImageConversionToolState",null),e([v()],U.prototype,"layer",null),e([v()],U.prototype,"listItemCreatedFunction",null),e([v()],U.prototype,"navigationToolActive",void 0),e([v()],U.prototype,"onOverlayAction",void 0),e([v({type:V})],U.prototype,"viewModel",void 0),e([v(),G("esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer")],U.prototype,"messages",void 0),e([v(),G("esri/core/t9n/Units")],U.prototype,"measurementUnitMessages",void 0),e([v(),G("esri/t9n/common")],U.prototype,"messagesCommon",void 0),e([v(),G("esri/widgets/Sketch/t9n/Sketch")],U.prototype,"messagesSketch",void 0),e([v()],U.prototype,"pixelMeasurementUnit",void 0),e([v()],U.prototype,"pixelAreaMeasurementUnit",void 0),e([v({readOnly:!0})],U.prototype,"popupEnabled",null),e([v()],U.prototype,"referencePoint",null),e([v()],U.prototype,"showCameraLocations",void 0),e([v()],U.prototype,"showMapFeatures",void 0),e([$(["create","delete","redo","undo","update"]),v({readOnly:!0})],U.prototype,"sketchViewModel",null),e([v()],U.prototype,"view",null),e([v({type:x,nonNullable:!0})],U.prototype,"visibleElements",void 0),e([v()],U.prototype,"determineWorkflowForFeature",null),e([v()],U.prototype,"updateFootprint",null),e([v()],U.prototype,"_actionItems",void 0),e([v()],U.prototype,"_currentAction",void 0),e([v()],U.prototype,"_imageEnhancementTools",null),e([v()],U.prototype,"_imageGalleryPanel",null),e([v()],U.prototype,"_imageOverlaysComponent",null),e([v()],U.prototype,"_imageOverlayMessages",null),e([v()],U.prototype,"_imageOverlaysPanel",null),e([v()],U.prototype,"_imageViewer",null),e([v()],U.prototype,"_messageBox",null),e([v()],U.prototype,"_navigationToolExpanded",void 0),e([v()],U.prototype,"_navigationTool",void 0),e([v()],U.prototype,"_panoramicViewer",null),e([v()],U.prototype,"_warningTitleElement",void 0),e([v()],U.prototype,"_renderNavigation",null),U=e([u("esri.widgets.OrientedImageryViewer")],U);const z=U;export{z as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import"../intl.js";import{prefersReducedMotion as t}from"../core/a11yUtils.js";import i from"../core/Collection.js";import{deprecatedProperty as a}from"../core/deprecate.js";import s from"../core/Logger.js";import{deg2rad as o}from"../core/mathUtils.js";import r from"../core/ReactiveMap.js";import{watch as n,initial as l,syncAndInitial as c,whenOnce as d}from"../core/reactiveUtils.js";import{property as g}from"../core/accessorSupport/decorators/property.js";import"../core/has.js";import"../core/RandomLCG.js";import{subclass as m}from"../core/accessorSupport/decorators/subclass.js";import{rotatePixel as h}from"../layers/orientedImagery/transformations/utils.js";import p from"../layers/support/rasterDatasets/RasterFactory.js";import u from"../support/actions/ActionToggle.js";import v from"./Widget.js";import{getAllArcPath as y}from"./OrientedImageryViewer/arcUtils.js";import{segmentArcs as w,sectorsRadii as _,featureCircleRadius as b,navigationToolDimensionLength as M}from"./OrientedImageryViewer/constants.js";import{css as C,navigation as T,navigationToolRotationFrom as f,navigationToolRotationTo as I,root as A}from"./OrientedImageryViewer/css.js";import{isValidDigitizationLayer as O}from"./OrientedImageryViewer/digitizationUtils.js";import E from"./OrientedImageryViewer/OrientedImageryViewerViewModel.js";import F from"./OrientedImageryViewer/OrientedImageryViewerVisibleElements.js";import k from"./OrientedImageryViewer/components/ImageAreaMeasurement.js";import L from"./OrientedImageryViewer/components/ImageDistanceMeasurement.js";import V from"./OrientedImageryViewer/components/ImageOverlays.js";import{loadCalciteComponents as P}from"./support/componentsUtils.js";import{globalCss as S}from"./support/globalCss.js";import"./support/widgetUtils.js";import{messageBundle as x}from"./support/decorators/messageBundle.js";import{vmEvent as j}from"./support/decorators/vmEvent.js";import{tsx as G}from"./support/jsxFactory.js";import{substitute as $}from"../intl/substitute.js";const B={overlayMapFeatures:"overlay-map-features",overlayed:"overlayed",overlaysActionHandles:"overlays-action-handles"};let H=class extends v{constructor(e,t){super(e,t),this.galleryOpened=!1,this.imageEnhancementToolActive=!1,this.imageOverlaysOpened=!1,this.navigationToolActive=!1,this.onOverlayAction=e=>{this._onOverlayAction(e)},this.viewModel=new E,this.messagesCommon=null,this.messagesSketch=null,this.pixelMeasurementUnit="meters",this.pixelAreaMeasurementUnit="square-meters",this.showCameraLocations=!1,this.showMapFeatures=!1,this.visibleElements=new F,this._actionItems=new r,this._currentAction=null,this._navigationToolExpanded=!1,this._navigationTool=null,this._warningTitleElement=null,this._galleryController=new AbortController,this._galleryObserver=new IntersectionObserver(this._lazyLoadImage.bind(this)),this._overlayedLayers=new i,this._handleOverlayLayerDeselect=e=>{const t=e.layer;this.viewModel.removeOverlayedGraphicsOnImage(`${t.id}`),this.removeHandles(`${B.overlayed}-${t.id}`)},this._handleOverlayLayerSelect=e=>{const t=e.layer;this.viewModel.overlayMapFeatures(t,this.showMapFeatures),this.addHandles(n((()=>t.visible),(()=>{this.viewModel.toggleOverlayMapFeatures(t.id,t.visible)})),`${B.overlayed}-${t.id}`)},this._highlight=e=>{const t=e.target?.dataset.objectid;t&&this.viewModel.highlight(t)},this._onImageOverlayClosed=()=>{this.imageOverlaysOpened=!1},this._onOverlayAction=async({action:e,item:t})=>{switch(this._currentAction&&this._currentAction!==e&&(this._currentAction.value=!1,this._currentAction=null),e.id){case"create-features":this._currentAction=e;e.value?(this.digitizationLayer=t.layer,await this.viewModel.loadDigitizationAdapter(),this.viewModel.activeViewer?.imageRenderer.map.add(this.viewModel.sketch.layer,this.viewModel.activeViewer?.imageRenderer.map.allLayers.length-1),this.sketchViewModel?.updateGraphics.removeAll(),this.sketchViewModel?.create(this.digitizationLayer.geometryType)):(this.sketchViewModel?.updateGraphics.removeAll(),this.viewModel.activeViewer?.imageRenderer.map.remove(this.viewModel.sketch.layer),this.digitizationLayer=null);break}},this._onShowCameraLocationsChanged=e=>{this.showCameraLocations=e},this._onShowMapFeaturesChanged=e=>{this.showMapFeatures=e},this._overlayLayerListItemCreatedFunction=async e=>{const{item:t}=e,a=t.layer;if(await(a?.load()),!a||!O(a))return;const s=new i;s.add(new u({icon:"pencil",id:"create-features",title:this.messages.addOrUpdateDigitizationFeatures})),t.actionsSections=new i([s])},this._removeActionElement=e=>{this._actionItems.delete(e.text)},this._removeHighlight=()=>this.viewModel.removeHighlight(),this._scaleNavigationTool=()=>{this._navigationToolExpanded=!this._navigationToolExpanded},this._toggleImageAttributes=()=>{this.viewModel.toggleImageAttributes()},this._loadImageFromGallery=this._loadImageFromGallery.bind(this),this._registerGalleryItem=this._registerGalleryItem.bind(this),this._unregisterGalleryItem=this._unregisterGalleryItem.bind(this),this.loadImageFromSource=this.loadImageFromSource.bind(this),this.updateSuitabilities=this.updateSuitabilities.bind(this)}initialize(){this.addHandles([n((()=>[this.viewModel?.bestFeatureAngle,this._navigationTool]),(([e,t])=>{t&&this._updateNavigationTool(t)}),l),n((()=>this.currentCoverageVisible),(e=>this._onCurrentCoverageVisibilityChange(e))),n((()=>this.isAdditionalCoverageVisible),(e=>this._onAdditionalCoverageVisibilityChange(e))),n((()=>this.isAdditionalPointSourcesVisible),(e=>this._onAdditionalCameraLocationsVisibility(e))),n((()=>({features:this.currentBestFeature,showCameraLocations:this.showCameraLocations,state:this.viewModel.state})),(({showCameraLocations:e,state:t})=>{"image-loaded"===t&&this.viewModel.overlayCameraLocations(e)}),c),n((()=>({feature:this.currentBestFeature,showMapFeatures:this.showMapFeatures,state:this.viewModel.state})),((e,t)=>{e.showMapFeatures!==t?.showMapFeatures&&this.viewModel.toggleAllOverlayMapFeatures(e.showMapFeatures),null!=e.feature&&e.feature!==t?.feature&&d((()=>"image-loaded"===this.viewModel.state)).then((()=>{this.viewModel.removeAllOverlayMapFeatures(),this._overlayedLayers?.forEach((t=>{this.viewModel.overlayMapFeatures(t,e.showMapFeatures)}))}))}),l)])}loadDependencies(){return P({"action-bar":()=>import("@esri/calcite-components/dist/components/calcite-action-bar"),"action-group":()=>import("@esri/calcite-components/dist/components/calcite-action-group"),action:()=>import("@esri/calcite-components/dist/components/calcite-action"),label:()=>import("@esri/calcite-components/dist/components/calcite-label"),notice:()=>import("@esri/calcite-components/dist/components/calcite-notice"),panel:()=>import("@esri/calcite-components/dist/components/calcite-panel"),shell:()=>import("@esri/calcite-components/dist/components/calcite-shell"),dialog:()=>import("@esri/calcite-components/dist/components/calcite-dialog"),dropdown:()=>import("@esri/calcite-components/dist/components/calcite-dropdown"),"dropdown-group":()=>import("@esri/calcite-components/dist/components/calcite-dropdown-group"),"dropdown-item":()=>import("@esri/calcite-components/dist/components/calcite-dropdown-item"),slider:()=>import("@esri/calcite-components/dist/components/calcite-slider"),tooltip:()=>import("@esri/calcite-components/dist/components/calcite-tooltip")})}destroy(){this._galleryController.abort(),this._galleryObserver.disconnect()}get activeLayer(){return a(s.getLogger(this),"activeLayer",{replacement:"layer"}),this.layer}set activeLayer(e){a(s.getLogger(this),"activeLayer",{replacement:"layer"}),this.layer=e}get currentBestFeature(){return this.viewModel.currentBestFeature}set currentBestFeature(e){this.viewModel.currentBestFeature=e}get currentCoverageVisible(){return this.viewModel.currentCoverageVisible}set currentCoverageVisible(e){this.viewModel.currentCoverageVisible=e}get digitizationLayer(){return this.viewModel.digitizationLayer}set digitizationLayer(e){this.viewModel.digitizationLayer=e}get disabled(){return this.viewModel.disabled}set disabled(e){this.viewModel.disabled=e}get displayMessage(){return this.viewModel.displayMessage}get features(){return this.viewModel.features}get imagePointsInView(){return this.viewModel.imagePointsInView}get icon(){return"oriented-imagery-widget"}set icon(e){this._overrideIfSome("icon",e)}get imageGalleryEnabled(){return this.viewModel.imageGalleryEnabled}get invalidCameraHeading(){return this.viewModel.invalidCameraHeading}get isAdditionalCoverageVisible(){return this.viewModel.isAdditionalCoverageVisible}set isAdditionalCoverageVisible(e){this.viewModel.isAdditionalCoverageVisible=e}get isAdditionalPointSourcesVisible(){return this.viewModel.isAdditionalPointSourcesVisible}set isAdditionalPointSourcesVisible(e){this.viewModel.isAdditionalPointSourcesVisible=e}get mapImageConversionToolState(){return this.viewModel.mapImageConversionToolState}set mapImageConversionToolState(e){this.viewModel.mapImageConversionToolState=e}get measureType(){return this.viewModel.measureType}set measureType(e){this.viewModel.measureType=e}get layer(){return this.viewModel.layer}set layer(e){this.viewModel.layer=e}get listItemCreatedFunction(){return this._get("listItemCreatedFunction")??this._overlayLayerListItemCreatedFunction}set listItemCreatedFunction(e){this._set("listItemCreatedFunction",e)}get popupEnabled(){const{popupEnabled:e,state:t}=this.viewModel;return"image-loaded"===t&&e}get referencePoint(){return this.viewModel.referencePoint??null}get sketchViewModel(){return this.viewModel.sketch}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}set determineWorkflowForFeature(e){this.viewModel.determineWorkflowForFeature=e}get determineWorkflowForFeature(){return this.viewModel.determineWorkflowForFeature}set updateFootprint(e){this.viewModel.updateFootprint=e}get updateFootprint(){return this.viewModel.updateFootprint}_renderActionBar(){return G("calcite-action-bar",{expandDisabled:!0,layout:"horizontal",slot:"action-bar"},G("calcite-action-group",null,this._currentFootprintToggle(),this._additionalFootprintToggle(),this._additionalPointSourcesToggle()),G("calcite-action-group",null,this._mapImageConversionToggle(),this._navigationToolToggle(),this._imageEnhancementsToggle()),G("calcite-action-group",null,this._imageGalleryToggle(),this._imageOverlaysToggle(),this._openPopupAction()),G("calcite-action-group",null,this._measurementToolsToggle()),this._actionTooltips())}_actionTooltips(){return[...this._actionItems].map((([e,t])=>G("calcite-tooltip",{closeOnClick:!0,key:e,placement:"bottom",referenceElement:t},G("span",null,e))))}_additionalFootprintToggle(){const{isAdditionalCoverageVisible:e,invalidCameraHeading:t,visibleElements:{additionalFootprintToggle:i}}=this;return i?G("calcite-action",{active:e,...this._commonActionProperties,class:C.addCoverage,disabled:t,icon:"trapezoid-area",onclick:this._toggleAdditionalCoverage,text:this.messages.additionalFootprints}):null}_additionalPointSourcesToggle(){const{isAdditionalPointSourcesVisible:e,invalidCameraHeading:t,visibleElements:{additionalCameraLocationsToggle:i}}=this;return i?G("calcite-action",{active:e,...this._commonActionProperties,class:C.addExpPoints,disabled:t,icon:"circle-area",onclick:this._toggleAdditionalCameraLocations,text:this.messages.additionalCameraLocations}):null}get _areaMeasurementToggle(){const{viewModel:{state:e,measureType:t}}=this;if("image-loaded"===e&&"area"===t)return G("calcite-dialog",{bind:this,dragEnabled:!0,escapeDisabled:!0,heading:this.messages.areaMeasurementHeading,id:"Area-Measurement",open:!0,placement:"bottom-start",resizable:!0,scale:"s",slot:"dialogs",widthScale:"s",onCalciteDialogBeforeClose:()=>this.viewModel.clearPreviousMeasurements("area")},G(k,{measurementUnitMessages:this.measurementUnitMessages,messages:this.messages,oiViewModel:this.viewModel}))}get _commonActionProperties(){return{afterCreate:this._storeActionElement,afterRemoved:this._removeActionElement,afterUpdate:this._storeActionElement,bind:this}}_renderRoot(){const{viewModel:{state:e}}=this;return G("calcite-panel",null,G("calcite-shell",null,G("calcite-panel",{bind:this,class:C.viewerContainer,heading:this.visibleElements.title?this.messages.title:void 0,loading:"image-loading"===e},this.visibleElements.menu?this._renderActionBar():null,this._imageViewer,this._panoramicViewer,this._messageBox,this.invalidCameraHeading?[this._renderWarning(this.messages.invalidCameraHeadingWarningTitle),this._renderWarningTooltip(this.messages.invalidCameraHeadingWarningDescription)]:[this._imageGalleryPanel,this._renderNavigation,this._imageOverlaysPanel],this._imageEnhancementTools),this._distanceMeasurementToggle,this._areaMeasurementToggle))}_currentFootprintToggle(){const{currentCoverageVisible:e,invalidCameraHeading:t}=this,{currentFootprintToggle:i}=this.visibleElements;return i?G("calcite-action",{active:e,...this._commonActionProperties,class:C.currentCoverage,disabled:t,icon:"trapezoid-area",onclick:this._toggleCurrentCoverage,text:this.messages.currentFootprint}):null}get _distanceMeasurementToggle(){const{viewModel:{state:e,measureType:t}}=this;if("image-loaded"===e&&"distance"===t)return G("calcite-dialog",{bind:this,dragEnabled:!0,escapeDisabled:!0,heading:this.messages.distanceMeasurementHeading,id:"Distance-Measurement",open:!0,placement:"bottom-start",resizable:!0,scale:"s",slot:"dialogs",widthScale:"s",onCalciteDialogBeforeClose:()=>this.viewModel.clearPreviousMeasurements("distance")},G(L,{measurementUnitMessages:this.measurementUnitMessages,messages:this.messages,oiViewModel:this.viewModel}))}get _imageEnhancementTools(){const{imageEnhancementToolActive:e,viewModel:{brightness:t,contrast:i,sharpness:a,state:s}}=this;return e&&"image-loaded"===s?G("calcite-panel",{bind:this,class:C.imageEnhancementWrapper,closable:!0,closed:!e,heading:this.messages.imageEnhancement,key:this.messages.imageEnhancement,onCalcitePanelClose:this._toggleImageEnhancementToolState},G("div",{class:C.imageEnhancementTools},G("div",{class:C.imageEnhancementToolContainer},G("calcite-label",null,this.messages.brightness,G("calcite-slider",{bind:this,labelTicks:!0,max:10,min:-10,ticks:5,value:t,onCalciteSliderInput:this._handleBrightnessChange}))),G("div",{class:C.imageEnhancementToolContainer},G("calcite-label",null,this.messages.contrast,G("calcite-slider",{bind:this,labelTicks:!0,max:10,min:-10,ticks:5,value:i,onCalciteSliderInput:this._handleContrastChange}))),G("div",{class:C.imageEnhancementToolContainer},G("calcite-label",null,this.messages.sharpness,G("calcite-slider",{bind:this,labelTicks:!0,max:1,min:0,step:.1,ticks:.5,value:a,onCalciteSliderInput:this._handleSharpnessChange})))),G("calcite-action",{bind:this,icon:"reset",onclick:this._resetImageTools,slot:"header-actions-end",text:this.messagesCommon.reset})):null}_imageEnhancementsToggle(){const{state:e,mode:t}=this.viewModel,{imageEnhancement:i}=this.visibleElements;return i?G("calcite-action",{active:this.imageEnhancementToolActive,...this._commonActionProperties,disabled:"default"!==t||"image-loaded"!==e,icon:"sliders-horizontal",onclick:this._toggleImageEnhancementToolState,text:this.messages.imageEnhancement}):null}get _imageGalleryPanel(){const{container:e,galleryOpened:t,imageGalleryEnabled:i,viewModel:{thumbnails:a},invalidCameraHeading:s}=this;return i&&t&&(e&&a)?G("calcite-panel",{bind:this,class:C.carousel,closable:!0,closed:!t,disabled:s,heading:this.messages.imageGallery,key:this.messages.imageGallery,onCalcitePanelClose:this._toggleImageGallery},G("div",{class:C.carouselContainer},this._renderThumbnails(a))):null}_imageGalleryToggle(){const{imageGalleryEnabled:e,invalidCameraHeading:t,visibleElements:{imageGallery:i}}=this;return i?G("calcite-action",{active:this.galleryOpened,...this._commonActionProperties,disabled:!e||t,icon:"images",onclick:this._toggleImageGallery,text:this.messages.imageGallery}):null}get _imageOverlaysComponent(){return G(V,{closed:!this.imageOverlaysOpened,messages:this._imageOverlayMessages,overlayedLayers:this._overlayedLayers,showCameraLocations:this.showCameraLocations,showMapFeatures:this.showMapFeatures,view:this.view,onImageOverlaysClosed:this._onImageOverlayClosed,onLayerDeselected:this._handleOverlayLayerDeselect,onLayerSelected:this._handleOverlayLayerSelect,onListItemAction:this._onOverlayAction,onShowCameraLocationsChanged:this._onShowCameraLocationsChanged,onShowMapFeaturesChanged:this._onShowMapFeaturesChanged})}get _imageOverlayMessages(){return{...this.messages,...this.messagesSketch}}get _imageOverlaysPanel(){const{imageOverlaysOpened:e,viewModel:{state:t}}=this;if(e&&"image-loaded"===t)return G("div",{class:C.imageOverlaysContainer,key:this.messages.imageOverlays},this._imageOverlaysComponent)}_imageOverlaysToggle(){const{viewModel:{state:e},imageOverlaysOpened:t,invalidCameraHeading:i,visibleElements:{imageOverlays:a}}=this;return a?G("calcite-action",{active:t,...this._commonActionProperties,disabled:"image-loaded"!==e||i,icon:"layers",onclick:this._toggleImageOverlays,text:this.messages.imageOverlays}):null}get _imageViewer(){const{displayMessage:e,loadImageViewer:t,mode:i}=this.viewModel,a=null!=e||"default"!==i,s=this.classes({[C.viewer]:!a,[C.viewerHidden]:a});return G("calcite-panel",{afterCreate:t,bind:this,class:s})}_mapImageConversionToggle(){const{mapImageConversionToolState:e,viewModel:{state:t},invalidCameraHeading:i,visibleElements:{mapImageConversionTool:a}}=this;return a?G("calcite-action",{active:e,...this._commonActionProperties,disabled:"image-loaded"!==t||i,icon:"image-pin",onclick:this._toggleMapImageConversionToolState,text:this.messages.mapImageConversionTool}):null}_measurementToolsToggle(){const{measureType:e,viewModel:t,messages:i,visibleElements:{measurementTools:a}}=this,{state:s,mode:o,layer:r}=t,n=!r?.orientationAccuracy?.length||r.orientationAccuracy.every((e=>0===e));return a?G("calcite-dropdown",{disabled:n||"panoramic"===o,scale:"m",width:"m"},G("calcite-action",{icon:"area"===e?"measure-area":"measure-line",slot:"trigger",text:i.measure}),G("calcite-dropdown-group",null,G("calcite-dropdown-item",{bind:this,disabled:"image-loaded"!==s,iconStart:"measure-line",key:"distance-measurement",onclick:e=>this._toggleMeasurementSketch(e,"distance"),selected:"distance"===e},i.distance),G("calcite-dropdown-item",{bind:this,disabled:"image-loaded"!==s,iconStart:"measure-area",key:"area-measurement",onclick:e=>this._toggleMeasurementSketch(e,"area"),selected:"area"===e},i.area))):null}get _messageBox(){const{messages:e,viewModel:{displayMessage:t}}=this;if(!t)return null;const{data:i,key:a,map:s}=t,o=`${s?$(e[a],s):e[a]}`;return G("span",{class:C.messageBox},i?`${o} ${i}`:o)}_navigationToolToggle(){const{state:e}=this.viewModel,{visibleElements:{navigationTool:t}}=this;return t?G("calcite-action",{active:this.navigationToolActive,...this._commonActionProperties,disabled:"image-loaded"!==e||this.invalidCameraHeading,icon:"explore",onclick:this._toggleNavigationTool,text:this.messages.navigationTool}):null}_openPopupAction(){const{showPopupsAction:e}=this.visibleElements;return e?G("calcite-action",{...this._commonActionProperties,disabled:!this.popupEnabled,icon:"popup",onclick:this._toggleImageAttributes,text:this.messages.showPopups}):null}get _panoramicViewer(){const{displayMessage:e,loadPanoramicViewer:t,mode:i}=this.viewModel,a=null!=e||"panoramic"!==i,s=this.classes({[C.viewer]:!a,[C.viewerHidden]:a});return G("calcite-panel",{afterCreate:t,bind:this,class:s})}async _getThumbnailPixelBlockInternal(e,t){const{level:i,offset:a,size:o}=this._getMaxLevelRasterParameters(e);try{const{pixelBlock:s}=await e.fetchRawPixels(i,a,o,t);return s}catch(r){s.getLogger(this).warn("failed to create canvas with pixel data",r)}return null}_getMaxLevelRasterParameters(e){const{storageInfo:t,width:i,height:a}=e.rasterInfo,{maximumPyramidLevel:s,pyramidScalingFactor:o}=t,r=o??2;return{level:s,offset:{x:0,y:0},size:{width:Math.ceil(i/r**s),height:Math.ceil(a/r**s)}}}async _getThumbnailPixelBlock(e){const{signal:t}=this._galleryController;try{const{origin:i,pathname:a,searchParams:s}=new URL(e),o=await p.open({ioConfig:{customFetchParameters:Object.fromEntries(s),skipMapInfo:!0},url:`${i}${a}`,signal:t});return o?await this._getThumbnailPixelBlockInternal(o,{signal:t}):null}catch(i){s.getLogger(this).error("failed to create thumbnail",i)}return null}_handleBrightnessChange(e){this.viewModel.brightness=e.currentTarget.value??0}_handleContrastChange(e){this.viewModel.contrast=e.currentTarget.value??0}_handleSharpnessChange(e){this.viewModel.sharpness=e.currentTarget.value??0}_lazyLoadImage(e,t){e.forEach((async e=>{if(e.isIntersecting){const i=e.target,a=i.getAttribute("data-src"),r=i.getAttribute("data-rotation"),n=r?parseFloat(r)%360:null;if(!a)return;const l=await this._getThumbnailPixelBlock(a);if(!l)return;i.width=l.width,i.height=l.height;const c=i.getContext("2d");if(!c)return;const d=c.createImageData(i.width,i.height);if(d.data.set(l.getAsRGBA()),"number"==typeof n&&0!==n){const e=o(n),a=document.createElement("canvas"),r=a.getContext("2d");if(r){a.width=d.width,a.height=d.height,r.putImageData(d,0,0);const s=h(0,0,e),o=h(d.width,0,e),n=h(d.width,d.height,e),l=h(0,d.height,e),g=Math.max(s[0],o[0],n[0],l[0])-Math.min(s[0],o[0],n[0],l[0]),m=Math.max(s[1],o[1],n[1],l[1])-Math.min(s[1],o[1],n[1],l[1]),p=Math.min(i.width/g,i.height/m);return c.save(),c.clearRect(0,0,i.width,i.height),c.translate(i.width/2,i.height/2),c.rotate(e),c.scale(p,p),c.drawImage(a,-d.width/2,-d.height/2,d.width,d.height),c.restore(),t.unobserve(i)}s.getLogger(this).warn("oriented-imagery-viewer:image-gallery","failed to apply rotation on thumbnail")}c.putImageData(d,0,0),t.unobserve(i)}}))}_loadImageFromGallery(e){const{target:t}=e;if(!t)return;const i=t.getAttribute("data-objectid");i&&this.viewModel.currentBestFeature?.attributes.objectId!==Number(i)&&this.viewModel.selectBestFeature(i)}_onAdditionalCoverageVisibilityChange(e){this.viewModel.setAdditionalCoverageVisibility(e)}_onAdditionalCameraLocationsVisibility(e){this.viewModel.setAdditionalCameraLocationsVisibility(e)}_onCurrentCoverageVisibilityChange(e){this.viewModel.setCurrentCoverageVisibility(e)}_registerGalleryItem(e){this._galleryObserver.observe(e)}_renderWarning(e){const{invalidCameraHeading:t,viewModel:{state:i}}=this;return t&&"image-loaded"===i?[G("calcite-notice",{class:C.alert,closable:!0,icon:"exclamation-mark-triangle-f",iconFlipRtl:!0,kind:"warning",open:!0,scale:"s"},G("div",{afterCreate:e=>this._storeWarningTitleElement(e),slot:"title"},e))]:null}_renderWarningTooltip(e){const{_warningTitleElement:t}=this;if(e?.length&&t)return G("calcite-tooltip",{closeOnClick:!0,referenceElement:t},e)}get _renderNavigation(){const{viewModel:{sectorData:e,navigatorCurrentBestFeature:i,currentBestFeature:a,state:s}}=this;if(!this.container||!a)return null;let o,r,n,l,c;if(i){const{x:e,y:t,direction:a}=i,[s,d,g,m]=w[a];o=`M ${e} ${t} L ${s} ${d} A ${_[2]} ${_[2]} 0 0 1 ${g} ${m} Z`,r=e,l=t,n=w[a][4],c=w[a][5]}const d=e=>{const t=e.target.dataset?.sector;t&&this.viewModel.handleSectorClick(+t)},g=e=>{const t=e.target.dataset;if(!t)return;const{featureIndexInSector:i,sector:a}=t;i&&a&&this.viewModel.handleFeatureClick({sector:a,featureIndexInSector:+i})},m=e=>{e.removeEventListener("click",g)},h=a.attributes.objectId,p=e?.map((e=>e?.items)).filter(Boolean).flatMap((e=>e?.map((({x:e,y:t,objectID:i,featureIndexInSector:a,sector:s})=>G("circle",{afterRemoved:m,class:this.classes(C.feature,{selected:h===i}),cx:e,cy:t,"data-feature-index-in-sector":a,"data-sector":s,key:`${C.feature}-${i}`,onclick:g,r:b}))))),u=e=>{e.removeEventListener("click",d)},v=this.classes({[C.navigationWrapper]:!0,[C.navigationZoomed]:this._navigationToolExpanded});return this.navigationToolActive&&"image-loaded"===s?G("div",{bind:this,class:v,key:this.messages.navigationTool},G("svg",{afterCreate:e=>this._storeNavigationToolReference(e),class:t()?T:C.rotateWithAnimation,focusable:"false",height:M,role:"img",width:M,xmlns:"http://www.w3.org/2000/svg"},G("defs",null,G("linearGradient",{gradientUnits:"userSpaceOnUse",id:`${this.id}-coverage-fill`,x1:r,x2:n,y1:l,y2:c},G("stop",{class:C.navigationPathOffset0,offset:0}),G("stop",{class:C.navigationPathOffset1,offset:1}))),G("g",null,G("circle",{class:this.classes(C.sector,C.outerSector),cx:_[3],cy:_[3],onclick:this._scaleNavigationTool,r:_[3]}),G("circle",{class:C.sector,cx:_[3],cy:_[3],r:_[2]}),G("circle",{class:C.sector,cx:_[3],cy:_[3],r:_[1]}),G("circle",{class:C.sector,cx:_[3],cy:_[3],r:_[0]}),G("path",{class:C.pointer,d:"M 56.5 6.06217782649107 L 60 0 L 63.5 6.06217782649107 Z",key:`${C.pointer}-west`}),G("path",{class:this.classes(C.pointer,C.north),d:"M 113.93782217350893 56.5 L 120 60 L 113.93782217350893 63.5 Z",key:`${C.pointer}-north`}),G("path",{class:C.pointer,d:"M 56.5 113.93782217350893 L 60 120 L 63.5 113.93782217350893 Z",key:`${C.pointer}-east`}),G("path",{class:C.pointer,d:"M 6.06217782649107 56.5 L 0 60 L 6.06217782649107 63.5 Z",key:`${C.pointer}-south`}),G("path",{class:this.classes(C.sector,C.sectorSeparator),d:"M 23.937554159486076 23.937554159486076 L 96.06244584051393 96.06244584051393 M 23.937554159486076 96.06244584051393 L 96.06244584051393 23.937554159486076",key:C.sectorSeparator}),y([_[2],_[1],_[0]],_[3],_[3]).map(((t,i)=>G("path",{afterRemoved:u,class:this.classes(C.sector,e?.[i]?.length?C.sectorEnabled:C.sectorDisabled),d:t,"data-sector":`${i}`,key:`${C.sector}-${i}`,onclick:d}))),G("path",{class:this.classes(C.sector,C.sectorCross),d:"M 56.4 56.4 L 63.53 63.53 M 63.53 56.4 L 56.4 63.53",key:C.sectorCross}),p,a.attributes.cameraPitch>=5&&o?G("path",{class:C.selectedFeaturePath,d:o,fill:`url(#${this.id}-coverage-fill)`,key:C.selectedFeaturePath}):null))):null}_renderThumbnails(e){const{currentBestFeature:t}=this.viewModel;return t?G("div",{class:C.carouselContent},e.items.map((({url:e,objectId:i,rotation:a},s)=>G("div",{class:`${C.carouselItemWrapper}${t.attributes.objectId===i?"--selected":""}`,key:`${C.carouselItemWrapper}-${s}`},G("canvas",{afterCreate:this._registerGalleryItem,afterRemoved:this._unregisterGalleryItem,alt:`thumbnail-${i}`,class:C.carouselItem,"data-objectid":`${i}`,"data-rotation":`${a}`,"data-src":e,onclick:this._loadImageFromGallery,onmouseenter:this._highlight,onmouseleave:this._removeHighlight}))))):null}_resetImageTools(){this.viewModel.sharpness=this.viewModel.brightness=this.viewModel.contrast=0}_storeActionElement(e){this._actionItems.set(e.text,e)}_storeNavigationToolReference(e){this._navigationTool=e}_storeWarningTitleElement(e){this._warningTitleElement=e}_toggleAdditionalCameraLocations(){this.isAdditionalPointSourcesVisible=!this.isAdditionalPointSourcesVisible}_toggleAdditionalCoverage(){this.isAdditionalCoverageVisible=!this.isAdditionalCoverageVisible}_toggleCurrentCoverage(){this.currentCoverageVisible=!this.currentCoverageVisible}_toggleImageEnhancementToolState(e){e.stopPropagation(),this.imageEnhancementToolActive=!this.imageEnhancementToolActive,this.imageEnhancementToolActive&&(this.galleryOpened&&(this.galleryOpened=!1),this.navigationToolActive&&(this.navigationToolActive=!1),this.imageOverlaysOpened&&(this.imageOverlaysOpened=!1))}_toggleImageOverlays(e){e.stopPropagation(),this.imageOverlaysOpened=!this.imageOverlaysOpened,this.imageOverlaysOpened&&(this.galleryOpened&&(this.galleryOpened=!1),this.navigationToolActive&&(this.navigationToolActive=!1),this.imageEnhancementToolActive&&(this.imageEnhancementToolActive=!1))}_toggleImageGallery(e){e.stopPropagation(),this.galleryOpened=!!this.imageGalleryEnabled&&!this.galleryOpened,this.galleryOpened&&(this.imageEnhancementToolActive&&(this.imageEnhancementToolActive=!1),this.navigationToolActive&&(this.navigationToolActive=!1),this.imageOverlaysOpened&&(this.imageOverlaysOpened=!1))}_toggleMeasurementSketch(e,t){e.stopPropagation(),this.measureType=this.measureType===t?null:t,this.measureType===t&&(this.imageEnhancementToolActive=!1,this.navigationToolActive=!1,this.imageOverlaysOpened=!1,this.galleryOpened=!1,this.viewModel.displayNewMeasurementButton=!0)}_toggleNavigationTool(){this.navigationToolActive=!this.navigationToolActive,this.navigationToolActive&&(this.galleryOpened&&(this.galleryOpened=!1),this.imageEnhancementToolActive&&(this.imageEnhancementToolActive=!1),this.imageOverlaysOpened&&(this.imageOverlaysOpened=!1))}_toggleMapImageConversionToolState(){this.mapImageConversionToolState=!this.mapImageConversionToolState}_unregisterGalleryItem(e){this._galleryObserver.unobserve(e)}_updateNavigationTool(e){const{previousFeatureAngle:t,bestFeatureAngle:i}=this.viewModel,a=(i-t+540)%360-180;e.style.setProperty(f,`${t}deg`),e.style.setProperty(I,`${t+a}deg`)}async loadBestImage(e){return this.viewModel.loadBestImage(e)}loadImageFromSource(e,t){return this.viewModel.loadImageFromSource(e,t)}async plotMapPoint(e){return this.viewModel.plotMapPoint(e)}plotReferencePointOnGround(e){this.viewModel.plotReferencePointOnGround(e)}plotReferencePointOnImage(e){this.viewModel.plotReferencePointOnImage(e)}resetImage(){this.viewModel.resetImage()}render(){return G("div",{class:this.classes(S.widget,A)},this._renderRoot())}updateSuitabilities(e){this.viewModel.updateSuitabilities(e)}};e([g()],H.prototype,"activeLayer",null),e([g()],H.prototype,"currentBestFeature",null),e([g()],H.prototype,"currentCoverageVisible",null),e([g()],H.prototype,"digitizationLayer",null),e([g()],H.prototype,"disabled",null),e([g()],H.prototype,"features",null),e([g()],H.prototype,"imagePointsInView",null),e([g()],H.prototype,"galleryOpened",void 0),e([g()],H.prototype,"icon",null),e([g()],H.prototype,"imageEnhancementToolActive",void 0),e([g({readOnly:!0})],H.prototype,"imageGalleryEnabled",null),e([g()],H.prototype,"imageOverlaysOpened",void 0),e([g({readOnly:!0})],H.prototype,"invalidCameraHeading",null),e([g()],H.prototype,"isAdditionalCoverageVisible",null),e([g()],H.prototype,"isAdditionalPointSourcesVisible",null),e([g()],H.prototype,"mapImageConversionToolState",null),e([g()],H.prototype,"measureType",null),e([g()],H.prototype,"layer",null),e([g()],H.prototype,"listItemCreatedFunction",null),e([g()],H.prototype,"navigationToolActive",void 0),e([g()],H.prototype,"onOverlayAction",void 0),e([g({type:E})],H.prototype,"viewModel",void 0),e([g(),x("esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer")],H.prototype,"messages",void 0),e([g(),x("esri/core/t9n/Units")],H.prototype,"measurementUnitMessages",void 0),e([g(),x("esri/t9n/common")],H.prototype,"messagesCommon",void 0),e([g(),x("esri/widgets/Sketch/t9n/Sketch")],H.prototype,"messagesSketch",void 0),e([g()],H.prototype,"pixelMeasurementUnit",void 0),e([g()],H.prototype,"pixelAreaMeasurementUnit",void 0),e([g({readOnly:!0})],H.prototype,"popupEnabled",null),e([g()],H.prototype,"referencePoint",null),e([g()],H.prototype,"showCameraLocations",void 0),e([g()],H.prototype,"showMapFeatures",void 0),e([j(["create","delete","redo","undo","update"]),g({readOnly:!0})],H.prototype,"sketchViewModel",null),e([g()],H.prototype,"view",null),e([g({type:F,nonNullable:!0})],H.prototype,"visibleElements",void 0),e([g()],H.prototype,"determineWorkflowForFeature",null),e([g()],H.prototype,"updateFootprint",null),e([g()],H.prototype,"_actionItems",void 0),e([g()],H.prototype,"_areaMeasurementToggle",null),e([g()],H.prototype,"_commonActionProperties",null),e([g()],H.prototype,"_currentAction",void 0),e([g()],H.prototype,"_distanceMeasurementToggle",null),e([g()],H.prototype,"_imageEnhancementTools",null),e([g()],H.prototype,"_imageGalleryPanel",null),e([g()],H.prototype,"_imageOverlaysComponent",null),e([g()],H.prototype,"_imageOverlayMessages",null),e([g()],H.prototype,"_imageOverlaysPanel",null),e([g()],H.prototype,"_imageViewer",null),e([g()],H.prototype,"_messageBox",null),e([g()],H.prototype,"_navigationToolExpanded",void 0),e([g()],H.prototype,"_navigationTool",void 0),e([g()],H.prototype,"_panoramicViewer",null),e([g()],H.prototype,"_warningTitleElement",void 0),e([g()],H.prototype,"_renderNavigation",null),H=e([m("esri.widgets.OrientedImageryViewer")],H);const R=H;export{R 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 t from"../../Camera.js";import"../../geometry.js";import i from"../../Ground.js";import o from"../../Map.js";import a from"../../request.js";import r from"../../core/Collection.js";import s from"../../core/Error.js";import n from"../../core/Evented.js";import{JSONMap as h}from"../../core/jsonMap.js";import{rad2deg as m,deg2rad as l}from"../../core/mathUtils.js";import{destroyMaybe as d}from"../../core/maybe.js";import{isAbortError as c,waitTick as p}from"../../core/promiseUtils.js";import{watch as g,when as _,syncAndInitial as u}from"../../core/reactiveUtils.js";import{property as y}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{enumeration as v}from"../../core/accessorSupport/decorators/enumeration.js";import{subclass as f}from"../../core/accessorSupport/decorators/subclass.js";import w from"../../layers/GraphicsLayer.js";import{convertSphereVertexToPixelLocation as R}from"../../layers/orientedImagery/transformations/utils.js";import z from"../../views/SceneView.js";import V from"../Zoom.js";import{logAndThrow as C,getMissingPropertyErrorName as M,getMissingPropertyErrorMessage as j}from"../OrientedImageryViewer/utils.js";import{defaultImageSphereCenter as P,maxPanoramicViewerHFOV as H,minPanoramicViewerHFOV as O,humanBinocularHFOV as S}from"./constants.js";import b from"./PanoramicZoomConditions.js";import k from"./PanoramicZoomViewModel.js";import{findDiagonalFOV as x,meshToGraphic as I,createImageSphere as F}from"./utils.js";import G from"../../geometry/SpatialReference.js";const A={autoLoad:"auto-load",default:"default",navigation:"navigation",fovConstraint:"fov-constraint",clickAction:"image-click-action"};let L=class extends n.EventedAccessor{constructor(e){super(e),this._startPosition=null,this._targetPosition=null,this._graphics=new w({elevationInfo:{mode:"relative-to-ground"}}),this._imageGraphic=null,this._loadController=null,this._map=new o({ground:new i({opacity:0,navigationConstraint:null}),layers:new r([this._graphics])}),this._zoomViewModel=null,this.autoLoad=!1,this.clickAction="none",this.imageSize=null,this.imageSource=null,this.pitch=90,this.state="ready",this.yaw=0,this._addNavigationHandles=()=>{this.imageRenderer.basemapTerrain.suspended=!0,this.imageRenderer.constraints.tilt.max=180,this.removeHandles(A.navigation),this.addHandles([this.imageRenderer.on("mouse-wheel",this._handleWheel),this.imageRenderer.on("double-click",this._handleDoubleClick),this.imageRenderer.on("drag",this._handleDrag),this.imageRenderer.on("key-down",(e=>{const t=["+","-","Shift","_","=","ArrowUp","ArrowDown","ArrowRight","ArrowLeft"],i=e.key;t.includes(i)&&e.stopPropagation()}))],A.navigation)},this._addHFOVHandles=()=>{this.removeHandles(A.fovConstraint),this.addHandles(g((()=>[this.maxHFOV,this.minHFOV]),(()=>{this._zoomViewModel&&(this._zoomViewModel.panoramicZoomConditions=new b({view:this.imageRenderer,maxFOV:this.maxHFOV,minFOV:this.minHFOV}))}),u),A.fovConstraint)},this._addZoomHandles=()=>{this._zoomViewModel=new k({view:this.imageRenderer,panoramicZoomConditions:new b({maxFOV:this.maxHFOV,minFOV:this.minHFOV})});const e=new V({viewModel:this._zoomViewModel});this.imageRenderer.ui.add(e,"top-left"),this._addHFOVHandles()},this._cancelLoadWithController=()=>{this._loadController?.abort(),this._loadController=null},this._handleDoubleClick=e=>{e.stopPropagation(),e.native.ctrlKey?this._zoomOut():this._zoomIn()},this._handleDrag=e=>{e.stopPropagation();const{action:t,x:i,y:o}=e;switch(t){case"start":this._startPosition=this._targetPosition={x:i,y:o};break;case"update":this._targetPosition={x:i,y:o},this._updateCameraHeadingAndTilt()}},this._handleImageClick=e=>{if("image-loaded"===this.state&&this.imageRenderer.ready)switch(this.clickAction){case"emit":e.stopPropagation(),this.emit("click",e);break;case"hittest":e.stopPropagation(),e.async((async()=>{const t=await this.imageRenderer.hitTest(e.screenPoint,{include:this._graphics});this.emit("hittest-response",t)}));break;case"pixel-location":{if(e.stopPropagation(),!this.imageSize||!e.mapPoint)return void this.emit("pixel-location",null);const t=R(e.mapPoint,this.imageSize[0],this.imageSize[1]);this.emit("pixel-location",{...t,spatialReference:G.WebMercator});break}}},this._handleWheel=e=>{const t=e.deltaX??e.native.deltaX;e.stopPropagation(),t>0||e.deltaY>0?this._zoomOut():this._zoomIn()},this._loadWithController=()=>{this._cancelLoadWithController(),this._loadController=new AbortController,this.loadImage(this._loadController)},this._zoomIn=()=>this._zoomViewModel?.zoomIn(),this._zoomOut=()=>this._zoomViewModel?.zoomOut(),this.addGraphic=(e,t)=>"image-loaded"===this.state&&!this._graphics.graphics.includes(e)&&(this._graphics.graphics.add(e,t),!0),this.addManyGraphics=e=>{if("image-loaded"!==this.state)return!1;const t=e.filter((e=>!this._graphics.graphics.includes(e)));return this._graphics.graphics.addMany(t),!0},this.clearGraphics=()=>{this._graphics.graphics.removeAll()},this.clearImage=()=>{this.imageSize=null,this._removeImageSphere()},this.removeGraphic=e=>!("image-loaded"!==this.state||!this._graphics.graphics.includes(e))&&(this._graphics.remove(e),!0),this.removeManyGraphics=e=>{if("image-loaded"!==this.state)return!1;const t=e.filter((e=>this._graphics.graphics.includes(e)));return this._graphics.removeMany(t),!0},this._imageRenderer=new z({map:this._map,viewingMode:"local",camera:{position:P},environment:{atmosphereEnabled:!1,starsEnabled:!1,lighting:{type:"virtual"}},popupEnabled:!1,spatialReference:G.WebMercator,ui:{components:["attribution"]}})}destroy(){this._imageRenderer.destroy()}initialize(){this.state="initialized",this.addHandles([g((()=>this.imageSource),(()=>{this.imageSource&&this.autoLoad&&this._loadWithController()}),u),g((()=>this.fov),(()=>{this._reloadCamera()}),u),g((()=>this.yaw),(e=>{this.camera.heading=e,this._reloadCamera()}),u),g((()=>this.pitch),(e=>{this.camera.tilt=e,this._reloadCamera()}),u),_((()=>this.imageRenderer.ready),(()=>{this._addNavigationHandles(),this._addZoomHandles()}),u),g((()=>this.clickAction),(e=>{this.removeHandles(A.clickAction),"none"!==e&&this.addHandles(this.imageRenderer.on("click",this._handleImageClick))}),u)],A.default)}get camera(){return this.imageRenderer.camera}set camera(e){e&&(this.imageRenderer.camera=e.clone())}get fov(){return this.camera.fov}set fov(e){Number.isFinite(e)&&this._zoomViewModel?.zoomTo(e)}get hfov(){const{fov:e}=this.camera,{size:[t,i]}=this.imageRenderer,o=t/i,a=Math.atan(o);return 2*m(Math.atan(Math.tan(l(e/2))*Math.sin(a)))}get imageRenderer(){return this._imageRenderer}get maxHFOV(){const{size:[e,t]}=this.imageRenderer;return x(H,e/t)}get minHFOV(){const{size:[e,t]}=this.imageRenderer;return x(O,e/t)}get vfov(){const{fov:e}=this.camera,{size:[t,i]}=this.imageRenderer,o=t/i,a=Math.atan(o);return 2*m(Math.atan(Math.tan(l(e/2))*Math.cos(a)))}async _loadImageInternal(e,t){let i;this.state="image-loading";try{i=(await a(e,{responseType:"image",...t})).data}catch(o){throw c(o)?this.state="image-load-aborted":this.state="image-load-error",o}return this._updateImageSphere(i,t)}_reloadCamera(){this.camera=this.camera.clone()}_removeImageSphere(){this._imageGraphic&&(this._graphics.remove(this._imageGraphic),this._imageGraphic=d(this._imageGraphic)),this.state="ready",this.imageSize=null}_updateCameraHeadingAndTilt(){if(!this._startPosition||!this._targetPosition)return;const e=this.camera.heading+(this._startPosition.x-this._targetPosition.x)/this.imageRenderer.width*this.camera.fov;this.yaw=(e+360)%360;const t=this.camera.tilt-(this._startPosition.y-this._targetPosition.y)/this.imageRenderer.height*this.imageRenderer.camera.tilt;this.pitch=Math.min(179.5,Math.max(.5,t)),this._startPosition=this._targetPosition}async _updateImageSphere(e,t){await p(t);const{size:[i,o]}=this.imageRenderer;return this._imageGraphic=I(F(e)),this._graphics.add(this._imageGraphic),this.fov=x(S,i/o),this.state="image-loaded",this.imageSize=[e.width,e.height],this._imageGraphic.geometry}async loadImage(e){return this._removeImageSphere(),this.imageSource?this._loadImageInternal(this.imageSource,e):C(this.declaredClass,new s(M("panoramic-viewer"),j("PanoramicViewerViewModel","imageSource")))}};e([y()],L.prototype,"_graphics",void 0),e([y()],L.prototype,"_imageGraphic",void 0),e([y()],L.prototype,"_imageRenderer",void 0),e([y()],L.prototype,"_loadController",void 0),e([y()],L.prototype,"_map",void 0),e([y()],L.prototype,"_zoomViewModel",void 0),e([y({type:Boolean})],L.prototype,"autoLoad",void 0),e([y({type:t})],L.prototype,"camera",null),e([v(new h({emit:"emit",hittest:"hittest",none:"none","pixel-location":"pixel-location"}))],L.prototype,"clickAction",void 0),e([y({type:Number})],L.prototype,"fov",null),e([y({readOnly:!0})],L.prototype,"hfov",null),e([y({readOnly:!0})],L.prototype,"imageRenderer",null),e([y()],L.prototype,"imageSize",void 0),e([y()],L.prototype,"imageSource",void 0),e([y({readOnly:!0})],L.prototype,"maxHFOV",null),e([y({readOnly:!0})],L.prototype,"minHFOV",null),e([y({type:Number})],L.prototype,"pitch",void 0),e([y()],L.prototype,"state",void 0),e([y({readOnly:!0})],L.prototype,"vfov",null),e([y({type:Number})],L.prototype,"yaw",void 0),L=e([f("esri.widgets.PanoramicViewer.PanoramicViewerViewModel")],L);const W=L;export{W as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../Camera.js";import i from"../../Ground.js";import o from"../../Map.js";import a from"../../request.js";import r from"../../core/Collection.js";import s from"../../core/Error.js";import n from"../../core/Evented.js";import{JSONMap as h}from"../../core/jsonMap.js";import{rad2deg as m,deg2rad as l}from"../../core/mathUtils.js";import{destroyMaybe as d}from"../../core/maybe.js";import{isAbortError as c,waitTick as p}from"../../core/promiseUtils.js";import{watch as g,when as _,syncAndInitial as u}from"../../core/reactiveUtils.js";import{property as y}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{enumeration as v}from"../../core/accessorSupport/decorators/enumeration.js";import{subclass as f}from"../../core/accessorSupport/decorators/subclass.js";import w from"../../geometry/SpatialReference.js";import R from"../../layers/GraphicsLayer.js";import{convertSphereVertexToPixelLocation as z}from"../../layers/orientedImagery/transformations/utils.js";import V from"../../views/SceneView.js";import C from"../Zoom.js";import{logAndThrow as M,getMissingPropertyErrorName as j,getMissingPropertyErrorMessage as P}from"../OrientedImageryViewer/utils.js";import{defaultImageSphereCenter as H,maxPanoramicViewerHFOV as O,minPanoramicViewerHFOV as S,humanBinocularHFOV as b}from"./constants.js";import k from"./PanoramicZoomConditions.js";import x from"./PanoramicZoomViewModel.js";import{findDiagonalFOV as I,meshToGraphic as F,createImageSphere as G}from"./utils.js";const A={autoLoad:"auto-load",default:"default",navigation:"navigation",fovConstraint:"fov-constraint",clickAction:"image-click-action"};let L=class extends n.EventedAccessor{constructor(e){super(e),this._startPosition=null,this._targetPosition=null,this._graphics=new R({elevationInfo:{mode:"relative-to-ground"}}),this._imageGraphic=null,this._loadController=null,this._map=new o({ground:new i({opacity:0,navigationConstraint:null}),layers:new r([this._graphics])}),this._zoomViewModel=null,this.autoLoad=!1,this.clickAction="none",this.imageSize=null,this.imageSource=null,this.pitch=90,this.state="ready",this.yaw=0,this._addNavigationHandles=()=>{this.imageRenderer.basemapTerrain.suspended=!0,this.imageRenderer.constraints.tilt.max=180,this.removeHandles(A.navigation),this.addHandles([this.imageRenderer.on("mouse-wheel",this._handleWheel),this.imageRenderer.on("double-click",this._handleDoubleClick),this.imageRenderer.on("drag",this._handleDrag),this.imageRenderer.on("key-down",(e=>{const t=["+","-","Shift","_","=","ArrowUp","ArrowDown","ArrowRight","ArrowLeft"],i=e.key;t.includes(i)&&e.stopPropagation()}))],A.navigation)},this._addHFOVHandles=()=>{this.removeHandles(A.fovConstraint),this.addHandles(g((()=>[this.maxHFOV,this.minHFOV]),(()=>{this._zoomViewModel&&(this._zoomViewModel.panoramicZoomConditions=new k({view:this.imageRenderer,maxFOV:this.maxHFOV,minFOV:this.minHFOV}))}),u),A.fovConstraint)},this._addZoomHandles=()=>{this._zoomViewModel=new x({view:this.imageRenderer,panoramicZoomConditions:new k({maxFOV:this.maxHFOV,minFOV:this.minHFOV})});const e=new C({viewModel:this._zoomViewModel});this.imageRenderer.ui.add(e,"top-left"),this._addHFOVHandles()},this._cancelLoadWithController=()=>{this._loadController?.abort(),this._loadController=null},this._handleDoubleClick=e=>{e.stopPropagation(),e.native.ctrlKey?this._zoomOut():this._zoomIn()},this._handleDrag=e=>{e.stopPropagation();const{action:t,x:i,y:o}=e;switch(t){case"start":this._startPosition=this._targetPosition={x:i,y:o};break;case"update":this._targetPosition={x:i,y:o},this._updateCameraHeadingAndTilt()}},this._handleImageClick=e=>{if("image-loaded"===this.state&&this.imageRenderer.ready)switch(this.clickAction){case"emit":e.stopPropagation(),this.emit("click",e);break;case"hittest":e.stopPropagation(),e.async((async()=>{const t=await this.imageRenderer.hitTest(e.screenPoint,{include:this._graphics});this.emit("hittest-response",t)}));break;case"pixel-location":{if(e.stopPropagation(),!this.imageSize||!e.mapPoint)return void this.emit("pixel-location",null);const t=z(e.mapPoint,this.imageSize[0],this.imageSize[1]);this.emit("pixel-location",{...t,spatialReference:w.WebMercator});break}}},this._handleWheel=e=>{const t=e.deltaX??e.native.deltaX;e.stopPropagation(),t>0||e.deltaY>0?this._zoomOut():this._zoomIn()},this._loadWithController=()=>{this._cancelLoadWithController(),this._loadController=new AbortController,this.loadImage(this._loadController)},this._zoomIn=()=>this._zoomViewModel?.zoomIn(),this._zoomOut=()=>this._zoomViewModel?.zoomOut(),this.addGraphic=(e,t)=>"image-loaded"===this.state&&!this._graphics.graphics.includes(e)&&(this._graphics.graphics.add(e,t),!0),this.addManyGraphics=e=>{if("image-loaded"!==this.state)return!1;const t=e.filter((e=>!this._graphics.graphics.includes(e)));return this._graphics.graphics.addMany(t),!0},this.clearGraphics=()=>{this._graphics.graphics.removeAll()},this.clearImage=()=>{this.imageSize=null,this._removeImageSphere()},this.removeGraphic=e=>!("image-loaded"!==this.state||!this._graphics.graphics.includes(e))&&(this._graphics.remove(e),!0),this.removeManyGraphics=e=>{if("image-loaded"!==this.state)return!1;const t=e.filter((e=>this._graphics.graphics.includes(e)));return this._graphics.removeMany(t),!0},this._imageRenderer=new V({map:this._map,viewingMode:"local",camera:{position:H},environment:{atmosphereEnabled:!1,starsEnabled:!1,lighting:{type:"virtual"}},popupEnabled:!1,spatialReference:w.WebMercator,ui:{components:["attribution"]}})}destroy(){this._imageRenderer.destroy()}initialize(){this.state="initialized",this.addHandles([g((()=>this.imageSource),(()=>{this.imageSource&&this.autoLoad&&this._loadWithController()}),u),g((()=>this.fov),(()=>{this._reloadCamera()}),u),g((()=>this.yaw),(e=>{this.camera.heading=e,this._reloadCamera()}),u),g((()=>this.pitch),(e=>{this.camera.tilt=e,this._reloadCamera()}),u),_((()=>this.imageRenderer.ready),(()=>{this._addNavigationHandles(),this._addZoomHandles()}),u),g((()=>this.clickAction),(e=>{this.removeHandles(A.clickAction),"none"!==e&&this.addHandles(this.imageRenderer.on("click",this._handleImageClick))}),u)],A.default)}get camera(){return this.imageRenderer.camera}set camera(e){e&&(this.imageRenderer.camera=e.clone())}get fov(){return this.camera.fov}set fov(e){Number.isFinite(e)&&this._zoomViewModel?.zoomTo(e)}get hfov(){const{fov:e}=this.camera,{size:[t,i]}=this.imageRenderer,o=t/i,a=Math.atan(o);return 2*m(Math.atan(Math.tan(l(e/2))*Math.sin(a)))}get imageRenderer(){return this._imageRenderer}get maxHFOV(){const{size:[e,t]}=this.imageRenderer;return I(O,e/t)}get minHFOV(){const{size:[e,t]}=this.imageRenderer;return I(S,e/t)}get vfov(){const{fov:e}=this.camera,{size:[t,i]}=this.imageRenderer,o=t/i,a=Math.atan(o);return 2*m(Math.atan(Math.tan(l(e/2))*Math.cos(a)))}async _loadImageInternal(e,t){let i;this.state="image-loading";try{i=(await a(e,{responseType:"image",...t})).data}catch(o){throw c(o)?this.state="image-load-aborted":this.state="image-load-error",o}return this._updateImageSphere(i,t)}_reloadCamera(){this.camera=this.camera.clone()}_removeImageSphere(){this._imageGraphic&&(this._graphics.remove(this._imageGraphic),this._imageGraphic=d(this._imageGraphic)),this.state="ready",this.imageSize=null}_updateCameraHeadingAndTilt(){if(!this._startPosition||!this._targetPosition)return;const e=this.camera.heading+(this._startPosition.x-this._targetPosition.x)/this.imageRenderer.width*this.camera.fov;this.yaw=(e+360)%360;const t=this.camera.tilt-(this._startPosition.y-this._targetPosition.y)/this.imageRenderer.height*this.imageRenderer.camera.tilt;this.pitch=Math.min(179.5,Math.max(.5,t)),this._startPosition=this._targetPosition}async _updateImageSphere(e,t){await p(t);const{size:[i,o]}=this.imageRenderer;return this._imageGraphic=F(G(e)),this._graphics.add(this._imageGraphic),this.fov=I(b,i/o),this.state="image-loaded",this.imageSize=[e.width,e.height],this._imageGraphic.geometry}async loadImage(e){return this._removeImageSphere(),this.imageSource?this._loadImageInternal(this.imageSource,e):M(this.declaredClass,new s(j("panoramic-viewer"),P("PanoramicViewerViewModel","imageSource")))}};e([y()],L.prototype,"_graphics",void 0),e([y()],L.prototype,"_imageGraphic",void 0),e([y()],L.prototype,"_imageRenderer",void 0),e([y()],L.prototype,"_loadController",void 0),e([y()],L.prototype,"_map",void 0),e([y()],L.prototype,"_zoomViewModel",void 0),e([y({type:Boolean})],L.prototype,"autoLoad",void 0),e([y({type:t})],L.prototype,"camera",null),e([v(new h({emit:"emit",hittest:"hittest",none:"none","pixel-location":"pixel-location"}))],L.prototype,"clickAction",void 0),e([y({type:Number})],L.prototype,"fov",null),e([y({readOnly:!0})],L.prototype,"hfov",null),e([y({readOnly:!0})],L.prototype,"imageRenderer",null),e([y()],L.prototype,"imageSize",void 0),e([y()],L.prototype,"imageSource",void 0),e([y({readOnly:!0})],L.prototype,"maxHFOV",null),e([y({readOnly:!0})],L.prototype,"minHFOV",null),e([y({type:Number})],L.prototype,"pitch",void 0),e([y()],L.prototype,"state",void 0),e([y({readOnly:!0})],L.prototype,"vfov",null),e([y({type:Number})],L.prototype,"yaw",void 0),L=e([f("esri.widgets.PanoramicViewer.PanoramicViewerViewModel")],L);const W=L;export{W as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import"../../geometry.js";import e from"../../geometry/Point.js";import r from"../../geometry/SpatialReference.js";const o=new e({x:0,y:0,z:0,spatialReference:r.WebMercator}),t=1e3,m=114,i=120,p=50;export{o as defaultImageSphereCenter,t as defaultImageSphereSize,m as humanBinocularHFOV,i as maxPanoramicViewerHFOV,p as minPanoramicViewerHFOV};
5
+ import e from"../../geometry/Point.js";import r from"../../geometry/SpatialReference.js";const o=new e({x:0,y:0,z:0,spatialReference:r.WebMercator}),t=1e3,m=114,a=120,i=50;export{o as defaultImageSphereCenter,t as defaultImageSphereSize,m as humanBinocularHFOV,a as maxPanoramicViewerHFOV,i as minPanoramicViewerHFOV};
@@ -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 t from"../../Graphic.js";import"../../symbols.js";import e from"../../core/Collection.js";import{rad2deg as r,deg2rad as o}from"../../core/mathUtils.js";import s from"../../geometry/Mesh.js";import m from"../../geometry/support/MeshMaterial.js";import n from"../../geometry/support/MeshTexture.js";import{defaultImageSphereCenter as i,defaultImageSphereSize as u}from"./constants.js";import a from"../../symbols/MeshSymbol3D.js";import c from"../../symbols/FillSymbol3DLayer.js";function l(t,e=i,r=u){const o=e.clone();o.z=-500;const a=s.createSphere(o,{size:r,densificationFactor:2,vertexSpace:"georeferenced",material:new m({colorTexture:new n({data:t})})});if(a.components[0].trustSourceNormals=!0,a.vertexAttributes.uv){const t=a.vertexAttributes.uv.length??0;for(let e=0;e<t;e++)a.vertexAttributes.uv[2*e+0]=1-a.vertexAttributes.uv[2*e+0],a.vertexAttributes.uv[2*e+1]=a.vertexAttributes.uv[2*e+1]}return a.centerAt(o),a}function p(r){return new t({geometry:r,symbol:new a({symbolLayers:new e([new c])})})}function f(t,e){return 2*r(Math.atan(Math.tan(o(t/2))*Math.sqrt(e**2+1)))}export{l as createImageSphere,f as findDiagonalFOV,p as meshToGraphic};
5
+ import t from"../../Graphic.js";import e from"../../core/Collection.js";import{rad2deg as r,deg2rad as o}from"../../core/mathUtils.js";import s from"../../geometry/Mesh.js";import m from"../../geometry/support/MeshMaterial.js";import n from"../../geometry/support/MeshTexture.js";import i from"../../symbols/FillSymbol3DLayer.js";import u from"../../symbols/MeshSymbol3D.js";import{defaultImageSphereCenter as a,defaultImageSphereSize as c}from"./constants.js";function l(t,e=a,r=c){const o=e.clone();o.z=-500;const i=s.createSphere(o,{size:r,densificationFactor:2,vertexSpace:"georeferenced",material:new m({colorTexture:new n({data:t})})});if(i.components[0].trustSourceNormals=!0,i.vertexAttributes.uv){const t=i.vertexAttributes.uv.length??0;for(let e=0;e<t;e++)i.vertexAttributes.uv[2*e+0]=1-i.vertexAttributes.uv[2*e+0],i.vertexAttributes.uv[2*e+1]=i.vertexAttributes.uv[2*e+1]}return i.centerAt(o),i}function p(r){return new t({geometry:r,symbol:new u({symbolLayers:new e([new i])})})}function f(t,e){return 2*r(Math.atan(Math.tan(o(t/2))*Math.sqrt(e**2+1)))}export{l as createImageSphere,f as findDiagonalFOV,p as meshToGraphic};