@arcgis/core 4.32.0-next.20250129 → 4.32.0-next.20250131

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 (1122) hide show
  1. package/WebScene.js +1 -1
  2. package/applications/Components/SelectionOperation.d.ts +1 -2
  3. package/applications/Components/SketchTooltipControls.d.ts +1 -2
  4. package/applications/Components/basemapUtils.d.ts +1 -2
  5. package/applications/Components/drawUtils.d.ts +1 -2
  6. package/applications/Components/fontUtils.d.ts +1 -2
  7. package/applications/Components/getDefaultUnits.d.ts +1 -2
  8. package/applications/Components/gfxUtils.d.ts +1 -2
  9. package/applications/Components/layerOriginUtils.d.ts +4 -2
  10. package/applications/Components/layersEffectsJsonUtils.d.ts +1 -2
  11. package/applications/Components/previewSymbol2D.d.ts +1 -2
  12. package/applications/Components/reactiveUtils.d.ts +1 -2
  13. package/applications/Components/styleUtils.d.ts +1 -2
  14. package/applications/Components/svgUtils.d.ts +3 -2
  15. package/applications/Components/webStyleSymbolUtils.d.ts +1 -2
  16. package/applications/Excalibur/videoViewUtils.d.ts +1 -2
  17. package/applications/ExperienceBuilder/sketchUtils.d.ts +3 -2
  18. package/applications/KnowledgeStudio/generalSharedKgUtils.d.ts +2 -2
  19. package/applications/KnowledgeStudio/layerInternalAccessUtils.d.ts +3 -2
  20. package/applications/KnowledgeStudio/resourceSerializationUtils.d.ts +4 -2
  21. package/applications/MapViewer/mediaUtils.d.ts +2 -2
  22. package/applications/MapViewer/templateUtils.d.ts +4 -2
  23. package/applications/SceneViewer/colorUtils.d.ts +1 -2
  24. package/applications/SceneViewer/devEnvironmentUtils.d.ts +3 -2
  25. package/applications/SceneViewer/layerUtils.d.ts +2 -2
  26. package/applications/SceneViewer/sceneViewerUtils.d.ts +15 -2
  27. package/applications/SceneViewer/symbolUtils.d.ts +1 -2
  28. package/applications/Urban/meshUtils.d.ts +1 -2
  29. package/applications/WebEditor/sketchUtils.d.ts +2 -2
  30. package/arcade.d.ts +2 -2
  31. package/assets/components/assets/icon/hammerCoin16.json +1 -0
  32. package/assets/components/assets/icon/hammerCoin24.json +1 -0
  33. package/assets/components/assets/icon/hammerCoin32.json +1 -0
  34. package/assets/components/assets/icon/hammerLock16.json +1 -0
  35. package/assets/components/assets/icon/hammerLock24.json +1 -0
  36. package/assets/components/assets/icon/hammerLock32.json +1 -0
  37. package/assets/esri/core/workers/RemoteClient.js +1 -1
  38. package/assets/esri/core/workers/chunks/{474c4f4c3b8649a807d9.js → 07c5f3fc475c57f5a7a7.js} +1 -1
  39. package/assets/esri/core/workers/chunks/{41f7287832d407f13ce5.js → 09b77f82c22530b44daa.js} +1 -1
  40. package/assets/esri/core/workers/chunks/22e11a8abc70b6571a2b.js +1 -0
  41. package/assets/esri/core/workers/chunks/{6eb829a7959df2269b0e.js → 24c94f97a76646d415ae.js} +1 -1
  42. package/assets/esri/core/workers/chunks/25c8cc30faade043c8dc.js.LICENSE.txt +1 -1
  43. package/assets/esri/core/workers/chunks/2ff63a71213f618377d6.js +1 -0
  44. package/assets/esri/core/workers/chunks/308ec51ff4a66f7fcb0d.js.LICENSE.txt +1 -1
  45. package/assets/esri/core/workers/chunks/34d464dacee52739c98c.js +1 -0
  46. package/assets/esri/core/workers/chunks/380d37ceb8cf52bad190.js +1 -0
  47. package/assets/esri/core/workers/chunks/39e38aab86dcee3f79be.js +1 -0
  48. package/assets/esri/core/workers/chunks/{1e17b693f2d974c3de2d.js → 3ec51b75d1a86dad6cb1.js} +1 -1
  49. package/assets/esri/core/workers/chunks/4263eee3247aaf4e64bf.js +1 -0
  50. package/assets/esri/core/workers/chunks/{b6440ddc595ba2ba8f8e.js → 448ee44c7f594e5b2551.js} +1 -1
  51. package/assets/esri/core/workers/chunks/476205ee4414ed80666a.js +1 -0
  52. package/assets/esri/core/workers/chunks/4b56c0c109e10d7409b8.js +1 -0
  53. package/assets/esri/core/workers/chunks/4da62cfe5e97fbc99306.js +1 -0
  54. package/assets/esri/core/workers/chunks/{1e1306527fb38c5894eb.js → 5a536de1ecae424bad05.js} +1 -1
  55. package/assets/esri/core/workers/chunks/{b65dcdf5818ee04aa7e0.js → 5adeb979f178944b9ce5.js} +1 -1
  56. package/assets/esri/core/workers/chunks/{f09c95c3d79205ee5a84.js → 5e9bf6d0db82526b8a8c.js} +5 -5
  57. package/assets/esri/core/workers/chunks/{429d19f4b59d9d265c2c.js → 6e25742ceedea7fb1b97.js} +1 -1
  58. package/assets/esri/core/workers/chunks/6e8905f20101c1f4509d.js.LICENSE.txt +1 -1
  59. package/assets/esri/core/workers/chunks/{a6e96d0d9ac3224c8f00.js → 6ef2514a6b7bbfb8e37d.js} +1 -1
  60. package/assets/esri/core/workers/chunks/72cf9192292e5c85c6df.js.LICENSE.txt +1 -1
  61. package/assets/esri/core/workers/chunks/{a591906154e12eb4fa43.js → 7810579a5a780933cdc9.js} +1 -1
  62. package/assets/esri/core/workers/chunks/{fa0d968733d581bc2e4d.js → 7d120f8b01fe719eb257.js} +1 -1
  63. package/assets/esri/core/workers/chunks/{09a897c342a45ef9125c.js → 7d3a441d2eb18d709ef9.js} +2 -2
  64. package/assets/esri/core/workers/chunks/{09a897c342a45ef9125c.js.LICENSE.txt → 7d3a441d2eb18d709ef9.js.LICENSE.txt} +1 -1
  65. package/assets/esri/core/workers/chunks/{d81fea1d36e7c2fbdffd.js → 881ddbdeb40336208e90.js} +1 -1
  66. package/assets/esri/core/workers/chunks/{ec9d5af8887854e821c8.js → 88cbaa91c495d86f4bb0.js} +1 -1
  67. package/assets/esri/core/workers/chunks/af2a70d33afb12bb536f.js +972 -0
  68. package/assets/esri/core/workers/chunks/b21b152fa15896577242.js.LICENSE.txt +1 -1
  69. package/assets/esri/core/workers/chunks/{4253b2802abb84afc428.js → b68bddd0c4ca91493543.js} +1 -1
  70. package/assets/esri/core/workers/chunks/bf9bc52a3c559108c19a.js +2 -0
  71. package/assets/esri/core/workers/chunks/{9b687465cc3863e14b29.js.LICENSE.txt → bf9bc52a3c559108c19a.js.LICENSE.txt} +1 -1
  72. package/assets/esri/core/workers/chunks/c249ad935f54d3b49ae3.js +1 -0
  73. package/assets/esri/core/workers/chunks/c4b0e3f7dcad6c7ea620.js +314 -0
  74. package/assets/esri/core/workers/chunks/c94ec324ecad77c53a87.js +1 -0
  75. package/assets/esri/core/workers/chunks/d1678945cf6a58f76863.js +1 -0
  76. package/assets/esri/core/workers/chunks/{9ed1691eab19dfb1cf04.js → d1718ad93e3271b0525e.js} +1 -1
  77. package/assets/esri/core/workers/chunks/d599ba865da87b487b1b.js +1 -0
  78. package/assets/esri/core/workers/chunks/dd46ec81cebe1a0a7b9c.js +1 -0
  79. package/assets/esri/core/workers/chunks/debfb75a94b66b58cbbc.js +1 -0
  80. package/assets/esri/core/workers/chunks/{c6135d2548d4a31298eb.js → e0de91eacf3a3b7eda55.js} +4 -4
  81. package/assets/esri/core/workers/chunks/e444ec05a8a1dfbd21a8.js +1 -0
  82. package/assets/esri/core/workers/chunks/{b84c28fe94b3cd7b480d.js → e4651d577d297386268e.js} +1 -1
  83. package/assets/esri/core/workers/chunks/{c80507443f896dbfaba6.js → e4b80c8f4c45fd78bde1.js} +1 -1
  84. package/assets/esri/core/workers/chunks/f8367c21fa91435c7c53.js +1 -0
  85. package/assets/esri/core/workers/chunks/{d4760e583dfac95dc8a1.js → ffa2b9d70830aed03a8f.js} +1 -1
  86. package/assets/esri/themes/base/_Ui.scss +6 -0
  87. package/assets/esri/themes/base/_core.scss +4 -0
  88. package/assets/esri/themes/base/_mixins.scss +0 -7
  89. package/assets/esri/themes/base/widgets/_BasemapLayerList.scss +0 -4
  90. package/assets/esri/themes/base/widgets/_BatchAttributeForm.scss +7 -2
  91. package/assets/esri/themes/base/widgets/_Bookmarks.scss +0 -4
  92. package/assets/esri/themes/base/widgets/_CatalogLayerList.scss +0 -4
  93. package/assets/esri/themes/base/widgets/_Features.scss +0 -4
  94. package/assets/esri/themes/base/widgets/_FilterBuilder.scss +24 -0
  95. package/assets/esri/themes/base/widgets/_FilterCondition.scss +12 -0
  96. package/assets/esri/themes/base/widgets/_LayerList.scss +0 -4
  97. package/assets/esri/themes/base/widgets/_OrientedImageryViewer.scss +1 -1
  98. package/assets/esri/themes/base/widgets/_TableList.scss +0 -4
  99. package/assets/esri/themes/dark/main.css +1 -1
  100. package/assets/esri/themes/light/main.css +1 -1
  101. package/assets/esri/themes/light/view.css +1 -1
  102. package/assets/esri/views/interactive/tooltip/t9n/Tooltip.json +1 -1
  103. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_ar.json +1 -1
  104. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_bg.json +1 -1
  105. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_bs.json +1 -1
  106. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_ca.json +1 -1
  107. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_cs.json +1 -1
  108. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_da.json +1 -1
  109. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_de.json +1 -1
  110. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_el.json +1 -1
  111. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_en.json +1 -1
  112. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_es.json +1 -1
  113. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_et.json +1 -1
  114. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_fi.json +1 -1
  115. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_fr.json +1 -1
  116. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_he.json +1 -1
  117. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_hr.json +1 -1
  118. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_hu.json +1 -1
  119. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_id.json +1 -1
  120. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_it.json +1 -1
  121. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_ja.json +1 -1
  122. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_ko.json +1 -1
  123. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_lt.json +1 -1
  124. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_lv.json +1 -1
  125. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_nl.json +1 -1
  126. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_no.json +1 -1
  127. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_pl.json +1 -1
  128. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_pt-BR.json +1 -1
  129. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_pt-PT.json +1 -1
  130. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_ro.json +1 -1
  131. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_ru.json +1 -1
  132. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_sk.json +1 -1
  133. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_sl.json +1 -1
  134. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_sr.json +1 -1
  135. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_sv.json +1 -1
  136. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_th.json +1 -1
  137. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_tr.json +1 -1
  138. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_uk.json +1 -1
  139. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_vi.json +1 -1
  140. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_zh-CN.json +1 -1
  141. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_zh-HK.json +1 -1
  142. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_zh-TW.json +1 -1
  143. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm.json +1 -1
  144. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ar.json +1 -1
  145. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_bg.json +1 -1
  146. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_bs.json +1 -1
  147. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ca.json +1 -1
  148. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_cs.json +1 -1
  149. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_da.json +1 -1
  150. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_de.json +1 -1
  151. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_el.json +1 -1
  152. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_en.json +1 -1
  153. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_es.json +1 -1
  154. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_et.json +1 -1
  155. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_fi.json +1 -1
  156. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_fr.json +1 -1
  157. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_he.json +1 -1
  158. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_hr.json +1 -1
  159. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_hu.json +1 -1
  160. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_id.json +1 -1
  161. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_it.json +1 -1
  162. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ja.json +1 -1
  163. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ko.json +1 -1
  164. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_lt.json +1 -1
  165. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_lv.json +1 -1
  166. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_nl.json +1 -1
  167. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_no.json +1 -1
  168. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_pl.json +1 -1
  169. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_pt-BR.json +1 -1
  170. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_pt-PT.json +1 -1
  171. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ro.json +1 -1
  172. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ru.json +1 -1
  173. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sk.json +1 -1
  174. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sl.json +1 -1
  175. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sr.json +1 -1
  176. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sv.json +1 -1
  177. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_th.json +1 -1
  178. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_tr.json +1 -1
  179. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_uk.json +1 -1
  180. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_vi.json +1 -1
  181. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_zh-CN.json +1 -1
  182. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_zh-HK.json +1 -1
  183. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_zh-TW.json +1 -1
  184. package/assets/esri/widgets/Directions/t9n/Directions.json +1 -1
  185. package/assets/esri/widgets/Directions/t9n/Directions_ar.json +1 -1
  186. package/assets/esri/widgets/Directions/t9n/Directions_bg.json +1 -1
  187. package/assets/esri/widgets/Directions/t9n/Directions_bs.json +1 -1
  188. package/assets/esri/widgets/Directions/t9n/Directions_ca.json +1 -1
  189. package/assets/esri/widgets/Directions/t9n/Directions_cs.json +1 -1
  190. package/assets/esri/widgets/Directions/t9n/Directions_da.json +1 -1
  191. package/assets/esri/widgets/Directions/t9n/Directions_de.json +1 -1
  192. package/assets/esri/widgets/Directions/t9n/Directions_el.json +1 -1
  193. package/assets/esri/widgets/Directions/t9n/Directions_en.json +1 -1
  194. package/assets/esri/widgets/Directions/t9n/Directions_es.json +1 -1
  195. package/assets/esri/widgets/Directions/t9n/Directions_et.json +1 -1
  196. package/assets/esri/widgets/Directions/t9n/Directions_fi.json +1 -1
  197. package/assets/esri/widgets/Directions/t9n/Directions_fr.json +1 -1
  198. package/assets/esri/widgets/Directions/t9n/Directions_he.json +1 -1
  199. package/assets/esri/widgets/Directions/t9n/Directions_hr.json +1 -1
  200. package/assets/esri/widgets/Directions/t9n/Directions_hu.json +1 -1
  201. package/assets/esri/widgets/Directions/t9n/Directions_id.json +1 -1
  202. package/assets/esri/widgets/Directions/t9n/Directions_it.json +1 -1
  203. package/assets/esri/widgets/Directions/t9n/Directions_ja.json +1 -1
  204. package/assets/esri/widgets/Directions/t9n/Directions_ko.json +1 -1
  205. package/assets/esri/widgets/Directions/t9n/Directions_lt.json +1 -1
  206. package/assets/esri/widgets/Directions/t9n/Directions_lv.json +1 -1
  207. package/assets/esri/widgets/Directions/t9n/Directions_nl.json +1 -1
  208. package/assets/esri/widgets/Directions/t9n/Directions_no.json +1 -1
  209. package/assets/esri/widgets/Directions/t9n/Directions_pl.json +1 -1
  210. package/assets/esri/widgets/Directions/t9n/Directions_pt-BR.json +1 -1
  211. package/assets/esri/widgets/Directions/t9n/Directions_pt-PT.json +1 -1
  212. package/assets/esri/widgets/Directions/t9n/Directions_ro.json +1 -1
  213. package/assets/esri/widgets/Directions/t9n/Directions_ru.json +1 -1
  214. package/assets/esri/widgets/Directions/t9n/Directions_sk.json +1 -1
  215. package/assets/esri/widgets/Directions/t9n/Directions_sl.json +1 -1
  216. package/assets/esri/widgets/Directions/t9n/Directions_sr.json +1 -1
  217. package/assets/esri/widgets/Directions/t9n/Directions_sv.json +1 -1
  218. package/assets/esri/widgets/Directions/t9n/Directions_th.json +1 -1
  219. package/assets/esri/widgets/Directions/t9n/Directions_tr.json +1 -1
  220. package/assets/esri/widgets/Directions/t9n/Directions_uk.json +1 -1
  221. package/assets/esri/widgets/Directions/t9n/Directions_vi.json +1 -1
  222. package/assets/esri/widgets/Directions/t9n/Directions_zh-CN.json +1 -1
  223. package/assets/esri/widgets/Directions/t9n/Directions_zh-HK.json +1 -1
  224. package/assets/esri/widgets/Directions/t9n/Directions_zh-TW.json +1 -1
  225. package/assets/esri/widgets/Editor/t9n/Editor.json +1 -1
  226. package/assets/esri/widgets/Editor/t9n/Editor_ar.json +1 -1
  227. package/assets/esri/widgets/Editor/t9n/Editor_bg.json +1 -1
  228. package/assets/esri/widgets/Editor/t9n/Editor_bs.json +1 -1
  229. package/assets/esri/widgets/Editor/t9n/Editor_ca.json +1 -1
  230. package/assets/esri/widgets/Editor/t9n/Editor_cs.json +1 -1
  231. package/assets/esri/widgets/Editor/t9n/Editor_da.json +1 -1
  232. package/assets/esri/widgets/Editor/t9n/Editor_de.json +1 -1
  233. package/assets/esri/widgets/Editor/t9n/Editor_el.json +1 -1
  234. package/assets/esri/widgets/Editor/t9n/Editor_en.json +1 -1
  235. package/assets/esri/widgets/Editor/t9n/Editor_es.json +1 -1
  236. package/assets/esri/widgets/Editor/t9n/Editor_et.json +1 -1
  237. package/assets/esri/widgets/Editor/t9n/Editor_fi.json +1 -1
  238. package/assets/esri/widgets/Editor/t9n/Editor_fr.json +1 -1
  239. package/assets/esri/widgets/Editor/t9n/Editor_he.json +1 -1
  240. package/assets/esri/widgets/Editor/t9n/Editor_hr.json +1 -1
  241. package/assets/esri/widgets/Editor/t9n/Editor_hu.json +1 -1
  242. package/assets/esri/widgets/Editor/t9n/Editor_id.json +1 -1
  243. package/assets/esri/widgets/Editor/t9n/Editor_it.json +1 -1
  244. package/assets/esri/widgets/Editor/t9n/Editor_ja.json +1 -1
  245. package/assets/esri/widgets/Editor/t9n/Editor_ko.json +1 -1
  246. package/assets/esri/widgets/Editor/t9n/Editor_lt.json +1 -1
  247. package/assets/esri/widgets/Editor/t9n/Editor_lv.json +1 -1
  248. package/assets/esri/widgets/Editor/t9n/Editor_nl.json +1 -1
  249. package/assets/esri/widgets/Editor/t9n/Editor_no.json +1 -1
  250. package/assets/esri/widgets/Editor/t9n/Editor_pl.json +1 -1
  251. package/assets/esri/widgets/Editor/t9n/Editor_pt-BR.json +1 -1
  252. package/assets/esri/widgets/Editor/t9n/Editor_pt-PT.json +1 -1
  253. package/assets/esri/widgets/Editor/t9n/Editor_ro.json +1 -1
  254. package/assets/esri/widgets/Editor/t9n/Editor_ru.json +1 -1
  255. package/assets/esri/widgets/Editor/t9n/Editor_sk.json +1 -1
  256. package/assets/esri/widgets/Editor/t9n/Editor_sl.json +1 -1
  257. package/assets/esri/widgets/Editor/t9n/Editor_sr.json +1 -1
  258. package/assets/esri/widgets/Editor/t9n/Editor_sv.json +1 -1
  259. package/assets/esri/widgets/Editor/t9n/Editor_th.json +1 -1
  260. package/assets/esri/widgets/Editor/t9n/Editor_tr.json +1 -1
  261. package/assets/esri/widgets/Editor/t9n/Editor_uk.json +1 -1
  262. package/assets/esri/widgets/Editor/t9n/Editor_vi.json +1 -1
  263. package/assets/esri/widgets/Editor/t9n/Editor_zh-CN.json +1 -1
  264. package/assets/esri/widgets/Editor/t9n/Editor_zh-HK.json +1 -1
  265. package/assets/esri/widgets/Editor/t9n/Editor_zh-TW.json +1 -1
  266. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm.json +1 -1
  267. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ar.json +1 -1
  268. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_bg.json +1 -1
  269. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_bs.json +1 -1
  270. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ca.json +1 -1
  271. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_cs.json +1 -1
  272. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_da.json +1 -1
  273. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_de.json +1 -1
  274. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_el.json +1 -1
  275. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_en.json +1 -1
  276. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_es.json +1 -1
  277. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_et.json +1 -1
  278. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_fi.json +1 -1
  279. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_fr.json +1 -1
  280. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_he.json +1 -1
  281. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_hr.json +1 -1
  282. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_hu.json +1 -1
  283. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_id.json +1 -1
  284. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_it.json +1 -1
  285. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ja.json +1 -1
  286. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ko.json +1 -1
  287. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_lt.json +1 -1
  288. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_lv.json +1 -1
  289. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_nl.json +1 -1
  290. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_no.json +1 -1
  291. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_pl.json +1 -1
  292. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_pt-BR.json +1 -1
  293. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_pt-PT.json +1 -1
  294. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ro.json +1 -1
  295. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ru.json +1 -1
  296. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sk.json +1 -1
  297. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sl.json +1 -1
  298. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sr.json +1 -1
  299. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sv.json +1 -1
  300. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_th.json +1 -1
  301. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_tr.json +1 -1
  302. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_uk.json +1 -1
  303. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_vi.json +1 -1
  304. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_zh-CN.json +1 -1
  305. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_zh-HK.json +1 -1
  306. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_zh-TW.json +1 -1
  307. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer.json +1 -1
  308. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ar.json +1 -1
  309. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bg.json +1 -1
  310. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bs.json +1 -1
  311. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ca.json +1 -1
  312. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_cs.json +1 -1
  313. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_da.json +1 -1
  314. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_de.json +1 -1
  315. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_el.json +1 -1
  316. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_en.json +1 -1
  317. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_es.json +1 -1
  318. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_et.json +1 -1
  319. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fi.json +1 -1
  320. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fr.json +1 -1
  321. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_he.json +1 -1
  322. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hr.json +1 -1
  323. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hu.json +1 -1
  324. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_id.json +1 -1
  325. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_it.json +1 -1
  326. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ja.json +1 -1
  327. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ko.json +1 -1
  328. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lt.json +1 -1
  329. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lv.json +1 -1
  330. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_nl.json +1 -1
  331. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_no.json +1 -1
  332. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pl.json +1 -1
  333. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-BR.json +1 -1
  334. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-PT.json +1 -1
  335. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ro.json +1 -1
  336. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ru.json +1 -1
  337. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sk.json +1 -1
  338. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sl.json +1 -1
  339. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sr.json +1 -1
  340. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sv.json +1 -1
  341. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_th.json +1 -1
  342. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_tr.json +1 -1
  343. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_uk.json +1 -1
  344. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_vi.json +1 -1
  345. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-CN.json +1 -1
  346. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-HK.json +1 -1
  347. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-TW.json +1 -1
  348. package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder.json +1 -0
  349. package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_en.json +1 -0
  350. package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition.json +1 -0
  351. package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_en.json +1 -0
  352. package/chunks/AtmosphereCompositing.glsl.js +2 -2
  353. package/chunks/BlendLayers.glsl.js +1 -1
  354. package/chunks/BlendWeights.glsl.js +1 -1
  355. package/chunks/BloomBlur.glsl.js +23 -23
  356. package/chunks/BloomComposition.glsl.js +3 -3
  357. package/chunks/BloomDepthAdjust.glsl.js +2 -2
  358. package/chunks/Blur.glsl.js +1 -1
  359. package/chunks/ChapmanAtmosphere.glsl.js +2 -2
  360. package/chunks/CheckerBoard.glsl.js +2 -2
  361. package/chunks/Clouds.glsl.js +14 -14
  362. package/chunks/CloudsComposition.glsl.js +1 -1
  363. package/chunks/ColorMaterial.glsl.js +1 -1
  364. package/chunks/ComponentShader.glsl.js +4 -4
  365. package/chunks/Compositing.glsl.js +2 -2
  366. package/chunks/DefaultMaterial.glsl.js +16 -15
  367. package/chunks/EdgeDetect.glsl.js +2 -2
  368. package/chunks/EdgeShader.glsl.js +2 -2
  369. package/chunks/FocusAreaColor.glsl.js +2 -2
  370. package/chunks/FocusAreaMask.glsl.js +1 -1
  371. package/chunks/Fog.glsl.js +3 -3
  372. package/chunks/HUDCompositing.glsl.js +1 -1
  373. package/chunks/HUDMaterial.glsl.js +24 -24
  374. package/chunks/Haze.glsl.js +3 -3
  375. package/chunks/HazeCompositing.glsl.js +2 -2
  376. package/chunks/Heatmap.glsl.js +1 -1
  377. package/chunks/HeatmapDensity.glsl.js +5 -5
  378. package/chunks/HighlightApply.glsl.js +2 -2
  379. package/chunks/HighlightDownsample.glsl.js +2 -2
  380. package/chunks/HighlightToSingle.glsl.js +2 -2
  381. package/chunks/ImageMaterial.glsl.js +4 -4
  382. package/chunks/LaserlinePath.glsl.js +1 -1
  383. package/chunks/Laserlines.glsl.js +1 -1
  384. package/chunks/LineCallout.glsl.js +1 -1
  385. package/chunks/LineMarker.glsl.js +8 -8
  386. package/chunks/Magnifier.glsl.js +4 -4
  387. package/chunks/MeasurementArrow.glsl.js +2 -2
  388. package/chunks/NativeLine.glsl.js +4 -4
  389. package/chunks/NoiseTextureAtlas.glsl.js +34 -34
  390. package/chunks/OITBlend.glsl.js +3 -3
  391. package/chunks/OverlayCompositing.glsl.js +1 -1
  392. package/chunks/Path.glsl.js +9 -9
  393. package/chunks/Pattern.glsl.js +3 -3
  394. package/chunks/PointRenderer.glsl.js +1 -1
  395. package/chunks/Precipitation.glsl.js +1 -1
  396. package/chunks/RasterColorizer.glsl.js +9 -9
  397. package/chunks/RealisticTree.glsl.js +3 -3
  398. package/chunks/RibbonLine.glsl.js +32 -32
  399. package/chunks/SSAO.glsl.js +2 -2
  400. package/chunks/SSAOBlur.glsl.js +1 -1
  401. package/chunks/ShadedColorMaterial.glsl.js +3 -3
  402. package/chunks/ShadowCastAccumulate.glsl.js +2 -2
  403. package/chunks/ShadowCastVisualize.glsl.js +4 -4
  404. package/chunks/ShadowHighlight.glsl.js +2 -2
  405. package/chunks/SimpleAtmosphere.glsl.js +8 -8
  406. package/chunks/SingleHighlightApply.glsl.js +1 -1
  407. package/chunks/SingleHighlightBlur.glsl.js +6 -7
  408. package/chunks/SlicePlaneMaterial.glsl.js +2 -2
  409. package/chunks/Stars.glsl.js +2 -2
  410. package/chunks/Terrain.glsl.js +2 -2
  411. package/chunks/TextureOnly.glsl.js +2 -2
  412. package/chunks/Viewshed.glsl.js +2 -2
  413. package/chunks/WaterSurface.glsl.js +7 -7
  414. package/core/accessorSupport/decorators.d.ts +4 -2
  415. package/core/jsonMap.js +1 -1
  416. package/core/lang.d.ts +1 -2
  417. package/core/libs/gl-matrix-2/factories/vec2f64.js +1 -1
  418. package/core/promiseUtils.d.ts +5 -2
  419. package/core/quantity.d.ts +3 -2
  420. package/core/reactiveUtils.d.ts +5 -2
  421. package/core/scheduling.d.ts +2 -2
  422. package/core/sql.d.ts +1 -2
  423. package/core/units.d.ts +9 -2
  424. package/core/urlUtils.d.ts +5 -2
  425. package/core/workers.d.ts +1 -2
  426. package/editing/templateUtils.js +1 -1
  427. package/form/elements/inputs.d.ts +21 -2
  428. package/form/elements.d.ts +13 -2
  429. package/geometry/coordinateFormatter.d.ts +11 -2
  430. package/geometry/geometryEngine.d.ts +37 -2
  431. package/geometry/geometryEngineAsync.d.ts +37 -2
  432. package/geometry/operators/affineTransformOperator.d.ts +3 -2
  433. package/geometry/operators/alphaShapeOperator.d.ts +3 -2
  434. package/geometry/operators/areaOperator.d.ts +2 -2
  435. package/geometry/operators/autoCompleteOperator.d.ts +2 -2
  436. package/geometry/operators/boundaryOperator.d.ts +3 -2
  437. package/geometry/operators/bufferOperator.d.ts +3 -2
  438. package/geometry/operators/centroidOperator.d.ts +2 -2
  439. package/geometry/operators/clipOperator.d.ts +3 -2
  440. package/geometry/operators/containsOperator.d.ts +3 -2
  441. package/geometry/operators/convexHullOperator.d.ts +4 -2
  442. package/geometry/operators/crossesOperator.d.ts +3 -2
  443. package/geometry/operators/cutOperator.d.ts +2 -2
  444. package/geometry/operators/densifyOperator.d.ts +3 -2
  445. package/geometry/operators/differenceOperator.d.ts +3 -2
  446. package/geometry/operators/disjointOperator.d.ts +3 -2
  447. package/geometry/operators/distanceOperator.d.ts +2 -2
  448. package/geometry/operators/equalsOperator.d.ts +3 -2
  449. package/geometry/operators/extendOperator.d.ts +2 -2
  450. package/geometry/operators/generalizeOperator.d.ts +3 -2
  451. package/geometry/operators/geodesicBufferOperator.d.ts +5 -2
  452. package/geometry/operators/geodesicProximityOperator.d.ts +6 -2
  453. package/geometry/operators/geodeticAreaOperator.d.ts +4 -2
  454. package/geometry/operators/geodeticDensifyOperator.d.ts +5 -2
  455. package/geometry/operators/geodeticDistanceOperator.d.ts +4 -2
  456. package/geometry/operators/geodeticLengthOperator.d.ts +4 -2
  457. package/geometry/operators/graphicBufferOperator.d.ts +2 -2
  458. package/geometry/operators/integrateOperator.d.ts +2 -2
  459. package/geometry/operators/intersectionOperator.d.ts +4 -2
  460. package/geometry/operators/intersectsOperator.d.ts +3 -2
  461. package/geometry/operators/isNearOperator.d.ts +2 -2
  462. package/geometry/operators/labelPointOperator.d.ts +3 -2
  463. package/geometry/operators/lengthOperator.d.ts +2 -2
  464. package/geometry/operators/linesToPolygonsOperator.d.ts +2 -2
  465. package/geometry/operators/locateBetweenOperator.d.ts +2 -2
  466. package/geometry/operators/minimumBoundingCircleOperator.d.ts +3 -2
  467. package/geometry/operators/multiPartToSinglePartOperator.d.ts +2 -2
  468. package/geometry/operators/offsetOperator.d.ts +3 -2
  469. package/geometry/operators/overlapsOperator.d.ts +3 -2
  470. package/geometry/operators/polygonOverlayOperator.d.ts +2 -2
  471. package/geometry/operators/polygonSlicerOperator.d.ts +4 -2
  472. package/geometry/operators/projectOperator.d.ts +5 -2
  473. package/geometry/operators/proximityOperator.d.ts +4 -2
  474. package/geometry/operators/relateOperator.d.ts +4 -2
  475. package/geometry/operators/reshapeOperator.d.ts +2 -2
  476. package/geometry/operators/shapePreservingProjectOperator.d.ts +5 -2
  477. package/geometry/operators/simplifyOperator.d.ts +4 -2
  478. package/geometry/operators/support/geographicTransformationUtils.d.ts +4 -2
  479. package/geometry/operators/symmetricDifferenceOperator.d.ts +3 -2
  480. package/geometry/operators/touchesOperator.d.ts +3 -2
  481. package/geometry/operators/unionOperator.d.ts +3 -2
  482. package/geometry/operators/withinOperator.d.ts +3 -2
  483. package/geometry/projection.d.ts +5 -2
  484. package/geometry/support/geodesicUtils.d.ts +5 -2
  485. package/geometry/support/jsonUtils.d.ts +2 -2
  486. package/geometry/support/meshUtils.d.ts +6 -2
  487. package/geometry/support/normalizeUtils.d.ts +2 -2
  488. package/geometry/support/typeUtils.js +1 -1
  489. package/geometry/support/webMercatorUtils.d.ts +6 -2
  490. package/geometry.d.ts +13 -2
  491. package/interfaces.d.ts +292 -126
  492. package/intl.d.ts +16 -2
  493. package/kernel.d.ts +2 -2
  494. package/layers/FeatureLayer.js +1 -1
  495. package/layers/LinkChartLayer.js +1 -1
  496. package/layers/catalog/catalogUtils.d.ts +2 -2
  497. package/layers/graphics/OptimizedGeometry.js +1 -1
  498. package/layers/graphics/dehydratedFeatures.js +1 -1
  499. package/layers/graphics/sources/ParquetSource.js +1 -1
  500. package/layers/knowledgeGraph/KnowledgeGraphSublayer.js +1 -1
  501. package/layers/knowledgeGraph/cypherUtils.d.ts +1 -2
  502. package/layers/knowledgeGraph/layerUtils.js +1 -1
  503. package/layers/knowledgeGraph/supportUtils.d.ts +4 -2
  504. package/layers/mixins/APIKeyMixin.d.ts +1 -1
  505. package/layers/mixins/ArcGISCachedService.d.ts +1 -1
  506. package/layers/mixins/ArcGISImageService.d.ts +1 -1
  507. package/layers/mixins/ArcGISMapService.d.ts +1 -1
  508. package/layers/mixins/BlendLayer.d.ts +1 -1
  509. package/layers/mixins/CustomParametersMixin.d.ts +1 -1
  510. package/layers/mixins/DisplayFilteredLayer.d.ts +1 -1
  511. package/layers/mixins/FeatureEffectLayer.d.ts +1 -1
  512. package/layers/mixins/FeatureLayerBase.d.ts +1 -1
  513. package/layers/mixins/FeatureReductionLayer.d.ts +1 -1
  514. package/layers/mixins/ImageryTileMixin.d.ts +1 -1
  515. package/layers/mixins/OperationalLayer.d.ts +1 -1
  516. package/layers/mixins/OrderedLayer.d.ts +1 -1
  517. package/layers/mixins/PortalLayer.d.ts +1 -1
  518. package/layers/mixins/PublishableLayer.d.ts +1 -1
  519. package/layers/mixins/RasterPresetRendererMixin.d.ts +1 -1
  520. package/layers/mixins/RefreshableLayer.d.ts +1 -1
  521. package/layers/mixins/ScaleRangeLayer.d.ts +1 -1
  522. package/layers/mixins/SceneService.d.ts +1 -1
  523. package/layers/mixins/SublayersOwner.d.ts +1 -1
  524. package/layers/mixins/TemporalLayer.d.ts +1 -1
  525. package/layers/mixins/TemporalSceneLayer.d.ts +1 -1
  526. package/layers/ogc/wcsUtils.d.ts +1 -2
  527. package/layers/ogc/wfsUtils.d.ts +2 -2
  528. package/layers/orientedImagery/transformations/imageToWorld.d.ts +1 -2
  529. package/layers/orientedImagery/transformations/utils.js +1 -1
  530. package/layers/orientedImagery/transformations/worldToImage.d.ts +1 -2
  531. package/layers/support/Sublayer.js +1 -1
  532. package/layers/support/arcadeUtils.d.ts +1 -2
  533. package/layers/support/csvUtils.d.ts +1 -2
  534. package/layers/support/domainUtils.js +1 -1
  535. package/layers/support/fieldUtils.d.ts +8 -2
  536. package/layers/support/parquetLayerUtils.js +1 -1
  537. package/layers/support/rasterFunctionConstants.d.ts +15 -2
  538. package/layers/support/rasterFunctionUtils.d.ts +105 -2
  539. package/libs/linkchartlayout/LinkChartLayout.js +1 -1
  540. package/package.json +3 -3
  541. package/pointCloudRenderers.d.ts +9 -2
  542. package/popup/content.d.ts +17 -2
  543. package/popup/support/UtilityNetworkAssociationType.js +1 -1
  544. package/rasterRenderers.d.ts +14 -2
  545. package/renderers/mixins/VisualVariablesMixin.d.ts +1 -1
  546. package/renderers/support/jsonUtils.d.ts +1 -2
  547. package/renderers/support/utils.d.ts +2 -2
  548. package/renderers.d.ts +16 -2
  549. package/rest/closestFacility.d.ts +1 -2
  550. package/rest/featureService/utils.d.ts +1 -2
  551. package/rest/find.d.ts +1 -2
  552. package/rest/geometryService.d.ts +21 -2
  553. package/rest/geoprocessor.d.ts +2 -2
  554. package/rest/identify.d.ts +1 -2
  555. package/rest/imageService.d.ts +19 -2
  556. package/rest/knowledgeGraphService.d.ts +11 -2
  557. package/rest/locator.d.ts +4 -2
  558. package/rest/networkService.d.ts +1 -2
  559. package/rest/networks/queryAssociations.d.ts +1 -2
  560. package/rest/networks/synthesizeAssociationGeometries.d.ts +1 -2
  561. package/rest/networks/trace.d.ts +1 -2
  562. package/rest/places.d.ts +3 -2
  563. package/rest/print.d.ts +2 -2
  564. package/rest/query.d.ts +11 -2
  565. package/rest/route.d.ts +1 -2
  566. package/rest/serviceArea.d.ts +1 -2
  567. package/rest/symbolService.d.ts +1 -2
  568. package/smartMapping/labels/bins.d.ts +1 -2
  569. package/smartMapping/labels/clusters.d.ts +1 -2
  570. package/smartMapping/popup/clusters.d.ts +1 -2
  571. package/smartMapping/popup/templates.d.ts +1 -2
  572. package/smartMapping/raster/renderers/classBreaks.d.ts +1 -2
  573. package/smartMapping/raster/renderers/colormap.d.ts +1 -2
  574. package/smartMapping/raster/renderers/flow.d.ts +1 -2
  575. package/smartMapping/raster/renderers/rgb.d.ts +1 -2
  576. package/smartMapping/raster/renderers/shadedRelief.d.ts +1 -2
  577. package/smartMapping/raster/renderers/stretch.d.ts +1 -2
  578. package/smartMapping/raster/renderers/uniqueValue.d.ts +1 -2
  579. package/smartMapping/raster/renderers/vectorField.d.ts +1 -2
  580. package/smartMapping/raster/support/colorRamps.d.ts +5 -2
  581. package/smartMapping/raster/support/utils.d.ts +2 -2
  582. package/smartMapping/renderers/color.d.ts +6 -2
  583. package/smartMapping/renderers/dotDensity.d.ts +1 -2
  584. package/smartMapping/renderers/dotDensity.js +1 -1
  585. package/smartMapping/renderers/heatmap.d.ts +2 -2
  586. package/smartMapping/renderers/heatmap.js +1 -1
  587. package/smartMapping/renderers/location.d.ts +1 -2
  588. package/smartMapping/renderers/opacity.d.ts +1 -2
  589. package/smartMapping/renderers/pieChart.d.ts +2 -2
  590. package/smartMapping/renderers/predominance.d.ts +1 -2
  591. package/smartMapping/renderers/relationship.d.ts +2 -2
  592. package/smartMapping/renderers/size.d.ts +5 -2
  593. package/smartMapping/renderers/support/rendererUtils.d.ts +1 -2
  594. package/smartMapping/renderers/type.d.ts +2 -2
  595. package/smartMapping/renderers/univariateColorSize.d.ts +2 -2
  596. package/smartMapping/statistics/heatmapStatistics.js +1 -1
  597. package/smartMapping/statistics/summaryStatisticsForAttributes.js +1 -1
  598. package/smartMapping/statistics/support/ageUtils.d.ts +1 -2
  599. package/smartMapping/statistics/support/predominanceUtils.d.ts +1 -2
  600. package/smartMapping/support/adapters/FeatureLayerAdapter.js +1 -1
  601. package/smartMapping/support/adapters/support/layerUtils.js +1 -1
  602. package/smartMapping/support/adapters/support/utils.js +1 -1
  603. package/smartMapping/support/utils.js +1 -1
  604. package/smartMapping/symbology/color.d.ts +7 -2
  605. package/smartMapping/symbology/dotDensity.d.ts +4 -2
  606. package/smartMapping/symbology/flow.d.ts +5 -2
  607. package/smartMapping/symbology/heatmap.d.ts +5 -2
  608. package/smartMapping/symbology/location.d.ts +3 -2
  609. package/smartMapping/symbology/pieChart.d.ts +5 -2
  610. package/smartMapping/symbology/predominance.d.ts +5 -2
  611. package/smartMapping/symbology/relationship.d.ts +5 -2
  612. package/smartMapping/symbology/size.d.ts +3 -2
  613. package/smartMapping/symbology/support/colorRamps.d.ts +4 -2
  614. package/smartMapping/symbology/type.d.ts +5 -2
  615. package/support/LayersMixin.d.ts +1 -1
  616. package/support/TablesMixin.d.ts +1 -1
  617. package/support/basemapDefinitions.js +1 -1
  618. package/support/featureFlags.js +1 -1
  619. package/support/popupUtils.d.ts +4 -2
  620. package/support/revision.js +1 -1
  621. package/support/timeUtils.d.ts +3 -2
  622. package/symbols/support/cimConversionUtils.d.ts +1 -2
  623. package/symbols/support/cimSymbolUtils.d.ts +6 -2
  624. package/symbols/support/jsonUtils.d.ts +1 -2
  625. package/symbols/support/symbolUtils.d.ts +7 -2
  626. package/symbols.d.ts +51 -2
  627. package/tables/elements.d.ts +9 -2
  628. package/unionTypes.d.ts +12 -2
  629. package/versionManagement/utils.d.ts +2 -2
  630. package/versionManagement/versionAdapters/utils.d.ts +2 -2
  631. package/views/2d/engine/webgl/shaderGraph/GraphShaderModule.js +1 -1
  632. package/views/2d/engine/webgl/shaderGraph/graph/ShaderGraphContext.js +1 -1
  633. package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityPointShader.js +1 -1
  634. package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityPolygonShader.js +1 -1
  635. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/AFeatureShader.js +1 -1
  636. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/BitmapShader.js +1 -1
  637. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/BlendShader.js +1 -1
  638. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/GridShader.js +1 -1
  639. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/HeatmapResolveShader.js +1 -1
  640. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/MagnifierShader.js +1 -1
  641. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/OpacityShader.js +1 -1
  642. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/OverlayShader.js +1 -1
  643. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TestShader.js +1 -1
  644. package/views/2d/layers/FeatureLayerView2D.js +1 -1
  645. package/views/2d/layers/MediaLayerView2D.js +1 -1
  646. package/views/2d/layers/TileLayerView2D.js +1 -1
  647. package/views/2d/layers/features/layerAdapters/ParquetLayerAdapter.js +1 -1
  648. package/views/2d/layers/features/layerAdapters/SubtypeGroupLayerAdapter.js +1 -1
  649. package/views/2d/layers/features/layerAdapters/geometryUtils.js +1 -1
  650. package/views/2d/layers/features/sources/FeatureSourceQueryInfo.js +1 -1
  651. package/views/2d/layers/features/sources/strategies/AFetchLoadStrategy.js +1 -1
  652. package/views/2d/layers/features/sources/strategies/DrillDownTileLoadStrategy.js +1 -1
  653. package/views/2d/layers/features/sources/strategies/PagedTileLoadStrategy.js +1 -1
  654. package/views/2d/layers/features/sources/strategies/SnapshotLoadStrategy.js +1 -1
  655. package/views/2d/layers/features/support/FeatureSetReader.js +1 -1
  656. package/views/2d/layers/features/support/FeatureSetReaderIndirect.js +1 -1
  657. package/views/2d/layers/features/support/FeatureSetReaderPBF.js +1 -1
  658. package/views/2d/layers/features/support/FeatureSetReaderParquet.js +1 -1
  659. package/views/3d/environment/ChapmanApproximation.glsl.js +3 -3
  660. package/views/3d/environment/ChapmanAtmosphere.glsl.js +1 -1
  661. package/views/3d/environment/ChapmanAtmosphere.js +1 -1
  662. package/views/3d/environment/ChapmanAtmosphereTechnique.js +1 -1
  663. package/views/3d/environment/ChapmanRaymarching.glsl.js +4 -4
  664. package/views/3d/environment/Clouds.glsl.js +1 -1
  665. package/views/3d/environment/CloudsComposition.glsl.js +1 -1
  666. package/views/3d/environment/CloudsComposition.js +1 -1
  667. package/views/3d/environment/CloudsCompositionTechnique.js +1 -1
  668. package/views/3d/environment/CloudsRenderer.js +1 -1
  669. package/views/3d/environment/CloudsTechnique.js +1 -1
  670. package/views/3d/environment/EnvironmentRenderer.js +1 -1
  671. package/views/3d/environment/Fog.glsl.js +1 -1
  672. package/views/3d/environment/Fog.js +1 -1
  673. package/views/3d/environment/FogTechnique.js +1 -1
  674. package/views/3d/environment/LocalAtmosphere.js +1 -1
  675. package/views/3d/environment/MarsAtmosphere.js +1 -1
  676. package/views/3d/environment/NoiseTextureAtlas.glsl.js +1 -1
  677. package/views/3d/environment/NoiseTextureAtlas.js +1 -1
  678. package/views/3d/environment/NoiseTextureAtlasTechnique.js +1 -1
  679. package/views/3d/environment/Precipitation.glsl.js +1 -1
  680. package/views/3d/environment/Precipitation.js +1 -1
  681. package/views/3d/environment/PrecipitationTechnique.js +1 -1
  682. package/views/3d/environment/SimpleAtmosphere.glsl.js +1 -1
  683. package/views/3d/environment/SimpleAtmosphereTechnique.js +1 -1
  684. package/views/3d/interactive/editingTools/media/ControlPointOperations.js +1 -1
  685. package/views/3d/interactive/visualElements/LaserlineVisualElement.js +1 -1
  686. package/views/3d/interactive/visualElements/PointVisualElement.js +1 -1
  687. package/views/3d/layers/SceneLayerWorker.js +1 -1
  688. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  689. package/views/3d/layers/graphics/Labeler.js +1 -1
  690. package/views/3d/layers/graphics/pipeline/Feature3DPipelineWorker.js +1 -1
  691. package/views/3d/layers/graphics/pipeline/Feature3DPipelineWorkerHandle.js +1 -1
  692. package/views/3d/layers/graphics/pipeline/Tile.js +1 -1
  693. package/views/3d/layers/graphics/pipeline/Tile3DManager.js +1 -1
  694. package/views/3d/layers/graphics/pipeline/featureData/FeatureData.js +1 -1
  695. package/views/3d/layers/graphics/pipeline/featureData/FeatureDataStore.js +1 -1
  696. package/views/3d/layers/graphics/pipeline/featureSet/PBFPointFeatureSetView.js +1 -1
  697. package/views/3d/layers/graphics/pipeline/featureSet/TiledFeatureStore.js +1 -1
  698. package/views/3d/layers/graphics/pipeline/fetching/Tile3DFetcher.js +1 -1
  699. package/views/3d/layers/graphics/pipeline/rendering/FeaturePipelineRenderManager.js +1 -1
  700. package/views/3d/layers/graphics/wosrLoader.js +1 -1
  701. package/views/3d/layers/i3s/PointCloudRenderer.js +1 -1
  702. package/views/3d/layers/support/FastSymbolUpdates.js +1 -1
  703. package/views/3d/layers/support/FeatureTileMeasurements3D.js +1 -1
  704. package/views/3d/layers/support/FeatureTileTree3D.js +1 -1
  705. package/views/3d/layers/support/FeatureTileVisibility3D.js +1 -1
  706. package/views/3d/layers/support/MediaLayerInteraction.js +1 -1
  707. package/views/3d/layers/support/MediaLayerInteractionOptions.js +1 -1
  708. package/views/3d/support/PBFDecoder.js +1 -1
  709. package/views/3d/support/engineContent/sdfPrimitives.js +1 -1
  710. package/views/3d/terrain/BlendLayersTechnique.js +1 -1
  711. package/views/3d/terrain/OverlayRenderer.js +1 -1
  712. package/views/3d/terrain/RasterColorizerTechnique.js +1 -1
  713. package/views/3d/terrain/TerrainRenderer.js +1 -1
  714. package/views/3d/terrain/TileCompositor.js +1 -1
  715. package/views/3d/webgl/RenderNode.js +1 -1
  716. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  717. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechnique.js +1 -1
  718. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js +1 -1
  719. package/views/3d/webgl-engine/collections/Component/Material/shader/ComponentData.glsl.js +10 -10
  720. package/views/3d/webgl-engine/collections/Component/Material/shader/ComponentShader.glsl.js +1 -1
  721. package/views/3d/webgl-engine/collections/Component/Material/shader/DecodeSymbolColor.glsl.js +2 -2
  722. package/views/3d/webgl-engine/collections/Component/SourceGeometry.js +1 -1
  723. package/views/3d/webgl-engine/core/material/MaterialBase.js +1 -1
  724. package/views/3d/webgl-engine/core/renderPasses/RenderPassManager.js +1 -1
  725. package/views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js +1 -1
  726. package/views/3d/webgl-engine/core/shaderLibrary/HighlightCellGridScreenSpacePass.glsl.js +1 -1
  727. package/views/3d/webgl-engine/core/shaderLibrary/HighlightReadBitmap.glsl.js +2 -2
  728. package/views/3d/webgl-engine/core/shaderLibrary/Laserline.glsl.js +3 -3
  729. package/views/3d/webgl-engine/core/shaderLibrary/NormalFromDepth.glsl.js +1 -1
  730. package/views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.js +2 -2
  731. package/views/3d/webgl-engine/core/shaderLibrary/ScreenSizeScaling.glsl.js +1 -1
  732. package/views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js +2 -2
  733. package/views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js +3 -3
  734. package/views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js +1 -1
  735. package/views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js +9 -9
  736. package/views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js +1 -1
  737. package/views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js +1 -1
  738. package/views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexPosition.glsl.js +1 -1
  739. package/views/3d/webgl-engine/core/shaderLibrary/attributes/PositionAttribute.glsl.js +1 -1
  740. package/views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js +1 -1
  741. package/views/3d/webgl-engine/core/shaderLibrary/attributes/SymbolColor.glsl.js +2 -2
  742. package/views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js +1 -1
  743. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js +1 -1
  744. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js +1 -1
  745. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js +2 -2
  746. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexTangent.glsl.js +1 -1
  747. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexTextureCoordinates.glsl.js +2 -2
  748. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js +2 -2
  749. package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js +1 -1
  750. package/views/3d/webgl-engine/core/shaderLibrary/hud/AlignPixel.glsl.js +3 -3
  751. package/views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js +2 -2
  752. package/views/3d/webgl-engine/core/shaderLibrary/hud/HUDOcclusionPass.glsl.js +1 -1
  753. package/views/3d/webgl-engine/core/shaderLibrary/hud/HUDVisibility.glsl.js +1 -1
  754. package/views/3d/webgl-engine/core/shaderLibrary/output/Emissions.glsl.js +3 -3
  755. package/views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js +1 -1
  756. package/views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js +3 -3
  757. package/views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js +2 -2
  758. package/views/3d/webgl-engine/core/shaderLibrary/raster/Colormap.glsl.js +1 -1
  759. package/views/3d/webgl-engine/core/shaderLibrary/raster/Common.glsl.js +2 -2
  760. package/views/3d/webgl-engine/core/shaderLibrary/raster/Projection.glsl.js +1 -1
  761. package/views/3d/webgl-engine/core/shaderLibrary/raster/RasterColorizer.glsl.js +1 -1
  762. package/views/3d/webgl-engine/core/shaderLibrary/shading/AnalyticalSkyModel.glsl.js +1 -1
  763. package/views/3d/webgl-engine/core/shaderLibrary/shading/ComputeFragmentNormals.glsl.js +1 -1
  764. package/views/3d/webgl-engine/core/shaderLibrary/shading/ComputeMaterialColor.glsl.js +1 -1
  765. package/views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js +2 -2
  766. package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientLighting.glsl.js +4 -4
  767. package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js +1 -1
  768. package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js +1 -1
  769. package/views/3d/webgl-engine/core/shaderLibrary/shading/FoamRendering.glsl.js +1 -1
  770. package/views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js +4 -4
  771. package/views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js +1 -1
  772. package/views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js +2 -2
  773. package/views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js +1 -1
  774. package/views/3d/webgl-engine/core/shaderLibrary/shading/MultipassGeometryTest.glsl.js +1 -1
  775. package/views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js +1 -1
  776. package/views/3d/webgl-engine/core/shaderLibrary/shading/Normals.glsl.js +1 -1
  777. package/views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js +1 -1
  778. package/views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js +7 -7
  779. package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadBaseColorTexture.glsl.js +2 -2
  780. package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js +1 -1
  781. package/views/3d/webgl-engine/core/shaderLibrary/shading/ScreenSpaceReflections.glsl.js +1 -1
  782. package/views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js +2 -2
  783. package/views/3d/webgl-engine/core/shaderLibrary/shading/TextureTransformUV.glsl.js +1 -1
  784. package/views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js +1 -1
  785. package/views/3d/webgl-engine/core/shaderLibrary/shading/Water.glsl.js +1 -1
  786. package/views/3d/webgl-engine/core/shaderLibrary/shading/WaterDistortion.glsl.js +1 -1
  787. package/views/3d/webgl-engine/core/shaderLibrary/terrain/BackgroundGrid.glsl.js +1 -1
  788. package/views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js +3 -3
  789. package/views/3d/webgl-engine/core/shaderLibrary/terrain/TerrainTexture.glsl.js +1 -1
  790. package/views/3d/webgl-engine/core/shaderLibrary/terrain/TileBackground.glsl.js +6 -6
  791. package/views/3d/webgl-engine/core/shaderLibrary/terrain/TileComposite.glsl.js +1 -1
  792. package/views/3d/webgl-engine/core/shaderLibrary/util/BlendLayers.glsl.js +1 -1
  793. package/views/3d/webgl-engine/core/shaderLibrary/util/BlendModes.glsl.js +1 -1
  794. package/views/3d/webgl-engine/core/shaderLibrary/util/CameraSpace.glsl.js +2 -2
  795. package/views/3d/webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js +3 -3
  796. package/views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js +1 -1
  797. package/views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js +1 -1
  798. package/views/3d/webgl-engine/core/shaderLibrary/util/DoublePrecision.glsl.js +1 -1
  799. package/views/3d/webgl-engine/core/shaderLibrary/util/IsNaN.glsl.js +2 -2
  800. package/views/3d/webgl-engine/core/shaderLibrary/util/LocalFromScreenSpace.glsl.js +2 -2
  801. package/views/3d/webgl-engine/core/shaderLibrary/util/MixExternalColor.glsl.js +1 -1
  802. package/views/3d/webgl-engine/core/shaderLibrary/util/RgbaFloat16Encoding.glsl.js +1 -1
  803. package/views/3d/webgl-engine/core/shaderLibrary/util/RgbaFloatEncoding.glsl.js +1 -1
  804. package/views/3d/webgl-engine/core/shaderLibrary/util/ScreenSizePerspective.glsl.js +1 -1
  805. package/views/3d/webgl-engine/core/shaderLibrary/util/TextureAtlasLookup.glsl.js +1 -1
  806. package/views/3d/webgl-engine/core/shaderLibrary/util/TextureOnly.glsl.js +1 -1
  807. package/views/3d/webgl-engine/core/shaderModules/BooleanBindUniform.js +1 -1
  808. package/views/3d/webgl-engine/core/shaderModules/BooleanPassUniform.js +1 -1
  809. package/views/3d/webgl-engine/core/shaderModules/Float2BindUniform.js +1 -1
  810. package/views/3d/webgl-engine/core/shaderModules/Float2DrawUniform.js +1 -1
  811. package/views/3d/webgl-engine/core/shaderModules/Float2PassUniform.js +1 -1
  812. package/views/3d/webgl-engine/core/shaderModules/Float3BindUniform.js +1 -1
  813. package/views/3d/webgl-engine/core/shaderModules/Float3DrawUniform.js +1 -1
  814. package/views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js +1 -1
  815. package/views/3d/webgl-engine/core/shaderModules/Float4BindUniform.js +1 -1
  816. package/views/3d/webgl-engine/core/shaderModules/Float4DrawUniform.js +1 -1
  817. package/views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js +1 -1
  818. package/views/3d/webgl-engine/core/shaderModules/Float4sPassUniform.js +1 -1
  819. package/views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js +1 -1
  820. package/views/3d/webgl-engine/core/shaderModules/FloatDrawUniform.js +1 -1
  821. package/views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js +1 -1
  822. package/views/3d/webgl-engine/core/shaderModules/FloatsPassUniform.js +1 -1
  823. package/views/3d/webgl-engine/core/shaderModules/Integer2BindUniform.js +1 -1
  824. package/views/3d/webgl-engine/core/shaderModules/Integer2PassUniform.js +1 -1
  825. package/views/3d/webgl-engine/core/shaderModules/IntegerBindUniform.js +1 -1
  826. package/views/3d/webgl-engine/core/shaderModules/IntegerDrawUniform.js +1 -1
  827. package/views/3d/webgl-engine/core/shaderModules/IntegerPassUniform.js +1 -1
  828. package/views/3d/webgl-engine/core/shaderModules/Matrix3DrawUniform.js +1 -1
  829. package/views/3d/webgl-engine/core/shaderModules/Matrix3PassUniform.js +1 -1
  830. package/views/3d/webgl-engine/core/shaderModules/Matrix4BindUniform.js +1 -1
  831. package/views/3d/webgl-engine/core/shaderModules/Matrix4DrawUniform.js +1 -1
  832. package/views/3d/webgl-engine/core/shaderModules/Matrix4PassUniform.js +1 -1
  833. package/views/3d/webgl-engine/core/shaderModules/Matrix4sDrawUniform.js +1 -1
  834. package/views/3d/webgl-engine/core/shaderModules/Matrix4sPassUniform.js +1 -1
  835. package/views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js +1 -1
  836. package/views/3d/webgl-engine/core/shaderModules/Texture2DDrawUniform.js +1 -1
  837. package/views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js +1 -1
  838. package/views/3d/webgl-engine/core/shaderModules/TextureCubeBindUniform.js +1 -1
  839. package/views/3d/webgl-engine/core/shaderModules/glsl.js +5 -0
  840. package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechnique.js +1 -1
  841. package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechniqueConfiguration.js +1 -1
  842. package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechniqueRepository.js +1 -1
  843. package/views/3d/webgl-engine/effects/OpaqueEnvironment.js +1 -1
  844. package/views/3d/webgl-engine/effects/RenderPlugin.js +1 -1
  845. package/views/3d/webgl-engine/effects/RenderPluginManager.js +1 -1
  846. package/views/3d/webgl-engine/effects/TransparentEnvironment.js +1 -1
  847. package/views/3d/webgl-engine/effects/blit/Blit.js +1 -1
  848. package/views/3d/webgl-engine/effects/bloom/BloomBlur.glsl.js +1 -1
  849. package/views/3d/webgl-engine/effects/bloom/BloomBlurTechnique.js +1 -1
  850. package/views/3d/webgl-engine/effects/bloom/BloomComposition.glsl.js +1 -1
  851. package/views/3d/webgl-engine/effects/bloom/BloomCompositionTechnique.js +1 -1
  852. package/views/3d/webgl-engine/effects/bloom/BloomDepthAdjust.glsl.js +1 -1
  853. package/views/3d/webgl-engine/effects/bloom/BloomDepthAdjustTechnique.js +1 -1
  854. package/views/3d/webgl-engine/effects/bloom/BloomRenderNode.js +1 -1
  855. package/views/3d/webgl-engine/effects/debug/RenderNodeVisualizerNode.js +1 -1
  856. package/views/3d/webgl-engine/effects/focusArea/FocusAreaColorNode.js +5 -0
  857. package/views/3d/webgl-engine/effects/focusArea/FocusAreaColorTechnique.js +1 -1
  858. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskNode.js +5 -0
  859. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskTechnique.js +1 -1
  860. package/views/3d/webgl-engine/effects/geometry/RenderOccludedRenderNode.js +1 -1
  861. package/views/3d/webgl-engine/effects/haze/Haze.glsl.js +1 -1
  862. package/views/3d/webgl-engine/effects/haze/Haze.js +1 -1
  863. package/views/3d/webgl-engine/effects/haze/HazeCompositing.glsl.js +1 -1
  864. package/views/3d/webgl-engine/effects/haze/HazeCompositingTechnique.js +1 -1
  865. package/views/3d/webgl-engine/effects/haze/HazeTechnique.js +1 -1
  866. package/views/3d/webgl-engine/effects/highlight/Highlight.js +1 -1
  867. package/views/3d/webgl-engine/effects/highlight/HighlightApplyTechnique.js +1 -1
  868. package/views/3d/webgl-engine/effects/highlight/HighlightDownsampleTechnique.js +1 -1
  869. package/views/3d/webgl-engine/effects/highlight/HighlightPassParameters.js +1 -1
  870. package/views/3d/webgl-engine/effects/highlight/HighlightToSingleTechnique.js +1 -1
  871. package/views/3d/webgl-engine/effects/highlight/ShadowHighlight.js +1 -1
  872. package/views/3d/webgl-engine/effects/highlight/ShadowHighlightTechnique.js +1 -1
  873. package/views/3d/webgl-engine/effects/highlight/SingleHighlightApplyTechnique.js +1 -1
  874. package/views/3d/webgl-engine/effects/highlight/SingleHighlightBlurTechnique.js +1 -1
  875. package/views/3d/webgl-engine/effects/laserlines/LaserLineRenderer.js +1 -1
  876. package/views/3d/webgl-engine/effects/laserlines/LaserlinePathTechnique.js +1 -1
  877. package/views/3d/webgl-engine/effects/laserlines/LaserlineTechnique.js +1 -1
  878. package/views/3d/webgl-engine/effects/magnifier/Magnifier.js +1 -1
  879. package/views/3d/webgl-engine/effects/magnifier/MagnifierTechnique.js +1 -1
  880. package/views/3d/webgl-engine/effects/smaa/SMAA.js +1 -1
  881. package/views/3d/webgl-engine/effects/smaa/SMAABlendWeightsTechnique.js +1 -1
  882. package/views/3d/webgl-engine/effects/smaa/SMAABlurTechnique.js +1 -1
  883. package/views/3d/webgl-engine/effects/smaa/SMAAEdgeDetectTechnique.js +1 -1
  884. package/views/3d/webgl-engine/effects/smaa/SMAAPassParameters.js +1 -1
  885. package/views/3d/webgl-engine/effects/ssao/SSAO.js +1 -1
  886. package/views/3d/webgl-engine/effects/ssao/SSAOBlurTechnique.js +1 -1
  887. package/views/3d/webgl-engine/effects/ssao/SSAOParameters.js +1 -1
  888. package/views/3d/webgl-engine/effects/ssao/SSAOTechnique.js +1 -1
  889. package/views/3d/webgl-engine/effects/stars/Stars.glsl.js +1 -1
  890. package/views/3d/webgl-engine/effects/stars/Stars.js +1 -1
  891. package/views/3d/webgl-engine/effects/stars/StarsTechnique.js +1 -1
  892. package/views/3d/webgl-engine/effects/transparency/OITBlend.glsl.js +1 -1
  893. package/views/3d/webgl-engine/effects/transparency/OITBlend.js +1 -1
  894. package/views/3d/webgl-engine/effects/transparency/OITBlendTechnique.js +1 -1
  895. package/views/3d/webgl-engine/lib/CompositingHelper.js +1 -1
  896. package/views/3d/webgl-engine/lib/DrapedHeatmapRenderer.js +1 -1
  897. package/views/3d/webgl-engine/lib/GLMaterial.js +1 -1
  898. package/views/3d/webgl-engine/lib/GLTextureMaterial.js +1 -1
  899. package/views/3d/webgl-engine/lib/Material.js +1 -1
  900. package/views/3d/webgl-engine/lib/Program.js +1 -1
  901. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  902. package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
  903. package/views/3d/webgl-engine/lib/ShadowCastRenderer.js +1 -1
  904. package/views/3d/webgl-engine/lib/SortedRenderGeometryRenderer.js +1 -1
  905. package/views/3d/webgl-engine/lib/TextureCompressionWorker.js +1 -1
  906. package/views/3d/webgl-engine/lib/TextureCompressionWorkerHandle.js +1 -1
  907. package/views/3d/webgl-engine/lib/TextureRepository.js +1 -1
  908. package/views/3d/webgl-engine/lib/TextureTechnique.js +1 -1
  909. package/views/3d/webgl-engine/lib/Viewshed.js +1 -1
  910. package/views/3d/webgl-engine/lib/edgeRendering/EdgeRenderer.js +1 -1
  911. package/views/3d/webgl-engine/lib/edgeRendering/EdgeShaderTechnique.js +1 -1
  912. package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
  913. package/views/3d/webgl-engine/materials/CheckerBoardMaterial.js +1 -1
  914. package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
  915. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  916. package/views/3d/webgl-engine/materials/DefaultTechniqueConfiguration.js +1 -1
  917. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  918. package/views/3d/webgl-engine/materials/HeatmapDensityMaterial.js +1 -1
  919. package/views/3d/webgl-engine/materials/ImageMaterial.js +1 -1
  920. package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
  921. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  922. package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
  923. package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
  924. package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
  925. package/views/3d/webgl-engine/materials/PathTechnique.js +1 -1
  926. package/views/3d/webgl-engine/materials/PatternMaterial.js +1 -1
  927. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  928. package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +1 -1
  929. package/views/3d/webgl-engine/materials/SlicePlaneMaterial.js +1 -1
  930. package/views/3d/webgl-engine/materials/WaterGLMaterial.js +1 -1
  931. package/views/3d/webgl-engine/materials/WaterTechnique.js +1 -1
  932. package/views/3d/webgl-engine/materials/internal/WaterTextureRepository.js +1 -1
  933. package/views/3d/webgl-engine/parts/RenderView.js +1 -1
  934. package/views/3d/webgl-engine/shaders/AtmosphereCompositing.glsl.js +1 -1
  935. package/views/3d/webgl-engine/shaders/AtmosphereCompositingTechnique.js +1 -1
  936. package/views/3d/webgl-engine/shaders/BlendWeights.glsl.js +1 -1
  937. package/views/3d/webgl-engine/shaders/Blur.glsl.js +1 -1
  938. package/views/3d/webgl-engine/shaders/CheckerBoard.glsl.js +1 -1
  939. package/views/3d/webgl-engine/shaders/CheckerBoardTechnique.js +1 -1
  940. package/views/3d/webgl-engine/shaders/ColorMaterial.glsl.js +1 -1
  941. package/views/3d/webgl-engine/shaders/ColorMaterialTechnique.js +1 -1
  942. package/views/3d/webgl-engine/shaders/Compositing.glsl.js +1 -1
  943. package/views/3d/webgl-engine/shaders/CompositingTechnique.js +1 -1
  944. package/views/3d/webgl-engine/shaders/DefaultMaterial.glsl.js +1 -1
  945. package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
  946. package/views/3d/webgl-engine/shaders/EdgeDetect.glsl.js +1 -1
  947. package/views/3d/webgl-engine/shaders/FocusAreaColor.glsl.js +1 -1
  948. package/views/3d/webgl-engine/shaders/FocusAreaMask.glsl.js +1 -1
  949. package/views/3d/webgl-engine/shaders/HUDCompositing.glsl.js +1 -1
  950. package/views/3d/webgl-engine/shaders/HUDCompositingTechnique.js +1 -1
  951. package/views/3d/webgl-engine/shaders/HUDMaterial.glsl.js +1 -1
  952. package/views/3d/webgl-engine/shaders/HUDMaterialTechnique.js +1 -1
  953. package/views/3d/webgl-engine/shaders/Heatmap.glsl.js +1 -1
  954. package/views/3d/webgl-engine/shaders/HeatmapDensity.glsl.js +1 -1
  955. package/views/3d/webgl-engine/shaders/HeatmapDensityTechnique.js +1 -1
  956. package/views/3d/webgl-engine/shaders/HeatmapTechnique.js +1 -1
  957. package/views/3d/webgl-engine/shaders/HighlightApply.glsl.js +1 -1
  958. package/views/3d/webgl-engine/shaders/HighlightDownsample.glsl.js +1 -1
  959. package/views/3d/webgl-engine/shaders/HighlightToSingle.glsl.js +1 -1
  960. package/views/3d/webgl-engine/shaders/ImageMaterial.glsl.js +1 -1
  961. package/views/3d/webgl-engine/shaders/ImageMaterialTechnique.js +1 -1
  962. package/views/3d/webgl-engine/shaders/LaserlinePath.glsl.js +1 -1
  963. package/views/3d/webgl-engine/shaders/Laserlines.glsl.js +1 -1
  964. package/views/3d/webgl-engine/shaders/LineCallout.glsl.js +1 -1
  965. package/views/3d/webgl-engine/shaders/LineCalloutTechnique.js +1 -1
  966. package/views/3d/webgl-engine/shaders/LineMarker.glsl.js +1 -1
  967. package/views/3d/webgl-engine/shaders/LineMarkerTechnique.js +1 -1
  968. package/views/3d/webgl-engine/shaders/Magnifier.glsl.js +1 -1
  969. package/views/3d/webgl-engine/shaders/MeasurementArrow.glsl.js +1 -1
  970. package/views/3d/webgl-engine/shaders/MeasurementArrowTechnique.js +1 -1
  971. package/views/3d/webgl-engine/shaders/NativeLine.glsl.js +1 -1
  972. package/views/3d/webgl-engine/shaders/NativeLineTechnique.js +1 -1
  973. package/views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js +7 -7
  974. package/views/3d/webgl-engine/shaders/OverlayCompositing.glsl.js +1 -1
  975. package/views/3d/webgl-engine/shaders/OverlayCompositingTechnique.js +1 -1
  976. package/views/3d/webgl-engine/shaders/Path.glsl.js +1 -1
  977. package/views/3d/webgl-engine/shaders/Pattern.glsl.js +1 -1
  978. package/views/3d/webgl-engine/shaders/PatternTechnique.js +1 -1
  979. package/views/3d/webgl-engine/shaders/PointRenderer.glsl.js +1 -1
  980. package/views/3d/webgl-engine/shaders/PointRendererTechnique.js +1 -1
  981. package/views/3d/webgl-engine/shaders/RealisticTree.glsl.js +1 -1
  982. package/views/3d/webgl-engine/shaders/RealisticTreeTechnique.js +1 -1
  983. package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
  984. package/views/3d/webgl-engine/shaders/RibbonLineTechnique.js +1 -1
  985. package/views/3d/webgl-engine/shaders/SSAO.glsl.js +1 -1
  986. package/views/3d/webgl-engine/shaders/SSAOBlur.glsl.js +1 -1
  987. package/views/3d/webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js +1 -1
  988. package/views/3d/webgl-engine/shaders/ShadedColorMaterial.glsl.js +1 -1
  989. package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechnique.js +1 -1
  990. package/views/3d/webgl-engine/shaders/ShadowCastAccumulate.glsl.js +1 -1
  991. package/views/3d/webgl-engine/shaders/ShadowCastAccumulateTechnique.js +1 -1
  992. package/views/3d/webgl-engine/shaders/ShadowCastVisualize.glsl.js +1 -1
  993. package/views/3d/webgl-engine/shaders/ShadowCastVisualizeTechnique.js +1 -1
  994. package/views/3d/webgl-engine/shaders/ShadowHighlight.glsl.js +1 -1
  995. package/views/3d/webgl-engine/shaders/SingleHighlightApply.glsl.js +1 -1
  996. package/views/3d/webgl-engine/shaders/SingleHighlightBlur.glsl.js +1 -1
  997. package/views/3d/webgl-engine/shaders/SlicePlaneMaterial.glsl.js +1 -1
  998. package/views/3d/webgl-engine/shaders/SlicePlaneMaterialTechnique.js +1 -1
  999. package/views/3d/webgl-engine/shaders/SphereIntersect.glsl.js +2 -2
  1000. package/views/3d/webgl-engine/shaders/Terrain.glsl.js +1 -1
  1001. package/views/3d/webgl-engine/shaders/TerrainTechnique.js +1 -1
  1002. package/views/3d/webgl-engine/shaders/ToneMapping.glsl.js +1 -1
  1003. package/views/3d/webgl-engine/shaders/Viewshed.glsl.js +1 -1
  1004. package/views/3d/webgl-engine/shaders/ViewshedTechnique.js +1 -1
  1005. package/views/3d/webgl-engine/shaders/WaterSurface.glsl.js +1 -1
  1006. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/AdjustProjectedPosition.glsl.js +2 -2
  1007. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/DiscardNonSilhouetteEdges.glsl.js +4 -4
  1008. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/DistanceFalloff.glsl.js +2 -2
  1009. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/EdgeShader.glsl.js +1 -1
  1010. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/EdgeUtil.glsl.js +1 -1
  1011. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/LineAmplitude.glsl.js +3 -3
  1012. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/LineOffset.glsl.js +7 -7
  1013. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/UnpackAttributes.glsl.js +7 -7
  1014. package/views/3d/webgl.d.ts +3 -2
  1015. package/views/3d/webgl.js +1 -1
  1016. package/views/BreakpointsOwner.d.ts +1 -1
  1017. package/views/DOMContainer.d.ts +1 -1
  1018. package/views/FocusAreas.js +1 -1
  1019. package/views/PopupView.d.ts +1 -1
  1020. package/views/draw/DrawGraphicTool.js +1 -1
  1021. package/views/draw/DrawOperation.js +1 -1
  1022. package/views/draw/support/Box.js +1 -1
  1023. package/views/draw/support/helpMessageUtils.js +1 -1
  1024. package/views/draw/support/tooltipUtils.js +1 -1
  1025. package/views/interactive/keybindings.js +1 -1
  1026. package/views/interactive/tooltip/content/tooltipContentFactory.js +1 -1
  1027. package/views/interactive/tooltip/infos/DrawCircleTooltipInfo.js +1 -1
  1028. package/views/interactive/tooltip/infos/DrawMultipointTooltipInfo.js +5 -0
  1029. package/views/interactive/tooltip/infos/DrawRectangleTooltipInfo.js +1 -1
  1030. package/views/layers/FeatureLayerView.js +1 -1
  1031. package/views/layers/MediaLayerView.js +1 -1
  1032. package/views/support/colorUtils.d.ts +2 -2
  1033. package/views/webgl/NoParameters.js +5 -0
  1034. package/views/webgl/ShaderBuilder.js +5 -0
  1035. package/views/webgl/Texture.js +1 -1
  1036. package/views/webgl/Uniform.js +5 -0
  1037. package/views/webgl/testAppleAmdDrawArrays.js +1 -1
  1038. package/widgets/Attachments/AttachmentsViewModel.js +1 -1
  1039. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.js +1 -1
  1040. package/widgets/BatchAttributeForm/batchAttributeFormUtils.js +1 -1
  1041. package/widgets/BatchAttributeForm/expressions/ExpressionsManager.js +1 -1
  1042. package/widgets/BatchAttributeForm/expressions/ExpressionsModel.js +1 -1
  1043. package/widgets/BatchAttributeForm/inputs/EditableInput.js +1 -1
  1044. package/widgets/BatchAttributeForm/inputs/FieldInput.js +1 -1
  1045. package/widgets/BatchAttributeForm/inputs/GroupInput.js +1 -1
  1046. package/widgets/BatchAttributeForm/inputs/InputBase.js +1 -1
  1047. package/widgets/BatchAttributeForm/inputs/support/createBatchFormInputs.js +1 -1
  1048. package/widgets/BatchAttributeForm/inputs/support/inputUtils.js +1 -1
  1049. package/widgets/BatchAttributeForm/templates/BatchFormTemplate.js +1 -1
  1050. package/widgets/BatchAttributeForm/templates/FieldElementTemplate.js +1 -1
  1051. package/widgets/BatchAttributeForm/templates/GroupElementTemplate.js +1 -1
  1052. package/widgets/BatchAttributeForm/templates/support/createBatchFormTemplate.js +1 -1
  1053. package/widgets/BatchAttributeForm/templates/support/hashElementTemplate.js +1 -1
  1054. package/widgets/BatchAttributeForm.js +1 -1
  1055. package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
  1056. package/widgets/Editor/EditorViewModel.js +1 -1
  1057. package/widgets/Editor/UpdateWorkflow.js +1 -1
  1058. package/widgets/Editor/UpdateWorkflowData.js +1 -1
  1059. package/widgets/Editor/components/UpdateFeaturePanelContent.js +1 -1
  1060. package/widgets/Editor.js +1 -1
  1061. package/widgets/Feature.js +1 -1
  1062. package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/AssociationDetails.js +5 -0
  1063. package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/FeatureFormUtilityNetworkAssociationList.js +1 -1
  1064. package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/FeatureFormUtilityNetworkAssociationSettings.js +1 -1
  1065. package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
  1066. package/widgets/FeatureForm/FieldInput.js +1 -1
  1067. package/widgets/FeatureForm/UtilityNetworkAssociationInput.js +1 -1
  1068. package/widgets/FeatureForm.js +1 -1
  1069. package/widgets/FeatureTable/support/FeatureStore.js +1 -1
  1070. package/widgets/LinkChartLayoutSwitcher/LinkChartLayoutSwitcherViewModel.d.ts +4 -0
  1071. package/widgets/LinkChartLayoutSwitcher/LinkChartLayoutSwitcherViewModel.js +1 -1
  1072. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  1073. package/widgets/OrientedImageryViewer/adapters/sketch/MeasurementAdapter.js +1 -1
  1074. package/widgets/OrientedImageryViewer/components/ImageLocationWidget.js +5 -0
  1075. package/widgets/OrientedImageryViewer/components/ImageOverlays.js +1 -1
  1076. package/widgets/OrientedImageryViewer/imageMeasurementUtils.js +1 -1
  1077. package/widgets/OrientedImageryViewer/mixins/ImageMeasurementMixin.js +1 -1
  1078. package/widgets/OrientedImageryViewer/mixins/SketchHandlerMixin.js +1 -1
  1079. package/widgets/OrientedImageryViewer.js +1 -1
  1080. package/widgets/PanoramicViewer/PanoramicViewerViewModel.js +1 -1
  1081. package/widgets/Print.js +1 -1
  1082. package/widgets/Search.js +1 -1
  1083. package/widgets/ShadowCast/ShadowCastViewModel.js +1 -1
  1084. package/widgets/Swipe/SwipeViewModel.js +1 -1
  1085. package/widgets/UtilityNetworkTrace.js +1 -1
  1086. package/widgets/smartMapping/support/utils.d.ts +3 -2
  1087. package/widgets/support/FilterBuilder/FilterBuilderViewModel.js +5 -0
  1088. package/widgets/support/FilterBuilder.js +5 -0
  1089. package/widgets/support/FilterCondition/FilterConditionViewModel.js +5 -0
  1090. package/widgets/support/FilterCondition/conditionUtils.js +5 -0
  1091. package/widgets/support/FilterCondition.js +5 -0
  1092. package/widgets/support/UtilityNetworkAssociations/UtilityNetworkAssociationsViewModel.js +1 -1
  1093. package/widgets/support/UtilityNetworkAssociations/utilityNetworkUtils.js +1 -1
  1094. package/widgets/support/widget.d.ts +8 -2
  1095. package/assets/esri/core/workers/chunks/1557446aa4525705a5b2.js +0 -1
  1096. package/assets/esri/core/workers/chunks/2cf8677005dd2127f5eb.js +0 -1
  1097. package/assets/esri/core/workers/chunks/31b9faaa539fdc639a0a.js +0 -1
  1098. package/assets/esri/core/workers/chunks/349f31a1fb489fbfe60d.js +0 -1
  1099. package/assets/esri/core/workers/chunks/34b31091e172e910d750.js +0 -1
  1100. package/assets/esri/core/workers/chunks/4020c753fcbbb9f1c731.js +0 -1
  1101. package/assets/esri/core/workers/chunks/48a1b63291c62bc78a41.js +0 -1
  1102. package/assets/esri/core/workers/chunks/48e6f5571042aaffe543.js +0 -314
  1103. package/assets/esri/core/workers/chunks/5bb175106aee21025bc2.js +0 -1
  1104. package/assets/esri/core/workers/chunks/5c57aa9fdc4e1bab61ac.js +0 -1
  1105. package/assets/esri/core/workers/chunks/7719fe672ea74cdc87be.js +0 -1
  1106. package/assets/esri/core/workers/chunks/7ae1f26ded268099f429.js +0 -1
  1107. package/assets/esri/core/workers/chunks/99c0b133c97abf4c2eec.js +0 -1
  1108. package/assets/esri/core/workers/chunks/9a30ad773c22bde61c64.js +0 -1
  1109. package/assets/esri/core/workers/chunks/9b687465cc3863e14b29.js +0 -2
  1110. package/assets/esri/core/workers/chunks/b5ee6c203f536bdb6708.js +0 -1
  1111. package/assets/esri/core/workers/chunks/c12bdf6fd7f631e3f79e.js +0 -971
  1112. package/assets/esri/core/workers/chunks/c58f559eb68035ebe3da.js +0 -1
  1113. package/assets/esri/core/workers/chunks/d2403fc8f4c723301144.js +0 -1
  1114. package/assets/esri/core/workers/chunks/e7913ec1b4f9da490ba3.js +0 -1
  1115. package/views/2d/engine/webgl/shaderGraph/ShaderBuilder2D.js +0 -5
  1116. package/views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js +0 -5
  1117. package/views/3d/webgl-engine/core/shaderModules/Uniform.js +0 -5
  1118. package/views/3d/webgl-engine/core/shaderModules/interfaces.js +0 -5
  1119. package/views/3d/webgl-engine/effects/focusArea/FocusAreaRenderNode.js +0 -5
  1120. package/views/3d/webgl-engine/effects/focusArea/FocusAreaRenderNodeColorEffects.js +0 -5
  1121. package/views/3d/webgl-engine/effects/focusArea/FocusAreaRenderNodeGeometryMasking.js +0 -5
  1122. /package/views/{3d/webgl-engine/core/shaderTechnique → webgl}/BindType.js +0 -0
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../../chunks/tslib.es6.js";import t from"../../../Graphic.js";import r from"../../../core/Accessor.js";import{equals as s,isSome as i}from"../../../core/arrayUtils.js";import a from"../../../core/Collection.js";import o from"../../../core/Error.js";import{clone as n}from"../../../core/lang.js";import u from"../../../core/Logger.js";import p from"../../../core/ReactiveMap.js";import{watch as l,when as h}from"../../../core/reactiveUtils.js";import{property as d}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import{subclass as c}from"../../../core/accessorSupport/decorators/subclass.js";import{geometryTypes as y}from"../../../geometry/support/typeUtils.js";import{isSubtypeGroupLayer as m}from"../../../layers/support/layerUtils.js";import _ from"../../../rest/support/AttachmentQuery.js";import f from"../../../rest/support/RelationshipQuery.js";import g from"../../../time/TimeExtent.js";import{isIFeatureTableSupportedLayerWithAttachments as b,isIFeatureTableSupportedLayerWithAttachmentsEditing as v,isIFeatureTableSupportedLayerWithEditing as O,isIFeatureTableSupportedLayerWithRelationships as A,findRelatedLayer as I}from"./tableUtils.js";let j=class extends r{constructor(e){super(e),this._attachmentsOperationQueue=new a,this._defaultOutFields=["*"],this._editOperationQueue=new a,this._loaded=!1,this._loadError=!1,this._loading=!1,this._objectIdCache=new a,this._queryOperationQueue=new a,this.attachmentsEnabled=!1,this.count=0,this.failures=new a,this.filterGeometry=null,this.initialSize=null,this.layer=null,this.objectIds=null,this.outFields=null,this.pageCache=new p,this.pageSize=50,this.relationshipConfig=null,this.relatedRecordsEnabled=!1,this.returnGeometry=!1,this.returnZ=!1,this.returnM=!1,this.sortOrders=[],this.timeExtent=null,this.view=null,this.where=null}initialize(){this.addHandles([l((()=>[this.filterGeometry,this.layer,this.objectIds,this.outFields,this.pageSize,this.relationshipConfig,this.returnGeometry,this.returnM,this.returnZ,this.timeExtent,this.where]),(()=>this._reset())),l((()=>this.orderByFields),(()=>this._clearCaches()),{equals:s}),h((()=>this.attachmentsEnabled),(()=>this._reset())),h((()=>this.relatedRecordsEnabled),(()=>this._reset()))])}destroy(){this.layer=null,this.itemCache?.destroy(),this.failures?.destroy()}get _capabilities(){const{layer:e}=this;return e?.effectiveCapabilities??e?.capabilities}get _effectiveReturnZ(){return this.returnZ&&this.supportsZ}get _effectiveReturnM(){return this.returnM&&this.supportsM}get _layerWithAttachments(){const{layer:e}=this;return e&&this._capabilities&&this.attachmentsEnabled&&this.supportsAttachments&&b(e)?e:null}get _layerWithAttachmentsEditing(){const{_layerWithAttachments:e}=this;return e&&v(e)&&this.supportsEditing?e:null}get _layerWithEditing(){const e=this.layer;return O(e)&&this.supportsEditing?e:null}get _layerWithRelationships(){const e=this.layer;return A(e)&&this.supportsQueryRelated?e:null}get _relatedLayer(){return this.relationshipConfig?.relatedLayer}get _relatedLayerCapabilities(){const{_relatedLayer:e}=this;return e?.effectiveCapabilities??e?.capabilities}get _relatedLayerSupportsCacheHint(){return!!this._relatedLayerCapabilities?.queryRelated?.supportsCacheHint}get _relatedLayerSupportsQuery(){return!!this._relatedLayerCapabilities?.operations.supportsQuery}get _relatedLayerSupportsQueryRelated(){const{_relatedLayerCapabilities:e}=this;return!!e?.queryRelated?.supportsCount&&!!e?.queryRelated?.supportsPagination}get _sortedFieldNames(){return this.sortOrders.map((({fieldName:e})=>e))}get _canUseRelatedLayer(){return!(!this._relatedLayerSupportsQuery||!this._relatedLayerSupportsQueryRelated)}get canAddRelatedFeature(){const{state:e,relationship:t,supportsAdd:r,supportsEditing:s}=this;if("loaded"!==e||!t||!r||!s)return!1;const{count:i}=this,{cardinality:a,role:o}=t,n=i>0;return("one-to-one"!==a||!n)&&("one-to-many"!==a||"origin"!==o||!n)}get effectiveOutFields(){const{layer:e,outFields:t}=this;if(!e||!t?.length)return this._defaultOutFields;const r=[];t.forEach((t=>{const s=e.fieldsIndex.normalizeFieldName(t);s&&r.push(s)}));const{objectIdField:s}=e,i=e.fieldsIndex.normalizeFieldName(s)??s;return i&&!r.includes(i)&&r.unshift(i),r}get effectiveTimeExtent(){const{layer:e,timeExtent:t}=this;return t||e&&"timeExtent"in e&&e.timeExtent||null}get effectiveWhere(){return this.where||this.layer?.definitionExpression||"1=1"}get itemCache(){return new a({items:[...this.pageCache.values()].flat()})}get layerView(){const{layer:e,view:t}=this;if(!e||!t)return null;const r="sublayer"===e.type?e.parent:e;return t.allLayerViews.find((e=>e.layer===r))}get orderByFields(){const{_sortedFieldNames:e,layer:t,sortOrders:r}=this,s=r.filter((({fieldName:t,direction:r},s)=>e.indexOf(t)===s&&null!=r)).map((({fieldName:e,direction:t})=>`${e} ${t?.toUpperCase()}`));if(t&&!s.length&&!t.objectIdField&&t.fields?.length){const e=t.fields.find((e=>e.name));if(e){const r=t.fieldsIndex.normalizeFieldName(e.name);r&&s.push(`${r} ASC`)}}return s}get querying(){return this._queryOperationQueue.length>0}get relationship(){const{relationshipConfig:e}=this;return null==e?.relationshipId?null:this.relationships?.find((t=>t.id===e.relationshipId))}get relationshipIds(){return this.relationships?.map((e=>e.id))??[]}get relationshipInfos(){const{_layerWithRelationships:e,relatedRecordsEnabled:t,relationships:r,view:s}=this,i=[];return t&&e?.loaded&&s?.map&&r?.length?(r.forEach((t=>{const r=I(e,s,t);r&&(r.load(),i.push({layer:e,relatedLayer:r,relationshipId:t.id}))})),i):i}get relationships(){return this._layerWithRelationships?.relationships}get state(){const{layer:e,_loaded:t,_loadError:r,_loading:s}=this;return!e||e.destroyed?"disabled":r||e.loadError?"error":"loaded"===e.loadStatus&&t?"loaded":s?"loading":"ready"}get supportsAdd(){return!!this._capabilities?.operations.supportsAdd}get supportsAddingAttachments(){return!(!this._layerWithAttachmentsEditing||!this.supportsAdd)}get supportsAttachments(){const{_capabilities:e}=this;return!(!e?.data?.supportsAttachment||!e?.operations.supportsQueryAttachments)}get supportsCacheHint(){return!!this._capabilities?.query?.supportsCacheHint}get supportsCacheHintQueryRelated(){return!!this._capabilities?.queryRelated?.supportsCacheHint}get supportsDelete(){return!!this._capabilities?.operations.supportsDelete}get supportsDeletingAttachments(){return!(!this._layerWithAttachmentsEditing||!this.supportsDelete)}get supportsEditing(){return!!this._capabilities?.operations.supportsEditing}get supportsM(){return!!this.layer?.hasM&&!!this._capabilities?.data?.supportsM}get supportsOrderBy(){return!!this._capabilities?.query?.supportsOrderBy}get supportsPagination(){return!!this._capabilities?.query?.supportsPagination}get supportsQuery(){return!!this._capabilities?.operations.supportsQuery}get supportsQueryRelated(){const{_capabilities:e}=this;return!!e?.queryRelated?.supportsCount&&!!e?.queryRelated?.supportsPagination}get supportsResizeAttachments(){const{_capabilities:e}=this;return!(!this.supportsAttachments||!e?.operations?.supportsResizeAttachments)}get supportsUpdate(){return!!this._capabilities?.operations.supportsUpdate}get supportsUpdateAttachments(){return!(!this._layerWithAttachmentsEditing||!this.supportsUpdate)}get supportsZ(){return!!this.layer?.hasZ&&!!this._capabilities?.data?.supportsZ}get syncing(){return this.syncingFeatureEdits||this.syncingAttachmentEdits}get syncingAttachmentEdits(){return this._attachmentsOperationQueue.length>0}get syncingFeatureEdits(){return this._editOperationQueue.length>0}async addAttachment(e,t){const{_layerWithAttachmentsEditing:r}=this;if(!r||!this.supportsAddingAttachments)return{};const s=await this._queueAttachmentsOperation(e,(()=>r.addAttachment(this._createBaseGraphic(r,e),t)));return this._ensureArrayContent(s)}async deleteAttachments(e,t){const{_layerWithAttachmentsEditing:r}=this;if(!r||!this.supportsDeletingAttachments||!t.length)return[];const s=await this._queueAttachmentsOperation(e,(()=>r.deleteAttachments(this._createBaseGraphic(r,e),t)));return this._ensureArray(s)}async deleteRowsByObjectId(e){const{_layerWithEditing:t}=this;if(!this.supportsDelete||!t)throw new o("store:delete-error","Delete is not supported.");const r=e.map((e=>this.getItemByObjectId(e)?.feature)).filter(i);return this._queueEditOperation((()=>t.applyEdits({deleteFeatures:r})))}async fetchItems(e){const{page:t}=e,{pageSize:r}=this,s=t*r,i=s+r,{layer:a,state:o}=this;return a&&"loaded"===o?this._query({layer:a,start:s,num:i,page:t,pageSize:r}):[]}async getAttachmentsByObjectId(e,t){const r=this.getItemByObjectId(e)?.attachments??[];if(!r.length&&t){return(await this._queryAttachments([e]))[e]??[]}return r}getItemByObjectId(e){for(const t of this.pageCache.values())for(const r of t)if(r.objectId===e)return r}getItemIndexByObjectId(e){const{pageCache:t,pageSize:r}=this,s=t.entries();let i=-1;for(const[a,o]of s)if(o.some(((t,s)=>{const o=t.objectId===e;return o&&(i=a*r+s),o})),i>-1)break;return i}async load(){const{layer:e}=this;if(!this._loading&&!this._loaded&&e){this._reset(),this._loading=!0;try{await e.load(),e.parent&&m(e.parent)&&await e.parent.loadAll(),await e.when();const t=this.initialSize;this.initialSize=null,await this.refresh(t),this._loaded=!0,this._loading=!1}catch(t){throw this._reset(),this._loadError=!0,this._logError("store:load-error","An error occurred."),t}}}async query(e){const{state:t}=this;return this.supportsQuery&&"loaded"===t?this._query(e):[]}async refresh(e){this._clearCaches(),await this._syncCount(e),await this._syncObjectIdCache()}async reset(){this._reset()}async updateAttachment(e,t,r){const{_layerWithAttachmentsEditing:s}=this;if(!s||!this.supportsUpdateAttachments)return{};const i=await this._queueAttachmentsOperation(e,(()=>s.updateAttachment(this._createBaseGraphic(s,e),t,r)));return this._ensureArrayContent(i)}async updateItem(e){const{_sortedFieldNames:t}=this,r=e.updates.map((({fieldName:e})=>e)),s=await this._update(e);return!s.updateFeatureResults.find((e=>e.error))&&r.some((e=>t.includes(e)))&&this._clearCaches(),s}async verifyFeaturesByObjectId(e){const{layer:t,state:r}=this;if(!t||"loaded"!==r)return[];const{objectIdField:s}=t,i=await this._verifyFeaturesByObjectId(e);return e.map((e=>i.some((t=>{const r=t.getObjectId()??t.attributes[s];return e===r}))))}_clearCaches(){this.pageCache.clear(),this._objectIdCache.removeAll()}_createBaseGraphic(e,r){return new t({attributes:{[e.objectIdField]:r}})}_ensureArray(e){return Array.isArray(e)?e:[e]}_ensureArrayContent(e){return Array.isArray(e)?e[0]:e}_getObjectIdsForPage(e,t){const r=this._objectIdCache.toArray();return r.length>=e+t?r.slice(e,e+t):r.slice(e)}_logError(e,t){u.getLogger(this).error(e,t)}_reset(){this._clearCaches(),this.failures.removeAll(),this._attachmentsOperationQueue.removeAll(),this._editOperationQueue.removeAll(),this._queryOperationQueue.removeAll(),this._loading=!1,this._loaded=!1,this._loadError=!1,this._set("count",0)}async _syncCount(e){null==e?await this._queryCount().then((e=>this._set("count",e))):this._set("count",e)}async _syncObjectIdCache(){if(this.supportsPagination)return;const e=await this._queryObjectIds();this._objectIdCache.removeAll(),this._objectIdCache.addMany(e)}async _verifyFeaturesByObjectId(e){const{layer:t}=this;if(!t||!this.supportsQuery)throw new o("store:query-error","Layer does not support query operation.");const{effectiveTimeExtent:r,effectiveWhere:s,orderByFields:i,supportsCacheHint:a,supportsOrderBy:n}=this,u=t.createQuery();u.where=s,u.timeExtent=r,u.returnGeometry=!1,u.objectIds=e.length?e:void 0,u.outFields=[t.objectIdField],n&&(u.orderByFields=i),a&&(u.cacheHint=!0);return(await t.queryFeatures(u)).features}async _update(e){const{objectId:r,updates:s}=e,{_layerWithEditing:i}=this;if(!this.supportsUpdate||!i)throw new o("store:update-error","Update is not supported.");const a=this.getItemByObjectId(r)?.feature;if(!a)throw new o("store:update-error","Feature with provided 'objectId' not found.");const u=n(a.attributes);s.forEach((({fieldName:e,value:t})=>u[e]=t));const p=new t({attributes:u}),l=i.applyEdits({updateFeatures:[p]}).then((e=>{const{updateFeatureResults:t}=e,r=t.find((e=>!!e.error));if(r)throw r.error;return t.length&&(a.attributes=u),e}));return this._queueEditOperation((()=>l))}_prepareFeatureData(e){const{attachments:t,features:r,layer:s,relatedRecords:i}=e,a=s.objectIdField;return r.map((e=>{const r=e.getObjectId()??e.attributes[a],o=[];return e.layer||e.sourceLayer||(e.layer=s,e.sourceLayer=s),i.forEach(((e,t)=>{o.push({relationshipId:t,count:e[r]??0})})),{objectId:r,feature:e,attachments:t[r]??null,relatedRecords:o}}))}async _query(e){const{page:t,refresh:r}=e;!0===r&&await this.refresh();const s=this.pageCache.get(t);if(s)return s;const i=await this._queryPage(e);return this.pageCache.set(t,i),i}_queryAttachments(e){const{_layerWithAttachments:t,effectiveWhere:r}=this;return t?e.some((e=>"number"!=typeof e))?Promise.reject(new o("invalid-object-id","Only numeric object ids are valid to query attachments")):t.queryAttachments(new _({objectIds:e,where:r,returnMetadata:!0})):Promise.resolve({})}async _queryCount(){const{_relatedLayerSupportsCacheHint:e,layer:t,relationshipConfig:r,supportsCacheHint:s}=this;if(!t)return 0;if(r&&this._canUseRelatedLayer){const{objectId:t,relatedLayer:s,relationshipId:i}=r;return(await s.queryRelatedFeaturesCount(new f({cacheHint:e,relationshipId:i,objectIds:[t]})))[t]??0}const{effectiveTimeExtent:i,effectiveWhere:a,filterGeometry:o,objectIds:n}=this,u=t.createQuery();return u.geometry=o,u.returnGeometry=!1,u.where=a,u.timeExtent=i,u.objectIds=n?.length?n:void 0,s&&(u.cacheHint=!0),t.queryFeatureCount(u)}async _queryFeatures(e){const{relationshipConfig:t}=this;if(t&&this._canUseRelatedLayer)return this._queryRelatedFeatures(e,t);const{_effectiveReturnM:r,_effectiveReturnZ:s,effectiveOutFields:i,effectiveTimeExtent:a,effectiveWhere:o,filterGeometry:n,objectIds:u,orderByFields:p,pageSize:l,returnGeometry:h,supportsCacheHint:d,supportsOrderBy:c,supportsPagination:y}=this,{layer:m,start:_}=e,f=u?.length,g=m.createQuery();g.returnGeometry=h,g.outFields=i,g.returnM=r,g.returnZ=s,y?(g.start=_,g.num=l,g.where=o,g.timeExtent=a,g.objectIds=f?u:void 0):g.objectIds=f?u:this._getObjectIdsForPage(_,l??0),c&&(g.orderByFields=p),n&&(g.geometry=n),d&&(g.cacheHint=!0);return(await m.queryFeatures(g)).features}_queryObjectIds(){const{effectiveTimeExtent:e,effectiveWhere:t,filterGeometry:r,layer:s,objectIds:i,orderByFields:a,supportsCacheHint:o,supportsOrderBy:n}=this;if(!s)return Promise.resolve([]);const u=s.createQuery();return u.geometry=r,u.outFields=[s.objectIdField],u.returnGeometry=!1,u.where=t,u.timeExtent=e,u.objectIds=i?.length?i:void 0,n&&(u.orderByFields=a),o&&(u.cacheHint=!0),s.queryObjectIds(u)}async _queryPage(e){const{layer:t}=e;return this._queueQueryOperation((async()=>{const r=await this._queryFeatures(e),s=r.map((e=>e.getObjectId()??e.attributes[t.objectIdField])),i=await this._queryAttachments(s),a=await this._queryRelatedCounts(s);return this._prepareFeatureData({layer:t,features:r,attachments:i,relatedRecords:a})||[]}))}async _queryRelatedCounts(e){const{_layerWithRelationships:t,relationshipIds:r,supportsCacheHintQueryRelated:s}=this,i=new Map;return t&&e?.length&&r.length?(await Promise.allSettled(r.map((async r=>{const a=await t.queryRelatedFeaturesCount(new f({cacheHint:s,relationshipId:r,objectIds:e}));i.set(r,a)}))),i):i}async _queryRelatedFeatures(e,t){const{_defaultOutFields:r,_effectiveReturnM:s,_effectiveReturnZ:i,orderByFields:a,pageSize:o,returnGeometry:n,supportsCacheHint:u}=this,{layer:p,start:l}=e,{objectId:h,relatedLayer:d,relationshipId:c}=t,y=p.createQuery(),m=new f({cacheHint:u,num:o,objectIds:[h],orderByFields:a,outFields:r,relationshipId:c,returnGeometry:n,returnM:s,returnZ:i,start:l,where:y.where??void 0}),_=await d.queryRelatedFeatures(m);return _[h]?.features||[]}_queueAttachmentsOperation(e,t){return this._attachmentsOperationQueue.push(t),t().then((async r=>{this._attachmentsOperationQueue.remove(t);const s=this._ensureArray(r),i=s.some((e=>e.error)),a=this.getItemByObjectId(e);if(a&&(!i||s.length>1)){const t=await this._queryAttachments([e]);a.attachments=t[e]}return r})).catch((async r=>{this._logError("store:attachment-error","An error occurred.");const s={error:r,retry:()=>{this.failures.remove(s),this._queueAttachmentsOperation(e,t)},cancel:()=>this.failures.remove(s)};throw this.failures.add(s),this._attachmentsOperationQueue.remove(t),r}))}_queueEditOperation(e){return this._editOperationQueue.push(e),e().then((t=>(this._editOperationQueue.remove(e),t))).catch((t=>{this._logError("store:edit-error","An error occurred.");const r={error:t,retry:()=>{this.failures.remove(r),this._queueEditOperation(e)},cancel:()=>this.failures.remove(r)};throw this.failures.add(r),this._editOperationQueue.remove(e),t}))}_queueQueryOperation(e){return this._queryOperationQueue.push(e),e().then((t=>this._queryOperationQueue.includes(e)?t:[])).catch((t=>{this._logError("store:query-error","An error occurred.");const r={error:t,retry:()=>{this.failures.remove(r),this._queueQueryOperation(e)},cancel:()=>this.failures.remove(r)};return this.failures.add(r),[]})).then((t=>(this._queryOperationQueue.remove(e),t)))}};e([d()],j.prototype,"_attachmentsOperationQueue",void 0),e([d({readOnly:!0})],j.prototype,"_capabilities",null),e([d()],j.prototype,"_defaultOutFields",void 0),e([d()],j.prototype,"_editOperationQueue",void 0),e([d()],j.prototype,"_effectiveReturnZ",null),e([d()],j.prototype,"_effectiveReturnM",null),e([d({readOnly:!0})],j.prototype,"_layerWithAttachments",null),e([d({readOnly:!0})],j.prototype,"_layerWithAttachmentsEditing",null),e([d({readOnly:!0})],j.prototype,"_layerWithEditing",null),e([d({readOnly:!0})],j.prototype,"_layerWithRelationships",null),e([d()],j.prototype,"_loaded",void 0),e([d()],j.prototype,"_loadError",void 0),e([d()],j.prototype,"_loading",void 0),e([d()],j.prototype,"_objectIdCache",void 0),e([d()],j.prototype,"_queryOperationQueue",void 0),e([d({readOnly:!0})],j.prototype,"_relatedLayer",null),e([d({readOnly:!0})],j.prototype,"_relatedLayerCapabilities",null),e([d({readOnly:!0})],j.prototype,"_relatedLayerSupportsCacheHint",null),e([d()],j.prototype,"_relatedLayerSupportsQuery",null),e([d()],j.prototype,"_relatedLayerSupportsQueryRelated",null),e([d()],j.prototype,"_sortedFieldNames",null),e([d()],j.prototype,"_canUseRelatedLayer",null),e([d()],j.prototype,"attachmentsEnabled",void 0),e([d()],j.prototype,"canAddRelatedFeature",null),e([d({readOnly:!0})],j.prototype,"count",void 0),e([d()],j.prototype,"effectiveOutFields",null),e([d()],j.prototype,"effectiveTimeExtent",null),e([d()],j.prototype,"effectiveWhere",null),e([d({readOnly:!0})],j.prototype,"failures",void 0),e([d({types:y})],j.prototype,"filterGeometry",void 0),e([d()],j.prototype,"initialSize",void 0),e([d({readOnly:!0})],j.prototype,"itemCache",null),e([d()],j.prototype,"layer",void 0),e([d()],j.prototype,"layerView",null),e([d()],j.prototype,"objectIds",void 0),e([d()],j.prototype,"orderByFields",null),e([d()],j.prototype,"outFields",void 0),e([d({readOnly:!0})],j.prototype,"pageCache",void 0),e([d()],j.prototype,"pageSize",void 0),e([d({readOnly:!0})],j.prototype,"querying",null),e([d()],j.prototype,"relationship",null),e([d()],j.prototype,"relationshipConfig",void 0),e([d()],j.prototype,"relationshipIds",null),e([d()],j.prototype,"relationshipInfos",null),e([d()],j.prototype,"relationships",null),e([d()],j.prototype,"relatedRecordsEnabled",void 0),e([d()],j.prototype,"returnGeometry",void 0),e([d()],j.prototype,"returnZ",void 0),e([d()],j.prototype,"returnM",void 0),e([d()],j.prototype,"sortOrders",void 0),e([d({readOnly:!0})],j.prototype,"state",null),e([d()],j.prototype,"supportsAdd",null),e([d()],j.prototype,"supportsAddingAttachments",null),e([d()],j.prototype,"supportsAttachments",null),e([d()],j.prototype,"supportsCacheHint",null),e([d()],j.prototype,"supportsCacheHintQueryRelated",null),e([d()],j.prototype,"supportsDelete",null),e([d()],j.prototype,"supportsDeletingAttachments",null),e([d()],j.prototype,"supportsEditing",null),e([d()],j.prototype,"supportsM",null),e([d()],j.prototype,"supportsOrderBy",null),e([d()],j.prototype,"supportsPagination",null),e([d()],j.prototype,"supportsQuery",null),e([d()],j.prototype,"supportsQueryRelated",null),e([d()],j.prototype,"supportsResizeAttachments",null),e([d()],j.prototype,"supportsUpdate",null),e([d()],j.prototype,"supportsUpdateAttachments",null),e([d()],j.prototype,"supportsZ",null),e([d({readOnly:!0})],j.prototype,"syncing",null),e([d({readOnly:!0})],j.prototype,"syncingAttachmentEdits",null),e([d({readOnly:!0})],j.prototype,"syncingFeatureEdits",null),e([d({type:g})],j.prototype,"timeExtent",void 0),e([d()],j.prototype,"view",void 0),e([d()],j.prototype,"where",void 0),j=e([c("esri.widgets.FeatureTable.support.FeatureStore")],j);const w=j;export{w as default};
5
+ import{_ as e}from"../../../chunks/tslib.es6.js";import t from"../../../Graphic.js";import r from"../../../core/Accessor.js";import{equals as s,isSome as i}from"../../../core/arrayUtils.js";import a from"../../../core/Collection.js";import o from"../../../core/Error.js";import{clone as n}from"../../../core/lang.js";import u from"../../../core/Logger.js";import p from"../../../core/ReactiveMap.js";import{watch as l,when as h}from"../../../core/reactiveUtils.js";import{property as d}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import{subclass as c}from"../../../core/accessorSupport/decorators/subclass.js";import{geometryTypes as y}from"../../../geometry/support/typeUtils.js";import{isSubtypeGroupLayer as m}from"../../../layers/support/layerUtils.js";import _ from"../../../rest/support/AttachmentQuery.js";import f from"../../../rest/support/RelationshipQuery.js";import g from"../../../time/TimeExtent.js";import{isIFeatureTableSupportedLayerWithAttachments as b,isIFeatureTableSupportedLayerWithAttachmentsEditing as v,isIFeatureTableSupportedLayerWithEditing as O,isIFeatureTableSupportedLayerWithRelationships as A,findRelatedLayer as I}from"./tableUtils.js";let j=class extends r{constructor(e){super(e),this._attachmentsOperationQueue=new a,this._defaultOutFields=["*"],this._editOperationQueue=new a,this._loaded=!1,this._loadError=!1,this._loading=!1,this._objectIdCache=new a,this._queryOperationQueue=new a,this.attachmentsEnabled=!1,this.count=0,this.failures=new a,this.filterGeometry=null,this.initialSize=null,this.layer=null,this.objectIds=null,this.outFields=null,this.pageCache=new p,this.pageSize=50,this.relationshipConfig=null,this.relatedRecordsEnabled=!1,this.returnGeometry=!1,this.returnZ=!1,this.returnM=!1,this.sortOrders=[],this.timeExtent=null,this.view=null,this.where=null}initialize(){this.addHandles([l((()=>[this.filterGeometry,this.layer,this.objectIds,this.outFields,this.pageSize,this.relationshipConfig,this.returnGeometry,this.returnM,this.returnZ,this.timeExtent,this.where]),(()=>this._reset())),l((()=>this.orderByFields),(()=>this._clearCaches()),{equals:s}),h((()=>this.attachmentsEnabled),(()=>this._reset())),h((()=>this.relatedRecordsEnabled),(()=>this._reset()))])}destroy(){this.layer=null,this.itemCache?.destroy(),this.failures?.destroy()}get _capabilities(){const{layer:e}=this;return e?.effectiveCapabilities??e?.capabilities}get _effectiveReturnZ(){return this.returnZ&&this.supportsZ}get _effectiveReturnM(){return this.returnM&&this.supportsM}get _layerWithAttachments(){const{layer:e}=this;return e&&this._capabilities&&this.attachmentsEnabled&&this.supportsAttachments&&b(e)?e:null}get _layerWithAttachmentsEditing(){const{_layerWithAttachments:e}=this;return e&&v(e)&&this.supportsEditing?e:null}get _layerWithEditing(){const e=this.layer;return O(e)&&this.supportsEditing?e:null}get _layerWithRelationships(){const e=this.layer;return A(e)&&this.supportsQueryRelated?e:null}get _relatedLayer(){return this.relationshipConfig?.relatedLayer}get _relatedLayerCapabilities(){const{_relatedLayer:e}=this;return e?.effectiveCapabilities??e?.capabilities}get _relatedLayerSupportsCacheHint(){return!!this._relatedLayerCapabilities?.queryRelated?.supportsCacheHint}get _relatedLayerSupportsQuery(){return!!this._relatedLayerCapabilities?.operations.supportsQuery}get _relatedLayerSupportsQueryRelated(){const{_relatedLayerCapabilities:e}=this;return!!e?.queryRelated?.supportsCount&&!!e?.queryRelated?.supportsPagination}get _sortedFieldNames(){return this.sortOrders.map((({fieldName:e})=>e))}get _canUseRelatedLayer(){return!(!this._relatedLayerSupportsQuery||!this._relatedLayerSupportsQueryRelated)}get canAddRelatedFeature(){const{state:e,relationship:t,supportsAdd:r,supportsEditing:s}=this;if("loaded"!==e||!t||!r||!s)return!1;const{count:i}=this,{cardinality:a,role:o}=t,n=i>0;return("one-to-one"!==a||!n)&&("one-to-many"!==a||"origin"!==o||!n)}get effectiveOutFields(){const{layer:e,outFields:t}=this;if(!e||!t?.length)return this._defaultOutFields;const r=[];t.forEach((t=>{const s=e.fieldsIndex.normalizeFieldName(t);s&&r.push(s)}));const{objectIdField:s}=e,i=e.fieldsIndex.normalizeFieldName(s)??s;return i&&!r.includes(i)&&r.unshift(i),r}get effectiveTimeExtent(){const{layer:e,timeExtent:t}=this;return t||e&&"timeExtent"in e&&e.timeExtent||null}get effectiveWhere(){return this.where||this.layer?.definitionExpression||"1=1"}get itemCache(){return new a({items:[...this.pageCache.values()].flat()})}get layerView(){const{layer:e,view:t}=this;if(!e||!t)return null;const r="sublayer"===e.type?e.parent:e;return t.allLayerViews.find((e=>e.layer===r))}get orderByFields(){const{_sortedFieldNames:e,layer:t,sortOrders:r}=this,s=r.filter((({fieldName:t,direction:r},s)=>e.indexOf(t)===s&&null!=r)).map((({fieldName:e,direction:t})=>`${e} ${t?.toUpperCase()}`));if(t&&!s.length&&!t.objectIdField&&t.fields?.length){const e=t.fields.find((e=>e.name));if(e){const r=t.fieldsIndex.normalizeFieldName(e.name);r&&s.push(`${r} ASC`)}}return s}get querying(){return this._queryOperationQueue.length>0}get relationship(){const{relationshipConfig:e}=this;return null==e?.relationshipId?null:this.relationships?.find((t=>t.id===e.relationshipId))}get relationshipIds(){return this.relationships?.map((e=>e.id))??[]}get relationshipInfos(){const{_layerWithRelationships:e,relatedRecordsEnabled:t,relationships:r,view:s}=this,i=[];return t&&e?.loaded&&s?.map&&r?.length?(r.forEach((t=>{const r=I(e,s,t);r&&(r.load(),i.push({layer:e,relatedLayer:r,relationshipId:t.id}))})),i):i}get relationships(){return this._layerWithRelationships?.relationships}get state(){const{layer:e,_loaded:t,_loadError:r,_loading:s}=this;return!e||e.destroyed?"disabled":r||e.loadError?"error":"loaded"===e.loadStatus&&t?"loaded":s?"loading":"ready"}get supportsAdd(){return!!this._capabilities?.operations.supportsAdd}get supportsAddingAttachments(){return!(!this._layerWithAttachmentsEditing||!this.supportsAdd)}get supportsAttachments(){const{_capabilities:e}=this;return!(!e?.data?.supportsAttachment||!e?.operations.supportsQueryAttachments)}get supportsCacheHint(){return!!this._capabilities?.query?.supportsCacheHint}get supportsCacheHintQueryRelated(){return!!this._capabilities?.queryRelated?.supportsCacheHint}get supportsDelete(){return!!this._capabilities?.operations.supportsDelete}get supportsDeletingAttachments(){return!(!this._layerWithAttachmentsEditing||!this.supportsDelete)}get supportsEditing(){return!!this._capabilities?.operations.supportsEditing}get supportsM(){return!!this.layer?.hasM&&!!this._capabilities?.data?.supportsM}get supportsOrderBy(){return!!this._capabilities?.query?.supportsOrderBy}get supportsPagination(){return!!this._capabilities?.query?.supportsPagination}get supportsQuery(){return!!this._capabilities?.operations.supportsQuery}get supportsQueryRelated(){const{_capabilities:e}=this;return!!e?.queryRelated?.supportsCount&&!!e?.queryRelated?.supportsPagination}get supportsResizeAttachments(){const{_capabilities:e}=this;return!(!this.supportsAttachments||!e?.attachment?.supportsResize)}get supportsUpdate(){return!!this._capabilities?.operations.supportsUpdate}get supportsUpdateAttachments(){return!(!this._layerWithAttachmentsEditing||!this.supportsUpdate)}get supportsZ(){return!!this.layer?.hasZ&&!!this._capabilities?.data?.supportsZ}get syncing(){return this.syncingFeatureEdits||this.syncingAttachmentEdits}get syncingAttachmentEdits(){return this._attachmentsOperationQueue.length>0}get syncingFeatureEdits(){return this._editOperationQueue.length>0}async addAttachment(e,t){const{_layerWithAttachmentsEditing:r}=this;if(!r||!this.supportsAddingAttachments)return{};const s=await this._queueAttachmentsOperation(e,(()=>r.addAttachment(this._createBaseGraphic(r,e),t)));return this._ensureArrayContent(s)}async deleteAttachments(e,t){const{_layerWithAttachmentsEditing:r}=this;if(!r||!this.supportsDeletingAttachments||!t.length)return[];const s=await this._queueAttachmentsOperation(e,(()=>r.deleteAttachments(this._createBaseGraphic(r,e),t)));return this._ensureArray(s)}async deleteRowsByObjectId(e){const{_layerWithEditing:t}=this;if(!this.supportsDelete||!t)throw new o("store:delete-error","Delete is not supported.");const r=e.map((e=>this.getItemByObjectId(e)?.feature)).filter(i);return this._queueEditOperation((()=>t.applyEdits({deleteFeatures:r})))}async fetchItems(e){const{page:t}=e,{pageSize:r}=this,s=t*r,i=s+r,{layer:a,state:o}=this;return a&&"loaded"===o?this._query({layer:a,start:s,num:i,page:t,pageSize:r}):[]}async getAttachmentsByObjectId(e,t){const r=this.getItemByObjectId(e)?.attachments??[];if(!r.length&&t){return(await this._queryAttachments([e]))[e]??[]}return r}getItemByObjectId(e){for(const t of this.pageCache.values())for(const r of t)if(r.objectId===e)return r}getItemIndexByObjectId(e){const{pageCache:t,pageSize:r}=this,s=t.entries();let i=-1;for(const[a,o]of s)if(o.some(((t,s)=>{const o=t.objectId===e;return o&&(i=a*r+s),o})),i>-1)break;return i}async load(){const{layer:e}=this;if(!this._loading&&!this._loaded&&e){this._reset(),this._loading=!0;try{await e.load(),e.parent&&m(e.parent)&&await e.parent.loadAll(),await e.when();const t=this.initialSize;this.initialSize=null,await this.refresh(t),this._loaded=!0,this._loading=!1}catch(t){throw this._reset(),this._loadError=!0,this._logError("store:load-error","An error occurred."),t}}}async query(e){const{state:t}=this;return this.supportsQuery&&"loaded"===t?this._query(e):[]}async refresh(e){this._clearCaches(),await this._syncCount(e),await this._syncObjectIdCache()}async reset(){this._reset()}async updateAttachment(e,t,r){const{_layerWithAttachmentsEditing:s}=this;if(!s||!this.supportsUpdateAttachments)return{};const i=await this._queueAttachmentsOperation(e,(()=>s.updateAttachment(this._createBaseGraphic(s,e),t,r)));return this._ensureArrayContent(i)}async updateItem(e){const{_sortedFieldNames:t}=this,r=e.updates.map((({fieldName:e})=>e)),s=await this._update(e);return!s.updateFeatureResults.find((e=>e.error))&&r.some((e=>t.includes(e)))&&this._clearCaches(),s}async verifyFeaturesByObjectId(e){const{layer:t,state:r}=this;if(!t||"loaded"!==r)return[];const{objectIdField:s}=t,i=await this._verifyFeaturesByObjectId(e);return e.map((e=>i.some((t=>{const r=t.getObjectId()??t.attributes[s];return e===r}))))}_clearCaches(){this.pageCache.clear(),this._objectIdCache.removeAll()}_createBaseGraphic(e,r){return new t({attributes:{[e.objectIdField]:r}})}_ensureArray(e){return Array.isArray(e)?e:[e]}_ensureArrayContent(e){return Array.isArray(e)?e[0]:e}_getObjectIdsForPage(e,t){const r=this._objectIdCache.toArray();return r.length>=e+t?r.slice(e,e+t):r.slice(e)}_logError(e,t){u.getLogger(this).error(e,t)}_reset(){this._clearCaches(),this.failures.removeAll(),this._attachmentsOperationQueue.removeAll(),this._editOperationQueue.removeAll(),this._queryOperationQueue.removeAll(),this._loading=!1,this._loaded=!1,this._loadError=!1,this._set("count",0)}async _syncCount(e){null==e?await this._queryCount().then((e=>this._set("count",e))):this._set("count",e)}async _syncObjectIdCache(){if(this.supportsPagination)return;const e=await this._queryObjectIds();this._objectIdCache.removeAll(),this._objectIdCache.addMany(e)}async _verifyFeaturesByObjectId(e){const{layer:t}=this;if(!t||!this.supportsQuery)throw new o("store:query-error","Layer does not support query operation.");const{effectiveTimeExtent:r,effectiveWhere:s,orderByFields:i,supportsCacheHint:a,supportsOrderBy:n}=this,u=t.createQuery();u.where=s,u.timeExtent=r,u.returnGeometry=!1,u.objectIds=e.length?e:void 0,u.outFields=[t.objectIdField],n&&(u.orderByFields=i),a&&(u.cacheHint=!0);return(await t.queryFeatures(u)).features}async _update(e){const{objectId:r,updates:s}=e,{_layerWithEditing:i}=this;if(!this.supportsUpdate||!i)throw new o("store:update-error","Update is not supported.");const a=this.getItemByObjectId(r)?.feature;if(!a)throw new o("store:update-error","Feature with provided 'objectId' not found.");const u=n(a.attributes);s.forEach((({fieldName:e,value:t})=>u[e]=t));const p=new t({attributes:u}),l=i.applyEdits({updateFeatures:[p]}).then((e=>{const{updateFeatureResults:t}=e,r=t.find((e=>!!e.error));if(r)throw r.error;return t.length&&(a.attributes=u),e}));return this._queueEditOperation((()=>l))}_prepareFeatureData(e){const{attachments:t,features:r,layer:s,relatedRecords:i}=e,a=s.objectIdField;return r.map((e=>{const r=e.getObjectId()??e.attributes[a],o=[];return e.layer||e.sourceLayer||(e.layer=s,e.sourceLayer=s),i.forEach(((e,t)=>{o.push({relationshipId:t,count:e[r]??0})})),{objectId:r,feature:e,attachments:t[r]??null,relatedRecords:o}}))}async _query(e){const{page:t,refresh:r}=e;!0===r&&await this.refresh();const s=this.pageCache.get(t);if(s)return s;const i=await this._queryPage(e);return this.pageCache.set(t,i),i}_queryAttachments(e){const{_layerWithAttachments:t,effectiveWhere:r}=this;return t?e.some((e=>"number"!=typeof e))?Promise.reject(new o("invalid-object-id","Only numeric object ids are valid to query attachments")):t.queryAttachments(new _({objectIds:e,where:r,returnMetadata:!0})):Promise.resolve({})}async _queryCount(){const{_relatedLayerSupportsCacheHint:e,layer:t,relationshipConfig:r,supportsCacheHint:s}=this;if(!t)return 0;if(r&&this._canUseRelatedLayer){const{objectId:t,relatedLayer:s,relationshipId:i}=r;return(await s.queryRelatedFeaturesCount(new f({cacheHint:e,relationshipId:i,objectIds:[t]})))[t]??0}const{effectiveTimeExtent:i,effectiveWhere:a,filterGeometry:o,objectIds:n}=this,u=t.createQuery();return u.geometry=o,u.returnGeometry=!1,u.where=a,u.timeExtent=i,u.objectIds=n?.length?n:void 0,s&&(u.cacheHint=!0),t.queryFeatureCount(u)}async _queryFeatures(e){const{relationshipConfig:t}=this;if(t&&this._canUseRelatedLayer)return this._queryRelatedFeatures(e,t);const{_effectiveReturnM:r,_effectiveReturnZ:s,effectiveOutFields:i,effectiveTimeExtent:a,effectiveWhere:o,filterGeometry:n,objectIds:u,orderByFields:p,pageSize:l,returnGeometry:h,supportsCacheHint:d,supportsOrderBy:c,supportsPagination:y}=this,{layer:m,start:_}=e,f=u?.length,g=m.createQuery();g.returnGeometry=h,g.outFields=i,g.returnM=r,g.returnZ=s,y?(g.start=_,g.num=l,g.where=o,g.timeExtent=a,g.objectIds=f?u:void 0):g.objectIds=f?u:this._getObjectIdsForPage(_,l??0),c&&(g.orderByFields=p),n&&(g.geometry=n),d&&(g.cacheHint=!0);return(await m.queryFeatures(g)).features}_queryObjectIds(){const{effectiveTimeExtent:e,effectiveWhere:t,filterGeometry:r,layer:s,objectIds:i,orderByFields:a,supportsCacheHint:o,supportsOrderBy:n}=this;if(!s)return Promise.resolve([]);const u=s.createQuery();return u.geometry=r,u.outFields=[s.objectIdField],u.returnGeometry=!1,u.where=t,u.timeExtent=e,u.objectIds=i?.length?i:void 0,n&&(u.orderByFields=a),o&&(u.cacheHint=!0),s.queryObjectIds(u)}async _queryPage(e){const{layer:t}=e;return this._queueQueryOperation((async()=>{const r=await this._queryFeatures(e),s=r.map((e=>e.getObjectId()??e.attributes[t.objectIdField])),i=await this._queryAttachments(s),a=await this._queryRelatedCounts(s);return this._prepareFeatureData({layer:t,features:r,attachments:i,relatedRecords:a})||[]}))}async _queryRelatedCounts(e){const{_layerWithRelationships:t,relationshipIds:r,supportsCacheHintQueryRelated:s}=this,i=new Map;return t&&e?.length&&r.length?(await Promise.allSettled(r.map((async r=>{const a=await t.queryRelatedFeaturesCount(new f({cacheHint:s,relationshipId:r,objectIds:e}));i.set(r,a)}))),i):i}async _queryRelatedFeatures(e,t){const{_defaultOutFields:r,_effectiveReturnM:s,_effectiveReturnZ:i,orderByFields:a,pageSize:o,returnGeometry:n,supportsCacheHint:u}=this,{layer:p,start:l}=e,{objectId:h,relatedLayer:d,relationshipId:c}=t,y=p.createQuery(),m=new f({cacheHint:u,num:o,objectIds:[h],orderByFields:a,outFields:r,relationshipId:c,returnGeometry:n,returnM:s,returnZ:i,start:l,where:y.where??void 0}),_=await d.queryRelatedFeatures(m);return _[h]?.features||[]}_queueAttachmentsOperation(e,t){return this._attachmentsOperationQueue.push(t),t().then((async r=>{this._attachmentsOperationQueue.remove(t);const s=this._ensureArray(r),i=s.some((e=>e.error)),a=this.getItemByObjectId(e);if(a&&(!i||s.length>1)){const t=await this._queryAttachments([e]);a.attachments=t[e]}return r})).catch((async r=>{this._logError("store:attachment-error","An error occurred.");const s={error:r,retry:()=>{this.failures.remove(s),this._queueAttachmentsOperation(e,t)},cancel:()=>this.failures.remove(s)};throw this.failures.add(s),this._attachmentsOperationQueue.remove(t),r}))}_queueEditOperation(e){return this._editOperationQueue.push(e),e().then((t=>(this._editOperationQueue.remove(e),t))).catch((t=>{this._logError("store:edit-error","An error occurred.");const r={error:t,retry:()=>{this.failures.remove(r),this._queueEditOperation(e)},cancel:()=>this.failures.remove(r)};throw this.failures.add(r),this._editOperationQueue.remove(e),t}))}_queueQueryOperation(e){return this._queryOperationQueue.push(e),e().then((t=>this._queryOperationQueue.includes(e)?t:[])).catch((t=>{this._logError("store:query-error","An error occurred.");const r={error:t,retry:()=>{this.failures.remove(r),this._queueQueryOperation(e)},cancel:()=>this.failures.remove(r)};return this.failures.add(r),[]})).then((t=>(this._queryOperationQueue.remove(e),t)))}};e([d()],j.prototype,"_attachmentsOperationQueue",void 0),e([d({readOnly:!0})],j.prototype,"_capabilities",null),e([d()],j.prototype,"_defaultOutFields",void 0),e([d()],j.prototype,"_editOperationQueue",void 0),e([d()],j.prototype,"_effectiveReturnZ",null),e([d()],j.prototype,"_effectiveReturnM",null),e([d({readOnly:!0})],j.prototype,"_layerWithAttachments",null),e([d({readOnly:!0})],j.prototype,"_layerWithAttachmentsEditing",null),e([d({readOnly:!0})],j.prototype,"_layerWithEditing",null),e([d({readOnly:!0})],j.prototype,"_layerWithRelationships",null),e([d()],j.prototype,"_loaded",void 0),e([d()],j.prototype,"_loadError",void 0),e([d()],j.prototype,"_loading",void 0),e([d()],j.prototype,"_objectIdCache",void 0),e([d()],j.prototype,"_queryOperationQueue",void 0),e([d({readOnly:!0})],j.prototype,"_relatedLayer",null),e([d({readOnly:!0})],j.prototype,"_relatedLayerCapabilities",null),e([d({readOnly:!0})],j.prototype,"_relatedLayerSupportsCacheHint",null),e([d()],j.prototype,"_relatedLayerSupportsQuery",null),e([d()],j.prototype,"_relatedLayerSupportsQueryRelated",null),e([d()],j.prototype,"_sortedFieldNames",null),e([d()],j.prototype,"_canUseRelatedLayer",null),e([d()],j.prototype,"attachmentsEnabled",void 0),e([d()],j.prototype,"canAddRelatedFeature",null),e([d({readOnly:!0})],j.prototype,"count",void 0),e([d()],j.prototype,"effectiveOutFields",null),e([d()],j.prototype,"effectiveTimeExtent",null),e([d()],j.prototype,"effectiveWhere",null),e([d({readOnly:!0})],j.prototype,"failures",void 0),e([d({types:y})],j.prototype,"filterGeometry",void 0),e([d()],j.prototype,"initialSize",void 0),e([d({readOnly:!0})],j.prototype,"itemCache",null),e([d()],j.prototype,"layer",void 0),e([d()],j.prototype,"layerView",null),e([d()],j.prototype,"objectIds",void 0),e([d()],j.prototype,"orderByFields",null),e([d()],j.prototype,"outFields",void 0),e([d({readOnly:!0})],j.prototype,"pageCache",void 0),e([d()],j.prototype,"pageSize",void 0),e([d({readOnly:!0})],j.prototype,"querying",null),e([d()],j.prototype,"relationship",null),e([d()],j.prototype,"relationshipConfig",void 0),e([d()],j.prototype,"relationshipIds",null),e([d()],j.prototype,"relationshipInfos",null),e([d()],j.prototype,"relationships",null),e([d()],j.prototype,"relatedRecordsEnabled",void 0),e([d()],j.prototype,"returnGeometry",void 0),e([d()],j.prototype,"returnZ",void 0),e([d()],j.prototype,"returnM",void 0),e([d()],j.prototype,"sortOrders",void 0),e([d({readOnly:!0})],j.prototype,"state",null),e([d()],j.prototype,"supportsAdd",null),e([d()],j.prototype,"supportsAddingAttachments",null),e([d()],j.prototype,"supportsAttachments",null),e([d()],j.prototype,"supportsCacheHint",null),e([d()],j.prototype,"supportsCacheHintQueryRelated",null),e([d()],j.prototype,"supportsDelete",null),e([d()],j.prototype,"supportsDeletingAttachments",null),e([d()],j.prototype,"supportsEditing",null),e([d()],j.prototype,"supportsM",null),e([d()],j.prototype,"supportsOrderBy",null),e([d()],j.prototype,"supportsPagination",null),e([d()],j.prototype,"supportsQuery",null),e([d()],j.prototype,"supportsQueryRelated",null),e([d()],j.prototype,"supportsResizeAttachments",null),e([d()],j.prototype,"supportsUpdate",null),e([d()],j.prototype,"supportsUpdateAttachments",null),e([d()],j.prototype,"supportsZ",null),e([d({readOnly:!0})],j.prototype,"syncing",null),e([d({readOnly:!0})],j.prototype,"syncingAttachmentEdits",null),e([d({readOnly:!0})],j.prototype,"syncingFeatureEdits",null),e([d({type:g})],j.prototype,"timeExtent",void 0),e([d()],j.prototype,"view",void 0),e([d()],j.prototype,"where",void 0),j=e([c("esri.widgets.FeatureTable.support.FeatureStore")],j);const w=j;export{w as default};
@@ -0,0 +1,4 @@
1
+ import "../../interfaces";
2
+
3
+ import LinkChartLayoutSwitcherViewModel = __esri.LinkChartLayoutSwitcherViewModel;
4
+ export default LinkChartLayoutSwitcherViewModel;
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{_ as t}from"../../chunks/tslib.es6.js";import e from"../../core/Error.js";import o from"../../core/Evented.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";let a=class extends o.EventedAccessor{constructor(t){super(t),this._goToExtentController=null,this._scaleExtent=(t,e)=>{const o=t,r=(t.xmax-t.xmin)/2*(e-1),i=(t.ymax-t.ymin)/2*(e-1);return o.xmin=t.xmin-r,o.ymin=t.ymin-i,o.xmax=t.xmax+r,o.ymax=t.ymax+i,o},this.switchLayout=this.switchLayout.bind(this)}destroy(){this._cancelGoToExtent(),this.view=null}set view(t){this._set("view",t),t&&t.when().then((()=>{if(this.view===t){if(!this.view.map.linkChartProperties)throw new e("linkChartLayoutSwitcher:error","Link chart layouts are only supported on WebLinkCharts.");this.layout=this.view.map.linkChartProperties.layoutType}}))}get state(){return this.view?this.view.map.linkChartProperties?"ready":"disabled":"loading"}get layout(){return this._get("layout")||"organic-standard"}set layout(t){this._set("layout",t)}get preventExtentUpdate(){return this._get("preventExtentUpdate")||!1}set preventExtentUpdate(t){this._set("preventExtentUpdate",t)}async switchLayout(t){if(!this.view.map)throw new e("linkChartLayoutSwitcher:loading-state","Cannot change layout when link chart has not loaded.");if(this.layout=t,await this.view.map.applyLayout(t),!this.preventExtentUpdate){const e="geographic-organic-standard"!==t?this._scaleExtent(this.view.map.diagramNodesExtent,1.4):this.view.map.diagramNodesExtent,r=new AbortController;this._goToExtentController=r;try{await this.view.when(),await this.view.goTo(e,{signal:r.signal})}catch(o){}this._goToExtentController=null}this.emit("switchLayout",{layout:t})}_cancelGoToExtent(){const{_goToExtentController:t}=this;t&&t.abort(),this._goToExtentController=null}};t([r()],a.prototype,"_goToExtentController",void 0),t([r()],a.prototype,"view",null),t([r({readOnly:!0})],a.prototype,"state",null),t([r()],a.prototype,"layout",null),t([r()],a.prototype,"preventExtentUpdate",null),a=t([i("esri.widgets.LinkChartLayoutSwitcher.LinkChartLayoutSwitcherViewModel")],a);const s=a;export{s as default};
5
+ import{_ as t}from"../../chunks/tslib.es6.js";import e from"../../core/Error.js";import o from"../../core/Evented.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{convertLayoutTypeToWebSupportedFormat as s}from"../../layers/knowledgeGraph/supportUtils.js";let a=class extends o.EventedAccessor{constructor(t){super(t),this._goToExtentController=null,this._scaleExtent=(t,e)=>{const o=t,r=(t.xmax-t.xmin)/2*(e-1),i=(t.ymax-t.ymin)/2*(e-1);return o.xmin=t.xmin-r,o.ymin=t.ymin-i,o.xmax=t.xmax+r,o.ymax=t.ymax+i,o},this.switchLayout=this.switchLayout.bind(this)}destroy(){this._cancelGoToExtent(),this.view=null}set view(t){this._set("view",t),t&&t.when().then((()=>{if(this.view===t){if(!this.view.map.linkChartProperties)throw new e("linkChartLayoutSwitcher:error","Link chart layouts are only supported on WebLinkCharts.");this.layout=s(this.view.map.linkChartProperties.layoutType)}}))}get state(){return this.view?this.view.map.linkChartProperties?"ready":"disabled":"loading"}get layout(){return this._get("layout")||"organic-standard"}set layout(t){this._set("layout",t)}get preventExtentUpdate(){return this._get("preventExtentUpdate")||!1}set preventExtentUpdate(t){this._set("preventExtentUpdate",t)}async switchLayout(t){if(!this.view||!this.view.map)throw new e("linkChartLayoutSwitcher:loading-state","Cannot change layout when link chart has not loaded.");if(this.layout=t,await this.view.map.applyLayout(t),!this.preventExtentUpdate&&this.view.map.diagramNodesExtent){const e="geographic-organic-standard"!==t?this._scaleExtent(this.view.map.diagramNodesExtent,1.4):this.view.map.diagramNodesExtent,r=new AbortController;this._goToExtentController=r;try{await this.view.when(),await this.view.goTo(e,{signal:r.signal})}catch(o){}this._goToExtentController=null}this.emit("switchLayout",{layout:t})}_cancelGoToExtent(){const{_goToExtentController:t}=this;t&&t.abort(),this._goToExtentController=null}};t([r()],a.prototype,"_goToExtentController",void 0),t([r()],a.prototype,"view",null),t([r({readOnly:!0})],a.prototype,"state",null),t([r()],a.prototype,"layout",null),t([r()],a.prototype,"preventExtentUpdate",null),a=t([i("esri.widgets.LinkChartLayoutSwitcher.LinkChartLayoutSwitcherViewModel")],a);const n=a;export{n 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"../../Graphic.js";import{isSome as i,equals as r}from"../../core/arrayUtils.js";import{createTask as a}from"../../core/asyncUtils.js";import s from"../../core/Collection.js";import{deprecatedProperty as o}from"../../core/deprecate.js";import n from"../../core/Error.js";import l from"../../core/Evented.js";import c from"../../core/JSONSupport.js";import{equalsShallow as h}from"../../core/lang.js";import u from"../../core/Logger.js";import{clamp as p}from"../../core/mathUtils.js";import{abortMaybe as m,destroyMaybe as d}from"../../core/maybe.js";import g from"../../core/Promise.js";import{isAbortError as y,throwIfAborted as f,waitTick as v}from"../../core/promiseUtils.js";import w from"../../core/ReactiveMap.js";import{on as b,watch as F,syncAndInitial as _,initial as P}from"../../core/reactiveUtils.js";import{sqlAnd as I}from"../../core/sql.js";import{getMetersPerUnitForSR as M}from"../../core/unitUtils.js";import{property as S}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import{subclass as k}from"../../core/accessorSupport/decorators/subclass.js";import{distance as A}from"../../core/libs/gl-matrix-2/math/vec2.js";import{UpdatingHandles as C}from"../../core/support/UpdatingHandles.js";import{union as V}from"../../geometry/geometryEngineAsync.js";import R from"../../geometry/Multipoint.js";import G from"../../geometry/Point.js";import O from"../../geometry/Polygon.js";import j from"../../geometry/Polyline.js";import{projectWithZConversion as x}from"../../geometry/projection.js";import z from"../../geometry/SpatialReference.js";import{isClockwise as L}from"../../geometry/support/coordsUtils.js";import{fromJSON as B}from"../../geometry/support/jsonUtils.js";import{geographicToWebMercator as E}from"../../geometry/support/webMercatorUtils.js";import H from"../../layers/GraphicsLayer.js";import{searchImages as D}from"../../layers/orientedImagery/queries.js";import{calculateSuitabilities as T}from"../../layers/orientedImagery/core/bestImageUtils.js";import{createCoveragePolygon as U,computePolygonForInspection as N,resizePolygon as W,checkIfPolygonContainsSelectedPoint as q}from"../../layers/orientedImagery/core/coverageUtils.js";import{isConstantElevation as $,isElevationSource as J}from"../../layers/orientedImagery/core/ElevationSourceDefinitions.js";import{imageToWorld as Z,imageToWorldPanoramic as K}from"../../layers/orientedImagery/transformations/imageToWorld.js";import Q from"../../layers/orientedImagery/transformations/updateElevation.js";import{getElevationSampler as X}from"../../layers/orientedImagery/transformations/updateElevationUtils.js";import{getInitialAngle as Y,convertPixelToHeadingPitch as ee,getImageToWorldProperties as te,getUpdateElevationProps as ie,isElevationSampler as re,pointToArray as ae,getImageToWorldPanoramicProperties as se,getWorldToImageProperties as oe,convertHeadingPitchToSphereVertex as ne,or as le}from"../../layers/orientedImagery/transformations/utils.js";import{worldToImagePanoramic as ce,worldToImage as he}from"../../layers/orientedImagery/transformations/worldToImage.js";import{getFloorFilterClause as ue}from"../../layers/support/floorFilterUtils.js";import pe from"../../rest/support/AttachmentQuery.js";import me from"../../symbols/SimpleLineSymbol.js";import de from"../../views/draw/Draw.js";import{scale as ge}from"../../views/draw/support/drawUtils.js";import{ViewEventPriorities as ye}from"../../views/input/InputManager.js";import fe from"../PanoramicViewer.js";import{invalidCameraHeading as ve,sectorsInOrder as we,sectorsRadii as be}from"./constants.js";import{configureSketchTool as Fe,isValidDigitizationLayer as _e,extractFieldsFromDigitizationLayer as Pe}from"./digitizationUtils.js";import{formatPixels as Ie,heightMeasurement2D as Me,calculateHeightAccuracy as Se,pixelAreaMeasurement2D as ke,pixelDistanceMeasurement2D as Ae,generateCombinations as Ce,calculateTempImagePoint as Ve,calculateAngle as Re,calculateCorrectedPixel as Ge,calculateHeightFromTemporaryDistance as Oe}from"./imageMeasurementUtils.js";import{crossSymbol as je,crossSymbol3D as xe,measurementPolygonSymbol as ze,measurementPolylineSymbol as Le,sourcePointSymbol as Be,digitizationSymbol as Ee,diamondSymbol as He,diamondSymbol3D as De,activeSourcePointSymbol as Te}from"./symbols.js";import{isNoAttachmentError as Ue,getContentType as Ne,isTifOrMrf as We,filterOILLayerView as qe,isSceneView as $e,isGraphic as Je,calculateSegment as Ze,calculateDirection as Ke}from"./utils.js";import Qe from"./components/ImageViewer.js";const Xe={click:"view-click",imageClick:"image-click",interactionHandles:"interaction-handles",footprintHandles:"footprint-handles",sketchHandles:"sketch-handles"},Ye=new Set(["JPG","JPEG"]),et=/\.(\w+)$/,tt=e=>"FA"===e,it=()=>new n("orientedimageryviewer:sketch-not-initialized","Sketch property is not initialized, call loadSketch first");let rt=class extends(l.EventedMixin(g)){constructor(e){super(e),this.additionalFeatures=new s,this.additionalCameraLocations=new s,this.additionalFootprints=new s,this.areaMeasurementResult=0,this.areaMeasurementAccuracy=0,this.bestFeatureAngle=0,this.bestFeatureCurrentFootprint=null,this.bestFeatureFootprint=null,this.collectionId=null,this.conversionProps=null,this.coverageFrustums=new s,this.coveragePolygons=new s,this.currentBestFeature=null,this.currentBestFeatureLocation=null,this.currentCoverageVisible=!0,this.determineWorkflowForFeature=async(e,t,i)=>{const{currentBestFeature:r,selectedPoint:a,view:s}=this;if(s?.closePopup(),r&&a){this._initialCurrentCoverageUpdate=!0;try{await this._updatePointsAndPolygons(i),await this._loadImage(i)}catch(o){y(o)||(this.loadImageError(o),u.getLogger(this).error("#loadIImage()","error occured while loading image",o))}}},this.disabled=!1,this.displayMessage={key:"onLoadMessage",type:"info"},this.displayNewMeasurementButton=!0,this.distanceMeasurementResult=0,this.distanceAccuracyArray=[],this.digitizationLayer=null,this.features=new s,this.heightMeasurementPixels=[],this.heightGraphic=null,this.heightMeasurementResult=0,this.heightMeasurementAccuracy=0,this.measurementAngle=null,this.tempDistance=null,this.imageGeometryField=null,this.isAdditionalCoverageVisible=!1,this.isAdditionalPointSourcesVisible=!1,this.layer=null,this.localPort=null,this.mapImageConversionToolState=!1,this.measureType=null,this.measurementGraphic=null,this.navigatorCurrentBestFeature=null,this.oiObjectIdField=null,this.overlayedCameraLocations=new s,this.overlayedMapFeatures=new w,this.pointSources=new s,this.previousFeatureAngle=0,this.selectedPoint=null,this.shouldShowSelectedImage=!1,this.sketch=null,this.draw=null,this.drawEv=null,this.sketchAdapter=null,this.updateFootprint=async(e,t)=>{"image-loaded"===this.state&&await(this._adapter?.updateFootprint(e,t))},this.updateFootprintPanorama=async(e,t)=>{await(this._adapter?.updateFootprintPanorama(e,t))},this._adapter=null,this._highlightedFeatureHandle=null,this._imageViewer=new Qe,this._initialCurrentCoverageUpdate=!0,this._overlays=new H({listMode:"hide",internal:!0,elevationInfo:{mode:"absolute-height"}}),this._panoramicViewer=new fe,this._referencePointOnGround=null,this._referencePointOnImage=null,this._sectorData=null,this._updatingHandles=new C,this._clickTask=null,this._crossSymbol=null,this.footprintExtent=null,this._featureChangedTask=null,this._openPopupTask=null,this._suitabilities=null,this._transformController=new AbortController,this._updateFootprintTask=null,this.hideImageGeometry=e=>{},this.highlight=e=>{if(!this._overlaysView)return;this.removeHighlight();const t=this.additionalFootprints.find((({attributes:{imageID:t}})=>t===Number(e)));this._highlightedFeatureHandle=t?this._overlaysView?.highlight(t):null},this.loadDigitizationAdapter=async e=>{const{sketchAdapter:t}=this;if(await this.loadSketch(e),"digitization"===t?.type)return t;const i=import("./adapters/sketch/DigitizationAdapter.js"),{default:r}=await i;return f(e),this.sketchAdapter=new r({viewModel:this}),this.sketchAdapter},this.loadImageFromSource=async(e,t)=>this._updatingHandles.addPromise(this._loadImageFromSourceInternal(e,t)),this.loadImageViewer=e=>{this._imageViewer.container=e},this.loadPanoramicViewer=e=>{this._panoramicViewer.container=e},this.removeHighlight=()=>this._highlightedFeatureHandle?.remove(),this.revealImageGeometry=e=>{},this.toggleImageAttributes=()=>{m(this._openPopupTask),this._openPopupTask=a((async e=>{const{currentBestFeature:i,popupEnabled:r,layer:a,view:s}=this;if(s?.closePopup(),!(s&&i&&r&&a))return;const{attributes:o,geometry:n}=i,l=new t({geometry:n,attributes:o.toJSON(),layer:a});f(e),await s.openPopup({features:[l],location:o.location.clone()})}))},this._createViewClickHandle=()=>{if(this.removeHandles(Xe.click),"disabled"===this.state||null==this.view)return;const e=this.mapImageConversionToolState&&"image-loaded"===this.state?this._mapImageConversionToolViewClickHandler:this._viewClickHandler;this.addHandles(this.view.on("click",e,ye.WIDGET),Xe.click)},this._createImageClickHandle=()=>{this.removeHandles(Xe.imageClick);const{mapImageConversionToolState:e,mode:t,activeViewer:i,currentBestFeature:r,footprintExtent:s}=this,o=i?.imageSize;if(!(e&&"none"!==t&&o&&s&&r))return;i.clickAction="pixel-location";let n=null;const l=b((()=>i),"pixel-location",(e=>{this.plotReferencePointOnImage(e),n?.abort(),n=a((async i=>{if(!e)return;const a=await this.getMapPoint(e,{feature:r,imageSize:o,mode:t}).then((e=>{const t=this.view?.spatialReference;return le(!t,e.spatialReference.equals(t))?e:x(e,t)}));f(i),this.plotReferencePointOnGround(a)}))}));this.addHandles(l,Xe.imageClick)},this._getImageSourceFromAttachment=async(e,t,i)=>{const r=new pe({objectIds:[t]}),a=await e.queryAttachments(r,i),s=a[`${t}`]?.[0],o=s?.url;if(!o)throw new n("NoAttachmentError","no attachments found",{[e.objectIdField]:t,layer:e});return{datasetFormat:s.contentType.split("/")[1].toUpperCase(),url:o}},this._loadImage=async e=>{const{currentBestFeature:t,layer:i,mode:r}=this;if(this.clearGraphics(),!i||!t||"none"===r)return;const{attributes:a}=t,{imagePath:s,imageRotation:o,cameraHeading:n,cameraRoll:l,cameraPitch:c,objectId:h,cameraOrientation:p,location:m}=a,d=(l??0)+(o??0),g=m.spatialReference.isWGS84&&4!==p?.type?E(m):new G(m);let v=s;if(tt(s))try{v=await this._getImageSourceFromAttachment(i,h,e)}catch(w){if(y(w))return;return Ue(w)?(u.getLogger(this).error(w),void this.setMessage("noAttachment","error",`${i.objectIdField}: ${h}`)):(u.getLogger(this).error(w,{[i.objectIdField]:h,layer:i}),void this.setMessage("imageLoadError","error",`query-attachments-failed:${i.objectIdField} ${h}`))}try{await this.loadImageFromSource(v,{imageRotation:d,options:e,pitch:c,yaw:n,mode:r,cameraLocation:g}),f(e),await this.transformAndPlotSelectedLocation(e)}catch(w){y(w)||this.loadImageError(w)}},this._loadImageFromSourceInternal=async(e,t)=>{const{mode:i,imageRotation:r,options:a}=t,s="string"==typeof e,o=s?e:e.url,{pathname:n,searchParams:l}=new URL(o);let c=s?n.match(et)?.[1]:e.datasetFormat;if(!c){const e=await Ne(o,{...t.options});c=e?.split("/")[1]??"UNKNOWN FORMAT"}switch(i){case"default":this._imageViewer.imageSource={datasetFormat:c.toUpperCase(),url:o.split("?")[0]},this._imageViewer.customParameters=Object.fromEntries(l),this._imageViewer.imageRotation=r??0,await this._imageViewer.loadImage(a);break;case"panoramic":if(Ye.has(c.toUpperCase())){const{selectedPoint:e}=this,{pitch:i,yaw:r,cameraLocation:s,viewAngle:n}=t;this._panoramicViewer.imageSource=o;let l=r??0;"number"==typeof n?l=n-l:s&&e&&(l=await Y(s,e)-l),this._panoramicViewer.pitch=i??0,this._panoramicViewer.yaw=l,await this._panoramicViewer.loadImage(a)}else this.setMessage("unsupportedPanoramicImageryError","error",void 0,{datasetFormat:c});break}},this._loadViewAdapter=async e=>{const{view:t}=this;if(t)switch(t.type){case"2d":{const{default:t}=await import("./adapters/view/MapViewAdapter.js");f(e),this._adapter=new t(this);break}case"3d":{const{default:t}=await import("./adapters/view/SceneViewAdapter.js");f(e),this._adapter=new t(this);break}}else this._adapter=null},this._mapImageConversionToolViewClickHandler=e=>{e.stopPropagation(),e.preventDefault(),e.mapPoint&&this.plotMapPoint(e.mapPoint)},this._viewClickHandler=e=>{this._clickTask?.abort(),this._clickTask=a((async t=>{const{pointerType:i,button:r,mapPoint:a}=e;if(("mouse"!==i||0===r)&&a)return e.stopPropagation(),e.preventDefault(),this._updatingHandles.addPromise(this.loadBestImage(a,{signal:t}))}))},this.plotSelectedPointOnImage=async(e,i)=>{if(await v(i),!e)return;const r=new G({...c.isSerializable(e)?e.toJSON():e});if("default"===this.mode)r.x-=.5,r.y=.5-r.y,r.spatialReference=this._imageViewer.imageRenderer.spatialReference.clone(),this._crossSymbol=new t({geometry:r,symbol:je}),this._imageViewer.addGraphic(this._crossSymbol,0);else if("panoramic"===this.mode){const{imageSize:i}=this._panoramicViewer;if(!i)return;const[r,a]=i,{heading:s,pitch:o}=ee(e,r,a),n=ne(s,o);this._crossSymbol=new t({geometry:new G(n,z.WebMercator),symbol:xe}),this._panoramicViewer.addGraphic(this._crossSymbol,0)}},this.handleSectorClick=this.handleSectorClick.bind(this),this.searchBestImage=this.searchBestImage.bind(this),this.transformAndPlotReferencePointOnImage=this.transformAndPlotReferencePointOnImage.bind(this),this.updateSuitabilities=this.updateSuitabilities.bind(this),this.selectBestFeature=this.selectBestFeature.bind(this)}initialize(){this.addHandles([F((()=>this.view),(()=>{this.load()}),_),F((()=>this.view?.map),((e,t)=>{t?.layers.remove(this._overlays),e?.layers.add(this._overlays)}),P),F((()=>this.view?.map?.allLayers?.length),(e=>{e&&this.view?.map?.layers.reorder(this._overlays,e-1)}),P),F((()=>[this.state,this.mapImageConversionToolState,this.view]),(()=>{this._createViewClickHandle(),this._createImageClickHandle()}),_),F((()=>this.measureType),(()=>{this.clearPreviousMeasurements()}),_),F((()=>this.bestFeatureAngle),((e,t)=>{this.previousFeatureAngle=t??0}),_),F((()=>this.currentBestFeature),(async(e,t)=>{m(this._featureChangedTask),this._featureChangedTask=a((async i=>this.determineWorkflowForFeature.apply(this,[e,t,{signal:i}]))),await this._featureChangedTask.promise}),{sync:!0}),F((()=>this.mode),(e=>{switch(this.removeHandles(Xe.interactionHandles),e){case"default":this.addHandles(F((()=>this._imageViewer.imagePointsInView),(e=>{e&&(m(this._updateFootprintTask),this._updateFootprintTask=a((async t=>{await this.updateFootprint(e,{signal:t})})))}),{..._,equals:(e,t)=>r(e,t,h)}),Xe.interactionHandles);break;case"panoramic":this.addHandles(F((()=>{const{currentBestFeature:e,state:t}=this,{imageSize:i,vfov:r,hfov:a,pitch:s,yaw:o}=this._panoramicViewer;return e&&i&&"image-loading"!==t?[r,a,o,s]:null}),(e=>{if(!e||"image-loading"===this.state)return;const[t,i,r,s]=e;m(this._updateFootprintTask),this._updateFootprintTask=a((async e=>{await this.updateFootprintPanorama({verticalFieldOfView:t,horizontalFieldOfView:i,yaw:r,pitch:s},{signal:e})}))}),{..._,equals:(e,t)=>r(e,t,h)}),Xe.interactionHandles)}}),_),F((()=>[this.brightness,this.contrast,this.sharpness]),(()=>{const{_imageViewer:e,brightness:t,contrast:i,mode:r,sharpness:a}=this;"default"===r&&(e.brightness=t,e.contrast=i,e.sharpness=a)}),_),F((()=>this.activeViewer?.imageRenderer),(()=>{this.sketch&&(this.sketch.view=this.activeViewer?.imageRenderer)}))]),this.when().finally((()=>{this.notifyChange("state")}))}destroy(){this._updateFootprintTask=m(this._updateFootprintTask),this._clickTask=m(this._clickTask),this.coverageFrustums.destroy(),this.coveragePolygons.destroy(),this.pointSources.destroy(),this.additionalFootprints.destroy(),this.additionalCameraLocations.destroy(),this.bestFeatureFootprint=d(this.bestFeatureFootprint),this.bestFeatureCurrentFootprint=d(this.bestFeatureCurrentFootprint),this._crossSymbol=d(this._crossSymbol),this._referencePointOnGround=d(this._referencePointOnGround),this._referencePointOnImage=d(this._referencePointOnImage),this._overlays&&this.view?.map?.remove(this._overlays),this._overlays.destroy(),this._imageViewer.destroy(),this._panoramicViewer.destroy()}get activeLayer(){return o(u.getLogger(this),"activeLayer",{replacement:"layer"}),this.layer}set activeLayer(e){o(u.getLogger(this),"activeLayer",{replacement:"layer"}),this.layer=e}get activeViewer(){const{_imageViewer:e,_panoramicViewer:t,mode:i}=this;switch(i){case"default":return e;case"panoramic":return t;default:return null}}get brightness(){return this._get("brightness")??0}set brightness(e){this._set("brightness",p(e,-10,10))}get contrast(){return this._get("contrast")??0}set contrast(e){this._set("contrast",p(e,-10,10))}get featureCount(){return this.features?.length??0}get imageGalleryEnabled(){return We(this.currentBestFeature?.attributes.imagePath.trim())}get imageLoaded(){return o(u.getLogger(this),"imageLoaded",{replacement:'Use OrientedImageryViewer.state === "image-loaded"',version:"4.29",warnOnce:!0}),"image-loaded"===this.state}get invalidCameraHeading(){return this.currentBestFeature?.attributes?.cameraHeading===ve}get imagePointsInView(){const{mode:e,_imageViewer:t}=this;return"default"===e?t.imagePointsInView:null}get layerView(){const{layer:e,view:t}=this;if(e&&t)return t.allLayerViews.find(qe(e))}get layerFloorFilterClause(){const{layerView:e}=this;return e?ue(e):null}get mode(){const e=this.currentBestFeature?.attributes;if(!e)return"none";const{horizontalFieldOfView:t,isSpherical:i}=e;return 360===t||i?"panoramic":"default"}get popupEnabled(){return!0===this.layer?.popupEnabled}get referencePoint(){return this._referencePointOnGround?.geometry}get sectorData(){const{_sectorData:e}=this;return e?we.map((t=>e[t])):null}get sharpness(){return this._get("sharpness")??0}set sharpness(e){this._set("sharpness",p(e,0,1))}get sketchGraphicsLayer(){return this.sketch?.layer}get state(){const{mode:e,disabled:t}=this;if(t)return"disabled";if(!this.isFulfilled())return"loading";if(this.isRejected())return"error";if(this._updatingHandles.updating)return"image-loading";if("error"===this.displayMessage?.type)return"image-load-error";switch(e){case"default":return this._imageViewer.state;case"panoramic":return this._panoramicViewer.state}return"ready"}get thumbnails(){const{features:e}=this;return e?new s(e.map((({attributes:{imagePath:e,objectId:t,cameraRoll:i,imageRotation:r}})=>{const a=e.trim();return We(a)?{url:a,objectId:t,rotation:(i??0)+(r??0)}:null})).filter(i)):null}set view(e){this._set("view",e)}get _overlaysView(){return this.view?.layerViews.find((({layer:e})=>e===this._overlays))}async computeHeight(e,t=!0){const{currentBestFeature:i,activeViewer:r,layer:a}=this,s=r?.imageSize,o=i?.attributes,n=a?.orientationAccuracy;if(!o||!s||!e||e.length<2||!n)return;const l=te(o,s[0],s[1]),c=e.at(0),h=e.at(-1);if(!(l&&c&&h&&n))return;const u=[h,c],p=Ie(u,!1),m=await Me(u,l,n,!0,t);if(!m)return;const d=await Se(n,p,l,m,!0);return d?{value:m,accuracy:d}:{value:m}}copyToClipboard(e){navigator.clipboard.writeText(e).catch((e=>{u.getLogger(this).error("copy-to-clipboard:measurement-result",e)}))}async calculateAreaMeasurement(e,t){if(e.length<3||!this.currentBestFeature||!this.activeViewer?.imageSize)return null;const i=await this.getMeasurementProperties();return f(t),i?await ke(e,i,!0):null}async calculateDistanceMeasurement(e,t){if(e.length<2||!this.currentBestFeature||!this.activeViewer?.imageSize)return null;const i=await this.getMeasurementProperties();return f(t),i?await Ae([e.at(0),e.at(-1)],i,!0):null}async calculateAccuracy(e,t,i){const{layer:r,currentBestFeature:a,activeViewer:s}=this,o=r?.orientationAccuracy,n=o?.every((e=>0===e))||!o?.length;if("area"===t&&e.length<3||"distance"===t&&e.length<2||!a||!s?.imageSize||n)return null;const l=await this.getMeasurementProperties();if(f(i),!l)return null;const c="area"===t?await ke(e,l,!0):await Ae([e.at(0),e.at(-1)],l,!0);f(i);const{updateElevationProps:h,...u}=l,p=Ce(u,o);if(!p?.length)return null;const m=p.map((e=>({...e,updateElevationProps:h}))).map((async r=>{const a="area"===t?await ke(e,r,!0):await Ae([e.at(0),e.at(-1)],r,!0);if(f(i),a&&c){if("area"===t){const e="number"!=typeof a?a.area:null;return e?Math.abs(e-c.area):null}return Math.abs(a-c)}return null})),d=await Promise.all(m);f(i);const g=d.filter((e=>null!==e));if(0===g.length)return null;return Math.max(...g.map((e=>e)))}async calculateHeightMeasurementInfo(e,t){const{currentBestFeature:i,activeViewer:r}=this,a=r?.imageSize;if(!i||!r||!a?.length)return;const{attributes:s}=i,[o]=Ie([e],!0),n=te(s,a[0],a[1]),l=await Ve(o,n,t);if(!l)return;const c=Re(o,l),h=A([o.x,o.y],[l.x,l.y]);return c&&h?{measurementAngle:c,tempDistance:h}:void 0}clearPreviousMeasurements(){this.clearMeasurementGraphics(),this.resetMeasurementData(),this.stopMeasurement()}clearMeasurementGraphics(){this.measurementGraphic&&(this.activeViewer?.removeGraphic(this.measurementGraphic),this.measurementGraphic=null),this.heightGraphic&&(this.activeViewer?.removeGraphic(this.heightGraphic),this.heightGraphic=null)}digitizeCancel(){return this.sketch?.cancel()}digitizeCanRedo(){return this.sketch?.canRedo()??!1}digitizeCanUndo(){return this.sketch?.canUndo()??!1}digitizeComplete(){return this.sketch?.complete()}digitizeCreate(e,t){const{sketch:i,digitizationLayer:r}=this;return i?(Fe(r,e,i),i.create(e,t)):Promise.reject(it())}async digitizeDelete(){if(!this.sketch)throw it();return this.sketch.delete()}digitizeDuplicate(){if(!this.sketch)throw it();return this.sketch.duplicate()}digitizePlace(e,t){if(!this.sketch)throw it();return this.sketch.place(e,t)}digitizeRedo(){if(!this.sketch)throw it();return this.sketch.redo()}digitizeUndo(){if(!this.sketch)throw it();return this.sketch.undo()}digitizeUpdate(e,t){if(!this.sketch)throw it();return this.sketch.update(e,t)}async displayHeightResults(){const{currentBestFeature:e,activeViewer:t,heightMeasurementPixels:i}=this,r=t?.imageSize,a=e?.attributes;if(!a||!r)return;const s=await this.computeHeight(i);s?.value&&s?.accuracy&&(this.heightMeasurementResult=s.value,this.heightMeasurementAccuracy=s.accuracy)}filterByFootprints(e,t){const i=[],r=[],a=[];return e.forEach((e=>{const{layer:{coveragePercent:s},attributes:o}=e;let n;const l=M(e.geometry.spatialReference);o.cameraHeight/=l,o.farDistance/=l,o.nearDistance/=l,$(o.elevationSource)&&(o.elevationSource.constantElevation/=l);const{polygon:c,frustum:h}=U(o);if(n=c.clone(),o.isInspection&&(n=N(o)),s&&(n=W(n,s)),q(n,t)){a.push(e);const{geometry:t,objectId:s,cameraHeight:n,cameraHeading:l}=o,u=t.clone();u.z=n,u.imageID=s,this.pointSources.push(u),l!==ve&&(i.push(c),h&&r.push(h))}})),{features:a,polygons:i,frustums:r}}getMeasurementProperties(){const{currentBestFeature:e,activeViewer:t}=this;if(!e||!t?.imageSize)return;const{elevationSample:i,attributes:r}=e,{elevationSource:a,cameraHeight:s}=r,o=te(r,t.imageSize[0],t.imageSize[1]);let n=o.cameraLocation;return(n.spatialReference.isGeographic?x(n,z.WebMercator):Promise.resolve(n)).then((e=>(n=e,ie((n.z??0)-s,{elevationSample:i,elevationSource:a,extent:this.footprintExtent})))).then((t=>("elevationSample"in t&&re(t.elevationSample)&&(e.elevationSample=t.elevationSample),{...o,cameraLocation:n,updateElevationProps:t})))}async deleteDigitizedFeatures(e){const{digitizationLayer:t}=this;if(!t)throw new n("Digitization layer is not available");return t.queryFeatures({objectIds:e}).then((({features:e})=>t.applyEdits({deleteFeatures:e})))}handleSectorClick(e){if(isNaN(e))return;const t=this._sectorData?.[we[e]];t?.length&&this._updateCurrentBestFeature(t.at(0))}handleFeatureClick(e){const{sector:t,featureIndexInSector:i}=e;if(isNaN(i))return;const r=this._sectorData?.[t];r?.length&&this._updateCurrentBestFeature(r.at(i))}handleDrawCursorUpdateEvents(e){const{measurementAngle:t,tempDistance:i,heightMeasurementPixels:r}=this;if(!e.vertices)return;const a=e.vertices.at(-1);if(r.length<1||!a||!i||!t)return;const s=Ge(r[0],a,t);if(!s?.length)return;this.heightMeasurementPixels.push(s),this.createPolylineGraphic();const o=Oe(this.heightMeasurementPixels,i);o&&(this.heightMeasurementResult=o)}async handleDrawVertexAddEvents(e,t){const{currentBestFeature:i,activeViewer:r,heightMeasurementPixels:a}=this;if(!i||!r||!e.vertices?.length)return;const{geometry:s}=i,o=r?.imageSize;if(!a.length&&o&&s){const i=e.vertices.at(-1);this.heightMeasurementPixels.push(i);const r=await this.calculateHeightMeasurementInfo(i,t);if(!r?.measurementAngle||!r?.tempDistance)return;this.measurementAngle=r.measurementAngle,this.tempDistance=r.tempDistance}}async load(e){return this.addResolvingPromise(this._loadViewAdapter(e).catch((e=>{if(!y(e))throw e}))),this}async loadBestImage(e,t){return this.view?.closePopup(),this.displayMessage=null,this.selectedPoint=e.spatialReference.isGeographic?E(e):e.clone(),this.features.removeAll(),this.currentBestFeature=null,this.additionalFeatures.removeAll(),this.additionalFootprints.removeAll(),this.additionalCameraLocations.removeAll(),this.bestFeatureCurrentFootprint=d(this.bestFeatureCurrentFootprint),this._overlays?.removeAll(),this._fetchFeaturesWithController(e,t)}loadImageError(e){u.getLogger(this).error("oriented-imagery-viewer:load-image",e),this.setMessage("imageLoadError","error",e.message)}async loadSketch(e){if(!this.sketch){const t=import("../Sketch/SketchViewModel.js"),{default:i}=await t;f(e),this.sketch=new i({layer:new H,view:this.activeViewer?.imageRenderer,updateOnGraphicClick:!1,defaultUpdateOptions:{reshapeOptions:{edgeOperation:"none",shapeOperation:"none",vertexOperation:void 0},enableMoveAllGraphics:!1,enableRotation:!1,enableScaling:!1,multipleSelectionEnabled:!1,toggleToolOnClick:!1,tool:"transform"}})}return this.sketch}async loadMeasurementAdapter(e){if("panoramic"!==this.mode){if(!this.sketchAdapter){const t=import("./adapters/sketch/MeasurementAdapter.js"),{default:i}=await t;if(f(e),this.sketchAdapter=new i({viewModel:this}),!this.sketchAdapter.viewModel.isResolved())return}return this.sketchAdapter}}async startMeasurement(e,t){if("panoramic"===this.mode)return;await this.loadSketch(t),await this.loadMeasurementAdapter(t);const{sketch:i,sketchAdapter:r,activeViewer:a}=this;if(!i||!r||!a)return;this.displayNewMeasurementButton=!1,this.sketch?.create(e);const s=this.activeViewer?.imageRenderer.effectiveTheme.accentColor;s&&this.sketch&&(this.sketch.polygonSymbol=ze(s),this.sketch.polylineSymbol=Le(s))}startHeightMeasurement(){this.heightMeasurementPixels=[],this.displayNewMeasurementButton=!1,this.draw=new de({view:this.activeViewer?.imageRenderer}),this.drawEv=this.draw.create("polyline"),this.drawEv.on(["cursor-update","vertex-add","draw-complete"],(e=>this.handleDrawEvents(e)))}createPolylineGraphic(){const e=[this.heightMeasurementPixels[0],this.heightMeasurementPixels.at(-1)],i=this.activeViewer?.imageRenderer.spatialReference;if(this.heightGraphic)this.heightGraphic.geometry=new j({paths:[e],spatialReference:i});else{const r=new j({paths:[e],spatialReference:i}),a=this.activeViewer?.imageRenderer.effectiveTheme.accentColor;this.heightGraphic=new t({geometry:r,symbol:Le(a,2.5)}),this.activeViewer?.addGraphic(this.heightGraphic)}}async handleDrawEvents(e,t){if(this.draw)switch(e.type){case"cursor-update":this.handleDrawCursorUpdateEvents(e);break;case"vertex-add":this.handleDrawVertexAddEvents(e,t);break;case"draw-complete":await this.displayHeightResults()}}initializeMeasurement(e){switch(this.clearMeasurementGraphics(),this.resetMeasurementData(),e){case"distance":this.startMeasurement("polyline");break;case"area":this.startMeasurement("polygon");break;case"height":this.startHeightMeasurement()}}async overlayCameraLocations(e){const{activeViewer:i,currentBestFeature:r,overlayedCameraLocations:a,layer:s,mode:o,state:n}=this,l=i?.imageSize;if(!l||!r||!s||"none"===o||n.includes("loading"))return;const{polygon:c}=U(r.attributes);if(i.removeManyGraphics(a.toArray()),a.removeAll(),e){const{features:e}=await s.queryFeatures({where:`${s.objectIdField} <> ${r.attributes.objectId}`,geometry:c,returnGeometry:!0,outFields:[s.objectIdField]}),n=await Promise.all(e.map((async e=>{const{attributes:i,geometry:a}=e,s=await this.getPixels(a,{feature:r,imageSize:l,mode:o}),n=Be.clone();return n.outline=new me({color:[0,0,0],width:1}),new t({attributes:i,symbol:n,geometry:s})})));a.addMany(n),i.addManyGraphics(a.toArray())}}overlayGraphicsOnImage(e,t){this.removeOverlayedGraphicsOnImage(e),this.overlayedMapFeatures.set(e,t),this.activeViewer?.addManyGraphics(t.toArray())}async overlayMapFeatures(e,r=!1){const{activeViewer:a,currentBestFeature:o,mode:n,state:l}=this,c=a?.imageSize;if(!c||!o||"none"===n||l.includes("loading"))return;const{polygon:h}=U(o.attributes),p=_e(e);try{const{imageGeometryField:t,oiObjectIdField:i}=Pe(e);this.imageGeometryField=t.name,this.oiObjectIdField=i.name}catch(g){u.getLogger(this).warn("oriented-imagery-viewer:overlay-map-features",g)}const{features:m}=await e.queryFeatures({geometry:h,returnGeometry:!0,outFields:["*"]}),d=new s((await Promise.all(m.map((async i=>{const a=i.symbol?.clone()??e.renderer?.getSymbol(i)?.clone(),{attributes:s,geometry:l}=i;let h=l;if(p&&this.imageGeometryField&&this.oiObjectIdField){if(s[this.oiObjectIdField]===`${o.attributes.objectId}`)return h=B(await s[this.imageGeometryField].text().then(JSON.parse)),new t({attributes:s,layer:e,symbol:h.type===e.geometryType?a:Ee(h.type)?.()??null,geometry:h,visible:e.visible&&r})}switch(h?.type){case"point":{const i=await this.getPixels(h,{feature:o,imageSize:c,mode:n});return new t({attributes:s,layer:e,symbol:a,geometry:i,visible:e.visible&&r})}case"polygon":{const{rings:i,spatialReference:l}=h,u=i.map((e=>e.map((([e,t,i])=>new G({x:e,y:t,z:i,spatialReference:l}))))),p=await Promise.all(u.map((async e=>this.getPixels(e,{feature:o,imageSize:c,mode:n}).then((e=>e.map(ae))))));return new t({attributes:s,layer:e,symbol:a,geometry:new O({rings:p,spatialReference:z.WebMercator}),visible:e.visible&&r})}case"polyline":{const{paths:i,spatialReference:l}=h,u=i.map((e=>e.map((([e,t,i])=>new G({x:e,y:t,z:i,spatialReference:l}))))),p=await Promise.all(u.map((async e=>this.getPixels(e,{feature:o,imageSize:c,mode:n}).then((e=>e.map(ae))))));return new t({attributes:s,layer:e,symbol:a,geometry:new j({paths:p,spatialReference:z.WebMercator}),visible:e.visible&&r})}case"multipoint":{const{points:i,spatialReference:l}=h,u=i.map((([e,t,i])=>new G({x:e,y:t,z:i,spatialReference:l}))),p=await this.getPixels(u,{feature:o,imageSize:c,mode:n}).then((e=>e.map(ae)));return new t({attributes:s,layer:e,symbol:a,geometry:new R({points:p,spatialReference:z.WebMercator}),visible:e.visible&&r})}}return null})))).filter(i));this.overlayGraphicsOnImage(`${e.id}`,d)}async getPixels(e,t){const{imageSize:i,mode:r}=t,a=(await this.worldToImage(Array.isArray(e)?e:[e])).map((e=>{if("default"===r)return new G({x:e.x-.5,y:.5-e.y,spatialReference:z.WebMercator});const[t,a]=i,{heading:s,pitch:o}=ee(e,t,a),n=ne(s,o);return new G(n,z.WebMercator)}));return Array.isArray(e)?a:a[0]}async getMapPoint(e,t){const{feature:i,mode:r,imageSize:a}=t,{elevationSample:s,attributes:o}=i,{elevationSource:n,location:l,elevation:c,cameraHeight:h}=o;let u=l.clone();u.spatialReference.isGeographic&&(u=await x(u,z.WebMercator));const p=await ie(c??(l.z??0)-h,{elevationSample:s,elevationSource:n,extent:this.footprintExtent});let m;if("elevationSample"in p&&re(p.elevationSample)&&(i.elevationSample=p.elevationSample),"default"===r){const t=te(o,a[0],a[1]);m=await Z(Array.isArray(e)?e:[e],{...t,cameraLocation:u},p)}else{const t=se(o,a[0],a[1]);m=await K(Array.isArray(e)?e:[e],{...t,cameraLocation:u},p)}return Array.isArray(e)?m:m[0]}async plotMapPoint(e){return this.plotReferencePoint(e),this.transformAndPlotReferencePointOnImage({feature:this.currentBestFeature,selectedLocation:e,options:{signal:this._transformController?.signal}})}plotReferencePointOnGround(e){this._referencePointOnGround&&(this._overlays?.remove(this._referencePointOnGround),this._referencePointOnGround.destroy()),null!=e&&(this._referencePointOnGround=new t({geometry:new G({...e.toJSON()}),symbol:He}),this.view?this._overlays?.add(this._referencePointOnGround):this.emit("plot-ground-point",{data:{point:this._referencePointOnGround?.geometry}}))}plotReferencePointOnImage(e){if("image-loaded"===this.state)switch(this.clearReferencePointOnImage(),this.mode){case"default":{const i=c.isSerializable(e)?e.toJSON():e;i.x-=.5,i.y=.5-i.y,this._referencePointOnImage=new t({geometry:new G({spatialReference:this._imageViewer.imageRenderer.spatialReference.clone(),...i}),symbol:He}),this._imageViewer.addGraphic(this._referencePointOnImage,0);break}case"panoramic":{const{imageSize:i}=this._panoramicViewer;if(!i)return;const[r,a]=i,{heading:s,pitch:o}=ee(e,r,a),n=ne(s,o);this._referencePointOnImage=new t({geometry:new G(n,z.WebMercator),symbol:De}),this._panoramicViewer.addGraphic(this._referencePointOnImage,0);break}}}removeAllOverlayMapFeatures(){this.overlayedMapFeatures.forEach((e=>{this._imageViewer.removeManyGraphics(e.toArray())})),this.overlayedMapFeatures.clear()}removeOverlayedGraphicsOnImage(e){const t=this.overlayedMapFeatures.get(e);t?.length&&(this.activeViewer?.removeManyGraphics(t.toArray()),this.overlayedMapFeatures.delete(e))}resetImage(){switch(this.setMessage("onLoadMessage","info"),this.mode){case"default":this._imageViewer.clearImage(),this._imageViewer.clearGraphics();break;case"panoramic":this._panoramicViewer.clearGraphics()}this._clickTask=m(this._clickTask)}resetMeasurementData(){this.areaMeasurementResult=0,this.areaMeasurementAccuracy=0,this.distanceMeasurementResult=0,this.distanceAccuracyArray=[],this.heightMeasurementPixels=[],this.heightMeasurementResult=0,this.tempDistance=null,this.measurementAngle=null,this.heightMeasurementAccuracy=0,this.heightGraphic=null}async saveDrawing(){const{digitizationLayer:e,sketchAdapter:t}=this;if(!e||"digitization"!==t?.type)return;const{pendingGraphics:i,savedGraphics:r}=t,a=i.get(e.id),s=a?.toArray();if(!a||!s?.length)return;const{addFeatureResults:o}=await this.saveDigitizedFeatures(s),n=o.reduce(((t,{objectId:i,globalId:r,error:a},o)=>{const n=s[o],{attributes:l}=n;return a?t.error.push(n):(i&&(l[e.objectIdField]=i),r&&e.globalIdField&&(l[e.globalIdField]=r),t.success.push(n)),t}),{success:[],error:[]});r.addMany(n.success),a.removeAll(),a.addMany(n.error)}async saveDigitizedFeatures(e){const{activeViewer:t,currentBestFeature:r,digitizationLayer:a,mode:s}=this,o=t?.imageSize;if(!o||!r||!s)throw new n("Image size, current best feature and mode are required to save digitized features");if(!a)throw new n("Digitization layer is not available");const l=await Promise.all(e.map((async e=>{const t=e.clone(),{geometry:i}=t;if(!i)return;const n=i.type,l=a.hasZ,c=a.geometryType,h=n!==c,u=h?await import("./transformers.js"):null,p=u?.default[c],m=h?p?.(i):i;if(m)switch(m.type){case"point":return t.geometry=await this.getMapPoint({x:m.x+.5,y:.5-m.y},{feature:r,imageSize:o,mode:s}),l||(delete t.geometry.z,t.geometry.hasZ=!1),t.geometry.hasM=!1,t;case"polygon":{const e=await Promise.all(m.rings.map((async e=>this.getMapPoint(e.map((([e,t])=>({x:e+.5,y:.5-t}))),{feature:r,imageSize:o,mode:s}))));return t.geometry=new O({spatialReference:e[0][0].spatialReference,hasZ:l,hasM:!1,rings:e.map((e=>e.map(ae)))}),t}case"polyline":{const e=await Promise.all(m.paths.map((async e=>this.getMapPoint(e.map((([e,t])=>({x:e+.5,y:.5-t}))),{feature:r,imageSize:o,mode:s}))));return t.geometry=new j({spatialReference:e[0][0].spatialReference,hasZ:l,hasM:!1,paths:e.map((e=>e.map(ae)))}),t}}}))),c=l.filter(i);return a.applyEdits({addFeatures:c}).then((e=>{const{addFeatureResults:t}=e;let i=0;const r=l.map((e=>{const r=t[i++];return e?r:{error:new n("Error in saving digitized features"),objectId:null,globalId:null}}));return{...e,addFeatureResults:r}}))}async searchBestImage(e,t){try{const i=await D(e,t);i&&await this._processFeatureResponse(i,e.point,{signal:t?.signal})}catch(i){y(i)||(this.setMessage("imageLoadError","error",i.message),u.getLogger(this).error("error occurred while finding best image",i))}}selectBestFeature(e){this.currentBestFeature=this.features?.find((({attributes:t})=>t.objectId===Number(e)))}setAdditionalCameraLocationsVisibility(e){this.additionalCameraLocations.forEach((t=>{t.visible=e}))}setAdditionalCoverageVisibility(e){this.additionalFootprints.forEach((t=>{t.visible=e}))}setCurrentCoverageVisibility(e){this.bestFeatureCurrentFootprint&&(this.bestFeatureCurrentFootprint.visible=e),this.currentBestFeatureLocation&&(this.currentBestFeatureLocation.visible=e)}setMapImageConversionToolState(e){this.mapImageConversionToolState=e}async startDigitization(e,t){const i=this.activeViewer?.imageRenderer;if(!i)return;const r=this.overlayedMapFeatures.get(e.id)?.toArray()??[];this.removeOverlayedGraphicsOnImage(e.id),this.collectionId=e.id,await this.loadSketch(t),await this.loadDigitizationAdapter(t),f(t),this.sketchGraphicsLayer?.addMany(r),this.sketchAdapter?.savedGraphics.addMany(r);i.ui.find("zoom").visible=!1,i.map.layers.add(this.sketchGraphicsLayer)}stopDigitization(e){this.sketch?.cancel();const t=this.sketchAdapter?.savedGraphics;this.sketchGraphicsLayer?.removeAll();const i=this.activeViewer?.imageRenderer;if(!t||!i)return;this.overlayGraphicsOnImage(e,t);i.ui.find("zoom").visible=!0,i.map.layers.remove(this.sketchGraphicsLayer)}stopMeasurement(){this.heightMeasurementPixels=[],this.sketch&&this.sketchAdapter&&this.sketch.cancel()}toggleAllOverlayMapFeatures(e){this.overlayedMapFeatures.forEach((t=>{this._toggleVisiblity(t,e)}))}toggleOverlayMapFeatures(e,t){const i=this.overlayedMapFeatures.get(e);i&&this._toggleVisiblity(i,t)}toggleSelection(e){const{sketch:t}=this;t&&(t.updateOnGraphicClick=e,t.cancel())}async transformAndPlotReferencePointOnImage(e){const{selectedLocation:t,options:i}=e;let r=!1,a=!1;const s=this.bestFeatureFootprint?.geometry;switch(s?.type){case"polygon":{const e=t.spatialReference.equals(s.spatialReference)?t:await x(t,s.spatialReference);r=s.contains(e);break}case"mesh":{const e=t.spatialReference.equals(s.spatialReference)?t:await x(t,s.spatialReference);a=s.extent.contains(e);break}}if(!r&&!a)return void this.clearReferencePointOnImage();const o=await this.worldToImage(t,i);if(o)return f(i),this.plotReferencePointOnImage(o),{x:o.x,y:o.y};this.clearReferencePointOnImage()}updateSuitabilities(e){e.sort(((e,t)=>e.suitability-t.suitability)),this._suitabilities=e;const t=this._suitabilities.map((({feature:e})=>e));this._initialCurrentCoverageUpdate=!0,this._updateFeatures(t),this._groupFeaturesBySectors()}async _fetchFeatures(e,t){if(!this.view)return;const i=this.layer;if(i){const r={include:i},a=this.view.toScreen(e);if(!a)return;const s=await this.view.hitTest(a,r);return this._processHitTestResults(i,s,t)}}async _fetchFeaturesWithController(e,t){try{await this._fetchFeatures(e,t)}catch(i){if(y(i))return;this.setMessage("imageLoadError","error"),u.getLogger(this).error("error occurred while fetching features",i)}}_groupFeaturesBySectors(){const{_suitabilities:e,additionalFeatures:t,currentBestFeature:i,features:r,invalidCameraHeading:a}=this;if(!e||!t||!i||!r||a)return void(this._sectorData=null);this._sectorData={};for(const c of we)this._sectorData[c]=new s;const o=e.map(((e,t)=>({...e,featureIndex:t})));o.sort(((e,t)=>e.trueSuitability-t.trueSuitability));const n=o.map((({distance:e})=>e)),l=Math.max(...n);o.forEach((e=>{const{distance:t,angle:i,featureIndex:a}=e,s=t/l*be[2],o=Ze(t,l),n=Ke(i);if(!this._sectorData)return;const c=be[3]+s*Math.sin(i*Math.PI/180),h=be[3]+s*Math.cos(i*Math.PI/180);let u;const p=r.at(a),m=p===this.currentBestFeature,d=this.currentBestFeature?.attributes.cameraPitch&&this.currentBestFeature?.attributes.cameraPitch<5;if(m&&d)u=-90;else{const e=c-be[3],t=h-be[3],i=t/Math.sqrt(e**2+t**2);let r=180*Math.acos(i)/Math.PI;(e<0&&t<0||e<0&&t>0)&&(r*=-1),u=r}const g=""===o?n:`${o}_${n}`;m&&(u===this.bestFeatureAngle?this.previousFeatureAngle=u:this.bestFeatureAngle=u,this.navigatorCurrentBestFeature=d?null:{x:c,y:h,direction:n});const y=this._sectorData[g];y.add({angle:i,featureIndex:a,x:c,y:h,objectID:p.attributes.objectId,sector:g,featureIndexInSector:y.length})}))}async _processFeatureResponse(e,t,i){const{features:r}=e;if(!r?.length)return this.setMessage("noImageError","error"),void(this.currentBestFeature=null);this.coveragePolygons.removeAll(),this.coverageFrustums.removeAll(),this.pointSources.removeAll();const{features:a,polygons:s,frustums:o}=this.filterByFootprints(r,t);if(!a.length)return this.setMessage("noImageError","error"),void(this.currentBestFeature=null);let n;if(this.coveragePolygons.addMany(s),this.coverageFrustums.addMany(o),s[0]){let e=new O({spatialReference:s[0].spatialReference});for(const i of s)e=await V(e,i);const t=[];for(const{geometry:i}of a)e.contains(i)||t.push([i.x,i.y]);if(t.sort(((e,t)=>+L([e,t]))),e.addRing(t),this.footprintExtent=ge(e.extent,2,2),this.view?.supportsGround)try{n=await this.view.map.ground.createElevationSampler(this.footprintExtent,i)}catch(l){y(l)||u.getLogger(this).error(l)}}if((n||a[0].attributes.elevationSource)&&this.footprintExtent){const e=a[0].attributes.elevationSource;J(e)&&!n&&(n=await X({extent:this.footprintExtent,lod:e.lod,url:e.url,rasterFunction:e.rasterFunction}));const i=await ie((a[0].attributes.location.z??0)-a[0].attributes.cameraHeight,{elevationSample:n,elevationSource:e,extent:this.footprintExtent}),[r,...s]=await Q([t,...a.map((e=>e.attributes.geometry.clone()))],i);a[0].elevationSample=n??i.elevationSample,t.elevation=r.z,a.forEach(((e,t)=>{e.attributes.elevation=s[t].z}))}a[0].elevationSample&&a.forEach((e=>{e.elevationSample=a[0].elevationSample})),this._suitabilities=T({features:a,selectedPoint:t,camera:$e(this.view)?this.view.camera:null,currentImage:this.currentBestFeature}),this.updateSuitabilities(this._suitabilities)}async _processHitTestResults(e,t,i){const{screenPoint:r,results:[a]}=t,s="graphic"===a?.type&&this.shouldShowSelectedImage,o=a?.mapPoint??this.view?.toMap(r);if(!o)return;const{layerFloorFilterClause:n}=this,l=e.spatialReference.equals(o.spatialReference)?o:await x(o,e.spatialReference),c=I("1=1",I(e.definitionExpression,n)),h=l.spatialReference.isGeographic?1:M(l.spatialReference),u={layerInstanceOrURL:e,point:l,queryParams:{where:c,maximumDistance:e.maximumDistance?e.maximumDistance/h:void 0,objectIds:s?[a.graphic.getAttribute(e.objectIdField)]:void 0}};await this.searchBestImage(u,i)}_toggleVisiblity(e,t){e.forEach((e=>{e.visible=t}))}_updateFeatures(e){if(!e.length)return this.currentBestFeature=null,void this.additionalFeatures.removeAll();this.features.removeAll(),this.features.addMany(e),e.length>1?this.additionalFeatures.addMany(e.slice(1)):this.additionalFeatures.removeAll(),this.currentBestFeature=e[0]}async _updatePointsAndPolygons(e){const{pointSources:i,currentBestFeature:r,currentCoverageVisible:a,isAdditionalPointSourcesVisible:s}=this;if(r&&(this.additionalFootprints.removeAll(),this.additionalCameraLocations.removeAll(),this.bestFeatureCurrentFootprint&&(this.bestFeatureCurrentFootprint.destroy(),this.bestFeatureCurrentFootprint=null,this.bestFeatureFootprint=null),!this.invalidCameraHeading)){await(this._adapter?.createFootprints(e)),f(e);for(const e of i)e.imageID===r.attributes.objectId?this.currentBestFeatureLocation=new t({attributes:{imageID:e.imageID},geometry:e,symbol:Te,visible:a}):this.additionalCameraLocations.push(new t({attributes:{imageID:e.imageID},geometry:e,symbol:Be,visible:s}))}}_updateCurrentBestFeature(e){if(!e)return;this.currentBestFeature=this.features?.at(e.featureIndex);const t=this.currentBestFeature?.attributes.cameraPitch&&this.currentBestFeature?.attributes.cameraPitch<5;let i;if(t)i=-90;else{const t=e.x-be[3],r=e.y-be[3],a=r/Math.sqrt(t**2+r**2);let s=180*Math.acos(a)/Math.PI;(t<0&&r<0||t<0&&r>0)&&(s*=-1),i=s}i===this.bestFeatureAngle?this.previousFeatureAngle=i:this.bestFeatureAngle=i,this.navigatorCurrentBestFeature=t?null:{x:e.x,y:e.y,direction:e.sector.includes("_")?e.sector.split("_")[1]:e.sector}}clearGraphics(){this._imageViewer.clearGraphics(),this._panoramicViewer.clearGraphics()}clearReferencePointOnImage(){this._referencePointOnImage&&(this._imageViewer.removeGraphic(this._referencePointOnImage),this._panoramicViewer.removeGraphic(this._referencePointOnImage),this._referencePointOnImage=d(this._referencePointOnImage))}plotReferencePoint(e){"mapPoint"in e?this.plotReferencePointOnGround(e.mapPoint):this.plotReferencePointOnGround(e)}setMessage(e,t,i,r){this.displayMessage={key:e,type:t,data:i,map:r}}async transformAndPlotSelectedLocation(e){const{currentBestFeature:t,invalidCameraHeading:i,selectedPoint:r,state:a}=this;if(this._crossSymbol&&(this._panoramicViewer.removeGraphic(this._crossSymbol),this._imageViewer.removeGraphic(this._crossSymbol),this._crossSymbol=d(this._crossSymbol)),!r||!t||"image-loaded"!==a||i)return;let s;try{s=await this.worldToImage(r,e),f(e),await this.plotSelectedPointOnImage(s,e)}catch(o){y(o)||u.getLogger(this).error("failed to transform map point to pixel, cross symbol will not be plotted on image",{error:o,selectedPoint:r,feature:t})}}async worldToImage(e,t){const{footprintExtent:i}=this,{imageSize:r}=this.activeViewer;if("none"===this.mode||!this.currentBestFeature||!r||!i)return;const{attributes:{location:a,elevationSource:s,cameraHeading:o,elevation:n,cameraHeight:l},elevationSample:c}=this.currentBestFeature;let h=a.clone();const u=await ie(n??(a.z??0)-l,{elevationSample:c,elevationSource:s});this.currentBestFeature.elevationSample=u.elevationSample;const p=Array.isArray(e)?e:[e];let m,d=await Promise.all(p.map((e=>new Promise((t=>{if(!e.hasZ)return t(Q(e,u));t(e)})))));if(a.spatialReference.isGeographic&&(h=await x(h,z.WebMercator,t)),d=await Promise.all(d.map((async e=>h.spatialReference.equals(e.spatialReference)?e:await x(e,h.spatialReference,t)))),f(t),"panoramic"===this.mode)m=ce(d,{imageHeight:r[1],imageWidth:r[0],cameraHeading:o,cameraLocation:h});else{const e=oe(this.currentBestFeature.attributes,r[0],r[1]);m=he(d,{...e,cameraLocation:h})}return Array.isArray(e)?m:m[0]}updateCurrentCoveragePolygon(e){const{additionalFootprints:i,additionalCameraLocations:r,currentBestFeature:a,currentBestFeatureLocation:s,currentCoverageVisible:o,selectedPoint:n,view:l,_adapter:c}=this,{attributes:{objectId:h},elevationSample:u}=a;if(this._initialCurrentCoverageUpdate){if(this._overlays?.removeAll(),this._initialCurrentCoverageUpdate=!1,this.bestFeatureCurrentFootprint=d(this.bestFeatureCurrentFootprint),e&&!this.invalidCameraHeading&&(e.visible=o,this.bestFeatureCurrentFootprint=e),l){const e=[...i,...r,this.bestFeatureCurrentFootprint,s].filter(Je);l.supportsGround&&u&&c?.updateGroundElevation&&c.updateGroundElevation(e,u),n&&e.push(new t({geometry:n.clone(),symbol:je.clone(),attributes:{imageID:h}})),this._overlays.graphics.addMany(e)}}else if(l){if(this.invalidCameraHeading)return;this.bestFeatureCurrentFootprint&&(this._overlays?.remove(this.bestFeatureCurrentFootprint),this.bestFeatureCurrentFootprint=d(this.bestFeatureCurrentFootprint));const t=this.bestFeatureCurrentFootprint&&this._overlays?this._overlays.graphics.indexOf(this.bestFeatureCurrentFootprint):-1;e&&(this.bestFeatureCurrentFootprint=e,l?.supportsGround&&u&&c?.updateGroundElevation&&c.updateGroundElevation([e],u),e.visible=this.currentCoverageVisible,this._overlays?.graphics.add(this.bestFeatureCurrentFootprint,t>=0?t:this._overlays.graphics.length-1))}}};e([S()],rt.prototype,"activeLayer",null),e([S({readOnly:!0})],rt.prototype,"activeViewer",null),e([S()],rt.prototype,"additionalFeatures",void 0),e([S({type:s.ofType(t)})],rt.prototype,"additionalCameraLocations",void 0),e([S({type:s.ofType(t)})],rt.prototype,"additionalFootprints",void 0),e([S()],rt.prototype,"areaMeasurementResult",void 0),e([S()],rt.prototype,"areaMeasurementAccuracy",void 0),e([S()],rt.prototype,"bestFeatureAngle",void 0),e([S()],rt.prototype,"bestFeatureCurrentFootprint",void 0),e([S({type:t})],rt.prototype,"bestFeatureFootprint",void 0),e([S({type:Number})],rt.prototype,"brightness",null),e([S()],rt.prototype,"collectionId",void 0),e([S({type:Number})],rt.prototype,"contrast",null),e([S()],rt.prototype,"conversionProps",void 0),e([S()],rt.prototype,"coverageFrustums",void 0),e([S()],rt.prototype,"coveragePolygons",void 0),e([S()],rt.prototype,"currentBestFeature",void 0),e([S()],rt.prototype,"currentBestFeatureLocation",void 0),e([S()],rt.prototype,"currentCoverageVisible",void 0),e([S({json:{write:!1}})],rt.prototype,"determineWorkflowForFeature",void 0),e([S()],rt.prototype,"disabled",void 0),e([S()],rt.prototype,"displayMessage",void 0),e([S()],rt.prototype,"displayNewMeasurementButton",void 0),e([S()],rt.prototype,"distanceMeasurementResult",void 0),e([S()],rt.prototype,"distanceAccuracyArray",void 0),e([S()],rt.prototype,"digitizationLayer",void 0),e([S({readOnly:!0})],rt.prototype,"featureCount",null),e([S()],rt.prototype,"features",void 0),e([S()],rt.prototype,"heightMeasurementPixels",void 0),e([S()],rt.prototype,"heightGraphic",void 0),e([S()],rt.prototype,"heightMeasurementResult",void 0),e([S()],rt.prototype,"heightMeasurementAccuracy",void 0),e([S()],rt.prototype,"measurementAngle",void 0),e([S()],rt.prototype,"tempDistance",void 0),e([S({readOnly:!0})],rt.prototype,"imageGalleryEnabled",null),e([S()],rt.prototype,"imageGeometryField",void 0),e([S({readOnly:!0})],rt.prototype,"imageLoaded",null),e([S({readOnly:!0})],rt.prototype,"invalidCameraHeading",null),e([S()],rt.prototype,"imagePointsInView",null),e([S()],rt.prototype,"isAdditionalCoverageVisible",void 0),e([S()],rt.prototype,"isAdditionalPointSourcesVisible",void 0),e([S()],rt.prototype,"layer",void 0),e([S()],rt.prototype,"layerView",null),e([S({readOnly:!0})],rt.prototype,"layerFloorFilterClause",null),e([S({type:Number})],rt.prototype,"localPort",void 0),e([S()],rt.prototype,"mapImageConversionToolState",void 0),e([S()],rt.prototype,"measureType",void 0),e([S()],rt.prototype,"measurementGraphic",void 0),e([S({readOnly:!0,value:"none"})],rt.prototype,"mode",null),e([S()],rt.prototype,"navigatorCurrentBestFeature",void 0),e([S()],rt.prototype,"oiObjectIdField",void 0),e([S({type:s.ofType(t)})],rt.prototype,"overlayedCameraLocations",void 0),e([S()],rt.prototype,"overlayedMapFeatures",void 0),e([S()],rt.prototype,"pointSources",void 0),e([S({readOnly:!0})],rt.prototype,"popupEnabled",null),e([S()],rt.prototype,"previousFeatureAngle",void 0),e([S()],rt.prototype,"referencePoint",null),e([S({readOnly:!0})],rt.prototype,"sectorData",null),e([S()],rt.prototype,"selectedPoint",void 0),e([S({type:Number})],rt.prototype,"sharpness",null),e([S()],rt.prototype,"shouldShowSelectedImage",void 0),e([S()],rt.prototype,"sketch",void 0),e([S()],rt.prototype,"draw",void 0),e([S()],rt.prototype,"drawEv",void 0),e([S()],rt.prototype,"sketchAdapter",void 0),e([S({readOnly:!0})],rt.prototype,"sketchGraphicsLayer",null),e([S({readOnly:!0})],rt.prototype,"state",null),e([S({readOnly:!0})],rt.prototype,"thumbnails",null),e([S()],rt.prototype,"updateFootprint",void 0),e([S()],rt.prototype,"updateFootprintPanorama",void 0),e([S({value:null})],rt.prototype,"view",null),e([S()],rt.prototype,"_adapter",void 0),e([S()],rt.prototype,"_highlightedFeatureHandle",void 0),e([S()],rt.prototype,"_imageViewer",void 0),e([S()],rt.prototype,"_initialCurrentCoverageUpdate",void 0),e([S()],rt.prototype,"_overlays",void 0),e([S({readOnly:!0})],rt.prototype,"_overlaysView",null),e([S()],rt.prototype,"_panoramicViewer",void 0),e([S()],rt.prototype,"_referencePointOnGround",void 0),e([S()],rt.prototype,"_referencePointOnImage",void 0),e([S()],rt.prototype,"_sectorData",void 0),e([S({readOnly:!0})],rt.prototype,"_updatingHandles",void 0),e([S()],rt.prototype,"footprintExtent",void 0),rt=e([k("esri.widgets.OrientedImageryViewer.OrientedImageryViewerViewModel")],rt);const at=rt;export{at as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../Graphic.js";import{isSome as i,equals as a}from"../../core/arrayUtils.js";import{createTask as r}from"../../core/asyncUtils.js";import s from"../../core/Collection.js";import{deprecatedProperty as o}from"../../core/deprecate.js";import n from"../../core/Error.js";import l from"../../core/Evented.js";import c from"../../core/JSONSupport.js";import{equalsShallow as h}from"../../core/lang.js";import u from"../../core/Logger.js";import{clamp as p}from"../../core/mathUtils.js";import{abortMaybe as m,destroyMaybe as d}from"../../core/maybe.js";import g from"../../core/Promise.js";import{isAbortError as y,throwIfAborted as f,waitTick as v}from"../../core/promiseUtils.js";import w from"../../core/ReactiveMap.js";import{on as b,watch as F,syncAndInitial as _,initial as P}from"../../core/reactiveUtils.js";import{sqlAnd as S}from"../../core/sql.js";import{getMetersPerUnitForSR as I}from"../../core/unitUtils.js";import{property as M}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import{subclass as k}from"../../core/accessorSupport/decorators/subclass.js";import{distance as C}from"../../core/libs/gl-matrix-2/math/vec2.js";import{UpdatingHandles as A}from"../../core/support/UpdatingHandles.js";import{union as V}from"../../geometry/geometryEngineAsync.js";import R from"../../geometry/Multipoint.js";import G from"../../geometry/Point.js";import O from"../../geometry/Polygon.js";import j from"../../geometry/Polyline.js";import{projectWithZConversion as z}from"../../geometry/projection.js";import L from"../../geometry/SpatialReference.js";import{isClockwise as x}from"../../geometry/support/coordsUtils.js";import{fromJSON as B}from"../../geometry/support/jsonUtils.js";import{geographicToWebMercator as E}from"../../geometry/support/webMercatorUtils.js";import H from"../../layers/GraphicsLayer.js";import{searchImages as D}from"../../layers/orientedImagery/queries.js";import{calculateSuitabilities as T}from"../../layers/orientedImagery/core/bestImageUtils.js";import{createCoveragePolygon as U,computePolygonForInspection as N,resizePolygon as W,checkIfPolygonContainsSelectedPoint as q}from"../../layers/orientedImagery/core/coverageUtils.js";import{isConstantElevation as $,isElevationSource as J}from"../../layers/orientedImagery/core/ElevationSourceDefinitions.js";import{imageToWorld as Z,imageToWorldPanoramic as K}from"../../layers/orientedImagery/transformations/imageToWorld.js";import Q from"../../layers/orientedImagery/transformations/updateElevation.js";import{getElevationSampler as X}from"../../layers/orientedImagery/transformations/updateElevationUtils.js";import{getInitialAngle as Y,convertPixelToHeadingPitch as ee,getImageToWorldProperties as te,getUpdateElevationProps as ie,isElevationSampler as ae,getImageToWorldPanoramicProperties as re,pointToArray as se,transformGraphicCoordinatesToPixel as oe,getWorldToImageProperties as ne,convertHeadingPitchToSphereVertex as le,or as ce}from"../../layers/orientedImagery/transformations/utils.js";import{worldToImagePanoramic as he,worldToImage as ue}from"../../layers/orientedImagery/transformations/worldToImage.js";import{getFloorFilterClause as pe}from"../../layers/support/floorFilterUtils.js";import me from"../../rest/support/AttachmentQuery.js";import de from"../../symbols/SimpleLineSymbol.js";import ge from"../../views/draw/Draw.js";import{scale as ye}from"../../views/draw/support/drawUtils.js";import{ViewEventPriorities as fe}from"../../views/input/InputManager.js";import ve from"../PanoramicViewer.js";import{invalidCameraHeading as we,sectorsInOrder as be,sectorsRadii as Fe}from"./constants.js";import{configureSketchTool as _e,isValidDigitizationLayer as Pe,extractFieldsFromDigitizationLayer as Se}from"./digitizationUtils.js";import{formatPixels as Ie,heightMeasurement2D as Me,calculateHeightAccuracy as ke,pixelAreaMeasurement2D as Ce,pixelAreaMeasurementPanoramic as Ae,pixelDistanceMeasurement2D as Ve,pixelDistanceMeasurementPanoramic as Re,generateCombinations as Ge,generateCombinationsPanoramic as Oe,calculateTempImagePoint as je,calculateAngle as ze,calculateCorrectedPixel as Le,calculateHeightFromTemporaryDistance as xe}from"./imageMeasurementUtils.js";import{crossSymbol as Be,crossSymbol3D as Ee,measurementPolygonSymbol as He,measurementPolylineSymbol as De,sourcePointSymbol as Te,digitizationSymbol as Ue,diamondSymbol as Ne,diamondSymbol3D as We,activeSourcePointSymbol as qe}from"./symbols.js";import{isNoAttachmentError as $e,getContentType as Je,isTifOrMrf as Ze,filterOILLayerView as Ke,isSceneView as Qe,isGraphic as Xe,calculateSegment as Ye,calculateDirection as et}from"./utils.js";import tt from"./components/ImageViewer.js";const it={click:"view-click",imageClick:"image-click",interactionHandles:"interaction-handles",footprintHandles:"footprint-handles",sketchHandles:"sketch-handles"},at=new Set(["JPG","JPEG"]),rt=/\.(\w+)$/,st=e=>"FA"===e,ot=()=>new n("orientedimageryviewer:sketch-not-initialized","Sketch property is not initialized, call loadSketch first");let nt=class extends(l.EventedMixin(g)){constructor(e){super(e),this.additionalFeatures=new s,this.additionalCameraLocations=new s,this.additionalFootprints=new s,this.areaMeasurementResult=0,this.areaMeasurementAccuracy=0,this.bestFeatureAngle=0,this.bestFeatureCurrentFootprint=null,this.bestFeatureFootprint=null,this.collectionId=null,this.conversionProps=null,this.coverageFrustums=new s,this.coveragePolygons=new s,this.currentBestFeature=null,this.currentBestFeatureLocation=null,this.currentCoverageVisible=!0,this.determineWorkflowForFeature=async(e,t,i)=>{const{currentBestFeature:a,selectedPoint:r,view:s}=this;if(s?.closePopup(),a&&r){this._initialCurrentCoverageUpdate=!0;try{await this._updatePointsAndPolygons(i),await this._loadImage(i)}catch(o){y(o)||(this.loadImageError(o),u.getLogger(this).error("#loadIImage()","error occured while loading image",o))}}},this.disabled=!1,this.displayMessage={key:"onLoadMessage",type:"info"},this.displayNewMeasurementButton=!0,this.distanceMeasurementResult=0,this.distanceAccuracyArray=[],this.digitizationLayer=null,this.features=new s,this.groundCoordinates=null,this.heightMeasurementPixels=[],this.heightGraphic=null,this.heightMeasurementResult=0,this.heightMeasurementAccuracy=0,this.measurementAngle=null,this.tempDistance=null,this.imageGeometryField=null,this.imageLocationToolState=!1,this.isAdditionalCoverageVisible=!1,this.isAdditionalPointSourcesVisible=!1,this.layer=null,this.localPort=null,this.mapImageConversionToolState=!1,this.measureType=null,this.measurementGraphic=null,this.navigatorCurrentBestFeature=null,this.oiObjectIdField=null,this.overlayedCameraLocations=new s,this.overlayedMapFeatures=new w,this.pixelCoordinates=null,this.pointSources=new s,this.previousFeatureAngle=0,this.selectedPoint=null,this.shouldShowSelectedImage=!1,this.sketch=null,this.draw=null,this.drawEv=null,this.sketchAdapter=null,this.updateFootprint=async(e,t)=>{"image-loaded"===this.state&&await(this._adapter?.updateFootprint(e,t))},this.updateFootprintPanorama=async(e,t)=>{await(this._adapter?.updateFootprintPanorama(e,t))},this._adapter=null,this._highlightedFeatureHandle=null,this._imageViewer=new tt,this._initialCurrentCoverageUpdate=!0,this._overlays=new H({listMode:"hide",internal:!0,elevationInfo:{mode:"absolute-height"}}),this._panoramicViewer=new ve,this._referencePointOnGround=null,this._referencePointOnImage=null,this._sectorData=null,this._updatingHandles=new A,this._clickTask=null,this._crossSymbol=null,this.footprintExtent=null,this._featureChangedTask=null,this._openPopupTask=null,this._suitabilities=null,this._transformController=new AbortController,this._updateFootprintTask=null,this.hideImageGeometry=e=>{},this.highlight=e=>{if(!this._overlaysView)return;this.removeHighlight();const t=this.additionalFootprints.find((({attributes:{imageID:t}})=>t===Number(e)));this._highlightedFeatureHandle=t?this._overlaysView?.highlight(t):null},this.loadDigitizationAdapter=async e=>{const{sketchAdapter:t}=this;if(await this.loadSketch(e),"digitization"===t?.type)return t;const i=import("./adapters/sketch/DigitizationAdapter.js"),{default:a}=await i;return f(e),this.sketchAdapter=new a({viewModel:this}),this.sketchAdapter},this.loadImageFromSource=async(e,t)=>this._updatingHandles.addPromise(this._loadImageFromSourceInternal(e,t)),this.loadImageViewer=e=>{this._imageViewer.container=e},this.loadPanoramicViewer=e=>{this._panoramicViewer.container=e},this.removeHighlight=()=>this._highlightedFeatureHandle?.remove(),this.revealImageGeometry=e=>{},this.toggleImageAttributes=()=>{m(this._openPopupTask),this._openPopupTask=r((async e=>{const{currentBestFeature:i,popupEnabled:a,layer:r,view:s}=this;if(s?.closePopup(),!(s&&i&&a&&r))return;const{attributes:o,geometry:n}=i,l=new t({geometry:n,attributes:o.toJSON(),layer:r});f(e),await s.openPopup({features:[l],location:o.location.clone()})}))},this._createViewClickHandle=()=>{if(this.removeHandles(it.click),"disabled"===this.state||null==this.view)return;const e=this.mapImageConversionToolState&&"image-loaded"===this.state?this._mapImageConversionToolViewClickHandler:this._viewClickHandler;this.addHandles(this.view.on("click",e,fe.WIDGET),it.click)},this._createImageClickHandle=()=>{this.removeHandles(it.imageClick);const{mapImageConversionToolState:e,mode:t,activeViewer:i,currentBestFeature:a,footprintExtent:s}=this,o=i?.imageSize;if(!(e&&"none"!==t&&o&&s&&a))return;i.clickAction="pixel-location";let n=null;const l=b((()=>i),"pixel-location",(e=>{this.plotReferencePointOnImage(e),n?.abort(),n=r((async i=>{if(!e)return;const r=await this.getMapPoint(e,{feature:a,imageSize:o,mode:t}).then((e=>{const t=this.view?.spatialReference;return ce(!t,e.spatialReference.equals(t))?e:z(e,t)}));f(i),this.plotReferencePointOnGround(r)}))}));this.addHandles(l,it.imageClick)},this._createImageLocationHandle=()=>{this.removeHandles(it.imageClick);const{imageLocationToolState:e,mode:t,activeViewer:i,currentBestFeature:a,footprintExtent:s}=this,o=i?.imageSize;if(!(e&&"none"!==t&&o&&s&&a))return;i.clickAction="pixel-location";let n=null;const l=b((()=>i),"pixel-location",(e=>{this.pixelCoordinates=e,n?.abort(),n=r((async i=>{if(!e)return;let r=await this.getMapPoint(e,{feature:a,imageSize:o,mode:t});f(i);const s=this.view?.spatialReference;s&&!r.spatialReference.equals(s)&&(r=await z(r,s),f(i)),this.groundCoordinates=r}))}));this.addHandles(l,it.imageClick)},this._getImageSourceFromAttachment=async(e,t,i)=>{const a=new me({objectIds:[t]}),r=await e.queryAttachments(a,i),s=r[`${t}`]?.[0],o=s?.url;if(!o)throw new n("NoAttachmentError","no attachments found",{[e.objectIdField]:t,layer:e});return{datasetFormat:s.contentType.split("/")[1].toUpperCase(),url:o}},this._loadImage=async e=>{const{currentBestFeature:t,layer:i,mode:a}=this;if(this.clearGraphics(),!i||!t||"none"===a)return;const{attributes:r}=t,{imagePath:s,imageRotation:o,cameraHeading:n,cameraRoll:l,cameraPitch:c,objectId:h,cameraOrientation:p,location:m}=r,d=(l??0)+(o??0),g=m.spatialReference.isWGS84&&4!==p?.type?E(m):new G(m);let v=s;if(st(s))try{v=await this._getImageSourceFromAttachment(i,h,e)}catch(w){if(y(w))return;return $e(w)?(u.getLogger(this).error(w),void this.setMessage("noAttachment","error",`${i.objectIdField}: ${h}`)):(u.getLogger(this).error(w,{[i.objectIdField]:h,layer:i}),void this.setMessage("imageLoadError","error",`query-attachments-failed:${i.objectIdField} ${h}`))}try{await this.loadImageFromSource(v,{imageRotation:d,options:e,pitch:c,yaw:n,mode:a,cameraLocation:g}),f(e),await this.transformAndPlotSelectedLocation(e)}catch(w){y(w)||this.loadImageError(w)}},this._loadImageFromSourceInternal=async(e,t)=>{const{mode:i,imageRotation:a,options:r}=t,s="string"==typeof e,o=s?e:e.url,{pathname:n,searchParams:l}=new URL(o);let c=s?n.match(rt)?.[1]:e.datasetFormat;if(!c){const e=await Je(o,{...t.options});c=e?.split("/")[1]??"UNKNOWN FORMAT"}switch(i){case"default":this._imageViewer.imageSource={datasetFormat:c.toUpperCase(),url:o.split("?")[0]},this._imageViewer.customParameters=Object.fromEntries(l),this._imageViewer.imageRotation=a??0,await this._imageViewer.loadImage(r);break;case"panoramic":if(at.has(c.toUpperCase())){const{selectedPoint:e}=this,{pitch:i,yaw:a,cameraLocation:s,viewAngle:n}=t;this._panoramicViewer.imageSource=o;let l=a??0;"number"==typeof n?l=n-l:s&&e&&(l=await Y(s,e)-l),this._panoramicViewer.pitch=i??0,this._panoramicViewer.yaw=l,await this._panoramicViewer.loadImage(r)}else this.setMessage("unsupportedPanoramicImageryError","error",void 0,{datasetFormat:c});break}},this._loadViewAdapter=async e=>{const{view:t}=this;if(t)switch(t.type){case"2d":{const{default:t}=await import("./adapters/view/MapViewAdapter.js");f(e),this._adapter=new t(this);break}case"3d":{const{default:t}=await import("./adapters/view/SceneViewAdapter.js");f(e),this._adapter=new t(this);break}}else this._adapter=null},this._mapImageConversionToolViewClickHandler=e=>{e.stopPropagation(),e.preventDefault(),e.mapPoint&&this.plotMapPoint(e.mapPoint)},this._viewClickHandler=e=>{this._clickTask?.abort(),this._clickTask=r((async t=>{const{pointerType:i,button:a,mapPoint:r}=e;if(("mouse"!==i||0===a)&&r)return e.stopPropagation(),e.preventDefault(),this._updatingHandles.addPromise(this.loadBestImage(r,{signal:t}))}))},this.plotSelectedPointOnImage=async(e,i)=>{if(await v(i),!e)return;const a=new G({...c.isSerializable(e)?e.toJSON():e});if("default"===this.mode)a.x-=.5,a.y=.5-a.y,a.spatialReference=this._imageViewer.imageRenderer.spatialReference.clone(),this._crossSymbol=new t({geometry:a,symbol:Be}),this._imageViewer.addGraphic(this._crossSymbol,0);else if("panoramic"===this.mode){const{imageSize:i}=this._panoramicViewer;if(!i)return;const[a,r]=i,{heading:s,pitch:o}=ee(e,a,r),n=le(s,o);this._crossSymbol=new t({geometry:new G(n,L.WebMercator),symbol:Ee}),this._panoramicViewer.addGraphic(this._crossSymbol,0)}},this.handleSectorClick=this.handleSectorClick.bind(this),this.searchBestImage=this.searchBestImage.bind(this),this.transformAndPlotReferencePointOnImage=this.transformAndPlotReferencePointOnImage.bind(this),this.updateSuitabilities=this.updateSuitabilities.bind(this),this.selectBestFeature=this.selectBestFeature.bind(this)}initialize(){this.addHandles([F((()=>this.view),(()=>{this.load()}),_),F((()=>this.view?.map),((e,t)=>{t?.layers.remove(this._overlays),e?.layers.add(this._overlays)}),P),F((()=>this.view?.map?.allLayers?.length),(e=>{e&&this.view?.map?.layers.reorder(this._overlays,e-1)}),P),F((()=>[this.state,this.mapImageConversionToolState,this.view]),(()=>{this._createViewClickHandle(),this._createImageClickHandle()}),_),F((()=>[this.state,this.imageLocationToolState,this.view]),(()=>{this.imageLocationToolState||this.clearPreviousGroundLocation(),this._createImageLocationHandle()}),_),F((()=>this.measureType),(()=>{this.clearPreviousMeasurements()}),_),F((()=>this.bestFeatureAngle),((e,t)=>{this.previousFeatureAngle=t??0}),_),F((()=>this.currentBestFeature),(async(e,t)=>{m(this._featureChangedTask),this._featureChangedTask=r((async i=>this.determineWorkflowForFeature.apply(this,[e,t,{signal:i}]))),await this._featureChangedTask.promise}),{sync:!0}),F((()=>this.mode),(e=>{switch(this.removeHandles(it.interactionHandles),e){case"default":this.addHandles(F((()=>this._imageViewer.imagePointsInView),(e=>{e&&(m(this._updateFootprintTask),this._updateFootprintTask=r((async t=>{await this.updateFootprint(e,{signal:t})})))}),{..._,equals:(e,t)=>a(e,t,h)}),it.interactionHandles);break;case"panoramic":this.addHandles(F((()=>{const{currentBestFeature:e,state:t}=this,{imageSize:i,vfov:a,hfov:r,pitch:s,yaw:o}=this._panoramicViewer;return e&&i&&"image-loading"!==t?[a,r,o,s]:null}),(e=>{if(!e||"image-loading"===this.state)return;const[t,i,a,s]=e;m(this._updateFootprintTask),this._updateFootprintTask=r((async e=>{await this.updateFootprintPanorama({verticalFieldOfView:t,horizontalFieldOfView:i,yaw:a,pitch:s},{signal:e})}))}),{..._,equals:(e,t)=>a(e,t,h)}),it.interactionHandles)}}),_),F((()=>[this.brightness,this.contrast,this.sharpness]),(()=>{const{_imageViewer:e,brightness:t,contrast:i,mode:a,sharpness:r}=this;"default"===a&&(e.brightness=t,e.contrast=i,e.sharpness=r)}),_),F((()=>this.activeViewer?.imageRenderer),(()=>{this.sketch&&(this.sketch.view=this.activeViewer?.imageRenderer)}))]),this.when().finally((()=>{this.notifyChange("state")}))}destroy(){this._updateFootprintTask=m(this._updateFootprintTask),this._clickTask=m(this._clickTask),this.coverageFrustums.destroy(),this.coveragePolygons.destroy(),this.pointSources.destroy(),this.additionalFootprints.destroy(),this.additionalCameraLocations.destroy(),this.bestFeatureFootprint=d(this.bestFeatureFootprint),this.bestFeatureCurrentFootprint=d(this.bestFeatureCurrentFootprint),this._crossSymbol=d(this._crossSymbol),this._referencePointOnGround=d(this._referencePointOnGround),this._referencePointOnImage=d(this._referencePointOnImage),this._overlays&&this.view?.map?.remove(this._overlays),this._overlays.destroy(),this._imageViewer.destroy(),this._panoramicViewer.destroy()}get activeLayer(){return o(u.getLogger(this),"activeLayer",{replacement:"layer"}),this.layer}set activeLayer(e){o(u.getLogger(this),"activeLayer",{replacement:"layer"}),this.layer=e}get activeViewer(){const{_imageViewer:e,_panoramicViewer:t,mode:i}=this;switch(i){case"default":return e;case"panoramic":return t;default:return null}}get accuracyParametersMissing(){return this.layer?.orientationAccuracy?.every((e=>0===e))??!0}get brightness(){return this._get("brightness")??0}set brightness(e){this._set("brightness",p(e,-10,10))}get contrast(){return this._get("contrast")??0}set contrast(e){this._set("contrast",p(e,-10,10))}get featureCount(){return this.features?.length??0}get imageGalleryEnabled(){return Ze(this.currentBestFeature?.attributes.imagePath.trim())}get imageLoaded(){return o(u.getLogger(this),"imageLoaded",{replacement:'Use OrientedImageryViewer.state === "image-loaded"',version:"4.29",warnOnce:!0}),"image-loaded"===this.state}get invalidCameraHeading(){return this.currentBestFeature?.attributes?.cameraHeading===we}get imagePointsInView(){const{mode:e,_imageViewer:t}=this;return"default"===e?t.imagePointsInView:null}get layerView(){const{layer:e,view:t}=this;if(e&&t)return t.allLayerViews.find(Ke(e))}get layerFloorFilterClause(){const{layerView:e}=this;return e?pe(e):null}get mode(){const e=this.currentBestFeature?.attributes;if(!e)return"none";const{horizontalFieldOfView:t,isSpherical:i}=e;return 360===t||i?"panoramic":"default"}get popupEnabled(){return!0===this.layer?.popupEnabled}get referencePoint(){return this._referencePointOnGround?.geometry}get sectorData(){const{_sectorData:e}=this;return e?be.map((t=>e[t])):null}get sharpness(){return this._get("sharpness")??0}set sharpness(e){this._set("sharpness",p(e,0,1))}get sketchGraphicsLayer(){return this.sketch?.layer}get state(){const{mode:e,disabled:t}=this;if(t)return"disabled";if(!this.isFulfilled())return"loading";if(this.isRejected())return"error";if(this._updatingHandles.updating)return"image-loading";if("error"===this.displayMessage?.type)return"image-load-error";switch(e){case"default":return this._imageViewer.state;case"panoramic":return this._panoramicViewer.state}return"ready"}get thumbnails(){const{features:e}=this;return e?new s(e.map((({attributes:{imagePath:e,objectId:t,cameraRoll:i,imageRotation:a}})=>{const r=e.trim();return Ze(r)?{url:r,objectId:t,rotation:(i??0)+(a??0)}:null})).filter(i)):null}set view(e){this._set("view",e)}get _sketchGraphicsLayer(){const{mode:e}=this;switch(e){case"panoramic":return new H({elevationInfo:{mode:"absolute-height"}});case"default":return new H;case"none":return}}get _overlaysView(){return this.view?.layerViews.find((({layer:e})=>e===this._overlays))}async computeHeight(e,t=!0){const{currentBestFeature:i,activeViewer:a,layer:r}=this,s=a?.imageSize,o=i?.attributes,n=r?.orientationAccuracy;if(!o||!s||!e||e.length<2||!n)return;const l=te(o,s[0],s[1]),c=e.at(0),h=e.at(-1);if(!(l&&c&&h&&n))return;const u=[h,c],p=Ie(u,!1),m=await Me(u,l,n,!0,t);if(!m)return;const d=await ke(n,p,l,m,!0);return d?{value:m,accuracy:d}:{value:m}}async calculateAreaMeasurement(e,t,i){if(e.length<3||!this.currentBestFeature||!this.activeViewer?.imageSize||"none"===t)return null;const a="default"===t?await this.getMeasurementProperties():await this.getMeasurementPropertiesPanoramic();return f(i),a?"default"===t?await Ce(e,a,!0):await Ae(e,a,!0,i):null}async calculateDistanceMeasurement(e,t,i){const{currentBestFeature:a,activeViewer:r}=this;if(e.length<2||!a||!r?.imageSize||"none"===t)return null;const s="default"===t?await this.getMeasurementProperties():await this.getMeasurementPropertiesPanoramic();return f(i),s?"default"===t?await Ve([e.at(0),e.at(-1)],s,!0):await Re([e.at(0),e.at(-1)],s,!0):null}async calculateAccuracy(e,t,i){const{layer:a,currentBestFeature:r,activeViewer:s}=this,o=a?.orientationAccuracy,n=o?.every((e=>0===e))||!o?.length;if("area"===t&&e.length<3||"distance"===t&&e.length<2||!r||!s?.imageSize||n)return null;const l=await this.getMeasurementProperties();if(f(i),!l)return null;const c="area"===t?await Ce(e,l,!0):await Ve([e.at(0),e.at(-1)],l,!0);f(i);const{updateElevationProps:h,...u}=l,p=Ge(u,o);if(!p?.length)return null;const m=p.map((e=>({...e,updateElevationProps:h}))).map((async a=>{const r="area"===t?await Ce(e,a,!0):await Ve([e.at(0),e.at(-1)],a,!0);if(f(i),r&&c){if("area"===t){const e="number"!=typeof r?r.area:null;return e?Math.abs(e-c.area):null}return Math.abs(r-c)}return null})),d=await Promise.all(m);f(i);const g=d.filter((e=>null!==e));if(0===g.length)return null;return Math.max(...g.map((e=>e)))}async calculateAccuracyPanoramic(e,t,i){const{layer:a,currentBestFeature:r,activeViewer:s,mode:o}=this,n=a?.orientationAccuracy,l=n?.every((e=>0===e))||!n?.length;if("area"===t&&e.length<3||"distance"===t&&e.length<2||!r||!s?.imageSize||l||"panoramic"!==o)return null;const c=await this.getMeasurementPropertiesPanoramic();if(f(i),!c)return null;const h="area"===t?await Ae(e,c,!0):await Re([e.at(0),e.at(-1)],c,!0);f(i);const{updateElevationProps:u,...p}=c,m=Oe(p,n);if(!m?.length)return null;const d=m.map((e=>({...e,updateElevationProps:u}))).map((async a=>{const r="area"===t?await Ae(e,a,!0):await Re([e.at(0),e.at(-1)],a,!0);if(f(i),r&&h){if("area"===t){const e="number"!=typeof r?r.area:null;return e?Math.abs(e-h.area):null}return Math.abs(r-h)}return null})),g=await Promise.all(d);f(i);const y=g.filter((e=>null!==e));if(0===y.length)return null;return Math.max(...y.map((e=>e)))}async calculateHeightMeasurementInfo(e,t){const{currentBestFeature:i,activeViewer:a}=this,r=a?.imageSize;if(!i||!a||!r?.length)return;const{attributes:s}=i,[o]=Ie([e],!0),n=te(s,r[0],r[1]),l=await je(o,n,t);if(!l)return;const c=ze(o,l),h=C([o.x,o.y],[l.x,l.y]);return c&&h?{measurementAngle:c,tempDistance:h}:void 0}clearPreviousMeasurements(){this.clearMeasurementGraphics(),this.resetMeasurementData(),this.stopMeasurement()}clearPreviousGroundLocation(){this.groundCoordinates=null,this.pixelCoordinates=null}clearMeasurementGraphics(){this.measurementGraphic&&(this.activeViewer?.removeGraphic(this.measurementGraphic),this.measurementGraphic=null),this.heightGraphic&&(this.activeViewer?.removeGraphic(this.heightGraphic),this.heightGraphic=null)}digitizeCancel(){return this.sketch?.cancel()}digitizeCanRedo(){return this.sketch?.canRedo()??!1}digitizeCanUndo(){return this.sketch?.canUndo()??!1}digitizeComplete(){return this.sketch?.complete()}async digitizeCreate(e,t){const{sketch:i,digitizationLayer:a}=this;if(!i)throw ot();_e(a,e,i),await i.create(e,{...t,defaultZ:0})}async digitizeDelete(){if(!this.sketch)throw ot();return this.sketch.delete()}digitizeDuplicate(){if(!this.sketch)throw ot();return this.sketch.duplicate()}digitizePlace(e,t){if(!this.sketch)throw ot();return this.sketch.place(e,t)}digitizeRedo(){if(!this.sketch)throw ot();return this.sketch.redo()}digitizeUndo(){if(!this.sketch)throw ot();return this.sketch.undo()}digitizeUpdate(e,t){if(!this.sketch)throw ot();return this.sketch.update(e,t)}async displayHeightResults(){const{currentBestFeature:e,activeViewer:t,heightMeasurementPixels:i}=this,a=t?.imageSize,r=e?.attributes;if(!r||!a)return;const s=await this.computeHeight(i);s?.value&&s?.accuracy&&(this.heightMeasurementResult=s.value,this.heightMeasurementAccuracy=s.accuracy)}filterByFootprints(e,t){const i=[],a=[],r=[];return e.forEach((e=>{const{layer:{coveragePercent:s},attributes:o}=e;let n;const l=I(e.geometry.spatialReference);o.cameraHeight/=l,o.farDistance/=l,o.nearDistance/=l,$(o.elevationSource)&&(o.elevationSource.constantElevation/=l);const{polygon:c,frustum:h}=U(o);if(n=c.clone(),o.isInspection&&(n=N(o)),s&&(n=W(n,s)),q(n,t)){r.push(e);const{geometry:t,objectId:s,cameraHeight:n,cameraHeading:l}=o,u=t.clone();u.z=n,u.imageID=s,this.pointSources.push(u),l!==we&&(i.push(c),h&&a.push(h))}})),{features:r,polygons:i,frustums:a}}getMeasurementProperties(){const{currentBestFeature:e,activeViewer:t}=this;if(!e||!t?.imageSize)return;const{elevationSample:i,attributes:a}=e,{elevationSource:r,cameraHeight:s}=a,o=te(a,t.imageSize[0],t.imageSize[1]);let n=o.cameraLocation;return(n.spatialReference.isGeographic?z(n,L.WebMercator):Promise.resolve(n)).then((e=>(n=e,ie((n.z??0)-s,{elevationSample:i,elevationSource:r,extent:this.footprintExtent})))).then((t=>("elevationSample"in t&&ae(t.elevationSample)&&(e.elevationSample=t.elevationSample),{...o,cameraLocation:n,updateElevationProps:t})))}getMeasurementPropertiesPanoramic(){const{currentBestFeature:e,activeViewer:t}=this;if(!e||!t?.imageSize)return;const{elevationSample:i,attributes:a}=e,{elevationSource:r,cameraHeight:s}=a,o=re(a,t.imageSize[0],t.imageSize[1]);let n=o.cameraLocation;return(n.spatialReference.isGeographic?z(n,L.WebMercator):Promise.resolve(n)).then((e=>(n=e,ie((n.z??0)-s,{elevationSample:i,elevationSource:r,extent:this.footprintExtent})))).then((t=>("elevationSample"in t&&ae(t.elevationSample)&&(e.elevationSample=t.elevationSample),{...o,cameraLocation:n,updateElevationProps:t})))}async deleteDigitizedFeatures(e){const{digitizationLayer:t}=this;if(!t)throw new n("Digitization layer is not available");return t.queryFeatures({objectIds:e}).then((({features:e})=>t.applyEdits({deleteFeatures:e})))}handleSectorClick(e){if(isNaN(e))return;const t=this._sectorData?.[be[e]];t?.length&&this._updateCurrentBestFeature(t.at(0))}handleFeatureClick(e){const{sector:t,featureIndexInSector:i}=e;if(isNaN(i))return;const a=this._sectorData?.[t];a?.length&&this._updateCurrentBestFeature(a.at(i))}handleDrawCursorUpdateEvents(e){const{measurementAngle:t,tempDistance:i,heightMeasurementPixels:a}=this;if(!e.vertices)return;const r=e.vertices.at(-1);if(a.length<1||!r||!i||!t)return;const s=Le(a[0],r,t);if(!s?.length)return;this.heightMeasurementPixels.push(s),this.createPolylineGraphic();const o=xe(this.heightMeasurementPixels,i);o&&(this.heightMeasurementResult=o)}async handleDrawVertexAddEvents(e,t){const{currentBestFeature:i,activeViewer:a,heightMeasurementPixels:r}=this;if(!i||!a||!e.vertices?.length)return;const s=a?.imageSize;if(!r.length&&s){const i=e.vertices.at(-1);this.heightMeasurementPixels.push(i);const a=await this.calculateHeightMeasurementInfo(i,t);if(!a?.measurementAngle||!a?.tempDistance)return;this.measurementAngle=a.measurementAngle,this.tempDistance=a.tempDistance}}async load(e){return this.addResolvingPromise(this._loadViewAdapter(e).catch((e=>{if(!y(e))throw e}))),this}async loadBestImage(e,t){return this.view?.closePopup(),this.displayMessage=null,this.clearPreviousGroundLocation(),this.imageLocationToolState=!1,this.selectedPoint=e.spatialReference.isGeographic?E(e):e.clone(),this.features.removeAll(),this.currentBestFeature=null,this.additionalFeatures.removeAll(),this.additionalFootprints.removeAll(),this.additionalCameraLocations.removeAll(),this.bestFeatureCurrentFootprint=d(this.bestFeatureCurrentFootprint),this._overlays?.removeAll(),this._fetchFeaturesWithController(e,t)}loadImageError(e){u.getLogger(this).error("oriented-imagery-viewer:load-image",e),this.setMessage("imageLoadError","error",e.message)}async loadSketch(e){if(!this.sketch){const t=import("../Sketch/SketchViewModel.js"),{default:i}=await t;f(e),this.sketch=new i({layer:this._sketchGraphicsLayer,view:this.activeViewer?.imageRenderer,updateOnGraphicClick:!1,defaultUpdateOptions:{reshapeOptions:{edgeOperation:"none",shapeOperation:"none",vertexOperation:void 0},enableMoveAllGraphics:!1,enableRotation:!1,enableScaling:!1,multipleSelectionEnabled:!1,toggleToolOnClick:!1,tool:"transform"}})}return this.sketch}async loadMeasurementAdapter(e){if(!this.sketchAdapter){const t=import("./adapters/sketch/MeasurementAdapter.js"),{default:i}=await t;if(f(e),this.sketchAdapter=new i({viewModel:this}),!this.sketchAdapter.viewModel.isResolved())return}return this.sketchAdapter}async startMeasurement(e,t){await this.loadSketch(t),await this.loadMeasurementAdapter(t);const{sketch:i,sketchAdapter:a,activeViewer:r,mode:s}=this;if(!i||!a||!r||"none"===s)return;if(this.displayNewMeasurementButton=!1,"panoramic"===s&&(i.defaultCreateOptions.defaultZ=0),await i.create(e),"panoramic"===s){const{drawOperation:e}=i.view.activeTool;e.constraintsEnabled=!1,e._set("elevationDrawSurface",null)}const o=this.activeViewer?.imageRenderer.effectiveTheme.accentColor;o&&this.sketch&&(this.sketch.polygonSymbol=He(o),this.sketch.polylineSymbol=De(o))}startHeightMeasurement(){this.heightMeasurementPixels=[],this.displayNewMeasurementButton=!1,this.draw=new ge({view:this.activeViewer?.imageRenderer}),this.drawEv=this.draw.create("polyline"),this.drawEv.on(["cursor-update","vertex-add","draw-complete"],(e=>this.handleDrawEvents(e)))}createPolylineGraphic(){const e=[this.heightMeasurementPixels[0],this.heightMeasurementPixels.at(-1)],i=this.activeViewer?.imageRenderer.spatialReference;if(this.heightGraphic)this.heightGraphic.geometry=new j({paths:[e],spatialReference:i});else{const a=new j({paths:[e],spatialReference:i}),r=this.activeViewer?.imageRenderer.effectiveTheme.accentColor;this.heightGraphic=new t({geometry:a,symbol:De(r,2.5)}),this.activeViewer?.addGraphic(this.heightGraphic)}}async handleDrawEvents(e,t){if(this.draw)switch(e.type){case"cursor-update":this.handleDrawCursorUpdateEvents(e);break;case"vertex-add":this.handleDrawVertexAddEvents(e,t);break;case"draw-complete":await this.displayHeightResults()}}initializeMeasurement(e){switch(this.clearMeasurementGraphics(),this.resetMeasurementData(),e){case"distance":this.startMeasurement("polyline");break;case"area":this.startMeasurement("polygon");break;case"height":this.startHeightMeasurement()}}async overlayCameraLocations(e){const{activeViewer:i,currentBestFeature:a,overlayedCameraLocations:r,layer:s,mode:o,state:n}=this,l=i?.imageSize;if(!l||!a||!s||"none"===o||n.includes("loading"))return;const{polygon:c}=U(a.attributes);if(i.removeManyGraphics(r.toArray()),r.removeAll(),e){const{features:e}=await s.queryFeatures({where:`${s.objectIdField} <> ${a.attributes.objectId}`,geometry:c,returnGeometry:!0,outFields:[s.objectIdField]}),n=await Promise.all(e.map((async e=>{const{attributes:i,geometry:r}=e,s=await this.getPixels(r,{feature:a,imageSize:l,mode:o}),n=Te.clone();return n.outline=new de({color:[0,0,0],width:1}),new t({attributes:i,symbol:n,geometry:s})})));r.addMany(n),i.addManyGraphics(r.toArray())}}overlayGraphicsOnImage(e,t){this.removeOverlayedGraphicsOnImage(e),this.overlayedMapFeatures.set(e,t),this.activeViewer?.addManyGraphics(t.toArray())}async overlayMapFeatures(e,a=!1){const{activeViewer:r,currentBestFeature:o,mode:n,state:l}=this,c=r?.imageSize;if(!c||!o||"none"===n||l.includes("loading"))return;const{polygon:h}=U(o.attributes),p=Pe(e);try{const{imageGeometryField:t,oiObjectIdField:i}=Se(e);this.imageGeometryField=t.name,this.oiObjectIdField=i.name}catch(g){u.getLogger(this).warn("oriented-imagery-viewer:overlay-map-features",g)}const{features:m}=await e.queryFeatures({geometry:h,returnGeometry:!0,outFields:["*"]}),d=new s((await Promise.all(m.map((async i=>{const r=i.symbol?.clone()??e.renderer?.getSymbol(i)?.clone(),{attributes:s,geometry:l}=i;let h=l;if(p&&this.imageGeometryField&&this.oiObjectIdField){if(s[this.oiObjectIdField]===`${o.attributes.objectId}`)return h=B(JSON.parse(atob(s[this.imageGeometryField]))),new t({attributes:s,layer:e,symbol:h.type===e.geometryType?r:Ue(h.type)?.()??null,geometry:h,visible:e.visible&&a})}switch(h?.type){case"point":{const i=await this.getPixels(h,{feature:o,imageSize:c,mode:n});return new t({attributes:s,layer:e,symbol:r,geometry:i,visible:e.visible&&a})}case"polygon":{const{rings:i,spatialReference:l}=h,u=i.map((e=>e.map((([e,t,i])=>new G({x:e,y:t,z:i,spatialReference:l}))))),p=await Promise.all(u.map((async e=>this.getPixels(e,{feature:o,imageSize:c,mode:n}).then((e=>e.map(se))))));return new t({attributes:s,layer:e,symbol:r,geometry:new O({rings:p,spatialReference:L.WebMercator}),visible:e.visible&&a})}case"polyline":{const{paths:i,spatialReference:l}=h,u=i.map((e=>e.map((([e,t,i])=>new G({x:e,y:t,z:i,spatialReference:l}))))),p=await Promise.all(u.map((async e=>this.getPixels(e,{feature:o,imageSize:c,mode:n}).then((e=>e.map(se))))));return new t({attributes:s,layer:e,symbol:r,geometry:new j({paths:p,spatialReference:L.WebMercator}),visible:e.visible&&a})}case"multipoint":{const{points:i,spatialReference:l}=h,u=i.map((([e,t,i])=>new G({x:e,y:t,z:i,spatialReference:l}))),p=await this.getPixels(u,{feature:o,imageSize:c,mode:n}).then((e=>e.map(se)));return new t({attributes:s,layer:e,symbol:r,geometry:new R({points:p,spatialReference:L.WebMercator}),visible:e.visible&&a})}}return null})))).filter(i));this.overlayGraphicsOnImage(`${e.id}`,d)}async getPixels(e,t){const{imageSize:i,mode:a}=t,r=(await this.worldToImage(Array.isArray(e)?e:[e])).map((e=>{if("default"===a)return new G({x:e.x-.5,y:.5-e.y,spatialReference:L.WebMercator});const[t,r]=i,{heading:s,pitch:o}=ee(e,t,r),n=le(s,o);return new G(n,L.WebMercator)}));return Array.isArray(e)?r:r[0]}async getMapPoint(e,t){const{feature:i,mode:a,imageSize:r}=t,{elevationSample:s,attributes:o}=i,{elevationSource:n,location:l,elevation:c,cameraHeight:h}=o;let u=l.clone();u.spatialReference.isGeographic&&(u=await z(u,L.WebMercator));const p=await ie(c??(l.z??0)-h,{elevationSample:s,elevationSource:n,extent:this.footprintExtent});let m;if("elevationSample"in p&&ae(p.elevationSample)&&(i.elevationSample=p.elevationSample),"default"===a){const t=te(o,r[0],r[1]);m=await Z(Array.isArray(e)?e:[e],{...t,cameraLocation:u},p)}else{const t=re(o,r[0],r[1]);m=await K(Array.isArray(e)?e:[e],{...t,cameraLocation:u},p)}return Array.isArray(e)?m:m[0]}async plotMapPoint(e){return this.plotReferencePoint(e),this.transformAndPlotReferencePointOnImage({feature:this.currentBestFeature,selectedLocation:e,options:{signal:this._transformController?.signal}})}plotReferencePointOnGround(e){this._referencePointOnGround&&(this._overlays?.remove(this._referencePointOnGround),this._referencePointOnGround.destroy()),null!=e&&(this._referencePointOnGround=new t({geometry:new G({...e.toJSON()}),symbol:Ne}),this.view?this._overlays?.add(this._referencePointOnGround):this.emit("plot-ground-point",{data:{point:this._referencePointOnGround?.geometry}}))}plotReferencePointOnImage(e){if("image-loaded"===this.state)switch(this.clearReferencePointOnImage(),this.mode){case"default":{const i=c.isSerializable(e)?e.toJSON():e;i.x-=.5,i.y=.5-i.y,this._referencePointOnImage=new t({geometry:new G({spatialReference:this._imageViewer.imageRenderer.spatialReference.clone(),...i}),symbol:Ne}),this._imageViewer.addGraphic(this._referencePointOnImage,0);break}case"panoramic":{const{imageSize:i}=this._panoramicViewer;if(!i)return;const[a,r]=i,{heading:s,pitch:o}=ee(e,a,r),n=le(s,o);this._referencePointOnImage=new t({geometry:new G(n,L.WebMercator),symbol:We}),this._panoramicViewer.addGraphic(this._referencePointOnImage,0);break}}}removeAllOverlayMapFeatures(){this.overlayedMapFeatures.forEach((e=>{this._imageViewer.removeManyGraphics(e.toArray())})),this.overlayedMapFeatures.clear()}removeOverlayedGraphicsOnImage(e){const t=this.overlayedMapFeatures.get(e);t?.length&&(this.activeViewer?.removeManyGraphics(t.toArray()),this.overlayedMapFeatures.delete(e))}resetImage(){switch(this.setMessage("onLoadMessage","info"),this.mode){case"default":this._imageViewer.clearImage(),this._imageViewer.clearGraphics();break;case"panoramic":this._panoramicViewer.clearGraphics()}this._clickTask=m(this._clickTask)}resetMeasurementData(){this.areaMeasurementResult=0,this.areaMeasurementAccuracy=0,this.distanceMeasurementResult=0,this.distanceAccuracyArray=[],this.heightMeasurementPixels=[],this.heightMeasurementResult=0,this.tempDistance=null,this.measurementAngle=null,this.heightMeasurementAccuracy=0,this.heightGraphic=null}async saveDrawing(){const{digitizationLayer:e,sketchAdapter:t}=this;if(!e||"digitization"!==t?.type)return;const{pendingGraphics:i,savedGraphics:a}=t,r=i.get(e.id),s=r?.toArray();if(!r||!s?.length)return;const{addFeatureResults:o}=await this.saveDigitizedFeatures(s),n=o.reduce(((t,{objectId:i,globalId:a,error:r},o)=>{const n=s[o],{attributes:l}=n;return r?t.error.push(n):(i&&(l[e.objectIdField]=i),a&&e.globalIdField&&(l[e.globalIdField]=a),t.success.push(n)),t}),{success:[],error:[]});a.addMany(n.success),r.removeAll(),r.addMany(n.error)}async saveDigitizedFeatures(e){const{activeViewer:t,currentBestFeature:a,digitizationLayer:r,mode:s}=this,o=t?.imageSize;if(!o||!a||"none"===s)throw new n("Image size, current best feature and mode are required to save digitized features");if(!r)throw new n("Digitization layer is not available");const l=await Promise.all(e.map((async e=>{const t=e.clone(),{geometry:i}=t;if(!i)return;const n=i.type,l=r.hasZ,c=r.geometryType,h=n!==c,u=h?await import("./transformers.js"):null,p=u?.default[c],m=h?p?.(i):i;if(m)switch(m.type){case"point":return t.geometry=await this.getMapPoint(oe(s,m,o),{feature:a,imageSize:o,mode:s}),l||(delete t.geometry.z,t.geometry.hasZ=!1),t.geometry.hasM=!1,t;case"polygon":{const e=await Promise.all(m.rings.map((async e=>this.getMapPoint(e.map((([e,t,i])=>oe(s,{x:e,y:t,z:i},o))),{feature:a,imageSize:o,mode:s}))));return t.geometry=new O({spatialReference:e[0][0].spatialReference,hasZ:l,hasM:!1,rings:e.map((e=>e.map(se)))}),t}case"polyline":{const e=await Promise.all(m.paths.map((async e=>this.getMapPoint(e.map((([e,t,i])=>oe(s,{x:e,y:t,z:i},o))),{feature:a,imageSize:o,mode:s}))));return t.geometry=new j({spatialReference:e[0][0].spatialReference,hasZ:l,hasM:!1,paths:e.map((e=>e.map(se)))}),t}}}))),c=l.filter(i);return r.applyEdits({addFeatures:c}).then((e=>{const{addFeatureResults:t}=e;let i=0;const a=l.map((e=>{const a=t[i++];return e?a:{error:new n("Error in saving digitized features"),objectId:null,globalId:null}}));return{...e,addFeatureResults:a}}))}async searchBestImage(e,t){try{const i=await D(e,t);i&&await this._processFeatureResponse(i,e.point,{signal:t?.signal})}catch(i){y(i)||(this.setMessage("imageLoadError","error",i.message),u.getLogger(this).error("error occurred while finding best image",i))}}selectBestFeature(e){this.currentBestFeature=this.features?.find((({attributes:t})=>t.objectId===Number(e)))}setAdditionalCameraLocationsVisibility(e){this.additionalCameraLocations.forEach((t=>{t.visible=e}))}setAdditionalCoverageVisibility(e){this.additionalFootprints.forEach((t=>{t.visible=e}))}setCurrentCoverageVisibility(e){this.bestFeatureCurrentFootprint&&(this.bestFeatureCurrentFootprint.visible=e),this.currentBestFeatureLocation&&(this.currentBestFeatureLocation.visible=e)}setMapImageConversionToolState(e){this.mapImageConversionToolState=e}async startDigitization(e,t){const i=this.activeViewer?.imageRenderer;if(!i)return;const a=this.overlayedMapFeatures.get(e.id)?.toArray()??[];this.removeOverlayedGraphicsOnImage(e.id),this.collectionId=e.id,await this.loadSketch(t),await this.loadDigitizationAdapter(t),f(t),this.sketchGraphicsLayer?.addMany(a),this.sketchAdapter?.savedGraphics.addMany(a);i.ui.find("zoom").visible=!1,i.map.layers.add(this.sketchGraphicsLayer)}stopDigitization(e){this.sketch?.cancel();const t=this.sketchAdapter?.savedGraphics;this.sketchGraphicsLayer?.removeAll();const i=this.activeViewer?.imageRenderer;if(!t||!i)return;this.overlayGraphicsOnImage(e,t);i.ui.find("zoom").visible=!0,i.map.layers.remove(this.sketchGraphicsLayer)}stopMeasurement(){this.heightMeasurementPixels=[],this.sketch&&this.sketchAdapter&&this.sketch.cancel()}toggleAllOverlayMapFeatures(e){this.overlayedMapFeatures.forEach((t=>{this._toggleVisiblity(t,e)}))}toggleOverlayMapFeatures(e,t){const i=this.overlayedMapFeatures.get(e);i&&this._toggleVisiblity(i,t)}toggleSelection(e){const{sketch:t}=this;t&&(t.updateOnGraphicClick=e,t.cancel())}async transformAndPlotReferencePointOnImage(e){const{selectedLocation:t,options:i}=e;let a=!1,r=!1;const s=this.bestFeatureFootprint?.geometry;switch(s?.type){case"polygon":{const e=t.spatialReference.equals(s.spatialReference)?t:await z(t,s.spatialReference);a=s.contains(e);break}case"mesh":{const e=t.spatialReference.equals(s.spatialReference)?t:await z(t,s.spatialReference);r=s.extent.contains(e);break}}if(!a&&!r)return void this.clearReferencePointOnImage();const o=await this.worldToImage(t,i);if(o)return f(i),this.plotReferencePointOnImage(o),{x:o.x,y:o.y};this.clearReferencePointOnImage()}updateSuitabilities(e){e.sort(((e,t)=>e.suitability-t.suitability)),this._suitabilities=e;const t=this._suitabilities.map((({feature:e})=>e));this._initialCurrentCoverageUpdate=!0,this._updateFeatures(t),this._groupFeaturesBySectors()}async _fetchFeatures(e,t){if(!this.view)return;const i=this.layer;if(i){const a={include:i},r=this.view.toScreen(e);if(!r)return;const s=await this.view.hitTest(r,a);return this._processHitTestResults(i,s,t)}}async _fetchFeaturesWithController(e,t){try{await this._fetchFeatures(e,t)}catch(i){if(y(i))return;this.setMessage("imageLoadError","error"),u.getLogger(this).error("error occurred while fetching features",i)}}_groupFeaturesBySectors(){const{_suitabilities:e,additionalFeatures:t,currentBestFeature:i,features:a,invalidCameraHeading:r}=this;if(!e||!t||!i||!a||r)return void(this._sectorData=null);this._sectorData={};for(const c of be)this._sectorData[c]=new s;const o=e.map(((e,t)=>({...e,featureIndex:t})));o.sort(((e,t)=>e.trueSuitability-t.trueSuitability));const n=o.map((({distance:e})=>e)),l=Math.max(...n);o.forEach((e=>{const{distance:t,angle:i,featureIndex:r}=e,s=t/l*Fe[2],o=Ye(t,l),n=et(i);if(!this._sectorData)return;const c=Fe[3]+s*Math.sin(i*Math.PI/180),h=Fe[3]+s*Math.cos(i*Math.PI/180);let u;const p=a.at(r),m=p===this.currentBestFeature,d=this.currentBestFeature?.attributes.cameraPitch&&this.currentBestFeature?.attributes.cameraPitch<5;if(m&&d)u=-90;else{const e=c-Fe[3],t=h-Fe[3],i=t/Math.sqrt(e**2+t**2);let a=180*Math.acos(i)/Math.PI;(e<0&&t<0||e<0&&t>0)&&(a*=-1),u=a}const g=""===o?n:`${o}_${n}`;m&&(u===this.bestFeatureAngle?this.previousFeatureAngle=u:this.bestFeatureAngle=u,this.navigatorCurrentBestFeature=d?null:{x:c,y:h,direction:n});const y=this._sectorData[g];y.add({angle:i,featureIndex:r,x:c,y:h,objectID:p.attributes.objectId,sector:g,featureIndexInSector:y.length})}))}async _processFeatureResponse(e,t,i){const{features:a}=e;if(!a?.length)return this.setMessage("noImageError","error"),void(this.currentBestFeature=null);this.coveragePolygons.removeAll(),this.coverageFrustums.removeAll(),this.pointSources.removeAll();const{features:r,polygons:s,frustums:o}=this.filterByFootprints(a,t);if(!r.length)return this.setMessage("noImageError","error"),void(this.currentBestFeature=null);let n;if(this.coveragePolygons.addMany(s),this.coverageFrustums.addMany(o),s[0]){let e=new O({spatialReference:s[0].spatialReference});for(const i of s)e=await V(e,i);const t=[];for(const{geometry:i}of r)e.contains(i)||t.push([i.x,i.y]);if(t.sort(((e,t)=>+x([e,t]))),e.addRing(t),this.footprintExtent=ye(e.extent,2,2),this.view?.supportsGround)try{n=await this.view.map.ground.createElevationSampler(this.footprintExtent,i)}catch(l){y(l)||u.getLogger(this).error(l)}}if((n||r[0].attributes.elevationSource)&&this.footprintExtent){const e=r[0].attributes.elevationSource;J(e)&&!n&&(n=await X({extent:this.footprintExtent,lod:e.lod,url:e.url,rasterFunction:e.rasterFunction}));const i=await ie((r[0].attributes.location.z??0)-r[0].attributes.cameraHeight,{elevationSample:n,elevationSource:e,extent:this.footprintExtent}),[a,...s]=await Q([t,...r.map((e=>e.attributes.geometry.clone()))],i);r[0].elevationSample=n??i.elevationSample,t.elevation=a.z,r.forEach(((e,t)=>{e.attributes.elevation=s[t].z}))}r[0].elevationSample&&r.forEach((e=>{e.elevationSample=r[0].elevationSample})),this._suitabilities=T({features:r,selectedPoint:t,camera:Qe(this.view)?this.view.camera:null,currentImage:this.currentBestFeature}),this.updateSuitabilities(this._suitabilities)}async _processHitTestResults(e,t,i){const{screenPoint:a,results:[r]}=t,s="graphic"===r?.type&&this.shouldShowSelectedImage,o=r?.mapPoint??this.view?.toMap(a);if(!o)return;const{layerFloorFilterClause:n}=this,l=e.spatialReference.equals(o.spatialReference)?o:await z(o,e.spatialReference),c=S("1=1",S(e.definitionExpression,n)),h=l.spatialReference.isGeographic?1:I(l.spatialReference),u={layerInstanceOrURL:e,point:l,queryParams:{where:c,maximumDistance:e.maximumDistance?e.maximumDistance/h:void 0,objectIds:s?[r.graphic.getAttribute(e.objectIdField)]:void 0}};await this.searchBestImage(u,i)}_toggleVisiblity(e,t){e.forEach((e=>{e.visible=t}))}_updateFeatures(e){if(!e.length)return this.currentBestFeature=null,void this.additionalFeatures.removeAll();this.features.removeAll(),this.features.addMany(e),e.length>1?this.additionalFeatures.addMany(e.slice(1)):this.additionalFeatures.removeAll(),this.currentBestFeature=e[0]}async _updatePointsAndPolygons(e){const{pointSources:i,currentBestFeature:a,currentCoverageVisible:r,isAdditionalPointSourcesVisible:s}=this;if(a&&(this.additionalFootprints.removeAll(),this.additionalCameraLocations.removeAll(),this.bestFeatureCurrentFootprint&&(this.bestFeatureCurrentFootprint.destroy(),this.bestFeatureCurrentFootprint=null,this.bestFeatureFootprint=null),!this.invalidCameraHeading)){await(this._adapter?.createFootprints(e)),f(e);for(const e of i)e.imageID===a.attributes.objectId?this.currentBestFeatureLocation=new t({attributes:{imageID:e.imageID},geometry:e,symbol:qe,visible:r}):this.additionalCameraLocations.push(new t({attributes:{imageID:e.imageID},geometry:e,symbol:Te,visible:s}))}}_updateCurrentBestFeature(e){if(!e)return;this.currentBestFeature=this.features?.at(e.featureIndex);const t=this.currentBestFeature?.attributes.cameraPitch&&this.currentBestFeature?.attributes.cameraPitch<5;let i;if(t)i=-90;else{const t=e.x-Fe[3],a=e.y-Fe[3],r=a/Math.sqrt(t**2+a**2);let s=180*Math.acos(r)/Math.PI;(t<0&&a<0||t<0&&a>0)&&(s*=-1),i=s}i===this.bestFeatureAngle?this.previousFeatureAngle=i:this.bestFeatureAngle=i,this.navigatorCurrentBestFeature=t?null:{x:e.x,y:e.y,direction:e.sector.includes("_")?e.sector.split("_")[1]:e.sector}}clearGraphics(){this._imageViewer.clearGraphics(),this._panoramicViewer.clearGraphics()}clearReferencePointOnImage(){this._referencePointOnImage&&(this._imageViewer.removeGraphic(this._referencePointOnImage),this._panoramicViewer.removeGraphic(this._referencePointOnImage),this._referencePointOnImage=d(this._referencePointOnImage))}plotReferencePoint(e){"mapPoint"in e?this.plotReferencePointOnGround(e.mapPoint):this.plotReferencePointOnGround(e)}setMessage(e,t,i,a){this.displayMessage={key:e,type:t,data:i,map:a}}async transformAndPlotSelectedLocation(e){const{currentBestFeature:t,invalidCameraHeading:i,selectedPoint:a,state:r}=this;if(this._crossSymbol&&(this._panoramicViewer.removeGraphic(this._crossSymbol),this._imageViewer.removeGraphic(this._crossSymbol),this._crossSymbol=d(this._crossSymbol)),!a||!t||"image-loaded"!==r||i)return;let s;try{s=await this.worldToImage(a,e),f(e),await this.plotSelectedPointOnImage(s,e)}catch(o){y(o)||u.getLogger(this).error("failed to transform map point to pixel, cross symbol will not be plotted on image",{error:o,selectedPoint:a,feature:t})}}async worldToImage(e,t){const{footprintExtent:i}=this,{imageSize:a}=this.activeViewer;if("none"===this.mode||!this.currentBestFeature||!a||!i)return;const{attributes:{location:r,elevationSource:s,cameraHeading:o,elevation:n,cameraHeight:l},elevationSample:c}=this.currentBestFeature;let h=r.clone();const u=await ie(n??(r.z??0)-l,{elevationSample:c,elevationSource:s});this.currentBestFeature.elevationSample=u.elevationSample;const p=Array.isArray(e)?e:[e];let m,d=await Promise.all(p.map((e=>new Promise((t=>{if(!e.hasZ)return t(Q(e,u));t(e)})))));if(r.spatialReference.isGeographic&&(h=await z(h,L.WebMercator,t)),d=await Promise.all(d.map((async e=>h.spatialReference.equals(e.spatialReference)?e:await z(e,h.spatialReference,t)))),f(t),"panoramic"===this.mode)m=he(d,{imageHeight:a[1],imageWidth:a[0],cameraHeading:o,cameraLocation:h});else{const e=ne(this.currentBestFeature.attributes,a[0],a[1]);m=ue(d,{...e,cameraLocation:h})}return Array.isArray(e)?m:m[0]}updateCurrentCoveragePolygon(e){const{additionalFootprints:i,additionalCameraLocations:a,currentBestFeature:r,currentBestFeatureLocation:s,currentCoverageVisible:o,selectedPoint:n,view:l,_adapter:c}=this,{attributes:{objectId:h},elevationSample:u}=r;if(this._initialCurrentCoverageUpdate){if(this._overlays?.removeAll(),this._initialCurrentCoverageUpdate=!1,this.bestFeatureCurrentFootprint=d(this.bestFeatureCurrentFootprint),e&&!this.invalidCameraHeading&&(e.visible=o,this.bestFeatureCurrentFootprint=e),l){const e=[...i,...a,this.bestFeatureCurrentFootprint,s].filter(Xe);l.supportsGround&&u&&c?.updateGroundElevation&&c.updateGroundElevation(e,u),n&&e.push(new t({geometry:n.clone(),symbol:Be.clone(),attributes:{imageID:h}})),this._overlays.graphics.addMany(e)}}else if(l){if(this.invalidCameraHeading)return;this.bestFeatureCurrentFootprint&&(this._overlays?.remove(this.bestFeatureCurrentFootprint),this.bestFeatureCurrentFootprint=d(this.bestFeatureCurrentFootprint));const t=this.bestFeatureCurrentFootprint&&this._overlays?this._overlays.graphics.indexOf(this.bestFeatureCurrentFootprint):-1;e&&(this.bestFeatureCurrentFootprint=e,l?.supportsGround&&u&&c?.updateGroundElevation&&c.updateGroundElevation([e],u),e.visible=this.currentCoverageVisible,this._overlays?.graphics.add(this.bestFeatureCurrentFootprint,t>=0?t:this._overlays.graphics.length-1))}}};e([M()],nt.prototype,"activeLayer",null),e([M({readOnly:!0})],nt.prototype,"activeViewer",null),e([M()],nt.prototype,"accuracyParametersMissing",null),e([M()],nt.prototype,"additionalFeatures",void 0),e([M({type:s.ofType(t)})],nt.prototype,"additionalCameraLocations",void 0),e([M({type:s.ofType(t)})],nt.prototype,"additionalFootprints",void 0),e([M()],nt.prototype,"areaMeasurementResult",void 0),e([M()],nt.prototype,"areaMeasurementAccuracy",void 0),e([M()],nt.prototype,"bestFeatureAngle",void 0),e([M()],nt.prototype,"bestFeatureCurrentFootprint",void 0),e([M({type:t})],nt.prototype,"bestFeatureFootprint",void 0),e([M({type:Number})],nt.prototype,"brightness",null),e([M()],nt.prototype,"collectionId",void 0),e([M({type:Number})],nt.prototype,"contrast",null),e([M()],nt.prototype,"conversionProps",void 0),e([M()],nt.prototype,"coverageFrustums",void 0),e([M()],nt.prototype,"coveragePolygons",void 0),e([M()],nt.prototype,"currentBestFeature",void 0),e([M()],nt.prototype,"currentBestFeatureLocation",void 0),e([M()],nt.prototype,"currentCoverageVisible",void 0),e([M({json:{write:!1}})],nt.prototype,"determineWorkflowForFeature",void 0),e([M()],nt.prototype,"disabled",void 0),e([M()],nt.prototype,"displayMessage",void 0),e([M()],nt.prototype,"displayNewMeasurementButton",void 0),e([M()],nt.prototype,"distanceMeasurementResult",void 0),e([M()],nt.prototype,"distanceAccuracyArray",void 0),e([M()],nt.prototype,"digitizationLayer",void 0),e([M({readOnly:!0})],nt.prototype,"featureCount",null),e([M()],nt.prototype,"features",void 0),e([M()],nt.prototype,"groundCoordinates",void 0),e([M()],nt.prototype,"heightMeasurementPixels",void 0),e([M()],nt.prototype,"heightGraphic",void 0),e([M()],nt.prototype,"heightMeasurementResult",void 0),e([M()],nt.prototype,"heightMeasurementAccuracy",void 0),e([M()],nt.prototype,"measurementAngle",void 0),e([M()],nt.prototype,"tempDistance",void 0),e([M({readOnly:!0})],nt.prototype,"imageGalleryEnabled",null),e([M()],nt.prototype,"imageGeometryField",void 0),e([M({readOnly:!0})],nt.prototype,"imageLoaded",null),e([M()],nt.prototype,"imageLocationToolState",void 0),e([M({readOnly:!0})],nt.prototype,"invalidCameraHeading",null),e([M()],nt.prototype,"imagePointsInView",null),e([M()],nt.prototype,"isAdditionalCoverageVisible",void 0),e([M()],nt.prototype,"isAdditionalPointSourcesVisible",void 0),e([M()],nt.prototype,"layer",void 0),e([M()],nt.prototype,"layerView",null),e([M({readOnly:!0})],nt.prototype,"layerFloorFilterClause",null),e([M({type:Number})],nt.prototype,"localPort",void 0),e([M()],nt.prototype,"mapImageConversionToolState",void 0),e([M()],nt.prototype,"measureType",void 0),e([M()],nt.prototype,"measurementGraphic",void 0),e([M({readOnly:!0,value:"none"})],nt.prototype,"mode",null),e([M()],nt.prototype,"navigatorCurrentBestFeature",void 0),e([M()],nt.prototype,"oiObjectIdField",void 0),e([M({type:s.ofType(t)})],nt.prototype,"overlayedCameraLocations",void 0),e([M()],nt.prototype,"overlayedMapFeatures",void 0),e([M()],nt.prototype,"pixelCoordinates",void 0),e([M()],nt.prototype,"pointSources",void 0),e([M({readOnly:!0})],nt.prototype,"popupEnabled",null),e([M()],nt.prototype,"previousFeatureAngle",void 0),e([M()],nt.prototype,"referencePoint",null),e([M({readOnly:!0})],nt.prototype,"sectorData",null),e([M()],nt.prototype,"selectedPoint",void 0),e([M({type:Number})],nt.prototype,"sharpness",null),e([M()],nt.prototype,"shouldShowSelectedImage",void 0),e([M()],nt.prototype,"sketch",void 0),e([M()],nt.prototype,"draw",void 0),e([M()],nt.prototype,"drawEv",void 0),e([M()],nt.prototype,"sketchAdapter",void 0),e([M({readOnly:!0})],nt.prototype,"sketchGraphicsLayer",null),e([M({readOnly:!0})],nt.prototype,"state",null),e([M({readOnly:!0})],nt.prototype,"thumbnails",null),e([M()],nt.prototype,"updateFootprint",void 0),e([M()],nt.prototype,"updateFootprintPanorama",void 0),e([M({value:null})],nt.prototype,"view",null),e([M()],nt.prototype,"_adapter",void 0),e([M()],nt.prototype,"_sketchGraphicsLayer",null),e([M()],nt.prototype,"_highlightedFeatureHandle",void 0),e([M()],nt.prototype,"_imageViewer",void 0),e([M()],nt.prototype,"_initialCurrentCoverageUpdate",void 0),e([M()],nt.prototype,"_overlays",void 0),e([M({readOnly:!0})],nt.prototype,"_overlaysView",null),e([M()],nt.prototype,"_panoramicViewer",void 0),e([M()],nt.prototype,"_referencePointOnGround",void 0),e([M()],nt.prototype,"_referencePointOnImage",void 0),e([M()],nt.prototype,"_sectorData",void 0),e([M({readOnly:!0})],nt.prototype,"_updatingHandles",void 0),e([M()],nt.prototype,"footprintExtent",void 0),nt=e([k("esri.widgets.OrientedImageryViewer.OrientedImageryViewerViewModel")],nt);const lt=nt;export{lt 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 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};
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 o from"../../../../geometry/Point.js";import{load as n}from"../../../../geometry/projection.js";import{convertSphereVertexToPixelLocation as c}from"../../../../layers/orientedImagery/transformations/utils.js";import{SketchHandlerMixin as l}from"../../mixins/SketchHandlerMixin.js";let u=[],h=[],m=0,d=class extends(l(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){const{mode:t,activeViewer:a,view:s}=this.viewModel;if("none"===t||!a?.imageSize||!s?.spatialReference)return;if("default"===t)this.measurementArray.push(e.coordinates);else{const t=c(new o(e.coordinates[0],e.coordinates[1],e.coordinates[2],s.spatialReference),a.imageSize[0],a.imageSize[1]);this.measurementArray.push([t.x,t.y])}const i=h.reduce(((e,t)=>e+t),0)+this.pixelMeasurement;this.viewModel.distanceMeasurementResult=i}async cursorUpdatePolygonHandler(e){const{mode:t,activeViewer:a,view:s}=this.viewModel;if(!t||!a?.imageSize||!s?.spatialReference)return;const i=e.coordinates;if(u=[...this.polygonVertices],"default"===t)u.push(i);else{const e=c(new o(i[0],i[1],i[2],this.viewModel.view?.spatialReference),a?.imageSize[0],a?.imageSize[1]);u.push([e.x,e.y])}if(u.length<3||!this.viewModel.currentBestFeature||!this.viewModel.activeViewer?.imageSize)return;const r=u[0];u=u.filter(((e,t)=>0===t||t===u.length-1||JSON.stringify(e)!==JSON.stringify(r)));const n=await this._getAreaFromTask(u);n?.area&&n?.perimeter&&(m=n.area)}async handlePolylineEvents(e,t){const a=!this.viewModel.accuracyParametersMissing;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.accuracyParametersMissing;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=m>0?m:this.pixelAreaMeasurement}async vertexAddPolygonHandler(e,t){const{mode:a,activeViewer:s}=this.viewModel,i=e.added,r=i[i.length-1];if(!Array.isArray(r)||!a||!s?.imageSize)return;if("default"===a)this.polygonVertices.push(r);else{const e=c(new o(r[0],r[1],r[2],this.viewModel.view?.spatialReference),s?.imageSize[0],s?.imageSize[1]);this.polygonVertices.push([e.x,e.y])}if(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 n=this.polygonVertices[0];this.polygonVertices=this.polygonVertices.filter(((e,t)=>0===t||t===this.polygonVertices.length-1||JSON.stringify(e)!==JSON.stringify(n)));const l=await this._getAreaFromTask(this.polygonVertices);if(!l?.area||!l?.perimeter)return;const{area:u}=l;this.pixelAreaMeasurement=u}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=[]}resetAreaMeasurements(){this.polygonVertices=[],this.pixelAreaMeasurement=0,m=0}async _getAreaFromTask(e){const{mode:a}=this.viewModel;return this._calculationTask?.abort(),this._calculationTask=t((async t=>{this._areaCalculation=null;const i=await this.viewModel.calculateAreaMeasurement(e,a,t);s(t),this._areaCalculation=i})),await this._calculationTask.promise,this._areaCalculation}async _getDistanceFromTask(){const{mode:e}=this.viewModel;return this._calculationTask?.abort(),this._calculationTask=t((async t=>{this._distanceCalculation=0;const a=await this.viewModel.calculateDistanceMeasurement(this.measurementArray,e,t);s(t),this._distanceCalculation=a})),await this._calculationTask.promise,this._distanceCalculation}async _getAccuracyFromTask(){const{mode:e}=this.viewModel;return e?(this._calculationTask?.abort(),this._calculationTask=t((async t=>{this._distanceCalculation=0;const a="default"===e?await this.viewModel.calculateAccuracy(this.measurementArray,"distance",t):await this.viewModel.calculateAccuracyPanoramic(this.measurementArray,"distance",t);s(t),this._distanceCalculation=a})),await this._calculationTask.promise,this._distanceCalculation):null}async _getAreaAccuracyFromTask(e){const{mode:a}=this.viewModel;return a?(this._calculationTask?.abort(),this._calculationTask=t((async t=>{this._distanceCalculation=0;const i="default"===a?await this.viewModel.calculateAccuracy(e,"area",t):await this.viewModel.calculateAccuracyPanoramic(e,"area",t);s(t),this._distanceCalculation=i})),await this._calculationTask.promise,this._distanceCalculation):null}};e([i()],d.prototype,"type",void 0),e([i()],d.prototype,"measurementArray",void 0),e([i()],d.prototype,"pixelMeasurement",void 0),e([i()],d.prototype,"pixelAreaMeasurement",void 0),e([i()],d.prototype,"polygonVertices",void 0),d=e([r("esri.widgets.OrientedImageryViewer.adapters.sketch.MeasurementAdapter")],d);const p=d;export{p 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 o}from"../../../chunks/tslib.es6.js";import{property as t}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/Logger.js";import"../../../core/RandomLCG.js";import{subclass as e}from"../../../core/accessorSupport/decorators/subclass.js";import{substitute as r}from"../../../intl/substitute.js";import s from"../../Widget.js";import{css as i}from"../css.js";import{copyToClipboard as n}from"../imageMeasurementUtils.js";import{loadCalciteComponents as c}from"../../support/componentsUtils.js";import{tsx as a}from"../../support/jsxFactory.js";let p=class extends s{constructor(o){super(o),this.messages=null}loadDependencies(){return c({action:()=>import("@esri/calcite-components/dist/components/calcite-action"),block:()=>import("@esri/calcite-components/dist/components/calcite-block"),panel:()=>import("@esri/calcite-components/dist/components/calcite-panel")})}get _renderLocation(){const{groundCoordinates:o}=this;return o?a("calcite-block",{heading:this.getLocation(),headingLevel:6},a("calcite-action",{icon:"copy-to-clipboard",onclick:()=>this.copyLocation(),slot:"control",text:"Copy"})):null}copyLocation(){const{groundCoordinates:o}=this;if(!o)return;const t=this.getLocation();t&&n(t)}getLocation(){const{groundCoordinates:o}=this;if(!o?.longitude||!o?.latitude)return"";const t={groundX:o.longitude.toFixed(3),groundY:o.latitude.toFixed(3)};return r("{groundX}° , {groundY}°",t)}render(){return a("calcite-panel",{class:i.measurementResults,key:"ground-location-container"},this._renderLocation)}};o([t()],p.prototype,"messages",void 0),o([t()],p.prototype,"groundCoordinates",void 0),o([t()],p.prototype,"_renderLocation",null),p=o([e("esri.widgets.OrientedImageryViewer.components.ImageLocationWidget")],p);const d=p;export{d 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"../../../core/Collection.js";import i from"../../../core/Identifiable.js";import{on as s,watch as o,syncAndInitial as a}from"../../../core/reactiveUtils.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 n}from"../../../core/accessorSupport/decorators/subclass.js";import l from"../../../support/actions/ActionToggle.js";import c from"../../Widget.js";import{css as d}from"../css.js";import{isValidDigitizationLayer as h}from"../digitizationUtils.js";import p from"./OverlayLayersList.js";import{loadCalciteComponents as m}from"../../support/componentsUtils.js";import{globalCss as y}from"../../support/globalCss.js";import"../../support/widgetUtils.js";import{tsx as g}from"../../support/jsxFactory.js";let u=class extends(i.IdentifiableMixin(c)){constructor(e){super(e),this._previousAction=null,this.closed=!1,this.digitizationEnabled=!1,this.digitizationLayer=null,this.layerList=new p({selectionMode:"multiple"}),this.messages=null,this.overlayedLayers=new t,this.showCameraLocations=!1,this.showMapFeatures=!1,this._createSelectedItemsHandle=()=>{this.removeHandles("selected-items"),this.addHandles(this._trackLayerSelectionChanges(),"selected-items")},this._handleSelectedItemsChange=({added:e,removed:t})=>{e.forEach((e=>{this.onLayerSelected?.(e)})),t.forEach((e=>{this.onLayerDeselected?.(e)})),this.overlayedLayers.removeAll(),this.overlayedLayers.addMany(this.layerList.selectedItems.map((e=>e.layer)))},this._layerListTriggerActionHandle=()=>s((()=>this.layerList),"trigger-action",(e=>{const{action:t,item:{layer:i}}=e;if(this._resetPreviousAction(t),"create-features"===t.id)this._toggleDigitizationLayer(t,i)})),this._resetPreviousAction=e=>{"toggle"===this._previousAction?.type&&this._previousAction!==e&&(this._previousAction.value=!1,this._previousAction=null)},this._toggleDigitizationLayer=(e,t)=>{this._previousAction=e;const i=e.value;this.digitizationLayer=i?t:null,this.onDigitizationLayerChanged?.(this.digitizationLayer)},this._trackLayerSelectionChanges=()=>s((()=>this.layerList.selectedItems),"change",this._handleSelectedItemsChange),this._watchLayerListForListItemCreatedFunction=()=>o((()=>({layerList:this.layerList,listItemCreatedFunction:this._listItemCreatedFunction})),(()=>{this.layerList.listItemCreatedFunction=this._listItemCreatedFunction}),a),this._watchSelectedItems=()=>o((()=>this.layerList.selectedItems),this._createSelectedItemsHandle,a)}initialize(){this.addHandles([this._watchSelectedItems(),this._layerListTriggerActionHandle(),this._watchLayerListForListItemCreatedFunction()])}loadDependencies(){return m({list:()=>import("@esri/calcite-components/dist/components/calcite-list"),"list-item":()=>import("@esri/calcite-components/dist/components/calcite-list-item"),panel:()=>import("@esri/calcite-components/dist/components/calcite-panel"),switch:()=>import("@esri/calcite-components/dist/components/calcite-switch")})}get _listItemCreatedFunction(){return this.digitizationEnabled?async e=>{const{item:t}=e,i=t.layer,{digitizationLayer:s,overlayedLayers:o,messages:{addOrUpdateDigitizationFeatures:a},layerList:r}=this,n=o.includes(i),{selectedItems:l}=r;if(v(n,l,t),await(i?.load()),!i||!h(i))return;const c=s===i,d=_(a,t,l,c);c&&(this._previousAction=d)}:null}get view(){return this.layerList?.view}set view(e){this.layerList.view=e}_renderCameraLocationsSwitch(e){return g("calcite-list-item",{bind:this,label:this.messages.overlayCameraLocations,onclick:this._toggleShowCameraLocations},g("calcite-switch",{bind:this,checked:e,class:d.overlaysSwitch,onchange:this._toggleShowCameraLocations,scale:"s",slot:"actions-end"}))}_renderOverlayMapFeatures(e){return g("calcite-list-item",{bind:this,label:this.messages?.overlayMapFeatures,onclick:this._toggleShowMapFeatures},g("calcite-switch",{bind:this,checked:e,class:d.overlaysSwitch,onchange:this._toggleShowMapFeatures,scale:"s",slot:"actions-end"}))}_renderList(e){return e?g("div",{class:d.imageOverlaysLayerList},this.layerList.render()):null}_renderPanel(){const{closed:e,messages:t,showCameraLocations:i,showMapFeatures:s}=this;return g("calcite-panel",{bind:this,closable:!0,closed:e,heading:t.imageOverlays,onCalcitePanelClose:this.onImageOverlaysClosed},g("calcite-list",{label:t.imageOverlays},this._renderCameraLocationsSwitch(i),this._renderOverlayMapFeatures(s)),this._renderList(s))}_toggleShowCameraLocations(e){e.stopPropagation(),this.showCameraLocations=!this.showCameraLocations,this.onShowCameraLocationsChanged?.(this.showCameraLocations)}_toggleShowMapFeatures(e){e.stopPropagation(),this.showMapFeatures=!this.showMapFeatures,this.onShowMapFeaturesChanged?.(this.showMapFeatures)}render(){const e=this.layerList.operationalItems.items.length,t=this.showMapFeatures&&0===e,i=this.showMapFeatures&&e>0,s={[y.widget]:!0,[d.imageOverlaysNoResult]:t,[d.imageOverlaysIncreasedHeight]:i,[d.imageOverlays]:!t&&!i};return g("div",{class:this.classes(s)},this._renderPanel())}};e([r()],u.prototype,"_previousAction",void 0),e([r()],u.prototype,"_listItemCreatedFunction",null),e([r()],u.prototype,"closed",void 0),e([r()],u.prototype,"digitizationEnabled",void 0),e([r()],u.prototype,"digitizationLayer",void 0),e([r()],u.prototype,"layerList",void 0),e([r()],u.prototype,"messages",void 0),e([r()],u.prototype,"onDigitizationLayerChanged",void 0),e([r()],u.prototype,"onImageOverlaysClosed",void 0),e([r()],u.prototype,"onLayerDeselected",void 0),e([r()],u.prototype,"onLayerSelected",void 0),e([r()],u.prototype,"onShowCameraLocationsChanged",void 0),e([r()],u.prototype,"onShowMapFeaturesChanged",void 0),e([r()],u.prototype,"overlayedLayers",void 0),e([r()],u.prototype,"showCameraLocations",void 0),e([r()],u.prototype,"showMapFeatures",void 0),e([r()],u.prototype,"view",null),u=e([n("esri.widgets.OrientedImageryViewer.components.ImageOverlays")],u);const L=u;function v(e,t,i){e&&t.add(i)}function w(e,i){const s=new t;s.add(e),i.actionsSections=new t([s])}function _(e,t,i,s=!1){const r=new l({icon:"pencil",id:"create-features",title:e,value:s});return t.addHandles(o((()=>i.includes(t)),(e=>{r.visible=e}),a)),w(r,t),r}export{L as default};
5
+ import{_ as e}from"../../../chunks/tslib.es6.js";import t from"../../../core/Collection.js";import i from"../../../core/Identifiable.js";import{on as s,watch as o,syncAndInitial as a}from"../../../core/reactiveUtils.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 n}from"../../../core/accessorSupport/decorators/subclass.js";import l from"../../../support/actions/ActionToggle.js";import c from"../../Widget.js";import{css as h}from"../css.js";import{isValidDigitizationLayer as d}from"../digitizationUtils.js";import p from"./OverlayLayersList.js";import{loadCalciteComponents as m}from"../../support/componentsUtils.js";import{globalCss as y}from"../../support/globalCss.js";import"../../support/widgetUtils.js";import{tsx as g}from"../../support/jsxFactory.js";let u=class extends(i.IdentifiableMixin(c)){constructor(e){super(e),this._previousAction=null,this.closed=!1,this.digitizationEnabled=!1,this.digitizationLayer=null,this.layerList=new p({selectionMode:"multiple"}),this.messages=null,this.overlayedLayers=new t,this.showCameraLocations=!1,this.showMapFeatures=!1,this._createSelectedItemsHandle=()=>{this.removeHandles("selected-items"),this.addHandles(this._trackLayerSelectionChanges(),"selected-items")},this._handleSelectedItemsChange=({added:e,removed:t})=>{e.forEach((e=>{this.onLayerSelected?.(e)})),t.forEach((e=>{this.onLayerDeselected?.(e)})),this.overlayedLayers.removeAll(),this.overlayedLayers.addMany(this.layerList.selectedItems.map((e=>e.layer)))},this._layerListTriggerActionHandle=()=>s((()=>this.layerList),"trigger-action",(e=>{const{action:t,item:{layer:i}}=e;if(this._resetPreviousAction(t),"create-features"===t.id)this._toggleDigitizationLayer(t,i)})),this._resetPreviousAction=e=>{"toggle"===this._previousAction?.type&&this._previousAction!==e&&(this._previousAction.value=!1,this._previousAction=null)},this._toggleDigitizationLayer=(e,t)=>{this._previousAction=e;const i=e.value;this.digitizationLayer=i?t:null,this.onDigitizationLayerChanged?.(this.digitizationLayer)},this._trackLayerSelectionChanges=()=>s((()=>this.layerList.selectedItems),"change",this._handleSelectedItemsChange),this._watchLayerListForListItemCreatedFunction=()=>o((()=>({layerList:this.layerList,listItemCreatedFunction:this._listItemCreatedFunction})),(()=>{this.layerList.listItemCreatedFunction=this._listItemCreatedFunction}),a),this._watchSelectedItems=()=>o((()=>this.layerList.selectedItems),this._createSelectedItemsHandle,a)}initialize(){this.addHandles([this._watchSelectedItems(),this._layerListTriggerActionHandle(),this._watchLayerListForListItemCreatedFunction()])}loadDependencies(){return m({list:()=>import("@esri/calcite-components/dist/components/calcite-list"),"list-item":()=>import("@esri/calcite-components/dist/components/calcite-list-item"),panel:()=>import("@esri/calcite-components/dist/components/calcite-panel"),switch:()=>import("@esri/calcite-components/dist/components/calcite-switch")})}get _listItemCreatedFunction(){return this.digitizationEnabled?async e=>{const{item:t}=e,i=t.layer,{digitizationLayer:s,overlayedLayers:o,messages:{createFeaturesFromImage:a},layerList:r}=this,n=o.includes(i),{selectedItems:l}=r;if(v(n,l,t),await(i?.load()),!i||!d(i))return;const c=s===i,h=_(a,t,l,c);c&&(this._previousAction=h)}:null}get view(){return this.layerList?.view}set view(e){this.layerList.view=e}_renderCameraLocationsSwitch(e){return g("calcite-list-item",{bind:this,label:this.messages.overlayCameraLocations,onclick:this._toggleShowCameraLocations},g("calcite-switch",{bind:this,checked:e,class:h.overlaysSwitch,onchange:this._toggleShowCameraLocations,scale:"s",slot:"actions-end"}))}_renderOverlayMapFeatures(e){return g("calcite-list-item",{bind:this,label:this.messages?.overlayMapFeatures,onclick:this._toggleShowMapFeatures},g("calcite-switch",{bind:this,checked:e,class:h.overlaysSwitch,onchange:this._toggleShowMapFeatures,scale:"s",slot:"actions-end"}))}_renderList(e){return e?g("div",{class:h.imageOverlaysLayerList},this.layerList.render()):null}_renderPanel(){const{closed:e,messages:t,showCameraLocations:i,showMapFeatures:s}=this;return g("calcite-panel",{bind:this,closable:!0,closed:e,heading:t.imageOverlays,onCalcitePanelClose:this.onImageOverlaysClosed},g("calcite-list",{label:t.imageOverlays},this._renderCameraLocationsSwitch(i),this._renderOverlayMapFeatures(s)),this._renderList(s))}_toggleShowCameraLocations(e){e.stopPropagation(),this.showCameraLocations=!this.showCameraLocations,this.onShowCameraLocationsChanged?.(this.showCameraLocations)}_toggleShowMapFeatures(e){e.stopPropagation(),this.showMapFeatures=!this.showMapFeatures,this.onShowMapFeaturesChanged?.(this.showMapFeatures)}render(){const e=this.layerList.operationalItems.items.length,t=this.showMapFeatures&&0===e,i=this.showMapFeatures&&e>0,s={[y.widget]:!0,[h.imageOverlaysNoResult]:t,[h.imageOverlaysIncreasedHeight]:i,[h.imageOverlays]:!t&&!i};return g("div",{class:this.classes(s)},this._renderPanel())}};e([r()],u.prototype,"_previousAction",void 0),e([r()],u.prototype,"_listItemCreatedFunction",null),e([r()],u.prototype,"closed",void 0),e([r()],u.prototype,"digitizationEnabled",void 0),e([r()],u.prototype,"digitizationLayer",void 0),e([r()],u.prototype,"layerList",void 0),e([r()],u.prototype,"messages",void 0),e([r()],u.prototype,"onDigitizationLayerChanged",void 0),e([r()],u.prototype,"onImageOverlaysClosed",void 0),e([r()],u.prototype,"onLayerDeselected",void 0),e([r()],u.prototype,"onLayerSelected",void 0),e([r()],u.prototype,"onShowCameraLocationsChanged",void 0),e([r()],u.prototype,"onShowMapFeaturesChanged",void 0),e([r()],u.prototype,"overlayedLayers",void 0),e([r()],u.prototype,"showCameraLocations",void 0),e([r()],u.prototype,"showMapFeatures",void 0),e([r()],u.prototype,"view",null),u=e([n("esri.widgets.OrientedImageryViewer.components.ImageOverlays")],u);const L=u;function v(e,t,i){e&&t.add(i)}function w(e,i){const s=new t;s.add(e),i.actionsSections=new t([s])}function _(e,t,i,s=!1){const r=new l({icon:"pencil",id:"create-features",title:e,value:s});return t.addHandles(o((()=>i.includes(t)),(e=>{r.visible=e}),a)),w(r,t),r}export{L 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{throwIfAborted as e}from"../../core/promiseUtils.js";import{formatLength as t,formatArea as r}from"../../core/quantityFormatUtils.js";import{createLength as n,createArea as o}from"../../core/quantityUtils.js";import{distance as a}from"../../core/libs/gl-matrix-2/math/vec2.js";import{geodesicDensify as s,simplify as c,geodesicLength as i,planarLength as u,planarArea as l,geodesicArea as m}from"../../geometry/geometryEngine.js";import f from"../../geometry/Point.js";import y from"../../geometry/Polygon.js";import p from"../../geometry/Polyline.js";import{project as g}from"../../geometry/projection.js";import h from"../../geometry/SpatialReference.js";import{isSupported as x,geodesicLengths as R,geodesicAreas as j}from"../../geometry/support/geodesicUtils.js";import{imageToWorld as v}from"../../layers/orientedImagery/transformations/imageToWorld.js";import{worldToImage as w}from"../../layers/orientedImagery/transformations/worldToImage.js";const d=1e5;function P(e,t){let r=180*Math.atan2(-e.y+t.y,e.x-t.x)/Math.PI;return r<0&&(r+=180),r*Math.PI/180}function z(e,t,r){if(!e?.length||!t?.length||!r)return;const[n,o]=e,[,a]=t,s=a-o;return[n+s*Math.cos(r),o+s*Math.sin(r)]}function M(e,t,r){if(x(e)){const e=R([t],"meters")[0];return{area:j([r],"square-meters")[0],perimeter:e}}const n=h.WGS84,o=g(t,n),a=g(r,n);let i=s(a,d);if(i=c(i),!i)return null;const u=R([o],"meters")[0];return{area:j([i],"square-meters")[0],perimeter:u}}async function q(t,r,n,o,a=!1,s){if(r.length<2||!o||!n||!t)return null;const c=T(n,t);if(!c)return null;const i=r.map((e=>[e.x,e.y])),u=i.at(0),l=i.at(-1);if(!u||!l)return null;const m=c.map((e=>B([u,l],e,t,a,!1))),f=await Promise.all(m);e(s);let y=0;for(const e of f){if(!e)return null;const t=Math.abs(e-o);y=Math.max(t,y)}return y}function b(e,t){const r=S(e,!1);if(!r?.length)return;return 20*a([r[0].x,r[0].y],[r.at(-1).x,r.at(-1).y])/t}function E(e){const t=e.spatialReference;if(t.isGeographic){if(x(t))return R([e],"meters")[0];const r=g(e,h.WGS84);return R([r],"meters")[0]}return t.isWebMercator?i(e,"meters"):u(e,"meters")}function I(e,t){const r=c(t);if(!r)return null;const n=u(e,"meters");return{area:l(r,"square-meters"),perimeter:n}}function W(e,t){let r=s(t,d,"meters");if(r=c(r),!r)return null;const n=i(e,"meters");return{area:m(r,"square-meters"),perimeter:n}}async function G(t,r,n){const o=await v(t,r);e(n);const a=o.clone();a.z?a.z+=20:a.z=20;const{averageElevation:s,cameraPitch:c,cameraRoll:i,farDistance:u,...l}=r;return w(a,l)||null}function U(e,t,r,n,o=0,s=1,c){const{averageElevation:i,cameraPitch:u,cameraRoll:l,farDistance:m,...y}=n;if(o>=5||s<=.1)return{value:e};const p=new f({x:t.x,y:t.y,z:t.z?t.z+e:e,spatialReference:n.cameraLocation.spatialReference}),g=w(p,y),h=a([r[0].x,r[0].y],[g.x,g.y]),x=r.at(0),R=r.at(-1);if(!x||!R)return null;const j=a([x.x,x.y],[R.x,R.y])*e/h;return U(j,t,r,n,o+1,Math.abs(e-j))}async function D(e,t){const{updateElevationProps:r,...n}=t;return await v(e,n,r)}function L(e){const t=e.map((e=>[e.x,e.y])),r=e[0].spatialReference;return new p({paths:[t],spatialReference:r})}function S(e,t){return e.map((e=>({x:t?.5+e[0]:e[0],y:t?.5-e[1]:e[1]})))}function k(e,r,o,a,s){const c="measurement"===e?r:o;if(!s||!c)return;const i="accuracy"===e?2:void 0;return t(a,n(c,"meters"),s,i)||null}function T(e,t){const{cameraPitch:r,cameraRoll:n,cameraLocation:o}=e,{x:a,y:s,z:c,spatialReference:i}=o;if(t.every((e=>0===e))||!t||!t.length)return null;const[u,l,,m,y]=t,p=[-m,0,m],g=[-y,0,y],h=[-u,0,u],x=[-l,0,l],R=[];for(const j of p)for(const t of g)for(const o of h)for(const u of h)for(const l of x){const m={...e};m.cameraPitch=r+j,m.cameraRoll=n+t,m.cameraLocation=new f({x:a+o,y:s+u,z:c?c+l:0,spatialReference:{wkid:i.wkid}}),R.push(m)}return R}function F(e,r,o,a,s){const c="measurement"===e?r:o.reduce(((e,t)=>e+t),0);if(!s||!c)return;const i="accuracy"===e?2:void 0;return t(a,n(c,"meters"),s,i)||null}function A(e,t,n,a,s){const c="measurement"===e?t:n;if(!s||!c)return;const i="accuracy"===e?2:void 0;return r(a,o(c,"square-meters"),s,i)||null}async function B(t,r,n,o=!1,s=!1,c){if(!t||!r||t.length<2)return null;const i=S(t,o);if(!i||i.length<2)return null;const[u,l]=[i[0],i.at(-1)];if(!l)return null;const m=[u],f=await v(u,r);e(c);const y=f.clone();y.z?y.z+=20:y.z=20;const{averageElevation:p,cameraPitch:g,cameraRoll:h,farDistance:x,...R}=r,j=w(y,R),d=a([u.x,u.y],[j.x,j.y]),M=P(u,j);if(!M)return;const q=z([u.x,u.y],[l.x,l.y],M);if(!q?.length)return;m.push({x:q[0],y:q[1]});const b=20*a([m[0].x,m[0].y],[m[1].x,m[1].y])/d;if(!s)return b;const E=U(b,f,m,r,0,1);return E?.value}async function C(e,t,r=!1){if(e.length<3)return null;const n=S(e,r),o=await D(n,t),a=o.map((({x:e,y:t})=>[e,t]));e.push(e[0]),a.push(a[0]);const s=o[0].spatialReference,c=new p({paths:[a],spatialReference:s}),i=new y({rings:[a],spatialReference:s});return s.isGeographic?M(s,c,i):s.isWebMercator?W(c,i):I(c,i)}async function H(e,t,r=!1){const n=S(e,r);return E(L(await D(n,t)))}export{P as calculateAngle,z as calculateCorrectedPixel,q as calculateHeightAccuracy,b as calculateHeightFromTemporaryDistance,G as calculateTempImagePoint,U as computeHeightIteratively,S as formatPixels,T as generateCombinations,A as getConvertedArea,F as getConvertedDistance,k as getConvertedHeight,B as heightMeasurement2D,C as pixelAreaMeasurement2D,H as pixelDistanceMeasurement2D};
5
+ import{throwIfAborted as e}from"../../core/promiseUtils.js";import{formatLength as t,formatArea as r}from"../../core/quantityFormatUtils.js";import{createLength as n,createArea as o}from"../../core/quantityUtils.js";import{distance as a}from"../../core/libs/gl-matrix-2/math/vec2.js";import{geodesicDensify as c,simplify as s,geodesicLength as i,planarLength as u,planarArea as f,geodesicArea as l}from"../../geometry/geometryEngine.js";import m from"../../geometry/Point.js";import p from"../../geometry/Polygon.js";import y from"../../geometry/Polyline.js";import{project as h}from"../../geometry/projection.js";import g from"../../geometry/SpatialReference.js";import{isSupported as x,geodesicLengths as w,geodesicAreas as R}from"../../geometry/support/geodesicUtils.js";import{imageToWorld as d,imageToWorldPanoramic as v}from"../../layers/orientedImagery/transformations/imageToWorld.js";import{worldToImage as j}from"../../layers/orientedImagery/transformations/worldToImage.js";const z=1e5;function P(e,t){let r=180*Math.atan2(-e.y+t.y,e.x-t.x)/Math.PI;return r<0&&(r+=180),r*Math.PI/180}function M(e,t,r){if(!e?.length||!t?.length||!r)return;const[n,o]=e,[,a]=t,c=a-o;return[n+c*Math.cos(r),o+c*Math.sin(r)]}function b(e,t,r){if(x(e)){const e=w([t],"meters")[0];return{area:R([r],"square-meters")[0],perimeter:e}}const n=g.WGS84,o=h(t,n),a=h(r,n);let i=c(a,z);if(i=s(i),!i)return null;const u=w([o],"meters")[0];return{area:R([i],"square-meters")[0],perimeter:u}}async function q(t,r,n,o,a=!1,c){if(r.length<2||!o||!n||!t)return null;const s=A(n,t);if(!s)return null;const i=r.map((e=>[e.x,e.y])),u=i.at(0),f=i.at(-1);if(!u||!f)return null;const l=s.map((e=>K([u,f],e,t,a,!1))),m=await Promise.all(l);e(c);let p=0;for(const e of m){if(!e)return null;const t=Math.abs(e-o);p=Math.max(t,p)}return p}function E(e,t){const r=H(e,!1);if(!r?.length)return;return 20*a([r[0].x,r[0].y],[r.at(-1).x,r.at(-1).y])/t}function W(e){const t=e.spatialReference;if(t.isGeographic){if(x(t))return w([e],"meters")[0];const r=h(e,g.WGS84);return w([r],"meters")[0]}return t.isWebMercator?i(e,"meters"):u(e,"meters")}function G(e,t){const r=s(t);if(!r)return null;const n=u(e,"meters");return{area:f(r,"square-meters"),perimeter:n}}function I(e,t){let r=c(t,z,"meters");if(r=s(r),!r)return null;const n=i(e,"meters");return{area:l(r,"square-meters"),perimeter:n}}async function L(t,r,n){const o=await d(t,r);e(n);const a=o.clone();a.z?a.z+=20:a.z=20;const{averageElevation:c,cameraPitch:s,cameraRoll:i,farDistance:u,...f}=r;return j(a,f)||null}function k(e,t,r,n,o=0,c=1,s){const{averageElevation:i,cameraPitch:u,cameraRoll:f,farDistance:l,...p}=n;if(o>=5||c<=.1)return{value:e};const y=new m({x:t.x,y:t.y,z:t.z?t.z+e:e,spatialReference:n.cameraLocation.spatialReference}),h=j(y,p),g=a([r[0].x,r[0].y],[h.x,h.y]),x=r.at(0),w=r.at(-1);if(!x||!w)return null;const R=a([x.x,x.y],[w.x,w.y])*e/g;return k(R,t,r,n,o+1,Math.abs(e-R))}async function U(e,t){const{updateElevationProps:r,...n}=t;return await d(e,n,r)}async function D(e,t){const{updateElevationProps:r,...n}=t;return v(e,n,r)}function S(e){navigator.clipboard.writeText(e).catch((e=>{throw e}))}function T(e){const t=e.map((e=>[e.x,e.y])),r=e[0].spatialReference;return new y({paths:[t],spatialReference:r})}function H(e,t){return e.map((e=>({x:t?.5+e[0]:e[0],y:t?.5-e[1]:e[1]})))}function F(e,r,o,a,c){const s="measurement"===e?r:o;if(!c||!s)return;const i="accuracy"===e?2:void 0;return t(a,n(s,"meters"),c,i)||null}function A(e,t){const{cameraPitch:r,cameraRoll:n,cameraLocation:o}=e,{x:a,y:c,z:s,spatialReference:i}=o;if(t.every((e=>0===e))||!t||!t.length)return null;const[u,f,,l,p]=t,y=[-l,0,l],h=[-p,0,p],g=[-u,0,u],x=[-f,0,f],w=[];for(const R of y)for(const t of h)for(const o of g)for(const u of g)for(const f of x){const l={...e};l.cameraPitch=r+R,l.cameraRoll=n+t,l.cameraLocation=new m({x:a+o,y:c+u,z:s?s+f:0,spatialReference:{wkid:i.wkid}}),w.push(l)}return w}function B(e,t){const{cameraHeading:r,cameraLocation:n}=e,{x:o,y:a,z:c,spatialReference:s}=n;if(t.every((e=>0===e))||!t||!t.length)return null;const[i,u,f]=t,l=f>0?[-f,0,f]:[],p=i>0?[-i,0,i]:[],y=u>0?[-u,0,u]:[],h=[];for(const g of l)for(const t of p)for(const n of p)for(const i of y){const u={...e};u.cameraHeading=r+g,u.cameraLocation=new m({x:o+t,y:a+n,z:c?c+i:0,spatialReference:{wkid:s.wkid}}),h.push(u)}return h}function C(e,r,o,a,c){const s="measurement"===e?r:o.reduce(((e,t)=>e+t),0);if(!c||!s)return;const i="accuracy"===e?2:void 0;return t(a,n(s,"meters"),c,i)||null}function J(e,t,n,a,c){const s="measurement"===e?t:n;if(!c||!s)return;const i="accuracy"===e?2:void 0;return r(a,o(s,"square-meters"),c,i)||null}async function K(t,r,n,o=!1,c=!1,s){if(!t||!r||t.length<2)return null;const i=H(t,o);if(!i||i.length<2)return null;const[u,f]=[i[0],i.at(-1)];if(!f)return null;const l=[u],m=await d(u,r);e(s);const p=m.clone();p.z?p.z+=20:p.z=20;const{averageElevation:y,cameraPitch:h,cameraRoll:g,farDistance:x,...w}=r,R=j(p,w),v=a([u.x,u.y],[R.x,R.y]),z=P(u,R);if(!z)return;const b=M([u.x,u.y],[f.x,f.y],z);if(!b?.length)return;l.push({x:b[0],y:b[1]});const q=20*a([l[0].x,l[0].y],[l[1].x,l[1].y])/v;if(!c)return q;const E=k(q,m,l,r,0,1);return E?.value}async function N(e,t,r=!1){if(e.length<3)return null;const n=H(e,r),o=await U(n,t),a=o.map((({x:e,y:t})=>[e,t]));e.push(e[0]),a.push(a[0]);const c=o[0].spatialReference,s=new y({paths:[a],spatialReference:c}),i=new p({rings:[a],spatialReference:c});return c.isGeographic?b(c,s,i):c.isWebMercator?I(s,i):G(s,i)}async function O(t,r,n=!1,o){if(t.length<3)return null;const a=H(t,n),c=await D(a,r);e(o);const s=c.map((({x:e,y:t})=>[e,t]));t.push(t[0]),s.push(s[0]);const i=c[0].spatialReference,u=new y({paths:[s],spatialReference:i}),f=new p({rings:[s],spatialReference:i});return i.isGeographic?b(i,u,f):i.isWebMercator?I(u,f):G(u,f)}async function Q(e,t,r=!1){const n=H(e,r);return W(T(await U(n,t)))}async function V(t,r,n=!1,o){const a=H(t,n),c=await D(a,r);e(o);return W(T(c))}export{P as calculateAngle,M as calculateCorrectedPixel,q as calculateHeightAccuracy,E as calculateHeightFromTemporaryDistance,L as calculateTempImagePoint,k as computeHeightIteratively,S as copyToClipboard,H as formatPixels,A as generateCombinations,B as generateCombinationsPanoramic,J as getConvertedArea,C as getConvertedDistance,F as getConvertedHeight,K as heightMeasurement2D,N as pixelAreaMeasurement2D,O as pixelAreaMeasurementPanoramic,Q as pixelDistanceMeasurement2D,V as pixelDistanceMeasurementPanoramic};
@@ -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{property as t}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{getConvertedArea as s,getConvertedDistance as a,getConvertedHeight as i}from"../imageMeasurementUtils.js";import{substitute as n}from"../../../intl/substitute.js";const c=c=>{let o=class extends c{constructor(){super(...arguments),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}";break;case"height":t={measurement:this.getConvertedHeightString("measurement"),accuracy:this.getConvertedHeightString("accuracy")},r="{measurement} ± {accuracy}"}const s=n(r,t);this.oiViewModel.copyToClipboard(s)}getConvertedAreaString(e){const{oiViewModel:t,measurementUnitMessages:r,pixelAreaMeasurementUnit:a,messages:i}=this,{areaMeasurementResult:n,areaMeasurementAccuracy:c}=t;return s(e,n,c,r,a)??i.startMeasurement}getConvertedDistanceString(e){const{oiViewModel:t,measurementUnitMessages:r,pixelMeasurementUnit:s,messages:i}=this,{distanceAccuracyArray:n,distanceMeasurementResult:c}=t;return a(e,c,n,r,s)??i.startMeasurement}getAccuracy(e){let t,r;switch(e){case"area":return t={accuracy:this.getConvertedAreaString("accuracy")},r="± {accuracy}",n(r,t);case"distance":return t={accuracy:this.getConvertedDistanceString("accuracy")},r="± {accuracy}",n(r,t);case"height":return t={accuracy:this.getConvertedHeightString("accuracy")},r="± {accuracy}",n(r,t)}}getConvertedHeightString(e){const{oiViewModel:t,measurementUnitMessages:r,pixelMeasurementUnit:s,messages:a}=this,{heightMeasurementAccuracy:n,heightMeasurementResult:c}=t;return i(e,c,n,r,s)??a.startMeasurement}handleLengthMeasurementUnitChange(e){this.pixelMeasurementUnit=e}handleAreaMeasurementUnitChange(e){this.pixelAreaMeasurementUnit=e}};return e([t()],o.prototype,"messages",void 0),e([t()],o.prototype,"measurementUnitMessages",void 0),e([t()],o.prototype,"measurementType",void 0),e([t()],o.prototype,"pixelMeasurementUnit",void 0),e([t()],o.prototype,"pixelAreaMeasurementUnit",void 0),e([t()],o.prototype,"oiViewModel",void 0),o=e([r("esri.widgets.OrientedImageryViewer.mixins.ImageMeasurementMixin")],o),o};export{c as ImageMeasurementMixin};
5
+ import{_ as e}from"../../../chunks/tslib.es6.js";import"../../../intl.js";import{property as t}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{copyToClipboard as s,getConvertedArea as a,getConvertedDistance as n,getConvertedHeight as i}from"../imageMeasurementUtils.js";import{substitute as c}from"../../../intl/substitute.js";const u=u=>{let o=class extends u{constructor(){super(...arguments),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}";break;case"height":t={measurement:this.getConvertedHeightString("measurement"),accuracy:this.getConvertedHeightString("accuracy")},r="{measurement} ± {accuracy}"}const a=c(r,t);s(a)}getConvertedAreaString(e){const{oiViewModel:t,measurementUnitMessages:r,pixelAreaMeasurementUnit:s,messages:n}=this,{areaMeasurementResult:i,areaMeasurementAccuracy:c}=t;return a(e,i,c,r,s)??n.startMeasurement}getConvertedDistanceString(e){const{oiViewModel:t,measurementUnitMessages:r,pixelMeasurementUnit:s,messages:a}=this,{distanceAccuracyArray:i,distanceMeasurementResult:c}=t;return n(e,c,i,r,s)??a.startMeasurement}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);case"height":return t={accuracy:this.getConvertedHeightString("accuracy")},r="± {accuracy}",c(r,t)}}getConvertedHeightString(e){const{oiViewModel:t,measurementUnitMessages:r,pixelMeasurementUnit:s,messages:a}=this,{heightMeasurementAccuracy:n,heightMeasurementResult:c}=t;return i(e,c,n,r,s)??a.startMeasurement}handleLengthMeasurementUnitChange(e){this.pixelMeasurementUnit=e}handleAreaMeasurementUnitChange(e){this.pixelAreaMeasurementUnit=e}};return e([t()],o.prototype,"messages",void 0),e([t()],o.prototype,"measurementUnitMessages",void 0),e([t()],o.prototype,"measurementType",void 0),e([t()],o.prototype,"pixelMeasurementUnit",void 0),e([t()],o.prototype,"pixelAreaMeasurementUnit",void 0),e([t()],o.prototype,"oiViewModel",void 0),o=e([r("esri.widgets.OrientedImageryViewer.mixins.ImageMeasurementMixin")],o),o};export{u as ImageMeasurementMixin};