@arcgis/core 4.32.0-next.20250130 → 4.32.0-next.20250201

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 (531) hide show
  1. package/WebScene.js +1 -1
  2. package/arcade/featureset/support/shared.js +1 -1
  3. package/arcade/geometry/unitConversion.js +1 -1
  4. package/assets/esri/core/workers/RemoteClient.js +1 -1
  5. package/assets/esri/core/workers/chunks/{4696278d033907a067c7.js → 085462ba3da7849fc296.js} +1 -1
  6. package/assets/esri/core/workers/chunks/0a19e1aec6a5502e391a.js +1 -0
  7. package/assets/esri/core/workers/chunks/25c8cc30faade043c8dc.js.LICENSE.txt +1 -1
  8. package/assets/esri/core/workers/chunks/308ec51ff4a66f7fcb0d.js.LICENSE.txt +1 -1
  9. package/assets/esri/core/workers/chunks/34d464dacee52739c98c.js +1 -0
  10. package/assets/esri/core/workers/chunks/39e38aab86dcee3f79be.js +1 -0
  11. package/assets/esri/core/workers/chunks/{149bad940feb0764b350.js → 613db14d698741886753.js} +1 -1
  12. package/assets/esri/core/workers/chunks/6e8905f20101c1f4509d.js.LICENSE.txt +1 -1
  13. package/assets/esri/core/workers/chunks/6ec108bd955e064256b5.js +1 -0
  14. package/assets/esri/core/workers/chunks/72cf9192292e5c85c6df.js.LICENSE.txt +1 -1
  15. package/assets/esri/core/workers/chunks/{9011704b258ecbfb6d9b.js → 7d3a441d2eb18d709ef9.js} +2 -2
  16. package/assets/esri/core/workers/chunks/{9011704b258ecbfb6d9b.js.LICENSE.txt → 7d3a441d2eb18d709ef9.js.LICENSE.txt} +1 -1
  17. package/assets/esri/core/workers/chunks/{0ebdf0d1fd2034b24519.js → af2a70d33afb12bb536f.js} +7 -7
  18. package/assets/esri/core/workers/chunks/b21b152fa15896577242.js.LICENSE.txt +1 -1
  19. package/assets/esri/core/workers/chunks/bf9bc52a3c559108c19a.js.LICENSE.txt +1 -1
  20. package/assets/esri/core/workers/chunks/c032bcd25e2e7a57ad43.js +1 -0
  21. package/assets/esri/core/workers/chunks/c4b0e3f7dcad6c7ea620.js +314 -0
  22. package/assets/esri/core/workers/chunks/c94ec324ecad77c53a87.js +1 -0
  23. package/assets/esri/core/workers/chunks/{c80507443f896dbfaba6.js → e4b80c8f4c45fd78bde1.js} +1 -1
  24. package/assets/esri/core/workers/chunks/{d4760e583dfac95dc8a1.js → ffa2b9d70830aed03a8f.js} +1 -1
  25. package/assets/esri/themes/base/_core.scss +4 -0
  26. package/assets/esri/themes/base/widgets/_BatchAttributeForm.scss +7 -2
  27. package/assets/esri/themes/base/widgets/_Editor.scss +31 -0
  28. package/assets/esri/themes/base/widgets/_FilterBuilder.scss +24 -0
  29. package/assets/esri/themes/base/widgets/_FilterCondition.scss +12 -0
  30. package/assets/esri/themes/base/widgets/_OrientedImageryViewer.scss +1 -1
  31. package/assets/esri/themes/dark/main.css +1 -1
  32. package/assets/esri/themes/light/main.css +1 -1
  33. package/assets/esri/themes/light/view.css +1 -1
  34. package/assets/esri/views/interactive/tooltip/t9n/Tooltip.json +1 -1
  35. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_ar.json +1 -1
  36. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_bg.json +1 -1
  37. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_bs.json +1 -1
  38. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_ca.json +1 -1
  39. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_cs.json +1 -1
  40. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_da.json +1 -1
  41. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_de.json +1 -1
  42. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_el.json +1 -1
  43. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_en.json +1 -1
  44. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_es.json +1 -1
  45. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_et.json +1 -1
  46. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_fi.json +1 -1
  47. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_fr.json +1 -1
  48. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_he.json +1 -1
  49. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_hr.json +1 -1
  50. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_hu.json +1 -1
  51. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_id.json +1 -1
  52. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_it.json +1 -1
  53. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_ja.json +1 -1
  54. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_ko.json +1 -1
  55. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_lt.json +1 -1
  56. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_lv.json +1 -1
  57. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_nl.json +1 -1
  58. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_no.json +1 -1
  59. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_pl.json +1 -1
  60. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_pt-BR.json +1 -1
  61. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_pt-PT.json +1 -1
  62. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_ro.json +1 -1
  63. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_ru.json +1 -1
  64. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_sk.json +1 -1
  65. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_sl.json +1 -1
  66. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_sr.json +1 -1
  67. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_sv.json +1 -1
  68. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_th.json +1 -1
  69. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_tr.json +1 -1
  70. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_uk.json +1 -1
  71. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_vi.json +1 -1
  72. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_zh-CN.json +1 -1
  73. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_zh-HK.json +1 -1
  74. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_zh-TW.json +1 -1
  75. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm.json +1 -1
  76. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ar.json +1 -1
  77. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_bg.json +1 -1
  78. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_bs.json +1 -1
  79. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ca.json +1 -1
  80. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_cs.json +1 -1
  81. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_da.json +1 -1
  82. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_de.json +1 -1
  83. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_el.json +1 -1
  84. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_en.json +1 -1
  85. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_es.json +1 -1
  86. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_et.json +1 -1
  87. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_fi.json +1 -1
  88. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_fr.json +1 -1
  89. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_he.json +1 -1
  90. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_hr.json +1 -1
  91. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_hu.json +1 -1
  92. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_id.json +1 -1
  93. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_it.json +1 -1
  94. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ja.json +1 -1
  95. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ko.json +1 -1
  96. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_lt.json +1 -1
  97. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_lv.json +1 -1
  98. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_nl.json +1 -1
  99. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_no.json +1 -1
  100. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_pl.json +1 -1
  101. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_pt-BR.json +1 -1
  102. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_pt-PT.json +1 -1
  103. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ro.json +1 -1
  104. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ru.json +1 -1
  105. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sk.json +1 -1
  106. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sl.json +1 -1
  107. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sr.json +1 -1
  108. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sv.json +1 -1
  109. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_th.json +1 -1
  110. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_tr.json +1 -1
  111. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_uk.json +1 -1
  112. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_vi.json +1 -1
  113. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_zh-CN.json +1 -1
  114. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_zh-HK.json +1 -1
  115. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_zh-TW.json +1 -1
  116. package/assets/esri/widgets/Directions/t9n/Directions.json +1 -1
  117. package/assets/esri/widgets/Directions/t9n/Directions_ar.json +1 -1
  118. package/assets/esri/widgets/Directions/t9n/Directions_bg.json +1 -1
  119. package/assets/esri/widgets/Directions/t9n/Directions_bs.json +1 -1
  120. package/assets/esri/widgets/Directions/t9n/Directions_ca.json +1 -1
  121. package/assets/esri/widgets/Directions/t9n/Directions_cs.json +1 -1
  122. package/assets/esri/widgets/Directions/t9n/Directions_da.json +1 -1
  123. package/assets/esri/widgets/Directions/t9n/Directions_de.json +1 -1
  124. package/assets/esri/widgets/Directions/t9n/Directions_el.json +1 -1
  125. package/assets/esri/widgets/Directions/t9n/Directions_en.json +1 -1
  126. package/assets/esri/widgets/Directions/t9n/Directions_es.json +1 -1
  127. package/assets/esri/widgets/Directions/t9n/Directions_et.json +1 -1
  128. package/assets/esri/widgets/Directions/t9n/Directions_fi.json +1 -1
  129. package/assets/esri/widgets/Directions/t9n/Directions_fr.json +1 -1
  130. package/assets/esri/widgets/Directions/t9n/Directions_he.json +1 -1
  131. package/assets/esri/widgets/Directions/t9n/Directions_hr.json +1 -1
  132. package/assets/esri/widgets/Directions/t9n/Directions_hu.json +1 -1
  133. package/assets/esri/widgets/Directions/t9n/Directions_id.json +1 -1
  134. package/assets/esri/widgets/Directions/t9n/Directions_it.json +1 -1
  135. package/assets/esri/widgets/Directions/t9n/Directions_ja.json +1 -1
  136. package/assets/esri/widgets/Directions/t9n/Directions_ko.json +1 -1
  137. package/assets/esri/widgets/Directions/t9n/Directions_lt.json +1 -1
  138. package/assets/esri/widgets/Directions/t9n/Directions_lv.json +1 -1
  139. package/assets/esri/widgets/Directions/t9n/Directions_nl.json +1 -1
  140. package/assets/esri/widgets/Directions/t9n/Directions_no.json +1 -1
  141. package/assets/esri/widgets/Directions/t9n/Directions_pl.json +1 -1
  142. package/assets/esri/widgets/Directions/t9n/Directions_pt-BR.json +1 -1
  143. package/assets/esri/widgets/Directions/t9n/Directions_pt-PT.json +1 -1
  144. package/assets/esri/widgets/Directions/t9n/Directions_ro.json +1 -1
  145. package/assets/esri/widgets/Directions/t9n/Directions_ru.json +1 -1
  146. package/assets/esri/widgets/Directions/t9n/Directions_sk.json +1 -1
  147. package/assets/esri/widgets/Directions/t9n/Directions_sl.json +1 -1
  148. package/assets/esri/widgets/Directions/t9n/Directions_sr.json +1 -1
  149. package/assets/esri/widgets/Directions/t9n/Directions_sv.json +1 -1
  150. package/assets/esri/widgets/Directions/t9n/Directions_th.json +1 -1
  151. package/assets/esri/widgets/Directions/t9n/Directions_tr.json +1 -1
  152. package/assets/esri/widgets/Directions/t9n/Directions_uk.json +1 -1
  153. package/assets/esri/widgets/Directions/t9n/Directions_vi.json +1 -1
  154. package/assets/esri/widgets/Directions/t9n/Directions_zh-CN.json +1 -1
  155. package/assets/esri/widgets/Directions/t9n/Directions_zh-HK.json +1 -1
  156. package/assets/esri/widgets/Directions/t9n/Directions_zh-TW.json +1 -1
  157. package/assets/esri/widgets/Editor/t9n/Editor.json +1 -1
  158. package/assets/esri/widgets/Editor/t9n/Editor_ar.json +1 -1
  159. package/assets/esri/widgets/Editor/t9n/Editor_bg.json +1 -1
  160. package/assets/esri/widgets/Editor/t9n/Editor_bs.json +1 -1
  161. package/assets/esri/widgets/Editor/t9n/Editor_ca.json +1 -1
  162. package/assets/esri/widgets/Editor/t9n/Editor_cs.json +1 -1
  163. package/assets/esri/widgets/Editor/t9n/Editor_da.json +1 -1
  164. package/assets/esri/widgets/Editor/t9n/Editor_de.json +1 -1
  165. package/assets/esri/widgets/Editor/t9n/Editor_el.json +1 -1
  166. package/assets/esri/widgets/Editor/t9n/Editor_en.json +1 -1
  167. package/assets/esri/widgets/Editor/t9n/Editor_es.json +1 -1
  168. package/assets/esri/widgets/Editor/t9n/Editor_et.json +1 -1
  169. package/assets/esri/widgets/Editor/t9n/Editor_fi.json +1 -1
  170. package/assets/esri/widgets/Editor/t9n/Editor_fr.json +1 -1
  171. package/assets/esri/widgets/Editor/t9n/Editor_he.json +1 -1
  172. package/assets/esri/widgets/Editor/t9n/Editor_hr.json +1 -1
  173. package/assets/esri/widgets/Editor/t9n/Editor_hu.json +1 -1
  174. package/assets/esri/widgets/Editor/t9n/Editor_id.json +1 -1
  175. package/assets/esri/widgets/Editor/t9n/Editor_it.json +1 -1
  176. package/assets/esri/widgets/Editor/t9n/Editor_ja.json +1 -1
  177. package/assets/esri/widgets/Editor/t9n/Editor_ko.json +1 -1
  178. package/assets/esri/widgets/Editor/t9n/Editor_lt.json +1 -1
  179. package/assets/esri/widgets/Editor/t9n/Editor_lv.json +1 -1
  180. package/assets/esri/widgets/Editor/t9n/Editor_nl.json +1 -1
  181. package/assets/esri/widgets/Editor/t9n/Editor_no.json +1 -1
  182. package/assets/esri/widgets/Editor/t9n/Editor_pl.json +1 -1
  183. package/assets/esri/widgets/Editor/t9n/Editor_pt-BR.json +1 -1
  184. package/assets/esri/widgets/Editor/t9n/Editor_pt-PT.json +1 -1
  185. package/assets/esri/widgets/Editor/t9n/Editor_ro.json +1 -1
  186. package/assets/esri/widgets/Editor/t9n/Editor_ru.json +1 -1
  187. package/assets/esri/widgets/Editor/t9n/Editor_sk.json +1 -1
  188. package/assets/esri/widgets/Editor/t9n/Editor_sl.json +1 -1
  189. package/assets/esri/widgets/Editor/t9n/Editor_sr.json +1 -1
  190. package/assets/esri/widgets/Editor/t9n/Editor_sv.json +1 -1
  191. package/assets/esri/widgets/Editor/t9n/Editor_th.json +1 -1
  192. package/assets/esri/widgets/Editor/t9n/Editor_tr.json +1 -1
  193. package/assets/esri/widgets/Editor/t9n/Editor_uk.json +1 -1
  194. package/assets/esri/widgets/Editor/t9n/Editor_vi.json +1 -1
  195. package/assets/esri/widgets/Editor/t9n/Editor_zh-CN.json +1 -1
  196. package/assets/esri/widgets/Editor/t9n/Editor_zh-HK.json +1 -1
  197. package/assets/esri/widgets/Editor/t9n/Editor_zh-TW.json +1 -1
  198. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm.json +1 -1
  199. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ar.json +1 -1
  200. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_bg.json +1 -1
  201. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_bs.json +1 -1
  202. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ca.json +1 -1
  203. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_cs.json +1 -1
  204. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_da.json +1 -1
  205. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_de.json +1 -1
  206. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_el.json +1 -1
  207. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_en.json +1 -1
  208. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_es.json +1 -1
  209. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_et.json +1 -1
  210. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_fi.json +1 -1
  211. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_fr.json +1 -1
  212. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_he.json +1 -1
  213. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_hr.json +1 -1
  214. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_hu.json +1 -1
  215. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_id.json +1 -1
  216. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_it.json +1 -1
  217. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ja.json +1 -1
  218. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ko.json +1 -1
  219. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_lt.json +1 -1
  220. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_lv.json +1 -1
  221. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_nl.json +1 -1
  222. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_no.json +1 -1
  223. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_pl.json +1 -1
  224. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_pt-BR.json +1 -1
  225. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_pt-PT.json +1 -1
  226. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ro.json +1 -1
  227. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ru.json +1 -1
  228. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sk.json +1 -1
  229. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sl.json +1 -1
  230. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sr.json +1 -1
  231. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sv.json +1 -1
  232. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_th.json +1 -1
  233. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_tr.json +1 -1
  234. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_uk.json +1 -1
  235. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_vi.json +1 -1
  236. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_zh-CN.json +1 -1
  237. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_zh-HK.json +1 -1
  238. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_zh-TW.json +1 -1
  239. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer.json +1 -1
  240. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ar.json +1 -1
  241. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bg.json +1 -1
  242. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bs.json +1 -1
  243. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ca.json +1 -1
  244. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_cs.json +1 -1
  245. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_da.json +1 -1
  246. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_de.json +1 -1
  247. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_el.json +1 -1
  248. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_en.json +1 -1
  249. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_es.json +1 -1
  250. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_et.json +1 -1
  251. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fi.json +1 -1
  252. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fr.json +1 -1
  253. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_he.json +1 -1
  254. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hr.json +1 -1
  255. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hu.json +1 -1
  256. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_id.json +1 -1
  257. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_it.json +1 -1
  258. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ja.json +1 -1
  259. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ko.json +1 -1
  260. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lt.json +1 -1
  261. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lv.json +1 -1
  262. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_nl.json +1 -1
  263. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_no.json +1 -1
  264. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pl.json +1 -1
  265. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-BR.json +1 -1
  266. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-PT.json +1 -1
  267. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ro.json +1 -1
  268. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ru.json +1 -1
  269. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sk.json +1 -1
  270. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sl.json +1 -1
  271. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sr.json +1 -1
  272. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sv.json +1 -1
  273. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_th.json +1 -1
  274. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_tr.json +1 -1
  275. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_uk.json +1 -1
  276. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_vi.json +1 -1
  277. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-CN.json +1 -1
  278. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-HK.json +1 -1
  279. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-TW.json +1 -1
  280. package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder.json +1 -0
  281. package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_en.json +1 -0
  282. package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition.json +1 -0
  283. package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_en.json +1 -0
  284. package/form/elements/inputs.d.ts +10 -0
  285. package/form/elements.d.ts +6 -0
  286. package/geometry/support/typeUtils.js +1 -1
  287. package/geometry.d.ts +6 -0
  288. package/interfaces.d.ts +262 -62
  289. package/layers/FeatureLayer.js +1 -1
  290. package/layers/graphics/OptimizedGeometry.js +1 -1
  291. package/layers/graphics/dehydratedFeatures.js +1 -1
  292. package/layers/graphics/sources/ParquetSource.js +1 -1
  293. package/layers/orientedImagery/transformations/utils.js +1 -1
  294. package/layers/support/domainUtils.js +1 -1
  295. package/layers/support/parquetLayerUtils.js +1 -1
  296. package/layers/support/rasterFieldUtils.js +1 -1
  297. package/package.json +3 -3
  298. package/pointCloudRenderers.d.ts +4 -0
  299. package/popup/content.d.ts +8 -0
  300. package/popup/support/UtilityNetworkAssociationType.js +1 -1
  301. package/rasterRenderers.d.ts +7 -0
  302. package/renderers.d.ts +7 -0
  303. package/smartMapping/support/adapters/FeatureLayerAdapter.js +1 -1
  304. package/smartMapping/support/utils.js +1 -1
  305. package/support/basemapDefinitions.js +1 -1
  306. package/support/revision.js +1 -1
  307. package/symbols/cim/animationUtils.js +1 -1
  308. package/symbols/cim/defaultCIMValues.js +1 -1
  309. package/symbols.d.ts +22 -0
  310. package/tables/elements.d.ts +4 -0
  311. package/views/2d/engine/webgl/animations/utils.js +1 -1
  312. package/views/2d/layers/FeatureLayerView2D.js +1 -1
  313. package/views/2d/layers/features/layerAdapters/ParquetLayerAdapter.js +1 -1
  314. package/views/2d/layers/features/layerAdapters/SubtypeGroupLayerAdapter.js +1 -1
  315. package/views/2d/layers/features/layerAdapters/geometryUtils.js +1 -1
  316. package/views/2d/layers/features/support/FeatureSetReaderIndirect.js +1 -1
  317. package/views/2d/layers/features/support/FeatureSetReaderParquet.js +1 -1
  318. package/views/3d/environment/ChapmanAtmosphere.js +1 -1
  319. package/views/3d/environment/ChapmanAtmosphereTechnique.js +1 -1
  320. package/views/3d/environment/CloudsComposition.js +1 -1
  321. package/views/3d/environment/CloudsCompositionTechnique.js +1 -1
  322. package/views/3d/environment/CloudsRenderer.js +1 -1
  323. package/views/3d/environment/CloudsTechnique.js +1 -1
  324. package/views/3d/environment/Fog.js +1 -1
  325. package/views/3d/environment/FogTechnique.js +1 -1
  326. package/views/3d/environment/LocalAtmosphere.js +1 -1
  327. package/views/3d/environment/MarsAtmosphere.js +1 -1
  328. package/views/3d/environment/NoiseTextureAtlas.js +1 -1
  329. package/views/3d/environment/NoiseTextureAtlasTechnique.js +1 -1
  330. package/views/3d/environment/Precipitation.js +1 -1
  331. package/views/3d/environment/PrecipitationTechnique.js +1 -1
  332. package/views/3d/environment/SimpleAtmosphereTechnique.js +1 -1
  333. package/views/3d/interactive/editingTools/media/ControlPointOperations.js +1 -1
  334. package/views/3d/layers/i3s/PointCloudRenderer.js +1 -1
  335. package/views/3d/layers/support/FeatureTileTree3D.js +1 -1
  336. package/views/3d/layers/support/FeatureTileVisibility3D.js +1 -1
  337. package/views/3d/layers/support/MediaLayerInteraction.js +1 -1
  338. package/views/3d/layers/support/MediaLayerInteractionOptions.js +1 -1
  339. package/views/3d/terrain/BlendLayersTechnique.js +1 -1
  340. package/views/3d/terrain/OverlayRenderer.js +1 -1
  341. package/views/3d/terrain/RasterColorizerTechnique.js +1 -1
  342. package/views/3d/terrain/TerrainRenderer.js +1 -1
  343. package/views/3d/terrain/TileCompositor.js +1 -1
  344. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  345. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechnique.js +1 -1
  346. package/views/3d/webgl-engine/core/renderPasses/RenderPassManager.js +1 -1
  347. package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechnique.js +1 -1
  348. package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechniqueRepository.js +1 -1
  349. package/views/3d/webgl-engine/effects/RenderPlugin.js +1 -1
  350. package/views/3d/webgl-engine/effects/RenderPluginManager.js +1 -1
  351. package/views/3d/webgl-engine/effects/blit/Blit.js +1 -1
  352. package/views/3d/webgl-engine/effects/bloom/BloomBlurTechnique.js +1 -1
  353. package/views/3d/webgl-engine/effects/bloom/BloomCompositionTechnique.js +1 -1
  354. package/views/3d/webgl-engine/effects/bloom/BloomDepthAdjustTechnique.js +1 -1
  355. package/views/3d/webgl-engine/effects/bloom/BloomRenderNode.js +1 -1
  356. package/views/3d/webgl-engine/effects/focusArea/FocusAreaColorNode.js +1 -1
  357. package/views/3d/webgl-engine/effects/focusArea/FocusAreaColorTechnique.js +1 -1
  358. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskNode.js +1 -1
  359. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskTechnique.js +1 -1
  360. package/views/3d/webgl-engine/effects/geometry/RenderOccludedRenderNode.js +1 -1
  361. package/views/3d/webgl-engine/effects/haze/Haze.js +1 -1
  362. package/views/3d/webgl-engine/effects/haze/HazeCompositingTechnique.js +1 -1
  363. package/views/3d/webgl-engine/effects/haze/HazeTechnique.js +1 -1
  364. package/views/3d/webgl-engine/effects/highlight/Highlight.js +1 -1
  365. package/views/3d/webgl-engine/effects/highlight/HighlightApplyTechnique.js +1 -1
  366. package/views/3d/webgl-engine/effects/highlight/HighlightDownsampleTechnique.js +1 -1
  367. package/views/3d/webgl-engine/effects/highlight/HighlightToSingleTechnique.js +1 -1
  368. package/views/3d/webgl-engine/effects/highlight/ShadowHighlight.js +1 -1
  369. package/views/3d/webgl-engine/effects/highlight/ShadowHighlightTechnique.js +1 -1
  370. package/views/3d/webgl-engine/effects/highlight/SingleHighlightApplyTechnique.js +1 -1
  371. package/views/3d/webgl-engine/effects/highlight/SingleHighlightBlurTechnique.js +1 -1
  372. package/views/3d/webgl-engine/effects/laserlines/LaserLineRenderer.js +1 -1
  373. package/views/3d/webgl-engine/effects/laserlines/LaserlinePathTechnique.js +1 -1
  374. package/views/3d/webgl-engine/effects/laserlines/LaserlineTechnique.js +1 -1
  375. package/views/3d/webgl-engine/effects/magnifier/Magnifier.js +1 -1
  376. package/views/3d/webgl-engine/effects/magnifier/MagnifierTechnique.js +1 -1
  377. package/views/3d/webgl-engine/effects/smaa/SMAA.js +1 -1
  378. package/views/3d/webgl-engine/effects/smaa/SMAABlendWeightsTechnique.js +1 -1
  379. package/views/3d/webgl-engine/effects/smaa/SMAABlurTechnique.js +1 -1
  380. package/views/3d/webgl-engine/effects/smaa/SMAAEdgeDetectTechnique.js +1 -1
  381. package/views/3d/webgl-engine/effects/ssao/SSAO.js +1 -1
  382. package/views/3d/webgl-engine/effects/ssao/SSAOBlurTechnique.js +1 -1
  383. package/views/3d/webgl-engine/effects/ssao/SSAOTechnique.js +1 -1
  384. package/views/3d/webgl-engine/effects/stars/Stars.js +1 -1
  385. package/views/3d/webgl-engine/effects/stars/StarsTechnique.js +1 -1
  386. package/views/3d/webgl-engine/effects/transparency/OITBlend.js +1 -1
  387. package/views/3d/webgl-engine/effects/transparency/OITBlendTechnique.js +1 -1
  388. package/views/3d/webgl-engine/lib/CompositingHelper.js +1 -1
  389. package/views/3d/webgl-engine/lib/DrapedHeatmapRenderer.js +1 -1
  390. package/views/3d/webgl-engine/lib/GLMaterial.js +1 -1
  391. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  392. package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
  393. package/views/3d/webgl-engine/lib/ShadowCastRenderer.js +1 -1
  394. package/views/3d/webgl-engine/lib/SortedRenderGeometryRenderer.js +1 -1
  395. package/views/3d/webgl-engine/lib/TextureRepository.js +1 -1
  396. package/views/3d/webgl-engine/lib/TextureTechnique.js +1 -1
  397. package/views/3d/webgl-engine/lib/Viewshed.js +1 -1
  398. package/views/3d/webgl-engine/lib/edgeRendering/EdgeRenderer.js +1 -1
  399. package/views/3d/webgl-engine/lib/edgeRendering/EdgeShaderTechnique.js +1 -1
  400. package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
  401. package/views/3d/webgl-engine/materials/CheckerBoardMaterial.js +1 -1
  402. package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
  403. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  404. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  405. package/views/3d/webgl-engine/materials/HeatmapDensityMaterial.js +1 -1
  406. package/views/3d/webgl-engine/materials/ImageMaterial.js +1 -1
  407. package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
  408. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  409. package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
  410. package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
  411. package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
  412. package/views/3d/webgl-engine/materials/PathTechnique.js +1 -1
  413. package/views/3d/webgl-engine/materials/PatternMaterial.js +1 -1
  414. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  415. package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +1 -1
  416. package/views/3d/webgl-engine/materials/SlicePlaneMaterial.js +1 -1
  417. package/views/3d/webgl-engine/materials/WaterGLMaterial.js +1 -1
  418. package/views/3d/webgl-engine/materials/WaterTechnique.js +1 -1
  419. package/views/3d/webgl-engine/shaders/AtmosphereCompositingTechnique.js +1 -1
  420. package/views/3d/webgl-engine/shaders/CheckerBoardTechnique.js +1 -1
  421. package/views/3d/webgl-engine/shaders/ColorMaterialTechnique.js +1 -1
  422. package/views/3d/webgl-engine/shaders/CompositingTechnique.js +1 -1
  423. package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
  424. package/views/3d/webgl-engine/shaders/HUDCompositingTechnique.js +1 -1
  425. package/views/3d/webgl-engine/shaders/HUDMaterialTechnique.js +1 -1
  426. package/views/3d/webgl-engine/shaders/HeatmapDensityTechnique.js +1 -1
  427. package/views/3d/webgl-engine/shaders/HeatmapTechnique.js +1 -1
  428. package/views/3d/webgl-engine/shaders/ImageMaterialTechnique.js +1 -1
  429. package/views/3d/webgl-engine/shaders/LineCalloutTechnique.js +1 -1
  430. package/views/3d/webgl-engine/shaders/LineMarkerTechnique.js +1 -1
  431. package/views/3d/webgl-engine/shaders/MeasurementArrowTechnique.js +1 -1
  432. package/views/3d/webgl-engine/shaders/NativeLineTechnique.js +1 -1
  433. package/views/3d/webgl-engine/shaders/OverlayCompositingTechnique.js +1 -1
  434. package/views/3d/webgl-engine/shaders/PatternTechnique.js +1 -1
  435. package/views/3d/webgl-engine/shaders/PointRendererTechnique.js +1 -1
  436. package/views/3d/webgl-engine/shaders/RealisticTreeTechnique.js +1 -1
  437. package/views/3d/webgl-engine/shaders/RibbonLineTechnique.js +1 -1
  438. package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechnique.js +1 -1
  439. package/views/3d/webgl-engine/shaders/ShadowCastAccumulateTechnique.js +1 -1
  440. package/views/3d/webgl-engine/shaders/ShadowCastVisualizeTechnique.js +1 -1
  441. package/views/3d/webgl-engine/shaders/SlicePlaneMaterialTechnique.js +1 -1
  442. package/views/3d/webgl-engine/shaders/TerrainTechnique.js +1 -1
  443. package/views/3d/webgl-engine/shaders/ViewshedTechnique.js +1 -1
  444. package/views/3d/webgl.js +1 -1
  445. package/views/FocusAreas.js +1 -1
  446. package/views/draw/DrawGraphicTool.js +1 -1
  447. package/views/draw/DrawOperation.js +1 -1
  448. package/views/draw/support/Box.js +1 -1
  449. package/views/draw/support/helpMessageUtils.js +1 -1
  450. package/views/draw/support/tooltipUtils.js +1 -1
  451. package/views/interactive/keybindings.js +1 -1
  452. package/views/interactive/snapping/featureSources/FeatureCollectionSnappingSource.js +1 -1
  453. package/views/interactive/snapping/featureSources/FeatureServiceSnappingSource.js +1 -1
  454. package/views/interactive/snapping/snappingUtils.js +1 -1
  455. package/views/interactive/tooltip/content/tooltipContentFactory.js +1 -1
  456. package/views/interactive/tooltip/infos/DrawCircleTooltipInfo.js +1 -1
  457. package/views/interactive/tooltip/infos/DrawMultipointTooltipInfo.js +5 -0
  458. package/views/interactive/tooltip/infos/DrawRectangleTooltipInfo.js +1 -1
  459. package/views/layers/FeatureLayerView.js +1 -1
  460. package/views/layers/MediaLayerView.js +1 -1
  461. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.js +1 -1
  462. package/widgets/BatchAttributeForm/batchAttributeFormUtils.js +1 -1
  463. package/widgets/BatchAttributeForm/expressions/ExpressionsManager.js +1 -1
  464. package/widgets/BatchAttributeForm/expressions/ExpressionsModel.js +1 -1
  465. package/widgets/BatchAttributeForm/inputs/EditableInput.js +1 -1
  466. package/widgets/BatchAttributeForm/inputs/FieldInput.js +1 -1
  467. package/widgets/BatchAttributeForm/inputs/GroupInput.js +1 -1
  468. package/widgets/BatchAttributeForm/inputs/InputBase.js +1 -1
  469. package/widgets/BatchAttributeForm/inputs/support/createBatchFormInputs.js +1 -1
  470. package/widgets/BatchAttributeForm/inputs/support/inputUtils.js +1 -1
  471. package/widgets/BatchAttributeForm/templates/BatchFormTemplate.js +1 -1
  472. package/widgets/BatchAttributeForm/templates/FieldElementTemplate.js +1 -1
  473. package/widgets/BatchAttributeForm/templates/GroupElementTemplate.js +1 -1
  474. package/widgets/BatchAttributeForm/templates/support/createBatchFormTemplate.js +1 -1
  475. package/widgets/BatchAttributeForm/templates/support/hashElementTemplate.js +1 -1
  476. package/widgets/BatchAttributeForm.js +1 -1
  477. package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
  478. package/widgets/Editor/CreateFeaturesWorkflowData.js +1 -1
  479. package/widgets/Editor/EditorViewModel.js +1 -1
  480. package/widgets/Editor/Edits.js +1 -1
  481. package/widgets/Editor/UpdateWorkflow.js +1 -1
  482. package/widgets/Editor/VisibleElements.js +1 -1
  483. package/widgets/Editor/components/CreateFeaturesPanelContent.js +1 -1
  484. package/widgets/Editor/components/PanelToolbar.js +1 -1
  485. package/widgets/Editor/components/PendingFeatureList.js +5 -0
  486. package/widgets/Editor/components/UpdateFeaturePanelContent.js +1 -1
  487. package/widgets/Editor/css.js +1 -1
  488. package/widgets/Editor/workflowUtils.js +1 -1
  489. package/widgets/Editor.js +1 -1
  490. package/widgets/Feature.js +1 -1
  491. package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/AssociationDetails.js +5 -0
  492. package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/FeatureFormUtilityNetworkAssociationList.js +1 -1
  493. package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/FeatureFormUtilityNetworkAssociationSettings.js +1 -1
  494. package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
  495. package/widgets/FeatureForm/FieldInput.js +1 -1
  496. package/widgets/FeatureForm/UtilityNetworkAssociationInput.js +1 -1
  497. package/widgets/FeatureForm.js +1 -1
  498. package/widgets/LinkChartLayoutSwitcher/LinkChartLayoutSwitcherViewModel.d.ts +4 -0
  499. package/widgets/LinkChartLayoutSwitcher/LinkChartLayoutSwitcherViewModel.js +1 -1
  500. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  501. package/widgets/OrientedImageryViewer/adapters/sketch/MeasurementAdapter.js +1 -1
  502. package/widgets/OrientedImageryViewer/components/ImageLocationWidget.js +5 -0
  503. package/widgets/OrientedImageryViewer/components/ImageOverlays.js +1 -1
  504. package/widgets/OrientedImageryViewer/imageMeasurementUtils.js +1 -1
  505. package/widgets/OrientedImageryViewer/mixins/ImageMeasurementMixin.js +1 -1
  506. package/widgets/OrientedImageryViewer/mixins/SketchHandlerMixin.js +1 -1
  507. package/widgets/OrientedImageryViewer.js +1 -1
  508. package/widgets/PanoramicViewer/PanoramicViewerViewModel.js +1 -1
  509. package/widgets/Search.js +1 -1
  510. package/widgets/ShadowCast/ShadowCastViewModel.js +1 -1
  511. package/widgets/Sketch/SketchViewModel.js +1 -1
  512. package/widgets/Sketch/VisibleElements.js +1 -1
  513. package/widgets/Sketch.js +1 -1
  514. package/widgets/Swipe/SwipeViewModel.js +1 -1
  515. package/widgets/UtilityNetworkTrace.js +1 -1
  516. package/widgets/support/FilterBuilder/FilterBuilderViewModel.js +5 -0
  517. package/widgets/support/FilterBuilder.js +5 -0
  518. package/widgets/support/FilterCondition/FilterConditionViewModel.js +5 -0
  519. package/widgets/support/FilterCondition/conditionUtils.js +5 -0
  520. package/widgets/support/FilterCondition.js +5 -0
  521. package/widgets/support/ItemList.js +1 -1
  522. package/widgets/support/UtilityNetworkAssociations/UtilityNetworkAssociationsViewModel.js +1 -1
  523. package/widgets/support/UtilityNetworkAssociations/utilityNetworkUtils.js +1 -1
  524. package/widgets/support/widget.d.ts +9 -0
  525. package/assets/esri/core/workers/chunks/0bafa546602b776caf2f.js +0 -1
  526. package/assets/esri/core/workers/chunks/1891c9aa162c5df1d27c.js +0 -1
  527. package/assets/esri/core/workers/chunks/69ab4b780f7223cfd7dd.js +0 -1
  528. package/assets/esri/core/workers/chunks/6f796f2836f949ab7359.js +0 -1
  529. package/assets/esri/core/workers/chunks/83edac97a52b26ead1ea.js +0 -314
  530. package/assets/esri/core/workers/chunks/97310e6eec87eeaf58f0.js +0 -1
  531. package/assets/esri/core/workers/chunks/9ffa27d0517bad84572e.js +0 -1
@@ -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{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{MaterialParameters as s}from"../lib/Material.js";import{H as t}from"../../../../chunks/HeatmapDensity.glsl.js";import{makePipelineState as o,weightedAdd as i,defaultColorWrite as l}from"../../../webgl/renderState.js";class a extends s{constructor(){super(...arguments),this.searchRadius=128,this.resolutionForScale=0}}class n extends r{constructor(r,s,o){super(r,s,new e(t,(()=>import("./HeatmapDensity.glsl.js"))),o)}initializePipeline(){return o({blending:i,colorWrite:l,depthTest:null,depthWrite:null})}destroy(){super.destroy()}}export{a as HeatmapDensityPassParameters,n as HeatmapDensityTechnique};
5
+ import{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{MaterialParameters as s}from"../lib/Material.js";import{H as t}from"../../../../chunks/HeatmapDensity.glsl.js";import{makePipelineState as o,weightedAdd as i,defaultColorWrite as l}from"../../../webgl/renderState.js";class a extends s{constructor(){super(...arguments),this.searchRadius=128,this.resolutionForScale=0}}class n extends r{constructor(r,s){super(r,s,new e(t,(()=>import("./HeatmapDensity.glsl.js"))))}initializePipeline(){return o({blending:i,colorWrite:l,depthTest:null,depthWrite:null})}destroy(){super.destroy()}}export{a as HeatmapDensityPassParameters,n as HeatmapDensityTechnique};
@@ -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{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{H as s}from"../../../../chunks/Heatmap.glsl.js";import{PrimitiveType as t}from"../../../webgl/enums.js";import{NoParameters as i}from"../../../webgl/NoParameters.js";import{makePipelineState as o,premultipliedAlphaToPremultipliedAlpha as l,defaultColorWrite as n}from"../../../webgl/renderState.js";class a extends i{constructor(){super(...arguments),this.colorRamp=null,this.densityMap=null,this.searchRadius=1,this.fieldTotal=0,this.minDensity=0,this.maxDensity=100}}class m extends r{constructor(r,i,o){super(r,i,new e(s,(()=>import("./Heatmap.glsl.js"))),o),this.primitiveType=t.TRIANGLE_STRIP}initializePipeline(){return o({blending:l,colorWrite:n,depthTest:null,depthWrite:null})}}export{a as HeatmapPassParameters,m as HeatmapTechnique};
5
+ import{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{H as s}from"../../../../chunks/Heatmap.glsl.js";import{PrimitiveType as t}from"../../../webgl/enums.js";import{NoParameters as i}from"../../../webgl/NoParameters.js";import{makePipelineState as o,premultipliedAlphaToPremultipliedAlpha as l,defaultColorWrite as n}from"../../../webgl/renderState.js";class a extends i{constructor(){super(...arguments),this.colorRamp=null,this.densityMap=null,this.searchRadius=1,this.fieldTotal=0,this.minDensity=0,this.maxDensity=100}}class m extends r{constructor(r,i){super(r,i,new e(s,(()=>import("./Heatmap.glsl.js")))),this.primitiveType=t.TRIANGLE_STRIP}initializePipeline(){return o({blending:l,colorWrite:n,depthTest:null,depthWrite:null})}}export{a as HeatmapPassParameters,m as HeatmapTechnique};
@@ -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{isColorOrColorEmission as e}from"../core/shaderLibrary/ShaderOutput.js";import{ReloadableShaderModule as t}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{OITPass as i}from"../lib/OITPass.js";import{oitBlending as l,oitDepthTest as s,depthWrite as n,getDrawBuffers as o,getOITPolygonOffset as a}from"../lib/OrderIndependentTransparency.js";import{stencilWriteMaskOn as p,stencilToolMaskBaseParams as c,stencilBaseAllZerosParams as u}from"../lib/StencilUtils.js";import{VertexAttribute as m}from"../lib/VertexAttribute.js";import{I as d}from"../../../../chunks/ImageMaterial.glsl.js";import{NoParameters as f}from"../../../webgl/NoParameters.js";import{makePipelineState as h,blendWithPremultipliedAlpha as g,cullingParams as P,defaultColorWrite as b}from"../../../webgl/renderState.js";class j extends f{}class I extends r{constructor(e,r,i){super(e,r,new t(d,(()=>import("./ImageMaterial.glsl.js"))),i,S)}_getPipelineState(t,r){const{oitPass:m,output:d,hasOccludees:f,enableOffset:j,cullFace:I}=t,S=m===i.NONE,O=m===i.FrontFace;return h({blending:e(d)?S?g:l(m):null,culling:P(I),depthTest:{func:s(m)},depthWrite:n(t),drawBuffers:o(m,d),colorWrite:b,stencilWrite:f?p:null,stencilTest:f?r?c:u:null,polygonOffset:S||O?null:a(j)})}initializePipeline(e){return this._occludeePipeline=this._getPipelineState(e,!0),this._getPipelineState(e,!1)}getPipeline(e){return e?this._occludeePipeline:super.getPipeline()}}const S=new Map([[m.POSITION,0],[m.UV0,2],[m.PERSPECTIVEDIVIDE,3]]);export{j as ImageMaterialPassParameters,I as ImageMaterialTechnique,S as vertexAttributeLocations};
5
+ import{isColorOrColorEmission as e}from"../core/shaderLibrary/ShaderOutput.js";import{ReloadableShaderModule as t}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{OITPass as i}from"../lib/OITPass.js";import{oitBlending as l,oitDepthTest as s,depthWrite as n,getDrawBuffers as o,getOITPolygonOffset as a}from"../lib/OrderIndependentTransparency.js";import{stencilWriteMaskOn as p,stencilToolMaskBaseParams as c,stencilBaseAllZerosParams as u}from"../lib/StencilUtils.js";import{VertexAttribute as m}from"../lib/VertexAttribute.js";import{I as d}from"../../../../chunks/ImageMaterial.glsl.js";import{NoParameters as f}from"../../../webgl/NoParameters.js";import{makePipelineState as h,blendWithPremultipliedAlpha as g,cullingParams as P,defaultColorWrite as b}from"../../../webgl/renderState.js";class j extends f{}class I extends r{constructor(e,r){super(e,r,new t(d,(()=>import("./ImageMaterial.glsl.js"))),S)}_getPipelineState(t,r){const{oitPass:m,output:d,hasOccludees:f,enableOffset:j,cullFace:I}=t,S=m===i.NONE,O=m===i.FrontFace;return h({blending:e(d)?S?g:l(m):null,culling:P(I),depthTest:{func:s(m)},depthWrite:n(t),drawBuffers:o(m,d),colorWrite:b,stencilWrite:f?p:null,stencilTest:f?r?c:u:null,polygonOffset:S||O?null:a(j)})}initializePipeline(e){return this._occludeePipeline=this._getPipelineState(e,!0),this._getPipelineState(e,!1)}getPipeline(e){return e?this._occludeePipeline:super.getPipeline()}}const S=new Map([[m.POSITION,0],[m.UV0,2],[m.PERSPECTIVEDIVIDE,3]]);export{j as ImageMaterialPassParameters,I as ImageMaterialTechnique,S as vertexAttributeLocations};
@@ -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{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{L as t}from"../../../../chunks/LineCallout.glsl.js";import{CompareFunction as o,BlendFactor as s}from"../../../webgl/enums.js";import{makePipelineState as i,defaultDepthWrite as n,separateBlendingParams as l,defaultColorWrite as h}from"../../../webgl/renderState.js";class p extends r{constructor(r,o,s){super(r,o,new e(t,(()=>import("./LineCallout.glsl.js"))),s)}initializePipeline(e){const{hudDepth:r,terrainDepthTest:t}=e,p={func:t?o.ALWAYS:o.LESS};return i(r?{depthTest:p,depthWrite:n}:{blending:l(s.ONE,s.SRC_ALPHA,s.ONE_MINUS_SRC_ALPHA,s.ONE_MINUS_SRC_ALPHA),depthTest:p,colorWrite:h})}}export{p as LineCalloutTechnique};
5
+ import{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{L as t}from"../../../../chunks/LineCallout.glsl.js";import{CompareFunction as o,BlendFactor as s}from"../../../webgl/enums.js";import{makePipelineState as i,defaultDepthWrite as n,separateBlendingParams as l,defaultColorWrite as h}from"../../../webgl/renderState.js";class p extends r{constructor(r,o){super(r,o,new e(t,(()=>import("./LineCallout.glsl.js"))))}initializePipeline(e){const{hudDepth:r,terrainDepthTest:t}=e,p={func:t?o.ALWAYS:o.LESS};return i(r?{depthTest:p,depthWrite:n}:{blending:l(s.ONE,s.SRC_ALPHA,s.ONE_MINUS_SRC_ALPHA,s.ONE_MINUS_SRC_ALPHA),depthTest:p,colorWrite:h})}}export{p as LineCalloutTechnique};
@@ -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{isColorOrColorEmission as e,ShaderOutput as i}from"../core/shaderLibrary/ShaderOutput.js";import{ReloadableShaderModule as t}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{blending as l,oitDepthTest as n,depthWrite as s,getDrawBuffers as o}from"../lib/OrderIndependentTransparency.js";import{RenderSlot as p}from"../lib/RenderSlot.js";import{stencilWriteMaskOn as c,stencilToolMaskBaseParams as u,stencilBaseAllZerosParams as a,depthCompareAlways as d,stencilToolTransparentOccluderParams as T,stencilWriteMaskOff as h,stencilToolMaskOccluderParams as m,depthCompareLess as P}from"../lib/StencilUtils.js";import{VertexAttribute as f}from"../lib/VertexAttribute.js";import{L as O}from"../../../../chunks/LineMarker.glsl.js";import{LineMarkerSpace as E}from"./LineMarkerTechniqueConfiguration.js";import{SpecialDrawBuffers as R}from"../../../webgl/enums.js";import{makePipelineState as _,defaultColorWrite as S,premultipliedAlphaToPremultipliedAlpha as A}from"../../../webgl/renderState.js";class W extends r{constructor(e,i,r){super(e,i,new t(O,(()=>import("./LineMarker.glsl.js"))),r,b)}_makePipelineState(t,r){const{output:p,oitPass:d,space:T,hasOccludees:h}=t;return _({blending:e(p)?l(d):null,depthTest:T===E.Draped?null:{func:n(d)},depthWrite:s(t),drawBuffers:p===i.Depth?{buffers:[R.NONE]}:o(d,p),colorWrite:S,stencilWrite:h?c:null,stencilTest:h?r?u:a:null,polygonOffset:{factor:0,units:-10}})}initializePipeline(e){return e.occluder?(this._occluderPipelineTransparent=_({blending:A,depthTest:d,depthWrite:null,colorWrite:S,stencilWrite:null,stencilTest:T}),this._occluderPipelineOpaque=_({blending:A,depthTest:d,depthWrite:null,colorWrite:S,stencilWrite:h,stencilTest:m}),this._occluderPipelineMaskWrite=_({blending:null,depthTest:P,depthWrite:null,colorWrite:null,stencilWrite:c,stencilTest:u})):this._occluderPipelineTransparent=this._occluderPipelineOpaque=this._occluderPipelineMaskWrite=null,this._occludeePipelineState=this._makePipelineState(e,!0),this._makePipelineState(e,!1)}getPipeline(e,i){return e?this._occludeePipelineState:i===p.TRANSPARENT_OCCLUDER_MATERIAL?this._occluderPipelineTransparent??super.getPipeline():i===p.OCCLUDER_MATERIAL?this._occluderPipelineOpaque??super.getPipeline():this._occluderPipelineMaskWrite??super.getPipeline()}}const b=new Map([[f.POSITION,0],[f.PREVPOSITION,1],[f.UV0,2],[f.NORMAL,3],[f.COLOR,4],[f.COLORFEATUREATTRIBUTE,4],[f.SIZE,5],[f.SIZEFEATUREATTRIBUTE,5],[f.OPACITYFEATUREATTRIBUTE,6]]);export{W as LineMarkerTechnique,b as vertexAttributeLocations};
5
+ import{isColorOrColorEmission as e,ShaderOutput as i}from"../core/shaderLibrary/ShaderOutput.js";import{ReloadableShaderModule as t}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{blending as l,oitDepthTest as n,depthWrite as s,getDrawBuffers as o}from"../lib/OrderIndependentTransparency.js";import{RenderSlot as p}from"../lib/RenderSlot.js";import{stencilWriteMaskOn as c,stencilToolMaskBaseParams as u,stencilBaseAllZerosParams as a,depthCompareAlways as d,stencilToolTransparentOccluderParams as T,stencilWriteMaskOff as h,stencilToolMaskOccluderParams as m,depthCompareLess as P}from"../lib/StencilUtils.js";import{VertexAttribute as f}from"../lib/VertexAttribute.js";import{L as O}from"../../../../chunks/LineMarker.glsl.js";import{LineMarkerSpace as E}from"./LineMarkerTechniqueConfiguration.js";import{SpecialDrawBuffers as R}from"../../../webgl/enums.js";import{makePipelineState as _,defaultColorWrite as S,premultipliedAlphaToPremultipliedAlpha as A}from"../../../webgl/renderState.js";class W extends r{constructor(e,i){super(e,i,new t(O,(()=>import("./LineMarker.glsl.js"))),b)}_makePipelineState(t,r){const{output:p,oitPass:d,space:T,hasOccludees:h}=t;return _({blending:e(p)?l(d):null,depthTest:T===E.Draped?null:{func:n(d)},depthWrite:s(t),drawBuffers:p===i.Depth?{buffers:[R.NONE]}:o(d,p),colorWrite:S,stencilWrite:h?c:null,stencilTest:h?r?u:a:null,polygonOffset:{factor:0,units:-10}})}initializePipeline(e){return e.occluder?(this._occluderPipelineTransparent=_({blending:A,depthTest:d,depthWrite:null,colorWrite:S,stencilWrite:null,stencilTest:T}),this._occluderPipelineOpaque=_({blending:A,depthTest:d,depthWrite:null,colorWrite:S,stencilWrite:h,stencilTest:m}),this._occluderPipelineMaskWrite=_({blending:null,depthTest:P,depthWrite:null,colorWrite:null,stencilWrite:c,stencilTest:u})):this._occluderPipelineTransparent=this._occluderPipelineOpaque=this._occluderPipelineMaskWrite=null,this._occludeePipelineState=this._makePipelineState(e,!0),this._makePipelineState(e,!1)}getPipeline(e,i){return e?this._occludeePipelineState:i===p.TRANSPARENT_OCCLUDER_MATERIAL?this._occluderPipelineTransparent??super.getPipeline():i===p.OCCLUDER_MATERIAL?this._occluderPipelineOpaque??super.getPipeline():this._occluderPipelineMaskWrite??super.getPipeline()}}const b=new Map([[f.POSITION,0],[f.PREVPOSITION,1],[f.UV0,2],[f.NORMAL,3],[f.COLOR,4],[f.COLORFEATUREATTRIBUTE,4],[f.SIZE,5],[f.SIZEFEATUREATTRIBUTE,5],[f.OPACITYFEATUREATTRIBUTE,6]]);export{W as LineMarkerTechnique,b as vertexAttributeLocations};
@@ -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{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{blending as t}from"../lib/OrderIndependentTransparency.js";import{VertexAttribute as o}from"../lib/VertexAttribute.js";import{M as n}from"../../../../chunks/MeasurementArrow.glsl.js";import{PrimitiveType as s,CompareFunction as i}from"../../../webgl/enums.js";import{makePipelineState as l,defaultDepthWrite as p,defaultColorWrite as a}from"../../../webgl/renderState.js";class m extends r{constructor(r,t,o){super(r,t,new e(n,(()=>import("./MeasurementArrow.glsl.js"))),o,u),this.primitiveType=s.TRIANGLE_STRIP}initializePipeline(e){return l({blending:e.transparent?t(e.oitPass):null,polygonOffset:e.polygonOffsetEnabled?{factor:0,units:-4}:null,depthTest:{func:i.LESS},depthWrite:p,colorWrite:a})}}const u=new Map([[o.POSITION,0],[o.NORMAL,1],[o.UV0,2],[o.LENGTH,3]]);export{m as MeasurementArrowTechnique,u as vertexAttributeLocations};
5
+ import{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{blending as t}from"../lib/OrderIndependentTransparency.js";import{VertexAttribute as o}from"../lib/VertexAttribute.js";import{M as n}from"../../../../chunks/MeasurementArrow.glsl.js";import{PrimitiveType as s,CompareFunction as i}from"../../../webgl/enums.js";import{makePipelineState as l,defaultDepthWrite as p,defaultColorWrite as a}from"../../../webgl/renderState.js";class m extends r{constructor(r,t){super(r,t,new e(n,(()=>import("./MeasurementArrow.glsl.js"))),u),this.primitiveType=s.TRIANGLE_STRIP}initializePipeline(e){return l({blending:e.transparent?t(e.oitPass):null,polygonOffset:e.polygonOffsetEnabled?{factor:0,units:-4}:null,depthTest:{func:i.LESS},depthWrite:p,colorWrite:a})}}const u=new Map([[o.POSITION,0],[o.NORMAL,1],[o.UV0,2],[o.LENGTH,3]]);export{m as MeasurementArrowTechnique,u as vertexAttributeLocations};
@@ -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{isColorOrColorEmission as e}from"../core/shaderLibrary/ShaderOutput.js";import{ReloadableShaderModule as i}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{depthCompareLess as t,stencilWriteMaskOn as l,stencilToolMaskBaseParams as s,stencilBaseAllZerosParams as n}from"../lib/StencilUtils.js";import{N as o}from"../../../../chunks/NativeLine.glsl.js";import{PrimitiveType as u}from"../../../webgl/enums.js";import{makePipelineState as p,defaultColorWrite as c,defaultDepthWrite as a,premultipliedAlphaToPremultipliedAlpha as m}from"../../../webgl/renderState.js";class d extends r{constructor(e,r,t){super(e,r,new i(o,(()=>import("./NativeLine.glsl.js"))),t),this.primitiveType=u.LINES}initializePipeline(i){const{hasOccludees:r,output:o,transparent:u}=i,d=(e,i=null,o=null)=>p({blending:i,depthTest:t,depthWrite:o,colorWrite:c,stencilWrite:r?l:null,stencilTest:r?e?s:n:null});return e(o)?(this._occludeePipeline=d(!0,u?m:null,a),d(!1,u?m:null,a)):d(!1)}getPipeline(e){return e?this._occludeePipeline:super.getPipeline()}}export{d as NativeLineTechnique};
5
+ import{isColorOrColorEmission as e}from"../core/shaderLibrary/ShaderOutput.js";import{ReloadableShaderModule as i}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{depthCompareLess as t,stencilWriteMaskOn as l,stencilToolMaskBaseParams as s,stencilBaseAllZerosParams as n}from"../lib/StencilUtils.js";import{N as o}from"../../../../chunks/NativeLine.glsl.js";import{PrimitiveType as u}from"../../../webgl/enums.js";import{makePipelineState as p,defaultColorWrite as c,defaultDepthWrite as a,premultipliedAlphaToPremultipliedAlpha as m}from"../../../webgl/renderState.js";class d extends r{constructor(e,r){super(e,r,new i(o,(()=>import("./NativeLine.glsl.js")))),this.primitiveType=u.LINES}initializePipeline(i){const{hasOccludees:r,output:o,transparent:u}=i,d=(e,i=null,o=null)=>p({blending:i,depthTest:t,depthWrite:o,colorWrite:c,stencilWrite:r?l:null,stencilTest:r?e?s:n:null});return e(o)?(this._occludeePipeline=d(!0,u?m:null,a),d(!1,u?m:null,a)):d(!1)}getPipeline(e){return e?this._occludeePipeline:super.getPipeline()}}export{d as NativeLineTechnique};
@@ -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{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{a as o}from"../../../../chunks/OverlayCompositing.glsl.js";class s extends r{constructor(r,s,a){super(r,s,new e(o,(()=>import("./OverlayCompositing.glsl.js"))),a)}}export{s as OverlayCompositingTechnique};
5
+ import{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{a as o}from"../../../../chunks/OverlayCompositing.glsl.js";class s extends r{constructor(r,s){super(r,s,new e(o,(()=>import("./OverlayCompositing.glsl.js"))))}}export{s as OverlayCompositingTechnique};
@@ -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{isColorOrColorEmission as e,ShaderOutput as t}from"../core/shaderLibrary/ShaderOutput.js";import{ReloadableShaderModule as r}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as i}from"../core/shaderTechnique/ShaderTechnique.js";import{olidEnabled as s}from"../effects/geometry/olidUtils.js";import{OITPass as l}from"../lib/OITPass.js";import{blending as n,oitDepthTest as o,depthWrite as p,getDrawBuffers as a,getOITPolygonOffset as u}from"../lib/OrderIndependentTransparency.js";import{stencilWriteMaskOn as c,stencilToolMaskBaseParams as O,stencilBaseAllZerosParams as f}from"../lib/StencilUtils.js";import{VertexAttribute as m}from"../lib/VertexAttribute.js";import{P as d}from"../../../../chunks/Pattern.glsl.js";import{SpecialDrawBuffers as T}from"../../../webgl/enums.js";import{makePipelineState as P,cullingParams as h,defaultColorWrite as E}from"../../../webgl/renderState.js";class S extends i{constructor(e,t,i){super(e,t,new r(d,(()=>import("./Pattern.glsl.js"))),i,s()?j:b)}_setPipelineState(r,i){const{oitPass:s,output:m,cullFace:d,draped:S,hasOccludees:b,polygonOffset:j,enableOffset:g}=r,A=s===l.NONE,I=s===l.FrontFace;return P({blending:e(m)?n(s):null,culling:h(d),depthTest:S?null:{func:o(s)},depthWrite:p(r),drawBuffers:m===t.Depth?{buffers:[T.NONE]}:a(s,m),colorWrite:E,stencilWrite:b?c:null,stencilTest:b?i?O:f:null,polygonOffset:A||I?j?R:null:u(g)})}initializePipeline(e){return this._occludeePipelineState=this._setPipelineState(e,!0),this._setPipelineState(e,!1)}getPipeline(e){return e?this._occludeePipelineState:super.getPipeline()}}const R={factor:1,units:1},b=new Map([[m.POSITION,0],[m.COLOR,3],[m.UVMAPSPACE,4],[m.COLORFEATUREATTRIBUTE,5],[m.BOUNDINGRECT,6]]),j=new Map([[m.POSITION,0],[m.COLOR,3],[m.UVMAPSPACE,4],[m.COLORFEATUREATTRIBUTE,5],[m.BOUNDINGRECT,6],[m.OBJECTANDLAYERIDCOLOR,9]]);export{S as PatternTechnique,b as vertexAttributeLocations,j as vertexAttributeLocationsOID};
5
+ import{isColorOrColorEmission as e,ShaderOutput as t}from"../core/shaderLibrary/ShaderOutput.js";import{ReloadableShaderModule as r}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as i}from"../core/shaderTechnique/ShaderTechnique.js";import{olidEnabled as s}from"../effects/geometry/olidUtils.js";import{OITPass as l}from"../lib/OITPass.js";import{blending as n,oitDepthTest as o,depthWrite as p,getDrawBuffers as a,getOITPolygonOffset as u}from"../lib/OrderIndependentTransparency.js";import{stencilWriteMaskOn as c,stencilToolMaskBaseParams as O,stencilBaseAllZerosParams as f}from"../lib/StencilUtils.js";import{VertexAttribute as m}from"../lib/VertexAttribute.js";import{P as d}from"../../../../chunks/Pattern.glsl.js";import{SpecialDrawBuffers as T}from"../../../webgl/enums.js";import{makePipelineState as P,cullingParams as h,defaultColorWrite as E}from"../../../webgl/renderState.js";class S extends i{constructor(e,t){super(e,t,new r(d,(()=>import("./Pattern.glsl.js"))),s()?j:b)}_setPipelineState(r,i){const{oitPass:s,output:m,cullFace:d,draped:S,hasOccludees:b,polygonOffset:j,enableOffset:g}=r,A=s===l.NONE,I=s===l.FrontFace;return P({blending:e(m)?n(s):null,culling:h(d),depthTest:S?null:{func:o(s)},depthWrite:p(r),drawBuffers:m===t.Depth?{buffers:[T.NONE]}:a(s,m),colorWrite:E,stencilWrite:b?c:null,stencilTest:b?i?O:f:null,polygonOffset:A||I?j?R:null:u(g)})}initializePipeline(e){return this._occludeePipelineState=this._setPipelineState(e,!0),this._setPipelineState(e,!1)}getPipeline(e){return e?this._occludeePipelineState:super.getPipeline()}}const R={factor:1,units:1},b=new Map([[m.POSITION,0],[m.COLOR,3],[m.UVMAPSPACE,4],[m.COLORFEATUREATTRIBUTE,5],[m.BOUNDINGRECT,6]]),j=new Map([[m.POSITION,0],[m.COLOR,3],[m.UVMAPSPACE,4],[m.COLORFEATUREATTRIBUTE,5],[m.BOUNDINGRECT,6],[m.OBJECTANDLAYERIDCOLOR,9]]);export{S as PatternTechnique,b as vertexAttributeLocations,j as vertexAttributeLocationsOID};
@@ -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{ShaderOutput as e}from"../core/shaderLibrary/ShaderOutput.js";import{ReloadableShaderModule as r}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as t}from"../core/shaderTechnique/ShaderTechnique.js";import{stencilWriteMaskOn as s,stencilBaseAllZerosParams as i}from"../lib/StencilUtils.js";import{b as o}from"../../../../chunks/PointRenderer.glsl.js";import{CompareFunction as l,SpecialDrawBuffers as n}from"../../../webgl/enums.js";import{makePipelineState as u,defaultDepthWrite as c,defaultColorWrite as d}from"../../../webgl/renderState.js";class a extends t{constructor(e,t,s){super(e,t,new r(o,(()=>import("./PointRenderer.glsl.js"))),s)}initializePipeline(r){return u({depthTest:{func:l.LESS},depthWrite:c,colorWrite:d,stencilWrite:r.hasOccludees?s:null,stencilTest:r.hasOccludees?i:null,drawBuffers:r.output===e.Depth?{buffers:[n.NONE]}:null})}}export{a as PointRendererTechnique};
5
+ import{ShaderOutput as e}from"../core/shaderLibrary/ShaderOutput.js";import{ReloadableShaderModule as r}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as t}from"../core/shaderTechnique/ShaderTechnique.js";import{stencilWriteMaskOn as s,stencilBaseAllZerosParams as i}from"../lib/StencilUtils.js";import{b as o}from"../../../../chunks/PointRenderer.glsl.js";import{CompareFunction as l,SpecialDrawBuffers as n}from"../../../webgl/enums.js";import{makePipelineState as u,defaultDepthWrite as c,defaultColorWrite as d}from"../../../webgl/renderState.js";class a extends t{constructor(e,t){super(e,t,new r(o,(()=>import("./PointRenderer.glsl.js"))))}initializePipeline(r){return u({depthTest:{func:l.LESS},depthWrite:c,colorWrite:d,stencilWrite:r.hasOccludees?s:null,stencilTest:r.hasOccludees?i:null,drawBuffers:r.output===e.Depth?{buffers:[n.NONE]}:null})}}export{a as PointRendererTechnique};
@@ -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{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{DefaultMaterialTechnique as r}from"./DefaultMaterialTechnique.js";import{R as s}from"../../../../chunks/RealisticTree.glsl.js";class i extends r{constructor(r,i,t){super(r,i,t,new e(s,(()=>import("./RealisticTree.glsl.js")))),this.type="RealisticTreeTechnique"}}export{i as RealisticTreeTechnique};
5
+ import{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{DefaultMaterialTechnique as r}from"./DefaultMaterialTechnique.js";import{R as s}from"../../../../chunks/RealisticTree.glsl.js";class i extends r{constructor(r,i){super(r,i,new e(s,(()=>import("./RealisticTree.glsl.js")))),this.type="RealisticTreeTechnique"}}export{i as RealisticTreeTechnique};
@@ -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"../../../../core/has.js";import{isColorOrColorEmission as e,ShaderOutput as t}from"../core/shaderLibrary/ShaderOutput.js";import{ReloadableShaderModule as i}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{OITPass as l}from"../lib/OITPass.js";import{blending as s,oitDepthTest as n,depthWrite as o,getDrawBuffers as u,OITPolygonOffset as p}from"../lib/OrderIndependentTransparency.js";import{RenderSlot as c}from"../lib/RenderSlot.js";import{stencilWriteMaskOn as a,stencilToolMaskBaseParams as f,stencilBaseAllZerosParams as d,depthCompareAlways as T,stencilToolTransparentOccluderParams as h,stencilWriteMaskOff as O,stencilToolMaskOccluderParams as m,depthCompareLess as E}from"../lib/StencilUtils.js";import{VertexAttribute as P}from"../lib/VertexAttribute.js";import{R}from"../../../../chunks/RibbonLine.glsl.js";import{PrimitiveType as I,SpecialDrawBuffers as b}from"../../../webgl/enums.js";import{makePipelineState as N,defaultColorWrite as S,premultipliedAlphaToPremultipliedAlpha as g}from"../../../webgl/renderState.js";class A extends r{constructor(e,t,r){super(e,t,new i(R,(()=>import("./RibbonLine.glsl.js"))),r,W),this.primitiveType=t.wireframe?I.LINES:I.TRIANGLE_STRIP}_makePipelineState(i,r){const{oitPass:c,output:T,hasOccludees:h,hasPolygonOffset:O}=i,m=c===l.NONE,E=c===l.FrontFace;return N({blending:e(T)?s(c):null,depthTest:{func:n(c)},depthWrite:o(i),drawBuffers:T===t.Depth?{buffers:[b.NONE]}:u(c,T),colorWrite:S,stencilWrite:h?a:null,stencilTest:h?r?f:d:null,polygonOffset:m||E?O?_:null:p})}initializePipeline(e){if(e.occluder){const i=e.hasPolygonOffset?_:null;this._occluderPipelineTransparent=N({blending:g,polygonOffset:i,depthTest:T,depthWrite:null,colorWrite:S,stencilWrite:null,stencilTest:h,drawBuffers:e.output===t.Depth?{buffers:[b.NONE]}:null}),this._occluderPipelineOpaque=N({blending:g,polygonOffset:i,depthTest:T,depthWrite:null,colorWrite:S,stencilWrite:O,stencilTest:m,drawBuffers:e.output===t.Depth?{buffers:[b.NONE]}:null}),this._occluderPipelineMaskWrite=N({blending:null,polygonOffset:i,depthTest:E,depthWrite:null,colorWrite:null,stencilWrite:a,stencilTest:f,drawBuffers:e.output===t.Depth?{buffers:[b.NONE]}:null})}return this._occludeePipeline=this._makePipelineState(e,!0),this._makePipelineState(e,!1)}getPipeline(e,t){if(e)return this._occludeePipeline;switch(t){case c.TRANSPARENT_OCCLUDER_MATERIAL:return this._occluderPipelineTransparent??super.getPipeline();case c.OCCLUDER_MATERIAL:return this._occluderPipelineOpaque??super.getPipeline();default:return this._occluderPipelineMaskWrite??super.getPipeline()}}}const _={factor:0,units:-4},W=new Map([[P.POSITION,0],[P.PREVPOSITION,1],[P.NEXTPOSITION,2],[P.SUBDIVISIONFACTOR,3],[P.UV0,4],[P.COLOR,5],[P.COLORFEATUREATTRIBUTE,5],[P.SIZE,6],[P.SIZEFEATUREATTRIBUTE,6],[P.OPACITYFEATUREATTRIBUTE,7],[P.OBJECTANDLAYERIDCOLOR,8]]);export{A as RibbonLineTechnique,W as vertexAttributeLocations};
5
+ import"../../../../core/has.js";import{isColorOrColorEmission as e,ShaderOutput as t}from"../core/shaderLibrary/ShaderOutput.js";import{ReloadableShaderModule as i}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{OITPass as l}from"../lib/OITPass.js";import{blending as s,oitDepthTest as n,depthWrite as o,getDrawBuffers as u,OITPolygonOffset as p}from"../lib/OrderIndependentTransparency.js";import{RenderSlot as c}from"../lib/RenderSlot.js";import{stencilWriteMaskOn as a,stencilToolMaskBaseParams as f,stencilBaseAllZerosParams as d,depthCompareAlways as T,stencilToolTransparentOccluderParams as h,stencilWriteMaskOff as O,stencilToolMaskOccluderParams as m,depthCompareLess as E}from"../lib/StencilUtils.js";import{VertexAttribute as P}from"../lib/VertexAttribute.js";import{R}from"../../../../chunks/RibbonLine.glsl.js";import{PrimitiveType as I,SpecialDrawBuffers as b}from"../../../webgl/enums.js";import{makePipelineState as N,defaultColorWrite as S,premultipliedAlphaToPremultipliedAlpha as g}from"../../../webgl/renderState.js";class A extends r{constructor(e,t){super(e,t,new i(R,(()=>import("./RibbonLine.glsl.js"))),W),this.primitiveType=t.wireframe?I.LINES:I.TRIANGLE_STRIP}_makePipelineState(i,r){const{oitPass:c,output:T,hasOccludees:h,hasPolygonOffset:O}=i,m=c===l.NONE,E=c===l.FrontFace;return N({blending:e(T)?s(c):null,depthTest:{func:n(c)},depthWrite:o(i),drawBuffers:T===t.Depth?{buffers:[b.NONE]}:u(c,T),colorWrite:S,stencilWrite:h?a:null,stencilTest:h?r?f:d:null,polygonOffset:m||E?O?_:null:p})}initializePipeline(e){if(e.occluder){const i=e.hasPolygonOffset?_:null;this._occluderPipelineTransparent=N({blending:g,polygonOffset:i,depthTest:T,depthWrite:null,colorWrite:S,stencilWrite:null,stencilTest:h,drawBuffers:e.output===t.Depth?{buffers:[b.NONE]}:null}),this._occluderPipelineOpaque=N({blending:g,polygonOffset:i,depthTest:T,depthWrite:null,colorWrite:S,stencilWrite:O,stencilTest:m,drawBuffers:e.output===t.Depth?{buffers:[b.NONE]}:null}),this._occluderPipelineMaskWrite=N({blending:null,polygonOffset:i,depthTest:E,depthWrite:null,colorWrite:null,stencilWrite:a,stencilTest:f,drawBuffers:e.output===t.Depth?{buffers:[b.NONE]}:null})}return this._occludeePipeline=this._makePipelineState(e,!0),this._makePipelineState(e,!1)}getPipeline(e,t){if(e)return this._occludeePipeline;switch(t){case c.TRANSPARENT_OCCLUDER_MATERIAL:return this._occluderPipelineTransparent??super.getPipeline();case c.OCCLUDER_MATERIAL:return this._occluderPipelineOpaque??super.getPipeline();default:return this._occluderPipelineMaskWrite??super.getPipeline()}}}const _={factor:0,units:-4},W=new Map([[P.POSITION,0],[P.PREVPOSITION,1],[P.NEXTPOSITION,2],[P.SUBDIVISIONFACTOR,3],[P.UV0,4],[P.COLOR,5],[P.COLORFEATUREATTRIBUTE,5],[P.SIZE,6],[P.SIZEFEATUREATTRIBUTE,6],[P.OPACITYFEATUREATTRIBUTE,7],[P.OBJECTANDLAYERIDCOLOR,8]]);export{A as RibbonLineTechnique,W as vertexAttributeLocations};
@@ -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{isColorOrColorEmission as e}from"../core/shaderLibrary/ShaderOutput.js";import{ReloadableShaderModule as r}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as t}from"../core/shaderTechnique/ShaderTechnique.js";import{OITPass as o}from"../lib/OITPass.js";import{blending as s,depthWrite as i,getDrawBuffers as n,OITPolygonOffset as a}from"../lib/OrderIndependentTransparency.js";import{VertexAttribute as l}from"../lib/VertexAttribute.js";import{S as d}from"../../../../chunks/ShadedColorMaterial.glsl.js";import{CompareFunction as p}from"../../../webgl/enums.js";import{makePipelineState as m,cullingParams as u,defaultColorWrite as c}from"../../../webgl/renderState.js";class h extends t{constructor(e,t,o){super(e,t,new r(d,(()=>import("./ShadedColorMaterial.glsl.js"))),o,f)}initializePipeline(r){const{oitPass:t,output:l,transparent:d,cullFace:h,shadingEnabled:f}=r,S=t===o.NONE,b=t===o.FrontFace;return m({blending:e(l)&&d?s(t):null,culling:u(h),depthTest:{func:b?p.LESS:f?p.LEQUAL:p.LESS},depthWrite:i(r),drawBuffers:n(t,l),colorWrite:c,polygonOffset:S||b?null:a})}}const f=new Map([[l.POSITION,0],[l.NORMAL,1],[l.OFFSET,2]]);export{h as ShadedColorMaterialTechnique,f as vertexAttributeLocations};
5
+ import{isColorOrColorEmission as e}from"../core/shaderLibrary/ShaderOutput.js";import{ReloadableShaderModule as r}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as t}from"../core/shaderTechnique/ShaderTechnique.js";import{OITPass as o}from"../lib/OITPass.js";import{blending as s,depthWrite as i,getDrawBuffers as n,OITPolygonOffset as a}from"../lib/OrderIndependentTransparency.js";import{VertexAttribute as l}from"../lib/VertexAttribute.js";import{S as d}from"../../../../chunks/ShadedColorMaterial.glsl.js";import{CompareFunction as p}from"../../../webgl/enums.js";import{makePipelineState as m,cullingParams as u,defaultColorWrite as c}from"../../../webgl/renderState.js";class h extends t{constructor(e,t){super(e,t,new r(d,(()=>import("./ShadedColorMaterial.glsl.js"))),f)}initializePipeline(r){const{oitPass:t,output:l,transparent:d,cullFace:h,shadingEnabled:f}=r,S=t===o.NONE,b=t===o.FrontFace;return m({blending:e(l)&&d?s(t):null,culling:u(h),depthTest:{func:b?p.LESS:f?p.LEQUAL:p.LESS},depthWrite:i(r),drawBuffers:n(t,l),colorWrite:c,polygonOffset:S||b?null:a})}}const f=new Map([[l.POSITION,0],[l.NORMAL,1],[l.OFFSET,2]]);export{h as ShadedColorMaterialTechnique,f as vertexAttributeLocations};
@@ -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{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{a as t}from"../../../../chunks/ShadowCastAccumulate.glsl.js";import{PrimitiveType as i}from"../../../webgl/enums.js";import{makePipelineState as o,weightedAdd as s,defaultColorWrite as l}from"../../../webgl/renderState.js";class a extends r{constructor(r,o,s){super(r,o,new e(t,(()=>import("./ShadowCastAccumulate.glsl.js"))),s),this.primitiveType=i.TRIANGLE_STRIP}initializePipeline(){return o({blending:s,colorWrite:l,depthTest:null,depthWrite:null})}}export{a as ShadowCastAccumulateTechnique};
5
+ import{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{a as t}from"../../../../chunks/ShadowCastAccumulate.glsl.js";import{PrimitiveType as i}from"../../../webgl/enums.js";import{makePipelineState as o,weightedAdd as s,defaultColorWrite as l}from"../../../webgl/renderState.js";class a extends r{constructor(r,o){super(r,o,new e(t,(()=>import("./ShadowCastAccumulate.glsl.js")))),this.primitiveType=i.TRIANGLE_STRIP}initializePipeline(){return o({blending:s,colorWrite:l,depthTest:null,depthWrite:null})}}export{a as ShadowCastAccumulateTechnique};
@@ -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{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{a as i}from"../../../../chunks/ShadowCastVisualize.glsl.js";import{PrimitiveType as s}from"../../../webgl/enums.js";import{makePipelineState as t,premultipliedAlphaToPremultipliedAlpha as o,defaultColorWrite as l}from"../../../webgl/renderState.js";class a extends r{constructor(r,t,o){super(r,t,new e(i,(()=>import("./ShadowCastVisualize.glsl.js"))),o),this.primitiveType=s.TRIANGLE_STRIP}initializePipeline(){return t({blending:o,colorWrite:l,depthTest:null,depthWrite:null})}}export{a as ShadowCastVisualizeTechnique};
5
+ import{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{a as i}from"../../../../chunks/ShadowCastVisualize.glsl.js";import{PrimitiveType as s}from"../../../webgl/enums.js";import{makePipelineState as t,premultipliedAlphaToPremultipliedAlpha as o,defaultColorWrite as l}from"../../../webgl/renderState.js";class a extends r{constructor(r,t){super(r,t,new e(i,(()=>import("./ShadowCastVisualize.glsl.js")))),this.primitiveType=s.TRIANGLE_STRIP}initializePipeline(){return t({blending:o,colorWrite:l,depthTest:null,depthWrite:null})}}export{a as ShadowCastVisualizeTechnique};
@@ -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{fromValues as e}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{ReloadableShaderModule as r}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as o}from"../core/shaderTechnique/ShaderTechnique.js";import{S as i}from"../../../../chunks/SlicePlaneMaterial.glsl.js";import{CompareFunction as s}from"../../../webgl/enums.js";import{NoParameters as t}from"../../../webgl/NoParameters.js";import{makePipelineState as l,blendWithPremultipliedAlpha as a,defaultColorWrite as c}from"../../../webgl/renderState.js";class n extends t{constructor(){super(...arguments),this.backgroundColor=e(1,0,0,.5),this.gridColor=e(0,1,0,.5),this.gridWidth=4}}class m extends o{constructor(e,o,s){super(e,o,new r(i,(()=>import("./SlicePlaneMaterial.glsl.js"))),s)}initializePipeline(){return l({blending:a,depthTest:{func:s.LESS},colorWrite:c})}}export{n as SlicePlaneMaterialPassParameters,m as SlicePlaneMaterialTechnique};
5
+ import{fromValues as e}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{ReloadableShaderModule as r}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as o}from"../core/shaderTechnique/ShaderTechnique.js";import{S as i}from"../../../../chunks/SlicePlaneMaterial.glsl.js";import{CompareFunction as s}from"../../../webgl/enums.js";import{NoParameters as t}from"../../../webgl/NoParameters.js";import{makePipelineState as l,blendWithPremultipliedAlpha as a,defaultColorWrite as c}from"../../../webgl/renderState.js";class n extends t{constructor(){super(...arguments),this.backgroundColor=e(1,0,0,.5),this.gridColor=e(0,1,0,.5),this.gridWidth=4}}class m extends o{constructor(e,o){super(e,o,new r(i,(()=>import("./SlicePlaneMaterial.glsl.js"))))}initializePipeline(){return l({blending:a,depthTest:{func:s.LESS},colorWrite:c})}}export{n as SlicePlaneMaterialPassParameters,m as SlicePlaneMaterialTechnique};
@@ -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{ShaderOutput as e}from"../core/shaderLibrary/ShaderOutput.js";import{ReloadableShaderModule as r}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as t}from"../core/shaderTechnique/ShaderTechnique.js";import{StencilBits as i}from"../lib/basicInterfaces.js";import{renderWhenBitIsNotSet as l}from"../lib/StencilUtils.js";import{VertexAttribute as n}from"../lib/VertexAttribute.js";import{a as s}from"../../../../chunks/Terrain.glsl.js";import{CompareFunction as u,SpecialDrawBuffers as c}from"../../../webgl/enums.js";import{makePipelineState as o,blendWithPremultipliedAlpha as a,backFaceCullingParams as p,defaultDepthWrite as h,defaultColorWrite as d}from"../../../webgl/renderState.js";class m extends t{constructor(e,t,i){super(e,t,new r(s,(()=>import("./Terrain.glsl.js"))),i,f),this.type="TerrainTechnique",this.useStencil=!1}initializePipeline(e){return this._stencilPipelineState=this._createPipeline(e,!0),this._createPipeline(e,!1)}_createPipeline(r,t){const{renderOccluded:n,output:s}=r,m=r.backfaceCullingEnabled&&!n;return o({blending:n?a:null,culling:m?p:null,depthTest:n?null:{func:u.LESS},depthWrite:n?null:h,colorWrite:d,stencilTest:t?l(i.IntegratedMeshMaskExcluded):null,drawBuffers:s===e.Depth?{buffers:[c.NONE]}:null})}getPipeline(){return this.useStencil?this._stencilPipelineState:super.getPipeline()}}const f=new Map([[n.POSITION,0],[n.UV0,1],[n.NORMALCOMPRESSED,2]]);export{m as TerrainTechnique,f as vertexAttributeLocations};
5
+ import{ShaderOutput as e}from"../core/shaderLibrary/ShaderOutput.js";import{ReloadableShaderModule as r}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as t}from"../core/shaderTechnique/ShaderTechnique.js";import{StencilBits as i}from"../lib/basicInterfaces.js";import{renderWhenBitIsNotSet as l}from"../lib/StencilUtils.js";import{VertexAttribute as n}from"../lib/VertexAttribute.js";import{a as s}from"../../../../chunks/Terrain.glsl.js";import{CompareFunction as u,SpecialDrawBuffers as c}from"../../../webgl/enums.js";import{makePipelineState as o,blendWithPremultipliedAlpha as a,backFaceCullingParams as p,defaultDepthWrite as h,defaultColorWrite as d}from"../../../webgl/renderState.js";class m extends t{constructor(e,t){super(e,t,new r(s,(()=>import("./Terrain.glsl.js"))),f),this.type="TerrainTechnique",this.useStencil=!1}initializePipeline(e){return this._stencilPipelineState=this._createPipeline(e,!0),this._createPipeline(e,!1)}_createPipeline(r,t){const{renderOccluded:n,output:s}=r,m=r.backfaceCullingEnabled&&!n;return o({blending:n?a:null,culling:m?p:null,depthTest:n?null:{func:u.LESS},depthWrite:n?null:h,colorWrite:d,stencilTest:t?l(i.IntegratedMeshMaskExcluded):null,drawBuffers:s===e.Depth?{buffers:[c.NONE]}:null})}getPipeline(){return this.useStencil?this._stencilPipelineState:super.getPipeline()}}const f=new Map([[n.POSITION,0],[n.UV0,1],[n.NORMALCOMPRESSED,2]]);export{m as TerrainTechnique,f as vertexAttributeLocations};
@@ -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{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{a as i}from"../../../../chunks/Viewshed.glsl.js";import{makePipelineState as o,defaultColorWrite as s,premultipliedAlphaToPremultipliedAlpha as t}from"../../../webgl/renderState.js";class l extends r{constructor(r,o,s){super(r,o,new e(i,(()=>import("./Viewshed.glsl.js"))),s)}initializePipeline(){return o({colorWrite:s,blending:t})}}export{l as ViewshedTechnique};
5
+ import{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{a as i}from"../../../../chunks/Viewshed.glsl.js";import{makePipelineState as o,defaultColorWrite as s,premultipliedAlphaToPremultipliedAlpha as t}from"../../../webgl/renderState.js";class l extends r{constructor(r,o){super(r,o,new e(i,(()=>import("./Viewshed.glsl.js"))))}initializePipeline(){return o({colorWrite:s,blending:t})}}export{l as ViewshedTechnique};
package/views/3d/webgl.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{create as e}from"../../core/libs/gl-matrix-2/factories/mat4f64.js";import{computeTranslationToOriginAndRotation as o}from"../../geometry/projection/computeTranslationToOriginAndRotation.js";import{projectBuffer as r}from"../../geometry/projection/projectBuffer.js";var n,t;function l(e,o,n,t,l,i,c){return t=t||e.spatialReference,r(o,t,n,l,e.renderCoordsHelper.spatialReference,i,c)?l:null}function i(e,o,n,t,l,i,c){return i=i||e.spatialReference,r(o,e.renderCoordsHelper.spatialReference,n,t,i,l,c)?t:null}function c(r,n,t,l){return l||(l=e()),t=t||r.spatialReference,o(t,n,l,r.renderCoordsHelper.spatialReference)?l:null}!function(e){e.OPAQUE="opaque-color",e.TRANSPARENT="transparent-color",e.COMPOSITE="composite-color",e.FINAL="final-color"}(n||(n={})),function(e){e.SSAO="ssao",e.LASERLINES="laserline-color",e.ANTIALIASING="aa-color",e.HIGHLIGHTS="highlight-color",e.MAGNIFIER="magnifier-color",e.OCCLUDED="occluded-color",e.VIEWSHED="viewshed-color",e.OPAQUE_ENVIRONMENT="opaque-environment-color",e.TRANSPARENT_ENVIRONMENT="transparent-environment-color"}(t||(t={}));export{t as InternalRenderCategory,n as RenderCategory,i as fromRenderCoordinates,c as renderCoordinateTransformAt,l as toRenderCoordinates};
5
+ import{create as e}from"../../core/libs/gl-matrix-2/factories/mat4f64.js";import{computeTranslationToOriginAndRotation as o}from"../../geometry/projection/computeTranslationToOriginAndRotation.js";import{projectBuffer as r}from"../../geometry/projection/projectBuffer.js";var n,t;function l(e,o,n,t,l,a,c){return t=t||e.spatialReference,r(o,t,n,l,e.renderCoordsHelper.spatialReference,a,c)?l:null}function a(e,o,n,t,l,a,c){return a=a||e.spatialReference,r(o,e.renderCoordsHelper.spatialReference,n,t,a,l,c)?t:null}function c(r,n,t,l){return l||(l=e()),t=t||r.spatialReference,o(t,n,l,r.renderCoordsHelper.spatialReference)?l:null}!function(e){e.OPAQUE="opaque-color",e.TRANSPARENT="transparent-color",e.COMPOSITE="composite-color",e.FINAL="final-color"}(n||(n={})),function(e){e.SSAO="ssao",e.LASERLINES="laserline-color",e.ANTIALIASING="aa-color",e.HIGHLIGHTS="highlight-color",e.MAGNIFIER="magnifier-color",e.OCCLUDED="occluded-color",e.VIEWSHED="viewshed-color",e.OPAQUE_ENVIRONMENT="opaque-environment-color",e.TRANSPARENT_ENVIRONMENT="transparent-environment-color",e.FOCUSAREA="focus-area"}(t||(t={}));export{t as InternalRenderCategory,n as RenderCategory,a as fromRenderCoordinates,c as renderCoordinateTransformAt,l as toRenderCoordinates};
@@ -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 o from"../core/Accessor.js";import r from"../core/Collection.js";import{destroyMaybe as s}from"../core/maybe.js";import{watch as t,syncAndInitial as i}from"../core/reactiveUtils.js";import{property as n}from"../core/accessorSupport/decorators/property.js";import"../core/has.js";import"../core/Logger.js";import"../core/RandomLCG.js";import{subclass as a}from"../core/accessorSupport/decorators/subclass.js";import{e as c}from"../chunks/earcut.js";import{create as m}from"../core/libs/gl-matrix-2/factories/mat4f64.js";import{n as d}from"../chunks/vec32.js";import{create as p}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import l from"../geometry/Point.js";import{computeTranslationToOriginAndRotation as h}from"../geometry/projection/computeTranslationToOriginAndRotation.js";import{newDoubleArray as u}from"../geometry/support/DoubleArray.js";import{newIndexArray as f}from"../geometry/support/Indices.js";import{t as g}from"../chunks/vec3.js";import{ViewingMode as y}from"./ViewingMode.js";import{ElevationContext as v}from"./3d/layers/graphics/ElevationContext.js";import{extrudePolygon as j}from"./3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js";import{computeCentroid as _}from"./3d/layers/graphics/graphicUtils.js";import{geometryToRenderInfo as w}from"./3d/support/renderInfoUtils/polygon.js";import{FocusAreaColorNode as A}from"./3d/webgl-engine/effects/focusArea/FocusAreaColorNode.js";import{FocusAreaGeometry as b,FocusAreaMaskNode as R}from"./3d/webgl-engine/effects/focusArea/FocusAreaMaskNode.js";const N=0,k=5e6,x=.42,C=.32;function G(e,o){if(e){if("bright"===o){const o=(e[0]+e[1]+e[2])/3;return[o*C+(1-C),o*C+(1-C),o*C+(1-C),e[3]*C]}return"dark"===o?[e[0]*x,e[1]*x,e[2]*x,e[3]*x]:e}}let F=class extends o{constructor(e){super(e),this.style="dark",this.geometries=new Array,this._areas=new r,this._elevationContext=new v}initialize(){this.addHandles([t((()=>this.style),(()=>this._updateRenderNodes()),i)])}get activePolygons(){const e=new r;for(const o of this.areas)if(o.enabled)for(const r of o.geometries)e.push(r);return e}add(e){this.areas.add(e),this._updateFocusAreaGeometries()}addMany(e){this.areas.addMany(e),this._updateFocusAreaGeometries()}remove(e){this.areas.remove(e),this._updateFocusAreaGeometries()}removeMany(e){this.areas.removeMany(e),this._updateFocusAreaGeometries()}removeAll(){this.areas.removeAll(),this._updateFocusAreaGeometries()}containsGeometry(e){let o=!0;const r=new l(e);return o=this.areas.some((e=>!!e.enabled&&(!!e?.geometries.length&&e.geometries.some((e=>e.contains(r)))))),o}get areas(){return this._areas}_updateFocusAreaGeometries(){this._extrudePolygons(),this._updateRenderNodes()}_extrudePolygons(){if(!this.view.renderCoordsHelper)return;this.geometries.length=0;const e=k-N,o=p(),r=this.view.renderCoordsHelper.viewingMode===y.Global,s=m(),t=m();r||this.view.renderCoordsHelper.worldUpAtPosition([0,0,0],o);for(const i of this.areas)if(i.enabled)for(const n of i.geometries){const a=_(n);if(null==a)continue;h(n.spatialReference,[a.x,a.y,0],s,this.view.renderCoordsHelper.spatialReference);const m=d(P,[s[12]-N*o[0],s[13]-N*o[1],s[14]-N*o[2]]);t[12]=-s[12],t[13]=-s[13],t[14]=-s[14];const p=w(n,this.view.elevationProvider,this.view.renderCoordsHelper,this._elevationContext),{polygons:l,mapPositions:y,position:v}=p;for(const n of l){const a=n.count,d=c(n.mapPositions,n.holeIndices,3);if(0===d.length)continue;const p=d.length,l=6*a,h=f(l+p),_=f(p),w=u(3*l),A=u(3*l),R=u(3*l),k=u(l);j(v,y,d,n,w,R,A,k,h,_,e,o,r),g(w,w,t);const x=new b(w,_,h,e,[s[12]+N*m[0],s[13]+N*m[1],s[14]+N*m[2]],i.outline?.color);this.geometries.push(x)}}this._maskRenderNode?.updateGeometries()}_updateRenderNodes(){this.view._stage&&("none"===this.style||0===this.geometries.length?(this._maskRenderNode=s(this._maskRenderNode),this._colorRenderNode=s(this._colorRenderNode)):(this._maskRenderNode??=new R({focusAreas:this}),this._colorRenderNode??=new A({focusAreas:this})))}};e([n()],F.prototype,"activePolygons",null),e([n()],F.prototype,"style",void 0),e([n()],F.prototype,"geometries",void 0),e([n({constructOnly:!0})],F.prototype,"view",void 0),e([n()],F.prototype,"_areas",void 0),F=e([a("esri.views.FocusAreas")],F);const P=p();export{F as FocusAreas,G as focusAreaHUDColor};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import o from"../core/Accessor.js";import s from"../core/Collection.js";import{destroyMaybe as r}from"../core/maybe.js";import{watch as t,syncAndInitial as i}from"../core/reactiveUtils.js";import{property as a}from"../core/accessorSupport/decorators/property.js";import"../core/has.js";import"../core/Logger.js";import"../core/RandomLCG.js";import{subclass as n}from"../core/accessorSupport/decorators/subclass.js";import{e as c}from"../chunks/earcut.js";import{create as m}from"../core/libs/gl-matrix-2/factories/mat4f64.js";import{n as d}from"../chunks/vec32.js";import{create as p}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import l from"../geometry/Point.js";import{computeTranslationToOriginAndRotation as h}from"../geometry/projection/computeTranslationToOriginAndRotation.js";import{newDoubleArray as u}from"../geometry/support/DoubleArray.js";import{newIndexArray as f}from"../geometry/support/Indices.js";import{t as g}from"../chunks/vec3.js";import{ViewingMode as y}from"./ViewingMode.js";import{ElevationContext as v}from"./3d/layers/graphics/ElevationContext.js";import{extrudePolygon as j}from"./3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js";import{computeCentroid as _}from"./3d/layers/graphics/graphicUtils.js";import{geometryToRenderInfo as w}from"./3d/support/renderInfoUtils/polygon.js";import{FocusAreaColorNode as A}from"./3d/webgl-engine/effects/focusArea/FocusAreaColorNode.js";import{FocusAreaGeometry as b,FocusAreaMaskNode as R}from"./3d/webgl-engine/effects/focusArea/FocusAreaMaskNode.js";const G=0,N=5e6,k=.42,x=.32;function C(e,o){if(e){if("bright"===o){const o=(e[0]+e[1]+e[2])/3;return[o*x+(1-x),o*x+(1-x),o*x+(1-x),e[3]*x]}return"dark"===o?[e[0]*k,e[1]*k,e[2]*k,e[3]*k]:e}}let F=class extends o{constructor(e){super(e),this.style="dark",this.geometries=new Array,this._areas=new s,this._elevationContext=new v}initialize(){this.addHandles([t((()=>this.style),(()=>this._updateRenderNodes()),i)]),this.addHandles([t((()=>this.activePolygons),(()=>this._updateFocusAreaGeometries()),i)])}get activePolygons(){const e=new s;for(const o of this.areas)if(o.enabled)for(const s of o.geometries)e.push(s);return e}add(e){this.areas.add(e),this._updateFocusAreaGeometries()}addMany(e){this.areas.addMany(e),this._updateFocusAreaGeometries()}remove(e){this.areas.remove(e),this._updateFocusAreaGeometries()}removeMany(e){this.areas.removeMany(e),this._updateFocusAreaGeometries()}removeAll(){this.areas.removeAll(),this._updateFocusAreaGeometries()}containsGeometry(e){let o=!0;const s=new l(e);return o=this.areas.some((e=>!!e.enabled&&(!!e?.geometries.length&&e.geometries.some((e=>e.contains(s)))))),o}get areas(){return this._areas}_updateFocusAreaGeometries(){this._extrudePolygons(),this._updateRenderNodes()}_extrudePolygons(){if(!this.view.renderCoordsHelper)return;this.geometries.length=0;const e=N-G,o=p(),s=this.view.renderCoordsHelper.viewingMode===y.Global,r=m(),t=m();s||this.view.renderCoordsHelper.worldUpAtPosition([0,0,0],o);for(const i of this.areas)if(i.enabled)for(const a of i.geometries){const n=_(a);if(null==n)continue;h(a.spatialReference,[n.x,n.y,0],r,this.view.renderCoordsHelper.spatialReference);const m=d(P,[r[12]-G*o[0],r[13]-G*o[1],r[14]-G*o[2]]);t[12]=-r[12],t[13]=-r[13],t[14]=-r[14];const p=w(a,this.view.elevationProvider,this.view.renderCoordsHelper,this._elevationContext),{polygons:l,mapPositions:y,position:v}=p;for(const a of l){const n=a.count,d=c(a.mapPositions,a.holeIndices,3);if(0===d.length)continue;const p=d.length,l=6*n,h=f(l+p),_=f(p),w=u(3*l),A=u(3*l),R=u(3*l),N=u(l);j(v,y,d,a,w,R,A,N,h,_,e,o,s),g(w,w,t);const k=new b(w,_,h,e,[r[12]+G*m[0],r[13]+G*m[1],r[14]+G*m[2]],i.outline?.color);this.geometries.push(k)}}this._maskRenderNode?.updateGeometries()}_updateRenderNodes(){this.view._stage&&("none"===this.style||0===this.geometries.length?(this._maskRenderNode=r(this._maskRenderNode),this._colorRenderNode=r(this._colorRenderNode)):(this._maskRenderNode??=new R({focusAreas:this}),this._colorRenderNode??=new A({focusAreas:this})))}};e([a()],F.prototype,"activePolygons",null),e([a()],F.prototype,"style",void 0),e([a()],F.prototype,"geometries",void 0),e([a({constructOnly:!0})],F.prototype,"view",void 0),e([a()],F.prototype,"_areas",void 0),F=e([n("esri.views.FocusAreas")],F);const P=p();export{F as FocusAreas,C as focusAreaHUDColor};
@@ -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"../../Graphic.js";import{UndoRedo as o}from"../../UndoRedo.js";import{createTask as r}from"../../core/asyncUtils.js";import i from"../../core/Evented.js";import{makeHandle as s}from"../../core/handleUtils.js";import{destroyMaybe as n}from"../../core/maybe.js";import{watch as a,syncAndInitial as p,sync as l}from"../../core/reactiveUtils.js";import{property as c}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{subclass as h}from"../../core/accessorSupport/decorators/subclass.js";import{load as d}from"../../geometry/coordinateFormatter.js";import u from"../../layers/GraphicsLayer.js";import{pointEquals as m}from"../../layers/graphics/dehydratedFeatureComparison.js";import{CreateOperationGeometry as y}from"./support/CreateOperationGeometry.js";import{createCircle as g,createEllipse as v,createSquare as f,createRectangle as _,createPolygon as O,createPolyline as w,createMultipoint as C}from"./support/createUtils.js";import{createViewAlignedCoordinateSystem as G}from"./support/surfaceCoordinateSystems.js";import{createTooltipInfos as x,initializeConstraints as V,unlockConstraintsOnVertexAddOrRemove as b,lockElevationOnVertexAdd as S,getActiveTooltipInfo as U,updateTooltipInfo as j,getConstraintZ as T}from"./support/tooltipUtils.js";import{InteractiveToolBase as k}from"../interactive/InteractiveToolBase.js";import H from"../interactive/sketch/SketchOptions.js";import{makeTooltip as R,pasteLocation as L,enterInputModeIfAvailable as z}from"../interactive/tooltip/tooltipCommonUtils.js";import{autorun as E}from"../../core/accessorSupport/trackingUtils.js";let I=class extends(i.EventedMixin(k)){constructor(t){super(t),this._graphic=null,this._coordinateFormatterLoadTask=null,this._createOperationGeometry=null,this.defaultZ=0,this.directionOptions=null,this.geometryType=null,this.hasZ=!0,this.geometryToPlace=null,this.snappingManager=null,this.snapToScene=!1,this.sketchOptions=new H}initialize(){const{view:t}=this;this.internalGraphicsLayer=new u({listMode:"hide",internal:!0}),this.view.map.layers.add(this.internalGraphicsLayer);const e=this.drawOperation=this.makeDrawOperation();this.tooltipInfos=x(t.type,this.sketchOptions);const o=R((()=>({view:t,options:this.sketchOptions.tooltips})));this.tooltip=o,V(this._tooltipsContext),this._coordinateFormatterLoadTask=r((()=>d())),this.addHandles([e.on("vertex-add",(t=>this.onVertexAdd(t))),e.on("vertex-remove",(t=>this.onVertexRemove(t))),e.on("vertex-update",(t=>this.onVertexUpdate(t))),e.on("cursor-update",(t=>this.onCursorUpdate(t))),e.on("cursor-remove",(()=>this._updateGraphic())),e.on("complete",(t=>this.onComplete(t))),this._coordinateFormatterLoadTask,o.on("paste",(t=>L(t,this.activeTooltipInfo))),a((()=>this.cursor),(t=>{e.cursor=t}),p),E((()=>{const{activeTooltipInfo:t,sketchOptions:e}=this;j(t,this._tooltipsContext),o.info=e.tooltips.effectiveEnabled?t:null})),E((()=>{e.constraintZ=T(this._tooltipsContext)}),l)]),this.finishToolCreation()}destroy(){this.drawOperation=n(this.drawOperation),this.tooltip=n(this.tooltip),this._destroyAllVisualizations(),this.view.map.remove(this.internalGraphicsLayer),this.internalGraphicsLayer=n(this.internalGraphicsLayer),this._set("view",null)}get _drawSpatialReference(){return this.drawOperation.coordinateHelper.spatialReference}get _tooltipsContext(){return{createOperationGeometry:this._createOperationGeometry,defaultZ:this.defaultZ,directionOptions:this.directionOptions,drawOperation:this.drawOperation,forceUniformSize:this.forceUniformSize,geometryType:this.geometryType,graphic:this.graphic,sketchOptions:this.sketchOptions,tooltipInfos:this.tooltipInfos,view:this.view}}get canRedo(){return this.drawOperation.canRedo}get canUndo(){return this.drawOperation.canUndo}set centered(t){this._set("centered",t),this._updateGraphic()}get cursor(){return this._get("cursor")}set cursor(t){this._set("cursor",t)}set enabled(t){this.drawOperation.interactive=t,this._set("enabled",t)}set forceUniformSize(t){this._set("forceUniformSize",t),this._updateGraphic()}get graphic(){return this._graphic}set graphicSymbol(t){this._set("graphicSymbol",t),null!=this._graphic&&(this._graphic.symbol=t)}set mode(t){const e=this.drawOperation;e&&(e.drawingMode=t),this._set("mode",t)}get updating(){return this.drawOperation?.updating??!1}get undoRedo(){const{view:{type:t,map:e}}=this;return"2d"===t&&e&&"undoRedo"in e&&e.undoRedo instanceof o?e.undoRedo:null}set undoRedo(t){this._override("undoRedo",t)}completeCreateOperation(){this.drawOperation.complete()}onInputEvent(t){this.destroyed||z(t,this.tooltip)||this.drawOperation.onInputEvent(t)}redo(){this.drawOperation.redo()}reset(){}undo(){this.drawOperation.undo(),0===this.drawOperation.numCommittedVertices&&V(this._tooltipsContext)}_destroyAllVisualizations(){this.removeHandles(F.outline),this.removeHandles(F.regularVertices),this.removeHandles(F.activeVertex),this.removeHandles(F.activeEdge),this.removeHandles(A)}_createOrUpdateGraphic(t){if(null!=this._graphic)return this.updateGraphicGeometry(t),this._graphic;const o=new e({...this.graphicProperties,symbol:this.graphicSymbol});return this._graphic=o,this.updateGraphicGeometry(t),this.internalGraphicsLayer.add(o),this.addHandles(this.initializeGraphic(o)),this.notifyChange("graphic"),this.addHandles(s((()=>{this.internalGraphicsLayer.remove(o),this._graphic===o&&(this._graphic=null)})),A),o}updateGraphicGeometry(t){this._graphic.geometry=t}_getCreateOperationGeometry(t={operationComplete:!1}){if(null==this.drawOperation)return;const{coordinateHelper:e,view:o,visualizationCursorVertex:r,lastVertex:i,committedVertices:s,geometryIncludingUncommittedVertices:n,numCommittedVertices:a}=this.drawOperation;if(!(a>0||null!=r))return;const p=t.operationComplete?s:n,l=p.length,c=null!=r?e.pointToArray(r):null,h=this._drawSpatialReference,d="3d"===o.type&&"global"===o.viewingMode,u=new y;u.committedVertices=s,u.cursorVertex=c;const{geometryType:x}=this;switch(x){case"point":case"mesh":u.full=e.arrayToPoint(p[0]);break;case"multipoint":u.full=l>0?C(p,h):null;break;case"polyline":case"polygon":l>0&&(u.full="polygon"===x?O([p],h,d,!0):w([p],h,d),u.cursorEdge=null!=c&&i&&!m(r,i)?w([[c,e.pointToArray(i)]],h,d):null,u.outline=l>1?u.full:null);break;case"circle":case"rectangle":{if(u.committedVertices=u.cursorVertex=null,!l)break;const e=G(o,p[0]),r=p[0],i=e.makeMapPoint(r[0]+Z*o.resolution,r[1]);"circle"===x?1===l&&t.operationComplete?u.circle=g([r,i],e,!0):2===l&&(this.forceUniformSize?u.circle=g(p,e,this.centered):u.rectangle=v(p,e,this.centered)):1===l&&t.operationComplete?u.rectangle=f([r,i],e,!0):2===l&&(u.rectangle=this.forceUniformSize?f(p,e,this.centered):_(p,e,this.centered)),u.full=null!=u.circle?u.circle.geometry:u.rectangle?.geometry,u.outline="polygon"===u.full?.type?u.full:null;break}default:return null}return u}initializeGraphic(t){return s()}onComplete(t){if(!this.drawOperation)return;this._updateGraphic();let e=null;if(this.drawOperation.isCompleted){const t=this._getCreateOperationGeometry({operationComplete:!0});null!=t&&(e=this._createOrUpdateGraphic(t.full))}this._createOperationGeometry=null,this.emit("complete",{graphic:e,...t})}onCursorUpdate(t){this._updateGraphic(),this.emit("cursor-update",t)}onDeactivate(){const{drawOperation:t}=this;t&&(t.isCompleted||t.cancel())}onOutlineChanged(t){return s()}onCursorEdgeChanged(t){return s()}onVertexAdd(t){b(this._tooltipsContext),this._updateGraphic(),S(t.vertices.at(0)?.coordinates,this._tooltipsContext),this.emit("vertex-add",t)}onVertexRemove(t){b(this._tooltipsContext),this._updateGraphic(),this.emit("vertex-remove",t)}onVertexUpdate(t){this._updateGraphic(),this.emit("vertex-update",t)}_updateGraphic(){const t=this._getCreateOperationGeometry();this._createOperationGeometry=t,null!=t?(null!=t.cursorEdge?this.addHandles(this.onCursorEdgeChanged(t.cursorEdge),F.activeEdge):this.removeHandles(F.activeEdge),null!=t.outline?this.addHandles(this.onOutlineChanged(t.outline),F.outline):this.removeHandles(F.outline),null!=t.committedVertices?this.addHandles(this.onRegularVerticesChanged(t.committedVertices),F.regularVertices):this.removeHandles(F.regularVertices),null!=t.cursorVertex?this.addHandles(this.onActiveVertexChanged(t.cursorVertex),F.activeVertex):this.removeHandles(F.activeVertex),null!=t.full?this._createOrUpdateGraphic(t.full):this.removeHandles(A)):this._destroyAllVisualizations()}get activeTooltipInfo(){return this._coordinateFormatterLoadTask?.finished?U(this._tooltipsContext):null}};t([c()],I.prototype,"_coordinateFormatterLoadTask",void 0),t([c()],I.prototype,"_createOperationGeometry",void 0),t([c()],I.prototype,"_tooltipsContext",null),t([c({value:!0})],I.prototype,"centered",null),t([c()],I.prototype,"cursor",null),t([c({nonNullable:!0})],I.prototype,"defaultZ",void 0),t([c({constructOnly:!0})],I.prototype,"directionOptions",void 0),t([c()],I.prototype,"drawOperation",void 0),t([c({value:!0})],I.prototype,"enabled",null),t([c({value:!0})],I.prototype,"forceUniformSize",null),t([c({constructOnly:!0})],I.prototype,"geometryType",void 0),t([c()],I.prototype,"graphic",null),t([c({constructOnly:!0})],I.prototype,"graphicProperties",void 0),t([c()],I.prototype,"graphicSymbol",null),t([c({constructOnly:!0})],I.prototype,"hasZ",void 0),t([c({constructOnly:!0})],I.prototype,"geometryToPlace",void 0),t([c()],I.prototype,"mode",null),t([c()],I.prototype,"snappingManager",void 0),t([c()],I.prototype,"snapToScene",void 0),t([c()],I.prototype,"tooltip",void 0),t([c()],I.prototype,"tooltipInfos",void 0),t([c({constructOnly:!0,type:H})],I.prototype,"sketchOptions",void 0),t([c()],I.prototype,"updating",null),t([c({constructOnly:!0,nonNullable:!0})],I.prototype,"view",void 0),t([c({constructOnly:!0})],I.prototype,"undoRedo",null),t([c()],I.prototype,"activeTooltipInfo",null),I=t([h("esri.views.draw.DrawGraphicTool")],I);const A=Symbol("create-operation-graphic"),F={outline:Symbol("outline-visual"),regularVertices:Symbol("regular-vertices-visual"),activeVertex:Symbol("active-vertex-visual"),activeEdge:Symbol("active-edge-visual")};function M(t){switch(t){case"point":case"polyline":case"polygon":case"multipoint":return t;case"circle":case"rectangle":return"segment";case"mesh":return"point"}}const Z=48;export{I as DrawGraphicTool,M as geometryTypeToDrawOperationGeometryType};
5
+ import{_ as t}from"../../chunks/tslib.es6.js";import e from"../../Graphic.js";import{UndoRedo as o}from"../../UndoRedo.js";import{createTask as r}from"../../core/asyncUtils.js";import i from"../../core/Evented.js";import{makeHandle as s}from"../../core/handleUtils.js";import{destroyMaybe as n}from"../../core/maybe.js";import{watch as a,syncAndInitial as l,sync as p}from"../../core/reactiveUtils.js";import{property as c}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{subclass as h}from"../../core/accessorSupport/decorators/subclass.js";import{load as d}from"../../geometry/coordinateFormatter.js";import u from"../../layers/GraphicsLayer.js";import{pointEquals as m}from"../../layers/graphics/dehydratedFeatureComparison.js";import{CreateOperationGeometry as y}from"./support/CreateOperationGeometry.js";import{createCircle as g,createEllipse as v,createSquare as f,createRectangle as O,createPolygon as _,createPolyline as w,createMultipoint as C}from"./support/createUtils.js";import{createViewAlignedCoordinateSystem as G}from"./support/surfaceCoordinateSystems.js";import{createTooltipInfos as x,initializeConstraints as V,unlockConstraintsOnVertexAddOrRemove as b,lockElevationOnVertexAdd as k,getActiveTooltipInfo as S,updateTooltipInfo as U,getConstraintZ as j}from"./support/tooltipUtils.js";import{InteractiveToolBase as T}from"../interactive/InteractiveToolBase.js";import H from"../interactive/sketch/SketchOptions.js";import{makeTooltip as L,pasteLocation as R,enterInputModeIfAvailable as z}from"../interactive/tooltip/tooltipCommonUtils.js";import{autorun as E}from"../../core/accessorSupport/trackingUtils.js";let I=class extends(i.EventedMixin(T)){constructor(t){super(t),this._graphic=null,this._coordinateFormatterLoadTask=null,this._createOperationGeometry=null,this.defaultZ=0,this.directionOptions=null,this.elevationLockOnVertexAddDisabled=!1,this.geometryType=null,this.hasZ=!0,this.geometryToPlace=null,this.snappingManager=null,this.snapToScene=!1,this.sketchOptions=new H}initialize(){const{view:t}=this;this.internalGraphicsLayer=new u({listMode:"hide",internal:!0}),this.view.map.layers.add(this.internalGraphicsLayer);const e=this.drawOperation=this.makeDrawOperation();this.tooltipInfos=x(t.type,this.sketchOptions);const o=L((()=>({view:t,options:this.sketchOptions.tooltips})));this.tooltip=o,V(this._tooltipsContext),this._coordinateFormatterLoadTask=r((()=>d())),this.addHandles([e.on("vertex-add",(t=>this.onVertexAdd(t))),e.on("vertex-remove",(t=>this.onVertexRemove(t))),e.on("vertex-update",(t=>this.onVertexUpdate(t))),e.on("cursor-update",(t=>this.onCursorUpdate(t))),e.on("cursor-remove",(()=>this._updateGraphic())),e.on("complete",(t=>this.onComplete(t))),this._coordinateFormatterLoadTask,o.on("paste",(t=>R(t,this.activeTooltipInfo))),a((()=>this.cursor),(t=>{e.cursor=t}),l),E((()=>{const{activeTooltipInfo:t,sketchOptions:e}=this;U(t,this._tooltipsContext),o.info=e.tooltips.effectiveEnabled?t:null})),E((()=>{e.constraintZ=j(this._tooltipsContext)}),p)]),this.finishToolCreation()}destroy(){this.drawOperation=n(this.drawOperation),this.tooltip=n(this.tooltip),this._destroyAllVisualizations(),this.view.map.remove(this.internalGraphicsLayer),this.internalGraphicsLayer=n(this.internalGraphicsLayer),this._set("view",null)}get _drawSpatialReference(){return this.drawOperation.coordinateHelper.spatialReference}get _tooltipsContext(){return{createOperationGeometry:this._createOperationGeometry,defaultZ:this.defaultZ,directionOptions:this.directionOptions,drawOperation:this.drawOperation,forceUniformSize:this.forceUniformSize,geometryType:this.geometryType,graphic:this.graphic,sketchOptions:this.sketchOptions,tooltipInfos:this.tooltipInfos,view:this.view}}get canRedo(){return this.drawOperation.canRedo}get canUndo(){return this.drawOperation.canUndo}set centered(t){this._set("centered",t),this._updateGraphic()}get cursor(){return this._get("cursor")}set cursor(t){this._set("cursor",t)}set enabled(t){this.drawOperation.interactive=t,this._set("enabled",t)}set forceUniformSize(t){this._set("forceUniformSize",t),this._updateGraphic()}get graphic(){return this._graphic}set graphicSymbol(t){this._set("graphicSymbol",t),null!=this._graphic&&(this._graphic.symbol=t)}set mode(t){const e=this.drawOperation;e&&(e.drawingMode=t),this._set("mode",t)}get updating(){return this.drawOperation?.updating??!1}get undoRedo(){const{view:{type:t,map:e}}=this;return"2d"===t&&e&&"undoRedo"in e&&e.undoRedo instanceof o?e.undoRedo:null}set undoRedo(t){this._override("undoRedo",t)}completeCreateOperation(){this.drawOperation.complete()}onInputEvent(t){this.destroyed||z(t,this.tooltip)||this.drawOperation.onInputEvent(t)}redo(){this.drawOperation.redo()}reset(){}undo(){this.drawOperation.undo(),0===this.drawOperation.numCommittedVertices&&V(this._tooltipsContext)}_destroyAllVisualizations(){this.removeHandles(F.outline),this.removeHandles(F.regularVertices),this.removeHandles(F.activeVertex),this.removeHandles(F.activeEdge),this.removeHandles(A)}_createOrUpdateGraphic(t){if(null!=this._graphic)return this.updateGraphicGeometry(t),this._graphic;const o=new e({...this.graphicProperties,symbol:this.graphicSymbol});return this._graphic=o,this.updateGraphicGeometry(t),this.internalGraphicsLayer.add(o),this.addHandles(this.initializeGraphic(o)),this.notifyChange("graphic"),this.addHandles(s((()=>{this.internalGraphicsLayer.remove(o),this._graphic===o&&(this._graphic=null)})),A),o}updateGraphicGeometry(t){this._graphic.geometry=t}_getCreateOperationGeometry(t={operationComplete:!1}){if(null==this.drawOperation)return;const{coordinateHelper:e,view:o,visualizationCursorVertex:r,lastVertex:i,committedVertices:s,geometryIncludingUncommittedVertices:n,numCommittedVertices:a}=this.drawOperation;if(!(a>0||null!=r))return;const l=t.operationComplete?s:n,p=l.length,c=null!=r?e.pointToArray(r):null,h=this._drawSpatialReference,d="3d"===o.type&&"global"===o.viewingMode,u=new y;u.committedVertices=s,u.cursorVertex=c;const{geometryType:x}=this;switch(x){case"point":case"mesh":u.full=e.arrayToPoint(l[0]);break;case"multipoint":u.full=p>0?C(l,h):null;break;case"polyline":case"polygon":p>0&&(u.full="polygon"===x?_([l],h,d,!0):w([l],h,d),u.cursorEdge=null!=c&&i&&!m(r,i)?w([[c,e.pointToArray(i)]],h,d):null,u.outline=p>1?u.full:null);break;case"circle":case"rectangle":{if(u.committedVertices=u.cursorVertex=null,!p)break;const e=G(o,l[0]),r=l[0],i=e.makeMapPoint(r[0]+Z*o.resolution,r[1]);"circle"===x?1===p&&t.operationComplete?u.circle=g([r,i],e,!0):2===p&&(this.forceUniformSize?u.circle=g(l,e,this.centered):u.rectangle=v(l,e,this.centered)):1===p&&t.operationComplete?u.rectangle=f([r,i],e,!0):2===p&&(u.rectangle=this.forceUniformSize?f(l,e,this.centered):O(l,e,this.centered)),u.full=null!=u.circle?u.circle.geometry:u.rectangle?.geometry,u.outline="polygon"===u.full?.type?u.full:null;break}default:return null}return u}initializeGraphic(t){return s()}onComplete(t){if(!this.drawOperation)return;this._updateGraphic();let e=null;if(this.drawOperation.isCompleted){const t=this._getCreateOperationGeometry({operationComplete:!0});null!=t&&(e=this._createOrUpdateGraphic(t.full))}this._createOperationGeometry=null,this.emit("complete",{graphic:e,...t})}onCursorUpdate(t){this._updateGraphic(),this.emit("cursor-update",t)}onDeactivate(){const{drawOperation:t}=this;t&&(t.isCompleted||t.cancel())}onOutlineChanged(t){return s()}onCursorEdgeChanged(t){return s()}onVertexAdd(t){b(this._tooltipsContext),this._updateGraphic(),this.elevationLockOnVertexAddDisabled||k(t.vertices.at(0)?.coordinates,this._tooltipsContext),this.emit("vertex-add",t)}onVertexRemove(t){b(this._tooltipsContext),this._updateGraphic(),this.emit("vertex-remove",t)}onVertexUpdate(t){this._updateGraphic(),this.emit("vertex-update",t)}_updateGraphic(){const t=this._getCreateOperationGeometry();this._createOperationGeometry=t,null!=t?(null!=t.cursorEdge?this.addHandles(this.onCursorEdgeChanged(t.cursorEdge),F.activeEdge):this.removeHandles(F.activeEdge),null!=t.outline?this.addHandles(this.onOutlineChanged(t.outline),F.outline):this.removeHandles(F.outline),null!=t.committedVertices?this.addHandles(this.onRegularVerticesChanged(t.committedVertices),F.regularVertices):this.removeHandles(F.regularVertices),null!=t.cursorVertex?this.addHandles(this.onActiveVertexChanged(t.cursorVertex),F.activeVertex):this.removeHandles(F.activeVertex),null!=t.full?this._createOrUpdateGraphic(t.full):this.removeHandles(A)):this._destroyAllVisualizations()}get activeTooltipInfo(){return this._coordinateFormatterLoadTask?.finished?S(this._tooltipsContext):null}};t([c()],I.prototype,"_coordinateFormatterLoadTask",void 0),t([c()],I.prototype,"_createOperationGeometry",void 0),t([c()],I.prototype,"_tooltipsContext",null),t([c({value:!0})],I.prototype,"centered",null),t([c()],I.prototype,"cursor",null),t([c({nonNullable:!0})],I.prototype,"defaultZ",void 0),t([c({constructOnly:!0})],I.prototype,"directionOptions",void 0),t([c()],I.prototype,"drawOperation",void 0),t([c()],I.prototype,"elevationLockOnVertexAddDisabled",void 0),t([c({value:!0})],I.prototype,"enabled",null),t([c({value:!0})],I.prototype,"forceUniformSize",null),t([c({constructOnly:!0})],I.prototype,"geometryType",void 0),t([c()],I.prototype,"graphic",null),t([c({constructOnly:!0})],I.prototype,"graphicProperties",void 0),t([c()],I.prototype,"graphicSymbol",null),t([c({constructOnly:!0})],I.prototype,"hasZ",void 0),t([c({constructOnly:!0})],I.prototype,"geometryToPlace",void 0),t([c()],I.prototype,"mode",null),t([c()],I.prototype,"snappingManager",void 0),t([c()],I.prototype,"snapToScene",void 0),t([c()],I.prototype,"tooltip",void 0),t([c()],I.prototype,"tooltipInfos",void 0),t([c({constructOnly:!0,type:H})],I.prototype,"sketchOptions",void 0),t([c()],I.prototype,"updating",null),t([c({constructOnly:!0,nonNullable:!0})],I.prototype,"view",void 0),t([c({constructOnly:!0})],I.prototype,"undoRedo",null),t([c()],I.prototype,"activeTooltipInfo",null),I=t([h("esri.views.draw.DrawGraphicTool")],I);const A=Symbol("create-operation-graphic"),F={outline:Symbol("outline-visual"),regularVertices:Symbol("regular-vertices-visual"),activeVertex:Symbol("active-vertex-visual"),activeEdge:Symbol("active-edge-visual")};function M(t){switch(t){case"point":case"polyline":case"polygon":case"multipoint":return t;case"circle":case"rectangle":return"segment";case"mesh":return"point"}}const Z=48;export{I as DrawGraphicTool,M as geometryTypeToDrawOperationGeometryType};
@@ -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/Accessor.js";import i from"../../core/Evented.js";import{clone as n}from"../../core/lang.js";import{destroyMaybe as o,equalsMaybe as r}from"../../core/maybe.js";import{memoize as s}from"../../core/memoize.js";import{ignoreAbortErrors as a}from"../../core/promiseUtils.js";import p from"../../core/ReactiveSet.js";import{watch as c,syncAndInitial as l}from"../../core/reactiveUtils.js";import{createScreenPoint as d}from"../../core/screenUtils.js";import{property as h}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import{subclass as u}from"../../core/accessorSupport/decorators/subclass.js";import{diff as m}from"../../core/accessorSupport/diffUtils.js";import{UpdatingHandles as g}from"../../core/support/UpdatingHandles.js";import{pointEquals as y,pointNear as _}from"../../layers/graphics/dehydratedFeatureComparison.js";import{getEffectiveElevationInfo as v}from"../../support/elevationInfoUtils.js";import{ViewingMode as f}from"../ViewingMode.js";import{defaultDrawingMode as x}from"./DrawingMode.js";import{DrawManipulator as C}from"./DrawManipulator.js";import{createCoordinateHelper as b}from"../interactive/coordinateHelper.js";import{createManipulatorDragEventPipeline as T,sceneSnappingAtLocation as S}from"../interactive/dragEventPipeline.js";import{EditGeometry as P,Component as V}from"../interactive/editGeometry/EditGeometry.js";import{EditGeometryOperations as w}from"../interactive/editGeometry/EditGeometryOperations.js";import{isPoint as O}from"../interactive/sketch/constraints.js";import{pointToConstraintSpace as M,constraintSpaceToPoint as D,getPointConstraint as E,getPolylineOrPolygonConstraint as I}from"../interactive/sketch/constraintUtils.js";import H from"../interactive/sketch/SketchLabelOptions.js";import{SnappingContext as j}from"../interactive/snapping/SnappingContext.js";import{createSnapDragEventPipelineStep as G}from"../interactive/snapping/SnappingDragPipelineStep.js";import{SnappingOperation as k}from"../interactive/snapping/SnappingOperation.js";import{setupSnappingToggleHandles as Z}from"../interactive/snapping/snappingUtils.js";const A="crosshair",L="progress",U=Symbol(),z=Symbol();let F=class extends(i.EventedMixin(e)){constructor(t){super(t),this._createOperationCompleted=!1,this._hideDefaultCursor=!1,this._pointerDownStates=new p,this._stagedScreenPoint=null,this._stagedPointerType=null,this._updatingHandles=new g,this._stagedPointerId=null,this.constraintsEnabled=!1,this.constraints=void 0,this._getPointConstraint=s(E),this._getPolylineOrPolygonConstraint=s(I),this.constraintZ=null,this.defaultZ=null,this.isDraped=!0,this.labelOptions=new H,this.cursor=null,this.loading=!1,this.snapToSceneEnabled=null,this.firstVertex=null,this.lastVertex=null,this.secondToLastVertex=null,null==t.elevationInfo&&(this.elevationInfo=v(!!t.hasZ))}initialize(){const{geometryType:t,view:e}=this,i=e.spatialReference,n="viewingMode"in e.state?e.state.viewingMode:f.Local,o="segment"===t||"multipoint"===t?"polyline":t;this.coordinateHelper=b(this.hasZ,this.hasM,i),this._editGeometryOperations=new w(new P(o,this.coordinateHelper),n),this._snappingOperation=new k({view:e}),this.addHandles([c((()=>({stagedPoint:this._snappingOperation.stagedPoint,constraint:this._constraint})),(({stagedPoint:t,constraint:e},i)=>{const{snappingOptions:n}=this;n&&(n.forceDisabled=null!=e&&O(e));if(null!=i&&t===i.stagedPoint&&e!==i.constraint)return this._onKeyboardBasedChange();this._processCursor(t??this._screenToMap(this._stagedScreenPoint))}),{equals:(t,e)=>t.stagedPoint===e.stagedPoint&&r(t.constraint,e.constraint)}),c((()=>this.view.viewpoint),((t,e)=>{t&&e&&m(t,e)&&this._onKeyboardBasedChange()}))]),this._activeComponent=new V(i,n),this._editGeometryOperations.data.components.push(this._activeComponent);const s=this.segmentLabels;null!=s&&(s.context={view:e,editGeometryOperations:this._editGeometryOperations,elevationInfo:this.elevationInfo,labelOptions:this.labelOptions},this.addHandles(c((()=>this.labelOptions.enabled),(t=>{s.visible=t}),l))),this.addHandles(this._editGeometryOperations.on(["vertex-add","vertex-update","vertex-remove"],(t=>{const e=t.vertices.map((t=>({componentIndex:0,vertexIndex:t.index,coordinates:this.coordinateHelper.vectorToArray(t.pos)}))),i=e.map((t=>t.coordinates)),n=this.coordinateHelper.vectorToDehydratedPoint(this._activeComponent.getFirstVertex()?.pos)??null;y(n,this.firstVertex)||(this.firstVertex=n);const o=this.coordinateHelper.vectorToDehydratedPoint(this._activeComponent.getLastVertex()?.pos)??null;y(o,this.lastVertex)||(this.lastVertex=o);const r=this.coordinateHelper.vectorToDehydratedPoint(this._activeComponent.edges.at(-1)?.leftVertex?.pos)??null;switch(y(r,this.secondToLastVertex)||(this.secondToLastVertex=r),this._processCursor(this.cursorVertex),t.type){case"vertex-add":this.emit(t.type,{...t,added:i,vertices:e});break;case"vertex-update":this.emit(t.type,{...t,updated:i,vertices:e});break;case"vertex-remove":this.emit(t.type,{...t,removed:i,vertices:e})}})));const p=this._manipulator=new C({consumesClicks:!1,grabbableForEvent:t=>"click"!==this.drawingMode||"touch"===t.pointerType&&this._snappingEnabled&&1===this._pointerDownStates.size});this.manipulators.add(p),p.grabbable="point"!==t,this.addHandles([p.events.on("immediate-click",(t=>this._onImmediateClick(t))),p.events.on("immediate-double-click",(t=>this._onImmediateDoubleClick(t))),c((()=>this.drawingMode),(()=>{this.removeHandles(U),this.addHandles(this._createManipulatorDragPipeline(p),U)}),l),c((()=>({effectiveCursor:this.effectiveCursor})),(({effectiveCursor:t})=>{p.cursor=t}),l)]),Z(this,(()=>{const t=this.view.inputManager.latestPointerType??"mouse",e=this._getSnappingContext(t);if(null!=this.snappingManager){const t=this._snappingOperation.snapAgainNearPreviousMapPoint(this.snappingManager,e);this._updatingHandles.addPromise(a(t))}}))}destroy(){o(this.segmentLabels),o(this._snappingOperation),this._editGeometryOperations=o(this._editGeometryOperations),this._updatingHandles.destroy()}get _isDragging(){const{_stagedPointerId:t,_manipulator:e}=this;return null!=t&&this._pointerDownStates.has(t)||e.grabbing||!e.interactive}get _snappingEnabled(){return null!=this.snappingManager&&this.snappingManager.options.effectiveEnabled}get _requiresScenePoint(){const t=this._updateAndGetEffectiveDrawSurface();return"3d"===this.view.type&&this.drawSurface!==t}get canRedo(){return this._editGeometryOperations.canRedo}get canUndo(){return this._editGeometryOperations.canUndo}get committedVertices(){return this._activeComponent.vertices.map((t=>this.coordinateHelper.vectorToArray(t.pos)))}get _constraint(){const{constraints:t,constraintsEnabled:e}=this;if(t&&e)switch(this.geometryType){case"point":return this._getPointConstraint(t);case"polygon":case"polyline":return this._getPolylineOrPolygonConstraint(this.lastVertex,this.secondToLastVertex,t)}}set drawingMode(t){this._set("drawingMode",t??x)}get effectiveCursor(){return this.loading?L:this._hideDefaultCursor?null:this.cursor||A}get interactive(){return this._manipulator.interactive}set interactive(t){this._manipulator.interactive=t}get isCompleted(){return this._createOperationCompleted}get numCommittedVertices(){return this._activeComponent.vertices.length}get snappingOptions(){return null!=this.snappingManager?this.snappingManager.options:null}get cursorVertex(){return this._get("cursorVertex")}get visualizationCursorVertex(){return"mouse"===this._stagedPointerType?this.cursorVertex:null}get committableVertex(){const{cursorVertex:t,lastVertex:e,firstVertex:i,geometryType:n}=this;return"polygon"===n&&_(t,i)||_(t,e)?null:t}get updating(){return this._updatingHandles.updating}get geometryIncludingUncommittedVertices(){const{committedVertices:t,committableVertex:e,coordinateHelper:i}=this,n=t.slice();return null!=e&&n.push(i.pointToArray(e)),n}cancel(){this.complete({aborted:!0})}commitStagedVertex(){this._snappingOperation.abort();const{committableVertex:t}=this;null!=t&&this._editGeometryOperations.appendVertex(this.coordinateHelper.pointToVector(t))}complete(t){const e=t?.aborted||!1;this._snappingOperation.abort(),this.snappingManager?.doneSnapping();const{geometryType:i,numCommittedVertices:n}=this,o="multipoint"===i&&0===n||"polyline"===i&&n<2||"polygon"===i&&n<3;"segment"!==i&&"point"!==i||this.commitStagedVertex(),this._createOperationCompleted=!o,(this.isCompleted||e)&&(this._stagedScreenPoint=null,this._stagedPointerId=null,this._stagedPointerType=null,this._processCursor(null),this.emit("complete",{vertices:this.committedVertices.map(((t,e)=>({componentIndex:0,vertexIndex:e,coordinates:t}))),aborted:e,type:"complete"}))}onInputEvent(t){switch(t.type){case"pointer-down":this._pointerDownStates.add(t.pointerId);break;case"pointer-up":this._pointerDownStates.delete(t.pointerId)}switch(t.type){case"pointer-move":return this._onPointerMove(t);case"hold":return this._onHold(t)}}redo(){this._editGeometryOperations.redo()}undo(){null!=this.snappingManager&&this.snappingManager.doneSnapping(),this._editGeometryOperations.undo()}_processCursor(t){const e=n(this.cursorVertex),i=n(t),o=i&&(this._updateAndGetEffectiveDrawSurface()?.constrainZ(i)??i),r=this._snapToClosingVertex(o),s=this._applyConstraints(r);_(e,s)||(this._set("cursorVertex",s),this.segmentLabels?.set("stagedVertex",null!=s?this.coordinateHelper.pointToVector(s):null),null==s||"mouse"!==this._stagedPointerType?this.emit("cursor-remove"):this.emit("cursor-update",{updated:null,vertices:[{componentIndex:0,vertexIndex:this._activeComponent.vertices.length,coordinates:this.coordinateHelper.pointToArray(s)}],operation:"apply",type:"vertex-update"}))}_snapToClosingVertex(t){if(null==t||this._isDragging||"polygon"!==this.geometryType||this.numCommittedVertices<=2)return t;const e=this._mapToScreen(t);if(!e)return t;const i=this._activeComponent;return this._vertexWithinPointerDistance(i.vertices[0].pos,e)?this.firstVertex:this._vertexWithinPointerDistance(i.vertices.at(-1).pos,e)?this.lastVertex:t}_createManipulatorDragPipeline(t){switch(this.drawingMode){case"click":return this._createManipulatorDragPipelineClick(t);case"freehand":return this._createManipulatorDragPipelineFreehand(t);case"hybrid":return this._createManipulatorDragPipelineHybrid(t)}}_createManipulatorDragPipelineClick(t){return T(t,((t,e,i,n)=>{const o="touch"===n&&this._snappingEnabled;if(this.isCompleted||!o)return;const{snappingStep:r,cancelSnapping:s}=G({predicate:()=>o,snappingManager:this.snappingManager,snappingContext:new j({editGeometryOperations:this._editGeometryOperations,elevationInfo:this.elevationInfo,feature:this.graphic,pointer:n,visualizer:this.snappingVisualizer,drawConstraints:this.constraints}),updatingHandles:this._updatingHandles,useZ:!this._requiresScenePoint});i=i.next((t=>(o&&null!=this.snappingManager&&this.snappingManager.doneSnapping(),t))).next(s),e.next(this._screenToMapDragEventStep()).next((t=>("start"===t.action&&(this._processCursor(t.mapStart),("segment"===this.geometryType||o&&!this.numCommittedVertices)&&this.commitStagedVertex()),t))).next(S(this.view,this.elevationInfo)).next(...r).next((t=>(o&&(this._processCursor(t.mapEnd),"end"===t.action&&this.commitStagedVertex()),t))).next((t=>("end"===t.action&&("mouse"!==this._stagedPointerType&&this._snappingOperation.abort(),"segment"!==this.geometryType&&"point"!==this.geometryType||this.complete()),t)))}))}_createManipulatorDragPipelineFreehand(t){return T(t,((t,e)=>{this.isCompleted||e.next(this._screenToMapDragEventStep()).next((t=>("start"===t.action&&(this._snappingOperation.abort(),null==this.committableVertex&&this._processCursor(t.mapStart),"segment"===this.geometryType&&this.commitStagedVertex()),t))).next((t=>{switch(t.action){case"start":case"update":this._processCursor(t.mapEnd),"polygon"!==this.geometryType&&"polyline"!==this.geometryType||this.commitStagedVertex();break;case"end":this.complete()}return t}))}))}_createManipulatorDragPipelineHybrid(t){return T(t,((t,e)=>{this.isCompleted||e.next(this._screenToMapDragEventStep()).next((t=>("start"===t.action&&(this._snappingOperation.abort(),this.addHandles(this._editGeometryOperations.createUndoGroup(),z),this._processCursor(t.mapStart),this.commitStagedVertex()),t))).next((t=>{switch(t.action){case"start":case"update":this._processCursor(t.mapEnd),"polygon"!==this.geometryType&&"polyline"!==this.geometryType||this.commitStagedVertex();break;case"end":"mouse"!==this._stagedPointerType&&this._snappingOperation.abort(),this.removeHandles(z),"segment"!==this.geometryType&&"point"!==this.geometryType||this.complete()}return t}))}))}get _drawAtFixedElevation(){const{constraintsEnabled:t,constraintZ:e,geometryType:i,numCommittedVertices:n}=this;return t?null!=e||"segment"===i&&n>0:("segment"===i||"polygon"===i)&&n>0}_updateAndGetEffectiveDrawSurface(){const{constraintsEnabled:t,coordinateHelper:e,drawSurface:i,elevationDrawSurface:n,snapToSceneEnabled:o}=this;if(null==n)return i;if(!this.hasZ)return n.defaultZ=null,n;const r=this.elevationInfo?.mode;let s=this.defaultZ,a=t||"absolute-height"===r;if(null!=o&&(a=o),"on-the-ground"===r&&(a=!1),this._drawAtFixedElevation){s=(t?this.constraintZ:null)??e.getZ(this._activeComponent.vertices[0].pos),a=!1}return a?i:(n.defaultZ=s,n)}_mapToScreen(t){return this._updateAndGetEffectiveDrawSurface()?.mapToScreen(t)}_onHold(t){this._snappingOperation.abort(),"click"===this.drawingMode&&"touch"===t.pointerType&&this._snappingEnabled&&this._processCursor(t.mapPoint),t.stopPropagation()}_onImmediateClick(t){if(!("mouse"===t.pointerType&&2===t.button||this._manipulator.dragging))try{const{drawingMode:e,geometryType:i}=this;this._stagedPointerType=t.pointerType,this._stagedScreenPoint=t.screenPoint;const n=this._screenToMap(t.screenPoint);if(null==n)return;if(null==n||"freehand"===e&&"point"!==i)return;if(this._snappingEnabled&&null!=this.cursorVertex||this._processCursor(n),null==this.committableVertex)return void this.complete();this.commitStagedVertex(),"mouse"!==t.pointerType&&this._processCursor(null),("freehand"===e||"point"===i||"segment"===i&&2===this.numCommittedVertices||"segment"===i&&"hybrid"===e&&1===this.numCommittedVertices)&&this.complete()}finally{t.stopPropagation()}}_onImmediateDoubleClick(t){this._manipulator.dragging||"point"===this.geometryType||(this.complete(),t.stopPropagation())}_onPointerMove(t){const e=d(t.x,t.y);this._stagedScreenPoint=e,this._stagedPointerType=t.pointerType,this._stagedPointerId=t.pointerId,this._isDragging?this._snappingOperation.abort():(t.stopPropagation(),this._processCursorMovementRelativeToSurface(e,t.pointerType))}_onKeyboardBasedChange(){"mouse"===this._stagedPointerType&&this._stagedScreenPoint&&null!=this._stagedPointerId&&!this._isDragging?this._processCursorMovementRelativeToSurface(this._stagedScreenPoint,this._stagedPointerType):this._snappingOperation.abort()}_processCursorMovementRelativeToSurface(t,e){const i=this._snappingOperation,n=this._screenToMap(t),o=this._requiresScenePoint?this.drawSurface?.screenToMap(t):null;if(null==n)return this._hideDefaultCursor=!0,this._processCursor(null),void i.abort();this._hideDefaultCursor=!1;const r=this.snappingManager;if(null==r)return this._processCursor(n),void i.abort();const s=this._getSnappingContext(e);this._updatingHandles.addPromise(a(i.snap({point:n,scenePoint:o},r,s)))}_applyConstraints(t){const{_constraint:e,constraints:i}=this;if(!t||!i||!e)return t;const{context:n}=i,o=M(t,n),r=o?e.closestTo(o):void 0;if(!r)return t;const s=D(r,t,n),a="2d"===this.view.type||"absolute-height"!==n.elevationInfo.mode;return null!=s&&a&&null!=this.constraintZ&&this.hasZ&&(s.z=this.constraintZ),s}_screenToMap(t){return t?this._updateAndGetEffectiveDrawSurface()?.screenToMap(t):null}_screenToMapDragEventStep(){let t=null;return e=>{if("start"===e.action&&(t=this._screenToMap(e.screenStart)),null==t)return null;const i=this._screenToMap(e.screenEnd);return null!=i?{...e,mapStart:t,mapEnd:i}:null}}_vertexWithinPointerDistance(t,e){const i=25,n=this._mapToScreen(this.coordinateHelper.vectorToDehydratedPoint(t));return null!=n&&R(n,e,i)}_getSnappingContext(t){const e=this._drawAtFixedElevation?this.elevationDrawSurface?.defaultZ:null;return new j({editGeometryOperations:this._editGeometryOperations,elevationInfo:this.elevationInfo,pointer:t,feature:this.graphic,visualizer:this.snappingVisualizer,selfSnappingZ:null!=e?{value:e,elevationInfo:this.elevationInfo}:null,drawConstraints:this.constraints})}};function R(t,e,i){const n=t.x-e.x,o=t.y-e.y;return n*n+o*o<=i}t([h()],F.prototype,"_hideDefaultCursor",void 0),t([h()],F.prototype,"_stagedPointerId",void 0),t([h()],F.prototype,"_isDragging",null),t([h()],F.prototype,"_snappingOperation",void 0),t([h()],F.prototype,"_snappingEnabled",null),t([h({constructOnly:!0})],F.prototype,"graphic",void 0),t([h()],F.prototype,"constraintsEnabled",void 0),t([h()],F.prototype,"constraints",void 0),t([h()],F.prototype,"_constraint",null),t([h()],F.prototype,"constraintZ",void 0),t([h()],F.prototype,"defaultZ",void 0),t([h()],F.prototype,"isDraped",void 0),t([h({value:x})],F.prototype,"drawingMode",null),t([h({constructOnly:!0})],F.prototype,"elevationDrawSurface",void 0),t([h({constructOnly:!0})],F.prototype,"elevationInfo",void 0),t([h({constructOnly:!0,type:H})],F.prototype,"labelOptions",void 0),t([h({constructOnly:!0})],F.prototype,"geometryType",void 0),t([h({constructOnly:!0})],F.prototype,"hasM",void 0),t([h({constructOnly:!0})],F.prototype,"hasZ",void 0),t([h()],F.prototype,"cursor",void 0),t([h()],F.prototype,"effectiveCursor",null),t([h()],F.prototype,"loading",void 0),t([h({constructOnly:!0})],F.prototype,"manipulators",void 0),t([h({constructOnly:!0})],F.prototype,"drawSurface",void 0),t([h({constructOnly:!0})],F.prototype,"segmentLabels",void 0),t([h({constructOnly:!0})],F.prototype,"snappingManager",void 0),t([h({constructOnly:!0})],F.prototype,"snappingVisualizer",void 0),t([h()],F.prototype,"snapToSceneEnabled",void 0),t([h({readOnly:!0})],F.prototype,"cursorVertex",null),t([h({readOnly:!0})],F.prototype,"visualizationCursorVertex",null),t([h()],F.prototype,"committableVertex",null),t([h()],F.prototype,"firstVertex",void 0),t([h()],F.prototype,"lastVertex",void 0),t([h()],F.prototype,"secondToLastVertex",void 0),t([h()],F.prototype,"updating",null),t([h({constructOnly:!0})],F.prototype,"view",void 0),F=t([u("esri.views.draw.DrawOperation")],F);export{F as DrawOperation,A as defaultCursor,L as defaultLoadingCursor};
5
+ import{_ as t}from"../../chunks/tslib.es6.js";import e from"../../core/Accessor.js";import i from"../../core/Evented.js";import{clone as n}from"../../core/lang.js";import{destroyMaybe as o,equalsMaybe as r}from"../../core/maybe.js";import{memoize as s}from"../../core/memoize.js";import{ignoreAbortErrors as a}from"../../core/promiseUtils.js";import p from"../../core/ReactiveSet.js";import{watch as c,syncAndInitial as l}from"../../core/reactiveUtils.js";import{createScreenPoint as d}from"../../core/screenUtils.js";import{property as h}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import{subclass as u}from"../../core/accessorSupport/decorators/subclass.js";import{diff as m}from"../../core/accessorSupport/diffUtils.js";import{UpdatingHandles as g}from"../../core/support/UpdatingHandles.js";import{pointEquals as y,pointNear as _}from"../../layers/graphics/dehydratedFeatureComparison.js";import{getEffectiveElevationInfo as v}from"../../support/elevationInfoUtils.js";import{ViewingMode as f}from"../ViewingMode.js";import{defaultDrawingMode as x}from"./DrawingMode.js";import{DrawManipulator as C}from"./DrawManipulator.js";import{createCoordinateHelper as b}from"../interactive/coordinateHelper.js";import{createManipulatorDragEventPipeline as T,sceneSnappingAtLocation as S}from"../interactive/dragEventPipeline.js";import{EditGeometry as P,Component as V}from"../interactive/editGeometry/EditGeometry.js";import{EditGeometryOperations as w}from"../interactive/editGeometry/EditGeometryOperations.js";import{isPoint as O}from"../interactive/sketch/constraints.js";import{pointToConstraintSpace as M,constraintSpaceToPoint as D,getPointConstraint as E,getPolylineOrPolygonConstraint as I}from"../interactive/sketch/constraintUtils.js";import H from"../interactive/sketch/SketchLabelOptions.js";import{SnappingContext as j}from"../interactive/snapping/SnappingContext.js";import{createSnapDragEventPipelineStep as G}from"../interactive/snapping/SnappingDragPipelineStep.js";import{SnappingOperation as k}from"../interactive/snapping/SnappingOperation.js";import{setupSnappingToggleHandles as Z}from"../interactive/snapping/snappingUtils.js";const A="crosshair",L="progress",U=Symbol(),z=Symbol();let F=class extends(i.EventedMixin(e)){constructor(t){super(t),this._createOperationCompleted=!1,this._hideDefaultCursor=!1,this._pointerDownStates=new p,this._stagedScreenPoint=null,this._stagedPointerType=null,this._updatingHandles=new g,this._stagedPointerId=null,this.constraintsEnabled=!1,this.constraints=void 0,this._getPointConstraint=s(E),this._getPolylineOrPolygonConstraint=s(I),this.constraintZ=null,this.defaultZ=null,this.isDraped=!0,this.labelOptions=new H,this.cursor=null,this.loading=!1,this.snapToSceneEnabled=null,this.firstVertex=null,this.lastVertex=null,this.secondToLastVertex=null,null==t.elevationInfo&&(this.elevationInfo=v(!!t.hasZ))}initialize(){const{geometryType:t,view:e}=this,i=e.spatialReference,n="viewingMode"in e.state?e.state.viewingMode:f.Local,o="segment"===t||"multipoint"===t?"polyline":t;this.coordinateHelper=b(this.hasZ,this.hasM,i),this._editGeometryOperations=new w(new P(o,this.coordinateHelper),n),this._snappingOperation=new k({view:e}),this.addHandles([c((()=>({stagedPoint:this._snappingOperation.stagedPoint,constraint:this._constraint})),(({stagedPoint:t,constraint:e},i)=>{const{snappingOptions:n}=this;n&&(n.forceDisabled=null!=e&&O(e));if(null!=i&&t===i.stagedPoint&&e!==i.constraint)return this._onKeyboardBasedChange();this._processCursor(t??this._screenToMap(this._stagedScreenPoint))}),{equals:(t,e)=>t.stagedPoint===e.stagedPoint&&r(t.constraint,e.constraint)}),c((()=>this.view.viewpoint),((t,e)=>{t&&e&&m(t,e)&&this._onKeyboardBasedChange()}))]),this._activeComponent=new V(i,n),this._editGeometryOperations.data.components.push(this._activeComponent);const s=this.segmentLabels;null!=s&&(s.context={view:e,editGeometryOperations:this._editGeometryOperations,elevationInfo:this.elevationInfo,labelOptions:this.labelOptions},this.addHandles(c((()=>this.labelOptions.enabled),(t=>{s.visible=t}),l))),this.addHandles(this._editGeometryOperations.on(["vertex-add","vertex-update","vertex-remove"],(t=>{const e=t.vertices.map((t=>({componentIndex:0,vertexIndex:t.index,coordinates:this.coordinateHelper.vectorToArray(t.pos)}))),i=e.map((t=>t.coordinates)),n=this.coordinateHelper.vectorToDehydratedPoint(this._activeComponent.getFirstVertex()?.pos)??null;y(n,this.firstVertex)||(this.firstVertex=n);const o=this.coordinateHelper.vectorToDehydratedPoint(this._activeComponent.getLastVertex()?.pos)??null;y(o,this.lastVertex)||(this.lastVertex=o);const r=this.coordinateHelper.vectorToDehydratedPoint(this._activeComponent.edges.at(-1)?.leftVertex?.pos)??null;switch(y(r,this.secondToLastVertex)||(this.secondToLastVertex=r),this._processCursor(this.cursorVertex),t.type){case"vertex-add":this.emit(t.type,{...t,added:i,vertices:e});break;case"vertex-update":this.emit(t.type,{...t,updated:i,vertices:e});break;case"vertex-remove":this.emit(t.type,{...t,removed:i,vertices:e})}})));const p=this._manipulator=new C({consumesClicks:!1,grabbableForEvent:t=>"click"!==this.drawingMode||"touch"===t.pointerType&&this._snappingEnabled&&1===this._pointerDownStates.size});this.manipulators.add(p),p.grabbable="point"!==t&&"multipoint"!==t,this.addHandles([p.events.on("immediate-click",(t=>this._onImmediateClick(t))),p.events.on("immediate-double-click",(t=>this._onImmediateDoubleClick(t))),c((()=>this.drawingMode),(()=>{this.removeHandles(U),this.addHandles(this._createManipulatorDragPipeline(p),U)}),l),c((()=>({effectiveCursor:this.effectiveCursor})),(({effectiveCursor:t})=>{p.cursor=t}),l)]),Z(this,(()=>{const t=this.view.inputManager.latestPointerType??"mouse",e=this._getSnappingContext(t);if(null!=this.snappingManager){const t=this._snappingOperation.snapAgainNearPreviousMapPoint(this.snappingManager,e);this._updatingHandles.addPromise(a(t))}}))}destroy(){o(this.segmentLabels),o(this._snappingOperation),this._editGeometryOperations=o(this._editGeometryOperations),this._updatingHandles.destroy()}get _isDragging(){const{_stagedPointerId:t,_manipulator:e}=this;return null!=t&&this._pointerDownStates.has(t)||e.grabbing||!e.interactive}get _snappingEnabled(){return null!=this.snappingManager&&this.snappingManager.options.effectiveEnabled}get _requiresScenePoint(){const t=this._updateAndGetEffectiveDrawSurface();return"3d"===this.view.type&&this.drawSurface!==t}get canRedo(){return this._editGeometryOperations.canRedo}get canUndo(){return this._editGeometryOperations.canUndo}get committedVertices(){return this._activeComponent.vertices.map((t=>this.coordinateHelper.vectorToArray(t.pos)))}get _constraint(){const{constraints:t,constraintsEnabled:e}=this;if(t&&e)switch(this.geometryType){case"point":case"multipoint":return this._getPointConstraint(t);case"polygon":case"polyline":return this._getPolylineOrPolygonConstraint(this.lastVertex,this.secondToLastVertex,t)}}set drawingMode(t){this._set("drawingMode",t??x)}get effectiveCursor(){return this.loading?L:this._hideDefaultCursor?null:this.cursor||A}get interactive(){return this._manipulator.interactive}set interactive(t){this._manipulator.interactive=t}get isCompleted(){return this._createOperationCompleted}get numCommittedVertices(){return this._activeComponent.vertices.length}get snappingOptions(){return null!=this.snappingManager?this.snappingManager.options:null}get cursorVertex(){return this._get("cursorVertex")}get visualizationCursorVertex(){return"mouse"===this._stagedPointerType?this.cursorVertex:null}get committableVertex(){const{cursorVertex:t,lastVertex:e,firstVertex:i,geometryType:n}=this;return"polygon"===n&&_(t,i)||_(t,e)?null:t}get updating(){return this._updatingHandles.updating}get geometryIncludingUncommittedVertices(){const{committedVertices:t,committableVertex:e,coordinateHelper:i}=this,n=t.slice();return null!=e&&n.push(i.pointToArray(e)),n}cancel(){this.complete({aborted:!0})}commitStagedVertex(){this._snappingOperation.abort();const{committableVertex:t}=this;null!=t&&this._editGeometryOperations.appendVertex(this.coordinateHelper.pointToVector(t))}complete(t){const e=t?.aborted||!1;this._snappingOperation.abort(),this.snappingManager?.doneSnapping();const{geometryType:i,numCommittedVertices:n}=this,o="multipoint"===i&&0===n||"polyline"===i&&n<2||"polygon"===i&&n<3;"segment"!==i&&"point"!==i||this.commitStagedVertex(),this._createOperationCompleted=!o,(this.isCompleted||e)&&(this._stagedScreenPoint=null,this._stagedPointerId=null,this._stagedPointerType=null,this._processCursor(null),this.emit("complete",{vertices:this.committedVertices.map(((t,e)=>({componentIndex:0,vertexIndex:e,coordinates:t}))),aborted:e,type:"complete"}))}onInputEvent(t){switch(t.type){case"pointer-down":this._pointerDownStates.add(t.pointerId);break;case"pointer-up":this._pointerDownStates.delete(t.pointerId)}switch(t.type){case"pointer-move":return this._onPointerMove(t);case"hold":return this._onHold(t)}}redo(){this._editGeometryOperations.redo()}undo(){null!=this.snappingManager&&this.snappingManager.doneSnapping(),this._editGeometryOperations.undo()}_processCursor(t){const e=n(this.cursorVertex),i=n(t),o=i&&(this._updateAndGetEffectiveDrawSurface()?.constrainZ(i)??i),r=this._snapToClosingVertex(o),s=this._applyConstraints(r);_(e,s)||(this._set("cursorVertex",s),this.segmentLabels?.set("stagedVertex",null!=s?this.coordinateHelper.pointToVector(s):null),null==s||"mouse"!==this._stagedPointerType?this.emit("cursor-remove"):this.emit("cursor-update",{updated:null,vertices:[{componentIndex:0,vertexIndex:this._activeComponent.vertices.length,coordinates:this.coordinateHelper.pointToArray(s)}],operation:"apply",type:"vertex-update"}))}_snapToClosingVertex(t){if(null==t||this._isDragging||"polygon"!==this.geometryType||this.numCommittedVertices<=2)return t;const e=this._mapToScreen(t);if(!e)return t;const i=this._activeComponent;return this._vertexWithinPointerDistance(i.vertices[0].pos,e)?this.firstVertex:this._vertexWithinPointerDistance(i.vertices.at(-1).pos,e)?this.lastVertex:t}_createManipulatorDragPipeline(t){switch(this.drawingMode){case"click":return this._createManipulatorDragPipelineClick(t);case"freehand":return this._createManipulatorDragPipelineFreehand(t);case"hybrid":return this._createManipulatorDragPipelineHybrid(t)}}_createManipulatorDragPipelineClick(t){return T(t,((t,e,i,n)=>{const o="touch"===n&&this._snappingEnabled;if(this.isCompleted||!o)return;const{snappingStep:r,cancelSnapping:s}=G({predicate:()=>o,snappingManager:this.snappingManager,snappingContext:new j({editGeometryOperations:this._editGeometryOperations,elevationInfo:this.elevationInfo,feature:this.graphic,pointer:n,visualizer:this.snappingVisualizer,drawConstraints:this.constraints}),updatingHandles:this._updatingHandles,useZ:!this._requiresScenePoint});i=i.next((t=>(o&&null!=this.snappingManager&&this.snappingManager.doneSnapping(),t))).next(s),e.next(this._screenToMapDragEventStep()).next((t=>("start"===t.action&&(this._processCursor(t.mapStart),("segment"===this.geometryType||o&&!this.numCommittedVertices)&&this.commitStagedVertex()),t))).next(S(this.view,this.elevationInfo)).next(...r).next((t=>(o&&(this._processCursor(t.mapEnd),"end"===t.action&&this.commitStagedVertex()),t))).next((t=>("end"===t.action&&("mouse"!==this._stagedPointerType&&this._snappingOperation.abort(),"segment"!==this.geometryType&&"point"!==this.geometryType||this.complete()),t)))}))}_createManipulatorDragPipelineFreehand(t){return T(t,((t,e)=>{this.isCompleted||e.next(this._screenToMapDragEventStep()).next((t=>("start"===t.action&&(this._snappingOperation.abort(),null==this.committableVertex&&this._processCursor(t.mapStart),"segment"===this.geometryType&&this.commitStagedVertex()),t))).next((t=>{switch(t.action){case"start":case"update":this._processCursor(t.mapEnd),"polygon"!==this.geometryType&&"polyline"!==this.geometryType||this.commitStagedVertex();break;case"end":this.complete()}return t}))}))}_createManipulatorDragPipelineHybrid(t){return T(t,((t,e)=>{this.isCompleted||e.next(this._screenToMapDragEventStep()).next((t=>("start"===t.action&&(this._snappingOperation.abort(),this.addHandles(this._editGeometryOperations.createUndoGroup(),z),this._processCursor(t.mapStart),this.commitStagedVertex()),t))).next((t=>{switch(t.action){case"start":case"update":this._processCursor(t.mapEnd),"polygon"!==this.geometryType&&"polyline"!==this.geometryType||this.commitStagedVertex();break;case"end":"mouse"!==this._stagedPointerType&&this._snappingOperation.abort(),this.removeHandles(z),"segment"!==this.geometryType&&"point"!==this.geometryType||this.complete()}return t}))}))}get _drawAtFixedElevation(){const{constraintsEnabled:t,constraintZ:e,geometryType:i,numCommittedVertices:n}=this;return t?null!=e||"segment"===i&&n>0:("segment"===i||"polygon"===i)&&n>0}_updateAndGetEffectiveDrawSurface(){const{constraintsEnabled:t,coordinateHelper:e,drawSurface:i,elevationDrawSurface:n,snapToSceneEnabled:o}=this;if(null==n)return i;if(!this.hasZ)return n.defaultZ=null,n;const r=this.elevationInfo?.mode;let s=this.defaultZ,a=t||"absolute-height"===r;if(null!=o&&(a=o),"on-the-ground"===r&&(a=!1),this._drawAtFixedElevation){s=(t?this.constraintZ:null)??e.getZ(this._activeComponent.vertices[0].pos),a=!1}return a?i:(n.defaultZ=s,n)}_mapToScreen(t){return this._updateAndGetEffectiveDrawSurface()?.mapToScreen(t)}_onHold(t){this._snappingOperation.abort(),"click"===this.drawingMode&&"touch"===t.pointerType&&this._snappingEnabled&&this._processCursor(t.mapPoint),t.stopPropagation()}_onImmediateClick(t){if(!("mouse"===t.pointerType&&2===t.button||this._manipulator.dragging))try{const{drawingMode:e,geometryType:i}=this;this._stagedPointerType=t.pointerType,this._stagedScreenPoint=t.screenPoint;const n=this._screenToMap(t.screenPoint);if(null==n)return;if(null==n||"freehand"===e&&"point"!==i&&"multipoint"!==i)return;if(this._snappingEnabled&&null!=this.cursorVertex||this._processCursor(n),null==this.committableVertex)return void this.complete();this.commitStagedVertex(),"mouse"!==t.pointerType&&this._processCursor(null),("freehand"===e&&"multipoint"!==this.geometryType||"point"===i||"segment"===i&&2===this.numCommittedVertices||"segment"===i&&"hybrid"===e&&1===this.numCommittedVertices)&&this.complete()}finally{t.stopPropagation()}}_onImmediateDoubleClick(t){this._manipulator.dragging||"point"===this.geometryType||(this.complete(),t.stopPropagation())}_onPointerMove(t){const e=d(t.x,t.y);this._stagedScreenPoint=e,this._stagedPointerType=t.pointerType,this._stagedPointerId=t.pointerId,this._isDragging?this._snappingOperation.abort():(t.stopPropagation(),this._processCursorMovementRelativeToSurface(e,t.pointerType))}_onKeyboardBasedChange(){"mouse"===this._stagedPointerType&&this._stagedScreenPoint&&null!=this._stagedPointerId&&!this._isDragging?this._processCursorMovementRelativeToSurface(this._stagedScreenPoint,this._stagedPointerType):this._snappingOperation.abort()}_processCursorMovementRelativeToSurface(t,e){const i=this._snappingOperation,n=this._screenToMap(t),o=this._requiresScenePoint?this.drawSurface?.screenToMap(t):null;if(null==n)return this._hideDefaultCursor=!0,this._processCursor(null),void i.abort();this._hideDefaultCursor=!1;const r=this.snappingManager;if(null==r)return this._processCursor(n),void i.abort();const s=this._getSnappingContext(e);this._updatingHandles.addPromise(a(i.snap({point:n,scenePoint:o},r,s)))}_applyConstraints(t){const{_constraint:e,constraints:i}=this;if(!t||!i||!e)return t;const{context:n}=i,o=M(t,n),r=o?e.closestTo(o):void 0;if(!r)return t;const s=D(r,t,n),a="2d"===this.view.type||"absolute-height"!==n.elevationInfo.mode;return null!=s&&a&&null!=this.constraintZ&&this.hasZ&&(s.z=this.constraintZ),s}_screenToMap(t){return t?this._updateAndGetEffectiveDrawSurface()?.screenToMap(t):null}_screenToMapDragEventStep(){let t=null;return e=>{if("start"===e.action&&(t=this._screenToMap(e.screenStart)),null==t)return null;const i=this._screenToMap(e.screenEnd);return null!=i?{...e,mapStart:t,mapEnd:i}:null}}_vertexWithinPointerDistance(t,e){const i=25,n=this._mapToScreen(this.coordinateHelper.vectorToDehydratedPoint(t));return null!=n&&R(n,e,i)}_getSnappingContext(t){const e=this._drawAtFixedElevation?this.elevationDrawSurface?.defaultZ:null;return new j({editGeometryOperations:this._editGeometryOperations,elevationInfo:this.elevationInfo,pointer:t,feature:this.graphic,visualizer:this.snappingVisualizer,selfSnappingZ:null!=e?{value:e,elevationInfo:this.elevationInfo}:null,drawConstraints:this.constraints})}};function R(t,e,i){const n=t.x-e.x,o=t.y-e.y;return n*n+o*o<=i}t([h()],F.prototype,"_hideDefaultCursor",void 0),t([h()],F.prototype,"_stagedPointerId",void 0),t([h()],F.prototype,"_isDragging",null),t([h()],F.prototype,"_snappingOperation",void 0),t([h()],F.prototype,"_snappingEnabled",null),t([h({constructOnly:!0})],F.prototype,"graphic",void 0),t([h()],F.prototype,"constraintsEnabled",void 0),t([h()],F.prototype,"constraints",void 0),t([h()],F.prototype,"_constraint",null),t([h()],F.prototype,"constraintZ",void 0),t([h()],F.prototype,"defaultZ",void 0),t([h()],F.prototype,"isDraped",void 0),t([h({value:x})],F.prototype,"drawingMode",null),t([h({constructOnly:!0})],F.prototype,"elevationDrawSurface",void 0),t([h({constructOnly:!0})],F.prototype,"elevationInfo",void 0),t([h({constructOnly:!0,type:H})],F.prototype,"labelOptions",void 0),t([h({constructOnly:!0})],F.prototype,"geometryType",void 0),t([h({constructOnly:!0})],F.prototype,"hasM",void 0),t([h({constructOnly:!0})],F.prototype,"hasZ",void 0),t([h()],F.prototype,"cursor",void 0),t([h()],F.prototype,"effectiveCursor",null),t([h()],F.prototype,"loading",void 0),t([h({constructOnly:!0})],F.prototype,"manipulators",void 0),t([h({constructOnly:!0})],F.prototype,"drawSurface",void 0),t([h({constructOnly:!0})],F.prototype,"segmentLabels",void 0),t([h({constructOnly:!0})],F.prototype,"snappingManager",void 0),t([h({constructOnly:!0})],F.prototype,"snappingVisualizer",void 0),t([h()],F.prototype,"snapToSceneEnabled",void 0),t([h({readOnly:!0})],F.prototype,"cursorVertex",null),t([h({readOnly:!0})],F.prototype,"visualizationCursorVertex",null),t([h()],F.prototype,"committableVertex",null),t([h()],F.prototype,"firstVertex",void 0),t([h()],F.prototype,"lastVertex",void 0),t([h()],F.prototype,"secondToLastVertex",void 0),t([h()],F.prototype,"updating",null),t([h({constructOnly:!0})],F.prototype,"view",void 0),F=t([u("esri.views.draw.DrawOperation")],F);export{F as DrawOperation,A as defaultCursor,L as defaultLoadingCursor};
@@ -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"../../../Graphic.js";import i from"../../../core/Evented.js";import{destroyMaybe as s}from"../../../core/maybe.js";import{zeroMeters as o}from"../../../core/quantityUtils.js";import{when as r,watch as a,syncAndInitial as h,initial as c}from"../../../core/reactiveUtils.js";import{property as n}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/Logger.js";import"../../../core/RandomLCG.js";import{subclass as l}from"../../../core/accessorSupport/decorators/subclass.js";import p from"../../../geometry/Point.js";import _ from"../../../geometry/Polygon.js";import d from"../../../geometry/Polyline.js";import{create as m}from"../../../geometry/support/aaBoundingRect.js";import{getRingsOrPathsBounds as u}from"../../../geometry/support/boundsUtils.js";import{geometryToCoordinates as g}from"../../../geometry/support/coordsUtils.js";import y from"../../../geometry/support/rotate.js";import v from"../../../symbols/SimpleFillSymbol.js";import f from"../../../symbols/SimpleLineSymbol.js";import G from"../../../symbols/SimpleMarkerSymbol.js";import{cloneMove as b,scale as x,getRotationAngle as w,getScaleRatio as S}from"./drawUtils.js";import k from"./GraphicMover.js";import R from"./HighlightHelper.js";import{addUniqueLayer as M}from"./layerUtils.js";import{settings as I}from"./settings.js";import C from"../../interactive/sketch/SketchOptions.js";import{makeTooltip as H}from"../../interactive/tooltip/tooltipCommonUtils.js";import{ExtentRotateTooltipInfo as O}from"../../interactive/tooltip/infos/ExtentRotateTooltipInfo.js";import{ExtentScaleTooltipInfo as j}from"../../interactive/tooltip/infos/ExtentScaleTooltipInfo.js";import{TranslateTooltipInfo as T}from"../../interactive/tooltip/infos/TranslateTooltipInfo.js";import{autoDistanceBetweenPoints2D as E}from"../../support/automaticLengthMeasurementUtils.js";import{autoSize2D as L}from"../../support/extentUtils.js";class z{constructor(t,e,i,s){this.graphics=t,this.mover=e,this.dx=i,this.dy=s,this.type="move-start"}}class B{constructor(t,e,i,s){this.graphics=t,this.mover=e,this.dx=i,this.dy=s,this.type="move"}}class Y{constructor(t,e,i,s){this.graphics=t,this.mover=e,this.dx=i,this.dy=s,this.type="move-stop"}}class N{constructor(t,e,i){this.graphics=t,this.mover=e,this.angle=i,this.type="rotate-start"}}class U{constructor(t,e,i){this.graphics=t,this.mover=e,this.angle=i,this.type="rotate"}}class A{constructor(t,e,i){this.graphics=t,this.mover=e,this.angle=i,this.type="rotate-stop"}}class P{constructor(t,e,i,s){this.graphics=t,this.mover=e,this.xScale=i,this.yScale=s,this.type="scale-start"}}class X{constructor(t,e,i,s){this.graphics=t,this.mover=e,this.xScale=i,this.yScale=s,this.type="scale"}}class F{constructor(t,e,i,s){this.graphics=t,this.mover=e,this.xScale=i,this.yScale=s,this.type="scale-stop"}}const D=I.transformGraphics,V={centerIndicator:new G({style:"cross",size:D.center.size,color:D.center.color}),fill:{default:new v({color:D.fill.color,outline:{color:D.fill.outlineColor,join:"round",width:1}}),active:new v({color:D.fill.stagedColor,outline:{color:D.fill.outlineColor,join:"round",style:"dash",width:1}})},handles:{default:new G({style:"square",size:D.vertex.size,color:D.vertex.color,outline:{color:D.vertex.outlineColor,width:1}}),hover:new G({style:"square",size:D.vertex.hoverSize,color:D.vertex.hoverColor,outline:{color:D.vertex.hoverOutlineColor,width:1}})},rotator:{default:new G({style:"circle",size:D.vertex.size,color:D.vertex.color,outline:{color:D.vertex.outlineColor,width:1}}),hover:new G({style:"circle",size:D.vertex.hoverSize,color:D.vertex.hoverColor,outline:{color:D.vertex.hoverOutlineColor,width:1}})},rotatorLine:new f({color:D.line.color,width:1})};let q=class extends i.EventedAccessor{constructor(t){super(t),this._activeHandleGraphic=null,this._graphicAttributes={esriSketchTool:"box"},this._mover=null,this._centerGraphic=null,this._backgroundGraphic=null,this._vertexGraphics=[],this._rotateHandleGraphic=null,this._rotateGraphicOffset=20,this._angleOfRotation=0,this._rotateLineGraphic=null,this._startInfo=null,this._totalDx=0,this._totalDy=0,this._xScale=1,this._yScale=1,this.tooltip=null,this.type="box",this.callbacks={onMoveStart(){},onMove(){},onMoveStop(){},onScaleStart(){},onScale(){},onScaleStop(){},onRotateStart(){},onRotate(){},onRotateStop(){},onGraphicClick(){}},this.enableMovement=!0,this.enableRotation=!0,this.enableScaling=!0,this.graphics=[],this.highlightsEnabled=!0,this.layer=null,this.preserveAspectRatio=!1,this.showCenterGraphic=!0,this.symbols=V,this.sketchOptions=new C,this.view=null,this._getBounds=(()=>{const t=m();return(e,i)=>{e[0]=Number.POSITIVE_INFINITY,e[1]=Number.POSITIVE_INFINITY,e[2]=Number.NEGATIVE_INFINITY,e[3]=Number.NEGATIVE_INFINITY;for(const s of i){if(!s)continue;let i,o,r,a;if("point"===s.type)i=r=s.x,o=a=s.y;else if("multipoint"===s.type){const e=g(s);[i,o,r,a]=u(t,[e])}else if("extent"===s.type)[i,o,r,a]=[s.xmin,s.ymin,s.xmax,s.ymax];else{const e=g(s);[i,o,r,a]=u(t,e)}e[0]=Math.min(i,e[0]),e[1]=Math.min(o,e[1]),e[2]=Math.max(r,e[2]),e[3]=Math.max(a,e[3])}return e}})()}initialize(){const t=this.view;this._highlightHelper=new R({view:t}),this._setup(),this.addHandles([r((()=>t?.ready),(()=>{const{layer:t,view:e}=this;M(e,t)}),{once:!0,initial:!0}),a((()=>this.preserveAspectRatio),(()=>{this._activeHandleGraphic&&(this._scaleGraphic(this._activeHandleGraphic),this._updateGraphics(),this._updateTooltip(this._activeHandleGraphic))})),a((()=>t?.scale),(()=>{this._updateRotateGraphic(),this._updateRotateLineGraphic()})),a((()=>this.graphics),(()=>this.refresh())),a((()=>this.layer),((t,e)=>{e&&this._resetGraphics(e),this.refresh()})),a((()=>this.highlightsEnabled),(()=>{this._highlightHelper?.removeAll(),this._setUpHighlights()})),a((()=>this.sketchOptions.tooltips.effectiveEnabled),(e=>{this.tooltip=e?H((()=>({view:t,options:this.sketchOptions.tooltips}))):s(this.tooltip)}),h),a((()=>this.view.effectiveTheme.accentColor),(()=>this._updateSymbolsForTheme()),c),this.on("move-start",(t=>this.callbacks?.onMoveStart?.(t))),this.on("move",(t=>this.callbacks?.onMove?.(t))),this.on("move-stop",(t=>this.callbacks?.onMoveStop?.(t))),this.on("rotate-start",(t=>this.callbacks?.onRotateStart?.(t))),this.on("rotate",(t=>this.callbacks?.onRotate?.(t))),this.on("rotate-stop",(t=>this.callbacks?.onRotateStop?.(t))),this.on("scale-start",(t=>this.callbacks?.onScaleStart?.(t))),this.on("scale",(t=>this.callbacks?.onScale?.(t))),this.on("scale-stop",(t=>this.callbacks?.onScaleStop?.(t)))])}destroy(){this._reset(),this.tooltip=s(this.tooltip)}get state(){const t=this.view?.ready??!1,e=this.graphics.length&&this.layer;return t&&e?"active":t?"ready":"disabled"}isUIGraphic(t){return this._vertexGraphics.includes(t)||t===this._backgroundGraphic||t===this._centerGraphic||t===this._rotateHandleGraphic||t===this._rotateLineGraphic}move(t,e){if(this._mover&&this.graphics.length){for(const i of this.graphics){const s=i.geometry,o=b(s,t,e,this.view);i.geometry=o}this.refresh(),this.emit("move-stop",new Y(this.graphics,null,t,e))}}scale(t,e){if(this._mover&&this.graphics.length){for(const i of this.graphics){const s=i.geometry,o=x(s,t,e);i.geometry=o}this.refresh(),this.emit("scale-stop",new F(this.graphics,null,t,e))}}rotate(t,e){if(this._mover&&this.graphics.length){if(!e){const t=this._vertexGraphics[1].geometry.x,i=this._vertexGraphics[3].geometry.y;e=new p(t,i,this.view.spatialReference)}for(const i of this.graphics){const s=i.geometry,o=y(s,t,e);i.geometry=o}this.refresh(),this.emit("rotate-stop",new A(this.graphics,null,t))}}refresh(){this._reset(),this._setup()}reset(){this.graphics=[]}_setup(){"active"===this.state&&(this._setUpHighlights(),this._setupGraphics(),this._setupMover(),this._updateGraphics())}_reset(){this._highlightHelper?.removeAll(),this._resetGraphicStateVars(),this._resetGraphics(),this._updateTooltip(),this._mover&&this._mover.destroy(),this._mover=null,this.view.cursor="default"}_resetGraphicStateVars(){this._startInfo=null,this._activeHandleGraphic=null,this._totalDx=0,this._totalDy=0,this._xScale=1,this._yScale=1,this._angleOfRotation=0}_resetGraphics(t){(t=t||this.layer)&&(t.removeMany(this._vertexGraphics),t.remove(this._backgroundGraphic),t.remove(this._centerGraphic),t.remove(this._rotateHandleGraphic),t.remove(this._rotateLineGraphic)),this._vertexGraphics.forEach((t=>!t.destroyed&&t.destroy())),!this._backgroundGraphic.destroyed&&this._backgroundGraphic.destroy(),!this._centerGraphic.destroyed&&this._centerGraphic.destroy(),!this._rotateHandleGraphic.destroyed&&this._rotateHandleGraphic.destroy(),!this._rotateLineGraphic.destroyed&&this._rotateLineGraphic.destroy(),this._vertexGraphics=[],this._backgroundGraphic=null,this._centerGraphic=null,this._rotateHandleGraphic=null,this._rotateLineGraphic=null}_setupMover(){let t=[];this.enableScaling&&(t=t.concat(this._vertexGraphics)),this.enableMovement&&(t=t.concat(this.graphics,this._backgroundGraphic)),this.enableRotation&&t.push(this._rotateHandleGraphic),this.showCenterGraphic&&t.push(this._centerGraphic),this._mover=new k({enableMoveAllGraphics:!1,highlightsEnabled:!1,indicatorsEnabled:!1,view:this.view,graphics:t,callbacks:{onGraphicClick:t=>this._onGraphicClickCallback(t),onGraphicMoveStart:t=>this._onGraphicMoveStartCallback(t),onGraphicMove:t=>this._onGraphicMoveCallback(t),onGraphicMoveStop:t=>this._onGraphicMoveStopCallback(t),onGraphicPointerOver:t=>this._onGraphicPointerOverCallback(t),onGraphicPointerOut:t=>this._onGraphicPointerOutCallback(t)}})}_getStartInfo(t){const[e,i,s,o]=this._getBoxBounds(m()),r=Math.abs(s-e),a=Math.abs(o-i),h=(s+e)/2,c=(o+i)/2,{x:n,y:l}=t.geometry;return{width:r,height:a,centerX:h,centerY:c,startX:n,startY:l,graphicInfos:this._getGraphicInfos(),box:this._backgroundGraphic.geometry,rotate:this._rotateHandleGraphic.geometry}}_getGraphicInfos(){return this.graphics.map((t=>this._getGraphicInfo(t)))}_getGraphicInfo(t){const e=t.geometry,[i,s,o,r]=this._getBounds(m(),[e]);return{width:Math.abs(o-i),height:Math.abs(r-s),centerX:(o+i)/2,centerY:(r+s)/2,geometry:e}}_onGraphicClickCallback(t){t.viewEvent.stopPropagation(),this.emit("graphic-click",t),this.callbacks.onGraphicClick&&this.callbacks.onGraphicClick(t)}_onGraphicMoveStartCallback(t){const{_angleOfRotation:e,_xScale:i,_yScale:s,_backgroundGraphic:o,_vertexGraphics:r,_rotateHandleGraphic:a,symbols:h}=this,c=t.graphic;this._resetGraphicStateVars(),this._hideGraphicsBeforeUpdate(),o.symbol=h.fill.active,this._startInfo=this._getStartInfo(c),this._updateTooltip(c,t.viewEvent),c===a?(this.view.cursor="grabbing",this.emit("rotate-start",new N(this.graphics,c,e))):r.includes(c)?(this._activeHandleGraphic=c,this.emit("scale-start",new P(this.graphics,c,i,s))):this.emit("move-start",new z(this.graphics,c,t.dx,t.dy))}_onGraphicMoveCallback(t){const e=t.graphic;if(this._startInfo)if(this._vertexGraphics.includes(e))this._scaleGraphic(e),this._updateTooltip(e,t.viewEvent),this.emit("scale",new X(this.graphics,e,this._xScale,this._yScale));else if(e===this._rotateHandleGraphic)this._rotateGraphic(e),this._updateTooltip(e,t.viewEvent),this.emit("rotate",new U(this.graphics,e,this._angleOfRotation));else{const{dx:i,dy:s}=t;this._totalDx+=i,this._totalDy+=s,this._moveGraphic(e,i,s),this._updateTooltip(e,t.viewEvent),this.emit("move",new B(this.graphics,e,i,s))}}_onGraphicMoveStopCallback(t){const e=t.graphic;if(!this._startInfo)return void this.refresh();const{_angleOfRotation:i,_totalDx:s,_totalDy:o,_xScale:r,_yScale:a,_vertexGraphics:h,_rotateHandleGraphic:c}=this;this.refresh(),e===c?(this.view.cursor="pointer",this.emit("rotate-stop",new A(this.graphics,e,i))):h.includes(e)?this.emit("scale-stop",new F(this.graphics,e,r,a)):this.emit("move-stop",new Y(this.graphics,e,s,o))}_onGraphicPointerOverCallback(t){const{_backgroundGraphic:e,_vertexGraphics:i,graphics:s,_rotateHandleGraphic:o,symbols:r,view:a}=this,h=t.graphic;if(this._hoveredGraphic=h,h===o)return o.symbol=r.rotator.hover,a.cursor="pointer",void this._updateTooltip(h);if(s.includes(h)||h===e)return void(a.cursor="move");if(!i.includes(h))return void(a.cursor="pointer");this._updateTooltip(h),t.graphic.symbol=r.handles.hover;const c=a.rotation;let n,l=t.index;switch(l<8&&(c>=0&&c<45?l%=8:l=c>=45&&c<90?(l+1)%8:c>=90&&c<135?(l+2)%8:c>=135&&c<180?(l+3)%8:c>=180&&c<225?(l+4)%8:c>=225&&c<270?(l+5)%8:c>=270&&c<315?(l+6)%8:(l+7)%8),l){case 0:case 4:n="nwse-resize";break;case 1:case 5:n="ns-resize";break;case 2:case 6:n="nesw-resize";break;case 3:case 7:n="ew-resize";break;default:n="pointer"}a.cursor=n}_onGraphicPointerOutCallback(t){const{_vertexGraphics:e,_rotateHandleGraphic:i,symbols:s,view:o}=this;this._hoveredGraphic=null,t.graphic===i?i.symbol=s.rotator.default:e.includes(t.graphic)&&(t.graphic.symbol=s.handles.default),o.cursor="default",this._updateTooltip()}_scaleGraphic(t){const{_startInfo:e,_vertexGraphics:i,preserveAspectRatio:s,view:o}=this,{centerX:r,centerY:a,graphicInfos:h,height:c,startX:n,startY:l,width:_}=e,{resolution:d,transform:m}=o.state,u=i.indexOf(t);1!==u&&5!==u||this._updateX(t,r),3!==u&&7!==u||this._updateY(t,a);const{x:g,y}=t.geometry,v=m[0]*g+m[2]*y+m[4],f=m[1]*g+m[3]*y+m[5],G=h?.map((t=>t.geometry))??[],w=G.every((t=>"point"===t.type));if((0===_||0===c)&&w){const t=J((g-n)/d),i=J((l-y)/d);for(let e=0;e<G.length;e++)this.graphics[e].geometry=b(G[e],t,i,o,!0);return this._centerGraphic.geometry=new p(g,y,o.spatialReference),void(this._backgroundGraphic.geometry=b(e.box,t,i,o,!0))}if(s){const t=J(m[0]*r+m[2]*a+m[4],2),e=J(m[1]*r+m[3]*a+m[5],2),i=J(m[0]*n+m[2]*l+m[4],2),s=J(m[1]*n+m[3]*l+m[5],2);let o=S(t,e,i,s,v,f);0!==o&&Math.abs(o)!==1/0||(o=1),this._xScale=this._yScale=o;for(const h of G){const t=G.indexOf(h);this.graphics[t].geometry=x(h,this._xScale,this._yScale,[r,a])}this._updateBackgroundGraphic()}else{let t=g-n,i=l-y;if(1===u||5===u?t=0:3!==u&&7!==u||(i=0),0===t&&0===i)return;const s=r+t/2,h=a+i/2;let m=(_+(n>r?t:-1*t))/_,v=(c+(l<a?i:-1*i))/c;1!==u&&5!==u&&0!==m&&Math.abs(m)!==1/0||(m=1),3!==u&&7!==u&&0!==v&&Math.abs(v)!==1/0||(v=1),this._xScale=m,this._yScale=v;const f=(s-r)/d,w=(h-a)/d,S=x(e.box,this._xScale,this._yScale);this._backgroundGraphic.geometry=b(S,f,w,o,!0);const{centerX:k,centerY:R}=this._getGraphicInfo(this._backgroundGraphic),M=(k-r)/d,I=-1*(R-a)/d;for(const e of G){const t=G.indexOf(e),i=x(e,this._xScale,this._yScale,[r,a]);this.graphics[t].geometry=b(i,M,I,o,!0)}this._centerGraphic.geometry=new p(k,R,o.spatialReference)}}_rotateGraphic(t){const{centerX:e,centerY:i,startX:s,startY:o,box:r,rotate:a}=this._startInfo,h=this.view.spatialReference,c=new p(s,o,h),n=new p(e,i,h),l=t.geometry;this._angleOfRotation=w(c,l,n);const _=this._startInfo.graphicInfos?.map((t=>t.geometry))??[];for(const p of _){const t=_.indexOf(p),e=y(p,this._angleOfRotation,n);this.graphics[t].geometry=e}this._backgroundGraphic.geometry=y(r,this._angleOfRotation,n),this._rotateHandleGraphic.geometry=y(a,this._angleOfRotation,n)}_moveGraphic(t,e,i){if(this.graphics.includes(t)){const s=this._backgroundGraphic.geometry;this._backgroundGraphic.geometry=b(s,e,i,this.view);for(const o of this.graphics)o!==t&&(o.geometry=b(o.geometry,e,i,this.view))}else if(t===this._centerGraphic){const t=this._backgroundGraphic.geometry;this._backgroundGraphic.geometry=b(t,e,i,this.view)}if(t===this._backgroundGraphic||t===this._centerGraphic)for(const s of this.graphics)s.geometry=b(s.geometry,e,i,this.view)}_setUpHighlights(){this.highlightsEnabled&&this.graphics.length&&this._highlightHelper?.add(this.graphics)}_setupGraphics(){const{_graphicAttributes:t,symbols:i}=this;this._centerGraphic=new e({symbol:i.centerIndicator,attributes:t}),this.showCenterGraphic&&this.layer.add(this._centerGraphic),this._backgroundGraphic=new e({symbol:i.fill.default,attributes:t}),this.layer.add(this._backgroundGraphic),this._rotateLineGraphic=new e({symbol:i.rotatorLine,attributes:t}),this._rotateHandleGraphic=new e({symbol:i.rotator.default,attributes:t}),this.enableRotation&&!this._hasExtentGraphic()&&this.layer.addMany([this._rotateLineGraphic,this._rotateHandleGraphic]);for(let s=0;s<8;s++)this._vertexGraphics.push(new e({symbol:i.handles.default,attributes:t}));this.enableScaling&&this.layer.addMany(this._vertexGraphics)}_updateSymbolsForTheme(){const t=this.view.effectiveTheme.accentColor;this.symbols={...this.symbols,fill:{active:this.symbols.fill.active?.clone().set("outline.color",t),default:this.symbols.fill.default?.clone().set("outline.color",t)},handles:{...this.symbols.handles,default:this.symbols.handles.default.clone().set("outline.color",t)},rotator:{...this.symbols.rotator,default:this.symbols.rotator.default.clone().set("outline.color",t)},rotatorLine:this.symbols.rotatorLine.clone().set("color",t)};for(const e of this._vertexGraphics)e.symbol=e===this._hoveredGraphic?this.symbols.handles.hover:this.symbols.handles.default;this._backgroundGraphic.symbol=this.symbols.fill.default,this._rotateHandleGraphic.symbol=this._rotateHandleGraphic===this._hoveredGraphic?this.symbols.rotator.hover:this.symbols.rotator.default,this._rotateLineGraphic.symbol=this.symbols.rotatorLine}_updateGraphics(){this._updateBackgroundGraphic(),this._updateHandleGraphics(),this._updateCenterGraphic(),this._updateRotateGraphic(),this._updateRotateLineGraphic()}_hideGraphicsBeforeUpdate(){this._centerGraphic.visible=!1,this._rotateHandleGraphic.visible=!1,this._rotateLineGraphic.visible=!1,this._vertexGraphics.forEach((t=>t.visible=!1))}_updateHandleGraphics(){const t=this._getCoordinates(!0);this._vertexGraphics.forEach(((e,i)=>{const[s,o]=t[i];this._updateXY(e,s,o)}))}_updateBackgroundGraphic(){const t=this._getCoordinates().map((([t,e])=>[t,e]));this._backgroundGraphic.geometry=new _({rings:[t],spatialReference:this.view.spatialReference})}_updateCenterGraphic(){const[t,e,i,s]=this._getBoxBounds(m()),o=(i+t)/2,r=(s+e)/2;this._centerGraphic.geometry=new p(o,r,this.view.spatialReference)}_updateRotateGraphic(){if(!this._vertexGraphics.length)return;const{x:t,y:e}=this._vertexGraphics[1].geometry,i=e+this.view.state.resolution*this._rotateGraphicOffset;this._rotateHandleGraphic.geometry=new p(t,i,this.view.spatialReference)}_updateRotateLineGraphic(){if(!this._vertexGraphics.length||!this._rotateHandleGraphic?.geometry)return;const t=this._vertexGraphics[1].geometry,e=this._rotateHandleGraphic.geometry;this._rotateLineGraphic.geometry=new d({paths:[[[t.x,t.y],[e.x,e.y]]],spatialReference:this.view.spatialReference})}_updateXY(t,e,i){t.geometry=new p(e,i,this.view.spatialReference)}_updateX(t,e){const i=t.geometry.y;t.geometry=new p(e,i,this.view.spatialReference)}_updateY(t,e){const i=t.geometry.x;t.geometry=new p(i,e,this.view.spatialReference)}_hasExtentGraphic(){return this.graphics.some((t=>null!=t?.geometry&&"extent"===t.geometry.type))}_getBoxBounds(t){const e=this.graphics.map((t=>t.geometry));return this._getBounds(t,e)}_getCoordinates(t){const[e,i,s,o]=this._getBoxBounds(m());if(t){const t=(e+s)/2,r=(o+i)/2;return[[e,o],[t,o],[s,o],[s,r],[s,i],[t,i],[e,i],[e,r]]}return[[e,o],[s,o],[s,i],[e,i]]}_updateTooltip(t,e){if(null==this.tooltip)return;if(!t)return void this.tooltip.clear();const{_backgroundGraphic:i,graphics:s,_vertexGraphics:o,_rotateHandleGraphic:r}=this;t===r?this._updateRotateTooltip():o.includes(t)?this._updateScaleTooltip():(s.includes(t)||t===i)&&this._updateMoveTooltip(e)}_updateRotateTooltip(){null!=this.tooltip&&(this.tooltip.info=new O({sketchOptions:this.sketchOptions,angle:-this._angleOfRotation}))}_updateScaleTooltip(){const{tooltip:t,_xScale:e,_yScale:i,sketchOptions:s,view:o}=this;if(null==t)return;const r=this._getCoordinates(),a=L({topLeft:r[0],topRight:r[1],bottomRight:r[2],bottomLeft:r[3],spatialReference:o.spatialReference});if(null==a)return;const{xSize:h,ySize:c}=a,n=Math.abs(e),l=Math.abs(i);t.info=new j({sketchOptions:s,xScale:n,yScale:l,xSize:h,ySize:c})}_updateMoveTooltip(t){const{tooltip:e,sketchOptions:i,view:s}=this;if(null==e)return;const r=new T({sketchOptions:i});if(t){const{x:e,y:i}=t.origin,a=s.toMap(t),h=s.toMap({x:e,y:i}),c=E(h,a);r.distance=null!=c?c:o}e.info=r}};function J(t,e=2){return Number.parseFloat(t.toFixed(e))}t([n()],q.prototype,"tooltip",void 0),t([n({readOnly:!0})],q.prototype,"type",void 0),t([n()],q.prototype,"callbacks",void 0),t([n()],q.prototype,"enableMovement",void 0),t([n()],q.prototype,"enableRotation",void 0),t([n()],q.prototype,"enableScaling",void 0),t([n()],q.prototype,"graphics",void 0),t([n()],q.prototype,"highlightsEnabled",void 0),t([n()],q.prototype,"layer",void 0),t([n()],q.prototype,"preserveAspectRatio",void 0),t([n()],q.prototype,"showCenterGraphic",void 0),t([n({readOnly:!0})],q.prototype,"state",null),t([n()],q.prototype,"symbols",void 0),t([n({type:C})],q.prototype,"sketchOptions",void 0),t([n({constructOnly:!0})],q.prototype,"view",void 0),q=t([l("esri.views.draw.support.Box")],q);const K=q;export{K as default};
5
+ import{_ as t}from"../../../chunks/tslib.es6.js";import e from"../../../Graphic.js";import i from"../../../core/Evented.js";import{destroyMaybe as s}from"../../../core/maybe.js";import{zeroMeters as o}from"../../../core/quantityUtils.js";import{when as r,watch as a,syncAndInitial as h,initial as c}from"../../../core/reactiveUtils.js";import{property as n}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/Logger.js";import"../../../core/RandomLCG.js";import{subclass as l}from"../../../core/accessorSupport/decorators/subclass.js";import p from"../../../geometry/Point.js";import _ from"../../../geometry/Polygon.js";import d from"../../../geometry/Polyline.js";import{create as m}from"../../../geometry/support/aaBoundingRect.js";import{getRingsOrPathsBounds as u}from"../../../geometry/support/boundsUtils.js";import{geometryToCoordinates as g}from"../../../geometry/support/coordsUtils.js";import y from"../../../geometry/support/rotate.js";import v from"../../../symbols/SimpleFillSymbol.js";import f from"../../../symbols/SimpleLineSymbol.js";import G from"../../../symbols/SimpleMarkerSymbol.js";import{cloneMove as b,scale as x,getRotationAngle as w,getScaleRatio as S}from"./drawUtils.js";import k from"./GraphicMover.js";import R from"./HighlightHelper.js";import{addUniqueLayer as M}from"./layerUtils.js";import{settings as I}from"./settings.js";import C from"../../interactive/sketch/SketchOptions.js";import{makeTooltip as H}from"../../interactive/tooltip/tooltipCommonUtils.js";import{ExtentRotateTooltipInfo as O}from"../../interactive/tooltip/infos/ExtentRotateTooltipInfo.js";import{ExtentScaleTooltipInfo as j}from"../../interactive/tooltip/infos/ExtentScaleTooltipInfo.js";import{TranslateTooltipInfo as T}from"../../interactive/tooltip/infos/TranslateTooltipInfo.js";import{autoDistanceBetweenPoints2D as E}from"../../support/automaticLengthMeasurementUtils.js";import{autoSize2D as L}from"../../support/extentUtils.js";class z{constructor(t,e,i,s){this.graphics=t,this.mover=e,this.dx=i,this.dy=s,this.type="move-start"}}class B{constructor(t,e,i,s){this.graphics=t,this.mover=e,this.dx=i,this.dy=s,this.type="move"}}class Y{constructor(t,e,i,s){this.graphics=t,this.mover=e,this.dx=i,this.dy=s,this.type="move-stop"}}class N{constructor(t,e,i){this.graphics=t,this.mover=e,this.angle=i,this.type="rotate-start"}}class U{constructor(t,e,i){this.graphics=t,this.mover=e,this.angle=i,this.type="rotate"}}class A{constructor(t,e,i){this.graphics=t,this.mover=e,this.angle=i,this.type="rotate-stop"}}class P{constructor(t,e,i,s){this.graphics=t,this.mover=e,this.xScale=i,this.yScale=s,this.type="scale-start"}}class X{constructor(t,e,i,s){this.graphics=t,this.mover=e,this.xScale=i,this.yScale=s,this.type="scale"}}class F{constructor(t,e,i,s){this.graphics=t,this.mover=e,this.xScale=i,this.yScale=s,this.type="scale-stop"}}const D=I.transformGraphics,V={centerIndicator:new G({style:"cross",size:D.center.size,color:D.center.color}),fill:{default:new v({color:D.fill.color,outline:{color:D.fill.outlineColor,join:"round",width:1}}),active:new v({color:D.fill.stagedColor,outline:{color:D.fill.outlineColor,join:"round",style:"dash",width:1}})},handles:{default:new G({style:"square",size:D.vertex.size,color:D.vertex.color,outline:{color:D.vertex.outlineColor,width:1}}),hover:new G({style:"square",size:D.vertex.hoverSize,color:D.vertex.hoverColor,outline:{color:D.vertex.hoverOutlineColor,width:1}})},rotator:{default:new G({style:"circle",size:D.vertex.size,color:D.vertex.color,outline:{color:D.vertex.outlineColor,width:1}}),hover:new G({style:"circle",size:D.vertex.hoverSize,color:D.vertex.hoverColor,outline:{color:D.vertex.hoverOutlineColor,width:1}})},rotatorLine:new f({color:D.line.color,width:1})};let q=class extends i.EventedAccessor{constructor(t){super(t),this._activeHandleGraphic=null,this._graphicAttributes={esriSketchTool:"box"},this._mover=null,this._centerGraphic=null,this._backgroundGraphic=null,this._vertexGraphics=[],this._rotateHandleGraphic=null,this._rotateGraphicOffset=20,this._angleOfRotation=0,this._rotateLineGraphic=null,this._startInfo=null,this._totalDx=0,this._totalDy=0,this._xScale=1,this._yScale=1,this.tooltip=null,this.type="box",this.callbacks={onMoveStart(){},onMove(){},onMoveStop(){},onScaleStart(){},onScale(){},onScaleStop(){},onRotateStart(){},onRotate(){},onRotateStop(){},onGraphicClick(){}},this.enableMovement=!0,this.enableRotation=!0,this.enableScaling=!0,this.graphics=[],this.highlightsEnabled=!0,this.layer=null,this.preserveAspectRatio=!1,this.showCenterGraphic=!0,this.symbols=V,this.sketchOptions=new C,this.view=null,this._getBounds=(()=>{const t=m();return(e,i)=>{e[0]=Number.POSITIVE_INFINITY,e[1]=Number.POSITIVE_INFINITY,e[2]=Number.NEGATIVE_INFINITY,e[3]=Number.NEGATIVE_INFINITY;for(const s of i){if(!s)continue;let i,o,r,a;if("point"===s.type)i=r=s.x,o=a=s.y;else if("multipoint"===s.type){const e=g(s);[i,o,r,a]=u(t,[e])}else if("extent"===s.type)[i,o,r,a]=[s.xmin,s.ymin,s.xmax,s.ymax];else{const e=g(s);[i,o,r,a]=u(t,e)}e[0]=Math.min(i,e[0]),e[1]=Math.min(o,e[1]),e[2]=Math.max(r,e[2]),e[3]=Math.max(a,e[3])}return e}})()}initialize(){const t=this.view;this._highlightHelper=new R({view:t}),this._setup(),this.addHandles([r((()=>t?.ready),(()=>{const{layer:t,view:e}=this;M(e,t)}),{once:!0,initial:!0}),a((()=>this.preserveAspectRatio),(()=>{this._activeHandleGraphic&&(this._scaleGraphic(this._activeHandleGraphic),this._updateGraphics(),this._updateTooltip(this._activeHandleGraphic))})),a((()=>t?.scale),(()=>{this._updateRotateGraphic(),this._updateRotateLineGraphic()})),a((()=>this.graphics),(()=>this.refresh())),a((()=>this.layer),((t,e)=>{e&&this._resetGraphics(e),this.refresh()})),a((()=>this.highlightsEnabled),(()=>{this._highlightHelper?.removeAll(),this._setUpHighlights()})),a((()=>this.sketchOptions.tooltips.effectiveEnabled),(e=>{this.tooltip=e?H((()=>({view:t,options:this.sketchOptions.tooltips}))):s(this.tooltip)}),h),a((()=>this.view.effectiveTheme.accentColor),(()=>this._updateSymbolsForTheme()),c),this.on("move-start",(t=>this.callbacks?.onMoveStart?.(t))),this.on("move",(t=>this.callbacks?.onMove?.(t))),this.on("move-stop",(t=>this.callbacks?.onMoveStop?.(t))),this.on("rotate-start",(t=>this.callbacks?.onRotateStart?.(t))),this.on("rotate",(t=>this.callbacks?.onRotate?.(t))),this.on("rotate-stop",(t=>this.callbacks?.onRotateStop?.(t))),this.on("scale-start",(t=>this.callbacks?.onScaleStart?.(t))),this.on("scale",(t=>this.callbacks?.onScale?.(t))),this.on("scale-stop",(t=>this.callbacks?.onScaleStop?.(t)))])}destroy(){this._reset(),this.tooltip=s(this.tooltip)}get state(){const t=this.view?.ready??!1,e=this.graphics.length&&this.layer;return t&&e?"active":t?"ready":"disabled"}isUIGraphic(t){return this._vertexGraphics.includes(t)||t===this._backgroundGraphic||t===this._centerGraphic||t===this._rotateHandleGraphic||t===this._rotateLineGraphic}move(t,e){if(this._mover&&this.graphics.length){for(const i of this.graphics){const s=i.geometry,o=b(s,t,e,this.view);i.geometry=o}this.refresh(),this.emit("move-stop",new Y(this.graphics,null,t,e))}}scale(t,e){if(this._mover&&this.graphics.length){for(const i of this.graphics){const s=i.geometry,o=x(s,t,e);i.geometry=o}this.refresh(),this.emit("scale-stop",new F(this.graphics,null,t,e))}}rotate(t,e){if(this._mover&&this.graphics.length){if(!e){const t=this._vertexGraphics[1].geometry.x,i=this._vertexGraphics[3].geometry.y;e=new p(t,i,this.view.spatialReference)}for(const i of this.graphics){const s=i.geometry,o=y(s,t,e);i.geometry=o}this.refresh(),this.emit("rotate-stop",new A(this.graphics,null,t))}}refresh(){this._reset(),this._setup()}reset(){this.graphics=[]}_setup(){"active"===this.state&&(this._setUpHighlights(),this._setupGraphics(),this._setupMover(),this._updateGraphics())}_reset(){this._highlightHelper?.removeAll(),this._resetGraphicStateVars(),this._resetGraphics(),this._updateTooltip(),this._mover&&this._mover.destroy(),this._mover=null,this.view.cursor="default"}_resetGraphicStateVars(){this._startInfo=null,this._activeHandleGraphic=null,this._totalDx=0,this._totalDy=0,this._xScale=1,this._yScale=1,this._angleOfRotation=0}_resetGraphics(t){(t=t||this.layer)&&(t.removeMany(this._vertexGraphics),t.remove(this._backgroundGraphic),t.remove(this._centerGraphic),t.remove(this._rotateHandleGraphic),t.remove(this._rotateLineGraphic)),this._vertexGraphics.forEach((t=>!t.destroyed&&t.destroy())),!this._backgroundGraphic.destroyed&&this._backgroundGraphic.destroy(),!this._centerGraphic.destroyed&&this._centerGraphic.destroy(),!this._rotateHandleGraphic.destroyed&&this._rotateHandleGraphic.destroy(),!this._rotateLineGraphic.destroyed&&this._rotateLineGraphic.destroy(),this._vertexGraphics=[],this._backgroundGraphic=null,this._centerGraphic=null,this._rotateHandleGraphic=null,this._rotateLineGraphic=null}_setupMover(){let t=[];this.enableScaling&&(t=t.concat(this._vertexGraphics)),this.enableRotation&&t.push(this._rotateHandleGraphic),this.enableMovement&&(t=t.concat(this.graphics,this._backgroundGraphic)),this.showCenterGraphic&&t.push(this._centerGraphic),this._mover=new k({enableMoveAllGraphics:!1,highlightsEnabled:!1,indicatorsEnabled:!1,view:this.view,graphics:t,callbacks:{onGraphicClick:t=>this._onGraphicClickCallback(t),onGraphicMoveStart:t=>this._onGraphicMoveStartCallback(t),onGraphicMove:t=>this._onGraphicMoveCallback(t),onGraphicMoveStop:t=>this._onGraphicMoveStopCallback(t),onGraphicPointerOver:t=>this._onGraphicPointerOverCallback(t),onGraphicPointerOut:t=>this._onGraphicPointerOutCallback(t)}})}_getStartInfo(t){const[e,i,s,o]=this._getBoxBounds(m()),r=Math.abs(s-e),a=Math.abs(o-i),h=(s+e)/2,c=(o+i)/2,{x:n,y:l}=t.geometry;return{width:r,height:a,centerX:h,centerY:c,startX:n,startY:l,graphicInfos:this._getGraphicInfos(),box:this._backgroundGraphic.geometry,rotate:this._rotateHandleGraphic.geometry}}_getGraphicInfos(){return this.graphics.map((t=>this._getGraphicInfo(t)))}_getGraphicInfo(t){const e=t.geometry,[i,s,o,r]=this._getBounds(m(),[e]);return{width:Math.abs(o-i),height:Math.abs(r-s),centerX:(o+i)/2,centerY:(r+s)/2,geometry:e}}_onGraphicClickCallback(t){t.viewEvent.stopPropagation(),this.emit("graphic-click",t),this.callbacks.onGraphicClick&&this.callbacks.onGraphicClick(t)}_onGraphicMoveStartCallback(t){const{_angleOfRotation:e,_xScale:i,_yScale:s,_backgroundGraphic:o,_vertexGraphics:r,_rotateHandleGraphic:a,symbols:h}=this,c=t.graphic;this._resetGraphicStateVars(),this._hideGraphicsBeforeUpdate(),o.symbol=h.fill.active,this._startInfo=this._getStartInfo(c),this._updateTooltip(c,t.viewEvent),c===a?(this.view.cursor="grabbing",this.emit("rotate-start",new N(this.graphics,c,e))):r.includes(c)?(this._activeHandleGraphic=c,this.emit("scale-start",new P(this.graphics,c,i,s))):this.emit("move-start",new z(this.graphics,c,t.dx,t.dy))}_onGraphicMoveCallback(t){const e=t.graphic;if(this._startInfo)if(this._vertexGraphics.includes(e))this._scaleGraphic(e),this._updateTooltip(e,t.viewEvent),this.emit("scale",new X(this.graphics,e,this._xScale,this._yScale));else if(e===this._rotateHandleGraphic)this._rotateGraphic(e),this._updateTooltip(e,t.viewEvent),this.emit("rotate",new U(this.graphics,e,this._angleOfRotation));else{const{dx:i,dy:s}=t;this._totalDx+=i,this._totalDy+=s,this._moveGraphic(e,i,s),this._updateTooltip(e,t.viewEvent),this.emit("move",new B(this.graphics,e,i,s))}}_onGraphicMoveStopCallback(t){const e=t.graphic;if(!this._startInfo)return void this.refresh();const{_angleOfRotation:i,_totalDx:s,_totalDy:o,_xScale:r,_yScale:a,_vertexGraphics:h,_rotateHandleGraphic:c}=this;this.refresh(),e===c?(this.view.cursor="pointer",this.emit("rotate-stop",new A(this.graphics,e,i))):h.includes(e)?this.emit("scale-stop",new F(this.graphics,e,r,a)):this.emit("move-stop",new Y(this.graphics,e,s,o))}_onGraphicPointerOverCallback(t){const{_backgroundGraphic:e,_vertexGraphics:i,graphics:s,_rotateHandleGraphic:o,symbols:r,view:a}=this,h=t.graphic;if(this._hoveredGraphic=h,h===o)return o.symbol=r.rotator.hover,a.cursor="pointer",void this._updateTooltip(h);if(s.includes(h)||h===e)return void(a.cursor="move");if(!i.includes(h))return void(a.cursor="pointer");this._updateTooltip(h),t.graphic.symbol=r.handles.hover;const c=a.rotation;let n,l=t.index;switch(l<8&&(c>=0&&c<45?l%=8:l=c>=45&&c<90?(l+1)%8:c>=90&&c<135?(l+2)%8:c>=135&&c<180?(l+3)%8:c>=180&&c<225?(l+4)%8:c>=225&&c<270?(l+5)%8:c>=270&&c<315?(l+6)%8:(l+7)%8),l){case 0:case 4:n="nwse-resize";break;case 1:case 5:n="ns-resize";break;case 2:case 6:n="nesw-resize";break;case 3:case 7:n="ew-resize";break;default:n="pointer"}a.cursor=n}_onGraphicPointerOutCallback(t){const{_vertexGraphics:e,_rotateHandleGraphic:i,symbols:s,view:o}=this;this._hoveredGraphic=null,t.graphic===i?i.symbol=s.rotator.default:e.includes(t.graphic)&&(t.graphic.symbol=s.handles.default),o.cursor="default",this._updateTooltip()}_scaleGraphic(t){const{_startInfo:e,_vertexGraphics:i,preserveAspectRatio:s,view:o}=this,{centerX:r,centerY:a,graphicInfos:h,height:c,startX:n,startY:l,width:_}=e,{resolution:d,transform:m}=o.state,u=i.indexOf(t);1!==u&&5!==u||this._updateX(t,r),3!==u&&7!==u||this._updateY(t,a);const{x:g,y}=t.geometry,v=m[0]*g+m[2]*y+m[4],f=m[1]*g+m[3]*y+m[5],G=h?.map((t=>t.geometry))??[],w=G.every((t=>"point"===t.type));if((0===_||0===c)&&w){const t=J((g-n)/d),i=J((l-y)/d);for(let e=0;e<G.length;e++)this.graphics[e].geometry=b(G[e],t,i,o,!0);return this._centerGraphic.geometry=new p(g,y,o.spatialReference),void(this._backgroundGraphic.geometry=b(e.box,t,i,o,!0))}if(s){const t=J(m[0]*r+m[2]*a+m[4],2),e=J(m[1]*r+m[3]*a+m[5],2),i=J(m[0]*n+m[2]*l+m[4],2),s=J(m[1]*n+m[3]*l+m[5],2);let o=S(t,e,i,s,v,f);0!==o&&Math.abs(o)!==1/0||(o=1),this._xScale=this._yScale=o;for(const h of G){const t=G.indexOf(h);this.graphics[t].geometry=x(h,this._xScale,this._yScale,[r,a])}this._updateBackgroundGraphic()}else{let t=g-n,i=l-y;if(1===u||5===u?t=0:3!==u&&7!==u||(i=0),0===t&&0===i)return;const s=r+t/2,h=a+i/2;let m=(_+(n>r?t:-1*t))/_,v=(c+(l<a?i:-1*i))/c;1!==u&&5!==u&&0!==m&&Math.abs(m)!==1/0||(m=1),3!==u&&7!==u&&0!==v&&Math.abs(v)!==1/0||(v=1),this._xScale=m,this._yScale=v;const f=(s-r)/d,w=(h-a)/d,S=x(e.box,this._xScale,this._yScale);this._backgroundGraphic.geometry=b(S,f,w,o,!0);const{centerX:k,centerY:R}=this._getGraphicInfo(this._backgroundGraphic),M=(k-r)/d,I=-1*(R-a)/d;for(const e of G){const t=G.indexOf(e),i=x(e,this._xScale,this._yScale,[r,a]);this.graphics[t].geometry=b(i,M,I,o,!0)}this._centerGraphic.geometry=new p(k,R,o.spatialReference)}}_rotateGraphic(t){const{centerX:e,centerY:i,startX:s,startY:o,box:r,rotate:a}=this._startInfo,h=this.view.spatialReference,c=new p(s,o,h),n=new p(e,i,h),l=t.geometry;this._angleOfRotation=w(c,l,n);const _=this._startInfo.graphicInfos?.map((t=>t.geometry))??[];for(const p of _){const t=_.indexOf(p),e=y(p,this._angleOfRotation,n);this.graphics[t].geometry=e}this._backgroundGraphic.geometry=y(r,this._angleOfRotation,n),this._rotateHandleGraphic.geometry=y(a,this._angleOfRotation,n)}_moveGraphic(t,e,i){if(this.graphics.includes(t)){const s=this._backgroundGraphic.geometry;this._backgroundGraphic.geometry=b(s,e,i,this.view);for(const o of this.graphics)o!==t&&(o.geometry=b(o.geometry,e,i,this.view))}else if(t===this._centerGraphic){const t=this._backgroundGraphic.geometry;this._backgroundGraphic.geometry=b(t,e,i,this.view)}if(t===this._backgroundGraphic||t===this._centerGraphic)for(const s of this.graphics)s.geometry=b(s.geometry,e,i,this.view)}_setUpHighlights(){this.highlightsEnabled&&this.graphics.length&&this._highlightHelper?.add(this.graphics)}_setupGraphics(){const{_graphicAttributes:t,symbols:i}=this;this._centerGraphic=new e({symbol:i.centerIndicator,attributes:t}),this.showCenterGraphic&&this.layer.add(this._centerGraphic),this._backgroundGraphic=new e({symbol:i.fill.default,attributes:t}),this.layer.add(this._backgroundGraphic),this._rotateLineGraphic=new e({symbol:i.rotatorLine,attributes:t}),this._rotateHandleGraphic=new e({symbol:i.rotator.default,attributes:t}),this.enableRotation&&!this._hasExtentGraphic()&&this.layer.addMany([this._rotateLineGraphic,this._rotateHandleGraphic]);for(let s=0;s<8;s++)this._vertexGraphics.push(new e({symbol:i.handles.default,attributes:t}));this.enableScaling&&this.layer.addMany(this._vertexGraphics)}_updateSymbolsForTheme(){const t=this.view.effectiveTheme.accentColor;this.symbols={...this.symbols,fill:{active:this.symbols.fill.active?.clone().set("outline.color",t),default:this.symbols.fill.default?.clone().set("outline.color",t)},handles:{...this.symbols.handles,default:this.symbols.handles.default.clone().set("outline.color",t)},rotator:{...this.symbols.rotator,default:this.symbols.rotator.default.clone().set("outline.color",t)},rotatorLine:this.symbols.rotatorLine.clone().set("color",t)};for(const e of this._vertexGraphics)e.symbol=e===this._hoveredGraphic?this.symbols.handles.hover:this.symbols.handles.default;this._backgroundGraphic.symbol=this.symbols.fill.default,this._rotateHandleGraphic.symbol=this._rotateHandleGraphic===this._hoveredGraphic?this.symbols.rotator.hover:this.symbols.rotator.default,this._rotateLineGraphic.symbol=this.symbols.rotatorLine}_updateGraphics(){this._updateBackgroundGraphic(),this._updateHandleGraphics(),this._updateCenterGraphic(),this._updateRotateGraphic(),this._updateRotateLineGraphic()}_hideGraphicsBeforeUpdate(){this._centerGraphic.visible=!1,this._rotateHandleGraphic.visible=!1,this._rotateLineGraphic.visible=!1,this._vertexGraphics.forEach((t=>t.visible=!1))}_updateHandleGraphics(){const t=this._getCoordinates(!0);this._vertexGraphics.forEach(((e,i)=>{const[s,o]=t[i];this._updateXY(e,s,o)}))}_updateBackgroundGraphic(){const t=this._getCoordinates().map((([t,e])=>[t,e]));this._backgroundGraphic.geometry=new _({rings:[t],spatialReference:this.view.spatialReference})}_updateCenterGraphic(){const[t,e,i,s]=this._getBoxBounds(m()),o=(i+t)/2,r=(s+e)/2;this._centerGraphic.geometry=new p(o,r,this.view.spatialReference)}_updateRotateGraphic(){if(!this._vertexGraphics.length)return;const{x:t,y:e}=this._vertexGraphics[1].geometry,i=e+this.view.state.resolution*this._rotateGraphicOffset;this._rotateHandleGraphic.geometry=new p(t,i,this.view.spatialReference)}_updateRotateLineGraphic(){if(!this._vertexGraphics.length||!this._rotateHandleGraphic?.geometry)return;const t=this._vertexGraphics[1].geometry,e=this._rotateHandleGraphic.geometry;this._rotateLineGraphic.geometry=new d({paths:[[[t.x,t.y],[e.x,e.y]]],spatialReference:this.view.spatialReference})}_updateXY(t,e,i){t.geometry=new p(e,i,this.view.spatialReference)}_updateX(t,e){const i=t.geometry.y;t.geometry=new p(e,i,this.view.spatialReference)}_updateY(t,e){const i=t.geometry.x;t.geometry=new p(i,e,this.view.spatialReference)}_hasExtentGraphic(){return this.graphics.some((t=>null!=t?.geometry&&"extent"===t.geometry.type))}_getBoxBounds(t){const e=this.graphics.map((t=>t.geometry));return this._getBounds(t,e)}_getCoordinates(t){const[e,i,s,o]=this._getBoxBounds(m());if(t){const t=(e+s)/2,r=(o+i)/2;return[[e,o],[t,o],[s,o],[s,r],[s,i],[t,i],[e,i],[e,r]]}return[[e,o],[s,o],[s,i],[e,i]]}_updateTooltip(t,e){if(null==this.tooltip)return;if(!t)return void this.tooltip.clear();const{_backgroundGraphic:i,graphics:s,_vertexGraphics:o,_rotateHandleGraphic:r}=this;t===r?this._updateRotateTooltip():o.includes(t)?this._updateScaleTooltip():(s.includes(t)||t===i)&&this._updateMoveTooltip(e)}_updateRotateTooltip(){null!=this.tooltip&&(this.tooltip.info=new O({sketchOptions:this.sketchOptions,angle:-this._angleOfRotation}))}_updateScaleTooltip(){const{tooltip:t,_xScale:e,_yScale:i,sketchOptions:s,view:o}=this;if(null==t)return;const r=this._getCoordinates(),a=L({topLeft:r[0],topRight:r[1],bottomRight:r[2],bottomLeft:r[3],spatialReference:o.spatialReference});if(null==a)return;const{xSize:h,ySize:c}=a,n=Math.abs(e),l=Math.abs(i);t.info=new j({sketchOptions:s,xScale:n,yScale:l,xSize:h,ySize:c})}_updateMoveTooltip(t){const{tooltip:e,sketchOptions:i,view:s}=this;if(null==e)return;const r=new T({sketchOptions:i});if(t){const{x:e,y:i}=t.origin,a=s.toMap(t),h=s.toMap({x:e,y:i}),c=E(h,a);r.distance=null!=c?c:o}e.info=r}};function J(t,e=2){return Number.parseFloat(t.toFixed(e))}t([n()],q.prototype,"tooltip",void 0),t([n({readOnly:!0})],q.prototype,"type",void 0),t([n()],q.prototype,"callbacks",void 0),t([n()],q.prototype,"enableMovement",void 0),t([n()],q.prototype,"enableRotation",void 0),t([n()],q.prototype,"enableScaling",void 0),t([n()],q.prototype,"graphics",void 0),t([n()],q.prototype,"highlightsEnabled",void 0),t([n()],q.prototype,"layer",void 0),t([n()],q.prototype,"preserveAspectRatio",void 0),t([n()],q.prototype,"showCenterGraphic",void 0),t([n({readOnly:!0})],q.prototype,"state",null),t([n()],q.prototype,"symbols",void 0),t([n({type:C})],q.prototype,"sketchOptions",void 0),t([n({constructOnly:!0})],q.prototype,"view",void 0),q=t([l("esri.views.draw.support.Box")],q);const K=q;export{K 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
- function e(e,l){switch(e){case"point":case"multipoint":return n();case"polyline":return t(l);case"polygon":return o(l);default:return}}function n(e){return"point"}function t(e){return(null!=e&&"polyline"===e.type&&e.paths.length?e.paths[0].length:0)<2?"polylineZeroVertices":"polylineOneVertex"}function o(e){const n=null!=e&&"polygon"===e.type&&e.rings.length?e.rings[0].length:0;return n<3?"polylineZeroVertices":n<4?"polygonOneVertex":"polygonTwoVertices"}export{e as getDrawHelpMessage};
5
+ function e(e,i,a){if(null==e)return"noTool";switch(e){case"point":return n();case"multipoint":return"multipoint";case"polyline":return r(i,a);case"polygon":return t(i,a);case"rectangle":case"circle":return l(i,a);default:return}}function n(e){return"point"}function r(e,n){const r=null!=e&&"polyline"===e.type&&e.paths.length?e.paths[0].length:0;return"freehand"===n?r<2?"freehandStart":"freehandEnd":r<2?"polylineZeroVertices":"polylineOneVertex"}function t(e,n){const r=null!=e&&"polygon"===e.type&&e.rings.length?e.rings[0].length:0;if(r<3)switch(n){case"freehand":return"freehandStart";case"hybrid":return"polygonZeroVerticesHybrid";default:return"polygonZeroVertices"}else if(r<4)return"freehand"===n?"freehandEnd":"polygonOneVertex";return"polygonTwoVertices"}function l(e,n){if((null!=e&&"polygon"===e.type&&e.rings.length?e.rings[0].length:0)<3)switch(n){case"freehand":return"freehandStart";case"click":return"shapeStartClick";default:return"shapeStartHybrid"}switch(n){case"freehand":return"freehandEnd";case"click":return"shapeEndClick";default:return"shapeEndHybrid"}}export{e as getDrawHelpMessage};